Если мы подписываем сообщение при помощи pki чем мы пользуемся

Обновлено: 28.04.2024


Картина мира

Перед погружением в код давай разберем немного терминологии. PKI — инфраструктура открытых ключей. Как несложно догадаться, PKI основана на асимметричном шифровании. В симметричных шифрах для шифрования и расшифрования используется один ключ. В асимметричных для шифрования используется один ключ, а для расшифрования — другой. Вместе они образуют ключевую пару.

Информация, необходимая для работы PKI, содержится в сертификате X.509. В PKI участвуют как минимум три стороны: Алиса, Боб и удостоверяющий центр (УЦ). У Алисы и Боба есть сертификаты с закрытым ключом, подписанные так называемым корневым сертификатом УЦ. У Алисы есть сертификат Боба с открытым ключом, а у Боба — сертификат Алисы с открытым ключом. Алиса и Боб доверяют УЦ и благодаря этому могут доверять друг другу.

Упрощенная структура PKI

Упрощенная структура PKI


Другие статьи в выпуске:

Сертификаты X.509

Менеджер сертификатов

Менеджер сертификатов

Закрытый ключ для сертификата

Закрытый ключ для сертификата

Состав сертификата

Состав сертификата

Состояние сертификата

Состояние сертификата

WARNING


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

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

Электронная подпись применяется не только в спецслужбах и органах, но и в бизнесе. Например, для перевода пенсионных накоплений в НПФ: мы генерируем запрос на сертификат, отправляем его в удостоверяющий центр (УЦ). УЦ выпускает сертификат, мы подписываем сертификатом заявление на перевод пенсионных накоплений, отправляем — и вуаля. Подпись также позволяет осуществлять контроль целостности подписываемых данных. Если данные будут изменены, подпись не пройдет проверку.

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

Мы проверили сертификат и убедились, что он в порядке. Переходим непосредственно к подписыванию данных. Подпись бывает двух видов: прикрепленная и открепленная.

Прикрепленная и открепленная подписи

Прикрепленная и открепленная подписи


Но, как обычно это бывает у Microsoft, стоит сделать маленький шаг в сторону, и розовый волшебный мир рушится

На C++ будет что-то вроде:

Подпись изнутри

Подпись изнутри

Проверка подписи и декодирование

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

Если пользователь прислал тебе отчет в виде прикрепленной подписи, тебе для чтения придется его декодировать:

Шифрование

Зачем нужно шифрование, все уже знают. PKI нам дает полезную плюшку: мы можем зашифровать один документ так, что расшифровать его смогут несколько получателей. Это очень удобно. Для этого нам нужно иметь сертификаты получателей.

Расшифрование

Заключение

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

За кадром остались поточное шифрование и расшифрование, подпись несколькими сертификатами, генерация запросов на сертификат и многое другое, но основу я тебе показал. Код примеров с тестами можно скачать на GitHub.

Криптография и инфраструктура открытых ключей PKI

В данной статье мы рассмотрим, что такое Инфраструктура открытых ключей (PKI), как она устроена на логическом уровне, для чего используется, а также попытаемся выявить её плюсы и минусы. Никакой математики - только логика работы. При подготовке материала использовались лекции Антона Карпова о PKI, которые можно найти на YouTube.

ПИК Безопасности имеет богатый опыт практического внедрения, применения и сопровождения технологий, описанных в данной статье. Продукты таких вендоров, как InfoTeCS, Код безопасности, Крипто-Про представляют собой комплексные, легко масштабируемые решения, позволяющие шифровать информацию при передаче по открытым каналам связи, разворачивать инфраструктуру PKI и систему обнаружения вторжений (IDS). Полную информацию вы всегда сможете получить у наших специалистов.

Часть 1. Криптография.

  • Конфиденциальность – невозможность прочтения информации посторонним;
  • Целостность данных – невозможность незаметного изменения информации;
  • Аутентификация – проверка подлинности авторства или иных свойств объекта;
  • Апеллируемость – невозможность отказа от авторства.

Ну а мы рассмотрим два принципиальных вида алгоритмов шифрования: симметричные алгоритмы шифрования и асимметричные алгоритмы шифрования.

  • Появление алгоритма Диффи-Хеллмана в 1976 году. Визуальный принцип его работы для "не-математиков" очень доступно изложен в данном видео.
  • Появление алгоритма шифрования и электронной подписи RSA в 1977 году.

На алгоритмах RSA и Диффи-Хеллмана мы останавливаться не будем, а перейдем к сути криптографии с открытым ключом:

Стоит заметить, что в современных реализациях VPN (в качестве примера можно привести технологию ViPNet), используется комбинация симметричных и асимметричных алгоритмов шифрования. Например, сначала используются асимметричные алгоритмы для получения сессионного симметричного ключа шифрования (алгоритм Диффи-Хеллмана), а уже потом данные шифруются с помощью быстрого симметричного алгоритма с использованием ключа, который был выработан на первом шаге.

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

В 1994 году Главным управлением безопасности связи ФАПСИ был разработан первый российский стандарт ЭЦП — ГОСТ Р 34.10-94 "Информационная технология. Криптографическая защита информации. Процедуры выработки и проверки электронной цифровой подписи на базе асимметричного криптографического алгоритма".

В 2002 году для обеспечения большей криптостойкости алгоритма взамен ГОСТ Р 34.10-94 был введён одноимённый стандарт ГОСТ Р 34.10-2001, основанный на вычислениях в группе точек эллиптической кривой. В соответствии с этим стандартом, термины "электронная цифровая подпись" и "цифровая подпись" являются синонимами.

1 января 2013 года ГОСТ Р 34.10-2001 заменён на ГОСТ Р 34.10-2012 "Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи." Применение нового ГОСТ Р 34.10-2012 обязательно с января 2019 года – об этом мы уже писали. Если вы используете электронную подпись, нужно убедиться, что ваши средства ЭП поддерживают данный стандарт.

Парадигма PKI предполагает существование Корневого удостоверяющего центра (Certificate Authority), которому все участники взаимодействия безоговорочно доверяют. Создается иерархическая система доверия, т.е. Корневой УЦ может делегировать полномочия по подтверждению подлинности ключей пользователей другим УЦ. Система доверия выглядит как древовидная цепочка сертификатов УЦ, вплоть до конечного пользователя. Для подтверждения подлинности ключей пользователя, УЦ и выдает пользователям цифровые сертификаты.

Цифровой сертификат – это открытый ключ субъекта, подписанный закрытым ключом УЦ, содержащий в своем составе информацию о субъекте. Сертификаты создаются в соответствии со стандартом X.509, и могут использоваться для подписи, шифрования и аутентификации. Стандарт X.509 мы рассмотрим чуть дальше.

Таким образом, в состав компонентов PKI структуры входят:

  • Корневой УЦ (Root CA)
  • Подчиненные УЦ (Subordinate CA (IntermediateCA))
  • Набор политик и регламентов
  • Каталог выданных сертификатов
  • Каталог отозванных сертификатов

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

Еще раз остановимся на основном, фундаментальном для PKI требовании – должна быть сущность, которой все доверяют. Этой сущностью является Корневой УЦ. Если в ОС Windows открыть список доверенных корневых сертификатов (certmgr.msc -> Доверенные корневые центры сертификации), можно увидеть более 70 сертификатов УЦ, которым система доверяет по умолчанию.

Список доверенных корневых сертификатов

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

Например, у Microsoft существует документ "Программа доверенных корневых сертификатов Майкрософт. Требования аудита для центров сертификации", где описаны общие требования для УЦ.
Кроме того существует программа сертификации WebTrust – это мировой стандарт, определяющий набор правил и критериев для УЦ. Критерии стандарта WebTrust были определены The American Institute of Certified Public Accountants (AICPA) и Canadian Institute of Chartered Accountants (CICA) в 1995 году. Любой крупный УЦ регулярно должен проходить аудит WebTrust.
Сертификаты PKI, выдаваемые согласно стандарту WebTrust, имеют статус проверенных и надёжных на мировом уровне, а также попадают в список доверенных в операционных системах (Windows, MAC OS X и др.) и веб-браузерах.

В Российской Федерации, согласно Федеральному закону от 06.04.2011 N 63-ФЗ "Об электронной подписи", аналогично с проведением международного аудита по требованиям безопасности, УЦ могут пройти процедуру аккредитации. Требования для аккредитованных УЦ устанавливает Федеральный закон и подзаконные правовые акты Минкомсвязи. Прохождение процедуры аккредитации дает право УЦ выпускать квалифицированные сертификаты электронной подписи. Такие сертификаты имеют юридическую значимость на территории РФ.

Говоря о PKI, мы по сути говорим о стандарте X.509. Стандарт X.509 предусматривает стандартную структуру сертификата (наборы полей), механизмы проверки действительности сертификата, а также стандартные механизмы получения и отзыва сертификатов:

  • Сертификат
    • Версия
    • Серийный номер
    • Идентификатор алгоритма подписи
    • Имя издателя
    • Период действия:
      • Не ранее
      • Не позднее
      • Алгоритм открытого ключа
      • Открытый ключ субъекта
      • . возможные дополнительные детали

      Основные форматы файла сертификата:

      Механизмы проверки действительности сертификата:

      Любой сертификат в структуре PKI может быть скомпрометирован, поэтому стандарт X.509 предполагает механизмы их проверки. Проверка происходит с использованием "чёрных списков". Проверка происходит по серийному номеру сертификата. Существуют два основных формата:

      • CRL (Certificate Revocation List) – Список отозванных сертификатов. Публикуется УЦ на регулярной основе в публичных источниках. Имеет время жизни, которое зависит от политик и регламента УЦ. В своем составе CRL содержит серийный номер сертификата, дату и причину отзыва. CRL может содержать один из статусов: отозван (revoked) или приостановлен (hold), хотя приостановление сертификатов на практике практически не используется. Важно понимать, что CRL является оффлайн инструментом и не позволяет проверять статус сертификата в реальном времени.
      • OCSP (Online Certificate Status Protocol) – сетевой протокол, который позволяет проверить статус сертификата в реальном времени. Адрес OCSP-сервера указывается в специальном поле сертификата – CDP (CRL Distribution Point). Важно обеспечить постоянную доступность OCSP-сервера.

      C 31 декабря 2017 года начинает действовать редакция Федерального закона N 63-ФЗ "Об электронной подписи", согласно которой аккредитованный УЦ будет обязан иметь в своем составе OSCP-сервер.

      Проблемы стандарта X.509:

      • Нет возможности ограничить подчиненные УЦ в выдаче сертификатов, т.е. если Корневой УЦ выдал сертификат подчиненному УЦ, тот может выпускать какие угодно сертификаты и у корневого УЦ нет механизмов, позволяющих это хоть как-то контролировать. Сама технология этого не предусматривает. Отсюда вытекает следующий момент: вопрос доверия огромному на сегодняшний день количеству корневых УЦ. Разве можно гарантировать, что все они прошли аудит и соблюдают правила выдачи сертификатов и аутентификации клиента перед выдачей? Если вдобавок посмотреть на политическую ситуацию в мире, то становится понятно, что использование поддельных сертификатов может быть крайне эффективным оружием в информационной войне между государствами. В этом смысле, видя решительные попытки перехода на отечественное программное обеспечение, остается только гадать, почему сертификаты для сайтов коммерческих банков, государственных органов, выданы зарубежными УЦ, ведь в процессе обеспечения информационной безопасности, одним из самых важных принципов является комплексность.
      • Остается открытым вопрос: что делать, если недоступны CRL и OCSP? На текущий момент решение одно – УЦ нужно обеспечивать доступность этих компонентов.
      • Что делать в случае компрометации Корневого УЦ? Ответ один: нужно отзывать корневой сертификат. При этом станут недействительны все сертификаты, выданные этим УЦ. Если взять в качестве примера Головной УЦ Минкомсвязи, который является корневым для всех сертификатов, аккредитованных УЦ в России, компрометация Головного УЦ приведет к катастрофическим последствиям в любых отношениях, использующих юридически значимую электронную подпись на территории России. На сегодняшний день насчитывается более пятидесяти сфер использования квалифицированных ЭП в нашей стране – это внешний и внутренний ЭДО, электронные торги, взаимодействие с государственными информационными системами и др.

      Как видите, PKI не является идеальной инфраструктурой, и некоторые принципиальные моменты требуют решений. Тем более что сфер применения PKI становится всё больше и больше, и в глобальном значении этих областей сомневаться не приходится.

      Часть 3. Заключение.

      В качестве постскриптума, хочется кратко поговорить о существующих альтернативах и расширениях PKI:

      Расширение PKI – OCSP stapling. В целях снятия больших нагрузок в инфраструктуре PKI на сервер OCSP придуман механизм OCSP stapling. Он предполагает, что сайт, которому выдан сертификат, в определенные промежутки времени делает запрос в УЦ о статусе своего сертификата. УЦ отвечает метками действительности с проставлением штампа времени. При этом клиент, который заходит на сайт, видит метку УЦ на сертификате сайта, доверяет ему и не обращается к OCSP-серверу.

      Расширение PKI – Certificate pinning. В общем случае клиент, который заходит на сервер, получает сертификат сервера, подписанный УЦ. Этот сертификат может быть подменен на сертификат от другого доверенного УЦ, который вдруг был взломан. Данное расширение предполагает, что на клиенте, как правило, в браузерах и мобильных приложениях, прописано соответствие серверов и сертификатов, т.е. прописан список разрешенных для домена сертификатов или УЦ, который хранится в исходных текстах браузера. Этот метод позволяет избежать подмены сертификата за счет сравнения с эталонными в защищенном хранилище браузера. Но этот метод не защищает нас от взлома УЦ, которые есть в списке соответствия данному домену.

      Convergence. Так же как и в предыдущем пункте, данный метод призван защитить нас от атаки Man in the middle (MITM) или человек посередине, когда злоумышленник прослушивает канал и перенаправляет нас на свой сервер, передающий сертификат, подписанный УЦ, который находится в доверенных списках клиента. При этом мы предполагаем, что УЦ взломан. Распределенная система доверия предполагает, что в сети находятся специальные узлы, которые называются "нотариусами" (их может быть большое количество, расположены они могут быть в разных странах). Сертификаты нотариусов предварительно "зашиты" на клиенте. В момент получения сертификата с сервера, клиент, перед тем как доверять этому сертификату, обращается к "нотариусам" и просит их проверить со своей стороны, какой сертификат отдает целевой сервер при обращении к нему. Каждый нотариус идет на сервер и сравнивает сертификат сервера, который он получает с сертификатом в запросе клиента. При совпадении информации клиент доверяет сертификату сервера. Конечно, данный метод не защищает нас от взлома самого сервера.

      Расширение для TLS протокола – TACK. В процессе установления соединения с сервером, клиент заявляет о поддержке расширения TACK и запрашивает TACK-ключ (эту ключевую пару генерирует администратор сервера, у данного ключа настраиваемое время жизни и порядок смены). В ответ сервер передает открытую часть TACK-ключа, сгенерированную администратором сервера. Передача происходит в рамках TLS handshake. Далее сервер передает клиенту сертификат, выданный УЦ, который подписан закрытым TACK-ключом, а клиент проверяет подпись с помощью открытой части TACK-ключа, переданной ранее. Таким образом, ответственность смещается на сторону сервера. Применение этой технологии не защищает от MITM при первоначальном подключении.

      Certificate Transparency. Технология разработана специалистами Google и призвана решить проблему поддельных сертификатов для доменов и их позднего обнаружения. Идея заключается в том, чтобы сделать невозможным создание сертификата для какого-либо домена незаметно для владельца этого домена. Технология предполагает существование трех объектов:

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

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

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

      PKI - это инфраструктура, которая стала неотъемлемой частью нашей повседневной жизни - и подавляющее большинство из нас даже не знают, что это такое! Что ж, это то, что огорчает всех нас здесь, в нашем Блоге, и именно поэтому мы пытаемся разложить сложные, занудные вещи в понятную форму.

      Итак, что такое PKI? В этом посте я познакомлю вас с искусством и наукой, которая является инфраструктурой открытых ключей (PKI), и всем, что с этим связано.

      Давайте разберемся с этим.



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

      И вот, где приходит на помощь PKI.

      Как инфраструктура PKI меняет все

      Довольно круто, не правда ли?

      Популярные области, в которых применяется PKI

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



      Благодаря использованию PKI, SSL-сертификат:

      Протокол защищенной оболочки (SSH)

      Secure Shell (SSH) - это криптографический сетевой протокол, который обеспечивает безопасные сетевые сервисы между хостами и пользователями по незащищенной сети. Он используется для облегчения безопасного удаленного входа с одного компьютера на другой. В основе SSH также лежит инфраструктура открытых ключей (PKI).

      Безопасность электронной почты (протокол S/MIME)

      Подписание документов

      Код / Подписание приложения

      Миллионы пользователей загружают миллионы приложений на компьютеры и мобильные устройства каждый день. Компании-разработчики или частные лица создают эти программы. Но какова гарантия того, что устанавливаемое вами программное обеспечение принадлежит компании или индивидуальному разработчику, от которого вы думаете, что оно? Не может ли кто-нибудь просто изменить имя файла и замаскировать вредоносное программное обеспечение, как доверенное программное обеспечение? Да. И это очень реальная проблема для всех. Ну, вот где приходят сертификаты подписи кода.



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

      PKI 101: Сертификаты, Ключи и Центры сертификации

      Следовательно, можно сказать, что инфраструктура открытых ключей состоит из трех основных элементов: Пар ключей, Цифровых сертификатов X.509 и Органов выдачи сертификатов.

      Теперь, когда мы понимаем пару ключей, давайте разберемся с двумя другими важными компонентами PKI - Цифровыми сертификатами и Центрами сертификации (CA).

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

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

        ; ; ;
      • Сертификаты аутентификации клиента в подписывании документов.

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

      Здесь на помощь приходят Доверенные Центры Сертификации (CA)

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

      Перед выдачей цифрового сертификата ЦС должен провести процесс проверки, чтобы удостовериться, что он выдает сертификат законному субъекту. Даже небольшая ошибка в процессе проверки может привести к ошибочной выдаче и вызвать катастрофу не только с точки зрения ущерба, но и с точки зрения общего доверия к системе, которой является PKI. Таким образом, чтобы быть доверенным центром сертификации, вы должны соответствовать очень строгим критериям, сформированным независимой группой браузеров, операционных систем и мобильных устройств, известной, как CA/Browser Forum (или CA/B Forum для краткости). Кроме того, вам нужна инфраструктура на несколько миллионов долларов, которая включает в себя значительные операционные элементы, аппаратные средства, программное обеспечение, структуры политик, практические заявления, аудит, инфраструктуру безопасности и персонал.

      Преимущества инфраструктуры открытых ключей (PKI)

      Учитывая все это, существует множество преимуществ использования шифрования с открытым ключом, как части вашей инфраструктуры открытого ключа. Кто они такие? О, мы очень рады, что вы спросили .

      Аутентификация

      Конфиденциальность

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

      Целостность данных

      Неотрекаемость

      Недостатки инфраструктуры открытых ключей

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

      Скорость

      Компромисс закрытого ключа

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

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

      Опора на Центры сертификации

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

      Как PKI работает в SSL/TLS

      4. В свою очередь, веб-сервер дешифрует секретный ключ своим закрытым ключом.

      5. Теперь и клиент, и сервер генерируют сеансовые ключи из случайного клиента, случайного сервера. Этот ключ сеанса, сгенерированный обоими, должен быть одинаковым.

      После того как все вышеперечисленные шаги выполнены и процесс установления связи SSL/TLS завершен, между клиентом и браузером устанавливается безопасное соединение.

      (Примечание. Вышеупомянутый процесс рукопожатия относится к TLS версии 1.2. Хотя этот процесс довольно сложный, мы упростили его здесь для лучшего понимания. Ознакомьтесь с этим постом для более подробного изучения процесса SSL / TLS. Это также важно отметить, что TLS 1.3 также используется, но TLS 1.2 используется чаще на момент написания этой статьи.)

      Последнее слово

      Является ли PKI неразрушимым? Нет, у него есть возможности для улучшения; и именно поэтому время от времени мы видим изменения в экосистеме PKI. Ведущие мировые Центры сертификации активно действуют и всегда ищут способы улучшить нашу безопасность. Можно с уверенностью сказать, что мы в лучших руках.

      fraimed

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

      Содержание

      Описание

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

      1. идентификации участников электронного обмена (пользователей, программ, систем),
      2. обеспечения конфиденциальности информации,
      3. контроля за целостностью информации,
      4. установления происхождения информации.

      Основные определения

      Цифровой сертификат - cтруктура данных, применяющаяся для связывания определенного модуля с определенным открытым ключом. Цифровые сертификаты используются для подтверждения подлинности пользователей, приложений и сервисов, и для контроля доступа (авторизации).

      Шифрование с открытым ключом - тип шифрования, при котором используется пара ключей: открытый, т.е. свободно доступный, и соответствующий ему частный ключ, известный только конкретному пользователю, приложению или сервису, которые владеют этим ключом. Эта пара ключей связана таким образом, что зашифрованное частным ключом, может быть расшифровано только открытым ключом и наоборот.

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

      Алгоритм RSA - первая шифровальная система с открытым ключом, названная в честь ее изобретателей: Ronald Rivest, Adi Shamir и Leonard Adleman. [1]

      Компоненты PKI

      Компоненты.jpg

      Основная идея

      Задачей PKI является определение политики выпуска цифровых сертификатов, выдача их и аннулирование, хранение информации, необходимой для последующей проверки правильности сертификатов. В число приложений, поддерживающих PKI, входят: защищенная электронная почта, протоколы платежей, электронные чеки, электронный обмен информацией, защита данных в сетях с протоколом IP, электронные формы и документы с электронной цифровой подписью (ЭЦП).

      Деятельность инфраструктуры управления открытыми ключами осуществляется на основе регламента системы. Инфраструктура открытых ключей основывается на использовании принципов криптографической системы с открытым ключом. Инфраструктура управления открытыми ключами состоит из центра сертификации УЦ [2] , конечных пользователей, и опциональных компонентов: центра регистрации и сетевого справочника.

      PKI оперирует в работе сертификатами. Сертификат - это электронный документ, который содержит электронный ключ пользователя, - открытый или же ключевую пару (keypair), - информацию о пользователе, которому принадлежит сертификат, удостоверяющую подпись центра выдачи сертификатов (УЦ) и информацию о сроке действия сертификата.

      Для того, чтобы клиент мог работать с удостоверяющим центром, необходимо включить центр в список доверенных. После включения в этот список, любой сертификат, выданный доверенным центром, считается достоверным, а его владелец - достойным доверия.

      Удостоверяющий центр также публикует и списки отозванных сертификатов (Certificate Revocation List/CRL), которые могут использовать клиенты инфраструктуры открытого ключа, когда решают вопрос о доверии сертификату пользователя и/или компьютера.

      Создаётся пара ключей либо центром выдачи сертификатов (удостоверяющим центром), по запросу пользователя, или же самим пользователем с помощью специального программного обеспечения. Пользователь делает запрос на сертификат, после чего, после процедуры идентификации пользователя, центр выдаёт ему сертификат со своей подписью. Эта подпись свидетельствует о том, что данный сертификат выдан именно этим центром выдачи сертификатов и никем другим.

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

      Архитектуры PKI В основном выделяют 5 видов архитектур PKI:

      1. Простая PKI (одиночный удостоверяющий центр).
      2. Иерархическая PKI.
      3. Сетевая PKI.
      4. Кросс-сертифицированные корпоративные PKI.
      5. Архитектура мостового УЦ.

      В основном PKI делятся на разные архитектуры по следующим признакам:

      1. Количество УЦ (а также количество УЦ, которые доверяют друг-другу).
      2. Сложность проверки пути сертификации.
      3. Последствия выдачи злоумышленника себя за УЦ.

      Примеры использования PKI

      Электронный отпечаток

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

      Электронно-цифровая подпись (ЭЦП)

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

      Читайте также: