В наше время, когда случаи подделки электронных документов встречаются все чаще, возникает необходимость защищать важные данные, отправляемые онлайн. По этой причине цифровые подписи становятся все более популярными. Они позволяют проверять подлинность и целостность документа, файла или программного обеспечения.
Цифровая подпись является наиболее безопасным видом электронной. Она подтверждает личность и согласие подписавшего, статус электронного документа, транзакции или сообщения. Таким образом, этот метод защиты обеспечивает три основные функции: аутентификацию, целостность, невозможность отрицания.
Аутентификация подтверждает личность человека, который отправляет сообщение. Целостность гарантирует, что сообщение будет принято в таком виде, в котором отправляется. Невозможность отрицания авторства означает, что отправитель не сможет оспорить то, что он является истинным создателем документа. Пока личный ключ пользователя не будет скомпрометирован, цифровые подписи обеспечат выполнение этих трех свойств и смогут обезопасить онлайн-транзакции.
Краткие сведения
Известны два вида криптографических ключей (cryptographic keys): симметричный и асимметричный. Симметричный должен храниться в секрете, и все же должен быть передан получателю. Это означает возможность его перехвата и использования для незаконного дешифрования сообщения.
Ассиметричные всегда входят в математически связанные пары, состоящие из закрытого и открытого ключей. Другими словами, открытый алгоритм шифрования использует отдельные ключи для проведения шифрования и дешифрования. Открытый вариант ключа может быть открыт для общего доступа, в то время как закрытый должен храниться в секрете. Таким образом, способ ассиметричного шифрования является более надежным, и именно он составляет основу цифровых подписей.
Принципы работы
Используя алгоритм шифрования RSA, можно создать математически связанную пару, состоящую из закрытого и открытого ключей. Человек, создающий цифровую подпись, для шифрования данных использует свой закрытый ключ. Единственный способ расшифровать эти данные – применить открытый ключ подписывающего. Так происходит процесс аутентификации.
Технология цифровой подписи требует верить в то, что человек, создающий подпись, охраняет доступ к своему секретному ключу. Если злоумышленник получит такой доступ, он сможет создать мошеннические цифровые подписи от имени его владельца.
Создание цифровых подписей
Для создания могут использоваться несколько различных алгоритмов. Эти алгоритмы имеют незначительные отличия по структуре, однако общими для них остаются три составляющие:
- Алгоритм генерации генерирует случайную пару ключей для пользователя. Числам, включенным в пару, необходимо соответствовать определенным параметрам, чтобы считаться безопасными. Они должны быть достаточно случайными и иметь соответствующий размер.
- Алгоритм подписания данных определяет способы применения ключей их пользователями в процессе подписи.
- Алгоритм проверки подписи следует заранее определенному процессу.
Система цифровой подписи должна быть эффективной. Для этого ее необходимо структурировать таким образом, чтобы данные, подписанные с использованием закрытого ключа, были обязательно проверены при помощи парного открытого ключа того же лица.
Цифровые подписи не следует путать с цифровыми сертификатами, которые являются электронными документами, содержащими цифровую подпись выдавшего их центра. Такие сертификаты обязаны связать открытый ключ с удостоверением личности и могут использоваться для проверки своей принадлежности конкретному лицу или организации. Делается это с помощью базовой технологии PKI, известной как инфраструктура открытых ключей.
Заключение
Подтверждение аутентификации, сохранение целостности, невозможность отрицания – эти свойства позволяют применять цифровые подписи в широком спектре приложений. Они часто используются сами по себе или в сочетании с шифрованием ряда различных протоколов безопасности, таких как, IPsec, SSH, TLS. Они также могут использоваться в технологии блокчейн, в финансах, а также в приложениях управления контрактами, как часть распространения программного обеспечения.