La tecnica "Malicious SHA-1" ha permesso all'NSA di inserire una backdoor in SHA-1?

1

SHA-1 è stato standardizzato dalla NSA. Sembra che sia possibile scegliere le costanti in modo tale che le collisioni possano essere derivate facilmente. Tuttavia, non è facilmente possibile scoprire che le costanti sono state scelte in questo modo.

Sarebbe stato possibile per la NSA inserire una backdoor in SHA-1 usando questa tecnica? Ci sarebbe modo di scoprirlo? Ci sono implicazioni di sicurezza per quanto riguarda lo standard SHA-1?

    
posta usr 08.08.2014 - 18:36
fonte

3 risposte

7

Questo attacco non riguarda la generazione di un SHA-1 modificato che rende più facili le collisioni, si tratta di generare un SHA-1 modificato come parte del processo di generazione di una collisione specifica . La funzione di hash modificata così prodotta è utile solo per creare la collisione singola utilizzata nel processo di generazione; non è più vulnerabile alle collisioni in generale rispetto all'ordinario SHA-1. Vedi il fondo della pagina 5 di il documento di ricerca .

Le costanti nell'ordinario SHA-1 sono le radici quadrate di 2, 3, 5 e 10, tempi 2 ^ 30. Sì, è possibile che quei quattro numeri siano stati scelti perché permettono la creazione di una singola collisione di alto valore da qualche parte, ma è improbabile.

    
risposta data 08.08.2014 - 21:33
fonte
1

Non posso dire se questo metodo è stato usato ovunque. Probabilmente è difficile da scoprire. Tuttavia, non è possibile utilizzare questa tecnica per sfruttare le implementazioni già esistenti di SHA-1 che non sono state progettate per essere deboli per scopo. SHA-1 è ancora sicuro da usare (sicuro come prima). La carta a cui fai riferimento mostra solo come, usando determinate costanti, puoi rendere SHA-1 non sicuro e ottenere collisioni più facilmente.

Diciamo che hai un programma binario che usa SHA-1 per un qualche tipo di crittografia. In teoria è possibile che il tuo programma non utilizzi una funzione SHA-1 "sicura", ma che il venditore (la NSA o chiunque altro) abbia scritto la propria implementazione e modificato le costanti di conseguenza o semplicemente sbagliato per sbaglio. Quindi l'implementazione SHA-1 di quel programma specifico non è sicura.

Tuttavia, se si ha la fonte di un software e probabilmente anche lo si è compilato da soli, è possibile verificare che l'implementazione di SHA-1 sia corretta. Se il software fa uso di implementazioni "ufficiali" di SHA-1 che hanno molti linguaggi di programmazione (python, perl, java - tu lo chiami) non ci dovrebbero essere problemi.

Questo tipo di attacco non è qualcosa che può essere usato per attaccare software già esistente - il software (l'implementazione SHA-1 che usa) deve essere già stato compromesso in anticipo.

    
risposta data 08.08.2014 - 20:51
fonte
1

Penso che questa domanda sia opinata, ma ecco la mia versione.

SHA-1 è standardizzato. Le costanti utilizzate sono descritte in RFC3174 . Questo articolo descrive la modifica delle costanti di un'implementazione SHA-1 per indurre collisioni.

A questo punto, le costanti in RFC3174 sono state scelte in un modo in cui la NSA poteva produrre collisioni? Potresti fare la stessa domanda su qualsiasi standard che è stato derivato negli ultimi 20 anni. Se modifichi qualcosa per agire in un modo che non è stato progettato; si possono verificare cose dannose.

Direi che le probabilità sono a favore di nessuna backdoor. È stato standardizzato per quasi 15 anni, troppe persone lo hanno implementato e troppe persone lo hanno analizzato. Il documento di ricerca dice che non potevano fare la stessa procedura con le costanti attuali. A mio parere, se SHA-1 fosse difettoso / backdoor sarebbe stato trovato ormai. Se non ti piace puoi usare qualcos'altro.

    
risposta data 08.08.2014 - 20:52
fonte

Leggi altre domande sui tag