Назначение защищенного носителя для хранения ЭЦП и его преимущества | Новости Бухгалтер 911

Назначение защищенного носителя для хранения ЭЦП и его преимущества | Новости Бухгалтер 911 Электронная цифровая подпись

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Защищенный носитель

Как обеспечить безопасность электронной подписи

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

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

  1. Нельзя передавать ЭП другим людям. Бухгалтер, заместитель и другие сотрудники не должны иметь доступа к закрытому ключу подписи, потому что могут подписать документ самовольно. Тогда доказать, что подпись поставил не владелец, а постороннее лицо, будет почти невозможно.

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

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

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

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

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

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

  1. Если у вас пропала подпись, то ее можно и нужно сразу же отозвать — тогда злоумышленники не смогут ей воспользоваться. 

  2. Проверить, что никто не выпустил на ваше имя электронную подпись, можно на портале Госуслуг — в личном кабинете в разделе «Настройки и безопасность» найдите вкладку «Электронная подпись». Госуслуги покажут, какие подписи были выпущены на вас, когда и каким удостоверяющим центром. Если увидите электронную подпись, которую не получали, обратитесь в техподдержку портала и в УЦ, который указан в этой подписи. УЦ по вашему заявлению отзовет сертификат подписи, и тогда ей больше никто не сможет воспользоваться. 

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

Получите подпись в УЦ Контура — это надежно и безопасно. Мы работаем на рынке больше 17 лет и выдаем сертификаты подписей, соблюдая все меры безопасности, имеем аккредитацию Минкомсвязи и необходимые лицензии ФСБ России.

Читайте также:  Не определяет ключ эцп

Получить электронную подпись

Как проверить подлинность подписи

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

Проверить подлинность электронной подписи можно через специальные сервисы.

Сервис КриптоПро

Cервис для проверки подлинности электронной подписи
Можно проверить достоверность самого сертификата подписи или подписанного документа

Контур.Крипто

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

Сайт госуслуг

Cервис для проверки электронной подписи через загрузку сертификата
Для проверки подписи нужно загрузить файл сертификата и ввести код с картинки

Как работает квалифицированная электронная подпись

Технически КЭП — сгенерированный файл с уникальной последовательностью цифр, который прикрепляется к документу.

Электронная подпись состоит из трех компонентов:

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

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

Открытый ключ содержит публичную информацию. По нему получатель документа может проверить подлинность подписи и целостность документа.

Для работы с подписью нужна специальная программа — СКЗИ, средство криптографической защиты информации. Она шифрует и дешифрует электронные документы. Есть разные СКЗИ: КриптоПро CSP, Signal-COM CSP, ЛИССИ-CSP, VipNet CSP. Когда пойдете получать подпись, в удостоверяющем центре расскажут, какую программу нужно будет использовать.

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

  1. Вы подписываете документ в системе. С помощью СКЗИ для договора создается хэш-сумма — уникальная последовательность цифр, которая генерируется на основе содержания документа.
  2. Хэш-сумма шифруется с помощью закрытого ключа. Это и есть уникальная подпись договора.
  3. Вы отправляете зашифрованный документ партнеру через систему ЭДО. Этот документ передается вместе с подписью и данными сертификата, где указан открытый ключ.
  4. Партнер получает документ. С помощью открытого ключа он расшифровывает документ. СКЗИ на стороне получателя тоже вычисляет хэш-сумму и сравнивает ее с той, которую вы зашифровали при подписании документа.

Если эти две последовательности чисел совпадают, подпись верна, договор подписан и имеет юридическую силу. Если не совпадают, значит, документ меняли после подписания: подпись признается недействительной, а договор не имеет юридической силы.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В настоящее время нашей компанией разрабатывается усовершенствованный протокол взаимодействия между пользовательским приложением и токеном для линейки продуктов ФКН CSP 4.0. Он основан на протоколе семейства EKE – протоколе аутентифицированной выработки общего ключа под защитой пароля.

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

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

Таким образом, для того, чтобы получить критерий для подбора пароля без взаимодействия с токеном, нужно восстановить хотя бы одну из этих компонент, что является известной трудной задачей – вычислительной задачей Диффи-Хеллмана (CDH). После установления соединения взаимодействие с носителем производится по каналу защищенного обмена сообщениями (ЗОС или Secure Messaging), в котором весь обмен данными происходит в зашифрованном виде.

Итого

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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