Электронная подпись на базе шифра эль-гамаля 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Электронная подпись на базе шифра эль-гамаля



Название ЕGSА происходит от слов ЕІ GаmаІ Signaturе Аlgorithm (алгоритм цифровой подписи Эль Гамаля). Идея ЕGSА основана на том, что для обоснования практической невозможности фальсификации цифровой подписи может быть использована более сложная вычислительная задача, чем разложение на множители большого целого числа,- задача дискретного логарифмирования. Кроме того, Эль Гамалю удалось избежать явной слабости алгоритма цифровой подписи RSА, связанной с возможностью подделки цифровой подписи под некоторыми сообщениями без определения секретного ключа.

Рассмотрим подробнее алгоритм цифровой подписи Эль Гамаля. Для того чтобы генерировать пару ключей (открытый ключ - секретный ключ), сначала выбирают некоторое большое простое целое число Р и большое целое число G, причем G < Р. Отправитель и получатель подписанного документа используют при вычислениях одинаковые большие целые числа Р (~10308 или ~21024) и G (~10154 или ~2512), которые не являются секретными.

Отправитель выбирает случайное целое число X, 1 < Х £ (Р-1), и вычисляет

Y =GX mod Р.

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

Число Х является секретным ключом отправителя для подписывания документов и должно храниться в секрете.

Для того чтобы подписать сообщение М, сначала отправитель хэширует его с помощью хэш-функции h() в целое число m:

m = h(М), 1<m<(Р-1),

и генерирует случайное целое число К, 1 < К < (Р -1), такое, что К и (Р-1) являются взаимно простыми. Затем отправитель вычисляет целое число а:

а = GK mod Р

и, применяя расширенный алгоритм Евклида, вычисляет с помощью секретного ключа Х целое число b из уравнения

m = Х * а + К * b (mod (Р-1)).

Пара чисел (а,b) образует цифровую подпись S:

S = (а, b),

проставляемую под документом М.

Тройка чисел (М, а, b) передается получателю, в то время как пара чисел (Х, К).держится в секрете.

После приема подписанного сообщения (М, а, b) получатель должен проверить, соответствует ли подпись

S = (а, b)

сообщению М. Для этого получатель сначала вычисляет по принятому сообщению М число

m = h(М),

т.е. хэширует принятое сообщение М.

Затем получатель вычисляет значение

А = Ya ab (mod Р)

и признает сообщение М подлинным, если, и только если

А = Gm (mod Р).

Иначе говоря, получатель проверяет справедливость соотношения

Ya ab (mod Р) = Gm (mod Р).

Можно строго математически доказать, что последнее равенство будет выполняться тогда, и только тогда, когда подпись S=(а, b) под документом М получена с помощью именно того секретного ключа X, из которого был получен открытый ключ Y. Таким образом, можно надежно удостовериться, что отправителем сообщения М был обладатель именно данного секретного ключа X, не раскрывая при этом сам ключ, и что отправитель подписал именно этот конкретный документ М.

Следует отметить, что выполнение каждой подписи по методу Эль Гамаля требует нового значения К, причем это значение должно выбираться случайным образом. Если нарушитель раскроет когда-либо значение К, повторно используемое отправителем, то он сможет раскрыть секретный ключ Х отправителя.

Пример. Выберем: числа Р=11, G=2 и секретный ключ Х = 8. Вычисляем значение открытого ключа:

Y = GX mod Р = Y = 28 mod 11=3.

Предположим, что исходное сообщение М характеризуется хэш-значением m = 5.

Дпя того чтобы вычислить цифровую подпись для сообщения М, имеющего хэш-значение m = 5, сначала выберем случайное целое число К = 9. Убедимся, что числа К и (Р -1) являются взаимно простыми. Действительно, НОД (9,10)=1. Далее вычисляем элементы а и b подписи:

а = GK mod Р = 29 mod 11 = 6,

элемент b определяем, используя расширенный алгоритм Евклида:

m = Х * а + К * b (mod(Р-1)).

При m = 5, а = 6, Х = 8, К = 9, Р = 11 получаем

5 = (6* 8+9* b)(mod 10) или

9* b=-43(mod 10).

Решение: b = 3. Цифровая подпись представляет собой пару: а = 6, b = 3. Далее отправитель передает подписанное сообщение. Приняв подписанное сообщение и открытый ключ Y = 3, получатель вычисляет хэш-значение для сообщения М:

m = 5,а затем вычисляет два числа:

1) Yaab (mod Р) = 36 * 63 (mod 11) =10 (mod 11);

2) Gm (mod Р) = 25 (mod 11) =10 (mod 11).

Так как эти два целых числа равны, принятое получателем сообщение признается подлинным.

Следует отметить, что схема Эль Гамаля является характерным примером подхода, который допускает пересылку сообщения М в открытой форме вместе с присоединенным аутентификатором (а, b). В таких случаях процедура установления подлинности принятого сообщения состоит в проверке соответствия аутентификатора сообщению.

Схема цифровой подписи Эль Гамаля имеет ряд преимуццеств по сравнению со схемой цифровой подписи RSА:

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

2. При выборе модуля Р достаточно проверить, что это число является простым и что у числа (Р-1) имеется большой простой множитель (т.е. всего два достаточно просто проверяемых условия).

3. Процедура формирования подписи по схеме Эль Гамаля не позволяет вычислять цифровые подписи под новыми сообщениями без знания секретного ключа (как в RSА).

Однако алгоритм цифровой подписи Эль Гамаля имеет и некоторые. недостатки по сравнению со схемой подписи RSА. В частности, длина цифровой подписи получается в 1,5 раза больше, что, в свою очередь, увеличивает время ее вычисления.

49.Управление криптографическими ключами. Генерация, хранение и распределение ключей.

Управ­ле­ние клю­ча­ми

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

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

Управ­ле­ние клю­ча­ми - ин­фор­ма­ци­он­ный про­цесс, вклю­чаю­щий в се­бя три эле­мен­та:

* ге­не­ра­цию клю­чей;

* на­ко­п­ле­ние клю­чей;

* рас­пре­де­ле­ние клю­чей.

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

Ге­не­ра­ция клю­чей

В са­мом на­ча­ле раз­го­во­ра о крип­то­гра­фи­че­ских ме­то­дах бы­ло ска­за­но, что не сто­ит ис­поль­зо­вать не­слу­чай­ные клю­чи с це­лью лег­ко­сти их за­по­ми­на­ния. В серь­ез­ных ИС ис­поль­зу­ют­ся спе­ци­аль­ные ап­па­рат­ные и про­грамм­ные ме­то­ды ге­не­ра­ции слу­чай­ных клю­чей. Как пра­ви­ло ис­поль­зу­ют дат­чи­ки ПСЧ. Од­на­ко сте­пень слу­чай­но­сти их ге­не­ра­ции долж­на быть дос­та­точ­но вы­со­ким. Иде­аль­ным ге­не­ра­то­ра­ми яв­ля­ют­ся уст­рой­ст­ва на ос­но­ве «на­ту­раль­ных» слу­чай­ных про­цес­сов. На­при­мер, поя­ви­лись се­рий­ные об­раз­цы ге­не­ра­ции клю­чей на ос­но­ве бе­ло­го ра­дио­шу­ма. Дру­гим слу­чай­ным ма­те­ма­ти­че­ским объ­ек­том яв­ля­ют­ся де­ся­тич­ные зна­ки иррациональных чисел, например p или е, которые вычисляются с помощью стандартных математических методов.

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

Накопление ключей

Под на­ко­п­ле­ни­ем клю­чей по­ни­ма­ет­ся ор­га­ни­за­ция их хра­не­ния, уче­та и уда­ле­ния.

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

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

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

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

Очень важ­ным ус­ло­ви­ем безо­пас­но­сти ин­фор­ма­ции яв­ля­ет­ся пе­рио­ди­че­ское об­нов­ле­ние клю­че­вой ин­фор­ма­ции в ИС. При этом пе­ре­на­зна­чать­ся долж­ны как обыч­ные клю­чи, так и мас­тер-клю­чи. В осо­бо от­вет­ст­вен­ных ИС об­нов­ле­ние клю­че­вой ин­фор­ма­ции же­ла­тель­но де­лать еже­днев­но.

Во­прос об­нов­ле­ния клю­че­вой ин­фор­ма­ции свя­зан и с треть­им эле­мен­том управ­ле­ния клю­ча­ми - рас­пре­де­ле­ни­ем клю­чей.

Рас­пре­де­ле­ние клю­чей

Рас­пре­де­ле­ние клю­чей - са­мый от­вет­ст­вен­ный про­цесс в управ­ле­нии клю­ча­ми. К не­му предъ­яв­ля­ют­ся два тре­бо­ва­ния:

Опе­ра­тив­ность и точ­ность рас­пре­де­ле­ния

Скрыт­ность рас­пре­де­ляе­мых клю­чей.

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

Рас­пре­де­ле­ние клю­чей ме­ж­ду поль­зо­ва­те­ля­ми реа­ли­зу­ют­ся дву­мя раз­ны­ми под­хо­да­ми:

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

2. Пря­мой об­мен клю­ча­ми ме­ж­ду поль­зо­ва­те­ля­ми ин­фор­ма­ци­он­ной сис­те­мы. В этом слу­чае про­бле­ма со­сто­ит в том, что­бы на­деж­но удо­сто­ве­рить под­лин­ность субъ­ек­тов.

В обо­их слу­ча­ях долж­на быть га­ран­ти­ро­ва­на под­лин­ность се­ан­са свя­зи. Это мож­но обес­пе­чить дву­мя спо­со­ба­ми:

1. Ме­ха­низм за­про­са-от­ве­та, ко­то­рый со­сто­ит в сле­дую­щем. Ес­ли поль­зо­ва­тель А же­ла­ет быть уве­рен­ным, что со­об­ще­ния ко­то­рый он по­лу­ча­ет от В, не яв­ля­ют­ся лож­ны­ми, он вклю­ча­ет в по­сы­лае­мое для В со­об­ще­ние не­пред­ска­зуе­мый эле­мент (за­прос). При от­ве­те поль­зо­ва­тель В дол­жен вы­пол­нить не­ко­то­рую опе­ра­цию над этим эле­мен­том (на­при­мер, до­ба­вить 1). Это не­воз­мож­но осу­ще­ст­вить за­ра­нее, так как не из­вест­но, ка­кое слу­чай­ное чис­ло при­дет в за­про­се. По­сле по­лу­че­ния от­ве­та с ре­зуль­та­та­ми дей­ст­вий поль­зо­ва­тель А мо­жет быть уве­рен, что се­анс яв­ля­ет­ся под­лин­ным. Не­дос­тат­ком это­го ме­то­да яв­ля­ет­ся воз­мож­ность ус­та­нов­ле­ния хо­тя и слож­ной за­ко­но­мер­но­сти ме­ж­ду за­про­сом и от­ве­том.

2. Ме­ха­низм от­мет­ки вре­ме­ни («вре­мен­ной штем­пель»). Он под­ра­зу­ме­ва­ет фик­са­цию вре­ме­ни для ка­ж­до­го со­об­ще­ния. В этом слу­чае ка­ж­дый поль­зо­ва­тель ИС мо­жет знать, на­сколь­ко «ста­рым» яв­ля­ет­ся при­шед­шее со­об­ще­ние.

В обо­их слу­ча­ях сле­ду­ет ис­поль­зо­вать шиф­ро­ва­ние, что­бы быть уве­рен­ным, что от­вет по­слан не зло­умыш­лен­ни­ком и штем­пель от­мет­ки вре­ме­ни не из­ме­нен.

При ис­поль­зо­ва­нии от­ме­ток вре­ме­ни вста­ет про­бле­ма до­пус­ти­мо­го вре­мен­но­го ин­тер­ва­ла за­держ­ки для под­твер­жде­ния под­лин­но­сти се­ан­са. Ведь со­об­ще­ние с «вре­мен­ным штем­пе­лем» в прин­ци­пе не мо­жет быть пе­ре­да­но мгно­вен­но. Кро­ме это­го ком­пь­ю­тер­ные ча­сы по­лу­ча­те­ля и от­пра­ви­те­ля не мо­гут быть аб­со­лют­но син­хро­ни­зи­ро­ва­ны. Ка­кое за­паз­ды­ва­ние «штем­пе­ля» счи­тать по­доз­ри­тель­ным.

По­этому в ре­аль­ных ИС, на­при­мер в сис­те­мах оп­ла­ты кре­дит­ных кар­то­чек ис­поль­зу­ет­ся имен­но вто­рой ме­ха­низм ус­та­нов­ле­ния под­лин­но­сти и за­щи­ты от под­де­лок. Ис­поль­зуе­мый ин­тер­вал со­став­ля­ет от од­ной до не­сколь­ких ми­нут. Боль­шое чис­ло из­вест­ных спо­со­бов кра­жи элек­трон­ных де­нег, ос­но­ва­но на «вкли­ни­ва­нии» в этот про­ме­жу­ток с под­лож­ны­ми за­про­са­ми на сня­тии де­нег.

Для обмена ключами можно использовать криптосистемы с открытым ключом, используя тот же алгоритм RSA.

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



Поделиться:


Последнее изменение этой страницы: 2016-08-06; просмотров: 1171; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.17.150.163 (0.02 с.)