Zertifikate im SDRAM verschlüsseln / sicher aufbewahren

Gast #7209611
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
#7209625
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.
Gast #7209675
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?
#7209687
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.
Gast #7209860
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.
Gast #7213486
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.
#7213523
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
#7213525
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren