способ хранения и использования криптографического ключа

Классы МПК:G06F12/14 защита от обращений к памяти посторонних пользователей
H04L9/14 с использованием нескольких ключей или алгоритмов
Автор(ы):, , , , , ,
Патентообладатель(и):Общество с ограниченной ответственностью "КРИПТО-ПРО" (RU),
Общество с ограниченной ответственностью "ПрограмПарк" (RU)
Приоритеты:
подача заявки:
2008-08-19
публикация патента:

Изобретение относится к области криптографии, а именно к асимметричным криптоалгоритмам. Технический результат заключается в снижении вероятности компрометации закрытого секретного ключа и исключении криптографически опасных последствий компрометации ключа в ограниченной модели нарушителя. Способ хранения и использования криптографического ключа асимметричных криптографических алгоритмов на эллиптических кривых, в котором закрытый ключ d разделяется на доли d1, способ хранения и использования криптографического ключа, патент № 2417410 , dn, где dспособ хранения и использования криптографического ключа, патент № 2417410 d1+способ хранения и использования криптографического ключа, патент № 2417410 +dn(mod q), которые защищенно хранятся на ключевых носителях, криптографические операции формирования электронной цифровой подписи, расшифрования и/или выработки общего ключа по алгоритму Диффи-Хеллмана выполняются распределенно на ключевых носителях, не формируя общего закрытого ключа, а результаты выполнения этих операций обрабатываются в вычислительной системе (блоке сборки), формирующей общий результат криптографической операции, причем при формировании электронной цифровой подписи каждый ключевой носитель вырабатывает случайное число ki (7способ хранения и использования криптографического ключа, патент № 2417410 iспособ хранения и использования криптографического ключа, патент № 2417410 n - номер ключевого носителя), вычисляет соответствующую кратную точку эллиптической кривой Ri=ki P и передает ее в вычислительную систему, которая находит точку R=R1+способ хранения и использования криптографического ключа, патент № 2417410 +Rn и передает первую координату этой точки (r) на ключевые носители, после чего каждый ключевой носитель находит siспособ хранения и использования криптографического ключа, патент № 2417410 (rdi+kie)(mod q) и передает полученное значение в вычислительную систему, где формируется sспособ хранения и использования криптографического ключа, патент № 2417410 (s1+способ хранения и использования криптографического ключа, патент № 2417410 +Sn)(mod q), причем пара чисел (r, s) является электронной цифровой подписью. 5 з.п. ф-лы, 3 ил. способ хранения и использования криптографического ключа, патент № 2417410

способ хранения и использования криптографического ключа, патент № 2417410 способ хранения и использования криптографического ключа, патент № 2417410 способ хранения и использования криптографического ключа, патент № 2417410

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

1. Способ хранения и использования криптографического ключа асимметричных криптографических алгоритмов на эллиптических кривых, отличающийся тем, что закрытый ключ d разделяется на доли d 1, способ хранения и использования криптографического ключа, патент № 2417410 , dn, где dспособ хранения и использования криптографического ключа, патент № 2417410 d1+способ хранения и использования криптографического ключа, патент № 2417410 +dn(mod q), которые защищенно хранятся на ключевых носителях, имеющих возможность выполнять операции на эллиптических кривых, причем криптографические операции формирования электронной цифровой подписи, расшифрования и/или выработки общего ключа по алгоритму Диффи-Хеллмана выполняются распределенно на ключевых носителях, не формируя общего закрытого ключа, а результаты выполнения этих операций обрабатываются в вычислительной системе (блоке сборки), формирующей общий результат криптографической операции, причем при формировании электронной цифровой подписи каждый ключевой носитель вырабатывает случайное число ki (1способ хранения и использования криптографического ключа, патент № 2417410 iспособ хранения и использования криптографического ключа, патент № 2417410 n - номер ключевого носителя), вычисляет соответствующую кратную точку эллиптической кривой Ri=ki P и передает ее в вычислительную систему (блок сборки), которая находит точку R=R1+способ хранения и использования криптографического ключа, патент № 2417410 +Rn и передает первую координату этой точки (r) на ключевые носители, после чего каждый ключевой носитель находит siспособ хранения и использования криптографического ключа, патент № 2417410 (rdi+ki e)(mod q) и передает полученное значение в вычислительную систему, где формируется sспособ хранения и использования криптографического ключа, патент № 2417410 (s1+способ хранения и использования криптографического ключа, патент № 2417410 +sn)(mod q), причем пара чисел (r, s) является электронной цифровой подписью, а при вычислении общего ключа по алгоритму Диффи-Хеллмана на ключевые носители передается значение (способ хранения и использования криптографического ключа, патент № 2417410 iQ), где способ хранения и использования криптографического ключа, патент № 2417410 i - некоторое случайное число, задаваемое вычислительной системой, после чего каждый ключевой носитель умножает полученную точку на свою ключевую долю и передает значение di способ хранения и использования криптографического ключа, патент № 2417410 ·(способ хранения и использования криптографического ключа, патент № 2417410 i Q) в блок сборки, где далее вычисляются значения способ хранения и использования криптографического ключа, патент № 2417410 и результирующий ключ dQ=d1Q+способ хранения и использования криптографического ключа, патент № 2417410 +dnQ.

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

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

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

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

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

Описание изобретения к патенту

Изобретение относится к области криптографии, а именно к асимметричным криптоалгоритмам. Более конкретно, настоящее изобретение описывает способ хранения и использования ключей асимметричных криптографических алгоритмов на эллиптических кривых.

Асимметричная криптография начала активно развиваться с 1976 года после выхода статьи У.Диффи и М.Хеллмана «Новые направления в криптографии» (W.Diffie, М.Е.Hellman «New Directions in Cryptography). В классических (симметричных) системах шифрования для обмена сообщениями два абонента должны иметь общий, заранее согласованный ключ, хранящийся в тайне. В асимметричных алгоритмах шифрования каждый абонент имеет ключевую пару - открытый и закрытый секретный ключи, связанные друг с другом некоторым математическим соотношением, зависящим от используемого алгоритма. Открытый ключ может быть сообщен кому угодно, например опубликован в интернете. Закрытый секретный ключ хранится пользователем в тайне. Чтобы послать сообщение абоненту, это сообщение необходимо зашифровать с помощью открытого ключа этого абонента, а для расшифровки требуется знание соответствующего закрытого секретного ключа.

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

Отметим, что открытый ключ (public key в англоязычной литературе) во многих источниках называется также ключом расшифрования и/или ключом проверки ЭЦП, а закрытый ключ (private key) - ключом зашифрования и/или ключом подписи.

В последнее десятилетие широкое распространение получили асимметричные криптоалгоритмы на эллиптических кривых. Хорошо известен алгоритм шифрования Эль-Гамаля для эллиптических кривых (Н.Коблиц. Курс теории чисел и криптографии. С.206). Важное значение имеют алгоритмы ЭЦП на эллиптических кривых - ECDSA, российский стандарт ЭЦП ГОСТ Р 34.10-2001, схема ЭЦП Nyberg-Rueppel с возвратом сообщения (А.А.Болотов, С.Б.Гашков, А.Б.Фролов. Элементарное введение в эллиптическую криптографию. Протоколы на эллиптических кривых. С.102). Имеет широкое применение алгоритм выработки общего ключа Диффи-Хеллмана на эллиптической кривой (А.А.Болотов, С.Б.Гашков, А.Б.Фролов. Элементарное введение в эллиптическую криптографию. Протоколы на эллиптических кривых. С.85).

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

Известно портативное устройство хранения данных с системой шифрования (патент РФ № 2006137201, G06F 12/14), содержащее энергонезависимую память для хранения данных пользователя и средства интегральной схемы для генерирования, по меньшей мере, одного ключа. Отличие данного устройства от предлагаемого изобретения состоит в том, что оно не хранит ключа шифрования (только, возможно, ключ обмена данными), в то время как предлагаемое изобретение направлено именно на хранение ключевой информации и позволяет как генерировать секретный ключ, так и загружать его извне. В портативном устройстве хранения данных функция цифровой подписи предусмотрена только для подтверждения аутентичности данных, передаваемых с главного компьютера, в то время как предлагаемое изобретение позволяет выполнять криптографические операции, предусматриваемые назначением ключа. В частности, помимо формирования цифровой подписи предлагаемое изобретение позволяет вырабатывать общий ключ по алгоритму Диффи-Хеллмана. Таким образом, предлагаемое изобретение направлено именно на расширение возможностей работы с ключами и на повышение защищенности секретного ключа.

Наиболее близким аналогом предлагаемого изобретения является устройство ввода и хранения ключевой информации (патент РФ № 2175775, G06F 3/06, H04L 9/00, G06F 12/14), уменьшающее вероятность компрометации шифроключей за счет маскирования их случайной последовательностью, формируемой устройством. Для этого устройство содержит генератор тактовых импульсов, блок оперативной памяти, контактное устройство с внешним носителем, буферный регистр, регистр номера зоны, коммутатор номера зоны, выходной блок, датчик адресов, узел пуска-сброса, блок управления вводом-выводом, узел идентификации, генератор случайных импульсов, узел сравнения контрольных групп и датчик команд. К недостаткам данного устройства можно отнести то, что оно не выполняет криптографических преобразований, поэтому ключ покидает устройство и может быть скомпрометирован при его использовании.

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

Краткое описание чертежей

Фиг.1. Общая схема разделения ключа на доли.

Фиг.2. Вариант распределенного вычисления электронной цифровой подписи к сообщению.

Фиг.3. Вариант выработки общего ключа для алгоритма парольной аутентификации.

Осуществление изобретения

Данное изобретение может быть реализовано с использованием в качестве ключевых носителей микропроцессорных устройств, а в качестве вычислительной системы - программы для ЭВМ, реализующей криптографические алгоритмы, например средство криптографической защиты информации «КриптоПро CSP». При этом в качестве алгоритма электронной цифровой подписи может быть использован российский стандарт ГОСТ Р 34.10-2001.

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

Реализация этой идеи применительно к российскому стандарту ЭЦП ГОСТ Р 34.10-2001 выполняется следующим образом (см. фиг.1).

Пусть d - ключ подписи в соответствии с ГОСТ Р 34.10-2001, d1, способ хранения и использования криптографического ключа, патент № 2417410 , dn - ключевые доли 2, хранящиеся на носителях 1. Тогда

dспособ хранения и использования криптографического ключа, патент № 2417410 d1+.способ хранения и использования криптографического ключа, патент № 2417410 +dn (mod q).

При этом общий открытый ключ 3 проверки ЭЦП формируется в вычислительной системе 4 (блоке сборки) по правилу

Q=Q1+способ хранения и использования криптографического ключа, патент № 2417410 +Qn,

где Q1=d 1P, способ хранения и использования криптографического ключа, патент № 2417410 , Qn=dnP - доли открытого ключа 3 и Р - точка эллиптической кривой порядка q согласно ГОСТ Р 34.10-2001.

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

Следующим важным аспектом предлагаемого изобретения является то, что криптографические операции (например, формирование электронной цифровой подписи, расшифрование и/или выработка общего ключа по алгоритму Диффи-Хеллмана) выполняются распределенно на ключевых носителях 1, не формируя общего закрытого секретного ключа, а результаты выполнения этих операций обрабатываются в вычислительной системе 4 (блоке сборки), формирующей общий результат криптографической операции в виде общей подписи 5 к сообщению, являющейся функцией от частичных подписей (см. фиг.2).

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

Пусть хэш-код сообщения двоично представляется некоторым числом е. Для вычисления ЭЦП согласно ГОСТ Р 34.10-2001 необходимо выбрать случайное число к, удовлетворяющее неравенству 0<k<q (q - параметр алгоритма), затем вычислить rспособ хранения и использования криптографического ключа, патент № 2417410 xG(kP)(mod q) (первая координата точки kР). После этого вычисляется значение sспособ хранения и использования криптографического ключа, патент № 2417410 (rd+ke)(mod q), и подписью сообщения является пара чисел (r, s).

В рассматриваемом изобретении при формировании ЭЦП распределенные вычисления могут проводиться следующим образом. На первом шаге каждый ключевой носитель вырабатывает случайное число ki (1способ хранения и использования криптографического ключа, патент № 2417410 iспособ хранения и использования криптографического ключа, патент № 2417410 n - номер ключевого носителя), вычисляет соответствующую кратную точку эллиптической кривой Ri=ki Р и передает ее в вычислительную систему. Вычислительная система находит точку R=R1+.способ хранения и использования криптографического ключа, патент № 2417410 +Rn и передает первую координату этой точки (r) на ключевые носители. На следующем шаге каждый ключевой носитель находит siспособ хранения и использования криптографического ключа, патент № 2417410 (rdi+kie)(mod q) и передает полученное значение в вычислительную систему. Вычислительная система считает sспособ хранения и использования криптографического ключа, патент № 2417410 (s1+способ хранения и использования криптографического ключа, патент № 2417410 +sn)(mod q). Полученная пара чисел (r, s) является электронной цифровой подписью согласно ГОСТ Р 34.10-2001.

Аналогичный способ можно использовать при выработке общего ключа Диффи-Хеллмана. Пусть имеется закрытый ключ d, разделенный на доли описанным выше способом, и открытый ключ Q абонента, с которым необходимо выработать открытый ключ. Необходимо распределенно вычислить кратную точку d·Q. Для этого на ключевые носители передается значение (способ хранения и использования криптографического ключа, патент № 2417410 iQ), где способ хранения и использования криптографического ключа, патент № 2417410 i - некоторое случайное число. Каждый ключевой носитель умножает полученную точку на свою ключевую долю и передает на блок сборки значение di·(способ хранения и использования криптографического ключа, патент № 2417410 iQ). Вычислительная система находит di ·Qr=способ хранения и использования криптографического ключа, патент № 2417410 iспособ хранения и использования криптографического ключа, патент № 2417410 -1·di·(способ хранения и использования криптографического ключа, патент № 2417410 iQ), после чего вычисляет dQ=d1Q+способ хранения и использования криптографического ключа, патент № 2417410 +dnQ.

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

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

