Возможности Сервиса управления ключами AWS

Обзор

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

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

Если для вашего аккаунта AWS включен AWS CloudTrail, каждый запрос, который вы делаете к AWS KMS, записывается в файл журнала. Этот файл журнала доставляется в корзину Простого сервиса хранения данных Amazon (Amazon 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-2 и Программы валидации криптографических модулей для защиты конфиденциальности и целостности ваших ключей. Модули HSM AWS KMS – это криптографический источник доверия для защиты ключей KMS. Они создают безопасную аппаратно защищенную границу для всех криптографических операций, которые происходят в KMS. Весь материал для ключей KMS, генерируемый в модулях AWS KMS HSM, и все операции, требующие расшифровки материала для ключей KMS, происходят строго в пределах границ этих модулей HSM по стандарту FIPS 140-2 уровня безопасности 3. К обновлениям встроенного ПО модулей AWS KMS HSM применяется многосторонний контроль доступа, который проверяет и анализирует независимая группа Amazon; согласно требованиям FIPS-140, все изменения встроенного ПО модулей KMS HSM передаются в аккредитованную NIST лабораторию для проверки на соответствие уровню безопасности 3 FIPS 140-2.

Незашифрованные ключи никогда не записываются на диск и используются только в энергозависимой памяти 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‑2), а вышеупомянутое техническое описание о сведениях криптографии не применяется. 

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

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

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

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

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

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

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

* Информация, приведенная в разделе FIPS 140-2, не применима к региону 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 – это библиотека шифрования, которая помогает защитить конфиденциальные данные, хранящиеся в базе данных, и предоставляет дополнительные функции поиска зашифрованных данных и запросов к ним.
  • Клиент шифрования Amazon 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]

Amazon Forecast

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

AWS CodeBuild

Amazon AppFlow

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

Amazon Redshift

AWS CodeCommit[1]

Amazon Athena

Amazon FSx

Amazon Rekognition

AWS CodePipeline

Amazon Aurora

Amazon GuardDuty

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

AWS Control Tower

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

Amazon HealthLake

Amazon Route 53

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

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

Amazon Inspector

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

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

SDK для Amazon Chime

Amazon Kendra

Amazon SageMaker

AWS DeepRacer

Журналы Amazon CloudWatch

Amazon Keyspaces (для Apache Cassandra)

Amazon Simple Email Service (SES)

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

Amazon CloudWatch Synthetics

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

Amazon Simple Notification Service (SNS)

AWS Elemental MediaTailor

Amazon CodeGuru

Amazon Kinesis Firehose

Amazon Simple Queue Service (SQS)

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

Amazon CodeWhisperer

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

Amazon Textract

AWS GameLift

Amazon Comprehend

Amazon Lex

Amazon Timestream

AWS Glue

Amazon Connect

Amazon Lightsail[1]

Amazon Transcribe

AWS Glue DataBrew

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

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

Amazon Translate

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

Amazon Connect Voice ID

Amazon Lookout for Equipment

Amazon WorkMail

AWS IoT SiteWise

Amazon Connect Wisdom

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

Amazon WorkSpaces

AWS Lambda

Amazon DocumentDB

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

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

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

Amazon DynamoDB

Amazon Macie

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

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

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

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

AWS AppConfig

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

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

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

AWS AppFabric

AWS Proton

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

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

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

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

Amazon EFS

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

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

AWS Snowball 

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

Amazon MemoryDB

AWS App Runner

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

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

Amazon Monitron

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

AWS Snowcone

Amazon Elastic Transcoder

Amazon MQ

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

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

Amazon ElastiCache

Amazon Neptune

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

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

Amazon EMR

Студия Amazon Nimble

AWS Cloud9[1]

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

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

Amazon OpenSearch

AWS CloudHSM[2]

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

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

Amazon Omics

AWS CloudTrail

AWS X-Ray

Amazon FinSpace

Amazon Personalize

AWS CodeArtifact

 

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

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

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

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