Информация, приведенная в этом разделе вопросов и ответов, не применима к региону AWS Китай (Пекин) под управлением компании Sinnet и региону AWS Китай (Нинся) под управлением компании NWCD. Ответы на вопросы по этим двум регионам в Китае см. по ссылке.  

Общие вопросы

Вопрос: Что такое AWS Key Management Service (KMS)?
AWS KMS – это управляемый сервис, который позволяет просто создавать ключи для криптографических операций и контролировать их применение. AWS KMS предоставляет высокодоступное решение для хранения и аудита ключей, а также управления ими. Это позволяет шифровать данные в приложениях, применять к ним цифровую подпись, а также контролировать шифрование данных по всем сервисам AWS.

Вопрос: Какие задачи позволяет решить AWS KMS?
Если вы несете ответственность за защиту данных в сервисах AWS, рекомендуем использовать этот сервис для централизованного управления ключами шифрования, которые контролируют доступ к вашим данным. Если вы разработчик, которому требуется шифрование данных в приложениях, можно использовать при работе с кодом пакет AWS Encryption SDK с поддержкой AWS KMS для упрощения генерации, применения и защиты симметричных ключей шифрования. Если вы разработчик, которому требуется цифровая подпись или проверка данных с использованием асимметричных ключей шифрования, рекомендуем использовать AWS KMS для создания необходимых закрытых ключей и управления ими. Если вы ИТ‑администратор, которому нужна масштабируемая инфраструктура управления ключами, позволяющая обеспечить поддержку разработчиков и растущего арсенала создаваемых ими приложений, можно использовать сервис AWS KMS, чтобы снизить рабочую нагрузку и расходы на лицензирование. Если вы несете ответственность за подтверждение защищенности данных для регулируемых отраслей или обеспечения соответствия требованиям, рекомендуем использовать сервис AWS KMS, который упростит проверку стандартов защиты вверенных вам данных. Кроме того, этот сервис поддерживает широкий набор отраслевых и региональных режимов обеспечения соответствия нормативным требованиям.

Вопрос: Как начать работу с сервисом AWS KMS?
Самый простой способ начать работу с сервисом AWS KMS – включить шифрование данных в поддерживаемых сервисах AWS с помощью управляемых главных ключей, автоматически создаваемых в аккаунте для каждого сервиса. Если требуется полный контроль над используемыми ключами, включая возможность предоставления совместного доступа к ним из разных аккаунтов или сервисов, можно создать в KMS собственные главные ключи клиента (CMK). Как вариант, можно использовать CMK, созданные непосредственно из приложений. К сервису AWS KMS можно получить доступ из консоли KMS, которая находится в разделе Security, Identity and Compliance («Безопасность, идентификация и соответствие требованиям») на главной странице сервисов AWS в Консоли AWS. API KMS можно вызвать напрямую из интерфейса командной строки KMS; доступ к API программными средствами реализуется с помощью AWS SDK. API KMS также можно использовать для шифрования данных в собственных приложениях с помощью AWS Encryption SDK. Подробные сведения см. на странице Начало работы.

Вопрос: В каких регионах доступен сервис AWS KMS?
Доступность сервиса с мировом масштабе можно проверить на нашей странице Продукты и сервисы по регионам.

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

Вопрос: Какие возможности управления ключами доступны в AWS KMS?
В AWS KMS можно выполнять следующие задачи управления ключами.

  • Создавать симметричные и асимметричные ключи, материал которых будет использоваться только в пределах сервиса
  • Создавать симметричные ключи, материал которых генерируется и используется в собственном хранилище ключей, находящемся под вашим контролем*
  • Импортировать материал для собственного симметричного ключа, который будет использоваться в пределах сервиса
  • Создавать как симметричные, так и асимметричные пары ключей для локального использования в своих приложениях
  • Определять, какие пользователи и роли IAM могут управлять ключами
  • Устанавливать, какие пользователи и роли IAM могут использовать ключи для шифрования и дешифрования данных
  • Организовывать ежегодную автоматическую ротацию сгенерированных сервисом ключей
  • Временно деактивировать ключи, чтобы никто не мог их использовать
  • Повторно активировать деактивированные ключи
  • Назначать время удаления ключей, которые уже не используются
  • Проводить аудит использования ключей путем анализа журналов AWS CloudTrail

* Для использования собственных хранилищ ключей необходимо иметь в аккаунте доступные ресурсы CloudHSM.

Вопрос: Как работает сервис AWS KMS?
Работа с сервисом AWS KMS начинается с запроса на создание главного ключа клиента (CMK). Вы полностью контролируете жизненный цикл созданного CMK, а также определяете, кто имеет право пользоваться или управлять им. Материал ключа CMK генерируется внутри аппаратных модулей безопасности (HSM), которые находятся под управлением AWS KMS. В качестве альтернативы можно импортировать материал ключа из собственной инфраструктуры управления ключами и связать его с CMK. Кроме того, материал ключа можно генерировать и использовать в кластере AWS CloudHSM в рамках возможности собственного хранилища ключей в AWS KMS.
 
После создания CMK с использованием любого из трех предложенных вариантов можно отправлять данные непосредственно в сервис AWS KMS для подписи, проверки, шифрования или дешифрования с использованием этого CMK. При этом сервис позволяет задавать политики использования данных ключей, которые будут определять, какие пользователи, для каких операций и при каких условиях могут их применять.

AWS KMS интегрирован инструментарием на стороне клиента и с сервисами AWS, в которых для защиты данных применяется метод, называемый конвертным шифрованием. В соответствии с этим методом AWS KMS создает ключи, которые используются для локального шифрования данных в сервисе AWS или приложении. При этом сами ключи шифруются с использованием указанного CMK. Для хранения ключей данных или управления ими сервис AWS KMS не используется. Сервисы AWS шифруют данные и хранят зашифрованную копию ключа данных вместе с этими данными. Когда сервису необходимо расшифровать определенные данные, он запрашивает у сервиса AWS KMS расшифровку ключа данных с помощью соответствующего ключа CMK. Если пользователь, запросивший данные из сервиса AWS, имеет право выполнять дешифрование с помощью вашего ключа CMK, соответствующий сервис получит из AWS KMS расшифрованный ключ данных. Затем сервис AWS выполнит дешифрование данных и вернет их в расшифрованном виде. Все запросы на использование пользовательских главных ключей регистрируются в AWS CloudTrail, что позволяет понять, кто, когда и при каких обстоятельствах применял тот или иной ключ.

Вопрос: Где шифруются данные, если использовать AWS KMS?
Существует три основных сценария шифрования данных с использованием AWS KMS. Во‑первых, можно непосредственно использовать API AWS KMS для шифрования и дешифрования данных с помощью CMK, хранящихся в сервисе. Во‑вторых, можно настроить, чтобы сервисы AWS шифровали данные с помощью CMK, хранящихся в сервисе. В этом случае данные шифруются с использованием ключей, которые зашифрованы с помощью соответствующих CMK. В‑третьих, можно использовать AWS Encryption SDK, который интегрирован с сервисом AWS KMS, для выполнения шифрования в собственных приложениях независимо от того, работают они в облаке AWS или нет.

Вопрос: Какие облачные сервисы AWS интегрированы с сервисом AWS KMS?
AWS KMS полностью интегрирован с большинством других сервисов AWS, что значительно упрощает шифрование данных в этих сервисах: требуется лишь установить соответствующий флажок в настройках. В некоторых случаях данные по умолчанию шифруются с использованием ключей, которые хранятся в KMS, но принадлежат рассматриваемому сервису AWS и управляются им. Во многих случаях CMK принадлежат клиенту и полностью управляются им в рамках собственного аккаунта. Некоторые сервисы предоставляют на выбор возможность самостоятельно управлять ключами или разрешать сервису управлять ключами от вашего имени. См. список сервисов AWS, которые в настоящее время интегрированы с KMS. См. Руководство по AWS KMS для разработчиков, чтобы подробнее узнать о том, как интегрированные сервисы используют AWS KMS.

Вопрос: Зачем использовать конвертное шифрование? Почему нельзя просто передавать данные в сервис AWS KMS для выполнения непосредственного шифрования?
Поскольку сервис AWS KMS не позволяет передавать для непосредственного шифрования данные до 4 КБ, конвертное шифрование обеспечивает значительные преимущества в вопросах производительности. При шифровании данных непосредственно с помощью AWS KMS их нужно передавать по сети. Конвертное шифрование снижает нагрузку на сеть, поскольку по сети передается только запрос и выполняется доставка ключа данных гораздо меньшего размера. Ключ данных локально используется в приложении или в шифрующем сервисе AWS, что дает возможность не отправлять весь блок данных в сервис KMS по сети, избегая связанных с этим задержек.

Вопрос: В чем разница между главным ключом клиента, созданным самостоятельно, и главными ключами клиента, которые создаются автоматически другими сервисами AWS?
У вас есть возможность выбрать CMK, который будет использоваться сервисом AWS для шифрования данных от вашего имени. Такие ключи называются CMK под управлением клиента: полный контроль над ними сохраняется за владельцем аккаунта. Можно установить политику использования каждого ключа и контроля доступа к нему, при этом сервис позволяет предоставлять разрешения на использование таких ключей другим аккаунтам и сервисам. Если CMK не указан клиентом, при первой попытке создать зашифрованный ресурс в некоем сервисе этот сервис создает CMK, управляемый AWS. AWS будет от имени клиента управлять политиками, связанными с CMK, управляемый AWS. Сервис позволяет отслеживать управляемые AWS ключи в своем аккаунте, их использование также регистрируется в сервисе AWS CloudTrail, однако прямого контроля над самими ключами у владельца аккаунта нет.

Вопрос: Зачем нужно создавать собственные главные ключи клиента?
Создание собственного CMK в сервисе AWS KMS обеспечивает больший контроль, чем в случае использования ключей CMK, созданных под управлением AWS. При создании управляемого клиентом симметричного CMK можно использовать материал ключа, сгенерированный AWS KMS, сгенерированный в кластере AWS CloudHSM (собственном хранилище ключей) или импортировать для этих целей собственный материал. Можно указать псевдоним и дать описание ключа, а также включить автоматическую ротацию ключа один раз в год, если ключ был сгенерирован сервисом AWS KMS. Владелец аккаунта определяет права доступа к такому ключу, указывая, кто может использовать CMK и управлять им. В случае применения асимметричных CMK, управляемых клиентами, следует учесть несколько нюансов: материал ключа может быть сгенерирован только внутри модулей безопасности HSM сервиса AWS KMS, и для него невозможно организовать автоматическую ротацию.

Вопрос: Можно ли использовать в AWS KMS собственные ключи?
Да. Можно импортировать в AWS KMS копию ключа из собственной инфраструктуры управления ключами и использовать ее с любым интегрированным сервисом AWS или собственными приложениями. При этом импортировать асимметричные CMK в AWS KMS невозможно.

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

Вопрос: Ключи каких типов можно импортировать?
Можно импортировать 256-битные симметричные ключи.

Вопрос: Каким образом импортируемые в AWS KMS ключи защищаются при передаче?
Во время процесса импорта ключ должен быть упакован с помощью открытого ключа, предоставленного AWS KMS, с использованием одной из двух схем RSA PKCS 1. Это гарантирует, что зашифрованный ключ может быть расшифрован только сервисом AWS KMS.

Вопрос: Чем отличается ключ, который я импортировал, от ключа, который я сгенерировал в AWS KMS?
Есть два основных отличия.

  1. Вы несете ответственность за хранение копии импортированных ключей в собственной инфраструктуре управления ключами, чтобы их можно было в любой момент импортировать повторно. AWS при этом обеспечивает доступность, безопасность и надежность ключей, сгенерированных AWS KMS от вашего имени, пока вы не запланируете их удаление.
  2. Для импортированного ключа можно установить окончание срока действия. AWS KMS автоматически удалит данные ключа, как только его срок действия будет окончен. Удалить данные импортированного ключа также можно по требованию. В обоих случаях сами данные ключа удаляются, но сохраняется ссылка CMK в AWS KMS и связанные метаданные, что позволяет повторно импортировать данные ключа в будущем. Ключи, сгенерированные AWS KMS, не имеют срока действия и не могут быть удалены немедленно; предусмотрен обязательный период ожидания от 7 до 30 дней. Все управляемые клиентом ключи CMK (независимо от того, были ли импортированы данные этих ключей) могут быть заблокированы вручную или запланированы на удаление. В этом случае удаляется сам ключ CMK, а не только данные этого ключа, лежащие в его основе.

Вопрос: Поддерживается ли ротация ключей?
Да. Включить в AWS KMS ежегодную автоматическую ротацию ключей CMK можно в том случае, если эти ключи были созданы в модулях HSM в AWS KMS. Автоматическая ротация не поддерживается для импортированных ключей, асимметричных ключей или ключей, сгенерированных в кластере AWS CloudHSM с использованием возможности собственного хранилища ключей AWS KMS. Если вы решите импортировать ключи или асимметричные ключи в AWS KMS или использовать собственное хранилище ключей, ротацию можно выполнять вручную, создавая новый ключ CMK и связывая псевдоним старого ключа CMK с новым ключом CMK.

Вопрос: Потребуется ли после ротации ключей в сервисе AWS KMS повторно шифровать данные?
Если используется автоматическая ротация ключей AWS KMS, повторное шифрование данных не требуется. В сервисе AWS KMS автоматически сохраняются предыдущие версии ключей для расшифровки данных, которые были зашифрованы с использованием старой версии ключа. Все новые запросы на шифрование с помощью ключа в сервисе AWS KMS выполняются с использованием последней версии ключа.

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

Вопрос: Можно ли удалить ключ из сервиса AWS KMS?
Да. Можно запланировать удаление главного ключа клиента и связанных с ним метаданных, созданных в AWS KMS, выбрав период ожидания от 7 до 30 дней. Этот период ожидания позволяет проверить воздействие удаления ключа на ваши приложения и на пользователей, которые зависят от него. Период ожидания по умолчанию составляет 30 дней. В течение периода ожидания удаление ключа можно отменить. Ключ, запланированный к удалению, нельзя продолжать использовать, если удаление не будет отменено в течение периода ожидания. Ключ, удаление которого не было отменено, будет удален в конце заданного периода ожидания. После удаления ключа использовать его будет невозможно. Все данные, которые были защищены с помощью удаленного главного ключа, станут недоступными.

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

Вопрос: Что нужно делать, если срок действия данных импортированного ключа истек или они были случайно удалены?
Можно повторно импортировать в AWS KMS копию данных ключа с действительным сроком действия. Чтобы данные ключа были доступны для использования, импорт должен быть выполнен с использованием первоначального главного ключа клиента.

Вопрос: Получу ли я предупреждение о необходимости повторного импортирования ключа?
Да. После импортирования вашего ключа в главный ключ клиента вы будете раз в несколько минут получать метрику Amazon CloudWatch, отсчитывающую время, оставшееся до окончания срока действия импортированного ключа. Кроме того, вы получите от сервиса Amazon CloudWatch Event оповещение о событии после того, как истечет срок действия ключа, импортированного с помощью главного ключа клиента. Чтобы избежать риска потери доступа к данным, можно на основе этих метрик и событий создать алгоритм автоматического повторного импорта ключа с новым сроком действия.

Вопрос: Можно ли использовать сервис AWS KMS для управления шифрованием данных за пределами облачных сервисов AWS?
Да. Поддержка сервиса AWS KMS существует в пакетах AWS SDK, AWS Encryption SDK, Amazon DynamoDB Client‑side Encryption и Amazon S3 Encryption Client, что упрощает процедуру шифрования данных в приложениях, где бы они ни работали. Дополнительную информацию см. на страницах AWS Crypto Tools и Разработка на AWS.

Вопрос: Ограничено ли количество ключей, которые можно создать в сервисе AWS KMS?
Сервис позволяет создавать до 10 000 ключей CMK для каждого аккаунта в каждом регионе. Поскольку учету подлежат как используемые, так и деактивированные ключи CMK, мы рекомендуем удалять деактивированные ключи, которые больше не используются. Управляемые AWS ключи CMK, созданные от вашего имени для использования в поддерживаемых сервисах AWS, в этом ограничении не учитываются. Лимит по количеству ключей данных, которые можно получить с помощью ключа CMK и использовать в своем приложении или сервисах AWS для шифрования данных от своего имени, не предусмотрен. Запрос на повышение лимита можно отправить, обратившись в Центр AWS Support.

Вопрос: Какие типы симметричных ключей и алгоритмов для них поддерживает сервис?
При создании ключа CMK сервис AWS KMS поддерживает 256‑битные ключи. Сгенерированные для оператора ключи данных могут быть 256‑битными, 128‑битными или иметь произвольную длину до 1024 бит. Когда сервис AWS KMS использует 256‑битный ключ CMK от вашего имени, применяется алгоритм AES с счетчиком аутентификации Галуа (AES‑GCM).

Вопрос: Какие типы асимметричных ключей поддерживает сервис?
AWS KMS поддерживает следующие типы асимметричных ключей: RSA 2048, RSA 3072, RSA 4096, ECC NIST P‑256, ECC NIST P‑384, ECC NIST‑521 и ECC SECG P‑256k1.

Вопрос: Какие алгоритмы асимметричного шифрования поддерживает сервис?
AWS KMS поддерживает алгоритмы RSAES_OAEP_SHA_1 и RSAES_OAEP_SHA_256 с ключами RSA 2048, RSA 3072 и RSA 4096. Не поддерживаются алгоритмы шифрования с ключами на эллиптических кривых (ECC NIST P‑256, ECC NIST P‑384, ECC NIST‑521 и ECC SECG P‑256k1).

Вопрос: Какие асимметричные алгоритмы цифровой подписи поддерживает сервис?
Для ключей типа RSA сервис AWS KMS поддерживает алгоритмы цифровой подписи RSASSA_PSS_SHA_256, RSASSA_PSS_SHA_384, RSASSA_PSS_SHA_512, RSASSA_PKCS1_V1_5_SHA_256, RSASSA_PKCS1_V1_5_SHA_384 и RSASSA_PKCS1_V1_5_SHA_512.
Для ключей на эллиптических кривых AWS KMS поддерживает алгоритмы цифровой подписи ECDSA_SHA_256, ECDSA_SHA_384, and ECDSA_SHA_512.

Вопрос: Можно ли экспортировать из сервиса симметричные ключи CMK в незашифрованном виде? 
Нет. Симметричный ключ CMK или закрытую часть асимметричного ключа CMK нельзя экспортировать из модуля HSM в незашифрованном виде. Открытую часть асимметричного ключа CMK можно экспортировать через консоль или с помощью вызова API GetPublicKey.

Вопрос: Можно ли экспортировать из HSM ключи данных и пары ключей данных в незашифрованном виде?
Да. Симметричные ключи данных можно экспортировать с помощью вызова API GenerateDataKey или API GenerateDataKeyWithoutPlaintext. И открытую, и закрытую часть пары асимметричных ключей данных можно экспортировать из AWS KMS с помощью вызова API GenerateDataKeyPair или API GenerateDataKeypairWithoutPlaintext.

Вопрос: Какими методами защищаются ключи данных и пары ключей данных при хранении вне сервиса?
Симметричный ключ данных или закрытая часть асимметричного ключа данных шифруется ключом CMK, указываемым при запросе генерации ключа данных сервисом AWS KMS.

Вопрос: Как использовать открытую часть асимметричного ключа CMK?
Открытая часть асимметричного ключа генерируется сервисом AWS KMS. Ее можно использовать для проверки цифровых подписей с помощью вызова API Verify или для шифрования с открытым ключом с помощью вызова API Encrypt. Открытый ключ можно использовать вне сервиса AWS KMS для проверки или шифрования. Получить открытую часть асимметричного ключа CMK можно с помощью вызова API GetPublicKey.

Вопрос: Каково ограничение по размеру применяется к отправляемым в AWS KMS данным для асимметричных операций?
Ограничение по размеру составляет 4 КБ. Если необходимо подписать данные размером более 4 КБ, можно создать профиль сообщения данных и отправить его в AWS KMS. Цифровая подпись составляется по присланному профилю и возвращается. При запросе API Sign нужно указать с помощью соответствующего параметра, отправляется полное сообщение или его профиль. Любые данные в вызовах API Encrypt, Decrypt или Re‑Encrypt, требующие использования асимметричных операций, также должны иметь размер менее 4 КБ.

Вопрос: Как отличить созданные симметричные ключи CMK от асимметричных?
В консоли у каждого ключа есть поле Key Type («Тип ключа»). Его значение указывает тип ключа: Asymmetric Key («Асимметричный ключ») или Symmetric Key («Симметричный ключ»). Вызов API DescribeKey возвращает поле KeyUsage, где указано, для чего можно использовать ключ: для шифрования или для подписи.

Вопрос: Поддерживается ли автоматическая ротация асимметричных ключей CMK? 
Нет. Для асимметричных ключей CMK автоматическая ротация не поддерживается. Ротацию можно выполнять вручную, создавая новый ключ CMK и связывая псевдоним старого ключа CMK с новым ключом CMK.

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

Вопрос: Существуют ли лимиты сервиса, связанные с асимметричными ключами? 
Да. Уровень запросов в секунду отличается в зависимости от типа ключа и алгоритма. Дополнительную информацию см. на странице лимитов сервиса AWS KMS.

Вопрос: Работают ли асимметричные ключи с собственными хранилищами ключей AWS KMS или возможностью импорта ключей? 
Нет. Асимметричные ключи нельзя использовать с возможностями собственного хранилища ключей или импортировать в AWS KMS.

Вопрос: Можно ли использовать асимметричные ключи CMK с приложениями для цифровой подписи, которым требуются цифровые сертификаты?
Нет, напрямую нельзя. AWS KMS не хранит и не связывает цифровые сертификаты с асимметричными CMK, которые создает. По решению клиента центр сертификации, например ACM PCA, может выпустить сертификат для открытой части асимметричного CMK. Это позволит сущностям, использующим этот открытый ключ, проверять, действительно ли ключ принадлежит вам.

Вопрос: В каких сценариях использования рекомендуется использовать ACM Private Certificate Authority, а не AWS KMS? 
Основной причиной использовать сервис ACM Private Certificate Authority (CA) является возможность предоставления инфраструктуры открытого ключа (PKI) для идентификации сущностей и защиты сетевых подключений. PKI предоставляет процессы и механизмы, в основном использующие сертификаты X.509, для структурирования криптографических операций с открытым ключом. Сертификаты позволяют установить связь между сущностью и открытым ключом. Процесс сертификации (то есть процесс выпуска сертификата центром сертификации) позволяет доверенному центру сертификации заверить подлинность другого объекта путем подписания соответствующего сертификата. PKI обеспечивает подтверждение подлинности, распределенное доверие, управление жизненным циклом ключей и поддержание статуса сертификатов с возможностью отзыва. Такие функции добавляют важные процессы и инфраструктуру к базовым асимметричным криптографическим ключам и алгоритмам, предоставляемым AWS KMS.

ACM Private CA позволяет выпускать сертификаты для идентификации веб‑серверов и серверов приложений, сервисных сетей, пользователей VPN, внутренних адресов API и устройств IoT. Сертификаты позволяют устанавливать подлинность этих ресурсов и создавать зашифрованные каналы связи TLS / SSL. Если вы планируете использовать асимметричные ключи для терминации TLS на веб‑серверах или серверах приложений, балансировщиках Elastic Load Balancer, адресах шлюза API, инстансах EC2 или контейнерах, следует рассмотреть возможность использования ACM Private CA для выдачи сертификатов и предоставления необходимой инфраструктуры PKI.

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

Вопрос: Можно ли использовать для своих приложений таких поставщиков криптографических API, как OpenSSL, JCE, Bouncy Castle или CNG, совместно с сервисом AWS KMS?
AWS KMS не располагает встроенными механизмами интеграции с другими поставщиками криптографических API. Для интеграции таких возможностей подписи и шифрования в приложения потребуется использовать API сервиса AWS KMS напрямую или через SDK AWS.

Вопрос: Предлагает ли AWS KMS Соглашение об уровне обслуживания (SLA)?
Да. Соглашение об уровне обслуживания AWS KMS (SLA) предусматривает компенсацию в случае, если уровень бесперебойной работы за любой учетный период был ниже согласованного.

Собственное хранилище ключей

Вопрос: Что такое собственное хранилище ключей?
Собственное хранилище ключей в AWS KMS сочетает в себе средства управления, предоставляемые AWS CloudHSM, с возможностями интеграции и простотой использования сервиса AWS KMS. Вы можете настроить собственный кластер CloudHSM и разрешить KMS использовать его в качестве выделенного хранилища ключей вместо хранилища, предоставляемого KMS по умолчанию. При создании ключей в KMS можно выбрать генерацию материала для ключа в кластере CloudHSM. Главные ключи, сгенерированные в собственном хранилище ключей, никогда не передаются за пределы модулей HSM в кластере CloudHSM в незашифрованном виде, при этом все операции KMS, использующие эти ключи, выполняются только в соответствующих модулях HSM. Во всех остальных отношениях главные ключи, хранящиеся в собственном хранилище ключей, идентичны прочим ключам CMK в AWS KMS.

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

