第21讲--身份识别和零知识证明(密码学)

合集下载

密码学身份认证

密码学身份认证

C若能成功地阻止A收到此握手信息,则就可以用 K’解密出N2,并用K’加密得EK’[f(N2 )]冒充A 做第5)步: C→B : EK’[f(N2 )]
从而假冒A与B建立通信
Denning协议(使用时戳T):
1) A→KDC : IDA || IDB 2) KDC→A : EKa[Ks || IDB || T || EKb[Ks || IDA || T]] 3) A→B : EKb[Ks || IDA || T] 4) B→A : EKs [N1] 5) A→B : EKs[f(N1 )]
其中:Ka、Kb分别是KDC与A、B的共享密钥; Ks是A、B之间的会话密钥。N1用于防C冒充 KDC对A的重防攻击;N2用于防C冒充A对B的重 防攻击。
漏洞:假设攻击者C已经知道A、B之间以前用过 的会话密钥K’,则C可在第3)步用以前所截获 的EKb[K’ || IDA ]冒充A,实施重放攻击: C→B : EKb[K’ || IDA ] 只要B不记得K’是先前用过的会话密钥,便会以 为是一次新的认证过程,从而做第4)步: B→A : EK’ [N2]
1. 设计动机 ──对开放式系统认证机制的要求
1) 安全性:足够安全,不致成为攻击 的薄弱环节 2) 可靠性:认证服务的可靠性决定整 个系统的可靠性 3) 透明性:除了输入口令之外,用户 应该感受不到认证服务的存在 4) 可伸缩:系统应能支持更多的客户 和服务器
2. 模型
1) 共涉及4种角色: ① 一个鉴别服务器AS(Authentication Server) ② 多个票据许可服务器TGS(Ticket Granting Server)──每个TGS对应一类服务器 ③ 多个客户C ④ 多个服务器S 2) AS用于鉴别C的身份,TGS用于对C针对某个 服务器S的服务请求进行授权,同属整个 Kerberos系统,但两者相互独立 3) AS中拥有所有TGS和所有C的密钥 4) 每个TGS拥有所有下属服务器S的密钥 5) AS可向某个TGS、 TGS可向其所属某个S证 实某个C的身份,并产生会话密钥供双方通信 使用,认证会话在认证结束后自动销毁

身份识别技术

身份识别技术

身份识别技术我们生活的现实世界是一个真实的物理世界,每个人都拥有独一无二的物理身份。

而今我们也生活在数字世界中,一切信息都是由一组特定的数据表示,当然也包括用户的身份信息。

如果没有有效的身份认证管理手段,访问者的身份就很容易被伪造,使得任何安全防范体系都形同虚设。

因此,在计算机和互联网络世界里,身份认证是一个最基本的要素,也是整个信息安全体系的基础。

身份认证是证实客户的真实身份与其所声称的身份是否相符的验证过程。

目前,计算机及网络系统中常用的身份认证技术主要有以下几种:用户名/密码方式:用户名/密码是最简单也是最常用的身份认证方法,是基于“what you know”的验证手段。

每个用户的密码是由用户自己设定的,只有用户自己才知道。

只要能够正确输入密码,计算机就认为操作者就是合法用户。

实际上,由于许多用户为了防止忘记密码,经常采用诸如生日、电话号码等容易被猜测的字符串作为密码,或者把密码抄在纸上放在一个自认为安全的地方,这样很容易造成密码泄漏。

即使能保证用户密码不被泄漏,由于密码是静态的数据,在验证过程中需要在计算机内存中和网络中传输,而每次验证使用的验证信息都是相同的,很容易被驻留在计算机内存中的木马程序或网络中的监听设备截获。

因此,从安全性上讲,用户名/密码方式一种是极不安全的身份认证方式。

智能卡认证:智能卡是一种内置集成电路的芯片,芯片中存有与用户身份相关的数据,智能卡由专门的厂商通过专门的设备生产,是不可复制的硬件。

智能卡由合法用户随身携带,登录时必须将智能卡插入专用的读卡器读取其中的信息,以验证用户的身份。

智能卡认证是基于“what you have”的手段,通过智能卡硬件不可复制来保证用户身份不会被仿冒。

然而由于每次从智能卡中读取的数据是静态的,通过内存扫描或网络监听等技术还是很容易截取到用户的身份验证信息,因此还是存在安全隐患。

动态口令:动态口令技术是一种让用户密码按照时间或使用次数不断变化、每个密码只能使用一次的技术。

第21讲--身份识别和零知识证明(密码学)

第21讲--身份识别和零知识证明(密码学)

交互证明与数学证明的区别
数学证明的证明者可自己独立的完成证明 交互证明由P产生证明,V验证证明的有效性来
实现,双方之间要有通信 交互系统应满足

完备性:如果P知道某一秘密,V将接收P的证明 正确性:如果P能以一定的概率使V相信P的证明, 则P知道相应的秘密
身份识别方案的要求
假设A和B是通信的双方,当A与B进行通信时, A首先要向B证明自己的身份。 一个安全的身份识别方案至少应该满足以下两 个要求: (1)A能向B证明自己的确是A (2)当A向B证明了自己的身份后,B得不到任何用 于模仿A的有用信息,B无法向第三方声称自己 是A.
零知识证明
设p和q是两个大素数,n=pq.假设P知道n的因 子.如果P想让V相信他知道n的因子,并且P不
ቤተ መጻሕፍቲ ባይዱ
想让V知道n的因子,则P和V可以执行怎样的
协议?
零知识证明
(1) V随机选取一个大整数x,计算 y=x4 modn V将结果y告诉P (2) P计算 Z= y modn P将结果z告诉V (3)V验证 z=x2 modn 是否成立. 上述协议可以重复执行多次,如果P每次都能正确地计 y modn,则V就可以相信P知道n的因子p和q. 算
(1) V站在A点;
(2) P进入洞中任一点C或D;
(3) 当P进洞之后,V走到B点; (4) V叫P从左边出来,或从右边出来; (5) P按要求实现(以咒语,即解数学难题帮助); (6) P和V重复执行 (1)~(5)共n次。
若P不知咒语,则在B点,只有50 %的机会猜中V的要 求,协议执行n次,则只有2-n的机会完全猜中,若n=16,则 若每次均通过V的检验,V受骗机会仅为1/65 536
零知识证明

现代密码学第9章:身份认证

现代密码学第9章:身份认证
《现代密码学》第9章
身份认证
1
本章主要内容
1、身份认证概述 2、相互认证 3、单向认证 4、身份的零知识证明技术 5、其他的身份认证密码协议 6、典型的认证应用
2
1.身份认证概述
为了保护网络资源及落实安全政策。需要提供可追究责任 的机制,这里涉及到三个概念:认证、授权及审计。
(1)认证Authentication:在做任何动作之前必须要有方 法来识别动作执行者的真实身份。认证又称为鉴别、确认。 身份认证主要是通过标识和鉴别用户的身份,防止攻击者 假冒合法用户获取访问权限。
称为单向认证。
11
2.1 相互认证的实现
A、B两个用户在建立共享密钥时需要考虑的核心问题 是保密性和实时性。为了防止会话密钥的伪造或泄露,会 话密钥在通信双方之间交换时应为密文形式,所以通信双 方事先就应有密钥或公开钥。第2个问题实时性则对防止消 息的重放攻击极为重要,实现实时性的一种方法是对交换 的每一条消息都加上一个序列号,一个新消息仅当它有正 确的序列号时才被接收。
(2)授权Authorization:授权是指当用户身份被确认合法 后,赋予该用户进行文件和数据等操作的权限。这种权限 包括读、写、执行及从属权等。
(3)审计Auditing:每一个人都应该为自己所做的操作负 责,所以在做完事情之后都要留下记录,以便核查责任。
3
用户对资源的访问过程
4
身份认证概述
28
Needham-Schroeder协议改进二
② B向KDC发出与A建立会话密钥的请求,表 示请求的消息包括B的身份、一次性随机数 NB以及由B与KDC共享的主密钥加密的数据 项。其中NB以后将与会话密钥一起以加密形 式返回给B以向B保证会话密钥的新鲜性,请 求中由主密钥加密的数据项用于指示KDC向 A发出一个证书,其中的数据项有证书接收 者A的身份、B建议的证书截止时间TB、B从A 收到的一次性随机数。

《密码学》教学大纲

《密码学》教学大纲

《密码学》教学大纲一、课程概述《密码学》是计算机科学、信息安全、数学等领域的一门综合性学科,涵盖了密码编码学、密码分析学、密钥管理等方面的知识。

本课程旨在让学生全面了解密码学的基本原理、方法和技术,掌握密码学在信息安全中的应用,并提高学生的密码学实践能力和创新思维。

二、课程目标1、理解密码学的基本概念、原理和数学基础知识,掌握密码编码学和密码分析学的基本方法。

2、掌握对称密码、非对称密码、哈希函数等常见密码体制的特点和实现原理,了解数字签名、消息认证码等应用密码学技术。

3、熟悉密码学在网络安全、数据保护等领域的应用,了解密码学的发展趋势和前沿技术。

4、培养学生的创新思维和实践能力,让学生能够根据实际需求设计和实现简单的密码学方案。

三、课程内容第一章密码学概述1、密码学的定义和历史发展2、密码学的应用领域和重要性3、密码学的分类和基本概念第二章密码编码学基础1、对称密码体制和非对称密码体制的特点和原理2、哈希函数和数字签名的概念和应用3、加密算法的设计原则和评估指标第三章对称密码体制1、数据加密标准(DES)的原理和应用2、国际数据加密算法(IDEA)的原理和应用3、分组密码和流密码的特点和实现方法第四章非对称密码体制1、RSA算法的原理和应用2、ElGamal算法和Diffie-Hellman密钥交换的原理和应用3、椭圆曲线密码学的原理和应用第五章哈希函数和数字签名1、SHA-1、SHA-256等常见哈希函数的原理和应用2、RSA数字签名算法的原理和应用3、其他数字签名方案的原理和应用,如DSA、ECDSA等第六章应用密码学技术1、数字证书和PKI系统的原理和应用2、消息认证码(MACs)和完整性校验算法的原理和应用3、零知识证明和身份基加密方案的概念和应用第七章密码分析学基础1、密码分析学的定义和重要性2、密码分析的基本方法和技巧,如统计分析、频率分析、差分分析等3、对称密码分析和非对称密码分析的特点和难点第八章密码管理基础1、密钥管理的概念和原则,如密钥生成、分发、存储、使用和销毁等2、密钥管理技术在企业和个人中的应用,如公钥基础设施(PKI)、加密磁盘等3、密码政策和安全意识教育的重要性。

《零知识证明》PPT课件

《零知识证明》PPT课件

过程中,B始终不能看到钥匙的样子,从而避
免了钥匙的泄露。
精选PPT
3
❖ 零知识证明实质上是一种涉及两方或更多 方的协议,即两方或更多方完成一项任务 所需采取的一系列步骤。零知识证明必须 包括两个方面,一方为证明者P,另一方 为验证者V。证明者试图向验证者证明某 个论断是正确的,或者证明者拥有某个知 识,却不向验证者透露任何有用的消息。 零知识证明目前在密码学中得到了广泛的 应用,尤其是在认证协议、数字签名方面。
精选PPT
14
❖ Goldwasser等人提出的零知识证明是交 互式的,也就是证明者和验证者之间必 须进行双向对话,才能实现零知识性, 因而称为交互零知识证明。
精选PPT
15
❖ 在交互零知识证明的研究中,目前受到关注的
有两种基本模型。一种是GMR模型,在这种模
型中,证明者具有无限的计算能力,验证者具
中心 TA 签名的有效性;
3、 验证者 B 选择一个随机整数 e Zb ,并将其发给识别者 A;
4、 识别者 A 计算 y rme mod n ,并将其发送给验证者 B;
5、 验证者 B 通过计算 X ve yb mod n 来验证身份信息的有效性。
可以看出,Guillou-Quisquater 身份认证协议的安全性与 RSA 公钥密码体
精选PPT
10
Hamilton回路零知识协议
❖ 许多计算上困难的问题可以用来构造零知识 协议。
❖ 在图论中,图 G中的回路是指始点和终点相 重合的路径,若回路通过图的每个顶点一次 且仅一次,则称图 G为哈密尔顿回路,构造 图 G的哈密尔顿回路是 NPC 问题。
精选PPT
11
❖ 假定 P知道图 G的哈密尔顿回路,并希望向 V证明这一事实,可采用如下协议:

零知识证明的定义和作用

零知识证明的定义和作用

零知识证明的定义和作用小伙伴们!今天咱来聊聊零知识证明这个挺有意思的玩意儿哈。

一、零知识证明的定义。

零知识证明呀,简单来说,就是一种特殊的证明方法。

想象一下哈,你想向别人证明你知道某个秘密,但是呢,你又不想把这个秘密具体内容透露出去,这时候零知识证明就派上用场啦。

打个比方吧,就好比你有一把神奇的钥匙,能打开一个特别的宝箱。

你想让别人知道你有这把钥匙,也就是你知道怎么打开宝箱,但你又不想把钥匙给别人看或者告诉别人钥匙长啥样。

那怎么办呢?通过零知识证明的方法,你可以在不展示钥匙的情况下,让别人相信你确实有打开宝箱的能力。

从专业一点的角度来讲呢,零知识证明是一种密码学技术。

它允许证明者在不向验证者透露任何有用信息的情况下,证明某个陈述是真实的。

就好像你在跟别人玩一个猜谜游戏,你能让对方相信你知道答案,但又不把答案直接告诉对方。

这种技术在很多领域都有很重要的应用哦。

二、零知识证明的作用。

1. 保护隐私。

这可是零知识证明一个超级重要的作用哈。

在当今这个信息爆炸的时代,隐私保护变得越来越重要啦。

比如说,你在网上进行一些交易或者登录某些平台的时候,平台可能需要验证你的身份或者确认你有没有某种权限。

传统的方法可能就需要你提供很多个人信息,像身份证号、密码啥的。

但是有了零知识证明,你就可以在不透露这些敏感信息的情况下,让平台相信你是合法的用户。

就好比你去住酒店,不用把家里的钥匙给前台看,就能证明你是这个房间的主人,是不是很酷呀?2. 增强安全性。

在网络安全方面,零知识证明也发挥着巨大的作用哦。

比如说,在区块链技术中,很多交易需要验证身份和交易的合法性。

如果使用传统的验证方法,可能会存在信息泄露的风险,黑客就有可能利用这些漏洞进行攻击。

但是零知识证明可以在不泄露交易细节的情况下,确保交易的合法性和安全性。

这就像是给你的交易上了一把隐形的锁,只有合法的人才能打开,其他人就算知道有这把锁,也不知道怎么开。

3. 提高效率。

零知识身份认证

零知识身份认证

4.零知识身份认证零知识证明(zero-knowledge proof)的思想是:证明者Peggy拥有某些知识(如某些长期没有解决的难问题的解决方法),零知识证明就是在不将该知识的内容泄露给验证者Victor的前提下,Peggy向Victor证明自己拥有该知识。

首先,我们看下面Peggy和Victor之间的一段对话:Peggy:“我可以对密文为C的消息进行解密。

”Victor:“我不相信。

请证明。

”Peggy(糟糕的回答):“密钥是K,您可以看到消息解密成了M。

”Victor:“哈哈!现在我也知道了密钥和消息。

”这里,Peggy虽然证明了自己拥有某些知识(密钥K及明文M),却向Victor 泄露了这些知识。

一个更好的对话是:Peggy:“我可以对加密为C的消息进行解密。

”Victor:“我不相信。

请证明。

”Peggy(好的回答):“让我们使用一个零知识协议,我将以任意高的概率证明我的知识(但是不会将关于消息的任何情况泄露给您)。

”Victor:“好”。

Peggy 和 Victor 通过该协议……可以使用洞穴例子来解释零知识,C和D之间存在一个密门,并且只有知道咒语的人才能打开。

Peggy知道咒语并想对Victor证明,但证明过程中不想泄露咒语。

图7.13 零知识洞穴步骤如下:(1)Victor站在A点;(2)Peggy一直走进洞穴,到达C点或者D点;(3)在Peggy消失在洞穴中之后,Victor走到B点;(4)Victor随机选择左通道或者右通道,要求Peggy从该通道出来;(5)Peggy从Victor要求的通道出来,如果有必要就用咒语打开密门;(6)Peggy和Victor重复步骤(1)至(5)n次。

如果Peggy不知道这个咒语,那么只能从进去的路出来,如果在协议的每一轮中Peggy都能按Victor要求的通道出来,那么Peggy所有n次都猜中的概率是1/2n。

经过16轮后,Peggy只有65536分之一的机会猜中。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

