cosa rende i generatori di numeri casuali così fragili?
<p>mi sembra che un componente hardware che genera numeri casuali sia estremamente semplice: basta misurare minuscole vibrazioni nell'hardware con un sensore, giusto? forse mi sbaglio, ma sembra che se hai misurato le vibrazioni con una precisione molto elevata, potresti facilmente generare numeri casuali indelebili.</p><p>tuttavia, sono un sostenitore della crittografia e ne so poco. quindi sto leggendo e <a href="https://blog.cryptographyengineering.com/2013/12/03/how-does-nsa-break-ssl/">n articolo</a> dice:</p><blockquote> <p>e non devi essere così sofisticato da indebolire un generatore di numeri casuali. questi generatori sono già sorprendentemente fragili ed è terribilmente difficile rilevare quando si è rotti. i manutentori di debian hanno chiarito questo punto nel 2008, quando un'errata pulizia del codice ha ridotto l'entropia effettiva di openssl a soli 16 bit. in effetti, gli rng sono così vulnerabili che la sfida qui non sta indebolendo l'rng - qualsiasi idiota con una tastiera può farlo - lo sta facendo senza rendere l'implementazione banalmente vulnerabile a tutti gli altri.</p> </blockquote><p>mi mancano sicuramente alcuni dettagli critici su come la generazione casuale di numeri sia "fragile". qualcuno può spiegare?</p>
<h2>rng hardware vs software</h2><p>la prima cosa che citi è una fonte di rumore hardware. la misurazione ad alta precisione di alcuni fenomeni metastabili è sufficiente per generare dati imprevedibili. questo può essere fatto con un diodo zener polarizzato al contrario, con oscillatori ad anello, con un adc o persino con un contatore geiger. si può anche fare la mia misurazione dei ritardi a livello di nanosecondi nei tempi tra i tasti premuti. queste fonti di rumore possono fallire se l'hardware stesso inizia a guastarsi. ad esempio, un transistor può guastarsi se non è progettato specificamente per funzionare al contrario ad alta tensione. mentre queste tecniche hanno vari livelli di fragilità, non è ciò che viene discusso nel testo che hai citato.</p><p>il secondo tipo di rng menzionato è un rng software chiamato generatore di numeri pseudocasuali (prng<sup>*</sup>). questo è un algoritmo che accetta un <em>seed</em>, che è come una chiave di crittografia, e lo espande in un flusso infinito di dati. tenta di garantire che i dati non possano essere previsti o divulgati a parte la pura casualità, senza la conoscenza del seme casuale segreto con cui è iniziato l'algoritmo. in questo caso, il prng è implementato nel software puro, quindi la sua rottura richiede solo l'introduzione di un bug nel codice, che è ciò di cui parla il testo che hai citato. è semplicemente il codice che è <em>fragile</em>, rischiando il completo fallimento se vengono apportate modifiche al codice che si discostano dal comportamento previsto dell'algoritmo.</p><p>a prng può essere pensato come un algoritmo di crittografia riproposto. in effetti, è possibile creare un crittograficamente sicuro prng utilizzando un codice come aes per crittografare un contatore. fintanto che la chiave di crittografia (seed) è segreta, l'output non può essere previsto e il seed non può essere scoperto. quando ci si pensa in questo modo, diventa più facile capire come può una piccola modifica non significativa del codice rompere completamente la sicurezza dell'algoritmo.</p><h2>collezionando casualità</h2><p>quindi, in che modo i dispositivi moderni raccolgono effettivamente la casualità? prendiamo un server in esecuzione silenziosamente in un datacenter da qualche parte. per supportare cose come tls, ha bisogno di una grande quantità di dati completamente imprevedibili che non possono essere distinti da un flusso veramente casuale. senza una fonte di rumore hardware dedicata, la casualità deve provenire dall'interno. i computer si sforzano di essere completamente deterministici, ma hanno un sacco di input da dispositivi non deterministici. enter ... interrompe!</p><p>nell'hardware moderno, un <em>interruzione</em> è un segnale emesso dall'hardware per avvisare la cpu di un cambio di stato. permette alla cpu di evitare il polling rapido di tutti i dispositivi hardware per gli aggiornamenti e invece di fidarsi che il dispositivo lo avviserà in modo asincrono quando sarà il momento. quando si verifica un interrupt, viene chiamato un <em>interrupt handler</em> per elaborare il segnale. si scopre che questo gestore è il posto perfetto per ottenere casualità! quando si misura la tempistica degli interrupt a livello di nanosecondi, è possibile ottenere rapidamente un bel po 'di casualità. questo perché gli interrupt vengono attivati ​​per ogni sorta di cose, dai pacchetti che arrivano sul nic ai dati letti da un disco rigido. alcune di queste fonti di interruzione sono altamente non deterministiche, come un disco rigido azionamento che si basa sul movimento fisico di un attuatore.</p><p>una volta che sono stati raccolti sufficienti bit casuali dal sistema operativo, un piccolo seme di almeno 128 bit può essere inserito in un crittograficamente sicuro prng per generare un flusso illimitato di dati pseudocasuali. a meno che qualcuno non possa prevedere esattamente quando si sono verificati tutti gli interrupt passati, con precisione dei nanosecondi, non saranno in grado di derivare il seme e non saranno in grado di prevedere il futuro prng. ciò rende l'output completamente adatto alle chiavi tls.</p><p><sub>* un orientato alla sicurezza prng è chiamato prng crittograficamente sicuro o csprng. l'uso di un normale prng quando un'applicazione richiede un csprng può provocare sicurezza vulnerabilità.</sub></p>
intendi "generatori di spazi vettoriali"? se hai capito cos'è una base hai capito anche cosa sono dei generatori. una base di uno spazio vettoriale è un insieme di generatori linearmente indipendenti, ossia tali che nessuno di essi può essere visto come combinazione lineare di altri. quindi, dei generatori sono semplicemente una base, solo che possono anche non essere linearmente indipendenti.

la definzione formale è questa:
dei generatori sono dei vettori tali che ogni vettore dello spazio considerato lo puoi scrivere come combinazione lineare dei generatori. 
l'esempio più ovvio è l'insieme composto dai tre vettori di r^3 (1,0,0), (0,1,0) (0,0,1).
ogni vettore di r^3 ha la forma (a,b,c), con a,b e c appartenenti a r. quindi puoi scrivere (a,b,c)=a*(1,0,0)+b*(0,1,0)+c*(0,0,1)
quindi (1,0,0), (0,1,0) (0,0,1) sono dei generatori. 
inoltre sono anche linearmente indipendenti (ossia non esistono x e y tali che (1,0,0)=x*(0,1,0)+y*(0,0,1), per esempio), quindi oltre ad essere generatori, sono anche una base. per capire in fretta se n vettori con n elementi sono linermente indipendenti, calcola il determinante della matrice che ha per colonne tali vettori: se ti viene 0, allora sono dipendenti, altrimenti sono indipendenti.

c'è un teorema, la cui dimostrazione per fortuna non ricordo, che dice che ogni base di uno spazio vettoriale ha un numero fisso di elementi - questo numero è la dimensione dello spazio vettoriale.

magari vai a dare un occhiata a ste pagine

http://it.wikipedia.org/wiki/spazio\_vettoriale
http://it.wikipedia.org/wiki/base\_(algebra\_lineare)
http://it.wikipedia.org/wiki/span <p>per la maggior parte<sup>[1]</sup> sono crittografati, ma non sufficientemente per essere considerati crittografati sicuri e resistenti al tocco. <a href="https://en.wikipedia.org/wiki/gsm"> gsm </a> usa <a href="https://en.wikipedia.org/wiki/a5/1">crittografia a5/1 a 64 bit</a> che è debole, per non dire altro. <a href="http://arstechnica.com/gadgets/2010/12/15-phone-3-minutes-all-thats-needed-to-eavesdrop-on-gsm-call/">$ 15 telefono, 3 minuti tutto ciò che serve per intercettare una chiamata gsm</a> articolo tratto da <a href="http://arstechnica.com/">arstechnica</a> lo copre abbastanza bene imo, se ti interessa leggere di più al riguardo.</p><p>tuttavia, dipende anche da cosa intendi per <em> [~ # ~] gsm [~ # ~] </em>. ciò che ho menzionato sopra è vero per ciò che di solito intendiamo come gsm ( <a href="https://en.wikipedia.org/wiki/2g">2g</a> , o protocolli di seconda generazione). <a href="https://en.wikipedia.org/wiki/3g">g</a> sono generalmente considerati <em> leggermente </em> più sicuri (per mancanza di una parola migliore):</p><blockquote> <p>le reti 3g offrono maggiore sicurezza rispetto ai loro predecessori 2g. consentendo all'ue (attrezzatura utente) di autenticare la rete a cui si sta collegando, l'utente può essere sicuro che la rete sia quella prevista e non un imitatore. le reti 3g utilizzano <a href="https://en.wikipedia.org/wiki/kasumi">cifratura a blocchi kasumi</a> invece della crittografia di flusso a5/1 precedente. tuttavia, sono stati identificati una serie di gravi carenze nella cifra kasumi.</p> </blockquote><p><sup> <a href="https://en.wikipedia.org/wiki/3g#security">https://en.wikipedia.org/wiki/3g#security</a> </sup></p><p>però:</p><blockquote> <p>molti operatori riservano gran parte della loro larghezza di banda 3g per il traffico internet, mentre smistano la voce e sms off alla vecchia rete gsm.</p> </blockquote><p><sup> <a href="http://arstechnica.com/gadgets/2010/12/15-phone-3-minutes-all-thats-needed-to-eavesdrop-on-gsm-call/">http://arstechnica.com/gadgets/2010/12/15-phone-3-minutes-all-thats-needed-to-eavesdrop-on-gsm-call/</a> </sup></p><p><sup>[1]</sup> <a href="http://cryptodox.com/a5/0">comunicazione non crittografata</a> (flag <code>a5/0</code>) è supportato anche su sistemi gsm e questa crittografia (o la sua mancanza) potrebbe essere regolata in modo diverso dalle leggi dei diversi paesi o parte della politica del vettore per non utilizzarla. alcuni dispositivi visualizzano anche notifiche agli utenti quando le loro chiamate saranno crittografate e quando no, ma molto probabilmente è sembrato che non valga la pena preoccuparsi di avvisare gli utenti, soprattutto considerando i punti di forza di vari semi cifrati in uso con i protocolli gsm. vedi la mia risposta al commento di @ hsn di seguito per ulteriori informazioni.</p> <p>keepass utilizza un processo di derivazione della password personalizzato che include più iterazioni di crittografia simmetrica con una chiave casuale (che quindi funge da salt), come spiegato <a href="http://keepass.info/help/base/security.html#secdictprotect">lì</a> . il numero predefinito di iterazioni è 6000, quindi sono 12000 invocazioni aes per l'elaborazione di una password (la crittografia viene eseguita su un valore a 256 bit, aes utilizza blocchi a 128 bit, quindi devono essere presenti almeno due invocazioni aes per ogni round). con un pc quad-core <em> recente </em> (quelli con lo spiffy <a href="http://en.wikipedia.org/wiki/aes\_instruction\_set">istruzioni aes</a> ), dovresti essere in grado di testare circa 32000 potenziali password al secondo.</p><p>con dieci personaggi casuali scelti in modo uniforme tra i centinaia di caratteri che possono essere digitati su una tastiera, ce ne sono 10<sup>20</sup> password potenziali e forza bruta, in media, proveranno la metà di esse. sei dentro per 10<sup>20</sup>* 0,5/32000 secondi, noto anche come 50 milioni di anni. ma con <em> due </em> pc che sono solo 25 milioni di anni.</p><p>ciò presuppone che il processo di derivazione della password non sia in qualche modo imperfetto. nel "processo di derivazione della password personalizzata", la "personalizzazione" è una parola spaventosa. inoltre, il numero di iterazioni è configurabile (6000 è solo il valore predefinito).</p> ciao l' unica cosa che mi viene in mente escludendo guasti elettronici ovviamente...e' che magari per qualche motivo xxxxx non si sia impostato il (local control) su off
in pratica sarebbe una funzione che permette di escludere la tastiera dal generatore di suoni interno della tastiera stessa.......tipo come si fa per il cellulare per bloccarne i tasti....
ti starai chiedendo a cosa serve.....serve per far in modo che la tastiera non produca piu' i propri suoni ma vada a pilotare altre tastiere o altri generatori di suoni....
ho visto in internet che e' un po' difficile trovare il manuale pero' penso che se tu cerchi nelle impostazioni del tuo strumento da qualche parte dovresti trovare il famoso local control che si può' mettere su on o su off..... non posso dirti altro perche' non conosco bene il gem ws 400 ciao ciao <p>mi sembra rischioso. la compressione http va bene per le risorse statiche, ma per alcune risorse dinamiche servite su ssl, sembra che la compressione http possa essere pericolosa. mi sembra che la compressione http possa, in alcune circostanze, consentire attacchi di tipo crime.</p><p>si consideri un'applicazione web che ha una pagina dinamica con le seguenti caratteristiche:</p><ol> <li> <p>viene servito su https.</p> </li> <li> <p>la compressione http è supportata dal server (questa pagina verrà inviata al browser in forma compressa, se il browser supporta la compressione http).</p> </li> <li> <p>la pagina ha un token csrf su di essa da qualche parte. il token csrf è stato risolto per la durata della sessione (diciamo). questo è il segreto che l'attacco proverà ad imparare.</p> </li> <li> <p>la pagina contiene alcuni contenuti dinamici che possono essere specificati dall'utente. per semplicità, supponiamo che ci sia qualche parametro url che viene ripetuto direttamente nella pagina (forse con un po 'di escape html applicato per impedire xss, ma va bene e non scoraggerà l'attacco descritto).</p> </li> </ol><p>quindi penso che gli attacchi in stile crime potrebbero consentire a un utente malintenzionato di apprendere il token csrf e montare attacchi csrf sul sito web.</p><p>lasciami fare un esempio. supponiamo che l'applicazione web di destinazione sia un sito web bancario su <code>www.bank.com</code> e la pagina vulnerabile è <code>https://www.bank.com/buggypage.html</code>. supponiamo che la banca assicuri che le attività bancarie siano accessibili solo tramite ssl (https). e supponiamo che se il browser visita <code>https://www.bank.com/buggypage.html?name=d.w.</code>, quindi il server risponderà con un documento html simile a qualcosa di vagamente simile a questo:</p><pre><code>&lt;html&gt;...&lt;body&gt; hi, d.w.! pleasure to see you again. some actions you can take: &lt;a href="/closeacct&amp;csrftoken=29238091"&gt;close my account&lt;/a&gt;, &lt;a href="/viewbalance&amp;csrftoken=..."&gt;view my balance&lt;/a&gt;, ... &lt;/body&gt;&lt;/html&gt; </code></pre><p>supponiamo che tu stia navigando sul web tramite una connessione wifi aperta, in modo che un utente malintenzionato possa intercettare tutto il traffico di rete. supponiamo che tu sia attualmente connesso alla tua banca, quindi il tuo browser ha una sessione aperta con il sito web della tua banca, ma in realtà non stai effettuando alcuna attività bancaria tramite la connessione wifi aperta. supponiamo inoltre che l'attaccante possa attirarti a visitare il sito web dell'attaccante <code>http://www.evil.com/</code> (ad esempio, magari facendo un attacco man-in-the-middle su di te e reindirizzandoti quando provi a visitare qualche altro sito http).</p><p>quindi, quando il browser visita <code>http://www.evil.com/</code>, quella pagina può attivare richieste tra domini al sito web della tua banca, nel tentativo di apprendere il token csrf segreto. si noti che javascript è autorizzato a effettuare richieste tra domini. la politica della stessa origine impedisce che venga visualizzata la risposta a una richiesta tra domini. tuttavia, poiché l'aggressore può intercettare il traffico di rete, l'attaccante può osservare la lunghezza di tutti i pacchetti crittografati e quindi dedurre qualcosa sulla lunghezza delle risorse che vengono scaricate tramite la connessione ssl alla tua banca.</p><p>in particolare, il maligno <code>http://www.evil.com/</code> page può attivare una richiesta a <code>https://www.bank.com/buggypage.html?name=closeacct&amp;csrftoken=1</code> e guarda come si comprime bene la pagina html risultante (intercettando i pacchetti e osservando la lunghezza del pacchetto ssl dalla banca). successivamente, può attivare una richiesta a <code>https://www.bank.com/buggypage.html?name=closeacct&amp;csrftoken=2</code> e vedi quanto comprime bene la risposta. e così via, per ogni possibilità per la prima cifra del token csrf. uno di questi dovrebbe comprimersi un po 'meglio degli altri: quello in cui la cifra nel parametro url corrisponde al token csrf nella pagina. ciò consente all'attaccante di apprendere la prima cifra del token csrf.</p><p>in questo modo, sembra che l'attaccante possa apprendere ogni cifra del token csrf, recuperandole cifra per cifra, fino a quando l'attaccante apprende l'intero token csrf. quindi, una volta che l'utente malintenzionato conosce il token csrf, può avere la sua pagina dannosa su <code>www.evil.com</code> attiva una richiesta tra domini che contiene il token csrf appropriato, annullando correttamente le protezioni csrf della banca.</p><p>sembra che ciò possa consentire a un utente malintenzionato di montare un attacco csrf riuscito su applicazioni web, quando si applicano le condizioni sopra, se la compressione http è abilitata. l'attacco è possibile perché stiamo mescolando segreti con dati controllati dall'aggressore nello stesso payload, quindi comprimendo e crittografando tale payload.</p><p>se ci sono altri segreti che sono memorizzati in html dinamico, potrei immaginare che attacchi simili potrebbero diventare possibili per imparare quei segreti. questo è solo un esempio del tipo di attacco a cui sto pensando. quindi, mi sembra che l'uso della compressione http su pagine dinamiche a cui si accede tramite https sia un po 'rischioso. potrebbero esserci buoni motivi per disabilitare la compressione http su tutte le risorse offerte su https, ad eccezione di pagine/risorse statiche (ad es. css, javascript).</p> project ara è un progetto che è ancora in fase di sviluppo che presenta ancora delle problematiche. per esempio i vari moduli che compongono lo smartphone posso cadere.

https://m.youtube.com/watch?v=foyawim946i


per quanto riguarda la possibilità di crearne uno ti riposto su questo sito dove si afferma che è una cosa difficile da fare. 

http://www.androidworld.it/forum/offtopic-24/voglio-creare-uno-smartphone-69235/

spero di averti aiutato in qualche modo

10 punti please puoi essere che sbagli ad inserire la password che si trova stampata sotto il modem?confondi ad esempio lo zerocon la o o viceversa? la i maiuscolacon la elle minuscola o viceversa?puoi postarla? <p>innanzitutto ciò dipende interamente dalla crittografia utilizzata dal punto di accesso. esistono diversi tipi di crittografia possibile. principalmente sui punti di accesso wireless di consumo si tratta di:</p><ul> <li>wep</li> <li>wpa</li> <li>wpa2</li> <li>wps</li> </ul><h2>wep</h2><p>immergiamoci prima in wep. wep è stato il primo algoritmo utilizzato per proteggere i punti di accesso wireless. sfortunatamente è stato scoperto che wep presentava alcuni gravi difetti. nel 2001, 3 ricercatori che lavoravano a berkeley hanno prodotto un documento chiamato " <a href="http://www.isaac.cs.berkeley.edu/isaac/wep-faq.html">(in) security of the wep algoritmo</a> ". hanno riscontrato i seguenti difetti in wep:</p><ul> <li>attacchi passivi per decrittografare il traffico sulla base di analisi statistiche.</li> <li>attacco attivo per iniettare nuovo traffico da stazioni mobili non autorizzate, basato su testo in chiaro noto.</li> <li> <p>attacchi attivi per decrittografare il traffico, basati sull'inganno del punto di accesso.</p> </li> <li> <p>attacco da dizionario che, dopo aver analizzato il traffico di circa un giorno, consente la decrittazione automatizzata in tempo reale di tutto il traffico.</p> </li> </ul><p>un estratto dal loro articolo sui problemi tecnici con wep:</p><blockquote> <p>wep utilizza l'algoritmo di crittografia rc4, noto come crittografia di flusso. un codice di flusso funziona espandendo una chiave breve in un flusso di chiavi pseudo-casuale infinito. il mittente xor esegue il flusso chiave con il testo in chiaro per produrre testo cifrato. il destinatario ha una copia della stessa chiave e la utilizza per generare un flusso di chiavi identico. xoring il flusso di chiavi con il testo cifrato produce il testo in chiaro originale.</p> <p>questa modalità operativa rende le cifrature di flusso vulnerabili a numerosi attacchi. se un utente malintenzionato lancia un bit nel testo cifrato, quindi al momento della decrittazione, il bit corrispondente nel testo in chiaro verrà capovolto. inoltre, se un intercettatore intercetta due crittografati crittografati con lo stesso flusso di chiavi, è possibile ottenere il xor dei due testi semplici. conoscenza di questo xor può abilitare gli attacchi statistici per recuperare i testi in chiaro. gli attacchi statistici diventano sempre più pratici man mano che vengono conosciuti più testi cifrati che usano lo stesso flusso chiave. una volta che uno dei testi in chiaro viene conosciuto, è banale recuperare tutti gli altri.</p> <p>wep ha difese contro entrambi questi attacchi. per assicurarsi che un pacchetto non sia stato modificato durante il trasporto, utilizza un campo integrity check (ic) nel pacchetto. per evitare la crittografia di due cifratix con lo stesso flusso di chiavi, viene utilizzato un vettore di inizializzazione (iv) per aumentare la chiave segreta condivisa e produrre una chiave rc4 diversa per ciascun pacchetto. il iv è anche incluso nel pacchetto. tuttavia, entrambe queste misure sono implementate in modo errato, con conseguente scarsa sicurezza.</p> <p>il campo di controllo dell'integrità è implementato come checksum crc-32, che fa parte del payload crittografato del pacchetto. tuttavia, crc-32 è lineare, il che significa che è possibile calcolare la differenza di bit di due crc in base alla differenza di bit dei messaggi su cui vengono rilevati. in altre parole, capovolgendo il bit n nel messaggio si ottiene un insieme deterministico di bit nel crc che deve essere capovolto per produrre un checksum corretto sul messaggio modificato. poiché il lancio di bit viene eseguito dopo una decrittografia rc4, ciò consente all'attaccante di invertire i bit arbitrari in un messaggio crittografato e regolare correttamente il checksum in modo che il messaggio risultante appaia valido.</p> <p>il vettore di inizializzazione in wep è un campo a 24 bit, che viene inviato nella parte in chiaro di un messaggio. un così piccolo spazio di vettori di inizializzazione garantisce il riutilizzo dello stesso flusso di chiavi. un punto di accesso occupato, che invia costantemente pacchetti di 1500 byte a 11 mbps, esaurirà lo spazio di iv dopo 1500 * 8/(11 * 10 ^ 6) * 2 ^ 24 = ~ 18000 secondi, o 5 ore. (la quantità di tempo può essere anche inferiore, poiché molti pacchetti sono inferiori a 1500 byte.) ciò consente a un utente malintenzionato di raccogliere due cifrati crittografati con lo stesso flusso di chiavi ed eseguire attacchi statistici per recuperare il testo in chiaro. peggio ancora, quando la stessa chiave viene utilizzata da tutte le stazioni mobili, ci sono ancora più possibilità di collisione iv. ad esempio, una comune scheda wireless di lucent reimposta il valore iv su 0 ogni volta che una scheda viene inizializzata e incrementa il valore iv di 1 con ciascun pacchetto. ciò significa che due carte inserite all'incirca nello stesso momento forniranno un'abbondanza di collisioni iv per un attaccante. (peggio ancora, lo standard 802.11 specifica che cambiare il iv con ogni pacchetto è opzionale!)</p> </blockquote><p>qualche altro materiale di lettura interessante può essere trovato su <a href="http://dl.aircrack-ng.org/breakingwepandwpa.pdf">aircrack-ng.org</a> .</p><h2>wpa</h2><p>il secondo è wpa. wpa originariamente era inteso come un wrapper per wep che affronta le insicurezze causate da wep. in realtà non è mai stato inteso come standard di sicurezza ma solo come soluzione rapida fino a quando wpa2 non è diventato disponibile.</p><p>esistono due modalità in cui può operare:</p><ul> <li>wpa-psk: chiave già condivisa (password)</li> <li>wpa-enterprise: richiede un radius e può essere combinato con un <a href="http://en.wikipedia.org/wiki/extensible\_authentication\_protocol">extensible authentication protocol</a> (eap).</li> </ul><p>wpa utilizza generalmente il protocollo tkip (temporal key integrity protocol). tkip è stato progettato dal gruppo di attività ieee 802.11i e wi-fi alliance come soluzione per sostituire wep senza richiedere la sostituzione di hardware legacy. ciò era necessario perché la rottura di wep aveva lasciato le reti wifi senza una valida sicurezza a livello di collegamento ed era necessaria una soluzione per l'hardware già distribuito. tkip non è <strong> non </strong> un algoritmo di crittografia, ma viene utilizzato per assicurarsi che ogni pacchetto di dati venga inviato con una chiave di crittografia univoca.</p><p>da <a href="http://dl.aircrack-ng.org/breakingwepandwpa.pdf">il documento aircrack-ng.org</a> </p><blockquote> <p>tkip implementa una funzione di miscelazione delle chiavi più sofisticata per mescolare una chiave di sessione con un vettore di inizializzazione per ciascun pacchetto. ciò impedisce tutti gli attacchi di chiave correlati attualmente noti poiché ogni byte della chiave per pacchetto dipende da ogni byte della chiave di sessione e dal vettore di inizializzazione. inoltre, in ogni pacchetto è incluso un message integrity check (mic) a 64 bit chiamato michael per prevenire attacchi al meccanismo di protezione dell'integrità crc32 debole noto da wep. per prevenire semplici attacchi di replay, viene utilizzato un contatore di sequenza (tsc) che consente ai pacchetti di arrivare solo al destinatario.</p> </blockquote><p>esistono due attacchi noti contro tkip:</p><ul> <li>attacco di beck-tews</li> <li>attacco di ohigashi-morii (che è un miglioramento dell'attacco di beck-tews)</li> </ul><p>tuttavia, entrambi questi attacchi possono solo decrittografare piccole porzioni di dati, compromettendo la riservatezza. ciò che non possono darti è l'accesso alla rete. per darti un'idea di quanti dati possono essere recuperati, un singolo frame arp impiegherebbe circa 14-17 minuti per ottenere il testo in chiaro.</p><p>l'unico attacco noto, oltre a difetti nel firmware di alcuni router, è la forzatura del wpa. generalmente la chiave viene generata come segue:</p><pre><code>key = pbkdf2(hmac−sha1,passphrase, ssid, 4096, 256) </code></pre><p>considerando che questo algoritmo ha lo scopo di prevenire la violazione delle password con hash, può richiedere molto tempo. l'unico attacco ragionevole sarebbe usare un attacco con dizionario (quindi è importante usare password lunghe contenenti caratteri, numeri e lettere).</p><p>si noti inoltre che è necessario modificare il proprio ssid in qualcosa di molto casuale. le tabelle rainbow sono state generate per <a href="http://rainbowtables.shmoo.com/">i primi 1000 ssid utilizzati</a> .</p><p>wpa supporta anche aes (che può essere utilizzato al posto di rc4). ciò implicherebbe comunque l'utilizzo di tkip-mic.</p><h2>wpa2</h2><p>wpa2 supporta le stesse modalità di wpa, tranne per il fatto che non utilizza tkip ma ccmp per l'incapsulamento crittografico.</p><p>ccmp è un meccanismo avanzato di incapsulamento crittografico dei dati progettato per la riservatezza dei dati e basato sulla modalità counter con cbc-mac (ccm) dello standard aes. questo è usato per sostituire tkip per la riservatezza dei messaggi.</p><p>tuttavia, alcuni punti di accesso possono ancora essere configurati per utilizzare sia tkip che ccmp. ciò è stato fatto perché altrimenti le persone dovevano aggiornare il proprio hardware.</p><h2>estensioni</h2><h3>wps</h3><p>wi-fi protected setup (wps; originariamente wi-fi simple config) è uno standard di elaborazione che tenta di consentire una facile creazione di una rete domestica wireless sicura. consentiva una facile sicurezza per gli utenti domestici ma utilizzava ancora il più sicuro wpa anziché wep. wps non dovrebbe mai <strong> mai </strong> essere usato in quanto presenta un grande difetto di progettazione. wps genera "tramite il pulsante push di un pulsante" a pin che può essere inserito dall'utente. l'idea alla base di ciò era di aumentare l'usabilità. pone un problema: la quantità di possibilità è ridotta a 10.000.000 che qualsiasi computer può sgridare abbastanza rapidamente, anche quando si utilizza pbkdf2.</p><h3>eap</h3><p>eap è utilizzato per wpa (2) -enterprise ed è un framework di autenticazione, non un meccanismo di autenticazione specifico. fornisce alcune funzioni comuni e la negoziazione di metodi di autenticazione chiamati metodi eap. attualmente ci sono circa 40 diversi metodi definiti. alcuni hanno i loro difetti, tuttavia, considerando la grande quantità di possibilità che suggerisco di cercarli da soli.</p> un metodo molto semplice è segnare i numeri del contatore compresi i decimali (quelli rossi). chiudere tutti i rubinetti di casa e monitorare il contatore per qualche ora per notare se gira. oppure dovresti notare allacci anomali nei pressi del tuo contatore. se vuoi puoi mandarmi delle foto in privato del contatore e ti dico. per esperienza però ti dico che è improbabile un allaccio abusivo spesso la spiegazione di un consumo anomalo può essere un conguaglio lungo o una fuga idrica. se vuoi sapere cos'è un conguaglio ti lascio un nostro link nelle fonti. <p>ssl e ssh forniscono entrambi gli elementi crittografici per costruire un tunnel per il trasporto di dati riservati con integrità controllata. per quella parte, usano tecniche simili e possono soffrire dello stesso tipo di attacchi, quindi dovrebbero fornire una sicurezza simile (cioè una buona sicurezza) supponendo che siano entrambi correttamente implementati. che entrambi esistano è una specie di <a href="http://en.wikipedia.org/wiki/not\_invented\_here"> nih </a> sindrome: gli sviluppatori ssh avrebbero dovuto riutilizzare ssl per la parte del tunnel (il protocollo ssl è abbastanza flessibile da accogliere molte varianti, incluso il non utilizzo dei certificati).</p><p>differiscono sulle cose che si trovano intorno al tunnel. ssl utilizza tradizionalmente i certificati x.509 per annunciare le chiavi pubbliche del server e del client; ssh ha il suo formato. inoltre, ssh viene fornito con una serie di protocolli per ciò che va <em> all'interno del tunnel </em> (multiplexing di diversi trasferimenti, esecuzione dell'autenticazione basata su password all'interno del tunnel, gestione dei terminali. ..) mentre non esiste nulla di simile in ssl o, più precisamente, quando tali elementi vengono utilizzati in ssl non vengono considerati parte di ssl (ad esempio, quando si esegue l'autenticazione http basata su password in un tunnel ssl, noi dire che fa parte di "https", ma funziona davvero in un modo simile a quello che succede con ssh).</p><p>concettualmente, potresti prendere ssh e sostituire la parte del tunnel con quella di ssl. potresti anche prendere https e sostituire la cosa ssl con ssh con trasporto dati e un hook per estrarre la chiave pubblica del server dal suo certificato. non vi è alcuna impossibilità scientifica e, se eseguita correttamente, la sicurezza rimarrebbe la stessa. tuttavia, non esiste un insieme diffuso di convenzioni o strumenti esistenti per questo.</p><p>quindi non usiamo ssl e ssh per le stesse cose, ma questo è dovuto a quali strumenti sono stati storicamente forniti con le implementazioni di quei protocolli, <em> non </em> a causa di un differenza relativa alla sicurezza. e chiunque implementi ssl o ssh sarebbe ben consigliato di esaminare che tipo di attacchi sono stati provati su entrambi i protocolli.</p>