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