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

  1. Qual è il principale vantaggio della crittografia asimmetrica?
  2. 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.

  3. Come funziona l'algoritmo RSA nella generazione delle chiavi?
  4. 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).

  5. Qual è il ruolo della firma digitale nei documenti informatici?
  6. 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.

  7. Cosa sono le funzioni di hash e quale importanza hanno nella crittografia?
  8. 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.

  9. Qual è la funzione dei certificati digitali e come vengono validati?
  10. 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.

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community