"We are back" « oc.at

Verschlüsselung für Anfänger

foo_on_air 10.09.2010 - 20:52 2101 4
Posts

foo_on_air

OC Addicted
Registered: Jun 2007
Location: Wien
Posts: 769
Wie funktioniert Verschlüsselung und Authentifizierung ganz einfach erklärt?

Hilft mir jemand dabei, die Bruchstücke, die ich weiß, zusammenzuführen?

Asynchrone Verschlüsselung verwendet einen privaten und einen öffentlichen Schlüssel, die irgendwie mathematisch verrechnet sind ;)

Autorisierte Trust Center ordnen einer Person ein Schlüsselpaar zu und beglaubigen, dass der Unterzeichner (der mit dem privaten Schlüssel) eine bestimmte Person ist.

Angenommen, ein Anwender ruft eine Website auf oder öffnet z.B. ein PDF oder eine Email mit Zertifikat. Wie stellt das Programm fest, ob das Zertifikat gültig ist?

Gültig hieße, dass der private Schlüssel, der zur Unterzeichnung des Dokuments verwendet wurde, mit dem öffentlichen Schlüssel verifiziert werden kann (und ggf. wird der Inhalt entschlüsselt, aber das ist für das Verständnis egal).

[*] Wie erfolgt die Prüfung? Muss eine Internetverbindung existieren, über die bei einem Trust Center der öffentliche Schlüssel abgefragt wird?

[*] Woher weiß der PC, welchen Trust Centers er vertrauen kann?

[*] Stellt jedes Betriebssystem Schnittstellen zur Verfügung, mit denen Zertifikate und Trust Center verwaltet und abgerufen werden können? Oder gibt es standardisierte Protokolle und jeder Programmierer strickt das in seiner SW selbst?

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Zitat von foo_on_air
Wie funktioniert Verschlüsselung und Authentifizierung ganz einfach erklärt?

Hilft mir jemand dabei, die Bruchstücke, die ich weiß, zusammenzuführen?

Asynchrone Verschlüsselung verwendet einen privaten und einen öffentlichen Schlüssel, die irgendwie mathematisch verrechnet sind ;)

Autorisierte Trust Center ordnen einer Person ein Schlüsselpaar zu und beglaubigen, dass der Unterzeichner (der mit dem privaten Schlüssel) eine bestimmte Person ist.

Angenommen, ein Anwender ruft eine Website auf oder öffnet z.B. ein PDF oder eine Email mit Zertifikat. Wie stellt das Programm fest, ob das Zertifikat gültig ist?

Gültig hieße, dass der private Schlüssel, der zur Unterzeichnung des Dokuments verwendet wurde, mit dem öffentlichen Schlüssel verifiziert werden kann (und ggf. wird der Inhalt entschlüsselt, aber das ist für das Verständnis egal).

[*] Wie erfolgt die Prüfung? Muss eine Internetverbindung existieren, über die bei einem Trust Center der öffentliche Schlüssel abgefragt wird?

[*] Woher weiß der PC, welchen Trust Centers er vertrauen kann?

[*] Stellt jedes Betriebssystem Schnittstellen zur Verfügung, mit denen Zertifikate und Trust Center verwaltet und abgerufen werden können? Oder gibt es standardisierte Protokolle und jeder Programmierer strickt das in seiner SW selbst?
Naja, ich glaub es ist wenig sinnvoll wenn ich http://de.wikipedia.org/wiki/Pretty_Good_Privacy neu schreib, also erstmal der Link dort hin ;)

Du vermischt hier etwas PGP und Zertifikate glaub ich.
Ein Zertifikat ist mit dem Public Key einer CA (Certificate Authority) verschlüsselt und enthält unter anderem meistens einen weiteren public key.
Nachdem das Zertifikat verschlüsselt ist, ist mehr oder weniger sicher gestellt dass es von der CA ausgestellt wurde, wenn man der CA vertraut hat man eine Vertrauenskette. Man kann damit also sagen dieses Zertifikat ist echt. Wenn dann ein Name drin steht, kann man sagen dass eine Message die verschlüsselt mit dem Zertifikat signiert ist von dieser Person kommt. Zertifikate und CAs sind also ein Mittel zum Austausch von Public Keys und zum Aufbau einer Vertrauenskette

Programme/Frameworks haben normal eine vordefinierte Liste an CAs (die auch erweiterbar ist), es definiert also der Entwickler des verwendeten Programms wem man vertrauen kann. Die Liste kann man - mehr oder weniger einfach - auch bearbeiten und erweitern. Praktisch für große Firmen, da man damit eine interne CA bauen kann. (Die entsprechend billig ist ;))

Wenn du das Zertifikat vom Sender, den Public Key von dessen CA (Die beiden werden meist vom Verschlüsselungsprogramm verwaltet) und die Nachricht hast, brauchst du keine Verbindung ins Internet.

Soo, ich hoff ich hab da jetzt nichts falsch geschrieben :D
Siehe auch:
http://de.wikipedia.org/wiki/Digitales_Zertifikat
http://de.wikipedia.org/wiki/Public_Key_Infrastruktur
versus
http://de.wikipedia.org/wiki/Web_of_Trust

Das Thema is riesig, vielleicht solltest du auch deine Fragen noch genauer stellen :D

Guest

Deleted User
Registered: n/a
Location:
Posts: n/a
Zitat von foo_on_air
Zitat von Joe_the_tulip
Schrittlänge messen; 90 hast du bestimmt nicht; meine 91 sind für meine 1,87m schon verdammt viel.

ASYMMETRISCH!!!!!! :bash:

foo_on_air

OC Addicted
Registered: Jun 2007
Location: Wien
Posts: 769
Zitat von watchout
Das Thema is riesig, vielleicht solltest du auch deine Fragen noch genauer stellen :D
Deswegen wußte ich nicht, wie ich es angehen soll ;) Ich les mich in die Links ein.

edit: Ich habe gleich noch eine. Wenn ich im Internet eine Banking Seite ansurfe, zeigt mir der Browser an, dass sie sicher ist. So ein grünes Hakerl erscheint, das anscheinend bedeutet, dass das Zertifikat gültig ist und evtl. dass der Datentransfer verschlüsselt wird. Haben die Programmierer vom Firefox die CA integriert, die das Zertifikat der Seite verwaltet und abgefragt, während ich die Seite besucht hab?

Oder wenn ich ein Programm herunterlade, zeigt Windows manchmal einen Hinweis für das Zertifikat an. Erfolgt eine Prüfung im Hintergrund bzw. über das Internet mit der CA?

@deleted875824: Recht hast du. Hab beim Schreiben was durcheinander gebracht.
Bearbeitet von foo_on_air am 11.09.2010, 20:31

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Zitat von foo_on_air
Ich habe gleich noch eine. Wenn ich im Internet eine Banking Seite ansurfe, zeigt mir der Browser an, dass sie sicher ist. So ein grünes Hakerl erscheint, das anscheinend bedeutet, dass das Zertifikat gültig ist und evtl. dass der Datentransfer verschlüsselt wird. Haben die Programmierer vom Firefox die CA integriert, die das Zertifikat der Seite verwaltet und abgefragt, während ich die Seite besucht hab?
Wenn du eine HTTPS-Seite ansurfst wird schon bei der Verbindung ein Zertifikat übertragen (jetzt mal grob gesagt) Wenn du was siehst, wurde es entschlüsselt, wenn es entschlüsselt wurde ist das Zertifikat eigentlich gültig (die CA signiert das Zertifikat, vertraut man der CA- also hat man den Schlüssel installiert - ist auch keine weitere Aktion notwendig. Manchmal bekommt man eine Fehlermeldung dass der Aussteller unbekannt ist oder dass es ein self-signed Zertifikat ist, da muss man halt entscheiden ob man dem vertraut oder nicht - bei einer Bank würd ich das zB. nicht machen ;) )

Was das grüne Hakerl (Meistens is es aber eher ein Schloss-Symbol) genau bedeutet kommt jetzt auf den Browser an, beim Firefox schaut das seit 3.irgendwas wie folgt aus (Nein, ich hab mit der Bank Austria nichts zu tun, waren einfach die ersten die mir so einfielen)

click to enlarge click to enlarge

Man sieht da die unterschiedlichen Farben, das grüne ist laut der Zertifikat-Verkäufer das "bessere", in der Verschlüsselung selbst ist da aber eigentlich kein Unterschied, die Käufer müssen nur mehr Daten angeben, mehr blechen und bekommen dafür etwas mehr Versicherung und ein grünes Feld mit Firmen-Namen statt einem blauen nur mit der Domain...
Bei einer Bank würd ich mir aber eigentlich auch schon ein grünes erwarten (*hust* Bawag naja), das sollt's ihnen Wert sein...

Zitat von foo_on_air
Oder wenn ich ein Programm herunterlade, zeigt Windows manchmal einen Hinweis für das Zertifikat an. Erfolgt eine Prüfung im Hintergrund bzw. über das Internet mit der CA?
Treiber werden von Microsoft signiert, wie das genau abläuft weiß ich nicht, war bisher noch nicht in der Situation einen Treiber zu schreiben ;)
Die CA wird in dem Fall aber wahrscheinlich Microsoft sein, eine Internetverbindung ist dabei nicht notwendig, weil Windows - auch sehr wahrscheinlich - den public key von Microsoft schon kennt, also sollte eine Verifizierung ohne Probleme möglich sein.
Kanns aber auch nicht sicher sagen, weiß ja nicht was MS da macht ;)
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz