рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Схемы идентификации

Схемы идентификации - раздел Компьютеры, Глава 21 ...

Глава 21

Схемы идентификации

FEIGE-FIAT-SHAMIR

9 июля 1986 года три автора подали заявку на получение патента США [1427]. Из-за возможного военного применения заявка была рассмотрена военными.… Это было нелепо. В течение второй половины 1986 года авторы представляли свою… Слухи об этом стали распространяться в научном сообществе и прессе . В течение двух дней секретное рас­поряжение было…

Схема идентификации Feige-Fiat-Shamir

В своих работах [544, 545], Фейге, Фиат и Шамир показали, как параллельная схема может повысить число аккредитаций на этап и уменьшить взаимодействия Пегги и Виктора .

Сначала, как и в предыдущем примере, генерируется п, произведение двух больших простых чисел. Для ге­нерации открытого и закрытого ключей Пегги сначала выбирается к различных чисел: vb v2, . . . vfo где каждое v, является квадратичным остатком mod п. Иными словами, v, выбираются так, чтобы х2 = v, (mod n) имело ре-шение, и существовало v,"1 mod п. Строка, vb v2, . . . vk, служит открытым ключом. Затем вычисляются наи-меньшие s„ для которых s, = sqrt (v,"1) (mod я). Строка ,ь s2, . . . sk, служит закрытым ключом.

Выполняется следующий протокол:

(1) Пегги выбирает случайное г, меньшее п. Затем она вычисляет х =-r2 mod n и посылает х Виктору.

(2) Виктор посылает Пегги строку из к случайных битов: Ьи Ь2, . . . Ък.

(3) Пегги вычисляет у — г *(slbl *s2bl*..*skbk )mod п. (Она перемножает вместе значения st, соответствующие Ъг. Если первым битом Виктора будет 1, то sl войдет в произведение, а если первым битом будет 0, то нет, и т.д.) Она посылает у Виктору.

(4) Виктор проверяет, что х = у2*( vbl * v2bl *.. *vkbk) mod n. (Он перемножает вместе значения v,, основываясь га случайной двоичной строке. Если его первым битом является 1, то vj войдет в произведение, а если первым битом будет 0, то нет, и т.д.)

Пегги и Виктор повторяют этот протокол t раз, пока Виктор не убедится, что Пегги знает su s2, . . . sk.

Вероятность, что Пегги удастся обмануть Виктор t раз, равна 1/2й. Авторы рекомендуют использовать веро­ятность мошенничества 1/220 и предлагают значения ^5и(М. Если у вас склонность к мании преследова-ния, увеличьте эти значения.

Пример

Взглянем на работу этого протокола небольших числах. Если п = 35 (два простых числа - 5 и 7), то возмож­ными квадратичными остатками являются:

1: х2 = 1 (mod 35) имеет решения: х = 1, 6, 29, 34.

4: х2 = 4 (mod 35) имеет решения: х = 2, 12, 23, 33.

9: х2 = 9 (mod 35) имеет решения: х = 3, 17, 18, 32.

И: х2 = И (mod 35) имеет решения: х = 9, 16, 19, 26.

14: х2 = 14 (mod 35) имеет решения: х = 7, 28.

15: х2 - 15 (mod 35) имеет решения: х = 15, 20.

16: х2 - 16 (mod 35) имеет решения: х = 4, И, 24, 31.

21: х2 ^ 21 (mod 35) имеет решения: х = 14, 21.

25: х2 = 25 (mod 35) имеет решения: х = 5, 30.

29: х2 - 29 (mod 35) имеет решения: х = 8, 13, 22, 27.

30: х2 = 30 (mod 35) имеет решения: х = 10, 25.

Обратными значениями (mod 35) и их квадратными корнями являются:

v v"1 5=sqrt(v"1)

И 16 4


16 И 9

29 29 8

Обратите внимание, что у чисел 14, 15, 21, 25 и 30 нет обратных значений mod 35, так как они не взаимно просты с 35. Это имеет смысл, так как должно быть (5 - 1) * (7 - 1)/4 квадратичных остатков mod 35, взаимно простых с 35: НОД(х, 35) = 1 (см. раздел 11.3).

Итак, Пегги получает открытый ключ, состоящий из к = 4 значений: {4,11,16,29}. Соответствующим закры­тым ключом является {3,4,9,8}. Вот один этап протокола.

(1) Пегги выбирает случайное г=6, вычисляет 162 mod 35 = И и посылает его Виктору.

(2) Виктор посылает Пегги строку случайных битов: {1, 1, 0, 1}

(3) Пегги вычисляет 16*(31*41*9°*81) mod 35 = 31 и посылает его Виктору.

(4) Виктор проверяет, что 312*(41*111*16°*291) mod 35 =11.

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

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

Улучшения

Теперь, после того, как Виктор успешно завершит протокол с Пегги, он будет убежден, что Трент, которому известно разложение модуля на множители,… Для неидеальных хэш-функций можно посоветовать рандомизировать /, добавляя к… В типичных реализациях к должно быть от 1 до 18. Большие значения к могут уменьшить время и трудности связи, уменьшая…

Схема подписи Fiat-Shamir

Превращение этой схемы идентификации в схему подписи - это, по сути, вопрос превращения Виктора в хэш-функциию. Главным преимуществом схемы цифровой подписи Fiat-Shamir по сравнению с RSA является ее скорость: для Fiat-Shamir нужно всего лишь от 1 до 4 процентов модульных умножений, используемых в RSA. В этом протоколе снова вернемся к Алисе и Бобу.

Смысл переменных - такой же, как и в схеме идентификации. Выбирается п - произведение двух больших простых чисел. Генерируется открытый ключ, vb v2, . . . vfo и закрытый ключ, su s2, . . . sk, где s, = sqrt (v,--1) (mod и).

(1) Алиса выбирает t случайных целых чисел в диапазоне от 1 до п - гь г2, . . ., г, - и вычисляет хи х2, . . . х„ такие что jc,-= r,2 mod п.

(2) Алиса хэширует объединение сообщения и строки х„ создавая битовый поток: Щт, хи х2, . . . xt). Она ис­пользует первые k*t битов этой строки в качестве значений Ьу, где i пробегает от1 до t, aj от 1 до к.

(3) Алиса вычисляет уъу2, . . .у„, где>-, = г, *(^" * s2ba *... *skb*) mod n

(Для каждого i она перемножает вместе значения s„ в зависимости от случайных значений by. Если Ъ,Г, то St участвует в вычислениях, если Ьу=0, то нет.)

(4) Алиса посылает Бобу т, все биты Ъф и все значения у,. У Боба уже есть открытый ключ Алисы: vb v2, . . .

Vk-


(5) Боб вычисляет zbz2, . . . z„ где z, = у2*( v,6" * v2"'2 *.. *vkb'k) mod n

(И снова Боб выполняет умножение в зависимости от значений by.) Также обратите внимание, что z, должно быть равно х,.

(6) Боб проверяет, что первые k*t битов Щт, zb z2, . . . zt) - это значения by, которые прислала ему Алиса.

Как и в схеме идентификации безопасность схемы подписи пропорциональна 1/2й Она также зависит от сложности разложения п на множители. Фиат и Шамир показали, что подделка подписи облегчается, если сложность разложения п на множители заметно меньше 2й Кроме того, из-за вскрытия методом дня рождения (см. раздел 18.1), они рекомендуют повысить кЧ от 20 по крайней мере до 72, предлагая к = 9 и t = 8.

Улучшенная схема подписи Fiat-Shamir

Сильвия Микали (Silvia Micali) и Ади Шамир улучшили протокол Fiat-Shamir [1088]. Они выбирали vb v2, . . . vk так, чтобы они были первыми к простыми числами. То есть

vj= 1, v2= 3, v3= 5, ит.д.

Это открытый ключ. Закрытым ключом, s-i, s2, . . . % служат случайные квадратные корни, определяемые как

s, = sqrt (у,"1) (mod n)

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

Другие улучшения

На основе алгоритма Fiat-Shamir существует и iV-сторонняя схема идентификации [264]. Два других улуч­шения схемы Fiat-Shamir в [1218]. Еще один вариант - в [1368].

Схема идентификации Ohta-Okamoto

Этот протокол является вариантом схемы идентификации Feige-Fiat-Shamir, его безопасность основана на трудности разложения на множители [1198, 1199]. Эти же авторы разработали схему с несколькими подписями (см. раздел 23.1), с помощью которой различные люди могут последовательно подписывать [1200]. Эта схема была предложена для реализации на интеллектуальных карточках [850].

Патенты

Fiat-Shamir запатентован [1427]. При желании получить лицензию на алгоритм свяжитесь с Yeda Research and Development, The Weizmann Institute of Science, Rehovot 76100, Israel.

GUILLOU-QUISQUATER

Луи Гиллу (Louis Guillou) и Жан-Жак Кискатр (Jean-Jacques Quisquater) разработали алгоритм идентифика­ции с нулевым знанием, который больше подходит…

Схема идентификации Guillou-Quisquater

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


ключом служит В, рассчитываемое так, чтобы Ж = 1 (mod n).

Пегги посылает Виктору свои атрибуты J. Теперь она хочет доказать Виктору, что это именно ее атрибуты. Для этого она должна убедить Виктора, что ей известно В. Вот этот протокол:

(1) Пегги выбирает случайное целое г, находящееся в диапазоне от 1 до и-1. Она вычисляет Т= rv mod n и от­правляет его Виктору.

(2) Виктор выбирает случайное целое d, находящееся в диапазоне от 0 до v-1. Он посылает d Пегги.

(3) Пегги вычисляет D = rBd mod n и посылает его Виктору.

(4) Виктор вычисляет Т = Dvj mod п. Если Т=Т (mod я), то подлинность Пегги доказана.
Математика не слишком сложна:

Г = Dvf = (rBdYf = rvBdvf = rBvJ)d = rv = r<=T (mod n), так как Ж = 1 (modn)

Схема подписи Guillou-Quisquater

Эту схему идентификации можно превратить в схему подписи, также пригодную для реализации в интелле к-туальных карточках [671, 672]. Открытый и закрытый ключи не меняются. Вот как выглядит протокол:

(1) Алиса выбирает случайное целое г, находящееся в диапазоне от 1 до и-1. Она вычисляет Т= rv mod п.

(2) Алиса вычисляет d = ЩМ,Т), где М - подписываемое сообщение, а Щх) - однонаправленная хэш-функция. Значение d, полученное с помощью хэш-функции, должно быть в диапазоне от 0 до v-1 [1280]. Если выход хэш-функции выходит за этот диапазон, он должен быть приведен по модулю v.

(3) Алиса вычисляет D = rBd mod п. Подпись состоит из сообщения М, двух вычисленных значений, d and D, и ее атрибутов J. Она посылает подпись Бобу.

(4) Боб вычисляет Т = Dvj mod п. Затем он вычисляет d' = Н(М,ТГ). Если d = d', то Алиса знает В, и ее под­пись действительна.

Несколько подписей

(1) Алиса выбирает случайное целое гА, находящееся в диапазоне от 1 до и-1. Она вычисляет ТА = г/ mod n и посылает ТА Бобу. (2) Боб выбирает случайное целое гв, находящееся в диапазоне от 1 до и-1. Он… (3) Алиса и Боб, каждый вычисляет Т= (ТА*ТВ) mod п.

Протокол проверки подлинности

(2) Пегги посылает х Виктору. (3) Виктор посылает Пегги случайное число е, из диапазона от 0 до 2'"1.… (4) Пегги вычисляет y = (r + se) mod q и посылает у to Виктору.

Протокол цифровой подписи

(1) Алиса выбирает случайное число г, меньшее q, и вычисляет х — a mod р. Это стадия предварительных вычислений. (2) Алиса объединяет Ми х и хэширует результат: е =ЩМ,х) (3) Алиса вычисляет у — (г + se) mod q. Подписью являются значения е и у, она посылает их Бобу.

Патенты

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

Глава 22 Алгоритмы обмена ключами

DIFFIE-HELLMAN

Математика несложна. Сначала Алиса и Боб вместе выбирают большие простые числа п и g так, чтобы g было примитивом mod п. Эти два целых числа хранить… (1) Алиса выбирает случайное большое целое число х и посылает Бобу X = gx… (2) Боб выбирает случайное большое целое число у и посылает Алисе F=/mod и

Расширенный Diffie-Hellman

Этот алгоритм также работает в поле Галуа GF(2*) [1442, 1038]. В ряде реализаций используется именно этот подход [884, 1631, 1632], так как…

Hughes

Этот вариант алгоритма Diffie-Hellman позволяет Алисе генерировать ключ и послать его Бобу [745].

(1) Алиса выбирает случайное большое целое число х и генерирует к = gx mod n

(2) Боб выбирает случайное большое целое число у и посылает Алисе F=/mod и

(3) Алиса посылает Бобу Х=Гтойп

(4) Боб вычисляет

к' = Хто&п

Если все выполнено правильно, к = к'.

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

Обмен ключом без обмена ключом

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

Патенты

22.2 Протокол "точка-точка" Обмен ключами Diffie-Hellman чувствителен к вскрытию "человек в… Этот протокол предполагает, что у Алисы есть сертифицированный открытый ключ Боба, а у Боба есть се р-тифицированный…

Базовый протокол ЕКЕ

(1) Алиса Случайным образом генерирует пару "открытый ключ/закрытый ключ" . Она шифрует открытый ключ К' с помощью симметричного… А, ЕР(К') (2) Боб знает Р. Он расшифровывает сообщение, получая К'. Затем он генерирует случайный сеансовый ключ К шифрует его…

Реализация ЕКЕ с помощью RSA

Алгоритм RSA кажется идеальным для такого использования, но есть ряд тонких проблем . Авторы рекомен­дуют шифровать на этапе (1) только показатель степени, посылая модуль . Объяснение этого совета и другие тонкости, связанные с использованием RSA, можно найти [109].

Реализация ЕКЕ с помощью ElGamal

Алиса, gr mod p Обратите внимание, что этот открытый ключ не нужно шифровать с помощью Р. В… Боб выбирает случайное число R (для алгоритма ElGamal, независимо от других случайных чисел, выбирае­мых для ЕКЕ), и…

Реализация ЕКЕ с помощью Diffte-Hellman

(1) Алиса выбирает случайное число гА и посылает Бобу A, gr- mod n При использовании Diffie-Hellman Алисе не нужно шифровать с помощью Р свое… (2) Боб выбирает случайное число гв и вычисляет K=gr*'r* mod n

Усиление ЕКЕ

На базовый протокол ЕКЕ. На этапе (3) Алиса генерирует другое случайное число SA и посылает Бобу Ek(Ra, Sa) На этапе (4), Боб генерирует другое случайное число SB и посылает Алисе

Расширенный ЕКЕ

Вот как это работает. Как и обычно, Алиса и Боб хотят проверить подлинность друг друга и генерировать общий ключ. Они выбирают какую-нибудь схему… (1) Алиса выбирает случайный показатель степени Ra и отправляет EP{gr° mod… (2) Боб, который знает только Р' и не может получить из него Р, выбирает Rt и посылает Epigr" mod и)

Применения ЕКЕ

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

Распределение ключей для конференции

(1) Пользователь i, где i от 1 до п, выбирает случайное число г,, меньшее q, и широковещательно отправляет z, = gr< то&р (2) Каждый пользователь проверяет, что z? = 1 (mod p) для всех i от 1 до п. … (3) г'-ый пользователь широковещательно передает xi = (zMlzlAy- тойр

Tateboyashi-Matsuzaki-Newman

п. Тренту известны два простых множителя и, и, следовательно, он может легко вычислять квадратные корни по модулю п. Следующий протокол не содержит… (1) Алиса выбирает случайное число гА и посылает Тренту г/mod я (2) Трент сообщает Бобу, что кто-то хочет обменяться с ним ключом.

Глава 23

Специальные алгоритмы для протоколов

23.1 Криптография с несколькими открытыми ключами

Это обобщение RSA (см. раздел 19.3) [217, 212]. Модуль п является произведением двух простых чисел р и q. Однако вместо е и d, для которых ed = 1 mod ((p-l)(q-l)), выбирается t ключей К„ для которых выполняется

Кх* К2*. . . *Kt= mod ((p-l)(q-l))

Так как

MKl*K**-*K- = М

то эта схема оказывается схемой с несколькими ключами, описанная в разделе 3.5.

Если, например, используется пять ключей, то сообщение, зашифрованное ключами К3 и К5, может быть расшифровано с помощью Ки К2 и К4.

С= MK'"Ki mod и

М= CKl"K2"K« mod и

Одним из применений этой схемы является подписание документа несколькими людьми . Представим ситуа­цию, когда для того, чтобы документ был действителен, он должен быть подписан и Алисой, и Бобом . Исполь­зуются три ключа: Къ К2 и Къ. Алиса и Боб получают по одному ключу из первых двух, а третий опубликовыва­ется.

(1) Сначала Алиса подписывает М и посылает его Бобу. М' = MKl mod и

(2) Боб может восстановить М по М'. М = М'*3**5 mod n

(3) Он может также добавить свою подпись. М" = M,Kl mod n

(4) Проверить подписи можно при помощи открытого ключа К3. М= M"Kl mod и

Обратите внимание, что для работоспособности этой системы нужна заслуживающая доверия сторона, кот о-рая установила бы систему и выдала ключи Алисе и Бобу. Та же проблема существует и в схеме [484]. Более тонкая схема описана в [695, 830, 700], Но усилия, предпринимаемые для проверки, пропорциональны колич е-ству подписывающих. Новые схемы [220, 1200], основанные на схемах идентификации с нулевым знанием, преодолевают эти недостатки предшествующих систем.

23.2 Алгоритмы разделения секрета

В разделе 3.7 я рассматривал идею, используемую в схемах разделения секрета. Четыре приведенных ниже различных алгоритма представляют собой частные случаи общего теоретического подхода [883].

Схема интерполяционных многочленов Лагранжа

Для создания пороговой схема Ади Шамир воспользовался уравнениями для многочленов в конечном поле [1414]. Выберем простое число р, которое больше количества возможных теней и больше самого большого из возможных секретов. Чтобы сделать секрет общим, сгенерируем произвольный многочлен степени от-1. Напри­мер, если нужно создать пороговую схему (3,й) (для восстановления М потребуется три тени), генерируется квадратичный многочлен

(ах2 + Ьх + Щтойр

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


Другими словами, первой тенью может быть значение многочлена при х=, второй тенью - значение мно­гочлена при х = 2, и т.д.

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

Например, пусть Мравно И. Чтобы создать пороговую схему (3, 5), в которой любые трое из пяти человек могут восстановить М, сначала получим квадратичное уравнение (7 и 8 - случайно выбранные числа chosen ran­domly):

F(x) = (7x 2 + 5x +ll) modl3

Пятью тенями являются:

кх = F(l) = 7 + 8 + 11=0 (mod 13)

к2 = F(2) = 28 + 16 + 11= 3 (mod 13)

k3 = F(3) = 63 + 24 + 11=7 (mod 13)

k4 = F(4) = 112 + 32 + 11= 12 (mod 13)

k5 = F(5) = 175 + 40 + 11= 5 (mod 13)

Чтобы восстановить М по трем теням, например, к2, к3 и к5, решается система линейных уравнений:

fl*22 + ft*2 + M = 3 (modl3)

fl*32 + ft*3 + M = 7 (modl3)

fl*52 + ft*5 + M = 5 (modl3)

Решением будут а = 1, 6 = 8 и М = 11. Итак, М получено.

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

F(x) = ах5 + bx4 + ex3 + dx2 + ex + M (mod/;)

Шесть человек могут шесть неизвестных (включая М), но пятерым не удастся узнать ничего об М.

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

Векторная схема

Джордж Блэкли (George Blakley) изобрел схему, использующую понятие точек в пространстве [182]. Сооб­щение определяется как точка в от-мерном пространстве. Каждая тень - это уравнение (от-1)-мерной гиперпло­скости, содержащей эту точку.

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

Asmuth-Bloom

1. Значения d, упорядочены по возрастанию, d, < dl+l 2. Каждое d, взаимно просто с любым другим d, 3. dx*d2* . . *dm > p*d„.m+2*d„.m+3*. . *d„

Karnin-Greene-Hellman

М- это матричное произведение U-V0. Тенями являются произведения U-V,, где i меняется от 1 до п. Любые от теней можно использовать для решения системы линейных уравнений…

Более сложные пороговые схемы

Чтобы создать схему, в которой один из участников важнее других, ему выдается больше теней . Если для восстановления секрета нужно пять теней, и у… По несколько теней могут получить два человека и более. Каждому человеку может… Для других схем представим сценарий с двумя враждебными делегациями . Можно распределить секрет так, чтобы для его…

Разделение секрета с мошенниками

Этот алгоритм изменяет стандартную пороговую схему (от, и) для обнаружения мошенников [1529]. Я пока­жу его использование на базе схемы Лагранжа, но алгоритм работает и с другими схемами. Выбирается простое числом, большее п и большее

(s - 1)(от - )1е + от

где s - это самый большой возможный секрет, а е - вероятность успеха мошенничества. е можно сделать на­столько малым, насколько это необходимо, это просто усложнит вычисления . Постройте тени как раньше, но вместо использования 1, 2, 3, . . . , п для х„ выберите случайным образом числа из диапазона от 1 до/?-1.

Теперь, если Мэллори при восстановлении секрета заменит свою часть подделкой , его тень с высокой веро­ятностью окажется невозможной. Невозможный секрет, конечно же, окажется подделанным секретом . Матема­тика этой схемы приведена в [1529].

К сожалению, хотя мошенничество Мэллори и будет открыто, ему удастся узнать секрет (при условии, что все остальные нужные тени правильны). От этого защищает другой протокол, описанный в [1529, 975]. Основ-


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

В этой схеме мошенники легко выявляются еще до получения конечного секрета . Существует определенные сложности, если участники предъявляют свои тени по очереди, подробности можно найти в литературе . В сле­дующих работах также рассматриваются обнаружение и предотвращение мошенничества в пороговых схемах [355, 114, 270].

23.3 Подсознательный канал

Ong-Schnorr-Shamir

h = -k2 mod n Если Алисе нужно отправить подсознательное сообщение М в безобидном сообщении… Sx = 1/2*((М'/М + Щ mod n

ElGamal

Другой предложенный Симмонсом подсознательный канал [1459], описанный в [1407, 1473], основан на схеме подписи ElGamal см. раздел 19.6).

Генерация ключа выполняется также, как и в основной схеме подписи ElGamal. Сначала выбирается простое число р и два случайных числа, g и г, меньшие р. Затем вычисляется

K = gr mod p

Открытым ключом служат К, g и р. Закрытым ключом является г. Помимо Алисы г известно и Бобу, это число используется не только для подписи безобидного сообщения, но и в качестве ключа для отправки и чт е-ния подсознательного сообщения.

Чтобы послать подсознательное сообщение М в безобидном сообщении, М', М и р должны быть попарно взаимно простыми, кроме того, взаимно простыми должны быть Мир-l. Алиса вычисляет

X = gM mod p

и решает следующее уравнение для Г (с помощью расширенного алгоритма Эвклида):

М' = rX+ MYmod (р-1)

Как и в базовой схеме ElGamal, подписью является пара чисел: XhY. Уолтер может проверить подпись El­Gamal. Он убеждается, что

KxXY = gM' (mod р)


Боб может восстановить подсознательное сообщение. Сначала он убеждается, что

(gyXr = gM' (mod p)

Если это так, он считает сообщение подлинным (не подделанным Уолтером). Затем для восстановления М он вычисляет

М = (Г1 (M' - rX)) mod (р- 1)

Например, пусть/; = И, a g = 2. Закрытый ключ г выбирается равным 8. Это означает, что открытым клю­чом, который Уолтер может использовать для проверки подписи, будет gr mod p = 28 mod 11 = 3.

Чтобы отправить подсознательное сообщение М = 9, используя безобидное сообщение М' = 5, Алиса прове­ряет, что 9 и 11, а также 5 и 11 попарно взаимно просты. Она также убеждается, что взаимно просты 9 и 11-1=10. Это так, поэтому она вычисляет

X = gM' (mod/;) = 29 modll= 6

Затем она решает следующее уравнение для Y:

5 = 8 6 + 9 Fmod 10

Y= 3, поэтому подписью служит пара чисел 6 и 3 (Хи Y). Боб убеждается, что

(gyXr = gM' (mod p)

(28)663=25 (modll)

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

М= (Г1 (М' - rX)) mod - 1)= 3"!(5 - 8*6) mod 10 = 7(7) mod 10 = 49 mod 10 = 9

ESIGN

Подсознательный канал можно добавить и к ESIGN [1460] (см. раздел 20.6). В ESIGN секретный ключ явля­ется парой больших простых чисел р и д, а открытым ключом служит п = p2q. Использовании подсознательного канала закрытым ключом являются три простых числа p, qur,a открытым ключом - я, такое что

п = p2qr

Переменная г - это дополнительные данные, нужные Бобу для прочтения подсознательного сообщения .

Чтобы подписать обычное сообщение, Алиса сначала выбирает случайное число х, меньшее pqr, и вычисляет:

w, наименьшее целое, которое больше или равно (Н(т) - хк mod n)lpq

s-x + dw/kx"-1 mod p) pq

H(m) - это хэш-значение сообщения, а к - параметр безопасности. Подписью является значение s.

Для проверки подписи Боб вычисляет / mod п. Кроме этого, он вычисляет а, наименьшее целое, которое больше или равно удвоенному числу битов п, деленному на 3. Если Я(от) меньше или равна / mod n, и если / mod n меньше Щт)+2а, то подпись считается правильной.

Для отправки подсознательного сообщения М с помощью безобидного сообщения М' Алиса вычисляет s, ис­пользуя М вместо of Дот). Это означает, что сообщение должно быть меньше, чем p2qr. Затем она выбирает случайное число и и вычисляет

х' = М' +иг

Затем это значение х' используется в качестве "случайного числа" х при подписи М'. Соответствующее зна­чение s посылается в качестве подписи.

Уолтер может проверить, что s (второе s) является правильной подписью М' Точно также проверить подлин­ность сообщения может и Боб. Но, так как ему известно и г, он может вычислить

s = x' + ypqr = M + ur + ypqr = M (mod r)

Эта реализация подсознательного канала намного лучше двух предыдущих . В вариантах Ong-Schnorr-Shamir и ElGamal у Боба должен быть закрытый ключ Алисы. Боб сможет не только читать подсознательные сообщения Алисы, но и выдавать себя за Алису, подписывая обычные документы . Алиса ничего с этим не смо­жет поделать, устанавливая такой подсознательный канал, ей придется довериться Бобу .

Схема ESICN страдает от этой проблемы. Закрытым ключом Алисы служит набор трех простых чисел: р, q


и г. Секретным ключом Боба является только г. Он знает п = р2дг, но, чтобы раскрыть р и д, ему понадобится разложить на множители это число. Если простые числа достаточно велики, Бобу будет так же трудно выдать себя за Алису, как и Уолтеру или кому-нибудь еще.

DSA

Подсознательный канал существует и в DSA (см. раздел 20.1) [1468, 1469, 1473]. На самом деле их даже может быть несколько. Простейший подсознательный канал включает выбор к. Предполагается, что это будет 160-битовое число. Однако, если Алиса выбирает конкретное к, то Боб, зная закрытый ключ Алисы, сможет раскрыть это к. Алиса посылать Бобу 160-битовое подсознательное сообщение в каждой подписи DSA, а все остальные будут только проверять подпись Алисы. Дополнительное усложнение: Так как к должно быть слу­чайным, Алиса и Боб должны использовать общий одноразовый блокнот и шифровать подсознательное соо б-щение с помощью этого блокнота, генерируя к.

В DSA есть подсознательные каналы, не требующие передавать Бобу закрытый ключ Алисы . Они также подразумевают выбор конкретных значений к, но не могут передавать по 160 битов информации. Следующая схема, представленная в [1468, 1469], позволяет Алисе и Бобу обмениваться в каждой подписи одним битом подсознательной информации.

(1) Алиса и Боб выбирают случайное простое число Р (отличающееся от параметра р в схеме подписи). Это секретный ключ для подсознательного канала.

(2) Алиса подписывает безобидное сообщение М. Если она хочет отправить Бобу подсознательный бит 1, она убеждается, что параметр г подписи является квадратичным остатком по модулю Р. Если она хочет отпра­вить ему 0, она проверяет, что параметр г подписи не является квадратичным остатком по модулю Р. Она добивается этого, подписывая сообщение с помощью случайных значений к, пока она не получит подпись с нужным ей свойством для г. Так как числа, являющиеся квадратичными остатками и не являющиеся ими, равновероятны, то это не должно быть слишком сложно.

(3) Алиса посылает Бобу подписанное сообщение.

(4) Боб проверяет подпись, убеждаясь в подлинности сообщения. Затем он проверяет, является ли г квадра­тичным остатком по модулю Р и восстанавливает подсознательный бит.

Передача таким образом нескольких битов подразумевает подбор такого г, которое является или не является квадратичным остатком по нескольким модулям. Подробности приведены в [1468, 1469].

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

Вот как Мэллори, нечестный реализатор DSA, может создать алгоритм, извлекающий по 10 битов закрытого ключа Алисы из каждой ее подписи.

(1) Мэллори строит свою реализацию DSA базе устойчивой к взлому СБИС, чтобы никто не смог проверить, как она работает. Он создает 14 подсознательных каналов в своей реализации DSA. То есть, он выбирает 14 случайных простых чисел и использует микросхему, которая выбирает значение к так, чтобы г являлось или не являлось квадратичным остатком по модулю каждого из этих 14 простых чисел , в зависимости от подсознательного сообщения.

(2) Мэллори выдает микросхемы Алисе, Бобу и остальным желающим.

(3) Алиса обычным образом подписывает сообщение, используя свой закрытый 160-битовый ключ х.

(4) Микросхема случайным образом выбирает 10-битовый блок х: первые 10 битов, вторые 10 битов, и т.д. Так как существует 16 возможных 10-битовых блоков, то номер блока выражается 4-битовым числом. Этот 4-битовый идентификатор и 10 битов ключа и будут 14-битовым подсознательным сообщением .

(5) Микросхема перебирает случайные значения к, пока не удастся найти то, которое обладает правильными квадратичными остатками, нужными для передачи подсознательного . Вероятность случайного к обладать правильной формой равна 1/16384. Если микросхема может проверить 10000 значений к в секунду, нуж­ное значение будет найдено меньше, чем за пару секунд. Эти вычисления не зависят от сообщения и могут быть вычислены заранее, до того, как Алиса захочет подписать сообщение.

(6) Микросхема обычным образом подписывает сообщение, используя выбранное на этапе (5) значение к.

(7) Алиса посылает цифровую подпись Бобу, или опубликовывает ее в сети, или еще что-нибудь делает.

(8) Мэллори раскрывает г и, так как он знает 14 простых чисел, расшифровывает подсознательное


сообщение.

Страшнее всего, что, даже если Алиса знает, что происходит, она ничего не сможет доказать. Пока 14 про­стых чисел хранятся в секрете, Мэллори в безопасности.

Уничтожение подсознательного канала eDSA

Вот этот протокол [1470, 1472, 1473] (1) Алиса выбирает к' и посылает Бобу (2) Боб выбирает к" и посылает его Алисе.

Другие схемы

23.4 Неотрицаемые цифровые подписи Автором этого алгоритма неотрицаемой подписи (см. раздел 4.3) является Дэвид… Чтобы подписать сообщение, Алиса вычисляет z = mx mod/;. Это все, что ей нужно сделать. Проверка под­писи немного…

Бросание "честной"монеты с помощью целых чисел Блюма

(1) Алиса генерирует целое число Блюма п, случайное х, взаимно простое с п, х0 = х2 mod пмх= х02 mod п. Она посылает Бобу и и хь (2) Боб угадывает, четным или нечетным является х0. (3) Алиса посылает х Бобу.

Честная схема Diffie-Hellman

Честные криптосистемы представляют собой программный способ условного вручения документов (см. раз­дел 4.14). Этот пример взят из работ Сильвии Микали (Silvia Micali) [1084, 1085]. Он запатентован [1086, 1087].

В базовой схеме Diffie-Hellman группа пользователей использует общее простое число р и генератор g. За­крытым ключом Алисы является s, а ее открытым ключом t = gs mod/;. Вот как сделать схему Diffie-Hellman честной (в этом примере используется пять доверенных лиц).

(1) Алиса выбирает пять целых чисел, su s2, s3, s4, s5, меньшихp-l. Закрытым ключом Алисы является
s = (Sl+ s2+ s3+ s4+ s5) mod p-l

а ее открытым ключом

T = g mod p

Алиса также вычисляет

T,=gs- mod p,для i = 1, . . . 5.

Открытыми частями Алисы являются t„ а закрытыми - s,.

(2) Алиса посылает закрытую и соответствующую открытую части каждому доверенному лицу . Например, она посылает ^ и t2 доверенному лицу 1. Она посылает t в KDC.

(3) Каждое доверенное лицо проверяет, что U = gs- mod p

Если это так, доверенное лицо подписывает t, и посылает его в KDC. Доверенное лицо сохраняет s, в безо­пасном месте.

(4) Получив все пять открытых частей, KDC проверяет, что


t=(ti* t2*h*U* ts) mod p

Если это так, KDC признает открытый ключ.

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

Работы Микали [1084, 1085] также содержат последовательность действия для создания честного RSA и для объединения пороговой схемы с честной криптосистемой, позволяющей т доверенным лицам из п восстановить закрытый ключ.

Отказоустойчивая схема Diffie-Hellman

Как и в предыдущем протоколе у группы пользователей есть общие простое число р и генератор g. Закры­тым ключом Алисы является s, а ее открытым ключом t = gs mod/;.

(1) KDC выбирает случайное число В из диапазона от 0 до р-2 и вручает В с помощью протокола вручения
битов (см. раздел 4.9).

Алиса выбирает случайное число А из диапазона от 0 jxop-2. Она посылает KDC gA mod/;.

(2) Пользователь "разделяет" А с каждым доверенным лицом, используя схему подтверждаемого совместного использования секрета (см. раздел 3.7).

(3) KDC раскрывает В Алисе.

(4) Алиса проверяет вручение этапа (1). Затем она устанавливает свой открытый ключ равным t = gA gB mod p

а закрытый ключ равным

s = (A + B) mod (p-l)

Доверенные лица могут восстановить А. Так как KDC знает В, этого достаточно для восстановления s. И Алиса не сможет использовать никаких подсознательных каналов для передачи несанкционированной инфор­мации. Этот протокол, рассмотренный в [946, 833] в настоящее время патентуется.

ZERO-KNOWLEDGE PROOFS OF KNOWLEDGE

Доказательство с нулевым знанием для дискретного логарифма

тпер - простое число, а х - произвольное число, взаимно простое с р-. Числа А, В ир общедоступны, а х хранится в секрете. Вот как Пегги, не… (1) Пегги генерирует t случайных чисел, г, г2, . . . г,, причем все г, меньше… (2) Пегги вычисляет А,- = Ar- mod p для всех значений i и посылает их Виктору.

Доказательство с нулевым знанием для возможности вскрыть RSA

(1) Алиса и Боб выбирают случайное А: и от, для которых km = e (mod n) Числа они должны выбирать случайным образом, используя для генерации к протокол бросания монеты, а затем вычисляя от.…

Доказательство с нулевым знанием того, что п является числом Блюма

Предположим, что Алисе известно разложение на множители числа Блюма и, где п обладает рассмотренной выше формой. Вот как она может доказать Бобу,… (1) Алиса посылает Бобу число и, чей символ Якоби равен -1 по модулю п. (2) Алиса и Боб совместно выбирают случайные биты: Ьи Ъ2, . . . Ък.

S {mh?y s „л (mod й); поэтому <*/ifc = „/м s „/ (mod и).

Чаум придумал целое семейство более сложных алгоритмов слепой подписи [320, 324], называемых неожи­данными слепыми подписями. Схемы этих подписей сложнее, но они дают больше возможностей .

23.13 Передача с забыванием

В этом протоколе, предложенном Майклом Рабином (Michael Rabin) [1286], Алиса с вероятностью 50 про­центов удается передать Бобу два простых числа,/; и q. Алиса не знает, успешно ли прошла передача (См. раз­дел 5.5.) (Этот протокол можно использовать для передачи Бобу любого сообщения с 50-процентной вероятно­стью успешной передачи, если/; и q раскрывают закрытый ключ RSA.)

(1) Алиса посылает Бобу произведение двух простых чисел : n = pq.

(2) Боб выбирает случайное число х, меньшее п и взаимно простое с п. Он посылает Алисе: a = x2 mod n

(3) Алиса, зная/; и q, вычисляет четыре квадратных корня а: х, п-х, у и п-у. Она случайным образом выбирает любой из этих корней и посылает его Бобу.

(4) Если Боб получает у или п-у, он может вычислит наибольший общий делитель х+у и п, которым будет ли­бо/;, либо q. Затем, конечно же, nip = q. Если Боб получает х или п-х, он не может ничего вычислить.

У этого протокола может быть слабое место : возможна ситуация, когда Боб может вычислить такое число а, что при известном квадратном корне а он сможет все время раскладывать я на множители.

23.14 Безопасные вычисления с несколькими участниками

Этот протокол взят из [1373]. Алиса знает целое число i, а Боб - целое число/ Алиса и Боб вместе хотят уз­нать, что правильно - i<j или i>j, но ни Алиса, ни Боб не хочет раскрыть свое число партнеру. Этот особый слу­чай безопасных вычислений с несколькими участниками (см. раздел 6.2) иногда называют проблемой мил­лионера Яо[162, 7].

В приводимом примере предполагается, что i nj выбираются из диапазона от 1 до 100. У Боба есть откры­тый и закрытый ключи.

(1) Алиса выбирает большое случайное число х и шифрует его открытым ключом Боба. с = Ев{х)

(2) Алиса вычисляет c-j и посылает результат Бобу.

(3) Боб вычисляет следующие 100 чисел: уи = DB(c-i+u), для 1<и<100

DB обозначает дешифрирование закрытым ключом Боба.

Он выбирает большое случайное число р. (Размер р должен быть немного меньше х. Боб не знает х, но Алиса может легко сообщить ему размер х.) он вычисляет следующие 100 чисел:

zu = и mod/;), для 1<и<100

Далее он проверяет, что для всех u*v

zu - zM>2

и что для всех и

0 < zu < p-l

Если это не так, то Боб выбирает другое простое число и пробует снова.

(4) Боб посылает Алисе эту последовательность чисел, соблюдая их точный порядок:

Zh Z2, . . . Zj, Zj+l + , Zy+2+1, . . . ZW0+l, p


(5) Алиса проверяет, конгруэнтен ли г'-ый член последовательности х mod/;. Если это так, она делает вывод, что i<j. В противном случае она решает, что i> j.

(6) Алиса сообщает Бобу свои выводы.

Проверка, которую Боб выполняет на этапе (3), должна гарантировать, что ни одно число не появится дваж­ды в последовательности, генерированной на этапе (4). В противном случае, если za = zb, Алиса узнает, что a <j <Ъ.

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

Пример протокола

Пусть они используют RSA. Открытым ключом Боба является 7, а закрытым - 23. п = 55. Секретное число Алисы, i, равно 4, секретное число Боба,; - 2. (Предположим, что числа i и у могут принимать только значения 1, 2, 3 и 4.)

(1) Алиса выбирает х — 39 и с — Ев(39) = 19.

(2) Алиса вычисляет с-г=19-4=15. Она посылает 15 Бобу.

(3) Боб вычисляет следующие четыре числа: y1 = DB{l5+l) =26

y2 = DB{l5+2) = l8

y3 = DB {15+3) =2

y4 = DB{l5+4) = 39

Он выбирает/; = 31 и вычисляет:

Zl= (26 mod 31) = 26

z2 = (18 mod 31) =18

z3 = (2 mod 31) = 2

z4 = (39 mod 31) = 8

Он выполняет все проверки и убеждается, что последовательность правильна .

(4) Боб посылает Алисе эту последовательность чисел, соблюдая их порядок : 26, 18, 2+1, 8+1, 31, т.е., 26, 18, 3, 9, 31

(5) Алиса проверяет, конгруэнтно ли четвертое число X mod/;. Так как 9 Ф 39 (mod 31 ), то i > j.

(6) Алиса сообщает об этом Бобу.

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

23.15 Вероятностное шифрование

Понятие вероятностного шифрованиябыло изобретено Шафи Голдвассером (Shafi Goldwasser) и Сильви­ей Микали [624]. Хотя их теория позволяет создать самую безопасную из изобретенных криптосистем , ранняя реализации была неэффективной [625]. Но более поздние реализации все изменили.

Идеей вероятностного шифрования является устранение утечки информации в криптографии с открытыми ключами. Так как криптоаналитик всегда может расшифровать случайные сообщения открытым ключом, он может получить некоторую информацию. При условии, что у него есть шифротекст С = ЕцЦМ), и он пытается получить открытый текст М, он может выбрать случайное сообщение М' и зашифровать его: С" = ЕЕ{М'). Если С" = С, то он угадал правильный открытый текст. В противном случае он делает следующую попытку.


Кроме того, вероятностное шифрование позволяет избежать даже частичной утечки информации об ориг и-нальном сообщении. При использовании криптографии с открытыми ключами криптоаналитик иногда может узнать кое-что о битах: XOR 5-го, 17-го и 39-го битов равно 1, и т.п.. При вероятностном шифровании остается скрытой и такая информация.

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

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

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

d = ЕцЦЩ Сг = ЕцЦЩ С3 = ЕцЦМ), . . . С,■ = ЕцЦМ)

М = AdTi) = ЩС2) = Дс(Сз) = . . . = ЩС)

При вероятностном шифровании криптоаналитику больше не удастся шифровать произвольные открытые тексты в поисках правильного шифротекста. Для иллюстрации пусть у криптоаналитика есть шифротекст С, = EdM). Даже если он праильно угадает М, полученный при шифровании Е^М) результат будет совершенно дру­гим шифротекстом С: С,. Сравнивая С, и С,, он не может по их совпадению определить правильность своей д о-гадки.

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

