Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Zertifikate mit Openssl

Mitglied: ITwissen

ITwissen (Level 2) - Jetzt verbinden

24.03.2006, aktualisiert 06.11.2009, 70634 Aufrufe, 13 Kommentare

Verschlüsselte Übertragung im Web, E-Mails verschlüsseln und unterschreiben



Einleitung


Nicht jeder hier hat einen Webserver und noch weniger haben einen Webserver mit ssl Verschlüsselung, aber jeder hier hat E-Mail und sollte sich Gedanken über digitale Unterschrift oder sogar Verschlüsselung machen.

Aus diesem Grund will ich hier auf die Verwendung von Zertifikaten in Verbindung mit E-Mail eingehen und den Webserverteil vernachlässigen.

Problem


Schauen wir mal kurz in die nicht digitale Welt. Fast täglich setzen wir die Unterschrift unter Briefe auf
Papier. Hier soll der Schwung der Schrift die Zuordnung zum Unterzeichner beweisen. In ganz wichtigen Fällen muss
man aber auch in beisein einer Autorität (z.B. Notar) unterschreiben, welche dann selbst unterschreibt, dass die
Unterschrift echt ist.

Genau dieses soll nun in der digitalen Welt nachgebildet werden. Ich denke dies wurde ziemlich perfekt geschafft.

Theorie


Was brauchen wir alles? Erstens ein asymetrisches Verschlüsselungsverahren, welches keinen gemeinsamen geheimen
Schlüssel benutzt, sondern eine Schlüsselpaar bestehend aus privatem und öffentlichen Schlüssel. Zweitens eine
Hashfunktion, welche eine Art Quersumme aus einem Dokument extrahieren kann, welche eindeutig ist.

Damit können wir nun folgendes machen:
1. Verschlüsselung:
Text mit öffentlichem Schlüssel des Empfängers verschlüsseln, verschicken, Empfänger kann mit privatem Schlüssel
wieder entschlüsseln.

2. Unterschreiben:
Hashwert aus dem Text bilden, Hash mit privatem Schlüssel verschlüsseln, Text zusammen mit verschlüsseltem Hash
verschicken, verschlüsselter Hash mit öffentlichem Schlüssel entschlüsseln und mit Hash des Textes vergleichen.

Da das ganze Verfahren steht und fällt mit der Zuordnung von öffentlichem Schlüssel zur Person (E-Mailadresse in
der digitalen Welt). Das machen wir mit einer Autorität, welche die Korrektheit der Daten im Zertifikat mit ihrer digitalen Unterschrift
bezeugt. Diese nennt sich CA (Certification Authority). Windows bringt beispielsweise eine ganze Liste mit
öffentlichen Schlüsseln von CAs mit. Wer richtig mitgedacht hat wird nun feststellen, dass man den CAs blind
vertrauen muss, sonst funktioniert das nicht. Stimmt, allerdings hat es keine Schwächung der Verschlüsselnung zu Folge,
sondern einzig die Echtheit des Unterzeichners wird in Frage gestellt!

Praxis


Certification Authority


Entweder wir haben eine bekannte CA zur Hand, z.B. Verisign oder eine der CAs von der Liste der
Bundesnetzagentur

Man kann sich mit openssl aber ganz leicht eine CA selbst erstellen. Der Nachteil, die ist natürlich nicht
global bekannt und muss daher immer mitveröffentlicht werden, um die Authentizität einer Unterschrift überprüfen
zu können.

01.
openssl req -new -x509 -days 1096 -keyout cakey.pem -out cacert.pem


Jetzt haben wir eine 3 Jahre (1096 Tage) gültige CA. Welche wir später zum Unterschreiben unserer Zertifikate
benutzen. Das cacert.pem sollte man bei einer späteren Verbreitung in eine Datei mit der Endung .crt umwandeln. Dann kann Windows etwas damit anfangen.

Zertifikate


01.
openssl req -new -keyout certkey.pem -out certreq.pem
Damit erhalten wir ein Certificate Request in der Datei certreq.pem, welche wir nun mit der CA
unterschreiben. Die Fragen sollte man korrekt beantworten, die wichtigsten sind CN (Common Name) und die E-Mail.

Bei CN gibt man am besten den Vor- und Nachnamen an. Wenn es später anderst ausschaut als man will, macht man es
einfach nochmal.

01.
openssl x509 -req -in certreq.pem -CA cacert.pem -CAkey cakey.pem -CAcreateserial -out cert.pem -days 365
Den Key (privater Schluessel) und das unterschriebene Zertifikat (öffentlicher Schlüssen), wird noch
zusammengepackt und fuer Windows ins pkcs12 Format umgewandelt.

Windows:
01.
copy /b certkey.pem + cert.pem keycert.pem
Linux:
01.
cat certkey.pem cert.pem > keycert.pem
01.
openssl pkcs12 -export -in keycert.pem -out mailcert.p12 -name "email@domain.de"
Übrigens, wenn man statt der E-Mailadresse den Hostnamen eingibt, bekommt man ein Zertifikat für den Webserver
mit dem Hostnamen.

Das mailcert.p12 kann man nun in den Thunderbird oder Outlook importieren und seine E-Mails damit
unterschreiben (smime).

gnupg und pgp


Im wesentlichem machen diese Programme das gleiche wie openssl. Der Unterschied liegt im Verfahren um das
Vertrauen. Man vertraut einem Freund, der wieder einem Freund und so weiter. Das wäre ein anderes Tutorial Wert.
Ein kleiner Nachteil ist noch, dass man dafür noch extra Erweiterungen im Thunderbird und Outlook einbauen muss.

Adobe PDF


Mit diesem Zertifikat kann man auch PDF Dateien unterschreiben. Ich habe das mit dem Adobe Acrobat 7.0 Standard
getestet. Das Einbinden einer eigenen CA habe ich nicht geschafft.

Fazit


Ab jetzt möchte ich von jedem nur noch unterschriebene E-Mails, alles andere wird als Spam sofort gelöscht. Ja,
auch das wäre eine Möglichkeit den Werbemüll einzudämmen.

Ausserdem möchte ich nochmal auf Thawte hinweisen. Dort bekommt man umsonst ein
Zertifikat, welches von einer bekannten CA unterschrieben ist.
Update (06.11.09): Thawte hat inzwischen die kostenlose Vergabe von S/MIME eingestellt.

E-mail Client Testing for S/MIME Compliance
Mitglied: stpe
24.03.2006 um 08:24 Uhr
In diesem Zusammenhang weise ich auf die Kryptokampagne von Heise hin. Auch hier ist es möglich, sich seine GPG-Schlüssel öffentlich zertifizieren zu lassen.

Dies ist jedes Jahr auf dem Cebit-Stand bei Heise möglich (Pech für dieses Jahr, die Cebit ist gerade vorbei ) aber auch unterjährig kann man sich an der Kryptokampagne beteiligen. Infos dazu gibt's auf heise.de.

Gruss
Stefan
Bitte warten ..
Mitglied: Garfieldt
30.04.2006 um 12:15 Uhr
Da PGP in der Version 9 als E-Mail Proxy arbeitet, ist es nicht mehr nötig irgendwelche E-Mail Program PlugIns zu installieren.
Bitte warten ..
Mitglied: nullplan001
20.06.2006 um 17:19 Uhr
Mich quält da gerade eine Frage: Welche Datei muss ich an meine Freunde weitergeben, damit die auch verschlüsselte Nachrichten von mir entschlüsseln können? Und was müssen die dann damit machen? ich habe nicht soviel Ahnung von OpenSSL oder SSL im allgemeinen.
Und ganz nebenbei hat ein Zertifikat von Thawte den entscheidenden Nachteil, dass dein Name nicht drinsteht. Um das zu ändern, musst du entweder selbst WOT-Notar, Bank-Manager oder Staatsanwalt in Ausbildung sein, oder Mitglied im WOT werden. Was für 50 Punkte geht. Toll, in der Nähe von mir sind genau drei Notare, die mir, wenn sie mir alle Punkte geben, die sie geben dürfen, genau 40 Punkte geben können. Und das nur für ein lumpiges Zertifikat, dass ich auch selbst erstellen kann. Danke, verzichte zu Ungunsten anderer.
Tschö,
nullplan
Bitte warten ..
Mitglied: ITwissen
21.06.2006 um 13:44 Uhr
Mich quält da gerade eine Frage: Welche
Datei muss ich an meine Freunde weitergeben,
damit die auch verschlüsselte
Nachrichten von mir entschlüsseln
können? Und was müssen die dann
damit machen? ich habe nicht soviel Ahnung
von OpenSSL oder SSL im allgemeinen.

Siehe "Theorie" Punkt 1.

