标题：.net安全揭秘
基本信息
.NET安全揭秘（全面、系统、深刻揭示.NET平台的安全机制和工作原理，为构建安全的.NET应用提供绝佳实践指导）  .NET安全揭秘
作者：杨文海 鲁凤芝 何平 等著 
ISBN ：978-7-111-37573-9
定价：89.00元
出版日期：2012年5月
出版社：机械工业出版社
编辑推荐
这是目前唯一一本全面讲解如何开发安全的基于.NET应用的著作。
随着互联网及其相关技术的成熟，以及各类社交网站和电子商务网站的不断崛起，我们的生活的网络化程度随之不断加深，与我们个人的隐私相关的各种数据都被“搬”到了网上。对于为我们提供各类服务的网站来说，保障用户信息的安全性已成为他们最重要和最头疼的工作之一。要确保网站的安全性，根本上还是要从构建网站系统的底层技术和安全框架抓起。本书是.NET技术人员的福音，它系统讲解了.NET安全技术的方方面面，能为我们构建各种类型的.NET应用提供完善的实践指导，既可以作为深入学习.NET安全技术的宝贵资料，又可以作为开发和架构.NET应用的案头备查手册，强烈推荐。
——51CTO（中国领先的IT技术网站）
2011年，国内安全领域最大的新闻莫过于数十家网站的用户数据被泄露的事件了。这件事情在当时影响极为广泛，它促使了国内的互联网企业重新思考网站安全的重要性并纷纷加强了网站的安全建设。网站安全的根基在于它的架构和具体实现，架构和实现过程中是否充分利用了技术的手段来保障安全性直接决定了网站是否安全可靠。如果你打算用.NET技术开发网站或相关的应用，抑或是你要负责维护用.NET技术开发的网站和应用的安全性，本书将为你提供全面的指导，它几乎讲解了.NET技术安全性的方方面面，值得学习和参考！                                           
—— 马伟 资深微软技术专家和微软MVP/畅销书《ASP. NET 4权威指南》作者
安全永远是IT领域最重要、最热门的话题之一，它是IT产品和服务的核心。对于软件产品而言，它的安全性在最初的架构、设计和实现过程中就已经决定了，也就是说软件的安全性其实掌握在架构师和程序员手里。如果你是一位.NET程序员或架构师，你必须了解.NET平台的安全机制，以及各种.NET应用涉及的安全技术的细节，只有这样才能为你开发或架构的系统提供安全上的技术保障。目前市面上系统、深入讲解.NET安全知识的书不多，本书不可多得。
—— 郝冠军 资深微软技术专家和微软MVP/畅销书《ASP. NET本质论》作者
内容简介
良好的安全性是软件产品和软件服务的基石，也是企业得以生存的根基，越来越被企业重视。作为.NET程序员、.NET应用架构师或.NET安全工作人员，当你要重新构建一个安全的.NET应用或现有的应用面临着安全威胁时，究竟该如何应对？是从零开始打造自己的安全系统还是踩在巨人的肩膀上继续攀登？在很多技术领域，我们都不必为安全问题而重复发明轮子，尤其是.NET领域，它已经为我们打好了坚实的基础。从ASP. NET、WPF、WCF、Silverlight，到Open XML、WIF、Windows Azure，.NET都提供了强大而完整的安全性支持。
本书从.NET底层原理出发，结合大量实际案例，全面、系统、深刻地揭示了.NET平台的安全机制和工作原理，勾勒出了一幅完整的.NET安全性的全景视图。无论是要系统学习.NET的安全知识，还是要开发和架构安全的.NET应用，抑或是维护.NET系统的安全性，本书都能为我们提供绝佳的实践指导。
作者简介
杨文海 （笔名：玄魂） 资深.NET开发工程师（常以“代码狂人”自居）和安全技术专家，有多年.NET开发经验，对.NET平台以及ASP. NET、WPF、WCF、Silverlight、Open XML、WIF等技术的底层原理和安全机制有深入的研究。崇尚黑客精神，活跃于国内外各大安全论坛，教学相长，乐此不疲。目前致力于打造最好的.NET安全编程框架，传播真正的黑客精神。
目录
前　言
第一部分　.NET安全基础
第1章　.NET 体系结构/ 2
1.1公共语言运行时/ 2
1.2公共类型系统/ 3
1.2.1CTS基本结构/ 3
1.2.2公共语言规范/ 5
1.3中间语言/ 7
1.3.1托管PE文件/ 7
1.3.2元数据/ 14
1.3.3IL常用指令/ 17
1.3.4IL与代码验证/ 19
1.4基础类库和框架类库/ 19
1.4.1BCL 基本命名空间/ 20
1.4.2 .NET Framework 4.0中对BCL的更新/ 21
1.4.3FCL命名空间/ 23
1.5即时编译和预编译/ 23
1.6动态语言运行时/ 25
1.7本章小结/ 26
第2章　程序集与反射/ 27
2.1程序集/ 27
2.1.1模块的操作/ 27
2.1.2程序集概念/ 29
2.1.3强名称程序集/ 31
2.1.4共享程序集/ 33
2.1.5创建多文件程序集  / 34
2.2使用反射操作程序集/ 36
2.2.1反射程序集/ 36
2.2.2加载和卸载程序集/ 39
2.2.3动态创建程序集/ 40
2.3本章小结/ 42
第3章　应用程序域与CLR寄宿/ 44
3.1应用程序域基础/ 44
3.1.1 应用程序域的特点/ 44
3.1.2创建应用程序域/ 45
3.1.3卸载应用程序域/ 45
3.2CLR寄宿/ 48
3.2.1核心组件MSCOREE.DLL/ 48
3.2.2托管exe文件的加载和执行/ 57
3.2.3<cite class="highlight" highlight="true">ASP. NET</cite> Web窗体和WebService / 58
3.3高级宿主控制/ 63
3.3.1托管宿主/ 63
3.3.2托管环境下的线程注入实例/ 65
3.4本章小结/ 66
第二部分　.NET平台级安全性
第4章　代码访问安全性/ 68
4.1代码访问安全性机制/ 68
4.1.1代码访问安全性机制的作用/ 68
4.1.2工作方式/ 70
4.1.3安全性语法/ 73
4.2代码组/ 75
4.2.1对代码组的管理/ 75
4.2.2成员条件/ 81
4.2.3属性/ 85
4.3权限和权限集/ 86
4.3.1权限操作的基本概念/ 86
4.3.2&nbsp;&nbsp;.NET提供的代码访问权限/ 92
4.3.3操作权限集/ 96
4.4代码访问安全性编程实践/ 98
4.4.1实现自定义权限的构造函数/ 99
4.4.2实现属性类/ 102
4.4.3安装到安全策略中/ 103
4.5本章小结/ 104
第5章　基于角色的安全性/ 105
5.1 . NET Framework基于角色的安全性/ 105
5.2基于角色的安全性编程实战/ 106
5.3主体和标识/ 110
5.3.1主体对象/ 110
5.3.2标识对象/ 117
5.4安全检查/ 123
5.4.1基于角色的安全性权限对象/ 123
5.4.2命令式安全检查/ 125
5.4.3声明式安全检查/ 127
5.4.4直接访问主体对象/ 128
5.5本章小结/ 129
第三部分　数据安全
第6章　数据加密/ 132
6.1加密技术简介/ 132
6.2对称加密/ 132
6.2.1对称加密原理/ 133
6.2.2对称加密算法/ 134
6.2.3 . NET对称加密体系/ 142
6.2.4对称加密实践/ 147
6.3非对称加密/ 152
6.3.1非对称加密原理/ 152
6.3.2非对称加密算法/ 153
6.3.3 . NET 非对称加密体系/ 158
6.3.4非对称加密实践/ 161
6.4消息摘要和Hash算法/ 168
6.4.1Hash原理/ 168
6.4.2Hash算法/ 169
6.4.3. NET中的Hash算法/ 175
6.4.4消息摘要编程实例/ 179
6.5数字签名和数字证书/ 182
6.5.1数字签名/ 182
6.5.2使用.NET进行数字签名/ 183
6.5.3数字证书/ 186
6.5.4在.NET中操作数字证书/ 190
6.6本章小结/ 196
第7章　数据存储安全/ 198
7.1磁盘文件安全/ 198
7.1.1文件的基本操作/ 199
7.1.2文件和目录的访问控制/ 209
7.1.3安全删除数据/ 216
7.1.4文件加密/解密/ 218
7.2数据库安全/ 221
7.2.1SQL Server的CLR集成/ 221
7.2.2CLR集成的功能/ 222
7.2.3编译过程/ 223
7.3SQL Server的CLR集成安全性/ 223
7.3.1CLR集成代码访问的安全性/ 223
7.3.2宿主保护特性和CLR集成编程/ 227
7.3.3CLR 集成安全性中的链接/ 228
7.3.4模拟和CLR集成安全性/ 229
7.3.5允许部分可信任的调用方/ 231
7.3.6应用程序域和CLR集成安全性/ 232
7.4本章小结/ 232
第8章　数据通信安全/ 233
8.1SSL原理及应用/ 233
8.1.1SSL协议体系结构/ 233
8.1.2配置HTTPS / 238
8.1.3在.NET开发中处理HTTPS /250
8.2会话状态安全/ 252
8.2.1会话状态安全基础/ 253
8.2.2会话状态安全攻略/ 262
8.3本章小结/ 263
第四部分　.NET应用安全
第9章　应用程序保护/ 266
9.1反编译/ 266
9.1.1反编译工具Reflector / 266
9.1.2 .NET反编译原理/ 269
9.2强名称/ 274
9.2.1使用强名称保护代码完整性/ 275
9.2.2引用强名称签名的程序集/ 280
9.2.3强名称的脆弱性/ 282
9.2.4保护强名称/ 283
9.3代码混淆/ 283
9.3.1名称混淆/ 283
9.3.2流程混淆/ 286
9.3.3语法混淆/ 294
9.4加壳/ 297
9.5本章小结/ 304
第10章　ASP. NET应用安全/ 305
10.1<cite class="highlight" highlight="true">ASP. NET</cite>安全性工作原理/ 305
10.1.1<cite class="highlight" highlight="true">ASP.&nbsp;NET</cite>安全性体系结构/ 305
10.1.2<cite class="highlight" highlight="true">ASP.&nbsp;NET</cite>安全数据流/ 308
10.1.3<cite class="highlight" highlight="true">ASP . NET</cite>模拟/ 311
10.1.4<cite class="highlight" highlight="true">ASP. NET</cite>身份验证/ 312
10.1.5<cite class="highlight" highlight="true">ASP. NET</cite>授权/ 325
10.1.6<cite class="highlight" highlight="true">ASP.&nbsp;NET</cite> SQL Server注册工具/ 327
10.2<cite class="highlight" highlight="true">ASP. NET</cite>成员资格/ 331
10.2.1<cite class="highlight" highlight="true">ASP. NET</cite>成员资格的功能/ 331
10.2.2<cite class="highlight" highlight="true">ASP .  NET</cite>成员资格类/ 333
10.2.3配置成员资格/ 338
10.2.4成员资格的应用/ 342
10.2.5自定义成员资格提供程序/ 349
10.2.6WCF身份验证服务/ 358
10.3<cite class="highlight" highlight="true">ASP.&nbsp;NET</cite>角色管理/ 362
10.3.1<cite class="highlight" highlight="true">ASP .&nbsp;NET</cite>角色和访问规则/ 362
10.3.2<cite class="highlight" highlight="true">ASP. NET</cite>角色管理类/ 365
10.3.3<cite class="highlight" highlight="true">ASP. NET</cite>角色管理提供程序/ 367
10.3.4自定义<cite class="highlight" highlight="true">ASP .  NET</cite>角色管理提供程序/ 368
10.3.5WCF角色服务/ 370
10.4受保护配置/ 371
10.4.1管理受保护配置/ 371
10.4.2受保护配置提供程序/ 373
10.4.3RSA密钥容器/ 379
10.5本章小结/ 381
第11章　WCF应用安全/ 382
11.1WCF安全基本概念/ 382
11.1.1绑定/ 383
11.1.2安全模式/ 394
11.1.3身份验证凭据/ 396
11.1.4保护级别/ 398
11.1.5授权/ 400
11.1.6模拟/ 400
11.2WCF局域网安全/ 400
11.2.1NetTcpBinding Transport安全模式/ 401
11.2.2NetTcpBinding Message安全模式/ 422
11.2.3局域网绑定安全/ 429
11.2.4局域网环境下的授权策略/ 434
11.3WCF互联网安全/ 444
11.3.1BasicHttpBinding示例/ 445
11.3.2BasicHttpBinding安全项/ 449
11.3.3BasicHttpBinding安全应用/ 454
11.3.4WsHttpBinding简介/ 477
11.4WCF安全认证流程/ 478
11.5本章小结/ 479
第12章　WPF应用安全/ 480
12.1WPF应用程序/ 480
12.1.1WPF独立应用程序/ 480
12.1.2WPF浏览器应用程序/ 483
12.2WPF应用程序安全性/ 485
12.2.1安全导航/ 486
12.2.2Web浏览安全设置/ 487
12.2.3安全沙箱/ 500
12.2.4部分信任安全/ 501
12.2.5部分信任安全策略/ 506
12.2.6松散XAML文件的沙箱行为/ 510
12.3部分受信任代码的库调用/ 511
12.4本章小结/ 513
第13章　Silverlight应用安全/ 514
13.1Silverlight运行机制/ 514
13.1.1Silverlight运行环境/ 515
13.1.2Silverlight架构/ 516
13.1.3CoreCLR安全模型/ 518
13.2Silverlight运行在沙箱中/ 519
13.3透明模型/ 524
13.3.1透明代码的调用/ 525
13.3.2透明代码、SafeCritical代码和关键代码的比较/527
13.3.3Silverlight透明模型的优势/ 528
13.4网络通信/ 529
13.4.1基本HTTP功能/ 529
13.4.2HTTP调用/ 530
13.4.3跨域通信/ 532
13.4.4网络安全访问限制/ 536
13.4.5URL访问限制/ 548
13.5Silverlight安全策略/ 550
13.5.1XSS问题/ 550
13.5.2代码隔离/ 551
13.5.3用户数据保护/ 554
13.5.4保护xap文件/ 558
13.6本章小结/ 559
第14章　Open XML应用安全/ 561
14.1Open XML规范/ 561
14.1.1文档格式/ 561
14.1.2开放打包协定/ 563
14.1.3Open XML标记语言/ 566
14.2Open XML开发基础/ 573
14.2.1操作ZIP / 574
14.2.2操作XML / 577
14.2.3Open XML API / 582
14.3Open XML应用安全/ 586
14.3.1宏安全/ 586
14.3.2OLE机制/ 587
14.3.3隐藏数据/ 590
14.3.4文档校验/ 592
14.3.5数字签名/ 593
14.4本章小结/ 599
第五部分　高级扩展
第15章　WIF开发框架/ 602
15.1WIF基本原理/ 602
15.1.1标识库/ 603
15.1.2基于声明的标识模型/ 604
15.1.3安全令牌服务/ 609
15.1.4联合身份验证实例/ 614
15.1.5WIF的功能/ 616
15.2WIF编程模型/ 617
15.2.1WIF编程模型的优势/ 617
15.2.2WIF基本行为/ 618
15.2.3IClaimsIdentity和IClaimsPrincipal/ 619
15.3WIF与<cite style="background: none repeat scroll 0% 0% transparent;" class="highlight" highlight="true">ASP. NET</cite>实践/ 620
15.3.1准备工作/ 620
15.3.2将认证外包给STS / 622
15.3.3基本编程概念/ 625
15.4本章小结/ 638
第16章　微软云安全/ 639
16.1云计算/ 639
16.1.1云计算的演进/ 639
16.1.2云计算的特点/ 640
16.2微软的云计算/ 642
16.2.1Windows Azure平台的架构/ 643
16.2.2应用模式/ 644
16.3Windows Azure安全/ 645
16.3.1安全模式/ 645
16.3.2云安全设计/ 648
16.3.3开发生命周期安全/ 654
16.3.4服务的运营方式/ 654
16.4本章小结/ 656