《身份认证技术》PPT课件
有效期
主体的 公钥信息
证书的结构
version Serial number
algorithm parameters Issuer name
Not Before Not After
Subject Name Algorithms parameters
Key
Issuer unique name
subject unique name
申请AI
交换AI
验证AI
申请AI
验证AI
常用的身份认证技术/协议
简单口令认证 质询/响应认证 一次性口令认证(OTP) Kerberos认证 基于公钥证书的身份认证 基于生物特征的身份认证
提纲
4.1 身份认证技术概述 4.2 基于口令的身份认证 4.3 Kerberos 身份认证协议 4.4 基于X509的身份认证 4.5 基于生物特征的身份认证
4.4 基于X509公钥证书的认证
4.4.1 X509 认证框架 4.4.2 X509证书 4.4.3 基于公钥证书的认证过程 4.4.4 不同管理域的问题
X509 认证框架
Certificate Authority
签发证书
Registry Authority
验证用户信息的真实性
Directory
入口令
一个更加安全的认证对话
(1) C AS : IDC || IDtgs
AS
(2) ASC : EKc[Ticket tgs]
(3) C TGS : IDC ||IDv || Tickettgs
C
(4) TGIDc || Ticketv
(5)
Tickettgs= EKtgs[ IDC|| ADC || IDtgs|| TS1||Lifetime1]
challenge
OTP
Token OTP
Server OTP f(f(f(f(x)))))
/rfcs/rfc1760.html /rfc/rfc2289.txt
口令管理
口令管理 口令属于“他知道什么”这种方式,容易被窃取。 口令的错误使用: 选择一些很容易猜到的口令; 把口令告诉别人; 把口令写在一个贴条上并把它贴在键盘旁边。 口令管理的作用: 生成了合适的口令 口令更新 能够完全保密
第四章 身份认证
Authentication
提纲
4.1 身份认证技术概述 4.2 基于口令的身份认证 4.3 Kerberos 身份认证协议 4.4 基于X509的身份认证 4.5 基于生物特征的身份认证
4.1 身份认证简介
4.1.1身份认证的需求 4.1.2身份认证的基本模型 4.1.3身份认证的途径 4.1.4常用的身份认证技术
Kerberos V4 的报文交换(3)
3. 客户户/服务器认证交换:获得服务 (5)工作站将票据和认证符发给服务器
C →V : Ticketv || Authenticatorc
(6)服务器验证票据Ticketv和认证符中的匹配, 然后许可访问服务。如果需要双向认证,服务器 返回一个认证符
V →C : EKc,v [TS5+1]
c
s
Login ,IDc
IDc, R
MAC=H(R,K)
IDc, MAC
OK / Disconnect
MAC’=H(R,K) 比较MAC’和MAC
MAC的计算可以基于Hash算, 对称密钥算法,公开密钥算法
一次性口令认证(OTP)
S/Key SecurID
challenge
Pass phrase +
网络环境下对身份认证的需求
唯一的身份标识(ID):
uid uid@domain DN: C=CN/S=Beijing /O=Tsinghua
University/U=CS/ CN=Duan Haixin/Email=dhx@
抗被动的威胁(窃听),口令不在网上明码传输
弥补了Kerberos V4的不足
取消了双重加密 CBC-DES替换非标准的PCBC加密模式 每次会话更新一次会话密钥 增强了抵抗口令攻击的能力
Kerberos 的缺陷
对时钟同步的要求较高 猜测口令攻击 基于对称密钥的设计,不适合于大规模的应用环境
提纲
4.1 身份认证技术概述 4.2 基于口令的身份认证 4.3 Kerberos 身份认证协议 4.4 基于X509的身份认证 4.5 基于生物特征的身份认证
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)
C
(2)
AS
V
问题一:明文传输口令 问题二:每次访问都要输
4.2 基于口令的身份认证
4.2.1质询/响应认证 (Challenge/Response) 4.2.2 一次性口令(OTP) 4.2.3 口令的管理
质询/握手认证协议(CHAP)
Challenge and Response Handshake Protocol Client和Server共享一个密钥
用户信息、证书数据库 没有保密性要求
证书获取
从目录服务中得到 在通信过程中交换
签发证书、证书回收列表
签发
CA
Directory
RA 注册
申请
用户
查询
身份认证
用户
X509 认证框架
X509 证书的层次管理结构
CA
CA
CA
教育部
Root-CA
.. .
CA 清华大学 CA XX系
签名 算法
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]
extensions
Algorithms parameters Encrypted
证书的结构
符号记法
CA<<A>> = CA {V,SN, AI, CA, TA, A, Ap} Y<<A>> 表示 证书权威机构Y 发给用户X的证书
Y{I}
表示Y 对I 的签名,由I 和用Y的私钥加密的散列码组成
证书的安全性
口令管理
口令产生器 不是让用户自己选择口令,口令产生器用于产生随机的和可拼写口令。
口令的时效 强迫用户经过一段时间后就更改口令。 系统还记录至少5到10个口令,使用户不能使用刚刚使用的口令。
限制登录次数 免受字典式攻击或穷举法攻击
提纲
4.1 身份认证技术概述 4.2 基于口令的身份认证 4.3 Kerberos 身份认证协议 4.4 基于X509的身份认证 4.5 基于生物特征的身份认证
Ticket v = EKv [ IDC|| ADC || IDV|| TS2||Lifetime2]
V
口令没有在网络上传输 Ticket tgs 可重用,用一个ticket tgs可以请求多个服务
问题一:票据许可票据tickettgs的生存期 如果太大,则容易造成重放攻击 如果太短,则用户总是要输入口令
问题二: 如何向用户认证服务器
解决方法 增加一个会话密钥(Session Key)
Kerberos V4 的认证过程
(2) (1)
AS
(5)
(3)
请求ticketv Ticketv+会话密钥
TGS (4) (6)
Kerberos V4 的报文交换
1.AS交换,获得Tickettgs
(1)用户登录工作站,请求主机服务
基于你所知道的(What you know ) 知识、口令、密码
基于你所拥有的(What you have ) 身份证、信用卡、钥匙、智能卡、令牌等
基于你的个人特征(What you are) 指纹,笔迹,声音,手型,脸型,视网膜,虹膜
双因素、多因素认证
身份认证的基本模型
申请者(Claimant) 验证者(Verifier) 认证信息AI(Authentiction) 可信第三方(Trusted Third Party)
AS
Server TGS
多域环境下的认证过程
Kerberos Version 5
改进version 4 的环境缺陷
加密系统依赖性: DES Internet协议依赖性: IP 消息字节次序 Ticket的时效性 Authentication forwarding Inter-realm authentication
任何具有CA公钥的用户都可以验证证书有效性
除了CA以外,任何人都无法伪造、修改证书
签名的过程
单向认证(One-Way Authentication) A{ tA, rA, B, SgnData, EKUb[Kab] }
(4) TGS对票据和认证符进行解密,验证请求,然后生成 服务许可票据Ticket v
TGS → C : EKc,tgs[Kc,v || IDV || TS4 || Ticketv]
TicLkieftettgis m=e2]EKtgs[Kc,tgs|| IDC|| ADC|| IDtgs || TS2 || Ticketv = EK v[ Kc,v||IDC||ADC|| IDv||TS4||Lifetime4] Authenticatorc = EKc,tgs[IDc||ADc||TS3]