Forum: Mikrocontroller und Digitale Elektronik Secure Chip von Atmel ATSHA204- Verständliche Frage


von derGast (Gast)


Lesenswert?

Hallo Zusammen,

ich möchte den library- Code vom Atmel für ATSHA204 auf Mikrocontroller 
implementieren. Aber so richtig verstanden habe ich nicht, wie die 
Daten-Flow aussieht, was wird gemacht.... Also nach dem Konzept habe ich 
gegoogelt, aber nicht gefunden.

Kann jemand bisschen Licht bringen?

Vielen Dank im Voraus!

Lg Tomy

von Maxx (Gast)


Lesenswert?

Was genau willst du denn da wissen?

Die Befehle an sich kannst du recht einfach implementieren, die 
formatiert dir auch das eval Tool von Atmel.

Danach brauchst du dann aber ein wenig Ahnung von SHA, HMAC etc und sehr 
genaues Lesen des DB. Nicht alle Schlüssel-Slots können alle Aufgaben 
erledigen. Und insbesondere kannst du die internen Zustände (i.e. den 
RAM) nicht auslesen (auch wenn dasa Config-Tool es so aussehen lässt) 
sondern kannst den nur nachrechnen, wenn du die Schlüssel kennst.

Was ist denn die Aufgabenstellung?

von Andreas (Gast)


Lesenswert?

Für diesen Baustein gibt es viele Konzepte, eine Schlüssellösung ist es 
nicht. Kommt drauf an was du überhaupt machen willst, wir verwenden den 
Chip unter anderem für:
- Kontrolle unserer Subcons in Asien
- Zur Authentifizierung originaler von uns produzierten Produkte
- Check beim Firmware update
- Zur Generierung von Session keys um damit jede neue Nachricht die im 
Mesh Network versendet werden soll mit einem neuen Key zu verschlüsseln
- Um die Betriebsstunden zu zählen (hat einen Rolling Counter der nur 
erhöht werden kann, aber nie gelöscht werden kann). Jedes Einschalten 
wird um eins erhöht. Das brauchen wir auch um ggf. uns selbst zu 
schützen, z.b. unser verwendeter Spezialschalter soll laut Hersteller 
über 10000Schaltvorgänge aushalten, dank des Rolling counters können wir 
im Garantiefall nachweisen ob unser Kunde zu oft geschaltet hat, oder 
einfach der Schalter schon nach wenigen Schaltvorgängen seinen Geist 
aufgab
- Um unseren Code vor einfachen 1:1 Kopien zu schützen

Wie man die oben genannten Fälle implementiert ist es jedem einzelnen 
Überlassen

von Eduard I. (eddik)


Lesenswert?

Hallo Zusammen,

ich verwende auch den ATSHA204 von Atmel und habe Probleme bei 
Ansteuerung von Chip. Und zwar: ich sende ein Wake up - Kommando um den 
Chip aufzuwecken und bekomme auch die richtige Antwort (in hex): 04 11 
33 43

Anschließend sende ich ein READ - Kommando und der Chip reagiert gar 
nicht mehr. Mit dem READ - Kommando möchte ich die ersten 4 Ziffern der 
Seriennummer auslesen. Der Befehl für das READ - Kommand sieht bei mir 
wie folgt aus (hex): 07 02 00 00 00 1e 2d

Nachdem ich das READ - Kommando geschickt habe, reagiert der Chip gar 
nicht mehr und ich bekommen keine Antwort von ATSHA204.

Warum reagiert der Chip nicht nach einem READ - Kommando, obwohl er die 
richtigen Daten nach einem Wake Up - Kommando schickt?

Ich wäre für jede Hilfestellung sehr dankbar.

von spess53 (Gast)


Lesenswert?

Hi

Wenn ich ins Datenblatt sehe, fällt mir ein Wert

Wake High Delay to Data Comm.   min.2.5 ms   SDA should be Stable high
                                             for this entire duration.

auf. Beachtet?

MfG Spess

von Eduard I. (eddik)


Lesenswert?

Hallo spess53,

beim Wake Up - Kommando ist Low Puls 66,4 µs und anschließend kommt ein 
High Puls von 3 ms. Danach wird ein Transmit - Flag (0x88) gesendet.

Ich vermute, dass das Wake Up Kommando schon richtig, da ich eine 
richtige Antwort auf das Kommando bekommen.

Mir fehlt nicht ein warum ATSHA204 auf das READ - Kommando nicht 
reagiert, was unmittelbar nach Wake Up - Kommando kommt.

Mfg

Eduard

von Eduard I. (eddik)


Lesenswert?

Hallo zusammen,

ich habe mittlerweile herausgefunden, warum ich keine Antwort auf das 
READ-Kommando erhalten habe.

FALSCHE Vorgehensweise:
   1. Schicke Command-Flag
   2. Schicke READ-Kommando
   3. Schicke Transmit-Flag, direkt nach dem READ-Block

RICHTIGE Vorgehensweise:
   1.Schicke Command-Flag
   2.Schicke READ-Kommando
   3.Warte die Zeit ab, die ein READ-Kommando braucht, bis es fertig 
ausgeführt ist. Die Zeiten sind im Datenblatt (unter 8.6.2 Command 
Opcodes, Short Descriptions, and Execution Times) angegeben
   4.Schicke Transmit-Flag

Die RICHTIGE Vorgehensweise bezieht sich auf alle Kommandos!

Bei weiteren Fragen - einfach Fragen.

Mfg
Eduard

von Manuel N. (manuelambaum)


Lesenswert?

>
> Bei weiteren Fragen - einfach Fragen.
>

Guten Tag zusammen

Ich möchte den Cryptochip mit meinem Raspberry Pi verwenden. Ich habe es 
hingekriegt, den Chip aus dem Sleep-Mode aufzuwecken, doch weiter kam 
ich bisher nicht. Ich habe folgende Anleitung im Internet gefunden, nach 
welcher ich mich orientieren kann: 
https://www.insidegadgets.com/2017/04/21/alarm-system-v3-part-3-using-the-atmel-cryptoauthentication-atsha204a/

Leider verstehe ich trotz allem nicht ganz, wie ich z.B. 
Seriennummer,etc. auslesen kann. Man muss ja zuerst konkret zum Chip 
schreiben, was man machen will und anschliessen ja aus dem Chip das 
gewollte auslesen oder?

Falls jemand einen verständlichen Beispielcode hat, wäre ich sehr 
dankbar. Ich möchte mit meinem Chip mittels SMBUS kommunizieren, 
weswegen ein SMBUS-Beispiel sehr hilfreich wäre.

Mir gehts vor allem konkret ums prinzip der Ansteuerung, da ich dort 
meine Mühe habe.

Danke

von PittyJ (Gast)


Lesenswert?

Von Atmel (oder Nachfolger) gibt es einen Beispielcode mit 
Ascii-Interface, den man auch auf dem Raspi kompilieren lassen kann. 
Dann analysiert man, was da passiert.
Man sollte auch eine gewisse Erfahrung mit Crypto-Dingen haben, sonst 
versteht man die Begriffe schon gar nicht.
I2C muss man evtl anpassen.

Das Ding ist sehr komplex. Ich habe ein paar Wochen dran gesessen, das 
ist nichts für Einsteiger.

Vielleicht erst einmal mit I2C etwas einfaches ansteuern, damit man 
weiss wie I2C geht.

von Manuel N. (manuelambaum)


Lesenswert?

Danke für die Antwort.

Wo finde ich den Beispielcode mit Ascii-Interface?

von PittyJ (Gast)


Lesenswert?

Nannte sich
SAMD21_ATSHA204a_advanced demo

Keine Ahnung mehr, wo ich das damals gefunden hatte.

Nur mit dem Datenblatt selber kam man kaum weiter.

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.