describe.ru

Как работает электронная подпись, если объяснять честно

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

Слово «подпись» здесь мешает. Оно заставляет искать что-то похожее на росчерк, хранящийся в файле. Ничего похожего внутри нет.

Электронная подпись решает две задачи сразу: подтверждает, что документ подписал владелец конкретного ключа, и что после подписания в документе не поменяли ни байта. Вторую задачу обычная подпись на бумаге не решает вовсе.

Два ключа вместо одного

Обычный замок использует один ключ: тот, кто закрыл, тот и откроет. Асимметричная криптография даёт пару ключей, связанных математически: то, что зашифровано одним, расшифровывается только другим.

Один ключ владелец публикует - он так и называется, открытый. Второй хранит и никому не показывает. Восстановить закрытый ключ из открытого теоретически можно, но для этого нужно решить задачу, на которую при нынешних размерах ключей уйдёт время, несопоставимое с возрастом Вселенной.

Отпечаток документа

Подписывать сам документ целиком незачем и дорого. Вместо этого считается хеш - короткая строка фиксированной длины, получаемая из содержимого.

У хеш-функции два нужных нам свойства. Одно и то же содержимое всегда даёт один и тот же хеш. И изменение хотя бы одного символа меняет хеш до неузнаваемости, а не немного.

Дальше всё просто:

  1. Считаем хеш документа.

  2. Шифруем этот хеш закрытым ключом. Результат и есть подпись.

  3. Прикладываем подпись к документу.

Проверка идёт в обратную сторону. Получатель считает хеш документа сам, расшифровывает подпись открытым ключом подписавшего и сравнивает. Совпало - значит, документ не менялся и подписан владельцем закрытого ключа.

Где здесь слабое место

Математика тут не самое хрупкое. Хрупкое - ответ на вопрос, откуда получатель знает, что открытый ключ принадлежит именно тому человеку.

Отсюда удостоверяющие центры: организации, которые проверяют личность и выпускают сертификат, связывающий имя с ключом. Вся конструкция в итоге опирается не на криптографию, а на доверие к этим организациям и на аккуратность их сотрудников.

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

Второе слабое место - сам закрытый ключ. Он лежит на флешке или в реестре компьютера. Подпись доказывает, что использовали именно этот ключ. Она ничего не говорит о том, кто в этот момент сидел за клавиатурой.

Комментарии

Загружаю.

Читать дальше