Was ist Kryptographie?
Unter Kryptographie verstehen wird die Tätigkeit des Schutzes von Informationen durch die Verwendung von Algorithmen, Hashes und Signaturen zur Verschlüsselung. Die Informationen können sich im Ruhezustand (z. B. eine Datei auf einer Festplatte), in der Übertragung (z. B. bei elektronischer Kommunikation zwischen zwei oder mehreren Parteien) oder in Verwendung (beim Computing mit Daten) befinden. Die Kryptographie hat vier Hauptziele:
- Vertraulichkeit – Stellt Informationen nur berechtigten Nutzern zur Verfügung.
- Integrität – Stellt sicher, dass Informationen nicht manipuliert werden können.
- Glaubwürdigkeit – Bestätigt die Glaubwürdigkeit der Informationen und die Identität des Benutzers.
- Nichtabstreitbarkeit – Verhindert, dass ein Benutzer frühere Verpflichtungen oder Aktionen abstreitet.
Die Kryptographie benutzt eine Reihe von einfachen kryptographischen Algorithmen, um ein oder mehrere dieser Ziele für die Informationssicherheit zu erreichen. Diese Instrumente umfassen verschlüsselte Algorithmen, Algorithmen für digitale Signaturen, Hash-Algorithmen und andere Funktionen. Diese Seite beschreibt einige der gebräuchlichsten einfachen kryptographischen Algorithmen.
Wofür wird die Kryptographie genutzt?
Die Wurzeln der Kryptographie liegen in der Übermittlung sensibler Informationen zwischen militärischen und politischen Akteuren. Die Nachrichten wurden verschlüsselt, so dass sie für jeden außer dem vorgesehenen Empfänger wie ein zufälliger Text erschienen.
Heute sind die ursprünglichen Verschlüsselungstechniken gründlich geknackt worden. Sie sind so überholt, dass man sie nur noch in den Rätselrubriken einiger Zeitschriften findet. Glücklicherweise hat sich die Sicherheit in diesem Bereich erheblich verbessert, und die heute verwendeten Algorithmen beruhen auf strengen Analysen und mathematischen Verfahren, die ihre Sicherheit gewährleisten.
Mit der Weiterentwicklung der Sicherheit hat sich der Bereich der Kryptographie auf ein breiteres Spektrum von Sicherheitszielen ausgedehnt. Dazu gehören die Nachrichtenauthentifizierung, die Datenintegrität, das sichere Computing und vieles mehr.
Die Kryptographie ist die Grundlage der modernen Gesellschaft. Sie bildet die Basis für unzählige Internetanwendungen über das Secure Hypertext Transfer Protocol (HTTPS), sichere Text- und Sprachkommunikation und sogar digitale Währungen.
Was ist Verschlüsselung?
Ein Verschlüsselungsalgorithmus ist ein Verfahren, das eine Klartextnachricht in einen verschlüsselten Geheimtext umwandelt. Moderne Algorithmen benutzen fortgeschrittene Mathematik und einen oder mehrere Kryptoschlüssel. Damit ist es relativ einfach, eine Nachricht zu verschlüsseln, aber praktisch unmöglich, sie ohne Kenntnis der Schlüssel zu entschlüsseln.
Verschlüsselungstechniken lassen sich in zwei Kategorien einteilen: symmetrisch und asymmetrisch, je nachdem, wie ihre Schlüssel funktionieren.
Was ist Kryptographie mit symmetrischem Schlüssel?
Kryptographie-Algorithmen mit symmetrischen Schlüsseln verwenden sowohl zur Verschlüsselung des Klartextes als auch zur Entschlüsselung des Geheimtextes ein und denselben kryptografischen Schlüssel. Die symmetrische Verschlüsselung setzt voraus, dass alle beabsichtigten Nachrichtenempfänger Zugriff auf einen gemeinsamen Schlüssel haben.
Die folgenden Abbildungen zeigen, wie die Ver- und Entschlüsselung mit symmetrischen Schlüsseln und Algorithmen funktioniert, wobei davon ausgegangen wird, dass alle Parteien denselben Schlüssel haben.
In der ersten Abbildung werden ein symmetrischer Schlüssel und ein Algorithmus verwendet, um eine Klartextnachricht in einen Geheimtext umzuwandeln. Die zweite Abbildung zeigt, wie derselbe geheime Schlüssel und symmetrische Algorithmus verwendet wird, um den Geheimtext wieder in Klartext zu verwandeln.
Eine der beliebtesten Block-Verschlüsselungen ist der Advanced Encryption Standard (AES). Diese Block-Verschlüsselung unterstützt 128-, 192- oder 256-Bit-Schlüssel. AES wird häufig mit Galois/Counter Mode (GCM) kombiniert, dann als AES-GCM bezeichnet, um einen authentifizierten Kryptoalgorithmus zu schaffen.
AES ist ein Industriestandard für die Verschlüsselung und wird weltweit verwendet. Seine Sicherheit ist gut bekannt, und effiziente Software- und Hardware-Implementierungen sind weithin verfügbar.
Was ist ein asymmetrisches Kryptosystem (Kryptographie mit öffentlichem Schlüssel)?
Die asymmetrische Kryptographie (Kryptographie mit öffentlichem Schlüssel) besteht aus einer ganzen Reihe von Algorithmen. Diese Algorithmen basieren auf mathematischen Problemen, die in eine Richtung relativ leicht zu lösen sind, jedoch nicht ohne Weiteres in die Gegenrichtung.
Ein berühmtes Beispiel dafür ist das Faktorisierungsproblem: für ausgesuchte Primzahlen p und q, kann man das Ergebnis N=p*q schnell berechnen. Aber, wenn man nur N hat, ist es sehr schwer p und q zu finden.
Ein weitverbreiteter Kryptographie-Algorithmus für öffentliche Schlüssel, der auf dem Faktorisierungsproblem basiert, ist die Rivest-Shamir-Adleman(RSA)-Funktion. Insgesamt kann RSA mit einem geeigneten Auffüllungsschema für mehrere Zwecke verwendet werden, einschließlich der asymmetrischen Verschlüsselung.
Ein Verschlüsselungsverfahren wird als asymmetrisch bezeichnet, wenn es einen Schlüssel – den öffentlichen Schlüssel – zur Verschlüsselung von Daten und einen anderen, aber mathematisch verwandten Schlüssel – den privaten Schlüssel – zur Entschlüsselung von Daten verwendet.
Es muss rechnerisch unmöglich sein, den privaten Schlüssel sicherzustellen, wenn man nur den öffentlichen Schlüssel kennt. Daher kann der öffentliche Schlüssel weit verbreitet werden, während der private Schlüssel geheim und sicher gehalten wird. Zusammen werden die Schlüssel als Schlüsselpaar bezeichnet.
Ein beliebtes Verfahren der asymmetrischen Verschlüsselung ist RSA-OAEP, eine Kombination aus der RSA-Funktion und dem Optimal Asymmetric Encryption Padding(OAEP)-Padding-Verfahren. RSA-OAEP wird in der Regel nur zur Verschlüsselung kleiner Datenmengen verwendet, da es langsam ist und die Geheimtexte viel länger als der Klartext sind.
Was ist hybride Verschlüsselung?
Da Algorithmen mit öffentlichen Schlüsseln wie RSA-OAEP weniger wirkungsvoll sind als ihre Gegenstücke der symmetrischen Krypto-Verfahren, werden diese Algorithmen normalerweise nicht unmittelbar zum Verschlüsseln von Daten genutzt. Sie spielen jedoch eine wichtige Rolle im kryptografischen Ökosystem, da sie ein Werkzeug für den Schlüsselaustausch bieten.
Um eine symmetrische Verschlüsselung zu verwenden, müssen die Parteien einen gemeinsamen Schlüssel benutzen. Obwohl dieser Schlüssel über einen bestehenden verschlüsselten Kanal gesendet werden könnte, würden wir keinen neuen Schlüssel brauchen, wenn wir bereits einen sicheren Kanal hätten. Stattdessen nutzen wir die Kryptographie mit öffentlichem Schlüssel, um das Problem des Schlüsselaustauschs zu lösen.
Es gibt zwei gängige Methoden für den Austausch symmetrischer Schlüssel.
- Asymmetrische Verschlüsselung: Eine Partei generiert einen symmetrischen Schlüssel und verschlüsselt diesen Schlüssel dann anhand eines Algorithmus wie RSA-OAEP anhand des öffentlichen Schlüssels einer anderen Partei. Der Empfänger kann den Geheimtext anhand seines privaten Schlüssels entschlüsseln und so den symmetrischen Schlüssel wiedererlangen.
- Diffie-Hellman-Schlüsselaustausch – (DH). Diffie-Hellman ist eine andere Art von kryptographischem Algorithmus mit öffentlichem Schlüssel, der speziell dafür entwickelt wurde, um Parteien zu helfen, sich auf einen symmetrischen Schlüssel zu einigen, wenn kein sicherer Kanal vorhanden ist. Diffie-Hellman basiert auf einem anderen mathematischen Problem als die RSA-Funktion und ist weniger flexibel als RSA. Es verfügt jedoch über effizientere Konstruktionen, die es in einigen Anwendungsfällen vorteilhafter machen.
Diese Kombination aus Kryptographie mit öffentlichem Schlüssel für den Schlüsselaustausch und symmetrischer Verschlüsselung für die Verschlüsselung von Massendaten wird als hybride Verschlüsselung bezeichnet.
Die hybride Verschlüsselung benutzt die einzigartigen Eigenschaften der Kryptographie mit öffentlichem Schlüssel für den Austausch von geheimen Informationen über einen nicht vertrauenswürdigen Kanal mit der Effizienz der symmetrischen Verschlüsselung. Damit wird eine praktische End-to-End-Lösung für den Datenschutz erreicht.
Die hybride Verschlüsselung wird in großem Umfang in Datenübertragungs-Protokollen für das Internet verwendet, z. B. in Transport Layer Security (TLS). Wenn Sie eine Verbindung zu einer Website herstellen, die HTTPS (HTTP sicher mit TLS) verwendet, handelt Ihr Browser die kryptografischen Algorithmen aus, die Ihre Verbindung sichern. Dazu gehören Algorithmen für den Schlüsselaustausch, die symmetrische Verschlüsselung und digitale Signaturen.
Was ist eine digitale Signatur?
Schemata für digitale Signaturen sind eine Art der Kryptographie mit öffentlichem Schlüssel, mit denen Integrität, Authentizität und Nicht-Widerruf von Daten sichergestellt werden können.
Der Vorgang des Signierens ist vergleichbar mit der Verschlüsselung der Datei unter Verwendung des privaten Schlüssels. Der Unterzeichner benutzt seinen privaten Schlüssel, um ein digitales Dokument, z. B. eine Datei oder einen Code, zu signieren.
Diese Signatur ist einzigartig für das Dokument und seinen Schlüssel und kann an das Dokument angehängt und mit dem öffentlichen Schlüssel des Unterzeichners überprüft werden. Zwei weitverbreitete Algorithmen zum digitalen Signieren sind RSA mit dem Probabilistic Signature Scheme (RSA-PSS) und Digital Signature Algorithm (DSA).
Was ist ein Message Authentication Code?
Ein Message Authentication Code (MAC, deutsch „Nachrichtenauthentifizierungscode“) ist die symmetrische Krypto-Version einer digitalen Signatur. Bei einem MAC teilen sich zwei oder mehr Parteien einen Schlüssel. Eine Partei erstellt ein MAC-Tag, die symmetrische Version einer digitalen Signatur, und fügt es an das Dokument an. Eine andere Partei kann die Integrität der Nachricht mit demselben Schlüssel überprüfen, der zur Erstellung des Tags verwendet wurde.
Beachten Sie, dass der Schlüssel, mit dem MAC-Tags erstellt werden, von mehreren Parteien gemeinsam genutzt wird. Das heißt, dass MACs nicht zur Authentifizierung oder Nichtabstreitbarkeit verwendet werden können, da nicht klar ist, welche Partei das Tag erstellt hat.
MACs können eigenständige Algorithmen sein, wie der Hash-based Message Authentication Code (Hash-basierter Nachrichtenauthentifizierungscode (HMAC)). Da die Integrität von Nachrichten jedoch fast immer eine wertvolle Sicherheit darstellt, wird sie häufig in symmetrische Verschlüsselungsalgorithmen wie AES-GCM integriert.
Was ist die Elliptische-Kurven-Kryptographie?
Die Elliptische-Kurven-Kryptographie (Elliptic Curve Cryptography, ECC) basiert auf der mathematischen Theorie der elliptischen Kurven.
Der größte Vorteil von ECC ist, dass es ein ähnliches Maß an Schutz bieten kann wie herkömmliche Techniken, aber mit kleineren Schlüsseln und schnelleren Vorgängen. Aufgrund seiner Effizienz eignet sich ECC gut für die Verwendung in Geräten mit relativ geringer Rechenleistung, z. B. in Mobiltelefonen.
ECC kann für einen effizienten Schlüsselaustausch mit einer elliptischen Kurvenvariante von Diffie-Hellman (ECDH) oder für digitale Signaturen mit dem Elliptic Curve Digital Signature Algorithm (ECDSA) verwendet werden. Aufgrund seiner Geschwindigkeit und Flexibilität wird ECC in vielen Anwendungen im Internet eingesetzt.
Was bedeutet in der Kryptographie der Begriff „Hashing“?
Eine kryptographische Hash-Funktion ist ein Tool, das beliebige Daten in einen „Fingerabdruck“ fester Länge umwandelt. Hash-Funktionen sind so konzipiert, dass es schwierig ist, zwei verschiedene Eingaben zu finden, die den gleichen Fingerabdruck haben oder eine Nachricht zu finden, deren Fingerabdruck mit einem festen Wert übereinstimmt.
Im Gegensatz zu Verschlüsselungsverfahren, Signaturverfahren und MACs haben Hash-Funktionen keinen Schlüssel. Jeder kann den Hash-Wert einer beliebigen Eingabe berechnen, und die Hash-Funktion wird immer dieselbe Ausgabe für dieselbe Eingabe erzeugen.
Hash-Funktionen sind wichtige Bausteine in größeren kryptographischen Algorithmen und Protokollen. Dazu gehören digitale Signaturalgorithmen, spezielle MAC-Algorithmen, Authentifizierungsprotokolle und Passwortspeicher.
Was ist eine Kryptowährung?
Eine Kryptowährung ist eine digitale Währung, bei der die Transaktionen von einem dezentralen System und nicht von einer zentralen Institution verifiziert und aufgezeichnet werden. Kryptowährungen sind ein Beispiel für die Anwendung von Kryptographie.
Kryptowährungen benutzen viele verschiedene kryptografische low-level-Algorithmen, um eine vertrauenswürdige und sichere Plattform zu schaffen. Kryptowährungen verwenden viele der hier besprochenen Konzepte – Kryptographie mit elliptischen Kurven, digitale Signaturen, Hash-Funktionen und vieles mehr. Zusammengenommen ermöglichen diese Algorithmen Vertrauen und Zuverlässigkeit, so dass sie ohne eine zentrale Autorität gebaut werten können.
Was ist Post-Quanten-Kryptographie?
In den jüngsten Jahrzehnten wurden beachtliche Anstrengungen auf dem Gebiet des Quantencomputings unternommen. Quantencomputer nutzen die Quantenphysik und können mathematische Probleme lösen, die für klassische Computer nicht machbar sind, wie z. B. das Faktorisierungsproblem.
Ein groß angelegter Quantencomputer könnte die heute verwendeten Kryptosysteme mit öffentlichen Schlüsseln brechen, einschließlich der Kryptosysteme, die auf Rivest-Shamir-Adleman (RSA)-Funktionen basieren. Das Knacken dieser Algorithmen würde den Verlust der Vertraulichkeit und Authentifizierung vieler der Anwendungen und Protokolle bedeuten, die wir heute verwenden.
Zwar gibt es heute schon kleine Quantencomputer, aber diese sind zu klein, um kryptografische Algorithmen zu knacken. Es ist nicht bekannt, ob oder wann ein kryptografisch relevanter Quantencomputer (CRQC) erhältlich sein wird. Um einen CRQC zu entwickeln sind bedeutende wissenschaftliche Durchbrüche nötig.
Post-Quanten-Kryptographie (PQC) bezieht sich auf Algorithmen der Kryptographie, die auf Computern, wie wir sie heute kennen, ausgeführt werden können, jedoch selbst nicht von Quantencomputern mit ihrer enormen Rechenleistung geknackt werden können.
Erfahren Sie unter AWS Post-Quanten-Kryptographie mehr über das Engagement von AWS in Forschung und Technik im Rahmen von Projekten zur quantenresistenten Kryptographie und in Arbeitsgruppen der globalen Kryptographie-Community.
Was ist kryptografisches Computing?
Die bisher vorgestellten Tools ermöglichen Ihnen die Verschlüsselung von Daten im Ruhezustand und die Verschlüsselung von Daten bei der Übertragung. Bislang mussten die Daten entschlüsselt werden, bevor sie in einer Berechnung verwendet werden konnten. Das kryptographische Computing füllt diese Lücke, indem es Tools bereitstellt, die direkt mit kryptographisch geschützten Daten arbeiten.
Der Begriff „kryptographisches Computing“ umfasst ein breites Spektrum von Technologien, darunter das sichere Multi-Party-Computing, die homomorphe Verschlüsselung und die durchsuchbare Verschlüsselung. Obwohl sie sich in Details unterscheiden, schützen diese Technologien Daten kryptografisch so, dass sie Berechnungen mit den geschützten Daten ermöglichen und gleichzeitig die Vertraulichkeit dieser Daten aufbewahren.
Welche Kryptographie-Services stellt AWS seinen Kunden zur Verfügung?
Die Kryptographie-Services von AWS nutzen eine breite Palette von Verschlüsselungs- und Speichertechnologien. Anhand dieser Technologien wird die Integrität Ihrer Daten sichergestellt, sowohl im Ruhezustand als auch während der Übertragung. AWS bietet mehrere Tools für kryptografische Vorgänge:
- Bei AWS CloudHSM finden Sie Hardware-Sicherheitsmodule (HSMs). Diese Module können auf sichere Weise eine Vielzahl verschiedener kryptographischer Schlüssel speichern, sowohl Root-Schlüssel als auch Datenschlüssel.
- AWS Key Management Service (KMS) stellt Tools zum Generieren von Root-Schlüsseln und sonstigen Datenschlüsseln bereit. AWS KMS interagiert auch mit vielen anderen AWS-Services, um deren servicespezifische Daten zu verschlüsseln.
- AWS-Verschlüsselungs-SDK stellt eine Bibliothek zur clientseitigen Verschlüsselung bereit. Mithilfe dieser Bibliothek können Sie Vorgänge zum Verschlüsseln und zum Entschlüsseln sämtlicher Datentypen implementieren.
- Der Amazon DynamoDB Encryption Client stellt eine Bibliothek für die clientseitige Verschlüsselung bereit. Mithilfe dieser Bibliothek können Sie Datentabellen vor dem Senden an einen Datenbank-Service wie Amazon DynamoDB verschlüsseln.
- AWS Secrets Manager gibt Ihnen die Tools zum Verschlüsseln und Drehen von verschlüsselten Secrets im Zusammenhang mit von AWS unterstützten Datenbanken in die Hand.
Viele AWS-Services verlassen sich bei der Übertragung oder Speicherung von Daten auf diese kryptografischen Services. Eine Liste solcher Services und eine Übersicht über die Verwendung kryptografischer Verfahren finden Sie unter Weitere AWS-Services.
Bei AWS finden Sie auch als Open Source verfügbare Kryptographie-Bibliotheken:
- AWS libcrypto (AWS-LC) ist eine universelle Kryptographie-Bibliothek, die vom AWS-Kryptographie-Team für AWS und seine Kunden gepflegt wird. Diese Bibliothek basiert auf Code aus dem BoringSSL-Projekt von Google und aus dem OpenSSL-Projekt. AWS-LC enthält portable C-Implementierungen von Algorithmen, die für TLS und gängige Anwendungen benötigt werden. Für performancekritische Algorithmen sind optimierte Assembler-Versionen für x86 und ARM enthalten.
- s2n-tls ermöglicht die Implementierung der TLS/SSL-Protokolle. Das sind einfache, kleine und schnelle Protokolle, bei denen Sicherheit im Vordergrund steht.
Besuchen Sie unbedingt auch den Amazon Science Blog und den AWS Security Blog. Dort beschreiben wir ausführlich, was wir tun, um die kryptografische Forschung zu entwickeln, zu bewerten und Prototypen zu erstellen. Wir schreiben über kryptographisches Computing, Post-Quanten-Kryptographie, verifizierten kryptographischen Code und vieles mehr.
Wie kann ich die eine gesetzliche oder branchenspezifische Vorgabe erfüllenden Kryptographie-Services von AWS nutzen?
Die AWS-Services zur Kryptographie genügen einer Vielzahl von Sicherheitsstandards der Kryptographie. Das vereinfacht Ihnen den Schutz Ihrer Daten, denn die Einhaltung sämtlicher einschlägiger Gesetze und Bestimmungen ist von vornherein gegeben. Eine umfassende AWS-Konformitätsliste der Normen, Standards und Richtlinien zur Datensicherheit finden Sie auf AWS-Compliance-Programme.