Condividi tramite


Usare SQL Server 2016 e versioni successive in modalità conforme a FIPS 140-2

Questo articolo presenta le istruzioni FIPS 140-2 e illustra come usare SQL Server2016 in modalità conforme a FIPS 140-2.

Versione originale del prodotto: SQL Server numero KB originale 2016 e versioni successive: 4014354

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 di crittografia rispetto a standard come FIPS 140-2 anziché usare moduli crittografici in modo specificato o conforme.

    In questo articolo vengono usate la modalità fips 140-2, la conformità FIPS 140-2 e la modalità conforme a FIPS 140-2 per indicare che SQL Server 2016 e versioni successive usano solo istanze con convalida FIPS 140-2 di algoritmi e funzioni hash in tutte le istanze in cui i dati crittografati o con hash vengono importati o esportati da SQL Server 2016 e versioni successive. Ciò significa anche che SQL Server 2016 e versioni successive gestiranno le chiavi in modo sicuro, come richiesto dai moduli di crittografia convalidati da FIPS 140-2. Il processo di gestione delle chiavi include anche la generazione di chiavi e l'archiviazione delle chiavi.

  • In questo caso si usa "certified" per indicare che l'istanza dell'algoritmo è convalidata da FIPS 140-2 o che il sistema operativo contiene istanze di algoritmi con convalida FIPS140-2.

Che cos'è FIPS?

Il Federal Information Processing Standard (FIPS) è uno standard sviluppato dai due enti governativi seguenti:

  • Il National Institute of Standards and Technology (NIST) del Stati Uniti
  • The Communications Security Establishment (CSE) in Canada

Gli standard FIPS sono consigliati o imposti per l'uso in sistemi IT gestiti dal governo federale nel Stati Uniti e in Canada.

Che cos'è FIPS 140-2?

FIPS 140-2 è un'istruzione intitolata "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 che contengono gli algoritmi possono essere considerati certificati FIPS 140-2 e altri hardware, software e processi che chiamano gli algoritmi corretti possono essere considerati conformi a FIPS 140-2.

Qual è la differenza tra la conformità FIPS 140-2 e la certificazione FIPS 140-2?

SQL Server 2016 e versioni successive possono essere configurate ed eseguite in modo conforme a FIPS 140-2. Per configurare SQL Server 2016 e versioni successive in questo modo, deve essere eseguito in un sistema operativo certificato FIPS 140-2 o che fornisce moduli di crittografia certificati. La differenza tra conformità e certificazione non è sottile. Gli algoritmi possono essere certificati. Non è sufficiente usare un algoritmo solo perché è elencato negli elenchi approvati in FIPS 140-2. È invece necessario usare un'istanza di tale algoritmo certificato. Ciò significa che l'istanza è convalidata dal governo. La certificazione richiede test e verifica da parte di un lab di valutazione approvato dal governo statunitense o canadese. Windows Server 2012 e versioni successive e Windows 8 e versioni successive contengono l'istanza certificata di ogni algoritmo consentito. Soprattutto, una chiamata a ognuno di questi algoritmi fornisce solo l'istanza certificata.

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 certificata di Windows possono essere conformi solo usando le istanze certificate degli algoritmi approvati e rispettando i requisiti di generazione delle chiavi e gestione delle chiavi. Ciò richiede l'uso della funzione Windows per la generazione di chiavi e la gestione delle chiavi o il rispetto dei requisiti di generazione e gestione delle chiavi all'interno dell'applicazione. In un'applicazione conforme a FIPS possono esistere aree in cui sono abilitati algoritmi o processi non conformi. Ad esempio, sono consentiti alcuni processi interni che rimangono nel sistema e alcuni dati esterni che dovrebbero essere crittografati da un'istanza di algoritmo certificato.

Le versioni SQL Server 2016 e successive sono sempre conformi a FIPS 140-2?

No. SQL Server 2016 e versioni successive possono essere conformi a FIPS 140-2 perché possono essere configurati ed eseguiti in modo che usi solo le istanze dell'algoritmo certificate FIPS 140-2. Inoltre, queste istanze vengono chiamate tramite CryptoAPI o CGN per la crittografia o tramite hash in ogni istanza in cui è necessaria la conformità FIPS 140-2.

Come è possibile configurare SQL Server 2016 e versioni successive in modo che siano conformi a FIPS 140-2?

Requisiti del sistema operativo

È necessario installare SQL Server 2016 e versioni successive in un host che esegue uno dei seguenti client e server Windows.

Requisiti di amministrazione del sistema Windows

La modalità FIPS deve essere impostata prima dell'avvio di SQL Server 2016 o versione successiva. SQL Server legge l'impostazione all'avvio. Per impostare la modalità FIPS, seguire questa procedura:

  1. Accedere a Windows come amministratore di sistema di Windows.
  2. Selezionare Start.
  3. Selezionare Pannello di controllo.
  4. Selezionare Strumenti di amministrazione. Potrebbe essere necessario passare a icone di grandi dimensioni per il passaggio successivo.
  5. Selezionare Criteri di sicurezza locali. Viene visualizzata la finestra Impostazioni di sicurezza locali .
  6. Nel riquadro di spostamento selezionareOpzioni di sicurezzacriteri> locali.
  7. Nel riquadro a destra fare doppio clic su Crittografia di sistema: usare algoritmi conformi FIPS per la crittografia, l'hash e la firma.
  8. Nella finestra di dialogo visualizzata selezionare Applica abilitato>.
  9. Selezionare OK.
  10. Chiudere la finestra Impostazioni di sicurezza locale .

SQL Server requisito di amministratore

Quando il servizio SQL Server (quando un endpoint è configurato per Service Broker o il mirroring del database) rileva che la modalità FIPS è abilitata all'avvio, SQL Server registra il messaggio seguente nel log degli errori SQL Server:

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

Inoltre, è possibile che nel registro eventi di Windows sia registrato il messaggio seguente:

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

È possibile verificare che il server sia in esecuzione in modalità FIPS cercando questi messaggi.

Nota

  • Per la sicurezza della finestra di dialogo (tra servizi), il processo di crittografia usa l'istanza di AES con certificazione FIPS se è abilitata la modalità FIPS. Se la modalità FIPS è disabilitata, il processo di crittografia usa ancora AES.
  • Quando si configura un endpoint service broker in modalità FIPS, l'amministratore deve specificare "AES" per Service Broker. Se l'endpoint è configurato su RC4, SQL Server genera un errore. Pertanto, il livello di trasporto non verrà avviato.

In che modo SQL Server 2016 e versioni successive funzionano in modalità conforme a FIPS 140-2?

  • Con la modalità FIPS in Windows attivata, in tutte le aree in cui l'utente non ha scelta se crittografare o hash e come verrà eseguita, SQL Server 2016 e versioni successive verranno eseguite in conformità con FIPS 140-2. (SQL Server 2016 e versioni successive useranno CryptoAPI in Windows e useranno solo le istanze certificate degli algoritmi.

  • Con la modalità FIPS in Windows attivata, in tutte le aree in cui l'utente può scegliere se usare la crittografia, SQL Server 2016 e versioni successive abiliteranno solo la crittografia conforme a FIPS 140-2 o non abiliteranno alcuna crittografia.

  • Informazioni importanti per gli sviluppatori di software: In tutte le aree in cui lo sviluppatore o l'utente scrive il proprio codice per la crittografia o l'hash, deve essere richiesto di usare solo CryptoAPI (e quindi solo le istanze certificate) e di specificare solo gli algoritmi consentiti da FIPS 140-2. Per l'elenco ufficiale NIST di algoritmi crittografici approvati FIPS 140-2, vedere Gli allegati A, C e D nel programma di convalida del modulo di crittografia.

Qual è l'effetto dell'esecuzione di SQL Server 2016 o versione successiva in modalità conforme a FIPS 140-2?

  • Quando si usa una crittografia più avanzata, può avere un piccolo effetto sulle prestazioni per i processi per i quali è consentita una crittografia meno affidabile quando il processo non funziona come conforme a FIPS 140-2.

  • La selezione della crittografia per SSIS (UseEncryption=True) genererà un 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.

  • Quando si usa la crittografia insieme a DTS legacy, la crittografia non è conforme a FIPS 140-2. Per DTS, la modalità FIPS in Windows non è selezionata. Di conseguenza, è responsabilità dell'utente selezionare nessuna crittografia per rimanere conforme.

  • Poiché la maggior parte SQL Server 2016 e versioni successive i processi di crittografia e hash sono già conformi a FIPS 140-2, l'esecuzione in conformità completa (ovvero con la modalità FIPS in Windows attivata) avrà un effetto minimo o negativo sull'uso o sulle prestazioni dell'applicazione.

Dove è possibile ottenere altre informazioni su FIPS 140-2?

Per altre informazioni su FIPS 140-2, vedere Standard e documenti di CMVP FIPS 140-2.

Microsoft fornisce informazioni di contatto di terze parti allo scopo di facilitare l'individuazione del supporto tecnico. Queste informazioni di contatto sono soggette a modifica senza preavviso. Microsoft non garantisce l'accuratezza di queste informazioni di contatto di terze parti.