Verwenden von Hybrid-Post-Quantum-TLS mit AWS KMS - 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.

Verwenden von Hybrid-Post-Quantum-TLS mit AWS KMS

AWS Key Management Service (AWS KMS) unterstützt jetzt eine Hybrid-Post-Quantum-Schlüsselaustauschoption für das Transport-Layer-Security-Netzwerk-Verschlüsselungsprotokoll (TLS). Sie können diese TLS-Option verwenden, wenn Sie eine Verbindung zu AWS KMS-API-Endpunkten herstellen. Wir bieten dieses Feature an, bevor Post-Quantenalgorithmen standardisiert sind, damit Sie beginnen können, die Auswirkungen dieser Schlüsselaustauschprotokolle auf AWS KMS Anrufe zu testen. Diese optionalen Hybrid-Post-Quantum-Schlüsselaustauschfunktionen sind mindestens so sicher wie die heute verwendete TLS-Verschlüsselung und bieten wahrscheinlich zusätzliche langfristige Sicherheitsvorteile. Sie wirken sich jedoch auf Latenz und Durchsatz im Vergleich zu den klassischen Schlüsselaustauschprotokollen aus, die heute verwendet werden.

Die Daten, die Sie an AWS Key Management Service (AWS KMS) senden, werden während der Übertragung durch die Verschlüsselung geschützt, die von einer TLS-Verbindung (Transport Layer Security) bereitgestellt wird. Die klassischen Cipher-Suites, die TLS-Sitzungen AWS KMS unterstützen, machen Brute-Force-Angriffe auf die Schlüsselaustauschmechanismen mit der aktuellen Technologie undurchführbar. Wenn jedoch in Zukunft das große Quantencomputing praktikabel wird, werden die klassischen Cipher-Suites, die in TLS-Schlüsselaustauschmechanismen verwendet werden, für diese Angriffe anfällig sein. Wenn Sie Anwendungen entwickeln, die auf die langfristige Vertraulichkeit von Daten beruhen, die über eine TLS-Verbindung übertragen werden, sollten Sie einen Plan zur Migration zur Postquantenkryptographie in Betracht ziehen, bevor große Quantencomputer zur Verwendung verfügbar werden. AWS arbeitet daran, sich auf diese Zukunft vorzubereiten, und wir möchten, dass Sie auch gut vorbereitet sind.

Um Daten zu schützen, die heute vor potenziellen zukünftigen Angriffen verschlüsselt werden, beteiligt AWS sich mit der kryptografischen Gemeinschaft an der Entwicklung von quantenresistenten oder Post-Quantum Algorithmen. Wir haben hybride Post-Quantum-Schlüsselaustausch-Cipher-Suites in AWS KMS implementiert, die klassische und Post-Quantum-Elemente kombinieren, um sicherzustellen, dass Ihre TLS-Verbindung mindestens so stark ist wie mit klassischen Cipher-Suites.

Diese hybriden Cipher-Suites sind in den meisten AWS-Regionen für Ihre Operations-Workloads verfügbar. Da sich die Leistungseigenschaften und die Bandbreitenanforderungen von Hybrid-Cipher-Suites jedoch von denen klassischer Schlüsselaustauschmechanismen unterscheiden, empfehlen wir, diese bei Ihren AWS KMS API-Aufrufen unter unterschiedlichen Bedingungen zu testen .

Feedback

Wie immer freuen wir uns über Ihr Feedback und Ihre Teilnahme an unseren Open Source-Repositories. Wir möchten besonders erfahren, wie Ihre Infrastruktur mit dieser neuen Variante des TLS-Datenverkehrs interagiert.

  • Um Feedback zu diesem Thema zu geben, verwenden Sie den Link Feedback in der oberen rechten Ecke dieser Seite.

  • Wir entwickeln diese Hybrid-Cipher-Suites in Open Source im s2n-tlsRepository auf GitHub. Um Feedback zur Benutzerfreundlichkeit der Cipher-Suites zu geben oder neue Testbedingungen oder Ergebnisse zu teilen, erstellen Sie eine Anforderung im s2n-tls-Repository.

  • Wir schreiben Codebeispiele für die Verwendung von hybridem Post-Quantum-TLS mit AWS KMS im aws-kms-pq-tls-example GitHubRepository. Um Fragen zu stellen oder Ideen zur Konfiguration des HTTP-Clients oder AWS KMS -Clients für die Verwendung der Hybrid-Cipher-Suites zu teilen, erstellen Sie eine Anforderung im aws-kms-pq-tls-example Repository.

Unterstützte AWS-Regionen

Post-Quantum-TLS für AWS KMS ist in allen AWS-Regionen verfügbar, die AWS KMS unterstützt, mit Ausnahme von China (Peking) und China (Ningxia).

Anmerkung

AWS KMS unterstützt kein hybrides Post-Quantum-TLS für FIPS-Endpunkte in AWS GovCloud (US).

Eine Liste aller AWS KMS-Endpunkte für jede AWS-Region finden Sie unter AWS Key Management Service-Endpunkte und Kontingente im Allgemeine Amazon Web Services-Referenz. Weitere Informationen über FIPS-Endpunkte finden Sie unter FIPS-Endpunkte in der Allgemeine Amazon Web Services-Referenz.

Über den Hybrid-Post-Quantum-Schlüsselaustausch in TLS

AWS KMS unterstützt Hybrid-Post-Quantum-Schlüsselaustausch-Cipher-Suites. Sie können die AWS SDK for Java 2.x und AWS Common Runtime (CRT) auf Linux-Systemen verwenden, um einen HTTP-Client für die Verwendung dieser Cipher-Suites zu konfigurieren. Wenn Sie dann mit Ihrem HTTP-Client eine Verbindung zu einem AWS KMS-Endpunkt herstellen, werden die Hybrid-Cipher-Suites verwendet.

Dieser HTTP-Client verwendet s2n-tls, eine Open-Source-Implementierung des TLS-Protokolls. Die Hybrid-Cipher-Suites , die s2n-tls verwendet, sind nur für den Schlüsselaustausch implementiert, nicht für die direkte Datenverschlüsselung. Während des Schlüsselaustauschs berechnen Client und Server den Schlüssel, den sie verwenden, um die Daten auf der Leitung zu verschlüsseln und zu entschlüsseln.

Die von s2n-tls verwendeten Algorithmen sind ein Hybrid, der Elliptic Curve Diffie-Hellman (ECDH), einen klassischen Schlüsselaustauschalgorithmus, der heute in TLS verwendet wird, mit Kyber kombiniert, einem Verschlüsselungs- und Schlüsselaustausch-Algorithmus für öffentliche Schlüssel, den das National Institute for Standards and Technology (NIST) als seinen ersten Standard-Post-Quanten-Schlüsselaustausch–Algorithmus bezeichnet hat. Dieser Hybrid verwendet jeden der Algorithmen unabhängig, um einen Schlüssel zu generieren. Dann kombiniert es die beiden Schlüssel kryptografisch. Mit s2n-tls können Sie einen HTTP-Client so konfigurieren, dass er Post-Quantum-TLS bevorzugt, wodurch ECDH mit Kyber an erster Stelle in der Präferenzliste steht. Klassische Schlüsselaustauschalgorithmen sind in der Einstellungsliste enthalten, um die Kompatibilität sicherzustellen, aber sie sind in der Präferenzreihenfolge niedriger.

Wenn die laufende Forschung ergibt, dass dem Kyber-Algorithmus die erwartete Post-Quantum-Stärke fehlt, ist der Hybrid-Schlüssel immer noch mindestens so stark wie der einzelne ECDH-Schlüssel, der derzeit verwendet wird. Bis die Forschung zu Post-Quanten-Algorithmen abgeschlossen ist, empfehlen wir, Hybrid-Algorithmen zu verwenden, anstatt nur Post-Quanten-Algorithmen zu verwenden.

Verwenden von Hybrid-Post-Quantum-TLS mit AWS KMS

Sie können Hybrid-Post-Quantum-TLS für Ihre Anrufe an verwenden AWS KMS. Beachten Sie beim Einrichten der HTTP-Client-Testumgebung die folgenden Informationen:

Verschlüsselung während der Übertragung

Die Hybrid-Cipher-Suites in s2n-tls werden nur für die Verschlüsselung während der Übertragung verwendet. Sie schützen Ihre Daten, während sie von Ihrem Client zum AWS KMS-Endpunkt unterwegs sind. AWS KMS verwendet diese Cipher-Suites nicht, um Daten unter AWS KMS keys zu verschlüsseln.

Wenn AWS KMS stattdessen Ihre Daten unter KMS-Schlüssel verschlüsselt, verwendet es symmetrische Kryptographie mit 256-Bit-Schlüsseln und den Advanced-Encryption-Standard im Galois-Counter-Mode-Algorithmus (AES-GCM), der bereits quantenresistent ist. Theoretische zukünftige, groß angelegte Quantenrechnungsangriffe auf Verschlüsselungstexte, die unter 256-Bit-AES-GCM-Schlüsseln erstellt wurden, reduzieren die effektive Sicherheit des Schlüssels auf 128-Bits. Diese Sicherheitsstufe reicht aus, um Brute-Force-Angriffe auf AWS KMS-Verschlüsselungstexte undurchführbar zu machen.

Unterstützte Systeme

Die Verwendung der Hybrid-Cipher-Suites in s2n-tls wird derzeit nur auf Linux-Systemen unterstützt. Darüber hinaus werden diese Cipher-Suites nur in SDKs unterstützt, die die AWS-Common-Runtime unterstützen, z. B. AWS SDK for Java 2.x Ein Beispiel finden Sie unter Konfigurieren von Hybrid-Post-Quantum-TLS.

AWS KMSEndpunkte

Verwenden Sie bei Verwendung der Hybrid-Cipher-Suites den AWS KMS Standardendpunkt. Die Hybrid-Cipher-Suites in s2n-tls sind nicht kompatibel mit den FIPS 140-2 validierten Endpunkten für AWS KMS.

Wenn Sie einen HTTP-Client so konfigurieren, dass er Post-Quantum-TLS-Verbindungen mit s2n-tls bevorzugt, stehen die Post-Quantum-Ciphers in der Liste der bevorzugten Ciphers an erster Stelle. Die Voreinstellungsliste enthält jedoch die klassischen, nicht-hybriden Verschlüsselungen, die in der Präferenzreihenfolge aus Gründen der Kompatibilität niedriger sind. Wenn Sie einen HTTP-Client konfigurieren möchten, der Post-Quantum-Verschlüsselungspräferenz mit einem von AWS KMS FIPS 140-2 validierten Endpunkt verwendet, verhandelt s2n-tls eine klassische, nicht-hybride Schlüsselaustausch-Cipher.

Eine Liste aller AWS KMS-Endpunkte für jede AWS-Region finden Sie unter AWS Key Management Service-Endpunkte und Kontingente im Allgemeine Amazon Web Services-Referenz. Weitere Informationen über FIPS-Endpunkte finden Sie unter FIPS-Endpunkte in der Allgemeine Amazon Web Services-Referenz.

Erwartete Leistung

Unsere frühen Benchmark-Tests zeigen, dass die Hybrid-Cipher-Suites in s2n-tls langsamer sind als klassische TLS-Cipher-Suites. Der Effekt variiert je nach Netzwerkprofil, CPU-Geschwindigkeit, Anzahl der Kerne und Aufrufrate. Leistungstestergebnisse finden Sie unter So stimmen Sie TLS für hybride Post-Quanten-Kryptografie mit Kyber ab.

Konfigurieren von Hybrid-Post-Quantum-TLS

In diesem Verfahren fügen Sie eine Maven-Abhängigkeit für den AWS Common Runtime HTTP Client hinzu. Anschließend konfigurieren Sie einen HTTP-Client, der Post-Quantum-TLS bevorzugt. Erstellen Sie dann einen AWS KMS-Client, der den HTTP-Client verwendet.

Eine vollständige Liste von Arbeitsbeispielen zum Konfigurieren und Verwenden von hybriden Post-Quantum-TLS mit AWS KMS, finden Sie im aws-kms-pq-tls-example-Repository.

Anmerkung

Der AWS Common Runtime HTTP Client, der als Vorschau verfügbar war, wurde im Februar 2023 allgemein verfügbar. In dieser Version werden die tlsCipherPreference-Klasse und der tlsCipherPreference()-Methodenparameter durch den postQuantumTlsEnabled()-Methodenparameter ersetzt. Wenn Sie dieses Beispiel in der Vorversion verwendet haben, müssen Sie Ihren Code aktualisieren.

  1. Fügen Sie den AWS-Common-Runtime-Client zu Ihren Maven-Abhängigkeiten hinzu. Wir empfehlen, die neueste verfügbare Version zu verwenden.

    Diese Anweisung fügt beispielsweise die Version 2.20.0 des AWS Common Runtime Clients zu Ihren Maven-Abhängigkeiten hinzu.

    <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>aws-crt-client</artifactId> <version>2.20.0</version> </dependency>
  2. Um die Hybrid-Post-Quantum-Cipher-Suites zu aktivieren, fügen Sie das AWS SDK for Java 2.x zu Ihrem Projekt hinzu und initialisieren Sie es. Aktivieren Sie dann die hybriden Post-Quantum-Cipher-Suites auf Ihrem HTTP-Client, wie im folgenden Beispiel gezeigt.

    Dieser Code verwendet den postQuantumTlsEnabled()-Methodenparameter, um einen AWS-Common-Runtime-HTTP-Client zu konfigurieren, der die empfohlene hybride Post-Quantum-Cipher Suite ECDH mit Kyber bevorzugt. Dann verwendet er den konfigurierten HTTP-Client, um eine Instance des AWS KMS-asynchronen Clients zu erstellen, KmsAsyncClient. Nachdem dieser Code abgeschlossen ist, verwenden alle AWS KMS-API-Anfragen auf der KmsAsyncClient-Instance hybrides Post-Quantum-TLS.

    // Configure HTTP client SdkAsyncHttpClient awsCrtHttpClient = AwsCrtAsyncHttpClient.builder() .postQuantumTlsEnabled(true) .build(); // Create the AWS KMS async client KmsAsyncClient kmsAsync = KmsAsyncClient.builder() .httpClient(awsCrtHttpClient) .build();
  3. Testen Sie Ihre AWS KMS-Aufrufe mit hybridem Post-Quantum-TLS.

    Wenn Sie AWS KMS API-Vorgänge auf dem konfigurierten AWS KMS Client aufrufen, werden Ihre Aufrufe mithilfe von hybriden Post-Quantum-TLS an den AWS KMS Endpunkt übertragen. Um Ihre Konfiguration zu testen, führen Sie einen AWS KMS-API-Aufruf aus, z. B. ListKeys.

    ListKeysReponse keys = kmsAsync.listKeys().get();

Testen von Hybrid-Post-Quantum-TLS mit AWS KMS

Ziehen Sie in Betracht, die folgenden Tests mit Hybrid-Cipher-Suites für Ihre Anwendungen auszuführen, die AWS KMS aufrufen.

  • Führen Sie Belastungstests und Benchmarks aus. Die Hybrid-Cipher-Suites funktionieren anders als herkömmliche Schlüsselaustauschalgorithmen. Möglicherweise müssen Sie Ihre Verbindungszeitüberschreitungen anpassen, um längere Handshake-Zeiten zu ermöglichen. Wenn Sie innerhalb einer AWS Lambda Funktion ausgeführt werden, verlängern Sie die Einstellung für das Ausführungszeitlimit.

  • Versuchen Sie, eine Verbindung von verschiedenen Standorten herzustellen. Abhängig vom Netzwerkpfad Ihrer Anforderung können Sie feststellen, dass Zwischenhosts, Proxys oder Firewalls mit Deep Packet Inspection (DPI) die Anforderung blockieren. Dies kann auf die Verwendung der neuen Cipher Suites im ClientHello Teil des TLS-Handshakes oder auf die größeren Schlüsselaustauschnachrichten zurückzuführen sein. Wenn Sie Probleme bei der Behebung dieser Probleme haben, arbeiten Sie mit Ihrem Sicherheitsteam oder IT-Administratoren zusammen, um die entsprechende Konfiguration zu aktualisieren und die Blockierung der neuen TLS-Cipher-Suites aufzuheben.

Weitere Informationen zu Post-Quantum-TLS finden Sie unter AWS KMS

Weitere Informationen zur Verwendung von Hybrid-Post-Quantum-TLS in AWS KMS, finden Sie unter den folgenden Ressourcen.