Concetti Chiave
- La crittografia asimmetrica garantisce riservatezza e autenticità, criptando messaggi con chiavi pubbliche e private appropriate.
- L'algoritmo RSA si divide in generazione delle chiavi e crittografia, utilizzando numeri primi per creare chiavi pubbliche e private.
- La firma digitale assicura integrità e autenticità del documento, creando un file crittografico con estensione .p7m.
- Le funzioni di hash, come MD5, trasformano un testo in un'impronta digitale unica, facilitando il calcolo ma rendendo impossibile invertire il processo.
- I certificati digitali, validati da una Certification Authority, attestano il legame tra chiave pubblica e proprietario, supportati da un'infrastruttura PKI.
La Crittografia Asimmetrica
Con la crittografia asimmetrica:• Si risolve il problema della riservatezza: criptando il messaggio con la chiave pubblica solo il possessore della chiave privata è in grado di decriptarlo
• Si risolve il problema della autenticità del mittente: criptando il messaggio con la chiave privata solo con la corrispettiva chiave pubblica questo può essere decriptato
Algoritmo RSA (Rivest, Shamir, Adleman)
Algoritmo asimmetrico
Si può dividere in due componimenti principali:
1) La generazione delle chiavi
2) L’algoritmo crittografico vero e proprio
Nella prima fase bisogna:
a) Scegliere due numeri primi P e Q molto grandi e calcolare il loro prodotto N=(P*Q)
b) Calcolare un numero E (esponente pubblico) coprimo e più piccolo del risoltato di (P-1)(Q-1)
c) Calcolare un numero D (esponente privato) tale che il risultato sia un numero intero =
(E,N)=chiave pubblica
(D,N)=chiave privata
Coprimo= 2 numeri sono coprimi se l’unico divisore che hanno in comune è 1
In un sistema ibrido utilizziamo la chiave pubblica soltanto per comunicare la chiave segreta che poi verrà usata per una normale comunicazione basata su cifrari a chiave segreta
La firma digitale di basa su un sistema di codifica crittografica a chiavi asimmetriche che consente:
• La sottoscrizione di un documento informatico
• La verifica, da parte dei destinatari, dell’identità del soggetto sottoscrittore
• La certezza che l’informazione contenuta nel documento non sia stata alterata
Durante l’apposizione della firma il file viene “incapsulato” in una “bista crittografica” e il risultato è un nuovo file con estensione .p7m
La firma elettronica permette di effettuare un insieme di operazioni come:
• Inoltro elettronico di comunicazioni, istanze, denunce ecc
• Attivazione e monitoraggio di pratiche
• Posta elettronica certificata
Per rendere più efficiente il meccanismo di cifratura si utilizza una funzione di hash attraverso la quale si calcola una stringa identificativa del messaggio, detta fingerprint o digest composta da un numero limitato di caratteri
Una funzione di hash, anche chiamata one way hash, trasforma un testo normale di lunghezza arbitraria in una stringa in genere di lunghezza 128 bit, che “sintetizza” il messaggio in una sua impronta digitale unica che gode di tre importanti proprietà:
• È sempre facile calcolare il valore di hash di un messaggio
• È impossibile risalire al messaggio partendo da un dato valore di hash
• È poco probabile che due messaggi diversi abbiano la stessa sintesi
L’algoritmo di sintesi più usato è MD5 (message digest 5) realizzato da RIvest
L’elaborazione è piuttosto complessa e prevede quattro fasi:
1) Aggiunta di bit di riempimento
2) Aggiunta della lunchezza
3) Inizializzazione del buffer MD
4) Elaborazione del messaggio
Gli algoritmi SHA (secure hash algorithm) sono suddivisi in quattro categoria:
• SHA-0:obsoleto
• SHA-1:violato
• SHA-2:in uso
• SHA-3:annunciato nel 2012
L’algoritmo SHA-0 fu violato nel 2005 da un gruppo di crittoanalisti cinesi
Il certificato digitale è un documento informatico che attesta il legame chiave pubblica-proprietario
Questo certificato deve essere a sua volta validato da un ente certificatore (CA Certification Authority) che garantisce l’identità del proprietario del certificato
I dati contenuti nel certificato sono:
• Dati del proprietario
• Dati del certificato
• Dati della certification authority
La Registration Authority svolge le necessarie indagini e attiva le relative procedure per l’identificazione certa del richiedente
Un certificato digitale può avere diversi formati tra i quali i più diffusi sono:
• Chiavi PGC7GPG
• Certificati X.509
La Public Key Infrastructure è l’infrastruttura preposta alla creazione, distribuzione e revoca dei certificati di chiave pubblica
I PKI gestiscono le repository dei certificati dove memorizzano e pubblicano i certificati e le list di quelli revocati (CRL:Certificate Revocation List)
Per richiedere un certificato digitale sono presenti quattro passi:
1) Generazione della coppia di chiavi asimmetriche da utilizzare per cifrare le comunicazioni
2) Il richiedente comunica informazioni circa la propria identità alla Certification Authoruty
3) La Registration Authority inizia la verifica dei dati ricevuti
4) La Certification Authority genera il certificato e lo firma digitalmente
5) Il certificato firmato viene inviato al richiedente
Domande da interrogazione
- Qual è il problema principale che la crittografia asimmetrica risolve?
- Come funziona l'algoritmo RSA nella crittografia asimmetrica?
- Qual è il ruolo della firma digitale nella crittografia asimmetrica?
- Quali sono le proprietà di una funzione di hash?
- Quali sono i passaggi per ottenere un certificato digitale?
La crittografia asimmetrica risolve il problema della riservatezza e dell'autenticità del mittente, permettendo di criptare messaggi in modo che solo il destinatario previsto possa decriptarli.
L'algoritmo RSA si divide in due fasi principali: la generazione delle chiavi e l'algoritmo crittografico. Si scelgono due numeri primi grandi, si calcola il loro prodotto, e si determinano gli esponenti pubblico e privato.
La firma digitale consente la sottoscrizione di documenti informatici, verifica l'identità del sottoscrittore e garantisce che l'informazione non sia stata alterata.
Una funzione di hash è facile da calcolare, rende impossibile risalire al messaggio originale e rende improbabile che due messaggi diversi abbiano la stessa sintesi.
I passaggi includono la generazione della coppia di chiavi, la comunicazione delle informazioni alla Certification Authority, la verifica dei dati da parte della Registration Authority, e la generazione e firma del certificato da parte della Certification Authority.