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