Implicazioni sulla sicurezza di fornire un oracolo di crittografia / decrittografia

2

Devo fornire un servizio che funzioni come un blackbox di crittografia / decrittografia simmetrico:

  • la casella ottiene una chiave segreta k
  • utenti inviano dati d e ottengono testo cifrato c = Encrypt(d,k)
  • utenti inviano testo cifrato c e ottieni dati d = Decrypt(c,k)
  • la casella deve crittografare / decodificare solo da / a un gruppo autorizzato di utenti
  • gli utenti non dovrebbero mai ottenere la chiave k

Sto avendo un piccolo problema nell'individuare quali potrebbero essere buchi nel mio servizio. Per quanto ho capito, ho bisogno di crittografia che resista ai seguenti attacchi:

  • Scelto l'attacco al testo cifrato
  • Scelto attacco in chiaro
  • Conoscenza dell'attacco del testo normale

Da un punto di vista tecnico, la crittografia / decrittografia viene eseguita usando AES, che si ritiene resista al suddetto attacco. Con un HMAC, dovrei poter rifiutare richieste provenienti da utenti non autorizzati.

È vero che;

  • un utente non sarà in grado di trovare la chiave per il fatto che è in grado di crittografare / decodificare qualsiasi quantità di dati (poiché AES è strong)
  • user1 può crittografare i dati, user2 può ottenerli (rubare), e ora user2 può decifrare i dati di user1 usando l'oracolo
  • dato che fornisco un oracolo, ho poche preoccupazioni sugli attacchi di sincronizzazione e sugli attacchi di riempimento

Quali sono i rischi, gli attacchi e le lacune che mi mancano in questo schema?

    
posta calve 24.06.2015 - 12:17
fonte

0 risposte

Leggi altre domande sui tag