Szyfrowanie po stronie serwera kluczami użytkownika (SSE-C)

Szyfrowanie po stronie serwera (SSE) to najprostsza opcja szyfrowania danych. Wszystkie wymagające mocy obliczeniowej operacje szyfrowania wykonywane są po stronie serwera. Klient wysyła niezaszyfrowane dane do Atman Object Storage, następnie dane te są szyfrowane i zapisywane.

Kiedy dane są odczytywane, Atman Object Storage odczytuje zaszyfrowane dane, odszyfrowuje je po stronie serwera, a następnie wysyła niezaszyfrowane dane do Ciebie poprzez sieć (protokołem HTTPS). Ten proces jest przejrzysty dla użytkowników końcowych.

Atman Object Storage obsługuje szyfrowanie po stronie serwera za pomocą kluczy dostarczonych przez klienta zgodnie ze specyfikacją Amazon SSE-C. W tej konfiguracji to klient S3 przekazuje klucz szyfrowania wraz z każdym żądaniem odczytu lub zapisu szyfrowanych danych. Za zarządzanie kluczami odpowiada klient tj. musi pamiętać, którym kluczem zaszyfrował dany obiekt.

Wymagane nagłówki HTTP

NagłówekOpis
x-amz-server-side​-encryption​-customer-algorithmOkreśla algorytm szyfrowania. Wartość: AES256
x-amz-server-side​-encryption​-customer-key256-bitowy klucz szyfrowania zakodowany w base64
x-amz-server-side​-encryption​-customer-key-MD5zakodowany w base64 128-bitowy skrót MD5 klucza szyfrowania

Przykład (awscli)

Ogólna postać polecenia:

aws s3 cp <plik do skopiowania> s3://<lokalizacja docelowa> --sse-c-key <klucz klienta> --sse-c AES256 --profile <profil awscli> --endpoint <S3 endpoint>

Przykład użycia:

aws s3 cp plik s3://bucket/plik --sse-c-key aikua1EiTeu4oce5jipahjuipugionge --sse-c AES256 --profile awscli-profile --endpoint <S3 endpoint>

Przykład 2 (awscli blob)

Generowanie klucza (blob)

openssl rand 32 > sse.key

Polecenie z użyciem pliku blob:

aws s3 cp plik s3://bucket/plik --sse-c-key fileb://sse.key --sse-c AES256 --profile awscli-profile --endpoint <S3 endpoint>