Введение

Управление криптографическими ключами

Управление ключами относится к управлению криптографическими ключами в криптосистеме. Это включает в себя генерацию, обмен, хранение, использование, криптографическое удаление (уничтожение) и замену ключей. Оно включает в себя разработку криптографических протоколов, серверы ключей, пользовательские процедуры и другие соответствующие протоколы. Управление ключами охватывает ключи на уровне пользователей, как при взаимодействии между пользователями, так и между системами. Это отличается от планирования ключей, которое обычно относится к внутренней обработке ключей в процессе работы шифра. Успешное управление ключами критически важно для безопасности криптосистемы. В некотором смысле, это более сложная область криптографии, поскольку она включает в себя аспекты социальной инженерии, такие как политика системы, обучение пользователей, организационное взаимодействие и координация между всеми этими элементами, в отличие от чисто математических методов, которые могут быть автоматизированы.

Типы ключей

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

Инвентаризация

Начальной точкой любой стратегии управления сертификатами и закрытыми ключами является создание исчерпывающего инвентаря всех сертификатов, их расположения и ответственных лиц. Это непростая задача, поскольку сертификаты из разных источников развертываются в различных местах разными сотрудниками и командами, и полагаться на список от единственного удостоверяющего центра невозможно. Сертификаты, которые не обновляются и не заменяются до истечения срока действия, могут привести к серьезным простоям и сбоям в работе. Важно также учитывать следующее: Нормативные требования, такие как PCI DSS, предъявляют строгие требования к безопасности и управлению криптографическими ключами, и аудиторы все чаще проверяют используемые механизмы управления и процессы. Закрытые ключи, используемые с сертификатами, должны храниться в безопасности, иначе несанкционированные лица могут перехватывать конфиденциальную информацию или получать несанкционированный доступ к критически важным системам. Отсутствие четкого разделения обязанностей означает, что администраторы, генерирующие ключи шифрования, могут использовать их для доступа к конфиденциальным данным, подлежащим регулированию. В случае компрометации удостоверяющего центра или взлома алгоритма шифрования организации должны быть готовы заменить все свои сертификаты и ключи в течение нескольких часов.

Шаги управления

После инвентаризации ключей, управление ключами обычно включает три этапа: обмен, хранение и использование.

Обмен ключами

Перед любым защищенным обменом данными пользователи должны настроить параметры криптографии. В некоторых случаях это может потребовать обмена идентичными ключами (в случае симметричной системы шифрования). В других случаях может потребоваться владение открытым ключом другой стороны. Открытые ключи могут обмениваться открыто (соответствующий закрытый ключ при этом хранится в секрете), в то время как симметричные ключи должны передаваться по защищенному каналу связи. Ранее обмен такими ключами был крайне затруднителен и значительно упрощался благодаря доступу к защищенным каналам, таким как дипломатическая почта. Открытый обмен симметричными ключами в текстовом виде позволил бы любому перехватчику немедленно узнать ключ и все зашифрованные данные. Развитие криптографии с открытым ключом в 1970-х годах упростило обмен ключами. С момента публикации протокола обмена ключами Диффи — Хеллмана в 1975 году стало возможным обмениваться ключами по незащищенному каналу связи, что существенно снизило риск раскрытия ключей при передаче. Возможно использование чего-то вроде книжного шифра для включения индикаторов ключа в виде открытого текста, прикрепленного к зашифрованному сообщению. Техника шифрования, использованная шифровальщиком Ричарда Сорге, была такого типа, ссылаясь на страницу в статистическом справочнике, хотя фактически это был шифр. Симметричный ключ шифрования Enigma немецкой армии на ранних этапах использования был комбинированным: ключ представлял собой сочетание тайно распространяемых расписаний ключей и компонента ключа сеанса, выбираемого пользователем для каждого сообщения. В более современных системах, таких как системы, совместимые с OpenPGP, ключ сеанса для алгоритма симметричного шифрования распространяется в зашифрованном виде с помощью алгоритма асимметричного шифрования. Этот подход позволяет избежать даже необходимости использования протокола обмена ключами, такого как обмен ключами Диффи — Хеллмана. Другой метод обмена ключами заключается в инкапсуляции одного ключа в другой. Обычно генерируется и обменивается мастер-ключ с использованием какого-либо безопасного метода. Этот метод обычно сложен или дорог (например, разбиение мастер-ключа на несколько частей и отправка каждой из них доверенным курьером) и не подходит для использования в больших масштабах. После безопасного обмена мастер-ключом его можно легко использовать для безопасного обмена последующими ключами. Эта техника обычно называется оберткой ключа (key wrap). Распространенная техника использует блочные шифры и криптографические хеш-функции. Связанный метод заключается в обмене мастер-ключом (иногда называемым корневым ключом) и получении производных ключей по мере необходимости из этого ключа и некоторых других данных (часто называемых данными диверсификации). Наиболее распространенным применением этого метода, вероятно, является криптосистема на основе смарт-карт, например, используемая в банковских картах. Банк или кредитная сеть встраивает свой секретный ключ в безопасное хранилище ключей карты во время производства карт на защищенном производственном предприятии. Затем в точке продажи карта и считыватель карт могут совместно получить набор ключей сеанса на основе общего секретного ключа и данных, специфичных для карты (например, серийного номера карты). Этот метод также может использоваться, когда ключи должны быть связаны друг с другом (например, ключи отделов привязаны к ключам управлений, а индивидуальные ключи — к ключам отделов). Однако связывание ключей таким образом увеличивает ущерб, который может быть причинен в результате нарушения безопасности, поскольку злоумышленники узнают информацию о нескольких ключах. Это снижает энтропию для каждого затронутого ключа с точки зрения атакующего. Недавний метод использует обфусцированную псевдослучайную функцию для выдачи ключей без предоставления системе управления ключами возможности видеть сами ключи.

