因為微軟在2014/04/08後將中止對於XP系統的支援,
所以最近的工作內容(其實之前就是了)比較多偏於系統轉換的問題。
客戶轉User的工作系統,
能夠的話當然連Server一起升級是最好的,
然後我就被整死了 (爆
因為英文程度沒有很好,其他關於FIPS的中文介紹只有在MSDN上多,
所以,以下內容偏個人紀錄,理解有錯的話還請指出._.
關於FIPS:
詳細介紹FIPS的內容,可以請參考這份文件。
簡單來說,就是美國跟加拿大合作開開的聯邦資訊處理標準。
然後這個標準針對的則是在伺服器上的加密演算法(encryption, hashing, and signing)作出的標準。
從Windows Server 2003開始就已經能夠在系統上作此設定。
當然到現在新的Server基本都是2008R2起跳就更不用說可以使用此設定。
Server在安裝好系統時,這個設定值基本的預設是停用的。
如果要啟用,須修改下列路徑的機碼設置
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\fipsalgorithmpolicy
這項實作不是屬於 Windows 平台 FIPS 驗證的密碼編譯演算法。
如果遇到這樣的錯誤,就代表環境的FIPS設定是開啟的,
且程式使用的加解密方式並不在FIPS認定的範圍內。
絕對要修改的加解密方式 : AES中的Rijndael這個演算法。
工作上遇到的問題就是加解密透過Enterprise Library2.0採用Rijndael演算法,
雖然Rijndael演算法是比TripleDES安全的,但是FIPS就是沒認定他,
最後採了折衷的方案,還是換用EL2.0中TripleDES處理Orz
因為EL2.0的版本並沒有提供厲害一點AES的加解密 (爆
當然上面是因為客戶程式版本沒有辦法升級的關係,
所以只能用TripleDES當最後的解法。
如果你的程式.net framwork 3.5版本以上的話,
可以使用
這個Class來作加解密的處理,這樣是健康又安全的做法,
且不用擔心FIPS到底有沒有開啟 (爆
Refference :
沒有留言:
張貼留言