身份认证技术
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
– 验证用户信息的真实性
CA
签发
Directory
Directory
– 用户信息,证书数据库 – 没有保密性要求
RA
申请
注册
查询
证书获取
– 从目录服务中得到 – 在通信过程中交换
身份认证
用户
用户
证书的结构
签名 算法
version Serial number algorithm parameters Issuer name
– 如果太大,则容易造成重放攻击 – 如果太短,则用户总是要输入口令
问题二:
– 如何向用户认证服务器
解决方法
– 增加一个会话密钥(Session Key)
Kerberos V4 的认证过程
(2) ) (1) ) AS
(3) )
请求ticketv 请求 Ticketv+会话密钥 会话密钥
TGS
(4) )
双因素,多因素认证
身份认证的基本模型
申请者(Claimant) 验证者(Verifier) 认证信息AI(Authentication Information) 可信第三方(Trusted Third Party) (Trusted
交换AI 申请AI 验证AI
申请AI
验证AI
常用的身份认证技术/协议
网络管理员使用的工具:口令检验器 攻击者破获口令使用的工具:口令破译器
口令管理
口令产生器
–不是让用户自己选择口令,口令产生器用于 产生随机的和可拼写口令.
口令的时效
–强迫用户经过一段时间后就更改口令. –系统还记录至少5到10个口令,使用户不能使 用刚刚使用的口令.
限制登录次数
–免受字典式攻击或穷举法攻击
5.4 基于X509公钥证书的认证
5.4.1 X509 认证框架 5.4.2 X509证书 5.4.3 基于公钥证书的认证过程 5.4.4 不同管理域的问题
X509 认证框架
Certificate Authority
– 签发证书
签发证书,证书回收列表 签发证书,
Registry Authority
简单口令认证 质询/响应认证 一次性口令认证(OTP) Kerberos认证 基于公钥证书的身份认证 基于生物特征的身份认证
提纲
5.1 身份认证技术概述 5.2 基于口令的身份认证 5.3 Kerberos 身份认证协议 5.4 基于X509的身份认证 5.5 基于生物特征的身份认证
5.2 基于口令的身份认证
http://www.faqs.org/rfcs/rfc1760.html http://www.ietf.org/rfc/rfc2289.txt
口令管理
口令管理
–口令属于"他知道什么"这种方式,容易被窃 取. –口令的错误使用:
选择一些很容易猜到的口令; 把口令告诉别人; 把口令写在一个贴条上并把它贴在键盘旁边.
(6)服务器验证票据Ticketv和认证符中的 匹配,然后许可访问服务.如果需要双向 认证,服务器返回一个认证符
V →C : EKc,v [TS5+1]
多管理域环境下的认证
Kerberos AS Client
3. 请求远程tickettgs
TGS 共享密钥 相互注册 Kerberos AS Server TGS
C = Client AS= Authentication Server V = Server IDc = identifier of User on C IDv= identifier of V Pc = password of user on C ADc = network address of C Kv = secret key shared bye AS and V || = concatention (1)
MAC=H(R,K)
sHale Waihona Puke Baidu
IDc, MAC
MAC'=H(R,K) OK / Disconnect 比较MAC'和MAC 比较 和
MAC的计算可以基于 的计算可以基于Hash算, 对称密钥算法,公开 的计算可以基于 算 对称密钥算法, 密钥算法
一次性口令认证(OTP)
S/Key SecurID
ID challenge Pass phrase + challenge Token OTP OTP Server OTP
Kerberos V4 的报文交换(2)
2. TGS服务交换,获得服务票据Ticketv (3)工作站提示用户输入口令,用来对收到的报文进行解 密,然后将Tickettgs 以及包含用户名称,网络地址和事 件的认证符发给TGS C → TGS : IDV || Tickettgs || Authenticatorc Authenticatorc = EKc,tgs[IDc||ADc||TS3] Tickettgs = EKtgs[Kc,tgs|| IDC|| ADC|| IDtgs || TS2 || Lifetime2] (4) TGS对票据和认证符进行解密,验证请求,然后生成 服务许可票据Ticket v TGS → C : EKc,tgs[Kc,v || IDV || TS4 || Ticketv] Ticketv = EK v[ Kc,v||IDC||ADC|| IDv||TS4||Lifetime4]
– 用户只需要一次认证操作就可以访 问多种服务
可扩展性的要求
身份认证的基本途径
基于你所知道的(What you know )
– 知识,口令,密码
基于你所拥有的(What you have )
– 身份证,信用卡,钥匙,智能卡,令牌等
基于你的个人特征(What you are)
– 指纹,笔迹,声音,手型,脸型,视网膜, 虹膜
AS
TGS
(5) )
V
认证服务 票据发放服务(Ticket Granting Service) 票据(Ticket)
– 是一种临时的证书,用tgs 或 应用服务器的密 钥加密 – TGS 票据 – 服务票据
加密:
一个更加安全的认证对话(Cont.)
问题一:票据许可票据tickettgs的生存期
Kerberos 身份认证过程
一个简单的认证对话 一个更加安全的认证对话 Kerberos V4 Kerberos V5
一个简单的认证对话
C和V都必须在AS中注册,共享 密钥KC,KV (1) C AS : IDc || Pc ||IDV (2) AS C : Ticket (3) C V : IDc || Ticket Ticket=EKv(IDc|| ADc || IDv)
第五章 身份认证
Authentication
提纲
5.1 身份认证技术概述 5.2 基于口令的身份认证 5.3 Kerberos 身份认证协议 5.4 基于X509的身份认证 5.5 基于生物特征的身份认证
5.1 身份认证简介
5.1.1身份认证的需求 5.1.2身份认证的基本模型 5.1.3身份认证的途径 5.1.4常用的身份认证技术
Kerberos 简介
Kerberos 麻省理工学院为Athena 项目开发的一个认 证服务系统 目标是把UNIX认证,记帐,审计的功能扩展到网 络环境:
– 公共的工作站,只有简单的物理安全措施 – 集中管理,受保护的服务器 – 多种网络环境,假冒,窃听,篡改,重发等威胁
基于Needham-Schroeder认证协议,可信第三方 基于对称密钥密码算法,实现集中的身份认证和密 钥分配, 通信保密性,完整性
弥补了Kerberos V4的不足
Kerberos 的缺陷
对时钟同步的要求较高 猜测口令攻击 基于对称密钥的设计,不适合于大规模的 应用环境
提纲
4.1 身份认证技术概述 4.2 基于口令的身份认证 4.3 Kerberos 身份认证协议 4.4 基于X509的身份认证 4.5 基于生物特征的身份认证
5.2.1质询/响应认证 (Challenge/Response) 5.2.2 一次性口令(OTP) 5.2.3 口令的管理
质询/握手认证协议(CHAP)
Challenge and Response Handshake Protocol Client和Server共享一个密钥
c
Login ,IDc IDc, R
sniffer
源
目的
网络环境下对身份认证的需求
抵抗主动的威胁,比如阻断,伪造,重放, 网络上传输的认证信息不可重用
passwd
加密
$%@&)*=-~`^,{
解密
网络环境下对身份认证的需求
双向认证
– 域名欺骗,地址假冒等 – 路由控制
单点登录(Single Sign-On Single Sign-On)
C
(2)
AS
V
问题一:明文传输口令 问题二:每次访问都要输 入口令
一个更加安全的认证对话
认证对话(每次登录认证一次) (1) C AS : IDC || IDtgs (2) AS C : EKc[Ticket tgs] Tickettgs= EKtgs[ IDC|| ADC || IDtgs|| TS1||Lifetime1] 获取服务票据(每种服务一次) C (3) C TGS : IDC ||IDv || Tickettgs (4) TGS C: Ticketv Ticket v = EKv [ IDC|| ADC || IDV|| TS2||Lifetime2] 访问服务(每次会话一次) (5)C V : IDc || Ticketv 口令没有在网络上传输 Ticket tgs 可重用,用一个 可重用,用一个ticket tgs可以请求多个服务
(5) ) (6) )
Kerberos V4 的报文交换
1.AS交换,获得Tickettgs
(1)用户登录工作站,请求主机服务 C →AS : IDC || IDtgs || TS1 (2)AS在数据库中验证用户的访问权限,生成Tickettgs 和会话 密钥,用由用户口令导出的密钥加密 AS →C : EKc[Kc,tgs || IDtgs || TS2 || Lifetime2 || Tickettgs] 其中 Tickettgs = EKtgs [Kc,tgs || IDC || ADC || IDtgs || TS2 || Lifetime2]
网络环境下对身份认证的需求
唯一的身份标识(ID):
– uid,uid@domain – DN: C=CN/S=Beijing /O=Tsinghua University/U=CS/ CN=Duan Haixin/Email=dhx@cernet.edu.cn
抗被动的威胁(窃听),口令不在网上明 码传输
多域环境下的认证过程
Kerberos Version 5
改进version 4 的环境缺陷
– – – – – – – – – – 加密系统依赖性: 不仅限于DES Internet协议依赖性: 不仅限于IP 消息字节次序 Ticket的时效性 Authentication forwarding Inter-realm authentication 取消了双重加密 CBC-DES替换非标准的PCBC加密模式 每次会话更新一次会话密钥 增强了抵抗口令攻击的能力
–口令管理的作用:
生成了合适的口令 口令更新 能够完全保密
口令管理
口令的要求:
–包含一定的字符数; –和ID无关; –包含特殊的字符; –大小写; –不容易被猜测到. –跟踪用户所产生的所有口令,确保这些口令不相同, –定期更改其口令. –使用字典式攻击的工具找出比较脆弱的口令.许多安 全工具都具有这种双重身份:
Kerberos V4 的报文交换(3)
3. 客户户/服务器认证交换:获得服务 (5)工作站将票据和认证符发给服务器 C →V : Ticketv || Authenticatorc
Ticketv = EK v [Kc,v||IDc||ADc||IDv||TS4||Lifetime4] Authenticatorc = EKc,v[IDc||ADc||TS5]
提纲
5.1 身份认证技术概述 5.2 基于口令的身份认证 5.3 Kerberos 身份认证协议 5.4 基于X509的身份认证 5.5 基于生物特征的身份认证
5.3 Kerberos 认证技术
4.3.1 Kerberos 简介 4.3.2 Kerberos V4 4.3.3 Kerberos V5 4.3.4 Kerberos 缺陷
CA
签发
Directory
Directory
– 用户信息,证书数据库 – 没有保密性要求
RA
申请
注册
查询
证书获取
– 从目录服务中得到 – 在通信过程中交换
身份认证
用户
用户
证书的结构
签名 算法
version Serial number algorithm parameters Issuer name
– 如果太大,则容易造成重放攻击 – 如果太短,则用户总是要输入口令
问题二:
– 如何向用户认证服务器
解决方法
– 增加一个会话密钥(Session Key)
Kerberos V4 的认证过程
(2) ) (1) ) AS
(3) )
请求ticketv 请求 Ticketv+会话密钥 会话密钥
TGS
(4) )
双因素,多因素认证
身份认证的基本模型
申请者(Claimant) 验证者(Verifier) 认证信息AI(Authentication Information) 可信第三方(Trusted Third Party) (Trusted
交换AI 申请AI 验证AI
申请AI
验证AI
常用的身份认证技术/协议
网络管理员使用的工具:口令检验器 攻击者破获口令使用的工具:口令破译器
口令管理
口令产生器
–不是让用户自己选择口令,口令产生器用于 产生随机的和可拼写口令.
口令的时效
–强迫用户经过一段时间后就更改口令. –系统还记录至少5到10个口令,使用户不能使 用刚刚使用的口令.
限制登录次数
–免受字典式攻击或穷举法攻击
5.4 基于X509公钥证书的认证
5.4.1 X509 认证框架 5.4.2 X509证书 5.4.3 基于公钥证书的认证过程 5.4.4 不同管理域的问题
X509 认证框架
Certificate Authority
– 签发证书
签发证书,证书回收列表 签发证书,
Registry Authority
简单口令认证 质询/响应认证 一次性口令认证(OTP) Kerberos认证 基于公钥证书的身份认证 基于生物特征的身份认证
提纲
5.1 身份认证技术概述 5.2 基于口令的身份认证 5.3 Kerberos 身份认证协议 5.4 基于X509的身份认证 5.5 基于生物特征的身份认证
5.2 基于口令的身份认证
http://www.faqs.org/rfcs/rfc1760.html http://www.ietf.org/rfc/rfc2289.txt
口令管理
口令管理
–口令属于"他知道什么"这种方式,容易被窃 取. –口令的错误使用:
选择一些很容易猜到的口令; 把口令告诉别人; 把口令写在一个贴条上并把它贴在键盘旁边.
(6)服务器验证票据Ticketv和认证符中的 匹配,然后许可访问服务.如果需要双向 认证,服务器返回一个认证符
V →C : EKc,v [TS5+1]
多管理域环境下的认证
Kerberos AS Client
3. 请求远程tickettgs
TGS 共享密钥 相互注册 Kerberos AS Server TGS
C = Client AS= Authentication Server V = Server IDc = identifier of User on C IDv= identifier of V Pc = password of user on C ADc = network address of C Kv = secret key shared bye AS and V || = concatention (1)
MAC=H(R,K)
sHale Waihona Puke Baidu
IDc, MAC
MAC'=H(R,K) OK / Disconnect 比较MAC'和MAC 比较 和
MAC的计算可以基于 的计算可以基于Hash算, 对称密钥算法,公开 的计算可以基于 算 对称密钥算法, 密钥算法
一次性口令认证(OTP)
S/Key SecurID
ID challenge Pass phrase + challenge Token OTP OTP Server OTP
Kerberos V4 的报文交换(2)
2. TGS服务交换,获得服务票据Ticketv (3)工作站提示用户输入口令,用来对收到的报文进行解 密,然后将Tickettgs 以及包含用户名称,网络地址和事 件的认证符发给TGS C → TGS : IDV || Tickettgs || Authenticatorc Authenticatorc = EKc,tgs[IDc||ADc||TS3] Tickettgs = EKtgs[Kc,tgs|| IDC|| ADC|| IDtgs || TS2 || Lifetime2] (4) TGS对票据和认证符进行解密,验证请求,然后生成 服务许可票据Ticket v TGS → C : EKc,tgs[Kc,v || IDV || TS4 || Ticketv] Ticketv = EK v[ Kc,v||IDC||ADC|| IDv||TS4||Lifetime4]
– 用户只需要一次认证操作就可以访 问多种服务
可扩展性的要求
身份认证的基本途径
基于你所知道的(What you know )
– 知识,口令,密码
基于你所拥有的(What you have )
– 身份证,信用卡,钥匙,智能卡,令牌等
基于你的个人特征(What you are)
– 指纹,笔迹,声音,手型,脸型,视网膜, 虹膜
AS
TGS
(5) )
V
认证服务 票据发放服务(Ticket Granting Service) 票据(Ticket)
– 是一种临时的证书,用tgs 或 应用服务器的密 钥加密 – TGS 票据 – 服务票据
加密:
一个更加安全的认证对话(Cont.)
问题一:票据许可票据tickettgs的生存期
Kerberos 身份认证过程
一个简单的认证对话 一个更加安全的认证对话 Kerberos V4 Kerberos V5
一个简单的认证对话
C和V都必须在AS中注册,共享 密钥KC,KV (1) C AS : IDc || Pc ||IDV (2) AS C : Ticket (3) C V : IDc || Ticket Ticket=EKv(IDc|| ADc || IDv)
第五章 身份认证
Authentication
提纲
5.1 身份认证技术概述 5.2 基于口令的身份认证 5.3 Kerberos 身份认证协议 5.4 基于X509的身份认证 5.5 基于生物特征的身份认证
5.1 身份认证简介
5.1.1身份认证的需求 5.1.2身份认证的基本模型 5.1.3身份认证的途径 5.1.4常用的身份认证技术
Kerberos 简介
Kerberos 麻省理工学院为Athena 项目开发的一个认 证服务系统 目标是把UNIX认证,记帐,审计的功能扩展到网 络环境:
– 公共的工作站,只有简单的物理安全措施 – 集中管理,受保护的服务器 – 多种网络环境,假冒,窃听,篡改,重发等威胁
基于Needham-Schroeder认证协议,可信第三方 基于对称密钥密码算法,实现集中的身份认证和密 钥分配, 通信保密性,完整性
弥补了Kerberos V4的不足
Kerberos 的缺陷
对时钟同步的要求较高 猜测口令攻击 基于对称密钥的设计,不适合于大规模的 应用环境
提纲
4.1 身份认证技术概述 4.2 基于口令的身份认证 4.3 Kerberos 身份认证协议 4.4 基于X509的身份认证 4.5 基于生物特征的身份认证
5.2.1质询/响应认证 (Challenge/Response) 5.2.2 一次性口令(OTP) 5.2.3 口令的管理
质询/握手认证协议(CHAP)
Challenge and Response Handshake Protocol Client和Server共享一个密钥
c
Login ,IDc IDc, R
sniffer
源
目的
网络环境下对身份认证的需求
抵抗主动的威胁,比如阻断,伪造,重放, 网络上传输的认证信息不可重用
passwd
加密
$%@&)*=-~`^,{
解密
网络环境下对身份认证的需求
双向认证
– 域名欺骗,地址假冒等 – 路由控制
单点登录(Single Sign-On Single Sign-On)
C
(2)
AS
V
问题一:明文传输口令 问题二:每次访问都要输 入口令
一个更加安全的认证对话
认证对话(每次登录认证一次) (1) C AS : IDC || IDtgs (2) AS C : EKc[Ticket tgs] Tickettgs= EKtgs[ IDC|| ADC || IDtgs|| TS1||Lifetime1] 获取服务票据(每种服务一次) C (3) C TGS : IDC ||IDv || Tickettgs (4) TGS C: Ticketv Ticket v = EKv [ IDC|| ADC || IDV|| TS2||Lifetime2] 访问服务(每次会话一次) (5)C V : IDc || Ticketv 口令没有在网络上传输 Ticket tgs 可重用,用一个 可重用,用一个ticket tgs可以请求多个服务
(5) ) (6) )
Kerberos V4 的报文交换
1.AS交换,获得Tickettgs
(1)用户登录工作站,请求主机服务 C →AS : IDC || IDtgs || TS1 (2)AS在数据库中验证用户的访问权限,生成Tickettgs 和会话 密钥,用由用户口令导出的密钥加密 AS →C : EKc[Kc,tgs || IDtgs || TS2 || Lifetime2 || Tickettgs] 其中 Tickettgs = EKtgs [Kc,tgs || IDC || ADC || IDtgs || TS2 || Lifetime2]
网络环境下对身份认证的需求
唯一的身份标识(ID):
– uid,uid@domain – DN: C=CN/S=Beijing /O=Tsinghua University/U=CS/ CN=Duan Haixin/Email=dhx@cernet.edu.cn
抗被动的威胁(窃听),口令不在网上明 码传输
多域环境下的认证过程
Kerberos Version 5
改进version 4 的环境缺陷
– – – – – – – – – – 加密系统依赖性: 不仅限于DES Internet协议依赖性: 不仅限于IP 消息字节次序 Ticket的时效性 Authentication forwarding Inter-realm authentication 取消了双重加密 CBC-DES替换非标准的PCBC加密模式 每次会话更新一次会话密钥 增强了抵抗口令攻击的能力
–口令管理的作用:
生成了合适的口令 口令更新 能够完全保密
口令管理
口令的要求:
–包含一定的字符数; –和ID无关; –包含特殊的字符; –大小写; –不容易被猜测到. –跟踪用户所产生的所有口令,确保这些口令不相同, –定期更改其口令. –使用字典式攻击的工具找出比较脆弱的口令.许多安 全工具都具有这种双重身份:
Kerberos V4 的报文交换(3)
3. 客户户/服务器认证交换:获得服务 (5)工作站将票据和认证符发给服务器 C →V : Ticketv || Authenticatorc
Ticketv = EK v [Kc,v||IDc||ADc||IDv||TS4||Lifetime4] Authenticatorc = EKc,v[IDc||ADc||TS5]
提纲
5.1 身份认证技术概述 5.2 基于口令的身份认证 5.3 Kerberos 身份认证协议 5.4 基于X509的身份认证 5.5 基于生物特征的身份认证
5.3 Kerberos 认证技术
4.3.1 Kerberos 简介 4.3.2 Kerberos V4 4.3.3 Kerberos V5 4.3.4 Kerberos 缺陷