Скомпрометированные ключи

Все протоколы, методы и алгоритмы современной криптографии имеют смысл только в том случае, если ключ хранится в секрете. Однако ключ Алисы может быть украден, потерян или скомпрометирован иным способом. Если скомпрометированный ключ использовался в симметрич­ной криптосистеме, Алисе придется заменить ключ и надеяться, что ущерб мини­мален.

Если это секретный ключ асимметричной криптосистемы, то все осложняется, так как парный открытый ключ может храниться на многих серверах в сети. Если злоумышленник получил доступ к секретному ключу Алисы, он может выдать себя за нее и, как следствие, читать адресованные ей сообщения и подписываться за нее.

Если ключ распределяет ЦРК, то Алиса обязана сообщить ему о факте компрометации. Если ЦРК не используется, то ей следует известить всех абонентов которые могут получать от неё сообщения. Соответствующая служба криптосети делжна обнародовать тот факт, что любое сообщение, полученное после компрометации ключа, яв­ляется подозрительным и что никто не должен посылать сообщения Алисе, используя соответствующий открытый ключ.

При использованиии централизованной схемы распределения открытых ключей скомпрометированные ключи помещаются в спе­циаль­ный список аннулированных сертификатов (САС). Туда же помещаются и открытые ключи с истекшим сроком действия. САС служит механизмом, позволяющим исключить возможность использо­вания скомпрометирован­ных ключей. САС формируется специальной службой ЦС и содержит ин­формацию о сертификатах, выданных дан­ным ЦС. Отметим, что список содержит не сами отмененные сертифи­каты, а только информацию, позво­ляющую установить, что сертификат был отменен. Способы распростране­ния САС могут быть различными: от непосредственной рассылки пользо­вателям криптосети до органи­зации в сети специальных узлов.

Таким образом, перед проверкой подписи принятого сообщения и после верификации сертификата (проверки подписи сертификата на откры­том ключе ЦС) необходимо установить, входит ли данный сер­тификат в САС. Если факт вхождения установлен, принятое сообще­ние отвергается.

Хорошо, если Алиса знает, когда был скомпрометирован ее ключ. Механизм временных меток позволяет абонентам определить, какие сооб­щения законны, а какие подозрительны. Дополнительные осложнения воз­никают, если Алиса не знает точно, когда ее ключ был скомпромети­рован. Например, Алиса может пожелать отказаться от контракта, так как он был подписан вместо нее человеком, украв­шим у нее ключ. Если такой отказ возможен, то кто угодно сможет отказаться от контракта, утверждая, что его ключ был скомпрометирован до подписания контракта. Для решения по­добных вопросов необходимо привлечение независимого арбитра.

Этот пример показывает, как опасно иметь один единственный ключ (точнее, одну единственную пару ключей). Лучше, чтобы у Алисы были различные ключи (пары ключей) для различных приложений точно так же, как для различных замков нужны различные физические ключи. Другие реше­ния проблемы включают биометрическую аутентификацию, ограничение на использование ключа, временную задержку и дополнитель­ную подпись.

Время жизни ключей

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

Чем дольше используется ключ, тем больше:

— вероятность его компрометации. Если ключ используется в тече­ние года, то вероятность его компрометации гораздо выше, чем если бы его использовали только один день;

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

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

В ряде случаев трудоемкость криптоанализа определяется количес­твом шифртекстов, полученных в результате шифрования на одном ключе.

Для любого криптографического приложения необходима стратегия, определяющая допустимое время жизни ключа. У различных ключей могут быть различные времена жизни. Время жизни ключей должно определяться в зависимости от значи­мости и количества данных, зашифрованных в течение заданного периода:

· для криптографического телефона имеет смысл использовать ключ только в течение телефонного разговора, а для нового разговора использовать новый ключ.

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

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

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

Время жизни секретных ключей асимметричной криптографии зависит от приложений. Секретные ключи для цифровых подписей могут использоваться годами (даже в течение человеческой жизни). Во многих криптосетях срок действия секретных ключей ограничен двумя годами.

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

Уничтожение ключей

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

Ключи должны уничтожаться надежно. Если ключ записан в EEPROM-память, то для его уничтожения нужно многократно переза­пи­сать память. Если ключ записан в память EPROM или PROM, то он должен быть уничтожен вместе с микросхемой памяти.

