一种可信自助服务系统的建立方法

文档序号:7817442阅读:383来源:国知局
一种可信自助服务系统的建立方法
【专利摘要】本申请提供一种可信自助服务系统的建立方法,该方法包括以下步骤:自助终端向服务端发送终端在平台的身份信息,所述服务端将所述终端在平台的身份信息发送给平台信任服务;所述平台信任服务判断所述终端在平台的身份信息是否对应一个有效的密码模块密钥,如果是,所述平台信任服务向所述服务端发送验证成功消息,所述服务端允许所述自助终端的访问;否则,所述平台信任服务向所述服务端发送验证失败消息,所述服务端拒绝所述自助终端的访问。
【专利说明】一种可信自助服务系统的建立方法

【技术领域】
[0001]本发明涉及计算机技术和信息安全领域,具体涉及一种可信自助服务系统的建立方法。

【背景技术】
[0002]随着分布式系统的迅速发展,自助服务终端已广泛应用于银行、电信、电力、医疗、航空和零售等行业。由于自助服务终端长时间处于无人看管的状态,面临着计算机病毒、恶意软件和黑客攻击等安全威胁,恶意用户甚至会通过控制自助服务终端实施攻击,篡改自助服务终端的软件和输入输出硬件设备,进而上报虚假信息或盗取其他用户的私密信息。因此,能否保障自助服务终端处于可信状态,进而保障自助服务的安全可靠,是当前自助服务终端研究、生产和应用领域面临的主要问题之一。
[0003]可信计算技术从体系结构入手,为构建自助终端的可信环境提供了一种全新的体系结构级解决方案。可信计算技术引入安全芯片作为平台信任根,建立平台信任链,从而保证计算平台可信。此外,安全芯片作为终端身份的唯一标识,通过对终端身份和环境的证明验证进一步保证分布式环境中系统应用的安全。
[0004]远程证明是可信计算技术提供的核心功能,TCG(Trusted Computing Group,可信计算组织提供了两种远程证明方案:基于可信第三方隐私CA (Certificate Authority,证书授权机构)的证明方案和直接匿名证明方案。
[0005]其中,基于可信第三方隐私CA的证明方案通过隐私CA实现通信,在完成终端在平台的身份认证的同时,保证终端身份的匿名性。然而,在该方案中,隐私CA容易成为系统的瓶颈,如果攻击方攻破了隐私CA或者与隐私CA合谋,终端身份的匿名性必将遭到破坏。直接匿名证明方案通过采用数字签名等密码学机制,虽然解决了远程证明时可信计算终端身份的隐私保护问题,但仍然存在很多性能缺陷和安全问题。


【发明内容】

[0006]本发明提供了一种可信自助服务系统及其建立方法,以解决现有技术中的性能缺陷和安全问题。
[0007]本发明提供了一种可信自助服务系统的建立方法,包括以下步骤:
[0008]自助终端向服务端发送终端在平台的身份信息,所述服务端将所述终端在平台的身份信息发送给平台信任服务模块;
[0009]所述平台信任服务模块判断所述终端在平台的身份信息是否对应一个有效的密码模块密钥,如果是,所述平台信任服务模块向所述服务端发送验证成功消息,所述服务端允许所述自助终端的访问;否则,所述平台信任服务模块向所述服务端发送验证失败消息,所述服务端拒绝所述自助终端的访问。
[0010]本发明还提供了一种可信自助服务系统,包括自助终端、服务端和平台信任服务模块;其中,所述自助终端,包括:
[0011]第一发送模块,用于向所述服务端发送终端在平台的身份信息;
[0012]所述服务端,包括:
[0013]第一接收模块,用于接收来自所述自助终端的所述终端在平台的身份信息;
[0014]第二发送模块,用于将所述第一接收模块接收到的所述终端在平台的身份信息发送给所述平台信任服务模块;
[0015]所述平台信任服务模块,包括:
[0016]第二接收模块,用于接收来自所述服务端的所述终端在平台的身份信息;
[0017]判断模块,用于判断所述第二接收模块接收到的所述终端在平台的身份信息是否对应一个有效的密码模块密钥;
[0018]第三发送模块,用于在所述判断模块判断出所述终端在平台的身份信息对应一个有效的密码模块密钥时,向所述服务端发送验证成功消息;在所述判断模块判断出所述终端在平台的身份信息没有对应一个有效的密码模块密钥时,向所述服务端发送验证失败消息;
[0019]所述服务端,还包括:
[0020]第三接收模块,用于接收来自所述平台信任服务模块的验证成功消息和验证失败消息;
[0021]控制模块,用于在所述第三接收模块接收到所述验证成功消息后,允许所述自助终端的访问;在所述第三接收模块接收到所述验证失败消息后,拒绝所述自助终端的访问。
[0022]可选地,所述服务端,还包括:
[0023]第四发送模块,用于向所述自助终端发送安全要求信息;
[0024]所述自助终端,还包括:
[0025]第四接收模块,用于接收来自所述服务端的安全要求信息;
[0026]生成模块,用于从所述第四接收模块接收到的所述安全要求信息中提取安全属性,根据所述安全属性生成映射关系获取请求;
[0027]第五发送模块,用于将所述生成模块生成的所述映射关系获取请求发送给所述平台信任服务模块;
[0028]所述平台信任服务模块,还包括:
[0029]第五接收模块,用于接收来自所述自助终端的映射关系获取请求;
[0030]查询模块,用于根据所述第五接收模块接收到的所述映射关系获取请求,获取安全属性,根据所述安全属性,查询对应的属性映射关系证书和最新的证书撤销列表;
[0031]第六发送模块,用于将所述查询模块查询到的属性映射关系证书和证书撤销列表发送给所述自助终端;
[0032]所述自助终端,还包括:
[0033]第六接收模块,用于接收来自所述平台信任服务模块的属性映射关系证书和证书撤销列表;
[0034]远程证明模块,用于基于所述第六接收模块接收到的所述属性映射关系证书和所述证书撤销列表,与所述服务端进行平台完整性的远程证明。
[0035]可选地,所述第一发送模块,还用于向所述服务端发送终端在平台的身份密钥证书;
[0036]所述第一接收模块,还用于接收来自所述自助终端的所述终端在平台的身份密钥证书;
[0037]所述第四发送模块,还用于向所述自助终端发送随机数和远程证明请求;
[0038]所述第四接收模块,还用于接收来自所述服务端的随机数和远程证明请求;
[0039]所述自助终端,还包括:
[0040]获取模块,用于获取完整性度量结果;
[0041]签名模块,用于使用所述终端在平台的身份密钥证书和所述随机数对所述获取模块获取到的所述完整性度量结果进行签名,得到签名结果;
[0042]组合模块,用于对所述完整性度量结果和所述签名模块签名得到的所述签名结果进行组合,得到远程证明结果;
[0043]所述第一发送模块,还用于将所述组合模块组合得到的远程证明结果发送给所述服务端;
[0044]所述第一接收模块,还用于接收来自所述自助终端的远程证明结果;
[0045]所述服务端,还包括:
[0046]验签模块,用于从所述第一接收模块接收到的所述远程证明结果中获取所述签名结果和所述完整性度量结果,使用所述随机数和所述终端在平台的身份密钥证书对所述签名结果验证;
[0047]评估模块,用于在所述验签模块对所述签名结果验证通过后,根据所述完整性度量结果,对所述自助终端进行完整性评估;
[0048]所述第四发送模块,还用于将所述评估模块得到的完整性评估结果发送给所述自助终端。
[0049]可选地,所述服务端,还包括:
[0050]验证模块,用于对所述第一接收模块接收到的所述终端在平台的身份密钥证书进行验证;
[0051]所述第四发送模块,具体用于在所述验证模块对所述终端在平台的身份密钥证书验证通过后,向所述自助终端发送随机数和远程证明请求;
[0052]所述控制模块,还用于在所述验证模块对所述终端在平台的身份密钥证书验证未通过后,断开与所述自助终端之间的连接。
[0053]可选地,所述自助终端,还包括:
[0054]操作系统内核,用于计算所述自助终端中的组件的完整性度量值,将所述完整性度量值添加到度量日志列表中;
[0055]所述获取模块,具体用于从所述度量日志列表中读取完整性度量值,作为完整性度量结果。
[0056]可选地,所述组件为用户进程;
[0057]所述操作系统内核,具体用于判断所述度量日志列表中是否包含所述用户进程的完整性度量值;
[0058]当所述度量日志列表中不包含所述用户进程的完整性度量值时,计算所述用户进程的完整性度量值,将所述用户进程的完整性度量值添加到所述度量日志列表中;
[0059]当所述度量日志列表中包含所述用户进程,且dirty位置位时,计算所述用户进程的完整性度量值,并在判断出所述用户进程的完整性度量值与所述度量日志列表中与所述用户进程对应的完整性度量值不相等之后,将所述度量日志列表中与所述用户进程对应的完整性度量值删除,将计算得到的所述用户进程的完整性度量值添加到所述度量日志列表中。
[0060]可选地,所述自助终端还包括安全芯片,所述度量日志列表存储在所述安全芯片的平台配置寄存器中。
[0061]可选地,所述自助终端还包括基本输入输出系统、主引导记录和操作系统装载程序;
[0062]所述安全芯片,用于对所述基本输入输出系统进行可信度量,并在验证出所述基本输入输出系统可信后,将系统控制权转移给所述基本输入输出系统;
[0063]所述基本输入输出系统,用于对所述主引导记录进行可信度量,并在验证出所述主引导记录可信后,将系统控制权转移给所述主引导记录;
[0064]所述主引导记录,用于对所述操作系统装载程序进行可信度量,并在验证出所述操作系统装载程序可信后,将系统控制权转移给所述操作系统装载程序;
[0065]所述操作系统装载程序,用于对所述操作系统内核进行可信度量,并在验证出所述操作系统内核可信后,将系统控制权转移给所述操作系统内核。
[0066]本发明建立了包括自助终端、服务端和平台信任服务模块的可信自助服务系统,自助终端以安全芯片为信任根,从底层硬件出发,通过逐层度量和验证,建立到达操作系统启动的信任链,通过操作系统内核对各个组件进行完整性度量,将得到的完整性度量结果保存到的安全芯片的PCR中,通过远程证明将完整性度量结果发送给服务端,由服务端根据该完整性度量结果对自助终端进行完整性评估,能够为自助终端的操作系统建立可信的运行环境,保证PCR中的完整性度量值能够真实反映自助终端的状态,向服务端证明终端在平台的身份和配置状态可信,使得终端可信扩展至自助终端与服务端之间。此外,服务端通过终端在平台的身份证明查询发起访问的自助终端是否拥有与有效的EK对应的终端在平台的身份,根据查询结果允许或拒绝自助终端的访问,从而保证被允许访问的自助终端是可信的,提高了可信网络的安全性。自助终端能够向服务端证明自身的安全属性,而不泄露自助终端的具体配置,且服务端也能够基于安全属性制定安全需求,提高了终端在平台的身份认证的安全性和灵活性。
[0067]本发明还提供了一种可信自助服务系统,包括自助终端和服务端,所述自助终端包括安全芯片、可信度量组件和可信接入客户端,所述服务端包括可信接入服务端;
[0068]所述安全芯片,用于进行完整性度量,将度量结果存储到平台配置寄存器中,并生成度量日志;
[0069]所述可信度量组件,与所述安全芯片连接,用于与所述安全芯片进行交互,获取所述安全芯片生成的度量日志,从所述平台配置寄存器中读取度量结果,获取终端在平台的身份密钥的公钥、对所述公钥的签名以及对所述度量结果的密钥签名;
[0070]所述可信接入客户端,与所述可信度量组件连接,用于通过所述可信度量组件获取所述终端在平台的身份密钥的公钥、对所述公钥的签名、所述度量日志、所述度量结果以及对所述度量结果的密钥签名,根据所述终端在平台的身份密钥的公钥、对所述公钥的签名、所述度量日志、所述度量结果以及对所述度量结果的密钥签名,组装成远程证明协议消息,将所述远程证明协议消息发送给所述可信接入服务端;
[0071]所述可信接入服务端,用于接收来自所述自助终端的远程证明协议消息,根据所述远程证明协议消息对所述自助终端的身份和完整性进行认证。
[0072]可选地,所述可信接入服务端,还用于与自助终端建立安全外壳信息通道,通过所述安全外壳信息通道与所述服务端进行通信。
[0073]可选地,所述服务端,还包括:
[0074]可信接入管理系统,与所述可信接入服务端连接,用于配置完整性安全策略,并向所述可信接入服务端提供对终端在平台的身份和度量日志进行认证的接口。
[0075]可选地,所述可信接入管理系统为用户交互界面系统,具体用于以用户交互界面的方式为管理员提供配置完整性策略和查看可信连接日志等功能,并通过WebService方法为所述可信接入服务端提供验证所述自助终端的平台身份、度量过程和度量结果是否合法的接口 ;
[0076]所述可信接入服务端,具体用于通过调用所述可信接入管理系统提供的WebService方法,对所述终端在平台的身份密钥的公钥的签名进行验证,判断所述自助终端的身份是否合法,如果所述自助终端的身份不合法,则断开与所述自助终端之间的连接;通过调用所述可信接入管理系统提供的WebService方法,对所述度量结果的密钥签名进行验证,判断所述度量结果是否为伪造或被篡改过,如果所述度量结果为伪造或被篡改过,则断开与所述自助终端之间的连接;通过调用所述可信接入管理系统提供的WebService方法,对所述度量日志进行验证,判断所述度量日志是否被篡改过以及所述自助终端的完整性是否满足安全策略,如果所述度量日志被篡改过,或者所述自助终端的完整性不满足安全策略,则断开与所述自助终端之间的连接。
[0077]本发明提供的可信自助服务系统中,自助终端通过内置的安全芯片进行完整性度量,并根据度量结果和终端在平台的身份密钥,与服务端进行认证,向服务端证明自身的平台身份和配置状态可信,使得终端可信扩展至自助终端与服务端之间,提高了可信自助服务系统的安全性。

【专利附图】

【附图说明】
[0078]图1为本发明实施例中的一种可信引导流程图;
[0079]图2为本发明实施例中的一种完整性度量流程图;
[0080]图3为本发明实施例中的一种远程证明流程图;
[0081]图4为本发明实施例中的一种终端在平台的身份认证流程图;
[0082]图5为本发明实施例中的一种平台完整性证明流程图;
[0083]图6为本发明实施例中的一种可信自助服务系统的结构示意图;
[0084]图7为本发明实施例中的另一种可信自助服务系统的系统结构示意图。

【具体实施方式】
[0085]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0086]需要说明的是,如果不冲突,本发明实施例以及实施例中的各个特征可以相互结合,均在本发明的保护范围之内。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0087]本发明实施例提供了一种可信自助服务系统的建立方法,自助终端通过内置的安全芯片进行可信引导和完整性度量,根据完整性度量结果与服务端进行远程证明,得到服务端对自助终端的完整性评估结果;自助终端向服务端发起访问请求时,通过向服务端发送终端在平台的身份信息进行身份认证,并在被服务端允许访问后,根据来自服务端的安全属性,从平台信任服务获取属性映射关系证书和证书撤销列表,基于属性映射关系证书和证书撤销列表,与服务端进行平台完整性的远程证明。
[0088]本发明实施例中,自助终端上电后,以内置的安全芯片作为信任根,执行如图1所示的可信引导流程,包括以下步骤:
[0089]步骤101,安全芯片对B1S (Basic Input Output System,基本输入输出系统)进行可信度量,验证B1S是否可信,如果是,则执行步骤102 ;否则,提示可信引导失败,结束流程。
[0090]步骤102,安全芯片将系统控制权转移给B1S。
[0091]步骤103,B1S对MBR(Main Boot Record,主引导记录)进行可信度量,验证MBR是否可信,如果是,则执行步骤104 ;否则,提示可信引导失败,结束流程。
[0092]具体地,B1S通过调用安全芯片对MBR进行可信度量,验证MBR是否可信。
[0093]步骤104,B1S将系统控制权转移给MBR。
[0094]步骤105,MBR对操作系统装载程序进行可信度量,验证操作系统装载程序是否可信,如果是,则执行步骤106 ;否则,提示可信引导失败,结束流程。
[0095]具体地,MBR通过调用安全芯片对操作系统装载程序进行可信度量,验证操作系统装载程序是否可信。
[0096]步骤106,MBR将系统控制权转移给操作系统装载程序。
[0097]步骤107,操作系统装载程序对操作系统内核进行可信度量,验证操作系统内核是否可信,如果是,则执行步骤108 ;否则,提示可信引导失败,结束流程。
[0098]具体地,操作系统装载程序通过调用安全芯片对操作系统内核进行可信度量,验证操作系统内核是否可信。
[0099]步骤108,操作系统装载程序将系统控制权转移给操作系统内核。
[0100]自助终端以安全芯片为信任根,从底层硬件出发,通过逐层度量和验证,建立到达操作系统启动的信任链,能够为自助终端的操作系统建立可信的运行环境。
[0101]进一步地,操作系统内核取得系统控制权之后,对组件映射到内存中的内容进行加载,并对组件执行如图2所示的完整性度量流程,包括以下步骤:
[0102]步骤201,操作系统内核对组件进行判断,如果是内核模块,则执行步骤202 ;如果是用户进程,则执行步骤203。
[0103]步骤202,操作系统内核计算内核模块的完整性度量值,将内核模块的完整性度量值添加到度量日志列表中。
[0104]具体地,操作系统内核采用SM3算法,对内核模块进行计算,将计算得到的SM3散列值作为内核模块的完整性度量值,并将内核模块的完整性度量值和内核模块的标识信息作为新的度量日志项,添加到度量日志列表中。
[0105]其中,内核模块的标识信息是能够唯一标识内核模块的信息,可以是内核模块的名称,也可以是内核模块的编号等信息。度量日志列表存储在安全芯片的PCR(PlatformConfigurat1n Register,平台配置寄存器)中。
[0106]步骤203,操作系统内核判断度量日志列表中是否包含用户进程,如果是,则执行步骤205 ;否则,执行步骤204。
[0107]具体地,操作系统内核遍历度量日志列表中的各个度量日志项,判断各个度量日志项是否包含用户进程的标识信息,如果度量日志列表中存在包含用户进程的标识信息的度量日志项,则确定度量日志列表中包含用户进程的完整性度量值;否则,确定度量日志列表中不包含用户进程的完整性度量值。
[0108]其中,用户进程的标识信息是能够唯一标识用户进程的信息,可以是用户进程的名称,也可以是用户进程的编号等信息。
[0109]步骤204,操作系统内核计算用户进程的完整性度量值,将用户进程的完整性度量值添加到度量日志列表中。
[0110]具体地,操作系统内核采用SM3算法,对用户进程进行计算,将计算得到的SM3散列值作为用户进程的完整性度量值,并将用户进程的完整性度量值和用户进程的标识信息作为新的度量日志项,添加到度量日志列表中。
[0111]步骤205,操作系统内核判断dirty位是否置位,如果是,则执行步骤206 ;否则,确定完整性度量完毕。
[0112]步骤206,操作系统内核计算用户进程的完整性度量值。
[0113]具体地,操作系统内核采用SM3算法,对用户进程进行计算,将计算得到的SM3散列值作为用户进程的完整性度量值。
[0114]步骤207,操作系统内核判断的用户进程的完整性度量值是否与度量日志列表中与该用户进程对应的完整性度量值相等,如果是,则确定完整性度量完毕;否则,执行步骤208。
[0115]步骤208,操作系统内核将度量日志列表中与用户进程对应的完整性度量值删除,将计算得到的用户进程的完整性度量值添加到度量日志列表中。
[0116]具体地,操作系统内核将度量日志列表中与用户进程对应的度量日志项删除,并将用户进程的标识信息和计算得到的用户进程的完整性度量值作为新的度量日志项,添加到度量日志列表中。
[0117]自助终端通过操作系统内核对各个组件进行完整性度量,并将得到的完整性度量值保存到的安全芯片的PCR中,从而防止攻击者篡改完整性度量值,保证PCR中的完整性度量值能够真实反映自助终端的状态。
[0118]进一步地,自助终端完成可信引导和完整性度量后,执行如图3所示的远程证明流程,包括以下步骤:
[0119]步骤301,自助终端向服务端发送PIK(Platform Identity Key,终端在平台的身份密钥)证书。
[0120]步骤302,服务端对接收到的PIK证书进行验证,如果验证通过,则执行步骤303 ;否则,断开与自助终端之间的连接,结束流程。
[0121]步骤303,服务端向自助终端发送随机数和远程证明请求。
[0122]步骤304,自助终端获取完整性度量结果。
[0123]具体地,自助终端从PCR的度量日志列表中读取完整性度量值,作为完整性度量结果。
[0124]步骤305,自助终端使用PIK证书和随机数对完整性度量结果进行签名,得到签名结果。
[0125]步骤306,自助终端对完整性度量结果和签名结果进行组合,将组合得到的远程证明结果发送给服务端。
[0126]步骤307,服务端从接收到的远程证明结果中获取签名结果和完整性度量结果。
[0127]步骤308,服务端使用随机数和PIK证书对签名结果进行验证,如果验证通过,则执行步骤309 ;否则,断开与自助终端之间的连接,结束流程。
[0128]步骤309,服务端根据完整性度量结果,对自助终端进行完整性评估,将得到的完整性评估结果发送给自助终端。
[0129]自助终端通过远程证明协议将完整性度量结果发送给服务端,由服务端根据该完整性度量结果对自助终端进行完整性评估,从而向服务端证明自身的平台身份和配置状态可信,使得终端可信扩展至自助终端与服务端之间。
[0130]本实施例中,自助终端向服务端发起访问请求时,执行如图4所示的终端在平台的身份认证流程,包括以下步骤:
[0131]步骤401,自助终端向服务端发送终端在平台的身份信息。
[0132]步骤402,服务端将终端在平台的身份信息发送给平台信任服务。
[0133]步骤403,平台信任服务判断终端在平台的身份信息是否对应一个有效的EK(TCMEndorsement Key,密码模块密钥),如果是,则执行步骤404 ;否则。执行步骤406。
[0134]步骤404,平台信任服务向服务端发送验证成功消息。
[0135]步骤405,服务端允许自助终端的访问。
[0136]步骤406,平台信任服务向服务端发送验证失败消息。
[0137]步骤407,服务端拒绝自助终端的访问。
[0138]服务端通过终端在平台的身份证明查询发起访问的自助终端是否拥有与有效的EK对应的终端身份,根据查询结果允许或拒绝自助终端的访问,从而保证被允许访问的自助终端是可信的,提高了可信网络的安全性。
[0139]进一步地,自助终端被服务端允许访问后,执行如图5所示的平台完整性证明流程,包括以下步骤:
[0140]步骤501,服务端向自助终端发送安全要求信息。
[0141]步骤502,自助终端从安全要求信息中提取安全属性,根据该安全属性生成映射关系获取请求。
[0142]步骤503,自助终端向平台信任服务发送映射关系获取请求。
[0143]步骤504,平台信任服务根据接收到的映射关系获取请求,获取安全属性。
[0144]步骤505,平台信任服务根据获取到的安全属性,查询对应的属性映射关系证书和最新的证书撤销列表,将查询到的属性映射关系证书和证书撤销列表发送给自助终端。
[0145]步骤506,自助终端基于接收到的属性映射关系证书和证书撤销列表,与服务端进行平台完整性的远程证明。
[0146]通过上述流程,自助终端能够向服务端证明自身的安全属性,而不泄露自助终端的具体配置,且服务端也能够基于安全属性制定安全需求,提高了终端在平台的身份认证的安全性和灵活性。
[0147]基于上述可信自助服务系统的建立方法,本发明实施例还提供了一种可信自助服务系统,如图6所示,包括自助终端600、服务端700和平台信任服务800 ;
[0148]其中,自助终600,包括:
[0149]第一发送模块601,用于向服务端700发送终端在平台的身份信息;
[0150]服务端700,包括:
[0151]第一接收模块701,用于接收来自自助终端600的终端在平台的身份信息;
[0152]第二发送模块702,用于将第一接收模块701接收到的终端在平台的身份信息发送给平台信任服务800;
[0153]平台信任服务800,包括:
[0154]第二接收模块801,用于接收来自服务端700的终端在平台的身份信息;
[0155]判断模块802,用于判断第二接收模块801接收到的终端在平台的身份信息是否对应一个有效的密码模块密钥;
[0156]第三发送模块803,用于在判断模块802判断出终端在平台的身份信息对应一个有效的密码模块密钥时,向服务端700发送验证成功消息;在判断模块802判断出终端自平台的身份信息没有对应一个有效的密码模块密钥时,向服务端700发送验证失败消息;
[0157]上述服务端700,还包括:
[0158]第三接收模块703,用于接收来自平台信任服务800的验证成功消息和验证失败消息;
[0159]控制模块704,用于在第三接收模块703接收到验证成功消息后,允许自助终端600的访问;在第三接收模块703接收到验证失败消息后,拒绝自助终端600的访问。
[0160]进一步地,上述服务端700,还包括:
[0161]第四发送模块705,用于向自助终端600发送安全要求信息;
[0162]相应地,上述自助终端600,还包括:
[0163]第四接收模块602,用于接收来自服务端700的安全要求信息;
[0164]生成模块603,用于从第四接收模块602接收到的安全要求信息中提取安全属性,根据安全属性生成映射关系获取请求;
[0165]第五发送模块604,用于将生成模块603生成的映射关系获取请求发送给平台信任服务800 ;
[0166]上述平台信任服务800,还包括:
[0167]第五接收模块804,用于接收来自自助终端600的映射关系获取请求;
[0168]查询模块805,用于根据第五接收模块804接收到的映射关系获取请求,获取安全属性,根据安全属性,查询对应的属性映射关系证书和最新的证书撤销列表;
[0169]第六发送模块806,用于将查询模块805查询到的属性映射关系证书和证书撤销列表发送给自助终端600 ;
[0170]上述自助终端600,还包括:
[0171]第六接收模块605,用于接收来自平台信任服务800的属性映射关系证书和证书撤销列表;
[0172]远程证明模块606,用于基于第六接收模块605接收到的属性映射关系证书和证书撤销列表,与服务端700进行平台完整性的远程证明。
[0173]进一步地,上述第一发送模块601,还用于向服务端700发送终端在平台的身份密钥证书;
[0174]上述第一接收模块701,还用于接收来自自助终端600的终端在平台的身份密钥证书;
[0175]上述第四发送模块705,还用于向自助终端600发送随机数和远程证明请求;
[0176]上述第四接收模块602,还用于接收来自服务端700的随机数和远程证明请求;
[0177]相应地,上述自助终端600,还包括:
[0178]获取模块607,用于获取完整性度量结果;
[0179]签名模块608,用于使用终端在平台的身份密钥证书和随机数对获取模块607获取到的完整性度量结果进行签名,得到签名结果;
[0180]组合模块609,用于对完整性度量结果和签名模块608签名得到的签名结果进行组合,得到远程证明结果;
[0181]上述第一发送模块601,还用于将组合模块609组合得到的远程证明结果发送给服务端700 ;
[0182]上述第一接收模块701,还用于接收来自自助终端600的远程证明结果;
[0183]上述服务端700,还包括:
[0184]验签模块706,用于从第一接收模块701接收到的远程证明结果中获取签名结果和完整性度量结果,使用随机数和终端在平台的身份密钥证书对签名结果验证;
[0185]评估模块707,用于在验签模块706对签名结果验证通过后,根据完整性度量结果,对自助终端600进行完整性评估;
[0186]上述第四发送模块705,还用于将评估模块707得到的完整性评估结果发送给自助终端600。
[0187]进一步地,上述服务端700,还包括:
[0188]验证模块708,用于对第一接收模块701接收到的终端在平台的身份密钥证书进行验证;
[0189]上述第四发送模块705,具体用于在验证模块708对终端在平台的身份密钥证书验证通过后,向自助终端600发送随机数和远程证明请求;
[0190]上述控制模块704,还用于在验证模块708对终端在平台的身份密钥证书验证未通过后,断开与自助终端600之间的连接。
[0191]本实施例中,上述自助终端600,还包括:操作系统内核610和安全芯片611 ;
[0192]其中,操作系统内核610,用于计算自助终端600中的组件的完整性度量值,将完整性度量值添加到度量日志列表中;
[0193]具体地,上述组件为用户进程时,上述操作系统内核610,具体用于判断度量日志列表中是否包含用户进程的完整性度量值;
[0194]当度量日志列表中不包含用户进程的完整性度量值时,计算用户进程的完整性度量值,将用户进程的完整性度量值添加到度量日志列表中;
[0195]当度量日志列表中包含用户进程,且dirty位置位时,计算用户进程的完整性度量值,并在判断出用户进程的完整性度量值与度量日志列表中与用户进程对应的完整性度量值不相等之后,将度量日志列表中与用户进程对应的完整性度量值删除,将计算得到的用户进程的完整性度量值添加到度量日志列表中。
[0196]其中,度量日志列表存储在安全芯片611的平台配置寄存器中。
[0197]相应地,上述获取模块607,具体用于从度量日志列表中读取完整性度量值,作为完整性度量结果;
[0198]进一步地,上述自助终端600,还包括:基本输入输出系统612、主引导记录613和操作系统装载程序614;
[0199]其中,上述安全芯片611,用于对基本输入输出系统612进行可信度量,并在验证出基本输入输出系统612可信后,将系统控制权转移给基本输入输出系统612 ;
[0200]上述基本输入输出系统612,用于对主引导记录613进行可信度量,并在验证出主引导记录613可信后,将系统控制权转移给主引导记录613 ;
[0201]上述主引导记录613,用于对操作系统装载程序614进行可信度量,并在验证出操作系统装载程序614可信后,将系统控制权转移给操作系统装载程序614 ;
[0202]上述操作系统装载程序614,用于对操作系统内核610进行可信度量,并在验证出操作系统内核610可信后,将系统控制权转移给操作系统内核610。
[0203]本发明实施例提供的可信自助服务系统中,自助终端以安全芯片为信任根,从底层硬件出发,通过逐层度量和验证,建立到达操作系统启动的信任链,通过操作系统内核对各个组件进行完整性度量,将得到的完整性度量结果保存到的安全芯片的PCR中,通过远程证明将完整性度量结果发送给服务端,由服务端根据该完整性度量结果对自助终端进行完整性评估,能够为自助终端的操作系统建立可信的运行环境,保证PCR中的完整性度量值能够真实反映自助终端的状态,向服务端证明自身的平台身份和配置状态可信,使得终端可信扩展至自助终端与服务端之间。
[0204]此外,服务端通过终端在平台的身份证明查询发起访问的自助终端是否拥有与有效的EK对应的终端身份,根据查询结果允许或拒绝自助终端的访问,从而保证被允许访问的自助终端是可信的,提高了可信网络的安全性。自助终端能够向服务端证明自身的安全属性,而不泄露自助终端的具体配置,且服务端也能够基于安全属性制定安全需求,提高了终端在平台的身份认证的安全性和灵活性。
[0205]本发明实施例还提供了另一种可信自助服务系统,如图7所示,包括自助终端910和服务端920,自助终端910包括安全芯片911、可信度量组件912和可信接入客户端913,服务端920包括可信接入服务端921和可信接入管理系统922。
[0206]其中,安全芯片911,用于进行完整性度量,将度量结果存储到PCR中,并生成度量曰志;
[0207]可信度量组件912,与安全芯片911连接,用于与安全芯片911进行交互,获取安全芯片911生成的度量日志,从PCR中读取度量结果,获取终端在平台的身份密钥的公钥、对该公钥的签名以及对度量结果的密钥签名;
[0208]具体地,可信度量组件912,是一个用C语言实现的DLL库,为可信接入客户端913提供API,具体提供如下服务:
[0209]1、获取终端在平台的身份密钥的公钥:
[0210]输入:空
[0211]输出:终端在平台的身份密钥的公钥
[0212]2、获取度量结果:
[0213]输入:度量结果索引
[0214]输出:度量结果
[0215]3、获取度量结果的密钥签名:
[0216]输入:无
[0217]输出:度量结果的密钥签名
[0218]4、获取度量日志列表:
[0219]输入:无
[0220]输出:度量日志列表
[0221]可信接入客户端913,与可信度量组件912连接,包含SSH(Secure Shell,安全外壳)客户端,用于通过可信度量组件912获取终端在平台的身份密钥的公钥、对该公钥的签名、度量日志、度量结果以及对度量结果的密钥签名,根据终端在平台的身份密钥的公钥、对该公钥的签名、度量日志、度量结果以及对度量结果的密钥签名,组装成远程证明协议消息,并将该远程证明协议消息作为SSH安全协议认证层消息发送给可信接入服务端921,请求与可信接入服务端921进行认证。
[0222]具体地,可信接入客户端913,是一个用Java语言实现的应用程序,主要提供SSH安全协议的客户端功能,并调用可信度量组件912的API,生成远程证明协议消息。
[0223]其中,远程证明协议消息包含以下内容:
[0224]PublicKey:终端在平台的身份密钥的公钥;
[0225]PublicKeySigned:对终端在平台的身份密钥的公钥的签名
[0226]Logs:度量日志列表
[0227]FinalPcr:度量结果
[0228]FinalPcrSigned:对度量结果的密钥签名
[0229]可信接入服务端921,包含SSH(Secure Shell,安全外壳)服务端,用于接收来自自助终端910的远程证明协议消息,根据该远程证明协议消息对自助终端910的身份和完整性进行认证。此外,可信接入服务端921还用于与自助终端910建立SSH信息通道。当SSH信息通道建立之后,自助终端910与可信接入服务端921之间通过SSH信息通道进行通?目。
[0230]具体地,可信接入服务端921,是一个用Java语言实现的应用程序,主要提供SSH安全协议的服务端功能,并扩展了 SSH的认证层协议,将传统的密码或证书的方式,改为远程证明协议的方式。
[0231 ] 可信接入服务端921通过调用可信接入管理系统922提供的WebService方法,采用SM2算法对终端在平台的身份密钥的公钥的签名进行验证,判断自助终端910的身份是否合法,如果自助终端910的身份不合法,则断开与自助终端910之间的连接;通过调用可信接入管理系统922提供的WebService方法,采用SM2算法对度量结果的密钥签名进行验证,判断度量结果是否为伪造或被篡改过,如果度量结果为伪造或被篡改过,则断开与自助终端910之间的连接;通过调用可信接入管理系统922提供的WebService方法,采用SM3算法对度量日志进行验证,判断度量日志是否被篡改过以及自助终端910的完整性是否满足安全策略,如果度量日志被篡改过,或者自助终端910的完整性不满足安全策略,则断开与自助终端910之间的连接。
[0232]可信接入管理系统922,与可信接入服务端921连接,用于配置完整性安全策略,并向可信接入服务端921提供对终端在平台的身份和度量日志进行认证的接口。
[0233]具体地,可信接入管理系统922,是一个⑶I (Graphical User Interface,用户交互界面)系统,以GUI的方式为管理员提供配置完整性策略和查看可信连接日志等功能,并通过WebService方法为可信接入服务端921提供验证自助终端910在平台的身份、度量过程和度量结果是否合法的接口。
[0234]本发明实施例提供的可信自助服务系统中,自助终端通过内置的安全芯片进行完整性度量,并根据度量结果和终端在平台的身份密钥,与服务端进行认证,向服务端证明自身的平台身份和配置状态可信,使得终端可信扩展至自助终端与服务端之间,提高了可信自助服务系统的安全性。
[0235]结合本文中所公开的实施例描述的方法中的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或【技术领域】内所公知的任意其它形式的存储介质中。
[0236]最后应说明的是,以上实施例仅用以描述本发明的技术方案而不是对本技术方法进行限制,本发明在应用上可以延伸为其他的修改、变化、应用和实施例,并且因此认为所有这样的修改、变化、应用、实施例都在本发明的精神和教导范围内。
【权利要求】
1.一种可信自助服务系统的建立方法,其特征在于,包括以下步骤: 自助终端向服务端发送终端在平台的身份信息,所述服务端将所述终端在平台的身份信息发送给平台信任服务模块; 所述平台信任服务模块判断所述终端在平台的身份信息是否对应一个有效的密码模块密钥,如果是,所述平台信任服务模块向所述服务端发送验证成功消息,所述服务端允许所述自助终端的访问;否则,所述平台信任服务模块向所述服务端发送验证失败消息,所述服务端拒绝所述自助终端的访问。
2.如权利要求1所述的方法,其特征在于,所述服务端接收到所述自助终端的访问之I还包括: 所述服务端向所述自助终端发送安全要求信息; 所述自助终端从所述安全要求信息中提取安全属性,根据所述安全属性生成映射关系获取请求,将所述映射关系获取请求发送给所述平台信任服务模块; 所述平台信任服务模块根据所述映射关系获取请求,获取安全属性,根据所述安全属性,查询对应的属性映射关系证书和最新的证书撤销列表,将查询到的属性映射关系证书和证书撤销列表发送给所述自助终端; 所述自助终端基于所述属性映射关系证书和所述证书撤销列表,与所述服务端进行平台完整性的远程证明。
3.如权利要求2所述的方法,其特征在于,所述自助终端通过所述服务端向所述平台信任服务模块发送终端在平台的身份信息之前,还包括: 所述自助终端向所述服务端发送终端在平台的身份密钥证书; 所述服务端向所述自助终端发送随机数和远程证明请求; 所述自助终端获取完整性度量结果,使用所述终端在平台的身份密钥证书和所述随机数对所述完整性度量结果进行签名,得到签名结果; 所述自助终端对所述完整性度量结果和所述签名结果进行组合,将组合得到的远程证明结果发送给所述服务端; 所述服务端从所述远程证明结果中获取所述签名结果和所述完整性度量结果,并在使用所述随机数和所述终端在平台的身份密钥证书对所述签名结果验证通过后,根据所述完整性度量结果,对所述自助终端进行完整性评估,将得到的完整性评估结果发送给所述自助终端。
4.如权利要求3所述的方法,其特征在于,所述服务端向所述自助终端发送随机数和远稈证明请求之前,还包括: 所述服务端对所述终端在平台的身份密钥证书进行验证; 所述服务端向所述自助终端发送随机数和远程证明请求,具体为: 如果所述服务端对所述终端在平台的身份密钥证书验证通过,所述服务端向所述自助终端发送随机数和远程证明请求; 所述服务端对所述终端在平台的身份密钥证书进行验证之后,还包括: 如果所述服务端对所述终端在平台的身份密钥证书验证未通过,所述服务端断开与所述自助终端之间的连接。
5.如权利要求3所述的方法,其特征在于,所述自助终端向所述服务端发送终端在平台的身份密钥证书之前,还包括: 所述自助终端中的操作系统内核计算所述自助终端中的组件的完整性度量值,将所述完整性度量值添加到度量日志列表中; 所述自助终端获取完整性度量结果,具体为: 所述自助终端从所述度量日志列表中读取完整性度量值,作为完整性度量结果。
6.如权利要求5所述的方法,其特征在于,所述组件为用户进程; 所述操作系统内核计算所述组件的完整性度量值,具体为: 所述操作系统内核判断所述度量日志列表中是否包含所述用户进程的完整性度量值; 如果所述度量日志列表中不包含所述用户进程的完整性度量值,所述操作系统内核计算所述用户进程的完整性度量值,将所述用户进程的完整性度量值添加到所述度量日志列表中; 如果所述度量日志列表中包含所述用户进程,且dirty位置位,所述操作系统内核计算所述用户进程的完整性度量值,并在判断出所述用户进程的完整性度量值与所述度量日志列表中与所述用户进程对应的完整性度量值不相等之后,将所述度量日志列表中与所述用户进程对应的完整性度量值删除,将计算得到的所述用户进程的完整性度量值添加到所述度量日志列表中。
7.如权利要求5或6所述的方法,其特征在于,所述自助终端内置有安全芯片,所述度量日志列表存储在所述安全芯片的平台配置寄存器中。
8.如权利要求7所述的方法,其特征在于,所述操作系统内核计算所述组件的完整性度量值之前,还包括: 所述安全芯片对基本输入输出系统进行可信度量,并在验证出所述基本输入输出系统可信后,将系统控制权转移给所述基本输入输出系统; 所述基本输入输出系统对主引导记录进行可信度量,并在验证出所述主引导记录可信后,将系统控制权转移给所述主引导记录; 所述主引导记录对操作系统装载程序进行可信度量,并在验证出所述操作系统装载程序可信后,将系统控制权转移给所述操作系统装载程序; 所述操作系统装载程序对所述操作系统内核进行可信度量,并在验证出所述操作系统内核可信后,将系统控制权转移给所述操作系统内核。
【文档编号】H04L9/32GK104333450SQ201410567890
【公开日】2015年2月4日 申请日期:2014年10月21日 优先权日:2014年10月21日
【发明者】魏革, 代彪, 薛立徽, 任香, 魏毓璟 申请人:广东金赋信息科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1