
Kryptografische Primitiven sind das Fundament sicherer IT-Systeme. Unser Leitfaden erklärt die wichtigsten Verfahren und ihre Bedeutung in der Praxis.
Kryptografische Primitiven sind die grundlegenden Bausteine der modernen IT-Sicherheit. Sie ermöglichen es, Daten vertraulich zu übertragen, die Integrität von Informationen zu gewährleisten und digitale Identitäten zu bestätigen. Ohne sie wären sichere Kommunikation und vertrauenswürdige digitale Prozesse nicht denkbar. In diesem Artikel geben wir einen Überblick über die wichtigsten Primitiven und ihre Bedeutung in der Praxis.
Die symmetrische Verschlüsselung nutzt ein und denselben geheimen Schlüssel, um Daten zu ver- und entschlüsseln. Ein weit verbreitetes Beispiel ist der Advanced Encryption Standard (AES), der heute Norm für die Absicherung sensibler Daten ist. Symmetrische Verfahren zeichnen sich durch ihre hohe Effizienz aus, eignen sich jedoch nur, wenn beide Kommunikationspartner den Schlüssel kennen. In der Praxis werden sie daher oft mit asymmetrischen Verfahren kombiniert.
Asymmetrische Verfahren verwenden ein Schlüsselpaar: einen öffentlichen Schlüssel zum Verschlüsseln und einen privaten Schlüssel zum Entschlüsseln. Der öffentliche Schlüssel kann frei verteilt werden, während der private Schlüssel geheim bleibt. Dadurch ist es möglich, sicher zu kommunizieren, ohne dass beide Seiten zuvor ein gemeinsames Passwort austauschen müssen.
Algorithmen wie RSA oder Elliptic Curve Cryptography (ECC) machen genau das möglich. Da sie jedoch deutlich langsamer als symmetrische Verfahren sind, werden sie in der Praxis meist genutzt, um einen gemeinsamen Sitzungsschlüssel (Session Key) auszutauschen, mit dem dann die eigentliche Datenübertragung symmetrisch und damit effizient erfolgt.
Digitale Signaturen stellen sicher, dass Nachrichten unverändert sind und vom angegebenen Absender stammen. Der Besitzer eines privaten Schlüssels kann eine Nachricht signieren, und jeder, der den zugehörigen öffentlichen Schlüssel kennt, kann die Signatur prüfen. Verfahren wie ECDSA oder RSA-Signaturen sind hierfür weit verbreitet. Ein zusätzlicher Vorteil ist, dass sich die Urheberschaft einer Nachricht eindeutig nachweisen lässt – auch gegenüber Dritten.
Hashfunktionen wandeln Eingaben beliebiger Länge in Ausgaben fester Länge um. Sie dienen als Grundlage für Prüfsummen, Passwort-Hashes oder Blockchain-Protokolle. Bekannte Verfahren sind SHA-256 oder SHA-3. Eine sichere Hashfunktion muss kollisionsresistent sein und darf nicht umkehrbar sein.
Eine sichere Hashfunktion muss zwei Eigenschaften haben:
MACs kombinieren Hashfunktionen oder Blockchiffren mit einem geheimen Schlüssel. Sie gewährleisten, dass eine Nachricht authentisch und unverändert ist, können jedoch nur von Parteien überprüft werden, die den Schlüssel kennen.
Ein asymmetrisches Verfahren wird genutzt, um den geheimen Schlüssel für einen symmetrischen Algorithmus auszutauschen. Zum Beispiel kann ein Diffie-Hellman Schlüsselaustausch genutzt werden, um einen Schlüssel für AES zu vereinbaren, um damit grossen Datenmengen effizient zu verschlüsseln. In der Praxis wird dieser Ansatz zum Beispiel in TLS umgesetzt und als hybride Verschlüsselung bezeichnet.
Die Sicherheit kryptografischer Algorithmen hängt stark von der Qualität der Schlüssel, denn kryptografische Schlüssel dürfen sich nicht von einem zufälligen Bitstream unterscheiden lassen. Passwörter sind keine guten kryptografischen Schlüssel, da diese durch die Kodierung (Encoding) der Zeichen einer gewissen Struktur unterliegen und damit auch nicht zufällig sind.
Um Passwörter oder andere nicht zufällige (uniform random) Eingaben zu kryptografischen Schlüsseln umzuwandeln, können Schlüsselableitungsfunktionen (KDFs) benutzt werden. Diese transformieren das eingegebene Passwort zu einem zufälligen kryptografischen Schlüssel. Die meisten KDFs erfüllen noch weitere Eigenschaften wie Zeit- und Ressourcennutzung, um brute-force Angriffe zu verhindern.
Die Sicherheit kryptografischer Algorithmen basiert auf Zufallszahlen. Können geheime Schlüssel oder Eingaben durch brute-force erraten (es gibt zu wenige mögliche Schlüssel) oder berechnet (Schlüssel sind nicht zufällig gewählt) werden, können Daten nicht sicher geschützt werden. Es ist sehr ressourcenaufwendig, echte Zufallszahlen mittels Zufallsgeneratoren (true random number generator) zu generieren. Daher wird in der Praxis häufig ein pseudo random number generator (PRNG) verwendet. Dieser kann aus einer kleinen Anzahl zufälliger Bits, dem sogenannten seed, eine grössere Menge an zufälligen Bits generieren, die dann als kryptografische Schlüssel verwendet werden können.
Ohne gute Zufallszahlen können selbst starke Algorithmen gebrochen werden.
Kryptografische Primitiven bilden das Fundament moderner IT-Sicherheit. Ihre richtige Kombination und sichere Implementierung entscheiden über die Vertrauenswürdigkeit digitaler Systeme. Während Algorithmen wie AES, SHA-2 und ECDSA heute als sicher gelten, werden ältere Verfahren wie DES oder MD5 nicht mehr empfohlen. Angesichts neuer Bedrohungen, etwa durch Quantencomputer, ist es notwendig, stets aktuelle Entwicklungen im Blick zu behalten.
Die oben genannten Empfehlungen orientieren sich an den aktuellen Vorgaben der NIST cryptographic standards and guidelines.