2010-5-14 1
第九章 网络加密与认证
2010-5-14 2
网络加密方式
? 基本方式
? 链路加密
? 每个易受攻击的链路两端都使用加密设备进行加

? 缺点是每次到达通信节点时都需要解密以确定路
由,在节点处容易受到攻击
? 端端加密
? 仅在通信线路的两端进行加密,可防止对网络上
链路和节点设备的攻击
? 可以提供一定程度的认证
? 缺点是只能对数据报中的用户数据部分加密,容
易受到业务流量分析攻击
2010-5-14 3
网络加密方式
? 结合方式
? 主机之间使用端端加密
? 每个链路之间使用链路加密
PSN
PSN
PSN
PSN
PSN 分组交换节点
链路加密设备 端端加密设备
2010-5-14 4
端端加密的逻辑位置
? 指加密功能部署在 OSI参考模型的哪一

? 不同的层次有不同的协议
? 异构的网络之间只在应用层可能有端
到端加密
2010-5-14 5
存储转发通信的加密范围
电子邮

表示层
会话层
传输层
网络层
链路层
物理层
电子邮

表示层
会话层
传输层
网络层
链路层
物理层
电子邮

TCP
IP
链路层
物理层
互联网 互联网
电子邮

TCP
IP
链路层
物理层
2010-5-14 6
各层加密的数据
数据链路层报头 网络层报头 IP报头 TCP报头 数据 数据链路层报头
数据链路层报头 网络层报头 IP报头 TCP报头 数据 数据链路层报头
数据链路层报头 网络层报头 IP报头 TCP报头 数据 数据链路层报头
TCP层加密
应用层加密
数据链路层加密
2010-5-14 7
Kerberos认证系统
2010-5-14 8
Kerberos
? 雅典娜计划的一部分 (MIT)。
? 可信的第三方认证方案。
? 假定主机是不可信的
? 要求每个 client (对每次业务请求 ) 证明其
身份,
? 不要求用户每次业务请求都输入密码 !
? 密码设计基于 Needham- Schroeder协议
2010-5-14 9
Kerberos 设计
? 用户必须在工作站会话开始的时候验证
自己 (登录会话 ).
? 密码永远不在网络中明文传输 (或在存储
器中存储 )
2010-5-14 10
Kerberos设计 (续 )
? 每个用户有一个口令,
? 每个业务有一个口令,
? 知道所有口令的唯一实体是 认证 服务器,
2010-5-14 11
ServerServerServer
Server
Kerberos
Database
Ticket Granting
Server
Authentication
Server
Workstation
Kerberos 密钥分配服务
2010-5-14 12
票据( Tickets)
? 每个业务请求需要一个 ticket.
? 一个 只能用于单个用户访问单个服务器,
? Tickets 由, Ticket Granting Server”
(TGS)分发,TGS有所有的加密密钥,
? Tickets 对 clients是无意义的,clients只是
用他们接入服务器,
2010-5-14 13
票据( Tickets) (续 )
? TGS 用服务器的加密密钥密每个 ticket
? 加密的 tickets可在网上安全传输,只有服
务器可以解密,
? 每一 ticket有有限的生存期 (几个小时 ).
2010-5-14 14
Ticket 内容
? Client名 (用户登陆名 )
? Server 名
? Client 主机网络地址
? Client/Server会话密钥,用于加
密 client和 server间的请求和响应
? Ticket 生存期
? 产生时戳
2010-5-14 15
认证符( Authenticators)
? 认证符 证明 client身份,
? 包括
? Client 用户名,
? Client 网络地址,
? 时戳,
? 认证符以 session key加密,
2010-5-14 16
问题
? 每次 client要访问要申请新的 ticket.
? 为了从 TGS获得 ticket,client 必须已经有
TG ticket和一个会话密钥与 TGS通信 !
2010-5-14 17
认证服务器 (AS)
? Client向 AS 发送明文请求以获得一个
ticket用于和 TGS通信。
? 请求,
? 登录名
? TGS 名称
由于这个请求只包括公开的名字,不需要
加密,
2010-5-14 18
认证服务器 (AS)
? AS 找到与登陆名和 TGS 名对应的密钥,
? AS 生成一个 ticket:
? login name
? TGS name
? Client网络地址
? TGS 会话密钥
? AS 以 TGS 秘密密钥加密此 ticket.
2010-5-14 19
AS响应
? AS 同时产生一个随机会话密钥供 client
和 TGS 使用,
? 会话密钥和加密的 ticket 以用户的秘密密
钥加密,
TGS session key
Ticket:
login name
TGS name
net address
TGS session key
以用户密钥加密
以 TGS密钥加密
2010-5-14 20
访问 TGS
? Client以用户口令作为秘密密钥解密消息,
? Client这时获得了会话密钥和与 TGS 通信
的 ticket.
? Client看不到 ticket内部的内容,因为 client
不知道 TGS 的秘密密钥,
2010-5-14 21
? 当 client想开始使用服务,client必须首先
获得一个 ticket.
? Client构造一个请求发送给 TGS:
访问服务器
TGS Ticket
认证符
Server Name
以 TGS密钥
加密
以会话密钥
加密
2010-5-14 22
TGS 响应
? TGS 用其秘密密钥解密 ticket获得 TGS会话
密钥,
? TGS 用会话密钥解密信任状,
? TGS 检查验证登陆名,client地址和 TGS
server名都正确,
? TGS 验证信任状是最新的,
2010-5-14 23
TGS 响应
一旦所有验证通过,TGS:
? 产生一个 ticket使 client用于请求的 server,
Ticket用 server密钥加密,
? 产生一个会话密钥
? 以 TGS会话密钥加密整个消息发回给
client,
2010-5-14 24
用户访问服务器
? Client以 TGS会话密钥解密 TGS响应,
? Client现在获得了与服务器通信的会话密
钥和 ticket.
? client 用与和访问 TGS一样格式的数据访
问服务器。
2010-5-14 25
Kerberos 总结
? 每业务请求需要一个 ticket.
? Tickets 来源于 TGS (除了访问 TGS的
ticket).
? 工作站不能解密用服务器密钥加密的
tickets.
? 每个 ticket有个相应的 session key.
? Tickets 不能重用,
2010-5-14 26
Kerberos 总结(续)
? Tickets有有限的生命期,
? 信任状只能使用一次,
? 信任状失效的更快 !
? 服务器维护一个信任状列表
2010-5-14 27
Kerberos区域和多区域的
Kerberos
AS
TGS
AS
TGS
服务器
Client
区域 A
Kerberos
Kerberos
1
2
4
3
5
6
7
2010-5-14 28
X.509和 PKI
Public Key Infrastructure
2010-5-14 29
PKI的用途
机密性
只有指定的接收者才能访问信息。
数据完整性
交易中的信息不可篡改。
技术上的不可抵赖性
交易中一方事后不能抵赖 。
认证
通信中一方可以确定和谁在通信。
2010-5-14 30
PKI 还可用于 ….
授权
用户可以有效的访问拥有权限的受控资源。
访问控制
用户可以方便的控制需要进行控制的资源
2010-5-14 31
PKI包含什么?
一个 PKI是一系列安全业务的集合,
采用公钥密码和 X.509 数字证书,
应用于分布式计算系统。
2010-5-14 32
PKI包含什么?
?密钥对, 公开和秘密密钥
?X.509数字证书
?CA( Certificate Authority)
?RA( Register Authority)
?公共目录服务 (PKI)
?相关 CA间的信任关系
?一组 PKI政策, 注销,维护,更新等等,
?PKI 应用
?集成 PKI的目录服务 (企业 )
2010-5-14 33
专用还是通用 PKI
?目前许多消息和群组产品提供自己的 PKI,专用
PKI支持专门应用。
?也需要通用 PKI支持多种应用,管理多个应用产
生的密钥 集中管理证书政策,与企业目录更紧密
的集成,降低管理的复杂性。
2010-5-14 34
密钥对交换
问题,
1,接收者如何确定的知道发送者的公开密钥 (用
于验证数字签名 )
2,发送者如何确定的知道接收者的公开密钥(用
于加密消息)
2010-5-14 35
解决方案, 数字证书,
数字证书将一个人或其他实体的身份
和公开密钥绑定,以确保密钥确实属
于该用户或实体。
数字证书
2010-5-14 36
数字证书
包含下列信息的数据结构,
? 所有者公钥
? 用户或实体的身份
? 发布者身份
? 由第三方信任机构签名 (Certificate
Authority)
? 有限的有效期,
? X.509 定义该结构 (ITU,IETF PKIX
standards),现在为 v3.
2010-5-14 37
数字证书
version (v3)
serial number
signature algorithm id
issuer name
validity period
subject name
subject public key info
issuer unique identifier
{extensions}
signature
X.509v3 证书,
2010-5-14 38
数字证书
证书分类, ID/认证分级
? 证书重要性是不一样的
PKI通常支持不同类型的证书,可以 (1)用于
不同的功能 (2)建立不同级别的 身份认证机制,
? 证书分类没有标准
2010-5-14 39
数字证书
1,最低级
确保用户名和 e-mail地址,,无第三方认证
用途,Web浏览
2,基础级
由第三方 (RA)验证姓名,地址和其他注册的个人信息。
可能应用, 小额 EDI,在线支付。
2010-5-14 40
数字证书
3,中级
注册过程需要个人当面认定,高强度的密码模块和
访问控制
典型应用, 敏感的公司间邮件或 EDI
4,高级
需要个人当面以及详细调查 最强的计算安全控制
2010-5-14 41
Certificate Authority (CA) 对给定的安
全域产生和发布证书 。
控制政策,相对其他用户具有绝对的权威,
数字证书
2010-5-14 42
Principal/
Applicant
Registration
Authority
Certificate
Authority Repository
Application
or other entity
1,Users apply for certification
2,RA verifies identity
3,RA requests cert
for user
Cert and CRL
Repository
(LDAP Directory)
4,CA issues cert
5,CA
publishes certs
and CRLs
5a,CA pushes
CRL info to
client based
on policy
6,Apps and other
systems use certs,
数字证书
2010-5-14 43
Certificate Authority
Local Area
Network
Wide Area
Network
Local Area
Network
Local Area
Network
Registration
Authority
Principal/
Applicant Repository
数字证书
2010-5-14 44
CA 信任模型
任何支持超出单个安全域的 PKI必须考虑,
如何建立对 CA本身的信任
问, 谁是 CA的可信第三方?
谁签发它的数字证书? (分层 )
它和谁共享信任? (交叉证书 )
2010-5-14 45
CA 信任模型
三种主要的 CA信任模型,
1,交叉认证
2,证书链
3,hub/桥 CA
2010-5-14 46
CA 信任模型
1,交叉认证,
A,证书信任列表
CTLs 是信任的证书或 CA的列表,
Web 浏览器可以在 client端存储 CTLs,或在中心目录
或信任 server上存储。管理员可指定信任 CA的集合,
在验证证书有效性的同时,client检查发布证书的 CA是否
在证书列表中。
2010-5-14 47
CA 信任模型
1,交叉认证,
B,双侧交叉认证
CAs 通过公证彼此的公钥彼此交叉认证。
CA1 CA2 CA3
Cross-certified Cross-certified
Trust relationship Trust relationship
Optional implicit third-party trust
2010-5-14 48
2,证书链,
user A user B
CA
CA
CA
CA
(“root”)
CA
Trusts
Trusts
Trusts
Trusts
Trusts
Trusts
Optional cross-cert.
CA 信任模型
2010-5-14 49
3,Hub/桥 CA
Hub
CA
CA CA
CA
CA
CA
CA
CA CA
CA 信任模型
2010-5-14 50
3,Hub/桥 CA
? Hub/桥 CA 为成员提供中心化的信任管理 /和政策映射,
? 建立确信级别和维护政策,
? Hub CA 会检查成员 CA 的政策以保证一致性和完整性。
? 处理交叉认证任务和维护目录仓库,
CA 信任模型
2010-5-14 51
Hybrid
Hub
CA
CA
CA
CA
Community of
Interest
CABi-lateral
cross-certification
with trading partner
CA
CA CA
Cross-certification
into a public hierarchy
CA 信任模型
2010-5-14 52
PKI 政策
“证书政策”,
,A named set of rules that indicates the
applicability of a certificate to a particular
community and/or class of application with
common security requirements.”
-- RFC 2527
可指定证书应用的限制
也用于授权 CAs:
2010-5-14 53
秘密密钥管理
1,Client-based 密钥存储,
? 当前最常用的密钥存储, (Microsoft,Wallet”,
Entrust,Profile”)
? PKI client 使用软件存储机制在客户 PC的硬盘上加
密用户的 credentials/私钥, 用户通常使用口令。,
2010-5-14 54
秘密密钥管理
2,Smart Cards:
? 私钥的理想存储机制,
? 存储私钥,证书,其他 credentials,通常以
PIN保护,
? 便携 !
2010-5-14 55
秘密密钥管理
3,秘密密钥的目录存储,
? 访问秘密信息,用户登录进入目录,
? 应用为本地应用从目录下载秘密签名和加
密密钥。
? 提供位置无关性,
? 管理员可以集中管理安全信息和政策 。
2010-5-14 56
授权和访问控制
PKI,密钥对管理,数字证书 均是用于认证 …,
但是数字证书也可用于第二个目的 --授权:
授权
用户可以有效的访问其拥有合法权限的资源
访问控制
用户 /管理员可以容易地对其负责的资料进
行访问控制。,
2010-5-14 57
授权和访问控制
集成 PKI的授权基础设施使用一些和 PKI一样的构
件,主要有,
X.509 数字证书
LDAP 目录
? 但是应当认为是一个不同的基础设施,
? 在证书的一个域中提供一个指向动态目录 (通常是
LDAP)的指针,其中包括授权的属性,使得证书是相对
静态的,