Темите в тази статия:
На въпросите "Какво е електронен подпис?", "Кой може го издаде?", и "Защо е по-добре да подписване електронно?" сме отговорили вече в няколко отделни блог статии.
Знаем също така, че всеки усъвършенстван или квалифициран подпис има своя период на валидност, която се въвежда, когато се създава подписа.
Какво обаче се случва, ако сигурността на подписа ви е компрометирана? Например, ако загубите смарт картата (флашката) си?
Индустрията е създала два основни механизми за проверка на валидност на сертификат:
В този блог ще разгледаме как функционират тези технологии и защо те са толкова важни за управлението на електронни подписи и сертификати.
Електронният подпис е дигитален аналог на ръчния подпис, използван в електронни документи, за да се удостовери 1) автентичността и 2) целостта на документа. Той се основава на цифрови сертификати, които идентифицират подписващия и гарантират, че данните не са били променени след подписването.
За да може да функционира коректно цялата концепция за електронно подписване на документи, е изключително важно сертификати да бъдат валидни и актуални по всяко време. Това налага разработването на методите за тяхната проверка, за които пишем тук.
Валидността на електронния подпис зависи напълно от състоянието на използвания за подписа сертификат. Ако сертификатът е отменен или изтекъл, то подписът вече не може да бъде нито използван, нито считан за валиден. Това не значи, че досега подписаните документи стават невалидни.
Проверката на сертификатите гарантира, че всички трансакции или документи, подписани с тях, са валидни.
Сертификатите могат да бъдат оттеглени (revoked) по редица причини:
Ако попаднете в ситуация на откраднат или изгубен електронен подпис, трябва веднага да се свържете с издателя му и за да заявите спирането му.
За Б-Тръст трябва да позвъните на 0700 199 10 или *9910. За прекратяване на удостоверението трябва да подадете заявка за управление на удостоверение в офис.
При Евротръст прекратяването на удостоверението се прави през мобилното приложение.
Без значение по каква причина искате да прекратите валидността на дадено удостоверение (сертификат), след като подадете сигнал, издателя първо обновява статуса на сертификата в базата си данни и след това включва серийния номер на сертификата в своят списък с отменени сертификати (CRL).
Certificate Revocation List (CRL) е списък, публикуван от издатели на сертификати, който съдържа серийни номера на сертификати, които са били отменени и вече не са валидни. CRL се използва от различни приложения и услуги за проверка на статуса на сертификатите, за да се уверят, че те не са компрометирани или оттеглени от употреба.
Издателите на сертификати са отговорни за поддържането и обновяването на CRL. Те периодично публикуват обновления на CRL, като по този начин осигуряват, че информацията в списъка е актуална. Това позволява на клиентските приложения (като Adobe Acrobat) да проверяват в реално време дали даден сертификат е валиден или е бил отменен. Отменените (Revoked) сертификати, чиито срок на валидност е вече изтекъл, могат да се премахнат от CRL списъка.
Използването на CRL не е без своите предизвикателства:
Ако трябва да направите CRL проверка на даден сертификат, следва да преминете през следните стъпки:
Съществено е да е отбележи, че описаното по-горе ще ви помогне да разберете съдържанието на даден CRL файл, но не е необходимо да го правите ръчно. Повечето приложения (отново трябва да споменем Adobe Acrobat Reader) прави тези проверки автоматично. Включително ако разработвате софтуер, най-добре използвайте готови специализирани библиотеки, вместо да пишете код отначало.
Заради някои от изброените по-горе предизвикателства, индустрията е разработила алтернатива на CRL: Online Certificate Status Protocol (OCSP). OCSP позволява на приложенията да получават по-бърз отговор относно статуса на сертификата, като изпращат заявка до OCSP сървъра и получават бърз отговор дали конкретният сертификат е валиден или отменен.
Online Certificate Status Protocol (OCSP) е интернет базиран протокол за проверка на статуса на цифров сертификат. Този протокол е въведен за да предостави по-бърз и ефективен начин за проверка на валидността на сертификатите в сравнение с традиционните Certificate Revocation Lists (CRL). OCSP позволява на системите да изпращат запитване до OCSP сървър, който може да удостовери дали даден сертификат е все още валиден или е бил отменен.
Процесът на OCSP започва, когато клиент (например Adobe Acrobat Reader) изпрати запитване до OCSP сървъра. Запитването съдържа идентификатора на сертификата, чийто статус се проверява. Доставчика на подписа проверява в своята база данни за състоянието на този сертификат и връща отговор, който указва дали сертификатът е валиден, отменен или неговият статус е неизвестен.
Ако искате да използвате OCSP протокола за да проверите валидността на сертификат, следва да изпълните следните стъпки:
Python
import requests
# URL адрес на OCSP сървъра
ocsp_url = "https://ocsp.example.com"
# Сериен номер на сертификата
serial_number = "1234567890"
# Алгоритъм за подписване на заявката
signing_algorithm = "sha256"
# Подпис на заявката
signature = generate_signature(serial_number, signing_algorithm)
# Създайте заявката OCSP
request_data = {
"serial_number": serial_number,
"algorithm": signing_algorithm,
"signature": signature
}
# Изпратете заявката OCSP
response = requests.post(ocsp_url, json=request_data)
# Обработка на отговора на OCSP
if response.status_code == 200:
response_data = response.json()
status = response_data["status"]
if status == "good":
print("Сертификатът е валиден.")
elif status == "revoked":
print("Сертификатът е revokeиран.")
else:
print("Възникна грешка.")
else:
print("Неуспешно изпращане на заявка OCSP.")
OCSP не разчита на CRL списъка. И двата метода служат за еднаква цел, но функционират независимо един от друг. Доставчиците обновяват първо базите си данни и след това периодично генерират CRL списъка и го публикуват. Докато OCSP проверката се извършва директно в базата данни на издателя.
Един електронен подпис е дигитален аналог на ръчния подпис. Служи за удостоверяване на автентичността и целостта на даден електронен документи. Електронният подпис се основава на цифров сертификат, който идентифицира подписващия и гарантира, че данните не са били променени след подписването.
Важен аспект е проверката на валидността на сертификатите, за да се гарантира, че електронните подписи са приложими. За тази цел се използват два основни метода:
Изборът между CRL и OCSP зависи от нуждите:
В идеалния случай може да се използва комбинация от CRL и OCSP за допълнителна сигурност.
Какво трябва да запомните: