.NET安全揭秘

价格 89.00对比
发货 广东东莞市
销量 暂无
评价 已有 0 条评价
人气 已有 1 人关注
数量
+-
库存100
 
联系方式
加关注0

新图书资料发布

VIP   VIP会员第1年
资料未认证
保证金未缴纳

内容简介

  作为.NET程序员、.NET应用架构师和.NET安全工作人员,如何才能开发和设计出安全的.NET应用?如何才能维护和保证.NET应用系统的安全性?本书是.NET专家和安全专家多年工作经验的结晶,深刻揭示了.NET系统(涵盖.NET平台本身、ASP.NET、WCF、Silverlight、Windows Azure、 Open XML和WIF等)的安全特性及其工作原理,系统而全面地讲解了构建安全的.NET应用所必须掌握的所有理论知识,并包含大量实践。
  全书共分为五个部分。第一部分:.NET安全基础,透彻讲解了.NET体系结构、程序集与反射、应用程序域和CLR寄宿等核心技术,这部分内容是.NET架构的核心,同时也是理解.NET底层安全机制的基础;第二部分:.NET平台安全性,深入分析了代码访问的安全性和基于角色的安全性的原理,这部分内容既是.NET应用框架安全性的基础,也是整个.NET平台体系安全性的核心;第三部分:数据安全,深刻阐述了数据加密、数据存储和数据通信的安全性,这部分内容介于.NET平台底层安全性与.NET应用安全性之间,是联系二者的纽带;第四部分:.NET应用安全性,全面讲解.NET平台下ASP.NET、WCF、WPF、Silverlight和Open XML等常用框架和技术的安全机制与原理;第五部分:扩展,重点介绍了的WIF框架和Windows Azure的安全性,这是.NET安全领域未来的重心之一。
  本书是构建安全.NET应用的百科全书,适合所有关注和学习.NET安全的读者阅读。

目录

前言
第一部分 .NET安全基础
第1章 .NET 体系结构
1.1公共语言运行时
1.2公共类型系统
1.2.1CTS基本结构
1.2.2公共语言规范
1.3中间语言
1.3.1托管PE文件
1.3.2元数据
1.3.3IL常用指令
1.3.4IL与代码验证
1.4基础类库和框架类库
1.4.1BCL 基本命名空间
1.4.2.NET framework 4.0中对BCL的更新
1.4.3FCL命名空间
1.5即时编译和预编译
1.6动态语言运行时
1.7本章小结
第2章 程序集与反射
2.1程序集
2.1.1模块的操作
2.1.2程序集概念
2.1.3强名称程序集
2.1.4共享程序集
2.1.5创建多文件程序集
2.2使用反射操作程序集
2.2.1反射程序集
2.2.2加载和卸载程序集
2.2.3动态创建程序集
2.3本章小结
第3章 应用程序域与CLR寄宿
3.1应用程序域基础
3.1.1 应用程序域的特点
3.1.2创建应用程序域
3.1.3卸载应用程序域
3.2CLR寄宿
3.2.1核心组件MSCOREE.DLL
3.2.2托管exe文件的加载和执行
3.2.3ASP.NET Web窗体和Web Service
3.3宿主控制
3.3.1托管宿主
3.3.2托管环境下的线程注入实例
3.4本章小结
第二部分  .NET平台级安全性
第4章 代码访问安全性
4.1代码访问安全性机制
4.1.1代码访问安全性机制的作用
4.1.2工作方式
4.1.3安全性语法
4.2代码组
4.2.1对代码组的管理
4.2.2成员条件
4.2.3属性
4.3权限和权限集
4.3.1权限操作的基本概念
4.3.2.NET提供的代码访问权限
4.3.3操作权限集
4.4代码访问安全性编程实践
4.4.1实现自定义权限的构造函数
4.4.2实现属性类
4.4.3安装到安全策略中
4.5本章小结
第5章 基于角色的安全性
5.1.NET framework基于角色的安全性
5.2基于角色的安全性编程实战
5.3主体和标识
5.3.1主体对象
5.3.2标识对象
5.4安全检查
5.4.1基于角色的安全性权限对象
5.4.2命令式安全检查
5.4.3声明式安全检查
5.4.4直接访问主体对象
5.5本章小结
第三部分 数据安全
第6章 数据加密
6.1加密技术简介
6.2对称加密
6.2.1对称加密原理
6.2.2对称加密算法
6.2.3.NET对称加密体系
6.2.4对称加密实践
6.3非对称加密
6.3.1非对称加密原理
6.3.2非对称加密算法
6.3.3.NET 非对称加密体系
6.3.4非对称加密实践
6.4消息摘要和Hash算法
6.4.1Hash原理
6.4.2Hash算法
6.4.3.NET中的Hash算法
6.4.4消息摘要编程实例
6.5数字签名和数字证书
6.5.1数字签名
6.5.2使用.NET进行数字签名
6.5.3数字证书
6.5.4在.NET中操作数字证书
6.6本章小结
第7章 数据存储安全
7.1磁盘文件安全
7.1.1文件的基本操作
7.1.2文件和目录的访问控制
7.1.3安全删除数据
7.1.4文件加密/解密
7.2数据库安全
7.2.1SQL Server的CLR集成
7.2.2CLR集成的功能
7.2.3编译过程
7.3SQL Server的CLR集成安全性
7.3.1CLR集成代码访问的安全性
7.3.2宿主保护特性和CLR集成编程
7.3.3CLR 集成安全性中的链接
7.3.4模拟和CLR集成安全性
7.3.5允许部分可信任的调用方
7

摘要与插图

第1章.NET 体系结构
  本章将基于.NET 4.0从整体上论述.NET框架的体系结构,并会从新的角度对与安全性较为相关的内容进行介绍。由于本书不同于编程类教程,因此许多细节问题只能进行简略概括或略掉不讲,有疑惑的读者可查找相关资料自行修炼。
  从.NET安全的需要出发,本章主要介绍公共语言运行时(CLR)、公共类型系统(CTS)、公共语言规范(CLS)、中间语言(IL)、框架类库(FCL)、基础类库(BCL)、即时编译(JIT)和预编译,以及动态语言运行时(DLR),并且会从底层进行详细的解析。建议读者不要跳过本章。
  1.1公共语言运行时
  公共语言运行时(Common Language Runtime,CLR)为.NET framework提供了托管运行环境,它负责运行托管代码,进行安全检查,垃圾回收等环节。本节只会对运行库进行概述,与安全相关的详细内容将在后续章节进行详细剖析。
  微软公司为开发人员开发由CLR负责运行的程序创造了便利的条件,比如,开发工具及编译器会不断升级,且有丰富的文档详细介绍.NET开发的方方面面。使用基于CLR的语言编译器开发的代码称为托管代码。托管代码具有许多优点,例如跨语言集成、跨语言异常处理、增强的安全性、版本控制和部署支持、简化的组件交互模型、调试和分析服务等。
  若要使CLR能够向托管代码提供服务,语言编译器必须生成一些元数据来描述代码中的类型、成员和引用。元数据与代码一起存储,每个可加载的CLR可移植执行(Portable Executable,PE) 文件都包含元数据。CLR使用元数据来完成以下任务:查找和加载类、在内存中安排实例、解析方法调用、生成本机代码、强制安全性,以及设置运行时上下文边界。
  CLR自动处理对象布局并管理对象引用,当不再使用对象时就会释放它们。按这种方式实现生存期管理的对象称为托管数据。如果编写的代码是托管代码,可以在.NET framework 应用程序中使用托管数据、非托管数据,或者同时使用这两种数据。由于语言编译器会提供自己的类型(如基元类型),因此你可能并不总是知道(或需要知道)这些数据是否是托管的。
  有了CLR,就可以很容易地设计出对象能够跨语言交互的组件和应用程序。也就是说,用不同语言编写的对象可以互相通信,并且它们的行为可以紧密集成。例如,可以定义一个类,然后使用不同的语言从原始类派生出另一个类或调用原始类的方法,还可以将一个类的实例传递到用不同的语言编写的另一个类的方法。这种跨语言集成之所以成为可能,是因为基于CLR的语言编译器和工具使用了由CLR定义的通用类型系统,而且它们遵循CLR关于定义新类型以及创建、使用、保持和绑定到类型的规则。
  所有托管组件都带有生成它们所基于的组件和资源的信息,这些信息构成了元数据的一部分。CLR使用这些信息确保组件或应用程序具有它所有所需内容的指定版本,这样就使代码不太可能由于某些未满足的依赖项而发生中断。注册信息和状态数据不再保存在注册表中(因为在注册表中建立和维护这些信息很困难)。取而代之的是,有关定义类型(及其依赖项)的信息作为元数据与代码存储在一起,这样就大大降低了组件复制和移除任务的复杂性。
  语言编译器和工具公开CLR功能的方式对于开发人员来说不仅有用,而且很直观。这意味着,CLR的某些功能可能在某一环境中比在另一环境中更突出,对CLR的体验取决于所使用的语言编译器或工具。  
  ……
举报收藏 0
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  版权声明  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  粤ICP备2021111040号