Netflix نے FreeBSD کرنل کے لیے TLS نفاذ کے پیچ شائع کیے ہیں۔

نیٹ فلکس کمپنی تجویز کیا для тестирования работающую на уровне ядра 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

نیا تبصرہ شامل کریں