Skip to content

Latest commit

 

History

History
86 lines (48 loc) · 9.53 KB

2.5.4 Digital Signature (signing).md

File metadata and controls

86 lines (48 loc) · 9.53 KB

Электронная и цифровая подпись - асимметричное шифрование наоборот

Электронная подпись (ранее - ЭЦП, сейчас ЭП)

ЭП

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

  • Простые подписи, такие как отсканированное изображение рукописной подписи;
  • Нажатие на кнопку «Подтвердить» или «Согласен»;
  • Даже голосовые или биометрические данные;

Электронные подписи, как правило, подтверждают, что человек действительно участвовал в подписании, но не всегда обеспечивают высокий уровень защиты от подделок.

Цифровая подпись (ЦП)

ЦП

Цифровая подпись — это подвид электронной подписи, основанный на асимметричном шифровании.

Описанную выше идею Диффи и Хеллмэн используется для ЦП сообщений, которую невозможно подделать за полиномиальное время:

  • ЦП — это асимметричное шифрование наоборот: вы зашифровываете закрытым ключом, а расшифровать может кто угодно с помощью открытого ключа, который доступен всем

Пример работы цифровой подписи

Цифровая подпись

Процесс создания цифровой подписи:

  1. Получение сертификата и ключей: В удостоверяющем центре (УЦ) пользователь получает пару ключей — закрытый и открытый. Закрытый ключ используется для подписания сообщений и должен храниться в секрете, а открытый ключ — для верификации подписи, и он доступен всем через сертификат.

  2. Хеширование документа: Перед подписью документ (сообщение) преобразуется в криптографический хеш — уникальную строку фиксированной длины, которая является цифровым отпечатком документа. Хеширование обеспечивает целостность документа, так как любое изменение в документе приведет к изменению хеша.

  3. Шифрование хеша закрытым ключом: Пользователь шифрует полученный хеш своего документа своим закрытым ключом.

    Результат шxифрования и есть цифровая подпись

    Эта подпись добавляется к документу и отправляется получателю.

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

Процесс верификации цифровой подписи:

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

  2. Хеширование документа получателем: Получатель также рассчитывает хеш полученного документа.

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

А что если подменят сам сертификат?

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

ЦП и документы

В большинстве цивилизованных стран цифровые подписи имеют юридическую силу, равную обычным подписям. В частности, они легитимны в России, ЕС, США, Швейцарии, Бразилии, Мексике, Индии, Индонезии, Турции и Саудовской Аравии.

Проблема в том, что ЦП основана на алгоритмах асимметричного шифрования, а их (как мы уже знаем) много:

Ключ из одного алгоритма не подойдёт для использования в другом, поэтому в России договорились использовать стандарт шифрования ГОСТ Р 34.10-2012, основанный на эллиптических кривых. Все государственные органы работают только с таким алгоритмом и не принимают другие ЭП.

Это значит, что нам нужен специальный софт, в котором уже есть этот алгоритм. Чаще всего используют КриптоПРО, реже — ViPNet CSP. С помощью этих программ можно подписать документы и проверить сертификаты на подлинность.

Блокчейн

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


2.5.e Certificate Theme | Back To iOSWiki Contents | 2.5.5 AuthenticationvsAuthorization Theme