Nag-publish ang Netflix ng mga patch ng pagpapatupad ng TLS para sa kernel ng FreeBSD

Netflix Company iminungkahi para sa pagsubok sa FreeBSD kernel-level na pagpapatupad ng TLS (KTLS), na nagbibigay-daan para sa isang makabuluhang pagtaas sa pagganap ng pag-encrypt para sa mga TCP socket. Sinusuportahan ang acceleration ng encryption ng ipinadalang data gamit ang TLS 1.0 at 1.2 na mga protocol na ipinadala sa socket gamit ang write, aio_write at sendfile functions.

Ang pagpapalit ng susi sa antas ng kernel ay hindi suportado at ang koneksyon ay dapat munang maitatag at makipag-ayos sa espasyo ng gumagamit. Upang ilipat sa kernel ang session key na nakuha sa proseso ng negosasyon ng koneksyon para sa mga socket, ang TCP_TXTLS_ENABLE na opsyon ay idinagdag, pagkatapos ng pag-activate kung saan ang lahat ng data na ipinadala sa socket ay ilalagay sa TLS frame gamit ang tinukoy na key. Upang magpadala ng mga mensahe ng serbisyo, halimbawa upang makipag-ayos ng isang koneksyon, dapat mong gamitin ang function na sendmsg na may uri ng tala ng TLS_SET_RECORD_TYPE.

Dalawang pangunahing paraan ng pag-encrypt ng mga TLS frame ang sinusuportahan: software at ifnet (gamit ang hardware acceleration ng mga network card). Ang pagpili ng paraan ay isinasagawa gamit
mga opsyon sa socket TCP_TXTLS_MODE. Binibigyang-daan ka ng paraan ng software na ikonekta ang iba't ibang mga backend para sa pag-encrypt. Bilang halimbawa, ang ktls_ocf.ko backend na may suporta para sa AES-GCM, na ipinatupad batay sa OpenCrypto framework, ay nai-publish. Maraming sysctl ang inaalok para sa pamamahala sa loob ng sangay ng kern.ipc.tls.*. Kapag binubuo ang kernel, pinagana ang suporta sa TLS gamit ang opsyong KERN_TLS.

Pinagmulan: opennet.ru

Magdagdag ng komento