Messaggio di errore

  • Deprecated function: Methods with the same name as their class will not be constructors in a future version of PHP; views_display has a deprecated constructor in include_once() (linea 3469 di /home/cmswiki/public_html/includes/bootstrap.inc).
  • Deprecated function: Methods with the same name as their class will not be constructors in a future version of PHP; views_many_to_one_helper has a deprecated constructor in require_once() (linea 127 di /home/cmswiki/public_html/sites/all/modules/ctools/ctools.module).

PGP (Pretty Good Privacy)

 

Questa applicazione, pensata all’inizio degli anni ’90 da Philip Zimmermann e freeware, include sostanzialmente tutte le funzionalità descritte sopra e agevola la gestione delle chiavi. È disponibile per molte piattaforme (Windows, OS/2, Mac, Amiga, Unix/Linux, Vms, ecc.) e per Unix anche in formato sorgente modificabile. Esiste come plug-in di alcuni diffusi client di posta elettronica.
 
[adsense:block:adcontenuto]
 
Rispetto a quanto detto in precedenza, PGP apporta alcune varianti tecnicamente giustificate: in particolare, per motivi di efficienza legati alla durata della cifratura asimmetrica nel caso di lunghi messaggi, per la cifratura del messaggio viene utilizzato un più veloce algoritmo simmetrico utilizzando, come chiave segreta, una chiave casuale generata dal mittente all’atto dell’invio, chiave che viene cifrata con la chiave pubblica del destinatario. L’utente X che vuole inviare a Y il messaggio M effettua questi passaggi:
 
  1. 1. Viene utilizzato l’algoritmo MD5 per calcolare l’impronta del messaggio lunga 160 bit, ovvero I = MD5(M): il codice così ottenuto viene cifrato via RSA con la chiave privata del mittente Kxs e concatenato al messaggio, ottenendo M’ = M || C(I, Kxs).
  2. 2. M’ viene compresso con un algoritmo di tipo zip in modo da ridurne reversibilmente la lunghezza, ovvero M” = ZIP(M’).
  3. 3. Viene generato un numero casuale C di 128 bit denominato session key: esistono appositi algoritmi, da tempo disponibili, per ottenere una sequenza di numeri pseudocasuali caratterizzata da determinate proprietà statistiche; nel caso presente i numeri generati in una sequenza devono essere equiprobabili (come dire, nel caso dei numeri da 1 a 6, come se si tirasse ogni volta un dado).
  4. 4. Viene applicato l’algoritmo di crittografia convenzionale IDEA utilizzando come chiave il session key C, ottenendo Mc = IDEA(M”, C). Rispetto ad un algoritmo di crittografia con chiave asimmetrica, l’algoritmo IDEA comporta un onere computazionale inferiore e quindi riesce a cifrare in tempi brevi, sebbene con un livello di sicurezza modesto, anche messaggi molto lunghi.
  5. 5. La chiave C viene cifrata con l’algoritmo per crittografia a chiave asimmetrica RSA (oppure con l’algoritmo Diffie-Hellman/DSS) utilizzando come chiave la chiave pubblica del destinatario Kyp e il risultato concatenato al messaggio, ottenendo  Mx = Mc || RSA (C, Kyp). Essendo RSA un algoritmo ad elevato livello di sicurezza, tanto maggiore quanto è più lunga la chiave Kyp, è quindi computazionalmente più oneroso di un algoritmo per crittografia convenzionale ma applicato ad una informazione compatta quale C (che, come detto, ha lunghezza fissa di appena 128 bit).
  6. 6. Viene infine applicato su Mx l’algoritmo di trasformazione reversibile a testo ASCII denominato Armor Radix-64 che produce un messaggio di tipo testuale composto solo da codici ASCII, ottenendo Ax = AR64(Mx). Ax sarà il messaggio effettivamente spedito attraverso il canale non sicuro e la sua forma di testo ASCII ne rende facile la manipolazione da parte di tutti i client e server di posta elettronica.

[adsense:block:adcontenuto]

 

L’interfaccia di PGP consente di decidere se firmare o meno il messaggio, se trasformarlo o meno in un testo ASCII, e altre opzioni.
PGP è anche dotato di alcune funzioni ausiliarie per la gestione delle chiavi. Consente di generare coppie di chiavi pubblica/privata, generazione protetta da “frasi chiave” (passphrase) per aumentarne il grado di fidatezza. L’archivio di chiavi può essere memorizzato su file, possibilmente su supporto removibile per una conservazione ‘sicura’.
 
Sarà anche cura dell’utente evitare la divulgazione della passphrase che può rendere accessibile l’archivio privato delle chiavi. In merito al grado di sicurezza si deve anche tenere presente che la legge americana da tempo fa equivalere l’esportazione di metodi di crittografia con chiavi superiori ad un certo numero di bit (crittografia forte) all’esportazione di armi, perché ritenuta un pericolo per la sicurezza nazionale: questo ha prodotto la necessità di rendere disponibili due versioni del programma, una ad uso interno in USA e uno per l’esportazione.
 
La chiave pubblica può essere anche agevolmente spedita a uno o più siti di raccolta (keyserver) per la sua pubblicità. Molti keyserver sono collegati fra loro e si scambiano automaticamente le chiavi, evitando che gli utenti debbano provvedere esplicitamente a questa replicazione. I keyserver non sono però normalmente autorità di certificazione e quindi l’identificazione del destinatario non è in questo caso garantita.
 
Un’ultima accortezza riguarda il programma PGP stesso che potrebbe essere ottenuto in una versione maliziosamente modificata al fine di spedire di nascosto a terzi l’archivio personale delle chiavi: ci si accerti pertanto di scaricare il programma da siti ufficiali che diano un minimo di garanzia sotto questo aspetto.

 

Risorse per sviluppo: 

Ti potrebbero anche interessare:

Crittografia moderna e avvento dei computer

 

La nascita della moderna informatica ha fatto fare un salto di qualità anche al settore crittografico: in particolare è stato possibile studiare nuove metodologie di trasformazione crittografica non più legate ai simboli del testo da trasmettere, ma riferentesi direttamente alla loro codifica binaria.
Risorse per sviluppo: 

Storia della crittografia: Primo cifrario e cifrario di trasposizione

 

La più antica forma conosciuta di crittografia è la scitala lacedemonica, data da Plutarco come in uso dai tempi di Licurgo (IX sec a.C.) ma più sicuramente usata ai tempi di Lisandro (verso il 400 a.C.). Consisteva in un bastone su cui si avvolgeva ad elica un nastro di cuoio; sul nastro si scriveva per colonne parallele all'asse del bastone, lettera per lettera, il testo da rendere segreto.
Risorse per sviluppo: