Введение

Метод ускорения безопасности транспортного уровня

Ускорение TLS (ранее известное как ускорение SSL) — это метод переноса вычислительно сложных операций шифрования с открытым ключом для протоколов Transport Layer Security (TLS) и его предшественника Secure Sockets Layer (SSL) на аппаратный ускоритель. Как правило, это означает использование отдельной платы, подключаемой к слоту PCI в компьютере, которая содержит один или несколько сопроцессоров, способных выполнять большую часть обработки SSL/TLS. Ускорители TLS могут использовать стандартные процессоры, но большинство используют специализированные чипы ASIC и RISC для выполнения наиболее сложных вычислений.

Принцип работы ускорения TLS

Наиболее ресурсоемкой частью сеанса TLS является TLS-рукопожатие, в ходе которого TLS-сервер (обычно веб-сервер) и TLS-клиент (обычно веб-браузер) согласовывают ряд параметров, определяющих безопасность соединения. В процессе TLS-рукопожатия сервер и клиент устанавливают сеансовые ключи (симметричные ключи, используемые в течение всего сеанса), однако шифрование и подпись сообщений TLS-рукопожатия выполняются с использованием асимметричных ключей, что требует больше вычислительных ресурсов, чем симметричная криптография, применяемая для шифрования и дешифрования данных сеанса. Как правило, аппаратный ускоритель TLS берет на себя обработку TLS-рукопожатия, оставляя серверному программному обеспечению обработку менее интенсивной симметричной криптографии при фактическом обмене данными TLS, но некоторые ускорители обрабатывают все операции TLS и завершают TLS-соединение, в результате чего сервер видит только расшифрованные соединения. Иногда в центрах обработки данных используются выделенные серверы для ускорения TLS в конфигурации обратного прокси.

Поддержка центрального процессора

Современные процессоры x86 поддерживают аппаратное кодирование и декодирование по стандарту Advanced Encryption Standard (AES), используя набор инструкций AES, предложенный Intel в марте 2008 года. Allwinner Technology предоставляет аппаратный криптографический ускоритель в своих сериях ARM A10, A20, A30 и A80, представляющих собой системы на чипе, а все процессоры ARM имеют аппаратную поддержку ускорения в архитектуре ARMv8 и более поздних версиях. Ускоритель обеспечивает реализацию алгоритма RSA с открытым ключом, несколько широко используемых алгоритмов симметричного шифрования, криптографические хеш-функции и криптографически стойкий генератор псевдослучайных чисел.