Протоколы, основанные на идентификационной информацииНаряду с использованием сертифицированного справочника для аутентификации абонентов в протоколах распределения ключей используется также метод, основанный на идентификационной информации (identity-based). Каждый абонент A при регистрации в сети связи получает идентификатор и соответствующее ему значение , для вычисления которого по требуется инвертировать некоторую (предположительно одностороннюю) функцию. Идентификатор публикуется в общедоступном сертифицированном справочнике, а значение хранится абонентом A в секрете. В протоколе распределения ключей, основанном на идентификационной информации, абонент A использует при вычислении своего сообщения, а любой другой абонент, зная , может убедиться, что сообщение действительно пришло от A. Приведем описания двух протоколов, основанных на идентификационной информации. В них является подписью согласно некоторым схемам электронной подписи.
Этот протокол появился в работе [G] (см. также [Bur]). Пусть -- большое простое число, а -- некоторый порождающий группы , известные как центру доверия, так и всем абонентам сети связи. Центр доверия выбирает свой секретный ключ и сообщает абонентам открытый ключ . При регистрации абонента (скажем, A) центр доверия вычисляет подпись его идентификатора по схеме Эль Гамаля [EG85], т. е. и , где секретно, а -- некоторая хэш-функция. После этого центр доверия передает (секретный ключ A) только абоненту A, а (открытый ключ A) помещает в общедоступный сертифицированный справочник. Теперь если абоненты A и B хотят выработать общий секретный ключ, они выполняют следующие действия: 1. A выбирает , вычисляет и посылает его вместе с участнику B, сохраняя в секрете. 2. B выбирает , вычисляет и посылает его вместе с участнику A, сохраняя в секрете. 3. A вычисляет . 4. B вычисляет . Из сравнений и следует, что является искомым общим секретным ключом.
Описание этого протокола, предложенного в работе Окамото и Танаки [OT], взято из работы Л. М. Ухлинова [У2]. Этот протокол разработан (и реализован) для интеллектуальных карточек. Пусть центром доверия выбраны различные большие простые числа и , числа и такие, что , и элемент достаточно большого порядка. Для каждого абонента A центр доверия вычисляет , где -- идентификатор A, и сообщает , , и этому абоненту, сохраняя , и в секрете. Отметим, что является подписью по схеме RSA (см. [RSA]). Считается также, что всем абонентам известна некоторая трехместная хэш-функция . Протокол заключается в следующем: 1. A выбирает , вычисляет , , , где -- текущее время, и посылает , , , абоненту B, сохраняя в секрете. 2. B вычисляет и проверяет истинность сравнения . Если оно истинно, то сообщение, пришедшее от A, признается подлинным. В этом случае B выбирает , вычисляет , , , где -- текущее время, и посылает , , , абоненту A, сохраняя в секрете. 3. A вычисляет и проверяет истинность сравнения . Если оно истинно, то сообщение, пришедшее от B, признается подлинным. В этом случае A вычисляет . 4. B вычисляет . Ясно, что . Поэтому является искомым общим секретным ключом. Протокол Ингемарссона -- Танга – Вонга. Мы приведем протокол для конференц-связи, являющийся обобщением протокола Диффи -- Хеллмана и предложенный в работе Ингемарссона, Танга и Вонга [ITW]. Введем обозначения. Пусть -- число абонентов, желающих выработать общий секретный ключ. Обозначим этих абонентов элементами кольца , сложение и вычитание в котором будет обозначаться через и . Предполагается, что всем абонентам известны большое простое число и порождающий группы . Протокол состоит из шагов. Каждый шаг (скажем, -й) состоит в том, что каждый абонент вычисляет сообщение и, если , посылает его абоненту . Действия абонента на -м шаге в этом протоколе имеют следующий вид: I. Если , то выбрать , вычислить и переслать его абоненту . II. Если , то вычислить , используя сообщение , полученное от абонента на -м шаге. Если , то переслать сообщение абоненту . Если же , то положить в качестве общего секретного ключа. Очевидно, что в этом протоколе , и общий секретный ключ каждого абонента равен
|