На главную | Содержание | Назад | Вперёд
Наши друзья

 

 

Списки ратификации DSS/shs

NIST периодически проверяет программное обеспечение на НП соответствие стандарту DSS. Если ваша компания должна передать документы с цифровой подписью какому-либо деральному агентству, то вам необходимо убедиться в том,
что используемое компанией программное обеспечение по созданию цифровых подписей соответствует требованиям DSS. Постоянно обновляемый список программ и аппаратного обеспечения, соответствую­щих стандартам DSS, FIPS 180-1, SHS и FIPS 186, расположен по адресу., http://csrc.nscl.nist.gov/cryprval/dss/dssval.httn.
ЕЩЕ  РАЗ   ОБ АЛГОРИТМЕ ДиФФИ—ХеЛЛмана
Наиболее важным элементом нового стандарта DSS является тот факт, что алго­ритм Диффи-Хеллмана — это залог успеха любого приложения для шифрования информации с открытым ключом.
На протяжении нескольких лет компании по созданию программного обеспече­ния не использовали в своих программах алгоритм Диффи-Хеллмана (в отличие от RSA). Но в последнее время этот алгоритм получает все большее признание (4). Первоначально он использовался только для распространения ключей. Стоит отметить, что подобное использование алгоритма внесло суще­ственный вклад в развитие методов передачи конфиденциальной информации по открытым каналам. Своей стойкостью алгоритм Диффи-Хеллмана обязан математической проблеме дискретных логарифмов и модульной арифметике.
Иногда этот алгоритм называют протоколом соглашений о ключах Диффи—Хел­лмана, соглашением об экспоненциальных ключах или обменом ключей Диф­фи-Хеллмана. Каждое из этих названий корректно. Однако чаще всего он на­зывается алгоритмом Диффи—Хеллмана или просто Диффи—Хеллмап.
Примечание. За более подробной информацией об алгоритме Диффт-Хелшанс об­ратитесь к главе 4 — там вы найдете его полное описание.
загрузка демонстрационной версии HASHCpher
jgm^ HASHCiphe — это разработанная компанией Bolder Software Windows-программа. В ней реализована самая последняя про­веренная версия алгоритма SHA. С ее помощью можно созда­вать очень стойкие к взлому 160-битные профили сообщений. Программа HASHCipher является элементом управления ActiveX и обладает следующими возможностями и преимуществами:
• Поддержка всех типов данных Visual Basic (включая Unicode и стандарт­ные строки).
Возможность использования различных типов данных вовремя вычисле­ния смешанного значения.
• Поддержка создания нескольких экземпляров объекта (т. е. программа может параллельно обрабатывать несколько потоков данных).
• В HASHCipher реализован простой и удобный интерфейс.
• В комплект поставки программы входят исходные тексты программ на Visual Basic с достаточно подробными комментариями (включая утилиту смешивания данных файла и пример проверки
• При помощи программист может получить доступ к резуль­тату создания профиля сообщения — он будет представлен в виде шест­надцатиричной строки и свойства в виде массива целых чисел.
• Внутренняя система Fault Event упрощает отладку приложений. Чтобы загрузить бесплатную демонстрационную версию программы, посе­тите Web-сайт компании  Bolder Software, расположенный по адресу http://www.bokler.com/bokler/HASHCipher_page.html.
будущее  цифровых подписей
Как обсуждалось в главе 4, сегодня специалисты по шифрованию считают, что 512-битные ключи являются более чем достаточной мерой безопасности. Одна­ко уже теперь многие программисты используют ключи длиной в 1024 бита, а некоторые программы обладают возможностями создания ключей длиной в 2048,
3072 и даже 4096 бит. Согласитесь, достаточно внушительные цифры. Их ис­пользование гарантирует полнейшую секретность информации на ближайшие десять-двадцать лет.
Многие специалисты считают, что в ближайшее время на технологии шифрова­ния сильное влияние окажут системы ЕСС (Elliptic Curve Cryptography). Дело в
том, что данный метод шифрования позволяет обрабатывать очень большие чис­ла, затрачивая на это гораздо меньше вычислительной мощности и памяти сис­темы, чем современные алгоритмы. Напомним, что алгоритм ЕСС аналогичен алгоритму Диффи—Хеллмана. Вместо обычных чисел в этом алгоритме исполь­зуется группа эллиптических кривых над ограниченным полем. Как видно, ал­горитм ЕСС полностью отличается от алгоритма RSA.
■ Создание цифровых подписей файлов unix-системах
Ранее в этой главе я уже рассказывал о том, как создать циф­ровую подпись файла при помощи PGP 5.0 в операционной системе Windows. Далее приводится пример, демонстрирую­щий создание цифровой подписи в системе Unix. Для этого используется программа PGP 2.6.2. В рассматриваемом при­мере создается цифровая подпись файла message:
рдр -sat message <Enter> Pretty Good Privacy (tm) 2.6.2 - Public key encryption for the masses.
(C)   1990 - 1994 Philip Zimmerman,  Phil's Pretty Good Privacy Software. 11 Oct 94
Uses the RSAREF(tm)  Toolkit, which is copyright RSA Data Security, Inc.
Distributed by the Massachusetts Institute of Technology. Export of this software may be restricted by the U.S. government.
Current   time:   1997/06/09 06:14 GMT A secret key is required to make a signature. You need a pass phrase to unlock your RSA secret key. Key for user ID "Edward Renehan <ejren@id.net>" Enter pass phrase: Pass phrase is good. : Key for user ID:  Edward Renehan <ejrengid.net>
\\1024-bit key, key ID DOC6457D,  created 1996/12/27 Just a moment .... Clear signature file: message.asc
После того как на терминале появится последняя строка этого текста, а за ней приглашение системы, пользователь может послать сообщение с цифро­вой подписью - PGP сохранила его в файле message.asc. Обычно такое сооб­щение можно поместить в файл электронной почты. Когда получатель от­кроет этот файл, то в начале текста он увидит следующую строку:
- BEGIN PGP SIGNED MESSAGE -
В этом примере рассматривается сообщение с чистой подписью, т, е. пользо­ватель может прочитать содержание файла и проверить цифровую подпись. Однако, несмотря на то что это сообщение можно прочитать, оно не явля­ется текстовым файлом. Это сообщение является файлом PGP,
Ни в коем случае не удаляйте заголовок и окончание файла (его первую и последнюю строки) — с их помощью программа отмечает начало и конец сообщения. Например, PGP таким образом отметит строку, начинающуюся со знака дефиса (-) или словом From. Посмотрите на следующий пример:
- в этой строке стоял дефис, однако PGP добавила к нему еще один.
Таким образом, вам ничего не нужно менять в файлах. Вы передаете про­грамме нужный файл и получаете на выходе готовое сообщение. Более того, только PGP может проверить цифровую подпись. Ниже приводится пример,
созданный программой цифровой подписи:
.- BEGIN PGP SIGNATURE -Version 2.6.2
wudJf;fsmffHHK/esfqgqregdragreghJGVewgjhbvsjdhgfghghygYGKG geerhfewhfqregqkjeEFEsgqehgqfsFjfkqjeqgJHamgbhgnfsdFHTmsfna TEYgagqgkDalhgagnRGrvrqDeqbSFnqdj ghLWKvn=flc j asdY==HwTy
- END   PGP  SIGNATURE -
Если получатель файла запустит входящую в PGP подпрограмму проверки, то он сможет идентифицировать автора файла.
ВВЕДЕНИЕ в ЦИФРОВЫЕ подписи
Наиболее популярной и наиболее важной сферой применения цифровых подпи­сей является распространение программного обеспечения посредством Web. Чаще всего люди предпочитают работать с Authentkode9- разработанной компанией Microsoft технологией цифровых сертификатов, основанной на цифровых под­писях. Обсуждению этого продукта мы и посвятим оставшуюся часть этой гла­вы. Я расскажу о том, как использовать программу и о чем нужно беспокоиться при загрузке надежных компонентов. Как и обычная цифровая подпись, циф­ровой сертификат основан на алгоритме с открытым ключом. Напомним, что в этом алгоритме используются два ключа: личный — для шифрования — и откры­тый — для расшифровки.
Шифрование и расшифровка больших файлов при помощи алгоритма открытого ключа отнимает огромное количество времени. Поэтому при помощи этого ал­горитма шифруются не сами сообщения, а только цифровые подписи. Эта уловка значительно ускоряет процесс шифрования. схематично пока­заны процессы создания и использования цифровых подписей.
Создание и использование цифровых подписей в алгоритме с открытым ключом.
В методе цифровой подписи существенным является использование смешанно­го значения файла — некоторого аналога контрольной суммы файла или отпе­чатков пальцев (fingerprint). Например, программа Authenticode получает в ре­зультате смешивания данных файла некоторое значение длиной 128 или 160 бит. Сначала программа смешивает некоторым образом расположенные в файле дан­ные — в результате такого смешивания получается отпечаток, который затем зашифровывается при помощи личного ключа пользователя. Для создания под­писи цифрового сертификата Authenticode добавляет к зашифрованному отпечат­ку открытый ключ пользователя. Далее приводится описание шагов, необходи­мых для создания подписи цифрового сертификата:
1. Убедитесь, что Authenticode имеет доступ к вашему личному и открытому ключам.
2. Создайте цифровую подпись файла (т. е. смешайте данные файла и за­шифруйте полученное значение).
3. Добавьте к исходному файлу цифровую подпись и открытый ключ.
Получив такой файл, пользователь сможет проверить, не изменялось ли содер­жание файла во время пересылки. показано, как проверить целостность файла при помощи цифровой подписи.
Далее приводится описание всех шагов, выполняемых программой проверки цифровой подписи на стороне получателя (если он использует Authenticode, то в роли такой программы будет выступать Web-броузер):
Программа распаковывает цифровую подпись и получает зашифрованное значение отпечатка и открытый ключ.
2. Программа расшифровывает при помощи открытого ключа отпечаток.
3. Программа смешивает данные присланного файла и сравнивает получен­ное смешанное значение со значением, полученным на предыдущем этапе.
Если значения, полученные на этапе 2 и 3, совпадают, то загрузка прошла успешно. Если же это не так, то кто-то (или что-то) изменил переданные данные.
ВЕДОМСТВА СЕРТИФИКАТОВ
Если пришедший к вам файл содержит цифровую подпись, то все же остается еще одна нерешенная проблема — кто же на самом деле его автор? Например, идентификация подтвердила, что полученный файл принадлежит Дж. П. Мор­гану. Однако является ли этот человек действительным автором сообщения, и существует ли он вообще? Для решения подобных проблем созданы ведомства сертификатов. Выдавая сертификат, они стараются проверить личность будуще­го владельца и тем самым устранить все недоразумения. Ведомства сертифика­тов гарантируют, что если какой-либо пользователь загрузит ваш файл, то автором этого файла является только один человек на земле — это вы сами. Кроме того, пользователь может быть уверен, что автор сообщения — это реальное физиче­ское лицо, а не человек-невидимка. Вдобавок в компетенцию ведомств серти­фикатов входит наблюдение за тем, чтобы кто-либо не подделал вашу подпись.
Для использования Authenticode вам нужно получить цифровой сертификат в ве­домстве сертификатов. Обычно это компании третьей стороны. Считайте, что цифровой сертификат — это то же самое, что и печать нотариуса. После обраще­ния за услугами в ведомство сертификатов последнее проверяет личность просителя
и посылает ему цифровой сертификат, в котором содержится информация о личности нового владельца и копии открытого и личного ключей. Пересылаемый
сертификат зашифрован при помощи личного ключа ведомства сертификатов.
Во время создания цифровой подписи программа Authenticode добавляет к ком­поненту цифровую подпись и цифровой сертификат. Таким образом, получатель файла может легко проверить, не подделал ли кто-либо подпись.
Для проверки цифровой подписи программа Authenticode сравнивает содержа­щийся в файле открытый ключ отправителя с копией, хранящейся в сертифика­те. Для получения информации о личности отправителя пользователь может про­смотреть его сертификат. Проверив таким образом файл, можно с достаточной
уверенностью сказать, что создателем файла является именно тот человек, чье имя стоит в сертификате.
К сожалению, броузеры (вроде Internet Explorer компании Microsoft) не отобра­жают никакой информации об открытом ключе ведомства сертификатов. По­этому их пользователи не могут проверить достоверность этого ключа.
Цифровые сертификаты выдаются только на определенный срок, после которо­го владелец сертификата должен обновить его. Если Internet Explorer (параметры
безопасности должны быть установлены на Medium) встретит подписанный ком­понент с просроченным сертификатом, то на экране появится окно с сообще­нием, показанное 20.
Работа Authenticode построена на двух предположениях. Во-первых, предполага­ется, что пользователи не могут легко вычислить личный ключ при помощи открытого ключа. Некоторые эксперты считают, что на взлом 1024-битного ключа потребуется 90 миллиардов • Другими словами, один миллиард компью­теров, выполняющих миллион операций в секунду, будут взламывать одну под­пись 90 лет. Однако никто в действительности не знает, сколько времени нужно на взлом; за историю шифрования был взломан не один «непобедимый» код.
Во-вторых, работа программы Authenticode построена на что никто не может украсть ваш личный ключ. Однако это не всегда так. Кто-нибудь может похитить его точно так же, как и обычный ключ или кредитную карточку. Чтобы уберечься от воровства кредитных карточек, финансовые струк­туры хранят список номеров украденных или утерянных карточек. При покупке по кредитной карточке (особенно когда стоимость покупки высока) продавец сверяет ее номер с номерами, расположенными в этом списке.
Точно так же программа Authenticode просматривает список аннулированных серти­фикатов (CRL - Certificate Revocation List). Однако Internet Explorer 3.02'не поддер--
живает проверку CRL. Возможно, в будущем ведомства сертификатов позволят
пользователям проверять сертификаты по хранящимся в базах данных CRL.
подписать  программное обеспечение
Если вы занимаетесь разработкой элементов управления ActiveX и хотите подписать их при помощи программы Authenticode, то для этого необходимы две веши. Во-первых, вам нужно по­лучить цифровой сертификат. Для этого нужно обратиться в ведомство сертификатов вроде VeriSign Ошибка! Недопустимый объект гиперссылки..
В настоящее время существует два вида сертификатов: коммерческие и инди­видуальные. За первый из них установлена плата 400$ в год, а за второй 20$ в год. При выдаче коммерческого сертификата для получения сведений об экономической стабильности организации VeriSign использует доклад Dunn & Bradstreet. Для выдачи индивидуального сертификата требуется номер со­циального страхования. На оформление сертификата обычно уходит около двух недель.
Во-вторых, у вас должна быть программа signcode.exe, поставляемая вместе с пакетом Code Signing Development Kit, являющегося, в свою очередь, час­тью пакета ActiveX Software Development Kit. В настоящее время при помо­щи этой программы можно создавать цифровые подписи для четырех видов файлов: exe, dll, осх и cab. Кроме того, в пакете Code Signing Development
при помощи которых можно создать пробные тификаты и пробные пары ключей.
Примечание. В документе компании Microsoft шагов к созданию подписи» указано, что можно создавать подписи и для классов Java. В настоящее время прежде, чем создать цифровую подпись класса Java, нужно поместить ее в файл кабинета, а затем подписать полученный cab-файл. За более подроб­ной информацией о файлах кабинета я отсылаю вас на Web-сайт компании Microsoft: http://www.microsoft.com/.

 

На главную | Содержание | Назад | Вперёд
 
Яндекс.Метрика