Цифровые подписи и сертификаты
Разберитесь, как цифровые подписи подтверждают подлинность и как сертификаты X.509 связывают идентичность с ключами.
«Цифровые подписи и сертификаты» — бесплатный урок Cyber Security Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Cyber Security Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Cyber Security Academy содержит 4 уроков всего.
Что такое цифровые подписи
Цифровая подпись доказывает, что документ или сообщение были созданы владельцем конкретного закрытого ключа и не изменялись. В отличие от рукописной подписи, она математически связана с содержимым — любое изменение делает подпись недействительной.
Как создаётся подпись
Процесс создания подписи:
- Вычислить хеш документа:
H = SHA256(document) - Зашифровать хеш закрытым ключом:
sig = RSA_encrypt(H, private_key) - Прикрепить подпись к документу
Проверка: расшифровать подпись открытым ключом, повторно вычислить хеш и сравнить.
ECDSA и EdDSA
Современные алгоритмы подписей:
- ECDSA (с P-256) — используется в сертификатах TLS и Bitcoin
- Ed25519 (EdDSA) — быстрее, проще, не требует случайности для каждой подписи и не имеет связанной с этим уязвимости; используется в SSH и Signal
Для новых приложений предпочтительно использовать Ed25519.
Что такое сертификат
Цифровой сертификат (X.509) связывает открытый ключ с идентичностью. Он содержит имя субъекта, открытый ключ, период действия, издателя и цифровую подпись CA. Когда вы посещаете сайты HTTPS, сервер предъявляет свой сертификат, чтобы подтвердить свою идентичность.
Центры сертификации (CA)
Центр сертификации (CA) — это доверенная организация, которая подписывает сертификаты после проверки личности заявителя. Доверенные хранилища браузеров и OS содержат сертификаты корневых CA. Цепочки доверия: корневой CA → промежуточный CA → сертификат конечного субъекта.
Let's Encrypt и бесплатные сертификаты
Let's Encrypt — бесплатный автоматизированный CA. Он выпускает сертификаты с подтверждением домена (DV), действительные в течение 90 дней и автоматически продлеваемые через протокол ACME. С 2015 года этот сервис значительно повысил распространённость HTTPS.
certbot --nginx -d example.com -d www.example.com
# Auto-renewal via cron or systemd timerТипы сертификатов
Уровни проверки сертификатов:
- DV (подтверждение домена) — подтверждает только контроль над доменом
- OV (проверка организации) — подтверждает существование организации
- EV (расширенная проверка) — тщательная проверка личности (зелёная строка, теперь устарела в браузерах)
Отзыв сертификатов
Скомпрометированные сертификаты необходимо отзывать:
- CRL (список отозванных сертификатов) — загружаемый список отозванных серийных номеров
- OCSP (протокол проверки статуса сертификата в интернете) — проверка одного сертификата в реальном времени
- OCSP-степлинг — сервер прикрепляет к рукопожатию TLS подписанный CA ответ OCSP
Прозрачность сертификатов (CT)
Журналы прозрачности сертификатов — это общедоступные записи, в которые можно только добавлять сведения о каждом выпущенном сертификате. Браузеры требуют доказательство CT в сертификатах. Это позволяет обнаруживать ошибочно выпущенные сертификаты в течение нескольких часов. Поиск: crt.sh
curl "https://crt.sh/?q=example.com&output=json" | python3 -m json.toolПодписание кода
Издатели программного обеспечения подписывают исполняемые файлы сертификатами для подписания кода. OS проверяет подписи перед выполнением. Это предотвращает незаметный запуск изменённых двоичных файлов. Механизмы Gatekeeper в macOS и SmartScreen в Windows обеспечивают соблюдение политик подписания кода.
Закрепление сертификатов
Закрепление сертификатов предполагает жёстко заданный список ожидаемых сертификатов или открытых ключей в приложениях. Даже если злоумышленник заставит CA выдать мошеннический сертификат, приложения с закреплёнными сертификатами отклонят его. Этот подход используется в мобильных приложениях и сервисах с повышенными требованиями к безопасности. Обновлять такие данные сложно — применяйте этот метод осторожно.
Быстрая проверка: сертификаты
Какой механизм позволяет браузерам в режиме реального времени проверять, не был ли отозван конкретный сертификат?
Итоги урока
Цифровые подписи подтверждают подлинность и целостность с помощью закрытых ключей. Сертификаты связывают открытые ключи с удостоверенными личностями и подписываются центрами сертификации. Let's Encrypt предоставляет бесплатные DV-сертификаты. Отзыв сертификатов выполняется с помощью CRL или OCSP. Журналы Certificate Transparency обнаруживают ошибочную выдачу сертификатов. Ed25519 — современный предпочтительный алгоритм подписи.
Изучай Cyber Security Academy с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 76
- Уроки
- 303
Часто задаваемые вопросы
Урок «Цифровые подписи и сертификаты» бесплатный?
Да — полный текст урока «Цифровые подписи и сертификаты» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Cyber Security Academy, подпишись на CoddyKit PRO. Курс Cyber Security Academy содержит 4 уроков всего.
Чему я научусь в уроке «Цифровые подписи и сертификаты»?
Разберитесь, как цифровые подписи подтверждают подлинность и как сертификаты X.509 связывают идентичность с ключами. Ты практикуешь Cyber Security Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Cyber Security Academy?
Предыдущий опыт не требуется. Cyber Security Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Цифровые подписи и сертификаты»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Cyber Security Academy?
Да. Каждый урок Cyber Security Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Симметричное шифрование: AES и потоковые шифры
- Асимметричное шифрование: RSA и эллиптические кривые
- Хеш-функции: SHA-256 и далее
- Цифровые подписи и сертификаты