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
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?
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
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.
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
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
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
> > 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 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.
Danke für die Antwort. Wo finde ich den Beispielcode mit Ascii-Interface?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.