文档介绍:网络与信息安全应用安全:Web安全、Mail安全、病毒
潘爱民,北京大学计算机研究所
.cn/ourse
内容
Web Security
Web会话和cookie
Server-side security
Client-side security
Mail Security
S/MIME
PGP
病毒
分析几个病毒的原理
Web结构
client/server结构,属于瘦客户类型的
Browser/Server, 客户为浏览器,服务器为Web Server
通常是多层(或三层)结构中的第一层
在Web应用中,Web Server后面常常与数据库打交道
B/S之间的通讯协议:HTTP
HTTP位于TCP之上,默认的端口为80
客户发出对页面的请求,服务器送回这些页面
动态页面和静态页面
Web页面的表述和交互能力
各种标记、超链接,…
交互功能:表单、脚本
交互能力的扩展:Java Applet, ActiveX, …
Web安全性
协议本身的安全性支持
身份认证:Basic Authentication, Digest Access Authentication
保密性:TLS(Transport Layer Security)
实现上的安全性
服务器端安全性
Web pages的访问控制机制
可用性:防止拒绝服务
抵御各种网络攻击
客户端安全性
个人信息的保护
防止执行恶意代码
Web Proxy Server
Man-In-The-Middle
Web认证
Basic Authentication [RFC 2617]
口令直接明文传输
隐患:sniffer、中间代理、假冒的服务器
Digest Access Authentication [RFC 2617]
Challenge-Response, 不传输口令
重放攻击、中间人攻击
服务器端的口令管理策略
TLS,基于PKI的认证
单向或者双向的身份认证
要求服务器提供证书,客户端证书可选
同时也可以提供保密性服务
一种双向认证模式
单向TLS认证+客户提供名字/口令
Microsoft passport
TLS回顾
协议栈
记录协议
握手协议
Web会话
从TCP到HTTP层缺少直接的会话层支持
Web会话支持
HTTP Connections支持,但是不能用于提供Web会话的功能
目前使用的会话技术
Cookie,用cookie作为permit ticket
用url记录会话
用表单中的隐藏元素记录会话
会话安全:劫持一个Web会话
建立会话可能需要验证用户的信息——认证
一旦会话被劫持,则Web用户的安全性不复存在
安全性涉及到
客户如何提供会话建立所需要的信息,以及会话标识信息
服务器如何管理会话
Cookie技术
Cookie通常是少量的与状态有关的信息,它是服务器保存在客户端的信息
Cookie的动机
客户在浏览多个页面的时候,提供事务(transaction)的功能,为服务器提供状态管理
比如说,可以针对每个用户实现购物篮
实现授权策略,客户不用为每个页面输入“用户名/口令”
但是,实际上,cookie很容易被滥用
在提供个性化服务的时候,往往要收集一些涉及隐私的信息
每个cookie都有一定的URL范围
客户发送这个范围内的URL请求都要提供这个cookie
Cookie规范
Set-cookie语法,在HTTP应答头中
Set-Cookie: NAME=VALUE; expires=DATE; path=PATH; domain=DOMAIN_NAME; secure
例如:Set-Cookie: CUSTOMER=WILE_E_COYOTE; path=/; expires=Wednesday, 09-Nov-99 23:12:40 GMT
Cookie语法,在HTTP请求头中
Cookie: NAME1=OPAQUE_STRING1; NAME2=OPAQUE_STRING2 ...
例如:Cookie: CUSTOMER=WILE_E_COYOTE
利用cookie完成一个transaction
顾客名字
购物篮
购物方法