Wie Amazon Elastic Transcoder AWS KMS nutzt - AWS Key Management Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Wie Amazon Elastic Transcoder AWS KMS nutzt

Mit Amazon Elastic Transcoder können Sie in einem Amazon-S3-Bucket gespeicherte Mediendateien in Formate konvertieren, die von Wiedergabegeräten aus dem Verbrauchersegment abgespielt werden können. Sowohl die Eingabe- als auch die Ausgabedateien lassen sich verschlüsseln und entschlüsseln. In den folgenden Abschnitten wird beschrieben, wie AWS KMS für diese beiden Prozesse verwendet wird.

Verschlüsseln der Eingabedatei

Bevor Sie Elastic Transcoder verwenden können, müssen Sie einen Amazon-S3-Bucket erstellen und Ihre Mediendatei in diesen Bucket hochladen. Sie können die Datei entweder vor dem Upload mithilfe clientseitiger AES-Verschlüsselung verschlüsseln oder nach dem Upload mithilfe der serverseitigen Verschlüsselung von Amazon S3.

Wenn Sie sich für die clientseitige Verschlüsselung mit AES entscheiden, müssen Sie die Datei vor dem Upload in Amazon S3 selbst verschlüsseln und Elastic Transcoder Zugriff auf den Verschlüsselungsschlüssel geben. Hierzu verwenden Sie einen symmetrischen AWS KMS AWS KMS key zum Schutz des AES-Verschlüsselungsschlüssels, mit dem Sie die Mediendatei verschlüsselt haben.

Wenn Sie sich für die serverseitige Verschlüsselung entscheiden, erlauben Sie Amazon S3, sämtliche Verschlüsselungs- und Entschlüsselungsoperationen in Ihrem Namen auf die Dateien anzuwenden. Bei der Konfiguration von Amazon S3 haben Sie die Wahl zwischen drei unterschiedlichen Verschlüsselungsschlüsseln, mit denen der zur Verschlüsselung Ihrer Datei verwendete eindeutige Datenschlüssel verschlüsselt werden kann:

Wichtig

Für die clientseitige und serverseitige Verschlüsselung unterstützt Elastic Transcoder nur symmetrische KMS-Schlüssel. Sie können keine asymmetrische KMS-Schlüssel verwenden, um Ihre Elastic-Transcoder-Dateien zu verschlüsseln. Informationen zur Feststellung, ob ein KMS-Schlüssel symmetrisch oder asymmetrisch ist, finden Sie unter Erkennen asymmetrischer KMS-Schlüssel.

Sie können die Verschlüsselung aktivieren und einen Schlüssel mithilfe der Amazon-S3-Konsole oder der entsprechenden Amazon-S3-APIs angeben. Weitere Informationen zur Verschlüsselung in Amazon S3 finden Sie unter Schützen von Daten mithilfe der serverseitigen Verschlüsselung mit KMS-Schlüsseln (SSE-KMS) im Amazon-Simple-Storage-Service-Benutzerhandbuch.

Wenn Sie die Eingabedatei mithilfe des Von AWS verwalteter Schlüssel für Amazon S3 in Ihrem Konto oder mithilfe eines kundenverwalteten Schlüssels schützen, interagieren Amazon S3 und AWS KMS wie folgt:

  1. Amazon S3 fordert einen Klartext-Datenschlüssel und eine mit dem angegebenen KMS-Schlüssel verschlüsselte Kopie dieses Datenschlüssels an.

  2. AWS KMS erstellt einen Datenschlüssel, verschlüsselt diesen Datenschlüssel mit dem angegebenen KMS-Schlüssel und sendet sowohl den Klartext-Datenschlüssel als auch den verschlüsselten Datenschlüssel an Amazon S3.

  3. Amazon S3 verschlüsselt die Mediendatei mit dem Klartext-Datenschlüssel und speichert die Datei anschließend im angegebenen Amazon-S3-Bucket.

  4. Amazon S3 speichert den verschlüsselten Datenschlüssel zusammen mit der verschlüsselten Mediendatei.

Entschlüsseln der Eingabedatei

Wenn Sie die Eingabedatei mithilfe der serverseitigen Verschlüsselung von Amazon S3 verschlüsseln, entschlüsselt Elastic Transcoder die Datei nicht. Stattdessen nutzt Elastic Transcoder zur Entschlüsselung Amazon S3, und zwar gemäß den Einstellungen, die Sie bei der Erstellung des Auftrags und der Pipeline festgelegt haben.

Möglich sind die nachfolgend aufgeführten Einstellungskombinationen.

Verschlüsselungsmodus AWS KMS-Schlüssel Bedeutung
S3 Standard Amazon S3 erstellt und verwaltet die Schlüssel, mit denen die Mediendatei verschlüsselt und entschlüsselt wird. Dieser Prozess ist für den Benutzer nicht transparent.
S3-AWS-KMS Standard Amazon S3 verschlüsselt die Mediendatei mit einem Datenschlüssel, der mit dem standardmäßigen Von AWS verwalteter Schlüssel für Amazon S3 in Ihrem Konto verschlüsselt wurde.
S3-AWS-KMS Benutzerdefiniert (mit ARN) Amazon S3 benutzt ein Datenschlüssel, der mit dem angegebenen kundenverwalteten KMS-Schlüssel verschlüsselt wurde, um die Mediendatei mit einem Datenschlüssel zu verschlüsseln.

Wenn Sie S3-AWS-KMS angeben, interagieren Amazon S3 und AWS KMS bei der Entschlüsselung wie folgt:

  1. Amazon S3 sendet den verschlüsselten Datenschlüssel an AWS KMS.

  2. AWS KMS entschlüsselt den Datenschlüssel mithilfe des passenden KMS-Schlüssels und sendet anschließend den Klartext-Datenschlüssel an Amazon S3 zurück.

  3. Amazon S3 entschlüsselt den Chiffretext mithilfe des Klartext-Datenschlüssels.

Wenn Sie sich für die clientseitige Verschlüsselung mit einem AES-Schlüssel entscheiden, ruft Elastic Transcoder die verschlüsselte Datei aus dem Amazon-S3-Bucket ab und entschlüsselt sie. Zur Entschlüsselung des AES-Schlüssels verwendet Elastic Transcoder den KMS-Schlüssel, den Sie bei der Erstellung der Pipeline angegeben haben. Anschließend wird die Mediendatei mithilfe dieses AES-Schlüssels entschlüsselt.

Verschlüsseln der Ausgabedatei

Elastic Transcoder verschlüsselt die Ausgabedatei gemäß den Verschlüsselungs-Einstellungen, die Sie bei der Erstellung des Auftrags und der Pipeline angegeben haben. Verfügbar sind die nachfolgend aufgeführten Optionen.

Verschlüsselungsmodus AWS KMS-Schlüssel Bedeutung
S3 Standard Amazon S3 erstellt und verwaltet die Schlüssel, mit denen die Ausgabedatei verschlüsselt wird.
S3-AWS-KMS Standard Amazon S3 verwendet einen Datenschlüssel, der von AWS KMS erstellt und mit dem Von AWS verwalteter Schlüssel für Amazon S3 in Ihrem Konto verschlüsselt wird.
S3-AWS-KMS Benutzerdefiniert (mit ARN) Amazon S3 verschlüsselt die Mediendatei mit einem Datenschlüssel, der mit dem durch den ARN angegebenen kundenverwalteten KMS-Schlüssel verschlüsselt wurde.
AES- Standard Elastic Transcoder entschlüsselt den von Ihnen angegebenen AES-Schlüssel mithilfe des Von AWS verwalteter Schlüssel für Amazon S3 in Ihrem Konto und verschlüsselt die Ausgabedatei anschließend mit diesem Schlüssel.
AES- Benutzerdefiniert (mit ARN) Elastic Transcoder entschlüsselt den von Ihnen angegebenen AES-Schlüssel mithilfe des durch den ARN angegebenen kundenverwalteten KMS-Schlüssel und verschlüsselt die Ausgabedatei anschließend mit diesem Schlüssel.

Wenn Sie festlegen, dass die Ausgabedatei mit einem Von AWS verwalteter Schlüssel für Amazon S3 in Ihrem Konto oder mit einem kundenverwalteten KMS-Schlüssel verschlüsselt wird, interagieren Amazon S3 und AWS KMS wie folgt:

  1. Amazon S3 fordert einen Klartext-Datenschlüssel und eine mit dem angegebenen KMS-Schlüssel verschlüsselte Kopie dieses Datenschlüssels an.

  2. AWS KMS erstellt einen Datenschlüssel, verschlüsselt diesen Datenschlüssel mit dem KMS-Schlüssel und sendet sowohl den Klartext-Datenschlüssel als auch den verschlüsselten Datenschlüssel an Amazon S3.

  3. Amazon S3 verschlüsselt die Mediendatei mit dem Datenschlüssel und speichert sie im angegebenen Amazon-S3-Bucket.

  4. Amazon S3 speichert den verschlüsselten Datenschlüssel zusammen mit der verschlüsselten Mediendatei.

Wenn die Ausgabedatei mit dem von Ihnen angegebenen AES-Schlüssel verschlüsselt werden soll, muss dieser AES-Schlüssel mit einem KMS-Schlüssel in AWS KMS verschlüsselt werden. Elastic Transcoder, AWS KMS und Sie interagieren dann wie folgt:

  1. Sie verschlüsseln Ihren AES-Schlüssel durch Aufrufen der Encrypt-Operation in der AWS KMS-API. AWS KMS verschlüsselt den Schlüssel dann mit dem angegebenen KMS-Schlüssel. Welcher KMS-Schlüssel verwendet werden soll, geben Sie bei der Erstellung der Pipeline an.

  2. Sie geben bei der Erstellung des Elastic-Transcoder-Auftrags die Datei an, die den verschlüsselten AES-Schlüssel enthält.

  3. Elastic Transcoder entschlüsselt den Schlüssel durch Aufrufen der Decrypt-Operation in der AWS KMS-API. Dabei wird der verschlüsselte Schlüssel als Chiffretext übergeben.

  4. Elastic Transcoder verschlüsselt die Ausgabemediendatei mit dem entschlüsselten AES-Schlüssel und löscht den entschlüsselten AES-Schlüssel dann aus dem Arbeitsspeicher. Auf dem Datenträger wird nur die verschlüsselte Kopie gespeichert, die Sie ursprünglich im Job angegeben haben.

  5. Nun können Sie die verschlüsselte Ausgabedatei herunterladen und lokal mithilfe des ursprünglich von Ihnen angegebenen AES-Schlüssels entschlüsseln.

Wichtig

AWS speichert niemals Ihre privaten Verschlüsselungsschlüssel. Daher ist es wichtig, dass Sie Ihre Schlüssel sicher und geschützt verwalten. Wenn die Schlüssel verloren gehen, können Sie Ihre Daten nicht mehr entschlüsseln.

Schützen von HLS-Inhalten

HTTP Live Streaming (HLS) ist ein adaptives Streaming-Protokoll. Elastic Transcoder unterstützt HLS, indem Ihre Eingabedatei in kleinere Einzeldateien, genannt Mediensegmente, aufgesplittet wird. Ein Satz aus entsprechenden einzelnen Mediensegmenten enthält dasselbe Material jeweils mit einer anderen Bitrate kodiert. Das Wiedergabegerät kann so den Stream auswählen, der am besten für die verfügbare Bandbreite geeignet ist. Elastic Transcoder erstellt außerdem Wiedergabelisten, die Metadaten zu den verschiedenen zum Streaming verfügbaren Segmenten enthalten.

Wenn Sie den Schutz von HLS-Inhalten aktivieren, wird jedes Mediensegment mit einem 128-Bit-AES-Verschlüsselungsschlüssel verschlüsselt. Wenn die Inhalte abgespielt werden, lädt das Wiedergabegerät während der Wiedergabe den Schlüssel herunter und entschlüsselt die Mediensegmente.

Es werden zwei Typen von Schlüsseln verwendet: ein KMS-Schlüssel und ein Datenschlüssel. Sie müssen einen KMS-Schlüssel für die Verschlüsselung und Entschlüsselung des Datenschlüssels erstellen. Elastic Transcoder nutzt den Datenschlüssel zum Verschlüsseln und Entschlüsseln der Mediensegmente. Der Datenschlüssel muss ein AES-128-Schlüssel sein. Alle Varianten und Segmente ein und desselben Inhalts werden mit demselben Datenschlüssel verschlüsselt. Sie können selbst einen Datenschlüssel angeben oder Elastic Transcoder einen Datenschlüssel erstellen lassen.

Mit dem KMS-Schlüssel kann der Datenschlüssel zu den folgenden Zeitpunkten verschlüsselt werden:

  • Wenn Sie einen eigenen Datenschlüssel bereitstellen, müssen Sie diesen Schlüssel verschlüsseln, bevor Sie ihn an Elastic Transcoder übergeben.

  • Wenn Sie einen Datenschlüssel von Elastic Transcoder anfordern, verschlüsselt Elastic Transcoder den Datenschlüssel für Sie.

Mit dem KMS-Schlüssel kann der Datenschlüssel zu folgenden Zeitpunkten entschlüsselt werden:

  • Elastic Transcoder entschlüsselt den von Ihnen angegebenen Datenschlüssel, wenn mit diesem Datenschlüssel die Ausgabedatei verschlüsselt oder die Eingabedatei entschlüsselt werden muss.

  • Sie entschlüsseln einen von Elastic Transcoder generierten Datenschlüssel, um damit anschließend Ausgabedateien zu entschlüsseln.

Weitere Informationen finden Sie unter HLS Inhaltsschutz im Entwicklerhandbuch für Amazon Elastic Transcoder.

Elastic-Transcoder-Verschlüsselungskontext

Ein Verschlüsselungskontext ist eine Gruppe von Schlüssel/Wert-Paaren mit willkürlichen, nicht geheimen Daten. Wenn Sie einen Verschlüsselungskontext in eine Anforderung zur Verschlüsselung von Daten aufnehmen, bindet AWS KMS den Verschlüsselungskontext kryptografisch an die verschlüsselten Daten. Zur Entschlüsselung der Daten müssen Sie denselben Verschlüsselungskontext übergeben.

Elastic Transcoder verwendet denselben Verschlüsselungskontext in allen AWS KMS-API-Anforderungen, um Datenschlüssel zu generieren, zu verschlüsseln und zu entschlüsseln.

"service" : "elastictranscoder.amazonaws.com"

Der Verschlüsselungskontext wird in - CloudTrail Protokolle geschrieben, um Ihnen zu helfen zu verstehen, wie ein bestimmter AWS KMS KMS-Schlüssel verwendet wurde. Im requestParameters Feld einer CloudTrail Protokolldatei sieht der Verschlüsselungskontext wie folgt aus:

"encryptionContext": { "service" : "elastictranscoder.amazonaws.com" }

Weitere Informationen dazu, wie Sie eine der unterstützten Verschlüsselungsoptionen für Elastic-Transcoder-Aufträge konfigurieren können, finden Sie unter Verschlüsselungsoptionen für Daten im Entwicklerhandbuch für Amazon Elastic Transcoder.