内容简介
本书主要讲述了如何使用.NET支持的加密技术。先介绍了.NET支持的密码术,接着介绍散列和签名,讨论了如何通过加密技术来保护通信数据和一些长期保存的数据,重点讨论了密钥和证书管理,此外还列出了一些好的和不好的做法。本书通过一个完整的例子演示了前面所讲的技术。 本书适用于创建分布式应用程序或需要安全地存储数据的C#开发人员,旨在帮助C#开发人员创建他们自己的安全应用程序。 .NET framework提供数据安全功能的命名空间中实现的一些密码技术从本质上来说是坚不可摧的。致机密数据暴露给攻击者的一些缺陷,绝大部分都是由应用程序实现中的错误引起的。因此仅仅向用介绍如何使用.NET中的类是不够的,我们还需要指导他们如何创建可靠的应用程序。 本书将介绍在.NET中使用对称和非对称密码术的基本要点,然后讨论如何在下列几个方面实际运这些技术: 安全数据交换--对于现代的电子商务应用来说,安全的在线通信是至关重要的。我们将讨论如何在应用程序中使用SSL、TLS、安全的远程通信以及实现密码系统安全数据存储--这一点实际上更具挑战性,我们将讨论如何在数据库中以及在使用Windows安全存储API的NT文件系统中安全地存储数据数据完整性--我们将看一下在必须验证数据有无改变的情况下,散列代码和签名所扮演的角色公钥体系结构--对于任何安全应用程序来说,密钥的管理实际上是关键的。本书将讨论如何进行密钥管理本书目的在于使那些对密码术了解甚少(或是不了解)的C#开发人员能够从容地实现自己的安全用程序。本书适用于那些正在开发分布式应用程序或是希望以一种安全的方式来存储数据的C#开发人员。
目录
第1章 密码术简介
1.1 加密技术简史
1.2 密码术的基础知识
1.3 保密性
1.4 完整性
1.5 身份验证
1.6 不可否认性
1.7 算法
1.8 小结
第2章 .NET密码术
2.1 .NET密码术模型
2.2 构建块
2.3 对称加密
2.4 非对称加密
2.5 加密强度
2.6 小结
第3章 数据的完整性——散列码和签名
3.1 散列算法
3.2 加salt值的散列
3.3 加密的散列码
3.4 XML签名
3.5 小结
第4章 保护长期保存的数据
第5章 保护通信数据
第6章 密钥和证书管理
第7章 密码术——和做法
第8章 设计安全的应用程序
附录A 传输层安全
附录B 生成安全的随机数
附录C 支持、勘误表和代码下载