Электронная цифровая подпись история создания
Электро́нная цифрова́я по́дпись (ЭЦП)— реквизит электронного документа, предназначенный для защиты данного электронного документа от подделки, полученный в результате криптографического преобразования информации с использованием закрытого ключа электронной цифровой подписи и позволяющий идентифицировать владельца сертификата ключа подписи, а также установить отсутствие искажения информации в электронном документе, [1] а также обеспечивает неотказуемость подписавшегося.
Юридические аспекты
В России юридически значимый сертификат электронной подписи выдаёт удостоверяющий центр. Правовые условия использования электронной цифровой подписи в электронных документах регламентирует ФЕДЕРАЛЬНЫЙ ЗАКОН ОТ 10.01.2002 N 1-ФЗ «ОБ ЭЛЕКТРОННОЙ ЦИФРОВОЙ ПОДПИСИ»
Подделка подписи
Получение фальшивой подписи, не имея секретного ключа — задача практически нерешаемая даже для очень слабых шифров и хэшей.
Управление ключами
Важной проблемой всей криптографии с открытым ключом, в том числе и систем ЭЦП, является управление открытыми ключами. Необходимо обеспечить доступ любого пользователя к подлинному открытому ключу любого другого пользователя, защитить эти ключи от подмены злоумышленником, а также организовать отзыв ключа в случае его компрометации.
Задача защиты ключей от подмены решается с помощью сертификатов. Сертификат позволяет удостоверить заключённые в нём данные о владельце и его открытый ключ подписью какого-либо доверенного лица. В централизованных системах сертификатов (например PKI) используются центры сертификации, поддерживаемые доверенными организациями. В децентрализованных системах (например
Управлением ключами занимаются центры распространения сертификатов. Обратившись к такому центру пользователь может получить сертификат какого-либо пользователя, а также проверить, не отозван ли ещё тот или иной открытый ключ.
Юридические аспекты
В России юридически значимый сертификат электронной подписи выдаёт удостоверяющий центр. Правовые условия использования электронной цифровой подписи в электронных документах регламентирует ФЕДЕРАЛЬНЫЙ ЗАКОН ОТ 10.01.2002 N 1-ФЗ «ОБ ЭЛЕКТРОННОЙ ЦИФРОВОЙ ПОДПИСИ»
Социальные атаки
Социальные атаки направлены на «слабое звено» криптосистемы — человека.
- Злоумышленник, укравший закрытый ключ, может подписать любой документ от имени владельца ключа.
- Злоумышленник может обманом заставить владельца подписать какой-либо документ, например используя протокол слепой подписи.
- Злоумышленник может подменить открытый ключ владельца (см. управление ключами) на свой собственный, выдавая себя за него.
Социальные атаки
Социальные атаки направлены на «слабое звено» криптосистемы — человека.
- Злоумышленник, укравший закрытый ключ, может подписать любой документ от имени владельца ключа.
- Злоумышленник может обманом заставить владельца подписать какой-либо документ, например используя протокол слепой подписи.
- Злоумышленник может подменить открытый ключ владельца (см. управление ключами) на свой собственный, выдавая себя за него.
Содержание
Получение двух документов с одинаковой подписью (коллизия второго рода)
Куда более вероятна атака второго рода. В этом случае злоумышленник фабрикует два документа с одинаковой подписью, и в нужный момент подменяет один другим. При использовании надёжной хэш-функции такая атака должна быть также вычислительно сложной. Однако эти угрозы могут реализоваться из-за слабостей конкретных алгоритмов хэширования, подписи, или ошибок в их реализациях. В частности, таким образом можно провести атаку на SSL-сертификаты и алгоритм хеширования [2]
Общая схема
Схема электронной подписи обычно включает в себя:
- алгоритм генерации ключевых пар пользователя;
- функцию вычисления подписи;
- функцию проверки подписи.
Функция проверки подписи проверяет, соответствует ли данная подпись данному документу и открытому ключу пользователя. Открытый ключ пользователя доступен всем, так что любой может проверить подпись под данным документом.
Поскольку подписываемые документы — переменной (и достаточно большой) длины, в схемах ЭЦП зачастую подпись ставится не на сам документ, а на его хэш. Для вычисления хэша используются криптографические хэш-функции, что гарантирует выявление изменений документа при проверке подписи. Хэш-функции не являются частью алгоритма ЭЦП, поэтому в схеме может быть использована любая надёжная хэш-функция.
Готовые работы на аналогичную тему
С начала 2013 года был введён новый стандарт ГОСТ Р 34.10-2012, в котором были учтены все нововведения в этой сфере за прошедший период времени.
Содержание
Использование ЭЦП в России
После становления ЭЦП при использовании в электронном документообороте между кредитными организациями и кредитными бюро в 2005 году активно стала развиваться инфраструктура электронного ДОУ между налоговыми органами и налогоплательщиками. Начал работать приказ Министерства по налогам и сборам Российской Федерации от 2 апреля 2002 г. N БГ-3-32/169 «Порядок представления налоговой декларации в электронном виде по телекоммуникационным каналам связи». Порядок представления налоговой декларации в электронном виде по телекоммуникационным каналам связи определяет общие принципы организации информационного обмена при представлении налогоплательщиками налоговой декларации в электронном виде по телекоммуникационным каналам связи.
В Законе РФ от 10.01.2002 № 1-ФЗ «ОБ ЭЛЕКТРОННОЙ ЦИФРОВОЙ ПОДПИСИ» прописаны условия использования электронной цифровой подписи, особенности ее использования в сферах государственоого управления и в корпоративной информационной системе. Благодаря электронной цифровой подписи теперь, в частности, многие российские компании осуществляют свою торгово-закупочную деятельность в Интернете, через «Системы электронной торговли», обмениваясь с контрагентами необходимыми документами в электронном виде, подписанными ЭЦП. Это значительно упрощает и ускоряет проведение конкурсных торговых процедур.
Общая схема
Схема электронной подписи обычно включает в себя:
- алгоритм генерации ключевых пар пользователя;
- функцию вычисления подписи;
- функцию проверки подписи.
Функция проверки подписи проверяет, соответствует ли данная подпись данному документу и открытому ключу пользователя. Открытый ключ пользователя доступен всем, так что любой может проверить подпись под данным документом.
Поскольку подписываемые документы — переменной (и достаточно большой) длины, в схемах ЭЦП зачастую подпись ставится не на сам документ, а на его хэш. Для вычисления хэша используются криптографические хэш-функции, что гарантирует выявление изменений документа при проверке подписи. Хэш-функции не являются частью алгоритма ЭЦП, поэтому в схеме может быть использована любая надёжная хэш-функция.
Защищённость
Цифровая подпись обеспечивает:
- Удостоверение источника документа. В зависимости от деталей определения документа могут быть подписаны такие поля, как «автор», «внесённые изменения», «метка времени» и т. д.
- Защиту от изменений документа. При любом случайном или преднамеренном изменении документа (или подписи) изменится хэш, следовательно, подпись станет недействительной.
- Невозможность отказа от авторства. Так как создать корректную подпись можно, лишь зная закрытый ключ, а он известен только владельцу, то владелец не может отказаться от своей подписи под документом.
- Предприятиям и коммерческим организациям сдачу финансовой отчетности в государственные учреждения в электронном виде;
- Организацию юридически значимого электронного документооборота.
Возможные атаки на ЭЦП таковы…
Алгоритмы ЭЦП
- Американские стандарты электронной цифровой подписи: ECDSA
- Российские стандарты электронной цифровой подписи: ГОСТ Р 34.10-94 (в настоящее время не действует), ГОСТ Р 34.10-2001
- Украинский стандарт электронной цифровой подписи: ДСТУ 4145-2002
- Стандарт RSA
- схема Шнорра
Подделка документа (коллизия первого рода)
Злоумышленник может попытаться подобрать документ к данной подписи, чтобы подпись к нему подходила. Однако в подавляющем большинстве случаев такой документ может быть только один. Причина в следующем:
- Документ представляет из себя осмысленный текст.
- Текст документа оформлен по установленной форме.
- Документы редко оформляют в виде Plain Text — файла, чаще всего в формате DOC или HTML.
Если у фальшивого набора байт и произойдет коллизия с хешем исходного документа, то должны выполниться 3 следующих условия:
- Случайный набор байт должен подойти под сложно структурированный формат файла.
- То, что текстовый редактор прочитает в случайном наборе байт, должно образовывать текст, оформленный по установленной форме.
- Текст должен быть осмысленным, грамотным и соответствующий теме документа.
Впрочем, во многих структурированных наборах данных можно вставить произвольные данные в некоторые служебные поля, не изменив вид документа для пользователя. Именно этим пользуются злоумышленники, подделывая документы.
Вероятность подобного происшествия также ничтожно мала. Можно считать, что на практике такого случиться не может даже с ненадёжными хеш-функциями, так как документы обычно большого объёма — килобайты.
Использование ЭЦП в России
После становления ЭЦП при использовании в электронном документообороте между кредитными организациями и кредитными бюро в 2005 году активно стала развиваться инфраструктура электронного ДОУ между налоговыми органами и налогоплательщиками. Начал работать приказ Министерства по налогам и сборам Российской Федерации от 2 апреля 2002 г. N БГ-3-32/169 «Порядок представления налоговой декларации в электронном виде по телекоммуникационным каналам связи». Порядок представления налоговой декларации в электронном виде по телекоммуникационным каналам связи определяет общие принципы организации информационного обмена при представлении налогоплательщиками налоговой декларации в электронном виде по телекоммуникационным каналам связи.
В Законе РФ от 10.01.2002 № 1-ФЗ «ОБ ЭЛЕКТРОННОЙ ЦИФРОВОЙ ПОДПИСИ» прописаны условия использования электронной цифровой подписи, особенности ее использования в сферах государственоого управления и в корпоративной информационной системе. Благодаря электронной цифровой подписи теперь, в частности, многие российские компании осуществляют свою торгово-закупочную деятельность в Интернете, через «Системы электронной торговли», обмениваясь с контрагентами необходимыми документами в электронном виде, подписанными ЭЦП. Это значительно упрощает и ускоряет проведение конкурсных торговых процедур.
Подделка документа (коллизия первого рода)
Злоумышленник может попытаться подобрать документ к данной подписи, чтобы подпись к нему подходила. Однако в подавляющем большинстве случаев такой документ может быть только один. Причина в следующем:
- Документ представляет из себя осмысленный текст.
- Текст документа оформлен по установленной форме.
- Документы редко оформляют в виде Plain Text — файла, чаще всего в формате DOC или HTML.
Если у фальшивого набора байт и произойдет коллизия с хешем исходного документа, то должны выполниться 3 следующих условия:
- Случайный набор байт должен подойти под сложно структурированный формат файла.
- То, что текстовый редактор прочитает в случайном наборе байт, должно образовывать текст, оформленный по установленной форме.
- Текст должен быть осмысленным, грамотным и соответствующий теме документа.
Впрочем, во многих структурированных наборах данных можно вставить произвольные данные в некоторые служебные поля, не изменив вид документа для пользователя. Именно этим пользуются злоумышленники, подделывая документы.
Вероятность подобного происшествия также ничтожно мала. Можно считать, что на практике такого случиться не может даже с ненадёжными хеш-функциями, так как документы обычно большого объёма — килобайты.
Алгоритмы формирования цифровых подписей
Есть различные алгоритмы формирования цифровых подписей:
- На базе алгоритма симметричной шифровки. Согласно этой методике, требуется присутствие в системе арбитра, который пользуется доверием двух сторон, заинтересованных в цифровой подписи. Авторским правом на подпись считается само действие шифрования её секретным ключом и пересылка независимому арбитру.
- На базе алгоритма ассиметричной шифровки. В настоящее время это самые популярные схемы цифровой подписи.
Помимо двух вышеназванных схем, есть много других структур цифровой подписи, являющихся их модифицированными вариантами. Они возникли из-за разнообразного круга проблем, которые могут быть решены посредством цифровой подписи.
Использование ЭЦП в других странах
Итак, все чаще в кругах, работающих с документами все чаще звучат слова «электронный документ» и, связанное с ним почти неразрывно «электронная цифровая подпись», иначе — ЭЦП.
Данный цикл статей предназначен для того, чтобы раскрыть «тайное знание» о том, что это такое, когда и как это можно и нужно использовать, какие есть плюсы и минусы.
Естественно, статьи пишутся не для специалистов по криптографии, а для тех, кто эту самую криптографию будет использовать, или же только начинает ее изучение, желая стать специалистом, поэтому я старался максимально упростить понимание всего процесса, приводя аналогии и рассматривая примеры.
Зачем нам вообще что-то подписывать? Естественно, чтобы удостоверить, что мы ознакомились с содержимым, согласны (а иногда наоборот, не согласны) с ним. А электронная подпись еще и защищает наше содержимое от подмены.
Итак, начать, естественно, стоит с того, что такое электронная цифровая подпись.
В самом примитивном случае это — результат хэш-функции. Что это такое лучше меня разъяснит википедиа, в нашем же случае главное, что с высокой степенью вероятности ее результат не повторяется для разных исходных данных, а также что результат этой функции мало того, что короче исходных данных, так еще по нему исходную информацию восстановить нельзя. Результат функции называют хэшем, а применение этой функции к данным называют хешированием. Грубо, можно назвать хэш функцию архивированием, в результате чего мы получаем очень маленькую последовательность байт, но восстановить исходные данные из такого «архива» нельзя.
Итак, мы читаем файлик в память, хэшируем прочитанное. И что, уже получаем ЭЦП? Почти. Наш результат с большой натяжкой можно назвать подписью, но, все же, полноценной подписью он не является, потому что:
1. Мы не знаем, кто сделал данную подпись
2. Мы не знаем, когда была сделана подпись
3. Сама подпись не защищена от подмены никак.
4. Ну и да, хэш функций много, какая из них использовалась для создания этого конкретного хэша?
Поэтому применять к хэшу слово «подпись» еще нехорошо, будем называть его дальше просто хэш.
Вы посылаете ваш файл другому человеку, допустим, по почте, будучи уверенными, что он точно получит и прочитает именно то, что вы послали. Он же, в свою очередь, тоже должен хэшировать ваши данные и сравнить свой результат с вашим. Если они совпали — все хорошо. Это значит что данные защищены? Нет.
Ведь хэшировать может кто угодно и когда угодно, и вы никогда не докажете, что он хэшировал не то, что вы послали. То есть, если данные будут перехвачены по дороге злоумышленником, или же тот, кому вы посылаете данные — не очень хороший человек, то данные могут быть спокойно подменены и прохэшированы. А ваш получатель (ну или вы, если получатель — тот самый нехороший человек) никогда не узнает, что он получил не то, что вы отправляли, или сам подменил информацию от вас для дальнейшего использования в своих нехороших целях.
Посему, место для использование чистой хэш функции — транспорт данных в пределах программы или программ, если они умеют общаться между собой. Собственно, с помощью хэш функций вычисляются контрольные суммы. И эти механизмы защищают от случайной подмены данных, но не защищают от специальной.
Но, пойдем дальше. Нам хочется защитить наш результат хеширования от подмены, чтобы каждый встречный не мог утверждать, что это у него правильный результат. Для этого самое очевидное что (помимо мер административного характера)? Правильно, зашифровать. А ведь с помощью шифрования же можно и удостоверить личность того, кто хэшировал данные! И сделать это сравнительно просто, ведь есть ассиметричное шифрование. Да, оно медленное и тяжелое, но ведь нам всего-то и надо — зашифровать маленькую последовательность байт. Плюсы такого действия очевидны — для того, чтобы проверить нашу подпись, надо будет иметь наш открытый ключ, по которому личность зашифровавшего (а значит, и создавшего хэш) можно легко установить.
Суть этого шифрования в следующем: у вас есть закрытый ключ, который вы храните у себя. И есть открытый ключ. Открытый ключ вы можете всем показывать и раздавать, а закрытый — нет. Шифрование происходит с помощью закрытого ключа, а расшифровывание — с помощью открытого.
Приводя аналогию, у вас есть отличный замок и два ключа к нему. Один ключ замок открывает (открытый), второй — закрывает (закрытый). Вы берете коробочку, кладете в нее какую-то вещь и закрываете ее своим замком. Так, как вы хотите, чтобы закрытую вашим замком коробочку открыл ее получатель, то вы открытый, открывающий замок, ключик спокойно отдаете ему. Но вы не хотите, чтобы вашим замком кто-то закрывал коробочку заново, ведь это ваш личный замок, и все знают, что он именно ваш. Поэтому закрывающий ключик вы всегда держите при себе, чтобы кто-нибудь не положил в вашу коробочку мерзкую гадость и не говорил потом, что это вы ее положили и закрыли своим замком.
И все бы хорошо, но тут сразу же возникает проблема, а, на самом деле, даже не одна.
1. Надо как-то передать наш открытый ключ, при этом его должна понять принимающая сторона.
2. Надо как-то связать этот открытый ключ с нами, чтобы нельзя было его присвоить.
3. Мало того, что ключ надо связать с нами, надо еще и понять, какой зашифрованный хэш каким ключом расшифровывать. А если хэш не один, а их, скажем, сто? Хранить отдельный реестр — очень тяжелая задача.
Все это приводит нас к тому, что и закрытый ключ, и наш хэш надо хранить в каких-то форматах, которые нужно стандартизировать, распространить как можно шире и уже тогда использовать, чтобы у отправителя и получателя не возникало «трудностей перевода».
Как водится у людей, к чему-то единому прийти так и не смогли, и образовалось два больших лагеря — формат OpenPGP и формат S/MIME + X.509. Но об этом уже в следующей статье.
Закон «Об электронной подписи» дает чудное определение электронной цифровой подписи (ЭЦП) — это информация, которая будучи присоединенной к другой информации позволяет определить личность лица, подписавшего документ.
В современном мире, когда за несколько часов можно заработать миллион, потерять миллиард, пересечь два континента, разговаривая при этом с деловым партнером на третьем, в современном мире просто необходимо было средство, которое позволит юридически заменить бумагу и человеческую подпись шариковой ручкой на ней.
Что такое ЭЦП?
Электронная подпись выглядит, как USB-флешка. Подразумевается, что вы всегда носите ее с собой или храните в недоступном для посторонних месте. Как печать.
По сути, ЭЦП является вашей электронной печатью, которая скрепляет и заверяет документ.
Выдают электронные подписи специально аккредитованные государством удостоверяющие центры. Выдавая ЭЦП они проверяют личность обратившегося к ним лица, а также его полномочия, если ЭЦП выдается на юридическое лицо.
В USB-флешке, которую вы получаете, содержится сертификат ключа проверки электронной подписи. Именно этот набор символов является вашим идентификатором, который видят все, кто читает ваш документ.
Если потеряли ЭЦП — немедленно обращайтесь с заявлением в полицию. В противном случае все подписанные вашей ЭЦП документы будут считаться действительными!
Помимо идентифицирующего сертификата электронная подпись содержит в себе:
Ключ электронной подписи — закрытый ключ
Ключ проверки электронной подписи — открытый ключ
Они-то нужны, чтобы шифровать ваш документ
Вспомните, подписывая бумажный контракт вы ставите подпись на каждой странице или аккуратно сшиваете толстую стопку листов, чтобы контрагент, каким бы благонадежным он сейчас не выглядел, не внес изменения в текст вашего соглашения.
Электронная подпись помимо идентификации должна заморозить структуру документа, чтобы любые изменения были или невозможны или нарушали «электронную печать».
Защита информации — первое правило военноначальников, поэтому истоки техники шифрования необходимо искать в истории войн.
История
В шпионских фильмах обычно ключом становится какая-то книга, номера страниц, строк и букв которой содержатся в послании. Надежность такого шифра не выше, чем у запертого сундука — отправитель все равно должен был сперва передать ключ.
Если совсем просто, их метод заключается в том, что сделать определенное математическое действие легко только в одну сторону и очень трудно в обратную. Например, если пять умножить на десять получится пятьдесят. Чтобы пятьдесят разложить на произведение пяти и десяти нужно несравнимо больше времени. Это как если вам дадут разобранные механические часы, обратно вы их едва ли соберете.
Допустим вы открыто договорились об общем ключе и обменялись секретными данными, измененными определенным образом. Таким образом, у вас на руках окажутся: открытый ключ, свои секретные данные и зашифрованное послание. У злоумышленников может оказаться ключ и оба зашифрованных послания. Но зашифрованное послание вы можете расшифровать только при помощи своей не зашифрованной информации.
Такую систему шифрования замечательно иллюстрирует следующий пример:
Алиса и Боб договариваются, что открытым ключом будет функция 3 по модулю 17.
Алиса зашифровывает 15 и отправляет Бобу полученное значение — 6.
Ева перехватывает 6, которое ничего не значит.
Боб зашифровывает секретное значение 13 и отправляет Алисе 12.
Ева перехватывает и 12, которое также ничего ей не скажет.
Уитфилд Диффи, Мартин Хеллманом и Ральф Меркле начали новую волну в шифровании, но в наше время их система уже не используется, а срок действия их патента под номером U.S. Patent 4 200 770 истек.
Следующей вехой в шифровании стал алгоритм RSA — Рональда Ривеста, Ади Шамира и Леонарда Адлемана. Придуманный в 1977 году способ даже сейчас можно использовать для создания примитивных цифровых подписей.
На самом деле алгоритм RSA был придуман еще в 1973 Клиффордом Коксом, но его исследования были мгновенно зашифрованы, поэтому на суд общественности была предложена работа Ривеста, Шамира и Адлемана.
Ключ шифрования может быть открытый, потому что зашифровать проще, чем расшифровать, то код дешифровки должен быть секретным.
Простая и непростая подписи
Все, о чем мы говорили выше касается усиленной квалифицированной электронной подписи. Новый закон 2011 года «Об электронной подписи» ввел также понятия неквалифицированная электронная подпись и простая электронная подпись.
Квалифицированная отличается от неквалифицированной тем, что квалифицированную подпись выдает аккредитованный удостоверяющий центр, а неквалифицированную — не аккредитованный.
Сейчас надежнее и безопаснее использовать квалифицированную электронную подпись.
Неквалицированная подпись сейчас мало используется, всего лишь некоторые договоры и первичные документы, если вы заранее договоритесь с контрагентом. Необходимость в такой подписи была на переходном этапе, когда закон был, а аккредитованных удостоверяющих центров еще не было.
Простая электронная подпись, как ясно из названия, существенно проще в использовании, чем квалифицированная. Простая подпись не требует обращения в удостоверяющие центры, не использует способы защиты от изменений документа, а единственной характеристикой является идентификация лица, подписавшего документ.
Примерами простой электронной подписи могут являться логин и пароль при входе в аккаунт электронной почты, вконтакте или фейсбука.
Юридически значимыми ваши документы, подписанные простой электронной подписью будут только в том случае, если вы их адресуете государственным или муниципальным органам, например через сайт госуслуги.
Такой вид «электронной подписи», как изображение рукописной подписи, юридически является не более, чем факсимеле, использование которого допустимо только между контрагентами, которые заблаговременно письменно договорились о возможности применения такого документооборота.
Технология цифровых подписей — это создание электронных подписей посредством криптографических изменений информационных данных с применением зашифрованных кодовых ключей, которые дают возможность выявить наличие искажений информационных данных в документе, представленном в электронном виде,
Применение хеш-структур
Так как документы, которые надо заверить цифровой подписью, имеют почти всегда довольно существенный объём, то часто цифровая подпись формируется не для всего документа, а только для его неотъемлемой небольшой части, хеша. Чтобы вычислить хеш, применяются специальные функции хеш на основе криптографии, которые дают гарантию, что будут обнаружены любые корректировки документа при анализе подписи. Функции хеш не входят в алгоритмическую часть цифровой подписи, поэтому возможно применение любых качественных хешей. Применение хеш-функций имеет такие достоинства:
- Усложнённость вычислений. Как правило, хеш электронного документа формируется значительно меньшего размера, чем сам документ, и процесс выработки хеша выполняется значительно быстрее, чем цифровая подпись. Это означает, что сделать хеш документа и его подпись удобнее, чем сделать цифровую подпись самого документа.
- Уровень совместимости. Почти все алгоритмы работают с информацией в двоичном формате, однако есть и другие форматы данных. Функции хеш возможно применять и для обработки текстовых данных в любой необходимый формат.
- Сохранность данных. Если не применять хеш-функцию, то электронный документ большого объёма, как правило, делится на мелкие блочные элементы, чтобы применить цифровую подпись. При проверке целостности и достоверности данных, нет возможности выяснить наличие всех, составляющих документ, блоков и их нужную очерёдность.
Многие системы цифровой подписи, спроектированные ранее, применяли секретные функции, которые по смыслу аналогичны односторонним функциям. Эти системы имеют уязвимость при атаках с применением открытых ключей, поскольку если взять любую электронную цифровую подпись и прогнать её через верификационный алгоритм, то в итоге будет выдан начальный формат текста.
Электро́нная цифрова́я по́дпись (ЭЦП)— реквизит электронного документа, предназначенный для защиты данного электронного документа от подделки, полученный в результате криптографического преобразования информации с использованием закрытого ключа электронной цифровой подписи и позволяющий идентифицировать владельца сертификата ключа подписи, а также установить отсутствие искажения информации в электронном документе, [1] а также обеспечивает неотказуемость подписавшегося.
Защищённость
Цифровая подпись обеспечивает:
- Удостоверение источника документа. В зависимости от деталей определения документа могут быть подписаны такие поля, как «автор», «внесённые изменения», «метка времени» и т. д.
- Защиту от изменений документа. При любом случайном или преднамеренном изменении документа (или подписи) изменится хэш, следовательно, подпись станет недействительной.
- Невозможность отказа от авторства. Так как создать корректную подпись можно, лишь зная закрытый ключ, а он известен только владельцу, то владелец не может отказаться от своей подписи под документом.
- Предприятиям и коммерческим организациям сдачу финансовой отчетности в государственные учреждения в электронном виде;
- Организацию юридически значимого электронного документооборота.
Возможные атаки на ЭЦП таковы…
Формирование цифровых подписей
В основе технологии цифровых (электронных) подписей, повсеместно распространённых сегодня, лежит асимметричное шифрование с открытым ключом, которое в свою очередь использует следующие методы:
- Выполняется генерация двух чисел, повышенной разрядности. Они называются открытый ключ и закрытый ключ. Эти числа сформированы таким образом, что если даже известен открытый ключ, то расшифровать закрытый ключ за реальный период времени практически невозможно. При этом способ генерирования ключей имеет чёткий алгоритм, который известен всем. Но любой открытый ключ имеет соответствие только с одним закрытым ключом. Это означает, что если, к примеру, Семён Семёнович даёт информацию о своём открытом ключе, то необходимый закрытый ключ имеется лишь у него.
- Существуют качественные способы шифровки, которые позволяют шифровать данные закрытым ключом таким образом, что дешифровать их возможно только соответствующим открытым ключом. Этот способ шифровки также общеизвестен.
- Если цифровая подпись может быть расшифрована посредством открытого ключа, то существует полная уверенность в том, что она шифровалась уникальным закрытым ключом. Например, если цифровая подпись была расшифрована открытым ключом Петрова, то это означает, что именно он автор подписи и только он мог сформировать эту подпись, поскольку только у него есть закрытый ключ.
- При передаче подписанного документа зашифровывать его целиком неудобно, поэтому подвергается шифровке только незначительная часть информации (хеш), однозначно прикреплённая к документу посредством некоторых вычислительных процедур. Этот зашифрованный хеш и есть цифровая (электронная) подпись.
Получение двух документов с одинаковой подписью (коллизия второго рода)
Куда более вероятна атака второго рода. В этом случае злоумышленник фабрикует два документа с одинаковой подписью, и в нужный момент подменяет один другим. При использовании надёжной хэш-функции такая атака должна быть также вычислительно сложной. Однако эти угрозы могут реализоваться из-за слабостей конкретных алгоритмов хэширования, подписи, или ошибок в их реализациях. В частности, таким образом можно провести атаку на SSL-сертификаты и алгоритм хеширования [2]
Краткая история создания
Выражение «цифровая электронная подпись» ввели в обиход Уитфилд Диффи и Мартин Хеллман в 1976 году, но тогда они просто высказали предположение о вероятной возможности таких подписей. Но уже в 1977 году несколько специалистов составили алгоритм RSA на основе криптографии, который уже было возможно применять для выработки упрощённой цифровой подписи. В 1984 году были, наконец, чётко сформулированы условия безопасных алгоритмов цифровых подписей, смоделированы возможные хакерские атаки на структуры электронных цифровых подписей и построены схемы защиты от них.
В России официально электронные цифровые подписи появились в 1994 году, когда органы власти, которые занимаются безопасностью связи (ФАПСИ), оформили стандартизацию электронных цифровых подписей (ГОСТ Р 34.10-94). Затем в 2002 году, чтобы повысить криптографическую устойчивость алгоритмов цифровых подписей, стандарт ГОСТ Р 34.10-94 заменили стандартом ГОСТ Р 34.10-2001, который основан на вычислительных операциях с группой точек кривой в форме эллипса. Согласно этому документу, выражение «электронная цифровая подпись» считается аналогом выражения «цифровая подпись».
Алгоритмы ЭЦП
- Американские стандарты электронной цифровой подписи: ECDSA
- Российские стандарты электронной цифровой подписи: ГОСТ Р 34.10-94 (в настоящее время не действует), ГОСТ Р 34.10-2001
- Украинский стандарт электронной цифровой подписи: ДСТУ 4145-2002
- Стандарт RSA
- схема Шнорра
Управление ключами
Важной проблемой всей криптографии с открытым ключом, в том числе и систем ЭЦП, является управление открытыми ключами. Необходимо обеспечить доступ любого пользователя к подлинному открытому ключу любого другого пользователя, защитить эти ключи от подмены злоумышленником, а также организовать отзыв ключа в случае его компрометации.
Задача защиты ключей от подмены решается с помощью сертификатов. Сертификат позволяет удостоверить заключённые в нём данные о владельце и его открытый ключ подписью какого-либо доверенного лица. В централизованных системах сертификатов (например PKI) используются центры сертификации, поддерживаемые доверенными организациями. В децентрализованных системах (например
Управлением ключами занимаются центры распространения сертификатов. Обратившись к такому центру пользователь может получить сертификат какого-либо пользователя, а также проверить, не отозван ли ещё тот или иной открытый ключ.
Подделка подписи
Получение фальшивой подписи, не имея секретного ключа — задача практически нерешаемая даже для очень слабых шифров и хэшей.
Использование ЭЦП в других странах
Читайте также: