[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [OT] cifratura (ERA: fascicolo sanitario e CIE)



On 15/02/22 14:57, Diego Zuccato wrote:
Il 11/02/2022 22:00, Davide Prina ha scritto:

Due, secondo me, lo stesso algoritmo con lunghezza di chiave diversa o algoritmi diversi o... potrebbero ottenere lo stesso cifrato a partire da testo in chiaro diverso.

*Di solito* (ma non necessariamente) l'operazione di cifratura è deterministica: dato [algoritmo,chiave,plaintext] viene sempre generato lo stesso cyphertext.

in realtà qui indicavo qualcosa di diverso, che secondo me potrebbe essere possibile. Prendo due algoritmi di cifratura diversi (o con chiavi diverse o...) su due testi diversi e il cifrato risultato è lo stesso.
Alg1 cifra Testo1 e ottiene Cifrato
Alg2 cifra Testo2 e ottiene Cifrato

Secondo me, se si considerano solo gli algoritmi di cifratura che hanno come risultato una lunghezza "fissa" pari al testo da cifrare e dato che il numero di algoritmi è in teoria infinito, mentre il numero di combinazioni possibili su una lunghezza del Testox a piacere è finito si avranno per forza delle collisioni.

* visto che chi deve cifrare o decifrare è di solito un utente qualsiasi con i suoi mezzi computazionali (normalmente tramite l'uso di una CPU) deve essere permesso di eseguire l'operazione in tempi accettabili. Se tutti avessero hardware "appropriato" non sarebbe un problema cifrare messaggi lunghi

No, questo no. Oramai anche un telefonino può eseguire decine (se non centinaia) di cifrature a chiave pubblica al secondo.

dipende dall'algoritmo usato, dalla lunghezza della chiave, ... se arrivi a cifrare tutto il traffico, secondo me, introduci una latenza tale che il tuo dispositivo diventa inusabile.

Il problema è che non necessariamente aumenti la sicurezza!
Esempio classico: cifri ("firmi") con RSA2048 un messaggio, *un carattere alla volta*.

naturalmente facendo così elimini del tutto la sicurezza che stai introducendo con la cifratura.
Se cifri tutto devi cifrare il flusso di dati o il file completo.
Quando scrivevo di cifrare messaggi corti intendevo cifrare l'hash al posto del messaggio completo.

* l'uso di una funzione hash permette di minimizzare le collisioni, soprattutto per messaggi "vicini" (o simili). Questo rende (o dovrebbe rendere) più complesso riuscire a manipolare una parte del messaggio facendo corrispondere la firma, anche se vengono scoperte falle nel sistema di cifratura

All'utente non interessano le collisioni :)

il problema è che l'utente (al cui gruppo appartengo anch'io), spesso non è consapevole di quello che sta facendo e se non ha interesse diretto, ha però un interesse indiretto, quando qualcuno di più esperto effettua un attacco e ha successo.

Il problema delle collisioni è che tutti i messaggi che entrano in collisione possono essere spacciati come autentici!

infatti.

* l'uso di una funzione hash permette di usare un messaggio breve su cui applicare la cifratura. Più il messaggio è lungo e più volte viene usata la stessa chiave di cifratura e maggiori sono le probabilità di un attaccante di individuare la "chiave" usata

Con algoritmi recenti questo non è un problema.

questa cosa non la conosco. Mi dai qualche esempio?

(è stato grazie a questa tecnica che sono riusciti a decifrare messaggi tedeschi nella seconda guerra mondiale, dove l'uso, inappropriato, della stessa "chiave" su messaggi anche lunghi ha permesso di identificare la "chiave" usata. Per messaggi corti, se non erro la maggior parte, invece anche ora stanno tentando di decifrarli con la tecnologia attuale, ma non ci riescono)
* ...
Beh, non proprio: http://practicalcryptography.com/cryptanalysis/breaking-machine-ciphers/cryptanalysis-enigma/ Con poco più di 18 miliardi di chiavi, un PC anche datato può fare brute forcing in poco tempo ("In general it will take less than 30 seconds to break short messages (50 characters), slightly longer for longer messages.").

alcuni punti:

1) a me sembra strano tutto questo. Prima di tutto di enigma sono state create diverse versioni e poi l'uso che è stato fatto è stato modificato nel tempo e anche a seconda della forza militare che lo utilizzava, aggiungendo maggior difficoltà d'attacco[2].

Se fosse così com'è indicato nella pagina che hai indicato, come mai è stato creato questo progetto?
http://www.enigmaathome.net/

per decifrare 3 messaggi il tempo impiegato è totalmente diverso da quello indicato nell'articolo: "Project total CPU time equivalent to: 366959 years, 282 days, 16 hours of Athlon 3500+ running stock app."

2) TONY SALE[1] ha detto[2]:

* The total number of ways in which the Enigma machine can be configured for any particular message is 150 million million million

* Its complexity's enormous. I mean, if I sent just one message on an Enigma machine today it would still take a super Cray computer, the fastest in the world, a year to go through searching for that one message without supporting evidence as to what that message might have been.

ok era il 1999, ma da quell'anno all'attuale un PC normale non è diventato più potente di un supercomputer dell'epoca.

Poi enigma ha dei "bug" che rendono, in taluni casi, la sua robustezza minore.

3) oltre ad enigma, di cui io non avevo accennato nella mia risposta, sono stati usati altri "algoritmi" di cifratura, ad esempio Lorenz[2][3]

4) purtroppo, probabilmente a causa di come funziona la mente umana nel ricostruire i ricordi[4], in realtà io volevo riferirmi a quest'altro caso di cifratura sempre nato negli anni della seconda guerra mondiale e portato avanti fino al 1980: i messaggi cifrati spediti dalle spie russe dagli USA alla Russia

ho trovato questo documentario[5] che ne parla:

revealing thousands of telegrams sent between Moscow and the Soviet diplomats in the 1940s and '50s.

The Venona project lasted until 1980. Only those messages that reused sheets of one-time pad could be read, less than one percent of the total. No messages sent after 1948 could be broken;

C'è anche un documentario, sempre di PBS Nova, più recente, che parla in modo più approfondito su questo argomento, dove dice esplicitamente che stanno tentando di decifrare tali messaggi cifrati, ma per ora non sono riusciti... purtroppo ora non riesco a trovarlo, nei quasi 1.000 documentari PBS Nova[6]

5) come dimostrano i documentari PBS Nova [2][5], la causa principale del fallimento di un sistema complesso di cifratura è l'inadeguatezza dell'utente che li utilizza. Secondo me, più un sistema è complesso e meno l'utente è esperto e più sono altre le probabilità di fallimento. Un utente per poter usare qualcosa dovrebbe capire cosa sta usando, come funziona e adottare conseguentemente un uso consapevole.

Purtroppo questa problematica è generica, ad esempio nell'incidente di Three Mile Island chi gestiva la centrale nucleare non conosceva l'argomento che gestiva e non era in grado di interpretare i segnali per capire cosa stava accadendo (in pratica sapevano fare quasi solo cose del tipo: si accende la luce A, allora premi il bottone 3). Un esperto avrebbe risolto il problema in pochi secondi/minuti, mentre si è rischiata una catastrofe per l'inadeguatezza del personale. E questa problematica era relativa a tutte le centrali USA[7]

Per fortuna che attualmente le centrali nucleari sono sicure (The investigation was conducted after unnamed individuals alleged that "most, if not all," nuclear plants in the US have fake or faulty parts. The inspector general's office uncovered problems with counterfeit parts at a few different plants as part of its investigation...[8])

6) Dalla mia scarsa conoscenza della criptografia mi sono fatto l'idea che il metodo di cifratura più sicuro, anche considerando l'aspetto dell'utente "ignorante" in materia che lo utilizzerà è quello di usare un metodo di cifratura basato su una "chiave" diversa per ogni messaggio e la lista delle chiavi posseduto solo da chi deve comunicare/ricevere. Tale lista non deve essere generata da una lista pseudocasuale. Questo, secondo me, è valido e inattaccabile soprattutto per messaggi brevi, come l'autenticazione. Le chiavi possono benissimo trovarsi su un foglio di carta.

Un esempio è l'autenticazione a due fattori: Google ha dichiarato che con l'autenticazione a due fattori gli attacchi che hanno successo sono circa il 50% in meno rispetto ad un'autenticazione con sola password. Come dire che aumentare la complessità per l'utente di 10-100 volte diminuisce la probabilità di successo dell'attaccante del 50%. (non trovo l'articolo)

Però nessuno valuta se il bug è a livello matematico, cioè se vi è un "problema", magari intenzionale, che permetta di avere un passpartout, backdoor o come la si voglia chiamare o magari soltanto un metodo per diminuire la complessità dell'attacco di alcuni fattori.

"Nessuno"? Solo tutti i crittoanalisti e buona parte dei matematici :)

tieni conto che alcuni modelli matematici sono proposti da enti come l'NSA[9] o indicati come mandatori per l'uso... Io penso che sia "semplice" verificare se il modello matematico sia corretto, mentre sia molto più complesso individuare se esista un ulteriore modello matematico che permetta di avere un passpartout, backdoor al primo. E nell'articolo che avevo letto, da quello che mi ricordo, si indicava che questo secondo passaggio non viene generalmente fatto.

Ciao
Davide

[1] https://en.wikipedia.org/wiki/Tony_Sale

[2] Io mi sono basato su questo documentario PBS Nova che ripercorre la storia delle comunicazioni cifrate durante la seconda guerra mondiale (video e trascrizione del video):
https://archive.org/details/DecodingNaziSecrets
https://www.pbs.org/wgbh/nova/transcripts/2615decoding.html

[3] https://en.wikipedia.org/wiki/Lorenz_cipher

[4] https://www.pbs.org/wgbh/nova/video/memory-hackers/
il filmato dovrebbe essere questo su youtube:
https://www.youtube.com/watch?v=uO8pXtvxAA0

[5] https://archive.org/details/SecretsLiesAtomicSpies
https://www.pbs.org/wgbh/nova/transcripts/2904_venona.html

[6] https://en.wikipedia.org/wiki/List_of_Nova_episodes

[7] Sixty Minutes to Meltdown
il filmato dovrebbe essere questo su youtube:
https://www.youtube.com/watch?v=hm4tokGgnvg

[8] https://news.slashdot.org/story/22/02/11/220246/us-nuclear-power-plants-contain-dangerous-counterfeit-parts-report-finds?utm_source=rss1.0mainlinkanon&utm_medium=feed

[9]The Spy Factory
il filmato dovrebbe essere questo su youtube:
https://www.youtube.com/watch?v=ZdPpdu8OGDQ
--
I didn't use Microsoft machines when I was in my operational phase, because I couldn't trust them. Not because I knew that there was a particular back door or anything like that, but because I couldn't be sure.
Edward Snowden


Reply to: