Ho una serie di domande relative ai numeri di serie chiave (KSN) in DUKPT :
- I KSN hanno una lunghezza di 8-10 byte. Le implementazioni precedenti sono 8 byte mentre quelle più recenti sono 10 byte. Rischio di essere incompatibile con qualche vecchio sistema se creo KSN lunghi 10 byte?
- I KSN hanno 3 componenti: un contatore di transazioni a 21 bit e i bit rimanenti sono per l'ID set di chiavi e l'ID TRSM (Tamper Resistant Security Module). Per un KSN a 8 byte la convenzione tipica è di 24 bit per l'ID del set di chiavi e 19 bit per l'ID TRSM. Ciò significa circa 16 milioni di chiavi di derivazione base (BDK) e dispositivi 500K. Per me questa allocazione ha pro e contro. I contro sono che non avrò mai BDK 16M e se l'azienda ha successo è abbastanza possibile avere > Dispositivi 500K. Il vantaggio è che ci costringe a non utilizzare lo stesso BDK su più di 500K dispositivi che limita l'esposizione di un BDK che viene compromesso. Leggo che c'è flessibilità nel numero di bit assegnati all'ID del set di chiavi rispetto all'ID TRSM. Quindi sono tentato di scambiare l'allocazione in modo tale da poter avere fino a 500K BDK e dispositivi 16M. Ma vedo anche molte implementazioni open source di DUKPT che presuppongono una divisione di 24-19-21 bit. Queste implementazioni si interromperanno se non seguirò la convenzione. Consiglieresti di limitarmi alla convenzione?
- Esiste un modo standard per impostare gli ID del set di chiavi o ogni entità proprietaria di un BDK presenta una sua convenzione? Posso assegnare il set di chiavi ID = 1 al mio primissimo BDK e poi incrementarlo di 1 per ogni nuovo BDK? O questa strategia è troppo ingenua?
- C'è un modo standard per impostare l'ID TRSM? Posso assegnare TRSM ID = 1 per il primissimo dispositivo iniettato usando un nuovo BDK e quindi incrementarlo di 1 per ogni nuovo BDK?