Криптография что
Перейти к содержимому

Криптография что

  • автор:

Криптография что

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

Часто возникает ситуация, когда информация не является конфиденциальной, но важен факт поступления сообщений в неискаженном виде, т.е. наличие гарантии, что сообщение не было подделано. Такая гарантия называется обеспечением целостности информации и составляет вторую задачу криптографии.

При передаче электронных документов (в том числе и через Интернет) возможна как их подмена или редактура, так и — в случае секретного текста — доступ посторонних лиц к передаваемой информации. Таким образом, электронные документы также нуждаются в криптографической защите.

  • Обеспечение уверенности получателя в том, что документ подлинный и корректный, т.е. при передаче не был подменен или отредактирован;
  • Обеспечение невозможности доступа посторонних лиц к содержанию документа.

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

Электронная подпись (ЭП) — цифровой аналог ручной подписи, обеспечивающий возможность проверки подлинности и корректности документа. Существует техническая возможность проверки электронной подписи: если документ подменен или искажен при передаче, подпись при проверке будет признана некорректной.

Зашифрование документа — видоизменение текста документа таким образом, что только тот или те, для кого текст документа предназначен, в состоянии восстановить исходный текст.

Криптографические программные продукты

Для защиты информации используются специальные пользовательские программные продукты. Они разделяются на две основные группы.

Первая группа, очень широко распространенная — это криптопровайдеры (или CSP, Cryptographic Service Providers). CSP не являются самостоятельными приложениями, они предоставляют криптографические функции другим приложениям — например, таким, как почтовые программы. Пользователь фактически не имеет дела непосредственно с CSP, работая с привычным ему пользовательским интерфейсом. CSP обладают универсальностью — один и тот же CSP может использоваться для работы со множеством различных программ. Примером такого продукта производства ООО «Криптоком» является криптопровайдер МагПро CSP.

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

Криптографические алгоритмы

Для того чтобы с помощью электронной подписи можно было установить факт подмены или редактуры документа при передаче, необходимо, чтобы электронная подпись вырабатывалась на основе самого текста документа. Т.е. ЭП представляет собой последовательность символов, связанную с текстом документа так, что при изменении документа нарушается заданное соответствие между ЭП и текстом. Таким образом, для получения ЭП под документом нужно провести некоторое преобразование текста документа.

Для получения зашифрованного текста исходный текст также преобразовывается так, чтобы восстановление исходного текста было практически невозможным без знания определенной информации. Лица, обладающие этой информацией, должны быть в состоянии восстановить исходный текст. Очевидно, что информация, необходимая для восстановления текста (расшифрования), должна быть известна только адресатам.

Совокупность операций, которые производятся над текстом при криптографическом преобразовании, называется криптографическим алгоритмом.

В настоящее время существует множество криптографических алгоритмов, используемых для решения различных криптографических задач.

Алгоритмы, т.е. сами последовательности действий, не являются секретными.

Стандарты на криптографические алгоритмы

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

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

В России существуют собственные государственные стандарты на алгоритмы шифрования и выработки/проверки электронной подписи: ГОСТ 28147-89, ГОСТ Р 34.10-2012, ГОСТ Р 34.10-2012.

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

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

На криптографические алгоритмы существуют стандарты, т.е. официально оформленные совокупности требований, которым эти алгоритмы должны отвечать. Эти стандарты различны в разных странах и изменяются со временем. Популярные американские алгоритмы — RSA, DSA и т.д. — которые часто используются в распространенных программных продуктах, отвечают американским стандартам.

В России также приняты государственные стандарты на криптографические алгоритмы. Российские производители, в том числе ООО «Криптоком», используют в своих программных продуктах алгоритмы, соответствующие российским стандартам.

Криптографические ключи

В качестве секретной информации используются криптографические ключи.

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

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

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

Каждый алгоритм предъявляет собственные требования к ключам, поэтому любой криптографический ключ создается для определенного алгоритма и используется только с этим алгоритмом.

Если выработка электронной подписи и ее проверка, или зашифрование и расшифрование текста выполняются с помощью одного и того же ключа, такой подход называется симметричной криптографией (соответственно симметричные алгоритмы и симметричные ключи). Операции симметричной криптографии выполняются быстро и сравнительно просты. Но они требуют знания ключа по меньшей мере двумя людьми, что значительно повышает риск их компрометации (т.е. доступа к ним посторонних лиц).

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

В асимметричной криптографии применяются так называемые ключевые пары (key pairs). Каждая такая пара состоит из двух связанных между собой ключей. Один из этих ключей — закрытый (private key). Он известен только владельцу ключа и ни при каких условиях не должен быть доступен никому другому. Другой ключ — открытый (public key), он может быть доступен любому желающему.

Для выработки ЭП необходим закрытый ключ автора сообщения, для проверки — открытый. Таким образом, создать ЭП может только владелец закрытого ключа, а проверить — любой пользователь, получивший соответствующий открытый ключ.

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

Ключевая пара, используемая для работы с ЭП (выработки и проверки ЭП), называется ключами подписи (signature keys). Ключевая пара, используемая для зашифрования и расшифрования сообщений, называется ключами обмена (exchange keys).

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

Эта проблема решается с помощью так называемой гибридной криптографии.

В процессе шифрования прежде всего создается одноразовый (так называемый сеансовый) ключ шифрования (session encryption key). Это симметричный ключ, т.е. один и тот же ключ используется и для зашифрования, и для расшифрования. Одноразовым или сеансовым он называется потому, что используется для зашифрования/расшифрования только одного сообщения.

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

Затем сам ключ шифрования зашифровывается по асимметричному алгоритму на открытом ключе обмена получателя. Поскольку ключ шифрования представляет собой сравнительно небольшой объем данных, зашифрование такого ключа не занимает много времени.

Зашифрованный ключ шифрования включается в сообщение.

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

Если получателей несколько, то сообщение зашифровывается один раз на сеансовом ключе шифрования, а ключ (сравнительно небольшой объем данных) зашифровывается отдельно на открытом ключе обмена каждого получателя. Таким образом, зашифрованное сообщение вместо нескольких копий сообщения, зашифрованных для каждого получателя, содержит одну зашифрованную копию сообщения и несколько копий одноразового сеансового ключа шифрования, зашифрованных для каждого получателя. Объем зашифрованного сообщения и время, необходимое для его зашифрования, оказываются существенно меньшими, чем если бы сообщение шифровалось по асимметричному алгоритму для каждого получателя.

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

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

Сертификаты

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

Сертификаты выпускаются специальными уполномоченными центрами, которые могут носить различные названия: удостоверяющий центр, центр сертификации, пункт регистрации абонентов и т.д. В любом случае такой центр выполняет административные функции. Центр и пользователи (абоненты), которые пользуются услугами центра, составляют криптосеть.

Для того чтобы центр выпустил сертификат на открытый ключ, абоненту необходимо прислать заявку (запрос) на такой сертификат. Заявка содержит открытый ключ и всю информацию о нем и о владельце. Центр проверяет подлинность и корректность этой информации (как именно — зависит от регламента центра) и выпускает сертификат, заверяя его своей электронной подписью.

Цепочки доверия

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

Такие цепочки документов, каждый из которых проверяется на следующем, называются цепочками доверия.

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

Документ может считаться корректным только в том случае, если корректны все документы, входящие в цепочку доверия от данного документа до документа, которым заканчивается цепочка (корневого).

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

Датчики случайных чисел и создание ключей

Ключи создаются по специальным алгоритмам на основе последовательностей случайных чисел.

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

Такие уникальные последовательности случайных чисел генерируются во время создания ключей с помощью специальных устройств или программ, называемых датчиками случайных чисел.

Очень удобны и быстры так называемые аппаратные датчики случайных чисел, представляющие собой физические устройства — платы, подключенные к компьютеру. Такие датчики создают последовательности случайных чисел на основе физических процессов. Генерация последовательностей случайных чисел с помощью аппаратного датчика происходит очень быстро и без участия пользователя.

Но такие датчики устанавливаются не на каждом компьютере. Поэтому часто для создания ключей используется клавиатурный датчик случайных чисел~— программа, использующая для создания последовательности случайных чисел физический процесс нажатия клавиш пользователем. Для инициализации такого датчика пользователю необходимо нажать определенное количество указываемых ему клавиш (если все клавиши нажаты безошибочно, то нужно 40 нажатий; если пользователь допускает ошибочные нажатия, количество необходимых нажатий увеличивается). Создание ключей с помощью клавиатурного датчика — более медленный процесс, чем создание ключей с помощью аппаратного датчика, но его можно осуществить на любом компьютере.

Хранение закрытых ключей

Для удобства хранения закрытых ключей может создаваться файл специального формата, в котором хранятся закрытые ключи. Файл, в свою очередь, может храниться на жестком диске компьютера, на дискете, на флэш-накопителе. Для защиты закрытого ключа от несанкционированного чтения он хранится в файле в зашифрованном виде, т.е. для того, чтобы прочитать закрытый ключ и воспользоваться им, необходимо знать пароль (парольную фразу), на которой зашифрован ключ.

  • Устройство должно включать в себя область памяти, достаточной, чтобы записать туда закрытые ключи (иногда эту область памяти называют «хранилищем ключей»);
  • Устройство должно легко подключаться к компьютеру, чтобы ключи могли быть считаны;
  • Устройство должно легко отключаться от компьютера, чтобы злоумышленники не могли считать с него ключи.

Таким условиям удовлетворяет USB-токен «Вьюга», разработанный в ООО «Криптоком». Устройство «Вьюга» включает в себя генератор случайных чисел (т.е. может использоваться как датчик случайных чисел при генерации ключей) и область памяти объема, достаточного для хранения ключей. Устройство подключается к компьютеру через USB-порт. Возможно подключение устройства к компьютеру непосредственно в процессе работы.

Компрометация ключей

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

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

Что такое криптография и как она стала частью нашей жизни

Фото: Unsplash

Криптография — это технология шифрования исходного сообщения в секретный код или шифр и его последующего дешифрования. Термин происходит от древнегреческих kryptós — скрытый, и graphein — писать.

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

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

Фото:Shutterstock

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

Алгоритмы шифрования

Алгоритмы шифрования в криптографии делятся на два основных класса:

  • Симметричные используют один секретный ключ для шифрования и дешифрования данных. Симметричное шифрование используется, например, в банковских переводах и при оплате онлайн. Его уязвимость заключается в возможном перехвате самого ключа: в этом случае посторонние получат неограниченный доступ к информации.

Фото: Otus.ru

Фото: Otus.ru

  • Асимметричные алгоритмы решают упомянутую проблему наличием двух ключей — публичного и приватного. Сначала отправитель шифрует сообщение с помощью своего открытого ключа и отправляет его адресату. Получатель сможет декодировать исходное сообщение только при наличии уже собственного приватного ключа. Именно эта уникальная пара «публичный код отправителя — приватный ключ получателя» делает кражу одного из кодов бесполезной и улучшает защиту. Асимметричные алгоритмы используются, в частности, для генерации цифровых подписей.

Фото: Otus.ru

Фото: Otus.ru

Как развивалась криптография

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

Прародители криптографии и ее развитие до XX века

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

Со временем криптография стала использоваться государственными деятелями в военном деле и для общения с доверенными лицами. Так появился шифр Цезаря [2], названный в честь римского диктатора. Известно, что он отправлял приказы своим генералам на фронт в зашифрованном виде. Цезарь использовал моноалфавитный шифр или шифр простой замены. Он работает по принципу сдвига: буквы заменяются на следующие в алфавитном ряду через определенный шаг. Например, при тройном сдвиге, буква A заменяется на D, B — на E и так далее.

Шифр Цезаря.

Шифр Цезаря. (Фото: Secplicity.org )

В Средние века криптографией уже пользовались почти все западноевропейские правители. Сложность шифрования почти не менялась в течение многих веков. Пока в XV веке итальянский ученый Леон Баттиста Альберти по заказу папской канцелярии не разработал полиалфавитный шифр на смену моноалфавитным кодам, что вывело криптографию на новый уровень [3]. Его метод заключался в использовании медного шифровального диска с двумя кольцами, на каждом из которых был начертан алфавит. За счет их прокрутки осуществлялось двойное шифрование.

От мировых войн к первым компьютерам

В XX веке активно развивалась радиосвязь. Военные стали использовать ее для оперативной отправки приказов. При этом у нее был существенный недостаток: стратегически важные данные стали более уязвимыми для перехвата. Это послужило толчком к новому этапу развития криптографии [4].

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

В разгар Второй мировой войны британскому математику Алану Тьюрингу и его коллегам по Правительственной школе кодов и шифров Великобритании была поручена важнейшая миссия — научиться перехватывать и расшифровывать сообщения немецкого командования. Результатом их работы стала вычислительная машина «Бомба», предназначенная для взлома шифров, которые генерировала «Энигма». После окончания войны Уинстон Черчилль сказал королю Георгу VI, что именно проект Тьюринга помог стране обеспечить преимущество над противником. А «Бомба» и последовавшие за ней вычислительные машины стали прототипами современных компьютеров [5].

Криптография для всех

В послевоенные годы ученых заинтересовали перспективы использования криптографии в гражданских целях. Пионерами этого направления исследований стали специалисты из Стэнфорда, М ассачусетского технологического института и телекоммуникационных компаний.

В начале 1970-х годов компания IBM создала алгоритм Lucifer — первый блочный (шифрующий данные блоками фиксированной длины) шифр для гражданского применения [6]. Как раз в это время происходил бурный рост экономики США, а вместе с ним закладывались основы глобальной финансовой системы, которая все активнее использовала электронные транзакции. Надежный алгоритм для защиты этих данных стал необходимостью.

Далее, уже по заказу Национального бюро стандартов США, на основе алгоритма Lucifer был разработан шифр DES (Data Encryption Standard) [7]. Этот шифр заложил основу симметричного шифрования, предполагающего наличие одного секретного кода. Начиная с 1977 года, государственные органы США были обязаны использовать DES для защиты конфиденциальной информации в правительственных компьютерных системах и сетях. Этот стандарт применялся до начала 2000-х годов, пока ему на смену не пришел более совершенный AES (Advanced Encryption Standard) [8].

С развитием интернета в 1990-е годы встал вопрос защиты данных простых людей. Независимые криптографы работали над продвинутыми методами шифрования, которые стали бы доступны всем пользователям. При этом ученые стремились добавить дополнительный — по сравнению с симметричным шифрованием — уровень защиты, предложив использовать два ключа вместо одного. В 1977 году появился алгоритм RSA, название которого образовано от первых букв фамилий его разработчиков из Массачусетского технологического института — Рона Ривеста, Ади Шамира и Леонарда Адлемана. Именно он стал наиболее распространенным асимметричным алгоритмом.

В 1991 году американский программист Фил Циммерман написал программу шифрования, которой дал ироничное название PGP (Pretty Good Privacy) — в дословном переводе «достаточно хорошая приватность». Она стала первой общедоступной кодовой программой: Циммерман, будучи настоящим энтузиастом и фанатом своего дела, бесплатно опубликовал ее в интернете. И тут же у него начались проблемы с законом [9]. То, что сейчас является инструментом обеспечения безопасности каждого в интернете, тогда держалось в секрете. Против Циммермана возбудили уголовное дело за нарушение Закона о контроле за экспортом оружия — в США в то время криптографическое программное обеспечение все еще считалось военным ресурсом. Хотя уже в 1996 году расследование было прекращено без предъявления обвинений, а PGP стала де-факто стандартом для защиты электронной почты.

Другим важным событием в развитии криптографии стало создание командой Netscape протокола SSL (Secure Sockets Layer) для обеспечения шифрованного соединения между веб-сервером и веб-браузером [10]. Разработанный в 1990-е годы SSL является предшественником шифрования TLS (Transport Layer Security), используемого сегодня. Веб-сайт, реализующий SSL/TLS, имеет в своем URL-адресе «HTTPS» вместо «HTTP». Маркировка «S» свидетельствует о дополнительном уровне защиты.

Принципы современной криптографии

Современная криптография использует ряд ключевых принципов, без соблюдения которых ни один алгоритм не может считаться безопасным [11]:

  • Конфиденциальность — недоступность информации для посторонних глаз. Данные открыты только тем, у кого есть авторизация на просмотр, например, ключ дешифрования.
  • Целостность — сохранность и неизменность данных во время их передачи. При обмене информацией через общедоступную сеть, например интернет, алгоритм должен гарантировать, что она будет доставлена получателю в исходном виде.
  • Невозможность отказа от ответственности — благодаря инструментам определения источника данных, отказ от авторства собственного сообщения не представляется возможным. Этот принцип гарантирует, что у человека не получится отказаться от своего же сообщения, обвинив алгоритм в подмене: сообщение закреплено за автором. Его можно удалить, но поменять авторство — нет.
  • Аутентификация — подтверждение личности пользователя в системе. Гарантирует, что он является именно тем, кем представляется в сети.

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

Впервые идея открытых алгоритмов была сформулирована голландским криптографом Кергоффсом еще в конце XIX столетия [12]. Он смог обосновать, что секретность системы делает ее уязвимой: при раскрытии одного из ее элементов, можно понять, как генерируются ключи и этим полностью ее скомпрометировать. Защищать ее должна сложность подбора ключей. По Кергоффсу, устойчивый алгоритм постоянно изменяет ключи дешифрования и этим обеспечивает защиту данных, в то время как принцип его работы не составляет секрета.

У принципа Кергоффса есть альтернативы, например, концепция «безопасность через неясность» (Security through obscurity или STO), которая предполагает, что злоумышленник не сможет узнать об уязвимостях системы благодаря секретности ее алгоритмов [13].

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

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

Аутентификация

Так называется процесс проверки подлинности информации. Чтобы предоставить пользователю доступ в его виртуальный аккаунт, система проводит аутентификацию его личности, например, с помощью пароля или биометрии путем сканирования отпечатка пальца или сетчатки глаза. Авторство документов проверяется с помощью цифровых подписей, которые подобны электронным «отпечаткам пальцев». В форме закодированного сообщения цифровая подпись связывает автора с документом.

Фото:Shutterstock

Яркий пример, продемонстрировавший неотделимость цифровой подписи от человека, — скандал с утечкой данных с компьютера Хантера Байдена, сына кандидата (на тот момент) в президенты Джо Байдена [14]. Эксперты-криптологи, сотрудничавшие с газетой Washington Post, смогли подтвердить подлинность части писем именно благодаря электронным подписям и временным меткам. Так как письма были отправлены через почтовый сервис Google, использующий тщательно защищенные сертификаты, не оставалось сомнений, что письма действительно отправлялись Хантером Байденом, а не были подделкой хакеров.

Безопасное соединение между сервером и браузером

Осуществляется, в основном, благодаря протоколам SSL/TLS и обеспечивает безопасность и конфиденциальность пользовательских данных в интернете. Гарантирует, что пользователю откроется именно тот сайт, на который он перешел по ссылке, а не любой другой.

Шифрование жестких дисков

Именно инструменты криптографии кодируют файлы на жестких дисках от злоумышленников.

Сквозное шифрование ( end-to-end encryption)

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

Фото:Markus Spiske / Unsplash

Электронные деньги

Шифрование используется для защиты данных транзакций, таких как номера счетов и сумм, в то время как цифровые подписи (например, PIN-код или одноразовый код на номер телефона) авторизовывают оплату с кредитной карты. Сегодня невозможно представить покупки в интернете без должного уровня развития информационной безопасности. Пользователи попросту боялись бы предоставлять данные своей карты, не будучи уверенными в их сохранности.

Криптовалюты

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

Квантовая криптография

Это технология защиты информации, основанная на принципах квантовой механики. Специалисты называют ее криптографией будущего. Из-за своей высокой стоимости и сложности применения она пока является «‎проектом в разработке»‎ и еще на пути к практическому использованию. При этом ведущие технологические гиганты уже рассказывают о своих успехах в этом направлении [16].

Криптография

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

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

Освойте профессию «Белый хакер»

«Белый» хакер

Научитесь защищать информационные системы: проводить атаки, анализировать программы и искать в них уязвимости. Станьте востребованным специалистом и работайте из любой точки мира.

картинка (97)

Профессия / 13 месяцев
«Белый» хакер

Взламывайте ПО безнаказанно и за оплату

cables_2 2-PhotoRoom 1 (3)

Основы криптографии

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

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

Основной метод, используемый в современной криптографии, это процесс шифрования, который трансформирует информацию в закодированный формат, доступный для дешифровки лишь с применением соответствующего ключа. Если только отправитель и получатель имеют код, передаваемые данные остаются непонятными символами для всех остальных.

Основные понятия криптографии

Понятия Описание
Шифрование Процесс преобразования данных в зашифрованный вид для обеспечения конфиденциальности
Дешифрование Обратный процесс, при котором зашифрованные данные возвращаются к исходному виду
Ключ Секретная информация, используемая в алгоритме шифрования для преобразования данных
Криптографический протокол Совокупность шагов и правил для выполнения безопасных криптографических операций
Протокол SSL/TLS Протоколы обеспечивают шифрование данных при передаче через интернет, обеспечивая безопасное соединение
Ключевое управление Процесс генерации, хранения и управления ключами шифрования для обеспечения безопасности
Криптографические средства Инструменты, методы и алгоритмы для реализации криптографической защиты информации

Популярные термины в криптографии

Алгоритмы шифрования

В криптографии существуют два главных типа алгоритмов шифрования.

  • Симметричные алгоритмы, которые используют один и тот же секретный ключ как для зашифрования, так и для расшифровки данных. Примером симметричного шифрования является его применение в финансовых транзакциях и онлайн-платежах. Однако такие алгоритмы уязвимы для атак, связанных с возможностью перехвата ключа. В этом случае злоумышленники получают доступ к зашифрованным данным.

Симметричный тип алгоритма шифрования, пример

  • Асимметричные алгоритмы, которые решают проблему безопасности с использованием двух ключей: публичного и приватного. Первоначально отправитель шифрует сообщение с помощью своего открытого ключа и отправляет его получателю. Для декодирования сообщения получатель использует свой приватный ключ. Уникальная пара «публичный ключ отправителя — приватный ключ получателя» обеспечивает надежную защиту данных и предотвращает возможность кражи. Асимметричные алгоритмы применяются для создания цифровых подписей и других задач.

Ассиметричный алгоритм шифрования, пример

Виды криптографии тезисно

Для большей наглядности подготовилитаблицу.

В средние века искусство криптографии нашло практическое применение у большинства западноевропейских монархов и правителей. На протяжении длительных веков процесс шифрования оставался практически неизменным. Однако в XV веке итальянский ученый Леон Баттиста Альберти по приказу папской канцелярии создал полиалфавитный шифр, который заменил устаревшие моноалфавитные коды и поднял криптографию на более высокий уровень. Его методика основывалась на применении медного шифровального диска с двумя кольцами, на каждом из которых была изображена буква алфавита. Вращение колец позволяло осуществлять двойное шифрование информации.

Со времен мировых войн до зарождения первых компьютерных систем

В XX веке радиосвязь стремительно развивалась, становясь неотъемлемой частью современной жизни. Военные начали активно применять радио для оперативной передачи сообщений. Однако подход имел существенный недостаток: важнейшие стратегические данные стали более подвержены перехвату. Именно это стало толчком для нового этапа развития криптографии.

В 1918 году немецкий инженер Артур Шербиус представил шифровальное устройство, которое затем стало прародителем знаменитой «Энигмы». Более поздними версиями машины пользовался Вермахт во время Второй мировой войны. Текст шифровался путем пропуска символов через три или более роторов, вращающихся с разной скоростью в процессе набора текста. Это приводило к замене каждого символа в сообщении. Оригинальное положение роторов играло роль ключа для расшифровки.

Дешифровальная машина Алана Тьюринга

Станьте специалистом
по кибербезопасности – научитесь отражать кибератаки и поддерживать безопасность любых IT-систем

Криптография для всех

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

В начале 1970-х годов компания IBM разработала алгоритм с названием Lucifer, который стал первым блочным шифром (шифрующим данные блоками фиксированной длины) для общественных нужд. Это событие совпало с быстрым экономическим ростом в США и установлением глобальной финансовой системы, активно внедряющей электронные транзакции. Безопасный алгоритм для защиты данных стал жизненно важным.

Позднее по заказу Национального бюро стандартов США на базе алгоритма Lucifer был разработан шифр DES (Data Encryption Standard). Он лег в основу симметричного шифрования, основанного на использовании одного секретного ключа. С 1977 года государственные органы США были обязаны применять DES для обеспечения конфиденциальности информации в государственных компьютерных системах и сетях. Этот стандарт продолжал использоваться до начала 2000-х годов, когда его сменил более совершенный стандарт AES (Advanced Encryption Standard).

схема алгоритма шифрования DES

Совместно с развитием интернета в 1990-е годы возникла потребность обеспечить безопасность данных обычных пользователей. Независимые эксперты в области криптографии начали трудиться над продвинутыми методами шифрования, которые могли бы быть доступны каждому. Одновременно они стремились повысить уровень защиты, внедряя дополнительные аспекты по сравнению с симметричным шифрованием.

Была предложена идея использования двух ключей вместо одного. В 1977 году был представлен алгоритм RSA, наименование которого образовано от имен разработчиков — Рона Ривеста, Ади Шамира и Леонарда Адлемана, работавших в Массачусетском технологическом институте. Этот алгоритм стал популярным примером асимметричного шифрования.

В 1991 году американский программист Фил Циммерман разработал программу для шифрования, получившую название PGP (Pretty Good Privacy) — дословно переводится как «достаточно хорошая конфиденциальность». Это была первая общедоступная кодовая программа. Циммерман, проявив настоящий энтузиазм и преданность своему делу, бесплатно опубликовал ее в сети интернет.

Однако он столкнулся с правовыми трудностями: тот инструмент, который сегодня обеспечивает безопасность каждого в сети, тогда был секретным. В отношении Циммермана было возбуждено уголовное дело за нарушение Закона об оружии и контроле над его экспортом, так как в то время в США криптографическое программное обеспечение рассматривалось как военный ресурс. Хотя расследование было прекращено без предъявления обвинений уже в 1996 году, PGP стала неформальным стандартом для защиты электронной почты.

Другим важным событием в развитии криптографии стала разработка командой компании Netscape протокола SSL (Secure Sockets Layer) для обеспечения зашифрованного соединения между веб-сервером и веб-браузером. Созданный в 1990-е годы SSL представляет собой предшественника шифрования TLS (Transport Layer Security), который используется в наши дни. Сайты, использующие SSL/TLS, имеют префикс HTTPS в адресе URL вместо обычного HTTP. Буква S указывает на наличие дополнительного уровня защиты.

Шифрование SSL и TLS

Принципы современной криптографии

Современные методы криптографии опираются на ряд ключевых принципов, соблюдение которых неотъемлемо для обеспечения безопасности.

  1. Конфиденциальность. Данные остаются доступными только для тех, кто имеет соответствующие авторизационные ключи для дешифрования.
  2. Целостность. Сохранение данных в неизменном состоянии во время передачи. В случае передачи информации через открытые сети, такие как интернет, криптографический алгоритм должен гарантировать, что данные доставлены получателю без искажений.
  3. Невозможность отказа от ответственности. Использование механизмов, позволяющих определить источник данных. Это предотвращает возможность отказа авторства сообщения, так как каждое сообщение привязано к конкретному отправителю. Можно удалить сообщение, но невозможно изменить авторство.
  4. Аутентификация. Подтверждение личности пользователя в системе. Этот принцип обеспечивает уверенность в том, что пользователь действительно является тем, кем он утверждает себя в сети.

Соблюдение этих принципов является неотъемлемым для обеспечения надежной защиты данных с использованием современных криптографических методов преобразования.

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

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

Пример шифрования Керкгоффса

Принципы Кергоффса имеют альтернативу в концепции безопасности через неясность (Security through obscurity или STO), которая предполагает, что уязвимости системы остаются невидимыми для злоумышленников благодаря сокрытости алгоритмов.

Станьте специалистом
по кибербезопасности – научитесь отражать кибератаки и поддерживать безопасность любых IT-систем

Где применяется криптография

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

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

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

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

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

Аутентификация

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

Аутентификация в криптографии - пример из Яндекса

Примером, демонстрирующим важность цифровой подписи, может служить случай с утечкой данных с компьютера Хантера Байдена, сына кандидата (на тот момент) в президенты Джо Байдена. Эксперты в области криптологии, сотрудничавшие с изданием Washington Post, смогли подтвердить подлинность части электронных писем именно благодаря цифровым подписям и временным отметкам. Поскольку письма были отправлены через почтовый сервис Google, использующий надежные сертификаты, не осталось никаких сомнений в том, что письма не являлись подделкой хакеров.

Безопасное соединение между сервером и браузером

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

Шифрование жестких дисков

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

настройки шифрования жесткого диска

Сквозное шифрование (end-to-end encryption)

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

Современные мессенджеры, такие как WhatsApp и Telegram, предлагают метод как один из наиболее защищенных способов общения. Он становится особенно важным в условиях, когда обмен личными данными и конфиденциальной информацией становится все более распространенным. Такие приложения используют протоколы шифрования, такие как протокол Signal, чтобы обеспечить надежную защиту данных при общении пользователей.

схема сквозного шифрования WhatsApp

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

Электронные деньги

Шифрование имеет важное значение в области защиты данных при совершении транзакций. Это особенно актуально для таких чувствительных данных, как номера счетов и суммы платежей. За счет применения шифрования информация о транзакциях становится недоступной для третьих лиц и злоумышленников, что обеспечивает высокий уровень конфиденциальности.

Цифровые подписи, такие как PIN-коды или одноразовые коды, играют важную роль в авторизации платежей с использованием кредитных карт. Механизмы обеспечивают дополнительный уровень безопасности, подтверждая, что владелец карты действительно авторизует оплату. Это позволяет предотвратить несанкционированные транзакции и мошенничество.

Современная эпоха интернет-покупок неотделима от внимания к информационной безопасности. С развитием онлайн-торговли пользователи стали все более требовательны к сохранности личных и финансовых данных. Применение шифрования и цифровых подписей повышает уровень доверия между покупателями и интернет-магазинами. Без надежной защиты многие сомневались бы в безопасности своих финансовых операций в онлайн-среде.

Криптовалюты

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

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

принцип криптография эллиптических кривых

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

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

Квантовая криптография

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

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

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

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

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

Что такое криптография?

Криптография – это метод защиты информации путем использования закодированных алгоритмов, хэшей и подписей. Информация может находиться на этапе хранения (например, файл на жестком диске), передачи (например, электронная связь между двумя или несколькими сторонами) или использования (при применении для вычислений). Криптография преследует четыре основных цели.

  • Конфиденциальность – предоставляет доступ к информации только авторизованным пользователям.
  • Целостность – гарантирует, что над информацией не производились манипуляции.
  • Подлинность – подтверждает подлинность информации или личность пользователя.
  • Обеспечение невозможности отказа – лишает возможности отрицать прежние обязательства или действия.

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

Для чего используется криптография?

Шифрование уходит корнями в передачу конфиденциальной информации между военными и политическими фигурами. Сообщения можно зашифровать так, чтобы они выглядели для всех, кроме предполагаемого получателя, как случайный текст.

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

По мере повышения безопасности отрасль криптографии стала охватывать более широкий круг целей относительно безопасности. Это аутентификация сообщений, целостность данных, безопасные вычисления и другие цели.

Криптография положена в фундамент современного общества. На ней основаны бесчисленные интернет-приложения, работающие по протоколу безопасной передачи гипертекста (HTTPS), безопасная текстовая и голосовая связь и даже цифровые валюты.

Что такое шифрование?

Алгоритм шифрования – это процедура, которая преобразует сообщение в формате неформатированного текста в зашифрованный текст. Современные алгоритмы используют сложные математические вычисления и один или несколько ключей шифрования. Благодаря этому можно относительно легко зашифровать сообщение, но практически невозможно расшифровать его, не зная ключей.

В зависимости от того, как действуют ключи, технологии шифрования делятся на две категории: симметричные и асимметричные.

Что такое криптография с симметричным ключом?

Алгоритмы шифрования с симметричным ключом используют одни и те же криптографические ключи для шифрования простого текста и расшифровки зашифрованного. При использовании симметричного шифрования все получатели сообщения должны иметь доступ к общему ключу.

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

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

Одним из самых популярных блочных шифров является расширенный стандарт шифрования (Advanced Encryption Standard, AES). Этот блочный шифр поддерживает 128-, 192- и 256-разрядные ключи. AES часто используется в сочетании со счётчиком с аутентификацией Галуа (Galois/Counter Mode, GCM), которое известно как AES-GCM, с целью создания алгоритма аутентифицированного шифрования.

AES – это промышленный стандарт шифрования, используемый во всем мире. Его безопасность широко известна, а эффективные программные и аппаратные реализации широко доступны.

Что такое асимметричная криптография (с открытым ключом)?

Асимметричная (с открытым ключом) криптография охватывает широкий круг алгоритмов. Они основаны на математических задачах, которые относительно легко решить в одном направлении и сложно в противоположном.

Одним из известнейших примеров таких задач является проблема разложения числа на множители: для четко подобранных простых чисел p и q мы можем быстро вычислить произведениеN=p*q. Но если дано лишь N, очень сложно восстановить p и q.

Широко используется такой криптографический алгоритм с открытым ключом на основе задачи разложения на множители, как функция Ривеста-Шамира-Адлемана (RSA). В сочетании с соответствующей схемой заполнения можно использовать RSA во многих целях, в том числе для асимметричного шифрования.

Схема шифрования называется асимметричной, если в ней один ключ (открытый) используется для шифрования данных, а другой, но математически связанный (частный) – для их расшифровки.

Необходимо, чтобы было невозможно вычислить частный ключ, если известен только открытый. Поэтому общий открытый ключ можно передавать, а частный – держать в тайне и в безопасности. Эти ключи называются парой ключей.

Одной из популярных схем асимметричного шифрования является RSA-OAEP, представляющая собой сочетание функции RSA со схемой заполнения, называемой Оптимальное асимметричное шифрование с заполнением (OAEP). Обычно RSA-OAEP используется только для шифрования небольших объемов данных, поскольку работает медленно и производит шифр, который намного длиннее незашифрованного текста.

Что такое гибридное шифрование?

Поскольку алгоритмы с открытым ключом, такие как RSA-OAEP, менее эффективны, чем их симметричные аналоги, которые не имеют широкого применения для непосредственного шифрования данных. Однако они играют важную роль в криптографической экосистеме, предоставляя возможность обмена ключами.

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

Ниже описаны два распространенных способа обмена симметричными ключами.

  • Асимметричное шифрование. Одна сторона генерирует симметричный ключ, затем зашифровывает ключ, применяя такой алгоритм, как RSA-OAEP, для открытого ключа другой стороны. Получатель может расшифровать зашифрованный текст с помощью своего частного ключа, чтобы восстановить симметричный ключ.
  • Обмен ключами Диффи-Хеллмана – (DH). Алгоритм Диффи-Хеллмана – это другой тип криптографического алгоритма с открытым ключом, разработанный специально для того, чтобы помочь сторонам достичь соглашения о симметричном ключе при отсутствии безопасного канала. Алгоритм Диффи-Хеллмана основан не на той же математической задаче, что и функция RSA, и менее гибок, чем RSA. Однако он отличается более эффективными конструкциями, которые предпочтительнее в некоторых примерах использования.

Это сочетание криптографии с открытым ключом для обмена ключей и симметричного шифрования для пакетного шифрования данных называется гибридным шифрованием.

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

Гибридное шифрование широко используется в протоколах передачи данных для Интернета, таких как протокол TLS (безопасность транспортного уровня). Когда вы подключаетесь к веб-сайту, который использует HTTPS (безопасный HTTP с TLS), браузер согласовывает криптографические алгоритмы, защищающие соединение. Это алгоритмы обмена ключами, симметричного шифрования и цифровой подписи.

Что такое цифровая подпись?

Схемы цифровых подписей – это тип криптографии с открытым ключом, который гарантирует целостность, подлинность и обеспечение невозможности отказа.

Процесс подписания можно воспринимать как шифрование файла с использованием частного ключа. Лицо, подписывающее цифровой документ, например файл или фрагмент кода, использует для создания «подписи» свой частный ключ.

