AWS-Sicherheit in der Quantum-Ära
Was bedeutet Quantumcomputing für die AWS-Sicherheit
Welche Auswirkungen hat ein Quantencomputer auf die IT-Sicherheit? Wie antizipiert AWS diese Revolution?
In diesem Artikel werfen wir einen Blick in die Zukunft und zeigen, wie es schon heute möglich ist, die zukünftige Sicherheit deiner Anwendungen zu testen, bevor jemand Unbefugtes dies mit einem leistungsstärkeren Rechner tut. Das Transport Layer Security (TLS) Protokoll zur Verschlüsselung des gesamten Datenverkehrs ist heute der Stand der Technik. Hierbei findet unter Verwendung bekannter Algorithmen der Schlüsselaustausch zu Beginn jeder Sitzung statt. Dank der Stärke der verwendeten Algorithmen kann sich ein:e Nutzer:in sicher sein, dass es unmöglich ist die Verschlüsselung dieser Algorithmen zu knacken, selbst wenn Angreifer:innen die aktuell leistungsfähigsten Computer verwenden. Anders als konventionelle Computer glänzt die nächste Generation – der Quantencomputer – jedoch genau darin. Dank Shors Algorithmus ist es möglich Public-Key-Kryptografie-Verfahren zu knacken.
Wichtige Begriffe
- Transport Layer Security (TLS): TLS ist ein Verschlüsselungsprotokoll für die Internetkommunikation aus zwei Komponenten: Der TLS-Handshake ist ein Schlüsselaustausch zwischen zwei Systemen, die über das Internet kommunizieren wollen. Der resultierende Schlüssel wird im TLS-Eintrag verwendet, wo Daten mit dem Schlüssel verschlüsselt und zwischen den beiden Systemen verarbeitet werden. Der in der aktuellen Version 1.3 von TLS verwendete Algorithmus ist das Diffie-Hellman-Protokoll. In der AWS-Umgebung wird S2N – eine Open-Source-Implementierung von TLS – verwendet (weitere Einzelheiten findest du unter https://github.com/awslabs/s2n).
- Das Diffie-Hellmann-Protokoll (DHP), welches nach den Erfindern Whitfield Diffie und Martin Hellman benannt wurde, lässt sich vereinfacht anhand der bekannten Akteure Alice, Bob und Eve wie folgt erklären: Alice und Bob wollen über eine unsichere Leistung ein Geheimnis miteinander teilen. Eve kann auf der Leitung lauschen aber den Schlüssel nicht in angemessener Zeit mit der aktuellen Hardware entschlüsseln. Das liegt daran, dass der Schlüssel mit Funktionen erstellt wurde, die zwar leicht zu verifizieren aber schwer umzukehren sind. Alice und Bob haben der Verschlüsselung jeweils ihre eigenen Geheimnisse hinzugefügt, die durch den gemeinsamen Schlüssel leicht verifiziert werden können aber unmöglich für Eve zu entschlüsseln sind.
- Shors-Algorithmus: Peter Shor einwickelte 1994 einen Quantenalgorithmus zum Faktorisieren von ganzen Zahlen. Dies ist vorerst nur Theorie, da bislang keine Quantencomputer mit ausreichender Leistungsfähigkeit verfügbar sind, welche in der Lage sind die gängigen Public-Key-Verfahren zu brechen. Die heutigen Public-Key-Kryptografie Algorithmen wie DHP verlassen sich auf die Unfähigkeit von konventionellen Computern ganze Zahlen effizient zu faktorisieren. Sobald universelle Quantencomputer mit ausreichender Leistungsfähigkeit verfügbar sind, wird sich dies ändern. Mit der Verwendung von Shors-Algorithmus auf Quantencomputern wird es möglich sein, den TLS-Sitzungsschlüssel einer aufgezeichneten Sitzung wiederherzustellen und die verschlüsselten Daten mit dem berechneten Schlüssel zu lesen. Der Shors-Algorithmus kann als Ausgangspunkt für die Erforschung neuer Kryptographie Algorithmen angesehen werden, sicher gegen Angriffe von Quantencomputern. Diese Kryptosysteme werden als Post-Quanten-Kryptographie bezeichnet
Quantencomputer immun – Key Exchange in AWS-Umgebungen
Im Juni 2019 führte AWS einen neuen, hybriden Schlüsselaustausch Mechanismus namens Post-Quantum Cryptography for s2n (crypt) ein. Dieser kombiniert zwei unabhängige Schlüsselaustausche, einen für die klassische Welt und einen für die zukünftige Quantenwelt.
Doch warum führt AWS diese Anwendung jetzt ein, wenn Quantencomputer noch gar nicht existieren und warum solltest du erwägen sie zu implementieren? Die Verwendung von Post-Quanten-Kryptographie für s2n bedeutet bessere Sicherheit und Angreifern einen Schritt voraus zu sein. Dies ist jedoch mit Bandbreiten- und Latenzkosten verbunden. Daher sollten Tests mit verschiedenen Ressourcen, die an einem Schlüsselaustauschprozess beteiligt sind in deiner Umgebung geschehen. AWS ist offen für Feedback und Zusammenarbeit mit Kunden mit dem Ziel Angreifern in einer Post-Quanten-Welt immer einen Schritt voraus zu sein. Mehr dazu hier: (https://aws.amazon.com/blogs/security/round-2-post-quantum-tls-is-now-supported-in-aws-kms/)
Eine zentrale Komponente der Schlüsselverwaltung in AWS-Umgebungen ist der AWS Key Management Service (AWS KMS), beschrieben in https://docs.aws.amazon.com/kms/latest/developerguide/overview.html. AWS KMS verwendet den oben beschriebenen Diffie-Hellman-Algorithmus für den Schlüsselaustausch. Du kannst Kundenmasterschlüssel erstellen und kontrollieren, die durch Hardware-Sicherheitsmodule geschützt sind. AWS KMS ist in die meisten anderen AWS-Services integriert, die eine Datenverschlüsselung benötigen. Falls du daran interessiert bist, deine eigenen Sicherheitsanwendungen zu erstellen, kannst du SDKs für verschiedene Programmiersprachen verwenden, um AWS KMS in deine Anwendung zu integrieren. Es gibt eine separate Seite (https://docs.aws.amazon.com/kms/latest/developerguide/pqtls.html) mit Anweisungen zur Verwendung von AWS KMS im Kontext von hybridem Post-Quantum-TLS.
Hybrider Schlüssel-Austausch
Seit einiger Zeit gibt es wissenschaftliche Untersuchungen zur Entwicklung und Verwendung von Post-Quantum-Key-Exchange-Algorithmen. Diese Untersuchungen werden vom National Institute for Standards and Technology (NIST) koordiniert, wo AWS am hybriden Schlüsselaustausch, welcher zwei Schlüsselaustausche während des TLS-Handshakes umfasst, beteiligt ist. Anschließend werden beide Schlüssel kryptografisch zu einem TLS-Sitzungsschlüssel kombiniert. Da der NIST-Standardisierungsprozess noch andauert und voraussichtlich erst 2024 abgeschlossen sein wird, sollte man sich heute nicht ganz auf den neuen „Post-Quantum Key“ verlassen, sondern das vorgeschlagene hybride Verfahren mit beiden Schlüsseln (alt und neu) nutzen.
Lasse deine eigenen Tests laufen
Du hast Interesse, Tests mit den neuen Post-Quantum Cipher Suites mit AWS KMS umzusetzen? Schau dir die Developer Previews des Java SDK 2.0 und der AWS Common Runtime an. Das folgende Code-Snippet von https://aws.amazon.com/blogs/security/round-2-post-quantum-tls-is-now-supported-in-aws-kms/ veranschaulicht, wie du deine Tests erstellen kannst:
Mit diesem Snippet in deinem Initialisierungscode kannst du Leistungstests durchführen und prüfen, ob die Anfragen irgendwo in deinem Netzwerk blockiert werden. Ein vollständiges Quellcodebeispiel kann hier ausgecheckt werden: https://github.com/aws-samples/aws-kms-pq-tls-example.
Fazit
Quantencomputer befinden sich derzeit noch in der aktiven Entwicklungsphase. Nichtsdestotrotz ist es essenziell sich mit den Herausforderungen zu befassen. Quantum-Computing birgt Risiken für die Kryptographie, denn bewährte Schlüsselaustauschverfahren werden für diese neue Technologie anfällig sein. AWS ruft interessierte Kunden zur Zusammenarbeit auf, um potenziellen Angreifern künftig einen Schritt voraus zu sein.
Wenn du Hilfe bei der Implementation benötigst, zögere nicht, uns zu kontaktieren.