首页 百科知识 身份认证的协议

身份认证的协议

时间:2022-06-17 百科知识 版权反馈
【摘要】:4.2.3 身份认证的协议认证协议用来对与系统有关的被验证方和系统本身之间的与验证有关的数据通信进行管理,同时还要依靠验证决策。Kerberos协议是以认证服务器、Ticket散发服务器、客户机及应用服务器的服务等四方模型为基础,并假设服务器都是在安全的环境下进行。

4.2.3 身份认证的协议

认证协议用来对与系统有关的被验证方(通常是指客户端系统)和系统本身之间的与验证有关的数据通信进行管理,同时还要依靠验证决策(通常是指服务器的验证决策)。认证协议一般是建立在通信协议环境之上,如网络层协议或应用层协议。

一个安全的身份识别协议至少应满足以下两个条件:①识别者A能向验证者B证明他的确是A;②在识别者A向验证者B证明他的身份后,验证者B不能获得A的任何有用信息,B不能模仿A向第三方证明他是A。

目前已经设计出了许多满足上述两个条件的认证机制,主要有以下四类:一次一密机制;公钥认证体系;Kerberos认证系统;零知识身份识别协议。

1.一次一密机制

一次一密机制主要有两种实现方式。

(1)采用请求/应答方式(Challenge/Response)。第一种方法是用户登录时系统随机提示一条信息,用户根据这一信息连同其个人化数据共同产生一个口令字,用户输入这个口令字,完成一次登录过程,或者用户对这一条信息实施数字签名并发送给验证者AS进行鉴别;第二种方法采用时钟同步机制,即根据这个同步时钟信息连同其个人化数据共同产生一个口令字。这两种方案均需要验证者AS也产生与用户端相同的口令字(或检验用户签名)用于验证用户身份。

(2)询问-应答式协议。其基本观点是:验证者提出问题(通常是随机选择一些随机数,称作口令),由识别者回答,然后验证者验证其真实性。目前已经设计出了许多询问-应答式协议,比如Schnorr身份识别协议、Okanmto身份识别协议、Guillou Quisquater身份识别协议和基于身份的识别协议等。

2.X.509认证协议

国际标准组织CCITT建议使用X.509作为X.500目录检索服务的一部分。X.500是对于分布式网络中储存用户信息的数据库所提供的目录检索服务的协议标准,而X.509是利用公钥密码技术对X.500的服务所提供的认证服务的协议标准。此外,X.509也利用公钥密码技术对通信的双方规定了三种识别方法。

X.509的最初版本发表于1988年,1993年做了第一次修改,1997年做了第二次修改。X.509使用了公钥密码技术和数字签名技术,但却没有对某些特定密码方法采取任何规定,X.509中使用的数字签名也同时需要杂凑函数与之同时配合使用。

X.509对每个用户选择的公钥提供所谓的“证书”。用户的证书是由可信的证书机构(CA)产生,并存放于X.500目录之中。

X.509对用户的识别规定了三种不同的方法。这些识别方法都使用了公钥密码技术,同时也假定双方都已从目录中或都已交换了双方的证书。这三种方法分别是单向识别、双向识别和三向识别。

3.Kerberos认证协议

Kerberos认证协议是由MIT开发的网络认证系统,采用了密码技术和可信第三方,保护认证的正确。Kerberos并不是一个完整的安全方案,它自身并不提供一个完整的安全环境,但Kerberos是建造安全网络的一个配件,为实现安全网络环境提供认证机制和加密手段。

Kerberos协议是以认证服务器、Ticket散发服务器、客户机及应用服务器的服务等四方模型为基础,并假设服务器都是在安全的环境下进行。Kerberos认证过程大致如下:

(1)客户向认证服务器发送请求,需要某应用服务器服务的证书;认证服务器响应请求,发给用客户的密钥加密的证书。证书包括服务器的票(Ticket)和会话密钥(暂时用于加密的)。

(2)如果客户得到的Ticket是Ticket散发服务器的,客户机必须再向Ticket散发服务器换取应用服务器的Ticket;客户机将应用服务器的Ticket(由客户的标识、会话密钥的拷贝等组成,并经过应用服务器的密钥加密)送往应用服务器。

(3)应用服务器和客户机拥有了同一个会话密钥后,就可以用于它们之间的认证和加密了。上述过程如图4-7所示。

图4-7 Kerberos认证过程

自从MIT在它的Athena项目中开发出了Kerberos身份认证系统以来,Kerberos认证系统就一直在Unix系统中被广泛地采用。常用的有两个版本:第4版和第5版,其他的是内部版本。其中版本5更正了版本4中的一些安全缺陷,并已经发展为Internet提议标准(RFC 1510)。Microsoft公司在其最近推出的Windows2000中也实现了这一认证系统,并作为它的默认的认证系统。

4.零知识身份识别

使用零知识证明来做身份证明最先是由Uriel Feige、AMOS Fiat和Adi Shamir提出的。通过使用零知识证明,用户能够证明他知道他的私钥,并由此证明他的身份。

零知识的基本思想是:证明者P掌握某些秘密信息,P想让认证方V相信他确实掌握那些信息,但又不想让V也知道那些信息(如果连V都不知道那些秘密信息,第三者想盗取那些信息当然就更难了)。

被认证方P掌握的秘密信息可以是某些长期没有解决的猜想问题的证明(如费尔玛最后定理、图的三色问题),也可以是缺乏有效算法的难题解法(如大数因式分解等)。信息的本质是可以验证的,即可通过具体的步骤来检测它的正确性。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