Хранение электронных документов: способы, требования, сроки и решения

Хранение электронных документов: способы, требования, сроки и решения Электронная цифровая подпись

Как хранить эцп? – цс

Как правильно хранить ЭЦП?

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

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

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

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

Хранение электронных документов: способы, требования, сроки и решения

Как правильно хранить ЭЦП?

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

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

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

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

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

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

Хранение электронных документов: способы, требования, сроки и решения

Нарушитель в системе – пиши пропало!

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

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

Во-первых, это сама машина пользователя. Примером такого злоумышленника может служить шпионская программа (RAT – Remote Access Tool). В этом случае он может перехватывать параметры вызовов функций, данные, которыми обмениваются приложения и т.п. В этом случае ни о какой безопасности вообще не может идти и речи – говоря о ключевых носителях, злоумышленник просто перехватит пароль, введенный пользователем, а далее может делать что угодно.

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

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

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

Немного теории

Электронная подпись типа CAdES

CMS Advanced Electronic Signatures (CAdES) — это стандарт ЭП, представляющий собой расширенную версию стандарта Cryptographic Message Syntax (CMS). Главным документом, описывающим данный стандарт, является ETSI TS 101 733 «Electronic Signature and Infrastructure (ESI); CMS Advanced Electronic Signature (CAdES)».

CAdES стал развитием CMS, в котором были исправлены такие основные недостатки предшественника, как отсутствие штампа доверенного времени создания ЭП, отсутствие типа содержимого ЭП и отсутствие возможности долгосрочного сохранения свойств юридической значимости ЭП.

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

Форматы стандарта CAdES

1. CAdES-BES (Basic Electronic Signature) — основной и простейший формат стандарта, обеспечивает базовую проверку подлинности данных и защиту их целостности. Он содержит следующие атрибуты:

  • подписываемые данные пользователя (ЭД отправителя);
  • набор обязательных подписываемых атрибутов (атрибуты называются подписанными, если генерация ЭП происходит от совокупности этих атрибутов и данных пользователя);
  • значение ЭП, вычисленное для данных пользователя и подписываемых атрибутов;
  • набор дополнительных атрибутов;
  • набор необязательных подписываемых атрибутов.

2. CAdES-EPES (Explicit Policy-based Electronic Signature) — это формат, содержащий в себе явное указание на выбранный регламент ЭП. В CAdES-EPES добавляется подписываемый атрибут signature-policy-identifier, который определяет идентификатор выбранного регламента ЭП. Подписывая этот идентификатор, отправитель явно указывает, что он применил определенный регламент при её создании. Соответственно, получатель должен осуществить проверку ЭП по тому же регламенту.

3. CAdES-T (Timestamp) — это формат ЭП типа CAdES, в который добавлено поле для фиксации доверенного времени.

4. В CAdES-C (Complete) содержится полный наборо проверочных данных. Она отличается от CAdES-T добавлением неподписываемых атрибутов complete-certificate-references и complete-revocation-references.

Первый атрибут содержит идентификаторы всех сертификатов, используемых при проверке ЭП. Второй атрибут содержит идентификаторы сертификатов из списка отозванных сертификатов (Certificate Revocation Lists, CRL, СОС) и/или ответы, полученные по протоколу проверки актуального статуса сертификатов (Online Certificate Status Protocol, OCSP).

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

5. CAdES-X (Extended) — это формат ЭП типа CAdES, включающий в себя следующие подформаты, включаемые в тип CadES-C:

  • CAdES-X Long — формат долгосрочной расширенной ЭП, который добавляет атрибуты certificate-values и revocation-values. Они представляют собой полные данные сертификатов и СОС, необходимых для проверки подписи CAdES-C даже если их исходный источник недоступен и исключает возможность утери этой информации.
  • CAdES-X Type 1 — добавляет атрибут time-stamp, который содержит штамп времени на всей подписи CAdES-C. Это обеспечивает целостность и наличие доверенного времени во всех элементах ЭП. Тем самым, этот атрибут позволяет защитить сертификаты, СОС и ответы, полученные по протоколу OCSP, информация о которых записана в ЭП (актуален при компрометации ключа центра сертификации, ключа издателя СОС или ключа сервиса OCSP).
  • CAdES-X Type 2 — добавляет в CAdES-C штамп времени, но не на всю ЭП, а только на полные ссылки на сертификаты и СОС.
Читайте также:  Зарегистрировать ООО или ИП — СберБанк

6. CAdES-X Long Type 1 — этот формат ЭП представляет собой объединение формата CAdES-X Long и CAdES-X Type 1

7. CAdES-X Long Type 2 — этот формат ЭП представляет собой объединение формата CAdES-X Long и CAdES-X Type 2.

8. CAdES-A (Archival) — это формат ЭП типа CAdES, сформированный на основе CAdES-X Long Type 1 или Type 2 путём добавления одного или нескольких атрибутов archive-time-stamp, представляющих собой архивные штампы времени (Рисунок 1). Именно этот формат ЭП используется для архивации долгосрочных ЭП и обеспечения ДАХ при условии возможной проверки юридической значимости хранимого ЭД на длительном временном промежутке (так называемая «интероперабельность во времени»).

Архивная форма ЭП CAdES-A состоит из следующих элементов:

  • полный набор проверочных данных (CAdES-С);
  • значения сертификатов и СОС (CAdES-X Type 1 или CAdES-X Type 2), если они используются;
  • подписанные данные пользователя и дополнительный архивный штамп времени, примененный ко всем данным.

Рисунок 1 – Схема формирования ЭП в формате CAdES-A

Вопросы организации ДАХ связаны не только с ограниченным сроком действительности пользовательского сертификата, установленным российским законодательством в 1 год 3 месяца, но и модификациями криптографических алгоритмов, что в свою очередь обусловлено ухудшением свойства их стойкости в связи с развитием методов криптоанализа и вычислительной отрасли.

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

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

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

Представим все, что было описано выше, в более наглядном табличном виде:

Сравнительный анализ форматов ЭП типа CAdES

Электронная подпись типа XAdES

XML Advanced Electronic Signatures (XAdES) — это стандарт ЭП, представляющий собой расширенную версию стандарта XML Digital Signature (XMLDSig). Главным документом, описывающим данный стандарт, является ETSI EN 319 132-1 «Electronic Signature and Infrastructure (ESI); XAdES digital signatures».

Аналогично ЭП типа CAdES, для ЭП типа XAdES определено несколько форматов, каждый из которых включает в себя предыдущий (в соответствии с представленной ниже последовательностью) и расширяет его:

Подробно отличия каждого последующего в списке формата от предыдущего расписывать не будем, поскольку оно в точности повторяет описание для CAdES, предполагая «обогащение» подписанной структуры аналогичными полями и атрибутами. Основные отличия сведем сразу в табличную форму:

Сравнительный анализ форматов ЭП типа XAdES

Новые возможности продуктов litoria по обеспечению дах

Программный комплекс (ПК) «Litoria Desktop 2» — разработка компании «Газинформсервис», которая предоставляет пользователю возможность полного отказа от бумажного документооборота и перехода к электронному юридически значимому и конфиденциальному взаимодействию.

Формирование и проверка УЭП в формате CAdES-A уже доступны пользователям программного комплекса, начиная с релиза 2.2.3. Таким же форматом ЭП заверяет квитанции, а также выполняет их проверку ПК Службы доверенной третьей стороны «Litoria DVCS» в релизе 5.2.2.

Рассмотрим, процесс формирования архивных УЭП на базе данных продуктов.

1. С помощью «Litoria Desktop 2» сформируем УЭП на электронный документ, который будем передавать в «СДТС «Litoria DVCS» для формирования квитанции:

Рисунок 1 – Формирование УЭП с помощью ПК «Litoria Desktop 2»

Подробную информацию о сформированной УЭП можно посмотреть через вкладку «Проверка и извлечение». Мы видим, что сертификат подписанта действителен по 20 октября 2021 года (рисунок 2), а сертификат сервера TSP, который собственно добавил в подпись штамп времени и сделал ее усовершенствованной (Рисунок 3), — до 22 декабря 2032 года.

Рисунок 2 – Отображение информации об ЭП в интерфейсе ПК «Litoria Desktop 2» (сертификат пользователя)
Рисунок 3 –Отображение информации об ЭП в интерфейсе ПК «Litoria Desktop 2» (сертификат сервера TSP)

В свою очередь действительность УЭП, которой заверен ЭД, определяется сроком действительности сертификата сервера штампов времени. Но здесь стоит обратить Ваше внимание, что для статьи мы использовали тестовый неаккредитованный УЦ и тестовый TSP, для которых были выпущены неквалифицированные сертификаты.

А что же нам делать, когда документ должен храниться более 15 лет? Как раз тут вступает в игру архивный формат ЭП, проставляемой на квитанции (с помощью ПК «СДТС «Litoria DVCS»).

2. Зайдем в личный кабинет пользователя ПК «СДТС «Litoria DVCS» и отправим подписанный ЭД для формирования квитанции о проверке (Рисунки 4, 5).

Рисунок 4 – Формирование квитанции на ЭД в ПК «СДТС «Litoria DVCS»
Рисунок 5 – Детальная информация по квитанции в ПК «СДТС «Litoria DVCS»

Проверка ЭД выполнена, квитанция сформирована. Теперь комплекс в автоматизированном режиме будет выполнять анализ действительности каждой из хранимых квитанций, которая определяется сроком действия сертификата сервиса штампов времени, и по наступлении события окончания его действия, квитанции будут перевыпускаться, т.е. формируется цепочка юридически значимых документов «исходный ЭД – квитанция 1 – квитанция 2 — …. – квитанция n»

Съемные носители и безопасное хранение ключей

21 января 2021

Съемные носители и безопасное хранение ключей

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

Основное внимание уделим съемным ключевым носителям (токенам и смарт-картам) — безопасному и широко распространенному решению для хранения ключевой информации.

Рассмотрим вначале основные принципы работы ключевых носителей.

Что такое ключевой носитель?

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

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

  • Генерация ключа из некоторого запоминаемого секрета. Поскольку длины ключей современных криптографических систем, как правило, составляют не менее 256 бит (64 произвольных шестнадцатиразрядных символа (0-9, A-F)), то запомнить их практически не представляется возможным. Иногда можно использовать более простую для запоминания человеком форму (пароль), из которой определенным образом выводится требуемый криптографический ключ. Однако, к сожалению, число паролей, которые человек в состоянии запомнить, настолько мало, что множество потенциально используемых в таком случае ключей серьезно сокращается. Так, например, существует всего около 218 триллионов паролей длины 8, состоящих из больших и малых латинских букв и 10 цифр. Битовая длина секрета, определяющего построенный из такого пароля ключ, не превосходит 48 бит — это вполне доступно для перебора на современных вычислительных машинах.
  • Хранение ключа на флэшке в файле, который защищен паролем. Этот вариант плох тем, что злоумышленник, укравший у пользователя эту флэшку или скопировавший файл с ключом, сможет подобрать пароль, что называется, неинтерактивно — то есть, без взаимодействия с носителем. В этом случае злоумышленника ничто не ограничивает ни во времени, ни в тех средствах, которые он может использовать для подбора паролей. В итоге, вскрытие ключа — лишь вопрос времени.
  • Локальное хранение ключа на машине пользователя (например, в реестре). Минусом подобного подхода является невозможность постоянного контроля ключа со стороны пользователя. Поскольку пользователь несет за ключ персональную ответственность, то постоянный контроль над ключом является непременным требованием документации любого средства криптозащиты. Указанный метод лишает ключ еще одного важного свойства — мобильности.
  • Хранение ключа в облаке. Если вкратце, это решение предполагает хранение пользовательского ключа на некотором удаленном защищенном сервисе. При этом для того, чтобы им воспользоваться пользователь должен пройти достаточно строгую (как минимум, двухфакторную) процедуру аутентификации.
Читайте также:  Простая электронная подпись: что это такое, как получить

Оставляя за скобками тему хранения ключа в облаке, рассмотрим способ, который будет свободен от всех указанных выше недостатков. Что если защитить паролем не файл, находящийся на некотором аппаратном модуле (флэшке), а весь модуль — то есть, предоставлять доступ к данным лишь в том случае, если введен верный пароль самого устройства, а не пароль на отдельный файл? Если же неверный пароль введен, например, более 10 раз, устройство может вообще блокироваться и требовать специальный ключ восстановления. В таком случае злоумышленник не сможет перебирать пароль бесконтрольно — единственным критерием правильности опробуемого пароля является ответ носителя на его запрос к нему, а значит, есть всего 10 попыток. В таком случае даже пароль из 6 символов выглядит для злоумышленника непреодолимым препятствием — вероятность угадать его за 10 попыток исчезающе мала (она не превышает одной миллиардной — злоумышленник быстрее добьется того, что подкинутая им 30 раз монета 30 раз упадет орлом вверх).

Устройства, в основе которых лежит описанный выше принцип, и называются съемными ключевыми носителями. Они существуют в двух наиболее расространенных форм-факторах: USB-токен, который внешне ничем не отличается от обычной флэшки, и смарт-карта, частным случаем которой являются привычные банковские карты. Они обладают всеми преимуществами флэшек (возможность контроля за ключом и повышенная мобильность) и лишены их недостатков в силу широких архитектурных возможностей систем защиты.

Стоит, конечно, отметить, что для токенов возможно проведение так называемых атак с проникновением (агрессивные атаки, invasive attack), при которых злоумышленник получает доступ к данным токена путем прямого и зачастую разрушительного воздействия. Однако для этого злоумышленнику необходимо иметь достаточно глубокие знания о технических особенностях используемого устройства, а также иметь возможность использования высокотехнологичного оборудования, такого как лазер или рентген. За эту сторону защищенности ключевых носителей отвечают исключительно производители соответствующей аппаратуры. В данной заметке мы будем исходить из предположения, что злоумышленник не располагает возможностями для проведения подобных атак. Подробное же рассмотрение этого вопроса, вообще говоря, является темой отдельного обзора.

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

Рассмотрим основные типы ключевых носителей, их возможности, преимущества и недостатки.

Пассивное хранилище и автономный вычислитель

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

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

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

Хранение электронных документов: способы, требования, сроки и решения

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

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

Хранение электронных документов: способы, требования, сроки и решения

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

Как, где, когда их можно использовать?

Нарушитель в системе — пиши пропало!

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

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

Во-первых, это сама машина пользователя. Примером такого злоумышленника может служить шпионская программа (RAT — Remote Access Tool). В этом случае он может перехватывать параметры вызовов функций, данные, которыми обмениваются приложения и т.п. В этом случае ни о какой безопасности вообще не может идти и речи — говоря о ключевых носителях, злоумышленник просто перехватит пароль, введенный пользователем, а далее может делать что угодно. Причем он может достичь своих целей для любого из рассмотренных типов носителей — он же знает пароль! В связи с этим, непременным требованием по эксплуатации всех типов ключевых носителей является отсутствие злоумышленника в системе, где работает пользовательское приложение. Выполнение этого требования может достигаться как организационными, так и иными мерами защиты информации.

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

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

Что, если нарушитель в канале?

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

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

Читайте также:  Как установить сертификат ЭЦП на компьютер?

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

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

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

Функциональный ключевой носитель — защищенность от противника в канале

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

В настоящее время разрабатывается усовершенствованный протокол взаимодействия между пользовательским приложением и токеном для линейки продуктов ФКН CSP 4.0. Он основан на протоколе семейства EKE — протоколе аутентифицированной выработки общего ключа под защитой пароля. Использование этого протокола позволяет математически строго обеспечить такой же уровень защищенности от противника в канале, что и от противника, имеющего физический доступ к носителю, защита от которого, напомним, обеспечивается на аппаратном уровне. Таким образом, злоумышленник, имеющий возможность читать и подменять сообщения в канале, не сможет ни узнать пароль, ни даже получить возможность перебирать пароли неинтерактивно, то есть без контроля со стороны токена. Это свойство удается обеспечить за счет того, что пароль используется лишь для защиты передаваемых по каналу компонент вырабатываемого общего ключа — эфемерных открытых ключей протокола Диффи-Хеллмана. Таким образом, для того, чтобы получить критерий для подбора пароля без взаимодействия с токеном, нужно восстановить хотя бы одну из этих компонент, что является известной трудной задачей — вычислительной задачей Диффи-Хеллмана (CDH). После установления соединения взаимодействие с носителем производится по каналу защищенного обмена сообщениями (ЗОС или Secure Messaging), в котором весь обмен данными происходит в зашифрованном виде.

Хранение электронных документов: способы, требования, сроки и решения

Универсальная электронная карта

Существуют также более простой подход к защите канала между пользовательской системой и картой. Он заключается в установлении ЗОС с помощью классического протокола Диффи-Хеллмана. Подобный подход применяется для работы Универсальной электронной карты (УЭК).

К сожалению, несмотря на кажущуюся простоту и эффективность, существует один ключевой недостаток. Протокол Диффи-Хеллмана сам по себе не защищен от атаки человека посередине (man-in-the-middle, MITM). То есть, злоумышленник, контролирующий канал связи между пользовательской системой и картой, может имитировать их работу друг для друга. Так система будет думать, что установила защищенный канал с картой, а карта решит, что работает с пользователем, однако они будут взаимодействовать с нарушителем, который будет получать данные и пароли в расшифрованном виде.

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

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

Пароль украден. Это конец?

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

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

Итого

Итак, подведем итоги.

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

Существуют три основных вида токенов, обладающих разными свойствами по отношению к противнику, контролирующему канал связи токен-машина:

  • Пассивное хранилище: противник может получить ключ пользователя.
  • Активный токен: противник не получает ключ, но получает возможность использовать его для своих целей (например, для подписи произвольных данных).
  • ФКН: противник не может реализовать какую-либо существенную угрозу.

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

Авторы:

Смышляев С.В.,

к.ф.-м.н., начальник отдела защиты информации ООО «КРИПТО-ПРО»

Алексеев Е.К.,

к.ф.-м.н., инженер-аналитик 1 категории ООО «КРИПТО-ПРО»

Агафьин С.С.,

инженер-программист 1 категории ООО «КРИПТО-ПРО»

Прохоров А.С.,

инженер-аналитик 2 категории ООО «КРИПТО-ПРО»

Источник: ООО “КРИПТО-ПРО”

Итого

Итак, подведем итоги.

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

Существуют три основных вида токенов, обладающих разными свойствами по отношению к противнику, контролирующему канал связи токен-машина:

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

На данный момент компанией «КРИПТО-ПРО» совместно с ведущими производителями ключевых носителей разработаны следующие продукты:

Первые три продукта работают с носителями по защищенной технологии ФКН, последний разработан для взаимодействия с картами УЭК. 

Использование же пассивных устройств является классической схемой для криптопровайдера КриптоПро CSP (3.6, 3.6.1, 3.9, 4.0). Он работает c широким спектром производителей токенов и смарт-карт, в частности:

Смышляев С.В., к.ф.-м.н.,

начальник отдела защиты информации

ООО “КРИПТО-ПРО”

Алексеев Е.К., к.ф.-м.н.,

инженер-аналитик 1 категории

ООО “КРИПТО-ПРО”

Агафьин С.С.,

инженер-программист 1 категории

ООО “КРИПТО-ПРО”

Прохоров А.С.,

инженер-аналитик 2 категории

ООО “КРИПТО-ПРО”

Оцените статью
ЭЦП Эксперт
Добавить комментарий