страница 1страница 2
|
|||||||||||||||||||||||||||||||||||||||||||||||
Похожие работы
|
Название: Использование цифровой подписи в документах - страница №1/2
Лазарев Алексей Группа № 182 Кафедра микробиологии Название: Использование цифровой подписи в документах Поисковая система: www.google.ru Ключевые слова: использование цифровой подписи Результатов: примерно 268 000
Назначение и применение ЭЦП Цифровая подпись предназначена для аутентификации лица, подписавшего электронный документ[1]. Кроме этого, использование цифровой подписи позволяет осуществить:
Все эти свойства ЭЦП позволяют использовать её для следующих целей[2]:
История возникновения В 1976 году Уитфилдом Диффи и Мартином Хеллманом было впервые предложено понятие «электронная цифровая подпись», хотя они всего лишь предполагали, что схемы ЭЦП могут существовать.[3] В 1977 году, Рональд Ривест, Ади Шамир и Леонард Адлеман разработали криптографический алгоритм RSA, который без дополнительных модификаций можно использовать для создания примитивных цифровых подписей.[4] Вскоре после RSA были разработаны другие ЭЦП, такие как алгоритмы цифровой подписи Рабина, Меркле. В 1984 году Шафи Гольдвассер, Сильвио Микали и Рональд Ривест первыми строго определили требования безопасности к алгоритмам цифровой подписи. Ими были описаны модели атак на алгоритмы ЭЦП, а также предложена схема GMR, отвечающая описанным требованиям.[5] В 1994 году Главным управлением безопасности связи Федерального агентства правительственной связи и информации при Президенте Российской Федерации был разработан первый российский стандарт ЭЦП — ГОСТ Р 34.10-94[6], основанный на вычислениях в группе точек эллиптической кривой и на хеш-функции, описанной в ГОСТ Р 34.11-94. В 2002 году для обеспечения большей криптостойкости алгоритма взамен ГОСТ Р 34.10-94 был введен стандарт ГОСТ Р 34.10-2001.[1] В соответствии с этим стандартом термины «электронная цифровая подпись» и «цифровая подпись» являются синонимами. Существует несколько схем построения цифровой подписи:
Кроме этого, существуют другие разновидности цифровых подписей (групповая подпись, неоспоримая подпись, доверенная подпись), которые являются модификациями описанных выше схем.[7] Их появление обусловлено разнообразием задач, решаемых с помощью ЭЦП. Использование хеш-функций Поскольку подписываемые документы — переменного (и как правило достаточно большого) объёма, в схемах ЭЦП зачастую подпись ставится не на сам документ, а на его хэш. Для вычисления хэша используются криптографические хэш-функции, что гарантирует выявление изменений документа при проверке подписи. Хэш-функции не являются частью алгоритма ЭЦП, поэтому в схеме может быть использована любая надёжная хэш-функция. Использование хэш-функций даёт следующие преимущества:
Стоит заметить, что использование хеш-функции не обязательно при цифровой подписи, а сама функция не является частью алгоритма ЭЦП, поэтому хеш-функция может использоваться любая или не использоваться вообще. В большинстве ранних систем ЭЦП использовались функции с секретом, которые по своему назначению близки к односторонним функциям. Такие системы уязвимы к атакам с использованием открытого ключа (см. ниже), так как, выбрав произвольную цифровую подпись и применив к ней алгоритм верификации, можно получить исходный текст.[8] Чтобы избежать этого, вместе с цифровой подписью используется хеш-функция, то есть, вычисление подписи осуществляется не относительно самого документа, а относительно его хеша. В этом случае в результате верификации можно получить только хеш исходного текста, следовательно, если используемая хеш-функция криптографически стойкая, то получить исходный текст будет вычислительно сложно, а значит атака такого типа становится невозможной. Симметричная схема Симметричные схемы ЭЦП менее распространены чем асимметричные, так как после появления концепции цифровой подписи не удалось реализовать эффективные алгоритмы подписи, основанные на известных в то время симметричных шифрах. Первыми, кто обратил внимание на возможность симметричной схемы цифровой подписи, были основоположники самого понятия ЭЦП Диффи и Хеллман, которые опубликовали описание алгоритма подписи одного бита с помощью блочного шифра.[3] Асимметричные схемы цифровой подписи опираются на вычислительно сложные задачи, сложность которых еще не доказана, поэтому невозможно определить, будут ли эти схемы сломаны в ближайшее время, как это произошло со схемой, основанной на задаче об укладке ранца. Также для увеличения криптостойкости нужно увеличивать длину ключей, что приводит к необходимости переписывать программы, реализующие асимметричные схемы, и в некоторых случаях перепроектировать аппаратуру.[7] Симметричные схемы основаны на хорошо изученных блочных шифрах. В связи с этим симметричные схемы имеют следующие преимущества:
Однако у симметричных ЭЦП есть и ряд недостатков:
Из-за рассмотренных недостатков симметричная схема ЭЦП Диффи-Хелмана не применяется, а используется её модификация, разработанная Березиным и Дорошкевичем, в которой подписывается сразу группа из нескольких бит. Это приводит к уменьшению размеров подписи, но к увеличению объема вычислений. Для преодоления проблемы «одноразовости» ключей используется генерация отдельных ключей из главного ключа.[7] Асимметричная схема Схема, поясняющая алгоритмы подписи и проверки Асимметричные схемы ЭЦП относятся к криптосистемам с открытым ключом. В отличие от асимметричных алгоритмов шифрования, в которых зашифрование производится с помощью открытого ключа, а расшифрование — с помощью закрытого, в схемах цифровой подписи подписывание производится с применением закрытого ключа, а проверка — с применением открытого. Общепризнанная схема цифровой подписи охватывает три процесса[1]:
Для того, чтобы использование цифровой подписи имело смысл, необходимо выполнение двух условий:
Следует отличать электронную цифровую подпись от кода аутентичности сообщения (MAC). Виды асимметричных алгоритмов ЭЦП Как было сказано выше, чтобы применение ЭЦП имело смысл, необходимо, чтобы вычисление легитимной подписи без знания закрытого ключа было вычислительно сложным процессом. Обеспечение этого во всех асимметричных алгоритмах цифровой подписи опирается на следующие вычислительные задачи:
Вычисления тоже могут производиться двумя способами: на базе математического аппарата эллиптических кривых (ГОСТ Р 34.10-2001) и на базе полей Галуа (DSA)[9]. В настоящее время самые быстрые алгоритмы дискретного логарифмирования и факторизации являются субэкспоненциальными. Принадлежность самих задач к классу NP-полных не доказана. Алгоритмы ЭЦП подразделяются на обычные цифровые подписи и на цифровые подписи с восстановлением документа[10]. При верификации цифровых подписей с восстановлением документа тело документа восстанавливается автоматически, его не нужно прикреплять к подписи. Обычные цифровые подписи требуют присоединение документа к подписи. Ясно, что все алгоритмы, подписывающие хеш документа, относятся к обычным ЭЦП. К ЭЦП с восстановлением документа относится, в частности, RSA. Схемы цифровой подписи могут быть одноразовыми и многоразовыми. В одноразовых схемах после проверки подлинности подписи необходимо провести замену ключей, в многоразовых схемах это делать не требуется. Также алгоритмы ЭЦП делятся на детерминированные и вероятностные[10]. Детерминированные ЭЦП при одинаковых входных данных вычисляют одинаковую подпись. Реализация вероятностных алгоритмов более сложна, так как требует надежный источник энтропии, но при одинаковых входных данных подписи могут быть различны, что увеличивает криптостойкость. В настоящее время многие детерминированные схемы модифицированы в вероятностные. В некоторых случаях, таких как потоковая передача данных, алгоритмы ЭЦП могут оказаться слишком медленными. В таких случаях применяется быстрая цифровая подпись. Ускорение подписи достигается алгоритмами с меньшим количеством модульных вычислений и переходом к принципиально другим методам расчета. Асимметричные схемы:
На основе асимметричных схем созданы модификации цифровой подписи, отвечающие различным требованиям:
Подделка подписей Анализ возможностей подделки подписей называется криптоанализ. Попытку сфальсифицировать подпись или подписанный документ криптоаналитики называют «атака». Модели атак и их возможные результаты В своей работе Гольдвассер, Микали и Ривест описывают следующие модели атак, которые актуальны и в настоящее время[5]:
Также в работе описана классификация возможных результатов атак:
Ясно, что самой «опасной» атакой является адаптивная атака на основе выбранных сообщений, и при анализе алгоритмов ЭЦП на криптостойкость нужно рассматривать именно ее (если нет каких-либо особых условий). При безошибочной реализации современных алгоритмов ЭЦП получение закрытого ключа алгоритма является практически невозможной задачей из-за вычислительной сложности задач, на которых ЭЦП построена. Гораздо более вероятен поиск криптоаналитиком коллизий первого и второго рода. Коллизия первого рода эквивалентна экзистенциальной подделке, а коллизия второго рода — выборочной. С учетом применения хеш-функций, нахождение коллизий для алгоритма подписи эквивалентно нахождению коллизий для самих хеш-функций. Подделка документа (коллизия первого рода) Злоумышленник может попытаться подобрать документ к данной подписи, чтобы подпись к нему подходила. Однако в подавляющем большинстве случаев такой документ может быть только один. Причина в следующем:
Если у фальшивого набора байт и произойдет коллизия с хешем исходного документа, то должны выполниться 3 следующих условия:
Впрочем, во многих структурированных наборах данных можно вставить произвольные данные в некоторые служебные поля, не изменив вид документа для пользователя. Именно этим пользуются злоумышленники, подделывая документы. Вероятность подобного происшествия также ничтожно мала. Можно считать, что на практике такого случиться не может даже с ненадёжными хеш-функциями, так как документы обычно большого объёма — килобайты. Получение двух документов с одинаковой подписью (коллизия второго рода) Куда более вероятна атака второго рода. В этом случае злоумышленник фабрикует два документа с одинаковой подписью, и в нужный момент подменяет один другим. При использовании надёжной хэш-функции такая атака должна быть также вычислительно сложной. Однако эти угрозы могут реализоваться из-за слабостей конкретных алгоритмов хэширования, подписи, или ошибок в их реализациях. В частности, таким образом можно провести атаку на SSL-сертификаты и алгоритм хеширования MD5.[11] Социальные атаки Социальные атаки направлены не на взлом алгоритмов цифровой подписи, а на манипуляции с открытым и закрытым ключами[12].
Использование протоколов обмена ключами и защита закрытого ключа от несанкционированного доступа позволяет снизить опасность социальных атак. Управление ключами Управление открытыми ключами Важной проблемой всей криптографии с открытым ключом, в том числе и систем ЭЦП, является управление открытыми ключами. Так как открытый ключ доступен любому пользователю, то необходим механизм проверки того, что этот ключ принадлежит именно своему владельцу. Необходимо обеспечить доступ любого пользователя к подлинному открытому ключу любого другого пользователя, защитить эти ключи от подмены злоумышленником, а также организовать отзыв ключа в случае его компрометации. Задача защиты ключей от подмены решается с помощью сертификатов. Сертификат позволяет удостоверить заключённые в нём данные о владельце и его открытый ключ подписью какого-либо доверенного лица. Существуют системы сертификатов двух типов: централизованные и децентрализованные. В децентрализованных системах путём перекрёстного подписывания сертификатов знакомых и доверенных людей каждым пользователем строится сеть доверия. В централизованных системах сертификатов используются центры сертификации, поддерживаемые доверенными организациями. Центр сертификации формирует закрытый ключ и собственный сертификат, формирует сертификаты конечных пользователей и удостоверяет их аутентичность своей цифровой подписью. Также центр проводит отзыв истекших и компрометированных сертификатов и ведет базы выданных и отозванных сертификатов. Обратившись в сертификационный центр, можно получить собственный сертификат открытого ключа, сертификат другого пользователя и узнать, какие ключи отозваны. Хранение закрытого ключа Смарт-карта и USB-брелоки eToken Закрытый ключ является наиболее уязвимым компонентом всей криптосистемы цифровой подписи. Злоумышленник, укравший закрытый ключ пользователя, может создать действительную цифровую подпись любого электронного документа от лица этого пользователя. Поэтому особое внимание нужно уделять способу хранения закрытого ключа. Пользователь может хранить закрытый ключ на своем персональном компьютере, защитив его с помощью пароля. Однако такой способ хранения имеет ряд недостатков, в частности, защищенность ключа полностью зависит от защищенности компьютера, и пользователь может подписывать документы только на этом компьютере. В настоящее время существуют следующие устройства хранения закрытого ключа[13]:
Кража или потеря одного из таких устройств хранения может быть легко замечена пользователем, после чего соответствующий сертификат может быть немедленно отозван. Наиболее защищенный способ хранения закрытого ключа — хранение на смарт-карте. Для того, чтобы использовать смарт-карту, пользователю необходимо не только её иметь, но и ввести PIN-код, то есть, получается двухфакторная аутентификация. После этого подписываемый документ или его хэш передается в карту, её процессор осуществляет подписывание хеша и передает подпись обратно. В процессе формирования подписи таким способом не происходит копирования закрытого ключа, поэтому все время существует только единственная копия ключа. Кроме того, произвести копирование информации со смарт-карты сложнее, чем с других устройств хранения. В соответствии с законом «ОБ ЭЛЕКТРОННОЙ ЦИФРОВОЙ ПОДПИСИ», ответственность за хранение закрытого ключа владелец несет сам. 1.ЧТО ТАКОЕ "ЭЛЕКТРОННАЯ ПОДПИСЬ" --------------------------------- являлось фактором, сдерживающим широкое внедрение безбумажной технологии обработки документов. Общепризнанные приемы установ- ления подлинности физической подписи под документами абсолютно непригодны при обработке документов в электронной форме. Необхо- димо было другое решение. Такое решение впервые было предложено в 1977 году в виде так называемой системы "электронного подписывания документов" или, короче, "электронной подписи". Процедура электронной подписи включает в себя пару алго- ритмов, один из которых (подписывание) хранится в секрете, а второй (проверка) выдается всем, кому будут адресоваться под- писанные документы. "Подписывание"документа - файла состоит в вычислении с по- мощью программы "Подпись" по содержимому файла некоторого боль- шого числа, которое и называется его электронной подписью. Программа проверки по содержимому документа-файла и его числу-подписи быстро и надежно удостоверяет, что подпись вы- числена именно из этого документа-файла и именно данной конкрет- ной программой подписывания. Принципиальным моментом в электрон- ной подписи является невозможность ее подделывания без секретной программы подписывания. 2. АЛГОРИТМЫ ЭЛЕКТРОННОЙ ПОДПИСИ -------------------------------- Первой и наиболее известной во всем мире системой элект- ронной подписи стала система RSA, разработанная в 1977 году в Массачусетском технологическом институте и названная так по пер- вым буквам фамилий авторов: R.Rivest, A.Shamir, L.Adleman. Алго- ритмы подписывания и проверки подписи в этой системе устроены следующим образом. Подписываемый документ-файл при помощи некоторой процедуры "сжимается" в целое число M. Такая процедура ("хэш-функция") мо- жет быть построена многими хорошо известными способами.Например, путем вычисления "контрольной суммы" этого файла. "Подписывание" числа М состоит в возведении его в заданную степень d и вычислении остатка от деления результата возведения на заданное целое число n, т.е.,: S = М mod n Подпись документа-файла составляет пара чисел [M,S]. В секрете должен храниться только показатель степени d. Для проверки подлинности подписи выдается другой показа- тель степени e, который используется при проверке соотношения e ? S = M mod n . Криптографами доказано, что вычислить подпись S для сооб- щения М может только обладатель числа d, а по числу e определить d не легче, чем разложить на множители число n. Чтобы разложить целое число n было практически невозможно, оно должно состоять не менее чем из 150-170 десятичных знаков. Фирма "ЛАН-КРИПТО" использует более совершенные методы электронного подписывания, чем RSA. Эти методы прошли практическую проверку в коммерческих и государственных учреждениях США. С их основными идеями можно познакомиться по статье El Gamal T., A public-key cryptosysems and signature schеme based on discret logarithms,IEEE Trans.Inform Theory, v.31 N4, pp. 469-472 (1985). Оригинальные алгоритмические и программные решения позво- лили нам сократить время подписывания сообщение в 4 раза по сравнению с лучшими известными образцами, одновременно повысив надежность подписи в 1000 раз. http://lib.ru/SECURITY/kvn/lanpodpisx.txt Использование цифровых подписей Содержание:
В данной статье описываются процессы добавления прозрачной или невидимой цифровой подписи, а также добавление одной или нескольких строк цифровой подписи к документу, листу или презентации Система Microsoft Office 2007. Если не нужно вставлять видимые строки подписи в документ Система Office 2007, однако необходимо обеспечить доказательства подлинности, целостности и происхождения документа, можно добавить невидимую цифровую подпись. Такие подписи можно добавить в документы Microsoft Office Word 2007, книги Microsoft Office Excel 2007 и презентации Microsoft Office PowerPoint 2007. В отличие от строки подписи невидимая цифровая подпись не видна в содержимом документа, но позволяет получателю документа определить, что документ имеет цифровую подпись, отобразив ее или отыскав кнопку подписи в строке состояния внизу экрана. После того как в документе появилась цифровая подпись, он становится доступен только для чтения, чтобы не допустить внесение изменений. следующая страница >> |
|