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