Контейнер эцп что это
Расшифровка ЭЦП — электронно-цифровая подпись. Это обязательный инструмент для отправки официальной отчетности в онлайн-режиме, удаленного взаимодействия с госпорталами, участия в аукционах и электронном документообороте. Порядок применения цифровой подписи регулирует ФЗ № 63 от 06.04.2011. Алгоритмы создания и проверки ЭЦП устанавливает российский стандарт ГОСТ Р 34.10-2012, вступивший в силу 1.01.2019.
В ст. 5 ФЗ-63 выделено три вида электронных идентификаторов: простая, неквалифицированная (НЭП) и квалифицированная подпись (КЭП). Простая — это связка цифровых атрибутов для идентификации личности, например, логин и пароль для входа в корпоративную почту. НЭП — это усиленная подпись, создаваемая с помощью средств криптозащиты. Ее можно получить в любом неаттестованном центре. Физические лица используют НЭП для отправки документов в ФНС. Юрлица могут организовать ЭДО внутри своей компании или с постоянными контрагентами при условии предварительной договоренности (заключения соглашения). Ранее НЭП применялась поставщиками для участия в госзакупках, но была отменена с 1 июля 2018.
КЭП — это единственная ЦП, которая придает электронному документу юридическую силу и приравнивается к собственноручной подписи. Она соответствует стандартам ФСБ, формируется на основе криптографических процессов и выдается УЦ, прошедшими аккредитацию. На этой ЭП мы остановимся подробнее. Рассмотрим, как пользоваться электронной подписью, для чего она предназначена и какие функции выполняет.
ЭЦП — что это простыми словами
Электронная подпись (ЭП, ЭЦП, ЦП, КЭП) — это эквивалент рукописной подписи, подтверждающий подлинность, целостность и неизменность цифровой формы с момента заверки.
По сути, под электронной цифровой подписью понимается не какой-то конкретный видимый глазу атрибут, а результат криптографических процессов. Пользователь видит только факт наличия подписи в файле, но не саму ЭЦП (эта информация доступна в свойствах документа). В некоторых программах при заверке документа можно подключить специальный стикер «Документ подписан электронной подписью». Графическая метка выглядит как обычный штамп с Ф. И. О. подписанта, номером и сроком действия сертификата.
Если создается открепленная подпись, то в одной папке с подписанной формой появляется отдельный файл с расширением .sig.
Чтобы понять, что такое ЭП, необходимо разобраться, как делается электронная подпись и рассмотреть все компоненты и средства, участвующие в ее создании.
Доверенный платформенный модуль (TPM)
Модули TPM сами по себе не новы, но всё чаще их используют для защиты закрытых ключей. Доверенный платформенный модуль можно использовать для хранения (или переноса) корневого ключа и защиты дополнительных ключей, созданных приложением. Ключи приложений нельзя использовать без TPM, что делает его очень полезным методом аутентификации для оконечных точек, таких как ноутбуки, серверы и производители устройств Интернета вещей. В то время как многие ноутбуки уже поставляются с TPM, пока эта технология не слишком широко используется в корпоративном секторе. Однако в мире IoT они часто применяются для безопасной индентификации устройств как аппаратный корень доверия.
При производстве генерируется пара из закрытого и открытого ключей. Открытый ключ отправляется в центр сертификации для подписания и выдачи цифрового сертификата. Закрытый ключ никогда не покидает устройство. Он хранится на чипе и не может быть экспортирован/скопирован/уничтожен. Теперь сертификат — это паспорт устройства, а защищённый закрытый ключ формирует аппаратный корень доверия.
Мы тесно сотрудничаем с Infineon для разработки решений Интернета вещей, сочетающих идентификацию устройств на основе PKI с корнями доверия на основе TPM. Для получения дополнительной информации ознакомьтесь с подтверждением концепции: «Безопасная аутентификация и управление оборудованием с помощью облачных служб сертификатов GlobalSign и OPTIGA TPM от Infineon.»
Технология физически неклонируемых функций (PUF) — это сдвиг парадигмы в защите ключей. Вместо хранения ключей (с вероятностью физической атаки) они генерируются из уникальных физических свойств статической памяти SRAM конкретного чипа и существуют только при включении питания. То есть вместо надёжного хранения закрытого ключа один и тот же ключ восстанавливается снова и снова по требованию (пока устройство не выйдет из строя). Этот ключ гарантированно уникален, потому что при генерации используется присущая неконтролируемая неупорядоченность в кремниевой структуре чипа.
Технология PUF в сочетании с доверенной средой исполнения (TEE) — привлекательное решение, если требуется недорогая, простая в интеграции и ультра-безопасная защита ключа. PUF вместе с PKI составляют исчерпывающее решение для идентификации.
Наш партнёр Intrinsic ID разработал такую систему подготовки ключа на основе SRAM PUF, которая производит уникальные, защищённые от подделки и копирования идентификаторы устройств на аппаратном уровне. Используя наши службы сертификации, мы переводим эти идентификаторы в цифровые удостоверения, добавляя возможности PKI. Таким образом, каждому устройству присваивается уникальная, защищённая от клонирования пара ключей, которая не хранится на устройстве в выключенном состоянии, но устройство способно воссоздать этот ключ по запросу. Это защищает от атаки на выключенное устройство.
Дополнительно о нашем совместном решении для идентификации
устройств Интернета вещей см. недавний вебинар: «Стойкие идентификаторы устройств с сертификатами на основе SRAM PUF».
Хранение закрытого ключа не должно быть чёрной магией. В конечном счёте, правильный вариант зависит от того, кто и для чего использует сертификаты, какие нормы приходится соблюдать, какова цена, текущее окружение и внутренние ресурсы. Надеюсь, эта статья поможет в вашем решении.
_______________________________________________________
АКЦИЯ GLOBALSIGN: Wildcard SSL + 1 ГОД В ПОДАРОК
Защитите все субдомены одним сертификатом!
Экономьте до 30 тысяч рублей при покупке сертификата Wildcard SSL на 2 года!
Промо-код: WC001HRFR
Акция действует для подписчиков блога GlobalSign до 15 июня 2018 г.
Неизвлекаемые ключи
- Генератор запроса на сертификат из комплекта Драйверов Рутокен.
- Рутокен SDK, содержащий примеры использования кроссплатформенной библиотеки rtpkcs11ecp).
Или воспользоваться программными ГОСТ-криптопровайдерами:
- СКЗИ КриптоПро CSP версии 5.0 R2и новее - при генерации ключей надо выбрать режим "Активный токен".
- СКЗИ Signal-COM CSP или VipNet CSP - на активные ключевые носители из линейки Рутокен ЭЦП 2.0 автоматически генерируются неизвлекаемые ключи.
Типичные приложения:
Как правило, все варианты использования, перечисленные для хранилищ в ОС/браузере (подпись документов и кода, аутентификация клиента, Windows IIS), поддерживают крипто-токены или смарт-карты — если есть соответствующие драйверы. Однако это не всегда практично (например, в веб-серверах или автоматизированных системах сборки для подписи кода, которые будут требовать ввод пароля каждый раз при применении подписи).
Соответствие нормативным требованиям — одна из основных причин использования криптографических токенов.
- Обязательно для подписания кода расширенной проверки (EV) в соответствии с рекомендациями форума CA/Browser.
- Рекомендуется для стандартной подписи кода в соответствии с минимальными требованиями CA Security Council. Центры сертификации обязаны рекомендовать криптографическое оборудование в качестве основного варианта выдачи сертификатов. Если криптографическое оборудование не выдаётся, клиент должен подписать соглашение, что будет хранить закрытый ключ на каком-то съёмном оборудовании (которое вынимается после подписания).
- Требуется для цифровой подписи и получения доверенного статуса в программах Adobe, в соответствии с требованиями Adobe Approved Trust List (AATL).
- Отраслевые правила, такие как CFR 21 часть 11 от FDA и требования к цифровой подписи в отдельных странах часто говорят о секретном ключе, который находится в единоличном владении собственника. Хранение на криптографическом оборудовании отвечает этим требованиям.
HSM — ещё одно аппаратное решение для хранения ключей, особенно если вы не хотите полагаться на отдельные токены либо это кажется слишком обременительным. В то время как токены больше ориентированы на ручной ввод или отдельные приложения (например, подписание небольшого количества документов или кода, аутентификация в VPN или других сетях), то HSM предоставляют API, поддерживают автоматизированные рабочие процессы и автоматизированную сборку. Они также соответствуют требованиям FIPS и обычно обеспечивают более высокий рейтинг, чем токены.
Традиционно HSM — это локальные физические устройства, требующие квалифицированных ресурсов для управления и обеспечения базовых требований и SLA. Обслуживание HSM может оказаться дорогим и ресурсоёмким процессом, что в прошлом препятствовало распространению этой технологии. К счастью, в последние годы появились облачные модули HSM, которые предоставляют многие из преимуществ локальных HSM, не нуждаясь в локальном обслуживании.
Примером может служить знакомый многим сервис Key Vault в облаке Microsoft Azure, которое хранит криптографические ключи в облачном HSM от Microsoft. Если у вас небольшая организация, которая не позволит себе покупку и управление собственным HSM, то это отличное решение, которое интегрируется с публичными центрами сертификации, включая GlobalSign.
Если вы рассматриваете вариант с подписью документов, то недавно мы запустили новую службу Digital Signing Service, где тоже используется облачное хранилище HSM для закрытых ключей. Стоит отметить, что новая служба поддерживает индивидуальные подписи всех сотрудников. В прошлом в большинстве HSM-решений для подписи поддерживались только идентификаторы на уровне отделов или организаций (например, бухгалтерия, маркетинг, финансы), а не отдельных людей (например, Джон Доу). Следовательно, для работы на уровне отдельных сотрудников организациям приходилось разворачивать инфруструктуру токенов, которая, как мы отметили выше, может оказаться обременительной. С помощью этой новой службы цифровые подписи отдельных сотрудников внедряются без необходимости самостоятельно управлять HSM (и без риска потери токенов сотрудниками).
Извлекаемые ключи
Создаются с помощью программного ГОСТ-криптопровайдера, который устанавливается в операционную систему (ОС).
Контейнеры ГОСТ-криптопровайдеров можно хранить в виде файлов на флеш-накопителях, жестком диске и реестре компьютера или на специализированном ключевом носителе, защищенном PIN-кодом.
Когда ключевые контейнеры хранятся как обычные файлы, возможности анализа, копирования или удаления никак не ограничены, а значит скопировать и удалить их может кто угодно. Поэтому безопаснее хранить ключевые контейнеры на специализированном, защищенном ключевом носителе (смарт-карте или токене), защищенном PIN-кодом. Именно этот вариант мы и будем рассматривать дальше.
Чтобы криптопровайдер (СКЗИ) смог получить доступ к содержимому защищенного ключевого носителя, нужно физически иметь в распоряжении ключевой носитель и знать PIN-код. Все операции с закрытым ключом выполняются в оперативной памяти компьютера.
Т. е. во время операций с закрытым ключом, после ввода правильного PIN-кода, закрытый ключ временно извлекается в оперативную память компьютера.
Таким образом, извлекаемые экпортируемые ключи — это ключи, которые можно скопировать на другой носитель средствами программного криптопровайдера.
А извлекаемые неэкспортируемые ключи — это ключи с запретом копирования стандартными средствами программного криптопровайдера.
Защита от копирования реализуется внутренними программными механизмами самого криптопровайдера. При этом техническая возможность скопировать контейнер (закрытый ключ) остается. При формировании или импорте контейнера на ключевой носитель может быть установлен запрет на процедуру копирования, такие контейнеры (и закрытые ключи в них) называются неэкспортируемыми. Впоследствии этот параметр ы изменить нельзя.
Типичные приложения:
- Подписание кода Windows или Java. и IRS IDES используют .pfx для безопасной связи с американскими госслужбами.
- Некоторые веб-серверы (например, Apache Tomcat или Jboss).
Как вскользь упомянуто выше, можно повысить безопасность, если хранить секретный ключ на отдельном оборудовании. Но есть большая разница между использованием криптографических токенов или смарт-карт и стандартных флэш-накопителей. С криптографическим оборудованием ключ генерируется на самом оборудовании и не экспортируется. Закрытый ключ никогда не покидает устройство, что сильно затрудняет постороннему получение доступа и компрометацию.
Примечание: если вы хотите дополнительно обезопасить закрытый ключ, который уже сгенерирован ранее (т. е. не на самом токене), то можно импортировать .pfx-файл на токен, а затем удалить оригинальный .pfx.
С токеном каждый раз при использовании сертификата нужно вводить пароль. Это значит, что даже если кто-то получит ваш токен, ему всё равно понадобится пароль. Хранение ключа в токене означает, что вы можете безопасно использовать один и тот же сертификат на нескольких компьютерах без необходимости создания нескольких копий и прохождения процесса экспорта/импорта. Криптографическое оборудование соответствует FIPS, что требуется для некоторых отраслевых и государственных регламентов.
Конечно, есть некоторые другие соображения, которые следует иметь в виду, если вы решите выбрать такой вариант. Кроме дополнительных сложностей управления токенами, такой вариант может не работать с автоматическими сборками из-за требования ввести пароль при каждом использовании сертификата. Также нет никакого способа создать резервную копию сертификата, поскольку закрытый ключ не экспортируется (недостаток дополнительной безопасности). Наконец, в некоторых сценариях такой вариант хранения просто невозможен. Например, если специализированные устройства не поддерживают токены или смарт-карты. Или в ситуациях, когда сотрудники не имеют физического доступа к компьютеру, а работают с удалённых терминалов.
Как делается электронная подпись
ЭП не генерируется сама по себе. Сначала необходимо обратиться в УЦ и получить набор средств создания идентификатора: ключевую пару, сертификат ключа проверки (СКПЭП) и аппаратный носитель (токен).
Ключи — это обезличенные наборы байт (уникальная последовательность произвольных символов). С помощью закрытого (секретного) ключа отправитель генерирует ЭП, а адресат (используя свой личный ЗК из пары) расшифровывает полученный пакет данных.
Открытый ключ (ОК) функционирует в связке с закрытым, но в отличие от него, не является секретной информацией. Чтобы передавать друг другу зашифрованные файлы, участники ЭДО обмениваются открытыми ключами. Подписант зашифровывает информацию, используя ОК, запрошенный у адресата. А адресат, в свою очередь, проверяет с помощью ОК отправителя актуальность КЭП.
Сертификат ключа проверки ЭП (СКПЭП) — это документ на бумажном или цифровом носителе, который связывает набор произвольных символов открытого ключа с личностью конкретного владельца ЭП. Иными словами, СКПЭП подтверждает тот факт, что открытый ключ принадлежит конкретному лицу.
В сертификате содержится номер, даты его выдачи и окончания срока, сведения о держателе, наименование УЦ и другая информация из ч. 2 ст. 17 ФЗ-63. Как правило, сертификат выдается на год. По истечении этого срока его необходимо продлить.
Таким образом, распространенное выражение «выдача электронной подписи» является некорректным. Обращаясь в УЦ, ЮЛ или ФЛ приобретает не ЭЦП, а средства для ее формирования и проверки, а также для зашифровки и дешифрования цифровых форм.
Средства КЭП записываются на ключевой носитель (токен), который можно приобрести в УЦ в комплекте с сертификатом. Самые популярные USB-токены в России — Рутокен, eToken и JaCarta.
При выдаче сертификата сотрудники УЦ рассказывают, как работает электронная подпись, и дают инструкции по использованию.
1. Задай вопрос нашему специалисту в конце статьи.
2. Получи подробную консультацию и полное описание нюансов!
3. Или найди уже готовый ответ в комментариях наших читателей.
Активные ключевые носители
Могут выступать в роли пассивного ключевого носителя, что снижает безопасность использования ключа ЭП. Но главное их отличие в том, что они являются самостоятельным СКЗИ, если использовать функции аппаратного криптоядра устройства -- встроенного микрокомпьютера. Ключи сгенерированные в криптоядре - неизвлекаемые и вся работа с закрытым ключом (в т. ч. формирование ЭП) будет производиться внутри носителя. Активные ключевые носители еще называют криптографическими ключевыми носителям
Пример активного носителя — Рутокен ЭЦП 2.0 2100 .
Типичные приложения:
- Приложения для цифровой подписи (например, Adobe Acrobat, Microsoft Outlook и Office будут обращаться в хранилище сертификатов Windows [пользовательское]).
- Сервер Microsoft IIS тоже ищет SSL-сертификаты в хранилище сертификатов Windows [общем для компьютера].
- Аутентификация клиента (пользователя или компьютера), в зависимости от настроек, чаще всего обращается к хранилищу сертификатов Windows.
- Подпись кода в Windows (приложения и драйверы).
Если решите сохранить файл на удалённом сервере, то следует особенно позаботиться об ограничении доступа к нему. Если кто-то получит доступ, то сможет использовать ваш сертификат. Аналогично, следует быть особенно осторожным с лёгким копированием и распространением этих файлов. Хотя это и большое удобство для вас, но одновременно и злоумышленнику будет просто сделать копию, если он получит доступ к вашему хранилищу ключей. Пароль закрытого ключа по-прежнему необходим для эффективного использования скопированного файла. Это еще одна причина, чтобы использовать надёжные пароли из 15-ти и больше символов, содержащие заглавные буквы, цифры и специальные символы. С этим вариантом хранения нужно учитывать ещё одну вещь: на конечного пользователя накладывается больше ответственности с точки зрения того, где находится файл и правильно ли он хранится.
Если вы не можете использовать криптографическое оборудование или хранилище ключей Windows (описано выше), но всё же хотите повысить безопасность (вместо того, чтобы просто разместить файл хранилища ключей на компьютере), то можно записать этот файл на флэшку, которая будет лежать в безопасном месте. Конечно, здесь теряется некоторое удобство, так что если нужно часто использовать подпись, то вы скорее захотите хранить файл локально для облегчения доступа.
КриптоПро CSP: как создать ключевой контейнер
Ключевой контейнер – это «запароленный» каталог в хранилище (реестре) или системной библиотеке «операционки» (далее – ОС) или на защищенном ключевом USB-носителе: токене, смарт-карте. Он считается одним из инструментов защиты криптографических средств генерации и верификации ЭП, лицензий, сертификатов, паролей и другой личной информации.
Криптометод организации и иерархии персональных данных предусматривает обязательное использование защищенного каталога как части комплекса гарантий сохранности и конфиденциальности сведений, необходимых для активации ЭП. Фактически, создавая новую папку для хранения СКПЭП, доступ к которой обеспечивается путем ввода пароля, пользователь формирует новое хранилище.
Помимо выполнения основных функций – генерации и верификации ЭП – КриптоПро CSP «умеет» функционировать как зависимая компонента: приложение можно вызывать из сторонних программ. Например, через веб-интерфейс сайта УЦ, в который заявитель обратился за услугой обновления СКПЭП. КриптоПро CSP бывает необходим и для того, чтобы создать ключевой контейнер и установить в него сертификат ключа проверки ЭЦП, в том числе с обращением к службе сертификации ОС Microsoft (далее – MS) Windows Server.
Испытать работу генератора ключей и ознакомиться с процедурой запроса СКПЭП можно на странице тестового удостоверяющего центра разработчика программного модуля. Ниже мы пошагово опишем этот процесс.
Чтобы получить возможность применять выданный по удаленному запросу СКПЭП при обмене данными по протоколу TLS, перейдите к разделу «Область применения ключа» и укажите его тип: «Сертификат аутентификации клиента».
Часть терминов в статье подается в упрощенном виде для простоты понимания.
Используя термин ЭП, мы подразумеваем квалифицированную электронную подпись (КЭП). Это электронная подпись, которая полностью соответствует всем требованиям 63-ФЗ и Приказу ФСБ России № 796 к средствам ЭП и хранится на персональном защищенном ключевом носителе.
Ключи ЭП — закрытый и открытый ключи, которые вместе составляют ключевую пару. Создание (генерация) ключевой пары выполняется криптографическим программным обеспечением , оно может быть установлено в точке выдачи УЦ, у вас на компьютере и в самом ключевом носителе.
Закрытый ключ никому разглашать нельзя. Если его кто-то узнал, то он может подписать любой документ от вашего имени.
Открытый ключ можно показывать всем. Его значение (это просто длинное число) заносится в сертификат ключа проверки электронной подписи (он же просто «сертификат»), который потом используется при проверке вашей подписи под документом.
Сертификат ЭП выдает Удостоверяющий Центр (УЦ). Форма сертификата КЭП соответствует требованиям Приказа ФСБ РФ № 795. Главная задача УЦ — достоверно определить, что вы – это вы. Для того, чтобы при обмене документами в электронном виде люди точно знали, что подпись, сделанная с использованием вашего сертификата — поставлена именно вами.
Ключи ЭП вместе с сертификатом составляют контейнер ЭП (ключевой контейнер).
От чего спасает цифровая подпись
Электронный документооборот успешно решает одну из ключевых проблем современного бизнеса — избавляет от длительной бумажной волокиты. Держатели СКПЭП могут отправлять отчетность в контролирующие органы и обмениваться документацией с контрагентами из любой точки, где есть доступ к интернету.
Для чего нужна ЭЦП и какие преимущества она дает:
- сокращение издержек за счет отказа от бумажных носителей;
- упрощение системы документооборота (при использовании ЭП нет необходимости лично встречаться с адресатом и передавать бумажные версии документов);
- минимизация риска потери файлов при отправке;
- гарантия достоверности и неизменности отправленной информации.
С помощью электронной подписи предприниматели имеют возможность развивать бизнес-отношения по всему миру без личного взаимодействия с контрагентами.
Владелец цифрового автографа (далее – ЭЦП, ЭП) может дистанционно запрашивать у удостоверяющего центра (далее – УЦ) сертификат ключа проверки электронной подписи (далее – СКПЭП) или его обновление. Внеплановая замена производится только при определенных обстоятельствах: требуется коррекция сведений, использованных для оформления текущего документа (сменился руководитель организации, в связи с переездом был перерегистрирован юридический адрес) или до конца периода актуальности СКПЭП остается меньше двух месяцев.
Чтобы воспользоваться данной услугой через сайт УЦ, заявителю потребуется маркер или карточка временного доступа. Это пара логин–пароль для авторизации в защищенной зоне интернет-портала центра сертификации, выдавшего своему клиенту текущий СКПЭП. Проапдейтить его можно непосредственно через веб-интерфейс УЦ. Если требуется новый сертификат, заявителю следует выбрать подходящий УЦ и сделать соответствующий запрос, воспользовавшись ссылкой типа «Мастер создания сертификатов», размещенной на официальном сайте учреждения.
Чтобы получить маркер временного доступа, пользователю нужно зарегистрировать личный кабинет и, скорее всего, понадобится заполнить электронный бланк заказа услуги. Он обязательно оформляется, если существует необходимость расширения области применения ЭП. Например, для подключения компании заявителя к процессу представления цифровой бухотчетности в ПФР, ФСС или Росстат.
Услугу удаленного создания нового или обновления текущего СКПЭП предлагают Федеральная служба по регулированию алкогольного рынка (ФСРАР), МТС-банк, УЦ Такском и другие организации. В следующих разделах мы расскажем, как с помощью КриптоПро CSP создать хранилище личного сертификата и скопировать контейнер закрытого ключа на подходящий носитель при использовании удаленных сервисов для запроса СКПЭП.
Неизвлекаемые ключи
Создаются с использованием встроенных аппаратных криптографических механизмов внутри специализированных ключевых носителей. Для генерации ключей используется криптографическое ядро внутри микроконтроллера устройства. Такие ключи ЭП хранятся не просто в защищенной памяти с доступом по PIN-коду, но и в специальном типе файлов, с которым умеет работать только криптоядро устройства. При работе с подписью все операции производятся внутри токена, и закрытый ключ никогда не копируется из памяти микроконтроллера.
У носителей, которые называются ФКН (функциональный ключевой носитель) есть возможность работать с неизвлекаемыми “ФКН-ключами”. Такие носители и криптопровайдер на компьютере, для передачи PIN-кода и другого обмена (в т.ч. данными, которые подписываются), строят защищенный канал. Для этого используется протокол SESPAKE ( протокол выработки общего ключа с аутентификацией на основе пароля). Выработка ключа -- задача устройства ФКН и криптопровайдера на ьютере компьютере, поэтому на компьютере также должна быть установлена версия КриптоПро CSP, поддерживающая SESPAKE.
Неэкспортируемый ключ ≠ неизвлекаемый ключ .
Неэкспортируемые ключи ЭП ненадолго извлекаются в оперативную память компьютера при работе с ними программного криптопровайдера. При этом копирование неизвлекаемых ключей полностью исключено.
Для доступа к ключевому контейнеру при работе с любыми защищенными ключевыми носителями обязательно требуется ввести правильный PIN-код Пользователя . PIN-код может не быть длинным и сложным – это компенсируется требованием физического владения устройством и ограничениями на перебор PIN-кода. После определенного количества неудачных попыток ввода PIN-кода доступ к содержимому токена или смарт-карты блокируется. Это защищает от случайного подбора PIN-кода. Очень важно установить уникальный PIN-код, который будет сложно подобрать.
Теперь поговорим о том, какие бывают ключевые носители.
Функциональный ключевой носитель (ФКН)
С защитой канала — это активный носитель, дополнительно имеющий реализацию протокола SESPAKE для построения защищенного канала между криптопровайдером и токеном.
Пример такого устройства — Рутокен ЭЦП 2.0 3000 , который также поддерживает активный и пассивный режимы.
1) Криптографические возможности активных и ФКН-носителей ≠ встроенный КриптоПро CSP. Если требуется работа с КриптоПро CSP, нужно приобрести лицензию на этот продукт. Вне зависимости от вида ключевого носителя и формата ключей ЭП на нем.
2) Конвертация ключей из одного формата в другой невозможна. Если ключи были созданы извлекаемыми, то их нельзя перевести в формат неизвлекаемых ключей и наоборот.
Рассмотрим с помощью каких средств криптографической защиты информации (СКЗИ) можно генерировать и использовать разные форматы ключей, на примере устройств Рутокен:
Извлекаемые ключи
- СКЗИ КриптоПро CSP версии 4.0 и новее . При генерации нужно выбрать "режим CSP". Ключи будут созданы в защищённой памяти любой из моделей Рутокен.
- При использовании СКЗИ VipNet CSP или Signal-COM CSP , режим выбирать не надо: извлекаемые ключи будут созданы на пассивных ключевых носителях.
Типичные приложения:
- Подпись документов или кода в большом количестве.
- SSL (в зависимости от конфигурации сервера).
- Инфраструктура ЦС для работы собственного ЦС (корневого ЦС, подчинённого ЦС, сервера меток времени RFC 3161) в офлайне или онлайне (корневой ЦС, как правило, работает в офлайне).
Мы рассмотрели основные варианты, которые использовались в течение многих лет. Но кажется, что ничто в мире информационной безопасности, в том числе и хранение ключей, не застраховано от влияния IoT, так что разрабатываются новые варианты.
По мере того как все больше и больше устройств подключаются к сети с необходимостью аутентификации и безопасного обмена данными, многие разработчики и производители обращаются к решениям на основе PKI. В свою очередь, это приводит к новым соображениям, требованиям и технологиям защиты закрытых ключей. Ниже приведены две тенденции, которые мы видим в этой области.
Пассивные ключевые носители
Выступают в роли защищенного хранилища для извлекаемых ключей. То есть программный криптопровайдер генерирует ключи, записывает их в защищенную PIN-кодом память устройства и впоследствии работает с ними. Пример такого носителя – Рутокен Lite .
ФКН-ключи
Для того, чтобы сгенерировать ключи ФКН с защитой канала нужно использовать модели семейства Рутокен ЭЦП 2.0 3000 - именно эти модели имеют поддержку протокола SESPAKE. Важно так же, что для работы и генерации ключей в таком формате подойдет версия КриптоПро CSP 5.0 и новее .
Немного о сертификации ключевых носителей.
Для того, чтобы электронная подпись юридически считалась квалифицированной, средство криптографической защиты информации (СКЗИ), с помощью которого производится генерация ключей и последующая работа с ключами ЭП, должно быть сертифицировано в ФСБ России.
Чтобы проще было запомнить:
- ФСТЭК России сертифицирует средство защиты информации (устройство).
- ФСБ России сертифицирует средство криптографической защиты информации (СКЗИ).
Таким образом, в случае с извлекаемыми ключами , сгенерированными с помощью программного СКЗИ, в ФСБ России должен быть сертифицирован именно программный ГОСТ-криптопровайдер. А пассивный носитель Рутокен должен быть сертифицирован во ФСТЭК России.
В случае с неизвлекаемыми ключами на активном или ФКН-носителе, так как при генерации ключей используется аппаратная криптография, сертифицированным в ФСБ России должен сам носитель.
Для надежной защиты ключей ЭП от копирования и перехвата мы рекомендуем использовать активные носители с возможностью генерации неизвлекаемых ключей на "борту", такие как Рутокен ЭЦП 2.0 2100 . Так ваша электронная подпись будет максимально защищена.
Продолжая раскрывать тайное знание о цифровой подписи простым языком, разберем, что же нам надо для удобной и эффективной работы с ними, а также главное различие между лагерями S/MIME + X.509 и PGP.
Перед тем, как рассматривать особенности этих двух больших лагерей, стоит рассмотреть, какая информация нужна получателю для проверки подписи (а наш зашифрованный хэш уже вполне можно называть подписью), и в каком виде ее можно ему передать.
Каждую из частей информации можно передать вместе с открытым ключом, или вместе с нашей подписью, а можно и с тем и с тем, для большего удобства. Конечно, можно не разделять информацию на передаваемую с открытым ключом и передаваемую с подписью. Но тогда каждый раз отправляя подписанную информацию мы отправляем одно и то же. Как если бы к каждому отправляемому нами бумажному письму (даже короткому, в две строки), мы бы прикладывали дополнение вида «Здравствуйте! Это я, В. Пупкин, которого вы встречали на Красной площади Москвы, где мы и познакомились, потом пошли в ресторан, потом <. >». Согласитесь, слегка неудобно.
Но вернемся к нашей информации, необходимой для проверки подписи.
Начнем с простого: информация, которая позволит нам узнать, кто же сделал эту подпись. Как мы уже договорились, ассиметричное шифрование позволяет однозначно связать наш открытый ключ и полученную подпись. Беда в том, что сам по себе открытый ключ – набор байт. При этом он, конечно, связан с закрытым, которым мы (то есть отправитель) владеем, но связь эта для получателя неочевидна. У него есть набор байт от В. Пупкина, от И. Петрова, от С. Сидорова… И от десятка других людей. И как ему их идентифицировать? Держать отдельный реестр для того, кому какой набор байт принадлежит? Это что же, получается уже второй реестр (помимо того, где должно быть записано, с помощью какой хэш-функции какой хэш сделан)! И опять, неудобно!
Значит, надо связать каждый открытый ключ с информацией о том, кому этот ключ принадлежит, и присылать это все одним пакетом. Тогда проблема реестра решается сама собой – пакет (а если более правильно, контейнер) с открытым ключом можно будет просто посмотреть и сразу понять его принадлежность.
Но эту информацию все так же надо связать с подписью, пришедшей получателю. Как это сделать? Надо соорудить еще один контейнер, на сей раз для передачи подписи, и в нем продублировать информацию о том, кто эту подпись создавал.
Продолжая нашу аналогию с красивым замком, мы пишем на ключе «Этот ключ открывает замок В. Пупкина». А на замке тоже пишем «Замок В. Пупкина». Имея такую информацию, получатель нашей коробочки не будет каждый из имеющихся у него ключей вставлять наугад в наш замок, а возьмет наш ключ и сразу его откроет.
Теперь, по переданной информации при проверке можно найти контейнер открытого ключа, взять оттуда ключ, расшифровать хэш и…
А собственно, что «и»? Мы ведь пока так и не решили проблему, как донести до получателя информацию о том, какая хэш-функция применялась для хэша, а ведь для проверки подписи эта информация необходима! Решить ее можно достаточно просто: положить эту информацию в контейнер вместе с нашим открытым ключом. Ведь именно связка «хэширование – шифрование результата хеширования» считается процедурой создания цифровой подписи, а ее результат – подписью. А значит, достаточно логичным представляется объединение в связку алгоритма шифрования хэша и хэш-функции, с помощью которой он сформирован. И доставлять эту информацию тоже надо в связке.
Теперь, ненадолго вернемся к информации о подписывающем. Какого рода эта информация должна быть? ФИО? Нет, В. Пупкиных много. ФИО + год рождения? Так и родившихся в один день В. Пупкиных тоже предостаточно! Более того, это может быть Василий, Виктор, или даже Василиса или Виктория Пупкины. Значит, информации должно быть больше. Ее должно быть столько, чтобы совпадение всех параметров, по которым мы идентифицируем человека, было максимально невероятным.
Безусловно, такой пакет информации создать возможно. Вот только, работать с ним уже трудновато. Ведь надо наши контейнеры открытых ключей надо сортировать, хранить, использовать, в конце концов. А если для каждого использования придется указывать по полсотни параметров, то уже на втором контейнере станет понятно, что что-то надо менять. Решение этой проблемы, конечно же, было найдено.
Чтобы понять, в чем же оно заключалось, обратимся к бумажному документу, который есть у всех нас: к паспорту. В нем можно найти и ФИО, и дату рождения, и пол, и много другой информации. Но, главное, в нем можно найти серию и номер. И именно серия и номер являются той уникальной информацией, которую удобно учитывать и сортировать. Кроме того, они существенно короче всей оставшейся информации вместе взятой, и при этом все так же позволяют опознать человека.
Применяя этот же подход к контейнерам открытых ключей, мы получим, что у каждого контейнера должен быть некий номер, последовательность символов, уникальная для него. Эту последовательность символов принято называть идентификатором, а сами контейнеры – сертификатами, либо просто ключами.
Вот здесь и начинаются принципиальные различия в идеологиях OpenPGP и S/MIME + X.509. Для краткого понимания их, вернемся к нашей аналогии с паспортом.
Паспорт вы можете использовать при покупках билетов, при оформлении документов, для выдачи пропуска на какую-либо территорию и даже на территории других стран! То есть, вы используете его для идентификации вашей личности в самых различных, зачастую абсолютно не связанных друг с другом, местах, с самыми различными людьми. И везде ваш паспорт принимают. Гарантом того, что вы – это вы выступает третья сторона в ваших взаимоотношениях с другими: государство. Именно оно выдало вам ваш паспорт, специально оформленный, подписанный и заверенный, и именно поэтому ваш паспорт является таким универсальным документом.
С другой стороны, в кругу друзей, или внутри компании вам достаточно представиться так: «В. Пупкин из твоей группы в институте» или же «В. Пупкин из отдела продаж». И людям, с которыми вы контактируете в этом кругу уже не нужна третья сторона, они и так помнят Пупкина из группы с которым проучились пять лет, или Пупкина из отдела продаж, с которым недавно ходили обедать, и предоставленной вами информации им вполне достаточно.
Так же можно разделить и эти два лагеря.
Сертификат X.509 – это аналог нашего паспорта. Здесь сертификаты вам выдаются суровой третьей стороной, гарантом вашей личности: Удостоверяющим Центром (УЦ). Получающий ваши подписи человек всегда может обратиться в УЦ и спросить интересующую его информацию по вот этому конкретному сертификату.
PGP же (и стандарт OpenPGP, появившийся в дальнейшем) создавался на основе так называемых сетей доверия. Такая идея подразумевает, что обмениваются подписями люди, которым третья сторона для их взаимоотношений не нужна, а нужна только защита от нехороших лиц.
Конечно, с течением времени такое разделение стало уже достаточно условным, так как на данный момент и в S/MIME+X.509 и в PGP можно использовать методы лагеря соперников. Но все же, стандарты достаточно продолжительное время развивались параллельно и развились до той степени, что взаимная совместимость между ними стала невозможной.
Более популярным стандартном, в силу своей ориентированности на участие более компетентной третьей стороны, стал стандарт S/MIME + X.509, однако и у PGP есть некоторое количество козырей за пазухой, с помощью которых он не только не погибает, но и продолжает успешно развиваться.
Более подробное рассмотрение каждого из форматов, а также рекомендации, когда, где и какой из них использовать вы сможете прочитать уже в следующих статьях.
Каждый раз при выдаче цифрового сертификата от центра сертификации (ЦС) или самоподписанного сертификата нужно сгенерировать пару из закрытого и открытого ключей. Согласно лучшим практикам, ваши секретные ключи должны быть защищены и быть, ну… секретными! Если кто-то их получит, то сможет, в зависимости от типа сертификата, создавать фишинговые сайты с сертификатом вашей организации в адресной строке, аутентифицироваться в корпоративных сетях, выдавая себя за вас, подписывать приложения или документы от вашего лица или читать ваши зашифрованные электронные письма.
Во многих случаях секретные ключи — личные удостоверения ваших сотрудников (и, следовательно, часть персональных данных организации), так что их защита приравнивается к защите отпечатков пальцев при использовании биометрических учётных данных. Вы же не позволите хакеру добыть отпечаток своего пальца? То же самое и с секретными ключами.
В этой статье мы обсудим варианты защиты и хранения закрытых ключей. Как вы увидите, эти варианты могут незначительно отличаться в зависимости от типа сертификата(ов) и от того, как вы его используете (например, рекомендации для сертификатов SSL/TLS отличаются от рекомендаций для сертификатов конечных пользователей).
Примеры: хранилище сертификатов Windows, связка ключей Mac OS
В некоторых операционных системах и браузерах есть хранилища сертификатов или ключей. Это программные базы данных, которые локально на вашем компьютере хранят пару из закрытого и открытого ключей как часть сертификата. Такое хранение ключей довольно популярно: многие приложения автоматически сразу ищут ключи здесь, и не нужно вручную каждый раз указывать файл сертификата, так что это довольно удобный вариант.
Ещё один плюс такого варианта — его довольно легко настраивать. Вы можете включить/отключить экспорт закрытого ключа, включить для него надёжную защиту (ввод пароля при каждом использовании сертификата), и можно создать резервные копии, если закрытый ключ экспортируется. Кроме того, при включении роуминга профилей в Windows сертификат привязывается к профилю и становится доступным при входе на другой компьютер с этим профилем.
Если решите выбрать такой вариант, то следует учесть несколько аспектов. Во-первых, даже если пометить закрытый ключ как неэкспортируемый, некоторые утилиты могут обойти эту защиту (то есть невозможность экспорта не гарантирована). Кроме того, если кто-то работал под вашей учётной записью, а вы не включили сильную защиту закрытого ключа (пароль при использовании сертификата), то они могут использовать ваш сертификат. Наконец, если ваш закрытый ключ помечен как экспортируемый, то кто-нибудь за вашим компьютером сможет экспортировать его. Даже если у вас включена защита секретного ключа, при экспорте пароль не спрашивается.
И последнее: Chrome и IE используют хранилище сертификатов Windows, в то время как у Firefox собственное хранилище сертификатов (от Mozilla). Это значит, что если вы импортируете сертификат в хранилище Windows, то Chrome и IE автоматически найдут его, а Firefox нет.
Какие операции позволяет выполнять электронно-цифровая подпись
Прежде чем разбираться, для чего нужна электронная подпись, рассмотрим ее основные функции. Для каждого файла с помощью секретного ключа, размещенного на токене, генерируется уникальная ЦП. Сертификат электронно-цифровой подписи позволяет проверить ЭП на достоверность и актуальность. Успешно пройденная проверка служит гарантией того, что подпись была сформирована именно для этого файла, и с момента заверки текст не менялся и не дополнялся. Авторство можно уточнить в сведениях, указанных в сертификате.
Зашифровка документа предотвращает компрометацию данных. Владелец сертификата зашифровывает заверенный файл посредством открытого ключа, который запрашивается у адресата. Отправленный документ сможет расшифровать только держатель сертификата, с помощью которого была закодирована информация. Этот сертификат должен быть загружен на ПК адресата, в противном случае открыть файл не получится.
Для чего нужна электронная подпись
Информация, заверенная квалифицированной ЭП, признается юридически значимой и принимается во всех официальных инстанциях с ЭДО:
- площадки для электронных торгов: 44-ФЗ (госзаказы), 223-ФЗ — реализация имущества банкротов, коммерческие торги в секторе B2B;
- арбитражные суды (дистанционная подача заявлений, жалоб и апелляций);
- информационные госпорталы: ЕГАИС, Госуслуги, ФАС, ЕАИС ФСТ, Роскомнадзор и др.;
- государственные органы, принимающие отчетность в режиме онлайн: ФНС, ФСС, ПФР;
корпоративный ЭДО; - отраслевой документооборот (медицина, ЖКХ, банковский сектор и др.).
Использование электронной подписи распространено и в частной жизни, например, для ведения ЭДО с работодателем, регистрации сделок с недвижимостью на сайте Росреестра, отправки заявлений в Роспатент, оформления онлайн-кредитов, отправки документов на поступление в ВУЗ и др.
Владельцам кассовых аппаратов цифровая подпись нужна для удаленной постановки ККТ на учет в ФНС, а также для заключения договора с ОФД.
Читайте также: