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

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

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

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

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

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

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

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

Криптография положена в фундамент современного общества. На ней основаны бесчисленные интернет-приложения, работающие по протоколу безопасной передачи гипертекста (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 используют множество технологий шифрования и хранения, которые гарантируют целостность ваших данных при хранении и передаче. 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.

Криптография в AWS: дальнейшие шаги

Зарегистрировать бесплатный аккаунт

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

Регистрация 
Начните разработку в консоли

Начните разработку в Консоли управления AWS.

Вход