.NET 安全机制深度解析
1. .NET 安全概述
.NET 拥有自己的安全机制,能高度控制代码程序集的操作权限,尤其在分布式应用中,可控制不同来源代码的操作。该机制虽复杂,但多数应用可使用默认设置,无需关注细节或进行更改。
.NET 安全命名空间主要包括:
-System.Security:为 .NET 安全系统提供基础结构。
-System.Security.Cryptography:提供加密服务,如安全编码、解码和消息认证。
-System.Security.Permissions:定义控制资源和操作访问的权限类。
-System.Security.Policy:包含实现代码组、成员条件和证据的类,用于 CLR 安全系统实施安全策略。
-System.Security.Principal:定义表示代码运行安全上下文的类。
2. .NET 安全模型
安全计算通常需要了解以下关键信息:
- 组件的来源。
- 是否允许某人执行操作。
- 已执行的操作及执行者。
Windows NT 和 2000 通过内置的审核功能部分提供了第三点信息,管理员可捕获文件系统访问并将审核跟踪写入事件日志。当前 Windows 模型通过 Authenticode 数字签名系统提供第一点信息。例如,访问需要下载 ActiveX 控件的网页时,会询问是否下载,并可能以证书形式展示 DLL 的凭据摘要。