一种实现实体间授权会话认证的系统及方法

文档序号:7656114阅读:129来源:国知局
专利名称:一种实现实体间授权会话认证的系统及方法
技术领域
本发明涉及实体的安全认证领域,特别是涉及一种实现实体间授权会话认 证的系统及方法。
背景技术
随着计算机技术的迅猛发展,集成和安全逐渐成为了备受人们关注的重要 话题之一。对计算机系统和设备微型化的要求推动了计算机集成的不断进步, 如今,计算机软硬件无论是在体积还是在功能上都拥有着高度的集成度。但是, 由于兼容以及安全等级需要的不同,计算机中的集成通常都会有一定的限制, 通常来说,不同的计算机实体(如设备、软件或平台模块等)中,会分别集成 有某一特定种类或为了达到某一共同目的而需要的不同种类的功能,以便用户 进行使用。由于不同的功能分别集成在不同的计算机实体中,因此,当一个实 体需要执行某一集成在另一计算机实体上的功能时,就会涉及功能调用的问 题。
举例来说,在计算机系统或平台中,尤其是在可信计算系统或平台中,一
个实体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包括下列步骤
步骤Cl,被请求实体产生包括第二随机数和一个初始的同步顺序号的会 话相关信息;
步骤C2,被请求实体保存所述同步顺序号的值、第一随机数和第二随机
数;
步骤C3,被请求实体生成第一被请求实体验证码;
步骤C4,被请求实体将第二随机数、同步顺序号和第一被请求实体验证 码发送给请求实体;
步骤C5,请求实体保存所述第二随机数、同步顺序号和第一被请求实体 验证码,并使用第一被请求实体验证码进行验证,若存在错误,则报告错误并 退出,此次操作终止,反之,则进入下一步骤;
步骤C7,建立所述传输会话。
较佳的,所述步骤D包括下列步骤
步骤Dl,请求实体将所述执行在被请求实体上受到权限保护的功能的操 作请求、所述同步顺序号以及命令验证码通过所述授权传输会话发送给被请求 实体;
步骤D2,请求实体将所述同步顺序号的值加1后保存。 较佳的,所述步骤E包括下列步骤
步骤El,被请求实体将其接收到的操作请求中的同步顺序号的值与其在 之前保存的同步顺序号的值进行比较,若相同,则表示所述传输会话正常进行, 进入下一步骤,反之,则报告错误并退出,此次操作终止;
步骤E2,被请求实体通过所述命令验证码对操作请求命令序列进行验证, 若存在错误,则报告错误并退出,此次操作终止,反之,则进入下一步骤;
步骤E3,被请求实体完成请求实体所请求执行的在被请求实体中受到权 限保护的相应操作,并生成响应数据;
步骤E4,被请求实体将同步顺序号的值加1后进行保存;
步骤E5,被请求实体生成第二被请求实体验证码,并将由所述响应数据、 加1保存后的同歩顺序号和所述第二被请求实体验证码组成的响应数据命令 序列发送回请求实体;
步骤E6,请求实体将其接收到的响应数据命令序列中的同步顺序号与其 之前所加1后保存的同步顺序号进行比较,若相同,则表示所述传输会话正常 进行,进入下一步骤,反之,则报告错误并退出,此次操作终止;
步骤E7,请求实体通过第二被请求实体验证码响应数据命令序列进行验 证,若存在错误,则报告错误并退出,此次操作终止,反之,则接受所述响应 数据。
较佳的,所述步骤G包括下列步骤
步骤G1,请求实体发送结束会话命令至被请求实体,释放在进行传输会 话时所占用的相关资源,并结束请求实体的传输会话;
步骤G2,被请求实体接收到请求实体发送来的结束会话命令后,释放在 进行传输会话时所占用的相关资源,并结束被请求实体的传输会话。
较佳的,所述步骤G包括下列步骤-
步骤G1',请求实体发送结束会话命令及验证码至被请求实体;
步骤G2',被请求实体接收到请求实体发送来的结束会话命令后,验证
所述结核会话命令的完整性,并释放在进行传输会话时所占用的相关资源; 步骤G3',被请求实体将结束会话的响应结果返回给请求实体,被请求
实体结束会话;
步骤G4',请求实体处理完被请求实体发送来的结束会话响应结果后, 释放在进行传输会话时所占用的相关资源,请求实体结束会话。 较佳的,所述步骤C包括下列步骤
步骤Cl,被请求实体产生包括第二随机数和初始的同步顺序号的会话相 关信息;
步骤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中的其他实体(如请求实体ll)进行会话(发送、接受信息); 所述第二验证模块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还用于,当所述请求实体ll发送来的权限证明(或口 令信息)为一可调用被请求实体12中所有功能的权限证明时,对于在所述传 输会话结束前,请求实体11向被请求实体12发送的其他功能调用请求信息, 将不再进行权限认证的操作。
较佳的,所述第一验证模块113和第二验证模块123还用于,验证所述请 求实体11和被请求实体12间通话的正确性(如消息的完整性等)。
更佳的,作为本发明一实施方式,所述请求实体U中,还包括第一同步 模块114,所述被请求实体12中,还包括第二同步模块124。所述第一同步模 块114和第二同步模块124,用于对在请求实体11与被请求实体12间进行会 话的会话内容加入顺序号作为同步信息,以防止针对所述会话进行的重放攻 击。
进一步地,作为本发明另一可实施方式,所述请求实体ll中,还包括第 一加/解密模块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/AuthdatalD || RNa || HMAC (SessionCode || AuthData/AuthdatalD || RNa )
其中,SessionCode为会话操作命令码;
HMAC为用于消息认证的密钥散列算法,其为消息认证代码(Message Authentication 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的保护,从而使所述 实体功能的调用可以在可信的状态下实现。
以上对本发明的目的、技术方案以及有益效果进行了详细的说明,所应理 解的是,上述内容仅为本发明的具体实施例而已,并不用于限制本发明的保护 范围。本发明保护范围应当以权利要求书所述为限定,凡在本发明的精神与原 则之内,对本发明权利要求技术方案所做的任何修改、等同替换以及改进等, 均应包含在本发明的保护范围之内。
权利要求
1、一种实现实体间授权会话认证的系统,应用于计算机系统或平台中,其特征在于,包括至少一请求实体,所述请求实体包括第一会话模块;至少一被请求实体,所述被请求实体包括第二会话模块、一功能模块以及一第二验证模块;所述第一会话模块和第二会话模块用于在请求实体和被请求实体间建立并进行会话;所述第二验证模块用于验证所述请求实体是否具有调用所述被请求实体的功能模块中功能的权限。
2、 根据权利要求1所述的一种实现实体间授权会话认证的系统,其特征 在于,所述请求实体是软件系统或应用软件系统。
3、 根据权利要求1所述的一种实现实体间授权会话认证的系统,其特征 在于,所述实现实体间授权会话认证的系统应用于可信计算机系统或平台中。
4、 根据权利要求3所述的一种实现实体间授权会话认证的系统,其特征 在于,所述被请求实体是可信平台模块。
5、 根据权利要求1所述的一种实现实体间授权会话认证的系统,其特征 在于,所述请求实体中还包括第一同步模块,所述被请求实体中还包括第二同 步模块,所述第一同步模块和第二同步模块用于对在请求实体与被请求实体间 进行会话的会话内容加入同步信息。
6、 根据权利要求5所述的一种实现实体间授权会话认证的系统,其特征 在于,所述同步信息为顺序号。
7、 根据权利要求1所述的一种实现实体间授权会话认证的系统,其特征 在于,所述请求实体中还有第一加/解密模块,所述被请求实体中还有第二加/ 解密模块,所述第一加/解密模块和第二加/解密模块用于对会话的内容进行加/
8、 根据权利要求5所述的一种实现实体间授权会话认证的系统,其特征 在于,所述第一加/解密模块和第二加/解密模块采用对称密码算法进行加/解 密。
9、 根据权利要求6所述的一种实现实体间授权会话认证的系统,其特征 在于,所述对称密码算法的密钥由请求实体与被请求实体的共享秘密信息和随 机数所产生。
10、 根据权利要求1所述的一种实现实体间授权会话认证的系统,其特征 在于,所述请求实体中还包括一第一验证模块,所述第一验证模块和第二验证 模块还用于对所述请求实体和被请求实体间通话的完整性进行验证。
11、 一种实现实体间授权会话认证的方法,其特征在于,包括下列步骤 步骤A,请求实体向被请求实体发送一建立授权传输会话的请求;步骤B,所述被请求实体通过包含在请求信息中的权限信息判断所述请求实体是否有权建立所述授权传输会话,若权限不足,则返回错误信息,此次操作结束,反之,则进入步骤C;步骤C,所述请求实体与所述被请求实体建立所述授权传输会话;步骤D,请求实体通过所述授权传输会话向被请求实体发送执行在被请求实体上受到权限保护的功能的操作请求;步骤E,被请求实体完成该操作,并把操作结果返回给请求实体; 步骤F,请求实体接收所述操作结果,如还需要继续进行操作,则重复步骤D至步骤F的操作,否则,进入步骤G;步骤G,请求实体与被请求实体结束所述授权传输会话。
12、 根据权利要求11所述的一种实现实体间授权会话认证的方法,其特 征在于,所述权限信息为一个可以证明请求实体操作权限的授权数据或其标 识。
13、 根据权利要求11所述的一种实现实体间授权会话认证的方法,其特 征在于,所述步骤A包括下列步骤步骤A1,请求实体生成第一随机数;步骤A2,所述请求实体运用所述权限信息,所述第一随机数,以及请求 命令序列的验证码组成一请求命令序列,作为所述建立授权传输会话的请求; 步骤A3,请求实体将所述建立授权传输会话的请求发送给被请求实体。
14、 根据权利要求13所述的一种实现实体间授权会话认证的方法,其特 征在于,在所述步骤B中,先包括下列步骤被请求实体通过所述进行传输会话的请求中包含的请求命令序列的验证 码对请求命令序列的完整性进行验证,若存在错误,则报告请求实体,会话建立失败;若不存在错误,则继续进行步骤B的后续操作。
15、 根据权利要求11所述的一种实现实体间授权会话认证的方法,其特 征在于,所述步骤C包括下列步骤步骤Cl,被请求实体产生包括第二随机数和一个初始的同步顺序号的会 话相关信息;步骤C2,被请求实体保存所述同步顺序号的值、第一随机数和第二随机数;步骤C3,被请求实体生成第一被请求实体验证码;步骤C4,被请求实体将第二随机数、同步顺序号和第一被请求实体验证 码发送给请求实体;步骤C5,请求实体保存所述第二随机数、同步顺序号和第一被请求实体 验证码,并使用第一被请求实体验证码进行验证,若存在错误,则报告错误并 退出,此次操作终止,反之,则进入下一步骤;步骤C7,建立所述传输会话。
16、 根据权利要求11所述的一种实现实体间授权会话认证的方法,其特 征在于,所述步骤D包括下列步骤步骤Dl,请求实体将所述执行在被请求实体上受到权限保护的功能的操 作请求、所述同步顺序号以及命令验证码通过所述授权传输会话发送给被请求 实体;步骤D2,请求实体将所述同步顺序号的值加1后保存。
17、 根据权利要求ll所述的一种实现实体间授权会话认证的方法,其特 征在于,所述步骤E包括下列步骤步骤El,被请求实体将其接收到的操作请求中的同步顺序号的值与其在 之前保存的同步顺序号的值进行比较,若相同,则表示所述传输会话正常进行, 进入下一步骤,反之,则报告错误并退出,此次操作终止;步骤E2,被请求实体通过所述命令验证码对操作请求命令序列进行验证, 若存在错误,则报告错误并退出,此次操作终止,反之,则进入下一步骤;步骤E3,被请求实体完成请求实体所请求执行的在被请求实体中受到权 限保护的相应操作,并生成响应数据; 歩骤E4,被请求实体将同步顺序号的值加1后进行保存;步骤E5,被请求实体生成第二被请求实体验证码,并将由所述响应数据、 加1保存后的同步顺序号和所述第二被请求实体验证码组成的响应数据命令 序列发送回请求实体;步骤E6,请求实体将其接收到的响应数据命令序列中的同步顺序号与其 之前所加1后保存的同步顺序号进行比较,若相同,则表示所述传输会话正常 进行,进入下一步骤,反之,则报告错误并退出,此次操作终止;步骤E7,请求实体通过第二被请求实体验证码响应数据命令序列进行验 证,若存在错误,则报告错误并退出,此次操作终止,反之,则接受所述响应 数据。
18、 根据权利要求11所述的一种实现实体间授权会话认证的方法,其特征在于,所述步骤G包括下列步骤步骤G1,请求实体发送结束会话命令至被请求实体,释放在进行传输会 话时所占用的相关资源,并结束请求实体的传输会话;步骤G2,被请求实体接收到请求实体发送来的结束会话命令后,释放在 进行传输会话时所占用的相关资源,并结束被请求实体的传输会话。
19、 根据权利要求11所述的一种实现实体间授权会话认证的方法,其特 征在于,所述步骤G包括下列步骤步骤G1',请求实体发送结束会话命令及验证码至被请求实体;步骤G2',被请求实体接收到请求实体发送来的结束会话命令后,验证所述结核会话命令的完整性,并释放在进行传输会话时所占用的相关资源; 步骤G3',被请求实体将结束会话的响应结果返回给请求实体,被请求实体结束会话;步骤G4',请求实体处理完被请求实体发送来的结束会话响应结果后, 释放在进行传输会话时所占用的相关资源,请求实体结束会话。
20、 根据权利要求11所述的一种实现实体间授权会话认证的方法,其特 征在于,所述步骤C包括下列步骤步骤Cl,被请求实体产生包括第二随机数和初始的同步顺序号的会话相 关信息;步骤C2,被请求实体保存所述同步顺序号的值、第一随机数和第二随机数;步骤C3,被请求实体通过所述权限信息、第一随机数和第二随机数,生 成所述传输会话的会话密钥,并保存所述会话密钥的会话密钥句柄;步骤C4,所述被请求实体生成第一被请求实体验证码;步骤C5,被请求实体将会话密钥句柄、第二随机数、同步顺序号和第一 被请求实体验证码发送给请求实体;步骤C6,请求实体用第一被请求实体验证码进行验证,若存在错误,则 报告错误并退出,此次操作终止,反之,则保存所述会话密钥句柄、第二随机 数和同步顺序号,进入下一步骤;步骤C7,建立所述传输会话。
21、 根据权利要求19所述的一种实现实体间授权会话认证的方法,其特 征在于,所述生成所述传输会话的会话密钥的方法为使用由权限信息、第一随 机数和第二随机数生成的共享秘密信息,作为基于杂凑运算的掩码生成算法的 输入,生成指定长度的伪随即序列,作为一个对称密钥。
22、 根据权利要求19所述的一种实现实体间授权会话认证的方法,其特 征在于,在生成所述会话密钥后,在之后每一进行会话的步骤中,均有一会话 发送方运用所述会话密钥对所述会话内容进行加密,会话接受方运用所述密钥 对加密后的会话内容进行解密的过程。
23、 根据权利要求11所述的一种实现实体间授权会话认证的方法,其特 征在于,所述请求实体是软件系统或应用软件系统。
24、 根据权利要求11所述的一种实现实体间授权会话认证的方法,其特 征在于,所述实现实体间授权会话认证的系统应用于可信计算机系统或平台 中。
25、 根据权利要求11所述的一种实现实体间授权会话认证的方法,其特 征在于,所述被请求实体是可信平台模块。
全文摘要
本发明涉及实体的安全认证领域。本发明公开了一种实现实体间授权会话认证的系统,应用于计算机系统或平台中,包括至少一请求实体,所述请求实体包括第一会话模块;至少一被请求实体,所述被请求实体包括第二会话模块、一功能模块以及一第二验证模块;所述第一会话模块和第二会话模块用于在请求实体和被请求实体间建立并进行会话;所述第二验证模块用于验证所述请求实体是否具有调用所述被请求实体的功能模块中功能的权限。此外,本发明还公开了一种应用上述系统实现实体间授权会话认证的方法。
文档编号H04L29/06GK101388060SQ20071012161
公开日2009年3月18日 申请日期2007年9月11日 优先权日2007年9月11日
发明者杨贤伟 申请人:深圳兆日技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1