簡介

本文將討論 FIPS 140-2 指示,以及如何在 FIPS 140-2 相容模式中使用 Microsoft SQL Server 2012。注意事項

  • 這裡定義了「FIPS 140-2 相容性」、「FIPS 140-2 合規性」和「FIPS 140-2 相容模式」等專案,以供使用和明確使用。 這些詞彙無法辨識或定義為政府條款。 美國和加拿大政府認識到對 FIPS 140-2 等標準的密碼模組驗證,而不是以指定或一致的方式使用加密模組。 在本文中,我們將使用「FIPS 140-2 相容性」、「FIPS 140-2 合規性」和「FIPS 140-2 相容模式」,判斷 SQL Server 2012 只會在從 SQL Server 140-2 匯入或匯出加密或雜湊資料的所有實例中,使用 FIPS 2012 驗證的演算法及雜湊函數實例。 此外,這表示 SQL Server 2012 會以安全的方式管理金鑰,就像 FIPS 140-2 驗證的密碼模組需要一樣。 金鑰管理程式也包括金鑰產生和金鑰儲存。

  • 我們在這裡使用「已驗證」,表示演算法的實例是 FIPS 140-2 驗證,或是作業系統包含經過 FIPS 140-2 驗證的演算法實例。

其他相關資訊

什麼是 FIPS?

聯邦資訊處理標準(FIPS)是由下列兩個政府機構所開發的標準:

  • 美國國內國家標準與技術協會(NIST)

  • 加拿大的通訊安全設施(CSE)

在美國和加拿大的聯邦政府運營 IT 系統中,建議或規定使用 FIPS 標準。

何謂 FIPS 140-2?

FIPS 140-2 是標題為「加密模組的安全性需求」的語句。 它會指定哪些加密演算法及可使用哪些雜湊演算法,以及如何產生和管理加密金鑰。 有些硬體、軟體和程式可以是 FIPS 140-2 認證,而某些硬體、軟體和程式可以是 FIPS 140-2 相容的。

FIPS 140-2 相容與 FIPS 140-2 認證的差異為何?

您可以設定 SQL Server 2012,並以相容 FIPS 140-2 的方式執行。 若要以這種方式設定 SQL Server 2012,SQL Server 2012 必須在 FIPS 140-2 已驗證的作業系統上執行,或是在提供已認證之加密模組的作業系統上執行。 合規性與認證的差異不明顯。 您可以對演算法進行認證。 無法使用 FIPS 140-2 中核准清單中的演算法。 相反地,您必須使用已認證的這類演算法的實例。 認證需要由政府核准的評估實驗室進行測試和驗證。 Windows Server 2003、Windows XP 和 Windows Server 2008 包含允許的演算法,且每個作業系統的實例都經過評估實驗室測試和政府認證。

哪些應用程式產品可以是 FIPS 140-2 相容的?

在已認證版本的 Windows 上執行加密或雜湊處理的所有應用程式,都可以只使用已認證的核准演算法實例,並遵循金鑰產生與金鑰管理需求(無論是使用 Windows 函式金鑰產生和金鑰管理,或是遵循應用程式內的金鑰產生與金鑰管理需求)來符合。 請注意,在啟用不相容演算法或程式的情況下,可能會存在 FIPS 相容的應用程式中的區域。 例如,您可以在系統中保留的部分內部處理常式,以及由認證的演算法實例進一步加密的一些外部資料。

SQL Server 2012 是否與 FIPS 140-2 相容?

不會。 SQL Server 2012 可以是 FIPS 140-2 相容性,因為它可以設定並執行,因為它只使用 FIPS 140-2 驗證的演算法實例,在需要 FIPS 140-2 相容性的每個實例中,都可以使用 CryptoAPI 進行加密或雜湊。

SQL Server 2012 如何設定為與 FIPS 140-2 相容?

  • 作業系統需求: 您必須在以下列其中一個作業系統為基礎的伺服器上安裝 SQL Server 2012:

    • Windows Server 2003

    • Windows XP

    • Windows Server 2008

  • Windows 系統管理需求: 在啟動 SQL Server 2012 之前,必須先設定 FIPS 模式。 SQL Server 在啟動時讀取設定。 若要設定 FIPS 模式,請依照下列步驟執行:

    1. 以 Windows 系統管理員的身分登入 Windows。

    2. 按一下 [開始]

    3. 按一下 [ 控制台]。

    4. 按一下 [ 管理工具]。

    5. 按一下 [ 本機安全性原則]。 [ 本地安全性設定 ] 視窗隨即出現。

    6. 在 [功能窗格] 中,按一下 [ 本機原則],然後按一下 [ 安全性選項]。

    7. 在右側窗格中,按兩下 [系統加密]:使用 FIPS 相容的演算法來加密、雜湊及簽署

    8. 在出現的對話方塊中,按一下 [啟用],然後按一下 [套用]。

    9. 按一下 [確定]

    10. 關閉 [ 本機安全性設定 ] 視窗。

  • SQL Server 管理員需求

    • 當 SQL Server 服務在啟動時偵測到已啟用 FIPS 模式時,SQL Server 會在 SQL Server 錯誤記錄中記錄下列訊息:

      Service Broker 傳輸是在 FIPS 合規性模式中執行。此外,您可能會發現在 Windows 事件記錄檔中記錄了下列訊息:

      您可以尋找這些訊息,以確認伺服器正在 FIPS 模式中執行。

    • 針對對話方塊安全性(在 [服務] 之間),如果已啟用 FIPS 模式,則加密會使用 FIPS 認證的 AES 實例。 如果已停用 FIPS 模式,加密會使用 RC4。

    • 當您在 FIPS 模式中設定 service broker 端點時,系統管理員必須為 service broker 指定 "AES"。 如果端點已設定為 RC4,則 SQL Server 會產生錯誤。 因此,傳輸層將無法啟動。

SQL Server 2012 在 FIPS 140-2 相容模式中的運作方式為何?

  • 在 Windows 開啟 [FIPS 模式] 的情況下,在使用者無法選擇是否要加密/雜湊以及如何完成的所有區域中,SQL Server 2012 將在符合 FIPS 140-2 的情況下執行。 (SQL Server 2012 將在 Windows 中使用 CryptoAPI,且只會使用經過認證的演算法實例)。

  • 在 Windows 開啟 [FIPS 模式] 的情況下,在使用者可選擇是否要使用加密的所有區域中,SQL Server 2012 將只啟用 FIPS 140-2 相容的加密,或不會啟用任何加密。

  • 軟體發展人員的重要資訊在所有的區域中,開發人員或使用者撰寫自己的加密或雜湊演算法的程式碼時,必須只使用 CryptoAPI (因此只有認證的實例),並指定 FIPS 140-2 所允許的演算法。 具體來說,他們必須只指定三重 DES (3DES)或 AES 加密,而只有 SHA-1 才能進行雜湊計算。

在 FIPS 140-2 相容模式中執行 SQL Server 2012 的效果為何?

  • 如果程式不是以 FIPS 140-2 相容的方式運作,則使用較強的加密時,可能會對這些程式的效能產生小的影響。

  • SSIS 的加密選取(UseEncryption = True)會產生錯誤訊息,指出可用的加密與 FIPS 相容性不相容,且不允許。 換句話說,不會執行任何郵件程式加密操作。

  • 將 encryption 與舊版 DTS 搭配使用並不符合 FIPS 140-2。 請注意,Windows 中的 FIPS 模式沒有核取,因此對於 DTS 而言,沒有核取。 因此,使用者必須負責選取 [無加密],才能維持合規性。

  • 因為大部分的 SQL Server 2012 加密和雜湊處理常式都已符合 FIPS 140-2,所以在完整規範中執行(即在 Windows 開啟時使用 FIPS 模式)將對產品的使用或效能有極小或沒有任何影響。

我可以在哪裡瞭解有關 FIPS 140-2 的詳細資訊?

如需有關 FIPS 140-2 標準及下載方式的詳細資訊,請移至下列 NIST 網站:

http://csrc.nist.gov/cryptval/140-2.htmMicrosoft 提供協力廠商的連絡資訊,協助您尋找技術支援。 此連絡資訊若有變更,恕不另行通知。 Microsoft 不保證此協力廠商連絡資訊的正確性。

需要更多協助?

擴展您的技能
探索訓練
優先取得新功能
加入 Microsoft 測試人員

這項資訊有幫助嗎?

您對翻譯品質的滿意度為何?
會影響您使用體驗的因素為何?

感謝您的意見反應!

×