Concetti Chiave
- La crittografia asimmetrica garantisce la riservatezza e l'autenticità, permettendo al mittente di criptare i messaggi in modo che solo il destinatario possa decriptarli.
- L'algoritmo RSA si compone di due fasi principali: la generazione delle chiavi e l'algoritmo crittografico, utilizzando numeri primi per creare chiavi pubbliche e private.
- La firma digitale è un sistema crittografico che consente di sottoscrivere documenti elettronici, verificando l'identità del firmatario e assicurando l'integrità del contenuto.
- Le funzioni di hash, come MD5, trasformano messaggi di lunghezza variabile in impronte digitali uniche, rendendo difficile risalire al messaggio originale.
- I certificati digitali attestano il legame tra chiave pubblica e proprietario, richiedendo la validazione da parte di una Certification Authority e gestendo la creazione e revoca tramite una Public Key Infrastructure.
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 e generazione chiavi
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
Firma digitale e sicurezza documenti
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
Funzione di hash e impronta digitale
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
Algoritmi SHA e certificati digitali
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 principale vantaggio della crittografia asimmetrica?
- Come funziona l'algoritmo RSA nella generazione delle chiavi?
- Qual è il ruolo della firma digitale nei documenti informatici?
- Cosa sono le funzioni di hash e quale importanza hanno nella crittografia?
- Qual è la funzione dei certificati digitali e come vengono validati?
La crittografia asimmetrica risolve il problema della riservatezza e dell'autenticità del mittente, consentendo di criptare i messaggi con la chiave pubblica e decriptarli solo con la chiave privata corrispondente.
L'algoritmo RSA prevede la scelta di due numeri primi P e Q, il calcolo del loro prodotto N, e la determinazione di un esponente pubblico E e di un esponente privato D, creando così la chiave pubblica (E,N) e la chiave privata (D,N).
La firma digitale consente la sottoscrizione di documenti informatici, garantendo l'identità del sottoscrittore e l'integrità delle informazioni, attraverso un processo di codifica crittografica a chiavi asimmetriche.
Le funzioni di hash trasformano un testo di lunghezza arbitraria in una stringa di lunghezza fissa, creando un'impronta digitale unica del messaggio, che è facile da calcolare ma difficile da invertire, garantendo così l'integrità dei dati.
I certificati digitali attestano il legame tra chiave pubblica e proprietario e devono essere validati da un ente certificatore (CA) che verifica l'identità del proprietario, garantendo così la sicurezza delle comunicazioni.