Купить Корзина
  • Облако и IT-инфраструктура
  • Домены и сайты
  • Вход
Получить консультацию

Ответим на вопросы, расскажем о конфигурациях, поможем с переносом, подберем оборудование, подготовим коммерческое предложение

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

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

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

Или просто оставьте номер телефона, и мы перезвоним вам

  • Телефон в Москве

    +7 495 580-11-11
  • Бесплатный звонок по России

    8 800 555-34-78
  • Или обратитесь в наши офисы

    Региональные номера
    1. База знаний
    2. Рег.облако
    3. Объектное хранилище S3
    4. SSE-C в хранилище S3

    SSE-C в хранилище S3

    SSE-C (Server-Side Encryption with Customer-Provided Keys) — это метод шифрования данных в хранилище S3, при котором ключи шифрования предоставляются клиентом. В отличие от стандартного серверного шифрования, где ключами управляет провайдер, здесь контроль полностью остается на стороне пользователя.

    Принцип работы SSE-C

    SSE-C работает следующим образом:

    • при загрузке объекта в бакет пользователь передает собственный ключ шифрования через специальный набор HTTP-заголовков в запросе к хранилищу;
    • S3 использует этот ключ, чтобы зашифровать данные;
    • ключ не сохраняется на стороне хранилища S3 — он используется только во время обработки запроса. Вместо самого ключа сервис хранит его SHA-256 HMAC, который создается при загрузке. Это значение используется для проверки ключа при последующих обращениях;
    • для чтения объекта пользователь должен предоставить тот же самый ключ. Если ключ не совпадает с исходным, S3 не сможет расшифровать данные и вернет ошибку.

    Обратите внимание

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

    Поддерживаемые операции

    • PutObject — загрузка нового объекта с шифрованием SSE-C;
    • GetObject — скачивание зашифрованного объекта в случае предоставления корректного ключа;
    • HeadObject — получение метаданных объекта в случае предоставления корректного ключа;
    • CopyObject — копирование объекта в пределах бакета или между бакетами. Параметры шифрования необходимо указывать как для исходного объекта, так и для целевого;
    • CreateMultipartUpload — инициализация загрузки части объекта;
    • UploadPart — загрузка части объекта;
    • UploadPartCopy — копирование части объекта в рамках multipart-загрузки.

    Обратите внимание

    Для UploadPart и UploadPartCopy должны использоваться те же параметры шифрования, что и для CreateMultipartUpload. Если CreateMultipartUpload выполнен с SSE-C, все части должны использовать те же параметры шифрования. Если CreateMultipartUpload выполнен без SSE-C, все части передаются без шифрования.

    Заголовки для SSE-C

    Для работы SSE-C в HTTP-запросах используются следующие заголовки:

    • x-amz-server-side-encryption-customer-algorithm — алгоритм шифрования. Поддерживается только AES256;
    • x-amz-server-side-encryption-customer-key — ключ шифрования в формате Base64;
    • x-amz-server-side-encryption-customer-key-MD5 — MD5-хеш ключа в формате Base64.

    Как сгенерировать ключ шифрования и MD5-хеш

    • 1

      Сгенерируйте ключ длиной 32 байта и сохраните его в файле ssec.key с помощью команды:

      openssl rand -out ssec.key 32
    • 2

      Закодируйте ваш ключ в формате base64 и экспортируйте его как переменную:

      key=$(cat ssec.key | base64)
    • 3

      Сгенерируйте 128-битный MD5-хеш ключа шифрования в кодировке base64 и экспортировать его как переменную среды:

      key_md5=$(openssl dgst -md5 -binary ssec.key | base64)

    Обратите внимание

    Если вы потеряете ключ шифрования, доступ к зашифрованным с его помощью данным также будет потерян. Вы не сможете выполнять GET-операции с зашифрованными объектами без соответствующего ключа.

    Примеры запросов в AWS CLI

    • Загрузка объекта с шифрованием:
    aws s3api put-object \
    --bucket <your-bucket-name> \
    --key <your-object-key> \
    --body <path/to/your/file> \
    --sse-customer-algorithm AES256 \
    --sse-customer-key $key \
    --sse-customer-key-md5 $key_md5
    • Скачивание зашифрованного объекта:
    aws s3api get-object \
      --bucket <your-bucket-name> \
      --key <your-object-key> \
      <local-destination-file> \
      --sse-customer-algorithm AES256 \
      --sse-customer-key $key \
      --sse-customer-key-md5 $key_md5
    • Получение метаданных объекта:
    aws s3api head-object \
      --bucket <your-bucket-name> \
      --key <your-object-key> \
      --sse-customer-algorithm AES256 \
      --sse-customer-key $key \
      --sse-customer-key-md5 $key_md5
    • Копирование объекта с шифрованием SSE-C:
    aws s3api copy-object \
      --bucket <your-bucket-name> \
      --copy-source <your-bucket-name>/<your-source-object-key> \
      --key <your-destination-object-key> \
      --sse-customer-algorithm AES256 \
      --sse-customer-key $key \
      --sse-customer-key-md5 $key_md5 \
      --copy-source-sse-customer-algorithm AES256 \
      --copy-source-sse-customer-key $key \
      --copy-source-sse-customer-key-md5 $key_md5
    • Инициализация загрузки в рамках multipart-загрузки:
    aws s3api create-multipart-upload \
      --bucket <your-bucket-name> \
      --key <your-object-key> \
      --sse-customer-algorithm AES256 \
      --sse-customer-key $key \
      --sse-customer-key-md5 $key_md5

    Этот запрос вернет UploadId, который используется при загрузке частей файла.

    • Загрузка части объекта в рамках multipart-загрузки:
    aws s3api upload-part \
      --bucket <your-bucket-name> \
      --key <your-object-key> \
      --part-number 1 \
      --body <path/to/part1> \
      --upload-id <your-upload-id> \
      --sse-customer-algorithm AES256 \
      --sse-customer-key $key \
      --sse-customer-key-md5 $key_md5
    • Копирование части объекта в рамках multipart-загрузки:
    aws s3api upload-part-copy \
      --bucket <your-bucket-name> \
      --key <your-object-key> \
      --part-number 1 \
      --upload-id <your-upload-id> \
      --copy-source <source-bucket>/<source-object-key> \
      --copy-source-sse-customer-algorithm AES256 \
      --copy-source-sse-customer-key $key \
      --copy-source-sse-customer-key-md5 $key_md5 \
      --sse-customer-algorithm AES256 \
      --sse-customer-key $key \
      --sse-customer-key-md5 $key_md5
    Специальные предложения
    • Гранты для бизнеса до 500к
    • Скидки на cloud GPU до 50%
    • Скидки на bare-metal с А4000 и А5000
    • Кешбэк 100% на kubernetes
    Рассылка Рег.облака

    Лайфхаки, скидки и новости об IT

    Даю согласие на получение рекламных и информационных материалов

    Продукты и сервисы
    • Облачные серверы
    • Выделенные серверы
    • Базы данных
    • S3 хранилище
    • Кластеры Kubernetes
    • Cloud GPU
    • VPS
    Решения
    • Интернет-магазин в облаке
    • Разработка и тестирование в облаке
    • Удаленный рабочий стол
    • Работа с 1С
    • Корпоративное хранение данных
    • Искусственный интеллект и машинное обучение в облаке
    • Конфигуратор сервера
    • Администрирование серверов
    Техподдержка
    • Создать тикет
    • Документация
    Прочее
    • О компании
    • Партнерская программа
    • Гранты
    • Блог
    • Контакты
    • Отзывы клиентов
    • © ООО «РЕГ.РУ» Нашли опечатку?
      Выделите и нажмите Ctrl+Enter
    • Облачная платформа Рег.ру включена в реестр российского ПО Запись №23682 от 29.08.2024
      • Политика конфиденциальности
      • Политика обработки персональных данных
      • Правила применения рекомендательных технологий
    • 8 800 333-92-23

      Бесплатный звонок по России

      +7 (495) 009‑92‑22

      Телефон в Москве

      • vk
      • telegram
      • moikrug
    • Мы используем cookie и рекомендательные технологии для персонализации сервисов и удобства пользователей. Вы можете запретить сохранение cookie в настройках своего браузера