Термин шифрование определяется как
Назначение и структура алгоритмов шифрования
Шифрование является основным методом защиты; рассмотрим его подробно далее.
Можно представить зашифрование в виде следующей формулы:
В стандарте ГОСТ 28147-89 (стандарт определяет отечественный алгоритм симметричного шифрования) понятие ключ определено следующим образом: «Конкретное секретное состояние некоторых параметров алгоритма криптографического преобразования, обеспечивающее выбор одного преобразования из совокупности всевозможных для данного алгоритма преобразований».
Ключ может принадлежать определенному пользователю или группе пользователей и являться для них уникальным. Зашифрованная с использованием конкретного ключа информация может быть расшифрована только с использованием только этого же ключа или ключа, связанного с ним определенным соотношением.
Аналогичным образом можно представить и расшифрование:
При отсутствии верного ключа k2 получить исходное сообщение M’ = M с помощью правильной функции D невозможно. Под словом «невозможно» в данном случае обычно понимается невозможность вычисления за реальное время при существующих вычислительных ресурсах.
В алгоритмах симметричного шифрования для расшифрования обычно используется тот же самый ключ, что и для зашифрования, или ключ, связанный с ним каким-либо простым соотношением. Последнее встречается существенно реже, особенно в современных алгоритмах шифрования. Такой ключ (общий для зашифрования и расшифрования) обычно называется просто ключом шифрования.
В асимметричном шифровании ключ зашифрования k1 легко вычисляется из ключа k2 таким образом, что обратное вычисление невозможно. Например, соотношение ключей может быть таким:
Такое соотношение ключей используется и в алгоритмах электронной подписи.
Основной характеристикой алгоритма шифрования является криптостойкость, которая определяет его стойкость к раскрытию методами криптоанализа. Обычно эта характеристика определяется интервалом времени, необходимым для раскрытия шифра.
Рассмотрим, как выглядят изнутри алгоритмы блочного симметричного шифрования.Структура алгоритмов шифрования
Существует и более сложная структура сети Фейстеля, пример которой приведен на рис. 3.
В отличие от сети Фейстеля, SP-сети обрабатывают за один раунд целиком шифруемый блок. Обработка данных сводится, в основном, к заменам (когда, например, фрагмент входного значения заменяется другим фрагментом в соответствии с таблицей замен, которая может зависеть от значения ключа Ki) и перестановкам, зависящим от ключа Ki (упрощенная схема показана на рис. 4).
Впрочем, такие операции характерны и для других видов алгоритмов шифрования, поэтому, на мой взгляд, название «подстановочно-перестановочная сеть» является достаточно условным.
Для структуры «квадрат» характерно представление шифруемого блока данных в виде двумерного байтового массива. Криптографические преобразования могут выполняться над отдельными байтами массива, а также над его строками или столбцами.
На рис. 5 приведен пример операции над блоком данных, выполняемой алгоритмом Rijndael.
Алгоритмы с нестандартной структурой, то есть те алгоритмы, которые невозможно причислить ни к одному из перечисленных типов. Ясно, что изобретательность может быть безгранична, поэтому классифицировать все возможные варианты алгоритмов шифрования представляется сложным. В качестве примера алгоритма с нестандартной структурой можно привести уникальный по своей структуре алгоритм FROG, в каждом раунде которого по достаточно сложным правилам выполняется модификация двух байт шифруемых данных (см. рис. 6).
Современное шифрование изнутри: каким образом происходит, где используется, насколько безопасно
«Шифрование» — термин, с которым сталкивались многие пользователи, однако далеко не каждый из них знает, что же означает это слово на самом деле. Если вкратце, шифрование — это кодирование информации. Этот процесс используется в различных онлайн-сервисах для обеспечения конфиденциальности и безопасности данных: от текстовых сообщений и электронных писем до банковских реквизитов и облачных файлов. Шифрование различается по типам и принципам работы.
Введение в шифрование
Шифрование — это не изобретение цифровой эпохи. Любители истории знают, что криптография возникла ещё в Древнем Египте. В те времена секретные сообщения зашифровывались с помощью перестановки символов. Знаменитый шифр Цезаря, например, заменял одну букву на другую, смещённую на некоторое фиксированное количество позиций в алфавите. Сегодня основной принцип остаётся прежним. Цифровое шифрование принимает читаемый (открытый) текст и кодирует его. Однако теперь используются алгоритмы шифрования, которые намного сложнее и мощнее, чем их предок с одноалфавитной подстановкой.
Усовершенствовать процесс шифрования помогли переменные, также известные как ключи. Они генерируются случайным образом и являются уникальными. Некоторые системы даже создают новые ключи для каждого сеанса, что дополнительно защищает персональные данные пользователей. Например, если злоумышленник захочет украсть информацию о кредитной карте, то ему нужно будет выяснить не только, какой алгоритм использовался для шифрования данных, но ещё и какой ключ был сформирован. Это — далеко не простая задача, так как шифрование устойчиво к подобным атакам. Вот почему этот процесс — один из лучших способов защитить конфиденциальные данные в интернете.
Типы шифрования
Различаются симметричный и ассиметричный типы шифрования. Они отличаются числом ключей, которые используются для данного процесса.
Симметричный. Это — алгоритм, при котором для шифрования и дешифрования используется один и тот же ключ. При этом важно учесть, что ключ должен быть установлен на обоих устройствах до начала обмена данными.
Асимметричный. Такое шифрование предпочитает двухключевой подход. Открытый ключ используется для шифрования, а закрытый — для дешифрования. При этом стоит отметить, что последний доступен только личному устройству пользователя, а потому не стоит переживать по поводу сохранности первого — никто не сможет получить доступ к личной информации без закрытого ключа.
Алгоритмы шифрования
AES (Advanced Encryption Standard). Один из самых безопасных алгоритмов симметричного шифрования, который существует сегодня. Он использует шифр размером блока 128 бит и длиной ключа 128, 192 и 256 бит. Алгоритм AES используют многие организации, включая правительство США.
Triple DES. Ещё один симметричный алгоритм шифрования. Когда исходный стандарт шифрования данных DES стал уязвим для атак, его заменили на Triple DES, название которого происходит от использования трёх 56-битных ключей. Однако в последние годы этот алгоритм вышел из моды, так как появились более безопасные варианты, такие как AES.
Blowfish. Очередной симметричный алгоритм шифрования, который был изобретён экспертом по безопасности Брюсом Шнайером (Bruce Schneier). Как и Triple DES, он появился на замену устаревшему DES. Это — блочный шифр с симметричным ключом, который входит в число самых безопасных алгоритмов. Более того, он является общественным достоянием и может свободно использоваться кем угодно.
Twofish. Симметричный алгоритм шифрования, который использует ключи длиной до 256 бит. Данное изобретение также было создано Брюсом Шнайером. По сути, Twofish — это продвинутый вариант Blowfish. Он не только быстрый и безопасный, но ещё и находится в открытом доступе, как и его предшественник.
RSA. Алгоритм асимметричного шифрования, который является одним из старейших и наиболее широко используемых стандартов для шифрования данных в интернете. Этот алгоритм не отличается скоростью, но считается очень безопасным.
Сферы применения шифрования
E2EE. Так называют сквозное шифрование. Этот способ передачи данных гарантирует, что доступ к исходному тексту сообщения имеется только у отправителя и получателя. То есть, даже интернет-провайдеры или другие поставщики услуг не смогут расшифровать пользовательскую информацию. E2EE идеально подходит для тех, кто заботится о конфиденциальности и безопасности. Говорить о полной безопасности при использовании сквозного шифрования нельзя, но её уровень достаточно велик.
Ряд популярных служб обмена сообщениями и клиентов электронной почты, таких как Signal, WhatsApp и Proton Mail, используют E2EE.
HTTPS. Протокол защищённой передачи данных. Он используется в интернете и часто обозначается замком в углу адресной строки браузера. Этот протокол обеспечивает безопасную связь с помощью шифрования TLS (Transport Layer Security) или SSL (Secure Sockets Layer).
HTTPS аутентифицирует соединение, запрашивая сертификат цифрового или открытого ключа, который должен быть подписан доверенным третьим лицом. Однако, в отличие от сквозного шифрования, этот протокол обычно защищает личную информацию во время её передачи. Это означает, что HTTPS — менее конфиденциальный, но он по-прежнему обязателен для всех, кто хочет защитить свои онлайн-данные.
Чтобы убедиться, что все сайты, которые вы посещаете, используют HTTPS, нужно установить расширение HTTPS Everywhere. Оно доступно для всех основных браузеров, таких как Chrome, Firefox, Opera и даже Firefox для Android.
Облачное шифрование. Облачное хранилище — одно из самых распространённых мест для хранения фотографий, видеоматериалов и документов. А потому эта служба нуждается в шифровании для защиты конфиденциальных файлов. Многие поставщики облачных хранилищ предлагают ту или иную его форму.
В данном случае выделяют три типа данных: в состоянии покоя, в пути и в использовании. Названия этих форм говорят сами за себя. То есть, первый тип — это информация, которая хранится и в настоящее время не используются. Второй тип — это информация в движении, которая активно передаётся из одного места в другое. Третий тип — информация, обрабатываемая в данный момент.
Однако будет ли зашифрована эта информация или нет, зависит только от облачного сервиса, который используется. Некоторые из них предлагают шифрование как данных в состоянии покоя, так и данных в пути. Остальные — кодируют только ту информацию, которую считают конфиденциальной. К сожалению, немногие облачные сервисы предлагают сквозное шифрование.
Тем не менее популярные службы предоставляют шифрование TSL/SSL для передаваемых данных и некоторую форму шифрования для данных в состоянии покоя. Dropbox, например, предлагает Boxcryptor — инструмент для сквозного шифрования, который может локально преобразить файлы, прежде чем они будут загружены в облако.
Шифрование диска. Инструмент защиты данных, который шифрует содержимое жёсткого диска. Новый уровень безопасности.
Есть несколько способов шифрования диска: с помощью программного или аппаратного обеспечения. В последнем случае используется диск с самошифрованием. Он автоматически шифрует и дешифрует данные, что делает его одним из самых простых способов обезопасить личные файлы. К тому же на рынке представлен большой ассортимент самошифруемых дисков. Единственный минус — высокая стоимость.
Шифрование диска с помощью программного обеспечения — более доступный способ. Этот процесс происходит в режиме реального времени — на лету. Это означает, что данные шифруются и дешифруются по мере загрузки и сохранения. Этот способ может привести к снижению производительности, но он просто необходим для тех, кто ставит безопасность на первое место. Программное обеспечение, такое как BitLocker, например, использует алгоритм шифрования AES со 128- или 256-битными ключами, что делает его идеальным инструментом для защиты конфиденциальной информации.
Почему шифрование настолько важно
Конфиденциальность. Шифрование является важным инструментом для тех, кто хочет сохранить личные данные только для себя и предполагаемых получателей. Ведь некоторые разговоры, фотографии, видеофайлы и документы лучше скрывать от посторонних глаз.
Безопасность. В период пандемии многие пользователи были вынуждены вводить конфиденциальную информацию в удалённом режиме. Речь про подачу налоговых документов или же покупки в онлайн-магазинах. Шифрование убережёт данные кредитной карты или личную информацию от кражи.
Конечно, шифрование не может защитить на 100%. У него есть недостатки и ограничения. Но без него пользователи гораздо больше подвержены слежке и сбору данных.
Вопросы и ответы
Насколько безопасно шифрование?
Шифрование делает работу в сети более приватной и безопасной, однако оно не обеспечивает максимальную защиту. Уровень безопасности зависит от типа используемого шифрования, но даже в самых продвинутых системах есть недостатки. Шифрование не может уберечь пользователей от всех онлайн-угроз, ведь к краже личных данных могут привести даже слабые пароли и утечка информации.
Можно ли взломать зашифрованные данные?
Да, декодирование зашифрованных данных возможно. Однако расшифровка требует много времени и ресурсов. Зашифрованные данные обычно взламывают с помощью украденных ключей.
Можно ли снова зашифровать зашифрованные данные?
Да, существует множественное шифрование. Для этого можно использовать одинаковые или разные алгоритмы. Однако этот способ не очень распространён, так как большинство современных шифров и так очень трудно взломать.
Какой самый высокий уровень шифрования?
256-битный AES считается самым надёжным стандартом шифрования. С 2001 года его использует правительство США и многие американские компании.
Какие приложения для обмена сообщениями используют сквозное шифрование?
Signal, WhatsApp и iMessage по умолчанию используют сквозное шифрование. Другие популярные сервисы для общения, такие как Telegram, также предлагают этот тип шифрования, но только в секретных чатах.
Статья написана на основе материала Android Authority.
Шифрование
Шифрова́ние — преобразование информации в целях сокрытия от неавторизованных лиц, с предоставлением, в это же время, авторизованным пользователям доступа к ней. Главным образом, шифрование служит задаче соблюдения конфиденциальности передаваемой информации. Важной особенностью любого алгоритма шифрования является использование ключа, который утверждает выбор конкретного преобразования из совокупности возможных для данного алгоритма. [1] [2]
Пользователи являются авторизованными, если они обладают определенным аутентичным ключом. Вся сложность и, собственно, задача шифрования состоит в том, как именно реализован этот процесс. [1]
В целом, шифрование состоит из двух составляющих — зашифрование и расшифрование.
С помощью шифрования обеспечиваются три состояния безопасности информации: [1]
Для того чтобы прочитать зашифрованную информацию, принимающей стороне необходимы ключ и дешифратор(устройство реализующее алгоритм расшифровывания). Идея шифрования состоит в том, что злоумышленник, перехватив зашифрованные данные и не имея к ним ключа, не может ни прочитать, ни изменить передаваемую информацию. Кроме того, в современных криптосистемах(с открытым ключом) для шифрования, расшифрования данных могут использоваться разные ключи. Однако, с развитием криптоанализа, появились методики позволяющие дешифровать закрытый текст не имея ключа, они основаны на математическом анализе перехваченных данных. [1] [3]
Содержание
Цели шифрования
Шифрование применяется для хранения важной информации в ненадёжных источниках и передачи её по незащищенным каналам связи. Такая передача данных представляет из себя два взаимно обратных процесса:
Шифрование изначально использовалось только для передачи конфиденциальной информации. Однако, впоследствии, шифровать информацию начали с целью ее хранения в ненадежных источниках. Шифрование информации с целью ее хранения применяется и сейчас, это позволяет избежать необходимости в физически защищенном хранилище. [4] [5]
Шифром называется пара алгоритмов, реализующих каждое из указанных преобразований. Эти алгоритмы применяются над данными с использованием ключа. Ключи для шифрования и для расшифровывания могут отличаться, а могут быть одинаковыми. Секретность второго(расшифровывающего) из них делает данные недоступными для несанкционированного ознакомления, а секретность первого(шифрующего) делает невозможным навязывание ложных данных. В первых методах шифрования использовались одинаковые ключи, однако в 1976 году были открыты алгоритмы с применением разных ключей. Сохранение этих ключей в секретности и правильное их разделение между адресатами является очень важной задачей с точки зрения сохранения конфиденциальности передаваемой информации. Эта задача исследуется в теории управления ключами(в некоторых источниках она упоминается как разделение секрета). [3]
В настоящий момент существует огромное количество методов шифрования. Главным образом эти методы делятся, в зависимости от структуры используемых ключей, на симметричные методы и асимметричные методы. Кроме того методы шифрования могут обладать различной криптостойкостью и по разному обрабатывать входные данные — блочные шифры и поточные шифры. Всеми этими методами их созданием и анализом занимается наука криптография. [6]
Зашифрование и расшифрование
Как было сказано, шифрование состоит из двух взаимно обратных процессов: зашифрование и расшифрование. Оба этих процесса на абстрактном уровне представимы математическими функциями, к которым предъявляются определенные требования. Математически, данные, используемые в шифровании, представимы в виде множеств над которыми построены данные функции. Иными словами, пусть существуют два множества, представляющее данные — , и
; и каждая из двух функций(шифрующая и расшифровывающая) является отображением одного из этих множеств в другое. [6] [7]
Шифрующая функция: Расшифровывающая функция:
Элементы этих множеств — и
являются аргументами соответствующих функций. Так же, в эти функции уже включено понятие ключа. То есть тот необходимый ключ для шифрования или расшифрования является частью функции. Это позволяет рассматривать процессы шифрования абстрактно, вне зависимости от структуры используемых ключей. Хотя, в общем случае, для каждой из этих функций аргументами являются данные и вводимый ключ. [2]
Если для шифрования и расшифрования используется один и тот же ключ , то такой алгоритм относят к симметричным. Если же из ключа шифрования алгоритмически сложно получить ключ расшифрования, то алгоритм относят к асимметричным, то есть к алгоритмам с открытым ключом. [8]
Криптостойкость шифра
Криптографическая стойкость — способность криптографического шифра противостоять криптоанализу. То есть анализу направленному на изучение шифра, с целью его дешифрования. С целью изучения криптоустойчивости различных алгоритмов была создана специальная теория, изучающая типы шифров и их ключи, а также их стойкость. Основателем этой теории является Клод Шеннон. Криптостойкость шифра является его важнейшей характеристикой, которая отражает насколько успешно алгоритм решает задачу шифрования. [9]
Любая система шифрования, кроме абсолютно криптостойких, может быть взломана простым перебором всех возможных в данном случае ключей. Но перебирать придется до тех пор, пока не отыщется тот единственный ключ, который и поможет расшифровать шифротекст. Выбор этого единственного ключа основан на способности отличить правильно расшифрованое сообщение. Зачастую, эта особенность является камнем преткновения при подборе ключа, так как, перебирая вручную, криптоаналитику, зачастую, достаточно просто отличить правильно расшифрованный текст, однако ручной перебор очень медленен. Если же, программа выполняет перебор, то это происходит быстрее, однако, ей сложно выделить правильный текст. Невозможность взлома полным перебором абсолютно криптостойкого шифра, так же, основана на способности отличить в расшифрованном сообщении именно то, которое было зашифровано в криптограмме. Перебирая все возможные ключи и применяя их к абсолютно стойкой системе, криптоаналитик получит множество всех возможных сообщений, которые можно было зашифровать(в нем могут содержаться и осмысленные сообщения). Кроме того, процесс полного перебора длительный и трудоемкий. О сложностях метода прямого перебора можно судить исходя из приведенной ниже таблицы. [10]
Стоимость | Длина ключа (бит) | |||||
---|---|---|---|---|---|---|
40 | 56 | 64 | 80 | 112 | 128 | |
$100 K | | | | | | |
$1 M | | | | | | |
$10 M | | | | | | |
$100 М | | | | | | |
$1 Г | | | | | | |
$10 Г | | | | | | |
$100 Г | | | | | | |
$1 Т | | | | | | |
$10 Т | | | | | | |
Другой метод дешифровки основывается на анализе перехваченных сообщений. Этот метод имеет большое значение, так как перехват сообщений доступен злоумышленнику, если он обладает специальным оборудованием, а в отличие от достаточно мощного и дорогостоящего оборудования для решения задачи полного перебора, оборудование для перехвата сообщений более доступно. Например, перехват ван Эйка для ЭЛТ монитора осуществим с помощью обычной телевизионной антенны. Кроме того, существуют программы для перехвата сетевого трафика(снифферы), которые доступны и в бесплатных версиях. [12] [13] [14]
При анализе передаваемых сообщений криптоустойчивость шифра оценивается из возможности получения дополнительной информации об исходном сообщении из перехваченного. Возможность получения этой информации является крайне важной характеристикой шифра, ведь эта информация, в конечном итоге, может позволить злоумышленнику дешифровать сообщение. В соответствии с этим, шифры делятся на абсолютно стойкие и достаточно стойкие. [10] [12]
Клод Шеннон впервые оценил количество подобной информации в зашифрованных сообщениях следующим образом [10]
Пусть возможна отправка любого из сообщений . То есть любого подмножества множества
. Эти сообщения могут быть отправлены с вероятностями
соответственно. Тогда мерой неопределенности сообщения может служить величина информационной энтропии:
Пусть отправлено сообщение , тогда его шифротекст
. После перехвата зашифрованного
эта величина становится условной неопределенностью — условием здесь является перехваченное шифрованное сообщение
. Необходимая условная энтропия задается следующей формулой:
Через здесб обозначена вероятность того, что исходное сообщение есть
при условии, что результат его зашифрования есть
.
Это позволяет ввести такую характеристику шифрующей функции(алгоритма), как количество информации об исходном тексте, которое злоумышленник может извлечь из перехваченного шифротекста. Необходиая характеристика является разностью между обычной и условной информационной неопределенностью:
Эта величина всегда неотрицательна. Главным является то, насколько она положительна. Показателем здесь является то, насколько уменьшится неопределенность при получении соответствующего шифротекста, и не станет ли она таковой, что перехватив некоторое количество шифротекстов станет возможным расшифровка исходного сообщения. [15]
Абсолютно стойкие системы
Оценка криптоустойчивости шифра, проведенная Шенноном определяет фундаментальное требование к шифрующей функции . Для наиболее криптоустойчивого шифра, неопределенности(условная и безусловная), при перехвате сообщений, должны быть равны для сколь угодно большого числа перехваченных шифротекстов.
Таким образом злоумышленник не сможет извлечь никакой полезной информации об открытом тексте из перехваченного шифротекста. Шифр обладающий таким свойством называется абсолютно стойким. [10]
Для соблюдения равенства энтропий Шеннон вывел требования к абсолютно стойким системам шифрования, касающиеся используемых ключей и их структуры.
Стойкость таких систем не зависит от того, какими возможностями обладает криптоаналитик. Однако практическое применение абсолютно стойких криптосистем ограничено соображениями стоимости таких систем и их удобства. Идеальные секретные системы обладают следующими недостатками:
Достаточно стойкие системы
В связи с трудностью примения абсолютно стойких систем повсеместно, более распространенными являются, так называемые, достаточно стойкие системы. Эти системы не обеспечивают равенство энтроппий и, как следствие, вместре с зашифрованным сообщением передают некоторую информацию об открытом тексте.
H(M|c_k) \Rightarrow I > 0″ border=»0″ />
Их криптостойкость зависит от того, какими вычислительными возможностями обладает криптоаналитик. Иными словами, шифротекст взламывается, если криптоаналитик обладает достаточными ресурсами, такими как время и количество перехваченных сообщений. Практическая стойкость таких систем основана на их вычислительной сложности и оценивается исключительно на определенный момент времени с двух позиций: [17]
Добиться высокого уровня практической стойкости алгоритма можно двумя подходами: [18]
Методы шифрования
Существующие методы шифрования можно разделить на две большие группы: [6]
Также шифры могут отличаться структурой шифруемой информации. Они могут либо шифровать сразу весь текст, либо шифровать его по мере поступления. Таким образом существуют: [6]
Блочный шифр можно превратить в поточный, разбивая входные данные на отдельные блоки и шифруя их по отдельности. Однако, блочные шифры являются более криптоустойчивыми по сравнению с поточными. Кроме того, блочные шифры работают зачастую быстрее и легко реализуемы посредством программного обеспечения. Поточные, же, шифры зачастую реализуются в аппаратном виде(в виде некой шифрующей аппаратуры), так как представление данных и их обработка в поточных шифрах очень близка к обработке данных и их передаче в аппаратуре. Там данные представляются именно потоком, чаще всего. [6] [19]
Эти методы решают определенные задачи и обладают как достоинствами, так и недостатками. Конкретный выбор применяемого метода зависит от целей, с которыми информация подвергается шифрованию.
Симметричное шифрование
В симметричных криптосистемах для шифрования и расшифрования используется один и тот же ключ. Отсюда название — симметричные. Алгоритм и ключ выбирается заранее и известен обеим сторонам. Сохранение ключа в секретности является важной задачей для установления и поддержки защищенного канала связи. В связи этим, возникает проблема начальной передачи ключа(синхронизации ключей). Кроме того существуют методы криптоатак, позволяющие так или иначе дешифровать информацию не имея ключа или же с помощью его перехвата на этапе согласования. В целом эти моменты являются проблемой криптостойкости конкретного алгоритма шифрования и являются аргументом при выборе конкретного алгоритма.
Симметричные, а конкретнее, алфавитные алгоритмы шифрования были одними из первых алгоритмов. [20] Позднее было изобретено асимметричное шифрование, в котором ключи у собеседников разные. [21]
Недостатками симметричного шифрования является проблема передачи ключа собеседнику и невозможность установить подлинность или авторство текста. Поэтому, например, в основе технологии цифровой подписи лежат асимметричные схемы.
Асимметричное шифрование (с открытым ключом)
В системах с открытым ключом используются два ключа — открытый и закрытый, связанные определенным математическим образом друг с другом. Открытый ключ передаётся по открытому (то есть незащищённому, доступному для наблюдения) каналу и используется для шифрования сообщения и для проверки ЭЦП. Для расшифровки сообщения и для генерации ЭЦП используется секретный ключ. [22]
Данная схема решает проблему симметричных схем, связанную с начальной передачей ключа другой стороне. Если в симметричных схемах злоумышленник перехватит ключ, то он сможет как «слушать», так и вносить правки в передаваемую информацию. В асимметричных системах другой стороне передается открытый ключ, который позволяет шифровать, но не расшифровывать информацию. Таким образом решается проблема симметричных систем, связанная с синхронизацией ключей. [21]
Первыми исследователями, которые изобрели и раскрыли понятие шифрования с открытым кодом, были Уитфилд Диффи и Мартин Хеллман из Стэнфордского университета, и Ральф Меркле из Калифорнийского университета в Беркли. В 1976 году их работа «Новые направления в современной криптографии» открыла новую область в криптографии, теперь известную как криптография с открытым ключом.
Если необходимо наладить канал связи в обе стороны, то первые две операции необходимо проделать на обеих сторонах, таким образом, каждый будет знать свои закрытый, открытый ключи и открытый ключ собеседника. Закрытый ключ каждой стороны не передается по незащищенному каналу, тем самым оставаясь в секретности.
Управление ключами
Как было сказано ранее, при шифровании очень важно правильно содержать и распространять ключи между собеседниками, так как это является наиболее уязвимым местом любой криптосистемы. Если вы с собеседником обмениваетесь информацией посредством идеальной шифрующей системы, то всегда существует возможность найти дефект не в используемой системе, а в людях ее использующих. Можно выкрасть ключи у доверенного лица или подкупить его и зачастую это оказывается гораздо дешевле чем взламывать шифр. Поэтому процесс, содержанием которого является составление и распределение ключей между пользователями, играет важнейшую роль в криптографии как основа для обеспечения конфиденциальности обмена информацией. [23]
Цели управления ключами
Управление ключами в криптосистемах осуществляется в соответствии с политикой безопасности. Политика безопасности диктует угрозы, которым должна противостоять система. Система контролирующая ключи делится на систему генерации ключей и систему контроля ключей.
Система генерации ключей обеспечивает составление криптоустойчивых ключей. Сам алгоритм генерации должен быть безопасным, так как значительная часть безопасности, предоставляемой шифрованием, заключена в защищенности ключа. Если выбор ключей доверить пользователям, то они с большей вероятностью выбирают ключи типа «Barney» нежели «*9(hH/A», просто потому что «Barney» проще запомнить. А такого рода ключи очень быстро подбираются методом вскрытия со словарем, и тут даже самый безопасный алгоритм не поможет. Кроме того, алгоритм генерации обеспечивает создание статистически независимых ключей нужной длины, используя наиболее криптоустойчивый алфавит. [26]
Система контроля ключей служит для наиболее безопасной передачи ключей между собеседниками. Если передавать ключ шифрования по открытому каналу, который могут прослушивать, то злоумышленник легко перехватит ключ и все дальнейшее шифрование будет бессмысленным. Методы асимметричного шифрования решают эту проблему, используя разные ключи для зашифрования и расшифрования. Однако при таком подходе количество ключей растет с увеличением количества собеседников(каждый вынужден хранить свои закрытый и открытый ключи и открытые ключи всех собеседников). Кроме того, методы асимметричного шифрования не всегда доступны и осуществимы. В таких ситуациях используются разные методы по обеспечению безопасной доставки ключей, одни основаны на использовании для доставки ключей альтернативных каналов, считающихся безопасными. Другие, в согласии со стандартом X9.17, используют два типа ключей — ключи шифрования ключей и ключи шифрования данных. Третьи, разбивают передаваемый ключ на составные части и передают их по различным каналам. Так же, существуют различные комбинации перечисленных выше методов. [27]
Кроме того, система управления ключами, при возникновении большого количества используемых ключей, выступает в роли центрального сервера ключей, хранящего и распределяющего их. В том числе, она занимается своевременной заменой скомпрометированных ключей. В некоторых системах, в целях быстрой коммуникации, могут использоваться сеансовые ключи. Сеансовый ключ — ключ шифрования, который используется только для одного сеанса связи. При обрыве сеанса или его завершении сеансовый ключ уничтожается. Также используемые ключи, обычно, имеют срок действия, то есть срок, в течение которого они являются аутентичными для использования. После истечения данного срока, ключ изымается системой управления и, если необходимо, генерируется новый. [23]
Правовые нормы
Развитие шифрования и его методов привело к их широчайшей распространенности. Сейчас, для конечного пользователя не составляет труда зашифровать раздел на жестком диске или переписку и установить защищенное соединение в интернет. В связи с тем, что шифрование и другие информационные технологии проникают в наш быт, растет число компьютерных преступлений. Зашифрованная информация, так или иначе, представляет собой объект защиты, который, в свою очередь, должен подвергаться правовому регулированию. Кроме того, подобные правовые нормы необходимы из-за того, что существует некоторое противоречие между стремлением правительств иметь доступ к информации(с целью обеспечения безопасности и для предотвращения преступлений), и стремлением граждан обеспечить высокий уровень охраны для своей действительно секретной информации. Для разрешения этой проблемы, прибегают к разным способам, это и возможный запрет на использование высокоэффективных методов шифрования, и требование передачи компетентным органам шифровальных ключей. Различия в правилах и ограничениях по шифрованию компьютерной информации могут создать определенные трудности в деловых международных контактах в плане обеспечения конфиденциальности их общения. В связи с этим, в любом государстве, поведение в отношении передачи и шифрования информации регулируется различными правовыми нормами. [28]