The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Каталог документации / Раздел "Безопасность" / Оглавление документа

Цифровые подписи и их проверка

Цифровая подпись удостоверяет создателя и дату создания документа. Если документ будет каким-либо образом изменен, то проверка цифровой подписи будет неудачной. Цифровая подпись может использоваться в тех же целях, что и обычная подпись. Исходные тексты GnuPG, например, подписаны, и Вы можете убедиться, что они дошли до Вас неизменёнными.

Создание и проверка подписей отличается от зашифрования/расшифрования. При подписи документа используется закрытый ключ подписывающего, а проверяется подпись с использованием его открытого ключа. Например, Alice использует свой секретный ключ, чтобы подписать свою новую статью в журнал. Редактор, получив письмо, использует открытый ключ Alice, чтобы проверить, что письмо действительно от Alice и не было изменено за время пересылки.

Для подписи документов используется команда --sign.

alice% gpg --output doc.sig --sign doc

You need a passphrase to unlock the secret key for
user: "Alice (test key) <alice@wonderland.uk>"
1024-bit RSA key, ID B115BDB6, created 2002-05-01

Enter passphrase: 

Если не указать подписываемый документ, то данные считываются со стандартного ввода. Перед подписью документ сжимается. Подписанный документ выводится в двоичном формате.

Имея подписанный документ, Вы можете либо только проверить подпись, либо проверить подпись и восстановить исходный документ. Для проверки подписи используется команда --verify. Для проверки подписи и извлечения документа используется команда --decrypt.

blake% gpg --output doc --decrypt doc.sig
gpg: Signature made Sat May  4 19:04:21 2002 MSD using RSA key ID B115BDB6
gpg: Good signature from "Alice (test key) <alice@wonderland.uk>"

Прозрачно подписанные(Clearsigned) документы

Обычно цифровые подписи применяются при подписи сообщений usenet и e-mail. При этом нежелательно сжимать подписываемые документы. Команда --clearsign добавляет к документу цифровую подпись в формате ASCII, не изменяя при этом сам документ.

alice% gpg --output doc.asc --clearsign doc

You need a passphrase to unlock the secret key for
user: "Alice (test key) <alice@wonderland.uk>"
1024-bit RSA key, ID B115BDB6, created 2002-05-01

Enter passphrase:
alice% cat doc.asc
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

GnuPG - инструмент для защиты коммуникаций. Эта глава коротко описывает
основы работы с GnuPG, включая создание пар ключей, обмен ключами и их
проверку, зашифровку и расшифровку документов, заверение документов
цифровой подписью.  Она не описывает в деталях принципы криптографии с
открытым ключом, шифрования и цифровых подписей. Эти вопросы
рассматриваются в главе 2. Здесь, также, не рассматриваются тонкости
использования GnuPG. Эти вопросы рассматриваются в главах 3 и 4.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.0 (FreeBSD)

iQCVAwUBPNP8VMc6mYexFb22AQLdAAP/SXHINHglH00hLlscGoVE1FCiFX7qTSO3
qwUFQi29WhqCXCq4DFTfZGTs4XQzb7592KpDy9swwNZ2sB7vaxQjqukffBdWrksZ
ERSZsz+xxKLWPiiBURg958Nym/eIRFY7nislv9Kc4V0UFDD9CjuE0rA7eWCg1XEX
0RcI2Zxiiv4=
=UV8s
-----END PGP SIGNATURE-----

Отделённая подпись

Применение подписанных документов ограниченно. Получатель должен восстанавливать документ из подписанной версии, и даже в случае прозрачной подписи, подписанный документ должен быть отредактирован для получения оригинала. Поэтому имеется третий метод подписи документов, который создает отделённую подпись (detached signature). Отделённая подпись создается при использовании команды --detach-sign.

alice% gpg --output doc.sig --detach-sign doc

You need a passphrase to unlock the secret key for
user: "Alice (test key) <alice@wonderland.uk>"
1024-bit RSA key, ID B115BDB6, created 2002-05-01

Enter passphrase: 

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

blake% gpg --verify doc.sig doc
gpg: Signature made Sat May  4 19:34:08 2002 MSD using RSA key ID B115BDB6
gpg: Good signature from "Alice (test key) <alice@wonderland.uk>"



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру