Forum: Mikrocontroller und Digitale Elektronik LPC55S28 USERKEK via blhost


von Unbekannt (matsim)


Lesenswert?

Hallo!

Kennt sich hier jemand zufällig mit dem blhost tool von NXP aus und kann 
mir bei folgender Frage helfen:

Ich versuche den USERKEK mittels blhost im CMPA Flash Bereich zu setzen:

blhost -p comX -- key-provisioning enroll
blhost -p comX -- key-provisioning set_user_key 11 userkey.bin
blhost -p comX -- key-provisioning write_key_nonvolatile 0

Ich versuche einen AES-128 Key in den USERKEK Bereich des CMPA Bereichs 
zu speichern. Laut der blhost doku sollte das file userkey.bin den Key 
als plain text enthalten. Z.B.:

Type userkey.bin
ABCDEFABCDEFABCDEFABCDEFABCDEFAB

Da es sich um plain text handelt, ist die Datei allerdings 32Byte groß 
(zwei hex Zeichen pro Byte). Wenn ich den USERKEK so konfiguriere, 
bekomme ich beim Ver- und Entschlüsseln keine korrekten Ergebnisse. Ich 
vermute also, dass userkey.bin so also wohl doch nicht im richtigen 
Format ist.

Ich habe auch schon den Key als binary file geladen, das hat aber auch 
nicht funktioniert.

Ich hoffe mir kann jemand helfen!

Gruß MatSim

von Unbekannt (matsim)


Lesenswert?

Push :-)

von Dieter S. (ds1)


Lesenswert?

Warum schaust Du nicht in den Source Code von blhost? Außerdem kann man 
wohl Daten teilweise auch als HEX Zahlen per Parameter angeben anstelle 
sie aus einer Datei zu lesen.

von Unbekannt (matsim)


Lesenswert?

Danke für den Hinweis. Das blhost open source ist, hatte ich nicht auf 
dem Schirm.

Das Problem konnte ich jetzt allerdings auch lösen. In der SPSDK gibt es 
unter utils ein convert package mit dem man keys von hex plain text in 
binarys umwandeln kann:
nxpimage utils convert hex2bin -i userkeyPlain.txt -r userkeyBin.bin

Die option -r muss dabei gesetzt sein, damit die Bytes ins richtige 
Format gedreht werden.

In der Doku zu blhost und im user guide des LPC55S28 wird aber immer nur 
von plain text binarys gesprochen, was ich irreführend finde.

von Dieter S. (ds1)


Lesenswert?

Unbekannt schrieb:
>
> Das Problem konnte ich jetzt allerdings auch lösen. In der SPSDK gibt es
> unter utils ein convert package mit dem man keys von hex plain text in
> binarys umwandeln kann:
> nxpimage utils convert hex2bin -i userkeyPlain.txt -r userkeyBin.bin
>
> Die option -r muss dabei gesetzt sein, damit die Bytes ins richtige
> Format gedreht werden.

Das Tool wandelt doch lediglich HEX nach BIN ineinander um, bei "-r" 
wird die Reihenfolge der Bytes umgedreht.

> In der Doku zu blhost und im user guide des LPC55S28 wird aber immer nur
> von plain text binarys gesprochen, was ich irreführend finde.

Ich denke dass sich "plain" darauf bezieht dass der Key nicht mit dem 
KEK verschlüsselt ist.

Ansonsten gibt es die Software zu AN12324, das sind einige Beispiele zu 
AES drinnen.

blhost hat außerdem die Option "-d", dann sieht man ganz genau was zum 
Bootloader geschickt wird.

von Unbekannt (matsim)


Lesenswert?

Dieter S. schrieb:
> Das Tool wandelt doch lediglich HEX nach BIN ineinander um, bei "-r"
> wird die Reihenfolge der Bytes umgedreht.

Ja genau, genau die Info dass die .bin Datein in diesem Format sein 
muss, fehlte mir.

Dieter S. schrieb:
> Ich denke dass sich "plain" darauf bezieht dass der Key nicht mit dem
> KEK verschlüsselt ist.

Stimmt, so hatte ich das plain bisher noch nicht interpretiert.

Dieter S. schrieb:
> Ansonsten gibt es die Software zu AN12324, das sind einige Beispiele zu
> AES drinnen.

Ich finde dort aber auch keine .bin keys oder sonstige Info.

von Dieter S. (ds1)


Lesenswert?

Unbekannt schrieb:
>
> Ja genau, genau die Info dass die .bin Datein in diesem Format sein
> muss, fehlte mir.

Kann das mit der umgedrehten Reihefolge damit zusammenhängen dass der 
AES Engine entsprechend konfiguriert ist? Mit MSW1ST_OUT, SWAPKEY, 
SWAPDAT und MSW1ST in CRYPTCFG gibt es da ja einige Möglichkeiten.

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.