|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#21 | |
|
Senior Member
Iscritto dal: Jun 2005
Città: Cagliari
Messaggi: 452
|
Quote:
|
|
|
|
|
|
|
#22 |
|
Senior Member
Iscritto dal: Nov 2003
Messaggi: 1825
|
OK mi sono letto alcuni articoli sul'argomento e penso di aver capito, è chiaro che lo stato iniziale delle due macchine non sono note alla terza che tenta di inserirsi.
Grazie a tutti. Ultima modifica di magilvia : 09-06-2005 alle 14:50. |
|
|
|
|
|
#23 |
|
Senior Member
Iscritto dal: Sep 2004
Città: Trieste
Messaggi: 1661
|
La "terza macchina" non avrà mai lo stesso "stato iniziale" di nessuna delle altre due semplicemente perchè non è in possesso della chiave privata( di una coppia chiave pubblica-privata) di nessuno degli altri due attori
|
|
|
|
|
|
#24 |
|
Senior Member
Iscritto dal: Sep 2004
Città: Trieste
Messaggi: 1661
|
La "terza macchina" non avrà mai lo stesso "stato iniziale" di nessuna delle altre due semplicemente perchè non è in possesso della chiave privata( di una coppia chiave pubblica-privata) di nessuno degli altri due attori
|
|
|
|
|
|
#25 |
|
Senior Member
Iscritto dal: Sep 2004
Città: Trieste
Messaggi: 1661
|
ops, sorry del doppio post
|
|
|
|
|
|
#26 | |
|
Senior Member
Iscritto dal: Aug 2004
Città: Provincia di Monza e Brianza
Messaggi: 2640
|
Quote:
Ora cmq dovresti aver capito, per un terzo incomodo non in possesso di una chiave privata, si tratterebbe di risolvere un'equazione in 2 incognite, cosa impossibile Ultima modifica di aLLaNoN81 : 09-06-2005 alle 15:32. |
|
|
|
|
|
|
#27 |
|
Senior Member
Iscritto dal: Jul 1999
Città: Martinsicuro (TE)
Messaggi: 571
|
Chiave &Lucchetto
Salve...
per comprendere meglio il concetto di chiave pubblica e privata, si può fare un parallelo con chiave e lucchetto (quelli fisici intendo, non digitali). La chiave pubblica è come un lucchetto, mentre la chiave privata è la chiave fisica per aprire il lucchetto. In pratica Tizio invia a Caio un lucchetto (chiave pubblica), di cui solo tizio ne possiede la chiave per aprirlo (chiave privata). Caio a questo punto non può fare altro che confezionare una scatola (il codice da inviare crittografato con la chiave pubblica) e chiuderla col lucchetto di Tizio (criptazione), quindi invia la scatola inlucchettata ( il codice cifrato), ovviamente solo Tizio che è in possesso della chiave fisica (chiave privata) potrà aprire il lucchetto ed aprire la scatola (decriptare e leggere il codice in chiaro). Se ho sbagliato vi prego di correggermi |
|
|
|
|
|
#28 |
|
Senior Member
Iscritto dal: Nov 2003
Messaggi: 1825
|
Penso che di tutto questo la cosa che confonde di più è che se A e B si scambio dati criptati, A invia a B chiave, doppia pubblica di criptazione e B invia ad A una'altra chiave, anche questa doppia e pubblica. Quindi alla fine nel sistema ci sono ben 8 chiavi, 4 pubbliche e 4 private
|
|
|
|
|
|
#29 |
|
Senior Member
Iscritto dal: Aug 2004
Città: Provincia di Monza e Brianza
Messaggi: 2640
|
No, nel sistema ci sono sempre 4 chiavi: 2 pubbliche e 2 private. A e B non si scambiano mai le proprie chiavi private perchè non ce n'è bisogno! A cripta con la propria privata e con la pubblica di B, mentre B in ricezione decifra con la propria chiave privata e viceversa. Non si ha mai un invio di chiavi sul canale.
|
|
|
|
|
|
#30 |
|
Senior Member
Iscritto dal: Nov 2003
Messaggi: 1825
|
Mi riferivo al fatto che ciascuna chiave è doppia nel senso che è composta da due valori. Quindi 8 chiavi.
|
|
|
|
|
|
#31 |
|
Senior Member
Iscritto dal: Jun 2003
Città: .
Messaggi: 1408
|
Io sapevo che per SSLv3 [ho omesso in questo post l'autentificazione del client da parte del server perchè è facoltativa] il client invia al server una serie di informazioni (algoritmi di crittografia e d'integrità supportati,esempio Des,Triple Des,RC4 per la crittografia e MD5 e SHA-1 per l'integrità,l'utilizzo di compressione) e un nonce generato localmente chiamiamolo Rclient.
Dopodichè il server comunicava gli algoritmi scelti fra quelli supportati dal client e sceglieva un nonce generato localmente (Rserver) e spediva il tutto al client. A questo punto il server invia il proprio certificato (firmato da una CA,basta guardare nelle proprie opzioni del broswer per vedere le CA presenti) con la propria chiave pubblica e poi comunica al client che è arrivato il suo turno (transazione server conclusa). Il client risponde scegliendo una chiave casuale di 384 bit detta Premaster Key che invia al server in forma crittografata utilizzando la chiave pubblica (certificata) del server. La Session Key vera e propria però non è la Premaster Key ma è ricavata da i 2 nonce (Rserver e Rclient) e la stessa Premaster Key. Entrambi calcolano la Session Key. A questo punto il client spedisce 2 messaggi per indicare che da qui in avanti si utilizzerà la chiave e che il protocollo di handshake è terminato. Il server risponde con 2 messaggi per confermare i precedenti. Adesso è terminato completamente l'handshake fra client e il server. Talvolta potrebbe esserci anche l'autentificazione del client da parte del server (non è obbligatoria),ho omesso questa parte. Da qui in poi si cripta i dati provenienti dallo strato applicativo oltre che un controllo d'integrità. Infatti si utilizza un altro protocollo di SSLv3 (il precendente definiva le regole per l'handshake) per la crittografia e l'integrità. I msg provenienti dallo strato applicativo (si pensi a SSLv3 come a uno strato intermedio fra strato applicativo e strato di trasporto o meglio del solo TCP visto che funziona solo con quest'ultimo) vengono suddivisi in blocchi di 16kbyte ciascuno (se è abilitata la compressione ogni unità è compressa singolarmente). Poi si calcola con l'algoritmo scelto per l'integrità (esempio MD5) un Hash sul blocco+la Session Key concatenata a quest'ultimo. Poi l'hash viene aggiunto al blocco come MAC (Message Autentication Code) e compresso. Poi viene cifrato con l'algoritmo a chiave simmetrica scelto (di solito per transazioni commerciali viene calcolata l'Xor fra la KeyStream di RC4,a sua volta generata utilizzando come seme la Session Key,e il blocco in questione). Infine viene aggiunta un'intestazione a questo blocco finale cifrato e passato allo strato di trasporto (il quale lo inserirà come carico utile in un segmento TCP). Da notare che il migliore algoritmo per l'integrità è SHA-1 e per la crittografia il Triple DES con chiavi a 168Bit. Altrimenti un altro per la crittografia è l'RC4 con chiavi a 128Bit (se non sbaglio in alcuni paesi è necessario però che i primi 88Bit siano pubblici per ragioni di governo....) e per l'integrità invece un alternativa a SHA-1 è MD5. Da notare che quando si utilizza http su ssl prende il nome di https. Inoltre non è possibile (almeno su Apache) utilizzare la funzione di "VirtualHost" basati su i nomi perchè prima di scambiare qualsiasi dato (quindi anche i msg http) si autentifica il server con un certificato firmato da una CA dove è presente il "nome logico" del server web. Spero di non aver detto qualcosa di errato se sì ditemelo .Edit : I 2 protocolli di SSLv3 sono SSL Handshake Protocol (il primo per l'handshake) e SSL Record Protocol (per il trasporto crittografato dell'informazione e il controllo di integrità) come scritto anche nell'articolo. Ultima modifica di sgksgk : 09-06-2005 alle 22:40. |
|
|
|
|
|
#32 |
|
Bannato
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR Casco: XR1000 Diabolic 3
Messaggi: 27578
|
Ho visto adesso questa news... Decisamente interessante... Apache ha gia' un'implementazione per SSL 3.0?
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:16.











.








