Yandex Cloud
Поиск
Связаться с экспертомПопробовать бесплатно
  • Кейсы
  • Документация
  • Блог
  • Все сервисы
    • Cloud Interconnect
    • Cloud Backup
    • Cloud Registry
    • Yandex AI Studio
    • Compute Cloud
    • Object Storage
    • Managed Service for Kubernetes®
    • Yandex BareMetal
    • Smart Web Security
    • Security Deck
    • Managed Service for PostgreSQL
    • Managed Service for ClickHouse®
    • Monium
    • Cloud CDN
    • Network Load Balancer
    • Virtual Private Cloud
    • Cloud DNS
    • Application Load Balancer
    • Yandex Cloud Video
    • Stackland
    • Yandex Cloud Router
    • Yandex Managed Service for Trino
    • Managed Service for MySQL®
    • Managed Service for Valkey™
    • Managed Service for Apache Spark™
    • Yandex StoreDoc
    • Managed Service for OpenSearch
    • Managed Service for Apache Kafka®
    • Data Transfer
    • Yandex MPP Analytics Engine for PostgreSQL
    • Yandex Managed Service for Apache Airflow®
    • Data Processing
    • Yandex MetaData Hub
    • Managed Service for YDB
    • Managed Service for Sharded PostgreSQL
    • Managed Service for YTsaurus
    • Yandex WebSQL
    • DataLens
    • Yandex Search API
    • SpeechSense
    • SpeechKit
    • DataSphere
    • Vision OCR
    • Translate
    • Yandex Neurosupport
    • Yandex Cloud Detection and Response
    • Yandex Identity Hub
    • Key Management Service
    • Certificate Manager
    • Yandex Lockbox
    • Audit Trails
    • SmartCaptcha
    • Cloud Desktop
    • GOST Gateway
    • Yandex SIEM
    • SourceCraft Code Assistant
    • Container Registry
    • Managed Service for GitLab
    • SourceCraft
    • Managed Service for Prometheus®
    • Cloud Functions
    • API Gateway
    • Yandex Cloud Postbox
    • Message Queue
    • Serverless Integrations
    • IoT Core
    • Data Streams
    • Serverless Containers
    • Cloud Notification Service
    • Yandex Query
    • Identity and Access Management
    • Yandex Cloud Console
    • Resource Manager
    • Yandex Cloud Billing
    • Yandex Cloud Quota Manager
    • Cloud Apps
  • Статус работы сервисов
  • Marketplace
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Yandex Cloud Trust
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Акции и free tier
  • Кейсы
  • Документация
  • Блог
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ООО «Яндекс.Облако»
Yandex Key Management Service
  • Начало работы
    • Обзор
    • Шифрование по схеме envelope encryption
    • Консистентность ключей
    • Квоты и лимиты
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Вопросы и ответы
  • Обучающие курсы

В этой статье:

  • Описание процесса шифрования
  • Описание процесса расшифрования
  • Особенности реализации схемы envelope encryption
  • Примеры использования
  1. Концепции
  2. Шифрование по схеме envelope encryption

Шифрование по схеме envelope encryption

Статья создана
Yandex Cloud
Обновлена 27 февраля 2025 г.
Открыть в Markdown
  • Описание процесса шифрования
  • Описание процесса расшифрования
  • Особенности реализации схемы envelope encryption
  • Примеры использования

У шифрования методом encrypt есть ограничение на максимальный размер данных для шифрования (32 КБ). Рост объема данных вызывает ряд проблем:

  • Повышение нагрузки на KMS, вызванное операциями шифрования и расшифрования.

  • Понижение эффективности шифрования и расшифрования методами encrypt и decrypt с ростом объема данных для шифрования.

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

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

Описание процесса шифрованияОписание процесса шифрования

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

  • Ключ шифрования данных (data encryption key, DEK).
  • Ключ шифрования ключа (key encryption key, KEK).

Шифрование происходит следующим образом:

  1. Клиент генерирует ключ шифрования данных (DEK) и локально шифрует им данные.

    Для формирования ключа с высокой энтропией рекомендуется использовать метод generateDataKey. Он генерирует ключ на основе алгоритма Fortuna, агрегирующий энтропию с различных источников (RDSEED и RDRAND, /dev/urandom, энтропия с хостов).

  2. Клиент выполняет encrypt-запрос к KMS на шифрование DEK.

  3. Клиент получает зашифрованный DEK.

    Ключ KMS, которым выполняется шифрование DEK, выступает в данной схеме в роли ключа шифрования ключа (KEK).

  4. Незашифрованный DEK уничтожается клиентом.

  5. Зашифрованный DEK сохраняется клиентом рядом с шифртекстом.

image

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

Описание процесса расшифрованияОписание процесса расшифрования

Расшифрование происходит следующим образом:

  1. Клиент читает зашифрованный DEK, сохраненный рядом с зашифрованными данными.
  2. Клиент выполняет decrypt-запрос к KMS на расшифрование DEK.
  3. Клиент получает расшифрованный DEK.
  4. Зашифрованные данные локально расшифровываются с помощью DEK.
  5. DEK уничтожается.

Особенности реализации схемы envelope encryptionОсобенности реализации схемы envelope encryption

Шифрование по схеме envelope encryption перекладывает часть ответственности за безопасное шифрование данных на клиента. При реализации данной схемы важно:

  • Использовать безопасные алгоритмы для локального шифрования.

  • Не сохранять ключ шифрования данных (DEK) в открытом виде.

    Важно

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

  • Использовать разные DEK для разных данных.

  • Генерировать новые DEK при повторном шифровании данных.

Чтобы избежать ошибок, для шифрования на стороне клиента рекомендуется использовать AWS Encryption SDK или Google Tink.

Примеры использованияПримеры использования

  • Шифрование данных с помощью AWS Encryption SDK
  • Шифрование данных с помощью Google Tink
  • Шифрование секретов в Yandex Managed Service for Kubernetes

Была ли статья полезна?

Предыдущая
Электронная подпись
Следующая
Консистентность ключей
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ООО «Яндекс.Облако»