Schema di sicurezza che impedisce attacchi di messaggi duplicati

0

Sto usando uno schema di sicurezza personalizzato per verificare la comunicazione tra client e server.

Sia il client che il server hanno la stessa frase di hash

  1. Il cliente crea un messaggio , lo combina con la frase di hash e calcola SHA512 hash e invia entrambi messaggio e hash al server
  2. Il server riceve un messaggio , combinato con la frase di hash e calcola SHA512 hash , quindi verifica che hash sia uguale a quello inviato dal cliente

Questo schema funziona bene, ma consente all'uomo nel mezzo di annusare il messaggio e inviarlo di nuovo, ancora e ancora sul server.

Ora so come risolvere questo problema, ad esempio assegnando un ID univoco a ciascun messaggio e rifiutando i duplicati, ma questi ID univoco devono essere memorizzati da qualche parte ( database, sessione, ...)

C'è qualche altro approccio stateless che può risolvere questo problema?

    
posta Dusan 16.03.2015 - 15:35
fonte

2 risposte

1

Nonce è usato solo per questo

è un numero, eventualmente passato nell'intestazione del messaggio e può essere utilizzato solo una volta e le richieste successive con lo stesso numero vengono rifiutate dal servizio.

Per i dettagli su come viene determinato il valore, dai un'occhiata all'articolo.

    
risposta data 17.03.2015 - 02:08
fonte
0

Presumendo che la "frase di hash" sia esclusiva del client, la tua integrazione implica già un livello di stato. Non è molto più un salto per fornire al cliente token di richiesta unici. Il server può emettere token di sostituzione come parte della risposta per ogni richiesta.

I token di richiesta univoci possono essere / sostituire la "frase di hash" o semplicemente funzionare come identificatore / autorizzazione di richiesta aggiuntiva.

    
risposta data 16.03.2015 - 17:16
fonte

Leggi altre domande sui tag