Netflix heeft TLS-implementatiepatches voor de FreeBSD-kernel gepubliceerd

Netflix-bedrijf suggereerde voor het testen van de FreeBSD-implementatie van TLS (KTLS) op kernelniveau, wat een aanzienlijke toename van de encryptieprestaties voor TCP-sockets mogelijk maakt. Ondersteunt versnelling van de codering van verzonden gegevens met behulp van TLS 1.0- en 1.2-protocollen die naar de socket worden verzonden met behulp van de functies write, aio_write en sendfile.

Sleuteluitwisseling op kernelniveau wordt niet ondersteund en de verbinding moet eerst tot stand worden gebracht en onderhandeld in de gebruikersruimte. Om de sessiesleutel die is verkregen tijdens het verbindingsonderhandelingsproces voor sockets over te dragen naar de kernel, is de optie TCP_TXTLS_ENABLE toegevoegd. Na activering hiervan worden alle gegevens die naar de socket worden verzonden, ingekapseld in TLS-frames met behulp van de opgegeven sleutel. Om serviceberichten te verzenden, bijvoorbeeld om een ​​verbinding tot stand te brengen, moet u de functie sendmsg gebruiken met het recordtype TLS_SET_RECORD_TYPE.

Er worden twee hoofdmethoden voor het coderen van TLS-frames ondersteund: software en ifnet (met behulp van hardwareversnelling van netwerkkaarten). De keuze van de methode wordt uitgevoerd met behulp van
socketopties TCP_TXTLS_MODE. Met de softwaremethode kunt u verschillende backends verbinden voor codering. Als voorbeeld is de ktls_ocf.ko-backend met ondersteuning voor AES-GCM, geïmplementeerd op basis van het OpenCrypto-framework, gepubliceerd. Er worden verschillende sysctls aangeboden voor beheer binnen de kern.ipc.tls.* branch. Bij het bouwen van de kernel wordt TLS-ondersteuning ingeschakeld met behulp van de KERN_TLS-optie.

Bron: opennet.ru

Voeg een reactie