数字认证:第五讲

  • 格式:pdf
  • 大小:1.37 MB
  • 文档页数:48

采用时变参数的互认证
• 相互认证:
• 其它方法类推
采用时变参数的认证
• 基于时间戳和序列号,可以直接传送第二步内容,无需传
送随机数
• 但容易引起问题: • 时间间隔过短 • 时间/序列号未同步 • 上述基于时变参数认证的缺陷: • 双方需要共享密钥,不现实 • 如何保证公钥的真实性?
具体应用
• 安全令牌:每隔固定间隔产生一个基于同步序列的随机数
具体应用
基于密钥中心的认证协议
温习:基于密钥分发中心KDC的密钥分发
• 特点:由KDC生成会话密钥 • KDC作为可信方提供身份认证/加密服务
• 方法:很多种,如Kerberos
KDC
1:IDA,IDB 2:EKA(KS,IDB,EKB(KS,IDA)) 1:IDA,IDB
KDC
3:EKB(KS,IDA) 2:EKA(KS,IDB)
这个协议相当于下面要介绍的分割和选择协议 (Cut and Choose),是公平分享东西时的经典协议。
如果将关于零知识洞穴的协议中P掌握的咒语换为一个数学
难题,而P知道如何解这个难题,就可以设计实用的零知识 证明协议。
著名体制
• 基于零知识证明的密码体制,比较著名的有由
U.Feige, A.Fiat,和A.Shamir提出的Feige-FiatShamir体制;由Guillon 和Quisquater提出的 GQ 识别体制;由Schnorr提出的Fiat-Shamir识别体 制是GQ体制的一种变型,其安全性基于离散对 数的困难性,可以预测计算量来降低实时计算 量,所需传送的数据量亦减少许多,特别适合 计算能力有限的情况。
A
B
A
B
基于密钥分发中心KDC的互认证
• 在KDC帮助下实现相互认证 • KDC向A的认证 • A与B的互认证
KDC
1:IDA,IDB 2:EKA(KS,IDB,EKB(KS,IDA)) 1:IDA,IDB,RA
KDC
2:EKA(KS,IDB,RA,EKB(KS,IDA,RA))
3:EKB(KS,IDA)
数字签名与身份认证技术 :第五讲
身份认证技术
朱岩 zhuyan@ 62334905,1204A 计算机与通信学院软件工程系 北京科技大学
内容
• 身份认证概述
• 基于密钥中心的认证协议 • 交互证明技术
• Kerberos认证系统
身份认证概述
身份认证的目标
• 身份认证也称为实体认证(entity authentication) • 一方(证明者A)向另一方(验证者B)证明其身份的过程
• 要求: • 可验证性:A能向B证明身份,B成功的接受验证 • 不可假不可传递性(intranserability):B不能用A的身份证明过程进行欺骗
信任根:身份认证的基础
• 身份认证的基础是A所具有的可信任事物 • 被称为:信任根,信任凭证
3:EKB(KS,IDA,RA)
A
B
A
4:EKS(IDB,RA,RB) 5:EKS(RB,RA)
B
温习:公钥的密钥分发
• 公开密钥的分发 • 不基于认证中心的密钥分发
• 直接发送公钥给对方
• 基于认证中心CA的密钥分发
• 由CA形成包含“用户公钥”和“身份
绑定(签名)”的证书实现分发
• 证书定义: • Cert={ID,PK,T,AS,SignAS(ID,PK, T,AS)}
Kerberos协议是Needham-Schroeder协议的变型,目
前通用版本为v5,是1994年公布的; Kerberos认证起源于非法收集用户口令的恶意攻击, 系统按照用户名与口令对用户进行识别; Kerberos采用的是客户机/服务器模型(以下简称 C/S)。
Kerberos概述
• 网络上的Kerberos服务器起着可信仲裁者的作用,可提供
Ticket的安全传递
概括起来说Kerberos协议主 要做了两件事 1、Ticket的安全传递。 2、Session Key的安全发布。
启用 Kerberos V5 身份验证
• 对于在安装过程中所有加入到 Windows Server 2003 或
Windows 2000 域的计算机都默认启用 Kerberos V5 身份验 证协议。Kerberos 可对域内的资源和驻留在受信任的域中 的资源提供单一登录。 • 使用 Kerberos V5 进行成功的身份验证需要两个客户端系统 都必须运行 Windows 2000、Windows Server 2003 家族或 Windows XP Professional 操作系统。 • 使用 Kerberos 进行身份验证的计算机必须使其时间设置在 5 分钟内与常规时间服务同步,否则身份验证将失败。
最小泄露知识证明应该满足条件

现在假设用P表示示证者,V表示验证者 。
• (1)示证者几乎不可能欺骗验证者,若P知道证明,
则可使V几乎确信P知道证明;若P不知道证明,则他 使V相信他知道证明的概率几近于零。 • (2)验证者几乎不可能得到证明的信息,特别是他 不可能向其他人出示此证明。 • (3)而零知识证明除了以上两个条件外,还要满足: 验证者从示证者那里得不到任何有关证明的知识。
采用时变参数的认证
• 基于私钥加密(A/B共享密钥k) • ������ → ������: ������ • ������ ← ������: ������������ ������, ������
• 基于MAC (A/B共享密钥k) • ������ → ������: ������ • ������ ← ������: MAC������ ������, ������ • 基于公钥签名 (B拥有密钥sk,公钥pk) • ������ → ������: ������ • ������ ← ������: Sig ������������ ������, ������ • A: Verifypk(R,B, Sig ������������ ������, ������ )==1/0?
零知识证明技术
基于零知识证明的识别技术
零知识证明的基本思想
你向别人证明你知道某种事物或具有某种东西, 而且别人并不能通过你的证明知道这个事物或这个 东西,也就是不泄露你掌握的这些信息。
零知识证明问题
最小泄露证明(Minimum Disclosure proof) 零知识证明(Zero Knowledge proof)。
• 信任根可能是: • 已知事物:口令,私钥,公钥,证书 • 拥有事物:身份证,智能卡 • 固有事物:手写签名,指纹 • 认证过程不能直接传送“信任根”,避免重放攻击
时变参数用于认证
• 对付重放攻击的有效方法: • 时变参数用于认证,避免重复认证
• 随机数:每次认证采用不同随机数 • 序列数:采用序号作为时变参数 • 时间戳:采用时间作为时变参数
基于公钥证书的认证框架
• 基于公钥签名 (B拥有密钥sk,公钥pk)的相互认证 • ������ → ������������: ������ • ������ ← ������������:CertB={B,pkB,T,AS,Sign(B,pkB,T,AS)}
• ������ → ������: ������ A • ������ ← ������: ������������, Sig ������������������ ������������, ������������, ������ • A: VerifypkB(RA,RB,B, Sig ������������������ ������������, ������������, ������ )==1/0? • B→ ������������: ������ • B← ������������:CertA={A,pkA,T,AS,Sign(A,pkA,T,AS)} • ������ → ������: ������������, Sig ������������������ ������������, ������������, ������ • B: VerifypkA(RB,RA,A, Sig ������������������ ������������, ������������, ������ )==1/0?
引言
• Kerberos最初是MIT(麻省理工学院)为Athena项目开发的,
是TCP/IP网络设计的可信任的第三方认证协议 • Kerberos提供了一种在开放式网络环境下进行身份认证的 方法,并允许个人访问网络中不同的机器,它使网络上的 用户可以相互证明自己的身份
Kerberos这一名词来源于希腊神话“三个头的狗——地狱之门守护者”
安全的网络鉴别,允许个人访问网络中不同的机器。 • 基于对称密码学,与网络上的每个实体分别共享一个不同 的秘密密钥,是否知道该秘密密钥便是身份的证明。主要 包括以下几个部分:
• 客户机(client) • 服务器(server)
• 认证服务器(AS)
• 票据授予服务器(ticket-granting server,TGS)
• 3、P进入洞之后,V走到B点; • 4、V叫P:(a)从左边出来或(b)从右边出来;
• 5、P按照V的要求实现(因为P知道该咒语);
• 6、P和V重复执行上面的过程n次。
协议分析
• 如果P具有知道“咒语”,他成功概率是1
• Pr[<P,V>=1:P has knowledge]=1
• 如果P不具有知道“咒语”,他成功概率是
基于平方剩余问题的零知识证明
基于平方剩余问题的零知识证明
零知识证明协议的过程
• 零知识证明协议通常分为三步:
Guilou-Quisquater(GQ)协议
KERBEROS认证系统