Эта подпись является уникальной для пары документ-частный ключ и может прикрепляться к документу и проверяться с использованием открытого ключа лица, ставящего подпись. Двумя распространенными алгоритмами цифровой подписи являются RSA с вероятностной схемой подписи (RSA-PSS) и алгоритм цифровой подписи (DSA).

Что такое код аутентификации сообщения?

Код аутентификации сообщения (MAC) – это симметричная версия цифровой подписи. При использовании MAC две или больше сторон совместно используют ключ. Одна сторона создает тег MAC, который является симметричной версией цифровой подписи, и прикрепляет его к документу. Другая сторона может проверить целостность сообщения с использованием того же ключа, который использовался для создания тега.

Обратите внимание, что несколько сторон совместно используют ключ, с помощью которого создавались теги MAC, поэтому MAC невозможно использовать для аутентификации или обеспечения невозможности отказа, потому что неизвестно, какая сторона создала тег.

MAC могут быть автономными алгоритмами, например кодами аутентификации сообщений на основе хэша (HMAC). Однако, поскольку целостность сообщения почти всегда является ценным подтверждением, она часто интегрируется в алгоритмы симметричного шифрования, такие как AES-GCM.

Что такое эллиптическая криптография?

Эллиптическая криптография (ECC) – это технология криптографии с открытым ключом, основанная на математической теории эллиптических кривых.

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

ECC можно использовать для эффективного обмена ключами с использованием варианта протокола Диффи-Хеллмана (ECDH) на эллиптических кривых или для цифровых подписей с использованием алгоритма цифровых подписей на эллиптических кривых (ECDSA). Благодаря своей скорости и гибкости ECC широко используется во многих интернет-приложениях.

Что такое хэширование в криптографии?

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

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

Хэш-функции являются важным конструктивным элементом крупных криптографических алгоритмов и протоколов. Это алгоритмы цифровых подписей, алгоритмы выделенных MAC, протоколы аутентификации и хранилище паролей.

Что такое криптовалюта?

Криптовалюта – это цифровая валюта, при использовании которой транзакции подтверждаются и записи ведутся децентрализованной системой, а не централизованным органом. Криптовалюта является примером практического применения криптографии.

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

Что такое постквантовая криптография?

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

Крупномасштабный квантовый компьютер смог бы взломать сегодняшние криптосистемы с открытым ключом, в том числе криптосистемы на основе функций Ривеста-Шамира-Адлемана (RSA). Взлом этих алгоритмом означал бы потерю конфиденциальности и аутентификации многих приложений протоколов, которыми мы пользуемся в настоящее время.

Несмотря на то, что сегодня уже существуют небольшие квантовые компьютеры, они слишком малы для взлома криптографических алгоритмов. Неизвестно, когда появится криптографически релевантный квантовый компьютер (CRQC) и появится ли он вообще. Уже сделаны значительные научные прорывы, необходимые для разработки CRQC.

Постквантовая криптография (PQC) относится к криптографическим алгоритмам, выполняемым на компьютерах, которые мы используем сегодня, и не имеющим известных уязвимостей перед крупным квантовым компьютером.

Что такое криптографические вычисления?

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

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

Какие криптографические сервисы AWS предоставляет клиентам?

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

  • AWS CloudHSM предоставляет аппаратные модули безопасности (HSM), которые могут безопасно хранить разные криптографические ключи, в том числе корневые ключи и ключи данных.
  • Сервис управления ключами AWS (AWS KMS) предоставляет инструменты для генерирования корневых ключей и других ключей данных. Также AWS KMS взаимодействует со многими другими сервисами AWS для шифрования их данных, специфичных для этих сервисов.
  • AWS Шифрование SDK предоставляет библиотеку шифрования на стороне клиента для реализации шифрования и расшифровки всех типов данных.
  • Клиент шифрования Amazon DynamoDB предоставляет библиотеку шифрования на стороне клиента для шифрования таблиц данных перед их отправкой в сервис базы данных, такой как Amazon DynamoDB.
  • Менеджер секретов AWS обеспечивает шифрование и ротацию зашифрованных секретов, которые используются с базами данных, поддерживаемыми AWS.

Многие сервисы AWS используют эти криптографические сервисы во время передачи и хранения данных. Список этих сервисов и описание того, как они используют криптографические практики, см. в разделе Другие сервисы AWS.

Кроме того, AWS предоставляет криптографические библиотеки с открытым исходным кодом.

  • AWS libcrypto (AWS-LC) является криптографической библиотекой общего назначения, которую поддерживает криптографическая команда AWS для AWS и клиентов. Она основана на коде из проекта Google BoringSSL и проекта OpenSSL. AWS-LC содержит реализацию алгоритмов, необходимых для TLS и широко используемых приложений, написанную на Portable C. Версии с оптимизированной сборкой для требовательных к производительности алгоритмов предоставлены для x86 и ARM.
  • s2n-tls предоставляет простую, компактную и быструю реализацию протоколов TLS/SSL, в которой приоритет отдан безопасности.

Также вы можете просмотреть Блог Amazon Science и Блог по безопасности AWS. В них мы рассказываем о том, что делается для разработки, тестирования и прототипирования криптографических исследований. Мы пишем о криптографических вычислениях, постквантовой криптографии, проверенном криптографическом коде и затрагиваем другие темы в этой области.

Как использовать криптографические сервисы в AWS, которые отвечают правительственным или профессиональным нормам?

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *