Benutzer-Werkzeuge

Webseiten-Werkzeuge


kryptographie

Die Kryptographie (Verschlüsselung) ist ein Verfahren zur Sicherung von Informationen vor unberechtigtem Zugriff durch Dritte. Sie wird verwendet, um die Vertraulichkeit und Integrität von Daten zu gewährleisten. Bei der Verschlüsselung werden die Daten in eine unverständliche Form umgewandelt, die nur mit einem speziellen Schlüssel entschlüsselt werden kann. Siehe OpenSSL, ADCS, PKI

Algorithmen

Verschlüsselungsalgorithmen sind mathematische Verfahren, die zur Durchführung der Verschlüsselung und Entschlüsselung verwendet werden. Hier sind einige der bekanntesten Verschlüsselungsalgorithmen:

  • Diffie Hellman Key Exchange (Austausch von geheimen Informationen über eine unsichere Leitung)
  • DES (Data Encryption Standard, veraltet)
  • AES (Advanced Encryption Standard)
  • RSA (Rivest-Shamir-Adleman)
  • 3DES (Triple DES)
  • ECC (Elliptic Curve Cryptography)
  • Blowfish
  • Twofish
  • Serpent

Verfahren

Es gibt verschiedene Verschlüsselungsverfahren, die je nach Anwendungsbereich und Sicherheitsanforderungen eingesetzt werden. Hier sind einige der wichtigsten Verfahren:

Symmetrische Verschlüsselung

Die symmetrische Verschlüsselung, auch als geheime Secret-Key-Encryption bezeichnet, verwendet denselben Schlüssel sowohl für die Verschlüsselung als auch für die Entschlüsselung der Daten. Der Schlüssel muss sicher zwischen Sender und Empfänger ausgetauscht werden. Beispiele für symmetrische Verschlüsselungsalgorithmen sind der Data Encryption Standard (DES), der Advanced Encryption Standard (AES) und der Triple DES (3DES).

Asymmetrische Verschlüsselung

Die asymmetrische Verschlüsselung, auch als Public-Key-Encryption bekannt, verwendet ein Paar von mathematisch zusammenhängenden Schlüsseln: einen öffentlichen Schlüssel zum Verschlüsseln der Daten und einen privaten Schlüssel zum Entschlüsseln der Daten. Der öffentliche Schlüssel kann frei zugänglich sein, während der private Schlüssel geheim gehalten werden muss. Bekannte asymmetrische Verschlüsselungsalgorithmen sind der RSA-Algorithmus und der elliptische Kurvenkryptographie (ECC).

Hybride Verschlüsselung

Hybride Verschlüsselung kombiniert symmetrische und asymmetrische Verschlüsselungsverfahren, um die Vorteile beider Ansätze zu nutzen. Dabei wird ein asymmetrisches Verfahren verwendet, um den symmetrischen Schlüssel sicher auszutauschen, und dann wird die eigentliche Datenverschlüsselung mit dem symmetrischen Schlüssel durchgeführt. Dies ermöglicht eine effiziente Verschlüsselung großer Datenmengen bei gleichzeitig sicherem Schlüsselaustausch.

Hashfunktionen

Hashfunktionen werden nicht nur zur Verschlüsselung, sondern auch zur Integritätssicherung verwendet. Sie sind mathematische Funktionen, die eine Eingabe beliebiger Größe in eine feste Ausgabe mit fester Größe umwandeln. Hashfunktionen werden verwendet, um Prüfsummen (Hash-Werte) von Daten zu erstellen, die es ermöglichen, festzustellen, ob die Daten unverändert sind. Beispiele für Hashfunktionen sind MD5, SHA-1 und SHA-256.

Signaturen

Eine digitale Signatur wird verwendet, um sicherzustellen, dass die Daten von einer vertrauenswürdigen Quelle stammen und seit der Signierung nicht verändert wurden. Digitale Signaturen spielen eine wichtige Rolle bei der Sicherung elektronischer Transaktionen, der Authentifizierung von Dokumenten und der Gewährleistung der Vertraulichkeit von Informationen.

Die Erstellung einer digitalen Signatur erfolgt in mehreren Schritten:

  • Hashwertberechnung: Zunächst wird eine kryptografische Hashfunktion auf die zu signierenden Daten angewendet, um einen eindeutigen Hashwert zu generieren. Dieser Hashwert hat eine feste Länge und dient als kompakte Darstellung der Daten.
  • Privater Schlüssel: Der Absender verwendet seinen privaten Schlüssel, der Teil eines asymmetrischen Schlüsselpaares ist, um den erzeugten Hashwert zu verschlüsseln. Dadurch entsteht die digitale Signatur.
  • Signaturübertragung: Die digitale Signatur wird zusammen mit den ursprünglichen Daten übertragen, entweder als Teil des Dokuments oder getrennt.
  • Signaturüberprüfung: Der Empfänger verwendet den öffentlichen Schlüssel des Absenders, um die Signatur zu entschlüsseln und den erhaltenen Hashwert zu erzeugen.
  • Hashwertvergleich: Der Empfänger berechnet erneut den Hashwert der erhaltenen Daten. Wenn der erzeugte Hashwert mit dem entschlüsselten Hashwert übereinstimmt, ist die Signatur gültig und die Integrität der Daten wird bestätigt.

Zertifikate

Ein digitales Zertifikat enthält verschiedene Informationen, die dazu dienen, die Identität des Zertifikatsinhabers zu bestätigen. Die grundlegenden Bestandteile eines digitalen Zertifikats sind:

  • Zertifikatinhaber: Der Name oder die Organisation, für die das Zertifikat ausgestellt wurde.
  • Öffentlicher Schlüssel: Der öffentliche Teil des Schlüsselpaars, der zur Verschlüsselung von Daten verwendet wird.
  • Zertifizierungsstelle: Eine vertrauenswürdige Organisation, die das Zertifikat ausstellt und digitale Signaturen verwendet, um die Echtheit des Zertifikats zu gewährleisten.
  • Gültigkeitszeitraum: Der Zeitraum, für den das Zertifikat gültig ist.
  • Zertifikatssignatur: Eine digitale Signatur, die von der Zertifizierungsstelle erstellt wird und die Echtheit des Zertifikats gewährleistet.
  • Zertifikatsnummer: Eine eindeutige Nummer, die dem Zertifikat zugewiesen wird, um es eindeutig zu identifizieren.
  • Zertifikatshierarchie: Informationen über die Hierarchie der Zertifizierungsstellen, die das Zertifikat ausgestellt haben.

Digitale Zertifikate werden in verschiedenen Bereichen eingesetzt:

  • SSL/TLS-Zertifikate: Sie werden verwendet, um die Sicherheit von Websites und Online-Transaktionen zu gewährleisten. Sie ermöglichen eine verschlüsselte Verbindung zwischen dem Webbrowser des Benutzers und dem Webserver.
  • S/MIME-Zertifikate: Sie werden verwendet, um E-Mails digital zu signieren und zu verschlüsseln, um die Vertraulichkeit und Integrität von E-Mail-Kommunikation zu gewährleisten.
  • Code-Signing-Zertifikate: Sie werden von Softwareentwicklern verwendet, um die Echtheit und Integrität von Software zu gewährleisten. Durch digitale Signaturen kann der Benutzer überprüfen, ob die Software nicht verändert wurde und von einem vertrauenswürdigen Entwickler stammt.
  • Clientzertifikate: Sie ermöglichen die Authentifizierung von Benutzern gegenüber einem Server. Sie werden häufig in Unternehmensnetzwerken oder Online-Diensten eingesetzt, um den Zugriff auf sensible Informationen zu kontrollieren.

cryptosec16handout_1_.pdf, advanced_crypto_lecturenotes_1_.pdf

Unterschiede zwischen PEM, PFX, P7B, DER und CER

Die verschiedenen Dateiformate für Zertifikate und Schlüssel unterscheiden sich hauptsächlich in der Art und Weise, wie sie Daten speichern und welche Informationen sie enthalten. Hier sind die Unterschiede zwischen einigen der gängigsten Formate:

PEM (Privacy Enhanced Mail)

  • Endung: `.pem`, `.crt`, `.key`, `.csr`
  • Inhalt: Enthält Zertifikate, private Schlüssel und/oder Zertifikatsanfragen.
  • Format: Das PEM-Format ist textbasiert und verwendet Base64-Codierung, um binäre Daten darzustellen. Der Inhalt ist zwischen `—–BEGIN CERTIFICATE—–` und `—–END CERTIFICATE—–` (oder ähnlichen Headern und Footern) eingekapselt.
  • Verwendung: Häufig für Zertifikate, private Schlüssel und CA-Zertifikate auf Linux-Servern verwendet.

PFX (Personal Information Exchange) oder PKCS#12

  • Endung: `.pfx`, `.p12`
  • Inhalt: Kann ein vollständiges Zertifikatspaar (privater Schlüssel und öffentliches Zertifikat) sowie die gesamte Zertifikatskette (Zwischenzertifikate und Root-Zertifikate) enthalten.
  • Format: Binärformat, das sowohl den privaten Schlüssel als auch die Zertifikate in einer einzigen Datei speichert. Häufig mit einem Passwort verschlüsselt, um die Datei zu schützen.
  • Verwendung: Wird häufig für die Speicherung von Zertifikaten und privaten Schlüsseln in Windows-basierten Umgebungen verwendet und ist auch im Austausch zwischen verschiedenen Systemen oder bei der Bereitstellung in Webservern nützlich.

P7B (PKCS#7)

  • Endung: `.p7b`, `.spc`
  • Inhalt: Enthält Zertifikate und die Zertifikatskette, jedoch keinen privaten Schlüssel. Wird häufig verwendet, um die Zertifikatskette zu transportieren.
  • Format: Binärformat, das die Zertifikatskette im XML-ähnlichen Format enthält.
  • Verwendung: Wird oft für den Austausch von Zertifikaten und Zertifikatsketten ohne private Schlüssel verwendet.

DER (Distinguished Encoding Rules)

  • Endung: `.der`, `.cer`
  • Inhalt: Kann nur ein Zertifikat enthalten (kein privater Schlüssel oder Zertifikatskette).
  • Format: Binärformat, das im Gegensatz zu PEM kein Base64-codiertes Textformat ist.
  • Verwendung: Häufig verwendet für die Speicherung und den Austausch von Zertifikaten in Windows-Umgebungen und anderen Systemen, die binäre Zertifikate bevorzugen.

CER (Certificate)

  • Endung: `.cer`
  • Inhalt: Kann ein Zertifikat im DER- oder PEM-Format sein (je nach Verwendung des Text- oder Binärformats).
  • Format: Je nach Kodierung entweder Base64 (PEM) oder Binär (DER).
  • Verwendung: Häufig für die Bereitstellung von öffentlichen Zertifikaten verwendet. Kann sowohl PEM- als auch DER-Format sein, je nachdem, ob es textbasiert oder binär ist.

Zusammenfassung

  • PEM: Textbasiert, Base64-codiert, für Zertifikate und private Schlüssel.
  • PFX/PKCS#12: Binär, kann Zertifikate und private Schlüssel in einer Datei speichern, häufig mit Passwort geschützt.
  • P7B: Binär, nur Zertifikate und Zertifikatsketten, ohne privaten Schlüssel.
  • DER: Binär, nur Zertifikate (keine privaten Schlüssel oder Ketten).
  • CER: Kann entweder im PEM- oder DER-Format vorliegen, nur Zertifikate ohne private Schlüssel.
kryptographie.txt · Zuletzt geändert: 2025/04/10 09:06 von jango