Szerző: Gálffy Csaba

2015. július 01. 11:03:00

Pehelysúlyú SSL-implementációt készített az Amazon

Könnyen portolható, rendkívül kis kódbázissal dolgozó SSL/TLS implementációt mutatott be az Amazon. Az S2N a tervek szerint az AWS felhős infrastruktúráján váltja ki az OpenSSL-t (legalábbis belső kommunikációra).

Vadonatúj, pehelysúlyú SSL/TLS implementációt mutatott be az Amazon. Az S2N fantasztikusan kis kódbázissal valósítja meg a titkosítási protokollt, emiatt a készítők szerint könnyebben fenntartható, mind az alternatívák (például OpenSSL). Az S2N szabad szoftver, amely kimondottan az OpenSSL egyik fő könyvtárának, a libssl-nek kiváltására készítettek az Amazon fejlesztői.

Limitált képességek, kis kódbázissal

Az S2N az OpenSSL-problémára született válasz. A de facto szabványnak számító OpenSSL mintegy 500 ezer kódsort tartalmaz, ebből 70 ezer felel a TLS szabvány feldolgozásáért. Ez a méret azonban szinte kezelhetetlen, ami már az implementáció biztonságára is negatív hatással van. Ugyan hagyományosan a szabad szoftver előnyei közé szokás sorolni, hogy több szem többet lát alapon a nyílt forráskódot böngészve a sok fejlesztő könnyebben kiszúrja a hibákat, sok százezer soros kódnál ez az előny a gyakorlatban egyáltalán nem realizálódik - ahogy azt a Heartbleed oly látványosan meg is mutatta.

A problémát alaposan átgondolva az Amazon most az alapoktól új SSL/TLS implementációt készített, amely mindössze 6000 soros kódbázissal valósítja meg a szabványt. Az S2N a protokoll alapjait támogatja, a ritkán használt opcionális képességeket és kiterjesztéseket nem, többek között így lehet lényegesen karcsúbb a teljességre törekvő OpenSSL-nél. Az Amazon szerint a vékony implementáció eddig beváltotta a hozzá fűzött reményeket, a belső code review is gyorsan halad, illetve már három külső biztonsági cég is át tudta nézni az S2N kódját és penetrációtesztelésnek is alávetették.

Mi történik egy mobilappal a születése után? Legtöbbször sajnos semmi. Ezen próbálunk változtatni egy ingyenes appmenedzsment meetuppal és egy 30 órás képzéssel.

A TLS protokollt az Amazon felhős platformja, az AWS már széles körben használja, és a cég ígérete szerint fokozatosan egyre több helyen az S2N lesz felelős ennek működtetéséért. Mivel a platformon használt TLS képességeket az S2N teljes mértékben támogatja, az üzemeltetők és fejlesztők részéről semmilyen változásra nem kell számítani. A szoftver SSLv3, TLS 1.0, TLS 1.1 és TLS 1.2 protokollokat támogat, titkosításra pedig 128 és 256 bites AES (CBC és GCM módban), valamint 3DES és RC4 használható. Biztonsági megfontolásból alapértelmezésben a gyengének számító szabványok, az SSLv3, RC4 és DHE nem érhetőek el, ezeket manuálisan kell bekapcsolni.

Az S2N (amelynek neve a jel-zaj arányra utal) fejlesztésénél szempont volt a hordozhatóság is, így a C99-ben íródott pehelysúlyú szoftver rengeteg platformon képes működni. Eléréséhez egy saját API-t kínál, amely a széles körben használt POSIX I/O API-t használó fejlesztőknek már ismerős lesz. A megoldás támogatja a blokkoló és nem blokkoló mód mellett a full-duplex és aszinkron I/O-t.

Ahogy említettük, az implementáció egészében szabad szoftver, a forráskód és a dokumentáció is elérhető a projekt GitHub-oldalán. Az Amazon által használt licenc Apache 2.0, a fejlesztők a külső hozzájárulásokat is nagyon szívesen veszik.

a címlapról

Hirdetés

Mi történik egy mobilappal a születése után?

2020. február 27. 03:45

Legtöbbször sajnos semmi. Ezen próbálunk változtatni egy ingyenes appmenedzsment meetuppal és egy 30 órás képzéssel. A store-ban való megjelenés az igazi munka kezdete: mérés, mérés, mérés, adat, felhasználói visszajelzések kezelése, ASO, monetizálás, marketing... és így tovább.