DUKPT: in che modo il ricevitore verifica il contatore delle transazioni?

9

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)

    
posta gerneGross 05.07.2011 - 16:04
fonte

3 risposte

5

Probabilmente sono un po 'in ritardo con la mia risposta, ma la tua domanda iniziale è molto chiara per me e so esattamente cosa intendi.

Il KSN viene normalmente memorizzato dall'host ricevente per tenere traccia del contatore delle transazioni. Pertanto, per ogni transazione, l'host verifica che il dispositivo di invio non stia utilizzando una chiave utilizzata in precedenza verificando che il contatore delle transazioni in KSN sia superiore rispetto a quando la transazione precedente è stata gestita dall'host. Tuttavia, per alcuni tipi di transazione, l'host potrebbe avere la logica che accetta lo stesso set di chiavi DUKPT da utilizzare per più di una coppia richiesta / risposta. Per esempio. per inversioni tecniche.

Brg

Arne

    
risposta data 16.11.2012 - 13:03
fonte
4

Non sono sicuro di aver compreso correttamente la tua domanda, quindi prima lascia che ti spieghi la mia comprensione della tua domanda e poi la risposta ad essa.

Stai essenzialmente chiedendo come sia possibile che la casella HSM ricevente non mantenga nessuno stato, ma sia in grado di verificare che il PED (Pin Entry Device) stia utilizzando la chiave sequenza corretta derivata dal BDK.

Se questo è corretto, la risposta è la seguente: Il BDK viene utilizzato per generare chiavi monouso che sono le chiavi effettive utilizzate per la crittografia. Il contatore viene inviato come parte del KSN in modo che l'HSM ricevente possa calcolare la chiave corretta utilizzata in base al contatore inviato dalla PED e la prima chiave (che è memorizzata nell'HSM e derivata dal BDK). Puoi guardarlo come una catena.

Considera la funzione s (chiave) che ti dà il prossimo (successore) chiave da usare dopo il tasto .

Entrambe le parti conoscono la prima chiave k1 Ora il PED invia il contatore delle transazioni t all'HSM. e hsm può calcolare la chiave utilizzata applicando in modo ricorsivo la s funzione t volte con k1 come input iniziale. A seconda dell'implementazione, la chiave può essere memorizzata per evitare l'esecuzione di calcoli superflui.

    
risposta data 05.07.2011 - 19:35
fonte
1

Normalmente un record viene tenuto in una tabella dati sul database dell'host dell'applicazione per ogni PED e nel record viene impostato un campo per tenere traccia dell'ultimo contatore ricevuto dal PED, se il successivo valore del contatore è inferiore al valore di ultimo valore del contatore nel database, quindi è possibile intraprendere azioni appropriate. Il contatore delle transazioni DUKPT è chiaro, quindi HSM non ha bisogno di verificarlo. Solo l'applicazione host richiede una logica per verificare il contatore delle transazioni

    
risposta data 01.07.2013 - 09:03
fonte

Leggi altre domande sui tag