Цифровият подпис или схемата за цифров подпис е вид асиметрична криптография. За съобщения, изпратени по несигурен канал, добро изпълнение на алгоритъма за цифров подпис е това, което кара получателя да вярва, че съобщението е изпратено от заявения подател, и да се довери на съобщението.
Цифровите подписи са равностойни на традиционните саморъчни подписи в много отношения; правилно въведените цифрови подписи са по-трудни за копиране от саморъчните. Цифровият подпис се реализира с помощта на криптографията. Цифровите подписи могат да осигурят и потвърждение, което означава, че подписващият не може успешно да твърди, че не е подписал дадено съобщение, като същевременно твърди, че частният му ключ остава в тайна. Цифровите подписи се използват редовно в САЩ, европейските страни и Индия както в държавните, така и в частните служби. В Индия сертификатът, наречен Digital Signing Certificate (DSC), се използва широко за електронно подаване на документи, свързани с бизнеса, за подаване на данъчни декларации и др.
Цифровите подписи често се използват за реализиране на електронни подписи - по-широк термин, който се отнася до всички електронни данни, които имат значение на подпис, но не всички електронни подписи използват цифрови подписи. В някои държави, включително в САЩ, и в Европейския съюз електронните подписи могат да имат правно значение. В Индия електронният подпис няма правно значение, но цифровият подпис има правна валидност и се счита за правно валиден подпис съгласно Закона за информационните технологии от 2000 г.
Как работи цифровият подпис
На високо ниво цифровият подпис комбинира хеш-функция и асиметрична криптография (криптография с публичен и частен ключ). Основните стъпки са:
- Генериране на ключове: подписващият създава двойка ключове — частен (секретен) и публичен. Частният ключ се пази в тайна; публичният се разпространява.
- Хеширане: преди подписване документът (или съобщението) се обработва чрез криптографска хеш-функция (напр. SHA-256) и се получава кратък фиксиран по размер хеш (съвкупност от данни).
- Подписване: частният ключ криптира (или преобразува) този хеш, получавайки цифров подпис. Целта е да се подпише самият хеш, а не целия документ (за ефективност).
- Проверка: получателят използва публичния ключ на изпращача, за да разгърне подписа (възстанови хеша). Той също така пресмята хеша на полученото съобщение и сравнява двата хеша. Ако съвпадат и сертификатът е валиден, подписът е автентичен и документът не е променян.
Кои компоненти гарантират доверието
- Сертификат на публичния ключ: издава се от удостоверяващ орган (CA) и свързва публичния ключ със самоличността на притежателя (име, имейл, организация и т.н.).
- Инфраструктура за публични ключове (PKI): включва CA, центрове за регистрация, списъци за отзоваване (CRL) и протоколи като OCSP за проверка на статуса на сертификатите.
- Времеви марки (timestamps): добавени към подписа, позволяват да се докаже кога точно е направен подписът и помагат за дългосрочна валидност, дори след изтичане на сертификата.
Алгоритми и стандарти
Често използвани алгоритми за цифрови подписи: RSA, DSA, ECDSA и модерни варианти като Ed25519. Хеш-функции: семейства SHA-2 и SHA-3. Популярни формати и стандарти за подписване и обмен:
- CMS/PKCS#7 (Cryptographic Message Syntax) — за електронни подписи и криптографски съобщения.
- XMLDSig — за подписване на XML документи.
- PAdES — стандарт за подписване на PDF файлове.
- JWS (JSON Web Signature) — за подписване на JSON обекти и уеб приложения.
Правна валидност и категории подписи
Важно е да се прави разлика между термини:
- Електронен подпис — широк термин за всякакви електронни данни, които указват съгласие или идентичност (напр. сканиран подпис, отметка в чекбокс).
- Цифров подпис — криптографски механизъм, който често осигурява по-висока степен на сигурност и автентикация.
В различните юрисдикции законодателството третира подписите по различен начин. Например:
- В Европейския съюз регламентът eIDAS дефинира три нива: електронен подпис, усъвършенстван електронен подпис (AdES) и квалифициран електронен подпис (QES). QES има еквивалентна сила на ръчен подпис при спазване на изискванията.
- В САЩ правната рамка за електронни подписи включва ESIGN и UETA, които признават електронни подписи при определени условия.
- В Индия цифровият подпис е признат и регулиран чрез Закона за информационните технологии (IT Act) от 2000 г.; сертификатът Digital Signing Certificate (DSC) се използва широко.
Приложения и сценарии на използване
- Електронно управление и подаване на документи (данъчни декларации, обществени поръчки).
- Електронни договори и юридически споразумения.
- Подписване на софтуер (code signing) и актуализации, за да се гарантира автентичност на източника.
- Защита на имейл комуникация (S/MIME) и обмен на документи (PDF подписи).
- Банкови транзакции, цифрови фактури и електронни документи в бизнеса.
Проблеми, ограничения и добри практики
Цифровите подписи осигуряват силна защита, но зависят от правилната имплементация и управление на ключовете. Основни рискове и препоръки:
- Проблем с частния ключ: ако частният ключ бъде компрометиран, подписите могат да бъдат фалшифицирани. Използвайте хардуерни токени, смарт карти или HSM (Hardware Security Module) и подсигурете резервиране и процедури за отзоваване.
- Отзоваване на сертификати: проверявайте статус чрез CRL или OCSP преди да приемете подпис.
- Актуални алгоритми: използвайте съвременни алгоритми и адекватни дължини на ключовете; следете развитието на квантовите компютри и бъдещи изисквания за квантово-устойчиви алгоритми.
- Времеви марки и дългосрочна валидност: при критични документи добавяйте надеждни времеви марки и внедрявайте механизми за дългосрочна валидация (LTV).
- Ясни политики и процедури: организации трябва да имат политика за управление на ключове, издаване и отзоваване на сертификати и обучение за служителите.
Как да проверите цифров подпис
- Уверете се, че удостоверяващият орган (CA) е доверен и сертификатът води до доверен корен (trust anchor).
- Проверете дали сертификатът не е изтекъл и не е отзован (CRL/OCSP).
- Потвърдете, че хешът, възстановен от подписа, съвпада с хеша на полученото съдържание.
- За юридическа употреба убедете се, че подписът отговаря на изискванията на приложимото законодателство (напр. QES по eIDAS).
Цифровите подписи са мощен инструмент за осигуряване на автентичност, цялост и немалимитуемост на електронни данни. При правилна употреба и поддържане на надеждна PKI инфраструктура те значително улесняват дигиталните процеси и повишават доверието в електронния обмен на информация.