Обзор

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

Основные возможности

Open all

Если для вашего аккаунта AWS включен AWS CloudTrail, каждый запрос, который вы делаете к AWS KMS, записывается в файл журнала. Этот файл журнала доставляется в корзину Простого сервиса хранения данных HAQM (HAQM S3), которую вы указали при включении AWS CloudTrail. Записанная информация содержит сведения о пользователе, времени, дате, действии API и использованном ключе (когда требуется).

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

Ключи KMS, созданные вами самостоятельно или другими сервисами AWS от вашего имени, не могут быть экспортированы из сервиса. Это означает, что AWS KMS несет полную ответственность за их надежное хранение. Чтобы обеспечить доступность ключей и соответствующих данных в любой момент обращения к ним, AWS KMS хранит множество копий зашифрованных версий ключей в системах с уровнем надежности 99,999999999 %.

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

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

Сервис AWS KMS устроен таким образом, что никто, включая сотрудников AWS, не может извлечь из него ваши незашифрованные ключи. В сервисе используются аппаратные модули безопасности (HSM), которые постоянно проверяются в Национальном институте по стандартизации и технологии США (NIST) с помощью Федерального стандарта по обработке информации (FIPS) 140-3 и Программы валидации криптографических модулей для защиты конфиденциальности и целостности ваших ключей. Модули HSM AWS KMS – это криптографический источник доверия для защиты ключей KMS. Они создают безопасную аппаратно защищенную границу для всех криптографических операций, которые происходят в KMS. Весь материал для ключей KMS, генерируемый в модулях AWS KMS HSM, и все операции, требующие расшифровки материала для ключей KMS, происходят строго в пределах границ этих модулей HSM по стандарту FIPS 140-3 уровня безопасности 3. К обновлениям встроенного ПО модулей AWS KMS HSM применяется многосторонний контроль доступа, который проверяет и анализирует независимая группа HAQM; согласно требованиям FIPS-140, все изменения встроенного ПО модулей KMS HSM передаются в аккредитованную NIST лабораторию для проверки на соответствие уровню безопасности 3 FIPS 140-3.

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

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

* В регионе AWS Китай (Пекин) под управлением Beijing Sinnet Technology Co., Ltd. («Sinnet») Sinnet и регионе AWS Китай (Нинся) под управлением Ningxia Western Cloud Data Technology Co., Ltd. («NWCD») NWCD модули HSM одобрены государственными учреждениями Китая (а не проверены по стандарту FIPS 140‑3), а вышеупомянутое техническое описание о сведениях криптографии не применяется. 

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

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

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

Вы можете создать и проверить Код аутентификации сообщений на основе хэша (HMAC) из аппаратных модулей безопасности (HSM), проверенных AWS KMS FIPS 140-3. HMAC – это криптографический структурный элемент, который содержит секретный ключ в хэш-функции для создания кода аутентификации сообщения с уникальным ключом. Ключи KMS HMAC имеют преимущество перед HMAC из приложений, поскольку материал для ключа создается и используется полностью в KMS AWS, а также применяются меры контроля доступа, заданные для ключа. Ключи KMS HMAC и алгоритмы HMAC, которые используются KMS AWS, отвечают промышленным стандартам, определенным в RFC 2104. Ключи KMS HMAC генерируются в аппаратных модулях безопасности (HSM) KMS AWS, сертифицированных в соответствии с программой проверки криптографических модулей FIPS 140-3, и никогда не оставляют KMS AWS без шифрования. Можно также импортировать собственный ключ HMAC из своей инфраструктуры управления ключами.

* Ключи HMAC KMS AWS не поддерживаются в собственных хранилищах ключей.
** Информация, приведенная в разделе FIPS 140-3, не применима к региону AWS Китай (Пекин) под управлением Sinnet и региону AWS Китай (Нинся) под управлением NWCD. Аппаратные модули безопасности, используемые в Китае, одобрены государственными учреждениями Китая.

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

Здесь мы приводим список других режимов соответствия, по которым сервис AWS KMS прошел проверку и сертификацию.

* Информация, приведенная в разделе FIPS 140-3, не применима к региону AWS Китай (Пекин) под управлением Sinnet и региону AWS Китай (Нинся) под управлением NWCD. Аппаратные модули безопасности, используемые в Китае, одобрены государственными учреждениями Китая.

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

Хранилище ключей с поддержкой CloudHSM

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

Использование собственного хранилища ключей влечет за собой дополнительные расходы на кластер AWS CloudHSM. Ответственность за доступность материала ключей в этом кластере несет сам клиент. Подробнее о том, подойдет ли собственное хранилище ключей в вашем случае, см. в этом блоге.

Внешнее хранилище ключей

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

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

* Поддержка собственных хранилищ ключей недоступна в регионе AWS Китай (Пекин) под управлением Sinnet и регионе AWS Китай (Нинся) под управлением NWCD.
** Функция собственного хранилища ключей недоступна для асимметричных ключей KMS.
*** CodeArtifact не поддерживает ключи KMS в XKS.

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

  • AWS Шифрование SDK – это библиотека шифрования общего назначения для реализации шифрования и расшифровки всех типов данных.
  • SDK шифрования баз данных AWS – это библиотека шифрования, которая помогает защитить конфиденциальные данные, хранящиеся в базе данных, и предоставляет дополнительные функции поиска зашифрованных данных и запросов к ним.
  • Клиент шифрования HAQM S3 – это библиотека для шифрования и дешифрования объектов, хранящихся в корзине S3.

Дополнительные сведения см. в документации AWS Crypto Tools.

Интеграция с сервисами AWS

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

Alexa для бизнеса[1]

HAQM Forecast

База данных квантового реестра HAQM (HAQM QLDB)

AWS CodeBuild

HAQM AppFlow

Детектор мошенничества HAQM

HAQM Redshift

AWS CodeCommit[1]

HAQM Athena

HAQM FSx

HAQM Rekognition

AWS CodePipeline

HAQM Aurora

HAQM GuardDuty

Служба реляционных баз данных HAQM (HAQM RDS)

AWS Control Tower

Точная настройка HAQM Bedrock

HAQM HealthLake

HAQM Route 53

Обмен данными AWS

Копия модели HAQM Bedrock

HAQM Inspector

Простой сервис хранения данных HAQM (HAQM S3)[3]

Сервис миграции баз данных AWS

SDK для HAQM Chime

HAQM Kendra

HAQM SageMaker

AWS DeepRacer

Журналы HAQM CloudWatch

HAQM Keyspaces (для Apache Cassandra)

HAQM Simple Email Service (SES)

Эластичное аварийное восстановление AWS

HAQM CloudWatch Synthetics

Потоки данных HAQM Kinesis

HAQM Simple Notification Service (SNS)

AWS Elemental MediaTailor

HAQM CodeGuru

HAQM Kinesis Firehose

HAQM Simple Queue Service (SQS)

Разрешение сущностей AWS

HAQM CodeWhisperer

Видеопотоки HAQM Kinesis

HAQM Textract

AWS GameLift

HAQM Comprehend

HAQM Lex

HAQM Timestream

AWS Glue

HAQM Connect

HAQM Lightsail[1]

HAQM Transcribe

AWS Glue DataBrew

Профили клиентов HAQM Connect

Служба определения местоположения HAQM

HAQM Translate

Наземная станция AWS

HAQM Connect Voice ID

HAQM Lookout for Equipment

HAQM WorkMail

AWS IoT SiteWise

HAQM Connect Wisdom

HAQM Lookout для метрики

HAQM WorkSpaces

AWS Lambda

HAQM DocumentDB

Машинное зрение HAQM Lookout

Тонкий клиент HAQM WorkSpaces

Менеджер лицензий AWS

HAQM DynamoDB

HAQM Macie

Безопасный браузер HAQM WorkSpaces

Модернизация мэйнфреймов AWS

Ускоритель HAQM DynamoDB (DAX)[1]

Управляемый блокчейн HAQM

AWS AppConfig

Сетевой брандмауэр AWS

Магазин эластичных блоков HAQM (HAQM EBS)

Управляемый сервис HAQM для
Prometheus

AWS AppFabric

AWS Proton

Конструктор образов HAQM EC2

Управляемая потоковая передача HAQM для Kafka (HAQM MSK)

Профилировщик затрат на приложения AWS

Менеджер секретов AWS

HAQM EFS

Управляемые рабочие процессы HAQM для Apache Airflow (HAQM MWAA)

Сервис миграции приложений AWS (AWS MGN)

AWS Snowball 

Эластичный реестр контейнеров HAQM (HAQM ECR)

HAQM MemoryDB

AWS App Runner

Периферийный AWS Snowball

Эластичный сервис HAQM Kubernetes (EKS)

HAQM Monitron

Диспетчер аудита AWS

AWS Snowcone

HAQM Elastic Transcoder

HAQM MQ

Резервное копирование AWS

Шлюз хранилища AWS

HAQM ElastiCache

HAQM Neptune

Менеджер сертификатов AWS[1]

Менеджер систем AWS

HAQM EMR

Студия HAQM Nimble

AWS Cloud9[1]

Цепочка поставок AWS

Бессерверная конфигурация HAQM EMR

HAQM OpenSearch

AWS CloudHSM[2]

Проверенный доступ AWS

Планировщик событий HAQM EventBridge

HAQM Omics

AWS CloudTrail

AWS X-Ray

HAQM FinSpace

HAQM Personalize

AWS CodeArtifact

 

[1] Поддерживает только управляемые ключи AWS.

[2] AWS KMS поддерживает собственное хранилище ключей, для которого кластер AWS CloudHSM создает резервную копию.

[3] Список сервисов, интегрированных с KMS в регионе AWS Китай (Пекин) под управлением Sinnet и регионе AWS Китай (Нинся) под управлением NWCD, см. на странице интеграции AWS KMS с сервисами в Китае.

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