Und ganz nebenbei hat ein Zertifikat von
Thawte den entscheidenden Nachteil, dass
dein Name nicht drinsteht. Um das zu
ändern, musst du entweder selbst
WOT-Notar, Bank-Manager oder Staatsanwalt in
Ausbildung sein, oder Mitglied im WOT werden.
Was für 50 Punkte geht. Toll, in der
Nähe von mir sind genau drei Notare,
die mir, wenn sie mir alle Punkte geben, die
sie geben dürfen, genau 40 Punkte geben
können.

Du kannst dir auch bei Verisign (oder anderen, siehe Bundesnetzargentur) ein Zertifikat fuer ein Jahr kaufen. Bei Thawte hat man immerhin die Moeglichkeit eines umsonst zu bekommen. Das Verfahren von Thawte ist leider notwendig, siehe "Theorie" letzter Abschnitt.

Und das nur für ein
lumpiges Zertifikat, dass ich auch selbst
erstellen kann.

Ja, ich kann auch ein Zertifikat mit deinem Namen (und E-Mail) drin erstellen. Woher soll also bei einem selbst erstellten Zertifikat der Empfaenger wissen, dass es wirklich von dir ist?

Ich empfehle dir dich noch etwas weiter in die Materie Verschluesselung/digitale Unterschriften einzuarbeiten.
Bitte warten ..
Mitglied: VSdux
27.05.2007 um 10:00 Uhr
Irgendwie versteh ich das nicht.
Ich habe nun ein Zertifikat erzeugt und das in Thunderbird importiert. Als Email habe ich mein@name.de angegeben (Beispiel).
Wenn ich nun eine Nachricht verfasse und unter S/MIME auf "Sicherheitsinformationen anzeigen" gehe erhalte ich für den Empfänger mein@name.de den Status "ungültig" und für alle anderen Empfänger den Status "nicht gefunden"

Kann ich mit dem Zertifikat nur an eine Emailadresse Mails verschicken? Warum ist mein Zertifikat ungültig?
Bitte warten ..
Mitglied: nullplan001
28.05.2007 um 10:45 Uhr
Ich weiß nicht genau, wo dein Problem liegt, aber: mit einem privaten Schlüssel kannst du nur eine Adresse, nämlich deine, Versorgen. Den öffentlichen Schlüssel kannst du an alle, die es wissen wollen, verteilen. Damit können alle, die einen öffentlichen Schlüssel erhalten haben, dir eine verschlüsselte Mail schicken. Um einem anderen eine verschlüsselte Mail zu schicken, muss du seinen öffentlichen Schlüssel haben (und er den dazugehörigen privaten Schlüssel). Jetzt verstanden?
Bitte warten ..
Mitglied: flugfaust
13.01.2008 um 15:08 Uhr
Wie kann ich ein P12 Zertifikat für Mail for Exchange erstellen?
Blicke da nicht so wirklich durch
Bitte warten ..
Mitglied: Garfieldt
13.01.2008 um 18:16 Uhr
Wie kann ich ein P12 Zertifikat für Mail
for Exchange erstellen?
Blicke da nicht so wirklich durch

Ich blicke nur nicht durch, was das mit OpenSSL zu tun haben soll.
Bitte warten ..
Mitglied: flugfaust
20.01.2008 um 17:49 Uhr
Wieso sollte das nichts mit OpenSSl zu tun haben?
Bitte warten ..
Mitglied: chrihech
12.03.2008 um 08:39 Uhr
hallo. kann mir bitte jemand sagen wie ich die Server-IP-Adresse in das Zertifikat integrieren kann?
danke lg
Bitte warten ..
Mitglied: ITwissen
12.03.2008 um 08:56 Uhr
Ich nehme an du willst, im Gegensatz zum oben Beschriebenen, ein Zertifikat fuer deinen Webserver erstellen. Dann musst du den IP-Namen des Webservers im "Common Name" eingeben. Du musst dort genau die Adresse reinschreiben, die der User in seinen Web-Browser schreibt.

z.B. User schreibt im Webbrowser:
01.
https://www.wasauchimmerhirsteht.de
dann muss als "Common Name" folgendes eingetragen werden:
01.
www.wasauchimmerhirsteht.de
Ansonsten wird der Webbrowser beim Ansurfen der Seite jammern, dass das Zertifikat nicht vom Server kommt.
Bitte warten ..
Mitglied: chrihech
12.03.2008 um 09:20 Uhr
Danke für die schnelle antwort. Ich brauche das Zertifikat jedoch eigentlich für eine 802.1x Implementierung und wenn ich die IP-Adresse des RADIUS-Servers nicht in das Zertifikat integriere akzeptiert es der Supplicant nicht und sendet "Fatal decrypten error", da ja sonst nur der Name des Servers zur verifizierung verwendet wird und das könnte ja dann jeder sein(etc\hosts...).
Weist du zufällig wie das geht?
lg
Bitte warten ..
Mitglied: chrihech
21.03.2008 um 14:58 Uhr
Hat sich erledigt. Das Problem war nicht die IP-Adresse, da diese auch einfach als common name integriert werden kann. Das Problem waren die für Windows und 802.1x notwendigen OIDs. Habe diese mit "-extensions" und einer "xpextensions"-Datei integriert und des funktioniert.
Dankeschön trotzdem für die Antwort
lg
Bitte warten ..
Ähnliche Inhalte
Administrator.de Feedback
Neues SSL-Zertifikat von Letsencrypt
Information von admtechAdministrator.de Feedback1 Kommentar

Hallo Administrator User, wir benutzen ab sofort für die administrator.de Domäne ein SSL-Zertifikat von Letsencrypt. Wie immer erhalten wir ...

Verschlüsselung & Zertifikate

Lets Encrypt stellt nun auch Wildcard-Zertifikate aus

Information von em-pieVerschlüsselung & Zertifikate

Für alle, die sich mit der Thematik "Zertifikate" etwas mehr beschäftigen und dabei Let's Encrypt in Betracht ziehen respektive ...

MikroTik RouterOS

Mikrotik Zertifikate - Import von Private-Key wird ignoriert

Tipp von colinardoMikroTik RouterOS

Hallo Kollegen, kurzer Tipp für den Import von private Keys von Zertifikaten in der aktuellen RouterOS-Version. Als ich gestern ...

Verschlüsselung & Zertifikate

Entzug der Vertrauenswürdigkeit für SSL TLS-Zertifikate der Symantec-Gruppe

Tipp von Vision2015Verschlüsselung & Zertifikate

Prüfen Sie, ob Ihr SSL-Zertifikat getauscht werden muss! In den kommenden Versionen von Google Chrome werden ab März oder ...

Neue Wissensbeiträge
Sicherheit
Adminrechte dank Bug in Intel HD Graphics Treiber
Information von DerWoWusste vor 3 StundenSicherheit

->Intel HD graphics 4200 und neuer (4400, 4600 520,530,620, 630,) sind auf jeden Fall betroffen und bereinigte Treiber sind ...

Router & Routing

Endlich: Reines Kabel-TV Modem in D erhältlich !

Information von aqui vor 2 TagenRouter & Routing9 Kommentare

Mit dem Technicolor TC4400-EU Modem sind nun auch Breitband Router ohne integriertes Modem oder Firewalls wie z.B. die pfSense ...

Netzwerkgrundlagen
The Illustrated TLS Connection
Information von Lochkartenstanzer vor 3 TagenNetzwerkgrundlagen1 Kommentar

Moin, Unter findet man eine gelungene Erläuterung von TLS. Fördert sehr das verständnis darüber, was da passiert. lks

Windows 10

Zuverlässiger Remove-AppxProvisionedPackage Ausführen in W10-1803

Tipp von NetzwerkDude vor 5 TagenWindows 104 Kommentare

Moin, Remove-AppxProvisionedPackage hat in 1709 recht zuverlässig funktioniert, in 1803 ist es leider so das es gerne mail failed ...

Heiß diskutierte Inhalte
Netzwerkprotokolle
OpenVPN auf dem Client Verständnisfrage
gelöst Frage von bk900042Netzwerkprotokolle23 Kommentare

Hallo Community, möchte OpenVPN benutzen, um mich über VPN per RDP zu einem Server zu verbinden und auch GIT ...

Windows Server
AD User wird immer wieder gesperrt
Frage von YellowcakeWindows Server18 Kommentare

Hey ich habe einen User (ein GL User - Natürlich was denn sonst) der immer wieder gesperrt wird. Ich ...

Festplatten, SSD, Raid
LSI 9361 Controller, versehentlich virtual Drive am Controller gelöscht
Frage von pixel24Festplatten, SSD, Raid12 Kommentare

Hallo zusammen, gibt es hier einen Experten der sich gut mit LSI MegaRAID auskennt? Ich habe versehentlich im Controller-BIOS ...

Switche und Hubs
OpenSource oder Freeware zur Verwaltung von Switchen
gelöst Frage von JonskezSwitche und Hubs12 Kommentare

Hallo, gibt eine kostenlose Verwaltungssoftware für Switche (überwiegend HP/Aruba)? Es sollte möglich sein, aus der Ferne z.B. die Firmware ...