Согласно новости от RBK Путин сегодня официально ввел понятие «удаленная» работа. Более того, можно без оформления трудовой книжки! Ну не чудо ли? То-то снег валит в апреле… Фрилансеры, возьмите на заметку! Может, кто-то захочет быть поближе к некоему «дяде»? Но я хочу поговорить не о приятной возможности теперь работать «правильно», а о цифровых подписях, которыми предполагается обмениваться вместе с документами, договорами и прочей важной документацией, ибо не все товарищи точно предсталяют, что это такое, чем это отличается от электронной подписи и так далее. Что касается законов, сведения эти примерно годичной давности, но тем не менее — советую обратить именно на техническую сторону вопроса…
ОПРЕДЕЛЕНИЯ
В соответствии с Федеральным законом Российской Федерации от 10 января 2002 г. № 1-ФЗ «Об электронной цифровой подписи»:
электронный документ — документ, в котором информация представлена в электронно-цифровой форме;
электронная цифровая подпись — реквизит электронного документа, предназначенный для защиты данного электронного документа от подделки, полученный в результате крипто-графического преобразования информации с использованием закрытого ключа электронной цифровой подписи и позволяющий идентифицировать владельца сертификата ключа подписи, а также установить отсутствие искажения информации в электронном документе;
владелец сертификата ключа подписи — физическое лицо, на имя которого удостоверяющим центром выдан сертификат ключа подписи и которое владеет соответствующим закрытым ключом электронной цифровой подписи, позволяющим с помощью средств электронной цифровой подписи создавать свою электронную цифровую подпись в электронных документах (подписывать электронные документы);
средства электронной цифровой подписи — аппаратные и (или) программные средства, обеспечивающие реализацию хотя бы одной из следующих функций — создание электронной цифровой подписи в электронном документе с использованием закрытого ключа электронной цифровой подписи, подтверждение с использованием открытого ключа электронной цифровой подписи подлинности электронной цифровой подписи в электронном документе, создание закрытых и открытых ключей электронных цифровых подписей;
сертификат средств электронной цифровой подписи — документ на бумажном носителе, выданный в соответствии с правилами системы сертификации для подтверждения соответ-ствия средств электронной цифровой подписи установленным требованиям;
закрытый ключ электронной цифровой подписи — уникальная последовательность символов, известная владельцу сертификата ключа подписи и предназначенная для создания в электронных документах электронной цифровой подписи с использованием средств элек-тронной цифровой подписи;
открытый ключ электронной цифровой подписи — уникальная последовательность символов, соответствующая закрытому ключу электронной цифровой подписи, доступная лю-бому пользователю информационной системы и предназначенная для подтверждения с использованием средств электронной цифровой подписи подлинности электронной цифровой подписи в электронном документе;
сертификат ключа подписи — документ на бумажном носителе или электронный доку-мент с электронной цифровой подписью уполномоченного лица удостоверяющего центра, ко-торые включают в себя открытый ключ электронной цифровой подписи и которые выдаются удостоверяющим центром участнику информационной системы для подтверждения подлинности электронной цифровой подписи и идентификации владельца сертификата ключа подписи;
подтверждение подлинности электронной цифровой подписи в электронном документе — положительный результат проверки соответствующим сертифицированным средством электронной цифровой подписи с использованием сертификата ключа подписи принадлежности электронной цифровой подписи в электронном документе владельцу сертификата ключа подписи и отсутствия искажений в подписанном данной электронной цифровой подписью элек-тронном документе;
пользователь сертификата ключа подписи — физическое лицо, использующее полу-ченные в удостоверяющем центре сведения о сертификате ключа подписи для проверки при-надлежности электронной цифровой подписи владельцу сертификата ключа подписи;
информационная система общего пользования — информационная система, которая открыта для использования всеми физическими и юридическими лицами и в услугах которой этим лицам не может быть отказано;
корпоративная информационная система — информационная система, участниками ко-торой может быть ограниченный круг лиц, определенный ее владельцем или соглашением участников этой информационной системы.
AES (Advanced Encryption Standard) — «улучшенный стандарт шифрования», принятый Национальным институтом стандартов и технологий (NIST) США в 1999 году в качестве стан-дарта шифрования важных несекретных коммуникаций. Пришёл на смену устаревшему DES. Блочный шифр со 128-, 192- или 256-битовым размером ключа и 128-битовым блоком.
Blowfish — блочный алгоритм с ключом переменной длины (вплоть до 448 бит), опериру-ющий на 64-битовых блоках. Это самый быстрый из трёх симметричных алгоритмов, включён-ных в PGPfone(система защищенных телефонных переговоров, основанная на PGP), где он ис-пользуется в 128-битовом режиме. Имеет большой запас прочности и поддаётся криптоанали-зу только в сильно ослабленных вариантах.
MD5 – алгоритм хеширования, для каждого входного сообщения возвращает 128-битовое хэш-значение. Описание алгоритма довольно сложно.
SHA-1 — алгоритм хеширования, принципы в целом схожи с MD4 (предшественник MD5), но эта хэш-функция гораздо более стойка, возвращая 160-битовое хэш-значение для любого сообщения-прообраза.
RSA – криптографическая система с открытым ключом, обеспечивающая оба механизма защиты: шифрование и цифровую подпись.
Хеширование — преобразование входного массива данных произвольной длины в выход-ную битовую строку фиксированной длины таким образом, чтобы изменение входных данных приводило к непредсказуемому изменению выходных данных. Такие преобразования также называются хеш-функциями или функциями свёртки, а их результаты называют хешем, хеш-кодом или дайджестом сообщения.
RFC (Request For Comments) — сборник открытых электронных документов, предостав-ляющих технические сведения по различным интернет-технологиям (их можно найти тут). Документы RFC не несут формального официального статуса, а только предлагают людям высказывать по их поводу свои комментарии, однако на практике они рассматриваются как абсолютно авторитетные источники в своих областях.
Электронно-цифровая подпись
Электронная цифровая подпись (ЭЦП) — реквизит электронного документа, позволяющий установить отсутствие искажения информации в электронном документе с момента формиро-вания ЭЦП и проверить принадлежность подписи владельцу сертификата ключа ЭЦП. Значение реквизита получается в результате криптографического преобразования информации с ис-пользованием закрытого ключа ЭЦП.
Понятие электронной цифровой подписи появилось довольно давно – в середине 70-х годов прошлого века. Вначале ЭЦП представляла собой лишь теорию: первый криптографический алгоритм был разработан в 1977 году. В Россию же электронно-цифровая подпись пришла несколько позже: в 1994 году был принят первый российский стандарт ЭЦП – ГОСТ Р 34.10-94, который в 2002 году был заменен на ГОСТ Р 34.10-2001. Правовой основой использования ЭЦП на территории РФ является Федеральный закон N 1-ФЗ от 10.01.2002 г. «Об электронной цифровой подписи».
Назначение и применение ЭЦП
Цифровая подпись предназначена для аутентификации лица, подписавшего электронный документ. Кроме этого, использование цифровой подписи позволяет осуществить:
• Контроль целостности передаваемого документа;
• Защиту от изменений (подделки) документа;
• Невозможность отказа от авторства;
• Доказательное подтверждение авторства документа.
Состав ЭЦП
Электронная цифровая подпись – это формализованная структура, электронный документ, со-стоящий из набора обязательных и не обязательных реквизитов – атрибутов ЭЦП. В состав обязательных атрибутов входит криптографическая часть, обеспечивающая надёжную идентификацию подписываемых данных и гарантирует надёжность источника информации о подписавшем.
Кроме криптографической части, электронная цифровая подпись обязательно содержит мини-мальную информацию о подписавшем и некоторую техническую информацию. Для прикладно-го использования, электронная цифровая подпись может содержать дату и время подписания, сведения для дополнительных механизмов проверки подписи, расширенную информацию о подписавшем, его полномочия и отношение к подписываемым данным, комментарии, файлы, графическое изображение собственноручной подписи и другие, функционально востребованные, данные.
Средства ЭЦП
Средствами ЭЦП являются аппаратные и (или) программные средства, обеспечивающие реа-лизацию хотя бы одной из следующих функций:
• создание электронной цифровой подписи в электронном документе с использованием закрытого ключа электронной цифровой подписи,
• подтверждение с использованием открытого ключа электронной цифровой подписи подлинности электронной цифровой подписи в электронном документе,
• создание закрытых и открытых ключей электронных цифровых подписей.
Криптографическая основа
Существует несколько схем построения цифровой подписи:
• На основе алгоритмов симметричного шифрования. Данная схема предусматривает наличие в системе третьего лица — арбитра, пользующегося доверием обеих сторон. Авторизацией документа является сам факт зашифрования его секретным ключом и передача его арбитру.
• На основе алгоритмов асимметричного шифрования. На данный момент такие схемы ЭЦП наиболее распространены и находят широкое применение.
Кроме этого, существуют другие разновидности цифровых подписей (групповая подпись, не-оспоримая подпись, доверенная подпись), которые являются модификациями описанных выше схем.
Использование хеш-функций
Поскольку подписываемые документы — переменного (и как правило достаточно большого) объёма, в схемах ЭЦП зачастую подпись ставится не на сам документ, а на его хеш. Для вычисления хэша используются криптографические хеш-функции, что гарантирует выявление из-менений документа при проверке подписи. Хеш-функции не являются частью алгоритма ЭЦП, поэтому в схеме может быть использована любая надёжная хеш-функция.
Стоит заметить, что использование хеш-функции не обязательно при цифровой подписи, а сама функция не является частью алгоритма ЭЦП, поэтому хеш-функция может использоваться любая или не использоваться вообще. Зато при хешировании в результате верификации можно получить только хеш исходного текста, следовательно, если используемая хеш-функция криптографически стойкая, то для злоумышленника получить исходный текст будет вычислительно сложно, а значит, атака такого типа становится невозможной.
Симметричная схема
Симметричные схемы ЭЦП менее распространены чем асимметричные, так как после появления концепции цифровой подписи не удалось реализовать эффективные алгоритмы подписи, основанные на известных в то время симметричных шифрах.
Асимметричная схема
Асимметричные схемы ЭЦП относятся к криптосистемам с открытым ключом. В отличие от асимметричных алгоритмов шифрования, в которых зашифрование производится с помощью открытого ключа, а расшифрование — с помощью закрытого, в схемах цифровой подписи подписывание производится с применением закрытого ключа, а проверка — с применением открытого.
Общепризнанная схема цифровой подписи охватывает три процесса:
• Генерация ключевой пары. При помощи алгоритма генерации ключа равновероятным образом из набора возможных закрытых ключей выбирается закрытый ключ, вычисляется соответствующий ему открытый ключ.
• Формирование подписи. Для заданного электронного документа с помощью закрытого ключа вычисляется подпись.
• Проверка (верификация) подписи. Для данных документа и подписи с помощью открыто-го ключа определяется действительность подписи.
Схема применения ЭЦП (без хеширования):
Применение ЭЦП с хешированием (показан только этап подписания):
Перечень алгоритмов ЭЦП
Асимметричные схемы:
• FDH (Full Domain Hash), вероятностная схема RSA-PSS (Probabilistic Signature Scheme), схемы стандарта PKCS#1 и другие схемы, основанные на алгоритме RSA
• Схема Эль-Гамаля
• Американские стандарты электронной цифровой подписи: DSA, ECDSA (DSA на основе аппарата эллиптических кривых)
• Российские стандарты электронной цифровой подписи: ГОСТ Р 34.10-94 (в настоящее время не действует), ГОСТ Р 34.10-2001
• Схема Диффи-Лампорта
• Украинский стандарт электронной цифровой подписи ДСТУ 4145-2002
• Белорусский стандарт электронной цифровой подписи СТБ 1176.2-99
и другие.
Управление ключами
Важной проблемой всей криптографии с открытым ключом, в том числе и систем ЭЦП, являет-ся управление открытыми ключами. Так как открытый ключ доступен любому пользователю, то необходим механизм проверки того, что этот ключ принадлежит именно своему владельцу. Необходимо обеспечить доступ любого пользователя к подлинному открытому ключу любого другого пользователя, защитить эти ключи от подмены злоумышленником, а также организо-вать отзыв ключа в случае его компрометации.
Задача защиты ключей от подмены решается с помощью сертификатов. Сертификат позволя-ет удостоверить заключённые в нём данные о владельце и его открытый ключ подписью како-го-либо доверенного лица. Существуют системы сертификатов двух типов: централизованные и децентрализованные. В децентрализованных системах путём перекрёстного подписывания сертификатов знакомых и доверенных людей каждым пользователем строится сеть доверия. В централизованных системах сертификатов используются центры сертификации, поддерживаемые доверенными организациями.
Центр сертификации формирует закрытый ключ и собственный сертификат, формирует сер-тификаты конечных пользователей и удостоверяет их аутентичность своей цифровой подпи-сью. Также центр проводит отзыв истекших и компрометированных сертификатов и ведет базы выданных и отозванных сертификатов. Обратившись в сертификационный центр, можно полу-чить собственный сертификат открытого ключа, сертификат другого пользователя и узнать, ка-кие ключи отозваны.
Закрытый ключ является наиболее уязвимым компонентом всей криптосистемы цифровой подписи. Злоумышленник, укравший закрытый ключ пользователя, может создать действи-тельную цифровую подпись любого электронного документа от лица этого пользователя. По-этому особое внимание нужно уделять способу хранения закрытого ключа. Пользователь мо-жет хранить закрытый ключ на своем персональном компьютере, защитив его с помощью па-роля. Однако такой способ хранения имеет ряд недостатков, в частности, защищенность ключа полностью зависит от защищенности компьютера, и пользователь может подписывать доку-менты только на этом компьютере.
В настоящее время существуют устройства хранения закрытого ключа: дискеты, смарт-карты, USB-брелоки, таблетки Touch-Memory
Разновидности ЭЦП
ЭЦП могут быть присоединены к подписываемым данным, отсоединены от них или находиться внутри данных. Наиболее часто применяют ЭЦП к данным, хранящимся в файлах, а сама под-пись относится ко всему содержимому файла.
• Присоединенная электронная цифровая подпись
В случае создания присоединенной подписи создается новый файл ЭЦП, в который помеща-ются данные подписываемого файла. Этот процесс аналогичен помещению документа в кон-верт и его опечатыванию. Перед извлечением документа следует убедиться в сохранности пе-чати (для ЭЦП в ее правильности). К достоинствам присоединенной подписи следует отнести простоту дальнейшего манипулирования с подписанными данными, т.к. все они вместе с под-писями содержатся в одном файле. Этот файл можно копировать, пересылать и т.п. К недостаткам следует отнести то, что без использования средств СКЗИ уже нельзя прочесть и ис-пользовать содержимое файла, точно так же, как нельзя извлечь содержимое конверта, не расклеив его.
• Отсоединенная электронная цифровая подпись
При создании отсоединенной подписи файл подписи создается отдельно от подписываемого файла, а сам подписываемый файл никак не изменяется. Достоинством отсоединенной подпи-си является то, что подписанный файл можно читать, не прибегая к СКЗИ. Только для провер-ки подписи нужно будет использовать и файл с ЭЦП, и подписанный ей файл. Недостаток от-соединенной подписи — необходимость хранения подписанной информации в виде нескольких файлов (подписанного файла и одного или нескольких файлов с подписями). Последнее об-стоятельство существенно осложняет применение подписи, так как при любых манипуляциях с подписанными данными требуется копировать и передавать несколько независимых файлов.
• Электронная цифровая подпись внутри данных
Применение ЭЦП этого вида существенно зависит от приложения, которое их использует, например, электронная цифровая подпись внутри документа Microsoft Word или Acrobat Reader. Вне приложения, создавшего ЭЦП, без знания структуры его данных проверить под-линность частей данных, подписанных ЭЦП затруднительно.
Законодательство
В 1994 году Главным управлением безопасности связи Федерального агентства правитель-ственной связи и информации при Президенте Российской Федерации был разработан первый российский стандарт ЭЦП — ГОСТ Р 34.10-94.
В 2002 году для обеспечения большей криптостойкости алгоритма взамен ГОСТ Р 34.10-94 был введен стандарт ГОСТ Р 34.10-2001, основанный на вычислениях в группе точек эллиптической кривой. В соответствии с этим стандартом, термины «электронная цифровая подпись» и «цифровая подпись» являются синонимами.
Правовое регулирование отношений в области использования электронной цифровой подписи осуществляется в соответствии с настоящим Федеральным законом, Гражданским кодексом Российской Федерации, Федеральным законом «Об информации, информатизации и защите информации» (утратил силу в связи с принятием Федерального закона от 27.07.2006 N 149-ФЗ «Об информации, информационных технологиях и о защите информации»), Федеральным за-коном «О связи», другими федеральными законами и принимаемыми в соответствии с ними иными нормативными правовыми актами Российской Федерации, а также осуществляется соглашением сторон.
Основным законом, регулирующим правила пользования электронной цифровой подписью, в России является Закон РФ от 10 января 2002 г. № 1-ФЗ «Об электронной цифровой подписи». Основной претензией к 1-ФЗ является его неоднозначность, расплывчатость. В частности, да-же определения ЭЦП и электронного документа в целом дают возможности для неоднозначной трактовки. Оставляет возможности для разночтений и такое понятие, как доказательства, определяющие момент подписания – ими можно считать и штамп времени, входящий в под-пись, и время, проставленное в самом документе. Вызывает вопросы и то, как определять не утративший силу на момент проверки сертификат. Сейчас взаимодействующие друг с другом с использованием ЭЦП компании и организации решают все эти проблемы с помощью подписа-ния дополнительных регламентов, иначе – договоров о присоединении, однако это серьезно усложняет процесс обмена электронными документами.
В соответствии с Федеральным законом от 08.11.2007 N 258-ФЗ «О внесении изменений в от-дельные законодательные акты Российской Федерации и признании утратившими силу от-дельных положений законодательных актов Российской Федерации по вопросам лицензирова-ния отдельных видов деятельности» утратил силу п.2 ст.8. («Деятельность удостоверяющего центра подлежит лицензированию в соответствии с законодательством Российской Федерации о лицензировании отдельных видов деятельности»)
Требования к сертификату ключа подписи и списку отозванных сертификатов для обеспечения единого пространства доверия сертификатам ключей электронной цифровой подписи утвер-ждены приказом ФНС РФ от 02.07.2009 N ММ-7-6/353@ (ред. от 07.08.2009)
В новой версии закона, по мнению экспертов рынка, сняты некоторые ограничения – например, необязательным становится использование сертифицированного криптосредства. Это облег-чает жизнь многим организациям и частным лицам в регионах. Дело в том, что сертифициро-ванное криптосредство должно передаваться либо по защищенному каналу, либо на неизме-няемом носителе – например, на диске. Между тем, защищенный канал сам должен быть за-щищен сертифицированным криптосредством, так что возникает патовая ситуация. И это далеко не все нюансы, которые должны быть учтены в новой версии закона об ЭЦП.
На российском рынке (2010 год) существует несколько криптопровайдеров, которые друг с дру-гом не совместимы. Таким образом, складывается ситуация, когда каждому пользователю, чтобы послать письмо с ЭЦП другому пользователю, необходимо сначала удостовериться в том, что адресат сможет проверить ЭЦП. Хотя, казалось бы, используется фактически один и тот же алгоритм, а применение ЭЦП регламентирует один и тот же закон, реализация у рабо-тающих на этом рынке компаний разная.
Внедрение в России
В августе 2010 г. Минэкономразвития подготовило доклад президенту о приоритетах внедре-ния госуслуг в электронном виде. Один из приоритетов — электронные цифровые подписи (ЭЦП) для граждан и организаций. Российское Минкомсвязи не верит в массовость ЭЦП — это ведомство объявило конкурс на разработку альтернатив. Но, несмотря на это, повсеместное распространение электронных подписей в нашей стране все же состоится.
Для человека, хорошо знакомого с компьютером, использование электронной цифровой под-писи не составит большой проблемы. Но вряд ли эту технологию смогут освоить все россияне, рассказывал на Тверском экономическом форуме министр связи и массовых коммуникаций Игорь Щёголев. В качестве альтернативы его ведомство решило создать специальную защищенную электронную почту для общения государства с гражданами.
Электронная цифровая подпись наиболее активно используется в сфере финансов – этому способствует и рост проникновения систем интернет-банкинга, и инициативность Федеральной налоговой службы, подразделения которой принимают отчетность в электронном виде. Кроме того, Президент РФ Дмитрий Медведев недавно подписал Федеральный закон от 27.07.2010 № 229-ФЗ, который предусматривает внесение изменений в первую и вторую часть Налогового кодекса РФ. Среди них – возможность выставления счетов-фактур в электронном виде по вза-имному согласию сторон сделки и при наличии у сторон совместимых технических средств и возможностей для приема и обработки счетов-фактур. Одним из обязательных условий такого процесса является подписание счетов-фактур с помощью ЭЦП.
Кроме того, на уровне законодательства требуется защита систем документооборота в случае обработки персональных данных или транзакций международных платежных систем. Все тех-нологические составляющие подобной защиты уже реализованы и внедряются, важно в ходе их использовании соблюсти требования по сохранению юридической значимости электронных документов при обработке в документоемких информационных системах.
В феврале 2011 года премьер-министр России Владимир Путин подписал распоряжение № 176-р «Об утверждении плана мероприятий по переходу федеральных органов исполнитель-ной власти на безбумажный документооборот при организации внутренней деятельности». Данный документ утвердил план мероприятий по переходу федеральных органов власти на безбумажный документооборот и установил, что реализация мероприятий по переходу на без-бумажный документооборот осуществляется «за счет средств, предусмотренных в федеральном бюджете».
К июню 2011 года планируется обеспечить «должностных лиц федеральных органов исполни-тельной власти средствами электронной цифровой подписи в целях использования в элек-тронном документообороте», создать или модернизировать СЭД министерств и ведомств. С 1 января 2012 г., согласно плану, безбумажный документооборот должен заработать во всех федеральных органах власти.
PGP
PGP,GnuPG,OpenPGP
Прикладная криптосистема PGP (Pretty Good Privacy, Довольно хорошая секретность) была разработана и опубликована в интернете в 1991 году, по сути, оказавшись первым продуктом подобного уровня, представленным для свободного доступа всему миру. Изначальной целью разработки была защита гражданских прав пользователей глобальной сети, а главной задачей программы стала криптографическая защита электронной почты — шифрование.
Программа основана на так называемой асимметричной криптографии, использующей взаимосвязные пары ключей: закрытый, хранящийся только у владельца для цели расшифрования данных и их цифрового подписания, и открытый, который не нуждается в защите, может быть широко распространен и используется для зашифрования и сличения цифровых подписей (все эти уникальные возможности достигаются засчёт особого математического аппарата).
Сегодня PGP — это несколько линеек приложений, различающихся назначением и перечнем решаемых задач, функциональностью, принципами работы и средой исполнения, но объеди-нённых полной совместимостью благодаря стандарту OpenPGP, а также своей исключитель-ной надёжностью в обеспечении защиты информации.
PGP Freeware — бесплатная версия PGP для частного некоммерческого использования. Вклю-чает только компоненты PGPkeys и PGPmail, т.е. средства управления ключами и шифрова-ния/подписания/уничтожения данных. Начиная с PGP 9 представляет собой 30-дневную испы-тательную версию PGP Desktop Professional (полная функциональность), по завершении тесто-вого периода сокращающую объём функций до уровня Freeware.
Долгая история PGP привлекла к криптосистеме внимание огромного числа пользователей, исследователей, специалистов. Тому способствовал и ряд дополнительных обстоятельств. Во-первых, программа всегда была условно-бесплатна. Во-вторых, разработчики — выдающиеся программные инженеры и эксперты в области информационной безопасности — всегда публи-ковали исходные тексты программы для их свободного изучения, что является необходимым условием для поддержания высокой надёжности и выдающейся репутации системы.
Что такое GPG / GnuPG
GnuPG (GNU Privacy Guard, Страж приватности GNU) — это свободный некоммерческий ана-лог PGP, как и PGP, основанный на IETF-стандарте OpenPGP. Разработка программы под эги-дой GNU Privacy Project финансируется Федеральным министерством Германии по экономике и технике. Само же ПО является так называемым open source, т.е. распространяемым в исход-ных текстах для обеспечения надёжности и облегчения изучения на предмет уязвимых мест; по нормам лицензии GPL полностью бесплатно как для некоммерческого, так и для коммерче-ского использования.
Изначально разработка была нацелена на операционную систему Linux, однако позднее была адаптирована и под Win32-совместимые системы. GnuPG обладает всеми аналогичными PGP возможностями шифрования/подписания текста и файлов. Благодаря простым интерфейсам программы, для нее существует ряд графических оболочек, например, WinPT или GPGshell, дополняющие GnuPG PGP-подобным пользовательским интерфейсом. Существует и дополни-тельный плагин для email-клиента Outlook.
GnuPG — исключительно гибкое решение, интегрированное во множество приложений и име-ющее большое количество расширений, все разработанные независимыми группами и распро-страняемые по нормам GPL.
Что такое OpenPGP
OpenPGP — это стандарт, выросший из программы PGP, получившей в Интернете к середине 90-х повсеместное распространение как надёжное средство шифрования электронной почты. Став стандартом де-факто, PGP начал встраиваться во множество приложений и систем.
Чтобы обеспечить совместимость и интероперативность всех этих систем и других, которые могли бы появиться в дальнейшем, организацией Internet Engineering Task Force был утвер-ждён документ RFC 4880 (сменивший RFC 2440 и RFC 1991, в рамках которых были реализо-ваны ранние версии PGP), описывающий стандартное форматирование, синтаксис, нотацию и кодировку пакетов PGP, а также стандартно используемые алгоритмы. Используя эти открытые спецификации, любой разработчик получил возможность написать программу, совместимую со всеми иными, основанными на этом стандарте.
Механизм работы PGP
Шифрование PGP осуществляется последовательно хешированием, сжатием данных, шифро-ванием с симметричным ключом, и, наконец, шифрованием с открытым ключом, причём каж-дый этап может осуществляться одним из нескольких поддерживаемых алгоритмов. Симмет-ричное шифрование производится с использованием одного из пяти симметричных алгоритмов (AES, CAST5, TripleDES, IDEA, Twofish) на сеансовом ключе. Сеансовый ключ генерируется с использованием криптографически стойкого генератора псевдослучайных чисел. Сеансовый ключ зашифровывается открытым ключом получателя с использованием алгоритмов RSA или Elgamal (в зависимости от типа ключа получателя). Каждый открытый ключ соответствует име-ни пользователя или адресу электронной почты. Первая версия системы называлась Сеть До-верия и противопоставлялась системе X.509, использовавшей иерархический подход, осно-ванной на удостоверяющих центрах, добавленный в PGP позже. Современные версии PGP включают оба способа.
Ключи
Пользователь PGP создаёт ключевую пару: открытый и закрытый ключ. При генерации ключей задаются их владелец (имя и адрес электронной почты), тип ключа, длина ключа и срок его действия.
PGP поддерживает три типа ключей: RSA v4, RSA legacy (v3) и Diffie-Hellman/DSS (Elgamal в терминологии GnuPG). Срок действия для каждого из типов ключей может быть определён как неограниченный или до конкретной даты. Для защиты ключевого контейнера используется сек-ретная фраза.
Цифровая подпись
PGP поддерживает аутентификацию и проверку целостности посредством цифровой подписи. По умолчанию она используется совместно с шифрованием, но также может быть применена и к открытому тексту. Отправитель использует PGP для создания подписи алгоритмом RSA или DSA. При этом сначала создаётся хеш открытого текста (также известный как дайджест), затем — цифровая подпись хеша при помощи закрытого ключа отправителя. Для формирования хе-ша могут использоваться алгоритмы MD5, SHA-1, RIPEMD-160, SHA-256, SHA-384, SHA-512. В новых версиях PGP поддержка MD5 осуществляется для сохранения совместимости с ранними версиями. Для подписи используются алгоритмы RSA или DSA (в зависимости от типа ключа).
Сеть доверия
Как при шифровании сообщений, так и при проверке цифровой подписи, необходимо, чтобы принятый получателем открытый ключ действительно принадлежал отправителю. При простом скачивании открытого ключа он может быть подменён. С первых версий PGP поддерживает сертификаты открытых ключей, с помощью которых подмены (или случайные ошибки переда-чи) легко распознаются. Однако недостаточно просто создать сертификат, защищённый от мо-дифицикации, так как при этом гарантируется лишь целостность сертификата после его созда-ния. Пользователи также должны каким-нибудь способом проверить, что открытый ключ в сер-тификате действительно принадлежит отправителю. С первых версий продукты PGP включают в себя внутреннюю схему проверки сертификатов, названную сеть доверия (англ. web of trust). Заданная пара «имя пользователя — открытый ключ» может быть подписана третьим лицом, удостоверяющим соответствие ключа и владельца. В такие подписях может быть несколько вложенных уровней доверия.
Сертификаты
В последних спецификациях OpenPGP доверенные подписи могут использоваться для под-держки создания центров сертификации. Доверенность сертификата означает, что ключ действительно принадлежит указанному владельцу и может использоваться для подписи сертификатов одним уровнем ниже. Сертификат уровня 0 означает обычную подпись. Уровень 1 означает, что при помощи подписанного ключа можно создавать сертификаты уровня 0. При помощи сертификата уровня 2 можно создавать сертификаты уровня 1. Уровень 2 практически идентичен степени доверия, с которой полагаются пользователи на списки доверенных сертификатов, встроенные в браузеры.
Все версии PGP включают в себя способ отмены сертификата. Это необходимо, если требует-ся сохранять безопасность связи при потере или компроментации закрытого ключа. Отмена сертификата похожа на списки отзыва сертификатов в централизованной инфраструктуре от-крытых ключей. Современные версии PGP также поддерживают сроки истечения сертификатов.
Проблема корректного определения принадлежности открытого ключа владельцу характерна для всех криптографических систем с асимметричным шифрованием. У неё не существует достаточно хороших решений. Оригинальная схема PGP позволяет решить пользователю, использовать ли схему проверки сертификатов, в то время как большинство других инфраструктур открытых ключей требуют проверки каждого сертификата.
Криптографическая основа
В процессах шифрования PGP использует три основных типа алгоритмов: алгоритмы крипто-систем с открытым ключом (RSA, DSA, Эльгамаль), алгоритмы односторонних хэш-функций (SHA1, MD5) и итеративные блочные шифры (AES, CAST, 3DES, IDEA, Blowfish, Twofish).
Хэш-функции
MD5 — 128 бит — быстр; большая часть документации по разработке была опубликована; относительно короткая свёртка; проведён ряд успешных криптоаналитиче-ских атак, серьёзно ослабивших алгоритм.
В PGP используется только для совместимости со старыми версиями программы.
SHA-1 — 160 бит — медлителен; принят в качестве гос. стандарта США (сейчас происходит переход к группе алгоритмов SHA-2); большая часть документации по раз-работке закрыта; разработчиком является АНБ; факты успешных крипто-атак неизвестны.
Асимметричные алгоритмы
В PGP асимметричные алгоритмы применяются а) для генерации ЭЦП и б) для зашифрования симметричных сеансовых ключей.
Таблица 2. Сравнение основных параметров криптосистем с открытым ключом в реализации PGP.
RSA До 4096 бит Шифрование и подпись Основан на трудной задаче факторизации больших чисел; NP-полнота задачи не доказана и не опровергнута; один из первых асимметричных алгоритмов.
ElGamal — До 4096 бит. Только шифрование. Основан на трудной задаче вычисления дискретных лога-рифмов в конечном поле; в PGP используется только для шифрования; позволяет быстро генерировать ключи без снижения стойкости.
DSA — до 1024 бит. Только подписание. Основан на трудной задаче вычисления дискретных лога-рифмов в конечном поле; используется только для подписа-ния; длина ключа ограничена 1024 битами; принят в качестве гос. стандарта США; применяется для секретных и несекрет-ных коммуникаций; разработчиком является АНБ.
Elliptic Curve (эллиптические кривые)
ECDSA
Diffie-Hellman (X9.42 в обозначениях IETF-S/MIME)
Использование в России
Согласно ст. 5 закона «Об информации, информационных технологиях и о защите информации», информационный ресурс является объектом гражданско-правовых отношений. Облада-тель информационного ресурса, физическое или юридическое лицо, вправе «разрешать или ограничивать доступ к информации, определять порядок и условия такого доступа». PGP, как и иные СКЗИ, является средством защиты информационных ресурсов, которое вы можете при-менять для обработки и хранения собственной информации на вполне законных основаниях.
В то же время, согласно ст. 16 названного закона, «При создании и эксплуатации государственных информационных систем используемые в целях защиты информации методы и способы ее защиты должны соответствовать указанным требованиям [федеральных органов обеспечения безопасности и противодействия техническим разведкам и технической защиты информации]», одним из которых является обязательная сертификация средств, используемых в подобных системах. PGP в настоящее время не является сертифицированным в России СКЗИ, таким образом, не может применяться в государственных учреждениях, при контактах с государственными учреждениями, а также в любых информационных системах, связанных с хранени-ем и обработкой сведений, составляющих государственную тайну РФ. Для этих случаев при добавлении ЭЦП должен использоваться стандарт ГОСТ Р34.10-2001. Пример программы, удовлетворяющей этим требованиям и прошедшей сертификацию в ФСБ России, – «Крипто-АРМ» на основе «КриптоПРО».
Цифровые сертификаты
Цифровой сертификат состоит из трёх компонентов:
• открытого ключа, к которому он приложен;
• данных, или записей, сертификата (сведения о личности пользователя, как то, имя, электронная почта и т.п., а также, по необходимости, дополнительные ограничителель-ные сведения: права допуска, рабочие лимиты и прочее);
• одной или нескольких цифровых подписей, «связывающих» ключ с сертификатом.
Цель ЭЦП на сертификате – указать, что сведения сертификата были заверены доверенным третьим лицом или организацией.
Таким образом, сертификат, обычно, – это открытый ключ с прикреплёнными к нему одной или несколькими формами ID плюс отметка подтверждения от доверенного лица, «связывающая» ID и открытый ключ.
Распространение сертификатов
Сертификаты применяются, когда нужно обменяться с кем-нибудь ключами. Небольшим груп-пам людей, нуждающимся в защищённой связи, не составит труда просто передать друг другу дискеты или отправить электронные письма, содержащие копии их ключей.
Это – ручное распространение открытых ключей, и оно эффективно только до определённого этапа. Дальнейшее – за пределами возможностей данного метода, и тогда возникает необхо-димость развёртывания системы, которая бы обеспечивала достаточную надёжность и без-опасность, предоставляла возможности хранения и обмена ключами, так что коллеги, бизнес-партнёры или незнакомцы смогли бы отправлять друг другу зашифрованные сообщения, если в том возникнет необходимость.
Такая система может реализоваться в форме простого хранилища-депозитария, называемого сервером сертификатов, или сервером-депозитарием открытых ключей, или иметь более сложную и комплексную структуру, предполагающую дополнительные возможности админи-стрирования ключей, и называемую инфраструктурой открытых ключей (Public Key Infrastructure, PKI).
Инфраструктуры открытых ключей (PKI)
PKI, как и простой сервер-депозитарий, имеет базу данных для хранения сертификатов, но, в то же время, предоставляет сервисы и протоколы по управлению открытыми ключами. В них входят возможности выпуска (издания), отзыва (аннулирования) и системы доверия сертификатов. Главной же особенностью PKI является наличие компонентов, известных как Центр сертификации (Certification Authority, CA) и Центр регистрации (Registration Authority, RA).
Центр сертификации (ЦС) издаёт цифровые сертификаты и подписывает их своим закрытым ключом. Из-за важности своей роли, ЦС является главным компонентом инфраструктуры PKI. Используя открытый ключ ЦС, любой пользователь, желающий проверить подлинность конкретного сертификата, сверяет подпись Центра сертификации и, следовательно, удостоверя-ется в целостности содержащейся в сертификате информации и, что более важно, во взаимо-связности сведений сертификата и открытого ключа.
Как правило, Центром регистрации (ЦР) называется система людей, механизмов и процессов, служащая целям зачисления новых пользователей в структуру PKI и дальнейшего администрирования постоянных пользователей системы. Также ЦР может производить «веттинг» – процедуру проверки того, принадлежит ли конкретный открытый ключ предполагаемому владельцу.
Роль ЦР-ЦС аналогична той, что выполняет государственный паспортный отдел: одни его сотрудники проверяют, требуется ли выдача паспорта (работа ЦР), а другие изготовляют сам до-кумент и передают его владельцу (работа ЦС). Наличие ЦР для ЦС не обязательно, но оно обеспечивает разделение функций, которое иногда необходимо.
Формат сертификатов
PGP поддерживает два формата сертификатов:
• Сертификаты OpenPGP (чаще называемые просто ключами PGP)
• Сертификаты X.509
Формат сертификата PGP
Сертификат PGP содержит, в частности, следующие сведения:
• сведения о владельце сертификата;
• открытый ключ владельца сертификата;
• ЭЦП владельца сертификата;
• период действия сертификата;
• предпочтительный алгоритм шифрования.
Вы можете представить сертификат PGP в виде открытого ключа с одной или несколькими привязанными к нему «бирками». На этих «бирках» указана информация, идентифицирующая владельца ключа, а также подпись этого ключа, подтверждающая, что ключ и идентификаци-онные сведения взаимосвязаны. (Этот вид подписи называется автоподписью (self-signature); её содержит каждый сертификат OpenPGP.)
Уникальный аспект формата сертификатов PGP в том, что каждый сертификат может содер-жать множество подписей. Любой человек может подписать идентификационно-ключевую па-ру, чтобы заверить, полагаясь на своё личное убеждение, что открытый ключ принадлежит именно указанному в ID пользователю.
Некоторые PGP-сертификаты состоят из открытого ключа с несколькими «бирками», каждая из которых содержит собственные сведения, идентифицирующие владельца ключа (например, имя владельца и его рабочий e-mail, прозвище владельца и его домашний e-mail, фотография владельца – всё на одном сертификате). Список подписей на каждой из «бирок» может быть различным; подписи указывают на достоверность определённой «бирки» и её принадлежность открытому ключу, а не на то, что все «бирки» достоверны. (Учтите, что «достоверность» зависит от установившего её: подписи – это мнения, и разные люди уделяют разную степень вни-мания проверке подлинности перед подписанием ключа.)
Формат сертификата Х.509
Х.509 – это другой очень распространённый формат. Все сертификаты Х.509 соответствуют международному стандарту ITU-T X.509; таким образом (теоретически), сертификат Х.509, со-зданный для одного приложения, может быть использован в любом другом, поддерживающем этот стандарт. На практике, однако, сложилась ситуация, что разные компании создают соб-ственные расширения для Х.509, не все из которых между собой совместимы.
В случае сертификатов Х.509 заверителем может быть только Центр сертификации или некто, специально уполномоченный им на эту роль.
Сертификат Х.509 – это набор стандартных полей, содержащих сведения о пользователе или устройстве, и их соответствующий открытый ключ. Стардарт Х.509 определяет, какие сведения входят в сертификат и как они кодируются.
Сертификат Х.509 содержит следующие сведения:
• версия Х.509;
• открытый ключ владельца сертификата;
• серийный номер сертификата;
• уникальное имя владельца;
• период действия сертификата;
• уникальное имя издателя;
• ЭЦП издателя и идентификатор алгоритма подписи.
Существует ряд фундаментальных различий между форматами сертификатов Х.509 и PGP:
• вы можете лично создать собственный сертификат PGP; вы должны запросить и получить сертификат Х.509 от Центра сертификации;
• сертификаты Х.509 содержат только одно имя владельца сертификата;
• сертификаты Х.509 содержат только одну ЭЦП, подтверждающую подлинность сертификата.
Чтобы получить сертификат Х.509, вы должны попросить ЦС выдать его вам. Вы предоставляете системе свой открытый ключ, чем доказываете, что обладаете соответствующим закрытым, а также некоторые идентифицирующие вас сведения. Затем вы электронно подписываете эти сведения и отправляете весь пакет – запрос сертификата – в Центр сертификации. ЦС выполняет определённый процесс по проверке подлинности предоставленной информации и, если всё сходится, создаёт сертификат, подписывает и возвращает вам.
Вы можете представить сертификат Х.509, как обычный бумажный сертификат или аттестат с приклеенным к нему открытым ключом. На нём указано ваше имя, а также некоторые сведения о вас, плюс подпись издателя сертификата.
Вероятно, наибольшая польза от сертификатов Х.509, это их применение в Веб-браузерах.
Автор: vancho73