前言 1
第一部分 概述 17
第一章 Web安全状况 17
Web安全简述 17
web安全问题 23
信用卡、加密以及Web 28
防火墙:部分解决方案 34
风险管理 38
第二部分 用户安全 41
第二章 有Bug的浏览器:风险的形式 41
浏览器的发展历史 41
数据驱动攻击 46
程序的缺陷:bug简史 50
第三章 Java和JavaScript 53
Java 53
JavaScript 68
拒绝服务攻击 70
启用JavaScript的诱骗攻击 76
总结 80
第四章 用ActiveX和插件下载机器代码 81
当浏览器出现问题时 81
Netscape插件 83
ActiveX和Authenticode 87
下载代码的风险 91
Authenticode是一个解决方法吗? 93
提高下载代码的安全性 98
第五章 个人隐私 100
日志文件 100
Cookie 103
可以确认的个人信息 107
匿名服务器 109
没有预期到的事情 111
第三部分 数字认证 115
第六章 数字认证技术 115
身份认证 115
公开密钥机制 126
建立一个公开密钥机制存在的问题 132
10个政策问题 141
第七章 认证机构和服务器证书 146
当前的证书 146
认证机构证书 148
服务器证书 151
结论 165
第八章 客户端数字证书 166
客户证书 166
参观Verisign数字身份证书中心 168
第九章 代码签名和Microsoft认证码 184
为什么要使用代码签名? 184
Microsoft的认证码技术 187
获得一个软件发行商的证书 197
第四部分 密码学 201
第十章 密码学基础 201
理解密码学 201
对称密钥算法 207
公开密钥算法 214
信息摘要函数 217
公开密钥机制 221
第十一章 密码学和网站 224
密码学和web安全 224
目前运行的加密系统 227
美国对密码的限制 234
其他国家和地区对密码的限制 243
第十二章 理解SSL和TLS 248
SSL是什么? 249
TLS标准化活动 258
SSL:用户的观点 258
第五部分 Web服务器安全 267
第十三章 主机和网站安全 267
历史上的主机不安全问题 267
目前主要的主机安全问题 269
通过最小化服务来最小化风险 281
安全内容的升级 283
后端数据库 285
物理安全 286
第十四章 控制对Web服务器的访问 287
访问控制策略 287
用<limit>块实施访问控制 292
一个简单的用户管理系统 298
第十五章 安全的CGI/API编程 305
扩展性的危险性 305
编码规则 312
编程语言的具体规则 317
有关编写运行额外权限的CGI脚本的小技巧 320
结论 322
第六部分 商业贸易与社会交际 325
第十六章 数字支付 325
交易牌、晚餐俱乐部和信用卡 325
基于Internet的交易系统 334
如何评估信用卡交易系统 343
第十七章 审查软件和审核技术 345
审查软件 345
PICS 348
RSACi 355
第十八章 民事法律条款 358
知识产权 359
民事侵权行为 367
第十九章 刑事法律条款 370
在计算机被非法入侵后你的法律选择 370
潜在的犯罪危机 375
犯罪主题 376
安全操作 379
法律行动 380
第七部分 附录 385
附录一 来自Vineyard.net的教训 385
附录二 建立和安装Web服务器证书 408
附录三 SSL 3.0协议 423
附录四 PICS说明 450
附录五 参考资料 459
词汇表 483