Ho una domanda riguardante questo documento:
ANSI X9.24, Servizi finanziari retail Symmetric Key Management Parte 1: Utilizzo di tecniche simmetriche
Nel capitolo "Metodo: DUKPT (Chiave unica derivata per transazione)", pagina 41, dice che il ricevitore dovrebbe verificare che il contatore delle transazioni del mittente nello SMID sia aumentato.
Altre fonti dicono che gli HSM (il ricevitore) non memorizzano nessuno stato a parte le chiavi di derivazione di base: le chiavi di derivazione di base possono essere cercate dall'identificatore del set di chiavi (contenuto nello SMID). Quindi il ricevitore (HSM) è in grado di decifrare senza mantenere nessuno stato del mittente. Lo capisco molto bene.
Ma quando si verifica il contatore delle transazioni non riesco a immaginare altro modo che tenere traccia del contatore di transazioni per numero di serie chiave (KSN) dell'originatore (una tabella o una mappa) - cioè c'è un certo stato nell'HSM mantenuto , ma non dovrebbe essere mantenuto alcun stato.
Sebbene il documento contenga pseudo-codice che spiega l'implementazione dei metodi descritti nel documento, non vi è alcun suggerimento su come viene verificato il contatore delle transazioni.
In che modo viene effettivamente implementato o qual è l'idea di base su come raggiungere questo obiettivo senza tenere traccia dello stato?
(questa domanda è stata pubblicata su StackOverflow, non ha ricevuto risposta, ma è consigliabile che venga richiesto qui)