計算機金鑰有助於保護 Forms 身份驗證 Cookie 資料和頁級檢視狀態資料。它們還用於驗證程序外會話狀態標識。 使用以下型別的計算機金鑰:
- 驗證金鑰,用於計算訊息驗證程式碼 (MAC) 以確認資料的完整性。此金鑰附加到 Forms 身份驗證 Cookie 或特定頁的檢視狀態。
- 解密金鑰,用於對 Forms 身份驗證票證和檢視狀態進行加密和解密。
(一)生成計算機金鑰
1. 開啟 IIS 管理器,然後導航至要管理的級別。
2. 在"功能檢視"中,右鍵單擊"計算機金鑰",然後單擊"開啟功能"。
3. 在"計算機金鑰"頁上,從"加密方法"下拉列表中選擇一種加密方法。預設加密方法為"SHA1"。
4. 從"解密方法"下拉列表中選擇一種解密方法。預設解密方法為"自動"。
5. 此外,也可以配置驗證金鑰和解密金鑰的設定。
6. 在"操作"窗格中,單擊"生成金鑰",然後單擊"應用"。
(二)選擇計算機金鑰加密方法
通過選擇良好的計算機金鑰加密方法,可以增強你建立的計算機金鑰的安全性。
有下列加密方法可供使用:
- 高階加密標準 (AES) 實現起來相對容易一些,並且需要很少的記憶體。AES 的金鑰大小為 128、192 或 256 位。此方法使用相同的私鑰對資料進行加密和解密,而公鑰方法必須使用成對的金鑰。
- Message Digest 5 (MD5) 用於對應用程式(例如郵件)進行數字簽名。此方法將產生 128 位的雜湊,這是一種壓縮格式的原始資料。MD5 可以提供一定的保護,考試,大提示以防止遭受計算機病毒和某些程式(看上去像是無害的應用程式,而實際上具有破壞性)的攻擊。這些程式稱作特洛伊木馬。
- 安全雜湊演算法 (SHA1) 是預設的加密方法,它被認為比 MD5 更加安全,因為它產生 160 位的訊息摘要。應該儘可能使用 SHA1 加密。
- 三重資料加密標準 (TripleDES) 與資料加密標準 (DES) 稍有不同。它的速度比普通 DES 慢三倍,但是它更加安全,因為它的金鑰大小為 192 位。如果效能不是主要考慮的問題,請考慮使用 TripleDES。
具體實現步驟如下:
1. 開啟 IIS 管理器,然後導航至要管理的級別。
2. 在"功能檢視"中,雙擊"計算機金鑰"。
3. 在"計算機金鑰"頁上,從"加密方法"下拉列表中選擇一種加密方法。預設加密方法為"SHA1"。
4. 在"操作"窗格中,單擊"應用"。
(三)選擇計算機金鑰解密方法
與加密方法類似,執行如下步驟即可:
1. 開啟 IIS 管理器,然後導航至要管理的級別。
2. 在"功能檢視"中,雙擊"計算機金鑰"。
3. 在"計算機金鑰"頁上,從"解密方法"下拉列表中選擇一種解密方法。預設解密方法為"自動"。
4. 在"操作"窗格中,單擊"應用"。
(四)在執行時生成驗證金鑰
如果你希望 建立隨機金鑰並將其儲存在本地安全機構 (LSA) 中,就需要在執行時生成驗證金鑰。預設情況下,將在執行時生成驗證金鑰。此金鑰可確保 Forms 身份驗證票證不會被篡改且已經加密,並且檢視狀態也不會被篡改。通過在執行時生成驗證金鑰,還可以保證服務器在處理資料時能夠檢測到對檢視狀態或身份驗證票證所做的全部修改,而無論修改是在客戶端計算機上進行的,還是通過網路進行的。
1. 開啟 IIS 管理器,然後導航至要管理的級別。
2. 在"功能檢視"中,雙擊"計算機金鑰"。
3. 在"計算機金鑰"頁的"驗證金鑰"下,選中"執行時自動生成"複選框,然後在"操作"窗格中單擊"應用"。
(五)為每個應用程式生成唯一的驗證金鑰
當你希望 建立隨機金鑰時,可以為每個應用程式生成唯一的驗證金鑰。本地安全機構 (LSA) 使用每個應用程式的應用程式 ID 來建立此金鑰。LSA 然後會將此金鑰儲存在 Web 伺服器上。
1. 開啟 IIS 管理器,然後導航至要管理的級別。
2. 在"功能檢視"中,雙擊"計算機金鑰"。
3. 在"計算機金鑰"頁的"驗證金鑰"下,選中"為每個應用程式生成一個唯一金鑰"複選框,然後在"操作"窗格中單擊"應用"。
(六)在執行時生成解密金鑰
如我們希望 生成隨機金鑰並將其儲存在本地安全機構 (LSA) 中,就需要在執行時生成解密金鑰。預設情況下,在執行時生成解密金鑰。此金鑰可確保 Forms 身份驗證票證不會被篡改且已經加密,並且檢視狀態也不會被篡改。通過在執行時生成解密金鑰,還可以保證伺服器在處理資料時能夠檢測到對檢視狀態或身份驗證票證所做的全部修改,而無論修改是在客戶端計算機上進行的`,還是通過網路進行的。
1. 開啟 IIS 管理器,然後導航至要管理的級別。
2. 在"功能檢視"中,雙擊"計算機金鑰"。
3. 在"計算機金鑰"頁的"解密金鑰"下,選中"執行時自動生成"複選框,然後在"操作"窗格中單擊"應用"。
(七)為每個應用程式生成唯一的驗證金鑰
當希望 建立隨機金鑰時,可以為每個應用程式生成唯一的驗證金鑰。本地安全機構 (LSA) 使用每個應用程式的應用程式 ID 來建立此金鑰。LSA 然後會將此金鑰儲存在 Web 伺服器上。
1. 開啟 IIS 管理器,然後導航至要管理的級別。
2. 在"功能檢視"中,雙擊"計算機金鑰"。
3. 在"計算機金鑰"頁的"驗證金鑰"下,選中"為每個應用程式生成一個唯一金鑰"複選框,然後在"操作"窗格中單擊"應用"。
(八)為 Web 場生成計算機金鑰
若要在 Web 場配置中的多臺計算機之間使用 Forms 身份驗證,必須手動生成特定的驗證和解密金鑰值,並在該 Web 場中的所有計算機上使用這些值。
1. 開啟 IIS 管理器,然後導航至要管理的級別。
2. 在"功能檢視"中,雙擊"計算機金鑰"。
3. 若要為 Web 場生成特定的驗證和解密金鑰值,請在"計算機金鑰"頁上,清除驗證金鑰和解密金鑰的"為每個應用程式生成一個唯一金鑰",再清除"執行時自動生成",然後在"操作"窗格中單擊"生成金鑰"以建立特定的金鑰值。
4. 在"操作"窗格中,單擊"應用"。