Szerző: Gálffy Csaba

2014. June 23. 12:17:00

Forkolja az OpenSSL-t a Google

Háromra bővült az OpenSSL család fontosabb tagjainak száma, az OpenBSD által életre hívott LibreSSL mellett a Google is saját forkot hirdetett. A projektek között szoros együttműködés lesz, a Google azonban kidobja az API/ABI kompatibilitást.

BoringSSL néven saját, független szabad szoftveres implementációt készít a széles körben elterjedt biztonsági könyvtárból a Google - jelentette be a projektet vezető Adam Langley. Az OpenSSL család ezzel már legalább három tagot számlál, korábban az OpenBSD forkolta LibreSSL néven a könyvtárat, most pedig a Google hozta létre saját kiadását.

Az OpenSSL súlyos karbantartási és minőségi problémáira a Heartbleed-hiba hívta fel a szakma figyelmét. A titkosítási algoritmusokat implementáló könyvtárat ugyanis nagyon széles körben használják szabad szoftverek, a fejlesztést azonban néhány alulfizetett (vagy társadalmi munkában dolgozó) programozó végezte, igen egyenetlen minőségben. A kódbázis mára annyira elhanyagolt és szövevényes, hogy a minőségi problémák egyhamar nem is oldódnak meg, annak ellenére sem, hogy a nagy webes cégek alapot dobtak össze az OpenSSL fejlesztésére, ez a Core Infrastructure Initiative. A Google álláspontja szerint a BoringSSL nem lesz az OpenSSL ellenfele, a cég továbbra is támogatja pénzzel a de facto szabvány könyvtár fejlesztését, saját használatra azonban forkolni fogja azt.

A Google döntésének logikus oka van, a cég belső használatra eddig sem az alap OpenSSL-t használta, hanem annak egy, saját fejlesztésű patchekkel testreszabott változatát. Az egyéni fejlesztések száma és komplexitása ma már olyan szintet ütött meg, hogy nem hatékony ezeket újra és újra a friss OpenSSL-hez portolni. Inkább saját branch-et hoznak létre, amelybe az OpenSSL változásait húzzák át - ez kevesebb munkával jár. A BoringSSL-ből a Google fejlesztői jelentős mennyiségű kódot távolítottak el, amelyek a cég számára nem relevánsak. Ezzel a kódbázis fenntarthatósága is javult, az implementáció pedig pehelysúlyúvá vált - mindkettő megfelel a forkolás kimondott céljainak.

HWSW képzés // AI és Scrum early A HWSW októberben induló gyakorlatorientált, 10 alkalmas, 30 órás online képzéseire most early bird kedvezménnyel lehet regisztrálni!

A három projekt nem működik egymástól teljesen függetlenül a jövőben, a Google a saját fejlesztéseit például újralicenceli ISC licenc alatt, így az felhasználható lesz a LibreSSL-ben is, az OpenSSL-ből pedig folyamatosan vesznek át újdonságokat, a saját javításaikat pedig beküldik a projektgazdáknak. Ettől függetlenül a BoringSSL nem lesz API/ABI-kompatibilis az OpenSSL-lel, a Google nem vállalja az interfészek stabilitását. Vagyis azon alkalmazások és rendszerek, amelyek ma OpenSSL-t használnak, nem állhatnak át egyszerűen a Google-féle implementációra. Ha mégis váltani szeretnének, akkor a LibreSSL lehet a megoldás, ez a könyvtár "drop-in replacement", vagyis teljes kompatibilitást nyújtó alternatíva lesz.

Érdemes megjegyezni, hogy a Google böngészője, a Chrome a legtöbb platformon nem OpenSSL-t használja, hanem a Mozilla által vezetett Network Security Services-t (NSS). A BoringSSL fejlődésével felmerül, hogy a Google idővel lecserélheti az NSS-t a saját fejlesztésű titkosítási és biztonsági könyvtárra. A végfelhasználó számára ez semmilyen negatív változást nem jelent, minden könyvtár kompatibilis az SSL/TLS szabványokkal, az NSS azonban viszonylag lassúnak és hardveresen nehezen gyorsíthatónak számít, szemben az OpenSSL-lel. (a vitáról részletesebben itt)

A HWSW októberben induló gyakorlatorientált, 10 alkalmas, 30 órás online képzéseire most early bird kedvezménnyel lehet regisztrálni!

a címlapról