一种多服务器架构下的认证和密钥协商方法技术

技术编号:18674531 阅读:77 留言:0更新日期:2018-08-14 21:33
本发明专利技术公开的一种多服务器架构下的认证和密钥协商方法,包括以下步骤:1)系统建立;2)用户向注册中心注册;3)用户向服务器发送登录请求;4)用户和服务器进行认证和密钥协商。本发明专利技术的有益效果在于:本发明专利技术能够实现单次注册、多点登录等功能,且认证和密钥协商过程不需要注册中心参与,其次,本发明专利技术能够实现用户的匿名性,服务器无法获取用户的身份,很好地保护了用户的隐私,同时,本发明专利技术实现了和不同服务器之间认证的不可链接性,攻击者不能从用户和多个服务器之间的登录请求消息中建立联系,最后,利用本发明专利技术可以实现增加服务器只需注册中心和新增服务器通信,而无需用户任何操作。

A method of authentication and key agreement based on multi server architecture

The invention discloses a multi-server authentication and key agreement method, which comprises the following steps: 1) system establishment; 2) user registration to the registry; 3) user sending a login request to the server; 4) user and server authenticating and key agreement. The invention has the advantages that the invention can realize the functions of single registration and multi-sign-on, and the authentication and key agreement process does not require the participation of the registration center. Secondly, the invention can realize the anonymity of the user, the server can not obtain the identity of the user, and the privacy of the user is well protected. At the same time, the invention realizes the anonymity of the user. The authentication between different servers is not linkable, and the attacker can not establish a connection from the login request message between the user and multiple servers. Finally, the invention can realize that the additional server only needs the registry and the additional server to communicate without any user operation.

【技术实现步骤摘要】
一种多服务器架构下的认证和密钥协商方法
本专利技术属于计算机和信息安全
,具体涉及一种多服务器架构下的认证和密钥协商方法,可实现用户用于登录认证和密钥协商的数据存储量不随服务器数量增加而增加,同时实现无法对用户的登录认证和密钥协商行为进行跨服务器链接。
技术介绍
随着信息技术和互联网技术的广泛发展,网络中向外提供服务的服务器日益增加。在一般的服务器体系中,由许多服务和功能不同的服务器组成。用户在登录服务器时,需要进行认证和密钥协商。多服务器架构下,一般由用户、注册中心RC以及服务器等三方组成。用户向注册中心RC进行单次注册,可在多服务器上进行匿名登录是在多服务器架构下的认证和密钥协商过程中重要的特性。另外,在保持用户和多服务器之间高效认证和密钥协商过程中,应防止服务器假冒攻击、智能卡丢失攻击、窃听攻击和重放攻击等等一系列的恶意攻击。文献《多服务器架构下认证和密钥协商协议》发表于《计算机研究与发展》2016年11月第53卷11期,提出了一种多服务器架构下的高效的认证和密钥协商方法,并能抵抗服务器假冒攻击、智能卡丢失攻击、窃听攻击和重放攻击等安全威胁。但这种做法存在以下一些缺点:1、没有达到不可链接性。用户的登录请求消息中包含有常参数,任意第三方可以根据常参数来去确定登录请求属于同一用户,并就此建立用户行为的链接。从而,运用大数据分析技术得出用户的隐私信息等。2、用户需要保存的用于登录认证和密钥协商的数据量和服务器的数量成线性关系。这不仅增加了对用户的存储空间要求,而且,如果服务器需要增加,用户将必须再次和注册中心RC联系更新数据。由此可见,解决上述问题是多服务器架构下认证和密钥协商过程中亟需解决的技术问题。为此,申请人进行了有益的探索和尝试,找到了解决上述问题的办法,下面将要介绍的技术方案便是在这种背景下产生的。
技术实现思路
本专利技术所要解决的技术问题在于:针对现有的多服务器架构下考虑用户和多服务器之间认证和密钥协商过程中存在:1、用户在此过程中被任意服务器、其他用户或者其他恶意的攻击者进行跨服务器行为链接的问题;2、用户存储的用于登录认证和密钥协商的数据量和服务器的数量成线性关系,服务器增加时更新困难的问题,故提供一种多服务器架构下的认证和密钥协商方法,来解决上述问题。本专利技术所解决的技术问题可以采用以下技术方案来实现:一种多服务器架构下的认证和密钥协商方法,包括以下步骤:步骤1:系统建立系统建立时,选定密码学安全的hash函数h,选定安全的密钥导出函数KDF,并公开选定的函数,注册中心RC选择随机数x和y作为自己的主密钥;步骤2:用户向注册中心RC注册用户Ui选择身份IDi,口令PWi,提取生物特征值BIOi,并计算Pi=h(PWi||BIOi),然后通过安全信道向注册中心RC提交身份IDi和Pi;注册中心RC收到IDi和Pi以后,计算Ai=h(IDi||x),Ci=h(IDi||h(x)||Pi)和并将存储了参数h(x)、h(y)、Ci和Di的智能卡安全地提交给用户Ui,注册中心RC安全存储Ai;每个服务器Sj选择身份SIDj并公开,注册中心RC计算Zj=h(h(y)||SIDj),并按每个用户Ui计算Xij=h(Ai||SIDj)和Yij=h(Ai||Xij),并将参数Xij、Yij和Zj通过安全信道提交给服务器Sj,参数Xij和Yij一一对应存储;步骤3:用户登录当用户Ui试图登录服务器Sj时,插入用户智能卡,输入自己的身份IDi、口令PWi,提取生物特征值BIOi,智能卡计算Pi=h(PWi||BIOi)并验证h(IDi||h(x)||Pi)=Ci是否成立;如果成立,则用户Ui的合法性得到确认,如果不成立,则终止执行;用户Ui的合法性得到确认后,智能卡计算产生一个随机数N1,计算Xij=h(Ai||SIDj),Yij=h(IDi||Xij),M1=h(h(Ai||N1)||Yij||N1),和并将登录请求Gij、Hij、AIDij和M1发送给服务器Sj;步骤4:认证和密钥协商收到用户Ui的登录请求后,服务器Sj计算和然后根据Yij确定对应的Xij,计算和并计算验证h(h(Ai||N1)||Yij||N1)=M1是否成立;如果成立,则用户Ui的合法性得到确认;如果不成立,则终止执行;用户Ui的合法性得到确认后,服务器Sj产生一个随机数N2,计算返回信息M2和M3给用户端智能卡,同时,服务器Sj计算计算指定长度的会话密钥SK=KDF(N1||N2||Yij||SIDj);用户端智能卡收到信息M2和M3后,计算并验证是否成立;如果成立,则计算指定长度的会话密钥SK=KDF(N1||N2||Yij||SIDj),并计算发送给服务器Sj;如果不成立,则终止运行;服务器Sj检查是否成立;如果成立,即用户Ui和服务器Sj经过交互认证后协商得到会话密钥SK,用于接下来的通信加密;如果不成立,则终止运行。在本专利技术的一个优选实施例中,还包括:步骤5:用户口令修改用户Ui需要将口令PWi修改为PWi'时,插入他的智能卡,输入自己的身份IDi、口令PWi,提取生物特征值BIOi;智能卡计算Pi=h(PWi||BIOi)并验证h(IDi||h(y)||Pi)=Ci是否成立;如果成立,则智能卡提醒用户输入新口令PW′i;如果不成立,则终止执行;用户输入新口令PW′i后,智能卡计算C′i=h(IDi||h(y)||Pi'),并用C′i和D′i分别替换智能卡中的Ci和Di。在本专利技术的一个优选实施例中,在所述步骤1中,服务器数量固定,注册中心RC无需为用户Ui安全存储Ai。由于采用了如上的技术方案,本专利技术的有益效果在于:1、单次注册、多点登录等功能。用户只要向注册中心注册一次,就可以在多个认可该注册中心的服务器上进行认证登录,且用户和服务器之间的认证和密钥协商过程完全不需要注册中心参与,减小通信开销;2、实现用户的匿名性。任意服务器、其他用户或者其他恶意的攻击者都无法获取用户的身份,很好地保护了用户的隐私;3、实现了和不同服务器之间认证的不可链接性。任意服务器、其他用户或者其他恶意的攻击者都不能从用户和多个服务器之间的登录请求消息中建立联系,即无法分析出每个用户在不同服务器之间的行为;4、用户存储数据量为常数。用户用于登录认证和密钥协商的数据量不与服务器的数量成线性关系,有利于减少用户的存储开销。因此,当需要增加服务器时,只需注册中心和新增服务器通信,而无需用户任何操作。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术所述方法的系统框架图。图2是本专利技术所述方法的流程框图。具体实施方式为了使本专利技术实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本专利技术。参见图1和图2,图中给出的是本专利技术的一种多服务器架构下的认证和密钥协商方法,包括以下步骤:步骤101,系统建立在本实施例中,选定SM3算法作为hash函数h,并利用SM3算法构造密钥导出函数KDF,并公开选定的函本文档来自技高网
...

【技术保护点】
1.一种多服务器架构下的认证和密钥协商方法,其特征在于,包括以下步骤:步骤1:系统建立系统建立时,选定密码学安全的hash函数h,选定安全的密钥导出函数KDF,并公开选定的函数,注册中心RC选择随机数x和y作为自己的主密钥;步骤2:用户向注册中心RC注册用户Ui选择身份IDi,口令PWi,提取生物特征值BIOi,并计算Pi=h(PWi||BIOi),然后通过安全信道向注册中心RC提交身份IDi和Pi;注册中心RC收到IDi和Pi以后,计算Ai=h(IDi||x),Ci=h(IDi||h(x)||Pi)和

【技术特征摘要】
1.一种多服务器架构下的认证和密钥协商方法,其特征在于,包括以下步骤:步骤1:系统建立系统建立时,选定密码学安全的hash函数h,选定安全的密钥导出函数KDF,并公开选定的函数,注册中心RC选择随机数x和y作为自己的主密钥;步骤2:用户向注册中心RC注册用户Ui选择身份IDi,口令PWi,提取生物特征值BIOi,并计算Pi=h(PWi||BIOi),然后通过安全信道向注册中心RC提交身份IDi和Pi;注册中心RC收到IDi和Pi以后,计算Ai=h(IDi||x),Ci=h(IDi||h(x)||Pi)和并将存储了参数h(x)、h(y)、Ci和Di的智能卡安全地提交给用户Ui,注册中心RC安全存储Ai;每个服务器Sj选择身份SIDj并公开,注册中心RC计算Zj=h(h(y)||SIDj),并按每个用户Ui计算Xij=h(Ai||SIDj)和Yij=h(Ai||Xij),并将参数Xij、Yij和Zj通过安全信道提交给服务器Sj,参数Xij和Yij一一对应存储;步骤3:用户登录当用户Ui试图登录服务器Sj时,插入用户智能卡,输入自己的身份IDi、口令PWi,提取生物特征值BIOi,智能卡计算Pi=h(PWi||BIOi)并验证h(IDi||h(x)||Pi)=Ci是否成立;如果成立,则用户Ui的合法性得到确认,如果不成立,则终止执行;用户Ui的合法性得到确认后,智能卡计算产生一个随机数N1,计算Xij=h(Ai||SIDj),Yij=h(IDi||Xij),M1=h(h(Ai||N1)||Yij||N1),和并将登录请求Gij、Hij、AIDij和M1发送给服务器Sj;步骤...

【专利技术属性】
技术研发人员:杨文山任伟
申请(专利权)人:上海格尔软件股份有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1