Embedded_53 - page 72

EMBEDDED
53 • SETTEMBRE • 2014
72
SOFTWARE
CRITTOGRAFIA
di entrambi i tipi di crittografia senza penalizzare
troppo le performance. Un’altra soluzione è quella
di ottimizzare il codice degli algoritmi crittografici
e la loro compilazione, stando però ben attenti a
non ridurne l’efficacia o a introdurre vulnerabilità.
Una terza soluzione è quella di trasportare su har-
dware/firmware gli algoritmi crittografici (una volta
che sono considerati stabili) e integrare acceleratori
crittografici nei processori embedded dedicati al
networking e alla comunicazione. Spesso tutte que-
ste soluzioni vengono implementate in affiancamen-
to l’una con l’altra per ottenere i migliori risultati.
La firma digitale
Gli algoritmi asimmetrici possono essere utilizzati
anche per generare “firme digitali”, che sfruttano
delle elaborazioni algoritmiche particolari non rever-
sibili (dette funzioni di “hash”), grazie alle quali
è possibile verificare l’autenticità del messaggio.
Per creare la firma per un documento si ricava innan-
zitutto l’impronta digitale del documento tramite una
funzione hash (pubblica), un file di dimensioni rela-
tivamente piccole (dell’ordine di qualche centinaio
di bit) che contiene una sorta di codice di controllo
relativo al documento stesso. Successivamente si
utilizza la propria chiave privata per crittare l’impronta
digitale: il risultato di questa codifica è la firma. La
funzione hash è fatta in modo da rendere minima la
probabilità che da documenti diversi si possa otte-
nere lo stesso valore dell’impronta; inoltre è a senso
unico (“one-way“), e garantisce che dall’impronta sia
impossibile ottenere nuovamente il testo originario.
La firma prodotta dipende dall’impronta digitale del
documento e, quindi, dal documento stesso, oltre
che dalla chiave privata dell’utente. A questo punto la
firma viene allegata al documento.
In fase di ricezione, chiunque può verificare l’autenticità del
documento: decritta la firma del documento con la chiave
pubblica del mittente, ottenendo l’impronta digitale del docu-
mento, e quindi confronta quest’ultima con quella che si ottiene
applicando la funzione hash al documento ricevuto; se le due
impronte sono uguali, l’autenticità e l’integrità del documento
sono garantite.
Con questa importante tecnica si assicura che il messaggio ori-
ginale, la firma e la coppia di chiavi dell’utente siano strettamen-
te legate; alla modifica di qualsiasi componente la validazione
(il riconoscimento) della firma fallisce. Esempi di algoritmi di
firma digitale sono RSA, DSA (Digital Signature Algorithm),
ECDSA (Elliptic Curve Digital Signature Algorithm). Sul mec-
canismo di firma digitale si basa la Posta Elettronica Certificata
(PEC).
I certificati digitali
Anche se si utilizza l’algoritmo di firma digitale, la chiave pub-
blica di firma di un dispositivo deve essere ottenuta utilizzando
una modalità autenticata per garantire l’autenticità del messag-
gio ricevuto. Il trasferimento autenticato di chiavi pubbliche in
una grande rete è difficile e spesso non è possibile senza una
authority centralizzata di fiducia, riconosciuta da tutti i dispositi-
vi della rete come attendibile. Questo soggetto, detto Certificate
Authority (CA), consente di ottemperare a questa funzione.
I dati di un dispositivo firmati dalla CA (Public-Key, ID e così
via), disposti con la firma in un formato standard (es. X.509)
creano il cosiddetto certificato. I certificati sono rilasciati da
CA a tutti i dispositivi che partecipano alla comunicazione.
Per ottenere il proprio certificato, una periferica richiede il cer-
tificato dalla CA inviando la sua chiave pubblica, ID univoco e
altre informazioni, come richiesto dalla CA. La CA di solito effet-
Fig. 3 – Progetto di riferimento per smart meter basato su
MCU Kinetis (a) engine per la gestione della sicurezza (b) (Foto:
Freescale Semiconductor)
1...,62,63,64,65,66,67,68,69,70,71 73,74,75,76,77,78,79,80,81,82,...86
Powered by FlippingBook