Возможно использование любого из известных протоколов парольной аутентификации или их модификаций (Б.Шнайер. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си. С.578, протоколы ЕКЕ). Основной идеей подобных протоколов является то, что обменивающиеся стороны имеют некоторый общий секрет, основанный на пароле, а затем на основе этого секрета вырабатывают общий ключ 7 (см. фиг.3). В предлагаемом изобретении в качестве такого общего секрета используется точка эллиптической кривой способ хранения и использования криптографического ключа, патент № 2417410 причем на ключевом носителе эта точка защищенно хранится и не может быть прочитана штатными средствами, а вычислительная система формирует эту точку после предъявления пользователем пароля. После этого вычислительная система и ключевой носитель выбирают некоторые случайные числа а1 и а2 (временные секретные ключи), вычисляют соответствующие им кратные точки (временные открытые ключи) и обмениваются значениями Q pw+aiР. После этого обе стороны вычисляют общий ключ 7 K=а1а2Р, на котором затем проводят аутентификацию и шифруют передаваемые данные.

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

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

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

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

Список литературы

1. W.Diffie, М.Е.Hellman. New Directions in Cryptography. IЕЕE Transactions on Information Theory, v.IT-22, n.6, 1976, p.644-654.

2. ГОСТ P 34.10-2001 «Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи».

3. Б.Шнайер. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си. М.: ТРИУМФ, 2002.

4. Н.Коблиц. Курс теории чисел и криптографии. М.: Научное издательство ТВП, 2001.

5. А.А.Болотов, С.Б.Гашков, А.Б.Фролов. Элементарное введение в эллиптическую криптографию. Протоколы на эллиптических кривых. М.: КомКнига, 2006.

Класс G06F12/14 защита от обращений к памяти посторонних пользователей

способ скрытного хранения конфиденциальных данных в защищенной энергонезависимой памяти и устройство для его реализации -  патент 2527758 (10.09.2014)
способ разрушения интегральных схем памяти носителей информации -  патент 2527241 (27.08.2014)
система контроля доступа к файлам на основе их автоматической разметки -  патент 2524566 (27.07.2014)
устройство для внедрения водяного знака в информационное представление, детектор для обнаружения водяного знака в информационном представлении, способ и компьютерная программа и информационный сигнал -  патент 2510937 (10.04.2014)
способ обнаружения вредоносного программного обеспечения в ядре операционной системы -  патент 2510075 (20.03.2014)
система и способ проверки исполняемого кода перед его выполнением -  патент 2510074 (20.03.2014)
устройство хранения данных (варианты) -  патент 2506633 (10.02.2014)
система защиты информации от несанкционированного доступа к информации, содержащей сведения, составляющие государственную тайну -  патент 2504835 (20.01.2014)
система и способ для обнаружения вредоносных программ -  патент 2497189 (27.10.2013)
использование защищенного устройства для обеспечения безопасной передачи данных в небезопасных сетях -  патент 2494448 (27.09.2013)

Класс H04L9/14 с использованием нескольких ключей или алгоритмов

система и способ защиты беспроводной передачи -  патент 2524565 (27.07.2014)
способ и устройство для получения ключа безопасности в ретрансляционной системе -  патент 2523954 (27.07.2014)
способ организации и управления доступом к содержимому при иерархическом кодировании, процессор и блок передачи для осуществления способа -  патент 2518444 (10.06.2014)
устройство и способ управления цифровыми правами -  патент 2504005 (10.01.2014)
многофакторная защита контента -  патент 2501081 (10.12.2013)
способ, элемент сети и мобильная станция для согласования алгоритмов шифрования -  патент 2488976 (27.07.2013)
способ и устройство для передачи параметров шифрования -  патент 2469485 (10.12.2012)
блок, использующий операционную систему, и устройство формирования изображений, использующее ее -  патент 2452009 (27.05.2012)
способ формирования и проверки подлинности коллективной электронной цифровой подписи, заверяющей электронный документ -  патент 2450438 (10.05.2012)
система загрузки содержания и способ загрузки содержания, устройство источника содержания и способ источника содержания, устройство приема содержания и способ приема содержания, и программа -  патент 2432686 (27.10.2011)
Наверх