Хранение ключей

Как бы они ни были распределены, ключи должны храниться безопасно для обеспечения безопасности связи. Безопасность является серьезной проблемой, поэтому используются различные методы для ее обеспечения. Наиболее распространенный из них – когда приложение шифрования управляет ключами пользователя и использует пароль доступа для контроля их использования. Подобным образом, в платформах бесключевого доступа для смартфонов вся идентифицирующая информация о дверях не хранится на мобильных телефонах и серверах, а все данные шифруются. Как и в случае с обычными ключами, пользователи предоставляют коды только тем, кому доверяют. Также используются виртуальные HSM, известные как "аппаратные модули безопасности для экономных" (pmHSM), или энергонезависимые полевые программируемые вентильные матрицы (FPGA) с поддерживающими конфигурациями системы на кристалле. Для проверки целостности ключа, хранящегося без раскрытия его фактического значения, можно использовать алгоритм KCV.

Использование ключа шифрования

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

Соответствие

Соответствие требованиям к управлению ключами подразумевает контроль, обеспечение уверенности и возможность продемонстрировать, что ключи управляются безопасным образом. Это включает в себя следующие отдельные области соответствия:

Физическая безопасность – наиболее очевидная форма соответствия, которая может включать в себя запирающиеся двери для защиты системного оборудования и камеры видеонаблюдения. Эти меры защиты могут предотвратить несанкционированный доступ к печатным копиям ключевой информации и компьютерным системам, на которых работает программное обеспечение для управления ключами. Логическая безопасность – защищает организацию от кражи или несанкционированного доступа к информации. Здесь используются криптографические ключи для шифрования данных, которые становятся бесполезными для тех, у кого нет ключа для их расшифровки. Безопасность персонала – предполагает назначение персоналу конкретных ролей или прав доступа к информации строго на основе принципа "знать только необходимое". Для обеспечения безопасности необходимо проводить проверку биографических данных новых сотрудников, а также при изменении их должностных обязанностей. Соответствие может достигаться в отношении национальных и международных стандартов и нормативных актов по защите данных, таких как Стандарт безопасности данных индустрии платежных карт (PCI DSS), Закон о переносимости и подотчетности медицинского страхования (HIPAA), Закон Сарбейнса-Оксли (SOX) или Общий регламент по защите данных (GDPR).

Система управления ключами

Система управления ключами (KMS), также известная как система управления криптографическими ключами (CKMS) или система управления корпоративными ключами (EKMS), представляет собой комплексный подход к генерации, распространению и управлению криптографическими ключами для устройств и приложений. Она может охватывать все аспекты безопасности – от безопасной генерации ключей и безопасного обмена ими до безопасной обработки и хранения ключей на клиентском устройстве. Таким образом, KMS включает в себя серверную часть для генерации, распространения и замены ключей, а также клиентскую часть для внедрения ключей, их хранения и управления на устройствах.

Управление ключами на основе стандартов

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

Протокол взаимодействия по управлению ключами (KMIP)

KMIP – это расширяемый протокол управления ключами, разработанный многими организациями, работающими в рамках организации по стандартизации OASIS. Первая версия была выпущена в 2010 году, после чего протокол был доработан активным техническим комитетом. Протокол обеспечивает создание ключей и их распространение между различными программными системами, которым необходимо их использовать. Он охватывает весь жизненный цикл как симметричных, так и асимметричных ключей в различных форматах, включая обертывание ключей, схемы подготовки и криптографические операции, а также метаданные, связанные с ключами. Протокол подкреплен обширной серией тестов, и ежегодно проводится тестирование совместимости между соответствующими системами. Список примерно 80 продуктов, соответствующих стандарту KMIP, доступен на веб-сайте OASIS.

Политика безопасности KMS

Политика безопасности системы управления ключами определяет правила, которые используются для защиты ключей и метаданных, поддерживаемых этой системой. Как определено Национальным институтом стандартов и технологий NIST, политика должна устанавливать и конкретизировать правила для этой информации, обеспечивающие ее защиту:

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