Анимация
JavaScript


Главная  Библионтека 

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [ 15 ] 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35

ключ:

(1) Алиса объединяет метку времени, имя Боба и случайный сеансовый ключ, затем шифрует созданное с о-общение общим с Трентом ключом и посылает его Тренту вместе со своим именем.

A, Ea(Ta, в, К)

(2) Трент расшифровывает сообщение от Алисы. Затем он добавляет новую метку времени, имя Алисы и сл у-чайный сеансовый ключ, шифрует полученное сообщение общим с Бобом ключом. Трент посылает Бобу:

Eb(Tb, в, К)

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

Yahalom

В этом протоколе Алисы и Боб делят с Трентом секретный ключ [283,284].

(1) Алиса объединяет свое имя и случайное число, и отправляет созданное сообщение Бобу. а, Ra

(2) Боб объединяет имя Алисы, ее случайное число, свое случайное число, шифрует созданное сообщение о б-щим с Трентом ключом и посылает его Тренту, добавляя свое имя:

в, Eb(A, Ra, Rb)

(3) Трент создает два сообщения. Первое включает имя Боба, случайный сеансовый ключ, случайные числа Боба и Алисы и шифруется ключом, общим для Трента и Алисы. Второе состоит из имени Алисы, сл у-чайного сеансового ключа и шифруется ключом, общим для Трента и Боба. Трент посылает оба сообщ е-ния Алисе:

Ea(B, K, Ra, Rb), Eb(A, K)

(4) Алиса расшифровывает первое сообщение, извлекает K и убеждается, что Ra совпадает со значением, отправленным на этапе (1). Алиса посылает Бобу два сообщения. Одним является сообщение Трента, зашифрованное ключом Боба. Второе - это Rb, зашифрованное сеансовым ключом.

Eb(A, К), Ek(Rb),

(5) Боб расшифровывает первое сообщение, извлекает K и убеждается, что Rb совпадает с отправленным на этапе (2).

В результате Алиса и Боб убеждены, что они общаются именно друг с другом, а не с третьей стороной . Нововведение состоит в том, что именно Боб первым обращается к Тренту, который только посылает одно соо б-щение Алисе.

Needham-Schroeder

В этом протоколе, изобретенном Роджером Неедхэмом (Roger Needham) и Майклом Шредером (Michael Schroeder) [1159], также используются симметричная криптография и Трент.

(1) Алиса посылает Тренту сообщение, содержащее ее имя, имя Боба и случайное число. a, в, Ra

(2) Трент генерирует случайный сеансовый ключ. Он шифрует сообщение, содержащее случайный сеансовый ключ и имя Алисы, секретным ключом, общим для него и Боба. Затем он шифрует случайное число Ал и-сы, имя Боба, ключ, и шифрованное сообщение секретным ключом, общим для него и Алисы. Наконец, он отправляет шифрованное сообщение Алисе:

Ea(Ra, в, К, Eb(K, A))

(3) Алиса расшифровывает сообщение и извлекает K. Она убеждается, что Ra совпадает со значением, отправленным Тренту на этапе (1). Затем она посылает Бобу сообщение, зашифрованное Трентом ключом Боба.

Eb(K, A)

(4) Боб расшифровывает сообщение и извлекает K. Затем он генерирует другое случайное число, Rb. Он шифрует это число ключом K и отправляет его Алисе.

Ek(Rb)



(5) Алиса расшифровывает сообщение с помощью ключа К. Она создает число RB-1 и шифрует это число ключом К. Затем она посылает это сообщ ение обратно Бобу.

Ek(Rb-1)

(6) Боб расшифровывает сообщение с помощью ключа К и проверяет значение RB-1.

Вся эта возня с RA, RB, и RB-1 служит для предотвращения вскрытия с повторной передачей. При таком способе вскрытия Мэллори может записать старые сообщения и впоследствии использовать их при попытке взломать протокол. Присутствие RA на этапе (2) убеждает Алису, что сообщение Трента достоверно и не являе т-ся повторной передачей отклика, использованного при одном из предыдущих применений протокола . Когда Алиса успешно расшифрует RB и передает Бобу RB-1 на этапе (5), Боб убеждается, что сообщения Алисы не является повторной передачей сообщений, использованных при одном из предыдущих применений протокола .

Главной прорехой этого протокола является важность использованных сеансовых ключей . Если Мэллори получит доступ к старому К, он сможет предпринять успешное вскрытие [461]. Ему нужно только записать сообщения Алисы Бобу на этапе (3). Тогда, имея К, он может выдать себя за Алису:

(1) Мэллори посылает Бобу следующее сообщение: Eb(K, A)

(2) Боб извлекает К, генерирует RB и отправляет Алисе:

Ek(.Rb)

(3) Мэллори перехватывает сообщение, расшифровывает его с помощью ключа К и иосiлает Бобу:

Ek(.Rb-1)

(4) Боб убеждается, что сообщение "Алисы" состоит из RB-1.

Теперь Мэллори убедил Боб, что он и есть "Алиса". Более защищенный протокол, использующий метки времени, может противостоять этому вскрытию [461,456]. Метки времени добавляются к сообщению Трента на этапе (2) и шифруются ключом Боба: Eb(K, A, T). Метки времени требуют надежной и точной системы единого времени, что само по себе нетривиальная проблема.

Если ключ, общий для Трента и Алисы будет скомпрометирован, последствия будут драматичны . Мэллори сможет использовать его, для получения сеансовых ключей для обмена сообщениями с Бобом (или с кем-нибудь еще). Даже хуже, Мэллори продолжать подобные действия даже после замены ключа Алисы [90].

Неедхэм и Шредер пытались исправить эти проблемы в модифицированной версии своего протокола [1160]. Их новый протокол по существу совпадает с протоколом Отуэя- Риса (Otway-Rees), опубликованном в том же выпуске того же журнала.

Otway-Rees

Этот протокол также использует симметричную криптографию [1224].

(1) Алиса создает сообщение, состоящее из порядкового номера, ее имени, имени Боба и случайного числа. Сообщение шифруется ключом, общим для Алисы и Трента. Она посылает это сообщение Бобу вместе с порядковым номером, ее и его именами:

I, A, B, Ea(Ra, I, A, B)

(2) Боб создает сообщение, состоящее из нового случайного числа, порядкового номера, имени Алисы и им е-ни Боба. Сообщение шифруется ключом, общим для Алисы и Боба. Он посылает это сообщение Тренту вместе шифрованным сообщением Алисы, порядковым номером, ее и его именами:

I, A, B, EA(RA, I, A, B), EB(RB, I, A, B)

(3) Трент генерирует случайный сеансовый ключ. Затем он создает два сообщения. Одно, состоящее из сл у-чайного числа Алисы и сеансового ключа, шифруется ключом, общим для него и Алисы. Другое, состо я-щее из случайного числа Боба и сеансового ключа, шифруется ключом, общим для него и Боба. Он о т-правляет два этих сообщения вместе с порядковым номером Бобу:

I, Ea(Ra, K), Eb(Rb, K)

(4) Боб отправляет Алисе сообщение, шифрованное ее ключом, и порядковый номер: I, Ea(Ra, K)

(5) Алиса расшифровывает сообщение, получая свои ключ и случайное число. Алиса убеждается, что при в ы-полнении протокола они не изменились Боб отправляет Алисе сообщение, шифрованное ее ключом, и п о-



рядковый номер.

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

Kerberos

Kerberos - вариант протокола Needham-Schroeder - подробно обсуждается в разделе 24.5. В базовом протоколе Kerberos Version 5 у Алисы и Боба общие ключи с Трентом. Алиса хочет генерировать сеансовый ключ для сеанса связи с Бобом.

(1) Алиса посылает Тренту сообщение со своим именем и именем Боба:

a, в

(2) Трент создает сообщение, состоящее из метки времени, время жизни, l, случайного сеансового ключа и имени Алисы. Он шифрует сообщение ключом, общим для него и Боба. Затем он объединяет метку вр е-мени, время жизни, сеансовый ключ, имя Боба, и шифрует полученное сообщение ключом, общим для н его и Алисы. Оба шифрованных сообщения он отправляет Алисе.

Ea(T, L, К, В), Eb(T, L, К, A)

(3) Алиса создает сообщение, состоящее из ее имени и метки времени, шифрует его ключом k и отправляет Бобу. Алиса также посылает Бобу сообщение от Трента, шифрованное ключом Боба:

Ea(A, T), Eb(T, l, k, A)

(4) Боб создает сообщение, состоящее из метки времени плюс единица, шифрует его ключом k и отправляет Алисе:

Ek(T+1)

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

Neuman-Stubblebine

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

Этот протокол, впервые опубликованный в [820] и исправлен в [1162], пытается противостоять вскрытию с подавлением повторной передачи. Этот отличный протокол является улучшением Yahalom.

(1) Алиса объединяет свое имя и случайное число, и отправляет созданное сообщение Бобу. a, Ra

(2) Боб объединяет имя Алисы, ее случайное число и метку времени, шифрует созданное сообщение общим с Трентом ключом и посылает его Тренту, добавляя свое имя и новое случайное число:

в, Rb, Eb(A, Ra, Tb)

(3) Трент генерирует случайный сеансовый ключ. Затем он создает два сообщения. Первое включает имя Б оба, случайное число Алисы, случайный сеансовый ключ, метку времени и шифруется ключом, общим для Трента и Алисы. Второе состоит из имени Алисы, сеансового ключа, метки времени и шифруется ключом, общим для Трента и Боба. Трент посылает оба сообщения Алисе вместе со случайным числом Боба:

Ea(B, Ra, K, Tb), Eb(A, K, Tb), Rb

(4) Алиса расшифровывает сообщение, зашифрованное ее ключом, извлекает k и убеждается, что Ra совпадает со значением, отправленным на этапе (1). Алиса посылает Бобу два сообщения. Одним является с о-общение Трента, зашифрованное ключом Боба. Второе - это Rb, зашифрованное сеансовым ключом.

Eb(A, К), Ek(Rb),

(5) Боб расшифровывает сообщение, зашифрованное его ключом, извлекает k и убеждается, что значения тв и Rb те же, что и отправленные на этапе (2).

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



0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [ 15 ] 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35