Altre funzioni ampiamente usate del hash includono 128-bit MD5 da RSA Data Security, Inc., che è un hash molto veloce e comunemente effettuato. MD5 è usato tradizionalmente per cifrare le parole d'accesso dell'utente di Linux (hashes l'inizio con il carattere "di $1$"), per autenticare i protocolli di percorso come RIPv2 ed il OSPF, per generare i totali di controllo dei binaries in RPMs e per verificare l'integrità delle lime degli orificii di Free/OpenBSD. Le specifiche di MD5 sono disponibili in RFC 1321. Ospiti gli attrezzi di rilevazione di intrusione come uso MD5 di Tripwire (http://www.tripwire.com) prendere le fotografie istantanee delle lime del sistema e conservarle in una base di dati (che deve essere cifrata) per determinare se c'è ne delle lime del sistema fossero modificate dai cracker. Tripwire povero dell'uomo è l'ordine di md5sum disponibile su molti UNIX-COME i sistemi. Un predecessore di MD5, MD4 è molto veloce, ma era rotto nel mese di ottobre del 1995. Purtroppo, MS-CHAP ancora usa MD4 hashes anche nella relativa seconda versione ed i protocolli quale 802.1x EAP-LEAP che contano su MS-CHAP possono essere vulnerabili agli attacchi contro MD4. Dal 1995, ci sono stati dubbi serii circa la sicurezza di MD5 e l'altro hash crittografico 128-bit fa calcoli e l'uso almeno di 160-bit hashes è suggerito. Potete controllare la sicurezza del vostro MD5 hashes per mezzo dell'attrezzo di MD5Crack, disponibile per il trasferimento dal sistema centrale verso i satelliti da http://www.checksum.org/download/MD5Crack (questa è la versione compilata di Windows dell'attrezzo; Il codice sorgente di UNIX può essere trasferito da http://www.packetstormsecurity.org).
Oltre a SHA-1 e più su, ci sono altre cifre crittografiche ragionevolmente sicure del hash da usare, compreso HAVAL (valori variable-length del hash), RIPEMD e tigre. RIPEMD dalla valutazione dei primitivi di integrità della corsa di progetto di UE (MATURA) consiste di due processi paralleli MD5 che funzionano per cinque tondi e che producono un hash 160-bit. RIPEMD è considerato sicuro quanto SHA-1 ed è usato da Nessus insieme con Twofish. La tigre è stata progettata dalla squadra di sviluppo del serpent ed è ottimizzata per funzionare sui circuiti integrati 64-bit, su cui è circa 2.8 volte più velocemente di RIPEMD e 2.5 volte velocemente di SHA-1. La tigre produce un hash 192-bit, anche se di meno-sicuro 128- e le varianti 160-bit di questa cifra esistono.
Il blocco che comune le cifre simmetriche possono anche essere usate come l'unidirezionale hashes con poche eccezioni (per esempio, blowfish). Infatti, potere effettuare una cifra simmetrica come hash crittografico era una delle circostanze che un candidato di AES ha dovuto riempire. Sapendo crittografico hashes il lavoro, è facile da vedere che ci è niente di supernatural circa usando una cifra simmetrica del blocco in un tal ruolo: Fornisca un costante, usi i dati di input per generare i subkeys e funzioni. Tuttavia, non c'è motivo di usare AES o MARTE ed e così via, come hash unidirezionale quando le procedure crittografiche specifiche ben progettate del hash come SHA esistono.
Le cifre crittografiche del hash sono destinate per procedere rapidamente le grandi quantità di dati; per esempio, hash i dati e collegare hashes in moto alle intestazioni del pacchetto mentre i pacchetti sono trasmessi sulla rete. Il tasso di elaborazione delle cifre crittografiche del hash in MB/sec è generalmente paragonabile al tasso di elaborazione delle cifre del flusso quale RC4 ed è 1.5 - 2 volte sopra il tasso di elaborazione di AES. Ovviamente, ci è una pena di prestazioni per usando più sicuro, più grande hashes e MD5 avrebbe un più alto rendimento di dati che la tigre (su CPUs 32-bit) o SHA-1.
Crittografico hashes sono benissimo di sostenere l'integrità di dati via impronta digitale di dati o di identificare gli utenti contro le basi di dati delle parole d'accesso hashed. Tuttavia, da soli non autenticano i dati in se; il attacker può alterare i dati originali prima che l'indirizzamento casuale avvenga. Una soluzione possibile per questo problema sta usando un HMAC, anche denominato una raccolta chiusa a chiave del messaggio. Un HMAC è nient'altro che un hash crittografico e una chiave segreta comune uniti. Quindi, i dati ottengono cifrati prima che hashed ed il attacker dovrebbe rompere la chiave simmetrica di cifra dopo la generazione del messaggio originale dal hash o rompere la chiave simmetrica di cifra se lui o lei ha accesso ai dati prima che l'indirizzamento casuale avvenisse. Un esempio del codice di autenticazione del messaggio specificamente ha progettato per migliorare la sicurezza senza fili è Michael (MIC).
MIC: Più debole Ma Più velocemente
Il problema principale incontrato nel disegno di MIC
stava sviluppando un HMAC che funzionerebbe sui fissaggi dell'eredità
senza applicare le sanzioni significative al rendimento ed allo stato
latente della rete. Gli ospiti del cliente possono scaricare il
calcolo di HMAC al laptop sufficiente potente o persino al CPU di PDA,
anche se è ancora indesiderabile! Che cosa se un'azienda decide
progettare e produrre un telefono mobile molto piccolo 802.11-enabled?
Inoltre, molti punti di accesso non si vantano l'alimentazione
su di elaborazione. Tuttavia, il AP o un ponticello senza fili
dovrebbe potere verificare sia l'integrità che l'autenticità dei
pacchetti escludenti. Ricordi la struttura di SHA con i relativi
80 tondi di ripetizione ed immagini generare un tal hash per ogni
pacchetto trasmesso sulla rete senza fili. Un punto di accesso
comune o un PDA potrebbe effettuare quel processo senza esaurimento
significativo delle risorse? Non molto probabilmente!
Quindi, una procedura interamente nuova denominata MIC è stata destinata da Niels Ferguson per fornire il controllo di integrità del pacchetto e la rilevazione di falso su WLANs TKIP-permesso. È stata progettata come un terzo tentativo, dopo due disegni precedenti denominati Mickey e Michelle. MIC è un'alternanza fra possibilità di sicurezza e del consumo e di esecuzione delle risorse. Funziona sui più vecchi punti di accesso e fissaggi senza fili del cliente senza applicare una sanzione significativa di prestazioni, ma il livello che di sicurezza fornisce è soltanto 20 bit. Come dovreste capire ormai, nei termini crittografici moderni questo non è mólto.
Prima della discussione alternanza e delle relative possibilità pratiche di risultato, imparanti come gli impianti MIC è utili. Il segreto MIC chiave consiste di 64 bit ed è rappresentato mentre 8-byte una sequenza k0... k7. questa sequenza è convertita in due parole piccole-Endian 32-bit, K0 e K1. Durante il disegno MIC, tutte le conversioni fra i byte e le parole 32-bit usano le convenzioni Piccole-Endian, perché la cifra si pensa che funzioni su CPUs Piccolo-Endian. Infatti, la maggior parte dei punti di accesso ora ha prodotto la più vecchia linea circuiti integrati dell'Intel di uso quali i386 o i486.
MIC funziona sopra il campo d'informazione, così come i campi di indirizzo della destinazione e di fonte del telaio senza fili. L'integrità di IVs non è protetta ed il campo d'informazione non è interpretato. Prima che la cifra funzioni, la struttura è riempita all'estremità con un singolo byte (valore 0x5a), seguito da 4 - 7 byte zero. Il numero di byte zero è selezionato per accertarsi che la lunghezza totale del telaio riempito sia sempre un multiplo di quattro. Il riempimento non è trasmesso mai con la struttura; è usato per facilitare soltanto il calcolo sopra il blocco finale. Dopo il riempimento, la struttura è convertita in sequenza delle parole 32-bit M0... mn-1, dove N = [ (n+5)/4 ]. Dal disegno, da MN-1 = 0 e da MN-2! = 0.
Il valore MIC è computato cominciando dal valore chiave e dall'applicazione della funzione b del blocco per ogni parola del messaggio. Il ciclo di cifra fa funzionare un totale dei tempi di N (i include 0 ai valori N-1), dove la N è il numero di parole 32-bit che fanno sulla struttura riempita. La procedura produce due parole (l,r), che sono convertite in sequenza di otto ottetti Piccoli-Endian, il valore MIC:
Input: Chiave (K0, K1) e riempito manganese M0 della struttura (rappresentata come parole 32-bit)... prodotto: MIC
valore (V0, V1)
MIC < = ((K 0, K1), (M0...,mn))
(l,r) < = (K0, K1)
per la i = 0 a N-1
l < = l ^ = miglio
(l,r) < = b(l, r)
ritorno (l,r)
Il valore MIC è collegato alla struttura come dati da trasmettere.
La funzione b del blocco usata da MIC è una procedura molto piccola di Feistel che impiega le aggiunte alternate e XORing. < < < indica la rotazione di sinistra e > > > indica la giusta rotazione dei valori 32-bit e XSWAP è una funzione che scambia la posizione dei due byte il più minimo significativi con la posizione dei due byte più significativi in una parola:
Input: (l,r)
Uscita: (l,r)
b(L, R) 35
r < = r ^ = (l < < < 17)
l < = (l + r) MOD 232
r < = r ^ = XSWAP(l)
l < = (l + r) MOD 232
r < = r ^ = (l < < < 3)
l < = (l + r) MOD 232
r < = r ^ = (l > > > 2)
l < = (l + r) MOD 232
rinvii (l, r)
Come potete vedere, la cifra è nè resa sofisticato nè forte. È stato valutato che un attacker ha una probabilità in milione di sneaking nel telaio con un carico utile compromesso ma corregge MIC. Si potrebbe sostenere che danni significativi possono essere fatti inserendo una singola struttura modificata dopo 1 milione strutture trasmesse. Tuttavia, il vecchio WEP ICV (CRC-32) ancora è usato pure e deve essere simulato insieme a MIC. Quindi, tali attacchi sono nè facili nè hanno un'alta probabilità di successo. Tuttavia, per attenuare il loro successo le cosiddette contromisure di TKIP sono state introdotte. Quando più di singolo tentativo di falso in un secondo è stato rilevato, l'ospite cancella il groupwise o al paio la chiave (secondo ogni volta che un unicast o la struttura del multicast è stata influenzata), i deassociates e gli aspett un minuto prima della riassociazione. Quindi, la possibilità di cracker diabolico del Joe che trasmette alcune milione strutture modificate allo sneak in alcune di loro inosservate è eliminata.
Tuttavia, lo stesso cracker del Joe ha potuto girare disperato e prova a trasmettere le strutture forgiate per innescare le contromisure e per causare un attacco del DOS, impiegante non un insetto, ma una caratteristica. La possibilità di tali attacchi del DOS introdotti da una nuova caratteristica di sicurezza ampiamente è stata discussa. L'esempio migliore di tale discussione è un filetto alla lista della posta del cryptography (http://www.mail-archive.com/cryptography@wasabisystems.com/msg03070.html è il primo messaggio in un filetto). In questo filetto Niels Ferguson, il creatore di MIC, domande di risposte considerante la possibilità di attacco del DOS abusante le contromisure MIC. Malgrado il hullabaloo intorno alla probabilità di questo attacco del DOS e delle imperfezioni delle contromisure, un tal attacco non potrebbe essere come realistico e facile lanciare l'altretanto penserebbe. Ricordisi di che il TSC cadrà tutte le strutture di fuori-de-sequenza; il attacker deve trasmettere così una struttura con "un futuro," tuttavia inutilizzato, dispositivo di venipunzione. Tuttavia, ricordi che il dispositivo di venipunzione attivamente è usato dalla funzione della generazione di chiave del per-pacchetto di TKIP. Se il dispositivo di venipunzione è cambiato, la struttura non decrypted correttamente. Poiché il CRC-32 è ancora là, non dare un valore adeguato, conducente alla struttura forgiata finalmente che è caduta. Quindi, il attacker deve fiutare verso l'esterno le strutture valide, le cancella per impedirle raggiungere la ricevente, corrompe il MIC, ricalcola il CRC-32 per riflettere i cambiamenti in MIC e soltanto allora spedisce le strutture "di MIC-de-Morte" all'obiettivo (preferibilmente ogni 59 secondi). Anche se possibile, è affatto un'operazione facile.
Poiché i fissaggi liber-compatibili finali 802.11i dovranno essere ottimizzati per il funzionamento del AES, usando un CBC-MAC HMAC AES effettuante come hash unidirezionale sarebbe più pratico e sicuro che impiegando certa forma di MIC o una raccolta ben nota del messaggio come SHA. Inoltre rimuoverà tutti i problemi possibili con MIC discusso appena. Quindi, in alcuni casi specifici, potrebbe essere preferibile usare le cifre simmetriche del blocco per conservazione di integrità di dati così come per la crittografia di dati e l'autenticazione del messaggio.
Online: 420 users browsing the articles directory
|