Was ist die AWS Encryption SDK? - AWS Encryption SDK

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.

Was ist die AWS Encryption SDK?

Das AWS Encryption SDK ist eine clientseitige Verschlüsselungsbibliothek, die das Verschlüsseln und Entschlüsseln von Daten unter Verwendung von Branchenstandards und bewährten Methoden erleichtern soll. Es ermöglicht Ihnen, sich auf die Kernfunktionalität Ihrer Anwendung zu konzentrieren und nicht darauf, wie Sie Ihre Daten am besten verschlüsseln und entschlüsseln können. Das AWS Encryption SDK wird unter der Apache 2.0-Lizenz kostenlos zur Verfügung gestellt.

Das AWS Encryption SDK beantwortet Fragen wie z. B. die folgenden für Sie:

  • Welche Verschlüsselungsalgorithmus sollte ich verwenden?

  • Wie oder in welchem Modus sollte ich diesen Algorithmus verwenden?

  • Wie kann ich den Verschlüsselungsschlüssel generieren?

  • Wie kann ich den Verschlüsselungsschlüssel schützen, und wo sollte ich ihn speichern?

  • Wie kann ich meine verschlüsselten Daten portierbar machen?

  • Wie kann ich sicherstellen, dass der beabsichtigte Empfänger meine verschlüsselten Daten lesen kann?

  • Wie kann ich sicherstellen, dass meine verschlüsselten Daten zwischen dem Schreiben und dem Lesen nicht verändert werden?

  • Wie verwende ich die Datenschlüssel, die AWS KMS zurückgegeben werden?

Mit dem AWS Encryption SDK definieren Sie einen Hauptschlüsselanbieter (Java und Python) oder einen Schlüsselbund (C, C#/.NET und JavaScript), der festlegt, welche Wrapping-Schlüssel Sie zum Schutz Ihrer Daten verwenden. Dann verschlüsseln und entschlüsseln Sie Ihre Daten mit den einfachen Methoden des AWS Encryption SDK. Das AWS Encryption SDK erledigt den Rest.

Ohne das AWS Encryption SDK kann es vorkommen, dass Sie mehr Aufwand für den Aufbau einer Verschlüsselungslösung aufwenden als für die Kernfunktionalität Ihrer Anwendung. Das AWS Encryption SDK beantwortet diese Fragen, indem es die folgenden Dinge bereitstellt.

Eine Standard-Implementierung, die die bewährten Methoden der Kryptografie befolgt

Standardmäßig generiert das AWS Encryption SDK einen eindeutigen Datenschlüssel für jedes Datenobjekt, das es verschlüsselt. Dies entspricht den bewährten Methoden der Kryptografie, eindeutige Datenschlüsseln für jede Verschlüsselungsoperation zu verwenden.

Das AWS Encryption SDK verschlüsselt Ihre Daten mit einem sicheren, authentifizierten, symmetrischen Schlüsselalgorithmus. Weitere Informationen finden Sie unter Unterstützte Algorithmen-Pakete im AWS Encryption SDK.

Ein Framework zum Schutz von Datenschlüsseln mit Wrapping Keys

Das AWS Encryption SDK schützt die Datenschlüssel, die Ihre Daten verschlüsseln, indem es sie unter einem oder mehreren Umschließungsschlüsseln verschlüsselt. Durch die Bereitstellung eines Frameworks zum Verschlüsseln von Datenschlüsseln mit mehr als einem Umschließungsschlüssel AWS Encryption SDK trägt das dazu bei, dass Ihre verschlüsselten Daten portabel sind.

Verschlüsseln Sie beispielsweise Daten mit einem Eingang AWS KMS und AWS KMS key einem Schlüssel aus Ihrem lokalen HSM. Sie können einen der Wrapping-Schlüssel verwenden, um die Daten zu entschlüsseln, falls einer nicht verfügbar ist oder der Anrufer nicht berechtigt ist, beide Schlüssel zu verwenden.

Eine formatierte Nachricht, die verschlüsselte Datenschlüssel mit den verschlüsselten Daten speichert

Das AWS Encryption SDK speichert die verschlüsselten Daten und den verschlüsselten Datenschlüssel zusammen in einer verschlüsselten Nachricht in einem definierten Datenformat. Das bedeutet, dass Sie die Datenschlüssel, die Ihre Daten verschlüsseln, nicht im Auge behalten oder schützen müssen, da dies das AWS Encryption SDK für Sie erledigt.

Für einige Sprachimplementierungen von ist ein AWS SDK AWS Encryption SDK erforderlich, für das AWS Encryption SDK ist jedoch kein AWS-Konto und es ist auch von keinem Dienst abhängig. AWS Sie benötigen ein AWS-Konto nur, wenn Sie es AWS KMS keyszum Schutz Ihrer Daten verwenden möchten.

Entwickelt in Open-Source-Repositorien

Das AWS Encryption SDK wurde in Open-Source-Repositorien am entwickelt. GitHub Sie können diese Repositorien verwenden, um den Code einzusehen, Probleme zu lesen und einzureichen sowie Informationen zu finden, die für Ihre Sprachimplementierung spezifisch sind.

Kompatibilität mit Verschlüsselungsbibliotheken und -services

Das AWS Encryption SDK wird in mehreren Programmiersprachen unterstützt. Alle Sprachimplementierungen sind interoperabel. Sie können mit einer Sprachimplementierung verschlüsseln und mit einer anderen entschlüsseln. Die Interoperabilität ist möglicherweise von Spracheinschränkungen abhängig. Wenn dies der Fall ist, werden diese Einschränkungen im Thema zur Sprachimplementierung beschrieben. Außerdem müssen Sie beim Verschlüsseln und Entschlüsseln kompatible Schlüsselbünde oder Masterschlüssel und Masterschlüsselanbieter verwenden. Details hierzu finden Sie unter Schlüsselbund-Kompatibilität.

Das AWS Encryption SDK kann jedoch nicht mit anderen Bibliotheken interagieren. Da jede Bibliothek verschlüsselte Daten in einem anderen Format zurückgibt, können Sie nicht mit einer Bibliothek verschlüsseln und mit einer anderen entschlüsseln.

DynamoDB Encryption Client und clientseitige Amazon S3 S3-Verschlüsselung

Die Daten, die mit dem DynamoDB Encryption Client oder der clientseitigen Amazon S3 S3-Verschlüsselung verschlüsselt wurden, AWS Encryption SDK können nicht entschlüsselt werden. Diese Bibliotheken können die von ihnen zurückgegebene verschlüsselte Nachricht nicht entschlüsseln. AWS Encryption SDK 

AWS Key Management Service (AWS KMS)

Sie AWS Encryption SDK können Datenschlüssel verwenden AWS KMS keys, um Ihre Daten zu schützen, einschließlich KMS-Schlüssel für mehrere Regionen. Sie können die beispielsweise so konfigurieren, AWS Encryption SDK dass Ihre Daten unter einem oder mehreren AWS KMS keys in Ihrem verschlüsselt werden. AWS-Konto Sie müssen jedoch dasAWS Encryption SDK verwenden, um diese Daten zu entschlüsseln.

Sie AWS Encryption SDK können den Chiffretext, den die Verschlüsselungs- oder Operationen zurückgeben, nicht entschlüsseln. AWS KMSReEncrypt Ebenso kann die AWS KMS-Decrypt-Operation die verschlüsselte Nachricht nicht entschlüsseln, die das AWS Encryption SDK zurückgibt.

Der AWS Encryption SDK unterstützt nur KMS-Schlüssel mit symmetrischer Verschlüsselung. Sie können keinen asymmetrischen KMS-Schlüssel für die Verschlüsselung oder Anmeldung in verwenden. AWS Encryption SDK Das AWS Encryption SDK generiert eigene ECDSA-Signaturschlüssel für Algorithmen-Pakete, die Nachrichten signieren.

Hilfe bei der Entscheidung, welche Bibliothek oder welcher Dienst verwendet werden soll, finden Sie unter So wählen Sie ein Verschlüsselungstool oder einen Verschlüsselungsdienst aus unter AWSKryptografische Dienste und Tools.

Support und Wartung

Das AWS Encryption SDK verwendet dieselbe Wartungsrichtlinie wie das AWS SDK und die Tools, einschließlich der Versionierungs- und Lebenszyklusphasen. Als bewährte Methode empfehlen wir, dass Sie die neueste verfügbare Version von AWS Encryption SDK für Ihre Programmiersprache verwenden und ein Upgrade durchführen, sobald neue Versionen veröffentlicht werden. Wenn für eine Version wesentliche Änderungen erforderlich sind, z. B. das Upgrade von AWS Encryption SDK Versionen vor 1.7. x auf Versionen 2.0. x und später stellen wir detaillierte Anweisungen zur Verfügung, um Ihnen zu helfen.

Jede Programmiersprachenimplementierung von AWS Encryption SDK wird in einem separaten GitHub Open-Source-Repository entwickelt. Der Lebenszyklus und die Supportphase der einzelnen Versionen variieren wahrscheinlich je nach Repositorium. Beispielsweise AWS Encryption SDK könnte sich eine bestimmte Version von in einer Programmiersprache in der Phase der allgemeinen Verfügbarkeit (vollständiger Support) befinden, die end-of-support Phase jedoch in einer anderen Programmiersprache. Wir empfehlen, wann immer möglich eine vollständig unterstützte Version zu verwenden und Versionen zu vermeiden, die nicht mehr unterstützt werden.

Informationen zur Lebenszyklusphase von AWS Encryption SDK Versionen für Ihre Programmiersprache finden Sie in der SUPPORT_POLICY.rst Datei in den einzelnen AWS Encryption SDK Repositorys.

Weitere Informationen finden Sie unter Wartungsrichtlinien für AWS SDKs Versionen von AWS Encryption SDK und Tools im Referenzhandbuch für SDKs und Tools. AWS

Mehr lernen

Weitere Informationen über das AWS Encryption SDK und die clientseitige Verschlüsselung finden Sie in den folgenden Quellen.

Informationen über Implementierungen des AWS Encryption SDK in verschiedenen Programmiersprachen.

Senden von Feedback

Wir freuen uns über Ihr Feedback! Wenn Sie eine Frage oder einen Kommentar haben oder ein Problem melden möchten, verwenden Sie bitte die folgenden Ressourcen.

  • Wenn Sie eine potenzielle Sicherheitslücke im AWS Encryption SDK entdecken, informieren Sie bitte die AWS-Sicherheit. Erstellen Sie kein öffentliches GitHub Problem.

  • Um Feedback zu gebenAWS Encryption SDK, reichen Sie ein Problem im GitHub Repository für die von Ihnen verwendete Programmiersprache ein.

  • Verwenden Sie die Feedback-Links auf dieser Seite, um Feedback zu dieser Dokumentation zu geben. Sie können auch ein Problem melden oder zu aws-encryption-sdk-docsdem Open-Source-Repository für diese Dokumentation beitragen. GitHub