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

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

Info

Publication number
RU2417410C2
RU2417410C2 RU2008133888/08A RU2008133888A RU2417410C2 RU 2417410 C2 RU2417410 C2 RU 2417410C2 RU 2008133888/08 A RU2008133888/08 A RU 2008133888/08A RU 2008133888 A RU2008133888 A RU 2008133888A RU 2417410 C2 RU2417410 C2 RU 2417410C2
Authority
RU
Russia
Prior art keywords
key
shares
cryptographic
digital signature
electronic digital
Prior art date
Application number
RU2008133888/08A
Other languages
English (en)
Other versions
RU2008133888A (ru
Inventor
Сергей Ефимович Леонтьев (RU)
Сергей Ефимович Леонтьев
Владимир Олегович Попов (RU)
Владимир Олегович Попов
Леонид Тимофеевич Веденьёв (RU)
Леонид Тимофеевич Веденьёв
Николай Владимирович Зырин (RU)
Николай Владимирович Зырин
Дмитрий Вадимович Сергеев (RU)
Дмитрий Вадимович Сергеев
Василий Павлович Грушин (RU)
Василий Павлович Грушин
Александра Викторовна Маркелова (RU)
Александра Викторовна Маркелова
Original Assignee
Общество С Ограниченной Ответственностью "Крипто-Про"
Общество с ограниченной ответственностью "ПрограмПарк"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Общество С Ограниченной Ответственностью "Крипто-Про", Общество с ограниченной ответственностью "ПрограмПарк" filed Critical Общество С Ограниченной Ответственностью "Крипто-Про"
Priority to RU2008133888/08A priority Critical patent/RU2417410C2/ru
Publication of RU2008133888A publication Critical patent/RU2008133888A/ru
Application granted granted Critical
Publication of RU2417410C2 publication Critical patent/RU2417410C2/ru

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

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

Description

Изобретение относится к области криптографии, а именно к асимметричным криптоалгоритмам. Более конкретно, настоящее изобретение описывает способ хранения и использования ключей асимметричных криптографических алгоритмов на эллиптических кривых.
Асимметричная криптография начала активно развиваться с 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, …, dn - ключевые доли 2, хранящиеся на носителях 1. Тогда
d≡d1+.…+dn (mod q).
При этом общий открытый ключ 3 проверки ЭЦП формируется в вычислительной системе 4 (блоке сборки) по правилу
Q=Q1+…+Qn,
где Q1=d1P, …, Qn=dnP - доли открытого ключа 3 и Р - точка эллиптической кривой порядка q согласно ГОСТ Р 34.10-2001.
Также можно использовать способ, при котором доли закрытого секретного ключа могут изменяться при том, что открытый ключ 3 остается неизменным и может быть защищен сертификатом.
Следующим важным аспектом предлагаемого изобретения является то, что криптографические операции (например, формирование электронной цифровой подписи, расшифрование и/или выработка общего ключа по алгоритму Диффи-Хеллмана) выполняются распределенно на ключевых носителях 1, не формируя общего закрытого секретного ключа, а результаты выполнения этих операций обрабатываются в вычислительной системе 4 (блоке сборки), формирующей общий результат криптографической операции в виде общей подписи 5 к сообщению, являющейся функцией от частичных подписей (см. фиг.2).
Это позволяет сформировать ЭЦП, расшифровать сообщение или выработать общий ключ по алгоритму Диффи-Хеллмана без раскрытия ключевых долей и построения общего закрытого ключа, а также независимо использовать генераторы случайных величин ключевых носителей для порождения случайного компонента подписи. Таким образом, требованием к ключевому носителю является возможность выполнения на нем криптографических операций на эллиптических кривых.
Пусть хэш-код сообщения двоично представляется некоторым числом е. Для вычисления ЭЦП согласно ГОСТ Р 34.10-2001 необходимо выбрать случайное число к, удовлетворяющее неравенству 0<k<q (q - параметр алгоритма), затем вычислить r≡xG(kP)(mod q) (первая координата точки kР). После этого вычисляется значение s≡(rd+ke)(mod q), и подписью сообщения является пара чисел (r, s).
В рассматриваемом изобретении при формировании ЭЦП распределенные вычисления могут проводиться следующим образом. На первом шаге каждый ключевой носитель вырабатывает случайное число ki (1≤i≤n - номер ключевого носителя), вычисляет соответствующую кратную точку эллиптической кривой Ri=kiР и передает ее в вычислительную систему. Вычислительная система находит точку R=R1+.…+Rn и передает первую координату этой точки (r) на ключевые носители. На следующем шаге каждый ключевой носитель находит si≡(rdi+kie)(mod q) и передает полученное значение в вычислительную систему. Вычислительная система считает s≡(s1+…+sn)(mod q). Полученная пара чисел (r, s) является электронной цифровой подписью согласно ГОСТ Р 34.10-2001.
Аналогичный способ можно использовать при выработке общего ключа Диффи-Хеллмана. Пусть имеется закрытый ключ d, разделенный на доли описанным выше способом, и открытый ключ Q абонента, с которым необходимо выработать открытый ключ. Необходимо распределенно вычислить кратную точку d·Q. Для этого на ключевые носители передается значение (αiQ), где αi - некоторое случайное число. Каждый ключевой носитель умножает полученную точку на свою ключевую долю и передает на блок сборки значение di·(αiQ). Вычислительная система находит di·Qr=αi-1·di·(αiQ), после чего вычисляет dQ=d1Q+…+dnQ.
Очевидно, что приведенные выше алгоритмы являются только примером, а конкретные реализации могут отличаться от данного описания. Кроме того, представляемое изобретение не ограничивается описанными алгоритмами и может быть по аналогии распространено на произвольные асимметричные криптографические алгоритмы на эллиптических кривых.
Для повышения надежности предлагаемого изобретения можно использовать способ, отличающийся тем, что используется протокол криптографической парольной двусторонней аутентификации между ключевым носителем 1 и пользователем 6, криптографически защищается канал между ключевым носителем 1 и вычислительной системой 4, используемый при изменении долей закрытого секретного ключа и получении данных с носителя, и число неудачных попыток аутентификации контролируется счетчиками.
Возможно использование любого из известных протоколов парольной аутентификации или их модификаций (Б.Шнайер. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си. С.578, протоколы ЕКЕ). Основной идеей подобных протоколов является то, что обменивающиеся стороны имеют некоторый общий секрет, основанный на пароле, а затем на основе этого секрета вырабатывают общий ключ 7 (см. фиг.3). В предлагаемом изобретении в качестве такого общего секрета используется точка эллиптической кривой
Figure 00000001
причем на ключевом носителе эта точка защищенно хранится и не может быть прочитана штатными средствами, а вычислительная система формирует эту точку после предъявления пользователем пароля. После этого вычислительная система и ключевой носитель выбирают некоторые случайные числа а1 и а2 (временные секретные ключи), вычисляют соответствующие им кратные точки (временные открытые ключи) и обмениваются значениями Qpw+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.

Claims (6)

1. Способ хранения и использования криптографического ключа асимметричных криптографических алгоритмов на эллиптических кривых, отличающийся тем, что закрытый ключ d разделяется на доли d1, …, dn, где d≡d1+…+dn(mod q), которые защищенно хранятся на ключевых носителях, имеющих возможность выполнять операции на эллиптических кривых, причем криптографические операции формирования электронной цифровой подписи, расшифрования и/или выработки общего ключа по алгоритму Диффи-Хеллмана выполняются распределенно на ключевых носителях, не формируя общего закрытого ключа, а результаты выполнения этих операций обрабатываются в вычислительной системе (блоке сборки), формирующей общий результат криптографической операции, причем при формировании электронной цифровой подписи каждый ключевой носитель вырабатывает случайное число ki (1≤i≤n - номер ключевого носителя), вычисляет соответствующую кратную точку эллиптической кривой Ri=kiP и передает ее в вычислительную систему (блок сборки), которая находит точку R=R1+…+Rn и передает первую координату этой точки (r) на ключевые носители, после чего каждый ключевой носитель находит si≡(rdi+ki e)(mod q) и передает полученное значение в вычислительную систему, где формируется s≡(s1+…+sn)(mod q), причем пара чисел (r, s) является электронной цифровой подписью, а при вычислении общего ключа по алгоритму Диффи-Хеллмана на ключевые носители передается значение (αiQ), где αi - некоторое случайное число, задаваемое вычислительной системой, после чего каждый ключевой носитель умножает полученную точку на свою ключевую долю и передает значение di·i Q) в блок сборки, где далее вычисляются значения
Figure 00000002
и результирующий ключ dQ=d1Q+…+dnQ.
2. Способ по п.1, отличающийся тем, что вычислительная система хранит доли закрытого ключа, каждая из которых защищена паролем пользователя, причем криптографические операции с этими долями выполняются так же, как и с долями, хранящимися на ключевых носителях.
3. Способ по п.2, отличающийся тем, что некоторые ключевые доли не хранятся, а являются функциями от паролей и формируются вычислительной системой после предъявления соответствующих паролей, причем криптографические операции с этими долями выполняются так же, как и с долями, хранящимися на ключевых носителях.
4. Способ по п.3, отличающийся тем, что доли закрытого ключа, формируемые в вычислительной системе, зависят еще и от данных, защищенно хранящихся на ключевых носителях.
5. Способ по п.4, отличающийся тем, что доли закрытого ключа могут изменяться, при этом открытый ключ (ключ проверки электронной цифровой подписи, сформированной по способу из п.1) остается неизменным, и может быть защищен сертификатом.
6. Способ по п.5, отличающийся тем, что используется протокол криптографической парольной двусторонней аутентификации между ключевым носителем и пользователем, криптографически защищается канал между ключевым носителем и вычислительной системой, используемый при изменении долей закрытого ключа и получении данных с носителя, и число неудачных попыток аутентификации контролируется счетчиками.
RU2008133888/08A 2008-08-19 2008-08-19 Способ хранения и использования криптографического ключа RU2417410C2 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2008133888/08A RU2417410C2 (ru) 2008-08-19 2008-08-19 Способ хранения и использования криптографического ключа

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2008133888/08A RU2417410C2 (ru) 2008-08-19 2008-08-19 Способ хранения и использования криптографического ключа

Publications (2)

Publication Number Publication Date
RU2008133888A RU2008133888A (ru) 2010-02-27
RU2417410C2 true RU2417410C2 (ru) 2011-04-27

Family

ID=42127472

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2008133888/08A RU2417410C2 (ru) 2008-08-19 2008-08-19 Способ хранения и использования криптографического ключа

Country Status (1)

Country Link
RU (1) RU2417410C2 (ru)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2541938C1 (ru) * 2013-11-20 2015-02-20 федеральное государственное автономное образовательное учреждение высшего образования "Санкт-Петербургский государственный политехнический университет" (ФГАОУ ВО "СПбПУ") Способ шифрования с защитой от квантовых атак на основе циклов функций вебера
RU2680761C1 (ru) * 2013-12-20 2019-02-26 Конинклейке Филипс Н.В. Безопасные преобразования данных
RU2738585C1 (ru) * 2020-03-15 2020-12-14 Александра Викторовна Маркелова Способ некорректируемой регистрации информации

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2541938C1 (ru) * 2013-11-20 2015-02-20 федеральное государственное автономное образовательное учреждение высшего образования "Санкт-Петербургский государственный политехнический университет" (ФГАОУ ВО "СПбПУ") Способ шифрования с защитой от квантовых атак на основе циклов функций вебера
RU2680761C1 (ru) * 2013-12-20 2019-02-26 Конинклейке Филипс Н.В. Безопасные преобразования данных
RU2738585C1 (ru) * 2020-03-15 2020-12-14 Александра Викторовна Маркелова Способ некорректируемой регистрации информации

Also Published As

Publication number Publication date
RU2008133888A (ru) 2010-02-27

Similar Documents

Publication Publication Date Title
US9973334B2 (en) Homomorphically-created symmetric key
TWI736271B (zh) 非對稱密鑰中的私鑰生成和使用方法、裝置和設備
US10374797B2 (en) Public-key encryption system
US20080240443A1 (en) Method and apparatus for securely processing secret data
US9705683B2 (en) Verifiable implicit certificates
NL2013944B1 (en) Public-key encryption system.
KR101393806B1 (ko) 다단계 물리적 복제 불가 함수 시스템
US7000110B1 (en) One-way function generation method, one-way function value generation device, proving device, authentication method, and authentication device
CN111404952B (zh) 变电站数据加密传输方法、装置、计算机设备和存储介质
Agrawal et al. Elliptic curve cryptography with hill cipher generation for secure text cryptosystem
JP2022520675A (ja) 暗号システムおよび方法
ES2972424T3 (es) Técnica de generación de algoritmos de encriptación simétrica
CN102449951A (zh) 用于在电子组件中执行密码任务的方法
EP2742644A1 (en) Encryption and decryption method
US20200304306A1 (en) Cryptographic System and Method
KR101382626B1 (ko) Id 기반의 강한 지정된 검증자 서명 시스템 및 방법
CN101296076A (zh) 一种基于ecc的数字签名方案
US20210203502A1 (en) Cryptographic System and Method
RU2417410C2 (ru) Способ хранения и использования криптографического ключа
WO2022050833A1 (en) Method for electronic signing and authenticaton strongly linked to the authenticator factors possession and knowledge
Amounas Elliptic curve digital signature algorithm using Boolean permutation based ECC
Chande et al. An improvement of a elliptic curve digital signature algorithm
Verbücheln How perfect offline wallets can still leak bitcoin private keys
US7401226B2 (en) Public key cryptographic method based on braid groups
CN117795901A (zh) 生成数字签名份额

Legal Events

Date Code Title Description
HC9A Changing information about author(s)
MM4A The patent is invalid due to non-payment of fees

Effective date: 20120820