Если ключ хранится на жестком диске компьютера, данные соответ­ствующего участка накопителя должны быть многократно перезаписа­ны. Серьезная проблема заключается в том, что в компьютере ключи могут быть размножены и сохранены в различных областях жесткого диска. Любая ОС, реализующая какую-либо схему управления памятью, постоянно выгружает программы из оперативной памяти на жесткий диск и загружает их обратно.

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

Использование ключей

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

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

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

Аппаратные реализации надежнее. Многие из устройств шифрова­ния разработаны так, что любое вмешательство приводит к уничтоже­нию ключа. Некоторые устройства, например телефонные шифраторы, используют сеансовые ключи. Сеансовым называется ключ, который используется только для одного сеанса связи — единственного теле­фонного разговора — и затем уничтожается. Нет смысла хранить ключ после того, как он был использован.

В некоторых приложениях необходим контроль процесса использо­вания сеансового клю­ча. Сеансовые ключи могут быть разрешены к использованию только на определенной машине или только в определенное время.

Одна из схем управления подобными ограничениями предполагает добавление к ключу специального вектора контроля [7]. Значение хэш-функции вектора контроля суммируется по модулю два с главным ключом. Резуль­тат используется как ключ для шифрования сеансового ключа. Полученный шифртекст затем хранится вместе с вектором контроля. Для восстановления сеансового ключа нужно вычислить значение хэш-функции вектора контроля и просуммиро­вать результат с главным ключом. Полученный ключ используется для дешифрования и восстановления сеансового ключа.

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

Депонирование ключей

В апреле 1993 г. правительство США анонсировало новый метод криптографической защиты информации, обеспечивающий высокий уровень безопасности при передаче по открытым каналам связи, с од­ной стороны, и отвечающий требованиям национальной безопасности, с другой.

Метод основан на применении шифрующей/­дешифрующей микро­схемы Clipper, разработанной по специальной технологии TEMPEST, препятствующей считыванию информации с помощью внешнего воздействия и процедуры депонирования ключа, определющей дис­циплину раскрытия уникального ключа микросхемы.

Генерация и запись ключа выполняются до встраивания микросхе­мы в конечное устройство. Не существует способа, позволяющего непос­редственно прочитать ключ как во время, так и по завершении техно­логического про­цесса производства и программирования микросхемы.

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

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

Практическая реализация идеи. Пусть первичный ключ k — это последовательность битов длины n. Тогда вторичный ключ первого участника

k1 = k Å x,

где x - шумовая последовательность двоичных символов длины n. Та же шумовая последовательность используется в качестве вто­рич­ного ключа другого участника k2 = x,. Следо­вательно. первичный ключ может быть вычислен суммированием по модулю 2 вторичных ключей участников:

k = k1 Å k2.

Схема обладает абсолютной секретностью ‑ оценка трудоемкости раскрытия первичного ключа каждым из участников составляет 2 n попыток дешифрования в худшем случае и 2 n- 1 — в среднем. Данная схема является частным случаем классического метода разделения секрета.

Другой долговременный проект правительства США, действующего на основании закона о компьютерной безопасности от 1987 г. связан с разработкой микросхемы Capstone. Поддер­жка проекта осуществляется национальным институтом стандартов и технологии (NIST) и аге­нтством национальной безопасности (NSA).

В микросхеме Capstone помимо стандартных компонентов микро­схе­мы Clipper реализованы алгоритм обмена открытыми ключами KEA (Key Exchange Algorithm), цифровая подпись DSA, хэш-функция SHA, ал­го­ритм быстрого возведения в степень по модулю и генера­тор псевдо­слу­чайных чисел на основе источника чистого шума. Все криптоалгоритмы микросхе­мы Capstone имеют 80-битный секретный ключ. Основная об­ласть применения микросхемы Capstone — безопасность электронных сде­лок и платежей, а также ряд других сфер в рамках нацио­нальной информа­ци­онной инфраструктуры.

Способ применения. Для защиты телефонных переговоров каждый из абонентов должен иметь специальное криптографическое устрой­ство, содержащее Clipper, Capstone или любую другую аналогичную микросхему. В устройстве должен быть реализован протокол, позво­ляю­щий абонентам обме­ниваться секретным сеансовым ключом, например, с помощью известного метода цифрового конверта. Данный метод приме­няется в устройстве защиты телефонных переговоров TSD (Telephone Security Device), разработанном компанией AT&T. Устройство подклю­чается встык между телефонной трубкой и основ­ным блоком и активизируется нажатием кнопки.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: