Rosario Russo ha scritto:
Ciao a tutti,
vi propongo un quesito, se vogliamo, filosofico. Ammettiamo che debba criptare un dato in due passate (per ragioni che non vi sto a spiegare), con lo stesso algoritmo a chiavi simmetriche (AES-256).

La prima volta, cifro il dato con la chiave1, la seconda volta con la chiave2. Diciamo che la chiave2 viene consegnata all'utente finale, mentre il dato bi-crittografato viene pubblicato su Internet assieme alla chiave1 su un server web.

Domanda: trovandovi a pubblicare su web una chiave di decifratura assieme ad un file che e' stato comunque cifrato con quella stessa chiave, voi crittografereste pure la chiave1 (magari con la stessa chiave2) oppure la lascereste in chiaro (d'altra parte, anche se qualcuno la recupera non saprebbe come usarla, poiche' non e' in possesso della chiave2)?

Naturalmente, solo l'utente che e' in possesso della chiave2 potrebbe applicarla per decifrare il layer piu' esterno di cifratura e usare la chiave1 per l'ultimo layer.

Accetto suggerimenti anche con spiegazioni matematiche!

Secondo me è poco elegante usare due volte lo stesso schema simmetrico con due chiavi differenti.
Non mi convince per due ragioni:
1) Pubblichi C_2=AES_K2(AES_K1(M)) e K1. Se sono un avversario che è in grado di trovare C_1=AES_K2(M) allora usando K1 posso accedere al M 2)Pubblichi C_2=AES_K2(AES_K1(M)) e CK=AES_K2(K1). Se riesco a rompere lo schema simmetrico ottenendo K1 da CK allora sono in anche in grado di accedere a C_1=AES_K2(M) e visto che conosco K1 posso accedere al messaggio in chiaro.

Secondo me, tanto vale pubblicare il messaggio C=AES_K1(M) mantenendo segreta K1.

g
________________________________________________________
http://www.sikurezza.org - Italian Security Mailing List

Rispondere a