Forum: Mikrocontroller und Digitale Elektronik Zertifikate im SDRAM verschlüsseln / sicher aufbewahren


von Marcel (Gast)


Lesenswert?

Tach zusammen,

ich frage mich welche Möglichkeiten es gibt Zertifikate und ähnliche 
geheime Schlüssel in einem uC oder externem Speicher abzulegen.

Speziell geht es um die Renesas Synergy Familie und um über QSPI 
angebundene Speicher.

Ich bin bei meiner Recherche auf TPM HW Bausteine und Intrinsic ID, also 
allgemeinen uncloneable functions gestoßen.

Was sind die Vor- und Nachteile beider Varianten und was gibt es noch 
für Verfahren dafür?
Was eignet sich besser bei kleinen und großen Stückzahlen?

Ich würde mich freuen, wenn mir jemand einen groben Überblick 
verschaffen könnte, dass ich einen Einstieg finde.

Ich freue mich auf einen konstruktiven Austausch.

LG
Marcel

von Εrnst B. (ernst)


Lesenswert?

Nur den Secret Key irgendwo sicher zu verwahren reicht nicht. Sobald der 
ausgelesen wird (um an die "Verwendungstelle" zu kommen) liest ein LA am 
SPI den einfach mit.
=> Das ist der Windows-Festplattenverschlüsselung mit TPM 1 - Chips zum 
Verhängnis geworden.

Den Key symmetrisch verschlüsselt zu speichern hilft nur, solange der 
Schlüssel dazu nicht irgendwo nebenan im ebenso einfach auszulesendem 
Flash-Chip ist.

Dagegen hilft: Key nur dort speichern, wo er auch verwendet wird, also 
Smart-Card, TPM2, Crypto-Coprozessor mit integriertem, auslesesicherem 
Flash, ...

Die Zertifikate selber musst du nicht sicher speichern, die rückt eine 
TLS-Verbindung eh freiwillig heraus.

von Marcel (Gast)


Lesenswert?

Da hast du einige wichtige Punkte angesprochen, dadurch wird das für 
mich nur noch komplexer.

Hättes du ein Beispiel wie man die nicht öffentlichen Secrets sicher 
verwahrt und wie man darauf am besten zugreift?

von Εrnst B. (ernst)


Lesenswert?

Marcel schrieb:
> Hättes du ein Beispiel wie man die nicht öffentlichen Secrets sicher
> verwahrt und wie man darauf am besten zugreift?

Schau dir an, wie das bei den Smartcards/Signaturkarten gelöst ist.
Grob: Sowohl der Schlüssel als auch eine CPU, die mit dem Schlüssel 
arbeitet, sind auf der Karte. Der Host kann die Karte anweisen, mit dem 
Schlüssel Operationen auszuführen, Ver-/Entschlüsseln, Signieren, etc.
Aber: Der Host kann den Schlüssel nicht auslesen, der verbleibt immer 
auf der Karte.
Abgesehen von Seitenkanalangriffen oder Bugs in der Karten-Firmware ist 
der Schlüssel damit sicher.

von Marcel (Gast)


Lesenswert?

Das geht dann also in Richtung TPM oder?

Wie kommen die Secrets da rein und wie werden sie zur im Ernstfall per 
update getauscht?

von Marcel (Gast)


Lesenswert?

Edit:
Wozu sind dann solche Intrinsic ID Mechanismen gedacht, wenn nicht zur 
sicheren Verwahrung?

von Ein Kommentar (Gast)


Lesenswert?

> wenn nicht zur sicheren Verwahrung?

Vermutlich bringt es dich weiter, wenn du dir z.B. die 
"challenge–response authentication" anschaust.

Gibt trickreiche Verfahren, wie diese Chips beweisen, sie kennen den 
geheimen Schlüssel, ohne den Schlüssel herauszugeben.

von Marcel (Gast)


Lesenswert?

Hallo, ich hatte den Thread leider nicht mehr gefunden, bis jetzt.

Ich möchte die Frage noch einmal anders stellen:

Diverse Smart-Home oder IoT Geräte nutzen ausschließlich einen ESP32 mit 
ansonsten passiven Bauteilen. Trotzdem sind diese an eine Cloud 
infrastruktur anbindbar und besitzen somit Zertifikate und Keys.

Wie kommen diese Keys in den ESP32 und wie, bzw mit welchen Keys werden 
die dort verschlüsselt aufbewahrt? Und wie werden diese Keys geschützt?

Meine antwort wäre unclonable function, aber das hat der ESP32 ja nicht.

von Frank K. (fchk)


Lesenswert?

Marcel schrieb:

> Diverse Smart-Home oder IoT Geräte nutzen ausschließlich einen ESP32 mit
> ansonsten passiven Bauteilen. Trotzdem sind diese an eine Cloud
> infrastruktur anbindbar und besitzen somit Zertifikate und Keys.
>
> Wie kommen diese Keys in den ESP32 und wie, bzw mit welchen Keys werden
> die dort verschlüsselt aufbewahrt? Und wie werden diese Keys geschützt?

Es muss ja alles im Flash liegen.
Also: Security by Obscurity. Verschleierung. Verstecken. Hoffen, dass 
niemand das findet.

Sicher geht anders.

fchk

von Εrnst B. (ernst)


Lesenswert?

Marcel schrieb:
> Diverse Smart-Home oder IoT Geräte nutzen ausschließlich einen ESP32 mit
> ansonsten passiven Bauteilen.
Ja.
> Trotzdem sind diese an eine Cloud
> infrastruktur anbindbar
Ja.
> und besitzen somit Zertifikate und Keys.
Nein.

Für eine Verbindung zu einem https-Server braucht der Client keinen Key.
Er könnte einen haben um sich gegenüber dem Server auszuweisen, aber 
dank "Internet Insecurity Suiten", transparenten Proxies in der Firewall 
u.Ä. ist das unüblich.

Der Server hat üblicherweise ein Zertifikat. Das kann der Client 
prüfen, muss es aber nicht. d.H. nichtmal dafür müsste ein CA-Storage am 
ESP vorhanden sein.

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.