Безопасность зашифрованных данных обеспечивается не только сильными алгоритмами шифрования. Несоблюдение принципов использования ключей шифрования может поставить под угрозу защищенность информации даже при том, что в системе будут реализованы самые криптостойкие алгоритмы.
Предположим, есть два пользователя (назовем их I и J), решивших обмениваться зашифрованными сообщениями через Интернет. Посмотрим, как можно это сделать, на примере комплексного метода шифрования.
Комплексный метод
Этот метод применения алгоритмов симметричного и асимметричного шифрования устраняет ряд недостатков, свойственных каждому из них при раздельном применении. Итак, чтобы обменяться зашифрованными сообщениями через Интернет, пользователям I и J необходимо предварительно сделать следующее.
1. Выбрать алгоритмы шифрования и их параметры. Вспомним (см. статью "Современные алгоритмы шифрования", "BYTE/Россия" No 8'2003), что каждый алгоритм имеет множество параметров, которые должны быть идентичны, - иначе даже при наличии правильного ключа шифрования будет невозможно расшифровать информацию. Например, для алгоритма ГОСТ 28147-89 должны быть согласованы таблицы замен, используемый режим алгоритма и принципы формирования синхропосылок.
2. Сгенерировать свои ключи асимметричного шифрования. Пользователь I генерирует пару ключей KsI (secret - секретный) и KpI (publIc - открытый) , пользователь J создает пару KsJ и KpJ.
3. Обменяться открытыми ключами или сделать их доступными друг другу. Предположим, что открытые ключи KpI и KpJ пользователи пересылают друг другу по электронной почте.
Не будем рассматривать здесь проблему перехвата открытых ключей при передаче и их подмены злоумышленником - это тема отдельного разговора. Предположим, ключи успешно переданы и получены, после чего можно отправлять зашифрованное сообщение. Это и делает пользователь J, отправляя пользователю I сообщение M.
Процесс обмена иллюстрирует рис. 1. Перед передачей сообщения пользователь J создает случайный ключ симметричного шифрования (назовем его Ksimm). Пользователь J асимметрично зашифровывает ключ Ksimm на открытом ключе пользователя I KpI и отправляет зашифрованный ключ пользователю I. Затем пользователь J зашифровывает ключом Ksimm сообщение M, и полученный шифртекст C отсылается пользователю I. Пользователь I получает зашифрованный ключ Ksimm и асимметрично расшифровывает его своим секретным ключом KsI. С помощью полученного ключа Ksimm пользователь I расшифровывает сообщение M.
Рис. 1. Комплексный метод шифрования.
Как было отмечено выше, недостатки алгоритмов симметричного и асимметричного шифрования при их совместном использовании частично компенсируются. В частности, скрытое распространение ключей симметричного шифрования достигается за счет того, что симметричный ключ Ksimm, на котором шифруется собственно информация, передается по открытым каналам связи в зашифрованном виде - для его зашифрования используется асимметричный алгоритм, не имеющий проблем с секретностью. Проблемы малой скорости асимметричного шифрования в данном случае практически не возникает, поскольку асимметричным алгоритмом шифруется только короткий ключ Ksimm, а все данные шифруются быстрым симметричным алгоритмом. Результат - быстрое шифрование в сочетании с удобным обменом ключами.
Ключевые схемы
Манипуляции с зашифрованием ключа Ksimm и его передачей вместе с сообщением являют собой пример ключевой схемы (так называются схемы использования ключей шифрования) . В общем случае для разработки какой-либо системы, позволяющей шифровать файлы или сообщения, недостаточно просто реализовать алгоритм шифрования. Необходимо также продумать принципы генерации, передачи, хранения и использования ключей шифрования: так как недостаточная защита ключей на любом из этих этапов или неправильное их применение поставит под угрозу всю зашифрованную информацию. Ведь любая "слабость" этапов шифрования даст возможность злоумышленнику атаковать систему защиты с тем, чтобы полу
Другие языки программирования и технологии
кто может объяснить принцип шифрования ключей к играм и способы их вскрытия
Александр Сураев
http://www.bytemag.ru/articles/detail.php?ID=9037 далее
Я в информатике не спец, но в играх самый действенный обход ключей это патч и noncd!
Вам надо изучить криптографию. Если духу хватит.
Похожие вопросы
- С++ Можете объяснить принцип работы данного кода?
- шифрование методом цезаря на с++ turbo. шифрование методом цезаря на с++
- Для чего нужен указатель this и каков его принцип работы? Объясните пожалуйста самым простым языком, как 2+2.
- можно ли сдать анивирусную программу в магазин после вскрытия упаковки?
- Как взломать wi-fi где применяется WPA2 шифрование?
- На каком языке пишутся алгоритмы шифрования данных ??
- Самый муторный и надежный метод криптографического шифрования
- Шифрование с бесконечным числом вариантов
- объясните пожалуйста, по какому принципу работает Паскаль, на более простом и понятном языке?!
- Привет, вот учу Adobe After Effects и при каждом входе требует ключ.