Chiavi simmetriche e chiavi pubbliche: differenze tra le versioni

Riga 10: Riga 10:


==Chiavi simmetriche==
==Chiavi simmetriche==
La caratteristica fondamentale l'esistenza di un'unica chiave utilizzata per codificare il testo in chiaro e per decodificare quello cifrato. C'inoltre da dire che gli algoritmi simmetrici sono pi� veloci di quelli a chiave pubblica. Vediamo in pratica ora come si pu� crittografare un testo con blowfish.
La caratteristica fondamentale è l'esistenza di un'unica chiave utilizzata per codificare il testo in chiaro e per decodificare quello cifrato. C'è inoltre da dire che gli algoritmi simmetrici sono più veloci di quelli a chiave pubblica. Vediamo in pratica ora come si può crittografare un testo con blowfish.


<pre>
<pre>
Riga 25: Riga 25:
<pre>
<pre>
davide@portatile:~$ vi testoCifrato.txt
davide@portatile:~$ vi testoCifrato.txt
Salted__��X??��m�����>EEX?���&��iu?��j�1��??D�_�3
Salted__üÉX��øƒmºïÏć«´â>EEX�À¹®&¨Ùiu�÷éÁÀj¦1òŠí�?D¸_ã3
</pre>
</pre>


Riga 37: Riga 37:
</pre>
</pre>


E si pu� verificare che tornato allo stato originale.
E si può verificare che è tornato allo stato originale.


==Chiavi asimmetriche==
==Chiavi asimmetriche==
In questo caso la chiave usata per cifrare e decifrare non e' la stessa. Infatti una e' utilizzata solo per cifrare(la chiave pubblica) e l'altra solo per decifrare(la chiave privata). Di conseguenza le due chiavi devono essere fortemente connesse tra di loro.
In questo caso la chiave usata per cifrare e decifrare non e' la stessa. Infatti una e' utilizzata solo per cifrare(la chiave pubblica) e l'altra solo per decifrare(la chiave privata). Di conseguenza le due chiavi devono essere fortemente connesse tra di loro.
La chiave pubblica, come dice il nome, deve esser resa pubblica a tutte le persone che vogliono parlare con me in maniera sicura. Ad esempio io posso pubblicarla sul mio sito oppure spedirla via mail. La chiave privata solamente mia e non va assolutamente trasmessa via mail.
La chiave pubblica, come dice il nome, deve esser resa pubblica a tutte le persone che vogliono parlare con me in maniera sicura. Ad esempio io posso pubblicarla sul mio sito oppure spedirla via mail. La chiave privata è solamente mia e non va assolutamente trasmessa via mail.


Vediamo ora sul lato pratico come si procede.
Vediamo ora sul lato pratico come si procede.
Riga 65: Riga 65:
<pre>
<pre>
Cosa scegli? 1
Cosa scegli? 1
La coppia DSA avr� 1024 bit.
La coppia DSA avrà 1024 bit.
Sto per generare una nuova coppia di chiavi ELG-E.
Sto per generare una nuova coppia di chiavi ELG-E.
               la dimensione minima 768 bit
               la dimensione minima è 768 bit
           la dimensione predefinita 1024 bit
           la dimensione predefinita è 1024 bit
   la dimensione massima consigliata 2048 bit
   la dimensione massima consigliata è 2048 bit
Di che dimensioni vuoi la chiave? (1024)
Di che dimensioni vuoi la chiave? (1024)
</pre>
</pre>
Riga 75: Riga 75:
Qui scegliamo la dimensione massima...
Qui scegliamo la dimensione massima...


Quindi decidiamo la validit� della chiave...
Quindi decidiamo la validità della chiave...


Poi si segue la procedura che fa' inserire alcuni dati e alla fine vengono create le due chiavi.
Poi si segue la procedura che fa' inserire alcuni dati e alla fine vengono create le due chiavi.
Riga 91: Riga 91:
</pre>
</pre>


Se voglio esportare la mia chiave pubblica posso procedere cos�:
Se voglio esportare la mia chiave pubblica posso procedere così:


<pre>
<pre>
Riga 122: Riga 122:
</pre>
</pre>


Cos� io posso prendere il testo e salvarlo.
Così io posso prendere il testo e salvarlo.


Quando voglio importare una chiave pubblica:
Quando voglio importare una chiave pubblica:
Riga 152: Riga 152:


Bene, visto che funziona, facciamo un passo avanti. Con la nostra
Bene, visto che funziona, facciamo un passo avanti. Con la nostra
chiave privata si pu� inoltre "firmare".Cos� sono sicuro
chiave privata si può inoltre "firmare".Così sono sicuro
della provenienza dell'e-mail. Spesso le due tecniche vengono combinate:
della provenienza dell'e-mail. Spesso le due tecniche vengono combinate:
prima la mail viene cifrata con la chiave pubblica del destinatario, poi
prima la mail viene cifrata con la chiave pubblica del destinatario, poi
Riga 158: Riga 158:
provenienza della mail al destinatario. Infatti le mail che hanno
provenienza della mail al destinatario. Infatti le mail che hanno
la firma digitale non possono essere ripudiate, ovvero il mittente non
la firma digitale non possono essere ripudiate, ovvero il mittente non
potr� negare di aver mandato suddetta mail.
potrà negare di aver mandato suddetta mail.




Riga 167: Riga 167:
''di gad--''
''di gad--''


Non capisco propio perch� hai usato openssl per la cifratura a chiavi simmetriche gpg per quella con chiavi asimmetriche. Per precisione meglio dire che anche con openssl puoi criptare con la chiave pubblica. Ti riporto un esempio:
Non capisco propio perchè hai usato openssl per la cifratura a chiavi simmetriche è gpg per quella con chiavi asimmetriche. Per precisione è meglio dire che anche con openssl puoi criptare con la chiave pubblica. Ti riporto un esempio:


<pre>
<pre>
Riga 190: Riga 190:
'''''Osservazione sul commento di gad:'''''
'''''Osservazione sul commento di gad:'''''


Sembra che con RSA si possa cifrare una quantit� di dati molto limitata (dipende dalla lunghezza della chiave, comunque si parla di 117 byte per chiavi di 1024 bit) quindi nella maggior parte dei casi pratici l'esempio sopra non pu� essere applicabile direttamente.
Sembra che con RSA puro si possa cifrare una quantità di dati molto limitata (dipende dalla lunghezza della chiave, comunque si parla di 117 byte per chiavi di 1024 bit) quindi nella maggior parte dei casi pratici l'esempio sopra non può essere applicabile direttamente.
Solitamente infatti si usa RSA per cifrare una chiave casuale che viene usata per cifrare il file con un algorimo simmetrico. Sembra che non sia possibile fare questo in modo banale con openssl (occorre fare diversi passaggi e distribuire le informazioni in file separati, per un esempio vedere [http://www.dmst.aueb.gr/dds/secimp/crypto/indexw.htm] al paragrafo "Case Study: Public Key Cryptography") a meno di non utilizzare la codifica S/MIME di cui parli sotto.
Solitamente infatti si usa RSA per cifrare una chiave casuale che viene usata per cifrare il file con un algorimo simmetrico. Sembra che non sia possibile fare questo in modo banale con openssl (occorre fare diversi passaggi e distribuire le informazioni in file separati, per un esempio vedere [http://www.dmst.aueb.gr/dds/secimp/crypto/indexw.htm] al paragrafo "Case Study: Public Key Cryptography") a meno di non utilizzare la codifica S/MIME di cui parli sotto.


Scusate se il commento non inserito nel modo pi� ortodosso ma passavo di qui per caso.
Scusate se il commento non é inserito nel modo più ortodosso ma passavo di qui per caso.


'''''Fine dell'osservazione sul commento di gad:'''''
'''''Fine dell'osservazione sul commento di gad:'''''


Sono d'accordo con te quando dici che pgp il pi� usato, perch� supportato da quasi tutti i client email. Comunque anche openssl comprende un protocollo specifico per criptare le email. Il protocollo S/MIME Secure Multipurpose Internet Mail Extensions. Dunque i due software sono funzionalmente equivalenti, tranne per un aspetto rilevante: il modello di fiducia.
Sono d'accordo con te quando dici che pgp è il più usato, perchè supportato da quasi tutti i client email. Comunque anche openssl comprende un protocollo specifico per criptare le email. Il protocollo S/MIME Secure Multipurpose Internet Mail Extensions. Dunque i due software sono funzionalmente equivalenti, tranne per un aspetto rilevante: il modello di fiducia.


La differenza fondamentale tra i due sistemi che mentre PGP utilizza una gestione "utente-centrica" delle chiavi pubbliche (il cosiddetto web of trust), S/MIME impiega una struttura gerarchica di certificazione (le Certification Authorities o CA).
La differenza fondamentale tra i due sistemi è che mentre PGP utilizza una gestione "utente-centrica" delle chiavi pubbliche (il cosiddetto web of trust), S/MIME impiega una struttura gerarchica di certificazione (le Certification Authorities o CA).


S/MIME ha un modello di fiducia gerarchico, in cui "autorit� di certificazione" certificano l'identit� degli utenti (e questa la struttura adottata anche dalla legislazione italiana), PGP adotta un sistema a rete, in cui gli utenti si certificano a vicenda: ogni utente mantiene la lista di chiavi pubbliche dei suoi corrispondenti (viene chiamata keyring), ognuna delle quali viene firmata con la propria chiave privata.
S/MIME ha un modello di fiducia gerarchico, in cui "autorità di certificazione" certificano l'identità degli utenti (e questa è la struttura adottata anche dalla legislazione italiana), PGP adotta un sistema a rete, in cui gli utenti si certificano a vicenda: ogni utente mantiene la lista di chiavi pubbliche dei suoi corrispondenti (viene chiamata keyring), ognuna delle quali viene firmata con la propria chiave privata.


possibile scambiarsi i keyring: alle chiavi importate (e quindi firmate dal proprietario) possibile assegnare diverse gradazioni di "fiducia" che permettono di costruire il cosiddetto web of trust (l'equivalente della struttura gerarchica dei certificati). ... bla, bla , bla
È possibile scambiarsi i keyring: alle chiavi importate (e quindi firmate dal proprietario) è possibile assegnare diverse gradazioni di "fiducia" che permettono di costruire il cosiddetto web of trust (l'equivalente della struttura gerarchica dei certificati). ... bla, bla , bla


Vi riporto anche un esempio di utilizzo:
Vi riporto anche un esempio di utilizzo:
Riga 215: Riga 215:
</pre>
</pre>


P.S.: Spero che con questo contribuito ho aggiunto qualcosa in + al articolo che cmq ottimo.
P.S.: Spero che con questo contribuito ho aggiunto qualcosa in + al articolo che cmq è ottimo.
13

contributi