ЭЦП: мифы, заблуждения, факты

Конечно, это не очень совпадает с прошлой тематикой моего блога, но видимо настало время немножечко покопаться в законах, терминах и определениях. Наша основная задача сегодня попробовать простым языком объяснить фундаментальные термины и понятия мира криптографии. Не факт, но вполне возможно, что статья может быть полезной в будущем для быстрого и безболезненного погружения в отраслевую специфику.
Начнем! Криптография наука чрезвычайно сложная. Но математики, которые живут в этой профессии недаром профессионалы: они сделали все, чтобы эта "темная сторона Луны" была максимально простой и удобной в практическом использовании.
Частично следующий текст базируется на моих наработках в этой области ещё в 1989-1992 годах, когда будучи программистом на полставки в управлении электросвязи Хабаровского края. Тогда я писал систему шифрования денежных переводов: тематика была интересная, но алгоритмы были слабенькие. Это я так, чтобы пытливый читатель понимал, что я слегка в теме, лет эдак 20-25. :)

Теперь о грустном, вернее о самом важном. В основе криптографии лежит простой и понятный принцип: для передачи информации её нужно зашифровать так, чтобы были выполнены три простых условия:
1. Защита от прочтения в пути.
2. Целостность информации.
3. Неотрекаемость.

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

Мы не будем рассматривать систему с симметричными ключами шифрования, она не подходит по ряду технических ограничений. Сразу начнем говорить про системы с ассиметричными ключами шифрования. Идеология систем шифрования базируется на алгоритме Диффи-Хелмана. Там достаточно простые формулы, для нас же важен только тот факт что есть два ключа: закрытый, секретный ключ. И открытый ключ, который может быть доступен любому пользователю. Вся суть алгоритмов сводиться к тому, что вычислить закрытый секретный ключ на основе открытого публичного ключа невозможно. Или можно, за очень длительный период времени, с применением массы компьютеров. Хотя... Ферма из NVidia Tesla в несколько тысяч штук может многое, наверное? Или облачный массив... Сам ключ это просто уникальная последовательность нулей и единиц, длинной 1 килобайт или больше. С развитием технологий размер ключа (количество нулей и единиц) будет только расти. Т.е. электронная подпись не является факсимиле в виде картинки на экране компьютера. Это действительно последовательность нулей и единиц. Когда говорят длина ключа 56 байт, 128 байт, 1 килобайт это означает сколько нулей и единиц в ЭЦП. :)

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

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

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

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

В России сформулированы в рамках 63-ФЗ и других приказов и распоряжений (например Приказ 50н Минфина) несколько весьма важных вещей:
1. Все УЦ разделяются на аккредитованные и не аккредитованные. Аккредитованные УЦ прошли процедуру кросс-сертификации с главным российским корневым УЦ Минкомсвязи.
2. Аккредитованные УЦ, принадлежащие компаниям - операторам электронного документооборота должны так же входить в сеть доверенных УЦ ФНС. Это требование кажется надуманным на первый взгляд, но это не так. В случае запроса со стороны контролирующих органов электронных документов, заверенных ЭЦП, эти документы должны быть переданы через сертифицированного и аккредитованного оператора электронного документооборота. Только в этом случае такие документы, заверенные ЭЦП аккредитованного УЦ, будут иметь юридическую значимость. Юридический статус любого документа, в том числе бумажног, возникает лишь тогда, когда на нем есть подписи, печати или ЭЦП двух сторон.

Нужно отметить, что программное обеспечение для работы с криптографией встроено во многие операционные системы, как настольные, так и серверные. Ключевым в России является специальный класс программ, которые называются криптопровайдерами: средство криптографической защиты информации (СКЗИ). Это программы, которые имеют заключение о корректности встраивания СКЗИ в операционную систем компьютера либо конкретное приложение 8 центра ФСБ России. Самое важное, что они выполняют криптографические функции в точном соответствии с ГОСТ-34.2001. Не американские, европейские, а именно наши, российские алгоритмы шифрования. Официально использование зарубежных криптографических средств на территории России запрещено. Можно использовать только российский софт, с российскими алгоритмами. За нарушение следует уголовное наказание. Системный администратор, запустивший УЦ на Windows Server без российского криптографического софта... Ну, Вы поняли? :) Основная функция российского СКЗИ - перехватывать вызовы из приложений криптографических функций и выполнять их по российскому 34-му ГОСТ-у. Наиюолее массовый и популярный в России СКЗИ-провайдер КриптоПро. Дешевизна победила рынок!


Комментариев нет

Технологии Blogger.