Línia 14: Línia 14:
|-
|-
|0x09<br/>0x0a<br/>0x0b<br/>0x0c<br/>0x0d||nº de serie de la clau codificat en ASCII<br/>2 caracters per cel·la en BigEndian.<br/>Ex:4628L00124||0x3436<br/>0x3238<br/>0x4c30<br/>0x3031<br/>0x3432
|0x09<br/>0x0a<br/>0x0b<br/>0x0c<br/>0x0d||nº de serie de la clau codificat en ASCII<br/>2 caracters per cel·la en BigEndian.<br/>Ex:4628L00124||0x3436<br/>0x3238<br/>0x4c30<br/>0x3031<br/>0x3432
|-
0x0e<br/>.<br/>.<br/>0x3f||DISPONIBLE||-
|-
|}
=== Procediment per validar la clau ===
Per poder treballar amb la clau primer s'ha de inicialitzar la lliberia amb els següents passos:
<pre>
RNBOsproFormatPacket(packet, SPRO_APIPACKET_SIZE); // Inicialitzem el buffer que usarà la llibreria per comunicar-se amb la clau
RNBOsproInitialize(packet);                        // Inicialitzem la llibreria
</pre>
Un cop inicialitzada, s'ha de buscar la clau amb les funcions RNBOsproFindFirstUnit(packet, dev_id) per trobar la primera clau, i RNBOsproFindNextUnit(packet) per passar a la següent clau.
Per validar la clau es procedeix de la següent manera:
#llegir la posició 0x08 (amb RNBOsproRead) i:
##si el valor llegit és 0 -> Error la demo s'ha acabat
##si el valor és diferent de 0xffff, decrementar-lo usant RNBOsproDecrement
#llegir les posicions 0x09 a 0x0d per obtenir el nº de serie de la clau
#verificar que clau_registre ^ password_secret == nº de serie de la clau Exemple:
{|class=wikitable
!Nom
|colspan=10
!Hex
|-
|clau registre||64||59||45||5d||3e||10||64||5e||14||66
|-
|-
|}
|}

Revisió del 10:40, 30 jul 2012

Protecció Actual (Sentinel)

S'utilitza una clau USB Sentinel SuperPro. La clau conté 64 cel·les, cada cel·la amagatzema 16bits. S'utilitzen de la següent manera:

0x0e
.
.
0x3f||DISPONIBLE||-
Cel·la(Hex) Dades Exemple
0x00 ? 0x00d9
0x01 ? 0xd4e9
0x02
.
.
0x07
NO USAT -
0x08 nº de execucions restants de la demo
Si és la versió completa conté 0xffff
0xffff
0x09
0x0a
0x0b
0x0c
0x0d
nº de serie de la clau codificat en ASCII
2 caracters per cel·la en BigEndian.
Ex:4628L00124
0x3436
0x3238
0x4c30
0x3031
0x3432

Procediment per validar la clau

Per poder treballar amb la clau primer s'ha de inicialitzar la lliberia amb els següents passos:

RNBOsproFormatPacket(packet, SPRO_APIPACKET_SIZE); // Inicialitzem el buffer que usarà la llibreria per comunicar-se amb la clau
RNBOsproInitialize(packet);                        // Inicialitzem la llibreria

Un cop inicialitzada, s'ha de buscar la clau amb les funcions RNBOsproFindFirstUnit(packet, dev_id) per trobar la primera clau, i RNBOsproFindNextUnit(packet) per passar a la següent clau.

Per validar la clau es procedeix de la següent manera:

  1. llegir la posició 0x08 (amb RNBOsproRead) i:
    1. si el valor llegit és 0 -> Error la demo s'ha acabat
    2. si el valor és diferent de 0xffff, decrementar-lo usant RNBOsproDecrement
  2. llegir les posicions 0x09 a 0x0d per obtenir el nº de serie de la clau
  3. verificar que clau_registre ^ password_secret == nº de serie de la clau Exemple:
Nom colspan=10 Hex
clau registre 64 59 45 5d 3e 10 64 5e 14 66

Alternatives

Opció Descripció Requeriments HW Pros Contres
A Usar nº de serie + dades en la EEPROM del FT2232H
  • Cap
  • Barat
  • No HW extra
  • Fàcil de copiar
  • Fàcil de modificar
B FT2232H + sentinel
C FT2232H + PIC18F88 emulant EEPROM
D