Распределенное управление

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

• « Демократическая » схема (или распределенное управление ключами), применяется в программе PGP. Все участники равноправны, и каждый может подписать ключ любого участника. Проблема подлинности открытого ключа решается с помощью поручителей. Поручители - это абоненты криптосети, которые подписывают открытые ключи своих друзей, партнеров и т.п.

 Например, когда Боб создает свой открытый ключ, он передает копии ключа своим друзьям. Они знают Боба, поэтому каждый из них подписывает ключ Боба и выдает Бобу копию своей подписи. Теперь, когда Боб предъявляет свой ключ чужому человеку, например Алисе, он npедъявляет его вместе с подписями этих поручителей. Если Алиса также знает этих поручителей и дове­ряет им, у нее появляется основание для доверия Бобу. Для предотвращения подмены ключа, прежде чем подписывать, поручитель должен быть уверен, что ключ принадлежит именно Бобу.

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

Предлагается доверять ключу участника А, если существует цепочка сертификатов

C X0 X1,C X1 X2, …, CXkA.

При этом следует быть уверенным в ключе Х0 и доверять всем Х i подписывать ключи. Для перестраховки длина цепочки не должна превышать некоторое небольшое значение, например 3.

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

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

При замене открытого ключа необходимая для получения сертифи­ката информация подписывается на старом секретном ключе (если он не скомпрометирован) и передается в ЦС по открытому каналу. Результат проверки подписи является критерием для принятия решения о смене открытого ключа и выдаче нового сертификата.

Интересное применение можно найти для сертификата вида

CАA=SА("A"||время||kA).

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

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

Атаки на ЦС

Поскольку ЦС играет ведущую роль в инфраструктуре криптосети, рассмотрим некоторые простые атаки на ЦС на примере асимметричной схемы управления ключами.

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

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

2. Раскрытие секретного ключа ЦС. Злоумышленник, раскрывший секретный ключ ЦС, может подделывать сертификаты. Для предотвращения утечки секретной информации ЦС должен хранить свой секретный ключ, а также подписанные на нем сертификаты в специальном сверхнадежном, ударопрочном, защищенном от электро­магнитных излучений, электронном приборе с энергонезависимой памятью, так называемом Устройстве Подписи Сертификатов (УПС).

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

Периодичность процедуры обновления ключей в иерархической структуре ЦС [7] увеличивается в направлении от верхних уровней иерархии к нижним. Иными словами, частая смена ключей в ЦС верхнего уровня может быть непрактична, так как влечет за собой смену ключей у большого числа пользователей криптосети.

3. Подкуп сотрудников ЦС. Другая модель атаки рассматривает возможность подкупа Боба со стороны Алисы. В этой ситуации Боб является сотрудником ЦС, и цель подкупа заключается в получении Алисой сертификата на имя Фреда. Получив сертификат, Алиса сможет посылать сообщения от имени Фреда, и все эти сообщения, в силу легальности выданного сертификата, будут адекватно восприниматься другими пользователями криптосети.

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

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

4. Подделка старых документов. Другая атака заключается в том, что Алиса осуществляет силовую атаку для подбора модуля, входя­щего в состав открытого ключа ЦС. В результате по истечении опре­де­ленного времени (например 15 лет) ей удается разложить модуль и восстановить старый секретный ключ ЦС. Срок действия этого секретного ключа уже истек, однако Алиса может подделать серти­фикат 15-летней давности, заверяющий ложный открытый ключ Боба. В результате Алиса может подделать любой документ с подписью Боба 15-летней давности.

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

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

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

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

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

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

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

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

В качестве обобщения сказанного о распределении ключей следует сказать следующее. Задача управления ключами сводится к поиску такого протокола распределения ключей, который обеспечивал бы:

² возможность отказа от центра распределения ключей;

² взаимное подтверждение подлинности участников сеанса;

² подтверждение достоверности сеанса механизмом запроса-ответа;

² использование при обмене ключами минимального числа сообще­ний.

Обновление ключей

Распределение ключей при частой их замене - сложная практичес­кая задача. Особенно актуальна эта проблема при распределении секрет­ных ключей без использования ЦРК. Оригинальное решение проблемы - использование "блуждающих ключей". Идея метода достаточно проста. После того, как ключ использован в одном сеансе по некоторому правилу, известному и отправителю, и получателю, он сменяется другим. Если пра­вило смены ключей аккуратно соблюдается и отправителем, и получате­лем, то в каждый момент времени они имеют одинаковый ключ. Постоян­ная смена ключа затрудняет раскрытие информации злоумышленником.

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

Другой вариант — использование математических алгоритмов, основанных на так называемых перебирающих последовательностях. На множестве ключей путем одной и той же операции над элементом получается другой элемент. Иногда такую схему называют схемой обновления ключа. Для этого необходима хэш-функция, известная и Алисе, и Бобу. Если Алиса и Боб применят к общему ключу одну и ту же хэш-функцию, они получат одинако­вый результат. Затем они могут выбрать из результата нужные им биты и создать новый ключ.

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

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

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

Накопление ключей

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

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

Стандарт ANSI X9.17 определяет два типа ключей: ключи шифрования ключей и ключи данных. На ключах шифрования ключей шифруются ключи данных при передаче по открытым каналам. На ключах данных шифруются сами сообщения.

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

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

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

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

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

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

Ключи, которые трудно запомнить, можно хранить зашифрованны­ми. Например, секретный ключ RSA может быть зашифрован ключом DES и записан на жесткий диск. Для восстановления RSA-ключа пользователь должен выполнить DES-дешифрование. В идеале ключ никогда не должен оказываться вне шифрующего/дешифрующего устройства в открытом виде. Эта цель не всегда достижима, но к этому нужно стремиться.


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



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