Verschlüsseln Sie vertrauliche Daten im EEPROM

7

Angenommen, ich habe einen PIC- und einen EEPROM-Speicher-IC. Ich speichere vertrauliche Daten im EEPROM. Wenn ich die Daten verschlüsseln möchte, was ist ein guter Verschlüsselungsalgorithmus? Es sollte vom PIC ausgeführt werden, aber das hat Zeit dafür. Ich möchte also ~ 100 Bytes speichern und die Verschlüsselung sollte bei 40 MHz nicht länger als ~ 5 Sekunden dauern.


quelle
1
Verfügt Ihr PIC über einen Beschleuniger für die Verschlüsselung? Normalerweise lautet die Antwort hier AES, obwohl ich nicht weiß, wie schnell es laufen wird (sollte für diese Menge an Informationen jedoch viel weniger als 5 Sekunden betragen).
Gustavo Litovsky
1
Microchip bietet fertige Bibliotheken: microchip.com/stellent/…
Gustavo Litovsky
1
Beachten Sie, dass der Verschlüsselungs- / Entschlüsselungsschlüssel wahrscheinlich Teil des Programms ist und daher in Flash enthalten ist. Ich kenne PIC nicht, aber ich weiß, dass es ziemlich trivial ist, sowohl EEPROM als auch Flash von einem AVR zu lesen, es sei denn, es ist ordnungsgemäß durch seine Sicherungen geschützt. Das Verschlüsseln von EEPROM-Daten ist ohne ordnungsgemäßen Schutz der Schlüssel nutzlos.
Jippie
4
Für einen entschlossenen und technischen Angreifer ist es nicht besonders schwierig, die Schutzsicherungen zu umgehen und den PIC-Blitz trotzdem zu lesen. Ideen finden Sie in den Google-Ergebnissen für "Umgehen der Leseschutzsicherung des Mikrocontrollers".
Phil Frost
2
Wie @PhilFrost feststellt, wird jemand, der entschlossen ist, Schlüssel / Algorithmen von einem Gerät zu extrahieren, diese verwalten. Die Tatsache, dass Sie selbst kein Elektronenmikroskop haben, bedeutet nicht, dass niemand sonst Zugang zu einem hat. Gute Sicherheitsalgorithmen und -systeme sind offen (im Gegensatz zu Sicherheit durch Unbekanntheit), von vielen begutachtet ... und wahrscheinlich früher oder später defekt, und daher müssen Sie immer auf den nächsten Schritt vorbereitet sein (anderer Algorithmus / Hardware / ... ). Das einzige Geheimnis sollte der Schlüssel sein, nicht der Algorithmus. Es gibt viele Beispiele für Sicherheit, die durch Design gebrochen wurden, das Internet ist voll davon.
Jippie

Antworten:

7

Microchip bietet eine vorgefertigte Verschlüsselungsbibliothek . Normalerweise wird AES am häufigsten verwendet und ist verfügbar, und ich sehe keinen Grund, etwas anderes zu verwenden.

Aufgrund von Exportbeschränkungen müssen Sie sich direkt an diese wenden, um den Quellcode zu erhalten.

Gustavo Litovsky
quelle
Ich stimme hier zu, AES ist ziemlich einfach auf dem Chip zu machen und wäre meine Wahl, wenn ich Sicherheit wollte.
Kortuk
3

Ein viel weniger ressourcenintensiver Algorithmus als AES, speziell für eingebettete Anwendungen, ist XTEA . Auf der Wiki-Seite finden Sie den Quellcode und Sie finden Testvektoren, mit denen Sie Ihre Implementierung überprüfen können. Sie sollten auch XXTEA berücksichtigen.

Martin
quelle
2
Ich bin mir nicht sicher, ob ich damit einverstanden bin. AES ist tatsächlich sehr machbar und selbst bei kleinen Blockgrößen ziemlich sicher. XTEA hat allein auf der Wiki-Seite mehrere veröffentlichte Verschlüsselungsbrüche. Meines Wissens sind alle derartigen Angriffe auf AES Seitenkanalangriffe.
Kortuk