<< Предыдущая

стр. 51
(из 82 стр.)

ОГЛАВЛЕНИЕ

Следующая >>

12.3.4. SPKI
Чтобы устранить некоторые недостатки, присущие стандарту Х509^
был предложен другой тип сертификатов, SPKI (сокр. от Simple
Public Key Infrastructure — простая инфраструктура открытых клю­
чей). Эта система призвана решать вопросы авторизации так же
хорошо, как и проблемы идентификации. Кроме того, в ней преду­
смотрена возможность делегирования полномочий. Такие возмож­
ности могут оказаться более подходящими для сделок по Интерне­
ту. Например, когда отдельные менеджеры уходят в отпуск, они
могут делегировать свои полномочия относительно определенных
действий своим подчиненным.
SPKI не предполагает наличие глобальной иерархической струк­
туры центров сертификатов, что имеет место в случае стандарта
Глава 12. Получение аутентичного открытого ключа

Х509. Здесь используется более детализированный подход, похожий
на PGP. Однако в настоящее время SPKI не находит широкого при­
менения, поскольку продавцы инфраструктуры открытых ключей
интенсивно инвестируют стандарт Х509 и, вероятно, не спешат пе­
реключаться на новую систему (кроме того, программное обеспече­
ние персональных компьютеров, например. Ваш веб-браузер, тоже
должно было бы претерпеть суп1;ественные изменения при переходе
к новому стандарту).
J\R^ написания сертификатов вместо языка ASN.1 SPKI упо­
требляет S-выражения. Это LISP-подобные структуры^, очень про­
стые в использовании и описании. Кроме того, S-выражения легки
для понимания, в отличие от сертификатов Х509^ которые могут
разобрать только компьютеры. Предусмотрен также удобный ин­
терфейс для облегченного восприятия S-выражений.
Каждый 5'Р71Г/-сертификат содержит открытые ключи (или их
хэш-значения) создающего сертификат центра и объекта сертифи­
цирования. Никакие имена в него не входят, поскольку авторы SPKI
полагают, что только ключ имеет значение, но не имя. Кроме все­
го прочего, именно ключ используется для подписания документов
и т. п. Перенос акцента на ключи означает, что в этой системе боль­
шое внимание уделяется функциональности. Разработаны два типа
5PiiГ/-cepтификaтoв: один для аутентификации ключей, а другой —
для их авторизации. Они представлены как кортеж из 4 или 5 объ­
ектов, о котором сейчас пойдет речь.

12.3.4-1. Кортеэю SPKI из четырех объектов. Для аутенти-
фицирующего сертификата и привязки ключа к имени, как это де­
лает Х509^ SPKI использует 4-объектную структуру. Это рабочее
абстрактное название, отражающее четыре составные части серти­
фиката:
(Создатель, Имя, Объект, Период действия).
На практике каждый сертификат состоит фактически из следую­
щих пяти полей:
- открытый ключ создателя;
- имя субъекта;
- открытый ключ субъекта;
- период действия;

^LISP — сокр. от list processing language — язык обработки списков Лисп (язык
программирования). — Прим. перев.
12.3. Пример прилооюения инфраструктуры открытых ключей

- подпись создателя сертификата на тройке (Имя, Объект, Пе­
риод действия).
Любой способен сделать такой сертификат и, следовательно, стать ЦС.
12.3.4-2. Кортеэю SPKI из пяти объектов. Такая система
применяется ^ля авторизации ключей. Опять-таки, это условное на­
звание, обозначающее 5 составных разделов сертификата:
(Создатель, Объект, Делегирование, Авторизация, Период действия).
В реальной жизни сертификат насчитывает шесть полей:
- открытый ключ создателя;
- открытый ключ субъекта;
- делегирование, т.е. знак «Да» или «Нет», означаюш;ий, может
ли субъект делегировать полномочия или нет;
- авторизация: что, собственно, может делегировать субъект;
- период действия авторизации;
- подпись создателя сертификата на четверке (Объект, Делеги­
рование, Авторизация, Период действия).
Можно комбинировать сертификат авторизации с сертификатом
аутентифицирования для получения контрольного следа. В этом воз­
никает потребность, поскольку сертификат авторизации лишь по­
зволяет совершать какие-либо действия с ключом, но не сообщает,
кто ключом владеет. Ц^ля привязки ключа к имени надо использо­
вать сертификат аутентифицирования.
После проверки комбинации сертификатов процедура 5-объект-
ного SPKI считается выполненной. Комбинирование сертификатов
осуществляется по следующему правилу редукции:
(/ь 5 ь А , ^ 1 , Fi) + (/2,52,2^2, vl2,1^2) = (/ь ^2, ^'г, Ai П Л2, Fi П F2),
где li — создатель. Si — объект, D2 — делегирование, Ai — авто­
ризация, Vi — срок действия. Равенство верно, только если
Si^D2 и Di= Да.
Это означает, что два сертификата, сцепленные вместе, можно ин­
терпретировать как третий. Последний кортеж пяти объектов фак­
тически не является сертификатом, а лишь представляет сцепку
первых двух.
В качестве примера покажем, что комбинация двух кортежей
эквивалентна делегированию полномочий. Предположим, первый сер­
тификат состоит из реквизитов, вьшисанных на следующей странице.
Глава 12, Получение аутентичного открытого ключа

- Ii = Алиса;
- Si= Боб;
- Di= Да;
- Ai = снять ?100 со счета Алисы;
- Vi = неограничено.
Этим сертификатом Алиса разрешает Бобу снять со своего счета
?100 и позволяет перепоручить это действие любому по его выбору.
Теперь рассмотрим другой 5-объектный кортеж:
-12 = Боб;
- S2 = Чарли;
- D2 = Нет;
- А2 = снять сумму от ?50 до ?200 со счета Алисы;
- V2 = до завтрашнего утра.
Этим Боб поручает Чарли снять сумму между ?50 и ?200 со счета
Алисы, причем это должно произойти до завтрашнего утра.
Сцепим эти два сертификата, руководствуясь правилом редук­
ции, и получим новый 5-объектный набор:
- Is = Алиса;
- Ss = Чарли;
- Ds = Нет;
- As = снять сумму от ?50 до ?200 со счета Алисы;
- Vs = до завтрашнего утра.
Так как Алиса разрешила Бобу делегировать полномочия, то по­
лучилось, что она фактически поручает Чарли снять деньги с ее
счета до завтрашнего утра.


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

еш;е имеет силу. Такая задача подводит нас к понятию временной
маркировки.
Временная маркировка означает, что доверенное лицо добавля­
ет к подписанному сообш;ению вставку даты и времени, и подписы­
вает всю совокупность с помощью своего собственного секретного
ключа. Это свидетельствует о времени проставления основной под­
писи (подобно нотариальной службе при стандартном страховании
жизни). Однако при этом возникает условие: открытый ключ, слу­
жащий для временной маркировки, никогда не может быть анну­
лирован. Альтернативой временной маркировке служит использо­
вание безопасного архива подписанных документов.
Другое приложение доверенной третьей стороны связано с про­
блемой хранения действительно секретных ключей, предназначен­
ных для шифрования.
- Если секретный ключ будет потерян или забыт, то Вы поте­
ряете все зашифрованные данные.
- Если хранитель ключа увольняется из компании или его устра­
няют, то у компании возникает необходимость получить до­
ступ к зашифрованным данным без участия хранителя.
- Если пользователь совершил преступление, то органы право­
порядка должны иметь возможность изучить всю его заши­
фрованную информацию.
Одно из решений описанных проблем состоит в том, чтобы отдать
кому-то на хранение копию Вашего секретного ключа на случай
его потери или другого неблагоприятного стечения обстоятельств.
С другой стороны, передача ключа какому-то постороннему лицу
(в том числе и государственным органам) — крайне опасное меро­
приятие.
Выход из положения — условное депонирование ключей^ осуще­
ствляющееся посредством схемы разделения секрета. Здесь секрет­
ный ключ разбивается на части, каждую из которых можно про­
верить и убедиться в ее корректности. Части раздаются доверен­
ным лицам. Как только возникает необходимость в восстановлении
ключа, некоторые из доверенных лиц могут собраться вместе и,
используя свои части, сделать это. Привлечение третьих лиц для
процедуры условного депонирования ключей — пример использо­
вания третьей доверенный стороны, поскольку Вы действительно
должны им доверять. Фактически, требование доверия настолько
высоко, что такое решение было главным предметом споров в кри­
птографии и правительственных кругах в прошлом. Распределение
Глава 12, Получение аутентичного открытого ключа


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


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

Таблица 12.1. Размеры ключей и подписей в сертификатах
RSA DSA EC-DSA
Ключ пользователя 1024 1024 160
Подпись ЦС 1024 320 320

Данные таблицы означают, что в RSA используется 1024-битовый
модуль, в DSA применяется 1024-битовое простое число р, а в EC-
DSA 160-битовая кривая. Следовательно, например, если ЦС для
подписи ключа в 1024-битовом DSA прибегает к 1024-битовому ал­
горитму RSA^ то общий размер сертификата должен состоять по
крайней мере из 2048 знаков. Возникает интересный вопрос: можно
ли уменьшить размер сертификатов?
Неявные сертификаты позволяют этого добиться. Они выглядят
как Х|У, где X — данные, связанные с открытым ключом, а У —
неявный сертификат для X, Опираясь на У, нам необходимо уметь
восстанавливать открытый ключ, ассоциированный с данными X, и
доказывать производство сертификата определенным ЦС. В систе­
ме, основанной на DSA или EC-DSA^ которую мы сейчас предста­
вим, размер Y будет равен 1024 или 160 битов, соответственно. Та­
ким образом, размер сертификата уменьшается до размера ключа,
который необходимо сертифицировать.

12.5Л. Описание системы
ЦС выбирает открытую группу А известного порядка N и элемент
Р е А, После этого он берет долговременный секретный ключ с и
вычисляет открытый ключ Q = Р^, Открытый ключ должен быть
известен всем пользователям.
12.5. Неявные сертификаты 333

12.5.2. З а п р о с с е р т и ф и к а т а
Предположим, Алиса хочет получить сертификат и открытый ключ,
связанный с информацией /JD, которая может быть, например, ее
именем. Алиса вычисляет эфемерный секретный ключ t, соответ­
ствующий открытый ключ R — P^i^ посылает R вместе с ID центру
сертификатов.

12.5.3. О б р а б о т к а з а п р о с а
ЦС проверяет, что он получил ID именно от Алисы, выбирает дру­
гое случайное число к и вычисляет
Г1 __ р^ Т) -^ рк pt __ pk-bt

Затем он находит
S = C'h{ID\\G) + k (modiV)
и отсылает Алисе пару (G, S). Неявным сертификатом служит пара
{ID,G). Теперь нужно убедиться, что
- Алиса сможет восстановить законную ключевую пару;
- любой другой пользователь сможет извлечь открытый ключ
Алисы из этого сертификата.

12.5.4. Д е й с т в и я А л и с ы
Алиса обладает следующей информацией:
t, S, R^PK

Отсюда она может узнать свой секретный ключ
a^t^S (modiV).
Заметим, что секретный ключ Алисы известен только ей, но не ЦС.
Кроме того, у Алисы есть еще случайно выбранное число t, а у цент­
ра сертификатов — к. Открытый ключ Алисы:
ра __ pt-\˜S __ ptpS _. D . pS


12.5.5. Д е й с т в и я п о л ь з о в а т е л я
Поскольку информация о S и R открыта, пользователь, скажем Боб,
может узнать открытый ключ Алисы, вычисляя R • Р^. Но это дей­
ствие ничего не скажет о связи между ЦС, открытым ключом Алисы
и информацией ID. Вместо этого Боб восстанавливает открытый
Глава 12. Получение аутентичного открытого ключа

ключ из неявного сертификата (/D, G) и открытого ключа Q цен­
тра сертификатов:
ра ^ Qh{ID\\G)Q^

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

<< Предыдущая

стр. 51
(из 82 стр.)

ОГЛАВЛЕНИЕ

Следующая >>