Netflix เจจเฉ‡ FreeBSD เจ•เจฐเจจเจฒ เจฒเจˆ TLS เจฒเจพเจ—เฉ‚เจ•เจฐเจจ เจชเฉˆเจš เจชเฉเจฐเจ•เจพเจธเจผเจฟเจค เจ•เฉ€เจคเฉ‡ เจนเจจ

Netflix เจ•เฉฐเจชเจจเฉ€ เจธเฉเจเจพเจ… เจฆเจฟเฉฑเจคเจพ ะดะปั ั‚ะตัั‚ะธั€ะพะฒะฐะฝะธั ั€ะฐะฑะพั‚ะฐัŽั‰ัƒัŽ ะฝะฐ ัƒั€ะพะฒะฝะต ัะดั€ะฐ FreeBSD ั€ะตะฐะปะธะทะฐั†ะธัŽ TLS (KTLS), ะบะพั‚ะพั€ะฐั ะฟะพะทะฒะพะปัะตั‚ ะดะพะฑะธั‚ัŒัั ััƒั‰ะตัั‚ะฒะตะฝะฝะพะณะพ ัƒะฒะตะปะธั‡ะตะฝะธั ะฟั€ะพะธะทะฒะพะดะธั‚ะตะปัŒะฝะพัั‚ะธ ัˆะธั„ั€ะพะฒะฐะฝะธั ะดะปั TCP-ัะพะบะตั‚ะพะฒ. ะŸะพะดะดะตั€ะถะธะฒะฐะตั‚ัั ัƒัะบะพั€ะตะฝะธะต ัˆะธั„ั€ะพะฒะฐะฝะธั ะฟะตั€ะตะดะฐะฒะฐะตะผั‹ั… ะดะฐะฝะฝั‹ั… ั ะธัะฟะพะปัŒะทะพะฒะฐะฝะธะตะผ ะฟั€ะพั‚ะพะบะพะปะพะฒ TLS 1.0 ะธ 1.2, ะพั‚ะฟั€ะฐะฒะปัะตะผั‹ั… ะฒ ัะพะบะตั‚ ะฟั€ะธ ะฟะพะผะพั‰ะธ ั„ัƒะฝะบั†ะธะน write, aio_write ะธ sendfile.

ะžะฑะผะตะฝ ะบะปัŽั‡ะฐะผะธ ะฝะฐ ัƒั€ะพะฒะฝะต ัะดั€ะฐ ะฝะต ะฟะพะดะดะตั€ะถะธะฒะฐะตั‚ัั ะธ ัะพะตะดะธะฝะตะฝะธะต ะดะพะปะถะฝะพ ะฒะฝะฐั‡ะฐะปะต ะฑั‹ั‚ัŒ ัƒัั‚ะฐะฝะพะฒะปะตะฝะพ ะธ ัะพะณะปะฐัะพะฒะฐะฝะพ ะฒ ะฟั€ะพัั‚ั€ะฐะฝัั‚ะฒะต ะฟะพะปัŒะทะพะฒะฐั‚ะตะปั. ะ”ะปั ะฟะตั€ะตะดะฐั‡ะธ ัะดั€ัƒ ะฟะพะปัƒั‡ะตะฝะฝะพะณะพ ะฒ ะฟั€ะพั†ะตััะต ัะพะณะปะฐัะพะฒะฐะฝะธั ัะพะตะดะธะฝะตะฝะธั ัะตััะธะพะฝะฝะพะณะพ ะบะปัŽั‡ะฐ ะดะปั ัะพะบะตั‚ะพะฒ ะดะพะฑะฐะฒะปะตะฝะฐ ะพะฟั†ะธั TCP_TXTLS_ENABLE, ะฟะพัะปะต ะฐะบั‚ะธะฒะฐั†ะธะธ ะบะพั‚ะพั€ะพะน ะฒัะต ะพั‚ะฟั€ะฐะฒะปัะตะผั‹ะต ะฒ ัะพะบะตั‚ ะดะฐะฝะฝั‹ะต ะฑัƒะดัƒั‚ ะธะฝะบะฐะฟััƒะปะธั€ะพะฒะฐั‚ัŒัั ะฒ ะบะฐะดั€ั‹ TLS ั ะธัะฟะพะปัŒะทะพะฒะฐะฝะธะตะผ ะทะฐะดะฐะฝะฝะพะณะพ ะบะปัŽั‡ะฐ. ะ”ะปั ะพั‚ะฟั€ะฐะฒะบะธ ัะปัƒะถะตะฑะฝั‹ั… ัะพะพะฑั‰ะตะฝะธะน, ะฝะฐะฟั€ะธะผะตั€ ะดะปั ัะพะณะปะฐัะพะฒะฐะฝะธั ัะพะตะดะธะฝะตะฝะธั, ัะปะตะดัƒะตั‚ ะธัะฟะพะปัŒะทะพะฒะฐั‚ัŒ ั„ัƒะฝะบั†ะธัŽ sendmsg ั ั‚ะธะฟะพะผ ะทะฐะฟะธัะธ TLS_SET_RECORD_TYPE.

ะŸะพะดะดะตั€ะถะธะฒะฐะตั‚ัั ะดะฒะฐ ะพัะฝะพะฒะฝั‹ั… ะผะตั‚ะพะดะฐ ัˆะธั„ั€ะพะฒะฐะฝะธั TLS-ะบะฐะดั€ะพะฒ: ะฟั€ะพะณั€ะฐะผะผะฝั‹ะน ะธ ifnet (ั ะทะฐะดะตะนัั‚ะฒะพะฒะฐะฝะธะตะผ ะฐะฟะฟะฐั€ะฐั‚ะฝั‹ั… ัั€ะตะดัั‚ะฒ ัƒัะบะพั€ะตะฝะธั ัะตั‚ะตะฒั‹ั… ะบะฐั€ั‚). ะ’ั‹ะฑะพั€ ะผะตั‚ะพะดะฐ ะพััƒั‰ะตัั‚ะฒะปัะตั‚ัั ะฟั€ะธ ะฟะพะผะพั‰ะธ
ะพะฟั†ะธะธ ัะพะบะตั‚ะฐ TCP_TXTLS_MODE. ะŸั€ะพะณั€ะฐะผะผะฝั‹ะน ะผะตั‚ะพะด ะฟะพะทะฒะพะปัะตั‚ ะฟะพะดะบะปัŽั‡ะฐั‚ัŒ ั€ะฐะทะฝั‹ะต ะฑัะบะตะฝะดั‹ ะดะปั ัˆะธั„ั€ะพะฒะฐะฝะธั. ะ’ ะบะฐั‡ะตัั‚ะฒะต ะฟั€ะธะผะตั€ะฐ ะพะฟัƒะฑะปะธะบะพะฒะฐะฝ ะฑัะบะตะฝะด ktls_ocf.ko ั ะฟะพะดะดะตั€ะถะบะพะน AES-GCM, ั€ะตะฐะปะธะทะพะฒะฐะฝะฝั‹ะน ะฝะฐ ะฑะฐะทะต ั„ั€ะตะนะผะฒั€ะพะบะฐ OpenCrypto. ะ”ะปั ัƒะฟั€ะฐะฒะปะตะฝะธั ะฟั€ะตะดะปะฐะณะฐะตั‚ัั ะฝะตัะบะพะปัŒะบะพ sysctl ะฒ ั€ะฐะผะบะฐั… ะฒะตั‚ะบะธ kern.ipc.tls.*. ะŸั€ะธ ัะฑะพั€ะบะต ัะดั€ะฐ ะฟะพะดะดะตั€ะถะบะฐ TLS ะฒะบะปัŽั‡ะฐะตั‚ัั ะฟั€ะธ ะฟะพะผะพั‰ะธ ะพะฟั†ะธะธ KERN_TLS.

เจธเจฐเฉ‹เจค: opennet.ru

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