Forum: Mikrocontroller und Digitale Elektronik Verschlüsselung, Schlüsselaustausch


von zppp (Gast)


Lesenswert?

Hallo Leute

Ich habe gerade folgendes Problem in einer Studienarbeit:

Mehrere Geräte verschiedener Hersteller sollen Daten an eine Steuerung 
senden. Die Kommunikation soll verschlüsselt erfolgen. Identische 
Schlüssel
zu verwenden kommt nicht infrage diese ja bekannt werden könnten. Idee
war jetzt mit einem asymetrischen Verfahren einen AES Schlüssel zu 
vereinbaren. Ich habe dabei jetzt folgendes Problem, wie ich es drehe
und wende muss ja der Öffentliche Schlüssel über den Datenkanal
ausgetauscht werden. Damit ist das ganze System aber kompromitierbar.
Die einzige Möglichkeit die ich sehe ist, den Schlüssel auf eine andere
nicht kompromitierbare weise in die geräte zu bringen.

von unwissender (Gast)


Lesenswert?

Diffie Hellman

von Peter II (Gast)


Lesenswert?

geht nur mit einem gemeinsamen CA. Jedes Gerät bekommt ein Certifikat 
diesen ist von einer Zentralen stelle unterschrieben.

von zppp (Gast)


Lesenswert?

Das mit dem Zertifikat geht nicht, weil die Geräte nicht über
Ethernet verbunden sind.

von Peter II (Gast)


Lesenswert?

zppp schrieb:
> Das mit dem Zertifikat geht nicht, weil die Geräte nicht über
> Ethernet verbunden sind.

was hat das mit Ethernet zu tun?

von Daniel F. (df311)


Lesenswert?

das ist doch der witz an asymetrischen verfahren, dass man mit dem 
öffentlichen schlüssel zwar ver- aber nicht entschlüsseln kann?

zppp schrieb:
> Die einzige Möglichkeit die ich sehe ist, den Schlüssel auf eine andere
> nicht kompromitierbare weise in die geräte zu bringen.

ich sehe das problem immer noch nicht...

von innerand i. (innerand)


Lesenswert?

zppp schrieb:

> Ich habe dabei jetzt folgendes Problem, wie ich es drehe
> und wende muss ja der Öffentliche Schlüssel über den Datenkanal
> ausgetauscht werden. Damit ist das ganze System aber kompromitierbar.
> Die einzige Möglichkeit die ich sehe ist, den Schlüssel auf eine andere
> nicht kompromitierbare weise in die geräte zu bringen.

Haben Sie sich schon mal gefragt warum der öffentliche Schlüssel eben 
öffentlicher Schlüssel heißt?

Den können S' in der Zeitung abdrucken, auf ihre Homepage stellen und im 
Radio vorlesen lassen und das System ist dadurch trotzdem nicht 
kompromittiert.
Das ist ja gerade die Idee der asymetrischen Verschlüsselung. Sie haben 
da zwei Keys, einen private und einen public wobei der Public eben 
öffentlich ist, den darf (und soll sogar) jeder kennen.

: Bearbeitet durch User
von Progger (Gast)


Lesenswert?

zppp schrieb:
> Damit ist das ganze System aber kompromitierbar.

Was verstehst du unter "kompromitierbar"?
1) Dass jemand die Kommunikation durch Kenntnis des öffentlichen 
Schlüssels entschlüsseln kann? Eben nicht, das ist ja der Witz an der 
Sache. Entschlüsseln kann man nur mit dem privaten Schlüssel.
2) Dass irgendwelche Geräte irgendwelche Daten an deine Steuerung 
schicken. Das kann natürlich passieren. Wenn du das verhindern willst, 
dann musst du die Geräte irgendwie bekannt machen (Zertifikate, 
symmetrische Schlüssel,...). Kannst ja jedem Gerät einen eigenen 
Schlüssel geben.

> Die einzige Möglichkeit die ich sehe ist, den Schlüssel auf eine andere
> nicht kompromitierbare weise in die geräte zu bringen.

Ist das ein Problem? Jedem Gerät sein eindeutiger Schlüssel und die 
Steuerung kennt eben alle Schlüssel. Ist auch deutlich performanter und 
einfacher als eine asynchrone Verschlüsselung.

von Peter II (Gast)


Lesenswert?

innerand innerand schrieb:
> Haben Sie sich schon mal gefragt warum der öffentliche Schlüssel eben
> öffentlicher Schlüssel heißt?
>
> Den können S' in der Zeitung abdrucken, auf ihre Homepage stellen und im
> Radio vorlesen lassen und das System ist dadurch trotzdem nicht
> kompromittiert.

doch ist es. Nennt sich

http://de.wikipedia.org/wiki/Man-in-the-middle-Angriff

weil man nicht Prüfen kann ob man den echten Publickey hat oder eine 
Fälschung

von Michael A. (micha54)


Lesenswert?

Hallo,

irgendwie war das doch noch anders: der Client generiert ein 
Schlüsselpaar.
Den einen verschlüsselt er mit dem öffentlichen Key und sendet ihn an 
den Server, der ihn mit dem privaten Key entschlüsselt.

Ab jetzt unterhalten sich beide mit dem neuen Key, der dann auch 
jederzeit gewechselt werden kann.

Der öffentliche Key wird also pro Verbindung nur ein einziges Mal 
benutzt.

Gruß,
Michael

: Bearbeitet durch User
von zppp (Gast)


Lesenswert?

Progger schrieb:
> 2) Dass irgendwelche Geräte irgendwelche Daten an deine Steuerung
> schicken. Das kann natürlich passieren. Wenn du das verhindern willst,
> dann musst du die Geräte irgendwie bekannt machen (Zertifikate,
> symmetrische Schlüssel,...). Kannst ja jedem Gerät einen eigenen
> Schlüssel geben.

Das soll gerade verhindert werden.

Das mit den Zertifikaten klappt auch nicht, dazu ist ein
Internetzugang erforderlich.

Das mit den individuellen Schlüssel geht leider nicht. Die müssen
ja dann irgendwie der Steuerung bekannt gemacht werden. Die müssen
ja auch abgelsen werden oder über eine unsichere Schnittstelle
übertragen werden.

Das Dieffie Hellmann scheint interesaant zu sein.

von Peter II (Gast)


Lesenswert?

zppp schrieb:
> Das mit den Zertifikaten klappt auch nicht, dazu ist ein
> Internetzugang erforderlich.

wer sagt das?

Wozu sollte man dafür einen Internet Zugang brauchen?

von Peter II (Gast)


Lesenswert?

zppp schrieb:
> Das Dieffie Hellmann scheint interesaant zu sein.

nein nicht für deinen zweck.

DH stellt nur sicher das niemand die Daten mitlesen kann. Es kann aber 
nicht sicherstellen das man mit der richtigen Gegenstelle redet. Damit 
ist das System sehr einfach angreifbar.

von innerand i. (innerand)


Lesenswert?

Peter II schrieb:

> doch ist es. Nennt sich
>
> http://de.wikipedia.org/wiki/Man-in-the-middle-Angriff
>
> weil man nicht Prüfen kann ob man den echten Publickey hat oder eine
> Fälschung

Quatsch.
Public Keys sind zur Veröffentlichung gedacht und da kompromittiert 
nichts, wenn man die veröffentlicht.

Die Verifikation, ob der Public Key auch tatsächlich auch zu dem gehört 
der er behauptet ist eine andere Geschichte. Aber diese Problem hat man 
immer, auch wenn man den Public Key daheim im Tressr versteckt.

Dagegen hilft es zum Beispiel die Public Keys zu signieren und eine 
Chain-of-Trust aufzubauen.
Aber wie gesagt, andere Geschichte.

von Marek W. (ma_wa)


Lesenswert?

Daher lässt man sich den öffentlichen Schlüssel von jemandem 
vertrauenswürdigen unterschreiben.

Daraus resultiert dann halt das Prinzip -> Web of Trust

Oder wenn man eine zentrale Instanz für die Beglaubigung hat -> PKI

Bei beiden ist eine Netzwerkverbindung nicht unbedingt erforderlich, 
dann können halt keine Revokelisten geprüft werden.

MitM ist dann nur ein Problem, wenn der Angreifer einen Key mit einer 
gültigen Unterschrift der vertrauenswürdigen Stelle vorweisen kann. Eine 
weitere Möglichkeit ist es, die gültigen öffentlichen Schlüssel oder 
deren Hashkeys als Liste auf allen Controllern zu hinterlegen.

von Marek W. (ma_wa)


Lesenswert?

Das dürfte auch für dich interessant sein:

http://www.aborisov.de/publications/Diplomarbeit-Borisov.pdf

von Peter II (Gast)


Lesenswert?

innerand innerand schrieb:
> Quatsch.
> Public Keys sind zur Veröffentlichung gedacht und da kompromittiert
> nichts, wenn man die veröffentlicht.
>
> Die Verifikation, ob der Public Key auch tatsächlich auch zu dem gehört
> der er behauptet ist eine andere Geschichte. Aber diese Problem hat man
> immer, auch wenn man den Public Key daheim im Tressr versteckt.
>
> Dagegen hilft es zum Beispiel die Public Keys zu signieren und eine
> Chain-of-Trust aufzubauen.
> Aber wie gesagt, andere Geschichte.

er will aber sicherstellen das nicht jeder Angreifer an seine Steuerung 
Daten schicken kann und da hilft ihm Private/Public key ohne Zertifikate 
nicht weiter.

von zppp (Gast)


Lesenswert?

Peter II schrieb:
> wer sagt das?
>
> Wozu sollte man dafür einen Internet Zugang brauchen?

Das sagen mir unsere Linux-Fuzzies. Zertifikate haben nur eine
begrenzte Laufzeit und können auch widerrufen werden.

von Progger (Gast)


Lesenswert?

zppp schrieb:
> Das mit den individuellen Schlüssel geht leider nicht. Die müssen
> ja dann irgendwie der Steuerung bekannt gemacht werden. Die müssen
> ja auch abgelsen werden oder über eine unsichere Schnittstelle
> übertragen werden.

Wie soll das funktionieren? Woher soll die Steuerung wissen, welche 
Geräte "gut" und welche Geräte "böse" sind? Das muss ihr jemand sagen.
1) indem die Schlüssel o.ä. schon vorher bekannt sind
2) asymmetrische Verschlüsselung und bei der ersten Kommunikation muss 
jemand (wohl ein Mensch) bestätigen, dass das Gerät "gut" ist. Dann 
können die Geräte sich über den verschlüsselten Kanal einen 
symmetrischen Schlüssel vereinbaren.

von Hans (Gast)


Lesenswert?

zppp schrieb:
> Das sagen mir unsere Linux-Fuzzies. Zertifikate haben nur eine
> begrenzte Laufzeit und können auch widerrufen werden.

Das kannst Du ja frei entscheiden, ob Du diese Funktionen nutzen willst. 
Du kannst auch unbegrenzt gültige Zertifikate erstellen.

Um die Gültigkeit überprüfen zu können, bräuchte die Steuerung aber 
ohnehin eine nicht manipulierbare Uhr. Das gleiche gilt für widerrufene 
Zertifikate: Ohne Internetzugang kann diese Information natürlich nicht 
abgerufen werden. Das gilt aber auch für jedes andere Verfahren, das Du 
Dir ausdenkst. Wenn Deine Schlüssel kompromitiert sind und die Steuerung 
nicht am Internet hängt, kannst Du sie nur durch ein manuelles Update 
wieder sicher machen.

