Криптосистема — это реализация криптографических методов и сопутствующей им инфраструктуры для предоставления услуг информационной безопасности. Криптосистема также называется системой шифрования .
Давайте обсудим простую модель криптосистемы, которая обеспечивает конфиденциальность передаваемой информации. Эта базовая модель изображена на рисунке ниже —
На рисунке показан отправитель, который хочет передать некоторые конфиденциальные данные получателю таким образом, чтобы любая сторона, перехватывающая или подслушивающая канал связи, не могла извлечь данные.
Цель этой простой криптосистемы состоит в том, что в конце процесса только отправитель и получатель будут знать открытый текст.
Компоненты криптосистемы
Различные компоненты базовой криптосистемы следующие:
-
Простой текст. Это данные, которые должны быть защищены во время передачи.
-
Алгоритм шифрования. Это математический процесс, который создает зашифрованный текст для любого заданного открытого текста и ключа шифрования. Это криптографический алгоритм, который принимает открытый текст и ключ шифрования в качестве входных данных и создает зашифрованный текст.
-
Гипертекст. Это зашифрованная версия открытого текста, созданного алгоритмом шифрования с использованием специального ключа шифрования. Зашифрованный текст не охраняется. Это течет по общедоступному каналу. Он может быть перехвачен или скомпрометирован любым, кто имеет доступ к каналу связи.
-
Алгоритм дешифрования. Это математический процесс, который создает уникальный открытый текст для любого заданного шифротекста и ключа дешифрования. Это криптографический алгоритм, который принимает зашифрованный текст и ключ дешифрования в качестве входных данных и выводит открытый текст. Алгоритм дешифрования, по сути, обращает алгоритм шифрования и, таким образом, тесно связан с ним.
-
Ключ шифрования. Это значение, известное отправителю. Отправитель вводит ключ шифрования в алгоритм шифрования вместе с открытым текстом, чтобы вычислить зашифрованный текст.
-
Ключ расшифровки. Это значение, которое известно получателю. Ключ дешифрования связан с ключом шифрования, но не всегда идентичен ему. Приемник вводит ключ дешифрования в алгоритм дешифрования вместе с зашифрованным текстом для вычисления открытого текста.
Простой текст. Это данные, которые должны быть защищены во время передачи.
Алгоритм шифрования. Это математический процесс, который создает зашифрованный текст для любого заданного открытого текста и ключа шифрования. Это криптографический алгоритм, который принимает открытый текст и ключ шифрования в качестве входных данных и создает зашифрованный текст.
Гипертекст. Это зашифрованная версия открытого текста, созданного алгоритмом шифрования с использованием специального ключа шифрования. Зашифрованный текст не охраняется. Это течет по общедоступному каналу. Он может быть перехвачен или скомпрометирован любым, кто имеет доступ к каналу связи.
Алгоритм дешифрования. Это математический процесс, который создает уникальный открытый текст для любого заданного шифротекста и ключа дешифрования. Это криптографический алгоритм, который принимает зашифрованный текст и ключ дешифрования в качестве входных данных и выводит открытый текст. Алгоритм дешифрования, по сути, обращает алгоритм шифрования и, таким образом, тесно связан с ним.
Ключ шифрования. Это значение, известное отправителю. Отправитель вводит ключ шифрования в алгоритм шифрования вместе с открытым текстом, чтобы вычислить зашифрованный текст.
Ключ расшифровки. Это значение, которое известно получателю. Ключ дешифрования связан с ключом шифрования, но не всегда идентичен ему. Приемник вводит ключ дешифрования в алгоритм дешифрования вместе с зашифрованным текстом для вычисления открытого текста.
Для данной криптосистемы набор всех возможных ключей дешифрования называется пространством ключей .
Перехватчик (злоумышленник) — это неавторизованный объект, который пытается определить открытый текст. Он может видеть зашифрованный текст и может знать алгоритм расшифровки. Он, однако, никогда не должен знать ключ расшифровки.
Типы криптосистем
По сути, существует два типа криптосистем, основанных на способе, которым шифрование-дешифрование выполняется в системе:
- Шифрование симметричного ключа
- Асимметричное шифрование ключа
Основное различие между этими криптосистемами заключается в связи между шифрованием и ключом дешифрования. Логично, что в любой криптосистеме оба ключа тесно связаны. Расшифровать зашифрованный текст практически невозможно с помощью ключа, не связанного с ключом шифрования.
Шифрование симметричного ключа
Процесс шифрования, в котором для шифрования и дешифрования информации используются одни и те же ключи, называется Symmetric Key Encryption.
Исследование симметричных криптосистем называется симметричной криптографией . Симметричные криптосистемы также иногда называют криптосистемами с секретным ключом .
Вот несколько хорошо известных примеров методов шифрования с симметричным ключом: Digital Encryption Standard (DES), Triple-DES (3DES), IDEA и BLOWFISH.
До 1970 года все криптосистемы использовали шифрование с симметричным ключом. Даже сегодня его актуальность очень высока, и он широко используется во многих криптосистемах. Маловероятно, что это шифрование исчезнет, поскольку оно имеет определенные преимущества по сравнению с шифрованием с асимметричным ключом.
Существенными особенностями криптосистемы, основанной на шифровании с симметричным ключом, являются:
-
Лица, использующие симметричный ключ шифрования, должны иметь общий ключ до обмена информацией.
-
Ключи рекомендуется регулярно менять, чтобы предотвратить любую атаку на систему.
-
Должен существовать надежный механизм обмена ключами между связывающимися сторонами. Поскольку ключи необходимо регулярно менять, этот механизм становится дорогим и громоздким.
-
В группе из n человек, чтобы обеспечить двустороннюю связь между любыми двумя людьми, количество ключей, необходимое для группы, составляет n × (n — 1) / 2 .
-
Длина ключа (число битов) в этом шифровании меньше, и, следовательно, процесс шифрования-дешифрования происходит быстрее, чем шифрование с асимметричным ключом.
-
Требуемая для выполнения симметричного алгоритма вычислительная мощность компьютерной системы меньше.
Лица, использующие симметричный ключ шифрования, должны иметь общий ключ до обмена информацией.
Ключи рекомендуется регулярно менять, чтобы предотвратить любую атаку на систему.
Должен существовать надежный механизм обмена ключами между связывающимися сторонами. Поскольку ключи необходимо регулярно менять, этот механизм становится дорогим и громоздким.
В группе из n человек, чтобы обеспечить двустороннюю связь между любыми двумя людьми, количество ключей, необходимое для группы, составляет n × (n — 1) / 2 .
Длина ключа (число битов) в этом шифровании меньше, и, следовательно, процесс шифрования-дешифрования происходит быстрее, чем шифрование с асимметричным ключом.
Требуемая для выполнения симметричного алгоритма вычислительная мощность компьютерной системы меньше.
Задача криптосистемы с симметричным ключом
Существует две ограничительные проблемы использования криптографии с симметричным ключом.
-
Установление ключа — перед любым сообщением и отправитель, и получатель должны согласовать секретный симметричный ключ. Это требует надежного механизма установления ключа на месте.
-
Проблема доверия — поскольку отправитель и получатель используют один и тот же симметричный ключ, существует неявное требование, чтобы отправитель и получатель «доверяли» друг другу. Например, может случиться так, что получатель потерял ключ для атакующего, а отправитель не проинформирован.
Установление ключа — перед любым сообщением и отправитель, и получатель должны согласовать секретный симметричный ключ. Это требует надежного механизма установления ключа на месте.
Проблема доверия — поскольку отправитель и получатель используют один и тот же симметричный ключ, существует неявное требование, чтобы отправитель и получатель «доверяли» друг другу. Например, может случиться так, что получатель потерял ключ для атакующего, а отправитель не проинформирован.
Эти две проблемы очень сдерживают современное общение. Сегодня люди должны обмениваться информацией с незнакомыми и недоверенными сторонами. Например, общение между онлайн-продавцом и покупателем. Эти ограничения шифрования с симметричным ключом породили схемы шифрования с асимметричным ключом.
Асимметричное шифрование ключа
Процесс шифрования, в котором для шифрования и дешифрования информации используются разные ключи, называется асимметричным шифрованием ключей. Хотя ключи разные, они математически связаны и, следовательно, возможно получение открытого текста путем расшифровки зашифрованного текста. Процесс изображен на следующей иллюстрации —
Шифрование с асимметричным ключом было изобретено в 20- м веке, чтобы прийти к выводу о необходимости предварительного совместного использования секретного ключа между людьми. Существенные особенности этой схемы шифрования следующие:
-
Каждый пользователь в этой системе должен иметь пару разнородных ключей, секретный ключ и открытый ключ . Эти ключи математически связаны — когда один ключ используется для шифрования, другой может расшифровать зашифрованный текст обратно в исходный открытый текст.
-
Требуется поместить открытый ключ в открытый репозиторий и закрытый ключ в качестве хорошо охраняемого секрета. Следовательно, эта схема шифрования также называется шифрованием с открытым ключом .
-
Хотя открытый и закрытый ключи пользователя связаны между собой, в вычислительном отношении невозможно найти один из другого. Это сила этой схемы.
-
Когда Host1 необходимо отправить данные на Host2, он получает открытый ключ Host2 из репозитория, шифрует данные и передает.
-
Host2 использует свой закрытый ключ для извлечения открытого текста.
-
Длина ключей (количество бит) в этом шифровании велика, и, следовательно, процесс шифрования-дешифрования медленнее, чем шифрование симметричным ключом.
-
Процессорная мощность компьютерной системы, необходимая для запуска асимметричного алгоритма, выше.
Каждый пользователь в этой системе должен иметь пару разнородных ключей, секретный ключ и открытый ключ . Эти ключи математически связаны — когда один ключ используется для шифрования, другой может расшифровать зашифрованный текст обратно в исходный открытый текст.
Требуется поместить открытый ключ в открытый репозиторий и закрытый ключ в качестве хорошо охраняемого секрета. Следовательно, эта схема шифрования также называется шифрованием с открытым ключом .
Хотя открытый и закрытый ключи пользователя связаны между собой, в вычислительном отношении невозможно найти один из другого. Это сила этой схемы.
Когда Host1 необходимо отправить данные на Host2, он получает открытый ключ Host2 из репозитория, шифрует данные и передает.
Host2 использует свой закрытый ключ для извлечения открытого текста.
Длина ключей (количество бит) в этом шифровании велика, и, следовательно, процесс шифрования-дешифрования медленнее, чем шифрование симметричным ключом.
Процессорная мощность компьютерной системы, необходимая для запуска асимметричного алгоритма, выше.
Симметричные криптосистемы являются естественной концепцией. Напротив, криптосистемы с открытым ключом довольно сложны для понимания.
Вы можете подумать, каким образом ключ шифрования и ключ дешифрования могут быть «связаны», и все же невозможно определить ключ дешифрования по ключу шифрования? Ответ заключается в математических понятиях. Можно спроектировать криптосистему, ключи которой обладают этим свойством. Концепция криптографии с открытым ключом является относительно новой. Известно меньше алгоритмов с открытым ключом, чем симметричных.
Вызов криптосистемы с открытым ключом
Криптосистемы с открытым ключом сталкиваются с одной серьезной проблемой — пользователь должен верить, что открытый ключ, который он использует в общении с человеком, действительно является открытым ключом этого человека и не был подделан злонамеренной третьей стороной.
Обычно это достигается с помощью инфраструктуры открытых ключей (PKI), состоящей из доверенной третьей стороны. Третья сторона надежно управляет и подтверждает подлинность открытых ключей. Когда третьему лицу предлагается предоставить открытый ключ для любого сообщающего лица X, ему доверяют предоставить правильный открытый ключ.
Третья сторона удовлетворяется идентификацией пользователя с помощью процесса аттестации, нотариального заверения или какого-либо другого процесса — X является единственным или глобально уникальным X. Наиболее распространенный метод предоставления проверенных открытых ключей — это встраивание их. в сертификате с цифровой подписью доверенной третьей стороны.
Связь между схемами шифрования
Краткое описание основных свойств ключа двух типов криптосистем приведено ниже —
Симметричные криптосистемы | Криптосистемы с открытым ключом | |
---|---|---|
Отношения между ключами | Так же | Разные, но математически связанные |
Ключ шифрования | симметричный | общественного |
Ключ дешифрования | симметричный | Частный |
Из-за преимуществ и недостатков обеих систем, симметричный ключ и криптосистемы с открытым ключом часто используются вместе в практических системах защиты информации.
Принцип Керкхоффа для криптосистемы
В 19 веке голландский криптограф А. Керкхофф выдвинул требования хорошей криптосистемы. Керкхофф заявил, что криптографическая система должна быть защищенной, даже если все о системе, кроме ключа, является общедоступным. Шесть принципов проектирования, определенных Kerckhoff для криптосистемы, —
-
Криптосистема должна быть практически неразрушимой, если не математически.
-
Попадание криптосистемы в руки злоумышленника не должно приводить к каким-либо компрометациям системы, предотвращая любые неудобства для пользователя.
-
Ключ должен быть легко сообщаемым, запоминающимся и изменяемым.
-
Зашифрованный текст должен передаваться по телеграфу, небезопасному каналу.
-
Устройство шифрования и документы должны быть портативными и работоспособными для одного человека.
-
Наконец, необходимо, чтобы система была проста в использовании, не требуя ни умственного напряжения, ни знания длинного ряда правил для соблюдения.
Криптосистема должна быть практически неразрушимой, если не математически.
Попадание криптосистемы в руки злоумышленника не должно приводить к каким-либо компрометациям системы, предотвращая любые неудобства для пользователя.
Ключ должен быть легко сообщаемым, запоминающимся и изменяемым.
Зашифрованный текст должен передаваться по телеграфу, небезопасному каналу.
Устройство шифрования и документы должны быть портативными и работоспособными для одного человека.
Наконец, необходимо, чтобы система была проста в использовании, не требуя ни умственного напряжения, ни знания длинного ряда правил для соблюдения.
Второе правило в настоящее время известно как принцип Керкхоффа . Он применяется практически во всех современных алгоритмах шифрования, таких как DES, AES и т. Д. Эти общедоступные алгоритмы считаются полностью безопасными. Безопасность зашифрованного сообщения зависит исключительно от безопасности секретного ключа шифрования.
Хранение алгоритмов в секрете может служить существенным препятствием для криптоанализа. Однако хранить алгоритмы в секрете возможно только тогда, когда они используются в строго ограниченном круге.
В современную эпоху криптография должна обслуживать пользователей, которые подключены к Интернету. В таких случаях использование секретного алгоритма неосуществимо, поэтому принципы Керкхоффа стали важными руководящими принципами для разработки алгоритмов в современной криптографии.