ЭП
Электронная подпись — это более общий термин, который включает в себя любые формы подписей, сделанных в цифровом формате, чтобы подтвердить личность подписанта. К электронной подписи могут относиться:
- Простые подписи, такие как отсканированное изображение рукописной подписи;
- Нажатие на кнопку «Подтвердить» или «Согласен»;
- Даже голосовые или биометрические данные;
Электронные подписи, как правило, подтверждают, что человек действительно участвовал в подписании, но не всегда обеспечивают высокий уровень защиты от подделок.
ЦП
Цифровая подпись — это подвид электронной подписи, основанный на асимметричном шифровании.
Описанную выше идею Диффи и Хеллмэн используется для ЦП сообщений, которую невозможно подделать за полиномиальное время:
- ЦП — это асимметричное шифрование наоборот: вы зашифровываете закрытым ключом, а расшифровать может кто угодно с помощью открытого ключа, который доступен всем
Процесс создания цифровой подписи:
-
Получение сертификата и ключей: В удостоверяющем центре (УЦ) пользователь получает пару ключей — закрытый и открытый. Закрытый ключ используется для подписания сообщений и должен храниться в секрете, а открытый ключ — для верификации подписи, и он доступен всем через сертификат.
-
Хеширование документа: Перед подписью документ (сообщение) преобразуется в криптографический хеш — уникальную строку фиксированной длины, которая является цифровым отпечатком документа. Хеширование обеспечивает целостность документа, так как любое изменение в документе приведет к изменению хеша.
-
Шифрование хеша закрытым ключом: Пользователь шифрует полученный хеш своего документа своим закрытым ключом.
Результат шxифрования и есть цифровая подпись
Эта подпись добавляется к документу и отправляется получателю.
-
Передача документа с подписью: Документ с подписью и сертификатом отправляется получателю. В сертификате содержится открытый ключ подписавшего, а также информация о владельце сертификата.
Процесс верификации цифровой подписи:
-
Проверка подписи: Получатель документа использует открытый ключ из сертификата подписавшего, чтобы расшифровать цифровую подпись и извлечь хеш, который был подписан.
-
Хеширование документа получателем: Получатель также рассчитывает хеш полученного документа.
-
Сравнение хешей: Если расшифрованный хеш совпадает с хешом документа, это означает, что подпись действительна и документ не был изменен. Это также подтверждает, что документ был подписан владельцем соответствующего закрытого ключа.
А что если подменят сам сертификат?
Все сертификаты, которые выдаёт удостоверяющий центр, тоже подписываются электронной подписью. Чтобы проверить подлинность сертификата, можно зайти на официальный сайт удостоверяющего центра и скачать открытый ключ для проверки. Если хеш самого сертификата совпадает с хешем, который мы получили с помощью открытого ключа с сайта — значит, и сам сертификат подлинный.
В большинстве цивилизованных стран цифровые подписи имеют юридическую силу, равную обычным подписям. В частности, они легитимны в России, ЕС, США, Швейцарии, Бразилии, Мексике, Индии, Индонезии, Турции и Саудовской Аравии.
Проблема в том, что ЦП основана на алгоритмах асимметричного шифрования, а их (как мы уже знаем) много:
- Разложение больших чисел на простые множители (RSA);
- Вычисление логарифма в конечном поле (криптосистема Эль-Гамаля, дискретное логарифмирование);
- Вычисление корней алгебраических уравнений (на основе эллиптических уравнений);
- и др;
Ключ из одного алгоритма не подойдёт для использования в другом, поэтому в России договорились использовать стандарт шифрования ГОСТ Р 34.10-2012, основанный на эллиптических кривых. Все государственные органы работают только с таким алгоритмом и не принимают другие ЭП.
Это значит, что нам нужен специальный софт, в котором уже есть этот алгоритм. Чаще всего используют КриптоПРО, реже — ViPNet CSP. С помощью этих программ можно подписать документы и проверить сертификаты на подлинность.
У пользователя блокчейна открытый и закрытый ключи представлены в виде строк случайных букв и чисел. Доступ к открытому адресу есть у всех желающих, в то время как доступ к закрытому ключу должен быть строго ограничен, поскольку закрытый ключ идентифицирует владельца данных и соответствующих им ценностей. В случае, если приватный ключ будет утерян, недоступной окажется вся информация, которая была зашифрована с помощью этого ключа. Например, утрата приватного ключа кошелька биткоина не уничтожает сам биткоин, однако, полностью исключает к нему доступ. Одна пятая часть всех существующих биткоинов считается безвозвратно утерянной.
2.5.e Certificate Theme | Back To iOSWiki Contents | 2.5.5 AuthenticationvsAuthorization Theme