pki что это простыми словами

Public Key Cryptography: осваиваем открытые ключи на практике

Содержание статьи

Картина мира

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

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

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

Xakep #206. Ключ от всех дверей

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

Так повелось, что основным «активом» в PKI является сертификат X.509. Сертификат — это что-то вроде паспорта, он содержит информацию, позволяющую идентифицировать субъект, которому выдан сертификат (поле Subject), указывает, кем он был выпущен (поле Issuer), серийный номер сертификата и многое другое. В Windows управлять сертификатами можно с помощью оснастки «Сертификаты» ( run->certmgr.msc ).

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

Сертификаты хранятся в хранилищах («Личное», «Доверенные центры сертификации», «Доверенные лица». ).

При получении сертификата важно установить его в правильное хранилище. Так, сертификаты, которые ты хочешь использовать для электронной подписи, должны быть установлены в хранилище «Личное», а сертификаты получателей, которым нужно будет отправлять зашифрованные сообщения, — в хранилище «Доверенные лица». Сертификаты удостоверяющих центров (УЦ) должны быть установлены в хранилище «Доверенные корневые центры сертификации». При установке сертификата система предлагает два варианта: выбрать хранилище автоматически либо указать вручную. Рекомендую использовать второй вариант, так как автоматика иногда устанавливает сертификат не в то хранилище. Сертификат, которым мы хотим подписывать сообщения, должен иметь закрытый ключ. О наличии закрытого ключа можно узнать, посмотрев на свойства сертификата, где русским по белому будет написано: «есть закрытый ключ для этого сертификата».

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

Самое интересное о сертификате мы можем узнать на вкладке «Состав».

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

Обрати внимание на поля «Алгоритм подписи», «Алгоритм хеширования подписи» и «Открытый ключ». Если хочешь использовать сертификат для осуществления транзакций в России, во всех этих полях ты должен видеть слово «ГОСТ». Также следует обратить внимание на значение поля «Использование ключа» и поля «Действителен с» и «Действителен по»: первое позволит понять, возможно ли использование сертификата для выполнения нужной нам операции (шифрование, подпись), а второе и третье — возможно ли использовать данный сертификат в указанный момент времени. В дополнение к этому следует убедиться, что сертификат действителен. В этом нам поможет вкладка «Путь сертификации». Если с сертификатом все хорошо, мы увидим надпись: «Этот сертификат действителен».

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

WARNING

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

Представь, дорогой читатель, что ты занимаешься некой очень ответственной работой. И результаты своей работы отправляешь в виде отчетов, от которых в конечном итоге зависят чьи-то конкретные судьбы и жизни. Получатели твоих отчетов принимают на их основе очень важные решения, и, если ты напортачишь, вполне можешь получить срок. Так вот, в таких ответственных организациях без электронной подписи никуда. Она позволяет тебе подписать тот самый суперважный секретный отчет своим сертификатом с закрытым ключом. Закрытый ключ, в идеале, может храниться на токене — специальном съемном устройстве, похожем на флешку, которое ты в редкие моменты достаешь из сейфа. Подпись гарантирует, что твой отчет отправлен именно тобой, а не уборщицей или сторожем. С другой стороны, ты не сможешь отказаться от авторства (это называется «неотрекаемость») и, если накосячишь в своем суперважном документе, на сторожа свалить вину не получится.

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

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

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

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

Результатом прикрепленной подписи будет CMS (Cryptography Message Syntax) — сообщение, содержащее как подписываемые данные, так и саму подпись. Открепленная подпись содержит только саму подпись. Рекомендую использовать именно открепленную подпись, потому что с ней намного меньше мороки. В нее проще поставить метку времени, она меньше весит, так как не содержит подписываемые данные. Подписываемые данные легко открыть, посмотреть. В случае прикрепленной подписи для того, чтобы просмотреть подписанные данные, CMS-сообщение необходимо сначала декодировать. В общем, прикрепленной подписи я рекомендую избегать всеми силами. Если потребуется передавать подпись и контент вместе, рассмотри вариант архивирования (вместо использования прикрепленной подписи используй открепленную, просто заархивируй подписываемый файл и открепленную подпись). Посмотрим на код подписи (С#):

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

Вызов кода на C++ из C# будет выглядеть примерно так:

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

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

Читайте также:  Уролог и невролог в чем разница

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

А так будет выглядеть код проверки подписи при вызове из C#:

Шифрование

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

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

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

Заключение

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

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

Источник

Обзор систем управления ключевыми носителями и цифровыми сертификатами (PKI)

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

Введение

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

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

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

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

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

Ещё один важный момент связан с регламентным учётом средств криптографической защиты информации (СКЗИ). Нормативные документы диктуют особый порядок регистрации таких носителей и требуют от предприятий, работающих с персональными данными, формирования специализированной отчётности.

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

Системы управления ключевыми носителями и цифровыми сертификатами

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

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

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

На рабочем месте пользователя обычно устанавливается клиентская часть системы управления ключевыми носителями. Она отвечает за проверку валидности ключа, а также за ряд операций с ним. Нередко такие агенты предоставляют администратору возможность удалённой блокировки токена или смарт-карты.

Ещё одной типовой функцией решений для управления ключевыми носителями является поддержка каталогов пользователей, однако подход к её реализации различается. Большинство продуктов взаимодействует с сервисами Active Directory, некоторые решения используют коннекторы к кадровым и CRM-системам, отдельные вендоры пошли по пути создания собственной службы каталогов.

Архитектура большинства систем управления ключевыми носителями включает следующие компоненты:

Мировой рынок систем управления ключевыми носителями и цифровыми сертификатами

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

Читайте также:  ping spoofing что это

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

Аналитики не выделяют системы управления ключевыми носителями и цифровыми сертификатами в самостоятельный рынок. Так, консалтинговая компания Gartner рассматривает их в рамках значительно более широкого сектора User Authentication, а также Access Management. «Магический квадрант» последнего включает глобальные компании, такие как IBM, Microsoft и Oracle, но не учитывает нишевых игроков — решения Thales или HID.

Рисунок 1. «Магический квадрант» Gartner для сектора Access Management, 2018 год

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

Поставщики специализированных решений по управлению ключевыми носителями:

Разработчики продуктов для управления сертификатами безопасности:

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

Российский рынок систем управления ключевыми носителями и цифровыми сертификатами (PKI)

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

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

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

Эти факторы существенно ограничивают деятельность зарубежных поставщиков на рынке систем управления ключевыми носителями, что привело к активному развитию решений российских разработчиков. «Большая четвёрка» отечественных вендоров в этом сегменте выглядит следующим образом: «Индид», «Аванпост», «Актив», «Аладдин Р.Д.». Необходимо учитывать тот факт, что «Индид» и «Актив» продают один и тот же продукт — каждая под своим брендом (решение разработано «Индидом» и поставляется «Активом» по концепции White Label).

Следует отметить, что компании «Аладдин Р.Д.» и «Актив» являются также поставщиками аппаратных решений для идентификации — токенов и смарт-карт JaCarta и «Рутокен» соответственно. Мы уже публиковали сравнение ключей различных производителей, представленных на отечественном рынке.

Западные вендоры не в состоянии конкурировать с российскими разработчиками на рынке госконтрактов, но, тем не менее, готовы поставлять свои продукты коммерческим компаниям. Особенно сильны их позиции в секторе автоматизации местных филиалов глобальных компаний. На отечественном рынке работают представительства HID Global и Gemalto (ныне вошедшей в состав Thales).

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

Краткий обзор возможностей систем управления ключевыми носителями

В этом разделе представлены описания тех продуктов, которые доступны для приобретения на территории России.

Avanpost PKI

Российская компания «Аванпост» выпустила новую версию своей системы управления ключевыми носителями. Avanpost PKI предназначена для управления сертификатами безопасности, физическими устройствами и СКЗИ на протяжении всего их жизненного цикла — от выпуска до блокировки и отзыва. Решение состоит из серверной части, базы данных, веб-клиента для пользователя и администратора, а также агента, отвечающего за взаимодействие с ключевыми носителями в фоновом режиме.

Avanpost PKI поддерживает большое число носителей, представленных на отечественном рынке, включая полную линейку ключей eToken и «Рутокен», а также разработки JaCarta и ESMART. Система интегрируется с кадровыми решениями отечественных и зарубежных производителей и способна получать сведения о пользователях из LDAP-каталогов, CRM-продуктов и банковского ПО на основе разработок Step Up и BSS.

Решение Avanpost PKI может применяться как на предприятиях, использующих различные виды ключевых носителей в своей деятельности, так и в компаниях, оказывающих услуги по выпуску сертификатов безопасности. Система поддерживает иерархию «центр регистрации — компания — работник» с возможностью многоуровневого разделения доступа администраторов. В качестве конечного пользователя ключа может выступать не только сотрудник компании, но и информационная система. При этом в Avanpost PKI 6 можно вести учёт владельцев таких ИС.

Функциональные возможности Avanpost PKI 6:

Больше информации о решении Avanpost PKI можно найти на сайте разработчика.

HID ActivID Credential Management System

Один из ведущих производителей средств контроля доступа к физическим и цифровым объектам имеет в своём пакете решений и программное обеспечение для управления ключевыми носителями. Система HID ActivID Credential Management System предназначена для выпуска и управления жизненным циклом USB-токенов, смарт-карт, модулей Windows TPM и других носителей. Решение HID способно управлять средствами аутентификации для доступа к серверам и рабочим станциям как в границах периметра безопасности, так и за его пределами. При этом система может применяться не только для контроля доступа к объектам сетевой инфраструктуры, но и для подписывания и шифрования отдельных документов, электронных писем и других важных данных.

Возможности системы управления средствами идентификации HID ActivID CMS:

Решение интегрируется с другими программными продуктами HID Global, работающими с ключевыми носителями. Например, если компания выпускает смарт-карты не самостоятельно, а при помощи авторизованного сервис-бюро, то для передачи больших объёмов конфиденциальных данных можно использовать систему ActivID Batch Management System (BMS). В качестве агента идентификации на рабочих станциях и других объектах ИТ-инфраструктуры используется приложение ActivID ActivClient.

Читайте также:  У кота не проходит понос что делать

Подробная информация о системе управления средствами идентификации HID ActivID доступна на сайте вендора.

Indeed Certificate Manager

Система управления ключевыми носителями Indeed Certificate Manager предназначена для администрирования жизненного цикла сертификатов безопасности, учёта физических носителей (токенов, смарт-карт и т. д.), а также контроля политик безопасности в отношении средств криптографической защиты. Совместно с другими решениями компании «Индид» продукт реализует механизм двухфакторной аутентификации и систему единого входа (SSO) с использованием физических и электронных ключей. Indeed Certificate Manager соответствует регламентным требованиям, предъявляемым к учёту средств криптографической защиты информации (СКЗИ), и обеспечивает ведение электронного журнала для таких ключей.

Архитектура решения включает следующие компоненты:

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

Функциональные возможности Indeed Certificate Manager:

Indeed Certificate Manager поддерживает ключевые носители «Рутокен», JaCarta, eToken, ESMART, а также AvestKey и ID Prime. Система работает с удостоверяющими центрами Microsoft CA и «КриптоПро», а данные о пользователях получает из Active Directory или базы УЦ.

Дополнительную информацию об Indeed Certificate Manager ищите на сайте разработчика.

JaCarta Management System

Производитель заявляет, что масштабируемость системы даёт возможность управлять жизненным циклом более чем миллиона ключевых носителей в рамках одной организации. Архитектура решения помимо серверной части, базы данных и клиента включает собственное криптохранилище для критически важных данных. Разработчики создали открытый API, который позволяет эксплуатантам и вендорам разрабатывать коннекторы для интеграции JaCarta Management System с внешними решениями и информационными системами организации. Для связи с мобильными устройствами и IoT-клиентами создатели системы предлагают отдельный модуль JaCarta Mobile Gateway.

Возможности JaCarta Management System:

Полная информация о решении JaCarta Management System доступна на сайте компании «Аладдин Р.Д.».

SafeNet Authentication Manager

Компания Thales предлагает программный комплекс для централизованного управления ключевыми носителями PKI — SafeNet Authentication Manager (SAМ). Продукт вошёл в состав продуктовой линейки компании Thales после того, как она в 2019 году приобрела компанию Gemalto. Решение предназначено для развёртывания и сопровождения USB-токенов eToken и смарт-карт IDPrime MD в масштабах крупных организаций.

SafeNet Authentication Manager увязывает между собой пользователей, их ключевые носители, приложения и ресурсы, доступ к которым нужно ограничивать, а также политику безопасности — правила и регламенты, принятые в организации.

SafeNet Authentication Manager может быть интегрирован с SafeNet Authentication Client (SAC) — программным клиентом, который включает в себя как драйверы для работы с носителями и информацией на них, так и пользовательские инструменты самостоятельного администрирования ключевых носителей.

SafeNet Authentication Manager обеспечивает:

SafeNet Authentication Manager 9.0 поддерживает разные версии операционной системы Microsoft Windows Server (включая 2016) и разные службы каталогов, в том числе Microsoft Active Directory, Active Directory Application Mode (ADAM), OpenLDAP и другие.

Больше информации о SafeNet Authentication Manager можно найти на сайте производителя.

«Рутокен KeyBox»

Отечественный производитель электронных идентификаторов и средств контроля доступа предлагает систему управления ключевыми носителями «Рутокен KeyBox», которая представляет собой ребрендинг системы Indeed Certificate Manager. Программный продукт поддерживает всю линейку ключей этого вендора, а также распространённые в России носители других компаний, включая JaCarta, eToken, Gemalto, ESMART и другие. Решение позволяет управлять всем жизненным циклом электронных ключей через связь учётных записей пользователей, средств аутентификации и регламентов безопасности.

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

Архитектура «Рутокен KeyBox» состоит из серверных компонентов, включающих:

На рабочие станции устанавливается клиентский модуль и приложение Credential Provider, предназначенное для разблокировки токена без авторизации в ОС.

В «Рутокен KeyBox» выделены четыре базовые роли: пользователь, которому доступны операции по смене PIN-кода токена, обновлению сертификата безопасности и блокировке ключа в случае утраты; оператор службы поддержки (helpdesk), который может выпускать ключи, регистрировать токены и привязывать их к определённому пользователю; администратор системы, отвечающий за разработку шаблонов сертификатов и политик PIN-кодов носителей, а также имеющий возможность настраивать подключения к УЦ и устанавливать параметры жизненного цикла ключей; аудитор, имеющий доступ только для чтения. Доступна возможность настройки других ролей.

Функциональные возможности «Рутокен KeyBox»:

Решение предназначено для сетей, построенных на базе платформы Windows. Серверная часть работает в рамках Microsoft Windows Server 2008—2012, а веб-клиент — в основных Windows-браузерах.

Всю информацию о «Рутокен KeyBox» можно найти на странице с описанием продукта на сайте производителя.

Выводы

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

Компании «Аладдин Р.Д.», «Актив», HID Global выпускают собственные ключевые носители в различных форматах, однако все решения, представленные в обзоре, поддерживают широкий набор USB-токенов, смарт-карт и виртуальных контейнеров, используемых в российской практике.

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

Источник

Обучающий онлайн портал