Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Филин С.А. Информационная безопасность, 2006

.pdf
Скачиваний:
144
Добавлен:
11.03.2016
Размер:
12.87 Mб
Скачать

Считается, что системы шифровании на эллиптических кривых, использующие 160-битные поля GF{2160), обеспечивают такую же устойчивость к взлому, как и 1024-битные ключи RSA. Таким обра­ зом, эти системы позволяют использовать более короткие ключи, чем в алгоритме RSA, а это может сильно повлиять на устойчивость и производительность систем шифрования в целом.

Те же расчеты показывают, что системы шифрования на эллип­ тических кривых над 136-битным полем GF(2136) обеспечивают при­ близительно такую же устойчивость к взлому, как и 768-битные клю­ чи RSA.

Математические принципы ЕСС отличны от алгоритмов RSA и Диффи—Хеллмана. В функции ЕСС группа — это множество эле­ ментов с некоторым образом определенными арифметическими опе­ рациями над ними. Поле — это множество элементов с некоторым образом определенными арифметическими операциями над ними. Однако на арифметические операции в поле наложены более стро­ гие условия, чем на операции в группе. Элементами группы эллип­ тических кривых являются наборы из двух чисел — (х,у). Эти наборы называют точками.

Значения х и у могут быть обычными (действительными) числа­ ми, а могут являться членами из ограниченного поля типа Fp (р — про­ стое число). Подобные поля называются базовыми полями (или базой) группы эллиптических кривых. Выбор базового поля влияет на коли­ чество точек группы, скорость вычислений и трудность связанной с группой проблемы дискретных алгоритмов.

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

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

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

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

273

Идентификация сообщений

В PGP и многих других системах кодирования широко использу­ ется идентификация сообщений.

Идентификация сообщений [66] — метод, позволяющий получа­ телю сообщения проверить авторство и неизменность переданного документа.

1, Цифровая подпись [9, 66]. Прежде чем отправить сообщение, пользователь должен закодировать его при помощи специального ключа и таким образом подписать его. С помощью этого секрет­ ного ключа создается цифровая подпись, которую может проверить получатель (или любой другой человек — подпись служит только для подтверждения авторства документа (действительно ли автором переданного документа является человек, оставивший подпись), но не для его кодирования).

Цифровая подпись [66] — это уникальное значение, создаваемое при помощи специального программного обеспечения, получаемое в результате обработки файла специальной функцией и последую­ щего кодирования полученного результата.

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

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

274

пил в силу. Проставить дату и время можно и при помощи цифровой подписи — это создаст гарантии ее неизменности. Кроме того, циф­ ровая подпись может послужить в качестве улики. Другими словами, цифровую подпись можно использовать в качестве вещественного доказательства того, что данное сообщение принадлежит некоторо­ му физическому лицу (его отправителю).

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

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

(EDI — Electronic Data Interchange). EDI — это метол пересылки деловых документов между компьютерами. Федеральное правитель­ ство США использует EDI для закупки товаров и услуг. В докумен­ те EDI подпись, сделанную от руки, можно заменить на цифровую, с помощью которой правительство выражает согласие на предло­ женную цену и заключает контракты, — и все это можно сделать при помощи одной лишь «электронной среды обитания».

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

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

275

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

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

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

вкотором обычно хранится информация о самой программе, а также

оначале и конце подписанного файла. Создание цифровой подпи­ си и ее декодирование на стороне получателя схематично показано на рис. 4.13 [66].

Рис. 4.13. Создание цифровой подписи документа ирасшифровка значения цифровой подписи

 

 

 

 

 

Расшифрованная

 

Зашифрованная

 

 

цифровая подпись

 

 

Зашифрованная

 

 

цифровая подпись

 

цифровая подпись

 

01010101

ка

 

1

0 1 0 1 0 1 6 1

 

01010101

10101010

 

 

I

 

 

10101010

 

 

 

1

 

 

 

10101010

1 0 1 0 1 0 1 0

 

і

10101010

 

10101010

01010101 ......

0 1 0 1 0 1 0 1

Передача

01010101

 

01010101

10101010

10 1 0 1 0 1 0

10101010

М І І І І

10101010 5

 

1

01010101

0 1 0 1 0 1 0 1

 

01010101

Ш ЯйДйВ

01010101 ;

 

Незашифро­

 

іі

НезаЬщфй

 

Документ

сробЛни^ у

 

іі

 

ванный текст

 

1

ванный|Ге«

 

сообщения

Отправитель

 

і

 

Получатель

 

 

 

 

 

276

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

(рис. 4.14) [66].

Рис. 4.14. Вычисление нового смешанного значения и сравнение со старым

Уникальное

значение

Национальный институт стандартов и технологий (NIST — National Institute of Standards and Technology) 30 августа 1991 г. ввел федеральный стандарт на цифровые подписи41. Он назван стандар­ том цифровой подписи (DSS — Digita Signature Standard). С помощью этого стандарта вводится метод определения целостности передава­ емых цифровых данных и идентификации автора.

Пока использование DSS носит обязательный характер только для федеральных агентств. Однако правительство США собирается постепенно перенести данный стандарт на частный сектор. Вместо того чтобы производить различные программные продукты, многие

41 Согласно NIST: «[Этот стандарт] может быть применен во всех федераль­ ных департаментах и агентствах для обеспечения безопасности неклассифи­ цированной информации... [и] предназначен для использования в электрон­ ной почте, электронной пересылке капитала, электронном обмене данными, распространении программного обеспечения, хранении данных и других при­ ложениях, требующих средств проверки целостности данных и определения происхождения» (56 Федеральный реестр 42981, 30 августа 1991 года).

277

компании будут стараться создавать программы, удовлетворяющие стандарту DSS. Введение этого закона предусматривало передачу управления безопасностью компьютеров граждан США в обязанно­ сти NIST, а также ограничение деятельности Агентства националь­ ной безопасности (NSA — National Security Agency).

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

Смомента появления стандарта DSS NIST постоянно вводит

внего новые дополнения и усовершенствования. DSS (известный

внастоящее время как федеральный стандарт обработки инфор­ мации (FIPS — Fédéral Information Processing Standard)) определяет алгоритм цифровой подписи (DSA — Digital Signature Algorithm),

при помощи которого можно вычислять и сверять цифровые под­

писи. Для генерации и проверки цифровых подписей в DSS ис­ пользуются стандарты F1PS 180-1 и SHS (Secure Hash Standard).

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

Многие шифровальщики считают, что указанный в SHS алгоритм

SHA (Secure Hash Algorithm — алгоритм хеширования) — это наибо­ лее мощный в настоящее время алгоритм. Его можно использовать в любом приложении, требующем идентификации файла. Другими словами, при помощи SHA можно оставлять «отпечатки пальцев» на пересылаемом файле, которые впоследствии будут использованы для проверки целостности данных.

Если использовать в алгоритме SHA сообщения длиной менее 204 бит, то на выходе будет получен профиль сообщения, длина ко­ торого составляет 160 бит. После этого полученный профиль обраба­ тывается при помощи алгоритма DSA. В результате будет получена цифровая подпись сообщения. Создание цифровой подписи при по­ мощи малого по размеру профиля сообщения значительно увеличи­ вает эффективность шифрования.

Алгоритм SHA очень похож на тот, что предложен в 1990 г. Ро­ нальдом Л. Ривестом (одним из создателей алгоритма Ривеста— Шамира—Эдлмана) и использован при разработке алгоритма про­ филя сообщения MD-4.

Алгоритм хеширования [9], применяемый для создания цифро­ вой подписи, — специальный математический алгоритм, исполь­

278

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

Теперь принимающая сторона может проверить подлинность при­ нимаемого сообщения и передающую сторону. Это можно сделать:

с помощью открытого ключа получатель расшифровывает цифровую подпись, восстанавливает хеш-файл;

