<< Предыдущая

стр. 18
(из 48 стр.)

ОГЛАВЛЕНИЕ

Следующая >>

4.4. Схема шифрования Полига – Хеллмана
Схема шифрования Полига – Хеллмана [121] сходна со схемой шифрования RSA. Она пред-
ставляет собой несимметричный алгоритм, поскольку используются различные ключи для шифрова-
ния и расшифрования. В то же время эту схему нельзя отнести к классу криптосистем с открытым
ключом, так как ключи шифрования и расшифрования легко выводятся один из другого. Оба ключа
(шифрования и расшифрования) нужно держать в секрете.
Аналогично схеме RSA криптограмма С и открытый текст Р определяются из соотношений:
С = Ре mod n,
P = Cd mod n,
где e?d ?1 (по модулю некоторого составного числа).
В отличие от алгоритма RSA в этой схеме число n не определяется через два больших про-
стых числа; число n должно оставаться частью секретного ключа. Если кто-либо узнает значения e и
n, он сможет вычислить значение d.
Не зная значений e или d, противник будет вынужден вычислять значение
e = logP C (mod n).
Известно, что это является трудной задачей.
Схема шифрования Полига – Хеллмана запатентована в США и Канаде.


4.5. Схема шифрования Эль Гамаля
Схема Эль Гамаля, предложенная в 1985 г., может быть использована как для шифрования,
так и для цифровых подписей. Безопасность схемы Эль Гамаля обусловлена сложностью вычисле-
ния дискретных логарифмов в конечном поле.
Для того чтобы генерировать пару ключей (открытый ключ – секретный ключ), сначала выби-
рают некоторое большое простое число Р и большое целое число G, причем G < P. Числа Р и G мо-
гут быть распространены среди группы пользователей.
Затем выбирают случайное целое число X, причем X<P. Число X является секретным
ключом и должно храниться в секрете.
Далее вычисляют Y = GX mod P. Число Y является открытым ключом.
Для того чтобы зашифровать сообщение M, выбирают случайное целое число K, 1< K< P –1,
такое, что числа К и (Р –1) являются взаимно простыми.
Затем вычисляют числа
a = GK mod P,
b = YK M mod P.
Пара чисел (a,b) является шифртекстом. Заметим, что длина шифртекста вдвое больше
длины исходного открытого текста М.
Для того чтобы расшифровать шифртекст (a,b), вычисляют
M = b/aX mod P. (?)
Поскольку
aX ? GKX mod P,
b/aX ?YKM/aX ? GKXM/GKX ? M (mod P),
то соотношение (*) справедливо.
Пример. Выберем P = 11, G = 2, секретный ключ X = 8.
Вычисляем
X 8
Y = G mod P = 2 mod 11 = 256 mod 11 = 3.
Итак, открытый ключ Y = 3.
Пусть сообщение М = 5. Выберем некоторое случайное число К = 9. Убедимся, что НОД (К, Р–1) =1. Действи-
тельно, НОД (9, 10) =1. Вычисляем пару чисел a и b:
K 9
a = G mod P = 2 mod 11 = 512 mod 11 = 6,
K 9
b =Y M mod P = 3 ? 5 mod 11 = 19683 ? 5 mod 11 = 9.
Получим шифртекст (a, b) = (6, 9).
Выполним расшифрование этого шифртекста. Вычисляем сообщение М, используя секретный ключ X:
X 8
M = b/a mod P = 9/6 mod 11.
8
Выражение M = 9/6 mod 11 можно представить в виде
6 ? M ? 9 mod 11
8


1679616 ? M ? 9 mod 11.
или
Решая данное сравнение, находим М = 5.
В реальных схемах шифрования необходимо использовать в качестве модуля P большое це-
лое простое число, имеющее в двоичном представлении длину 512…1024 бит.
При программной реализации схемы Эль Гамаля [123] скорость ее работы (на SPARC-II) в
режимах шифрования и расшифрования при 160-битовом показателе степени для различных длин
модуля P определяется значениями, приведенными в табл.4.2.
Таблица 4.2
Скорости работы схемы Эль Гамаля
Длина модуля, бит
Режим работы
512 768 1024
Шифрование 0,33 с 0,80 с 1,09 с
Расшифрование 0,24 с 0,58 с 0,77 с



4.6. Комбинированный метод шифрования
Главным достоинством криптосистем с открытым ключом является их потенциально высокая
безопасность: нет необходимости ни передавать, ни сообщать кому бы то ни было значения секрет-
ных ключей, ни убеждаться в их подлинности. В симметричных криптосистемах существует опасность
раскрытия секретного ключа во время передачи.
Однако алгоритмы, лежащие в основе криптосистем с открытым ключом, имеют следующие
недостатки:
• генерация новых секретных и открытых ключей основана на генерации новых больших простых
чисел, а проверка простоты чисел занимает много процессорного времени;
• процедуры шифрования и расшифрования, связанные с возведением в степень многозначного
числа, достаточно громоздки.
Поэтому быстродействие криптосистем с открытым ключом обычно в сотни и более раз
меньше быстродействия симметричных криптосистем с секретным ключом.
Комбинированный (гибридный) метод шифрования позволяет сочетать преимущества высо-
кой секретности, предоставляемые асимметричными криптосистемами с открытым ключом, с пре-
имуществами высокой скорости работы, присущими симметричным криптосистемам с секретным
ключом. При таком подходе криптосистема с открытым ключом применяется для шифрования, пере-
дачи и последующего расшифрования только секретного ключа симметричной криптосистемы. А
симметричная криптосистема применяется для шифрования и передачи исходного открытого текста.
В результате криптосистема с открытым ключом не заменяет симметричную криптосистему с секрет-
ным ключом, а лишь дополняет ее, позволяя повысить в целом защищенность передаваемой инфор-
мации. Такой подход иногда называют схемой электронного цифрового конверта.
Если пользователь А хочет передать зашифрованное комбинированным методом сообщение
М пользователю В, то порядок его действий будет таков.
1. Создать (например, сгенерировать случайным образом) симметричный ключ, называемый в
этом методе сеансовым ключом КS.
2. Зашифровать сообщение М на сеансовом ключе КS.
3. Зашифровать сеансовый ключ КS на открытом ключе КВ пользователя В.
4. Передать по открытому каналу связи в адрес пользователя В зашифрованное сообщение вме-
сте с зашифрованным сеансовым ключом.
Действия пользователя В при получении зашифрованного сообщения и зашифрованного се-
ансового ключа должны быть обратными:
5. Расшифровать на своем секретном ключе kВ сеансовый ключ КS.
6. С помощью полученного сеансового ключа КS расшифровать и прочитать сообщение М.
При использовании комбинированного метода шифрования можно быть уверенным в том, что
только пользователь В сможет правильно расшифровать ключ КS и прочитать сообщение М.
Таким образом, при комбинированном методе шифрования применяются криптографические
ключи как симметричных, так и асимметричных криптосистем. Очевидно, выбор длин ключей для ка-
ждого типа криптосистемы следует осуществлять таким образом, чтобы злоумышленнику было оди-
наково трудно атаковать любой механизм защиты комбинированной криптосистемы.
В табл. 4.3. приведены распространенные длины ключей симметричных и асимметричных
криптосистем, для которых трудность атаки полного перебора примерно равна трудности факто-
ризации соответствующих модулей асимметричных криптосис-тем [121].


Таблица 4.3
Длины ключей для симметричных и асимметричных криптосистем при
одинаковой их криптостойкости
Длина ключа симметричной Длина ключа асимметричной
криптосистемы, бит
криптосистемы, бит

56 384
64 512
80 768
112 1792
128 2304

Комбинированный метод допускает возможность выполнения процедуры аутентификации, т.е.
проверки подлинности передаваемого сообщения. Для этого пользователь А на основе функции хэ-
ширования сообщения и своего секретного ключа kA с помощью известного алгоритма электронной
цифровой подписи (ЭЦП) генерирует свою подпись и записывает ее, например, в конец передаваемо-
го файла.
Пользователь В, прочитав принятое сообщение, может убедиться в подлинности цифровой
подписи абонента А. Используя тот же алгоритм ЭЦП и результат хэширования принятого сообще-
ния, пользователь В проверяет полученную подпись (см.гл.6). Комбинированный метод шифрования
является наиболее рациональным, объединяя в себе высокое быстродействие симметричного шиф-
рования и высокую криптостойкость, гарантируемую системами с открытым ключом.
ГЛАВА 5. ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ

5.1. Основные понятия и концепции
С каждым объектом компьютерной системы (КС) связана некоторая информация, однозначно
идентифицирующая его. Это может быть число, строка символов, алгоритм, определяющий дан-
ный объект. Эту информацию называют идентификатором объекта. Если объект имеет некоторый
идентификатор, зарегистрированный в сети, он называется законным (легальным) объектом; осталь-
ные объекты относятся к незаконным (нелегальным).
Идентификация объекта – одна из функций подсистемы защиты. Эта функция выполняется
в первую очередь, когда объект делает попытку войти в сеть. Если процедура идентификации завер-
шается успешно, данный объект считается законным для данной сети.
Следующий шаг – аутентификация объекта (проверка подлинности объекта). Эта процедура
устанавливает, является ли данный объект именно таким, каким он себя объявляет.
После того как объект идентифицирован и подтверждена его подлинность, можно установить
сферу его действия и доступные ему ресурсы КС. Такую процедуру называют предоставлением
полномочий (авторизацией).
Перечисленные три процедуры инициализации являются процедурами защиты и относятся к
одному объекту КС [55].
При защите каналов передачи данных подтверждение подлинности (аутентификация) объ-
ектов означает взаимное установление подлинности объектов, связывающихся между собой по
линиям связи. Процедура подтверждения подлинности выполняется обычно в начале сеанса в про-
цессе установления соединения абонентов. (Термин "соединение" указывает на логическую связь
(потенциально двустороннюю) между двумя объектами сети. Цель данной процедуры – обеспечить
уверенность, что соединение установлено с законным объектом и вся информация дойдет до места
назначения.
После того как соединение установлено, необходимо обеспечить выполнение требований за-
щиты при обмене сообщениями:
(а) получатель должен быть уверен в подлинности источника данных;
(б) получатель должен быть уверен в подлинности передаваемых данных;
(в) отправитель должен быть уверен в доставке данных получателю;
(г) отправитель должен быть уверен в подлинности доставленных данных.
Для выполнения требований (а) и (б) средством защиты является цифровая подпись. Для
выполнения требований (в) и (г) отправитель должен получить уведомление о вручении с помощью
удостоверяющей почты (certified mail). Средством защиты в такой процедуре является цифровая под-
пись подтверждающего ответного сообщения, которое в свою очередь является доказательством пе-
ресылки исходного сообщения.
Если эти четыре требования реализованы в КС, то гарантируется защита данных при их пе-
редаче по каналу связи и обеспечивается функция защиты, называемая функцией подтверждения
(неоспоримости) передачи. В этом случае отправитель не может отрицать ни факта посылки сообще-
ния, ни его содержания, а получатель не может отрицать ни факта получения сообщения, ни подлин-
ности его содержания.


5.2. Идентификация и аутентификация пользователя.
Прежде чем получить доступ к ресурсам компьютерной системы, пользователь должен пройти
процесс представления компьютерной системе, который включает две стадии:
- идентификацию - пользователь сообщает системе по ее запросу свое имя (идентификатор);
- аутентификацию - пользователь подтверждает идентификацию вводя в систему уникальную, не
известную другим пользователям информацию о себе (например, пароль).
Для проведения процедур идентификации и аутентификации пользователя необходимы:
- во-первых, наличие соответствующего субъекта (модуля) аутентификации;
- во-вторых, наличие аутентифицирующего объекта, хранящего уникальную информацию для
аутентификации пользователя.
Различают две формы представления объектов, аутентифицирующих пользователя:
- внешний аутентифицирующий объект, не принадлежащий системе;
- внутренний объект, принадлежащий системе, в который переносится информация из внешнего
объекта.
Внешние объекты могут быть технически реализованы на различных носителях информации -
магнитных дисках, пластиковых картах и т.п. Естественно, что внешняя и внутренняя формы пред-
ставления аутентифицирующего объекта должны быть семантически тождественны.
Типовые схемы идентификации и аутентификации пользователя.
Рассмотрим структуры данных и протоколы идентификации и аутентификации пользователя
[73]. Допустим, что в компьютерной системе зарегистрировано n пользователей. Пусть i-й аутенти-
фицирующий объект i-го пользователя содержит два информационных поля:
IDi - неизменный идентификатор i-го пользователя, который является аналогом имени и используется
для идентификации пользователя;
Ki - аутентифицирующая информация пользователя, которая может изменяться и служит для аутен-
тификации (например, пароль Pi = Ki).
Описанная структура соответствует практически любому ключевому носителю информации,
используемому для опознания пользователя. Например, для носителей типа пластиковых карт выде-
ляется неизменяемая информация IDi первичной персонализации пользователя и объект в файловой
структуре карты, содержащий Ki.
Совокупную информацию в ключевом носителе можно назвать первичной аутентифицирую-
щей информацией i-го пользователя. Очевидно, что внутренний аутентифицирующий объект не дол-
жен существовать в системе длительное время (больше времени работы конкретного пользователя).
Для длительного хранения следует использовать данные в защищенной форме.
Рассмотрим две типовые схемы идентификации и аутентификации [73].

Схема 1. В компьютерной системе выделяется объект-эталон для идентификации и аутенти-
фикации пользователей. Структура объекта-эталона для схемы 1 показана в таблице 5.1.

Таблица 5.1.
Номер пользователя Информация для Информация для
идентификации аутентификации
1 ID1 E1
2 ID2 E2
... ... ...
N IDn En
Здесь Ei = F (IDi, Ki),
где F - функция, которая обладает свойством “невосстановимости” значения Ki по Ei и IDi. “Невосста-
новимость” Ki оценивается некоторой пороговой трудоемкостью Т? решения задачи восстановления
аутентифицирующей информации Ki по Еi и IDi. Кроме того, для пары Ki и Kj возможно совпадение со-
ответствующих значений Е. В связи с этим вероятность ложной аутентификации пользователя не
должна быть больше некоторого порогового значения Р?. На практике задают Т? = 1020 ... 1030, Р? =
10-7 ... 10-9 [73].

Протокол идентификации и аутентификации (для схемы 1).
1. Пользователь предъявляет свой идентификатор ID.
2. Если ID не совпадает ни с одним IDi , зарегистрированным в компьютерной системе, то идентифи-
кация отвергается - пользователь не допускается к работе, иначе (существует IDi = ID) устанавлива-
ется, что пользователь, назвавшийся пользователем i, прошел идентификацию.
3. Субъект аутентификации запрашивает у пользователя его аутентификатор К.
4. Субъект аутентификации вычисляет значение
Y = F (IDi, K).
5. Субъект аутентификации производит сравнение значений Y и Ei. При совпадении этих значений
устанавливается, что данный пользователь успешно аутентифицирован в системе. Информация об
этом пользователе передается в программные модули, использующие ключи пользователей (т.е. в
систему шифрования, разграничения доступа и т. д.). В противном случае аутентификация отвергает-
ся - пользователь не допускается к работе.
Данная схема идентификации и аутентификации пользователя может быть модифицирована.
Модифицированная схема 2 обладает лучшими характеристиками по сравнению со схемой 1.

Схема 2. В компьютерной системе выделяется модифицированный объект-эталон, структура
которого показана в таблице 5.2.
Таблица 5.2.
Номер пользователя Информация для Информация для
идентификации аутентификации
1 ID1, S1 E1
2 ID2, S2. E2
... ... ...
N IDn, Sn En

<< Предыдущая

стр. 18
(из 48 стр.)

ОГЛАВЛЕНИЕ

Следующая >>