В криптографии шифрование — это процесс преобразования (точнее, кодирования ) информации таким образом, что в идеале ее могут декодировать только уполномоченные стороны. Этот процесс преобразует исходное представление информации, известное как открытый текст , в альтернативную форму, известную как шифротекст . Несмотря на свою цель, шифрование само по себе не предотвращает помехи, но лишает потенциального перехватчика понятного содержания.
По техническим причинам схема шифрования обычно использует псевдослучайный ключ шифрования , сгенерированный алгоритмом . Можно расшифровать сообщение, не обладая ключом, но для хорошо спроектированной схемы шифрования требуются значительные вычислительные ресурсы и навыки. Авторизованный получатель может легко расшифровать сообщение с помощью ключа, предоставленного отправителем получателям, но не неавторизованным пользователям.
Исторически различные формы шифрования использовались для помощи в криптографии. Ранние методы шифрования часто использовались в военных сообщениях. С тех пор появились новые методы, которые стали обычным явлением во всех областях современных вычислений. [1] Современные схемы шифрования используют концепции открытого ключа и симметричного ключа . [1] Современные методы шифрования обеспечивают безопасность, поскольку современные компьютеры неэффективны при взломе шифрования.
Одной из самых ранних форм шифрования является замена символов, которая впервые была найдена в гробнице Хнумхотепа II , жившего в 1900 г. до н. э. в Египте. Шифрование заменой символов является «нестандартным», что означает, что для понимания символов требуется шифр или ключ. Этот тип раннего шифрования использовался в военных целях по всей Древней Греции и Риму. [2] Одной из самых известных разработок военного шифрования был шифр Цезаря , в котором буква открытого текста сдвигается на фиксированное количество позиций по алфавиту, чтобы получить закодированную букву. Сообщение, закодированное с помощью этого типа шифрования, можно было расшифровать с помощью фиксированного числа в шифре Цезаря. [3]
Около 800 г. н. э. арабский математик Аль-Кинди разработал метод частотного анализа , который был попыткой систематически взламывать шифры, включая шифр Цезаря. [2] Этот метод рассматривал частоту букв в зашифрованном сообщении, чтобы определить подходящий сдвиг: например, наиболее распространенная буква в английском тексте — E, и поэтому она, вероятно, будет представлена буквой, которая чаще всего встречается в зашифрованном тексте. Этот метод оказался неэффективным из-за полиалфавитного шифра , описанного Аль-Калькашанди (1355–1418) [4] и Леоном Баттистой Альберти (в 1465 г.), который изменял алфавит замены по мере продолжения шифрования, чтобы затруднить такой анализ.
Около 1790 года Томас Джефферсон выдвинул теорию шифра для кодирования и декодирования сообщений, чтобы обеспечить более безопасный способ военной переписки. Шифр, известный сегодня как Колесный шифр или Диск Джефферсона , хотя на самом деле так и не был создан, был теоретически представлен как катушка, которая могла перемешивать английское сообщение до 36 символов. Сообщение можно было расшифровать, вставив перемешанное сообщение в приемник с идентичным шифром. [5]
Аналогичное устройству Jefferson Disk, M-94 , было разработано в 1917 году независимо майором армии США Джозефом Моборном. Это устройство использовалось в американских военных коммуникациях до 1942 года. [6]
Во время Второй мировой войны страны Оси использовали более продвинутую версию M-94 под названием Enigma Machine . Enigma Machine была сложнее, потому что в отличие от Jefferson Wheel и M-94, каждый день нагромождение букв менялось на совершенно новую комбинацию. Комбинация каждого дня была известна только странам Оси, поэтому многие думали, что единственный способ взломать код — перебрать более 17 000 комбинаций в течение 24 часов. [7] Союзники использовали вычислительную мощность, чтобы серьезно ограничить количество разумных комбинаций, которые им нужно было проверять каждый день, что привело к взлому Enigma Machine.
Сегодня шифрование используется при передаче сообщений через Интернет для обеспечения безопасности и коммерции. [1] Поскольку вычислительная мощность продолжает расти, компьютерное шифрование постоянно развивается, чтобы предотвратить атаки с подслушиванием . [8] Один из первых «современных» наборов шифров, DES , использовал 56-битный ключ с 72 057 594 037 927 936 возможностями; он был взломан в 1999 году взломщиком DES методом подбора EFF , которому потребовалось 22 часа и 15 минут, чтобы сделать это. Современные стандарты шифрования часто используют более сильные размеры ключей, такие как AES (256-битный режим), TwoFish , ChaCha20-Poly1305 , Serpent (настраивается до 512 бит). Наборы шифров, которые используют 128-битный или более высокий ключ, как AES, не смогут быть взломаны методом подбора, поскольку общее количество ключей составляет 3,4028237e+38 возможностей. Наиболее вероятным вариантом взлома шифров с большим размером ключа является поиск уязвимостей в самом шифре, таких как внутренние смещения и бэкдоры , или эксплуатация физических побочных эффектов посредством атак по сторонним каналам . Например, RC4 , потоковый шифр, был взломан из-за внутренних смещений и уязвимостей в шифре.
В контексте криптографии шифрование служит механизмом обеспечения конфиденциальности . [1] Поскольку данные могут быть видны в Интернете, конфиденциальная информация, такая как пароли и личная переписка, может быть раскрыта потенциальным перехватчикам . [1] Процесс шифрования и дешифрования сообщений включает ключи . Два основных типа ключей в криптографических системах — это симметричный ключ и открытый ключ (также известный как асимметричный ключ). [9] [10]
Многие сложные криптографические алгоритмы часто используют в своих реализациях простую модульную арифметику . [11]
В схемах с симметричным ключом [12] ключи шифрования и дешифрования одинаковы. Общающиеся стороны должны иметь один и тот же ключ, чтобы обеспечить безопасную связь. Немецкая машина Enigma использовала новый симметричный ключ каждый день для кодирования и декодирования сообщений. В дополнение к традиционным типам шифрования, люди могут повысить свою безопасность, используя VPN или определенные настройки браузера для шифрования своего интернет-соединения, обеспечивая дополнительную защиту конфиденциальности при просмотре веб-страниц. [13]
В схемах шифрования с открытым ключом ключ шифрования публикуется для использования и шифрования сообщений любым лицом. Однако только принимающая сторона имеет доступ к ключу дешифрования, который позволяет читать сообщения. [14] Шифрование с открытым ключом было впервые описано в секретном документе в 1973 году; [15] до этого все схемы шифрования были с симметричным ключом (также называемым закрытым ключом). [16] : 478 Хотя впоследствии работа Диффи и Хеллмана была опубликована в журнале с большой читательской аудиторией, и ценность методологии была явно описана. [17] Метод стал известен как обмен ключами Диффи-Хеллмана .
RSA (Rivest–Shamir–Adleman) — еще одна известная криптосистема с открытым ключом . Созданная в 1978 году, она до сих пор используется для приложений, включающих цифровые подписи . [18] Используя теорию чисел , алгоритм RSA выбирает два простых числа , которые помогают генерировать как ключи шифрования, так и ключи дешифрования. [19]
Публично доступное приложение шифрования с открытым ключом под названием Pretty Good Privacy (PGP) было написано в 1991 году Филом Циммерманном и распространялось бесплатно с исходным кодом. PGP было куплено Symantec в 2010 году и регулярно обновляется. [20]
Шифрование давно используется военными и правительствами для облегчения секретной связи. Теперь оно широко используется для защиты информации во многих видах гражданских систем. Например, Институт компьютерной безопасности сообщил, что в 2007 году 71% опрошенных компаний использовали шифрование для некоторых своих данных при передаче, а 53% использовали шифрование для некоторых своих данных в хранилище. [21] Шифрование может использоваться для защиты данных «в состоянии покоя», таких как информация, хранящаяся на компьютерах и устройствах хранения (например, USB-флеш-накопителях ). В последние годы было много сообщений о том, что конфиденциальные данные, такие как личные записи клиентов, были раскрыты в результате потери или кражи ноутбуков или резервных копий; шифрование таких файлов в состоянии покоя помогает защитить их, если физические меры безопасности не срабатывают. [22] [23] [24] Системы управления цифровыми правами , которые предотвращают несанкционированное использование или воспроизведение материалов, защищенных авторским правом, и защищают программное обеспечение от обратного проектирования (см. также защиту от копирования ), являются еще одним несколько иным примером использования шифрования для данных в состоянии покоя. [25]
Шифрование также используется для защиты данных при передаче, например, данных, передаваемых по сетям (например, Интернет, электронная коммерция ), мобильным телефонам , беспроводным микрофонам , беспроводным системам внутренней связи, устройствам Bluetooth и банковским банкоматам . В последние годы было много сообщений о перехвате данных при передаче. [26] Данные также должны быть зашифрованы при передаче по сетям, чтобы защитить от прослушивания сетевого трафика неавторизованными пользователями. [27]
Обычные методы окончательного удаления данных с устройства хранения данных включают перезапись всего содержимого устройства нулями, единицами или другими шаблонами — процесс, который может занять значительное количество времени в зависимости от емкости и типа носителя информации. Криптография предлагает способ сделать стирание практически мгновенным. Этот метод называется крипто-шреддингом . Пример реализации этого метода можно найти на устройствах iOS , где криптографический ключ хранится в выделенном «стираемом хранилище». [28] Поскольку ключ хранится на том же устройстве, эта настройка сама по себе не обеспечивает полной конфиденциальности или защиты безопасности, если несанкционированное лицо получит физический доступ к устройству.
Шифрование используется в 21 веке для защиты цифровых данных и информационных систем. С ростом вычислительной мощности с годами технология шифрования становилась все более продвинутой и безопасной. Однако этот прогресс в технологии также выявил потенциальное ограничение современных методов шифрования.
Длина ключа шифрования является показателем надежности метода шифрования. [29] Например, исходный ключ шифрования, DES (Data Encryption Standard), был 56 бит, что означает, что у него было 2^56 возможностей комбинации. С сегодняшней вычислительной мощностью 56-битный ключ больше не является безопасным, будучи уязвимым для атак методом подбора . [30]
Квантовые вычисления используют свойства квантовой механики для одновременной обработки больших объемов данных. Было обнаружено, что квантовые вычисления достигают вычислительной скорости в тысячи раз выше, чем у современных суперкомпьютеров. [31] Эта вычислительная мощность представляет собой проблему для современных технологий шифрования. Например, шифрование RSA использует умножение очень больших простых чисел для создания полупростого числа для своего открытого ключа. Расшифровка этого ключа без его закрытого ключа требует факторизации этого полупростого числа, что может занять очень много времени для современных компьютеров. Суперкомпьютеру потребовалось бы от нескольких недель до нескольких месяцев, чтобы факторизовать этот ключ. [ требуется цитата ] Однако квантовые вычисления могут использовать квантовые алгоритмы для факторизации этого полупростого числа за то же время, которое требуется обычным компьютерам для его генерации. Это сделало бы все данные, защищенные текущим шифрованием с открытым ключом, уязвимыми для атак квантовых вычислений. [32] Другие методы шифрования, такие как криптография эллиптических кривых и симметричное шифрование с ключом, также уязвимы для квантовых вычислений. [ требуется цитата ]
Хотя квантовые вычисления могут представлять угрозу безопасности шифрования в будущем, квантовые вычисления в их нынешнем виде все еще очень ограничены. В настоящее время квантовые вычисления не являются коммерчески доступными, не могут обрабатывать большие объемы кода и существуют только как вычислительные устройства, а не компьютеры. [33] Более того, достижения квантовых вычислений также смогут использоваться в интересах шифрования. Агентство национальной безопасности (АНБ) в настоящее время готовит постквантовые стандарты шифрования для будущего. [34] Квантовое шифрование обещает уровень безопасности, который сможет противостоять угрозе квантовых вычислений. [33]
Шифрование является важным инструментом, но его недостаточно для обеспечения безопасности или конфиденциальности конфиденциальной информации на протяжении всего срока ее службы. Большинство приложений шифрования защищают информацию только в состоянии покоя или при передаче, оставляя конфиденциальные данные в открытом виде и потенциально уязвимыми для ненадлежащего раскрытия во время обработки, например, облачным сервисом. Гомоморфное шифрование и безопасные многосторонние вычисления являются новыми методами вычисления зашифрованных данных; эти методы являются общими и полными по Тьюрингу, но требуют высоких вычислительных и/или коммуникационных затрат.
В ответ на шифрование данных в состоянии покоя киберпреступники разработали новые типы атак. Эти более поздние угрозы шифрованию данных в состоянии покоя включают криптографические атаки, [35] атаки с использованием украденного зашифрованного текста , [36] атаки на ключи шифрования, [37] внутренние атаки , атаки на повреждение или целостность данных, [38] атаки на уничтожение данных и атаки с использованием программ-вымогателей . Технологии защиты данных с помощью фрагментации данных [39] и активной защиты [40] пытаются противостоять некоторым из этих атак, распространяя, перемещая или изменяя зашифрованный текст, чтобы его было сложнее идентифицировать, украсть, повредить или уничтожить. [41]
Вопрос о балансе между необходимостью национальной безопасности и правом на неприкосновенность частной жизни обсуждается уже много лет, поскольку шифрование стало критически важным в современном цифровом обществе. Современные дебаты о шифровании [42] начались примерно в 90-х годах, когда правительство США попыталось запретить криптографию, поскольку, по их мнению, она будет угрожать национальной безопасности. Дебаты поляризованы вокруг двух противоположных точек зрения. Те, кто считает, что сильное шифрование является проблемой, облегчающей преступникам скрытие их незаконных действий в сети, и другие, которые утверждают, что шифрование обеспечивает безопасность цифровых коммуникаций. Дебаты разгорелись в 2014 году, когда такие крупные технологические компании, как Apple и Google, установили шифрование по умолчанию на своих устройствах. Это стало началом серии споров, которые ставят под угрозу правительства, компании и интернет-пользователей.
Шифрование само по себе может защитить конфиденциальность сообщений, но для защиты целостности и подлинности сообщения по-прежнему необходимы другие методы; например, проверка кода аутентификации сообщения (MAC) или цифровой подписи , обычно выполняемая алгоритмом хеширования или подписью PGP . Аутентифицированные алгоритмы шифрования предназначены для одновременного обеспечения как шифрования, так и защиты целостности. Стандарты для криптографического программного обеспечения и оборудования для выполнения шифрования широко доступны, но успешное использование шифрования для обеспечения безопасности может быть сложной проблемой. Одна ошибка в проектировании или выполнении системы может позволить успешные атаки. Иногда злоумышленник может получить незашифрованную информацию, не отменяя шифрование напрямую. См., например, анализ трафика , TEMPEST или Троянский конь . [43]
Механизмы защиты целостности, такие как MAC и цифровые подписи, должны применяться к зашифрованному тексту, когда он впервые создается, как правило, на том же устройстве, которое использовалось для составления сообщения, чтобы защитить сообщение от начала до конца по всему пути его передачи; в противном случае любой узел между отправителем и агентом шифрования может потенциально подделать его. Шифрование во время создания является безопасным только в том случае, если само устройство шифрования имеет правильные ключи и не было подделано. Если конечное устройство настроено на доверие корневому сертификату , который контролирует злоумышленник, например, то злоумышленник может как проверять, так и подделывать зашифрованные данные, выполняя атаку «человек посередине» в любом месте пути сообщения. Распространенная практика перехвата TLS сетевыми операторами представляет собой контролируемую и институционально санкционированную форму такой атаки, но страны также пытались использовать такие атаки как форму контроля и цензуры. [44]
Даже когда шифрование правильно скрывает содержимое сообщения и его нельзя подделать в состоянии покоя или при передаче, длина сообщения является формой метаданных , которые все равно могут привести к утечке конфиденциальной информации о сообщении. Например, известные атаки CRIME и BREACH против HTTPS были атаками по сторонним каналам , которые полагались на утечку информации через длину зашифрованного содержимого. [45] Анализ трафика представляет собой широкий класс методов, которые часто используют длину сообщений для вывода конфиденциальной реализации о потоках трафика путем агрегации информации о большом количестве сообщений.
Дополнение полезной нагрузки сообщения перед его шифрованием может помочь скрыть истинную длину открытого текста за счет увеличения размера зашифрованного текста и введения или увеличения накладных расходов на полосу пропускания . Сообщения могут быть дополнены случайным или детерминированным образом , причем каждый подход имеет различные компромиссы. Шифрование и дополнение сообщений для формирования дополненных однородных случайных блобов или PURB — это практика, гарантирующая, что зашифрованный текст не будет выдавать никаких метаданных о содержании своего открытого текста и будет выдавать асимптотически минимальную информацию по его длине. [46]