RU2494553C2 - Способ защиты информации - Google Patents

Способ защиты информации Download PDF

Info

Publication number
RU2494553C2
RU2494553C2 RU2011117057/08A RU2011117057A RU2494553C2 RU 2494553 C2 RU2494553 C2 RU 2494553C2 RU 2011117057/08 A RU2011117057/08 A RU 2011117057/08A RU 2011117057 A RU2011117057 A RU 2011117057A RU 2494553 C2 RU2494553 C2 RU 2494553C2
Authority
RU
Russia
Prior art keywords
stage
key
decryption
matrix
secret
Prior art date
Application number
RU2011117057/08A
Other languages
English (en)
Inventor
Сергей Валентинович Беззатеев
Александра Валентиновна Афанасьева
Евгений Михайлович Линский
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 RU2011117057/08A priority Critical patent/RU2494553C2/ru
Application granted granted Critical
Publication of RU2494553C2 publication Critical patent/RU2494553C2/ru

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

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

Description

Изобретение относится к способам защиты информации, а более конкретно - к алгоритмам шифрования с публичным ключом, которые применяются для повышения уровня безопасности алгоритмов генерации секретных ключей и шифрования в системах защиты информации на основе идентификационных данных.
Из уровня техники известны способы защиты информации на основе идентификационных данных (СЗИОИД), отличительной чертой которых является возможность использования в качестве публичного ключа уникального идентификатора пользователя (строки произвольной длинны, например, электронного адреса типа [email protected]) [1]. Главным достоинством такой системы является то, что отправителю перед шифрованием не требуется получать публичный ключ получателя и проверять его подлинность. Однако, в системе, реализующей этот способ, необходимо наличие сервера, известного как Генератор Секретных Ключей (ГСК), который генерирует секретные ключи и после аутентификации выдает их пользователям в соответствии с их идентификаторами.
СЗИОИД включает в себя следующий набор этапов:
Этап 1. Начальная инициализация (σ). Алгоритм, который берет на вход параметр безопасности системы σ. На выходе алгоритм выдает (PK, SMK), где РК - публичный ключ системы, SMK - секретный мастер-ключ системы.
Этап 2. Генерация секретного ключа (РК, SMK, ID). Алгоритм, который берет на вход РК, SMK и идентификатор пользователя ID. На выходе алгоритм выдает секретный ключ пользователя SKID.
Этап 3. Шифрование (РК, ID, M). Алгоритм, который берет на вход РК, ID и сообщение M. На выходе алгоритм выдает шифротекст С.
Этап 4. Дешифрование (РК, ID, SKID, С). Алгоритм, который берет на вход РК, ID, SKID и С. На выходе алгоритм выдает М.
Известны несколько реализации СЗИОИД, которые используют разный математический аппарат (см. публикации [2, 3, 4, 5], в которых используют эллиптические кривые; и публикации [6, 7], в которых используют вычеты). Безопасность таких способов и систем базируется на допущении о сложности задачи дискретного логарифмирования или задачи определения квадратичного вычета. Системы защиты информации, основанные на кодах, контролирующих ошибки, базируются на доказано сложной задаче синдромного декодирования случайного линейного кода. Следовательно, применение кодового подхода приводит к обеспечению большей безопасности полученной в результате схемы. Кроме того, кодовые криптосистемы имеют меньшую сложность процедур шифрования и дешифрования по сравнению с криптосистемами на эллиптических кривых, так как требуют только сложения набора двоичных векторов. Однако, криптосистемы, реализованные при помощи эллиптических кривых, имеют высокую вычислительную сложность процедур шифрования и дешифрования, а схемы, базирующиеся на квадратичных вычетах, имеют в основе безопасности допущение о сложности задачи факторизации, что делает их ненадежными в рамках постквантум криптографии.
Наиболее близким к заявляемому способу является техническое решение, предложенное в публикации [8] и описывающее алгоритм цифровой подписи на основе кодов. Ниже приводится краткое описание алгоритма цифровой подписи согласно [8], известного также как «способ Сандрие»:
При начальной инициализации выбирают код Гоппы (n, k), исправляющий t ошибок, и генерируют его проверочную матрицу H размера ((n-k)×n). Секретным мастер-ключом системы является порождающий многочлен Гоппы. Случайным образом выбирают невырожденную матрицу В размера (n-k)×(n-k) и матрицу перестановки Р размера n×n. Вычисляют публичный ключ системы HPK=BHP. Для генерации подписи некоторого сообщения M∈{0,1}* выполняется следующий итерационный алгоритм:
1. Инициализация счетчика рехеширования: counter=0
2. Хеширование исходного сообщения: s=hash(M|counter), через hash() обозначим хэш-функцию, отображающую строку произвольной длины в строку длины (n-k).
3. При помощи известного подписывающему узлу секретного ключа (многочлена Гоппы) выполняют алгоритма декодирования кода Гоппы. В случае успеха возвращают подпись сообщения в виде S i g n ( M ) = { e : e H P K T = s , w t ( e ) t ; c o u n t e r }
Figure 00000001
, в случае отказа от декодирования counter=counter+1 возвращаются к шагу 2. Основным недостатком такого алгоритма является то, что он предназначен для проверки аутентичности сообщения и изначально не пригоден для использования его в СЗИОИД.
Задача, на решение которой направлено заявляемое изобретение, состоит в создании способа защиты информации на основе идентификационных данных (СЗИОИД) с использованием кодов, контролирующих ошибки, и безопасность которого базируется на доказано сложной задаче. При этом такой способ должен иметь меньшую сложность процедур шифрования и дешифрования, чем существующие аналоги, базирующиеся на эллиптических кривых.
Поставленная задача решается за счет модификации алгоритма цифровой подписи, описанного в прототипе [8] и основанного на кодах.
Основным отличительным признаком заявляемого способа от способа-прототипа является то, что в описанную выше схему цифровой подписи внесены следующие изменения:
- при начальной инициализации
- в зависимости от параметра безопасности σ выбирают двоичный код, имеющий полиномиальный алгоритм декодирования с параметрами (l, k') и корректирующей способностью t' и порождающей матрицей G, а также вероятность р;
- при вычислении секретного ключа пользователя
- применяют процедуру постановки подписи по способу Сандрие;
- при шифровании
- осуществляют предварительное кодирование исходного сообщения в коде, заданном на этапе начальной инициализации (Этап 1), для дальнейшего снятия ошибок на этапе дешифрования (Этап 4);
- закодированное слово шифруют в виде Ci=siAi+Xi, где матрица Ai находится по формуле A i = ( a 1 a 2 a 1 ) : s i a j T = ( M c ) j
Figure 00000002
, а матрица Xi является случайной двоичной матрицей, с вероятностью появления единицы р;
- при дешифровании
- дешифрование осуществляют при помощи секретного ключа по формуле M c = S K I D C c o u n t e r = M c + S K I D X
Figure 00000003
;
- в расшифрованном сообщении производят снятие вектора ошибки SKIDX при помощи декодирования кода, заданного на этапе начальной инициализации (Этап 1) матрицей G, с известной процедурой декодирования.
Далее существо заявляемого изобретения, а именно, СЗИОИД на базе кодов, исправляющих ошибки, поясняется в деталях с привлечением графических материалов, где
Фиг.1. Схема пошагового выполнения этапа начальной инициализации системы.
Фиг.2. Схема пошагового выполнения этапа генерации секретного ключа.
Фиг.3. Схема пошагового выполнения этапа шифрования.
Фиг.4. Схема пошагового выполнения этапа дешифрования.
Фиг.5. Схема взаимодействия алгоритмов, реализующих все этапы схемы.
Рассмотрим основные этапы работы СЗИОИД.
Этап 1. Начальная инициализация. Схема данного этапа показана на
Фиг.1. ГСК генерирует публичные параметры системы и секретный мастер-ключ.
Шаг 1 (101). Вычисление секретного мастер-ключа SMK. ГСК выбирает код Гоппы с параметрами (n, k), исправляющий t ошибок и генерирует его проверочную матрицу H размера ((n-k)×n). Секретным мастер-ключом системы является порождающий многочлен Гоппы.
Шаг 2 (102). Вычисление публичного ключа. Случайным образом выбирают невырожденную матрицу B размера (n-k)×(n-k) и матрицу перестановки P размера n×n. Вычисляют HPK=BHP.
В зависимости от параметра безопасности σ выбирают код, имеющий полиномиальный алгоритм декодирования с параметрами (l, k') и корректирующей способностью t' и порождающей матрицей G, а также вероятность р. Итак публичный ключ системы состоит из двух матриц и двух значений: PK=(HRK, G, t, p). Этот ключ публикуют для общего доступа.
Этап 2. Генерация секретного ключа. Схема данного этапа показана на Фиг.2. Эта операция выполняется ГСК в ответ на запрос пользователя о выдаче ключа. Через hash() обозначим хэш-функцию, отображающую строку произвольной длины в строку длины (n-k).
Запрос содержит идентификатор ID пользователя.
Шаг 1 (201). Инициализация счетчика рехеширования: counter=0.
Шаг 2 (202). Хеширование идентификатора: s=hash(ID|counter).
Шаг 3 (202). Попытка декодирования. При помощи известного ГСК мастер-ключа SMK выполняют алгоритма декодирования кода Гоппы. В случае успеха возвращают S K I D = { e : e H P K T = s , w t ( e ) t ; c o u n t e r }
Figure 00000004
, в случае отказа от декодирования counter=counter+1 возвращаются к Шагу 2 (202).
Этап 3. Шифрование. Схема данного этапа показана на Фиг.3.
Шаг 1 (301). Кодирование исходного сообщения, k' бит исходного сообщения кодируют при помощи публичной матрицы G
Mc=MG.
Шаг 2 (302). Генерация набора публичных ключей. При помощи процедуры рехеширования генерируется набор si, i=0, …, f
si=hash(ID/i)
Шаг 3 (303). Генерация набора шифротекстов. Для каждого si, i=0, …, f генерируют матрицу
A i = ( a 1 a 2 a 1 ) : s i a j T = ( M c ) j
Figure 00000005
.
Случайным образом порождают двоичную матрицу X i : Pr { x j 1 j 2 = 1 } = p
Figure 00000006
. Вычисляют набор шифротекстов по формуле Ci=siAi+Xi.
Этап 4. Дешифрование. Схема данного этапа показана на Фиг.4.
Шаг 1 (401). Дешифрование шифротекст. Получатель сообщения выбирает шифротекст, соответствующий своему секретному ключу Ci:i=counter и вычисляет M c = S K I D C i
Figure 00000007
.
Шаг 2 (402). Декодирование. При помощи известного полиномиального алгоритма декодирования для кода с публичной матрицей G получатель сообщения вычисляет M по M c
Figure 00000008
.
Взаимодействия алгоритмов, реализующих этапы 1, 2, 3 и 4 описано на Фиг.5. На этапе 1 на шаге 1 (101) генерируют секретный мастер-ключ, который высылают алгоритму этапа 2. На шаге 2 (102) генерируют публичный ключ. который публикуют в общедоступном месте. На этапе 2, получив от алгоритма этапа 4 запрос на выдачу секретного ключа, на шаге 1 (201) инициализирую г счетчик рехеширования. На шаге 2 (202) хешируют пару значений идентификатора и счетчика. На шаге 3 (203) декодируют полученное на шаге 2 (202) значение как синдром и, в случае успеха, отправляют полученный вектор ошибки и значение счетчика алгоритму этапа 4, в случае отказа от декодирования увеличивают счетчик на единицу и возвращаются к шагу 2 (202). На этапе 3, на шаге 1 (301) сначала кодируют информационное сообщение. Затем на шаге 2 (302) генерируют набор публичных ключей. На шаге 3 (303) для каждого публичного ключа генерируют соответствующую шифрограмму и посылают набор шифрограмм алгоритму этапа 4. На этапе 4 на шаге 1 (401) запрашивают секретный ключ у алгоритма этапа 2, потом на шаге 2 (402) дешифруют одну из полученных от алгоритма этапа 3 шифрограмм при помощи секретного ключа, полученного от алгоритма этапа 2. На шаге 3 (403) декодируют полученное на предыдущем шаге сообщение.
Заявляемое изобретение может найти практическое применение в тех случаях, когда требуется обеспечить повышение уровня безопасности алгоритмов генерации секретных ключей и шифрования в системах защиты информации на основе идентификационных данных, например, для поддержки безопасных соединений.
Ссылки:
[1] A. Shamir, Identity-based cryptosystems and signature schemes, Proc. Of Crypto 84, LNCS 196, pp.47-53, 1984
[2] D. Boneh, M. Franklin, Identity Based Encryption from the Weil Pairing, Proc. Crypto 01, LNCS 2139, pp.213-229, 2001
[3] D. Boneh, X. Boyen, Efficient Selective-ID Secure Identity Based Encryption Without Random Oracles, Proc. Eurocrypt 04, LNCS 3027, pp.223-238, 2004
[4] «Systems and methods for identity-based encryption and related cryptographic techniques", US patent application 20030081785, Boneh, Dan (Palo Alto, CA, US), Franklin, Matthew (Davis, CA, US), 2003, May
[5] "Identity-based-encryption system", US patent 7590236, Boneh, Dan (Palo Alto, CA, US). Boyen, Xavier (Palo Alto, CA, US), 2009, September,
[6] С. Cocks, An Identity Based Encryption Scheme based on Quadratic Residues, LNCS 2260, pp.360-363, 2001
[7] D. Boneh, С.Gentry, M. Hamburg, Space-Efficient Identity Based Encryption Without Pairings, Proc. FOCS 07, pp.647-657, 2007
[8] N. Courtois, M. Finiasz, N. Sendrier, How to achieve a MacEliece-based digital signature scheme. Springer-Verlag, 2001

Claims (5)

1. Способ защиты информации на основе идентификационных данных, предусматривающий шифрование исходного сообщения и последующее дешифрование с использованием генератора секретных ключей и с помощью применения вычислительной техники, отличающийся тем, что осуществляют следующие действия:
на этапе начальной инициализации вычисляют секретный мастер-ключ в виде порождающего многочлена кода Гоппы и публичный ключ системы, состоящий из двух матриц и двух значений,
на втором этапе секретный мастер-ключ отправляют на вход алгоритма, реализующего этап вычисления секретного ключа при помощи процедуры постановки подписи по способу Сандрие и генерирующего, по запросу алгоритма дешифрования, секретный ключ для нового пользователя системы,
на этапе шифрования предварительно кодируют исходное сообщение, генерируют набор публичных ключей при помощи процедуры рехеширования с использованием идентификатора нового пользователя и публичного ключа системы, полученного на этапе начальной инициализации, а затем шифруют закодированное исходное сообщение, вычисляя набор шифротекстов,
на этапе дешифрования на вход алгоритма дешифрования подают секретный ключ для нового пользователя и дешифруют одно из сообщений, полученных на этапе шифрования и соответствующее секретному ключу, применяя в процессе известный полиномиальный алгоритм декодирования.
2. Способ по п.1, отличающийся тем, что на этапе начальной инициализации в качестве секретного мастер-ключа системы используют двоичный (n, k) код Гоппы, исправляющий t ошибок, а в качестве публичного ключа системы разглашают скрытую проверочную матрицу этого кода HPK, порождающую матрицу G произвольного (l, k') двоичного кода с полиномиальной процедурой декодирования, а также число ошибок, исправляемых кодом Гоппы t и вероятность р для генерации маскирующей матрицы при шифровании.
3. Способ по п.1, отличающийся чем, что на этапе генерации секретного ключа используют итеративную процедуру декодирования случайного синдрома кодом Гоппы, выбранного на этапе инициализации.
4. Способ по п.1, отличающийся тем, что на этапе шифрования осуществляют предварительное кодирование информационного слова М кодом, заданным на этапе начальной инициализации, для дальнейшего исправления ошибок на этапе дешифрования, с последующим шифрованием в виде Ci=siAi+Xi, где матрица A i = ( a 1 a 2 a 1 )
Figure 00000009
находится исходя из формулы s i a j T = ( M c ) j
Figure 00000010
, в которой a j T
Figure 00000011
обозначает операцию транспонирования j-й строки матрицы Ai, Mc=MG; матрица Xi, случайная двоичная матрица, с вероятностью появления единицы р.
5. Способ по п.1, отличающийся тем, что на этапе дешифрования осуществляют дешифрование при помощи секретного ключа по формуле M c = S K I D C c o u n t e r = M c + S K I D X
Figure 00000012
, а затем выполняют исправление вектора ошибки SKIDX при помощи декодирования кода, заданного на этапе начальной инициализации матрицей G, с известной процедурой декодирования.
RU2011117057/08A 2011-05-03 2011-05-03 Способ защиты информации RU2494553C2 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2011117057/08A RU2494553C2 (ru) 2011-05-03 2011-05-03 Способ защиты информации

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2011117057/08A RU2494553C2 (ru) 2011-05-03 2011-05-03 Способ защиты информации

Publications (1)

Publication Number Publication Date
RU2494553C2 true RU2494553C2 (ru) 2013-09-27

Family

ID=49254196

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2011117057/08A RU2494553C2 (ru) 2011-05-03 2011-05-03 Способ защиты информации

Country Status (1)

Country Link
RU (1) RU2494553C2 (ru)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2526791A1 (en) * 2005-11-14 2007-05-14 Bce Inc. Method and system for providing personalized service mobility
RU2376651C2 (ru) * 2003-11-03 2009-12-20 Майкрософт Корпорейшн Использование изогений для разработки криптосистем
US20090327731A1 (en) * 2004-11-02 2009-12-31 Guido Appenzeller Security device for cryptographic communications
US20100064361A1 (en) * 2005-09-09 2010-03-11 Microsoft Corporation Securely roaming digital identities
US20100293099A1 (en) * 2009-05-15 2010-11-18 Pauker Matthew J Purchase transaction system with encrypted transaction information

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2376651C2 (ru) * 2003-11-03 2009-12-20 Майкрософт Корпорейшн Использование изогений для разработки криптосистем
US20090327731A1 (en) * 2004-11-02 2009-12-31 Guido Appenzeller Security device for cryptographic communications
US20100064361A1 (en) * 2005-09-09 2010-03-11 Microsoft Corporation Securely roaming digital identities
CA2526791A1 (en) * 2005-11-14 2007-05-14 Bce Inc. Method and system for providing personalized service mobility
US20100293099A1 (en) * 2009-05-15 2010-11-18 Pauker Matthew J Purchase transaction system with encrypted transaction information

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
N. Courtois и др., How to achieve a MacEliece-based digital signature scheme, Springer-Verlag, 2001. *

Similar Documents

Publication Publication Date Title
CN111740828B (zh) 一种密钥生成方法以及装置、设备、加解密方法
US10742413B2 (en) Flexible verifiable encryption from lattices
Perlner et al. Quantum resistant public key cryptography: a survey
CN108173639B (zh) 一种基于sm9签名算法的两方合作签名方法
Katz et al. Smooth projective hashing and password-based authenticated key exchange from lattices
CN107707358B (zh) 一种ec-kcdsa数字签名生成方法及***
Li et al. Oblivious signature-based envelope
CN111106936A (zh) 一种基于sm9的属性加密方法与***
US9419798B2 (en) Public encryption method based on user ID
CN109274502B (zh) 公钥加密及密钥签名的创建方法、设备及可读存储介质
CN110113150B (zh) 基于无证书环境的可否认认证的加密方法和***
EP2808860A1 (en) Proxy calculation system, proxy calculation method, proxy calculation requesting apparatus, and proxy calculation program and recording medium therefor
CN104168114A (zh) 一种分布式的基于(k,n)门限证书加密方法及***
CN106936584B (zh) 一种无证书公钥密码***的构造方法
CN108337092B (zh) 用于在通信网络中执行集体认证的方法和***
Del Pino et al. The whole is less than the sum of its parts: Constructing more efficient lattice-based AKEs
Niederhagen et al. Practical post-quantum cryptography
CN106713349B (zh) 一种能抵抗选择密文攻击的群组间代理重加密方法
CN114448641A (zh) 一种隐私加密方法、电子设备、存储介质以及芯片
Karati et al. Provably secure and authenticated data sharing protocol for IoT‐based crowdsensing network
Sarier A new biometric identity based encryption scheme secure against DoS attacks
Susilo et al. Efficient post-quantum identity-based encryption with equality test
Ramesh et al. Secure data storage in cloud: an e-stream cipher-based secure and dynamic updation policy
Yang et al. Quantum public-key cryptosystems based on induced trapdoor one-way transformations
GB2401013A (en) Cryptographic Method and Apparatus