stringtranslate.com

Ключ (криптография)

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

Объем

Ключ — это то, что используется для шифрования данных из открытого текста в зашифрованный текст . [1] Существуют различные методы использования ключей и шифрования.

Симметричная криптография

Симметричная криптография подразумевает использование одного и того же ключа как для шифрования, так и для дешифрования. [2]

Асимметричная криптография

Асимметричная криптография имеет отдельные ключи для шифрования и дешифрования. [3] [4] Эти ключи известны как открытые и закрытые ключи соответственно. [5]

Цель

Поскольку ключ защищает конфиденциальность и целостность системы, важно хранить его в секрете от посторонних лиц. При криптографии с открытым ключом в секрете должен храниться только закрытый ключ, но при симметричной криптографии важно сохранять конфиденциальность ключа. Принцип Керкгофа гласит, что вся безопасность криптографической системы зависит от секретности ключа. [6]

Размеры ключей

Размер ключа — это количество битов в ключе, определенное алгоритмом. Этот размер определяет верхнюю границу безопасности криптографического алгоритма. [7] Чем больше размер ключа, тем больше времени пройдет, прежде чем ключ будет скомпрометирован в результате грубой атаки. Поскольку абсолютная секретность невозможна для ключевых алгоритмов, исследования теперь больше сосредоточены на вычислительной безопасности.

Раньше ключи должны были иметь длину не менее 40 бит, однако с развитием технологий эти ключи взламывались все быстрее и быстрее. В ответ ограничения на симметричные ключи были увеличены до большего размера.

В настоящее время широко используется 2048-битный RSA [8] , чего достаточно для современных систем. Однако все текущие размеры ключей будут быстро взломаны с помощью мощного квантового компьютера.

«Ключи, используемые в криптографии с открытым ключом, имеют некоторую математическую структуру. Например, открытые ключи, используемые в системе RSA, представляют собой произведение двух простых чисел. Таким образом, для обеспечения эквивалентного уровня безопасности системы с открытым ключом требуют большей длины ключей, чем симметричные системы. 3072 бита — это рекомендуемая длина ключа для систем, основанных на факторинге и целочисленных дискретных логарифмах, целью которых является обеспечение безопасности, эквивалентной 128-битному симметричному шифру». [9]

Генерация ключей

Чтобы предотвратить угадывание ключа, ключи должны генерироваться случайным образом и содержать достаточную энтропию . Проблема безопасной генерации случайных ключей сложна и разными способами решается различными криптографическими системами. Ключ можно сгенерировать напрямую, используя выходные данные генератора случайных битов (RBG), системы, которая генерирует последовательность непредсказуемых и несмещенных битов. [10] RBG может использоваться для непосредственного создания либо симметричного ключа, либо случайного вывода для генерации асимметричной пары ключей. В качестве альтернативы ключ также может быть создан косвенно во время транзакции согласования ключей из другого ключа или пароля. [11]

Некоторые операционные системы включают инструменты для «сбора» энтропии по времени непредсказуемых операций, таких как движения головок жесткого диска. Для производства небольших количеств ключевого материала обычные игральные кости являются хорошим источником высококачественной случайности.

Схема создания

Безопасность ключа зависит от того, как ключ обменивается между сторонами. Необходимо установить защищенный канал связи, чтобы посторонние не смогли получить ключ. Схема установления ключа (или обмена ключами) используется для передачи ключа шифрования между объектами. Соглашение о ключах и транспортировка ключей — это два типа схемы обмена ключами, которые используются для удаленного обмена между объектами. В схеме соглашения о ключах секретный ключ, который используется между отправителем и получателем для шифрования и дешифрования информации, настроен для непрямой отправки. Все стороны обмениваются информацией (общим секретом), которая позволяет каждой стороне получить материал секретного ключа. В схеме транспортировки ключей зашифрованный ключевой материал, выбранный отправителем, передается получателю. В обеих схемах можно использовать либо симметричный ключ, либо асимметричный ключ. [11]

Обмен ключами Диффи -Хеллмана и Ривеста-Шамира-Адлемана (RSA) являются двумя наиболее широко используемыми алгоритмами обмена ключами. [12] В 1976 году Уитфилд Диффи и Мартин Хеллман построили алгоритм Диффи-Хеллмана , который стал первым алгоритмом с открытым ключом. Протокол обмена ключами Диффи -Хеллмана позволяет обмениваться ключами по незащищенному каналу путем электронной генерации общего ключа между двумя сторонами. С другой стороны, RSA — это форма асимметричной системы ключей, которая состоит из трех этапов: генерация ключа, шифрование и дешифрование. [12]

Подтверждение ключа обеспечивает между получателем и поставщиком подтверждения ключа гарантию того, что общие ключевые материалы верны и установлены. Национальный институт стандартов и технологий рекомендует интегрировать подтверждение ключей в схему создания ключей для проверки ее реализации. [11]

Управление

Управление ключами касается создания, создания, хранения, использования и замены криптографических ключей. Система управления ключами (KMS) обычно включает три этапа создания, хранения и использования ключей. Основа безопасности создания, хранения, распространения, использования и уничтожения ключей зависит от успешных протоколов управления ключами. [13]

Ключ против пароля

Пароль — это запоминаемая последовательность символов, включающая буквы, цифры и другие специальные символы, которые используются для проверки личности. Он часто создается пользователем или программным обеспечением для управления паролями для защиты личной и конфиденциальной информации или создания криптографических ключей. Пароли часто создаются для запоминания пользователями и могут содержать неслучайную информацию, например словарные слова. [11] С другой стороны, ключ может помочь усилить защиту паролем за счет реализации криптографического алгоритма, который трудно угадать или полностью заменить пароль. Ключ генерируется на основе случайных или псевдослучайных данных и часто может быть нечитаемым для человека. [14]

Пароль менее безопасен, чем криптографический ключ, из-за его низкой энтропии, случайности и удобочитаемости. Однако пароль может быть единственной секретной информацией, доступной криптографическому алгоритму информационной безопасности в некоторых приложениях, например, при защите информации на устройствах хранения. Таким образом, детерминированный алгоритм, называемый функцией получения ключа (KDF), использует пароль для генерации безопасного криптографического ключевого материала, чтобы компенсировать слабость пароля. При генерации могут использоваться различные методы, такие как добавление соли или растяжение ключа. [11]

Смотрите также

Рекомендации

  1. ^ Пайпер, Фред (2002), «Криптография», Энциклопедия разработки программного обеспечения , Американское онкологическое общество, doi : 10.1002/0471028959.sof070, ISBN 978-0-471-02895-6, получено 9 апреля 2021 г.
  2. ^ «Что такое криптографический ключ? | Ключи и SSL-шифрование» .
  3. ^ «Криптография с асимметричным ключом». www.cs.cornell.edu . Проверено 2 апреля 2021 г.
  4. ^ Чандра, С.; Пайра, С.; Алам, СС; Саньял, Г. (2014). «Сравнительный обзор криптографии с симметричным и асимметричным ключом». Международная конференция по электронике, связи и вычислительной технике (ICECCE) , 2014 г. стр. 83–93. doi : 10.1109/ICECCE.2014.7086640. ISBN 978-1-4799-5748-4. S2CID  377667.
  5. ^ Кумар, MGV; Рагупати, США (март 2016 г.). «Обзор текущих ключевых проблем и состояния криптографии». Международная конференция по беспроводной связи, обработке сигналов и сетям (WiSPNET), 2016 г. стр. 205–210. doi : 10.1109/WiSPNET.2016.7566121. ISBN 978-1-4673-9338-6. S2CID  14794991.
  6. ^ Мрдович, С.; Перуничич, Б. (сентябрь 2008 г.). «Принцип Керкхоффа для обнаружения вторжений». Сети 2008 — 13-й Международный симпозиум по стратегии и планированию телекоммуникационных сетей . Том. Добавка. стр. 1–8. дои : 10.1109/NETWKS.2008.6231360. ISBN 978-963-8111-68-5.
  7. ^ «Что такое длина ключа? - Определение из Techopedia» . Techopedia.com . 16 ноября 2011 года . Проверено 1 мая 2021 г.
  8. ^ Хеллман, Мартин. «Обзор криптографии с открытым ключом» (PDF) . Журнал коммуникаций IEEE .
  9. ^ «Анатомия изменений - Google объявляет, что удвоит размеры ключей SSL» . Голая охрана . 27 мая 2013 г. Проверено 9 апреля 2021 г.
  10. ^ Данг, Куин (август 2012 г.). «Рекомендации для приложений, использующих утвержденные алгоритмы хеширования» (PDF) . Проверено 2 апреля 2021 г.
  11. ^ abcde Turan, MS; Баркер, Э.Б.; Берр, МЫ; Чен, Л. (2010). «Рекомендации по созданию ключа на основе пароля» (PDF) . doi : 10.6028/NIST.SP.800-132. S2CID  56801929. {{cite journal}}: Требуется цитировать журнал |journal=( помощь )
  12. ^ аб Ясейн, МБ; Альджаварне, С.; Кавасме, Э.; Мардини, В.; Хамайсе, Ю. (2017). «Комплексное исследование алгоритмов шифрования с симметричным и асимметричным ключом». 2017 Международная конференция по технике и технологиям (ICET) . стр. 1–7. doi : 10.1109/ICEngTechnol.2017.8308215. ISBN 978-1-5386-1949-0. S2CID  3781693.
  13. ^ Баркер, Элейн (январь 2016 г.). «Рекомендации по управлению ключами» (PDF) . Проверено 2 апреля 2021 г.
  14. Хиллар, Сагар (29 апреля 2020 г.). «Разница между шифрованием и защитой паролем | Разница между» . Проверено 2 апреля 2021 г.