ЛЕКЦИЯ 11. Управление ключами в асимметричных криптосистемах. 11.

Скачать презентацию ЛЕКЦИЯ 11. Управление ключами в асимметричных криптосистемах. 11. Скачать презентацию ЛЕКЦИЯ 11. Управление ключами в асимметричных криптосистемах. 11.

lekciya_11.ppt

  • Размер: 113.0 Кб
  • Автор: Любовь Частухина
  • Количество слайдов: 14

Описание презентации ЛЕКЦИЯ 11. Управление ключами в асимметричных криптосистемах. 11. по слайдам

  ЛЕКЦИЯ 11. Управление ключами в асимметричных криптосистемах. 11. 1. Распределение открытых ключей. ЛЕКЦИЯ 11. Управление ключами в асимметричных криптосистемах. 11. 1. Распределение открытых ключей. 11. 2. Распределение секретных ключей с использованием криптосистемы с открытым ключом.

  A KUa KUa. Методы распределения открытых ключей :  публичное объявление; A KUa KUa. Методы распределения открытых ключей : публичное объявление; публично доступный каталог; авторитетный источник открытых ключей; сертификаты открытых ключей. Публичное объявление открытых ключей Неконтролируемое распределение открытых ключей Слабое место: такое публичное объявление может написать кто угодно. B KUb KUb

  Авторитетный  источник открытых ключей Выполняются следующие действия: 1. Инициатор А посылает Авторитетный источник открытых ключей Выполняются следующие действия: 1. Инициатор А посылает сообщение с меткой даты/времени авторитетному источнику открытых ключей с запросом о текущем открытом ключе участника В. 2. Авторитетный источник отвечает сообщением, которое шифруется с использованием личного ключа авторитетного источника KR auth. Это сообщение инициатор А может дешифровать, используя открытый ключ авторитетного источника. Поэтому отправитель А может быть уверенным в том, что сообщение исходит от авторитетного источника. Это сообщение должно включать следующее: открытый ключ KU b участника В, который участник А может использовать для шифрования сообщений, предназначенных для получателя В ; оригинальный запрос , чтобы сторона А имела возможность сопоставить ответ с ранее отправленным запросом и убедиться, что запрос не был изменен на пути к авторитетному источнику ; Авторитетный источник открытых ключей А В(2) E KR auth [KU b || Запрос || Время 1 ] (4) Запрос || Время 2 (5 ) E KR auth [KU a || Запрос || Время 2] (3) E KU b [ID A || N 1 ] (6) E KU a [N 1 || N 2 ] (7) E KU b [N 2 ](1) Запрос || Время 1 • оригинальную метку даты/времени , чтобы отправитель А мог удостовериться, что это сообщение не является одним из старых сообщений от авторитетного источника, содержащим ключ, отличный от текущего открытого ключа адресата В.

  3.  Инициатор А сохраняет открытый ключ участника В и использует его 3. Инициатор А сохраняет открытый ключ участника В и использует его для шифрования сообщения, направляемого получателю В и содержащего идентификатор отправителя А ( ID А ) и оказию ( N 1 ) , которая выступает в качестве уникальной метки данного сообщения. 4, 5. Респондент В получает открытый ключ А от авторитетного источника точно таким же способом, каким отправитель А получил открытый ключ получателя В. К этому моменту открытые ключи оказываются доставленными участникам А и В вышеописанной защищенной процедурой, так что теперь они могут начать постепенный обмен данными. Но перед этим желательно выполнить два следующих дополнительных действия. 6. Респондент В посылает сообщение инициатору А , шифрованное с помощью KU a и содержащее оказию отправителя А ( N 1 ), а также новую оказию , сформированную участником В ( N 2 ). Ввиду того, что только он мог дешифровать сообщение (3), присутствие N 1 в сообщении (6) убеждает участника А в том, что отправителем полученного сообщения был В. 7. Инициатор А возвращает N 2 , шифрованное с помощью открытого ключа KU b участника В , чтобы тот мог убедиться в том, что отправителем ответа является А. Обе стороны могут сохранять открытые ключи друга для дальнейшего пользования, что обычно называется кэшированием. Каталог имен и открытых ключей , поддерживаемый авторитетным источником , остается уязвимым по отношению к вмешательству с неблагоприятными намерениями.

  Сертификаты открытых ключей Каждый сертификат 1. содержит открытый ключ и другую информацию, Сертификаты открытых ключей Каждый сертификат 1. содержит открытый ключ и другую информацию, 2. создается авторитетным источником сертификатов и 3. выдается участнику вместе с соответствующим личным ключом. Требования к данной схеме: • Любой участник должен иметь возможность прочитать сертификат, чтобы определить имя и открытый ключ владельца сертификата. • Любой участник должен иметь возможность проверить , что сертификат исходит из авторитетного источника сертификатов и не является подделкой. • Только авторитетный источник сертификатов должен иметь возможность создавать и изменять сертификаты. • Любой участник должен иметь возможность проверить срок действия сертификата. Схема использования сертификатов включает операции: 1. Каждый участник обращается к авторитетному источнику сертификатов, предоставляя открытый ключ и запрашивая для него сертификат. Запрос должен предполагать либо личное обращение , либо некоторую защищенную форму связи. 2. Для участника А авторитетный источник обеспечивает сертификат вида C A = E KRauth [ T , ID A , KU a ], где KR auth обозначает личный ключ, используемый авторитетным источником. Обмен сертификатами открытых ключей Авторитетны й источник сертификато в ВC A = E KRau th [ Время 1, ID A , KUa] KU b CB = E KRau th [ Время 2, IDB, KUb]KU a (1) CA (2) CBА

  3. Теперь участник А может переслать этот сертификат любому другому участнику, 3. Теперь участник А может переслать этот сертификат любому другому участнику, который прочитывает и проверяет сертификат: D KUauth [C A ] = D KUauth [E KRauth [T, ID A , KUa]] = (T, ID A , KUa). 4. Получатель использует открытый ключ авторитетного источника сертификатов KU auth , чтобы дешифровать сертификат. А) Ввиду того, что сертификат можно прочитать только с помощью открытого ключа авторитетного источника сертификатов , есть гарантия того, что сертификат пришел именно от авторитетного источника сертификатов. Б) Элементы ID A и KU a сообщают получателю имя и открытый ключ владельца сертификата. В) Наконец, метка даты/времени T определяет срок действия сертификата. Метка даты/времени должна быть защищена от следующей последовательности действий. 1. Противник узнает личный ключ А. По этой причине А генерирует вторую пару ключей ( личный и открытый ) и обращается к авторитетному источнику сертификатов за новым сертификатом. 2. Тем временем, противник воспроизводит сообщение со старым сертификатом и отсылает его В. Если В будет шифровать сообщения, используя старый скомпрометированный открытый ключ , противник сможет прочитать эти сообщения. Таким образом, метка даты/времени является чем-то вроде даты истечения срока действия. Если сертификат оказывается выданным достаточно давно, предполагается, что срок его действия истек.

 Распределение секретных ключей с помощью системы с открытым ключом 1. Простое распределение секретных Распределение секретных ключей с помощью системы с открытым ключом 1. Простое распределение секретных ключей В(1) KUa || ID A А (2) E KUa [Ks] Простое использование шифрования с открытым ключом при выборе сеансового ключа Для этого предполагается следующая процедура : 1. Сторона А генерирует пару открытый/личный ключи { KUa , KRa } и передает сообщение стороне В , содержащее KUa и идентификатор ID A отправителя А. 2. Получатель В генерирует секретный ключ Ks и передает этот ключ инициатору сообщения А зашифрованным с помощью открытого ключа KUa инициатора А. 3. Пользователь А вычисляет D KRa [ E KUa [ K s ]], чтобы восстановить секретный ключ. Поскольку только пользователь А может дешифровать это сообщение, только участники обмена данными А и В будут знать значение Ks. 4. Участник А выбрасывает ключ KRa , а участник В – выбрасывает ключ KUa.

  Этот протокол уязвим в отношении активных атак. Противник Е,  имея возможность Этот протокол уязвим в отношении активных атак. Противник Е, имея возможность внедрения в канал связи , может скомпрометировать связь следующим образом. 1. Участник А генерирует пару открытый/личный ключи { KUa , KRa } и передает сообщение стороне В , содержащее KUa и идентификатор ID A отправителя А. 2. Противник Е перехватывает сообщение, создает собственную пару открытый/личный ключи { KU е, KR е} и передает сообщение адресату В , содержащее KU е || ID A. 3. В генерирует секретный ключ Ks и передает E KU е [ Ks ]. 4. Противник Е перехватывает это сообщение и узнает Ks , вычисляя D KRe [ E KU е [ Ks ]]. 5. Противник Е передает участнику А сообщение E KUa [ Ks ].

  3 -х этапн ый прото кол  «руко пожат ия» 2. Распределение 3 -х этапн ый прото кол «руко пожат ия» 2. Распределение секретных ключей с обеспечением конфиденциальности и аутентификации А и В уже обменялись открытыми ключами по одной из схем, описанных выше. Распределение секретных ключей с помощью шифрования с открытым ключом. Далее выполняются следующие действия. Сторона А использует открытый ключ стороны В , чтобы переслать стороне В шифрованное сообщение, содержащее идентификатор участника А ( ID A ) и оказию ( N 1 ) , используемую для идентификации данной конкретной транзакции. 1. Пользователь В посылает сообщение пользователю А , зашифрованное с помощью KUa и содержащее полученную от него оказию ( N 1 ) и новую оказию ( N 2 ), сгенерированную пользователем В. Ввиду того, что только участник В мог дешифровать сообщение (1), присутствие N 1 в сообщении (2) убеждает участника А в том, что респондентом является сторона В. 2. Сторона А возвращает N 2 , шифруя сообщение открытым ключом стороны В , чтобы гарантировать то, что его респондентом является сторона А. 3. Участник А выбирает секретный ключ Ks и посылает участнику В сообщение M = E KUb [ E KRa [ Ks ]]. Шифрование этого сообщения открытым ключом стороны В гарантирует, что только участник В сможет прочитать его, а шифрование личным ключом участника А – что только участник А мог послать его. 4. Сторона В вычисляет D KUa [ E KRb [ M ]] , чтобы восстановить секретный ключ. Эта схема гарантирует как конфиденциальность , так и аутентификацию. В (3 ) E KUb [N 2 ]А (2) E KUa [N 1 || N 2 ] (4) E KUb [E KRa [Ks]](1) E KUb [N 1 || ID A ]

  3. Гибридная схема Эта схема предполагает: 1. участие центра  распределения ключей 3. Гибридная схема Эта схема предполагает: 1. участие центра распределения ключей ( ЦРК ), с которым каждый пользователь использует свой главный секретный ключ, 2. и распределение секретных сеансовых ключей , шифруемых главным ключом. Схема шифрования с открытым ключом служит для распределения главных ключей. В основе трехуровневого подхода лежат следующие соображения. Скорость выполнения процедуры. Распределение сеансовых ключей с помощью схемы с открытым ключом могло бы сделать производительность системы слишком низкой из-за относительно высоких требований к вычислительным ресурсам при шифровании и дешифровании по такой схеме. В случае трехуровневой иерархии шифрование с открытым ключом применяется лишь иногда , чтобы изменить главный ключ, разделяемый пользователем и ЦРК. Обратная совместимость. Гибридную схему можно легко реализовать в виде расширения уже имеющейся схемы, предполагающей использование ЦРК, с минимальными изменениями предусмотренной процедуры и программного обеспечения.

  4. Обмен ключами по схеме Диффи – Хеллмана Алгоритм ограничивается процедурой обмена 4. Обмен ключами по схеме Диффи – Хеллмана Алгоритм ограничивается процедурой обмена ключами. Дискретный логарифм можно определить следующим образом: 1. Сначала определяется первообразный корень простого числа p — если a является первообразным корнем простого числа p , то все числа a mod p , (a 2 ) mod p, …, (a p-1 ) mod p должны быть разными и представлять все целые числа от 1 до p -1 в некоторой перестановке. 2. Для любого целого числа b и любого первообразного корня a простого числа p однозначно определяется показатель степени i , при котором b = (a i ) mod p, где 0 ≤ i ≤ (p-1). Этот показатель степени обычно называется дискретным логарифмом , или индексом b по основанию a , рассматриваемым по модулю p. Это значение записывается в форме ind a , p ( b ).

  Алгоритм обмена ключами по схеме Диффи-Хеллмана. 1. В схеме имеются два открытых Алгоритм обмена ключами по схеме Диффи-Хеллмана. 1. В схеме имеются два открытых для всех числа: простое число q и целое число , являющееся первообразным корнем q. 2. Пользователь А выбирает целое число X A < q и вычисляет Y A = ( X A ) mod q. 3. Пользователь В независимо выбирает случайное целое число X B < q и вычисляет Y B = ( X B ) mod q. 4. Каждая сторона сохраняет значение X в тайне и делает значение Y свободно доступным другой стороне. 5. Пользователь А вычисляет ключ по формуле K = ( Y B X A ) mod q , 6. А пользователь В – по формуле K = ( Y A X B ) mod q. Эти две формулы вычисления дают одинаковые результаты , как показано ниже. K = (Y B X A ) mod q = = ((( X B ) mod q) X A ) mod q = = (( X B X A ) mod q = = (( X A ) X B ) mod q = = ((( X A ) mod q) X B ) mod q = = ( Y A X B ) mod q. Итак, обе стороны обменялись секретным ключом. Противнику придется работать только с q , , Y A и Y B и вычислять дискретный логарифм , чтобы определить ключ. Например, чтобы определить ключ пользователя В , противнику нужно вычислить X B = ind a , q ( Y B ). После этого он сможет вычислить ключ К точно так же, как это делает пользователь В.

  Пример. Обмен ключами строится на использовании простого числа q = 97 и Пример. Обмен ключами строится на использовании простого числа q = 97 и его первообразного корня = 5. 1. Пользователи А и В выбирают секретные ключи X A = 36 и X B = 58 соответственно. 2. Каждый вычисляет свой открытый ключ: Y A = 5 36 = 50 mod 97, Y B = 5 58 = 44 mod 97. 3. После того как пользователи обменялись открытыми ключами, каждый из них может вычислить общий секретный ключ: K = (Y B X A ) mod 97 = 44 36 = 75 mod 97, K = (Y A X B ) mod 97 = 50 58 = 75 mod 97. Имея {50, 44}, противнику не удастся с легкостью вычислить 75. Глобальные открытые элементы q — простое число — первообразный корень q , < q Вычисление ключа пользователем А Выбор секретного X A X A < q Вычисление Y A Y A = ( X A ) mod q Вычисление ключа пользователем В Выбор секретного X B X B < q Вычисление Y B Y B = ( X B ) mod q Вычисление секретного ключа пользователем А K = ( Y B X A ) mod q Вычисление секретного ключа пользователем B K = ( Y A X B ) mod q Алгоритм обмена ключами по схеме Диффи-Хеллмана

  Генерировать  случайное  X A   q  Вычислить Y Генерировать случайное X A < q Вычислить Y A = ( X A ) mod q Вычислить K = ( Y B X A ) mod q Генерировать случайное X B < q Вычислить Y B = ( X B ) mod q Вычислить K = ( Y A X B ) mod q. Y A Y B Обмен ключами по схеме Диффи-Хеллмана