1. Introduzione
Il commercio dipende sempre più dalle infrastrutture
delle informazioni globali, più opportunamente dall’efficienza dei costi
della comunicazione elettronica con i business-partner ( società, aziende, enti
governativi ecc. ). Le informazioni delicate in transito devono essere
salvaguardate per prevenire la perdita delle "proprietà dei dati" e
per proteggere integralmente le informazioni.
L'informazione è un punto di forza vitale, e la
crittografia (la scienza degli scritti segreti e dell'integrità delle
informazioni), è emersa come il più efficace mezzo di sicurezza delle
informazioni in trasmissione e della memorizzazione.
La crittografia commerciale non è solo usata per la
cifratura delle informazioni commerciali di dati confidenziali, ma anche per
altre aree della sicurezza delle informazioni, includendo l'autenticazione
dell'utente, l'integrità dei dati, l'autenticazione dei dati. Le funzioni
crittografiche convertono i testi in chiaro in testi cifrati, sotto il controllo
delle chiavi crittografiche. La maggior parte delle applicazioni crittografiche
commerciali usano algoritmi che sono conosciuti e pubblicati, come Data
encryption standard (DES) [1]. Perché ognuno con la chiave segreta può
convertire i testi cifrati nuovamente nel testo in chiaro, allora sia
l’autenticità che la sicurezza della chiave segreta di cifratura deve essere
protetta. Ciò nonostante le chiavi, devono essere rese disponibili a parti
autorizzate, per accedere al testo in chiaro. Così, le chiavi devono essere
generalmente nascoste e selezionate con la dovuta accortezza. Il “Key
Recovery” [2] è una tecnica per il recupero delle informazioni
crittografiche.
1.1 Key
Recovery
Le tecniche di "key management" (gestione della chiave) esistono per manipolare
il ciclo vitale della chiavi crittografiche, includendo distribuzione, validità,
memorizzazione ed uso di chiavi.
Se le chiavi venissero perse, danneggiate o rese
inutilizzabili per parti autorizzate allora sarebbero necessarie delle tecniche
per gestire il recupero del testo in chiaro, riottenendo la chiave attraverso la ricostruzione e/o il
recupero. Alcune tecniche rappresentano una parte integrale della gestione
commerciale della chiave. Un fattore indipendente dalle tecniche di Key recovery
[2]
è la regolazione da parte dei paesi per il loro uso, esporto o importo di
cifratura forte. L'uso di particolari tecnologie di Key recovery favorite dalle
autorità governative possono essere necessarie per vendere o usare prodotti in
alcuni paesi.
Parecchie tecniche sono state proposte per
fornire il recupero di chiavi (Key recovery)[2]: il Key escrow, commercial key
recovery, backup crittografico e
recupero, e tecniche di fiducia date a
terze parti. Queste tecniche sono
definite differentemente da varie comunità di interesse, e gli schemi associati
sono stati sovrapposti e difficilmente vengono delineate le differenze. Per
esempio, la definizione di escrow letteralmente significa "riporre
la merce in cura di terze parti sotto certe condizioni"[2]. L'oggetto
"escrowed" (immagazzinato o anche memorizzato) non necessita di essere
esplicitamente posseduto da terze parti, ma "in cura di" (in un senso
legale o obbligatorio). Comunque, le caratteristiche operative di un sistema
escrow possono differire drasticamente, dipendendo se l'oggetto è fisicamente
mantenuto da terze parti.
Mentre gli avvocati possono non essere preoccupati di
questa distinzione, alcuni dettagli come la scalabilità, le prestazioni e la
potenziale vulnerabilità influenzano il rilascio della chiave . In generale,
l'agente escrow si può riferire ad un utente, ad un'entità interna, ad una
organizzazione o esterna (a terze parti). In ultima analisi, una terza parte
potrebbe essere selezionata da un utente, da una organizzazione o pre-approvata
da un'agenzia esterna o governativa. Per esempio, esistono differenti
schemi escrow con caratteristiche opzionali e capacità di sicurezza
differenti. La definizione letterale di una terza parte fidata ( ttp,
Trusted Third Party ) è alquanto vaga, in particolare un ttp è un'entità in
una relazione di fiducia con varie entità primarie.
La "fiducia" è un concetto di notevole
importanza nella sicurezza, essenziale alle tecniche di informazioni
crittografiche ed in particolare alla chiave di recupero, ma non precisamente
definita. Se la fiducia è violata, allora essa non può essere ridata, ma deve
invece essere ristabilita. In tutte le relazioni commerciali la fiducia
necessita di essere esplicitamente identificata e strutturata.
Contratti, licenze, leggi, ordini governativi e
politiche di corporazione, aiutano a definire e limitare la fiducia e gli
obblighi. A tal fine (per indicare la distribuzione della fiducia, livelli di
fiducia e sue limitazioni) è necessario creare un " modello di fiducia
". Modelli fidati sono stati derivati nelle industrie e attraverso standard,
usando: infrastrutture a chiave pubbliche ( IETF PKIX ), certificati con
attributi estesi (cioè, X.509 V3 certificates ), gerarchie di autorità
certificate ( SET ) [3] e modelli di fiducia distribuita ( ANSI X9.57 e ITU-T
X.509). Da ciò si evince che non esiste una migliore tecnica di recupero dei
dati, questo è dovuto al fatto che differenti caratteristiche hanno vantaggi in
differenti scenari.
1.2 Key Escrow
Il key recovery
[2] abilita persone autorizzate ad
accedere al testo in chiaro da dati cifrati quando la chiave di decifratura non
è utilizzabile. A tal fine viene presentata una delle tecniche riguardanti il
Key recovery: il key escrow. Il key escrow definisce la memorizzazione delle
chiavi o la memorizzazione di parti della chiave con uno o più agenti escrow.
Le informazioni di recupero richiedono che gli agenti escrow facilitino il
recupero del testo in chiaro fornendo la chiave necessaria o parti della chiave
o decifrando le informazioni usando la chiave escrowed. I possibili vantaggi di
questa tecnica (dipendenti dall'implementazione) includono la selezione utente
dell'agente escrow ( o agenti ) e la dispersione di parti della chiave in modo
da evitare un singolo punto di attacco. I tipici svantaggi includono dialoghi
superflui con una terza parte durante l'istanziazione della chiave crittografica
e le richieste di memorizzazione degli agenti escrow.
2. Sistema di
Cifratura Key Escrow
Un "key
escrow encryption system" [4] è un sistema di cifratura con capacità
di decifratura che permette a persone autorizzate ( utenti, funzionari di una
organizzazione, e funzionari del governo), sotto certe condizioni prestabilite
di decifrare testi cifrati con l'aiuto di informazioni fornite da uno o più
parti fidate che mantengono speciali chiavi di recupero dei dati. Quest'ultime
non sono, di solito, le stesse di quelle usate per cifrare e decifrare i dati,
ma piuttosto forniscono un mezzo per determinare le chiavi dei dati
cifrati/decifrati. Il termine Key escrow è usato per riferirsi alla
salvaguardia di queste chiavi di recupero dati.
2.1 Componenti
di un sistema di cifratura "Key Escrow"
Un sistema di cifratura "escrowed" può
essere diviso logicamente in tre principali componenti:
1.
User Security Component (USC). E’
una dispositivo hardware o programma software che include capacità di cifratura
e decifratura dei dati e nello stesso tempo funzioni di supporto per il key
escrow. Tale supporto è realizzato utilizzando un campo di recupero dati
(DRF, data recovery field ) per cifrare i dati.
2.Key Escrow Component (KEC). Questa
componente, gestita da un agente key escrow, è usata per
la memorizzazione, il rilascio e/o l'uso delle chiavi di recupero dei
dati.
3.
Data Recovery Component (DRC). Consiste
di algoritmi, protocolli e attrezzature necessarie ad ottenere il testo in
chiaro da quello cifrato.
Queste componenti logiche sono fortemente
interagenti, e la scelta di progetto per una di loro influenza anche le altre.
La figura seguente illustra l'interazione delle varie componenti. L'USC cifra il testo in
chiaro con una chiave K e attacca un DRF al testo cifrato. Il
DRC recupera il
testo in chiaro usando informazioni contenute nel DRF e più informazioni
fornite dal KEC.
2.2 User
Security Component (USC)
L'USC cifra e decifra i dati. Inoltre esso presenta
funzioni di supporto al processo di recupero dei dati. Esso è caratterizzato
da:
2.2.1 Dominio
di applicazione
L'USC può supportare uno o entrambi i seguenti
domini:
1. Comunicazioni.
Includono: chiamate telefoniche, e-mail, ed altre tipi di connessioni. La
decifratura di emergenza è usata in osservanza alla legge in congiunzione con
l'intercettazione (autorizzata dalla corte) delle comunicazioni.
2. Dati memorizzati.
Possono essere semplicemente file di dati o più oggetti in generale. La
decifratura di emergenza è usata da uno dei proprietari dei dati per recuperare
le chiavi dimenticate o danneggiate, o da funzionari legali per decifrare file
memorizzati su computer sequestrati sotto ordini giudiziari.
2.2.2 Algoritmo
di cifratura dei dati
I seguenti attributi sono di particolare rilevanza
per la cifratura escrowed:
1. Il nome e la
modalità di operazione. La modalità di operazione può influire sulla
esportazione (cioè, la modalità di cifratura tripla potrebbe non essere
permessa sotto una generale licenza di esportazione).
2. La lunghezza
della chiave. Può influire sulla esportazione.
3. La
classificazione. Un algoritmo potrebbe essere riservato o non riservato. Se
non riservato, potrebbe essere pubblico o privato.
2.2.3
Identificatori e chiavi memorizzate
L'USC memorizza identificatori e chiavi che sono
usati per una decifratura di emergenza:
1. Identificatori.
Possono includere un utente o un identificatore USC, identificatori per chiavi,
e identificatori per il KEC o per agenti escrow.
2. Chiavi.
Potrebbero includere chiavi uniche all'USC, chiavi appartenenti al suo utente, o
un sistema di chiavi globale usato dal KEC. Queste potrebbero essere pubbliche o
private. Le copie delle chiavi o le loro equivalenti private potrebbero essere
mantenute in un archivio (escrow).
2.2.4 Campo e
meccanismo di recupero dati
Quando i dati sono cifrati con un chiave K,
l'USC
deve legare il testo cifrato e la chiave K ad uno o più chiavi di recupero
dati, normalmente attaccando un campo di recupero dati (DRF), al testo cifrato.
Il legame è caratterizzato da :
1.
Colui che
mantiene le chiavi di recupero dati. K può essere legata alle chiavi
mantenute dagli agenti escrow del mittente, del ricevente, o di entrambi. La
scelta influenza il recupero dei dati.
2. Ruolo nella
distribuzione della chiave. Il DRF ed il meccanismo di collegamento possono
essere integrati con i protocolli usati per trasmettere K. In questo caso, il
mittente deve trasmettere un valido DRF per acquisire la chiave.
3. Contenuto
del DRF: Normalmente, il DRF contiene la chiave K cifrata da una o più
chiavi di recupero dati (cioè, una chiave prodotta, la chiave pubblica del
mittente o del ricevente, una chiave pubblica "master" del KEC). In
alcuni casi, solo alcuni dei bit di K possono essere resi disponibili attraverso
il DRF così che i rimanenti bit devono essere determinati tramite algoritmi di
forza bruta. Il DRF contiene anche informazioni che identificano le chiavi di
recupero dati, il KEC o agenti escrow, gli algoritmi e le modalità di cifratura
o il metodo di creazione del DRF. L'intero DRF può essere cifrato da una
famiglia di chiavi associate con il DRC per proteggere identificatori trasmessi
nel DRF. Possono essere usate la single-key o public-key cifrate. La lunghezza
del DRF può influire sulla portabilità di un particolare schema per certe
applicazioni, ad es. le comunicazioni radio, dove il tasso di errore è alto.
4. Trasmissione
e frequenza: Il DRF precede il testo cifrato in un header di un messaggio o
di un file. Con le connessioni aperte, esso può essere ritrasmesso ad
intervalli regolari.
5. Validità:
Il DRF può includere un Escrow Authenticator (EA) che viene verificato dal
ricevente per determinare l'integrità del DRF. Alternativamente, se le chiavi
pubbliche sono usate per creare il DRF, il ricevente potrebbe ricomputare il
DRF
e confrontare il risultato con il DRF ricevuto.
2.2.5
Implementazione
Un
USC può essere implementato in hardware,
software, firmware, o con loro combinazioni. Se sono usati algoritmi
"riservati", essi devono essere implementati in combinazione con
hardware dedicati. Le implementazioni hardware potrebbero includere speciali
processori preposti alla crittografia, generatori di numeri casuali, e/o
high-integrity clock. I prodotti che implementano un USC alcune volte vengono
chiamati "escrowed encryption products".
2.2.6
Affidabilità
L'USC
fornisce la garanzia che gli utenti non possono by-passare o disabilitare i meccanismi di key escrow. Un
USC che può
essere usato o modificato per "imbrogliare" è chiamato rogue
("mascalzone") USC. La possibilità di un rogue
USC è fortemente
dipendente dai meccanismi e dalle implementazioni di recupero dati. Distinguiamo
tra single rogue, i quali possono interagire con quelli non-rogue e dual rogue,
i quali interagiscono solo con altri rogue. I single-rogue presentano le più
grandi minacce per il recupero dei dati di emergenza perché essi non richiedono
collaborazione con il ricevente.
2.3 Componente
di Key escrow (KEC)
Il
KEC è responsabile
della memorizzazione di tutte
le chiavi di recupero dati che provvedono alla richiesta dei dati o servizi.
Esso è composto dai seguenti elementi:
2.3.1 Ruolo
nelle infrastrutture della gestione della chiave
Il
KEC potrebbe essere un componente della Key
Management Infrastructure (ovvero della infrastruttura della gestione della
chiave) , che a sua volta potrebbe
essere un Single Key Infrastructure (cioè, un centro per la distribuzione della
chiavi) o un Public-Key Infrastructure. D'altro canto gli agenti escrow
potrebbero servire come autorità certificanti la chiave pubblica.
2.3.2 Agenti
escrow
Gli agenti escrow, (chiamati anche terze parti), sono
responsabili per le operazioni del KEC. Essi possono essere registrati da un Key
Escrow Center che coordina le loro operazioni o servono come un punto di
contatto per l'USC o il DRC. Gli agenti escrow sono caratterizzati da:
1. Tipi di
agenti. Potrebbero essere entità del governo o dei settori privati. I primi
potrebbero restringere l'uso dei loro servizi alle agenzie di governo. I
secondi, usualmente impiegati in sistemi commerciali, o privati di key escrow,
potrebbero essere interni a compagnie indipendenti che offrono servizi
commerciali (cioè, terze parti fidate).
2. Identificazione.
Include nome e locazione.
3. Accessibilità.
E’ determinata dalla locazione degli agenti escrow (cioè, locale o straniero)
e dalle ore di operazione.
4. Sicurezza.
Si riferisce alla bontà della protezione offerta dal KEC contro compromissioni, perdite
o abusi di chiavi escrowed. Include la "riabilitazione" che è la misura della fiducia richiesta dagli agenti escrow per
proteggere le chiavi escrowed dalla compromissione e per l'abilitazione del
recupero dei dati.
5. Account.
Garantisce l'identificazione di un agente escrow che manomette il recupero dei
dati o che rilasci le chiavi a parti non autorizzate.
6. Responsabilità.
Caratterizza la responsabilità degli agenti escrow nel caso le chiavi siano
compromesse o diventino non utilizzabili.
7. Certificato\licenziato.
Indica se gli agenti escrow sono certificati e licenziati da alcuni
governi.
2.3.3 Chiavi di
recupero dei dati
Con la cifratura
escrowed, tutti i dati cifrati sono
legati alle chiavi di recupero dei dati escrow che abilitano ad accedere alle
chiavi dei dati cifrati. Le chiavi di recupero dati sono caratterizzate da:
1. Granularità
delle chiavi. Le opzioni includono:
a. Chiavi di
dati cifrati. Includono chiavi di sessione, chiavi di rete, chiavi di file.
Un "key distribution center" potrebbe generare, immagazzinare e distribuire alcune
chiavi.
b. Chiavi
prodotte. Sono uniche nell'USC.
c. Chiavi
utente. Normalmente, queste sarebbero coppie di chiavi pubbliche-private usate per stabilire le chiavi di cifratura dei dati. Il
KEC potrebbe servire
come l'autorità che certifica la chiave pubblica dell'utente emettendo un
certificato per le chiavi pubbliche dell'utente.
d. Chiavi
master. Sono associate con il KEC e usate da multipli
USC.
2. La divisone
delle chiavi (divisione segreta, schema di partenza). Una chiave di recupero
dei dati può essere divisa in multiple chiavi, con ogni componente mantenuta da
un separato agente escrow. Le chiavi possono essere divise così che tutti gli n
agenti escrow sono necessari per rimemorizzare una data chiave. Essi possono
essere divisi usando una generale struttura di accesso, la quale permette la
specificazione di sottoinsiemi arbitrari di agenti escrow che possono lavorare
sempre per rimemorizzare una chiave.
3. Chi genera e
distribuisce le chiavi. La chiavi possono essere generate dal KEC,
dall'USC,
o loro combinazioni. Se generato dall'USC, le chiavi possono essere divise e
immagazzinate usando schemi di condivisione di segreti così che gli agenti
escrow possono testare la validità dei loro componenti individuali senza
conoscere la chiave originale. Le chiavi possono essere generate insieme, così
che un utente non può nascondere "una chiave oscura" in una chiave
escrowed e perciò by-passare il meccanismo di Key escrow.
4. Tempo di
immagazzinamento. Le chiavi dovrebbero essere immagazzinate durante la
generazione del prodotto, l'inizializzazione del sistema, o la registrazione
dell'utente. Se una chiave privata dell'utente è immagazzinata, potrebbe
esserlo quando la corrispondente
chiave pubblica è immessa in un’infrastruttura atta a contenerla,
ed è emanato un certificato. Un USC potrebbe inviare un dato cifrato
solo agli utenti con chiave pubblica certificata segnata da agenti escrow.
5. Aggiornamenti
della chiave. Alcuni sistemi potrebbero permettere che le chiavi di recupero
dati siano cambiate. Alcuni aggiornamenti potrebbero essere rappresentati su
richiesta.
6. Immagazzinamento
completo o parziale. Una porzione di una chiave potrebbe essere
immagazzinata invece di una chiave completa. In questo caso, la porzione non
immagazzinata della chiave sarebbe determinata attraverso un attacco di forza
bruta quando ciò è necessario per il recupero dei dati.
7. Memorizzazione
delle chiavi. Potrebbe essere off-line (cioè memorizzato su floppy disk) o
on-line.
2.3.4 I servizi
del recupero dei dati
Il
KEC fornisce servizi, includendo rilascio di
informazioni al DRC caratterizzato da:
1. Procedure di
autorizzazione. Le procedure, con le quali le persone che operano o usano il
DRC possono usare i servizi del KEC, possono decidere di stabilire le prove
dall'identità e autorità legale per accedere al dato da decifrare.
2. Servizi
forniti. Ci sono diverse opzioni:
a. Il rilascio
delle chiavi di recupero dati. Questo approccio normalmente è usato quando
le chiavi di recupero dati sono le chiavi di sessione, o di utenti, o di chiavi
prodotte (le chiavi master non sono rilasciate). Le chiavi possono essere
rilasciate entro una data prestabilita, dopo la quale sono automaticamente
distrutte.
b. Rilascio
delle chiavi derivate. Il KEC rilascia le chiavi derivate di recupero dei dati,
per esempio, chiavi time-bounded (vincolate nel tempo) che abilitano la decifratura solo dei dati che sono stati cifrati durante un specifico periodo di
tempo.
c. Chiavi decifrate. Questo approccio normalmente è usato quando le chiavi master di recupero dati sono usate per cifrare le chiavi di cifratura dei dati (o chiavi utente) nel DRF, così che il KEC non necessita di rilasciare le chiavi master al DRC.
d. Presentazione della decifratura iniziale. Ogni agente escrow fornisce un pezzo di una decifratura al DRC che combina i risultati per ottenere il testo in chiaro.
3. Trasmissione
del dato a/da il DRC. Potrebbe essere manuale o elettronica.
2.4
Salvaguardia per le chiavi escrowed
Il
KEC protegge contro la compromissione o la perdita
delle chiavi. Ciò può includere una combinazione di salvaguardie tecniche,
procedurali e legali. Esempi sono la revisione, la separazione dei doveri, il
controllo di due utenti, la sicurezza del computer, i sistemi fidati, i test e
le ratifiche indipendenti, la certificazione, l’accreditamento, la gestione
della configurazione, e leggi per uso improprio.
2.4.1 Le chiavi
di recupero dati : DRC
Il
DRC supporta il recupero del testo in chiaro dai
dati cifrati usando informazioni fornite dal KEC e dal
DRF. Esso è costituito
da:
2.4.2 Capacità
Include:
1. Decifratura
opportuna
2. Decifratura
real-time di comunicazioni intercettate
3. Post-processing.
Il DRC può decifrare le comunicazioni che sono state precedentemente
intercettate e registrate
4. Trasparenza.
La decifratura è possibile senza la conoscenza delle parti coinvolte
5. Indipendenza.
Una volta che le chiavi sono state ottenute, il DRC può decifrare usando le
proprie risorse, cioè indipendentemente dal KEC.
2.4.3 La
decifratura dei dati per il recupero delle chiavi
Per decifrare i dati, il
DRC deve ottenere la chiave
K di cifratura del dato.
1. Accede
attraverso il mittente o il ricevente. Un fattore critico è se K può
essere riottenuta usando le chiavi di recupero dati associate con il mittente,
il ricevente, o altri parti. Se l'accesso è possibile solo attraverso le chiavi
mantenute dagli agenti escrow del mittente, il DRC deve ottenere le chiavi
escrowed dei dati per tutte le parti che sono trasmesse nei messaggi ad un
particolare utente, possibilmente precludendo la decifratura real-time,
specialmente se le parti sono in differenti paesi e usando differenti agenti escrow. Allo stesso modo, se l'accesso è possibile solo attraverso le chiavi
mantenute dagli agenti escrow del ricevente, la decifratura real-time di tutti i
messaggi trasmessi da un particolare utente può essere impossibile. Se il
recupero dei dati è possibile usando le chiavi mantenute da altri insiemi di
agenti escrow, allora il DRC può decifrare le comunicazioni intercettate a/da
un particolare USC in real-time una volta che viene ottenuta la chiave usata
dall'USC. Un sistema può fornire questa capacità per comunicazioni simultanee
in two-way (esempio, le chiamate telefoniche) richiedendo che la stessa chiave K
deve essere usata tra gli utenti della conversazione.
2. Frequenza
delle iterazioni con il KEC. Il DRC può essere richiesto per interagire con
il KEC una volta per la chiave di cifratura del dato, o una volta per
l'USC, o
una volta per l'utente. Dapprima si richiede una connessione on-line tra il DRC
e il KEC allo scopo di supportare decifratura real-time delle comunicazione
quando la chiave di sessione cambia durante la conversazione.
3. Necessario
per forza bruta. Se gli agenti escrow restituiscono parzialmente le chiavi
al DRC, allora il DRC deve usare la forza bruta per determinare i rimanenti bit.
2.4.4
Salvaguardia della decifratura
Il DRC può usare salvaguardie tecniche, procedurali e legali per controllare che sia ristretto ad un particolare periodo di tempo (come autorizzato dalla corte).Queste salvaguardie stabiliscono restrizioni imposte dal KEC nel rilascio delle chiavi. I meccanismi di autenticazione potrebbero essere usati per prevenire che il DRC possa utilizzare le chiavi che esso acquisisce per creare e sostituire falsi messaggi.
2.5 Sistemi di Key Escrow
Presenteremo di seguito diversi sistemi di Key Escrow progettati dai maggiori ricercatori nel campo della crittografia, clicca qui per visualizzarli.
3.
Escrowed Encryption Standard e Key Escrow System
Le comunicazioni trasmesse attraverso il sistema
telefonico o le reti di computer sono vulnerabili alle intercettazioni non
autorizzate. Per proteggersi contro questa minaccia, le comunicazioni possono
essere cifrate prima che vengano trasmesse e decifrate al momento della
ricezione.
Normalmente i processi di cifratura e decifratura
sono parametrizzati da una chiave segreta che è condivisa sia dal mittente che
dal ricevente per l’intera durata della comunicazione. Se il metodo di
cifratura è abbastanza forte, un intruso non
sarà in grado di determinare la chiave segreta e quindi intromettersi
nelle comunicazioni. La cifratura, oltre a proteggere contro l’intercettazione
di informazione da parte di non autorizzati, viene usata per nascondere attività
criminali. Rendendo le comunicazioni immuni da intercettazioni legali, la
cifratura minaccia le forze dell’ordine e la sicurezza pubblica.
L’AT&T commercializzò un dispositivo crittografico nel 1993. In risposta a ciò, il 16 Aprile 1993, il governo degli Stati Uniti annunciò una nuova iniziativa di cifratura che si proponeva di offrire un alto livello di sicurezza e privacy delle comunicazioni senza mettere in pericolo la sicurezza pubblica e le forze dell’ordine.
L’iniziativa è basata su di un specifico dispositivo hardware di cifratura (Clipper chip [7]) resistente alle manomissioni ed un sistema di Key Escrow che dà al governo l’accesso ad una chiave (Device Unique Key) che sblocca tutte le comunicazioni cifrate dal chip.
La chiave è generata e programmata sul chip dopo che
questo viene fabbricato, ma prima che esso venga piazzato in un qualche prodotto
per la sicurezza. La chiave, inoltre, viene divisa in due componenti, che sono
cifrate e date in custodia a separati agenti di escrow. Un ufficiale del governo
in seguito ad un’autorizzazione legale deve acquisire i componenti da entrambi
gli agenti per ottenere la chiave. Questi componenti sono combinati
all’interno di uno speciale processore che è capace di decifrare le
comunicazioni intercettate. Il 4 febbraio 1994, il governo annunciò
l’adozione della tecnologia “Escrowed
Encryption Standard” (EES) [5]. L’EES è uno standard del governo per
comunicazioni telefoniche riservate, il che include voce, fax, e dati trasmessi
su sistemi che usano modem o sistemi similari.
3.1 EES
Lo standard specifica che ogni
dispositivo deve avere:
1. Device Unique Identifier (UID) a 32 bit;
2.
Device Unique Key (KU) a 80 bit,
fornita al momento della costruzione e “depositata” presso due agenzie;
3. Family Key (KF)
a 80 bit, comune a tutti i chip;
4. Algoritmo di cifratura;
Nè la KU, nè
la KF servono per cifrare, ma forniscono i mezzi con i quali un ufficiale
autorizzato dal governo può ottenere la chiave segreta di cifratura e
guadagnare l’accesso alle comunicazioni.
L’algoritmo di cifratura
definito dallo standard è lo SKIPJACK [6]. Esso è stato progettato dal
National Security Agency (NSA) ed era riservato per prevenire che qualcuno lo
rompesse. Per aumentare la fiducia degli utenti nella forza dell’algoritmo, il
governo degli U.S.A. invitò vari crittoanalisti esterni a revisionare
l’algoritmo. Alla fine conclusero
che non vi erano rischi significativi che l’algoritmo avesse “trapdoor” o
potesse essere rotto da qualche metodo d’attacco conosciuto.
Successivamente furono annunciati
due chip: il Clipper [7] ed il Capstone
che implementavano l’algoritmo SKIPJACK.
Il Clipper Chip fu poi ridenominato Fortezza mentre il Capstone divenne un
dispositivo crittografico chiamato Tessera. Il programma iniziale (che non aveva
nome) fu chiamato Mosaic. Lo SKIPJACK fu reso pubblico
nel maggio 1998.
L’EES usa chiavi ad 80
bit ed un Law Enforcement Access Field (LEAF). Quest’ultimo è trasmesso con
tutte le comunicazioni cifrate e fornisce un dispositivo per la trasmissione
sicura della chiave per le comunicazioni, per esempio la chiave di sessione (KS),
in modo che solo un ufficiale autorizzato dal governo possa ottenere la KS e
decifrare le comunicazioni.
3.2
Applicazione
Affinché due persone possano usare l’EES
[5] per
cifrare le loro comunicazioni telefoniche, ciascuna deve avere un dispositivo di
sicurezza resistente alle manomissioni che contiene un chip di cifratura escrow.
Il dispositivo di sicurezza è responsabile per l’implementazione dei
protocolli necessari per stabilire
il canale sicuro.
La
KS può essere negoziata, per esempio, usando un
metodo di accordo su chiave pubblica, che permette ai due dispositivi di
computare una chiave segreta condivisa scambiando solo i valori pubblici. Questo
è l’approccio usato dalla AT&T per il “3600 Telephone Security Device (TSD)”.
Il TSD si inserisce nel telefono ed è attivato
premendo un pulsante. Una volta che si è stabilita la KS per l’uso con un
chip di cifratura escrow, essa è passata al chip ed è invocata un operazione
per generare il LEAF dalla KS ed un vettore d’inizializzazione (IV), che può
essere generato dal chip.
Il LEAF è, quindi, trasmesso insieme al IV al chip ricevente per la sincronizzazione e la validazione del LEAF. Sincronizzatisi i due chip, KS è usata per cifrare e decifrare messaggi in entrambe le direzioni. Il flusso del messaggio per le comunicazioni vocali viene prima digitalizzato. In una conversazione a due direzioni come una conversazione telefonica, il dispositivo di sicurezza di ognuno trasmette un IV ed un LEAF computato dal chip del dispositivo. Comunque, entrambi i dispositivi usano la stessa chiave di sessione per cifrare le comunicazioni trasmesse e per decifrare le comunicazioni ricevute.
Nella figura seguente esplicitiamo lo schema di comunicazione tra i due chip dove M è il messaggio e C la sua corrispondente cifratura. Da notare l'utilizzo dell'inverso dello SKIPJACK [6] che serve a computare il messaggio iniziale.
3.3 SKIPJACK
L’algoritmo di cifratura SKIPJACK [6] trasforma un blocco di input a 64 bit in un blocco a 64 bit usando una chiave segreta a 80 bit (la stessa viene usata per la decifratura). SKIPJACK ha la stessa grandezza dei blocchi del DES [1], ma la sua chiave è più lunga di 24 bit. Esso è utilizzato da un algoritmo di scambio di chiavi (KEA) basato su un protocollo di Diffie-Hellman per ridurre i valori finali del KEA in una chiave a 80 bit.
3.3.1 Struttura
base
SKIPJACK [6]
codifica blocchi di dati di 8 byte
alternando tra le due regole A e B. Esso richiede 32 iterazioni su 4 parole da 16 bit ciascuna: w1
w2 w3 w4. Inoltre vi è un contatore (counter),
inizializzato ad 1, che viene utilizzato per contare le iterazioni.
L’input è wi0 , 1 £ i £
4. L’algoritmo segue la regola A per 8 passi, poi passa alla regola B per
altri 8 passi. Ritorna alla regola A per i i successivi 8 passi, poi completa la
cifratura con 8 passi della regola B. Il contatore è incrementato di una unità
dopo ogni passo. L’output è wi32 , 1 £
i £ 4.
Vediamo in dettaglio come lavorano le regole A e B:
un passo della regola A, utilizza una permutazione G, per realizzare quanto
segue:
a. G permuta w1;
b. il nuovo w1 è lo xor dell’output di
G, del contatore e di w4;
c. le parole w2 e w3 shiftano
verso destra (diventano rispettivamente
w3 e w4);
d. il nuovo w2 è l’output di G;
e. il contatore è incrementato di uno.
La regola B lavora in modo simile.
Regola A
Regola B
REGOLA ‘A’ :
w1k+1
¬ Gk(w1k)
Å w4k Å counterk
w2k+1
¬ Gk(w1k)
w3k+1
¬ w2k
w4k+1 ¬ w3k
REGOLA ‘B’ :
w1k+1 ¬ w4k
w2k+1
¬ Gk(w1k)
w3k+1
¬ w1k Å w2k Å counterk
w4k+1 ¬ w3k
3.3.2 Permutazione G
La permutazione G prende in input una parola e ne restituisce un’altra in output. La sua struttura consiste di 4 differenti round in ognuno dei quali viene fatta una sostituzione sfruttando una tabella (F-Table) di valori prefissati; inoltre ogni round utilizza anche uno dei 10 byte della chiave cv.
Definiamo :
Gk(w = g1||g2) = g5||g6
gi = F(gi-1Å cv4k+i-3) Å gi-2 i=3,4,5,6
dove:
k è il numero dell’iterazione F;
F è la funzione che consente la sostituzione dei
valori della F-Table;
cv4k+i-3
è il (4k+i-3)-esimo byte della chiave schedulata e cvi
= byte “i mod 10”;
Quindi esplicitando i 4 round si ha :
·
g3 =
F(g2Å cv4k)
Å g1
·
g4 =
F(g3Å cv4k+1)
Å g2
·
g5 =
F(g4Å cv4k+2)
Å g3
·
g6 =
F(g5Å cv4k+3)
Å g4
3.3.3 Funzione
F e F-Table
La F-Table è una tavola di valori esadecimali prefissati di dimensione 16x16 :
La funzione F riceve in input un byte che viene
diviso in due componenti di 4 bit: parte alta e parte bassa. La parte alta
dell’input va ad indicizzare la riga della F-Table mentre la parte bassa
indicizza la colonna, individuando così un elemento nella tabella. Ad esempio,
F(7A)=d6.
3.3.4
Decifratura
La fase di decodifica qui descritta ha una struttura
analoga a quella vista per la codifica. In luogo delle regole A e B, troviamo le
loro rispettive inverse : regola A-1 e regola B-1
REGOLA ‘A-1’
w1k-1=[Gk-1]-1(w2k)
w2k-1=w3k
w3k-1=w4k
w4k-1=w1k
Å w2k Å counterk-1
REGOLA ‘B-1’
w1k-1=[Gk-1]-1(w2k)
w2k-1=[Gk-1]-1(w2k)
Å
w3k Å
counterk-1
w3k-1=w4k
w4k-1=w1k
L’algoritmo ha come input il testo cifrato: w132
w232 w332 w432,
in questo caso k parte da 32; il contatore è inizializzato a 32.
Si inizia con 8 iterazioni usando la regola B-1,
poi 8 usando la regola A-1, si ritorna alla regola B-1 per
altre 8 iterazioni per poi concludere con le ultime 8 usando nuovamente la
regola A-1.
A differenza della fase di cifratura, il contatore
viene decrementato ad ogni passo. Alla fine dell’algoritmo si ottiene il testo
in chiaro: w10 w20 w30
w40.
Si utilizza l’inversa della permutazione G, G-1,
che è così definita:
[Gk]-1(w = g5||g6)
= g1||g2
gi-2 = F(gi-1Å cv4k+i-3) Å gi
Schematicamente:
3.3.5 Modalità
operative
SKIPJACK
[6] può essere usato in
una o più delle
quattro modalità operative definite nel FIPS 81 per l’uso con il DES [1]:
Eletronic Codebook (ECB), Cipher Block Chaining (CBC), Output Feedback (OFB) a
64 bit, e Cipher Feedback (CFB) a 1, 8, 16, 32, o 64 bit
Nei seguenti schemi PT e CT indicano, rispettivamente, il testo in chiaro ed il testo cifrato.
Output Feedback
(OFB)
Cipher feedback
(CFB)
Codebook
Cipher block chaining
(CBC)
3.4 Metodo di
Creazione di un LEAF
Sebbene la KS è trasmessa nel LEAF, quest’ultimo è usato solo per consentire accessi alle forze dell’ordine e non per la distribuzione della KS. Un chip ricevente non è in grado di estrarre la KS dal LEAF. Il LEAF è computato come una funzione della chiave di sessione (KS), un vettore di inizializzazione (IV), un Device Unique Identifier (UID), e la Device Unique Key (KU). Il blocco risultante include la KS cifrata dalla KU (80 bit), UID (32 bit), e un Escrow Authenticator (EA) a 16 bit, il tutto cifrato dalla Family Key (KF). La KS è protetta da due strati di cifratura in modo che non possa essere ottenuta senza entrambe la KF e KU. Lo scopo dell’EA è proteggere il LEAF contro manomissioni che potrebbero ostacolare un ufficiale autorizzato dal governo nel recuperare la KS.
Di particolare interesse sono le applicazioni rogue che interopererebbero con quelle legittime, trasmettendo un falso LEAF che è accettato come valido dal chip ricevente, ma si rivela inutile per il governo. Un'applicazione non interoperabile è di minore interesse dato che una persona intenta ad evitare l’accesso del governo ha la possibilità di usare mezzi alternativi di cifratura quando l’interoperabilità non è necessaria.
3.5 Panoramica
del Key Escrow System (KES)
Il KES
[5] fornisce i mezzi con i quali un ufficiale del
governo con un’autorizzazione legale può decifrare le comunicazioni cifrate
da un particolare dispositivo EES [5], ma dove l’accesso non autorizzato alle
comunicazioni è effettivamente prevenuto attraverso un ampio insieme di difese.
L’operazione del KES coinvolge il Program Manager del Key Escrow, due Agenti
del Key Escrow, due agenti del Family Key, un rappresentante delle attrezzature
per la programmazione, il Dipartimento di Giustizia, e agenzie di forze
dell’ordine. Le responsabilità di queste agenzie ed individui sono divise in
modo che è richiesta la loro cooperazione per far funzionare il sistema.
3.5.1
Implementazione in fasi
Attualmente si sta implementando il KES in quattro
fasi. Ci concentreremo sullo stato del sistema dopo l’implementazione della
Fase 2 avvenuta nel Maggio 1994. Il sistema che va attraverso la Fase 2 è
chiamato sistema provvisorio. Quest’ultimo è caratterizzato da una
combinazione di procedure manuali e automatiche per gestire i dati di Key
Escrow. Molte delle procedure manuali verranno automatizzate nel Sistema Finale
(Target System) per fornire maggiore efficienza.
3.5.2 Sistema
provvisorio
I chip Capstone e Clipper [7] sono programmati in lotti all’interno di una attrezzatura sicura. Durante la sessione di programmazione, gli Ufficiali di escrow rappresentanti di entrambi gli agenti di escrow devono essere presenti insieme ad un rappresentante delle attrezzature per la programmazione che opera con il dispositivo di programmazione del chip. Prima di ogni sessione di programmazione, ognuno degli agenti escrow genera un Numero Chiave ed un Seme Random per l’uso in quella sessione. Questi valori sono generati su PC usando il Sistema Avanzato di Accesso tramite Smart Card della NIST.
Allo stesso modo, in una fase antecedente alla prima sessione, ognuno degli agenti della Family Key genera un componente della Family Key. I valori random generati dagli agenti escrow e gli agenti della Family Key sono caricati in una workstation all’inizio di una sessione di programmazione.
I componenti della Family Key sono combinati per formare la Family Key, ed i Numeri Chiave per formare una Key Component Enciphering Key (KCK). I Semi Random sono combinati con un input addizionale random per generare un flusso di Device Unique Keys (KU) random per i chip. Ogni KU è programmata in un chip insieme con un Device Unique Identifier (UID) e la Family Key (KF).
Quando la KU è generata, due componenti della Chiave (KC1 e KC2) sono creati in modo tale che KU sia il loro or-esclusivo (XOR). I componenti KC1 e KC2 sono cifrati con KCK e scritti su floppy disk. Un insieme di componenti è dato ad ognuno dei due agenti di Escrow per tenerli al sicuro.
I componenti della chiave cifrata d’Escrow (EKC1 e EKC2) sono rilasciati ad un ufficiale autorizzato dal governo, solo quando il governo è stato autorizzato per intercettare le comunicazioni degli individui che usano un dispositivo con un chip contenente la KU. Quando l’ufficiale scopre delle comunicazioni cifrate in una intercettazione legalmente autorizzata, le comunicazioni sono passate ad un processore di decifratura per Key Escrow, il quale decifra il LEAF ed estrae l’UID del chip. L’UID è quindi presentato ai due agenti escrow insieme con la certificazione dell’autorità legale per condurre l’intercettazione. In tutti i casi, un rappresentante del governo coinvolto nell’investigazione deve confermare che si sta conducendo un’intercettazione legale.
Gli ufficiali d’Escrow estraggono i componenti della chiave cifrata (EKC1 e EKC2) dai dischi di immagazzinamento, e portano i dischi con i componenti della chiave estratta ed i loro corrispondenti Numeri Chiave alla agenzia delle forze dell’ordine. I valori sono caricati nel processore di decifratura, dove i Numeri Chiave sono combinati per formare la KCK, e gli EKC1 e EKC2 sono decifrati dalla KCK e combinati per formare la Unique Key del chip (KU). Questa è quindi usata per decifrare la Chiave di Sessione (KS) per ogni comunicazione, che a sua volta è usata per decifrare la comunicazione.
Un agente delle forze dell’ordine
cancella KU dal Processore di Decifratura non più tardi della fine del periodo
di sorveglianza autorizzata. A quel punto viene mandata una conferma autenticata
della distruzione della chiave ad ogni agente escrow. Più registrazioni di
verifiche ufficiali sono mantenute per l’intero KES [5]
per essere sicuri che le
chiavi vengano utilizzate solo da autorizzati e non trattenute.
3.5.3 Sistema
finale
Il sistema finale sarà automatizzato per ridurre il
coinvolgimento umano. In più, sarà costruito utilizzando prodotti apprezzati,
e principi di design di software fidato per fornire un’alta garanzia che il
sistema dia una forte sicurezza. La meta del design del sistema finale è quello
di permettere ad un agente delle forze dell’ordine di decifrare comunicazioni
cifrate entro due ore dopo che una valida certificazione viene presentata ad
ogni agente Escrow.
3.5.4 Sicurezza
del Key Escrow System
Esistono due classi principali di minacce:
La rivelazione non autorizzata
di dati
“sensitive”;
Il
“denial of service”;
Il KES [5] è progettato per prevenire accessi non autorizzati ai dati “sensitive”. Alcuni dei dati usati dal KES, incluso l’algoritmo SKIPJACK [6] ed il metodo di creazione del LEAF, sono classificati come segreti mentre altri dati, incluso le Unique Key, i Key Component, le Family Key, i Numeri Chiave, ed i Semi Random sono considerati dati “sensitive” non riservati. Il KES protegge tutti i dati “sensitive”, che siano riservati o meno ed è inoltre progettato per resistere ai tentativi di rendere il sistema non operabile. Questo include attacchi mirati alla distruzione dei dati di key escrow. Sono state prese misure per prevenire attacchi probabili, mentre è impossibile prevenire ogni concepibile attacco “denial of service”.
Il KES
protegge sia contro attacchi interni che esterni. Un “interno” è chiunque
sia autorizzato ad usare ogni parte del sistema. Dato che questi hanno più
accesso al sistema rispetto agli “esterni”, molte difese mettono in conto
esplicitamente le minacce interne.
3.6 Difese
La seguente è una lista parziale di difese impiegate
dal KES [5]
così come opera al giorno d’oggi.
3.6.1
Separazione dei doveri
Il principio della separazione dei doveri è adottato
per tutto il KES [5]. Gli ufficiali di escrow rappresentanti gli agenti di escrow
testimoniano la programmazione del chip, ma non hanno il permesso di
programmarli. Allo stesso modo, essi inseriscono i dischi con gli Encrypted Key
Component in un processore di decifratura, ma non hanno il permesso di usarlo
per decifrare le comunicazioni, inoltre, essi non sono in possesso di questo
processore. Gli individui che programmano i chip, non possono eseguire le
funzioni né degli agenti di escrow, nè degli ufficiali delle forze
dell’ordine. Gli agenti della Family Key KF, non mantengono mai i Key
Component e gli agenti di escrow non hanno mai accesso alla Family Key, dato che
non ne hanno bisogno, per decifrare un LEAF. Il Program Manager supervisiona
l’operazione dell’intero sistema, ma non ha accesso alle Key Component, a
meno che non ci sia la presenza di un’ufficiale escrow.
3.6.2
Segretezza della chiave
Il KES
[5]
è progettato cosicché nessun individuo ha
mai bisogno di vedere o conoscere i valori di ogni chiave crittografica o
componente di chiave. Le chiavi ed i
loro componenti, sono generati con dei computer e non sono mai visualizzate in
una forma comprensibile per l’uomo.
3.6.3
Suddivisione della conoscenza
La suddivisione della conoscenza, è stata utilizzata
dall’industria e dall’esercito per molti anni, essa viene impiegata
dividendo la conoscenza di qualche valore critico tra due o più persone; per
es. una banca potrebbe richiedere due combinazioni per aprire la cassaforte, una
conosciuta da un vicepresidente e l’altra da un secondo vicepresidente. Un
sistema missilistico, potrebbe richiedere che due codici siano inseriti da
differenti individui per lanciare un missile. Il KES [5]
usa la conoscenza suddivisa
per proteggere chiavi critiche. La conoscenza di un Device Unique Key (KU) è
divisa in due Key Component, ed ogni componente è mantenuto da un differente
agente escrow. Così perfino se uno dei componenti è compromesso, KU sarà
ancora sicura. Solo quando i due Key Component sono combinati all’interno di
un processore di decifratura allora la KU sarà recuperabile. Allo stesso modo,
le Key Component Enciphering Keys sono divise tra i due agenti escrow e la
Family Key è divisa tra i due agenti della Family Key.
3.6.4
Ridondanza
La ridondanza è usata nel KES
[5]
per proteggere contro
"denial of service" accidentali o intenzionali. Ogni agente escrow fa
un backup delle chiavi che può essere usato se le Key Component vengono
distrutte. Quando le Key Component vengono generate, vengono prodotte quattro
copie delle Key Component cifrate dell’agente di escrow. Ognuno dei due
ufficiali di escrow rappresentanti gli agenti di escrow, porta due copie, che
inseriscono un paio nell’unità principale, e l’altro paio nell’unità di
backup.
3.6.5 Verifica
Il KES
[5]
fa largo uso di logging e verifica. Per ogni
occorrenza dei seguenti eventi viene fatto un log:
a. Generazione delle componenti necessarie alla
generazione delle chiavi.
b. Immagazzinamento di queste ultime.
c. Richieste dei componenti chiave.
d. Conferma della certificazione del rilascio di una
chiave.
e. Notifica che una Unique Key è stata cancellata
nel processore di decifratura.
Gli originali dei log sono conservati in casseforti
per proteggerli da perdite, distruzioni e manomissioni.
3.6.6
Generazione delle chiavi
I semi Random sono combinati con input arbritari
dalla tastiera per generare un flusso di coppie di valori. Uno di questi valori
forma una Unique Key (KU) e l’altro un Key Component (KC1). Di questi valori
viene fatto lo XOR per formare un secondo Key Component (KC2); in questo modo KU
è lo XOR di KC1 e KC2. KC1 e KC2 sono cifrati con KCK per formare i Key
Componet cifrati (EKC1 e EKC2). Tutti e tre i valori sono separati , ed ognuno
è accoppiato con il prossimo UID nella sequenza. Il flusso di coppie KU/UID
viene passato al Dispositivo di Programmazione, dove ogni coppia è programmata
in un chip insieme alla Family Key. Il primo insieme di Key Component cifrati
viene salvato insieme ad i corrispondenti UID in quattro identici floppy. Questi
floppy sono assemblati in contenitori anti-manomissione e conservati in
casseforti finché la sessione di programmazione non è completa.
3.7 Procedure
di autorizzazione per il rilascio delle Key Component
I Key Component possono essere rilasciati solo in
congiunzione con un’autorizzazione all’intercettazione legittima e solo in
accordo alle procedure stabilite dall’U.S. Attorney General. Quest’ultimo
specifica diverse procedure per il rilascio di Key Component per
intercettazioni, poi una richiesta viene sottoposta agli agenti escrow. La
richiesta (è essenzialmente un certificato) deve contenere gli estremi per
identificare l’agenzia che richiede l’investigazione e gli individui su cui
si vuole indagare, specificando la legittima autorizzazione
all’intercettazione, la sua durata, il Device Unique Identifier (UID) delle
Key Component e il numero seriale del processore di decifratura del Key Escrow
che è stato utilizzato. Inoltre, un procuratore governativo deve essere
coinvolto nel procedimento. Il dipartimento di giustizia condurrà delle
inchieste atte a verificare che le Key Component per un chip sono state
rilasciate solo in congiunzione con un’autorizzazione all’intercettazione
legittima, che sono state utilizzate solo dall’agenzia abilitata
all’intercettazione della comunicazione cifrata con il chip, e che
l’abilitazione dell’agenzia per la decifratura delle comunicazioni è
terminata alla fine della fase di sorveglianza elettronica
dell’investigazione.
3.7.1
Estrazione e trasporto delle Key Component
Una volta che un agente di escrow ha ricevuto la
richiesta delle Key Component associate con uno o più UID, gli ufficiali escrow
designati, si occupano di localizzare i dischi associati con le Key Component
cifrate, che si trovano in casseforti. Poiché le casseforti hanno un doppio
meccanismo di protezione,due ufficiali escrow devono essere presenti per
accedere ai dischi immagazzinati. Essi rimuovono i dischi che contengono i
Numeri Chiave necessari a decifrare le particolari Key Component. Gli ufficiali
escrow inseriscono i dischi rimossi in un PC ed eseguono un programma di
estrazione della chiave che localizza le Key Component cifrate per i dati UID e
le riscrive, insieme ai loro UID, in un altro disco. Gli ufficiali ripongono la
chiave estratta e i dischi delle Key Components cifrate in un contenitore
resistente alle manomissioni e restituiscono i dischi contenenti le Key
Component cifrate alle casseforti. Nel Sistema Finale, l’intero procedimento
è automatizzato.
3.7.2 Key
Escrow Decryption
Una volta che un’agenzia ha ottenuto l’ordine ad intercettare una particolare linea telefonica, l’ordine viene passato ad un provider delle telecomunicazioni per ottenere l’accesso all’associata comunicazione. Normalmente, l’agenzia affitta una linea dal provider che trasmette le comunicazioni intercettate al centro di monitoraggio designato dal governo. Se le comunicazioni sospette sono state cifrate, la linea consentirà di trasferire il flusso della comunicazione al processore di decifratura del Key Escrow. Per comunicazioni vocali, un ulteriore dispositivo convertirà il flusso digitale decifrato in flusso vocale.
3.7.3
Inizializzazione del processore di decifratura di Key Escrow
Prima che il processore di decifratura venga
utilizzato per decifrare le comunicazioni fra Clipper
[7], deve essere inizializzato con
la Key Family (KF) che viene ottenuta facendo lo XOR delle Family Key Component
contenute in dischi appartenenti agli agenti di Family Key.
3.7.4
Estrazione del LEAF e dell’UID
Il processore di decifratura riconosce le
comunicazioni cifrate con un escrowed encryption chip, estrae il LEAF trasmesso
in ogni direzione e decifra i due LEAF utilizzando la Family Key per ottenere
gli UID. Una volta che gli UID sono stati estratti, vengono visualizzati sullo
schermo. Sebbene il processore di decifratura estrae gli UID sia per il
chiamante che per il chiamato, la Unique Key dell’uno è sufficiente per
decifrare entrambe alla fine della conversazione. Ciò perché la stessa chiave
di sessione è utilizzata per le comunicazioni in entrambe le direzioni.
3.7.5
Caricamento delle Key Component e Numeri Chiave
Una volta che gli ufficiali escrow giungono con i loro dischi dei Numeri chiave (KN1 e KN2) e i dischi contenenti la chiave estratta dai Key Components cifrati (EKC1 e EKC2), essi verificano che il numero seriale del processore di decifratura sia identico a quello specificato nel certificato di richiesta. Se ciò è vero, allora rimuovono i dischi dai loro contenitori anti-manomissione e li caricano nel processore di decifratura che combina ogni coppia di valori KN1 e KN2 ed utilizza il risultante Key Component Enciphering Key (KCK) per decifrare i valori EKC1 e EKC2 che erano stati cifrati con la chiave.
I Key Components (KC1 e KC2) vengono poi combinati con lo XOR per
formare l’Unique Key. I dischi contenenti la chiave estratta vengono quindi
distrutti ed i dischi contenenti i Numeri Chiave vengono restituiti agli
ufficiali di escrow che li ripongono in nuovi contenitori resistenti alle
manomissioni.
3.7.6
Decifratura
Una volta che il processore di decifratura ha
ottenuto l’Unique Key (KU) per un dato chip, è pronto per decifrare le
comunicazioni cifrate con il chip. Per fare ciò, il processore di decifratura
intercetta ogni LEAF trasmesso dal chip all’inizio di una conversazione.
Utilizzando la Family Key, esso decifra il LEAF ed estrae l’UID e la chiave di
sessione cifrata (KS). Utilizza poi KU per decifrare KS e verifica l’Escrow
Authenticator (EA). Assunto che l’EA è valido, KS è utilizzata per decifrare
le comunicazioni trasmesse in entrambe le direzioni.
3.7.7 Termine
della decifratura
Quando la fase di sorveglianza elettronica di
un’investigazione è terminata, l’ufficiale delle forze dell’ordine, manda
un segnale per distruggere l’Unique Key nel processore di decifratura cosicché
le successive comunicazioni non possono essere decifrate. Quando le chiavi
vengono cancellate, una conferma autenticata della loro distruzione è mandata
agli agenti di escrow. Se questi ultimi non riceveranno la notifica
dell’avvenuta distruzione della Unique Key entro un dato periodo di tempo,
notificheranno l’accaduto al dipartimento di giustizia che investigherà
sull’incidente.