Что такое СКЗИ и для чего нужны средства криптографической защиты
Подробно разбираем, как работают электронная подпись, хеш-функции, асимметричное шифрование и другие средства защиты данных.
Иллюстрация: Катя Павловская для Skillbox Media
В конце девяностых — начале нулевых в научно-популярном журнале «Наука и жизнь» публиковали логические задачки с двумя детективами: инспектором Боргом и сержантом Глумом.
В одной из них инспектор хотел отправить сержанту посылку, но почтальоны всё время воровали содержимое. Борг нашёл выход: сначала он послал коробку, запертую на большой амбарный замок, а на следующий день — бандероль с ключом от него. В итоге Глум получил свой подарок в целости и сохранности.
По схожему принципу работает и криптографическое шифрование данных. Даже если злоумышленники перехватят защищённую информацию, «вскрыть» её будет нелегко — придётся ломать «амбарный замок». Чтобы его навесить, и нужны СКЗИ.
Из этой статьи вы узнаете:
- Для чего нужны СКЗИ
- Как устроена электронная подпись
- Виды СКЗИ
- Классы криптографической защиты информации
- Резюмируем
Что такое СКЗИ и как они работают
СКЗИ (средства криптографической защиты информации) — это программы и устройства, которые шифруют и дешифруют информацию и проверяют, вносились ли в неё изменения. СКЗИ используют для безопасного хранения и передачи данных. С их помощью также создают электронные подписи.
Чтобы защитить информацию, её шифруют одним из криптографических алгоритмов. Например, сравнительно простым шифром Цезаря. В нём каждая буква исходного сообщения заменяется на другую. На какую — зависит от ключа и расположения буквы в алфавите.
Например, если ключ равен трём, то все буквы в сообщении сдвигаются на три позиции вправо: А превращается в Г, Б — в Д, В — в Е, Я — в В.
Если таким образом зашифровать сообщение «Средство криптографической защиты информации», получится следующее: «Фузжфхес нултхсёугчлъзфнсм кгьлхю лрчсупгщлл».
Проблема подобных шифров в том, что их можно взломать простым перебором ключей. Поэтому сегодня для защиты информации применяют куда более изощрённые математические алгоритмы, обратить которые трудно даже с помощью суперкомпьютеров.
Например, протокол RSA в качестве одной из операций перемножает большие простые числа. Сделать это несложно, а вот для факторизации (то есть разложения на множители) удобной формулы не придумали. Затем в протоколе проводятся и другие операции: применяются функция Эйлера и возведение в степень по модулю.
Методы криптографической защиты информации
Есть несколько подходов к шифрованию данных. Оно может быть:
- симметричным;
- асимметричным;
- гибридным;
- с использованием хеш-функции.
Симметричное шифрование
При симметричной криптографии для шифрования и расшифровки используется один и тот же секретный ключ. Шифр Цезаря, о котором мы говорили раньше, как раз симметричный.
Этот метод прост и удобен, но имеет крупную уязвимость: и у отправителя, и у получателя — один и тот же ключ. Если злоумышленники его узнают (например, перехватят при передаче), то смогут без труда получить доступ к информации.
Поэтому симметричную криптографию редко применяют для отправки сообщений. Обычно таким образом шифруют данные в состоянии покоя.
Асимметричное шифрование
При асимметричной криптографии данные шифруются одним ключом и расшифровываются другим. Причём ключ для шифрования обычно открытый, а для дешифровки — закрытый.
Открытый ключ можно передать кому угодно, а закрытый оставляют у себя и никому не сообщают. Теперь зашифровать сообщение сможет любой, у кого есть открытый ключ, а расшифровать — только владелец секретного.
Такой подход гораздо безопаснее симметричного, но его алгоритмы сложнее, требуют больше ресурсов компьютера и, следовательно, занимают больше времени.
Гибридное шифрование
Гибридное шифрование — компромисс между двумя предыдущими подходами. В этом случае сообщение шифруется симметрично, а ключ к нему — асимметрично. Получателю нужно сначала расшифровать симметричный ключ, а потом с его помощью — само сообщение.
Так алгоритмы работают быстрее, чем при асимметричном подходе, а узнать ключ от сообщения сложнее, чем в симметричном.
Подробнее о симметричном, асимметричном и гибридном шифровании можно прочитать в нашей статье.
Хеш-функции
Хеш-функции отличаются от других методов криптографической защиты тем, что они необратимы: преобразованные ими данные нельзя расшифровать. Они выдают строку заранее определённого фиксированного размера (например, 256 бит), которую называют хешем, хеш-суммой или хеш-кодом.
В идеальной хеш-функции, если ей захешировать одно и то же сообщение несколько раз, результат тоже будет получаться одинаковый. Но если исходное сообщение изменить хоть немного, то хеш выйдет совершенно другой.
С помощью хеш-функций проверяют, вносились ли в данные изменения, — это полезно в электронных подписях (о них мы расскажем ниже).
Многие сервисы хранят пароли пользователей не в открытом виде, а в хешированном. Когда пользователь при авторизации вводит пароль, тот хешируется и сравнивается с хешем из базы данных. Если хеши одинаковые, значит, пароль верный.
Это даёт дополнительную защиту. Даже если кто-то получит доступ к базе данных сервиса, то увидит просто список хешей, по которым никак не сможет восстановить исходные пароли пользователей.
Для чего нужны СКЗИ
Основная задача СКЗИ — шифровать и расшифровывать данные. Это делают как для информации, которую куда-то отправляют (при передаче она наиболее уязвима: её можно перехватить), так и для той, которая просто хранится на одном устройстве.
Если кто-то перехватит информацию или получит доступ к устройству, ломать криптографический протокол будет просто нерационально. Например, в 2019 году французские учёные взломали 795-битный ключ RSA, потратив 4000 лет компьютерного времени — это последний рекорд. При этом в современной криптографии используют ключи с длиной от 2048 бит.
Помимо шифрования и дешифрования данных, СКЗИ могут управлять электронной подписью (ЭП). Раньше её ещё называли электронной цифровой подписью (ЭЦП), но сейчас этот термин устарел.
Как устроена электронная подпись
Электронная подпись — это дополнение к пересылаемому документу, созданное криптографическими методами. Она позволяет подтвердить авторство сообщения и проверить данные на целостность: не вносились ли в них изменения после того, как поставили подпись.
Так как реальные документы могут быть большого объёма, обычно ЭП применяют не к ним самим, а к их хешу. Это ускоряет работу с подписью. Также протоколы шифрования могут не уметь работать с некоторыми видами документов — хеширование же преобразует все данные в один тип. Это решает проблему совместимости.
Чтобы поставить ЭП, используют асимметричный метод шифрования, но наоборот: сообщение шифруют закрытым ключом, а дешифруют — открытым. В общем виде электронная подпись ставится так:
Сертификат электронной подписи (его ещё называют сертификатом открытого ключа) хранит данные об отправителе и всю информацию, которая нужна для проверки авторства и подлинности документа. Работает это по следующей схеме:
Если после применения ЭП документ был хоть немного изменён, то при проверке хеши не совпадут. Если же они одинаковые, можно быть уверенным: данные добрались до получателя в целости и сохранности.
Человек, который поставил свою ЭП, потом не сможет отрицать это. Дело в том, что доступ к закрытому ключу есть только у него, а значит, никто другой подписать документ не мог.
Виды СКЗИ
Современные СКЗИ бывают программные и программно-аппаратные (часто их называют просто аппаратными).
Программные СКЗИ устанавливаются на устройство отдельно и работают в оперативной памяти компьютера. Их можно скачать и удалить, как любое другое приложение. Чаще всего они распространяются по лицензии с ограниченным сроком действия.
Программно-аппаратные СКЗИ вшиты в специальное устройство (обычно токен). Все операции происходят на этом устройстве и скрыты от оперативной памяти компьютера, к которому он подключён. Такой вид СКЗИ считается более безопасным, чем программный.
Классы криптографической защиты информации
Главная задача СКЗИ — уберечь данные от возможного взлома, поэтому в них встраивают защиту. В зависимости от её уровня присваивется класс защиты. Каждый последующий класс включает в себя все предыдущие.
- КС1. СКЗИ защищает от атак, которые совершаются из-за пределов информационной системы. Считается, что информацию о ней злоумышленники могут получить только из общего доступа.
- КС2. СКЗИ защищает от атак, которые запускают изнутри информационной системы. Для этого у злоумышленников должны быть данные о том, как устроена криптографическая защита информации в системе, на которую они нападают.
- КС3. СКЗИ защищает от атак злоумышленников, у которых есть доступ к средствам защиты.
- КВ. СКЗИ защищает от атак злоумышленников, которые обладают полной информацией об СКЗИ и его известных уязвимостях.
- КА. Самый высокий класс защиты. СКЗИ применяется для противодействия злоумышленникам, когда они знают о таких возможностях СКЗИ и информационной системы, которые даже не задекларированы.
Резюмируем
Вот что нужно запомнить:
- СКЗИ (средства криптографической защиты информации) — это программы и устройства, которые позволяют шифровать и дешифровать данные, а также управлять электронной подписью.
- В криптографии есть два основных метода: симметричный и асимметричный. В первом случае для шифрования и дешифровки используется один и тот же ключ, во втором — разные. Часто их объединяют в гибридный метод, чтобы использовать скорость симметричного и надёжность асимметричного.
- Также в криптографии применяют хеш-функции, которые безвозвратно зашифровывают данные в уникальную последовательность символов. Сравнив хеш двух документов, можно узнать, есть ли между ними разница.
- ЭП (электронная подпись) позволяет определить отправителя данных и узнать, вносились ли в них изменения после того, как ЭП поставили.
- СКЗИ бывают программные, которые скачиваются на устройство, и программно-аппаратные, которые вшиты в устройство.
- СКЗИ делятся по классам защиты. Чем выше класс, тем от более сложных атак они могут защитить информационную систему.
Больше интересного про код — в нашем телеграм-канале. Подписывайтесь!