Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Криптографическая защита информации.doc
Скачиваний:
197
Добавлен:
04.12.2018
Размер:
1.91 Mб
Скачать

1.3. Инфраструктура открытых ключей.

Сертификаты

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

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

Международный стандарт ISO X.509 определяет общую структуру сертификатов открытых ключей и протоколы их использования для аутентификации в распределенных систе­мах.

Центры сертификации

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

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

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

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

1.4. Формальные модели шифров

Для того чтобы иметь возможность доказывать в крипто­графии точные результаты, нужны математические модели основных исследуемых объектов, к которым относятся в пер­вую очередь шифр и открытый текст. Введем сначала алгеб­раическую модель шифра (шифрсистемы), предложенную К.Шенноном. С моделями открытых тек­стов мы познакомимся ниже.

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

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

Формализуем сказанное.

Пусть X,K,Y – конечные множества возможных от­крытых текстов, ключей и шифрованных текстов соответст­венно; Еk: Х —> Y – правило зашифрования на ключе kК. Множество {Еk : kК} обозначим через Е, а мно­жество {Еk(х): хX} – через Еk(X). Пусть Dkk (X) —> Х – правило расшифрования на ключе kК, и D – множество {Dk : kK}.

Здесь и далее мы будем предполагать, что если kК представляется в виде k=(kkз, kkр), где kз – ключ зашифро­вания, a kр – ключ расшифрования (причем kзkр), то Еk понимается как функция Еkз , a Dk – как функция Dkр.

Определение 1. Шифром (шифрсистемой) назовем со­вокупность

А=(X,K,Y,E,D)

введенных множеств, для которых выполняются следующие свойства:

  1. для любых х Х и kК выполняется равенство

Dkk (х)) = х;

2)Y= Еk (X).

kK

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

Отметим, что условие 1) отвечает требованию однознач­ности расшифрования. Условие 2) означает, что любой эле­мент уY может быть представлен в виде Еk(х) для под­ходящих элементов х Х и kК . Отметим также, что в общем случае утверждение "для любых k К и уЕk(X) выполняется равенство Ek(Dk(y)) = у" является неверным.

Легко проверить, что из условия 1) следует свойство инъективности функции Еk. Другими словами, если х1, х2Х , причем х1х2, то при любом kК выполняется неравен­ство Еk (х1) Еk (х2).

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

Введем теперь вероятностную модель шифра. Следуя К. Шеннону, определим априорные распределения вероятностей Р(Х), Р(К) на множествах Х и К соответст­венно. Тем самым для любого х  Х определена вероятность рХ(х)  Р(Х) и для любого k К – вероятность рК(k)  Р(К), причем выполняются равенства

и

В тех случаях, когда нам требуется знание распределений Р(Х) и Р(К), мы будем пользоваться вероятностной моде­лью В, состоящей из пяти множеств, связанных условиями 1) и 2) определения 1, и двух вероятностных распределений:

В = (X, К, Y, Е, D, Р(Х), Р(К)).

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

В большинстве случаев множества Х и Y представляют собой объединения декартовых степеней некоторых мно­жеств А и В соответственно, так что для некоторых нату­ральных L и L1,

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

Введем шифр простой замены в алфавите А.

Определение 2. Пусть K S(A), где S(A) – симметрическая

группа подстановок множества А. Для любого ключа kK, открытого текста х=(х1,...,хm) и шифрованного текста у =(у1,..., уm) прави­ла зашифрования и расшифрования шифра простой замены в алфавите А определяются формулами:

Еk(х)= (k(х1),...,km)),

Dk(y)= (k -1(у1),..., k -1m)),

где k -1 – подстановка, обратная к k.

В более общей ситуации для шифра простой замены

причем |А|=|В|, а К представляет собой множество биекций множества А на множество В. Правила зашифрования и расшифрования определяются для

kК, хX, уY (и обратной к k биекции k -1) формула­ми (1).

Определим еще один шифр, называемый шифром пере­становки.

Определение 3. Пусть Х = Y = АL и пусть К SL, где SL – симметрическая группа подстановок множества {l,2,...,L}. Для любого ключа k, открытого текста х=(х1,...,хL) и шифрованного текста у=(у1,...,уL) пра­вила зашифрования и расшифрования шифра перестановки определяются формулами:

Еk(х)= (хk(1)),...,хk(L))),

Dk(y)= (уk-1(1)),...,уk-1(L))),

где k -1 – подстановка, обратная к k.

Шифры, введенные определениями 2 и 3, являются пред­ставителями двух наиболее важных классов симметричных шифров, а именно шифров замены и шифров перестановки, которые будут подробно рассматриваться ниже. Другими симметричными шифрами являются композиции (или после­довательные применения) некоторых шифров замены и шиф­ров перестановки.

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

Определение 4. Пусть п = pq, где р и q простые числа. Пусть Х = Y = Znкольцо вычетов по модулю п. Положим

К= {(п,р, q, а, b): а,b  Zn , п =pq, ab  1(mod(n))},

где функция Эйлера. Представим ключ k К в виде k=(kз,kр), где kз=(n,b) и kр=(n,p,q,a) ключи за­шифрования и расшифрования соответственно. Правила зашифрования и расшифрования шифра RSA определим для

х Х и уY формулами:

Еkз(х) = хb mod п, Dkр (у) = уа mod п. (2)

Аббревиатура RSA определяется начальными буквами фамилий создателей этого шифра – Rivest, Shamir, Adleman. Корректность формул (2) следует из малой теоремы Ферма.

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