Praxis: die RSA-Kommandos in OpenSSL

Startseite/Uncategorized/Praxis: die RSA-Kommandos in OpenSSL
Schreib dich ein

Praxis: die RSA-Kommandos in OpenSSL.

YouTube

Mit dem Laden des Videos akzeptieren Sie die Datenschutzerklärung von YouTube.
Mehr erfahren

Video laden

In diesem Video lernst du folgende Themen:

  • Was ist Kryptographie?
  • Vertraulichkeit, Integrität und Authentizität.
  • Daten und verschlüsselte Daten.
  • Algorithmen und verschlüsselte Keys.
Schreib dich ein

Auszug aus dem Video

Bevor wir uns mit der Ver- und Entschlüsselung von Daten mit dem RSA-Algorithmus beschäftigen, will ich euch die RSA-Kommandos von OpenSSL vorstellen. Derzeit sind es drei Kommandos mit unterschiedlichen Funktionen und das erste Kommando ist “genrsa”. Mit “genrsa” könnt Ihr euch in OpenSSL ein eigenes RSA-Schlüsselpaar erstellen lassen und hier seht Ihr die Hilfe in OpenSSL. Ihr habt hier zum Beispiel die Möglichkeit den öffentlichen Exponenten zu Testzwecken mit dem Wert 3 zu belegen. Mit folgenden Aufruf könnt Ihr euch alle Parameter vom Kommando “genrsa” ausgeben lassen:

genrsa -help

Das Kommando “genrsa” ist recht einfach zu benutzen und wir werden uns gleich als erstes ein RSA-Schlüsselpaar erstellen lassen.

genrsa   -out rsa2048.asymkey   2048

Mit diesem Aufruf wird ein RSA-Schlüsselpaar mit einer Länge von 2048 Bit erstellt. Die Parameter haben folgende Bedeutung:

  • “genrsa”: das Kommando in OpenSSL, was ein RSA-Schlüsselpaar erstellt.
  • “-out rsa2048.asymkey”: hier gebe ich die Zieldatei an, wohin das RSA-Schlüsselpaar gespeichert werden soll. Ich benutze hierbei die Dateiendung “asymkey” um zu kennzeichnen, das es sich eben um ein asymmetrisches Schlüsselpaar handelt.
  • “2048”: als letztes wird die Schlüssellänge in Bit angegeben.
Wenn nach dem Aufruf keine Fehlermeldung erscheint, so wurde das RSA-Schlüsselpaar erstellt. OpenSSL speichert standardmäßig das Schlüsselpaar im PEM-Format speichert. Wenn Ihr euch den Inhalt der Schlüsselpaar-Datei mit einem Texteditor anschaut, dann erkennt Ihr das an dem “BEGIN RSA” in der ersten Zeile, gefolgt vom Base64-kodierten Schlüsselpaar.

Das Kommando “rsa”

Das zweite Kommando mit dem wir in den nächsten Videos arbeiten werden nennt sich einfach nur “rsa”. Mit diesem Kommando werden wir uns einige Informationen über das RSA-Schlüsselpaar ausgeben lassen und mit folgendem Aufruf könnt Ihr euch die Hilfe in OpenSSL anzeigen lassen:

rsa -help

Wir können uns zum Beispiel den Key und den Modulus ausgegeben lassen. Oder aber OpenSSL extrahiert uns den public Key aus dem RSA-Schlüsselpaar und speichert diesen in eine separate Datei. Diese Feature werden wir sogar anwenden. Es gibt sogar eine Option für dieses Kommando, wo Ihr eurer RSA-Schlüssselpaar prüfen lassen könnt. Das ist zum Beispiel sinnvoll, wenn euer RSA-Schlüsselpaar nicht von OpenSSL erstellt wurde, Ihr aber mit OpenSSL ver- und entschlüsseln möchtet. Das würde ich euch sogar empfehlen, diese Prüfung einmal durchführen zu lassen.

Mit folgendem Aufruf könnt Ihr euch die Informationen über das eben erstellte RSA-Schlüsselpaar ausgeben lassen:

 rsa   -text   -in rsa2048.asymkey 

Ihr seht dann die ASN.1-Struktur von dem RSA-Schlüsselpaar. Die Zahlen werden in hexadezimaler Form angezeigt. Diese ganze ASN.1-Struktur nennt sich “RSAPrivatKey” und ist in dem RFC 8017 spezifiziert. Der Modulus, also das Produkt der beiden Primzahlen steht an 2. Stelle und gehört zum public Key, der public Exponent steht an 3.Stelle. Die beiden Primzahlen selbst stehen an 5. und 6.Stelle und gehören zum private Key, müssen also geheim bleiben.

Das Kommando “rsautl”

Das letzte und wichtigste Kommando, welches wir anwenden werden, lautet “rsautl”. Mit diesem Kommando werden die Daten ver- oder entschlüsselt. Oder können sogar signiert werden. Je nach Anwendung kann der RSA public Key direkt angegeben werden. Oder wird aus einem digitalen Zertifikat ausgelesen.
Mit folgendem Aufruf könnt Ihr euch die Parameter des Kommandos ausgeben lassen:

rsautl -help

Interessant für euch könnte noch die Option “asn1parse” sein, mit dieser werden die einzelnen Asn.1-Datentypen aufgelistet, ähnlich wie es der Asn.1-Editor darstellt. Mit dem Kommando “rsautl” werden wir in den nächsten Videos Daten ver- und entschlüsseln, sowie Daten signieren und deren Signatur verifizieren.

Weitere Videos in diesem Onlinekurs:

Jetzt zum Newsletter anmelden und als Dankeschön einen exklusiven Gutschein Code für unsere Kryptographie Kurse erhalten.

Bleibe informiert zum Thema Kryptographie, erhalte neue Kurse als einer der Ersten und nimm an exklusiven Rabattaktionen teil. Wir verschicken keinen Spam und du kannst den Newsletter jederzeit wieder abbestellen.

2018-10-07T12:18:07+00:00