OpenSSL — мощный и современный криптографический пакет с открытым исходным кодом. В пакете реализованы различные криптографические алгоритмы, форматы и протоколы, что позволяет использовать OpenSSL для широкого круга прикладных задач.
OpenSSL является основным криптопровайдером — «поставщиком» криптографических функций — для приложений Open Source. VPN, электронная подпись, HTTPS, Удостоверяющий центр, защищенная почта и многое другое реализовано на базе OpenSSL и его приложений.
Архитектура OpenSSL позволяет расширять его возможности с помощью написания специальных библиотек — ENGINE. Именно таким способом в OpenSSL была добавлена поддержка российских криптографических алгоритмов ГОСТ, подключены USB-токены с аппаратной реализацией криптоалгоритмов.
Обзор возможностей и архитектуры OpenSSL, поддержки в нем ГОСТов и токенов под катом.
Функционал OpenSSL условно можно разделить на 2 уровня: низкоуровневые криптографические «примитивы» и высокоуровневые криптографические форматы, протоколы. В примитивах реализованы базовые криптографические алгоритмы (симметричные алгоритмы, хэш-функция, асимметричные алгоритмы). Форматы и протоколы построены на алгоритмах и позволяют решать прикладные задачи.
Пример: формат PKCS#7 использует электронную подпись по алгоритму ГОСТ Р 34.10-2001 и цифровые сертификаты формата X.509 и, при определенных условиях, позволяет обеспечить юридическую значимость электронной подписи.
На картинке представлены криптографические примитивы, реализованные в OpenSSL.
Read more: Habrahabr.ru
QR: