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