Banner
Scritto da Aerendir   

Come Funziona un Certificato Digitale

Blog - Sicurezza

Come funziona un certificato digitale e come rende sicura una comunicazione riservata

Come detto nell'articolo precedente, un certificato digitale garantisce la sicurezza del trasferimento dei dati tra due computer.

Ma com'è possibile ottenere un risultato del genere?

La risposta va cercata in un principio ed in un protocollo. Che paroloni! Non ti spaventare, i concetti sono molto semplici.

Il principio è quello delle chiavi asimmetriche; il protocollo consiste nei dati che i due computer si scambiano per "conoscersi", per identificarsi prima di trasmettersi le informazioni da proteggere.

Vediamo di chiarire la situazione.

Il principio delle chiavi asimmetriche

La prima cosa da fare per comprendere il funzionamento dei certificati digitali è capire il principio delle chiavi asimmetriche.

Un vecchio adagio recita "Can che abbaia non morde". Non lasciarti intimorire: fidati se ti dico che il nome di questo principio abbaia solo.

Come avrai già intuito tutto si fonda su una coppia di chiavi asimmetriche.

Una chiave è una stringa, un insieme di caratteri (lettere, numeri, simboli) di una certa lunghezza.

Le due chiavi vengono generate insieme usando un complesso algoritmo matematico. Si potrebbe dire che sono sorelle.

Una delle due viene resa pubblica e chiunque può leggerla. L'altra chiave rimane custodita gelosamente e non deve essere comunicata a nessuno. Molto semplicemente vengono chiamate "Chiave pubblica" e "Chiave privata".

Le due chiavi vengono definite asimmetriche perchè

  1. Un messaggio cifrato con la chiave pubblica può essere decifrato solo con la corrispondente chiave privata;
  2. Un messaggio cifrato con la chiave privata può essere decifrato solo con la corrispondente chiave pubblica;
  3. Un messaggio cifrato con la chiave pubblica non può essere decifrato con la stessa chiave pubblica;
  4. Un messaggio cifrato con la chiave privata non può essere decifrato con la stessa chiave privata.

Quindi, se vogliamo scambiarci un messaggio e non vogliamo che altri lo leggano sceglieremo per prima cosa se usare la tua coppia di chiavi o la mia coppia di chiavi. Qualora usassimo la tua coppia di chiavi io userò la tua chiave pubblica per cifrare il messaggio. Per leggerlo tu userai la tua chiave privata. Se tu mi vuoi mandare un messaggio userai la tua chiave privata per cifrarlo. Io per leggerlo userò la tua chiave pubblica. Qualora usassimo la mia coppia di chiavi io userò la mia chiave privata per cifrare il messaggio. Tu userai la mia chiave pubblica per decifrarlo. Se tu mi vuoi mandare un messaggio userai la mia chiave pubblica per cifrarlo. Io userò la mia chiave privata per decifrarlo.

Semplice, come bere un bicchiere d'acqua!

Lo schema seguente ripropone concettualmente il funzionamento della crittografia con coppie di chiavi asimmetriche (fonte: Wikipedia). Clicca sull'immagine per ingrandirla.

Schema di funzionamento della crittografia con chiavi asimmetriche

Come funziona il certificato digitale in pratica

A questo punto possiamo vedere come la crittografia asimmetrica viene applicata al certificato digitale rendendolo uno strumento sicuro per scambiare informazioni tra due computer.

Tutto il sistema si fonda sull'affidabilità della Certification Authority. E' a questa che ci si rivolge per acquistare un certificato digitale ed anch'essa ha una propria coppia di chiavi.

Quando la Certification Authority ti fornisce i dati del tuo certificato ne cifra le chiavi con la propria chiave privata. Quindi sarà possibile decifrarle con la corrispondente chiave pubblica della Certification Authority. Questo garantisce che, una volta consegnate al legittimo proprietario, non sarà possibile alterare le chiavi.

In concreto succede questo:
  1. Il Client (il computer dell'utente che accede al tuo sito) richiede l'apertura di una connessione protetta al Server;
  2. Il Server (il computer che ospita il tuo sito) risponde al Client inviandogli:
    • Il proprio ID
    • Il nome della società per la quale è stato emesso il certificato (cioè il nome della tua società)
    • Il proprio common name, che contiene il nome di dominio per il quale il certificato è valido (cioè l'indirizzo del tuo sito)
    • Il periodo di validità del certificato
    • Il nome della Certification Authority che ha rilasciato il certificato
    • La propria chiave pubblica cifrata con la chiave privata della Certification Authority
  3. Il Client verifica la validità dei dati che gli sono stati inviati dal Server e ne decifra la chiave pubblica utilizzando la chiave pubblica della Certification Authority.
  4. Il Client usa la chiave pubblica del Server appena ottenuta per cifrare ed inviargli:
    1. Il proprio ID
    2. Un ID di sessione (che permette al Server di distinguere un Client dagli altri)
  5. Le presentazioni tra Client e Server sono finite, ora i due si conoscono e sono in grado di trasmettere e ricevere dati cifrati perchè si sono scambiati le chiavi per codificare la comunicazione. Da questo momento in poi tutti i dati saranno assolutamente protetti.

Quella esposta sopra è una generica procedura di comunicazione cifrata. I dati in concreto scambiati tra Server e Client possono cambiare in relazione al tipo di certificato utilizzato. Non esiste, infatti, IL certificato digitale. Piuttosto esistono vari tipi di certificato digitale, ognuno con una propria specifica funzione ed un proprio specifico livello di sicurezza ed una propria specifica destinazione d'uso (questo sarà argomento di uno dei prossimi articoli di questa serie)

Di seguito un breve video da YouTube che riassume in maniera molto simpatica il funzionamento di un certificato digitale.

Come funziona un certificato digitale rendendo sicura Internet

Alcune note di chiusura e link di approfondimento

Come vedi tutto il procedimento si basa sull'uso combinato di più coppie di chiavi asimmetriche, quelle del Server e quelle della Certification Authority. Quest'ultima ha cifrato le chiavi asimmetriche del Server con la propria chiave privata per garantirne l'integrità e la provenienza ed evitare che vengano manomesse da terzi non autorizzati.

La chiave pubblica della Certification Authority, preinstallata nei vari browser in circolazione, è necessaria per "sbloccare" la chiave pubblica del Server (a quella privata, anch'essa cifrata dalla Certification Authority, non può accedere nessuno, se non il proprietario del Server). La chiave pubblica del Server verrà utilizzata per le comunicazioni tra di esso ed il Client.

Affidarsi ad una solida Certification Authority eviterà il presentarsi di alcuni inconvenienti pratici. Per esempio, cosa succede se il browser del Client non possiede la chiave pubblica della Certification Authority?

Ci avviamo, quindi, verso il prossimo articolo che chiarirà proprio questi aspetti legati alla scelta della Certification Authority cui affidarsi.

Nel frattempo iscriviti al feed RSS per non perderlo.

Per approfondire la crittografia asimmetrica puoi leggere su Wikipedia la voce http://it.wikipedia.org/wiki/Crittografia_asimmetrica.

blog comments powered by Disqus
 

Pubblica un guest post

eCommerceRS.net ti lascia le porte aperte se vuoi scrivere un guest post.

Se vuoi esprimere un pensiero, una tua esprienza, avere un po' di visibilità, questa è l'occasione giusta.
Se hai un'idea che ti frulla per la testa leggi le linee guida sui guest post e inviami il tuo scritto. Lo vedrai pubblicato!

Io sono...

... un blogger e studente di Giurisprudenza. Amo Internet ed ho trovato nell'ecommerce la perfetta sintesi tra piacere e lavoro (futuro).

Ho conosciuto l'Open Source. Sono libero e libero è anche l'Open Source. Sul mio computer c'è Ubuntu.

Basta così, se vuoi saperne di più puoi leggere la pagina chi sono...

Aerendir su FacebookAerendir su TwitterAerendir su FriendFeedAerendir su Meemi

Feedback

eCommerceRS è nato per te, per aiutarti a svolgere l'attività di ecommerce nel migliore dei modi.

Quindi se hai suggerimenti su come migliorarlo, se vuoi che venga trattato un particolare argomento, se hai domande, non esitare a contattarmi. Farò il possibile per risponderti quanto prima.

Your are currently browsing this site with Internet Explorer 6 (IE6).

Your current web browser must be updated to version 7 of Internet Explorer (IE7) to take advantage of all of template's capabilities.

Why should I upgrade to Internet Explorer 7? Microsoft has redesigned Internet Explorer from the ground up, with better security, new capabilities, and a whole new interface. Many changes resulted from the feedback of millions of users who tested prerelease versions of the new browser. The most compelling reason to upgrade is the improved security. The Internet of today is not the Internet of five years ago. There are dangers that simply didn't exist back in 2001, when Internet Explorer 6 was released to the world. Internet Explorer 7 makes surfing the web fundamentally safer by offering greater protection against viruses, spyware, and other online risks.

Get free downloads for Internet Explorer 7, including recommended updates as they become available. To download Internet Explorer 7 in the language of your choice, please visit the Internet Explorer 7 worldwide page.