Istruzioni per l'uso di SQL Server 2008 in modalità conforme a FIPS 140-2

Questo articolo descrive FIPS 140-2 e come usare SQL Server 2008 nella modalità conforme a FIPS 140-2.

Versione originale del prodotto: SQL Server
Numero KB originale: 955720

Introduzione

Questo articolo illustra le istruzioni FIPS (Federal Information Processing Standard) 140-2 e come usare Microsoft SQL Server 2008 in modalità conforme a FIPS 140-2.

Nota

I termini "conformità FIPS 140-2", "conformità FIPS 140-2" e "modalità conforme a FIPS 140-2" sono definiti qui per l'uso e la chiarezza. Questi termini non sono riconosciuti o definiti per enti pubblici. I governi Stati Uniti e canadese riconoscono la convalida dei moduli crittografici rispetto a standard come FIPS 140-2 e non l'uso di essi in modo specificato o conforme. In questo articolo vengono definiti "FIPS 140-2-compliant", "FIPS 140-2 compliance" e "FIPS 140-2-compliant mode" per indicare che SQL Server 2008 usa solo istanze con convalida FIPS 140-2 di algoritmi e funzioni hash in tutte le istanze in cui i dati crittografati o hash vengono importati o esportati in SQL Server 2008. Inoltre, questi termini indicano che SQL Server 2008 gestirà le chiavi in modo sicuro in base alle esigenze dei moduli di crittografia convalidati da FIPS 140-2. Il processo di gestione delle chiavi include anche le funzionalità di generazione delle chiavi e di archiviazione delle chiavi.

Informazioni su FIPS

FIPS indica Standard federali per l'elaborazione delle informazioni. I FIPS sono standard sviluppati da due enti governativi. Uno è il National Institute of Standards and Technology nel Stati Uniti. L'altro è il Communications Security Establishment in Canada. I FIPS sono standard consigliati o imposti per l'uso in sistemi IT federali (Stati Uniti o canadesi) gestiti dal governo.

Che cos'è FIPS 140-2

FIPS 140-2 è un'istruzione dei "Requisiti di sicurezza per i moduli di crittografia". Specifica quali algoritmi di crittografia e quali algoritmi di hash possono essere usati e come generare e gestire le chiavi di crittografia. Alcuni hardware, software e processi possono essere convalidati DA FIPS 140-2 da un lab di convalida approvato. Alcuni di essi possono anche essere descritti come conformi a FIPS 140-2 come il termine è definito in questo articolo.

Qual è la differenza tra un'applicazione "conforme a FIPS 140-2" e un'applicazione con convalida "FIPS 140-2"

È possibile configurare SQL Server 2008 per l'esecuzione come applicazione conforme a FIPS 140-2. A tale scopo, è necessario eseguire SQL Server 2008 in un sistema operativo che usa un provider di servizi di crittografia convalidato da FIPS 140-2 o che fornisce un modulo di crittografia convalidato. La differenza tra conformità e convalida non è sottile. Gli algoritmi possono essere convalidati. Tenere presente che non è sufficiente usare gli algoritmi degli elenchi approvati in FIPS 140-2. È necessario usare istanze di algoritmi convalidati da FIPS 140-2. La convalida richiede test e verifica da parte di un lab di valutazione approvato dal governo. Windows Server 2008, Windows Server 2003 e Windows XP contengono i moduli di crittografia approvati e i moduli, incluse le istanze specifiche degli algoritmi, sono stati testati in laboratorio e convalidati per enti pubblici.

Quali applicazioni possono essere conformi a FIPS 140-2

Tutte le applicazioni che eseguono la crittografia o l'hash e che vengono eseguite in una versione convalidata di un provider di servizi di crittografia windows possono essere conformi se usano solo le istanze convalidate degli algoritmi approvati. Queste applicazioni devono inoltre essere conformi ai requisiti di generazione delle chiavi e gestione delle chiavi usando una funzione chiave di Windows o soddisfando i requisiti di generazione delle chiavi e gestione delle chiavi nell'applicazione. In alcuni casi, inoltre, gli algoritmi o i processi non conformi sono consentiti in un'applicazione conforme a FIPS 140-2. Ad esempio, i dati possono essere crittografati usando un algoritmo non conforme se, in questo formato crittografato, i dati rimangono all'interno dell'applicazione, ovvero i dati non vengono esportati in questo formato o se i dati vengono ulteriormente crittografati (incapsulati) usando un algoritmo conforme a FIPS.

Ciò significa che SQL Server 2008 è sempre conforme a FIPS 140-2

No. Ciò significa che SQL Server 2008 può essere configurato per l'esecuzione in modalità conforme a FIPS 140-2.

Come è possibile configurare SQL Server 2008 per l'uso di un modulo di crittografia con convalida FIPS 140-2

  • Requisiti del sistema operativo

    È necessario installare SQL Server 2008 in un computer basato su Windows Server 2008, in un computer basato su Windows Vista, in un computer basato su Windows Server 2003 o in un computer basato su Windows XP.

  • Requisiti di amministrazione del sistema Windows

    È necessario abilitare la modalità FIPS prima di iniziare SQL Server 2008. Questo perché SQL Server 2008 legge l'impostazione FIPS all'avvio. Per abilitare FIPS, seguire questa procedura.

    • Per Windows Server 2008 e Windows Vista

      1. Usare le credenziali amministrative per accedere al computer.
      2. Se si usa Windows Server 2008, fare clic su Start, fare clic su Esegui, digitare gpedit.msc e quindi premere INVIO. Verrà aperto il Criteri di gruppo Editor locale. Se si usa un computer basato su Windows Vista, fare clic su Start, digitare gpedit.msc nella casella Avvia ricerca e quindi premere INVIO.
      3. Nella Criteri di gruppo Editor locale fare doppio clic su Impostazioni di Windows nel nodo Configurazione computer e quindi fare doppio clic su Impostazioni di sicurezza.
      4. Nel nodo Impostazioni di sicurezza fare doppio clic su Criteri locali e quindi su Opzioni di sicurezza.
      5. Nel riquadro dei dettagli fare doppio clic su Crittografia di sistema: usare algoritmi conformi a FIPS per la crittografia, l'hash e la firma.
      6. Nella finestra di dialogo Crittografia di sistema: usare algoritmi conformi a FIPS per la crittografia, l'hash e la firma , fare clic su Abilitato e quindi su OK per chiudere la finestra di dialogo.
      7. Chiudere il Criteri di gruppo Editor locale.
    • Per Windows Server 2003 e Windows XP

      1. Usare le credenziali amministrative per accedere al computer.
      2. Fare clic su Start, fare clic su Esegui, digitare gpedit.msc e quindi premere INVIO.
      3. Nella finestra Criteri di gruppo fare doppio clic su Impostazioni di Windows nel nodo Configurazione computer e quindi fare doppio clic su Impostazioni di sicurezza.
      4. Nel nodo Impostazioni di sicurezza fare doppio clic su Criteri locali e quindi su Opzioni di sicurezza.
      5. Nel riquadro dei dettagli fare doppio clic su Crittografia di sistema: usare algoritmi conformi a FIPS per la crittografia, l'hash e la firma.
      6. Nella finestra di dialogo Crittografia di sistema: usare algoritmi conformi a FIPS per la crittografia, l'hash e la firma , fare clic su Abilitato e quindi su OK per chiudere la finestra di dialogo.
      7. Chiudere la finestra Criteri di gruppo.

note sull'amministratore di SQL Server 2008

  • Quando il servizio SQL Server 2008 rileva che la modalità FIPS è abilitata all'avvio, SQL Server 2008 registra il messaggio seguente nel log degli errori SQL Server:

    Il trasporto di Service Broker è in esecuzione in modalità di conformità FIPS

    Inoltre, nel log dell'applicazione potrebbe essere registrato il messaggio seguente:

    Il trasporto del mirroring del database è in esecuzione in modalità di conformità FIPS

    Per verificare che il server sia in esecuzione in modalità FIPS, individuare questi messaggi.

  • Per ottenere la sicurezza del dialogo tra i servizi, il processo di crittografia userà l'istanza certificata FIPS di Advanced Encryption Standard (AES) se la modalità FIPS è abilitata. Se la modalità FIPS è disabilitata, il processo di crittografia usa RC4.

  • Quando si configura un endpoint di Service Broker in modalità FIPS, è necessario specificare AES per Service Broker. Se l'endpoint è configurato su RC4, SQL Server genera un errore. Pertanto, il livello di trasporto non viene avviato.

Come funziona SQL Server 2008 in modalità conforme a FIPS 140-2

  • Se la modalità FIPS in Windows è attivata e l'utente non ha scelta se crittografare o hash i dati e come verranno eseguiti, SQL Server 2008 funziona in modalità conforme a FIPS 140-2. SQL Server 2008 userà CryptoAPI e userà solo le istanze convalidate degli algoritmi.

  • Se la modalità FIPS è attivata e l'utente può scegliere se usare la crittografia, SQL Server 2008 consentirà solo la crittografia conforme a FIPS 140-2 o non consentirà alcuna crittografia.

  • Informazioni importanti per gli sviluppatori

    Se si scrive il proprio codice per la crittografia o l'hash, è necessario usare solo CryptoAPI. È necessario specificare solo gli algoritmi consentiti da FIPS 140-2. In particolare, usare solo Triple Data Encryption Standard (3DES) o AES per la crittografia e solo SHA-1 per l'hash. È possibile usare le parole chiave seguenti in SQL Server 2008 per i rispettivi algoritmi convalidati da FIPS 140-2:

    • DESX(Three-key triple DES)
    • Triple-DES(Two-key triple DES)
    • TRIPLE_DES_3KEY(triple DES a tre chiavi)
    • TRIPLE_DES_2KEY(triple DES a due chiavi)

    Nota

    La selezione di DESX non fornisce un algoritmo DESX in SQL Server 2005 o in SQL Server 2008. In entrambi i casi, la selezione di DESX fornisce un'istanza convalidata di three-key triple DES.

  • Informazioni importanti per gli sviluppatori

    SQL Server 2008 supporta una funzionalità di gestione delle chiavi aziendali (EKM) che consente la gestione delle chiavi crittografiche in un modulo di archiviazione hardware di terze parti separato. Per operare in modalità conforme a FIPS 140-2 e usare EKM, una delle due condizioni seguenti deve essere vera:

    • Il modulo di crittografia esterno deve essere convalidato da FIPS 140-2.
    • Alcuni degli algoritmi usati dal modulo di crittografia devono essere convalidati da FIPS 140-2. Usare solo le istanze di algoritmi convalidati quando è necessaria la crittografia o la decrittografia basata su FIPS 140-2 per importare o esportare dati da o verso SQL Server.

    Inoltre, i dati che verranno crittografati o decrittografati dal modulo di crittografia esterno devono essere passati in forma crittografata usando un'istanza con convalida FIPS 140-2.

Qual è l'effetto dell'esecuzione di SQL Server 2008 in modalità conforme a FIPS 140-2

  • L'uso di una crittografia più avanzata può avere un piccolo effetto sulle prestazioni per i processi in cui la crittografia meno avanzata è consentita quando il processo non funziona come conforme a FIPS 140-2.

  • La selezione della crittografia per SSIS (UseEncryption=True) genererà un messaggio di errore che indica che la crittografia disponibile non è compatibile con la conformità FIPS e non è consentita. In altre parole, non viene eseguita alcuna crittografia del processo del messaggio.

  • L'uso della crittografia insieme a Data Transformation Services (DTS) legacy non è conforme a FIPS 140-2. Per DTS, la modalità FIPS in Windows non è selezionata. Per rimanere conforme, non è necessario selezionare la crittografia.

  • La maggior parte dei processi di crittografia e hash di SQL Server 2008 usa già un modulo di crittografia con convalida FIPS 140-2. Pertanto, se si esegue un'applicazione in modalità conforme a FIPS 140-2 quando la modalità FIPS è attivata in Windows, l'uso o le prestazioni dell'applicazione non hanno alcun effetto.

Dichiarazione di non responsabilità di terze parti

Dichiarazione di non responsabilità sulle informazioni di terze parti

I prodotti di terzi citati in questo articolo sono prodotti da società indipendenti da Microsoft. Microsoft non rilascia alcuna garanzia implicita o esplicita relativa alle prestazioni o all'affidabilità di tali prodotti