Модуль аппаратной безопасности

undefined

Мо́дуль аппара́тной безопа́сности (англ. hardware security module, HSM) — это физическое вычислительное устройство, предназначенное для защиты, хранения и управления секретами (в первую очередь цифровыми ключами), а также выполнения операций шифрования и дешифрования, формирования электронных подписей, обеспечения сильной аутентификации и других криптографических функций[1]. Модули аппаратной безопасности традиционно представлены в виде платы расширения или внешнего устройства, которое непосредственно подключается к компьютеру или сетевому серверу. Каждый модуль аппаратной безопасности содержит по крайней мере один безопасный криптопроцессор на базе интегральной схемы[2][3].

Конструкция

Модули аппаратной безопасности могут обеспечивать индикацию вмешательства, например, визуальными признаками вскрытия или средствами логирования и оповещения, а также конструктивной защитой, делающей вскрытие невозможным без повреждения устройства, либо автоматическим реагированием на попытки вмешательства, например, удалением ключей при обнаружении атак[4]. Каждый такой модуль обычно включает один или несколько безопасных криптопроцессоров, предотвращающих физическое вскрытие, подслушивание шины и несанкционированный доступ; может сочетать различные чипы в общем корпусе с защитой от вскрытия. Большинство существующих модулей аппаратной безопасности в первую очередь предназначены для управления секретными ключами. Многие HSM поддерживают безопасное резервное копирование ключей вне устройства: ключи могут сохраняться в зашифрованном виде на жёстком диске или другом носителе либо экспортироваться на отдельное устройство, например смарт-карту или иной токен безопасности[5].

Модули аппаратной безопасности применяются для авторизации и аутентификации в реальном времени на объектах критической инфраструктуры и, как правило, выполнены с поддержкой стандартных моделей высокой доступности: кластеризации, автоматического переключения и резервирования ключевых компонентов.

Некоторые HSM позволяют запускать внутри защищённого корпуса специальные пользовательские модули, что бывает необходимо для реализации уникальных алгоритмов или бизнес-логики в контролируемой среде. Такие модули могут быть написаны на языке C, .NET, Java или других языках программирования.

Сертификация

Ввиду особой роли в обеспечении безопасности приложений и инфраструктуры, универсальные модули аппаратной безопасности и (или) их криптографические компоненты обычно сертифицируются в соответствии с международными стандартами — такими, как Common Criteria (например, профиль защиты EN 419 221-5, «Криптографический модуль для доверенных сервисов») или FIPS 140 (на данный момент — версия 3, FIPS 140-3). Хотя высший уровень сертификации безопасности по FIPS 140 — уровень 4, большинство модулей имеют сертификацию уровня 3. В системе Common Criteria максимальный уровень EAL (Evaluation Assurance Level) — EAL7, но большинство HSM имеют уровень EAL4+. Для систем обработки платежей безопасность HSM дополнительно подтверждается соответствием требованиям Совета по стандартам безопасности платёжных карт (PCI SSC)[6].

Применение

Модули аппаратной безопасности применяются во всех случаях, где необходима работа с цифровыми ключами. Как правило, речь идёт о ключах высокой ценности — компрометация такого ключа наносит существенный ущерб владельцу.

Основные функции HSM:

  • безопасная генерация криптографических ключей внутри устройства;
  • безопасное хранение ключей (по меньшей мере мастер-ключей и наиболее чувствительных данных) внутри устройства;
  • управление ключами;
  • работа с криптографическим и секретным материалом, например — дешифрование или формирование электронной подписи;
  • безопасное удаление криптографических и иных чувствительных данных, хранившихся в устройстве.

Также HSM используются для управления ключами прозрачного шифрования данных в базах данных и ключами для устройств хранения — например, жёстких дисков и магнитных лент.

Некоторые HSM также выступают аппаратными криптографическими ускорителями. Хотя по производительности операций с симметричными ключами специализированные ускорители часто быстрее, HSM способны обеспечивать от 1 до 10 000 подписей по алгоритму RSA (1024 бита) в секунду, заметно разгружая центральный процессор при операциях с открытым ключом. С 2010 года NIST рекомендует использовать для RSA ключи длиной 2048 бит[7], поэтому производительность при больших длинах ключа становится особенно важной. Для решения этой задачи многие HSM поддерживают криптографию на эллиптических кривых (ECC), обеспечивающую высокий уровень безопасности при меньшей длине ключа.

HSM для PKI (CA HSM)

В инфраструктуре открытых ключей (PKI) модули аппаратной безопасности используются центрами сертификации (CA) и регистрационными центрами (RA) для генерации, хранения и обработки пар асимметричных ключей. В таких случаях необходимы следующие свойства устройств:

  • высокий уровень логической и физической защиты;
  • схема авторизации пользователей по частям секрета;
  • полный аудит и ведение журналов;
  • безопасное резервное копирование ключей.

При этом производительность устройств для PKI обычно менее критична, поскольку основные задержки определяются процедурами регистрации.

Модули аппаратной безопасности в платёжных системах (банковские HSM)

Специализированные HSM применяются в платёжной индустрии. Модули поддерживают как универсальные, так и специализированные для платёжных систем функции. Обычно стандартные API отсутствуют.

Типичные задачи:

  • проверка совпадения ПИН-кода пользователя с эталонным значением;
  • подтверждение операций по банковским картам с использованием контрольных кодов/безопасных вычислений и взаимодействие, например, с банкоматом или POS-терминалом;
  • работа со смарт-картами (EMV), поддержка крипто-API;
  • повторное шифрование блока ПИН для пересылки другому серверу авторизации;
  • безопасное управление ключами;
  • поддержка протоколов управления сетью POS и банкоматов;
  • поддержка обмена ключами/данными в формате де-факто стандартов host-host (API);
  • генерация и печать «PIN-mailer»;
  • генерация данных для магнитной полосы карты (PVV, CVV);
  • генерация набора ключей карты и поддержка персонализации смарт-карт.

Крупнейшие организации, разрабатывающие и поддерживающие стандарты HSM для банковской сферы, — Совет по стандартам безопасности платёжных карт (PCI SSC), ANS X9 и ISO.

Установление SSL-соединений

В ресурсоёмких приложениях, использующих HTTPS (SSL/TLS), целесообразно использовать HSM-ускорители SSL для переноса RSA-вычислений (многочисленных умножений больших целых чисел) с центрального процессора на внешний модуль. Типовая производительность составляет от 1 до 10 000 операций RSA-1024 в секунду[8][9]. Производительность при больших длинах ключей приобретает всё большее значение.

DNSSEC

Растущее число регистратур применяет HSM для хранения ключевого материала, используемого при подписывании крупных зон DNS. OpenDNSSEC — открытое программное обеспечение для управления подписанием файлов зон DNS.

27 января 2007 года ICANN и Verisign при поддержке Министерства торговли США начали внедрение расширений безопасности DNS (DNSSEC) для корневых зон DNS[10]. Подробности о корневой подписи доступны на сайте Root DNSSEC[11].

undefined

Блокчейн и модули аппаратной безопасности

Технология блокчейн основана на осуществлении криптографических операций. Защита приватных ключей критически важна для безопасности процессов, связанных с асимметричной криптографией в блокчейне. Часто приватные ключи хранятся в криптовалютных кошельках, таких как аппаратные устройства на иллюстрации.

В ряде научных публикаций подчёркивается синергия между модулями аппаратной безопасности и блокчейном, которая проявляется главным образом в задачах безопасного хранения приватных ключей и подтверждения идентичности, в частности — для блокчейн-решений в сфере мобильных сервисов[12][13].

См. также

Примечания

Литература