используя алгоритм хеширования, создает свой хеш-файл из исходного полученного файла;

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

2.Слепая подпись (blind signature) [9]. Этот алгоритм применя­ ется в системах электронных платежей; является разновидностью цифровой подписи и подразумевает обмен сообщениями таким об­ разом, что принимающая сторона не может расшифровать получен­ ное сообщение, но может быть вполне уверена, с кем имеет дело. Например, клиенту электронного магазина нежелательно пере­ давать свой номер кредитной карты, а продавцу необходимо точно знать, с кем он имеет дело. Посредником в коммерческих операциях выступает банк, который проверяет подлинность и продавца, и по­ купателя и затем производит перевод денег со счета клиента на счет продавца.

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

3.Цифровой сертификат [66]. Наиболее популярной и наиболее важной сферой применения цифровых подписей является распро­ странение программного обеспечения посредством Интернета, на­ пример, Authenticode (технология цифровых сертификатов компа­ нии Microsoft, основанная на цифровых подписях). Как и обычная

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

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

279

процесс шифрования. Процессы создания и использования цифро­ вых подписей представлены на рис. 4.15 [66].

В методе цифровой подписи существенным является использова­ ние смешанного значения файла — некоторого аналога контрольной суммы файла или отпечатков пальцев (Аг^егргтО. Например, прог­ рамма АиШепНсойе.получает в результате смешивания данных фай­ ла некоторое значение длиной 160 и более бит. Сначала программа смешивает некоторым образом расположенные в файле данные — в результате такого смешивания получается отпечаток, который за­ тем зашифровывается при помощи личного ключа пользователя. Для создания подписи цифрового сертификата АШкепИсос1е добав­ ляет к зашифрованному отпечатку открытый ключ пользователя. Для создания подписи цифрового сертификата необходимо [66]:

Рис. 4.15. Создание и использование цифровых подписей в алгоритме с открытым ключом

Создание

Прикрепление цифровой

цифровой подписи

подписи к файлу

280

1)убедиться, что АшкепИсойе имеет доступ к вашему личному

иоткрытому ключам;

2)создать цифровую подпись файла (т. е. смешать данные файла

изашифровать полученное значение);

3)добавить к исходному файлу цифровую подпись и открытый ключ.

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

на рис. 4.16 [66].

Выполняемые программой (если используется Аи1}гепйсос1е, то в роли такой программы будет выступать \УеЬ-броузер) проверки цифровой подписи на стороне получателя операции включает сле­ дующие шаги [66]:

Рис. 4.16. Проверка целостности файла при помощи цифровой подписи

Файл с цифровой подписью

281

1.Программа распаковывает цифровую подпись и получает за­ шифрованное значение отпечатка и открытый ключ.

2.Программа расшифровывает при помощи открытого ключа отпечаток.

3.Программа смешивает данные присланного файла и сравни­ вает полученное смешанное значение со значением, получен­

ным на предыдущем этапе.

Если значения, полученные на этапе 2 и 3, совпадают, то загрузка прошла успешно. Если же это не так, то кто-то (или что-то) изменил переданные данные.

Если пришедший файл содержит цифровую подпись, остается еше одна нерешенная проблема — кто же на самом деле его автор? Например, идентификация подтвердила, что полученный файл принадлежит А. Однако является ли этот человек действительным автором сообщения, и существует ли он вообще? Для решения по­ добных проблем созданы ведомства сертификатов. Выдавая серти­ фикат, они стараются проверить личность будущего владельца и тем самым устранить все недоразумения. Ведомства сертификатов га­ рантируют, что если какой-либо пользователь загрузит ваш файл, то автором этого файла является только один человек на земле — это вы сами. Кроме того, пользователь может быть уверен, что автор со­ общения — это реальное физическое лицо, а не человек-невидимка. Вдобавок в компетенцию ведомств сертификатов входит наблюде­ ние за тем, чтобы кто-либо не подделал вашу подпись.

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

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

282