CN101388060B - 一种实现实体间授权会话认证的***及方法 - Google Patents

一种实现实体间授权会话认证的***及方法 Download PDF

Info

Publication number
CN101388060B
CN101388060B CN 200710121613 CN200710121613A CN101388060B CN 101388060 B CN101388060 B CN 101388060B CN 200710121613 CN200710121613 CN 200710121613 CN 200710121613 A CN200710121613 A CN 200710121613A CN 101388060 B CN101388060 B CN 101388060B
Authority
CN
China
Prior art keywords
entity
session
requested
request
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN 200710121613
Other languages
English (en)
Other versions
CN101388060A (zh
Inventor
杨贤伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sinosun Technology (Shenzhen) Co., Ltd.
Original Assignee
SHENZHEN SINOSUN TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SHENZHEN SINOSUN TECHNOLOGY Co Ltd filed Critical SHENZHEN SINOSUN TECHNOLOGY Co Ltd
Priority to CN 200710121613 priority Critical patent/CN101388060B/zh
Publication of CN101388060A publication Critical patent/CN101388060A/zh
Application granted granted Critical
Publication of CN101388060B publication Critical patent/CN101388060B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明涉及实体的安全认证领域。本发明公开了一种实现实体间授权会话认证的***,应用于计算机***或平台中,包括至少一请求实体,所述请求实体包括第一会话模块;至少一被请求实体,所述被请求实体包括第二会话模块、一功能模块以及一第二验证模块;所述第一会话模块和第二会话模块用于在请求实体和被请求实体间建立并进行会话;所述第二验证模块用于验证所述请求实体是否具有调用所述被请求实体的功能模块中功能的权限。此外,本发明还公开了一种应用上述***实现实体间授权会话认证的方法。

Description

一种实现实体间授权会话认证的***及方法
技术领域
本发明涉及实体的安全认证领域,特别是涉及一种实现实体间授权会话认证的***及方法。
背景技术
随着计算机技术的迅猛发展,集成和安全逐渐成为了备受人们关注的重要话题之一。对计算机***和设备微型化的要求推动了计算机集成的不断进步,如今,计算机软硬件无论是在体积还是在功能上都拥有着高度的集成度。但是,由于兼容以及安全等级需要的不同,计算机中的集成通常都会有一定的限制,通常来说,不同的计算机实体(如设备、软件或平台模块等)中,会分别集成有某一特定种类或为了达到某一共同目的而需要的不同种类的功能,以便用户进行使用。由于不同的功能分别集成在不同的计算机实体中,因此,当一个实体需要执行某一集成在另一计算机实体上的功能时,就会涉及功能调用的问题。
举例来说,在计算机***或平台中,尤其是在可信计算***或平台中,一个实体A(如***软件或应用软件实体)可能需要执行一些由另一个实体B(如可信平台模块)所提供的功能a。此时,如果该实体B所提供的功能a具有权限上的限制,即只有拥有特定的权限才能够执行该功能a,则应当设置一方法,以对实体A进行权限认证,只有经过认证,确定实体A也拥有可以执行该功能a的权限时,才允许实体A通过实体B执行功能a的内容,否则,将会导致对实体B中的功能a所附加的权限限制无法真正实现限制使用的目的。
同时,随着计算机技术的深入发展以及在现实生活中的广泛使用,计算机安全也得到了人们前所未有的关注,只有对计算机中数据和信息的储存和传输进行充分有效的保障,才能使计算机技术拥有更为广阔的发展空间。在对计算机安全进行保护的历程中,随着口令、加密等安全技术的不断发展进步,对计算机进行攻击的新方法也随之而不断出现,其中,针对加密信息,特别是加密口令的重放攻击(Replay attack)技术无疑是具有巨大危害的攻击技术之一。
重放攻击技术,是一种采取间接的攻击方式进行攻击的技术。采用这种技术,攻击者不必对获取的加密口令进行解密,取而代之的,攻击者需要重新编写客户端软件,而后,直接使用所取得的加密口令进行口令验证,以实现攻击的目的。举例来说,攻击者使用协议分析器识别出一个身份数据包,由于这个口令是加密的,他不能阅读数据包中包含的口令。不过,可以肯定的是,虽然这个口令是加密的,但是,这个数据包内确切的包含着一个口令,而且这个口令是以可以识别这个口令的实体能够完全接受的某种形式存在着。在这种情况下,攻击者可以制作一个身份识别数据包的副本,而后,把数据包来源的地址改为与他们使用的计算机或实体相匹配的地址,然后,攻击者使用协议分析器把修改过的身份识别数据包发送到负责身份识别的实体,该实体收到这个数据包后,通过检测,会发现这个数据包里面包含了一个合法的身份识别信息(加密口令),此时,这个实体就会通过身份认证,进而进行响应并回馈反应信息,于是,攻击者就可以有效的实现其攻击目的了。简言之,攻击者用他们窃取的用户的身份登录,攻击者采取这种重放攻击技术来进行攻击时,根本不需要猜出被冒充者的口令是什么。
发明内容
本发明的目的在于,提出一种实现实体间授权会话认证的***及其方法,以实现实体间的授权会话认证,并可以防止重放攻击。
为了实现上述目的,本发明公开了一种实现实体间授权会话认证的***,应用于计算机***或平台中,包括至少一请求实体,所述请求实体包括第一会话模块;
至少一被请求实体,所述被请求实体包括第二会话模块、一功能模块以及一第二验证模块;
所述第一会话模块和第二会话模块用于在请求实体和被请求实体间建立并进行会话;
所述第二验证模块用于验证所述请求实体是否具有调用所述被请求实体的功能模块中功能的权限。
较佳的,在上述***中,所述请求实体是软件***或应用软件***。
较佳的,在上述***中,所述实现实体间授权会话认证的***应用于可信计算机***或平台中。
较佳的,在上述***中,所述被请求实体是可信平台模块。
较佳的,所述请求实体中还包括第一同步模块,所述被请求实体中还包括第二同步模块,所述第一同步模块和第二同步模块用于对在请求实体与被请求实体间进行会话的会话内容加入同步信息。
较佳的,所述同步信息为顺序号。
较佳的,所述请求实体中还有第一加/解密模块,所述被请求实体中还有第二加/解密模块,所述第一加/解密模块和第二加/解密模块用于对会话的内容进行加/解密。
较佳的,所述第一加/解密模块和第二加/解密模块采用对称密码算法进行加/解密。
较佳的,所述对称密码算法的密钥由请求实体与被请求实体的共享秘密信息和随机数所产生。
较佳的,所述请求实体中还包括一第一验证模块,所述第一验证模块和第二验证模块还用于对所述请求实体和被请求实体间通话的完整性进行验证。
本发明还公开了一种实现实体间授权会话认证的方法,包括下列步骤:
步骤A,请求实体向被请求实体发送一建立授权传输会话的请求;
步骤B,所述被请求实体通过包含在请求信息中的权限信息判断所述请求实体是否有权建立所述授权传输会话,若权限不足,则返回错误信息,此次操作结束,反之,则进入步骤C;
步骤C,所述请求实体与所述被请求实体建立所述授权传输会话;
步骤D,请求实体通过所述授权传输会话向被请求实体发送执行在被请求实体上受到权限保护的功能的操作请求;
步骤E,被请求实体完成该操作,并把操作结果返回给请求实体;
步骤F,请求实体接收所述操作结果,如还需要继续进行操作,则重复步骤D至步骤F的操作,否则,进入步骤G;
步骤G,请求实体与被请求实体结束所述授权传输会话。
较佳的,所述权限信息为一个可以证明请求实体操作权限的授权数据或其标识。
较佳的,所述步骤A包括下列步骤:
步骤A1,请求实体生成第一随机数;
步骤A2,所述请求实体运用所述权限信息,所述第一随机数,以及请求命令序列的验证码组成一请求命令序列,作为所述建立授权传输会话的请求;
步骤A3,请求实体将所述建立授权传输会话的请求发送给被请求实体。
较佳的,在所述步骤B中,先包括下列步骤:
被请求实体通过所述进行传输会话的请求中包含的请求命令序列的验证码对请求命令序列的完整性进行验证,若存在错误,则报告请求实体,会话建立失败;若不存在错误,则继续进行步骤B的后续操作。
较佳的,所述步骤C包括下列步骤:
步骤C1,被请求实体产生包括第二随机数和一个初始的同步顺序号的会话相关信息;
步骤C2,被请求实体保存所述同步顺序号的值、第一随机数和第二随机数;
步骤C3,被请求实体生成第一被请求实体验证码;
步骤C4,被请求实体将第二随机数、同步顺序号和第一被请求实体验证码发送给请求实体;
步骤C5,请求实体保存所述第二随机数、同步顺序号和第一被请求实体验证码,并使用第一被请求实体验证码进行验证,若存在错误,则报告错误并退出,此次操作终止,反之,则进入下一步骤;
步骤C7,建立所述传输会话。
较佳的,所述步骤D包括下列步骤:
步骤D1,请求实体将所述执行在被请求实体上受到权限保护的功能的操作请求、所述同步顺序号以及命令验证码通过所述授权传输会话发送给被请求实体;
步骤D2,请求实体将所述同步顺序号的值加1后保存。
较佳的,所述步骤E包括下列步骤:
步骤E1,被请求实体将其接收到的操作请求中的同步顺序号的值与其在之前保存的同步顺序号的值进行比较,若相同,则表示所述传输会话正常进行,进入下一步骤,反之,则报告错误并退出,此次操作终止;
步骤E2,被请求实体通过所述命令验证码对操作请求命令序列进行验证,若存在错误,则报告错误并退出,此次操作终止,反之,则进入下一步骤;
步骤E3,被请求实体完成请求实体所请求执行的在被请求实体中受到权限保护的相应操作,并生成响应数据;
步骤E4,被请求实体将同步顺序号的值加1后进行保存;
步骤E5,被请求实体生成第二被请求实体验证码,并将由所述响应数据、加1保存后的同步顺序号和所述第二被请求实体验证码组成的响应数据命令序列发送回请求实体;
步骤E6,请求实体将其接收到的响应数据命令序列中的同步顺序号与其之前所加1后保存的同步顺序号进行比较,若相同,则表示所述传输会话正常进行,进入下一步骤,反之,则报告错误并退出,此次操作终止;
步骤E7,请求实体通过第二被请求实体验证码响应数据命令序列进行验证,若存在错误,则报告错误并退出,此次操作终止,反之,则接受所述响应数据。
较佳的,所述步骤G包括下列步骤:
步骤G1,请求实体发送结束会话命令至被请求实体,释放在进行传输会话时所占用的相关资源,并结束请求实体的传输会话;
步骤G2,被请求实体接收到请求实体发送来的结束会话命令后,释放在进行传输会话时所占用的相关资源,并结束被请求实体的传输会话。
较佳的,所述步骤G包括下列步骤:
步骤G1’,请求实体发送结束会话命令及验证码至被请求实体;
步骤G2’,被请求实体接收到请求实体发送来的结束会话命令后,验证所述结核会话命令的完整性,并释放在进行传输会话时所占用的相关资源;
步骤G3’,被请求实体将结束会话的响应结果返回给请求实体,被请求实体结束会话;
步骤G4’,请求实体处理完被请求实体发送来的结束会话响应结果后,释放在进行传输会话时所占用的相关资源,请求实体结束会话。
较佳的,所述步骤C包括下列步骤:
步骤C1,被请求实体产生包括第二随机数和初始的同步顺序号的会话相关信息;
步骤C2,被请求实体保存所述同步顺序号的值、第一随机数和第二随机数;
步骤C3,被请求实体通过所述权限信息、第一随机数和第二随机数,生成所述传输会话的会话密钥,并保存所述会话密钥的会话密钥句柄;
步骤C4,所述被请求实体生成第一被请求实体验证码;
步骤C5,被请求实体将会话密钥句柄、第二随机数、同步顺序号和第一被请求实体验证码发送给请求实体;
步骤C6,请求实体用第一被请求实体验证码进行验证,若存在错误,则报告错误并退出,此次操作终止,反之,则保存所述会话密钥句柄、第二随机数和同步顺序号,进入下一步骤;
步骤C7,建立所述传输会话。
较佳的,所述生成所述传输会话的会话密钥的方法为使用由权限信息、第一随机数和第二随机数生成的共享秘密信息,作为基于杂凑运算的掩码生成算法的输入,生成指定长度的伪随即序列,作为一个对称密钥。
较佳的,在生成所述会话密钥后,在之后每一进行会话的步骤中,均有一会话发送方运用所述会话密钥对所述会话内容进行加密,会话接受方运用所述密钥对加密后的会话内容进行解密的过程。
较佳的,在上述方法中,所述请求实体是软件***或应用软件***。
较佳的,在上述方法中,所述实现实体间授权会话认证的***应用于可信计算机***或平台中。
较佳的,在上述方法中,所述被请求实体是可信平台模块。
本发明的有益效果在于,应用本发明中的实现实体间授权会话认证的***及其方法,可以安全的实现实体间特别是可信实体间的授权会话认证,并可以防止重放攻击。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1为本发明中的一种实现实体间授权会话认证的***的框架图;
图2为本发明的一种实现实体间授权会话认证的方法的流程图;
图3为本发明的传输会话在进行调用被请求实体上受到权限保护的功能时的命令序列示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例中的一种实现实体间授权会话认证的***及方法,是以在可信计算***或平台中的实体间的授权会话认证为例进行说明的,但是,本发明的中的认证方法并不是只适用于可信计算***或平台,而是可以普遍适用于一般的实体间的传输会话认证。
请参照图1所示,此为本发明中的一种实现实体间授权会话认证的***的框架图。在一可信计算***或平台10中,包含有请求实体11以及被请求实体12,其中,所述请求实体是软件***或应用软件***,所述被请求实体是可信平台模块。
所述请求实体11中,包括有第一功能模块111、第一会话模块112和第二验证模块113,其中,第一会话模块112用于同所述可信计算***或平台10中的其他实体(如被请求实体12)进行会话(发送、接受信息以及请求),所述第一验证模块113负责对所述请求实体11和被请求实体12间通话的正确性(如消息的完整性等)进行验证。
所述被请求实体12中,包括有第二功能模块121、第二会话模块122和第二验证模块123,其中,所述第二功能模块121中包括有至少一种可以执行的功能,如数据传输和数据存储等;所述第二会话模块122用于同所述可信计算***或平台10中的其他实体(如请求实体11)进行会话(发送、接受信息);所述第二验证模块123负责验证请求使用所述被请求实体12的第二功能模块121中功能的实体是否拥有足够的权限,以及对所述请求实体11和被请求实体12间通话的正确性(如消息的完整性等)进行验证。
当所述请求实体11需要调用被请求实体12的第二功能模块121中的功能时,首先,请求实体11通过第一会话模块112向被请求实体12发送一请求信息,所述请求信息中可以包括使用所欲使用功能的权限证明(或口令等),也可以不包括权限证明,而是等被要求提交权限证明时再进行发送;
被请求实体12的第二会话模块122接受到所述请求信息后,从所述请求信息中分析出所述请求实体11希望调用的功能并进行判断;
如果被请求实体12的第二功能模块121中不包含请求实体11所希望调用的功能,则通过第二会话模块122向请求实体11发送一错误信息,本次操作终止;
如果被请求实体12的第二功能模块121中,请求实体11所希望调用的功能没有权限限制,则允许请求实体11调用被请求实体12的第二功能模块121中的相应功能,并由第二会话模块122同请求实体11中的第一会话模块112进行会话,以进行后续的调用操作;
如果被请求实体12的第二功能模块121中,请求实体11所希望调用的功能具有权限的限制,则需要通过被请求实体12中的第二验证模块123进行权限验证,以确认请求模块11是否具有调用使用该功能的权限。
此时,如果请求实体11通过第一会话模块112向被请求实体12发送的请求信息中已经包括有权限证明(或口令信息),则被请求实体12可直接通过其第二验证模块123对该权限证明(或口令信息)进行验证;
若通过验证,则允许请求实体11调用被请求实体12的第二功能模块121中的相应功能,并由第二会话模块122同请求实体11中的第一会话模块112进行会话,以进行后续的调用操作;
若未通过验证,则通过第二会话模块122向请求实体11发送一错误信息,本次操作终止;
如果请求实体11通过其第一会话模块112向被请求实体12发送的请求信息中没有包括权限证明(或口令信息),则被请求实体12通过第二会话模块122向请求实体11发送一请求信息,要求请求实体11发送权限证明(或口令信息)至被请求实体12以进行权限确认。
较佳的,在本发明的实施例中,所述第一会话模块112和所述第二会话模块122还用于,在所述请求实体11和所述被请求实体12间建立一个传输会话,所述第二验证模块123还用于,当所述请求实体11发送来的权限证明(或口令信息)为一可调用被请求实体12中所有功能的权限证明时,对于在所述传输会话结束前,请求实体11向被请求实体12发送的其他功能调用请求信息,将不再进行权限认证的操作。
较佳的,所述第一验证模块113和第二验证模块123还用于,验证所述请求实体11和被请求实体12间通话的正确性(如消息的完整性等)。
更佳的,作为本发明一实施方式,所述请求实体11中,还包括第一同步模块114,所述被请求实体12中,还包括第二同步模块124。所述第一同步模块114和第二同步模块124,用于对在请求实体11与被请求实体12间进行会话的会话内容加入顺序号作为同步信息,以防止针对所述会话进行的重放攻击。
进一步地,作为本发明另一可实施方式,所述请求实体11中,还包括第一加/解密模块115,所述被请求实体12中,还包括第二加/解密模块125。所述第一加/解密模块115和第二加/解密模块125,用于对在请求实体11与被请求实体12间进行会话的会话内容进行加/解密。
请参照图2,此为本发明的一种实现实体间授权会话认证的方法的流程图。如图2所示,本发明的一种实现实体间授权会话认证的方法包括以下步骤:
步骤S110:可信计算***或平台中的请求实体向被请求实体发出一建立传输会话请求,以在所述请求实体和被请求实体间建立一个传输会话。
其中,所述请求实体可以是软件***或应用软件***,所述被请求实体可以是可信平台模块。
步骤S120:所述请求实体向所述被请求实体发送一进行功能操作的请求。
其中,执行该功能操作所依据的功能是所述被请求实体中包含的,且通过所述被请求实体进行该功能操作需要特定的操作权限才能进行。
步骤S130:所述被请求实体验证所述请求实体是否具有操作权限。
如果所述请求实体发送来的操作请求中未包括用于证明所述请求实体操作权限的授权数据、标识或所述授权数据中包含的授权数据、标识代表的操作权限不足以进行相关操作,则返回错误信息,本次操作终止;
反之,则允许所述请求实体通过所述被请求实体进行相应的操作。
当本次操作终止或成功完成后,如果所述请求实体还需要继续通过所述被请求实体进行功能操作,则跳回步骤S120;否则,进入步骤S140。
其中,所述被请求实体验证所述请求实体是否具有操作权限可以是通过验证所述请求实体是否拥有所述可信计算***或平台内正确的共享秘密信息的方式来实现。
步骤S140:所述请求实体向所述被请求实体发送一结束传输会话的命令,所述传输会话结束。
较佳的,作为一种可实施方式,在上述实现实体间授权会话认证的方法中,在所述请求实体和所述被请求实体进行会话时,还包括下列步骤:
使用一对称密钥对所述会话进行加密的过程,其中,所述对称密钥可以是请求模块和被请求模块同时支持的任何对称加密算法的密钥,比如DES、AES等对称加密算法的密钥,所述加密的对象可以是全部的会话,也可以是仅对所述会话中的敏感信息(如授权数据等)进行加密,所述密钥通过所述请求模块和所述被请求模块间的共享秘密信息或所述可信计算***或平台内的共享秘密信息结合所述请求模块和所述被请求模块在会话时分别临时产生的随机数RNa和RNb而产生。
较佳的,作为另一种可实施的方式,在上述实现实体间授权会话认证的方法中,所述用于证明所述请求实体操作权限的授权数据、标识或所述授权数据中所包含的权限信息,用于验证请求实体是否有调用被请求实体中的所有功能的权限,即一旦通过权限认证,则认为请求实体拥有调用被请求实体中所有功能的权限,从而在此次会话结束前,对于请求实体向被请求实体所发送的其他进行调用功能操作的请求,将不再进行权限的认证。
下面以采用了基于顺序号SN的同步机制,以防止第三方的重放攻击的一实施例为例,进一步详细说明本发明的实现实体间授权会话认证的方法。具体步骤如下:
步骤S201:可信计算***或平台中的请求实体向被请求实体发出一进行传输会话的请求。
所述进行传输会话的请求中包含一个可以证明请求实体操作权限的授权数据AuthData或其标识AuthDataID,一个由请求实体生成的第一随机数RNa,以及一请求命令序列的验证码。
所述传输会话的请求的命令序列可为:
SessionCode||AuthData/AuthdataID||RNa||HMAC(SessionCode||AuthData/AuthdataID||RNa)
其中,SessionCode为会话操作命令码;
HMAC为用于消息认证的密钥散列算法,其为消息认证代码(MessageAuthentication Code,MAC)算法中的一种。
消息认证代码(MAC)算法,是一种使用密钥的单向函数算法,可以用它在***上或用户之间认证文件或消息。其为一种现有技术,因此,在本发明中不再一一详细描述。
步骤S202:被请求实体通过所述进行传输会话的请求中包含的请求命令序列的验证码对请求命令序列的正确性(完整性)进行判断,若存在错误,则报告请求实体,会话建立失败;若不存在错误,被请求实体则通过所述进行传输会话的请求中包含的授权数据或标识来判断请求实体是否具有使用被请求实体中功能的操作权限。
若权限不足,则返回错误信息,本次操作终止;若请求实体拥有足够的权限,则进入下一步骤。
步骤S203:被请求实体产生会话相关信息,所述会话相关信息包括一个第二随机数RNb和一个初始的同步顺序号SN。
其中所述同步顺序号SN包含在所述传输会话的基本结构中。
步骤S204:被请求实体保存所述同步顺序号SN值,以及第一随机数RNa和第二随机数RNb。
步骤S205:被请求实体通过所述授权数据或标识、第一随机数RNa和第二随机数RNb,生成所述传输会话的会话密钥sessionKey,并保存所述会话密钥的会话密钥句柄sessionHandle。
所述会话密钥句柄sessionHandle是所述可信计算***或平台分配给所述会话密钥sessionKey的一唯一标识,利用所述句柄sessionHandle可以访问所述会话密钥sessionKey。
其中,会话密钥sessionKey=MGF1(SS),SS=HMAC(AuthData,RNa||RNb)。
所述的MGF1为一种基于杂凑(Hash)运算的掩码生成算法,其为一种现有技术,因此,本发明中不再一一详细描述。
SS为请求实体和被请求实体的共享秘密信息。
步骤S206:所述被请求实体生成一第一被请求实体验证码outMac。
其中,outMac=HMAC(AuthData,sessionHandle||RNb)。
步骤S207:被请求实体将会话密钥句柄sessionHandle、第二随机数RNb、同步顺序号SN和第一被请求实体验证码outMac发送给请求实体。
步骤S208:请求实体通过所述第一被请求实体验证码outMac对在步骤S207中发送来的数据进行验证,若存在错误,则会话建立失败;若不存在错误,请求实体保存所述会话密钥句柄sessionHandle、第二随机数RNb和同步顺序号SN,生成所述传输会话的会话密钥sessionKey,并保存所述会话密钥的会话密钥句柄sessionHandle;
其中,所述会话密钥句柄sessionHandle是所述可信计算***或平台分配给所述会话密钥sessionKey的一唯一标识,利用所述句柄sessionHandle可以访问所述会话密钥sessionKey。
其中,会话密钥sessionKey=MGF1(SS),SS=HMAC(AuthData,RNa||RNb)。
所述传输会话建立。
步骤S209:请求实体通过所述传输会话向被请求实体发送一条执行在被请求实体上受到权限保护的功能操作请求,并将所述同步顺序号SN以及一验证码inMac一并发送给被请求实体。
请参照图3,此为本发明的传输会话在进行调用被请求实体上受到权限保护的功能时的命令序列,如图3所示,所述命令序列包括会话操作命令码、同步顺序号SN以及加密的实体命令,其中所述加密的实体命令由实体命令通过所述会话密钥sessionKey进行加密而获得。
本步骤中,所述操作请求的验证码inMac为:
inMac=HMAC(sessionKey,SN||sessionHandle||encryptedReqCmdData)。
其中,encryptedReqCmdData为被加密的请求命令。
步骤S210:请求实体将所述同步顺序号SN加1后进行。
步骤S211:被请求实体将其接收到的操作请求中的同步顺序号SN与其在步骤S204中所保存的同步顺序号SN进行比较,若相同,则表示所述传输会话正常进行,进入步骤S212,反之,则报告错误并退出,此次操作终止。
步骤S212:被请求实体通过验证码inMac对步骤S209中发送来的操作请求命令序列的正确性(完整性)进行验证,使用所述会话密钥sessionKey对所述加密的实体命令进行解密,并完成请求实体所请求执行的在被请求实体中受到权限保护的相应操作,并生成响应数据。
步骤S213:被请求实体将同步顺序号SN加1后进行保存。
步骤S214:被请求实体生成一第二被请求实体验证码outMac,并将调用所述受到权限保护的功能的响应数据通过所述会话密钥sessionKey进行加密后,和所述第二被请求实体验证码outMac一并发送回请求实体。
发送的命令序列也如图3所示,其中的同步顺序号SN为加1保存后的同步顺序号SN。
所述第二被请求实体验证码outMac为:
outMac=HMAC(sessionKey,SN||sessionHandle||encryptedRspData)。
其中,encryptedRspData为被加密后的请求响应数据。
步骤S215:请求实体将其接收到的响应数据命令序列中的同步顺序号SN与其在步骤S210中所加1后保存的同步顺序号SN进行比较,若相同,则表示所述传输会话正常进行,进入步骤S216,反之,则报错退出,此次操作终止。
步骤S216:请求实体通过第二被请求实体验证码outMac对步骤S214中发送来的响应数据命令序列的正确性(完整性)进行验证,使用所述会话密钥sessionKey对所述加密的响应数据进行解密,以得到解密后的响应数据。
步骤S217:请求实体重复步骤S209至步骤S216,直至请求实体接收到最后一个执行在被请求实体上受到权限保护的功能操作请求的响应数据,而后,发送一结束会话命令及一验证码至被请求实体。
所述结束会话命令序列可为:
SessionCode||sessionHandle||HMAC(sessionKey,SN||sessionHandle||SessionCode)。
其中,所述验证码为:HMAC(sessionKey,SN||sessionHandle||SessionCode)
步骤S218:被请求实体接收到请求实体发送来的结束会话命令后,使用所述验证码验证所述结束会话命令的正确性(完整性),并释放在进行传输会话时所占用的相关资源。
步骤S219:被请求实体将结束会话的响应结果返回给请求实体,被请求实体结束会话。
步骤S220:请求实体处理完被请求实体发送来的结束会话响应结果后,释放在进行传输会话时所占用的相关资源,请求实体结束会话。
在上述步骤中,被请求实体使用一由授权数据AuthData或其标识AuthDataID、第一随机数RNa和第二随机数RNb生成的共享秘密信息SS,作为基于杂凑(Hash)运算的掩码生成算法(MGF1等)的输入,生成指定长度的伪随即序列,作为一个对称密钥(会话密钥sessionKey),而后,使用该对称密钥运用对称加密算法(如AES等)对请求实体和被请求实体间传输会话的传输数据进行加密以实现加密传输。
运用本发明的***和方法,在同一传输会话中,即使每次使用的命令序列中的其他参数完全相同,所述命令序列也会由于同步顺序号SN每次发送命令序列时的区别而不同,因此,任何通讯的第三方都无法通过获取某一之前的命令序列并采取重放攻击技术来欺骗传输会话中的请求实体与被请求实体,从而可以实现对于传输会话的防重放攻击。
较佳的,作为一种可实施的方式,在所述步骤S217中,所述请求实体在发送一结束会话命令至所述被请求实体后,即释放在进行传输会话时所占用的相关资源,并结束请求实体的传输会话。
在上述步骤S218中,被请求实体在释放进行传输会话时所占用的相关资源后,即结束被请求实体的传输会话,不再将结束会话的响应结果返回给请求实体,即不具有步骤S219和步骤S220的步骤。
较佳地,本发明实施例的实现实体间授权会话认证的***和方法,其操作都是在一可信计算***或平台10中进行的,因此在实体间进行的信息交互和一些敏感的信息都可以受到所述可信计算***或平台10的保护,从而使所述实体功能的调用可以在可信的状态下实现。
以上对本发明的目的、技术方案以及有益效果进行了详细的说明,所应理解的是,上述内容仅为本发明的具体实施例而已,并不用于限制本发明的保护范围。本发明保护范围应当以权利要求书所述为限定,凡在本发明的精神与原则之内,对本发明权利要求技术方案所做的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。

Claims (20)

1.一种实现实体间授权会话认证的***,其特征在于,包括:
模块A,用于请求实体向被请求实体发送一建立授权传输会话的请求;
模块B,用于所述被请求实体通过包含在请求信息中的权限信息判断所述请求实体是否有权建立所述授权传输会话,其中所述被请求实体是可信平台模块;若权限不足,则返回错误信息,此次操作结束,反之,则运行模块C;
模块C,用于所述请求实体与所述被请求实体建立所述授权传输会话;
模块D,用于所述请求实体通过所述授权传输会话向所述被请求实体发送执行在所述被请求实体上受到权限保护的功能的操作请求;
模块E,用于所述被请求实体完成该操作,并把操作结果返回给所述请求实体;
模块F,用于所述请求实体接收所述操作结果,如还需要继续进行操作,则重复模块D至模块F的操作,否则,进入模块G;
模块G,用于所述请求实体与所述被请求实体结束所述授权传输会话;
其中,所述模块A包括:
子模块A1,用于所述请求实体生成第一随机数;
子模块A2,用于所述请求实体运用所述权限信息,所述第一随机数,以及请求命令序列的验证码组成一请求命令序列,作为所述建立授权传输会话的请求;
子模块A3,用于所述请求实体将所述建立授权传输会话的请求发送给所述被请求实体;
其中,所述模块C包括:
子模块C1,用于所述被请求实体产生包括第二随机数和初始的同步顺序号的会话相关信息;
子模块C2,用于所述被请求实体保存所述同步顺序号的值、第一随机数和第二随机数;
子模块C3,用于所述被请求实体通过所述权限信息、第一随机数和第二随机数,生成所述传输会话的会话密钥,并保存所述会话密钥的会话密钥句柄;
子模块C4,用于所述被请求实体生成第一被请求实体验证码;
子模块C5,用于所述被请求实体将会话密钥句柄、第二随机数、同步顺序号和第一被请求实体验证码发送给所述请求实体;
子模块C6,用于所述请求实体用第一被请求实体验证码进行验证,若存在错误,则报告错误并退出,此次操作终止,反之,则保存所述会话密钥句柄、第二随机数和同步顺序号,运行下一子模块;
子模块C7,用于建立所述传输会话;
其中,所述模块E包括:
子模块E1,用于所述被请求实体将其接收到的操作请求中的同步顺序号的值与其在之前保存的同步顺序号的值进行比较,若相同,则表示所述传输会话正常进行,运行下一子模块,反之,则报告错误并退出,此次操作终止;
子模块E2,用于所述被请求实体通过所述命令验证码对操作请求命令序列进行验证,若存在错误,则报告错误并退出,此次操作终止,反之,则运行下一子模块;
子模块E3,用于所述被请求实体完成所述请求实体所请求执行的在所述被请求实体中受到权限保护的相应操作,并生成响应数据;
子模块E4,用于所述被请求实体将同步顺序号的值加1后进行保存;
子模块E5,用于所述被请求实体生成第二被请求实体验证码,并将由所述响应数据、加1保存后的同步顺序号和所述第二被请求实体验证码组成的响应数据命令序列发送回所述请求实体;
其中,所述模块F还包括:
子模块F1,用于所述请求实体将其接收到的响应数据命令序列中的同步顺序号与其之前所加1后保存的同步顺序号进行比较,若相同,则表示所述传输会话正常进行,单元F2运行,反之,则报告错误并退出,此次操作终止;
子模块F2,用于所述请求实体通过第二被请求实体验证码响应数据命令序列进行验证,若存在错误,则报告错误并退出,此次操作终止,反之,则接受所述响应数据。
2.根据权利要求1所述的一种实现实体间授权会话认证的***,其特征在于,所述权限信息为一个可以证明请求实体操作权限的授权数据或其标识。
3.根据权利要求1所述的一种实现实体间授权会话认证的***,其特征在于,在所述模块B中,先进行下列操作:
被请求实体通过所述进行传输会话的请求中包含的请求命令序列的验证码对请求命令序列的完整性进行验证,若存在错误,则报告请求实体,会话建立失败;若不存在错误,则继续进行模块B的后续操作。
4.根据权利要求1所述的一种实现实体间授权会话认证的***,其特征在于,所述模块D包括:
子模块D1,用于请求实体将所述执行在被请求实体上受到权限保护的功能的操作请求、所述同步顺序号以及命令验证码通过所述授权传输会话发送给被请求实体;
子模块D2,用于请求实体将所述同步顺序号的值加1后保存。
5.根据权利要求1所述的一种实现实体间授权会话认证的***,其特征在于,所述模块G包括:
子模块G1,用于请求实体发送结束会话命令至被请求实体,释放在进行传输会话时所占用的相关资源,并结束请求实体的传输会话;
子模块G2,用于被请求实体接收到请求实体发送来的结束会话命令后,释放在进行传输会话时所占用的相关资源,并结束被请求实体的传输会话。
6.根据权利要求1所述的一种实现实体间授权会话认证的***,其特征在于,所述模块G包括:
子模块G1’,用于请求实体发送结束会话命令及验证码至被请求实体;
子模块G2’,用于被请求实体接收到请求实体发送来的结束会话命令后,验证所述结束会话命令的完整性,并释放在进行传输会话时所占用的相关资源;
子模块G3’,用于被请求实体将结束会话的响应结果返回给请求实体,被请求实体结束会话;
子模块G4’,用于请求实体处理完被请求实体发送来的结束会话响应结果后,释放在进行传输会话时所占用的相关资源,请求实体结束会话。
7.根据权利要求6所述的一种实现实体间授权会话认证的***,其特征在于,所述子模块C3的生成所述传输会话的会话密钥进一步为使用由权限信息、第一随机数和第二随机数生成的共享秘密信息,作为基于杂凑运算的掩码生成算法的输入,生成指定长度的伪随即序列,作为一个对称密钥。
8.根据权利要求7所述的一种实现实体间授权会话认证的***,其特征在于,在所述子模块C3的生成所述会话密钥后,在之后每一进行会话的模块中,均有一会话发送方运用所述会话密钥对所述会话内容进行加密,会话接受方运用所述密钥对加密后的会话内容进行解密的过程。
9.根据权利要求1所述的一种实现实体间授权会话认证的***,其特征在于,所述请求实体是软件***。
10.根据权利要求1所述的一种实现实体间授权会话认证的***,其特征在于,所述实现实体间授权会话认证的***应用于可信计算机***或平台中。
11.一种实现实体间授权会话认证的方法,其特征在于,包括下列步骤:
步骤A,请求实体向被请求实体发送一建立授权传输会话的请求;
步骤B,所述被请求实体通过包含在请求信息中的权限信息判断所述请求实体是否有权建立所述授权传输会话,其中所述被请求实体是可信平台模块;若权限不足,则返回错误信息,此次操作结束,反之,则进入步骤C;
步骤C,所述请求实体与所述被请求实体建立所述授权传输会话;
步骤D,请求实体通过所述授权传输会话向被请求实体发送执行在被请求实体上受到权限保护的功能的操作请求;
步骤E,被请求实体完成该操作,并把操作结果返回给请求实体;
步骤F,请求实体接收所述操作结果,如还需要继续进行操作,则重复步骤D至步骤F的操作,否则,进入步骤G;
步骤G,请求实体与被请求实体结束所述授权传输会话;
其中,所述步骤A包括下列步骤:
步骤A1,请求实体生成第一随机数;
步骤A2,所述请求实体运用所述权限信息,所述第一随机数,以及请求命令序列的验证码组成一请求命令序列,作为所述建立授权传输会话的请求;
步骤A3,请求实体将所述建立授权传输会话的请求发送给被请求实体;
其中,所述步骤C包括下列步骤:
步骤C1,被请求实体产生包括第二随机数和初始的同步顺序号的会话相关信息;
步骤C2,被请求实体保存所述同步顺序号的值、第一随机数和第二随机数;
步骤C3,被请求实体通过所述权限信息、第一随机数和第二随机数,生成所述传输会话的会话密钥,并保存所述会话密钥的会话密钥句柄;
步骤C4,所述被请求实体生成第一被请求实体验证码;
步骤C5,被请求实体将会话密钥句柄、第二随机数、同步顺序号和第一被请求实体验证码发送给请求实体;
步骤C6,请求实体用第一被请求实体验证码进行验证,若存在错误,则报告错误并退出,此次操作终止,反之,则保存所述会话密钥句柄、第二随机数和同步顺序号,进入下一步骤;
步骤C7,建立所述传输会话;
其中,所述步骤E包括下列步骤:
步骤E1,被请求实体将其接收到的操作请求中的同步顺序号的值与其在之前保存的同步顺序号的值进行比较,若相同,则表示所述传输会话正常进行,进入下一步骤,反之,则报告错误并退出,此次操作终止;
步骤E2,被请求实体通过所述命令验证码对操作请求命令序列进行验证,若存在错误,则报告错误并退出,此次操作终止,反之,则进入下一步骤;
步骤E3,被请求实体完成请求实体所请求执行的在被请求实体中受到权限保护的相应操作,并生成响应数据;
步骤E4,被请求实体将同步顺序号的值加1后进行保存;
步骤E5,被请求实体生成第二被请求实体验证码,并将由所述响应数据、加1保存后的同步顺序号和所述第二被请求实体验证码组成的响应数据命令序列发送回请求实体;
其中步骤F包括:
步骤F1,请求实体将其接收到的响应数据命令序列中的同步顺序号与其之前所加1后保存的同步顺序号进行比较,若相同,则表示所述传输会话正常进行,进入下一步骤,反之,则报告错误并退出,此次操作终止;
步骤F2,请求实体通过第二被请求实体验证码响应数据命令序列进行验证,若存在错误,则报告错误并退出,此次操作终止,反之,则接受所述响应数据。
12.根据权利要求11所述的一种实现实体间授权会话认证的方法,其特征在于,所述权限信息为一个可以证明请求实体操作权限的授权数据或其标识。
13.根据权利要求11所述的一种实现实体间授权会话认证的方法,其特征在于,在所述步骤B中,先包括下列步骤:
被请求实体通过所述进行传输会话的请求中包含的请求命令序列的验证码对请求命令序列的完整性进行验证,若存在错误,则报告请求实体,会话建立失败;若不存在错误,则继续进行步骤B的后续操作。
14.根据权利要求11所述的一种实现实体间授权会话认证的方法,其特征在于,所述步骤D包括下列步骤:
步骤D1,请求实体将所述执行在被请求实体上受到权限保护的功能的操作请求、所述同步顺序号以及命令验证码通过所述授权传输会话发送给被请求实体;
步骤D2,请求实体将所述同步顺序号的值加1后保存。
15.根据权利要求11所述的一种实现实体间授权会话认证的方法,其特征在于,所述步骤G包括下列步骤:
步骤G1,请求实体发送结束会话命令至被请求实体,释放在进行传输会话时所占用的相关资源,并结束请求实体的传输会话;
步骤G2,被请求实体接收到请求实体发送来的结束会话命令后,释放在进行传输会话时所占用的相关资源,并结束被请求实体的传输会话。
16.根据权利要求11所述的一种实现实体间授权会话认证的方法,其特征在于,所述步骤G包括下列步骤:
步骤G1’,请求实体发送结束会话命令及验证码至被请求实体;
步骤G2’,被请求实体接收到请求实体发送来的结束会话命令后,验证所述结束会话命令的完整性,并释放在进行传输会话时所占用的相关资源;
步骤G3’,被请求实体将结束会话的响应结果返回给请求实体,被请求实体结束会话;
步骤G4’,请求实体处理完被请求实体发送来的结束会话响应结果后,释放在进行传输会话时所占用的相关资源,请求实体结束会话。
17.根据权利要求16所述的一种实现实体间授权会话认证的方法,其特征在于,所述生成所述传输会话的会话密钥的方法为使用由权限信息、第一随机数和第二随机数生成的共享秘密信息,作为基于杂凑运算的掩码生成算法的输入,生成指定长度的伪随即序列,作为一个对称密钥。
18.根据权利要求17所述的一种实现实体间授权会话认证的方法,其特征在于,在生成所述会话密钥后,在之后每一进行会话的步骤中,均有一会话发送方运用所述会话密钥对所述会话内容进行加密,会话接受方运用所述密钥对加密后的会话内容进行解密的过程。
19.根据权利要求11所述的一种实现实体间授权会话认证的方法,其特征在于,所述请求实体是软件***。
20.根据权利要求11所述的一种实现实体间授权会话认证的方法,其特征在于,所述实现实体间授权会话认证的方法应用于可信计算机***或平台中。
CN 200710121613 2007-09-11 2007-09-11 一种实现实体间授权会话认证的***及方法 Active CN101388060B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200710121613 CN101388060B (zh) 2007-09-11 2007-09-11 一种实现实体间授权会话认证的***及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200710121613 CN101388060B (zh) 2007-09-11 2007-09-11 一种实现实体间授权会话认证的***及方法

Publications (2)

Publication Number Publication Date
CN101388060A CN101388060A (zh) 2009-03-18
CN101388060B true CN101388060B (zh) 2013-03-13

Family

ID=40477476

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200710121613 Active CN101388060B (zh) 2007-09-11 2007-09-11 一种实现实体间授权会话认证的***及方法

Country Status (1)

Country Link
CN (1) CN101388060B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110154436A1 (en) * 2009-12-21 2011-06-23 Mediatek Inc. Provider Management Methods and Systems for a Portable Device Running Android Platform
EP3777009B1 (en) * 2018-04-03 2024-02-14 Telefonaktiebolaget LM Ericsson (publ) Access to content of encrypted data session
CN114567439B (zh) * 2022-01-10 2022-12-27 北京密码云芯科技有限公司 一种身份认证方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1705267A (zh) * 2004-05-25 2005-12-07 联想(北京)有限公司 网络上客户端使用服务端资源的方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1705267A (zh) * 2004-05-25 2005-12-07 联想(北京)有限公司 网络上客户端使用服务端资源的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Satoshi Hada等.Session Authentication Protocol for Web Services.《Proceedings of the 2002 Stmposium on Applications and the Internet》.2002,全文. *
刘畅.基于Web服务安全体系的会话认证协议的改进与实现.《中国优秀硕士学位论文全文数据库》.2004,19-21. *

Also Published As

Publication number Publication date
CN101388060A (zh) 2009-03-18

Similar Documents

Publication Publication Date Title
EP1512307B1 (en) Method and system for challenge-response user authentication
US10250591B2 (en) Password-based authentication
JP4800624B2 (ja) 暗号鍵を入れ替えるためのシステム、装置及び方法
RU2325693C2 (ru) Способы аутентификации потенциальных членов, приглашенных присоединиться к группе
US20070192829A1 (en) Authenticated communication using a shared unpredictable secret
EP4046325B1 (en) Digital signature generation using a cold wallet
JP2008545353A (ja) 未知の通信当事者間における信頼できる関係の確立
CN101019368A (zh) 使用分发cd将直接证明私钥传递给设备的方法
KR20180101870A (ko) 클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 방법 및 시스템
JP2022525137A (ja) データに基づく行為を実施するための方法および装置
Lee et al. Two factor authentication for cloud computing
CN112241527B (zh) 物联网终端设备的密钥生成方法、***及电子设备
MacKenzie et al. Delegation of cryptographic servers for capture-resilient devices
CN111740995A (zh) 一种授权认证方法及相关装置
CN114338091B (zh) 数据传输方法、装置、电子设备及存储介质
CN110519222B (zh) 基于一次性非对称密钥对和密钥卡的外网接入身份认证方法和***
CN101388060B (zh) 一种实现实体间授权会话认证的***及方法
CN101442656B (zh) 一种机卡间安全通信的方法及***
CN111062029A (zh) 一种基于标识密码的多因子认证协议
CN111245594A (zh) 一种基于同态运算的协同签名方法及***
US20210111906A1 (en) Pseudonym credential configuration method and apparatus
CN114978549B (zh) 签名者掌控签名制作数据的sm2数字签名生成方法及***
CN116912985B (zh) 基于动态口令的门锁控制方法、装置、***、设备及介质
CN113556236B (zh) 一种基于代理签名的能源数据中台敏感内容委托授权方法
CN101176296A (zh) 网络辅助终端到simm/uicc密钥建立

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EE01 Entry into force of recordation of patent licensing contract

Assignee: Zhaori Science & Technology (Shenzhen) Co., Ltd.

Assignor: Zhaori Tech Co., Ltd., Shenzhen

Contract fulfillment period: 2009.2.28 to 2027.9.11 contract change

Contract record no.: 2009990000224

Denomination of invention: System and method for implementing authorisation session authentication between entities

License type: Exclusive license

Record date: 2009.3.26

LIC Patent licence contract for exploitation submitted for record

Free format text: EXCLUSIVE LICENSE; TIME LIMIT OF IMPLEMENTING CONTACT: 2009.2.28 TO 2027.9.11; CHANGE OF CONTRACT

Name of requester: ZHAORI SCIENCE + TECHNOLOGY (SHENZHEN) CO., LTD.

Effective date: 20090326

ASS Succession or assignment of patent right

Owner name: SINOSUN TECHNOLOGY (SHENZHEN) CO., LTD.

Free format text: FORMER OWNER: SHENZHEN SINOSUN TECHNOLOGY CO., LTD.

Effective date: 20100625

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 518040 TOWER C-3, 6TH FLOOR, BUILDING 213, TAIRANJIU ROAD, FUSHAN DISTRICT,SHENZHEN CITY, GUANGDONG PROVINCE TO: 518040 TOWER C, 6TH FLOOR, BUILDING 213, TAIRAN INDUSTRY AREA, CHEGONGMIAO, FUTIAN DISTRICT, SHENZHEN CITY, GUANGDONG PROVINCE

TA01 Transfer of patent application right

Effective date of registration: 20100625

Address after: 518040 Guangdong city of Shenzhen province Futian District Che Kung Temple Tairan Industrial Zone 213 building 6 floor C block

Applicant after: Sinosun Technology (Shenzhen) Co., Ltd.

Address before: 518040 Guangdong province Fushan District of Shenzhen City Tairan nine Road 213 building 6 floor C-3 block

Applicant before: Zhaori Tech Co., Ltd., Shenzhen

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant