Управление ключами относится к управлению криптографическими ключами в криптосистеме . Сюда входит работа с генерацией, обменом, хранением, использованием, крипто-измельчением (уничтожением) и заменой ключей. Он включает в себя разработку криптографических протоколов , серверы ключей , пользовательские процедуры и другие соответствующие протоколы. [1] [2]
Управление ключами касается ключей на уровне пользователя, как между пользователями, так и между системами. В этом отличие от планирования ключей , которое обычно относится к внутренней обработке ключей в рамках операции шифрования.
Успешное управление ключами имеет решающее значение для безопасности криптосистемы. Это более сложная сторона криптографии в том смысле, что она включает в себя такие аспекты социальной инженерии, как системная политика, обучение пользователей, взаимодействие организаций и ведомств, а также координация между всеми этими элементами, в отличие от чисто математических практик, которые можно автоматизировать.
Криптографические системы могут использовать разные типы ключей, причем некоторые системы используют более одного. Они могут включать симметричные ключи или асимметричные ключи. В алгоритме с симметричным ключом задействованные ключи идентичны как для шифрования, так и для дешифрования сообщения. Ключи необходимо выбирать тщательно, а также распределять и хранить в надежном месте. Асимметричные ключи, также известные как открытые ключи , напротив, представляют собой два отдельных ключа, математически связанных. Обычно они используются вместе для общения. Инфраструктура открытых ключей (PKI), реализация криптографии с открытыми ключами, требует от организации создания инфраструктуры для создания и управления парами открытых и закрытых ключей, а также цифровыми сертификатами. [3]
Отправной точкой любой стратегии управления сертификатами и закрытыми ключами является создание комплексного реестра всех сертификатов, их местонахождения и ответственных лиц. Это нетривиальный вопрос, поскольку сертификаты из разных источников развертываются в разных местах разными людьми и командами — просто невозможно полагаться на список из одного центра сертификации . Сертификаты, которые не обновляются и не заменяются до истечения срока их действия, могут привести к серьезным простоям и сбоям в работе. Некоторые другие соображения:
После инвентаризации ключей управление ключами обычно состоит из трех этапов: обмен, хранение и использование.
Прежде чем приступить к какой-либо защищенной связи, пользователи должны настроить детали криптографии. В некоторых случаях это может потребовать обмена идентичными ключами (в случае симметричной системы ключей). В других случаях может потребоваться наличие открытого ключа другой стороны. В то время как открытые ключи могут обмениваться открыто (соответствующий им закрытый ключ хранится в секрете), обмен симметричными ключами должен осуществляться по защищенному каналу связи. Раньше обмен такого ключа был чрезвычайно затруднительным и значительно облегчался доступом к защищенным каналам, таким как дипломатическая почта . Обмен открытым текстом симметричных ключей позволит любому перехватчику немедленно узнать ключ и любые зашифрованные данные.
Развитие криптографии с открытым ключом в 1970-х годах сделало обмен ключами менее затруднительным. С тех пор, как в 1975 году был опубликован протокол обмена ключами Диффи-Хеллмана , появилась возможность обмениваться ключами по незащищенному каналу связи, что существенно снизило риск раскрытия ключа во время распространения. Можно, используя что-то вроде книжного кода , включить ключевые индикаторы в виде открытого текста, прикрепленного к зашифрованному сообщению. Техника шифрования, использованная секретарем Рихарда Зорге , была именно такого типа: она относилась к странице статистического руководства, хотя на самом деле это был код. Симметричный ключ шифрования Enigma немецкой армии на ранних этапах своего использования был смешанного типа; ключ представлял собой комбинацию тайно распределенных расписаний ключей и выбранного пользователем компонента сеансового ключа для каждого сообщения.
В более современных системах, таких как системы, совместимые с OpenPGP , сеансовый ключ для алгоритма симметричного ключа распространяется в зашифрованном виде с помощью алгоритма асимметричного ключа . Этот подход позволяет избежать даже необходимости использования протокола обмена ключами, такого как обмен ключами Диффи-Хеллмана.
Другой метод обмена ключами предполагает инкапсуляцию одного ключа внутри другого. Обычно главный ключ генерируется и обменивается каким-либо безопасным методом. Этот метод обычно громоздкий или дорогой (например, разбиение главного ключа на несколько частей и отправка каждой из них доверенному курьеру) и не подходит для использования в больших масштабах. После безопасного обмена главным ключом его можно легко использовать для безопасного обмена последующими ключами. Этот метод обычно называется переносом ключей . Распространенный метод использует блочные шифры и криптографические хеш-функции . [6]
Связанный метод заключается в обмене главным ключом (иногда называемым корневым ключом) и получении дополнительных ключей по мере необходимости из этого ключа и некоторых других данных (часто называемых данными диверсификации). Чаще всего этот метод используется в криптосистемах на основе смарт-карт , например, в банковских картах. Банк или кредитная сеть встраивают свой секретный ключ в безопасное хранилище ключей карты во время производства карты на охраняемом производственном объекте. Затем в точке продажи и карта, и устройство считывания карт смогут получить общий набор сеансовых ключей на основе общего секретного ключа и данных, специфичных для карты (например, серийного номера карты). Этот метод также можно использовать, когда ключи должны быть связаны друг с другом (т. е. ключи отдела привязаны к ключам подразделений, а отдельные ключи привязаны к ключам отдела). Однако такое связывание ключей друг с другом увеличивает ущерб, который может возникнуть в результате нарушения безопасности, поскольку злоумышленники узнают что-то о более чем одном ключе. Это снижает энтропию по отношению к злоумышленнику для каждого задействованного ключа.
Недавний метод использует не обращающую внимания псевдослучайную функцию для выдачи ключей без того, чтобы система управления ключами никогда не могла их увидеть. [7]
Независимо от того, как они распределены, ключи должны храниться надежно для обеспечения безопасности связи. Безопасность является серьезной проблемой [8] [9] , и поэтому для ее достижения используются различные методы. Вероятно, наиболее распространенным является то, что приложение шифрования управляет ключами пользователя и зависит от пароля доступа для управления использованием ключа. Аналогичным образом, в случае платформ доступа без ключа для смартфонов они сохраняют всю идентификационную информацию о дверях с мобильных телефонов и серверов и шифруют все данные, где, как и в случае с низкотехнологичными ключами, пользователи передают коды только тем, кому они доверяют. [8]
С точки зрения регулирования, немногие из них подробно рассматривают хранение ключей. «Некоторые содержат минимальные рекомендации, такие как «не хранить ключи с зашифрованными данными» или предполагают, что «ключи следует хранить в надежном месте». Заметными исключениями из этого правила являются PCI DSS 3.2.1, NIST 800-53 и NIST 800–57. [9]
Для оптимальной безопасности ключи могут храниться в аппаратном модуле безопасности (HSM) или защищаться с использованием таких технологий, как доверенная среда выполнения (TEE, например Intel SGX ) или многосторонние вычисления (MPC). Дополнительные альтернативы включают использование доверенных платформенных модулей (TPM), [10] виртуальных HSM, также известных как «Модули аппаратной безопасности для бедняков» (pmHSM), [11] или энергонезависимых программируемых пользователем вентильных матриц (FPGA) с поддержкой системных внутрикристальные конфигурации. [12] Чтобы проверить целостность сохраненного ключа без ущерба для его фактического значения, можно использовать алгоритм KCV .
Основная проблема заключается в продолжительности использования ключа и, следовательно, в частоте замены. Поскольку это увеличивает требуемые усилия злоумышленника, ключи следует часто менять. Это также ограничивает потерю информации, поскольку количество сохраненных зашифрованных сообщений, которые станут доступны для чтения при обнаружении ключа, будет уменьшаться по мере увеличения частоты смены ключа. Исторически симметричные ключи использовались в течение длительного времени в ситуациях, когда обмен ключами был очень затруднен или возможен только время от времени. В идеале симметричный ключ должен меняться с каждым сообщением или взаимодействием, чтобы только это сообщение стало доступным для чтения, если ключ будет изучен ( например , украден, подвергнут криптоанализу или с помощью социальной инженерии).
При попытке контролировать и управлять своими ключами шифрования ИТ-организации сталкиваются с рядом проблем:
Соответствие управлению ключами подразумевает надзор, гарантию и возможность продемонстрировать, что ключи управляются безопасно. Сюда входят следующие отдельные области соответствия:
Соответствие может быть достигнуто в отношении национальных и международных стандартов и правил защиты данных , таких как Стандарт безопасности данных индустрии платежных карт , Закон о переносимости и отчетности медицинского страхования , Закон Сарбейнса-Оксли или Общие правила защиты данных . [15]
Система управления ключами (KMS), также известная как система управления криптографическими ключами (CKMS) или система управления ключами предприятия (EKMS), представляет собой интегрированный подход к созданию, распространению и управлению криптографическими ключами для устройств и приложений. Они могут охватывать все аспекты безопасности — от безопасного создания ключей и безопасного обмена ключами до безопасной обработки и хранения ключей на клиенте. Таким образом, KMS включает в себя серверную функциональность для генерации , распространения и замены ключей, а также клиентскую функциональность для внедрения ключей, хранения ключей и управления ими на устройствах.
Многие конкретные приложения разработали свои собственные системы управления ключами с собственными протоколами. Однако по мере того, как системы становятся все более взаимосвязанными, ключи должны быть общими для этих разных систем. Чтобы облегчить это, были разработаны стандарты управления ключами, определяющие протоколы, используемые для управления и обмена криптографическими ключами и соответствующей информацией.
KMIP — это расширяемый протокол управления ключами, разработанный многими организациями, работающими в рамках органа по стандартизации OASIS . Первая версия была выпущена в 2010 году и дорабатывалась активным техническим комитетом.
Протокол позволяет создавать ключи и распределять их среди разрозненных программных систем, которым необходимо их использовать. Он охватывает полный жизненный цикл как симметричных, так и асимметричных ключей в различных форматах, упаковку ключей, схемы предоставления и криптографические операции, а также метаданные, связанные с ключами.
Протокол подкреплен обширной серией тестовых примеров, а тестирование совместимости между совместимыми системами проводится каждый год.
Список из примерно 80 продуктов, соответствующих стандарту KMIP, можно найти на веб-сайте OASIS.
Политика безопасности системы управления ключами предусматривает правила, которые должны использоваться для защиты ключей и метаданных, которые поддерживает система управления ключами. Согласно определению Национального института стандартов и технологий NIST , политика должна устанавливать и определять правила для этой информации, которые защитят ее: [14]
Эта защита охватывает полный жизненный цикл ключа с момента его ввода в эксплуатацию до его удаления. [1]
Используйте свое собственное шифрование (BYOE) — также называемое «принесите свой собственный ключ» (BYOK) — относится к модели безопасности облачных вычислений, позволяющей клиентам общедоступного облака использовать собственное программное обеспечение для шифрования и управлять своими собственными ключами шифрования. Эту модель безопасности обычно считают маркетинговым ходом, поскольку важные ключи передаются третьим лицам (поставщикам облачных услуг), а владельцам ключей по-прежнему приходится нести операционную нагрузку по созданию, ротации и совместному использованию своих ключей. IBM предлагает вариант этой возможности под названием Keep Your Own Key, позволяющий клиентам иметь эксклюзивный контроль над своими ключами.
Инфраструктура открытых ключей — это тип системы управления ключами, которая использует иерархические цифровые сертификаты для обеспечения аутентификации и открытые ключи для обеспечения шифрования. PKI используются в трафике Всемирной паутины, обычно в форме SSL и TLS .
Управление групповыми ключами означает управление ключами при групповом общении. В большинстве групповых коммуникаций используется многоадресная рассылка, поэтому, если сообщение отправлено отправителем один раз, оно будет получено всеми пользователями. Основная проблема групповой многоадресной рассылки — ее безопасность. В целях повышения безопасности пользователям предоставляются различные ключи. Используя ключи, пользователи могут шифровать свои сообщения и отправлять их тайно. IETF.org опубликовал RFC 4046 под названием «Архитектура управления групповыми ключами многоадресной безопасности (MSEC)», в котором обсуждаются проблемы управления групповыми ключами. [55]
{{cite web}}
: CS1 maint: архивная копия в заголовке ( ссылка )45.NeoKeyManager - Hancom Intelligence Inc.
Вопрос* Рабочая группа IEEE Security in Storage (SISWG), которая создает стандарт P1619.3 для управления ключами.