Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
126
Добавлен:
11.03.2016
Размер:
462.34 Кб
Скачать
  1. Технология применения цифровой подписи Общая организация цифровой подписи

Технология применения систем "цифровой подписи" предусматривает сеть абонентов, посылающих друг другу электронные документы. Некоторые из этих абонентов могут только проверять подписанные другими сообщения, другие (назовем их абонентами с правом подписи) могут как проверять, так и самостоятельно подписывать сообщения. Кроме того, могут быть случаи, когда кто-либо может ставить свою "цифровую подпись" (ЦП) только в качестве второй подписи после подписи определенного абонента-начальни­ка (например, директор - бухгалтер); это не меняет существа дела.

Далее возможны две ситуации: либо в этой сети есть ЦЕНТР (выделенный абонент, наделенный некоторыми особыми полномочиями), либо все абоненты с правом подписи равноправны. Не исключен, однако, и вариант, при котором функции центра рассредото­чены по нескольким "локальным центрам". Сети с центрами могут быть расклассифици­рованы по степени "доверия" абонентов к центру. Образно говоря, сети могут быть "тота­литарными" и "демократическими", центры в таких сетях могут (потенциально) либо полностью контролировать абонента, либо выполнять чисто формальные функции адми­нистрирования, скажем, по приему в сеть новых абонентов.

Архитектура алгоритмов цп

Поскольку подпись под важным документом может иметь далеко идущие последствия, перед подписыванием необходимо предусмотреть определенные меры предосторожности. В случае программной реализации, как правило, секретный ключ подписывающего хранит­ся на его личной дискете, защищенной от копирования. Однако этого бывает недостаточно, ведь дискету могут похитить или просто потерять. Следовательно, необходима защита от несанкционированного доступа к секретной информации (ключу). Естественным решением этой проблемы является парольная защита. Паролем могут закрываться не только функции (опции) постановки подписи и генерации ключей, но и функции, изменяющие содержимое каталога открытых ключей абонентов сети, и др.

Необходимо проверить (в случае программной реализации, и особенно это важно для программной реализации на PC), чтобы в системе не было "криптовирусов", которые могут нанести существенный вред.

Например, в момент подписания "криптовирусы" могут перехватить секретные ключи (и скопировать их в нужное место). Кроме того, при про­верке подписи они могут заставить систему "сказать", что подпись верна, хотя она на са­мом деле неверна.

Можно представить себе "криптовирус", который, попав в систему лишь один-единственный раз в момент генерации ключей, "поможет" системе сгенерировать слабые ключи. Например, если ключи генерируются на основе датчика случайных чисел, который использует встроенный таймер, вирус может изменить показания таймера, а по­том восстановить "статус кво". Впоследствии эти ключи могут быть легко вскрыты зло­умышленником. Далее этот вирус уже не нужен, он сделал свое дело. Против таких "крип­товирусов" имеется только одна защита - загрузка с "чистой" системной дискеты и ис­пользование "чистого", "родного" программного продукта.

Постановка подписи

Чтобы поставить ЦП под конкретным документом, необходимо проделать довольно большой объем вычислительной работы. Эти вычисления разбиваются на два этапа.

1. Генерация ключей.

На этом этапе для каждого абонента генерируется пара ключей: секретный и откры­тый. Секретный ключ хранится абонентом в тайне. Он используется для формирования подписи. Открытый ключ связан с секретным с помощью особого математического соот­ношения. Открытый ключ известен всем другим пользователям сети и предназначен для проверки подписи. Его следует рассматривать как необходимый инструмент для провер­ки, позволяющий определить автора подписи и достоверность электронного документа, но не позволяющий вычислить секретный ключ.

Возможны два варианта проведения этого этапа.

Естественным представляется вари­ант, когда генерацию ключей абонент может осуществлять самостоятельно. Не исключе­но, однако, что в определенных ситуациях эту функцию целесообразно передать центру, который будет вырабатывать пару секретный - открытый ключ для каждого абонента и за­ниматься их распространением.

Второй вариант имеет целый ряд преимуществ админист­ративного характера, однако обладает принципиальным недостатком - у абонента нет га­рантии, что его личный секретный ключ является уникальным. Другими словами, можно сказать, что здесь все абоненты находятся "под колпаком" центра и центр может подде­лать любую подпись.

2. Подписание документа.

Прежде всего, документ "сжимают" до нескольких десятков или сотен байт с помо­щью так называемой хеш-функции (хф). Здесь термин "сжатие" вовсе не аналогичен тер­мину "архивация", значение хф лишь только сложным образом зависит от документа, но не позволяет восстановить сам документ.

Хеш-функция должна удовлетворять цело­му ряду условий:

- хф должна быть чувствительна к всевозможным изменениям в тексте, таким, как вставки, выбросы, перестановки и т. п.;

- хф должна обладать свойством необратимости, т.е. задача подбора документа, кото­рый обладал бы требуемым значением хф, вычислительно неразрешима;

- вероятность того, что значения хф двух различных документов (вне зависимости от их длин) совпадут, должна быть ничтожно мала.

Ниже мы рассмотрим, какие нападения становятся возможными, если пренебречь хотя бы одним из перечисленных выше условий.

Далее к полученному значению хеш-функции применяют то или иное математическое преобразование (в зависимости от выбранного алгоритма ЦП) и получают собственно под­пись документа. Эта подпись может иметь вполне читаемый, "буквенный" вид, но зачастую ее представляют в виде последовательности произвольных "нечитаемых" символов. Цифровая подпись может храниться вместе с документом, например, стоять в его начале или конце, либо в отдельном файле. Естественно, что в последнем случае при проверке подписи необходимо располагать как самим документом, так и файлом, содержащим его подпись.