计算机密钥有助于保护 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、密钥、计算机、管理器