零知识证明
说明:
计算 y modn等价于对n进行因子分解.如 果P不知道n的因子p和q,则计算 y modn是 一个困难的问题.因此,如果P不知道n的因 子,则在多次重复执行上述协议的情况下, P每次都能正确地计算 y modn的概率是非 常小的。显然,在上述协议中,V没有得到 关于n的因子p和q的任何信息,因此上述协 议是一个零知识证明协议.
哈米尔顿回路
(1) A将G进行随机置换,对其顶点进行移动,并改变其标号得 到一个新的有限图 H 。因 G H ,故 G 上的Hamilton回路与 H 上的Hamilton回路一一对应。已知 G 上的Hamilton回路易于找 GH 出H上的相应回路; (2)A将H的复本给B; (3) B向A提出下述问题之一:(a) 出示证明G和H同构,(b) 出 示H上的Hamilton回路; (4) A执行下述任务之一:(a) 证明G和H同构,但不出示H上的 Hamilton回路,(b) 出示 H 上的Hamilton回路但不证明 G 和 H 同 构; (5) A和B重复执行 (1)~(4)共n次。
Guillou-Quisquater身份识别方案
在Guillou-Quisquater身份识别方案中,用户A需要一个证书,
证书中包含了经由TA签名的有关A的身份的一些信息,用户 A的证书由TA颁发.证书是公开的,TA向用户A颁发证书的 协议如下:
(1)TA建立用户A的身份并产生一个表示A身份的字符串ID(A) (2)A秘密选取一个与n互素的整数u(0≤u≤n-1).A计算 v=(u-1)b modn,并将v传送给TA
零知识证明
设p和q是两个大素数,n=pq.假设P知道n的因 子.如果P想让V相信他知道n的因子,并且P不
想让V知道n的因子,则P和V可以执行怎样的
协议?
零知识证明
(1) V随机选取一个大整数x,计算 y=x4 modn V将结果y告诉P (2) P计算 Z= y modn P将结果z告诉V (3)V验证 z=x2 modn 是否成立. 上述协议可以重复执行多次,如果P每次都能正确地计 y modn,则V就可以相信P知道n的因子p和q. 算
二、零知识证明
最小泄露证明和零知识证明:
以一种有效的数学方法,使V可以检验每 一步成立,最终确信P知道其秘密,而又 能保证不泄露P所知道的信息。
零知识证明的基本协议
例[Quisquater等1989] 。
A B
设P知道咒语, 可 打开C和D之间的秘 密门,不知道者 都将走向死胡同中。
C
D
零知识证明的基本协议
零知识证明的基本协议
说明: 在上述协议的执行过程中,V没有得到关于
识证明协议.
零知识证明的基本协议
哈米尔顿回路
图论中有一个著名问题,对有 n个顶点的全连通 图G,若有一条通路可通过且仅通过各顶点一次, 则称其为哈米尔顿回路。Blum[1986] 最早将其 用于零知识证明。当n大时,要想找到一条 Hamilton回路,用计算机做也要好多年,它是一 种单向函数问题。若A知道一条回路,如何使B相 信他知道,且不告诉他具体回路?
(3)TA产生签名
s=SigTA(ID(A),v),
并将证书C(A)=(ID(A),v,s)传送给A
Guillou-Quisquater身份识别方案
当A要向B证明自己的身份时,A和B执行下面的协议: (1)A随机选取整数k(0≤k≤n-1),然后A计算 r=kb modn (2)A将其证书C(A)=(ID(A),v,s)和r传送给B (3)B利用TA公开的签名验证算法来检验s是否为TA对 (ID(A),v) 的签名 (4)B随机选取整数t (0≤t≤b-1),B将t传送给A (5)A计算 y=kut modn,A将y传送给B (6)B验证 r=vt yb modn是否成立.如果上式成立则B接受A的身 份证明;否则拒绝A的身份证明.
第九章
身份识别和零知识证明
一、身份证明技术
传统的身份证明: 一般是通过检验“物”的有效性来确认 持该物的人身份。徽章、工作证、信用卡、 驾驶执照、身份证、护照等,卡上含有个 人照片(易于换成指纹、视网膜图样、牙 齿等)。 信息系统常用方式: 用户名和口令
交互式证明
两方参与 示证者P(Prover),知道某一秘密,使V相信 自己掌握这一秘密; 验证者V(Verifier),验证P掌握秘密;每轮V 向P发出一询问,P向V做应答。V检查P是否 每一轮都能正确应答。
(1) V站在A点;
(2) P进入洞中任一点C或D;
(3) 当P进洞之后,V走到B点; (4) V叫P从左边出来,或从右边出来; (5) P按要求实现(以咒语,即解数学难题帮助); (6) P和V重复执行 (1)~(5)共n次。
若P不知咒语,则在B点,只有50 %的机会猜中V的要 求,协议执行n次,则只有2-n的机会完全猜中,若n=16,则 若每次均通过V的检验,V受骗机会仅为1/65 536
交互证明与数学证明的区别
数学证明的证明者可自己独立的完成证明 交互证明由P产生证明,V验证证明的有效性来
实现,双方之间要有通信 交互系统应满足

完备性:如果P知道某一秘密,V将接收P的证明 正确性:如果P能以一定的概率使V相信P的证明, 则P知道相应的秘密
身份识别方案的要求
假设A和B是通信的双方,当A与B进行通信时, A首先要向B证明自己的身份。 一个安全的身份识别方案至少应该满足以下两 个要求: (1)A能向B证明自己的确是A (2)当A向B证明了自己的身份后,B得不到任何用 于模仿A的有用信息,B无法向第三方声称自己 是A.
Guillou-Quisquater身份识别方案
Guillou-Quisquater身份识别方案的安全
性主要是基于RSA公钥密码体制的安全性.
Guillou-Quisquater身份识别方案需要一
个可信当局,简称TA.
Guillou-Quisquater身份识别方案
参数的选取: (1)TA选取两个大素数p和q,计算n=pq,p和q保密, 而n公开. (2)TA选取一个大素数b作为安全参数,b公开,b所起 的作用相当于RSA公钥密码体制中的加密密钥,可 以防止攻击者模仿A. (3)TA选取一个Hash函数和一个签名方案. 假设TA的保密的签名算法为SigTA 。公开的签名验 证算法为VerTA .TA在对一个消息进行签名之前,首先 对消息做Hash变换,然后对Hash变换后的消息进行 签名。
相关文档
最新文档