Электронная подпись
Понятие подписи появилось вместе с понятием документа. Фактически, подпись – это та часть текста, которая делает его документом. Она призвана удостоверять авторство, истинность, целостность и массу других полезных качеств документа (отсутствие любого из этих качеств делает документ никому не нужным, набором символов). Как правило, подпись располагается на том же носителе, что и основной текст документа.
С появлением Интернета возникла проблема достоверной передачи документа от одного абонента к другому. Возникла проблема электронной подписи.
В настоящее время существует большое число определений понятия электронной подписи. Это связано с тем, что серьезный документооборот в Интернете возможен только при условии обеспечения достоверности передаваемой информации. Ниже приводится одно из определений электронной подписи ([17]), которое позволяет оценить задачи, для решения которых предназначена электронная подпись.
«Электронная цифровая подпись - реквизит электронного документа, предназначенный для защиты данного электронного документа от подделки, полученный в результате криптографического преобразования информации с использованием закрытого ключа электронной цифровой подписи и позволяющий идентифицировать владельца
сертификата ключа подписи, а также установить отсутствие искажения
информации в электронном документе» (текст выделен мною).
Это достаточно полное определение позволяет перечислить виды атак и способы защиты электронной подписи:
перехватывает и модифицирует сообщение, посланное А к В.
посылает перехваченное им ранее сообщение от А к В повторно.
Для обсуждения протокола передачи документа, защищенного электронной печатью примем, что
- в информационной системе сгенерирована пара криптографических ключей (открытый и секретный) ES и DS
администратора системы. ES известен всем абонентам системы, а DS
- только администратору системы, который создает БД. Элементами БД являются записи DS(BDk) закодированной информации о зарегистрированных абонентах сети. (в рассматриваемом случае это может быть сертифицированная информация об абонентах сети), - абонент А (как и все абоненты сети), при регистрации в сети получает файл DS(BDA), где BDA - файл, в котором содержится сертифицированная информация об абоненте А, в том числе EA ([18]). Так как ES
известно всем, то операцию ES(DS(BDA))> BDA может выполнить любой абонент и прочитать BDA, но он, включая абонента А, не может внести в него изменения, так как он не может выполнить операцию DS(BDA). - с помощью EB и DA
вычислить код: - применяя EB абонент А кодирует свой сертификационный файл DS(BDA) ?A =EB(DS(BDA)):.
- Передать ?A и абоненту В.
- Абонент В, приняв ?A и P?A, выполняет операцию
- Прочитав BDA, абонент В узнает, что к нему обращается абонент А, и что его открытый алгоритм кодирования EA.
- После этого абонент В
выполняет операции:
Для того, чтобы абонент А
передал документ Р абоненту В ему следует выполнить две операции:
P?A=EB(DA([P+DS(BDA)])). ,
где:[P+DS(BDA) – конкатенация (последовательность) двух файлов Р и DS(BDA); и
DB(?A)= DB(EB(DS(BDA)))= DS(BDA)>
ES(DS(BDA))= BDA.
Форм. 3
Форм. 4
DB(EB(DA([P
+ DS(BDA)]))) = DA([P
+ DS(BDA)]) > EA(DA([P
+ DS(BDA)])) =
= P , DS(BDA).
Таким образом, абонент В
получил текст Р и DS(BDA).
Используя операцию ES(DS(BDA))= BDA, абонент В определит BDA и сравнит с полученным ранее. Если они совпадают, то абонент В
считает, что документ Р
изготовлен и послан абонентом А
и, кроме того, в процессе кодирования, передачи и декодирования целостность его не была нарушена. В противном случае BDA
полученная с помощью операций Форм. 3
и Форм. 4 не идентичны. Это происходит потому, что EA(DA([P
+ DS(BDA)])) == P
, DS(BDA), но
EA(DA([P’ +DS(BDA)])) == P’ , DS(BDA).
Для того, чтобы абонент А
не мог отрицать свое авторство документа Р, абоненту В
следует сохранить файл P?A=EB(DA([P+DS(BDA)])) и, выполнив операцию EA(DA([P’ +DS(BDA)])) == P’ , DS(BDA), доказать авторство А.
Рассмотрим способы защиты от перечисленных выше атак применением асимметричного криптографического алгоритма.