Криптографияя. Основы криптографии - StudentLib.com. Реферат на тему "Основы криптографии" Томск 2007 содержание введение. Криптография. Основные понятия и определения
![]()
|
6. Хэш-функции и немного об электронной подписиКак отмечено во введении, криптографическими методами можно обеспечить не только конфиденциальность, но и проконтролировать целостность передаваемых или хранимых данных. Контроль целостности, в основном, производится путём расчета некоторой "контрольной суммы" данных. Математиками и инженерами, работающими в области передачи данных и теории кодирования, разработано множество алгоритмов, рассчитывающих контрольные суммы передаваемых данных. Для многих приложений простой контрольной суммы (например, известного алгоритма crc32 или последовательного побайтного или пословного сложения исходного текста с известной константой) оказывается достаточно, особенно тогда, когда важна скорость обработки данных и не известен заранее объем данных (типичный случай - передача данных по каналам связи). Проблема простых алгоритмов вычисления контрольной суммы в том, что достаточно легко подобрать несколько массивов данных, имеющих одинаковую контрольную сумму. Криптографически стойкие контрольные суммы вычисляются как результат применения к исходному тексту так называемой хэш-функции. [5] Одним из результатов теории сложности теории функций является гипотеза о существовании односторонних функций. Под односторонней функцией понимается функция, определённая (например) на множестве натуральных чисел и не требующая для вычисления своего значения больших вычислительных ресурсов. Но вычисление обратной функции (то есть, по известному значению функции восстановить значение аргумента) оказывается невозможно теоретически или (в крайнем случае) невозможно вычислительно. Строгое существование односторонних функций пока не доказано. Поэтому все используемые в настоящее время хэш-функции являются лишь "кандидатами" в односторонние функции, хотя и имеют достаточно хорошие свойства. Основными свойствами криптографически "хорошей" хэш-функции является свойство рассеивания, свойство стойкости к коллизиям и свойство необратимости. О необратимости мы уже говорили. Коллизией хэш-функции H называется ситуация, при которой существуют два различных текста T1 и T2, но H (T1) = H (T2). Значение хэш-функции всегда имеет фиксированную длину, а на длину исходного текста не накладывается никаких ограничений. Из этого следует, что коллизии существуют. Требование стойкости к коллизиям обозначает, что для криптографически "хорошей" хэш-функции для заданного текста T1 вычислительно невозможно найти текст T2, вызывающий коллизию. Свойство рассеивания требует, чтобы минимальные изменения текста, подлежащего хэшированию, вызывали максимальные изменения в значении хэш-функции. Основными применяемыми на сегодняшний день алгоритмами, реализующими хэш-функции, являются MD2, MD4, MD5, SHA и его вариант SHA1, российский алгоритм, описываемый стандартом ГОСТ Р 34.11 94. Наиболее часто используются MD5, SHA1 и в России 34.11. Длина значения хэш-функции различна. Типичной длиной является 16-32 байта. В свете последних криптоаналитических результатов, вероятно, придётся в недалеком будущем отказаться от MD5, так как было заявлено: "его стойкость к коллизиям опустилась и, вероятно, подошла близко к той отметке, после которой о стойкости вообще говорить не приходится". В название главы вынесены слова "электронная подпись". Не сказать об электронной подписи совсем было бы неправильно. Дело в том, что без асимметричной криптографии электронной подписи не было бы вообще! Идея электронной подписи проста. Когда описывался процесс шифрования с использованием асимметричного алгоритма, то отмечалось, что для зашифрования сообщения использовался открытый ключ, а для расшифрования - секретный. Но в применении к шифрованию ключи взаимозаменяемы. Можно зашифровать сообщение на своем секретном ключе, и тогда любой желающий сможет его расшифровать, используя открытый ключ. Это свойство асимметричных алгоритмов и используется при формировании и проверке электронно-цифровой подписи. Cобственно электронно-цифровая подпись документа - это его хэш-сумма, зашифрованная секретным ключом. Проверка электронно-цифровой подписи документа сводится к вычислению хэш-суммы документа, расшифрованию хэш-суммы, содержащейся в подписи, и сравнению двух величин. Если значения вычисленной и сохраненной в подписи хэш-сумм совпали, то считается, что подпись под документом верна. [2] . Электронные водяные знаки криптография шифрование аутентификация сертификация В реферате рассматривался вопрос контроля целостности и обеспечения подлинности для электронного документа. Можно ли, используя криптографические технологии, обеспечить подлинность бумажного документа (завещания, доверенности или иного юридического документа)? Традиционным подходом является составление юридического документа на бумаге с водяными знаками или иными защитными элементами. Такой подход требует наличия специального бланка на момент составления документа или наличия типографии со специальным оборудованием. А что делать, когда уже есть бумажный документ и есть желание защитить его от подделки? Известно, что каждый лист бумаги уникален по структуре образующих его волокон. С появлением недорогих сканеров, имеющих высокое разрешение, и надежных технологий распознавания образов, появилась возможность анализировать микроструктуру бумаги и использовать полученную информацию для обеспечения уникальности документа. На сегодняшний день уже имеется проработанная технология, доведенная до программно-аппаратного решения, обеспечивающая уникальность бумажных документов, использующая вышеизложенную идею. Выбранный документ сканируется с высоким разрешением, и в отсканированном образе выделяются несколько особенностей (микровкрапления, характерные изгибы образующих волокон и т.д.). В общем, тут напрашивается некоторая аналогия с технологией анализа отпечатков пальцев... И, кстати, не случайно. Полученные данные преобразуются в двоичный массив, для которого вычисляется хэш-функция. Полученное значение хэш-функции и является аналогом "водяного знака" и обеспечивает уникальность документа. Легко заметить, что предложенную технологию легко расширить и значение хэш-функции печатать прямо на бланке документа вместе с печатью нотариуса при нотариальном заверении документа. Но такой подход требует соответствующего законодательства. Попытки использовать "электронные водяные знаки" для небумажных носителей пока, к сожалению, не имели успеха. Самым известным примером может служить попытка защиты DVD дисков от нелегального распространения. Идея разработчиков состояла в том, чтобы помимо шифрования информации на диске помещать на него некоторую информацию, которая терялась или переставала быть актуальной на копии. Практика показала, что попытки внедрить подобную технологию оказались неудачными. Приведенный пример, кстати, отражает глубокое и, к сожалению, часто не замечаемое различие традиционных документов и электронных. Суть этой разницы хорошо видна на примере применения электронной подписи. Программа проверки подписи, вообще говоря, может установить лишь то, что проверяемый документ был подписан с использованием ключа, имеющего указанный идентификатор и подпись верна (либо - не верна). Но по подписи нельзя определить, кто же именно воспользовался данным ключом. Пусть, например, для вычисления "контрольной суммы" легального DVD диска использовались такие его характеристики, как материал покрытия, данные, нанесенные штрих кодом, код завода изготовителя и серийный номер диска. Обладание алгоритмом вычисления такой "контрольной суммы" позволит потенциальным "пиратам" изготовить неограниченное число копий, просто перевычисляя "контрольную сумму" в процессе изготовления для тех "болванок", которые имеются в их распоряжении. Любой DVD проигрыватель воспримет так изготовленный диск как легальный! [6] . PGP и системы сертификации открытых ключей В пункте 3 была отмечена проблема сохранения подлинности открытых ключей шифрования и подписи в случае их открытого хранения и распределения. При массовом распространении и использовании средств открытой криптографии вопрос обеспечения подлинности ключей становится центральным и требует особого к себе внимания. Традиционным методом удостоверения подлинности документа является его нотариальное заверение. Для обеспечения подлинности открытого ключа тоже было предложено использовать электронный аналог нотариального заверения - электронную подпись доверенного лица или группы лиц. Так что и в этом вопросе человечество снова не выдумало ничего принципиально нового. Подлинность открытого ключа и его атрибутов обеспечивается электронной подписью под ним, принадлежащей некоторому лицу или группе лиц, которым доверяют участники обмена. На практике это реализуется посредством так называемых "центров сертификации ключей" или "доверительных центров" (английский термин - Certification Authority, которому, к сожалению, тоже нет русского дословного аналога). Прежде чем говорить о центрах сертификации открытых ключей и вообще об инфраструктуре открытых ключей, следует сказать несколько слов о пионере "открытой" криптографии Филе Циммермане. Сказать о нем следует не только потому, что он сделал криптографические методы доступными для широкого круга пользователей, но и потому, что он придумал оригинальную идею обеспечения подлинности открытых ключей. Напомним, что Фил Циммерман - бывший сотрудник АНБ, в 1992 году написал и сделал широко доступной программу PGP (Pretty Good Privacy) Название можно перевести на русский язык как "Довольно Хорошая Секретность". Программа предназначена для шифрования и электронной подписи сообщений. В жизни PGP и самого Фила Циммермана был и "гнев спецслужб", и признание "широких масс пользователей". Было время, когда Циммерман находился под следствием, якобы за "разглашение государственной тайны". Но захватывающая история появления и развития PGP не является темой данного пункта. Нас будут интересовать оригинальные, если угодно, общественно технологические идеи, реализованные в PGP.- это программа, которая позволяет шифровать и подписывать электронные документы с использованием нескольких криптографических алгоритмов. При этом для шифрования используется "гибридная" схема: информация шифруется симметричным алгоритмом на сеансовом ключе, а сеансовый ключ зашифровывается асимметричным алгоритмом на открытом ключе получателя сообщения. Поскольку Фил Циммерман одной из задач PGP считал бесконтрольное со стороны государства использование криптографических технологий, он предложил идею взаимной сертификации открытых ключей. Идея взаимной сертификации открытых ключей реализуется следующим образом. Пользователь программы PGP создает свою ключевую пару. Далее, если он хочет передавать зашифрованную информацию другим людям, то ему следует позаботиться о безопасном способе передачи открытого ключа его корреспондентам. Например, таковым способом может быть личная встреча. Пользователь и его корреспондент передают друг другу открытые ключи. Пользователь и его корреспондент могут подписать открытые ключи друг друга и разместить полученные "сертификаты" на свободно доступном сервере. Подписей под открытым ключом может быть несколько, и каждой из них может быть присвоен определенный "уровень доверия". При этом уровень доверия определяет конечный потребитель ключа. То есть, используя принцип "друг моего друга - мой друг", можно организовать общение уже друзей пользователя с его корреспондентом. Если друзья пользователя доверяют ему полностью, то подписи пользователя под ключом его корреспондента для них будет достаточно для его использования. В технологии PGP неявно использовался принцип "взаимного доверия". Если я, как пользователь PGP, заинтересован в увеличении числа корреспондентов, с которыми я буду в состоянии поддерживать шифрованное сообщение, то я постараюсь найти больше людей, которые мне доверяют, с целью сертификации моего ключа. А те, в свою очередь, будут искать своих доверителей. В результате, совершенно незнакомые люди, желающие организовать обмен зашифрованными сообщениями, могут с сервера ключей PGP получить открытые ключи с большим количеством подписей незнакомых друг с другом людей. С большой вероятностью среди подписей в сертификате окажется или подпись человека, которому эти люди доверяют полностью, или несколько подписей людей, доверие к которым не столь безгранично, но все же имеет место быть. При этом каждый из корреспондентов волен сам расставлять приоритеты подписей. И всё-таки Филу Циммерману не удалось полностью реализовать свою идею. Система "взаимной сертификации, основанной на доверии", не выдержала испытание реальностью. PGP, конечно, продолжает применяться и имеет своих сторонников, но на корпоративном уровне (а в некоторых странах - и на государственном) система сертификации ключей PGP полностью вытеснена доверительными центрами или центрами сертификации открытых ключей. Общественный Институт мировых судей и нотариусов не нов, так что создателям центров сертификации не пришлось выдумывать ничего нового. Вместо взаимной сертификации ключей был предложен механизм сертификации открытых ключей в "электронном нотариате". Для превращения открытого ключа в сертификат открытого ключа к нему добавляются реквизиты владельца ключа, реквизиты "доверительного центра", а также сроки действия ключа и другая необходимая информация. Вся информация кодируется специальным образом для обеспечения однозначности и подписывается на секретном ключе доверительного центра. Юридический статус доверительного центра может быть любым. От официально государственного до корпоративного или частного. Многие крупные западные корпорации уже имеют свои корпоративные центры сертификации для организации внутрифирменного обмена конфиденциальной информацией. Созданы и успешно функционируют независимые центры сертификации, например, "VerySign, Inc". Собственные публичные центры сертификации созданы компаниями Microsoft и AmericanExpress. Создание и разворачивание российских центров сертификации - дело недалекого будущего. В настоящее время в Государственной Думе Российской Федерации рассматриваются несколько законопроектов, так или иначе регламентирующих использование электронно-цифровой подписи. Один из законопроектов так и называется - "Об использовании электронно-цифровой подписи". Остальные - "Об электронной коммерции" и "Об электронной торговле". Все законопроекты предполагают разворачивание центров сертификации открытых ключей на федеральном уровне. При этом ни один из законопроектов не затрагивает вопрос ведомственной принадлежности центров сертификации, а также не описывает круг лиц и/или организаций, которые будут временно в обязательном порядке пользоваться услугами создаваемых центров сертификации. Пока рано говорить о том, что нас, как российских потребителей и разработчиков информационных технологий, ждет в случае утверждения одного из рассматриваемых проектов в качестве закона. [1] |