密码学身份认证
基于密码学的身份证明技术研究

基于密码学的身份证明技术研究身份证明是现代社会中极其必要的一项技术。
无论是金融交易、电子商务、社交网络等领域,都需要对用户的身份进行验证。
而基于密码学的身份证明技术,也是目前应用最为广泛和安全可靠的一种身份验证手段。
基于密码学的身份证明技术如何实现身份验证呢?首先,我们需要了解密码学中的几个基本概念:密钥、加密算法、解密算法、数字签名等。
密钥是用来执行加密和解密操作的一组参数,可以分为对称密钥和非对称密钥。
对称密钥加密算法,指的是加密和解密使用同一组密钥,常见的算法有DES、AES等。
而非对称密钥加密算法,指的是加密和解密使用的是不同的密钥,常见的算法有RSA、ECC等。
在基于密码学的身份证明技术中,最重要的是数字签名。
数字签名是一种用来验证数字文档真实性和完整性的技术。
数字签名包含两部分,一部分是用哈希算法对文档内容进行处理,得到一个摘要值;另一部分是用私钥进行加密,以此证明文档的拥有者和文档内容未被篡改。
接收方可以用公钥进行解密,验证文档真实性和完整性。
当我们向网站等服务提供商注册账号时,一般都需要输入一些个人信息,例如姓名、电话、邮箱等。
这些信息,很可能会被黑客窃取并进行恶意使用,导致用户信息泄露、账号被盗等问题。
为此,现在越来越多的网站开始使用基于密码学的身份证明技术。
比如,一些网站开始采用双因素认证技术。
双因素认证是指同时使用密码和密码以外的认证方式来验证用户身份。
例如,手机短信验证码、生物认证等。
这种方法一方面加强了安全性,另一方面也方便用户快速登录。
而一些金融机构,则采用数字证书技术。
数字证书是一种将数字签名、公钥和个人身份信息相结合的技术,主要用于身份鉴别、数据加密以及电子签名等方面。
每个数字证书都包含一个公钥和一个私钥,私钥用于签名,以此证明身份,公钥则用于验证签名、解密和加密。
数字证书已被广泛应用于金融业、电子商务、政务机构和企业等领域。
综上所述,基于密码学的身份证明技术已成为现代社会中不可或缺的一种技术。
现代密码学第十讲身份鉴别协议(精)

31
挑战-应答身份鉴别协议
基于公钥加密的挑战-响应
单向认证:
r为随机数
双向认证:
r1, r2为随机数
32
挑战-应答身份鉴别协议
基于数字签名的挑战-响应
带时戳的单向认证:
certA,certB为公钥证书; SA,SB为私钥;
20
口令认证协议
5)一次口令(向强口令的过渡) 防止窃听和随后的口令重放(无时变参数) 解决办法:每个口令只用一次 变体:
一次口令的共享列表 顺序更新一次口令 基于单向函数的一次口令序列:
21
口令认证协议
一次口令的共享列表 用户和系统都同意一个口令列表。列表中的每一个口令只能使用一次。 首先,系统和用户都要保存一个长的口令列表。其次,如果用户不按次序使用口
6
身份鉴别的定义
身份鉴别的定义: 1、在诚实的情况下,声称者A能向验证者B
证明他确实是A; 2、在声称者A向验证者B声称他的身份后,
验证者B不能获得任何有用的信息,B也不 能模仿A向其他第三方证明他就是A。 3、任何不同于A的实体C以A的身份,让B相 信C是A的概率可忽略不计
7
身份鉴别的定义
用于实现身份识别的协议。
带随机数的单向认证:
带随机数的双向认证:
33
挑战-应答身份鉴别协议
3)基于零知识证明的挑战-应答
零知识(Zero-knowledge)(ZK)证明的起源
Alice:我知道肯德基的土豆泥的配方以及做法。 Bob:不,你不知道。 Alice:我知道。 Bob:你不知道。 Alice:我确实知道! Bob:请你证实这一点! Alice:好吧,我告诉你!(她悄悄地说出了土豆泥的秘方) Bob:太有趣了!现在我也知道了。我要告诉《华盛顿邮报》 Alice:啊呀!
数据安全中的身份认证技术

数据安全中的身份认证技术身份认证技术在数据安全中的作用在数字化时代,数据安全成为了人们关注的焦点。
随着互联网的快速发展,我们的个人信息和机密数据面临着越来越多的威胁。
身份认证技术作为数据安全的重要组成部分,扮演着保护和维护数据安全的重要角色。
本文将探讨身份认证技术在数据安全中的作用,并分析其在实际应用中的挑战与前景。
一、身份认证技术的定义及原理身份认证技术是指通过验证个人或实体的身份信息,确认其合法性并授权其访问特定资源或服务的技术手段。
其核心原理在于将一个人或实体的身份与其所持有的凭证信息进行比对和验证,如用户名和密码、生物特征信息(指纹、虹膜等)或硬件设备(智能卡、USB密钥等)等。
二、密码认证技术密码认证技术是目前最常用的身份认证技术之一。
其通过将用户输入的密码与预先存储的密码进行比对,确定用户的身份合法性。
密码认证技术的优点是简单易用,并且可以适用于各种场景,如个人电脑登录、网银操作等。
然而,密码认证技术也存在一些缺点。
首先,密码容易被猜测或遗忘,降低了安全性。
其次,用户往往倾向于使用一些简单易记的密码,增加了密码破解的可能性。
此外,密码认证技术的安全性还受到网络攻击技术的威胁,如暴力破解、字典攻击等。
三、生物特征认证技术生物特征认证技术是一种通过扫描和识别用户的生物特征信息来确认其身份合法性的技术手段。
目前常用的生物特征包括指纹、虹膜、面部识别等。
与密码认证技术相比,生物特征认证技术具有更高的安全性和便利性。
生物特征是唯一且不可伪造的,能够有效避免密码被猜测、遗忘或被盗用的问题。
此外,生物特征认证技术也更加便利,用户无需记忆密码,只需通过扫描指纹或面部即可完成身份认证。
然而,生物特征认证技术也存在一些问题。
首先,生物特征信息一旦泄露,将无法更改,可能会对用户的隐私和安全造成严重威胁。
其次,生物特征的识别和采集需要专门的设备和算法支持,增加了成本和复杂性。
四、多因素认证技术为了进一步提升身份认证技术的安全性,多因素认证技术应运而生。
密码学的研究内容

密码学的研究内容一、引言密码学是一门研究如何将信息以一种不能被未经授权者理解的方式进行编码、传输和存储的科学。
它是信息安全领域中至关重要的组成部分,涉及多个方面的研究内容。
本文将详细介绍密码学的主要研究内容,包括密码编码学、密码分析学、协议密码学、密钥管理学、身份认证与数字签名以及隐私保护等方面。
二、密码编码学密码编码学是密码学的一个分支,主要研究如何将信息进行加密,以保证其机密性和安全性。
通过对明文进行一系列的算法处理,生成无法理解的密文,只有在拥有解密密钥的情况下才能恢复原始信息。
密码编码学还包括对加密算法的优化和改进,以适应不同的应用场景和安全需求。
三、密码分析学密码分析学是密码学的另一个分支,主要研究如何对加密的信息进行破解和窃取。
密码分析学涉及对加密算法的深入理解和分析,通过分析密文和可能的密钥,尝试恢复出原始信息。
密码分析学对于评估加密算法的安全性、发现其潜在的弱点以及促进加密算法的改进和发展具有重要意义。
四、协议密码学协议密码学主要研究如何设计和分析安全协议,以确保协议参与方之间的安全通信和数据交换。
安全协议涉及多个步骤和操作,包括密钥交换、身份认证、数据完整性保护等。
协议密码学关注如何通过密码技术来保证协议的安全性,以及如何发现和纠正协议中的安全漏洞。
五、密钥管理学密钥管理学是密码学中关于密钥生成、存储、分发和使用的研究领域。
在加密通信中,只有拥有正确的密钥才能解密密文并获取明文信息。
因此,密钥管理对于保证通信安全至关重要。
密钥管理学涉及如何安全地生成和管理密钥,以及如何确保密钥在分发和使用过程中的安全性和可靠性。
六、身份认证与数字签名身份认证与数字签名是密码学在实践中广泛应用的技术。
身份认证技术用于验证通信参与方的身份,防止假冒攻击;数字签名技术用于验证信息的完整性和来源,防止信息被篡改或伪造。
这些技术对于保障电子交易、电子政务和电子商务等领域的安全性具有重要意义。
七、隐私保护隐私保护是密码学的一个重要研究方向。
密码学应用

密码学是一门研究加密和解密技术的学科,广泛应用于网络安全、数据保护、金融、军事等领域。
以下是一些密码学应用的举例:
数据加密:密码学可用于对敏感数据进行加密,保护数据的机密性和隐私性。
例如,通过使用对称加密算法,可以将数据加密,只有授权的人才能解密和查看数据。
数字签名:数字签名可以用来验证文件的完整性和真实性。
数字签名是基于公钥密码学的技术,它使用数字证书来证明签名的有效性。
身份认证:密码学可用于验证用户的身份。
例如,通过使用基于令牌的身份验证,用户必须提供一个唯一的标识符来访问系统。
安全通信:密码学可以确保通信的安全性,包括保证通信内容的机密性和完整性。
例如,通过使用SSL / TLS协议,可以对网络通信进行加密和解密,从而保证通信的安全性。
数字货币:密码学技术也可用于实现数字货币和区块链技术。
区块链技术通过使用密码学算法来保证交易的真实性和安全性,从而实现去中心化和匿名化的交易。
总的来说,密码学技术是现代信息时代中必不可少的技术,它可以保护个人隐私,防止数据泄漏和网络攻击,促进信息交流和数字经济的发展。
密码学中的身份认证与加密算法研究

密码学中的身份认证与加密算法研究密码学是一门关于信息安全的学科,主要以研究加密算法为主,而身份认证则是确保通信双方的身份真实性的过程。
在现代互联网的世界中,密码学中的身份认证与加密算法的研究具有重要的意义。
本文将分别对密码学中的身份认证和加密算法进行探讨,以及对两者在信息安全领域的应用进行研究。
身份认证是指通过一系列的过程和方法,来确认一个实体的身份真实性。
在密码学中,当一个用户或实体想要访问系统、网络或应用程序时,需要进行身份认证以验证其身份。
常见的身份认证方式包括口令认证、生物特征认证以及数字证书认证等。
口令认证是最常用的一种身份认证方式。
用户通过输入用户名和与之对应的密码来进行身份验证。
然而,传统的口令认证并不是完全安全的,因为密码往往容易被猜测、遗忘或被盗。
为了增强口令认证的安全性,研究者们提出了一些改进的方法,如双因素认证,以及使用动态口令或者一次性口令等。
生物特征认证是指通过个体的生物特征来验证其身份的方式。
常用的生物特征包括指纹、虹膜、面部识别等。
由于每个人的生物特征都是独一无二的,因此生物特征认证具有较高的准确性和安全性。
然而,生物特征的采集和处理要求相对复杂,且依赖于硬件设备的支持,因此在实际应用中存在一定的限制。
数字证书认证是一种基于公钥加密技术的身份验证方式。
数字证书是一种由认证机构颁发的电子文档,用于验证证书持有者的身份信息。
数字证书包含了证书持有者的公钥以及认证机构的数字签名,用于验证证书的合法性。
通过验证数字证书的真实性和完整性,可以确保通信双方的身份真实性。
在密码学中,加密算法主要用于保护通信内容的机密性。
加密算法通过对信息进行加密转换,使得未经授权的第三方无法获取其中的明文信息。
常见的加密算法包括对称加密算法和非对称加密算法。
对称加密算法是指发送方和接收方使用相同的密钥进行加密和解密的算法。
对称加密算法的速度较快,适用于大规模数据的加密和解密过程。
然而,对称加密算法的安全性依赖于密钥的安全性,密钥的管理和分发困难。
网络安全基础知识

网络安全基础知识网络安全在数字化时代的重要性愈加凸显,安全意识和知识已经成为每个人必须具备的能力和素质,这也成为企业培训和教育中必须重视的一部分。
网络安全基础知识,是指人们在使用互联网的同时所必须了解的基本概念和技能,这些知识对于促进安全使用互联网,保护个人或企业信息资产安全具有重要意义。
在这篇文章中,我们将从以下五个方面介绍网络安全基础知识,分别是密码学、网络攻击和防御、安全协议、网络分层和身份验证。
一、密码学密码学是研究如何防止信息被非法获取或更改的科学,在网络安全中起着重要作用。
加密是密码学最常用的技术手段,一般的加密流程分为两个过程,加密和解密。
在加密过程中,通过对明文进行加密操作,得到密文,而在解密过程中,则是对密文进行还原,得到加密前的明文。
目前在加密中最常用的方式是对称密钥加密和公私钥加密。
对称密钥加密是指加解密使用相同的密钥,常用的对称密钥算法有DES、AES等。
而公私钥加密则是加解密使用不同的密钥,常用的公私钥算法有RSA等。
对于任何一种加密算法,在进行介绍之前,都需要搞清楚安全性、开销以及应用场景。
二、网络攻击和防御网络攻击是指对网络或网络设备进行恶意攻击的行为。
网络攻击的类型通常包括黑客攻击、DDoS攻击、钓鱼、木马病毒等。
黑客攻击是指利用漏洞入侵网络,获取被侵入网络的敏感信息的过程。
DDoS攻击是指网络攻击中最常见的一种攻击方式之一,简单来说就是同时向网络或者网站发布上亿甚至更高数量级的请求,导致服务器崩溃。
钓鱼是指通过网络等手段,伪装成常见或令人信任的单位或个人,目的是欺骗受骗者,使其主动提供敏感信息。
木马病毒是指通过隐藏在一个吸引受害者的安装程序中,向电脑、手机或其他设备传输恶意代码,从而操纵或控制设备。
对于网络安全防御,主要是采取措施采取物理隔离、身份认证、访问控制、数据加密、应用协议的安全策略等方面的防护措施进行防范。
其中物理隔离、访问控制、数据加密等方式是通过硬件手段来完成的,比如通过防火墙、入侵检测、网关访问控制等实现。
双因素认证_动态密码_动态令牌

双因素认证基本原理双因素认证是密码学的一个概念,从理论上来说,身份认证有三个要素:第一个要素(所知道的内容):需要使用者记忆的身份认证内容,例如密码和身份证号码等。
第二个要素(所拥有的物品):使用者拥有的特殊认证加强机制,例如动态密码,IC卡,磁卡等。
第三个要素(所具备的特征):使用者本身拥有的惟一特征,例如指纹、瞳孔、声音等。
单独来看,这三个要素中的任何一个都有问题。
“所拥有的物品”可以被盗走;“所知道的内容”可以被猜出、被分享,复杂的内容可能会忘记;“所具备的特征”最为强大,但是代价昂贵且拥有者本身易受攻击,一般用在顶级安全需求中。
把前两种要素结合起来的身份认证的方法就是“双因素认证”。
由于需要用户身份的双重认证,双因素认证技术可抵御非法访问者,提高认证的可靠性。
简而言之,该技术降低两大风险:来自外部非法访问者的身份欺诈和来自内部的更隐蔽的网络侵犯。
基于动态密码技术的双因素认证动态密码是根据专门的算法生成一个不可预测的随机数字组合,每个密码只能使用一次。
系统采用的第1要素是只有使用者知道的内容,即静态密码;第2要素是只有使用者才拥有令牌,令牌产生动态密码,密码是变化的,且只能使用一次。
令牌可被设计成多种样式,便于用户携带,当用户输入口令时,可先输入记忆中的静态密码,再输入自己掌握的令牌上生成的动态密码。
每个用户都有一个与众不同的、唯一的身份标志的秘密信息——密钥。
令牌被发放给用户时,已经进行了初始化,它存储着用户密钥等参数,同时在认证中心服务器上也存储着每个用户的密钥等信息,令牌和认证服务器所产生的密码在时间上同步。
用户登录时使用的密码,就是由固化在令牌上的变换函数产生的。
在认证服务器上,也有一个使用相同变换函数的密码生成模块,该模块利用系统数据库中的相应用户信息计算出用户当前的正确密码,若登录密码 = 计算出的当前密码,系统判定正在登录的用户为授权用户;否则,即为非授权用户。
动态令牌动态密码生成终端,令牌会产生一个随机但专用于某个用户的动态口令,一般每60秒该动态口令就会自动更新一次,其数字只有对指定用户在特定的时刻有效,具有更高安全性,用户的密码+令牌的动态口令,使得用户的电子身份很难被模仿、盗用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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的身份,并产生会话密钥供双方通信 使用,认证会话在认证结束后自动销毁
补.3 身份认证的实现── Kerberos认证协议
为TCP/IP设计的第三方认证协议 由可信第三方提供开放式系统中客户(Client)与 服务器(Server)之间的认证服务 由麻省理工学院MIT的Athena(雅典娜)计划 课题组开发,系整个计划的一部分 Greek Kerberos: 希腊神话故事中一种三头蛇尾 狗,是地狱之门的守卫 采用DES等对称密码 最常用的是第4、5版(V4、V5) 2004年9月3日MIT已承认Kerberos认证系统存 在潜在的拒绝服务缺陷。目前已经发布了矫正 缺陷的补丁程序;而随后发布的Kerberos51.35已包括修复程序
例2:钱琪要向王雪梅证明自己拥有某个房间 的钥匙,假设该房间只能用该钥匙打开,而其 他任何方法都打不开。钱琪有两种证明方式: ①钱琪把钥匙交给王雪梅,王雪梅用这把钥匙 打开该房间,从而证明钱琪拥有该房间的钥匙。 ──基于知识的证明 ②王雪梅确定该房间内有某一物体,钱琪用自 己拥有的钥匙打开该房间的门,然后把物体拿 出来出示给王雪梅,从而证明自己确实拥有该 房间的钥匙,但王雪梅始终不能看到钥匙的样 子,从而避免了钥匙的泄露。──零知识证明
其中KU、KR分别是KDC的公钥、私钥; KUa和 KRa 、KUb和KRb 分别是A、B的公钥和私钥
A、B都向KDC索要对方的公钥,并用对方能否 解密用其公钥加密的消息来证明对方的身份
补.2.2 单向认证协议
1. 基于对称密码的单向(A向B证明)认证协议 1) A→B : IDA || N1 2) B→A : EKab[Ks || IDB || f(N1) || N2] 3) A→B : EKs[f(N2 )] 其中Kab是A、B的共享密钥
3. 实例:
钱琪(C)要在某宾馆的餐厅就餐,向大堂经理王雪 梅(AS)提出就餐申请,王雪梅认证其身份后给他一 张介绍信(TGT),让他去找餐厅经理程嘉(TGS)。 钱琪凭介绍信向程嘉请求餐厅服务员雷蕾(S)为他 提供就餐服务,程嘉验证其介绍信后给他一张对应 雷蕾的就餐证(SGT),让他直接找雷蕾; 钱琪凭就餐证向雷蕾提出就餐服务,雷蕾验证其就 餐证后给他回应,让他准备就餐。 注:钱琪若再次请求雷蕾为其服务,直接用原有就 餐证(SGT)即可,不必再找程嘉;钱琪若改变请求 要黄素娟为其服务,则需向程嘉请求一张对应黄素 娟的就餐证(SGT);而钱琪若改变请求要住宿,则 必需重新向王雪梅提出申请,王雪梅重新认证后让 他去找客房经理徐成城……
《信息安全技术》 补充: 身份认证
“身份认证”也称“身份鉴别”
──证实主体的真实身份与其声称 的身份是否相符
以密码理论为基础 是访问控制和审计的前提 通过特定的协议和算法实现
补.1 身份认证基础
补.1.1 物理基础
1. 用户知道什么(What you know)──密 码、口令、序列号、特定知识等 2. 用户拥有什么(What you have) ──身 份证、护照、通行证、门禁卡等 3. 用户是谁 (Who are you) ──指纹、 脸型、虹膜、声纹、DNA、笔迹等 生物特征
例3:王雪梅拥有钱琪的公钥,但没有见过钱 琪,而钱琪见过王雪梅的照片,偶然一天两人 见面了,钱琪认出了王雪梅,但王雪梅不能确 定面前的人是否是钱琪,这时钱琪要向王雪梅 证明自己是钱琪,也有两种证明方法: ①钱琪把自己的私钥给王雪梅,王雪梅用这个 私钥对某个数据加密,然后用钱琪的公钥解密, 如果正确,则王雪梅证实对方是钱琪,但钱琪 不情愿地泄漏了自己的私钥。 ──基于知识的 证明 ②王雪梅给出一个随机值,钱琪用自己的私钥 对其加密,然后把加密后的数据交给王雪梅, 王雪梅用钱琪的公钥解密,如果能够得到原来 的随机值,则证明对方是钱琪,但王雪梅并未 得到钱琪的私钥。 ──零知识证明
补.1.2 数学基础
1. 基于知识的证明──P为了向V证明自己知道什么 信息,说出或无意透露出得到该信息的某些知识 2. 零知识证明──P使V确信自己知道什么信息,但 却不泄露任何与得到该信息相关的知识 例1:钱琪向雷蕾声称他知道程嘉的偶像是谁, 雷蕾表示不信,钱琪有两种证明方式: ①钱琪不得已说出是章子怡,于是在让雷蕾相 信的同时也让她知道了这一信息──基于知识 的证明 ②钱琪让程嘉作证,于是雷蕾相信了,但雷蕾 仍不知程嘉的偶像是谁──零知识证明
4. 票据与鉴别码
1) 票据(Ticket) ──发送方向接收方证明自己身份或 拥有某种授权的凭证 ① 票据许可票据TGT(Ticket Granting Ticket) ──C向TGS证明身份并请求授权的凭证(也 称“用户票证”),记作:
其中:
Tc,tgs =EKtgs[IDc,IDtgs ,Kc,tgs,a,v,t]
4. 防重放的方法之一──时间戳(Time Stamp) 1) “时戳”──代表当前时刻的数 2) 基本思想──A接收一个消息当且仅当其包含 一个对A而言足够接近当前时刻的时戳 3) 原理──重放的时戳将相对远离当前时刻 4) 时钟要求──通信各方的计算机时钟保持同步 5) 处理方式──设置大小适当的时间窗(间隔), 越大越能包容网络传输延时,越小越能防重 放攻击 6) 适用性──用于非连接性的对话 (在连接情 形下双方时钟若偶然出现不同步,则正确的 信息可能会被误判为重放信息而丢弃,而错 误的重放信息可能会当作最新信息而接收)
其中Ka、Kb分别是KDC与A、B的共享密钥,M是 A给B的消息本身
优点:无需双方同时在线,消息传递与认证同时进行
缺点:B在第3)步易受重放攻击
3. 基于公钥密码的单向认证协议 A→B : EKUb[Ks] || EKs[M || EKRa[H(M)]] B收到后用私钥解密出会话密钥, 然后用会话密钥解密出消息和A用 其私钥对消息的签名并进行验证, 从而确认A的身份。
ห้องสมุดไป่ตู้ 补.1.3 协议基础
1. 身份认证协议的类型 双向认证协议 单向认证协议 基于对称密码的认证协议
基于公钥密码的认证协议
双方直接认证协议 基于第三方的认证协议
2. 通过会话密钥(用于下次认证通信的对称 密钥)提供认证协议的安全性 3. 重放攻击──C用截获得的A已用过的认证 信息假冒A与B建立通信 典型例子:A与B建立认证会话时,C 通过窃听获得A发给B的认证信息M; 在A、B结束通信后,C用M冒充A与B 建立认证会话,使B信以为真,然后与 C进行通信。
补.2 身份认证协议 补.2.1 双向认证协议
1. 基于对称密码和可信第三方的双向认证协议 N-S协议(由Roger Needham和Michael Schroeder 发明):
1) A→KDC : IDA || IDB || N1 2) KDC→A : EKa[Ks || IDB || N1 || EKb[Ks || IDA ]] 3) A→B : EKb[Ks || IDA ] 4) B→A : EKs [N2] 5) A→B : EKs[f(N2 )]
缺点:双方都必须同时在线并等待对方的回答
2. 基于对称密码和第三方的单向认证协议 1) A→KDC : IDA || IDB || N1 2) KDC→A : EKa[Ks || IDB || N1 || EKb[Ks || IDA]] 3) A→B : EKb[Ks || IDA] || EKs [M]
③ 客户C发到TGS的鉴别码: Ac,tgs=EKc,tgs[IDc, a, t, key ],其中: Kc,tgs是系统为C、TGS产生的会话密钥 t是时戳 a是C的地址 key是可选的附加会话密钥 ④ 客户C发到服务器S的鉴别码 Ac,s=EKc,s[IDc, a, t, key ],其中: Kc,s是系统为C、S产生的会话密钥 其余同上
Kc,tgs是系统为C、TGS产生的会话密 钥 Ktgs是TGS的密钥 a是C的地址 v是会话密钥的生存周期(时间窗) t是时戳