Вопрос: Зачем может потребоваться использовать собственное хранилище ключей?
Поскольку кластер AWS CloudHSM находится под вашим контролем, это позволяет управлять жизненным циклом ключей CMK независимо от KMS. Есть четыре случая, в которых собственное хранилище ключей может оказаться полезным. Во‑первых, когда используются ключи, которые должны быть явно защищены в однопользовательском модуле HSM или в модуле HSM под непосредственным контролем владельца. Во‑вторых, когда используются ключи, которые необходимо сохранить в модуле HSM, проверенном на соответствие общим требованиям стандарта FIPS 140‑2 уровня 3 (модули HSM, используемые в стандартном хранилище ключей KMS, проверены или находятся в процессе проверки на соответствие уровню 2 и соответствуют уровню 3 по ряду категорий). В‑третьих, когда может потребоваться возможность немедленного удаления материала ключа из KMS и независимого подтверждения, что удаление было выполнено. Наконец, когда требуется возможность проводить аудит любого использования ключей независимо от KMS или AWS CloudTrail.

Вопрос: Влияет ли собственное хранилище ключей на способ управления ключами?
Есть два отличия между управлением ключами в собственном хранилище ключей и хранилище ключей AWS KMS по умолчанию. В собственное хранилище ключей нельзя импортировать материалы ключей. Кроме того, вы не сможете использовать KMS для выполнения автоматической ротации ключей. Во всех прочих аспектах (включая типы ключей, которые могут быть сгенерированы, способ использования ключами псевдонимов и способ задания политик) управление ключами, которые хранятся в собственном хранилище ключей, осуществляется так же, как и управление любым другим CMK под управлением клиента KMS.

Вопрос: Можно ли использовать собственное хранилище ключей для хранения главного ключа клиента, управляемого AWS?
Нет. В собственном хранилище ключей AWS KMS можно хранить только управляемые клиентом ключи CMK, а также управлять ими. Управляемые AWS ключи CMK, которые создаются от имени клиента другими сервисами AWS для шифрования данных, всегда генерируются и хранятся в хранилище ключей AWS KMS по умолчанию.

Вопрос: Влияет ли собственное хранилище ключей на способ использования ключей?
Нет. Запросы API к AWS KMS на использование CMK для шифрования и дешифрования данных обрабатываются стандартным образом. Процессы аутентификации и авторизации работают независимо от того, где хранится ключ. Все действия, связанные с использованием ключа в собственном хранилище ключей, также стандартным образом регистрируются в сервисе AWS CloudTrail. Однако сами криптографические операции однозначно выполняются либо в собственном хранилище ключей, либо в хранилище ключей AWS KMS по умолчанию.

Вопрос: Как выполнять аудит использования ключей в собственном хранилище ключей?
В дополнение к действиям, которые регистрируются AWS KMS в сервисе AWS CloudTrail, при использовании собственного хранилища ключей предоставляются три дополнительных механизма аудита. Во‑первых, AWS CloudHSM также регистрирует в CloudTrail все операции, связанные с API, например создание кластеров, добавление или удаление модулей HSM. Во‑вторых, каждый кластер ведет свои собственные локальные журналы для записи действий пользователей и действий, связанных с управлением ключами. В‑третьих, каждый инстанс CloudHSM копирует локальные журналы действий пользователей и действий, связанных с управлением ключами, в AWS CloudWatch.

Вопрос: Как влияет использование собственного хранилища ключей на доступность ключей?
Использование собственного хранилища ключей в AWS KMS возлагает ответственность за обеспечение доступности ключей для использования в AWS KMS на клиента. Ошибки в конфигурации CloudHSM и случайное удаление данных ключа в кластере AWS CloudHSM может повлиять на доступность. Количество модулей HSM и выбор зон доступности (AZ) также влияет на отказоустойчивость используемого кластера. Как и в любой системе управления ключами, важно понимать, как доступность ключей может повлиять на возможность восстановления зашифрованных данных.

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

Вопрос: Сколько стоит использование собственного хранилища ключей?
Использование собственного хранилища ключей не влияет на стоимость AWS KMS. Однако при использовании каждого собственного хранилища ключей необходимо, чтобы соответствующий кластер AWS CloudHSM включал не менее двух модулей HSM. Эти модули HSM оплачиваются по стандартным тарифам AWS CloudHSM. Дополнительная плата за использование собственного хранилища ключей не взимается.

Вопрос: Какие дополнительные навыки и ресурсы требуются для настройки собственного хранилища ключей?
Пользователям AWS KMS, которые хотят использовать собственное хранилище ключей, потребуется настраивать кластер AWS CloudHSM, добавлять модули HSM, управлять пользователями HSM и, возможно, восстанавливать HSM из резервной копии. От выполнения этих задач серьезно зависит безопасность, поэтому стоит убедиться, что у вас есть соответствующие ресурсы и организационные средства управления.

Вопрос: Можно ли импортировать ключи в собственное хранилище ключей?
Нет. Возможность импорта своих данных ключей в собственное хранилище ключей AWS KMS не поддерживается. Ключи, находящиеся в собственном хранилище ключей, могут быть сгенерированы только в модулях HSM, которые входят в принадлежащий клиенту кластер AWS CloudHSM.

Вопрос: Можно ли переносить ключи между хранилищем ключей AWS KMS по умолчанию и собственным хранилищем ключей?
Нет. В настоящее время в AWS KMS не поддерживается возможность перемещения ключей между разными типами хранилищ ключей. Все ключи нужно создавать в том хранилище ключей, где они будут использоваться, кроме случаев, когда собственные данные ключа импортируются в хранилище ключей AWS KMS по умолчанию.

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

Вопрос: Можно ли использовать собственный кластер AWS CloudHSM для других приложений?
Да. AWS KMS не требует эксклюзивного доступа к кластеру AWS CloudHSM. Если у вас уже есть кластер, его можно использовать как собственное хранилище ключей и продолжать использовать для других приложений. Однако если такой кластер поддерживает обработку больших рабочих нагрузок, не связанных с AWS KMS, вы можете столкнуться со снижением производительности при выполнении операций, использующих ключи CMK в собственном хранилище ключей. Аналогичным образом высокая частота запросов AWS KMS к собственному хранилищу ключей может повлиять на работу других приложений.

Вопрос: Где можно узнать подробнее о AWS CloudHSM?
Посетите страницу AWS CloudHSM, чтобы ознакомиться с обзором сервиса, а чтобы получить более подробную информацию о настройке и использовании сервиса, обратитесь к Руководству пользователя AWS CloudHSM.  

Оплата

Вопрос: Каков принцип оплаты пользования сервисом AWS KMS?
Работая с AWS KMS, вы платите только за то, чем пользуетесь, без минимальных взносов. Для начала работы с сервисом не требуется предоплата или какие-либо обязательства. В конце месяца с указанной кредитной карты будет автоматически списана сумма за пользование сервисом по итогам месяца.

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

Сведения о действующих ценах см. на странице цен на AWS KMS.

Вопрос: Существует ли уровень бесплатного пользования?
Да. Уровень бесплатного пользования AWS позволяет приступить к работе с сервисом AWS KMS бесплатно* в любом регионе. Управляемые AWS ключи CMK, созданные сервисами AWS от имени клиента, хранятся в аккаунте бесплатно. Уровень бесплатного пользования предусматривает определенное ежемесячное количество запросов, которые можно бесплатно направлять к сервису. Сведения о действующих ценах, включая информацию об уровне бесплатного пользования, см. на странице цен на AWS KMS.

* Выполнение запросов API, связанных с асимметричными ключами CMK, а также запросов API GenerateDataKeyPair и GenerateDataKeyPairWithoutPlaintext в уровень бесплатного пользования не входит.

Вопрос: Указанные цены включают налоги?
Если не указано иное, представленные здесь цены не включают применимые налоги и сборы, в том числе НДС и применимый налог с продаж. Для клиентов с платежным адресом в Японии использование сервисов AWS облагается потребительским налогом Японии. Дополнительную информацию можно получить здесь.

Безопасность

Вопрос: Кто может использовать мои ключи и управлять ими в сервисе AWS KMS?
Сервис AWS KMS принудительно применяет политики использования и управления, которые определены вами. Пользователям и ролям сервиса AWS Identity and Access Management (IAM) в рамках собственного или других аккаунтов можно разрешить или запретить использовать ключи и управлять ими.

Вопрос: Как AWS защищает созданные клиентами ключи CMK?
Сервис AWS KMS устроен таким образом, что никто, включая сотрудников AWS, не может извлечь из него незашифрованные ключи CMK. Для защиты конфиденциальности и безопасности ключей сервис использует аппаратные модули безопасности (HSM), проверенные или находящиеся в процессе проверки на соответствие требованиям стандарта FIPS 140‑2. При этом не важно, создавались ключи с помощью AWS KMS, с помощью AWS CloudHSM или были импортированы в сервис клиентами. Незашифрованные ключи CMK никогда не передаются за пределы модулей HSM, никогда не записываются на диск и используются только в энергозависимой памяти модуля HSM в течение времени, необходимого для выполнения запрошенной криптографической операции. Ключи AWS KMS никогда не передаются за пределы регионов AWS, в которых они были созданы. Обновление программного обеспечения на узлах сервиса и обновление встроенного ПО модулей HSM в AWS KMS управляется системой многостороннего контроля доступа, за проверку и корректировку которой отвечает независимая группа в составе Amazon и лаборатория, прошедшая сертификацию NIST, как того требует стандарт FIPS 140‑2.

Дополнительную информацию о порядке обеспечения безопасности в данном отношении см. в техническом описании Сведения о криптографии в сервисе AWS KMS. Чтобы узнать больше об обеспечении соответствия требованиям безопасности FIPS 140‑2 для модулей HSM сервиса AWS KMS, ознакомьтесь с сертификатом FIPS 140‑2 для модулей HSM в AWS KMS и соответствующей политикой безопасности. Кроме того, в AWS Artifact можно получить копию отчета Service Organization Controls (SOC) для ознакомления со средствами обеспечения безопасности, которые используются сервисом для защиты ключей CMK.

Вопрос: Как перенести существующие ключи CMK, чтобы использовать модули HSM, проверенные на соответствие FIPS 140‑2?
Все ключи CMK, независимо от времени и места их создания, автоматически защищены модулями HSM, проверенными на соответствие стандарту FIPS 140‑2 или находящимися в процессе такой проверки. Для использования модулей HSM, проверенных на соответствие FIPS 140‑2, дополнительных действий со стороны пользователя не требуется.

Вопрос: В каких регионах AWS используются модули HSM, проверенные на соответствие FIPS 140‑2?
Модули HSM, проверенные на соответствие FIPS 140‑2, доступны во всех регионах AWS, где предлагается сервис AWS KMS.

Вопрос: В чем разница между проверенными на соответствие FIPS 140‑2 адресами и модулями HSM в AWS KMS?
AWS KMS – это двухуровневый сервис. Адреса API получают клиентские запросы через соединение HTTPS, используя только комплекты шифров TLS, обеспечивающие полную безопасность пересылки. Эти адреса API выполняют аутентификацию и авторизуют запрос перед передачей запроса на криптографическую операцию в модули HSM сервиса AWS KMS или в кластер AWS CloudHSM, если в KMS используется собственное хранилище ключей.

Вопрос: Как выполнять запросы API к AWS KMS с помощью адресов, проверенных на соответствие FIPS 140‑2?
Необходимо настроить приложения на подключение к уникальным региональным адресам HTTPS, проверенным на соответствие FIPS 140-2. Проверенные на соответствие FIPS 140-2 адреса HTTPS сервиса AWS KMS работают на базе OpenSSL FIPS Object Module. Ознакомиться с политикой безопасности модуля OpenSSL можно по адресу https://www.openssl.org/docs/fips/SecurityPolicy-2.0.13.pdf. Адреса API, проверенные на соответствие FIPS 140‑2, существуют во всех коммерческих регионах, где доступен сервис AWS KMS.

Вопрос: Поможет ли сервис AWS KMS обеспечить соответствие требованиям стандарта безопасности данных индустрии платежных карт (PCI DSS 3.2.1) к шифрованию и управлению ключами?
Да. Сервис AWS KMS прошел проверку на наличие функциональных возможностей и средств обеспечения безопасности, которые необходимы для выполнения требований PCI DSS 3.2.1 к шифрованию и управлению ключами (перечисленных главным образом в разделах 3.5 и 3.6).

Подробнее о соответствии сервисов AWS стандарту PCI DSS см. на странице вопросов и ответов по PCI DSS.

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

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

Вопрос: В каком географическом регионе хранятся мои ключи?
Ключи, сгенерированные сервисом AWS KMS, хранятся и используются только в том регионе, в котором они создавались. Их нельзя передать в другой регион. Например, ключи, которые созданы в регионе Центр ЕС (Франкфурт), хранятся и используются только в этом регионе.

Вопрос: Как узнать, кто использовал мои ключи или изменил их конфигурацию в сервисе AWS KMS?
В журналах AWS CloudTrail отображаются все запросы API в AWS KMS, включая как запросы, связанные с операциями управления (например, создание, ротация, деактивация, изменение политики), так и криптографические запросы (например, шифрование / дешифрование). Включите сервис AWS CloudTrail для своего аккаунта, чтобы просматривать эти журналы.

Вопрос: В чем отличие между сервисами AWS KMS и AWS CloudHSM?
AWS CloudHSM предоставляет для хранения и использования ключей проверенный на соответствие требованиям FIPS 140‑2 Level 3 однопользовательский кластер модулей HSM в рамках Amazon Virtual Private Cloud (VPC). Пользователь получает эксклюзивный контроль над тем, как используются его ключи, через механизм аутентификации, независимый от AWS. Пользователь взаимодействует с ключами в своем кластере AWS CloudHSM подобно тому, как он взаимодействует со своими приложениями, работающими в Amazon EC2. AWS CloudHSM подходит для различных примеров использования, таких как технические средства защиты авторских прав (DRM), инфраструктура открытых ключей (PKI), подпись документов и криптографические функции с использованием интерфейсов PKCS 11, Java JCE или Microsoft CNG.

Сервис AWS KMS предоставляет единую консоль для создания ключей шифрования и управления ими. При этому ключи можно использовать в приложениях и поддерживаемых сервисах AWS во множестве регионов по всему миру. Защита ключей обеспечивается с помощью модуля FIPS HSM, проверенного или находящегося в процессе проверки на соответствие стандарту FIPS 140‑2. Централизованное управление всеми ключами в сервисе AWS KMS позволяет определять, кто и при каких условиях может использовать ключи и управлять ими, а также когда происходит их ротация. Интеграция сервиса AWS KMS с AWS CloudTrail позволяет проводить аудит использования ключей с целью соблюдения применимых нормативных требований. Взаимодействовать с AWS KMS из приложений можно с помощью AWS SDK, если необходимо напрямую вызывать сервисные API, через другие сервисы AWS, которые интегрированы с AWS KMS, или с помощью SDK AWS Encryption, если требуется выполнять шифрование на стороне клиента.

Product-Page_Standard-Icons_01_Product-Features_SqInk
Подробнее о ценах

Ознакомьтесь с примерами расчета стоимости, рассчитайте свои расходы.

Подробнее 
Product-Page_Standard-Icons_02_Sign-Up_SqInk
Зарегистрировать бесплатный аккаунт

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

Регистрация 
Product-Page_Standard-Icons_03_Start-Building_SqInk
Начать разработку в консоли

Начните разработку с использованием AWS Key Management Service в Консоли AWS.

Вход