img

Принципы PKI

21 ноября
20:00
Бесплатный вебинар
Введение в Docker
Ведущий — Филипп Игнатенко.
Руководитель центра разработки
Записаться
img
img

Public Key Infrastructure (PKI) - это набор различных технологий, которые используются для обеспечения аутентификации источника, целостности данных и конфиденциальности для пользователя в сети. PKI использует преимущества асимметричного шифрования и использует пары открытого и закрытого ключей для шифрования данных.

В PKI открытый ключ обычно связан с цифровой подписью, чтобы добавить доверие и проверить сведения о владельце сертификата. Ниже приведен ключевой жизненный цикл в PKI:

  • Генерация ключа: Этот процесс определяет шифр и размер ключа.
  • Генерация сертификата: Этот процесс создает цифровой сертификат и назначает его человеку или устройству.
  • Распространение: Процесс распространения отвечает за безопасное распространение ключа пользователю или устройству.
  • Хранение: Этот процесс отвечает за безопасное хранение ключа, чтобы предотвратить любой несанкционированный доступ к нему.
  • Отзыв: Сертификат или ключ могут быть отозваны, если они скомпрометированы субъектом угрозы.
  • Срок действия: Каждый сертификат имеет срок службы.

Каждый день мы посещаем различные веб-сайты, такие как социальные сети, стрим, новости, спорт, блоги и другие платформы. Однако задумывались ли вы когда-нибудь о проверке подлинности веб-сайтов, которые вы посещаете? Вы, наверное, думаете, что всему, что находится в Интернете, нельзя доверять. Хотя это отчасти правда, мы можем доверять только ограниченному числу веб-сайтов, например, доверять веб-сайту вашего банка. Главный вопрос заключается в том, как мы можем проверить подлинность веб-сайтов, которые мы посещаем? Именно здесь как PKI, так и цифровые сертификаты помогают установить доверие между хостом в Интернете и нашим компьютером.


Центр сертификации

PKI играет жизненно важную роль в Интернете, поскольку многим пользователям и устройствам требуется метод установления доверия в самой ненадежной сети в мире – Интернете. Понимание компонентов, которые помогают PKI обеспечить доверие, необходимую как пользователям, так и устройствам, имеет важное значение для любого специалиста по кибербезопасности.

Вы можете рассматривать PKI как набор процедур, правил, аппаратного и программного обеспечения, а также людей, которые работают вместе для управления цифровыми сертификатами. Цифровой сертификат-это официальная форма идентификации объекта, которая проверяется доверенной стороной. Эти цифровые сертификаты выдаются доверенной стороной в сети или Интернете. Они известны как Центр сертификации (Certificate Authority - CA).

В каждой стране существует государственное учреждение, которое обычно отвечает за проверку личности своих граждан и выдачу удостоверений личности, такой как паспорт.

Этот паспорт будет содержать важную информацию о владельце и сроке действия, например, дату окончания срока действия. В сети и в Интернете центр сертификации выполняет похожую роль и функции. В Интернете есть множество поставщиков, которые являются доверенными центрами сертификации, которые позволяют вам приобретать цифровой сертификат для личного использования. Примеры доверенных центров сертификации включают GoDaddy, DigiCert, Let's Encrypt, Comodo, Cloudflare и многие другие.

Важное примечание! Цифровой сертификат создается при объединении ключа и цифровой подписи. Сертификат будет содержать сведения о владельце сертификата, например, об организации.

ЦС выдаст объекту цифровой сертификат только после того, как его личность будет проверена. После того, как ЦС создает цифровой сертификат, он сохраняется в базе данных сертификатов, которая используется для безопасного хранения всех утвержденных ЦС цифровых сертификатов.

Важное примечание! По истечении срока действия цифрового сертификата он возвращается в ЦС, который затем помещается в список отзыва сертификатов (Certificate Revocation List - CRL), который поддерживается ЦС.

Цифровой сертификат форматируется с использованием стандарта X.509, который содержит следующие сведения:

  • Номер версии
  • Серийный номер
  • Идентификатор алгоритма подписи
  • Название эмитента
  • Срок годности
  • Не раньше, чем
  • Не после
  • Имя субъекта
  • Информация об открытом ключе субъекта
  • Алгоритм открытого ключа
  • Открытый ключ субъекта
  • Уникальный идентификатор эмитента (необязательно)
  • Уникальный идентификатор субъекта (необязательно)
  • Расширения (необязательно)
  • Алгоритм подписи сертификата
  • Подпись сертификата
  • Регистрирующий орган (RA)

Следующий рисунок - это цифровой сертификат, который используется для проверки веб-сайта Cisco:

Цифровой сертификат

Как показано на предыдущем рисунке, видно, что CA - это HydrantID SSH ICA G2, который выдает сертификат на www.cisco.com на срок действия с 20 сентября 2019 года по 20 сентября 2021 года.

Как показано на следующем рисунке, цифровой сертификат содержит дополнительную информацию, которая хранится с использованием стандарта X.509:

Форматирование X.509 в цифровом сертификате

Далее давайте рассмотрим, как создается цифровая подпись и ее роль в PKI.


Цифровая подпись

При совершении деловых операций на документах требуется подпись, чтобы гарантировать, что сделка санкционирована соответствующим лицом. Такая же концепция требуется в сети, так что цифровая подпись отправляется вместе с сообщением на конечный хост. Затем узел назначения может использовать цифровую подпись для проверки подлинности сообщения.

При использовании PKI используются следующие алгоритмы для создания и проверки цифровых подписей:

  • DSA
  • RSA
  • Elliptic Curve Digital Signature Algorithm (ECDSA)

Чтобы создать цифровую подпись, между Алисой (отправителем) и Сергеем Алексеевичем (получателем) происходит следующий процесс:

1) Алиса будет использовать алгоритм хеширования для создания хэша (дайджеста) сообщения:

Создание хэша

2) Затем Алиса будет использовать свой закрытый ключ для шифрования хэша (дайджеста) сообщения:

Создание цифровой подписи

Цифровая подпись используется в качестве доказательства того, что Алиса подписала сообщение.

Чтобы лучше понять, как используются цифровые подписи в реальной жизни, давайте представим, что в сети есть два пользователя. Алиса хочет отправить Сергею Алексеевичу сообщение. Алиса может использовать цифровую подпись с сообщением, чтобы заверить Сергея Алексеевича в том, что сообщение исходило именно от нее. Это шаги, которые Алиса будет использовать для обеспечения подлинности, целостности и неотрицания:

  1. Алиса создаст пару открытых и закрытых ключей для шифрования данных.
  2. Алиса даст Сергею Алексеевичу только открытый ключ. Таким образом, закрытый ключ хранится у Алисы.
  3. Алиса создаст сообщение для Сергея Алексеевича и создаст хэш (дайджест) сообщения.
  4. Затем Алиса будет использовать закрытый ключ для шифрования хэша (дайджеста) сообщения для создания цифровой подписи.
  5. Алиса отправит сообщение и цифровую подпись Сергею Алексеевичу.
  6. Сергей Алексеевич будет использовать открытый ключ Алисы для расшифровки цифровой подписи, чтобы получить хэш сообщения.
  7. Сергей Алексеевич также сгенерирует хэш сообщения и сравнит его с хэшем, полученным из цифровой подписи Алисы. Как только два значения хэша (дайджеста) совпадают, это просто означает, что сообщение подписано и отправлено Алисой.

Цифровые подписи используются не только для проверки подлинности сообщений. Они также используются в следующих случаях:

  • Цифровые подписи для цифровых сертификатов: это позволяет отправителю вставить цифровую подпись в цифровой сертификат.
  • Цифровые подписи для подписи кода: это позволяет разработчику приложения вставить свою цифровую подпись в исходник приложения, чтобы помочь пользователям проверить подлинность программного обеспечения или приложения.

На следующем рисунке показан пример приложения, содержащего цифровой сертификат:

Цифровая подпись в программном обеспечении

На следующем рисунке показана дополнительная проверка цифровой подписи подписавшего:

Проверка цифровой подписи

Система доверия PKI

Ранее мы узнали, что организация может получить цифровой сертификат от доверенного центра сертификации в Интернете. Однако во многих крупных организациях вы обычно найдете корневой ЦС и множество промежуточных ЦС. Корневой ЦС отвечает за создание первичного цифрового сертификата, который затем делегируется каждому подчиненному ЦС или промежуточному ЦС. Промежуточный ЦС будет использовать цифровой сертификат корневого сервера для создания новых цифровых сертификатов для конечных устройств, таких как внутренние серверы.

На следующем рисунке показана иерархия корневого и промежуточного ЦС:

Доверительная система

Использование этого типа иерархической структуры снимает нагрузку с корневого центра сертификации по управлению всеми цифровыми сертификатами в организации. Некоторые из этих обязанностей делегированы промежуточным серверам ЦС в сети. Представьте, что в вашем головном офисе вы развернули корневой ЦС, а в каждом удаленном филиале развернули промежуточные ЦС. Следовательно, каждый промежуточный ЦС отвечает за управление сертификатами своего собственного домена или филиала. Это также снижает риски взлома корневого ЦС злоумышленником, так что в случае взлома промежуточного ЦС корневой ЦС может быть отключен от сети, не затрагивая другие конечные устройства или промежуточные ЦС.

В небольших сетях можно развернуть один корневой ЦС для предоставления цифровых сертификатов каждому конечному устройству, как показано на следующем рисунке:

Однокорневой ЦС

Как показано на предыдущем рисунке, одним ЦС легко управлять. Однако по мере роста сети наличие единственного центра сертификации в сети не позволит легко масштабироваться, поэтому необходимо использовать иерархическую структуру с корневым центром сертификации и промежуточными (подчиненными) центрами сертификации.

Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
Кибербезопасность
Скидка 10%
Основы кибербезопасности
Стань специалистом по кибербезопасности, изучи хакерский майндсет и научись защищать свою инфраструктуру! Самые важные и актуальные знания, которые помогут не только войти в ИБ, но и понять реальное положение дел в индустрии
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
Киберпреступность — это печальная реальность современности, затрагивающая как частных пользователей, так и бизнес. Ни одна компа
img
При передаче данных между системами крайне важно сохранять их целостность и конфиденциальность. Для этого существуют протоколы и
img
Основные тезисы: Шифрование – это крайне важная технология для информационной безопасности, которая обеспечивает конфиденциально
img
Испытание на возможность проникновения в систему – это критически важный компонент, который предоставляет отказоустойчивые техно
img
Распределенные атаки типа «отказ в обслуживании» (DDoS - Distributed Denial of Service) направлены на то, чтобы «отключить» орга
img
  На заре информационных технологий, у разработчиков не было никакой необходимости беспокоиться о сетях. Их главной задачей бы
21 ноября
20:00
Бесплатный вебинар
Введение в Docker