簡介
本文將告訴您聯邦資訊處理標準 (FIPS) 140-2 的指示,以及如何使用 Microsoft SQL Server 2008年在 FIPS 140-2-相容模式中。
注意詞彙"FIPS 140-2 – 相容,""FIPS 140-2 相容性 」 和 「 FIPS 140-2-相容模式 」 定義在這裡使用及清晰度。這些詞彙無法辨識,或已定義的政府字彙。美國和加拿大地區政府辨識對標準,像是 FIPS 140-2 的密碼編譯模組的驗證和不使用它們指定清單中或一致的方式。本篇文章中,我們會定義 「 FIPS 140-2-相容,""FIPS 140-2 相容性 」 和 「 FIPS 140-2-相容模式 」 來表示 SQL Server 2008年使用唯一 FIPS 140-2-驗證執行個體的演算法和雜湊函數中的所有執行個體的加密或雜湊資料匯入或匯出至 SQL Server 2008年。此外,這些名詞的意義,SQL Server 2008年將管理金鑰所需的 FIPS 140-2-驗證的密碼編譯模組安全的方式。金鑰管理程序也會包括金鑰產生和金鑰儲存功能。
更多的資訊
FIPS 是什麼?
FIPS 表示聯邦資訊處理標準。FIPS 是兩個政府主體所開發的標準。有的國家標準與技術,在美國。另一個是在加拿大通訊安全性建立。FIPS 是建議或強制規定的使用中 (美國或加拿大) 聯邦政府操作的 IT 系統的標準。
FIPS 140-2 是什麼?
FIPS 140-2 是一個陳述式的 < 安全性需求的密碼編譯的模組。="">它會指定哪一個加密演算法可以用何種雜湊演算法和加密金鑰的方式產生及管理。某些硬體、 軟體和處理程序可以是 FIPS 140-2 由核准的驗證實驗室驗證。其中也可以描述為 FIPS 140-2-相容一詞是這份文件中所定義。
應用程式"FIPS 140-2-相容"和"FIPS 140-2-驗證 」 的應用程式之間的差異為何?
您可以設定為 FIPS 140-2-相容的應用程式執行的 SQL Server 2008年。若要這麼做,您必須使用 FIPS 140-2-驗證密碼編譯服務提供者,或提供已驗證的密碼編譯模組的作業系統上執行 SQL Server 2008年。 無法細微相容性和驗證之間的差異。可以驗證演算法。了解它不足以使用核准的清單中的演算法在 FIPS 140-2。您必須使用已 FIPS 140-2 驗證演算法的執行個體。驗證所需的政府核准評估實驗室的測試和驗證。Windows Server 2008、 Windows Server 2003 和 Windows XP 包含已核准的密碼編譯模組,而兩個單元,包括特定的執行個體的演算法,已測試的實驗室與驗證的政府。
有哪些應用程式可以是 FIPS 140-2-相容?
所有應用程式來執行加密或雜湊,以及在 Microsoft Windows 密碼編譯服務提供者的已驗證版本上執行能夠相容,如果使用核准的演算法中的已驗證之執行個體。使用 Windows 的主要功能,或會議的金鑰產生和金鑰管理的需求,應用程式中,則這些應用程式也必須符合的金鑰產生和金鑰管理的需求。此外,在某些情況下,不相容的演算法或處理程序中允許有 FIPS 140-2-相容的應用程式。例如,資料可能加密使用不相容的演算法,如果這個加密的格式,在應用程式中,也就是資料仍會保留資料並不會匯出這種形式,或如果使用 FIPS 相容演算法 (包裝) 進一步加密資料。
這意思 SQL Server 2008年永遠是 FIPS 140-2-相容?
[否]。這表示在 FIPS 140-2-相容模式中執行時,會設定 SQL Server 2008年。
SQL Server 2008年,要如何設定來使用 FIPS 140-2-驗證密碼編譯模組?
作業系統需求
您必須在 Windows Server 2008 為基礎的電腦,Windows vista 的電腦、 Windows Server 2003 的電腦或 Windows xp 電腦上安裝 SQL Server 2008年。
Windows 系統管理需求
在啟動 SQL Server 2008年之前,您必須啟用 FIPS 模式。這是因為 SQL Server 2008年讀取 FIPS 設定,在啟動時。若要啟用 FIPS,請依照下列步驟執行。
Windows Server 2008,Windows Vista
-
您可以使用 [系統管理認證來登入電腦。
-
如果您使用的 Windows Server 2008,請按一下 [開始,按一下 [執行]、 輸入gpedit.msc,,然後按 ENTER 鍵。本機群組原則編輯器隨即開啟。如果您使用的 Windows vista 的電腦,請按一下 [開始,在 [開始搜尋] 方塊中,鍵入gpedit.msc ,然後按 ENTER 鍵。
-
在 「 本機群組原則編輯器 」 中,按兩下 [ Windows 設定],請在 [電腦設定] 節點下,,然後按兩下 [安全性設定。
-
在 [安全性設定] 節點中,按兩下 [本機原則],然後按一下安全性選項。
-
在詳細資料窗格中,連按兩下系統密碼編譯: 使用 FIPS 相容演算法於加密,雜湊,以及簽章。
-
在系統密碼編譯: 使用 FIPS 相容演算法於加密,雜湊,以及簽章對話方塊中,按一下 [已啟用],然後按一下[確定]以關閉對話方塊。
-
關閉 [本機群組原則編輯器。
Windows Server 2003 和 Windows XP
-
您可以使用 [系統管理認證來登入電腦。
-
按一下 [開始]、 按一下 [執行,輸入gpedit.msc,,然後按 ENTER 鍵。
-
在 [群組原則] 視窗中,連按兩下 [電腦設定] 節點下的 [ Windows 設定,然後按兩下 [安全性設定。
-
在 [安全性設定] 節點中,按兩下 [本機原則],然後按一下安全性選項。
-
在詳細資料窗格中,連按兩下系統密碼編譯: 使用 FIPS 相容演算法於加密,雜湊,以及簽章。
-
在系統密碼編譯: 使用 FIPS 相容演算法於加密,雜湊,以及簽章對話方塊中,按一下 [已啟用],然後按一下[確定]以關閉對話方塊。
-
關閉 [群組原則] 視窗。
SQL Server 2008年系統管理員的備忘稿
-
當 SQL Server 2008年服務偵測到啟用 FIPS 模式時,會在啟動時,SQL Server 2008年將 SQL Server 錯誤記錄檔中記錄下列訊息:
Service Broker 傳輸以 FIPS 相容性模式執行此外,應用程式日誌中可能會記錄下列訊息:
資料庫鏡像傳輸以 FIPS 相容性模式執行若要確認伺服器正在執行 FIPS 模式中,找出這些訊息。
-
若要取得服務之間的對話安全性,如果已啟用 FIPS 模式下,加密程序時,會使用 FIPS 認證的執行個體的進階加密標準 (AES)。如果停用的 FIPS 模式時,加密程序會使用 RC4。
-
當您設定 Service Broker 端點在 FIPS 模式時,您必須指定 Service Broker"AES"。如果結束點設定為 RC4,SQL Server 就會產生錯誤。因此,無法啟動傳輸層。
SQL Server 2008年如何在 FIPS 140-2-相容模式下運作?
-
如果在 Windows 中的 FIPS 模式啟動,且使用者有沒有其他選擇有關是否要加密或雜湊資料,以及如何完成,SQL Server 2008 FIPS 140-2-相容模式下運作。SQL Server 2008年將會使用 CryptoAPI 而會使用演算法中的已驗證之執行個體。
-
如果 FIPS 模式已開啟,且如果使用者選擇是否要使用加密,SQL Server 2008年將會允許 FIPS 140-2-相容加密,或它不會允許任何加密。
-
開發人員的重要資訊
如果您撰寫自己的程式碼,來加密或雜湊時,您必須使用只有 CryptoAPI。 您必須指定所允許的 FIPS 140-2 的演算法。 特別是,使用 [只三重資料加密標準 (3DES) 或 AES 加密,並只 sha-1 雜湊。您可以在各自的 FIPS 140-2-驗證演算法的 SQL Server 2008年中使用下列關鍵字:-
DESX (三個索引鍵三重 DES)
-
三重 DES(Two-key triple DES)
-
TRIPLE_DES_3KEY (三個索引鍵的三重 DES)
-
TRIPLE_DES_2KEY (個雙鍵三重 DES)
注意選取 DESX 並不會提供 SQL Server 2005 中,或在 SQL Server 2008年中 DESX 演算法。在這兩種情況下,選取 [DESX 提供已驗證的執行個體的三個索引鍵的三重 DES。
-
-
開發人員的重要資訊
SQL Server 2008年支援企業的金鑰管理 (EKM) 功能可以讓個別的協力廠商硬體儲存模組 (HSM) 上的密碼編譯金鑰的管理。 若要在 FIPS 140-2-相容模式下作業,並使用 EKM,其中一個下列的兩個條件必須成立:-
外部的密碼編譯模組必須為 FIPS 140-2 驗證。
-
密碼編譯的模組所使用的演算法中的部分必須 FIPS 140-2 驗證。FIPS 140-2-基礎加密或解密的需要時匯入或匯出資料,或從 SQL Server,請使用那些已驗證的演算法的執行個體。
此外,將會加密或解密由外部的密碼編譯模組的資料必須以加密形式傳遞,利用 FIPS 140-2-驗證執行個體。
-
在 FIPS 140-2-相容模式中執行 SQL Server 2008年的效果是什麼?
-
使用增強式加密可能較少的增強式加密允許處理程序不做 FIPS 140-2-相容時這些處理序的效能很小的影響。
-
選取範圍的 SSIS 的加密 (UseEncryption = True) 會產生以下錯誤訊息,可使用的加密與 FIPS 承諾不相容,而且不允許。換句話說,不使用加密的郵件處理程序會執行。
-
使用加密以及 「 傳統資料轉換服務 」 (DTS) 不是 FIPS 140-2-相容。為 DTS 中,不會檢查 Windows 的 FIPS 模式。如果要保持相容,您必須選取加密。
-
大部分的 SQL Server 2008年加密及雜湊處理程序時,已經使用 FIPS 140-2-驗證密碼編譯模組。因此,如果在視窗中開啟 FIPS 模式時,您可以執行在 FIPS 140-2-相容模式中的應用程式,是幾乎不會影響使用或應用程式效能。
在學習更多有關 FIPS 140-2?
如需有關 FIPS 標準,以及如何下載它的詳細資訊,請造訪下列 NIST 網站:
http://csrc.nist.gov/cryptval/140-2.htmMicrosoft 提供協力廠商連絡資訊,以協助您尋找技術支援。此連絡資訊可能會變更不另行通知。Microsoft 不保證此第三方連絡資訊的正確性。
如需有關如何在 FIPS 140-2-相容模式中使用 SQL Server 2005 的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
920995指示使用 SQL Server 2005 的 Service Pack 1 或較新版的 SQL Server 在 FIPS 140-2 相容模式