В этой схеме шифротекст всегда будет больше открытого текста. Этого невозможно избежать, это является результатом того, что многие шифротексты расшифровываются в один и тот же открытый текст . В первой схеме вероятностного шифрования [625] шифротекст получался настолько больше открытого текста, что он был бе с-полезным.

Однако Мануэль Блюм (Manual Blum) и Голдвассер (Goldwasser) получили эффективную реализацию веро­ятностного шифрования с помощью генератора псевдослучайных битов Blum Blum Snub (BBS), описанного в разделе 17.9 [199].

Генератор BBS основан на теории квадратичных остатков. Существуют два простых числа, ряд, конгруэнт­ных 3 по модулю 4. Это закрытый ключ. Их произведение,^ = п, является открытым ключом. (Запомните свои р и д, безопасность схемы опирается на сложность разложения п на множители.)

Для шифрования сообщения М сначала выбирается случайное х, взаимно простое с п. Затем вычисляется

x0 = x2 modH

х0 служит стартовой последовательностью для генератора псевдослучайных битов BBS, а выход генератора используется в качестве потокового шифра. Побитно выполняется XOR M с выходом генератора. Генератор выдает биты Ь, (младший значащий бит х„ где х, = xj mod n), поэтому

м=мъ м2, м3, . . . м,

с = Мх © Ьи М2 © Ь2, М3 © из, • • • М,® Ъ,

где t - это длина открытого текста

Добавьте последнее вычисленное значение, х„ к концу сообщения, и дело сделано.

Расшифровать это сообщение можно только одним способом - получить х0 и с этой стартовой последова­тельностью запустить генератор BBS, выполняя XOR выхода с шифротекстом. Так как генератор BBS безопасен влево, значение х, бесполезно для криптоаналитика. Только тот, кому известны ряд, может расшифровать со­общение. Вот как на языке С выглядит алгоритм получения х0 из xt:

int xO (int p, int q, int n, int t, int xt) { int a, b, u, v, w, z;

/* мы уже знаем, что HOfl(p,q) == 1 */ (void)extended_euclidian(p, q, &a, &b);


u = modexp ((p+l)/4, t, p-1); v = modexp ((q+l)/4, t, q-1); w = modexp (xt%p, u, p); z = modexp (xt%p, v, q); return (b*q*w + a*p*z) % n; }

При наличии х0 дешифрирование несложно. Просто задайте стартовую последовательность генератора BBS и выполните XOR результата с шифротекстом.

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

С другой стороны, эта схема совершенно небезопасна по отношению к вскрытию с выбранным шифроте к-стом. По младшим значащим битам правильных квадратичных остатков можно вычислить квадратный корень любого квадратичного остатка. Если это удастся, то удастся и разложение на множители. Подробности можно найти в [1570, 1571, 35, 36].

23.16 Квантовая криптография

Квантовая криптография вводит естественную неопределенность квантового мира. С ее помощью можно создавать линии связи, которые невозможно послушать, не внося помех в передачу . Законы физики надежно защищают такой квантовый канал, даже если подслушивающий может предпринимать любые действия, даже если он имеет доступ к неограниченной вычислительной мощности, даже если Р = NP. Шарль Бенне (Charles Bennett), Жиль Брассар (Gilles Brassard), Клод Крепо (Claude Crepeau) и другие расширили эту идею, описав квантовое распределение ключей, квантовое бросание монеты, квантовое вручение бита , квантовую передачу с забыванием и квантовые вычисления с несколькими участниками. Описание их результатов можно найти в [128, 129, 123, 124, 125, 133, 126, 394, 134, 392, 243, 517, 132, 130, 244, 393, 396]. Лучшим обзором по кванто­вой криптографии является [131]. Другим хорошим нетехническим обзором может служить [1651]. Полную библиографию по квантовой криптографии можно найти в [237].

Эти идеи так и остались бы предметом обсуждения фанатиков криптографии , но Бенне и Брассар разработа­ли действующую модель [127, 121, 122]. Теперь у нас есть экспериментальная квантовая криптография.

Итак устройтесь поудобнее, налейте себе чего-нибудь выпить и расслабьтесь. Я попробую объяснить вам, что это такое.

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

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

Пусть у вас есть импульс горизонтально поляризованных фотонов . Если они попробуют пройти через гори­зонтальный фильтр, то у них у всех прекрасно получится. Если медленно поворачивать фильтр на 90 градусов, количество пропускаемых фотонов будет становиться все меньше и меньше, и наконец ни один фотон не про й-дет через фильтр. Это противоречит здравому смыслу. Кажется, что даже незначительный поворот фильтра должен остановить все фотоны, так как они горизонтально поляризованы . Но в квантовой механике каждая час­тица с определенной вероятностью может изменить свою поляризацию и проскочить через фильтр . Если угол отклонения фильтра невелик, эта вероятность высока, а если он равен 90 градусам, то вероятность равна нулю . А если угол поворота фильтра равен 45 градусам, вероятность фотона пройти фильтр равна 50 процентам .

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


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

(1) Алиса посылает Бобу последовательность фотонных импульсов. Каждый из импульсов случайным обра­
зом поляризован в одном из четырех направлений: горизонтальном, вертикальном, лево- и праводиаг о-
нальном.

Например, Алиса посылает Бобу:

| | / — —I— /

(2) У Боба есть детектор поляризации. Он может настроить свой детектор на измерение прямоугольной или
диагональной поляризации. Одновременно мерить и ту, и другую у него не получится, ему не позволит
квантовая механика. Измерение одной поляризации не даст измерить другую . Итак, он устанавливает свои
детекторы произвольным образом:

Х+ +ХХХ+Х+ +

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

/ | — / — / — |

(3) Боб сообщает Алисе по незащищенному каналу, какие настройки он использовал .

(4) Алиса сообщает Бобу, какие настройки были правильными. В нашем примере детектор был правильно ус­тановлен для импульсов 2, 6, 7 и 9.

(5) Алиса и Боб оставляют только правильно измеренные поляризации. В нашем примере они оставляют:

* | * * * — * — *

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

0 0 1 1

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

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

(6) Алиса и Боб сравнивают несколько битов своих строк. По наличию расхождений они узнают о подслу­шивании. Если строки не отличаются, то они отбрасывают использованные для сравнения биты и и с-пользуют оставшиеся.

Улучшения этого протокола позволяют Алисе и Боб использовать свои биты даже в присутствии Евы [133, 134, 192]. Они могут сравнивать только четность битовых подмножеств. Тогда, если не обнаружено расхожд е-ний, им придется отбросить только один бит подмножества. Это обнаруживает подслушивание с вероятностью 50 процентов, но если они сверят таким образом п различных битовых подмножеств, вероятность Евы подслу­шать и остаться незамеченной будет равна 1/2".

В квантовом мире не бывает пассивного подслушивания. Если Ева попытается раскрыть все биты, она об я-зательно разрушит канал связи.

Бенне и Брассар построили работающую модель квантового распределения ключей и обменялись безопа с-ными битами на оптической скамье. Последнее, что я слышал, было сообщение о том, что в British Telecom no-


сылали биты по 10-километровому оптоволокну [276, 1245, 1533]. Они считают, что достижимо и расстояние в 50 километров. Это поражает воображение.


Часть IV Реальный мир


Глава 24

Примеры реализаций

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

24.1 Протокол управления секретными ключами компании IBM

В конце 70-х годов IBM, используя только симметричную криптографию, разработала законченную систему управления ключами для передачи данных и безопасности файлов в компьютерных сетях [515, 1027]. Не так важны реальные механизмы протокола, как его общая философия : за счет автоматизации генерации, распреде­ления, установки, хранения, изменения и разрушения ключей этот протокол далеко продвинулся, обеспечивая безопасность лежащих в его основе криптографических алгоритмов .

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

Каждый сервер сети подключен к криптографической аппаратуре , которая выполняет все шифрование и де­шифрирование. У каждого сервера есть Главный ключ(Master Key), КМ0, и два варианта, КМХ и КМ2, кото­рые являются упрощенными вариантами КМ0. Эти ключи используются для шифрования других ключей и для генерации новых ключей. У каждого терминала есть Главный ключ терминала(Master Terminal Key), KMT, который используется для обмена ключами с другими термин алами.

КМТ хранятся на серверах, зашифрованные ключом КМг. Все остальные ключи, например, используемые для шифрования файлов ключей (они называются KNF), хранятся в зашифрованной форме, закрытые ключом КМ2. Главный ключ КМ0 хранится в энергонезависимом модуле безопасности. Сегодня это может быть либо ключ в ПЗУ, либо магнитная карточка, или ключ может вводиться пользователем с клавиатуры (возможно как текстовая строка, преобразуемая в ключ). КМ, и КМ2 не хранятся где-нибудь в системе, а, когда понадобится, вычисляются по КМ0. Сеансовые ключи для связи между серверами генерируются на сервере с помощью псе в-дослучайного процесса. Аналогичным образом генерируются ключи для шифрования хранимых файлов (KNF).

Сердцем протокола служит устойчивый к вскрытию модуль, называемый криптографической аппарату­рой(cryptographic facility). И на сервере, и на терминале все шифрование и дешифрирование происходи именно в этом модуле. В этом модуле хранятся самые важные ключи, используемые для генерации действительных ключей шифрования. После того, как эти ключи записаны, считать их становится невозможным . Кроме того, они помечены для конкретного использования: ключ, предназначенный для решения одной задачи, не может случайно быть использован для решения другой. Эта концепция векторов управления ключамивозможно является самым значительным достижением этой системы. Дональд Дэвис (Donald Davies) Вильям Прайс (William Price) подробно рассматривают этот протокол управления ключами в [435].

Модификация

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

— Обезопасить дуплексный канал между двумя пользовательскими терминалами .

— Обезопасить связь с помощью шифрованной почты.

— Обеспечить защиту личных файлов.

— Обеспечить возможность цифровой подписи.

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


MITRENET

В системе MEMO все открытые ключи хранятся в Центре распределения открытых ключей (Public Key Dis­tribution Center), который является отдельным… Чтобы пользователь мог отправлять безопасные сообщения, система сначала… Для шифрования сообщений используется DES. Для шифрования файлов система генерирует случайный ключ DES, пользователь…

ISDN

Bell-Northern Research разработала прототип безопасного телефонного терминала ISDN (Integrated Services Digital Network, Цифровая сеть с интегрированием услуг) [499, 1192, 493, 500]. Как телефонный аппарат, тер­минал остался на уровне прототипа. В результате появился Уровень безопасности пакетов данных (Packet Data Security Overlay). Терминал использует схему обмена ключами Diffie-Hellman, цифровые подписи RSA и DES для шифрования данных. Он может передавать и принимать речь и данные со ск оростью 64 Кбит/с.

Ключи

В телефон встроена пара "открытый ключ/закрытый ключ" для длительного использования . Закрытый ключ хранится в устойчивом от вскрытия модуле телефона. Открытый ключ служит для идентификации телефона. Эти ключи являются частью самого телефонного аппарата и не могут быть изменены .

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

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

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

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


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

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

Вызов

Вызов Боба Алисой происходит следующим образом.

(1) Алиса вставляет в телефон свой ключ зажигания и вводит свой пароль .

(2) Телефон опрашивает ключ зажигания, чтобы определить личность Алисы и выдать ей сигнал "линия сво­бодна".

(3) Телефон проверяет свой набор сертификатов, проверяя, что Алиса имеет право использовать этот аппарат .

(4) Алиса набирает номер, телефон определяет адресата звонка.

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

(6) Телефон Алисы передает свой сертификат и идентификатор пользователя .

(7) Телефон Боба проверяет подписи сертификата и идентификатора пользователя, используя открытый ключ сети.

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

(9) Если Боба нет у телефона, то его телефон звонит.

(10) Если Боб дома, он вставляет в телефон свой ключ зажигания. Его телефон опрашивает ключ зажигания и
проверяет сертификат Боба, как на этапах (2) и (3).

(И) Боб передает свой сертификат и идентификатор пользователя .

(12) Телефон Алисы проверяет подписи Боба, как на этапе (7) и инициирует последовательность запро­сов/ответов, как на этапе (8).

(13) Оба телефона выводят на свои экраны личность и номер телефона другого пользователя .

(14) Начинается безопасный разговор.

(15) Когда одна из сторон вешает трубку, удаляются сеансовый ключ, а также сертификаты, которые телефон Боба получил от телефона Алисы, и сертификаты, которые телефон Алисы получил от телефона Боба .

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

STU-III

Уитфилд Диффи описал STU-III в [494]: Чтобы позвонить, используя STU-III, звонящий сначала обычным образом звонит на… Беспрецедентным шагом был объявление Уолтера Дили (Walter Deeley), заместителя директора NSA по безопасности…

KERBEROS

Kerberos был первоначально разработан в МТИ для проекта Афина. Модель Kerberos основана на протоколе Needham-Schroeder с доверенной третьей стороной…

Модель Kerberos

Kerberos хранит базу данных клиентов и их секретных ключей. Для пользователей-людей секретный ключ является зашифрованным паролем. Сетевые службы,… Так как Kerberos знает все секретные ключи, он может создавать сообщения,… Для шифрования Kerberos использует DES. Kerberos версии 4 обеспечивал нестандартный, слабый режим проверки подлинности…

Рис. 24-1. Этапы проверки подлинности Kerberos

Как работает Kerberos

клиенту. Для использования конкретного сервера клиент запрашивает у TGS мандат на обращение к серверу. Если все в порядке, TGS посылает мандат…

Табл. 24-1. Таблица сокращений Kerberos

 

с = клиент
S = сервер
a = сетевой адрес клиента
V = начало и окончание времени действия мандата
t = метка времени
кх = секретный ключ х
Кх,у = сеансовый ключ для х и >>
(т)Кх = т, шифрованное секретным ключом х
Тх,у = мандат х на использование у
Ах,у = удостоверение х для у
Атрибуты  

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

Tc>s = s, {с, a, v, KC>S}KS.

Мандат хорош для одного сервера и одного клиента. Он содержит имя клиента, его сетевой адрес, имя сер­вера, метку времени и сеансовый ключ. Эта информация шифруется секретным ключом сервера. Если клиент получил мандат, он может использовать его для доступа к серверу много раз - пока не истечет срок действия мандата. Не может расшифровать мандат (он не знает секретного ключа сервера), но он может предъявить его серверу в зашифрованной форме. Прочитать или изменить мандат при передаче его по сети невозможно . Удо­стоверение Kerberos имеет следующую форму:

Ac>s = {c, t,toifo4}Kc>s

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

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

Сообщения Kerberos версии 5

1. Клиент-Kerberos: c,tgs 2. Kerberos-клиент: {Kc>tgs}Kc, {Tc>tgs}Ktgs 3. Клиент-TGS: {Ac>s}Kc>tgs{Tc>tgs} Ktgs>s

Получение первоначального мандата

Клиент посылает сообщение, содержащее его имя и имя его сервера TGS на сервер проверки подлинности Kerberos. (может быть несколько серверов TGS.) На… Сервер проверки подлинности Kerberos ищет данные о клиенте в своей базе… Теперь клиент расшифровывает первое сообщение и получает сеансовый ключ . Секретный ключ является однонаправленной…

Получение серверных мандатов

Когда клиенту нужен мандат, которого у него пока нет, он посылает запрос к TGS. (На практике программа, скорее всего, делает это автоматически и… TGS, получив запрос, расшифровывает TGT своим секретным ключом. Затем TGS… Проверка меток времени предполагает, что часы всех компьютеров синхронизированы, по крайней мере с точностью до…

Kerberos версии 4

1. Клиент-Kerberos: c,tgs 2. Kerberos-клиент: {Kc>tgs{Tc>tgs}Ktgs}Kc, 3. Клиент-TGS: {Ac>s}Kc>tgs{Tc>tgs} Ktgs>s

Безопасность Kerberos

Возможно кэширование и повторное использование старых удостоверений . Хотя метки должны предотвра­тить иакую возможность, удостоверения могут… Использование удостоверений основаны на том, что все часы сети более или менее… Kerberos также чувствителен к вскрытиям с угадыванием пароля. Злоумышленник может записать мандаты и затем попытаться…

Лицензии

Kerberos не является общедоступным, но код МТИ доступен свободно. Действительная реализация в рабо­тающих системах UNIX - это совсем другая история. Ряд компаний продает версии Kerberos, но можно полу­чить хорошую версию бесплатно от Cygnus Support, 814 University Ave., Pale Alto, CA, 94301; (415) 32,2.-3811; fax: (415) 32.2.-3270.

KRYPTOKNIGHT

— Проверка подлинности пользователя (называемая единственной подписью - single sign-on) — Двусторонняя проверка подлинности — Распределение ключей

Рис. 24-2. Сертификат Х.509.

Сертификаты

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

Рис. 24-3. Пример иерархии сертификации.

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

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


этой схемы.

Протоколы проверки подлинности

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

Документы РЕМ

— RFC 1421: Часть I, Процедуры шифрования и проверки подлинности сообщений . В этом документе опре­деляются процедуры шифрования и проверки… — RFC 1422: Часть II, Управление ключами с помощью сертификатов. В этом… — RFC 1423: Часть III, Алгоритмы, режимы и идентификаторы. Этот документ содержит определения, форматы, ссылки и…

Сертификаты

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

Сообщения РЕМ

--- BEGIN PRIVACY-ENHANCED MESSAGE- Proc-Type: 4,ENCRYPTED Content-Domain: RFC822

Рис. 24-5. Пример встроенного шифрованного (ENCRYPTED) сообщения (асимметричный случай).

Первым полем является "Proc-Type", идентификатор типа обработки, которой подверглось сообщение. Су­ществует три возможных типа сообщений. Спецификатор "ENCRYPTED" обозначает, что сообщение зашифро-


вано и подписано. Спецификатор "MIC-ONLY" и "MIC-CLEAR" указывают, что сообщение подписано, но не зашифровано. Сообщения MIC-CLEAR не кодируются и могут быть прочитаны с помощью другого, не входя­щего в РЕМ программного обеспечения. Для преобразования сообщений MIC-ONLY в удобочитаемую форму необходимо программное обеспечение РЕМ. Сообщение РЕМ подписывается всегда, а шифрование не является обязательным.

Следующее поле, "Content-Domain", задает тип почтового сообщения. Оно не влияет на безопасность. Поле "DEK-Info" содержит информацию о ключе обмена данными(Data Exchange Key, DEK), алгоритме, исполь­зуемом для шифрования текста, и параметрах, связанных с алгоритмом шифрования . В настоящее время опре­делен единственный алгоритм - DES в режиме СВС, "DES-CBC" Второе подполе содержит IV. В будущем для РЕМ могут быть определены и другие алгоритмы, их использование будет запротоколировано в поле DEK-Info и других полях, определяющих алгоритм.

В сообщениях с симметричным управлением ключами (см. 20th) следующим полем будет "Originator-ID-Symmetric" с тремя подполями. Первое подполе с помощью уникального адреса электронной почты определяет отправителя. Второе поле не является обязательным и определяет орган, выдавший заменяемый ключ . Третьим является необязательное подполе Версия/Окончание срока.

Далее, при использовании симметричного управления ключами, у каждого получателя есть два поля : "Recipient-ID-Symmetric" и "Key-Info." Поле "Recipient-ID-Symmetric" содержит три подполя, которые опреде­ляют получателя также, как подполя поля "Originator- ID-Symmetric" определяют отправителя.

Поле "Key-Info" задает параметры управления ключами. У этого поля четыре подполя. Первое определяет алгоритм, использованный для шифрования DEK. Так как в рассматриваемом сообщении применяется симмет­ричное управление ключами, то отправитель и получатель используют общий ключ . Он называется заменяе­мым ключом(Interchange Key, IK) и используется для шифрования DEK. DEK может быть зашифрован либо с помощью DES в режиме ЕСВ (этот способ обозначается "DES-ECB"), либо тройным DES ("DES-EDE"). Второе подполе определяет алгоритм MIC. Может использоваться MD2 (обозначается "RSA-MD2") или MD5 ("RSA-MD5"). Третье подполе, DEK, и четвертое подполе, MIC, шифруются с помощью IK.

На 19-й и 18-й показаны сообщения, в которых используется управление ключами с помощью открытых ключей (в перечне РЕМ такой способ называется асимметричным). Заголовки изменяются. В сообщениях EN­CRYPTED после поля "DEK-Info" идет поле "Originator-Certificate". Форма сертификата соответствует стандар­ту Х.509 (см. раздел 24.9). Следующим полем является "Key-Info" с двумя подполями. Первое подполе опреде­ляет алгоритм с открытым ключом, использованный для шифрования DEK, в настоящее время поддерживается только RSA. Следующее подполе - DEK, зашифрованный открытым ключом отправителя. Это необязательное поле, которое позволяет отправителю расшифровать свое собственное сообщение, возвращенное почтовой си с-темой. Следующим полем является "Issuer-Certificate", сертификат организации, подписавшей сертификат от­правителя ("Originator-Certificate").

Далее при асимметричном управлении ключами следует поле "MIC-Info". Первое подполе задает алгоритм вычисления MIC, а второе - алгоритм, использованный для подписи MIC. Третье подполе содержит MIC, под­писанный закрытым ключом отправителя.


--- BEGIN PRIVACY-ENHANCED MESSAGE-

Proc-Type: 4,MIC-0NLY

Content-Domain: RFC822

Originator - Certificate : MIIBITCCAScCAHUwDQYJKoZIhvcNAQECBQAwTzELMAkGAIUEBhMCWMxlDAeBgNV BAoTFIJTQSBEYXRhIFNIY3VyaXR5LCBJbmMuMQ8wDQYDVQQLEwZCZXRhIDExDzAN BgNVBAsTBk5PVEFSHTAeEw05MTA5MDQxODM4MTdaFw05MzA5MDMxODM4MTZaMEUx CzAJBgNVBAYTAIVTMSAwHgYDVQQKExdSU0EgRGF0YSBTZMNlcml0eSwgSW5jLjEU MEIGAIUEAxMLVGVzdCBVc2VylDEwHTAKBgRVCAEBAgICAANLADBIAkEAmHZHI71+ yJcqDtjJCowzTdBJrdAiLAnSC+CnnjOJELyuQiBgkGrgIh3j8/xOfM+YrsyFlu3F LZPVtzlndhYFJQIDAQABMA0GCSqGSIb3DQEBAgUAAIkACKr0PqphJYwlj+YPtcIq ItJIFPuN5jJ79Khfg7ASFxskYkEMjRNZV/HZDZQEhtVaU7Jxfzs2mfX5bMp2X3U/

5XUXGx7qusDgHQGs7Jk9W8CWlfuSI4UgN4w==

Issuer-Certificate: MIIB3DCCAUgCAQowDQYJKoZIhvcNAQECBQAkTzELMAkGAIUEBhMCWMxlDAeBgNV BAoTFIJTQSBEYXRhIFNIY3VyaXR5LCBJbmMuMQ8wDQYDVQQLEIZCZXRhIDExDTAE BgNVBAsTBFRMQ0EwHhcN0TEw0TAxMDgwMDAmkmcN0TIm0TAxMDcl0TU5HjBRMQsw CQYDVQQGEwJVUzEgMB4GAIUEChMXUINBIERhdGEgU2VjdXJpdHksIEIuYywxDzAN BgNVBAsTBkJIdGEgMTEPMA0GAIUECxMGTk9UQVJZMHAwCgYEVQgBAQICArwDYgAw XwJYCsnpelQCxYkNIODwlltF/jMJ3kE+3PjYjHOwk+/9rEg6X65B7LD4bJHt05XH cqAz77R7XhjYCmOPcqbdzoACZHETrKrcJIDYoP+DkZ8klgCk7hQHpbltflDAQAB MAOGCSqGSIb3DQEBAgUAA38AAICPv4f9Gx7tY4+p+4DB7MV+tKZrlvBo8zgoMGOx dD2jMZ73Hs*kl4gSFOeH7AJB3qr9zosG47pyMnTf3aS2nB07CMxpUkfRBcXUpE+x EREZd9++32otGBIXaIalnOgVUnOOzSYgljglQ077nJEDUOhQehCizEs5mUJ35a5h

MIC-Info: RSA-MD5,RSA, jV20fH+nnXHU8bnE8kPAad7mSQITDZIbVuxvZAOVRZ5q5+EjI5bQvqNeqOUNQjr6

EtE7K2QDeVMCj/XsdJIA8fA== LSBBIGIIc3NhZ2UgZrti91HVzZSBpbBOZXNOaH5nLgOKESBGb2xsb3dpbmcgaXMg

YSBibGFuaj/Bsakf510gOKDQpUaGIzIGIzIHRoZSBIbrnQuDQo=

--- END PRIVACY-ENHANCED MESSAGE-

Рис. 24-6. Пример встроенного MIC-ONLY сообщения (асимметричный отучай).

Следующие поля связаны с получателями. Каждому получателю соответствуют два поля : "Recipient-ID-Asymmetric" и "Key-Info". У no]H"Recipient-ro-Asymmetric" два подполя. Первое определяет орган, выдавший открытый ключ получателя, а вторым является необязательное подполе Версия/Окончание срока . Поле "Key-Info" задает параметры управления ключами: первое подполе определяет алгоритм, использованный для ши ф-рования сообщения, а вторым подполем служит DEK, зашифрованный открытым ключом получателя.

Безопасность РЕМ

Длина ключей RSA, используемых в РЕМ, может меняться в диапазоне от 508 до 1024 битов. Этого доста­точно практически для любого уровня безопасности. Более вероятно, что вскрытие будет направлено против протоколов управления ключами. Мэллори может украсть ваш закрытый ключ - не записывайте его нигде - или попытаться подсунуть вам фальшивый открытый ключ. Процедуры сертификации ключей в РЕМ делают это невозможным, если все пользователи строго следуют соответствующим процедурам , но, как известно, люди часто неаккуратны.

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

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

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

TIS/PEM

Доверенные информационные системы (TIS, Trusted Information Systems), частично поддерживаемые Управлением по передовым научным проектам правительства Соединенных Штатов , включают реализацию РЕМ (TIS/PEM). Разработанные для платформ UNIX, они были также перенесены на VMS, DOS и Windows.

Хотя спецификации РЕМ определяют для Internet один главный сертификационный центр, TIS/PEM под­держивает существование нескольких иерархий сертификации. Узлы могут определить набор сертификатов, которые будут считаться действительными, включая все сертификаты, выданные узлами. Для того, чтобы поль­зоваться TIS/PEM узлу не нужно присоединяться к иерархии Internet.


Все организации и граждане США и Канады при желании могут получить доступ к TIS/PEM, которая распространяется в виде исходного кода. Заинтересованные лица должны обращаться по следующему адресу: Privacy-Enhanced Mail, Trusted Information Systems, Inc., 3060 Washington Road IRte. 97), Glenwood, MD 2,1738; (301) 854-6889; fax: (301) 854-5363; Internet: pern-info@tis.com.

RIPEM

RIPEM - это программа, написанная Марком Риорданом (Mark Riordan) и реализующая протоколы РЕМ. Хотя эта программа не является свободно доступной, ей можно воспользоваться бесплатно для частного, н е-коммерческого использования. Лицензия на ее использование входит в документацию .

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

К моменту написания этих строк RIPEM не полностью реализовала протоколы РЕМ, в ней нет возможности использовать сертификаты проверки подлинности ключей.

До RIPEM Риордан написал похожую программу RPEM. Подразумевалось, что это будет общедоступная программа электронной почты. Пытаясь обойти патентные проблемы, Риордан использовал алгоритм Rabin (см. раздел 19.5). Public Key Partners заявила, что их патенты распространяются на всю криптографию с открытыми ключами. Под угрозой судебного процесса Риордан прекратил распространение программы .

Сейчас RPEM не используется. Она не совместима с RIPEM. Так как можно использовать RIPEM, не встре­чая препятствий со стороны Public Key Partners, нет повода возвращаться к RPEM.

24.11 Протокол безопасности сообщений

Протокол безопасности сообщений (Message Security Protocol, MSP) - это военный эквивалент РЕМ. Он был разработан NSA в конце 80-х годов при работе по программе создания Безопасной системы передачи данных по сети (Secure Data Network System, SDNS) program. Это совместимый с Х.400 протокол уровня приложения для закрытия электронной почты. MSP планируется использовать в разрабатываемой сети оборонных сообщений (Defense Message System, DMS) Министерства обороны.

Предварительный протокол безопасности сообщений (Preliminary Message Security Protocol, PMSP), который предполагается использовать для "несекретных, но важных" сообщений, представляет собой адаптированную для использования с Х.400 и TCP/IP версию MSP. Этот протокол также называют Mosaic.

Как и РЕМ, программные реализации MSP и PMSP достаточно гибки, их конструкция позволяет подстро­иться под использование различных алгоритмов для осуществления функций безопасности, таких как подпись, хэширование и шифрование. PSMP будет работать с микросхемой Capstone (см. раздел 24.17).

24.12 PRETTY GOOD PRIVACY (PGP)

Pretty Good Privacy (PGP, весьма хорошая секретность) - это свободно распространяемая программа безопас­ной электронной почты, разработанная Филипом Циммерманном (Philip Zimmermann) [1652]. Для шифрования данных она использует IDEA, для управления ключами и цифровой подписи - RSA (длина ключа до 2047 би­тов), а для однонаправленного хэширования - MD5.

Для получения случайных открытых ключей PGP использует вероятностную проверку чисел на простоту, используя для получения стартовых последовательностей интервалы между нажатиями пользователем клавиш на клавиатуре. PGP генерирует случайные ключи IDEA с помощью метода, в ANSI X9.17, Appendix С (см. раз­дел 8.1) [55], используя вместо DES в качестве симметричного алгоритма IDEA. PGP также шифрует закрытый ключ пользователя с помощью хэшированной парольной фразы, а не пароля непосредственно .

Сообщения, зашифрованные PGP, имеют несколько уровней безопасности. Единственная вещь, известная криптоаналитику о зашифрованном сообщении, - это получатель сообщения при условии, что криптоаналитику известен ID ключа получателя. Только расшифровав сообщение, получатель узнает, кем оно подписано, если оно подписано. Это резко отличается от сообщения РЕМ, в заголовке которого немало информации об отправи­теле, получателе и самом сообщении хранится в незашифрованном виде .

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

Например, Алиса может физически передать Бобу свои открытый ключ. Боб лично знает Алису, поэтому он


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

PGP не определяет стратегию установки доверительных связей, пользователи сами решают, кому верить, а кому нет. PGP обеспечивает механизмы для поддержки ассоциативного доверия открытым ключам и для и с-пользования доверия. Каждый пользователь хранит набор подписанных открытых ключей в виде файла кольца открытых ключей(public-key ring). Каждый ключ кольца обладает полем законности ключа, определяющим уровень доверия к ключу конкретного пользователя. Чем больше уровень доверия, тем больше пользователь уверен в законности ключа. Поле доверия к подписи измеряет, насколько пользователь верит тому, кто подп и-сал открытые ключи других пользователей. И наконец поле доверия к владельцу ключа задает уровень, опред е-ляющий, насколько конкретный пользователь верит владельцу ключа, подписавшему другие открытые ключи. Это поле вручную устанавливается пользователем. PGP непрерывно обновляет эти поля по мере появления но­вой информации.

На 17-й показано, как выглядит эта модель для конкретного пользователя , Алисы. Ключ Алисы находится в самом верху иерархии, владелец ключа абсолютно надежен. Алиса подписывает ключи Боба, Кэрол, Дэйва, Элен и Фрэнка. Она доверяет Бобу и Кэрол подписывать открытые ключи других людей, кроме того, она час­тично доверяет Дэйву и Элен подписывать открытые ключи других людей. И она доверяет Гейл подписывать открытые ключи других людей, хотя сама не подписывала ключ Гейл.

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

Алиса не должна автоматически доверять ключам других людей только потому, что они подписаны ключом, который она считает правильным. Алиса Она не доверяет Фрэнку Она подписывать другие ключи, хотя она собственноручно подписывала его ключ. Кроме того, она не доверяет подписи Ивана под ключом Мартина или подписи Курта под ключом.

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

Конечно, ничто не мешает Алисе использовать ключи, которым она не доверяет . Задача PGP - предупредить Алису о подозрительности ключа, а не помешать ей устанавливать соединения .

Самым слабым звеном этой системы является отзыв ключей : гарантировать, что кто-нибудь не воспользует­ся скомпрометированным ключом, невозможно . Если закрытый ключ Алисы украден, она может послать некий сертификат отзыва ключа(key revocation certificate), но, так как некое распределение ключей уже произошло, нельзя гарантировать, что это сообщение будет получено всеми, использующими ее открытый ключ в своем кольце ключей. И так как Алиса должна будет подписать свой сертификат отзыва ключа своим закрытым кл ю-чом, то если она потеряет ключ, она не сможет и отозвать его .


Х

У


х подписывает ключ у

Алиса считает ключ законным


 

 


Алиса доверяет владельцу ключа право подписывать другие ключи

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

Алиса считает ключ незаконным


 




(V) (V)

 


Рис. 24-7. Модель доверия в PGP.

Текущей версией PGP является 2.6.2. Появление новой версии, PGP 3.0, ожидается к концу 1995 года. В 3.0 включены опции тройного DES, SHA, другие алгоритмы с открытыми ключами, разделение пар "открытый ключ/закрытый ключ" для шифрования и для подписи, расширенные процедуры отзыва ключей, улучшенные функции управления кольцом ключей, API для интегрирования PGP в другие программы и полностью перепи­санные исполняемые модули.

PGP доступна для MS-DOS, UNIX, Macintosh, Amiga и Atari. В личных, некоммерческих целях ее можно использовать свободно, скачав со многих узлов ftp в Internet. Чтобы скопировать PGP с узла MIT с помощью telnet подключитесь к net-dist.mit.edu, войдите в систему как getpgp, ответьте на вопросы, затем используйте ftp для соединения с net-dist.mit.edu и перейдите в каталог, указанный в сессии telnet. Эту программу также можно получить ftp.ox.ac.uk, ftp.dsi.unimi.it, ftp.funet.fi, ftp.demon.co.uk, CompuServe, AOL, и т.п. Для коммерческого использования в США PGP можно приобрести - полностью, вместе с лицензиями - примерно за 100 долларов в компании ViaCrypt, 9033 N 24th Ave., Phoenix, AZ, 85021; (602) 944-0773; viacrypt@acm.org. Существуют раз­личные средства, помогающие интегрировать PGP в MS-DOS, Microsoft Windows, Macintosh и UNIX.

О PGP написано несколько книг [601,1394,1495]. Исходный код был даже опубликован в печатном виде в [1653] при попытке обойти Госдепартамент США, который продолжает считать, что исходный код можно экс­портировать только в бумажном, а не в электронном виде . Если вы доверяете IDEA, PGP позволит вам прибли­зиться к военному уровню шифрования.

24.13 Интеллектуальные карточки

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

Интеллектуальная карточка содержит маленький компьютер (обычно 8-битовый микропроцессор), ОЗУ (четверть килобайта), ПЗУ (примерно 6-8 килобайт), и несколько килобайт либо EPROM (стираемое програм­мируемое ПЗУ) или EEPROM (электронно стираемое программируемое ПЗУ). Объем памяти в интеллектуаль-


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

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

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

Интеллектуальные карточки - это очень интересная тема, на которую написано множество литературы . Хо­рошей обзорной статьей по криптографии в интеллектуальных карточках может служить [672]. Ежегодно про­водятся конференции: CARTES в октябре в Париже и CardTech в апреле в Вашингтоне, округ Колумбия. Труды двух других конференций по интеллектуальным карточкам можно найти в [342, 382]. В области интеллектуаль­ных карточек существуют сотни патентов, частью принадлежащие европейским компаниям. Интересные вопро­сы будущего использования интеллектуальных карточек - проверка целостности, аудиторский контроль, защита от копирования, электронные наличные, оплата почтовых расходов - описаны в [1628].

24.14 Стандарты криптографии с открытыми ключами

Стандарты криптографии с открытыми ключами (Public-Key Cryptography Standards, PKCS) - это попытка компании RSA Data Security, Inc обеспечить промышленный стандарт для криптографии с открытыми ключами. По традиции такими делами занимался ANSI, но, учитывая текущую ситуацию в криптографической политике, RSADSI решила, что лучше они все сделают сами. Работая со множеством компаний, RSADSI разра­ботала набор стандартов. Некоторые из них совместимы с другими стандартами, а некот орые - нет.

Эти стандарты не являются стандартами в общепринятом смысле этого слова, никто не собирался и не гол о-совал за PKCS. По своим собственным словам RSADSI "будет единственной организацией, правомочной при­нимать решения о каждом стандарте, и будет пересматривать эти стандарты по мере необходимости " [803].

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

Далее приведено краткое описание каждого PKCS (PKCS #2 и PKCS #4 были включены в PKCS #1).

PKCS #1 [1345] описывает способ шифрования и дешифрирования RSA, главным образом для создания циф­ровых подписей и цифровых конвертов, описанных в PKCS #7. Для цифровых подписей сообщение хэшируется, а затем хэш-значение шифруется закрытым ключом подписывающего . Совместное представление сообщения и хэш-значения подробно описано в in PKCS #7. Для цифровых конвертов (шифрованные сообщения) сообщение сначала шифруется симметричным алгоритмом, а затем ключ сообщений шифруется открытым ключом получ а-теля. Совместное представление шифрованного сообщения и шифрованного ключа должно соответствовать PKCS #7. Эти два метода совместимы со стандартами РЕМ. Для структуры сертификатов (или их подобия) от­крытых и закрытых ключей RSA и трех алгоритмов подписи - MD2 и RSA, MD4 и RSA, MD5 и RSA - PKCS #1 также описывает синтаксис, идентичный синтаксису Х.509 и РЕМ.

PKCS #3 [1346] описывает способ реализации обмена ключами по схеме Diffie-Hellman.

PKCS #5 [1347) описывает способ шифрования сообщений секретным ключом, полученным из пароля . Стандарт использует MD2 или MD5 для получения ключа из пароля и шифрует сообщения с помощью DES в режиме СВС. Этот метод предназначен главным образом для шифрования закрытых ключей при их передаче от одной компьютерной системы другой, но может быть использован и для шифрования сообщений .

PKCS #6 [1348] описывает стандартный синтаксис сертификатов открытых ключей . Синтаксис является надмножеством сертификата Х.509, при необходимости можно извлечь и сертификат Х.509. Дополнительные атрибуты не ограничивают процесс сертификации только открытым ключом. Они содержат и другую информ а-цию, например, адрес электронной почты.

PKCS # 7 [1349] представляет собой общий синтаксис для подписываемых или шифруемых данных, напр и-мер, цифровых подписей или цифровых конвертов. Синтаксис является рекурсивным, поэтому можно организ о-вать вложенность конвертов или поставить чью-то подпись под ранее зашифрованными данными. Синтаксис также разрешает вместе с содержанием сообщения проверку подлинности других атрибутов, например, меток


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

PKCS #8 [1350] описывает синтаксис информации о закрытых ключах, включая закрытый ключ и набор а т-рибутов, и синтаксис шифрованных закрытых ключей. Для шифрования информации о закрытых ключах мож­но использовать PKCS #5.

PKCS #9 [1351] определяет избранные типы атрибутов для расширенных сертификатов PKCS #6, сообщений с цифровой подписью PKCS #7 и информации о закрытых ключах PKCS #8.

PKCS #10 [1352,] описывает стандартный синтаксис запросов сертификации . Сертификация включает инди­видуальное имя, открытый ключ и (необязательно) набор атрибутов, которые подписаны лицом, приславшим запрос. Запросы сертификации присылаются в сертифицирующий орган, который преобразует запрос либо в сертификат открытого ключа Х.509, либо в сертификат PKCS #6.

PKCS #11 [1353], Стандарт API криптографической метки (Cryptographic Token API Standard) , определяет интерфейс программирования, называемый "Cryptoki", для портативных криптографических устройств всех типов. Cryptoki представляет собой обобщенную логическую модель, позволяющую приложениям выполнять криптографические операции на портативных устройствах, не зная деталей используемой технологии . Этот стандарт также определяет профили приложения : наборы алгоритмов, которые может поддерживать устройство .

PKCS #12 [1354] описывает синтаксис хранения в программном обеспечении открытых ключей пользоват е-лей, защищенных закрытых ключей, сертификатов и другой связанной криптографической информации . Целью этого является стандартизация единого фала ключей, используемого многими приложениями .

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

24.15 Универсальная система электронных платежей

Универсальная система электронных платежей (Universal Electronic Payment System, UEPS) представляет собой банковское приложение, использующее интеллектуальные карточки, первоначально разработанное для сельской Южной Африки, но позднее принятое основными банковскими группами этой страны . К началу 1995 года в ЮАР было выпущено около 2 миллионов карточек. Эта система также принята в Намибии, и разверты­вается по крайней мере одним российским банком.

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

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

(1) Алиса посылает Бобу свое имя, А, его имя, В, и случайное число RA, шифруя их с помощью DES: сначала
ключом К2, затем Къ Она также посылает свое имя открытым текстом.

A,EK(EK(A,B,RA))

(2) Боб вычисляет Кх и К2 по имени Алисы. Он расшифровывает сообщение, убеждается, что А и В правиль­
ны, затем шифрует незашифрованную вторую половину сообщения Алисы ключом К2.

EKi (A,B,Ra)

Боб не посылает это сообщение Алисе, 56 битов шифротекста становятся ключом К3. Боб посылает Алисе свое имя, ее имя и случайное число, RB, шифруя их с помощью DES: сначала ключом Къ, затем Кг.

EKi(EKi(B,A,Rb))

(3) Алиса аналогичным образом вычисляет К3 и расшифровывает сообщение Боба, убеждаясь, что А и В пра-


вильны, затем шифрует незашифрованную вторую половину сообщения Боба ключом Къ. ЕКъ (В,АЛв)

Алиса не посьшает это сообщение Бобу, 56 битов шифротекста становятся ключом К4. Затем Алиса посы­лает Бобу свое имя, его имя проверочное значение С. Это проверочное значение содержит имена отпра­вителя и получателя, дату, контрольную сумму, количество и два MAC. Все это шифруется DES: сначала ключом К4, затем Кг. Один из MAC может быть проверен банком Алисы, а второй может быть проверен только расчетно-кассовым центром. Алиса уменьшает свой счет на соответствующее значение.

ЕКК(А,В,С))

(4) Боб аналогичным образом вычисляет К4. При условии, что все имена совпадают, и правильно выполнена проверка, он принимает платеж.

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

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

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

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

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

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

CLIPPER

Самым противоречивым моментом микросхемы Clipper, и EES в целом, является протокол условного вруче­ния ключей (см. раздел 4.14). У каждой микросхемы… По словам директора NIST [812]: Предусматривается, что система "с условно врученным ключом" обеспечит использование микросхемы Clipper для…

Глава 25 Политика

25.1 Агентство национальной безопасности (NSA)

NSA - это Агентство национальной безопасности (National Security Agency, когда-то расшифровывалось шутниками как "No Such Agency" (никакое агентство) или "Never Say Anything" (никогда ничего не скажу), но теперь они более открыты), официальный орган правительства США по вопросам безопасности . Агентство бы­ло создано в 1952 году президентом Гарри Труменом в подчинении Министерства безопасности , и многие годы в секрете хранилось сам факт его существования. NSA воспринималось как электронная разведка, в его задачи входило подслушивать и расшифровывать все иностранные линии связи в интересах Соединенных Штатов .

Следующие абзацы взяты из оригинального положения о NSA, подписанного в 1952 году президентом Тру­меном и рассекреченного спустя много лет [1535]:

В задачи COMINT Агентства национальной безопасности (NSA) должны входить эффективные организация и управле­ние разведывательной деятельности Соединенных Штатов в области телекоммуникаций, проводимой против иностранных правительств, чтобы обеспечить целостную действенную политику и соответствующие меры. Используемый в этой директи­ве термин "электронная разведка" ("communications intelligence") или "COMINT" обозначает все действия и методы, исполь­зуемые для перехвата телекоммуникаций, исключая зарубежные прессу и радиовещание, и получения информации, предн а-значенной для приема другим получателем, но исключает цензуру, а также производство и распространение полученной ра з-ведывательной информации.

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

NSA ведет исследования в области криптологии, занимаясь как разработкой безопасных алгоритмов для з а-щиты коммуникаций Соединенных Штатов, так и криптоаналитические методы для прослушивания коммун и-каций за пределами США research. Известно, что NSA является крупнейшим в мире работодателем для матем а-тиков. Оно также является крупнейшим в мире покупателем компьютерной аппаратуры . Возможно криптогра­фический опыт NSA на много лет оторвался от состояния дел в открытой науке (в части алгоритмов, но вряд ли в части протоколов). Несомненно Агентство может взломать многие из используемых сегодня систем . Но, из соображений национальной безопасности, почти вся информация о NSA - даже ее бюджет - засекречена. (По слухам бюджет Агентства составляет около 13 миллиардов долларов в год - включая военное финансирование проектов NSA и оплату персонала - и, по слухам, в нем работает 16 тысяч человек.)

NSA использует свою власть, чтобы ограничить открытую доступность криптографии и помешать наци о-нальным врагам использовать слишком сильные методы шифрования, чтобы Агентство могло их взломать . Джеймс Массей (James Massey) анализирует эту борьбу между научными и военными исследованиями в кри п-тографии [1007]:

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

Джеймс Бэмфорд (James Bamford) написал увлекательную книгу про NSA: The Puzzle Palace [79], (Дворец головоломок), недавно доработанную вместе с Вэйной Медсен (Wayne Madsen) [80].

Коммерческая программа сертификации компьютерной безопасности

дования с Федеральным стандартом 102.7, и затем ССЕР предоставила бы доступ к одобренному правительст­вом криптографическому оборудованию [419]. NSA разработало ряд криптографических модулей различного назначения . В этих…

Табл. 25-1. Модули ССЕР

Применение Тип I Тип Д

Речь/низкоскоростная передача данных Winster Edgeshot
Компьютер Tepache Bulletproof
Высокоскоростная передача данных Foresee Brushstroke

Следующее поколение_______________ Countersign I________ Countersign Д

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

25.2 Национальный центр компьютерной безопасности (NCSC)

Национальный центр компьютерной безопасности (National Computer Security Center, NCSC), отделение NSA, отвечает за доверенную правительственную компьютерную программу. В настоящее время центр прово­дит оценку продуктов компьютерной безопасности (программных и аппаратных), финансирует исследования и публикует их резаультаты, разрабатывает технические руководства и обеспечивает общую поддержку и обуч е-ние.

NCSC издает скандально известную "Оранжевую книгу" [465]. Ее настоящее название - Department of Defense Trusted Computer System Evaluation Criteria (Критерии оценки департамента оборонных доверенных компьютерных систем), но это так трудно выговаривать, и к тому же у книги оранжевая обложка . Оранжевая книга пытается определить требования к безопасности, дает производителям компьютеров объективный способ измерить безопасность их систем и указывает им, что необходимо встраивать в безопасные продукты . Книга посвящена компьютерной безопасности, о криптографии в ней по сути г оворится не очень много.

Оранжевая книга определяет четыре широких категории защиты безопасности . В ней также определяются классы защиты внутри некоторых из этих категорий. Они сведены в 23-й.

Табл. 25-2.
_______________________________ Классификация Оранжевой книги
_______________________________

D:Minimal Security (Минимальная безопасность) С: Discretionary Protection (Защита по усмотрению)

Cl: Discretionary Security Protection (Защита безопасности по усмотрению)

С2: Controlled Access Protection (Защита управляемого доступа) В: Обязательная защита

Bl: Labeled Security Protection

В2: Structured Protection (Структурная защита)

ВЗ: Security Domains (Области безопасности)
A: Verified Protection (Достоверная защита)
_______ Al: Verified Design (Достоверная разработка)________________________________________________

Иногда производители любят говорить "мы обеспечиваем безопасность С2". В виду они имеют классифика­цию Оранжевой книги. За более подробной информацией обращайтесь к [1365]. Модель компьютерной безо­пасности, используемая в этих критериях, называется моделью Bell-LaPadula [100, 101, 102, 103].

NCSC издал целую серию книг по компьютерной безопасности, иногда называемую Радугой книг (все об­ложки имеют различные цвета). Например, Trusted Network Interpretation of the Trusted Computer System Evaluation Criteria [1146] (Интерпретация критериев оценки доверенных компьютерных систем в отношении


доверенных сетей), иногда называемая Красной книгой, толкует положения Оранжевой книги по отношению к сетям и сетевому оборудованию. Trusted Database Management System Interpretation of the Trusted Computer System Evaluation Criteria [1147] (Интерпретация критериев оценки доверенных компьютерных систем в отн о-шении систем управления базами данных) - я даже не пытаюсь описать цвет обложки - делает то же самое для баз данных. Сегодня существует свыше 30 таких книг, цвет обложек некоторых из них отвратителен.

За полным комплектом Радуги книг обращайтесь по адресу Director, National Security Agency, INFOSEC Awareness, Attention: C81, 9800 Savage Road, Fort George G. Meade, MD 2,0755-6000; (301 ) 766-8729. He гово­рите им, что вас послал я.

25.3 Национальный институт стандартов и техники

NIST - это Национальный институт стандартов и техники (National Institute of Standards and Technology), подразделение Министерства торговли США. Ранее он назывался Национальным бюро стандартов (NBS, Na­tional Bureau of Standards) и изменил имя в 1988 году. С помощью своей Лаборатории компьютерных систем (Computer Systems Laboratory, CSL), NIST продвигал открытые стандарты взаимодействия, которые, как он н а-деялся, ускорят развитие основанных на компьютерах отраслях промышленности . К настоящему времени NIST выпустил стандарты и руководства, которые, как он считает, будут приняты всеми компьютерными системами Соединенных Штатов. Официальные стандарты опубликованы как издания FIPS (Федеральные стандарты об­работки информации.

Если вам нужны копии любого из FIPS (или других изданий NIST), свяжитесь с Национальной службой тех­нической информации Министерства торговли США - National Technical Information Service (NTIS), U.S. De­partment of Commerce, 5285 Port Royal Road, Springfield, VA 22161; (703) 487-4650; или посетите go-pher://csrc.ncsl.nist.go*

Когда в 1987 году Конгресс принял Акт о компьютерной безопасности (Computer Security Act), NIST был уполномочен определять стандарты, обеспечивающие безопасность важной, но не секретной информации в пр а-вительственных компьютерных. (Секретная информация и данные Предупреждающей поправки находятся в сфере юрисдикции NSA.) Акт разрешает NIST в ходе оценки предлагаемых технических стандартов сотрудн и-чать с другими правительственными организациями и частными предприятиями .

NIST издает стандарты криптографических функций. Организации правительства США обязаны использо­вать их для важной, но несекретной информации. Часто эти стандарты принимаются и частным сектором . NIST выпустил DES, DSS, SHS и EES.

Все эти алгоритмы разработаны с некоторой помощью NSA, начиная от анализа DES до проектирования DSS, SHS и алгоритма Skipjack в EES. Некоторые критикуют NIST за то, что NSA в большой степени может контролировать эти стандарты, хотя интересы NSA могут не совпадать с интересами NIST. Неясно, как дейст­вительно NSA может повлиять на проектирование и разработку алгоритмов . Но при ограничениях на персонал, бюджет и ресурсы NIST привлечение NSA кажется разумным. NSA обладает большими возможностями, вклю­чая лучшую в мире компьютерные средства.

Официальный "Меморандум о взаимопонимании" ("Memorandum of Understanding", MOU) между двумя ор­ганизациями гласит:

МЕМОРАНДУМ О ВЗАИМОПОНИМАНИИ МЕЖДУ ДИРЕКТОРОМ НАЦИОНАЛЬНОГО ИНСТИТУТА СТАНДА Р-TOB И ТЕХНИКИ И ДИРЕКТОРОМ АГЕНТСТВА НАЦИОНАЛЬНОЙ БЕЗОПАСНОСТИ ОТНОСИТЕЛЬНО ПРИМЕН Е-НИЯ ПУБЛИЧНОГО ЗАКОНА 100-235

Сознавая, что:

A. В соответствии с разделом 2 Акта о компьютерной безопасности от 1987 года (Публичный закон 100-235), (Акт), на
Национальный институт стандартов и техники (NIST) как часть Федерального правительства возлагается ответственность за:

1. Разработку технических , административных, физических стандартов, стандартов управления и руководств для рент а-бельных безопасности и защищенности важной информации Федеральных компьютерных си стем, определенных в Акте; и,

2. Разработку руководств по технической безопасности соответствующих компьютерных систем Агентства национальной безопасности (NSA).

B. В соответствии с разделом 2 Акта NIST обязан работать в тесном взаимодействии с другими организациями, включая
NSА, обеспечивая:

1. Максимальное использование всех существующих и планируемых программ, материалов, исследований и отчетов, к а-сающихся безопасности и защищенности компьютерных систем, чтобы избежать недужного и дорогого дублирования работ ; и,

2. Эти стандарты, разработанные NIST в соответствии с Актом, в максимально возможной степени должны быть согл а-сованы и совместимы со стандартами и процедурами, разработанными для защиты секретной информации в Федеральных компьютерных системах.

C. В соответствии с Актом в обязанности Министра торговли, которые он перепоручает NIST, входит назначение членов
Консультативного комитета по безопасности и защищенности компьютерных систем ( Computer System Security and Privacy
Advisory Board), по крайней мере члена, представляющего NSA.

Следовательно, для обеспечения целей данного MOU Директор NIST и Директор NSA настоящим признают следующее: I. NIST будет:

1. Назначать в Консультативный комитет по безопасности и защищенности компьютерных систем по крайней мере одн о-го представителя, замещающего Директора NSA.


2. Опираться на разработанные NSA руководства по технической безопасности компьютерных систем до той степени, в которой NIST определяет, что эти руководства отвечают требованиям, предъявляемым к защите важной информации в Фед е-ральных компьютерных системах.

3. Признавать сертифицированный NSA рейтинг доверенных систем в соответствии с Программой критериев оценки безопасности доверенных компьютеров без дополнительной экспертизы .

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

5. По возможности избегать дублирования, разграничив совместные работы с NSA для получения помощи NSA.

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

П. NSA будет:

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

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

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

4. Устанавливать стандарты и одобрять изделия для применения в безопасных системах, охватываемых 10 USC раздел 2315 (Поправка Уорнера).

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

III. NIST и NSA будут:

1. Координировать свои планы по обеспечению безопасности и защищенности компьютерных систем, за которые NIST и NSA несут ответственность в соответствии с разделом 6(b) Акта.

2. Обмениваться техническими стандартами и руководствами, если это необходимо для достижения целей Акта .

3. Совместно работать над достижением целей этого меморандума с максимальной эффективностью, избегая ненужного дублирования усилий.

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

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

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

7. Проверять обзоры технической рабочей группы до опубликования всех вопросов, касающихся техники обеспечения безопасности систем, разрабатываемых для использования при защите важной информации в федеральных компьютерных системах, чтобы гарантировать совместимость раскрытия этих тем с национальной безопасностью Соединенных Штатов. Е с-ли NIST и NSA не смогут решить подобный вопрос в течение 60 дней, любая из организаций может поднять этот вопрос п е-ред Министром обороны и Министром торговли. Признается, что данный вопрос с помощью NSC может быть передан для решения Президенту. Никакие действия не должны предприниматься до окончательного решения в опроса.

8. Определять дополнительные рабочие соглашения, заключенные между NSA и NIST, как приложения к этому MOU.

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

/подписано/

РЭЙМОНД.ДЖ.КАММЕР

Исполнительный Директор, Национальный институт стандартов и техники, 24 марта 1989 года

V. О. СТЬЮДМЕН

Вице-адмирал, ВМС США, Директор, Агентство национальной безопасности, 23 марта 1989 года

25.4 RSA Data Security, Inc.

RSA Data Security, Inc. (RSADSI) была основана в 1982 году для разработки, лицензирования и коммерч е-ского использования патента RSA. У компании есть ряд коммерческих продуктов, включая отдельный пакет безопасности электронной почты, и различные криптографические библиотеки (доступные в виде исходных текстов или объектного кода). RSADSI также предлагает на рынке симметричные алгоритмы RC2 и RC4 (см. раздел 11.8). RSA Laboratories, исследовательская лаборатория, связанная с RSADSI, выполняет фундаменталь­ные криптографические исследования и оказывает консультационные услуги .

При заинтересованности в лицензиях или продуктах нужно обращаться к директору по продажам ( Director of Sales, RSA Data Security, Inc., 100 Marine Parkway, Redwood City, CA 94065; (415) 595-8782; факс: (415) 595-1873).


25.5 PUBLIC KEY PARTNERS

Пять патентов, перечисленных в 22-й, принадлежат Public Key Partners (PKP) из Саннивэйла (Sunnyvale), Калифорния, партнерству RSADSI и Care-Kahn, Inc. - родительской компании Cylink. (RSADSI получает 65 процентов прибыли, a Care-Kahn 35 процентов.) РКР утверждает, что эти патенты и 4218582 особенно приме­нимы ко всем способам использования криптографии с открытыми ключами.

Табл. 25-3. Патенты Public Key Partners

 

№ патента Дата Изобретатели Название патента
29.3.80 Hellman, Diffie, Merkle Обмен ключами Diffie-Hellman
19.8.80 Hellman, Merkle Рюкзаки Merkle-Hellman
20.9.83 Rivest, Shamir, Adleman RSA
3.3.84 Hellman, Pohlig Pohlig-Hellman
19.2.91 Schnorr Подписи Schnorr

В [574], PKP писала:

Эти патенты [4200770, 4218582, 4405829 и 4424414] охватывают все известные методы использования искусства откр ы-тых ключей, включая варианты, обобщенно известные как ElGamal.

Благодаря широкому распространению цифровых подписей RSA в международном сообществе Public Key Partners реши­тельно одобряет их включение в стандарт цифровой подписи. Мы заверяем все заинтересованные стороны, что Public Key Partners подчинится всем решениям ANSI и ШЕЕ, касающимся доступности лицензирования этого искусства. Особенно для поддержки любых принимаемых стандартов, использующих цифровую подпись RSA. Public Key Partners настоящим заверя­ет, что лицензии на использование подписей RSA будут предоставляться в разумные сроки, на разумных условиях и без к а-кой-либо дискриминации.

Правда ли это, зависит от того, с кем вы говорите. Лицензии РКР, как правило, секретны, поэтому способа проверить, отличается ли данная лицензия от других, не существует . Хотя компания утверждает, что никому не отказала в выдаче лицензии, по крайней мере две компании говорят о том, что им лицензия выдана не была . РКР тщательно охраняет свои патенты, угрожая всем, кто использует без лицензирования криптографию с от­крытыми ключами. Частично это реакция на патентное законодательство США. Если владельцу патента не уда­ется наказать нарушителя патента, он может потерять свой патент. Было много разговоров о законности этих патентов, но дальше разговоров дело не пошло. Все законные претензии к патентам РКР были урегулированы до суда.

Я не собираюсь в этой книге давать юридические советы. Может быть патент RSA не устоит перед судом. Может быть эти патенты не применимы ко всей криптографии с открытыми ключами . (Честно говоря, я не по­нимаю, как они охватывают ElGamal или криптосистемы с эллиптическими кривыми.) Может кому-то удастся выиграть процесс против РКР или RSADSI. Но не забывайте, что корпорации с огромными юридическими о т-делами, например, IBM, Microsoft, Lotus, Apple, Novell, Digital, National Semiconductor, AT&T и Sun, лицензи­ровали RSA для использования в своих продуктах, а не обращались в суд . Boeing, Shell Oil, DuPont, Raytheon и Citicorp - все лицензировали RSA для своего внутреннего использования.

В одном случае РКР возбудило процесс против TRW Corporation по поводу использования без лицензирова­ния алгоритма ElGamal. TRW утверждала, что ей не нужна лицензия. РКР и TRW достигли соглашения в июне 1992. Подробности урегулирования конфликта неизвестны, но среди них - согласие TRW получить лицензию на патенты. Это не предвещает ничего хорошего. TRW могла позволить себе хороших юристов. Я могу только предположить, что, если бы TRW была уверена, что сможет выиграть процесс, не потратив невероятного кол и-чества денег, она бы не отказалась от борьбы.

Тем не менее в РКР существуют свои внутренние проблемы. В июне 1994 года Care-Kahn подала в суд на RSADSI, заявив, среди всего остального, что патент RSA неправилен и неприменим [401]. Оба партнера попы­тались разорвать свое партнерство. Законны патенты или нет? Нужно ли будет пользователям получать лицен­зию от Care-Kahn, чтобы пользоваться алгоритмом RSA? Кому будет принадлежать патент Schnorr? Возможно это дело будет урегулировано к моменту выхода этой книги.

Патенты действительны лишь в течение Patents 17 лет и не могут быть возобновлены. 29 марта 1997 года обмен ключами Diffie-Hellman (и алгоритм ElGamal) станут общедоступными. 20 сентября 2000 года станет общедоступным и RSA. Пометьте на своих календарях.

25.6 Международная ассоциация криптологических исследований

Международная ассоциация криптологических исследований (International Association for Cryptologic Re­search, IACR) - это всемирная криптографическая исследовательская организация . Ее целью является развитие теории и практики криптологии и связанных областей. Ее членом может стать любой. Ассоциация выступает


спонсором двух ежегодных конференций, Crypto (проводится в августе в Санта-Барбаре) и Eurocrypt (проводится в в Европе), и ежеквартально издает The Journal of Cryptology и IACR Newsletter.

Адрес штаб-квартиры IACR меняется вместе со сменой президента. Текущий адрес: IACR Business Office, Aarhus Science Park, Custav Wieds Vej 10, DK-8000 Aarhus C, Denmark.

25.7 Оценка примитивов целостности RACE (RIPE)

Программа исследования и развития передовых средств связи в Европе (Research and Development in Ad­vanced Communication Technologies in Europe, RACE) была инициирована Европейским сообществом для под­держки предварительной проработки телекоммуникационных стандартов и технологий, поддерживающих И н-тегрированные высокоскоростные средства связи (Integrated Broadband Communication, IBC). В качестве части этой работы RACE учредило консорциум для Оценки примитивов целостности RACE (RACE Integrity Primitives Evaluation, RIPE), чтобы собрать в одно целое пакет технологий, соответствующих возможным требованиям к безопасности IBC.

Консорциум RIPE образовали шесть ведущих европейских криптографических исследовательских групп : Центр по математике и компьютерным наукам (Center for Mathematics and Computer Science), Амстердам; Sie­mens AG; Philips Crypto BV; Royal PTT Nederland NV, PTT Research; Katholieke Univesiteit Leuven и Aarhus Universitet. После объявлений о приеме алгоритмов в 1989 и 1991 годах [1564], подачи 32 заявок, присланных со всего мира, и собственно оценивающего проекта длительностью 350 человеко-месяцев, консорциум опубли­ковал RIPE Integrity Primitives [1305, 1332]. Отчет содержит введение, несколько основных концепций целост­ности и их примитивы: MDC-4 (см. раздел 14.11), RIPE-MD (см. раздел 14.8), RIPE-MAG (см. раздел 14.14), IBC-HASH, SKID (см. раздел 3.2), RSA, COMSET (см. раздел 16.1) и генерацию ключей RSA.

25.8 Условный доступ для Европы (CAFE)

Условный доступ для Европы (Conditional Access for Europe, CAFE) - это проект в рамках программы ES­PRIT Европейского сообщества [204, 205]. Работа началась в декабре 1992 года и по плану должна закончиться к концу 1995 года. Образованный консорциум состоит из груп социальных исследований и исследований рынка (Cardware, Institut fur Sozialforschung), изготовителей программного обеспечения и аппаратуры (DigiCash, Cem-plus, Ingenico, Siemens), а также криптографов (CWI Amsterdam, PTT Research Netherlands, SPET, Sintef Delab Trondheim, Universities of Arhus, Hildesheim and Leuven).

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

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

У устройства с клавиатурой и экраном есть определенное преимущество перед интеллектуальной картой -оно может работать независимо от терминала. Пользователь может непосредственно ввести свой пароль и сум­му платежа. Отличие от кредитной карты пользователю не нужно отдавать свой бумажник кому-то, чтобы в ы-полнить транзакцию. Дополнительными возможностями являются:

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

— Устойчивость к потерям. Если пользователь потеряет свой бумажник, или бумажник сломается, или его украдут, пользователь не потеряет свои деньги.

— Поддержка различных валют.

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

— Низкая стоимость.

К моменту написания этой книги существует только программная версия системы, и консорциум плотно р а-ботает над аппаратным прототипом.


ISO/IEC 9979

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

Табл. 25-4.

Зарегистрированные алгоритмы

ISCMEC 9979

1 B-CRYPT 2 IDEA 3 LUC

ПослесловиеМэттаБлейза

Высококачественные шифры и протоколы являются важными средствами, но сами по себе они не заменяют реалистичных, критических размышлений о том, что… NSA в ответ на вопрос, может ли правительство вскрывать DES, язвительно… 1. Печальное состояние программного обеспечения. Всем известно, что никто не знает, как писать про­граммное…

– Конец работы –

Используемые теги: схемы, идентификации0.057

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Схемы идентификации

Что будем делать с полученным материалом:

Если этот материал оказался полезным для Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Еще рефераты, курсовые, дипломные работы на эту тему:

Административно-правовые отношения: понятие, структура (в виде схемы), классификация (в виде схемы).
При этом было заявлено, что там задержание продлится как ми-нимум на трое суток.Вопросы: 1. В каких случаях и на сколько происходит административное… Задание 5. Составить логическую схему «Пересмотр постановлений и решений по… Задание 1. Раскрыть вопрос. Административно-правовые отношения: понятие, структура (в виде схемы), клас-сификация (в…

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

Геометрические схемы пересечений в разных уровнях (схемы полных и неполных развязок).
На сайте allrefs.net читайте: Геометрические схемы пересечений в разных уровнях (схемы полных и неполных развязок)....

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

Структурная схема системы слежения за временным положением. Обобщенные функциональная и структурная схемы радиотехнических следящих систем
Таким образом, система АРУ необходима для расширения динамического диапазона, чтобы избежать перегрузки каскадов и искажения амплитудной модуляции и… Напряжение задержки Uзад используется для того, что бы повысить уровень…

КЛАССИФИКАЦИЯ И ГАБАРИТНЫЕ СХЕМЫ
И ГАБАРИТНЫЕ СХЕМЫ ПРОИЗВОДСТВЕННЫХ ЗДАНИЙ В создаваемом объеме производ ственного здания...

Особенности родословных при аутосомно-доминантном, аутосомно-рецессивном и сцепленным с полом наследовании. Составление и анализ родословных схем
Методы изучения наследственности генеалогический метод... Особенности родословных при аутосомно доминантном аутосомно рецессивном и... Генеалогический метод метод анализа родословных в генетических исследованиях человека...

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

Принципы культивирования бактерий. Выделение и идентификация чистых культур бактерий. Культивирование анаэробов
Занятие Дата Тема Принципы культивирования бактерий Выделение и идентификация чистых культур бактерий Культивирование анаэробов... Таблица Классификация питательных сред Группа питательных сред... Протокол ВЫДЕЛЕНИЕ И ИДЕНТИФИКАЦИЯ ЧИСТЫХ КУЛЬТУР БАКТЕРИЙ...

Реформатский А. А СХЕМА РАЗМЕЩЕНИЯ ЯЗЫКОВЫХ СЕМЕЙ И ОБЪЕДИНЕНИЙ
СХЕМА РАЗМЕЩЕНИЯ ЯЗЫКОВЫХ СЕМЕЙ И ОБЪЕДИНЕНИЙ...

0.038
Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • По категориям
  • По работам