Ускорение TLS (ранее известное как ускорение SSL ) — это метод передачи ресурсоемкой работы процессора при шифровании с открытым ключом для протокола Transport Layer Security (TLS) и его предшественника Secure Sockets Layer (SSL) [1] на аппаратный ускоритель.
Обычно это означает наличие отдельной карты, которая подключается к слоту PCI компьютера, содержащему один или несколько сопроцессоров, способных выполнять большую часть обработки SSL.
Ускорители TLS могут использовать стандартные процессоры , но большинство из них используют специальные микросхемы ASIC и RISC для выполнения большей части сложной вычислительной работы.
Наиболее затратной с точки зрения вычислений частью сеанса TLS является рукопожатие TLS, где сервер TLS (обычно веб-сервер) и клиент TLS (обычно веб-браузер) согласовывают ряд параметров, которые устанавливают безопасность соединения. Во время рукопожатия TLS сервер и клиент устанавливают ключи сеанса (симметричные ключи, используемые на протяжении данного сеанса), но шифрование и подпись самих сообщений рукопожатия TLS выполняется с использованием асимметричных ключей, что требует большей вычислительной мощности, чем симметричная криптография, используемая для шифрования/дешифрования данных сеанса.
Обычно аппаратный ускоритель TLS снимает с себя обработку рукопожатия TLS, оставляя серверному программному обеспечению обработку менее интенсивной симметричной криптографии фактического обмена данными TLS , но некоторые ускорители обрабатывают все операции TLS и завершают соединение TLS, оставляя серверу только расшифрованные соединения. Иногда центры обработки данных используют выделенные серверы для ускорения TLS в конфигурации обратного прокси .
Современные процессоры x86 поддерживают аппаратную поддержку кодирования и декодирования Advanced Encryption Standard (AES) с использованием набора инструкций AES , предложенного Intel в марте 2008 года.
Allwinner Technology предоставляет аппаратный криптографический ускоритель в своих системах-на-чипе A10, A20, A30 и A80 ARM , и все процессоры ARM имеют ускорение в более поздней архитектуре ARMv8. Ускоритель предоставляет алгоритм открытого ключа RSA , несколько широко используемых алгоритмов симметричного ключа , криптографические хэш-функции и криптографически безопасный генератор псевдослучайных чисел . [2]