von Peter II (Gast)


Lesenswert?

zppp schrieb:
> Das sagen mir unsere Linux-Fuzzies. Zertifikate haben nur eine
> begrenzte Laufzeit und können auch widerrufen werden.

die Laufzeit kann man frei festlegen - also auch bis 31.12.9999 wenn man 
es denn will.

Sperrlisten sind Optional, das System funktioniert auch ohne. Das ist 
dann ein Problem wenn jemand es schafft den Privatekey aus einen gerät 
auszulesen und damit Unfug macht. Dann müsstest du jeden gerät mitteilen 
das dieses Zertifikat nicht mehr gültig ist.

von innerand i. (innerand)


Lesenswert?

zppp schrieb:
>
> Das sagen mir unsere Linux-Fuzzies. Zertifikate haben nur eine
> begrenzte Laufzeit und können auch widerrufen werden.

Zertifikate können eine begrenzte Laufzeit haben, müssen aber nicht. So 
ein Zertifikat ist letztendlich auch nur ein Key.

Sie machen ganz einfach folgendes:

Jedes Ihrer Geräte bekommt einen private (geheim) und einen Public-Key 
(öffentlich).
Deren Public-Key signieren sie mit einem separaten Private Key (der bei 
ihnen bleibt) und ihre Geräte bekommen den Public-Key dazu (das wäre 
dann praktisch das Zertifikat).
Dann konfigurieren Sie ihre Geräte noch so, dass sie nur Public-Keys die 
mit Ihrem Private Key signiert wurden akzeptieren.

von Marek W. (ma_wa)


Lesenswert?

Dann sagen dir deine Linux-Fuzzis etwas falsches.

Schlüssel und Zertifikate kann man auch unbegrenzt gültig signieren. 
Macht man in der Regel aber nicht, da der Ablauf einen Sicherheitsgewinn 
bringt. Im Grunde sind innerhalb einer PKI auch alle Zertifikate von der 
Laufzeit der CA-Zertifikate abhängig.

Mache dir mal Gedanken darüber, was das Ziel deiner Aktion ist.

Wenn du die Authentizität der Daten prüfen möchtest, kannst Du jedem 
Controller sein eigenes Schlüsselpaar fest implementieren. Dabei wirst 
du schon genug Probleme habe, dieses so zu machen, dass die Keys nicht 
ausgelesen werden können. Zusätzlich signierst Du die öffentlichen 
Schlüssen mit einem zentralen Schlüsselpaar, dessen öffentlichen 
Schlüssen du ebenfalls fest in die Controller implementieren musst. Mit 
dem kannst du dann die Gültigkeit angebotenen Schlüssel prüfen.

So oder ähnlich mache ich das in relativ geschlossenen System. Der 
Vorteil daran ist, das später noch weitere Controller in das System mit 
eigenen Schlüsselpaaren integriert werden können und dass das 
Schlüsselpaar für die Signatur der öffentlichen Schlüssen im Tresor 
liegt.

von Andy P. (bakaroo)


Lesenswert?

@zppp: Andersherum rangehen: Welche Angriffsvektoren siehst du mit 
welcher Wahrscheinlichkeit?
Welche Hardware und welche Vernetzung der Geräte ist angedacht?
Beipiel: Wenn du auf DH und KeyExchange verzichtest, sondern einen 
fest vorprogrammierten Key im System verwendest, der in jedem Gerät 
gleich ist, mußt du noch immer aus dem Quelltext eines Geräts den 
Schlüssel extrahieren. Gesetzt den Fall, es handelt sich um CAN-Geräte 
mit Controllern, die einen Speicherschutz auf Hardwareebene haben, muß 
sich ein Angreifer schon einiges einfallen lassen um da ran zu kommen.
Handelt es sich um gewöhnliche PCs und ein Angreifer hat physischen 
Zugriff auf die Kiste, sieht die Sache schon ganz anders aus.

Achja: Eine CA ist eine willkürlich festgelegte Instanz, der nur alle 
Trauen müssen. Das kann z.B. an einem CAN-Bus in einem Auto auch ein 
definiertes Steuerteil miterledigen.

: Bearbeitet durch User
von zppp (Gast)


Lesenswert?

Ich sehe da sehr wenig Angriffsvektoren.

Es handelt sich dabei um System die einer Zulassung durch eine
Bundesbehörde benötigen. Mehr kann ich dazu leider nicht sagen
weil das alles vertraulich ist. Es geht darum Komponenten und
Steuerung von verschiedenen <6 Herstellern zu vernetzen. Die
Kommunikation erfolgt über RS485 seriell. Ich hatte das schon
ausgearbeitet mit AES. Dabei sollte ein einziges mal ein Schlüssel
übertragen werden. Das wurde aber abgelehnt. Einen fixen Schlüssel
zu verwenden ist bei mehr als einem Hersteller auch nicht sinnvoll,
denn wenn der die Rund macht, sind alle Anlagen kompromitiert.

Die andere Frage ist natürlich, wer sich die Mühe macht solche
Systeme zu hacken. Wahrscheinlich nur Beamte auf dem Papier.

von Tiramisu (Gast)


Lesenswert?

>Ich sehe da sehr wenig Angriffsvektoren.

Ein erfolgreicher Angriffvektor genuegt, um ein ausgerolltes
System zu kompromittieren!

>Es handelt sich dabei um System die einer Zulassung durch eine
>Bundesbehörde benötigen.

Naja, da gibt es nicht viele Bundesbehörden, die das machen...

Du meintest vermutlich Zertifizierung!? Egal, die notwendige
Dokumentation des TOE wird nebem dem stimmigen Konzept,
der Implementierung (bzw. die notwendige Methodologiedokumentation)
noch viel groessere Kopfzerbrechen machen. Der Maßstab ist
dann state-of-the-art. Selbst Profis in dem Bereich greifen auf
Bewährtes zurueck (z.B. openssl).

>Mehr kann ich dazu leider nicht sagen
>weil das alles vertraulich ist. Es geht darum Komponenten und
>Steuerung von verschiedenen <6 Herstellern zu vernetzen. Die
>Kommunikation erfolgt über RS485 seriell. Ich hatte das schon
>ausgearbeitet mit AES. Dabei sollte ein einziges mal ein Schlüssel
>übertragen werden. Das wurde aber abgelehnt. Einen fixen Schlüssel
>zu verwenden ist bei mehr als einem Hersteller auch nicht sinnvoll,
>denn wenn der die Rund macht, sind alle Anlagen kompromitiert.

State-of-the-Art im symetrischen Verschluesselungsbereich ist,
dass ein solcher Kommunikationsschluessel nach x Megabyte bzw. nach
y Stunden getauscht (z.B. durch die Verwendung einer PRF analog
SSL/TLS --- z.B. bestimmt durch das ausgemachte gemeinsame Mastersecret
beim DH/ECDH) wird. Daher der Schluckauf der "Beamten"
bei diesem Punkt.

Neben den obigen kleineren Problemchen wird die Ausrollung
des Systems eine Rolle spielen, danach ist die Tendenz die
Entropie genau anzusehen....

>Die andere Frage ist natürlich, wer sich die Mühe macht solche
>Systeme zu hacken. Wahrscheinlich nur Beamte auf dem Papier.

Um ein System auf dem CCC Kongress an das Kreuz zu nageln, tun
"Hacker" ganz schoen viel, auch wenn nicht $$$ dahinterstehen.

von Progger (Gast)


Lesenswert?

Und warum gibst du nicht jedem Hersteller oder jedem Gerät (je nach 
Anzahl der Geräte) einen eigenen Schlüssel? Dann kannst du, wenn der 
Schlüssel bekannt wird, zumindest dem Hersteller dem er gehört eine auf 
den Deckel geben. Du könntest das sogar mit einer asymmetrischen 
Verschlüsselung lösen, weil der Schlüssel dann wirklich nur im Gerät des 
externen Herstellers sitzt und nicht in deiner Steuerung.
Alle anderen "Lösungen" die ich hier gesehen habe erhöhen zwar die 
Komplexität, lösen aber dein Problem nicht. Da würde ich bei KISS 
bleiben.

von Peter II (Gast)


Lesenswert?

Progger schrieb:
> Und warum gibst du nicht jedem Hersteller oder jedem Gerät (je nach
> Anzahl der Geräte) einen eigenen Schlüssel? Dann kannst du, wenn der
> Schlüssel bekannt wird, zumindest dem Hersteller dem er gehört eine auf
> den Deckel geben.
und wie willst du einem Gerät Daten schicken wenn du den Schlüssel nicht 
kennst?

> Alle anderen "Lösungen" die ich hier gesehen habe erhöhen zwar die
> Komplexität, lösen aber dein Problem nicht. Da würde ich bei KISS
> bleiben.

Welches Problem bleibt denn noch bestehen wenn man mit Zertifikaten 
arbeitet?

Machen übrigens auch BlueRay Player - die sperrlisten werden über 
aktuelle Disk verteilt. Also es geht auch alles Offline.

von Progger (Gast)


Lesenswert?

Peter II schrieb:
> und wie willst du einem Gerät Daten schicken wenn du den Schlüssel nicht
> kennst?

Ihm den Schlüssel vorher "sagen"?

> Welches Problem bleibt denn noch bestehen wenn man mit Zertifikaten
> arbeitet?

Ob Zertifikate oder Schlüssel ist in diesem Fall egal. Anderer Name für 
die selbe Sache. Zertifikate können halt mehr und sind daher potentiell 
komplexer.

> Machen übrigens auch BlueRay Player - die sperrlisten werden über
> aktuelle Disk verteilt. Also es geht auch alles Offline.

Ja, da hat auch jeder Hersteller seinen eigenen Schlüssel. So wie auch 
von mir vorgeschlagen.

von hilfe ein wahnsinniger (Gast)


Lesenswert?

Man sollte sich den Prozess nochmals durchgehen lassen. Ein den 
Controller anfragendes Geraet muss sich also gegenuber dem Controller 
authentifizieren.
Er muss dem controller etwas erzaehlen, sodass er vom Controller als 
glaubwuerdig erkannt wird. Kann dieser Prozess abgehoert werden? Kann 
der Prozess kompromitiert werden. Dann muss man eben noch eine Ebene 
drueber legen. Es muss fuer das Ganze ja nicht eine volle 
Kryptoapplikation werden.

von Andy P. (bakaroo)


Lesenswert?

zppp schrieb:
> Es handelt sich dabei um System die einer Zulassung durch eine
> Bundesbehörde benötigen. Mehr kann ich dazu leider nicht sagen
> weil das alles vertraulich ist.

Also meiner (wenigen) Erfahrung mit deutschen Behörden nach waren die 
Hürden nach Ausschreibung lächerlich niedrig, sodaß unser entwickeltes 
System mal als als "Kanonen auf Spatzen schießen" abgetan wurde. (Nein, 
es ging um mehr als um die Stufe 'vertraulich').
Ich denke, von der Sicht her hast du es eher Bedenken wegen des Fixen 
Schlüssels in Hardware zu tun.
Denk dir einen zyklusmäßigen individuellen KeyExchange aus und alles 
wird gut.

von Nosnibor (Gast)


Lesenswert?

Mit ein paar Einschränkungen geht das mit symmetrischen Algorithmen 
(z.B. AES):
Bei der ersten Inbetriebnahme verteilt die Steuerung langlebige 
Schlüssel an die Geräte. Damit sind Gerät und Steuerung durch ein 
gemeinsames Geheimnis verbunden. Im Betrieb erzeugt die Steuerung 
regelmäßig kurzlebige Schlüssel (oft "Sitzungsschlüssel" genannt) und 
schickt diese, verschlüsselt mit dem jeweiligen gemeinsamen Geheimnis 
als Schlüssel, an die Geräte. Die Daten werden dann mit dem aktuellen 
Sitzungsschlüssel verschlüsselt. Damit hat die Steuerung bei korrekt 
empfangenen Daten die Gewissheit, daß die Daten vom richtigen Absender 
kommen und aktuell sind (jedenfalls nicht älter als der letzte 
Sitzungsschlüsselwechsel).

Dazu ist es allerdings nötig, daß niemand die Kommunikation während der 
Erstinbetriebenahme abhört. Kann ja sein, daß man das sicherstellen kann 
(Montage und Test beim Hersteller); wenn nicht, braucht's eben "höhere" 
Mathematik (zu hoch für z.B. AVR):

Diffie-Hellmann ist schon genannt worden. Ist auch ganz praktisch, um 
auf Anforderung ("Wartungstaste" bei Inbetriebnahme oder nach Austausch 
eines Gerätes) ein gemeinsames Geheimnis zu etablieren, allerdings ist 
Schutz gegen man-in-the-middle nötig, z.B. könnten Steuerung und Gerät 
eine Prüfsumme oder einen Hash des Geheimnisses anzeigen, und der 
Monteur muß eben vergleichen, ob die übereinstimmen.

Wenn man es noch bequemer haben will (oder kein Display an jedem Gerät 
hat), sind asymmetrische Verfahren nötig. Jedes Gerät hat ein 
Schlüsselpaar und teilt der Steuerung seinen öffentlichen Schlüssel mit, 
damit die Steuerung ihm damit verschlüsselte Nachrichten schicken kann, 
die z.B. den Sitzungsschlüssel enthalten (oder ein gemeinsames 
Geheimnis, wenn die Steuerung keine Lust hat, alle Nase lang 
asymmetrische Algorithmen zu rechnen).
Bleibt die Frage, woran die Steuerung erkennt, daß der öffentliche 
Schlüssel, den ein Kommunikationspartner vorlegt, echt ist (d.h. zu 
einem berechtigten Kommunikationspartner gehört). Dazu nimmt man 
Zertifikate. Ein Zertifikat ist ein Datensatz aus einem öffentlichen 
Schlüssel und irgendeiner Identitätsangabe (z.B. Seriennummer), sowie 
optional noch zusätzlichen Daten (die wir hier nicht brauchen), das 
ganze unterschrieben mit dem secret key einer sogenannten "certificate 
authority" (CA). Wer den öffentlichen Schlüssel der CA kennt, kann also 
ein Zertifikat prüfen, und weiß dann, daß diese CA einst der Meinung 
war, daß ein bestimmter öffentlicher Schlüssel zu einer bestimmten 
Seriennummer gehört.
Zweckmäßigerweise betreibt jetzt jeder Hersteller eine CA, damit er 
jedem Gerät zu seiner Seriennummer auch ein Schlüsselpaar und ein 
Zertifikat mitgeben kann.
Die Steuerung muß also den öffentlichen Schlüssel jeder Hersteller-CA 
kennen, dann können die Geräte jeweils zu ihrem öffentlichen Schlüssel 
auch das Zertifikat vorlegen, damit die Steuerung ihnen glauben kann. 
Und: jemand muß der Steuerung die Seriennummern der angeschlossenen 
Geräte verraten (whitelist). Alternativ kann die Steuerung natürlich 
auch einfach jedes Gerät mit Zertifikat akzeptieren, es sei denn, die 
Seriennummer ist ausdrücklich verboten (blacklist).

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.