Ciao Roberto,

purtroppo in questo periodo non ho proprio tempo di approfondire la questione.

Solo una nota:

On October 30, 2021 6:25:27 AM UTC, Roberto Resoli wrote:
> Notare che oltre alla chiave macedone (MK) altre chiavi sono state rinnovate
> in questi ultimi giorni ...

Perché sostituirle se non sono state compromesse?

Vi propongo una ipotesi: le applicazioni di firma erano buggate e selezionavano 
k [1]
in modo predicibile o peggio costante.

k deve essere impredicibile e diverso ad ogni firma, perché da due firme 
generate 
con lo stesso k è possibile calcolare la chiave privata.

Immaginiamo un attaccante che osservi come lo stesso json produce la stessa 
firma
tutte le volte: a quel punto sa che c'è un errore nell'implementazione ed è 
probabile
che sia proprio relativo a k.

Le applicazioni di firma esposte poi, erano soggette a timing attacks sempre 
relative a k.

Ad esempio, si potrebbe far firmare lo stesso JSON migliaia volte, misurando il 
tempo 
della risposta e clusterizzando i risultati ottenuti per tale tempo, ottenendo 
una serie di firme con una probabilità più elevata di condividere lo stesso k.
(Un attacco che non dovrebbe passare inosservato a posteriori analizzando i log,
in particolare perché, dovendo ridurre il rumore, gli attaccanti sceglierebbero 
orari di basso carico).

Naturalmente sono solo ipotesi.

Non sono però ipotesi del tutto teoriche o da "armageddon crittografico": 
è già successo in passato [2].


E d'altro canto, perché sostituire le chiavi, in un momento in cui la 
credibilità del sistema 
è in discussione se non si hanno concrete ragioni per ritenerle compromesse?


Giacomo

[1] 
https://en.wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm#Signature_generation_algorithm

[2] 
https://www.theregister.co.uk/2013/08/12/android_bug_batters_bitcoin_wallets/
_______________________________________________
nexa mailing list
nexa@server-nexa.polito.it
https://server-nexa.polito.it/cgi-bin/mailman/listinfo/nexa

Reply via email to