Controllo della protezioneMiglioramenti di PKI in Windows

John Morello

Questo articolo si basa su una versione provvisoria di Windows Server 2008. Tutte le informazioni riportate sono soggette a modifica.

Windows ha incluso un efficace supporto a livello di piattaforma per l'infrastruttura a chiave pubblica (PKI) già dal rilascio di Windows 2000. Quella versione conteneva la prima funzionalità nativa per l'autorità di certificazione, ha introdotto la registrazione automatica e forniva il supporto per l'autenticazione delle smart card. In Windows XP e in Windows Server 2003 queste

funzionalità sono state migliorate per offrire opzioni di registrazione più flessibili tramite la versione 2 dei modelli di certificato e il supporto per la registrazione automatica dei certificati degli utenti. Nei sistemi Windows Vista® e in Windows Server® 2008 (precedentemente noto come "Longhorn"), la piattaforma Windows® PKI ha fatto un ulteriore passo in avanti grazie al supporto per algoritmi avanzati, al controllo della validità in tempo reale e a una maggiore facilità di gestione. Questo articolo illustra le nuove funzionalità di PKI in Windows Vista e in Windows Server 2008 e spiega come possono essere utilizzate dalle aziende per ridurre i costi e migliorare la protezione.

I miglioramenti della piattaforma PKI in Windows Vista e in Windows Server 2008 vertono su quattro punti chiave: crittografia, registrazione, facilità di gestione e revoca. Oltre a questi miglioramenti specifici delle funzionalità, la piattaforma Windows PKI trae inoltre vantaggio anche da altri progressi fatti dal sistema operativo, ad esempio la funzione Gestione ruoli, che facilita la creazione e la distribuzione di nuove autorità di certificazione (CA). Inoltre, molte altre parti di Windows possono ora trarre vantaggio dai miglioramenti apportati alla piattaforma PKI, ad esempio il supporto in Windows Vista per l'utilizzo delle smart card per la memorizzazione delle chiavi Encrypting File System (EFS).

Crittografia

I miglioramenti apportati alla crittografia sono duplici. Primo, con l'introduzione dell'interfaccia Cryptography Next Generation (CNG), Windows dispone ora di una funzionalità di crittografia protocol-agnostic modulare che facilita lo sviluppo e l'accesso programmatico di singoli algoritmi. Secondo, l'interfaccia CNG offre un nuovo supporto per gli algoritmi Suite B introdotti dalla National Security Agency (NSA) nel 2005.

CNG è una nuova interfaccia di crittografia per Microsoft e rappresenta l'API consigliata per le future applicazioni di crittografia basate su Windows. L'interfaccia CNG dispone di una serie di nuove funzionalità destinate agli sviluppatori, offre tra l'altro una maggiore facilità di rilevamento e di sostituzione degli algoritmi, generatori di numeri casuali sostituibili e un'API di crittografia in modalità kernel. L'interfaccia CNG è inoltre completamente compatibile con gli algoritmi del suo predecessore, CryptoAPI 1.0. Attualmente, l'interfaccia CNG è in fase di valutazione per la certificazione Federal Information Processing Standards (FIPS) 140-2 livello 2 e per la certificazione Common Criteria (CC) sulle piattaforme scelte.

Il supporto per l'interfaccia CNG Suite B include tutti gli algoritmi necessari: AES (tutte le dimensioni delle chiavi), la famiglia SHA-2 (SHA-256, SHA-384 e SHA-512) degli algoritmi di hash, Elliptic Curve Diffie-Hellman (ECDH) e Elliptic Curve Digital Signature Algorithm (ECDSA) per le curve principali P-256, P-384 e P-521 standard di National Institute of Standards and Technology (NIST). NSA ha dichiarato che le implementazioni certificate della Suite B verranno utilizzate per proteggere le informazioni classificate come Top Secret, Secret e riservate, che in passato venivano descritte come Sensitive-But-Unclassified. Tutti gli algoritmi Suite B sono stati sviluppati apertamente e anche altri paesi stanno pensando di adottarli come standard nazionali.

Questi miglioramenti limitati alla piattaforma PKI offrono agli sviluppatori metodi più sicuri per la protezione dei dati e allo stesso tempo consentono loro di creare un sottosistema facile da gestire e da modificare nel tempo. Poiché l'interfaccia CNG è un'architettura modulare, se necessario è possibile aggiungere nuovi algoritmi che l'interfaccia CNG estrae dal livello di applicazione. Pertanto, Windows Vista e Windows Server 2008 sono progettati per fornire una piattaforma avanzata e in grado di evolversi per sviluppare i servizi e le applicazioni abilitati alla piattaforma PKI.

Registrazione

La registrazione dei certificati in Windows è stata notevolmente migliorata grazie a un nuovo strumento di registrazione basato su procedure guidate, a una migliore gestione della scadenza dei certificati, a una nuova API, alla funzionalità di "registrazione per conto di" e alle credenziali comuni. Queste nuove funzionalità consentono di ridurre i costi totali di proprietà di una piattaforma PKI, rendendo più semplice la distribuzione dei certificati nell'azienda in modo centralizzato e con un impatto minimo per l'utente.

La modifica più evidente per quanto riguarda la registrazione è la nuova interfaccia utente di registrazione dei certificati, mostrata nelle figura 1 e 2. Questa interfaccia utente sostituisce la precedente che non accettava i dati dagli utenti durante il processo di registrazione. La nuova interfaccia consente agli utenti di immettere dati durante la registrazione (se l'amministratore configura il modello di certificato a tale scopo). L'interfaccia spiega inoltre chiaramente il perché un utente potrebbe non essere in grado di eseguire la registrazione per uno specifico modello.

Figura 1 Selezione dei certificati disponibili

Figura 1** Selezione dei certificati disponibili **(Fare clic sull'immagine per ingrandirla)

Figura 2 Stato dei certificati non disponibili

Figura 2** Stato dei certificati non disponibili **(Fare clic sull'immagine per ingrandirla)

Un altro miglioramento fondamentale apportato all'interfaccia di registrazione riguarda la gestione dei certificati in scadenza. La nuova interfaccia fornisce all'utente finale informazioni chiare su quali sono i certificati in scadenza e consente loro di rinnovarli facilmente o di eliminare gli avvisi mostrati dall'interfaccia. Sebbene gli amministratori possano aggiornare automaticamente i certificati tramite la funzione di registrazione automatica, la funzionalità relativa agli avvisi è importante per gli utenti mobili o non connessi che probabilmente accedono raramente alla rete aziendale e che pertanto potrebbero avere i certificati prossimi alla scadenza.

Per gli sviluppatori che si occupano della registrazione dei certificati, è disponibile una nuova API con importanti miglioramenti rispetto ai precedenti controlli basati su ActiveX® (xenroll.dll e scrdernl.dll). La nuova API di registrazione dei certificati fornisce una gerarchia di classe ben definita molto più semplice da capire e da codificare. Questa nuova API sostituisce xenroll in Windows Vista e in Windows Server 2008.

Questa modifica apportata all'API ha un impatto sia sugli sviluppatori che sui professionisti IT poiché in Windows Vista non è possibile utilizzare le funzionalità di registrazione basate sul Web disponibili in Windows Server 2003. Questo perché le pagine di registrazione (memorizzate per impostazione predefinita nella directory virtuale /certsrv) utilizzano il controllo xenroll non più disponibile in Windows Vista. L'articolo della Knowledge Base relativo a "come utilizzare le pagine di registrazione Web dei servizi certificati con Windows Vista" (in inglese), (support.microsoft.com/kb/922706) fornisce delle soluzioni alternative a questo problema. La registrazione automatica da Windows Server 2003 a Windows Vista non è interessata da questo problema.

Nelle versioni precedenti di Windows Server, gli agenti di registrazione non avevano limitazioni per quanto riguarda la registrazione per conto di altri. In altre parole, una volta che un utente veniva autorizzato per la registrazione, poteva eseguirla per conto di altri utenti. Naturalmente, un utente poteva facilmente incrementare i propri privilegi eseguendo la registrazione per conto di altri utenti e impersonando l'utente tramite il certificato appena creato. Per tentare di arginare questo pericolo, i privilegi di agente di registrazione sono stati assegnati solo agli utenti più affidabili. Se da una parte questo ha migliorato la sicurezza, d'altra parte ha reso meno flessibili i modelli di distribuzione, poiché solo un numero limitato di persone poteva eseguire la registrazione per conto di altri utenti. Quindi, le organizzazioni di grandi dimensioni, dislocate in vaste aree geografiche hanno dovuto affrontare delle difficoltà dovute a procedure più complesse per la distribuzione dei certificati agli utenti finali (ad esempio per le smart card).

In Windows Server 2008, gli agenti di registrazione possono avere limitazioni ancora maggiori. Tali limitazioni possono basarsi su quali utenti possono eseguire la registrazione per conto di altri oppure possono specificare in base a quali modelli è possibile effettuare la registrazione, come mostrato nella figura 3. Ad esempio, un'organizzazione potrebbe ora fornire un professionista IT locale per eseguire la registrazione per conto di tutti gli utenti della succursale ma non per gli utenti appartenenti al gruppo delle risorse umane. Questo consente alle aziende di delegare in sicurezza e con maggiore efficacia le funzioni di registrazione all'interno delle loro organizzazioni.

Figura 3 Limitazioni dell'agente di registrazione

Figura 3** Limitazioni dell'agente di registrazione **(Fare clic sull'immagine per ingrandirla)

Una delle sfide più impegnative nella gestione della piattaforma PKI è la gestione di tutte le coppie di chiavi presenti nel sistema dell'organizzazione. Anche in un ambiente PKI non eccessivamente complesso, ogni utente potrebbe avere diverse coppie di chiavi (ad esempio per EFS, per l'autenticazione a una rete wireless e S/MIME) che devono essere disponibili indipendentemente dalla posizione di accesso. Con il crescente aumento di computer portatili e dei Servizi terminal, è sempre più importante poter replicare le coppie di chiavi nella rete, affinché siano disponibili agli utenti qualunque sia la posizione dalla quale eseguono l'accesso. Sebbene i token dell'utente, ad esempio le smart card possano in parte risolvere il problema, in alcune organizzazioni potrebbero essere presenti utenti senza smart card o certificati non memorizzati nelle smart card. Le credenziali comuni risolvono questi problemi memorizzando in modo sicuro le coppie di chiavi e i certificati in Active Directory® e rendendoli quindi disponibili agli utenti indipendentemente dalla posizione di accesso.

Le credenziali comuni sono state rese disponibili per la prima volta in Windows Server 2003 SP1 e consentono il passaggio sicuro dei certificati e delle chiavi tra i computer senza dover utilizzare profili utente specifici. In Windows Vista e in Windows Server 2008, questa funzionalità è stata inclusa per impostazione predefinita ed è stata implementata nel servizio Client Servizi certificati (CSC). Le opzioni di configurazione, ad esempio quali certificati possono avvalersi del roaming e come risolvere i conflitti, vengono gestite tramite i Criteri di gruppo. In Windows Vista e in Windows Server 2008, il servizio CSC può eseguire il roaming delle password e dei nomi utente memorizzati. Sebbene questa funzionalità sia inclusa per impostazione predefinita in Windows Vista, tenere presente che la funzione per le credenziali comuni è completamente supportata in Windows XP e quando si accede a un controller di dominio di Windows Server 2003 (con la distribuzione di un aggiornamento; vedere support.microsoft.com/kb/907247). Questo significa che non è necessario attendere il completamento della distribuzione di Windows Vista per sfruttare i vantaggi di questa tecnologia.

Facilità di gestione

In Windows Server 2008 sono stati eseguiti vari aggiornamenti per migliorare la gestione del servizio CA, rendendo più facile l'installazione, il monitoraggio e per rendere il servizio più disponibile. L'installazione del servizio CA è integrata nello strumento di gestione ed è ora estremamente semplificato. I valori predefiniti vengono definiti in ogni fase del processo e l'installazione può ora essere eseguita in modo automatico. Infine, l'installazione ha ora delle migliori funzionalità di diagnostica che facilitano la risoluzione dei problemi o delle condizioni di errore che possono verificarsi.

Il monitoraggio del servizio CA è stato molto migliorato in Windows Server 2008 (come la diagnostica dei certificati in Windows Vista). Oltre all'infrastruttura più flessibile per la gestione degli eventi nell'intero prodotto, il servizio CA dispone ora di una console di monitoraggio incorporata e di hook in Systems Center Operations Manager 2007 (precedentemente chiamato MOM) per fornire funzionalità di avviso a livello aziendale. La console di monitoraggio PKI è un miglioramento del suo predecessore, la cui introduzione è avvenuta in Windows Server 2003 Administration Pack. La nuova console è inclusa nel prodotto e può ora monitorare gli URI Online Certificate Status Protocol (OCSP) oltre a tutte le CA di uno specifico sistema.

Il Management Pack di Operations Manager fornisce una funzionalità di monitoraggio passivo per la piattaforma PKI dell'azienda, inclusa la funzionalità di avviso basata sulle soglie. Ad esempio, il Management Pack può essere utilizzato per monitorare il livello di aggiornamento di un elenco di revoche di certificati (CRL) e avvisare gli amministratori PKI quando un CRL ha raggiunto il numero di giorni o di ore prima della scadenza. Infine, è ora disponibile una serie di nuovi contatori delle prestazioni che facilitano la risoluzione dei problemi e il monitoraggio delle prestazioni del servizio CA. Questi contatori possono essere utilizzati per acquisire dati, ad esempio il numero di certificati emessi al secondo.

In Windows Server 2008 farà il suo debutto una nuova funzionalità: il supporto per il clustering a livello hardware del servizio CA. Questo supporto cluster utilizza la tecnologia standard Microsoft Cluster Service (MSCS) e supporta le configurazioni attiva/passiva a due nodi. Il supporto cluster consente di disporre pienamente di un'infrastruttura di rilascio e può essere utilizzato per distribuzioni cluster in varie aree geografiche. Se si sceglie di utilizzare il supporto di clustering, tenere presente che il clustering di un servizio CA non ne determina la disponibilità per l'intera piattaforma PKI. Sebbene il clustering aiuti a garantire la disponibilità delle CA, una piattaforma PKI correttamente funzionante avrà probabilmente altri componenti non in esecuzione direttamente nelle CA. Ad esempio, anche i punti di distribuzione CRL (CDP) e i risponditori OCSP devono essere ad alta disponibilità per garantire l'esecuzione della revoca. Inoltre, quando vengono utilizzati, anche i moduli di protezione hardware (HSM), in particolare i moduli HSM basati sulla rete, rappresentano un potenziale punto di errore in una piattaforma PKI. Il clustering è una potente nuova funzionalità che migliora la disponibilità delle CA ma non è una panacea per la disponibilità di un'intera distribuzione PKI.

Revoca

I CRL sono stati utilizzati a lungo per i controlli di validità dei certificati. I CRL includono i numeri di serie di tutti i certificati il cui periodo di validità non è ancora scaduto ma che non sono più affidabili. Ad esempio, se un dipendente ha un certificato la cui data di scadenza è il 31/12/2008 ma il dipendente stesso lascia l'organizzazione il 9/1/2007, i numeri di serie dei relativi certificati verranno inseriti nel CRL. Quindi, il CRL verrà messo a disposizione in più punti di distribuzione CRL (CDP), ad esempio nei percorsi HTTP e Lightweight Directory Access Protocol (LDAP).

Sebbene vengano utilizzati intensamente, i CRL hanno anche alcuni svantaggi. Innanzitutto, i CRL vengono pubblicati periodicamente dalle CA (di solito una o due volte al giorno). I client eseguono quindi il download di queste CRL e le inseriscono nella cache fino alla successiva pubblicazione. Durante la loro permanenza nella cache, i certificati potrebbero essere revocati, lasciando il client inconsapevole sullo stato corrente. In secondo luogo, nelle organizzazioni di grandi dimensioni, i CRL possono raggiungere dimensioni notevoli (a volte oltre 100 MB). La distribuzione di questi file su una rete di grandi dimensioni può essere difficile se non impossibile, sopratutto in sistemi di succursali o in altri ambienti con una larghezza di banda limitata.

Per risolvere questi problemi, è stato creato l'OCSP e definito in RFC 2560. l'OCSP fornisce un metodo in tempo reale per la convalida dello stato dei certificati. Un client OCSP viene eseguito sul computer che deve effettuare il controllo di validità di un certificato secondario. Il software client fa quindi riferimento a un risponditore OCSP e invia un messaggio che richiede lo stato di validità del certificato secondario. Il risponditore controlla la validità del certificato e risponde al client in tempo reale. Questo metodo impedisce problemi alla cache e problemi di distribuzione.

Per la prima volta, la funzionalità client OCSP è inclusa in Windows Vista (in precedenza erano richiesti software di terzi) ed è configurabile tramite i Criteri di gruppo. Per impostazione predefinita, Windows tenterà di utilizzare OCSP ma tornerà alle ricerche CRL se il risponditore non è disponibile.

In Windows Server 2008, viene fornito un risponditore OCSP per rispondere a tali richieste. Il risponditore viene installato tramite il gestore dei ruoli e può essere monitorato dal Management Pack di Operations Manager 2007. Poiché il client e il risponditore sono conformi allo standard OCSP, possono essere facilmente integrati negli ambienti OCSP esistenti che utilizzano componenti di terzi basati su standard simili. Ad esempio, è possibile che un client di Windows Vista controlli lo stato dei certificati mediante un risponditore di terzi e che un risponditore di Windows Server 2008 risponda a query da un'applicazione client di terzi. Inoltre, il risponditore OCSP di Windows può rispondere a richieste di certificati emessi da qualsiasi CA conforme agli standard. Le CA di Windows Server 2008 e le CA basate su Windows in generale non sono richieste.

Conclusione

La piattaforma PKI in Windows Vista e in Windows Server 2008 include molti miglioramenti e molte nuove funzioni che rendono la distribuzione e il funzionamento di PKI più sicuro e meno costoso. La nuova API CNG fornisce agli sviluppatori un ambiente di programmazione più semplice e il supporto per nuovi standard di crittografia. I miglioramenti alla registrazione consentono alle organizzazioni di eseguire il provisioning dei certificati e il roaming sicuro delle chiavi all'interno dell'azienda. Allo stesso modo, il nuovo Management Pack e la funzionalità di clustering facilitano il monitoraggio dello stato delle CA e ne garantiscono un'alta disponibilità. Infine, i miglioramenti per quanto riguarda il controllo delle revoche si avvalgono di un approccio standard per la convalida in tempo reale dei certificati senza i costi relativi alla larghezza di banda della distribuzione CRL. Di conseguenza, Windows Vista e Windows Server 2008 portano la piattaforma Windows PKI a un livello del tutto nuovo.

Risorse relative al miglioramento della piattaforma PKI

John Morello lavora in Microsoft dal 2000. Come consulente senior ha progettato soluzioni di protezione per le prime 100 aziende di Fortune nonché per clienti della difesa e civili. Attualmente ricopre il ruolo di Senior Program Manager presso il reparto Windows Server e si occupa delle tecnologie di protezione e di accesso. È possibile consultare il blog di questo team all'indirizzo blogs.technet.com/WinCAT.

© 2008 Microsoft Corporation e CMP Media, LLC. Tutti i diritti riservati. È vietata la riproduzione completa o parziale senza autorizzazione.