Способ обмена криптографическими ключами между компьютерным блоком пользователя и сетевым компьютерным блоком

Реферат

 

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

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

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

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

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

Известными являются различные несимметричные способы для использующего ЭВМ обмена криптографическими ключами. Несимметричными способами, пригодными для мобильных систем радиотелефонной связи, являются (A. Aziz, W.Diffie "Privacy and Authentication for Wireless Local Area Networks", IEEE Personal Communications, 1994, стр. 25-31) и (М. Beller "Proposed Authenticationand Kay Agreement Protocol for PCS", Join Experts Meeting on Privacy and Authentication for Personal Communications, P&A JEM 1993, стр. 1 - 11).

Описанный в (A. Aziz, W. Diffie "Privacy and Authentication for Wireless Local Area Networks", IEEE Personal Communications, 1994, стр. 25 - 31) способ основывается явно на местных сетях и предъявляет высокие требования к вычислительной мощности компьютерных блоков партнеров по связи во время обмена ключами. Кроме того, в способе требуется большая емкость передачи, чем в способе согласно изобретению, так как длина сообщений является больше, чем в способе согласно изобретению.

Описанный в (М. Seller "Proposed Authenticationand Kay Agreement Protocol for PCS", Join Experts Meeting on Privacy and Authentication for Personal Communications, P&A JEM 1993, стр. 1 - 11) способ не включает некоторые принципиальные механизмы защиты. Явная аутентификация сети пользователем не достигается. Кроме того, передаваемый пользователем к сети ключ не подтверждается сетью потребителю. Не предусмотрена также гарантия свежести (актуальности) ключа для сети. Дальнейший недостаток этого способа состоит в ограничении его способом Рабина (Rabin) при неявной аутентификации ключа пользователем. Это ограничивает способ в гибкости применения. Кроме того, не предусмотрен никакой механизм защиты, который гарантировал бы бесспорность переданных данных. Это является значительным недостатком прежде всего также при осуществлении бесспорных тарифных расчетов для мобильной системы радиотелефонной связи. Также ограничение способа на National Institute of Standards in Technology (NIST DSS) в качестве используемой функции подписи ограничивает способ в его общей применимости.

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

Эта проблема решается за счет способа согласно пункту 1 формулы изобретения.

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

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

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

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

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

Чертежи представляют предпочтительные примеры выполнения изобретения, которые ниже описываются более подробно.

При этом на фигурах показано: фигуры 1a, b - схема последовательности операций, которая представляет соответствующий изобретению способ согласно пункту 1 формулы изобретения; фигуры 2а, b - эскиз, который представляет соответствующий изобретению способ согласно пункту 3 формулы изобретения.

Изобретение поясняется дальше на фигурах 1а, b и 2а, b.

На фигурах 1a, b представлена с помощью эскиза последовательность операций соответствующего изобретению способа согласно пункту 1 формулы изобретения. В этом способе предполагается, что в компьютерном блоке пользователя U имеется в распоряжении заслуживающий доверия открытый ключ сети gs. Кроме того, предполагается, что в сетевом компьютерном блоке N имеется в распоряжении заслуживающий доверия открытый ключ пользователя gu.

Описанный на фигурах 1а, b соответствующий изобретению способ начинается с генерирования первого случайного числа t в сетевом компьютерном блоке N. Из первого случайного числа t генерирующим элементом g конечной группы в сетевом компьютерном блоке N образуют первое значение gt.

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

После вычисления первого значения gt формируют первое сообщение М1, которое содержит, по крайней мере, первое значение gt. Первое сообщение M1 кодируют в сетевом компьютерном блоке N и передают к компьютерному блоку пользователя U. В компьютерном блоке пользователя U первое сообщение М1 декодируют.

Кроме того, в компьютерном блоке пользователя U формируют второе случайное число r. Из второго случайного числа r вычисляют второе значение gt генерирующим элементом g в соответствии с выбранной ранее описанной вычислительной структурой.

Открытый ключ сети, который имеется в распоряжении в компьютерном блоке пользователя U, потенциируют (возводят в степень) со вторым случайным числом r и формируют таким образом первый промежуточный ключ К1.

Первым промежуточным ключом К1 при применении алгоритма шифрования ENC шифруют указание идентичности (данные опознавания) IMUI компьютерного блока пользователя U. Зашифрованное указание идентичности IMUI образует первый зашифрованный член (терм) VTI.

Кроме того, в компьютерном блоке пользователя U вычисляют второй промежуточный ключ К2, потенциируя первое значение gt с секретным ключом пользователя u.

Ключ сеанса работы К вычисляют за счет побитового применения функции "исключительное ИЛИ" к первому промежуточному ключу К1 и второму промежуточному ключу К2. Первый ответ A образуется путем шифрования постоянной пользователя constu, которая известна как компьютерному блоку пользователя U, так и сетевому компьютерному блоку N, ключом сеанса работы K с применением функции f.

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

Затем в компьютерном блоке пользователя U формируют второе сообщение М2, причем второе сообщение М2 содержит, по крайней мере, второе значение gr, первый зашифрованный член VT1 и первый ответ A. Второе сообщение М2 кодируют в компьютерном блоке пользователя U и передают к сетевому компьютерному блоку N.

За счет переданного во втором сообщении М2 второго значения gr для сетевого компьютерного блока N является возможным самому сформировать первый промежуточный ключ К1 без необходимости передачи первого промежуточного ключа К1. Это достигается, так как только компьютерный блок пользователя U и сетевой компьютерный блок N находятся во владении первым промежуточным ключом К1.

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

После приема второго сообщения М2 второе сообщение М2 декодируют в сетевом компьютерном блоке N. После этого в сетевом компьютерном блоке N вычисляют первый промежуточный ключ К1 за счет того, что второе значение gr потенциируют с секретным ключом сети s. Таким образом, сетевой компьютерный блок N может дешифровать первый переданный зашифрованный член VT1 с первым ранее вычисленным промежуточным ключом К1.

Производят дешифровку первого зашифрованного члена VT1 и тем самым аутентифицируют компьютерный блок пользователя U в качестве передатчика второго сообщения М2. Из потенциирования открытого ключа пользователя gu, который имеется заслуживающим доверия образом в распоряжении в сетевом компьютерном блоке N, с первым случайным числом t в сетевом компьютерном блоке N формируют второй промежуточный ключ К2.

Ключ сеанса работы К в сетевом компьютерном блоке N так же, как в компьютерном блоке пользователя U, вычисляют путем побитовой логической связи "исключительное ИЛИ" первого промежуточного ключа К1 со вторым промежуточным ключом К2.

С помощью ключа сеанса работы K с применением функции f контролируют первый ответ A. Проверка в зависимости от вида функции f может производиться различным образом.

Явная аутентификация компьютерного блока пользователя (U) достигается первым ответом (A), так как кроме сетевого компьютерного блока (N) только компьютерный блок пользователя (U) знает ключ сеанса работы (K).

Если функция f реализована симметричной функцией шифрования, является возможным производить проверку первого ответа A двумя способами: Известная сетевому компьютерному блоку N постоянная пользователя constu может зашифровываться ключом сеанса работы K с применением функции f в сетевом компьютерном блоке N и результат может сравниваться непосредственно с первым ответом A. При совпадении результата с первым ответом A гарантирована корректность ключа K.

Возможным, однако, является также дешифровать первый ответ A вычисленным в компьютерном блоке N ключом сеанса работы K и сравнивать полученную за счет этого расшифрованную постоянную пользователя constu' с известной постоянной пользователя constu.

При совпадении постоянной пользователя constu с расшифрованной постоянной пользователя constu' точно также гарантирована корректность ключа сеанса работы K.

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

После этого в сетевом компьютерном блоке N проверенным ключом сеанса работы К шифруют постоянную пользователя constn с применением функции f и формируют второй ответ B.

В сетевом компьютерном блоке N формируют третье сообщение M3, которое содержит, по крайней мере, второй ответ B. В сетевом компьютерном блоке N третье сообщение M3 кодируют и передают к компьютерному блоку пользователя U.

В компьютерном блоке пользователя U третье сообщение М3 декодируют и после этого проверяют второй ответ соответствующим образом, как это было описано выше для первого ответа A в сетевом компьютерном блоке N.

Для случая, что в компьютерном блоке пользователя U открытый ключ gs, а в сетевом компьютерном блоке N открытый ключ gu являются неизвестными или соответственно не имеются в заслуживающей доверия форме, применяется форма дальнейшего развития изобретения согласно пункту 3 формулы изобретения. Эта форма дальнейшего развития изобретения представлена на фигурах 2а, b.

Если для обмена открытым ключом сети gs и открытым ключом пользователя gu предусмотрено применение сертификата пользователя CertU и сертификата сети CertN, то может быть предпочтительным, если при наличии множества заслуживающих доверия сертифицирующих инстанций компьютерный блок пользователя U сообщает сетевому компьютерному блоку N, какой сертифицирующей инстанцией компьютерный блок пользователя U может верифицировать сертификат сети CertN.

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

После того как сетевой компьютерный блок N получил сертификат сети CertN от сертифицирующего компьютерного блока CA, сертификат сети CertN передают на компьютерный блок пользователя U.

Это происходит таким образом, что к первому сообщению M1 дополнительно добавляют сертификат сети CertN. В компьютерном блоке пользователя U после декодирования первого сообщения М1 в этом случае верифицируют сертификат сети CertN и тем самым компьютерный блок пользователя U получает заслуживающий доверия открытый ключ сети gs.

В компьютерном блоке пользователя U опять-таки определяют сертификат пользователя CertU и вместо указания идентичности IMUI компьютерного блока пользователя U шифруют с первым промежуточным ключом К1 с применением функции шифрования Enc в первый зашифрованный член VT1. Таким образом становится возможной передача сертификата пользователя CertU без раскрытия идентичности компьютерного блока пользователя U непосвященному третьему лицу при передаче второго сообщения М2. После дешифровки первого члена VT1 в сетевом компьютерном блоке N полученный за счет этого сертификат пользователя CertU верифицируют сетевым компьютерном блоком N. Таким образом достигается заслуживающий доверия обмен сертификата сети CertN и сертификата пользователя CertU.

Формула изобретения

1. Способ обмена криптографическими ключами между компьютерным блоком пользователя и сетевым компьютерным блоком, при котором в сетевом компьютерном блоке (N) генерируют первое случайное число (t), из первого случайного числа (t) с помощью генерирующего элемента (g) конечной группы вычисляют первое значение (gt), затем формируют первое сообщение (М1), которое содержит, по крайней мере, первое значение (gt), и первое сообщение (М1) передают от сетевого компьютерного блока (N) к компьютерному блоку пользователя (U), в компьютерном блоке пользователя (U) генерируют второе случайное число (r), а из второго случайного числа (r) с помощью генерирующего элемента (g) конечной группы формируют второе значение (gr), в сетевом компьютерном блоке вычисляют ключ сеанса работы посредством логического объединения первого промежуточного ключа со вторым промежуточным ключом, отличающийся тем, что в компьютерном блоке пользователя (U) вычисляют первый промежуточный ключ (К1) таким образом, что открытый ключ сети (gs) потенциируют со вторым случайным числом (r), вычисляют второй промежуточный ключ (К2) таким образом, что первое значение (gt) потенциируют с секретным ключом пользователя (u) и вычисляют ключ сеанса работы (К) путем логического объединения первого промежуточного ключа (К1) со вторым промежуточным ключом (К2), затем формируют второе сообщение (М2), которое содержит, по крайней мере, второе значение (gr), и второе сообщение (М2) передают от компьютерного блока пользователя (U) к сетевому компьютерному блоку (N), в сетевом компьютерном блоке (N) вычисляют первый промежуточный ключ (К1) таким образом, что второе значение (gr) потенциируют с секретным ключом сети (s), вычисляют второй промежуточный ключ (К2) таким образом, что открытый ключ пользователя (gu) потенциируют с первым случайным числом (t) и вычисляют ключ сеанса работы (К) путем логического объединения первого промежуточного ключа (К1) со вторым промежуточным ключом (К2).

2. Способ по п.1, отличающийся тем, что в компьютерном блоке пользователя (U) вычисляют первый зашифрованный член (VT1) путем шифрования указания идентичности (IMUI) компьютерного блока пользователя (U) первым промежуточным ключом (К1) с применением функции шифрования (Enc), при этом второе сообщение (М2) дополнительно содержит, по крайней мере, первый зашифрованный член (VTI), а в сетевом компьютерном блоке (N) расшифровывают первый зашифрованный член (VTI) и проверяют указание идентичности (IMUI) компьютерного блока пользователя (U).

3. Способ по п. 1, отличающийся тем, что в компьютерном блоке пользователя (U) ключ сеанса работы (К) вычисляют путем побитового применения функции ИСКЛЮЧАЮЩЕЕ ИЛИ к первому промежуточному ключу (К1) и второму промежуточному ключу (К2), а в сетевом компьютерном блоке (N) ключ сеанса работы (К) вычисляют путем побитового применения функции ИСКЛЮЧАЮЩЕЕ ИЛИ к первому промежуточному ключу (К1) и второму промежуточному ключу (К2).

4. Способ по любому из пп.1 - 3, отличающийся тем, что в компьютерном блоке пользователя (U) формируют первый ответ (А) путем шифрования постоянной пользователя (constu) ключом сеанса работы (К) с применением функции (f), причем второе сообщение (М2) дополнительно содержит, по крайней мере, первый ответ (А), а первый ответ (А) проверяют в сетевом компьютерном блоке (N).

5. Способ по любому из пп.1 - 4, отличающийся тем, что в сетевом компьютерном блоке (N) формируют второй ответ (В) путем шифрования постоянной сети (constn) ключом сеанса работы (К) с применением функции (f) и передают третье сообщение (М3) от сетевого компьютерного блока (N) к компьютерному блоку пользователя (U), причем третье сообщение (М3) содержит, по крайней мере, второй ответ (В), а второй ответ (В) проверяют в компьютерном блоке пользователя (U).

6. Способ по любому из пп.1 - 5, отличающийся тем, что в начале обмена передают сообщение сертификации от компьютерного блока пользователя (U) к сетевому компьютерному блоку (N), причем сообщение сертификации содержит, по крайней мере, указание идентичности сертификационного компьютерного блока, который поставляет сертификат сети (CertN), который может верифицироваться компьютерным блоком пользователя (U).

7. Способ по п.6, отличающийся тем, что первое сообщение (М1) дополнительно содержит сертификат сети (CertN) открытого ключа сети (gs) сетевого компьютерного блока (N), в компьютерном блоке пользователя (U) верифицируют сертификат сети (CertN) и формируют первый зашифрованный член (VTI) путем шифрования сертификата пользователя (CertU) открытого ключа пользователя (gu) первым промежуточным ключом (К1) с применением функции шифрования (Enc), а в сетевом компьютерном блоке (N) верифицируют сертификат пользователя (CertU).

8. Способ по п. 5, отличающийся тем, что функция (f) представляет собой симметричный алгоритм шифрования или хеш-функцию или однонаправленную функцию, проверка первого ответа (А) в сетевом компьютерном блоке (N) состоит в том, что функцию (f) применяют к постоянной пользователя (constu) и вычисленному в сетевом компьютерном блоке (N) ключу сеанса работы (К), а результат проверяют с первым ответом (А) на совпадение, при этом проверка второго ответа (В) в компьютерном блоке пользователя (U) состоит в том, что функцию (f) применяют к постоянной сети (constn) и вычисленному в компьютерном блоке пользователя (U) ключу сеанса работы (К), а результат проверяют со вторым ответом (В) на совпадение.

9. Способ по п.5, отличающийся тем, что функция (f) представляет собой симметричный алгоритм шифрования, проверка первого ответа (а) в сетевом компьютерном блоке (N) заключается в том, что первый ответ (А) в сетевом компьютерном блоке (N) расшифровывают вычисленным в сетевом компьютерном блоке (N) ключом сеанса работы (К) и сравнивают расшифрованную постоянную пользователя (constu') с постоянной пользователя (constu), а проверка второго ответа (В) в компьютерном блоке пользователя (U) заключается в том, что второй ответ (В) в компьютерном блоке пользователя (U) расшифровывают вычисленным в компьютерном блоке пользователя (U) ключом сеанса работы (К) и сравнивают расшифрованную постоянную сети (constn') с постоянной сети (constn).

РИСУНКИ

Рисунок 1, Рисунок 2, Рисунок 3, Рисунок 4