Genera codici monouso sicuri contenenti informazioni

2

Devo creare un sistema che permetta a un utente di inserire i codici per addebitare un assegno. Incorporato in questo codice dovrebbe essere l'importo per addebitare l'indennità.

L'utente pagherebbe un codice che verrebbe quindi generato su un server e quindi presentato all'utente. Quindi l'utente inserirà il codice in un computer incorporato senza connessione a Internet. Il computer deve decrittografare il codice per assicurarsi che il codice sia valido e anche ottenere il permesso dal codice.

Per renderlo sicuro, ho pensato di farlo:

  • Avere un contatore sul server e sul client. Il contatore aumenta sul server quando l'utente paga per un nuovo codice e aumenta anche quando l'utente digita un codice valido. Il contatore sarebbe contenuto nel carico utile del codice. Questo per assicurarsi che l'utente non possa inserire lo stesso codice più volte.
  • Indennità di negozio, contatore, ID cliente nel payload, quindi crittografarlo con RSA.
  • Ogni cliente ha la propria chiave che viene utilizzata per crittografare il payload. La chiave sarebbe generata da un numero casuale fornito dal server e inserito dal tecnico che installa il dispositivo. In questo modo, il tecnico non deve inserire la chiave intera (che può essere lunga e quindi soggetta a errori)
  • Quando l'utente inserisce una chiave, viene verificata la validità decifrandola per prima, quindi confrontando l'ID cliente del carico utile con l'ID configurato e confrontando la variabile contatore del carico utile con il contatore interno. Se tali controlli vengono superati, la franchigia viene aumentata dell'importo specificato nel carico utile.

Prova a pensare a modi per permetterti di rompere questo sistema con l'obiettivo di aggiungere quote senza aver pagato un codice (quindi, generare un codice valido da solo).

L'accesso fisico al dispositivo (come il lampeggio) non è un problema.

    
posta narrowtux 25.03.2015 - 14:09
fonte

0 risposte

Leggi altre domande sui tag