基于公私钥体制的远程验证移动设备合法性的系统和方法与流程

文档序号:11778426阅读:226来源:国知局
基于公私钥体制的远程验证移动设备合法性的系统和方法与流程

本发明涉及移动设备合法性的验证技术领域,具体为一种基于公私钥体制的远程验证移动设备合法性的方法。



背景技术:

移动设备合法性的问题一直是困扰移动应用系统的一个问题,移动应用通常通过提取设备型号、硬件唯一标识码、hash、自行生成随机数等手段用于识别设备的合法性,然而这些手段都是通过系统接口实现的,容易被攻击者通过劫持相关接口的方式篡改,从而使得移动应用遭受到黑客的攻击。

有鉴于此,特提出本发明。



技术实现要素:

本发明要解决的技术问题在于克服现有技术的不足,提供一种基于公私钥体制的远程验证移动设备合法性的方法,将移动设备身份凭证转化为公私钥形式,并将身份凭证和密钥保存在移动设备端,以避免移动设备身份合法性提取接口被劫持造成的安全风险;并且本发明还提供了实施该方法的系统。

为解决上述技术问题,本发明采用技术方案的基本构思是:

第一方面,本发明提供了一种基于公私钥体制的远程验证移动设备合法性的系统,包括:

移动设备:用于存储带有公钥的认证证书以及与该公钥对应的认证私钥;还用于在接收到设备认证服务器发送的验证请求报文后进行处理,对处理后的报文附加所述认证证书后封装并使用认证私钥对封装报文进行签名形成应答报文,发送给设备认证服务器;

设备认证服务器:用于存储签发认证证书的根证书,以及用于接收到移动应用服务器发起的移动设备合法性验证请求后,对所述移动设备发送验证请求报文;并在收到所述应答报文后通过根证书验证该报文中认证证书合法性,之后通过认证证书验证报文签名的合法性。

进一步的,上述基于公私钥体制的远程验证移动设备合法性的系统中,所述移动设备内的安全存储区域中存储用于将所述认证证书进行封装,并进行所述认证私钥的签名的可信应用。

第二方面,本发明提供了一种基于公私钥体制的远程验证移动设备合法性的方法,在设备认证服务器端,包括:

发出移动设备合法性验证的请求报文至移动设备;以及

存储签发移动设备中的认证证书的根证书,其中签发的该认证证书带有公钥且与该公钥对应的认证私钥在所述移动设备中;在收到移动设备发回的应答报文后通过根证书验证应答报文中包含的认证证书的合法性,再通过认证证书验证应答报文中被认证私钥签署的签名的合法性。

进一步的,上述基于公私钥体制的远程验证移动设备合法性的方法中,在设备认证服务器端还包括:

发出移动设备合法性验证的请求报文至移动设备的步骤,是在设备认证服务器接收到移动应用服务器发起的移动设备合法性验证请求进行的;且在完成移动设备的合法性校验后,将结果发送至移动应用服务器。

进一步的,上述基于公私钥体制的远程验证移动设备合法性的方法中,在设备认证服务器端还包括:生成带有随机数和挑战值的请求报文,将该报文发送给移动应用服务器,以使移动应用服务器通过网络将请求报文转发给移动设备端的移动应用,移动应用再通过系统接口将该报文转发给移动设备。

进一步的,上述基于公私钥体制的远程验证移动设备合法性的方法中,在设备认证服务器端还包括:在完成通过认证证书验证应答报文中被认证私钥签署的签名的合法性后,对接收到的所述应答报文中的随机数和挑战值应答串进行校验。

上述基于公私钥体制的远程验证移动设备合法性的方法在移动设备端,包括:

存储带有公钥的认证证书以及与该公钥对应的认证私钥;以及

在接收到设备认证服务器发送的验证请求报文后进行处理,对处理后的报文附加所述认证证书后封装并使用认证私钥对封装报文进行签名形成应答报文,发送给设备认证服务器,以使设备认证服务器收到所述应答报文后,通过设备认证服务器存储的签发认证证书的根证书验证应答报文中认证证书的合法性,再通过认证证书验证报文签名的合法性。

进一步的,上述基于公私钥体制的远程验证移动设备合法性的方法中,在移动设备端还包括:根据请求报文中读取的挑战值生成挑战值应答串,并将认证证书连同从请求报文中读取的随机数以及挑战值应答串信息封装在一起,并使用认证私钥对封装报文进行签名,签名附在应答报文的末尾。

第三方面本发明提供了构成上述系统的设备认证服务器,包括存储介质,存储介质中分别存储有程序和根证书,所述根证书为签发移动设备中的认证证书的根证书,其中签发的该认证证书带有公钥且与该公钥对应的认证私钥在所述移动设备中;所述程序被运行时执行以下步骤:

发出移动设备合法性验证的请求报文至移动设备;以及

存储签发移动设备中的认证证书的根证书,其中签发的该认证证书带有公钥且与该公钥对应的认证私钥在所述移动设备中;在收到移动设备发回的应答报文后通过根证书验证应答报文中包含的认证证书的合法性,再通过认证证书验证应答报文中被认证私钥签署的签名的合法性。

进一步的,上述设备认证服务器中,程序被运行时还执行:

接收到移动应用服务器发起的移动设备合法性验证请求后,发出移动设备合法性验证的请求报文至移动设备;以及完成移动设备的合法性校验后,将结果发送至移动应用服务器。

进一步的,上述设备认证服务器中,程序被运行时还执行:生成带有随机数和挑战值的所述请求报文,将该报文发送给移动应用服务器以使移动应用服务器通过网络将请求报文转发给移动设备端的移动应用,移动应用再通过系统接口将该报文转发给移动设备的可信应用程序。

本发明还提供了构成上述系统的移动设备,包括存储介质,存储介质中分别存储有程序和带有公钥的认证证书以及与该公钥对应的认证私钥;该程序被运行时执行以下步骤:

在接收到设备认证服务器发送的验证请求报文后进行处理,对处理后的报文附加所述认证证书后封装并使用认证私钥对封装报文进行签名形成应答报文,发送给设备认证服务器,以使设备认证服务器收到所述应答报文后,通过设备认证服务器存储的签发认证证书的根证书验证应答报文中认证证书的合法性,再通过认证证书验证报文签名的合法性。

进一步的,上述移动设备中,该程序封装报文时:根据请求报文中读取的挑战值生成挑战值应答串,并将认证证书连同从请求报文中读取的随机数以及挑战值应答串等信息封装在一起,并使用认证私钥对封装报文进行签名,签名附在应答报文的末尾。

采用上述技术方案后,本发明与现有技术相比具有以下有益效果:

提供一种基于公私钥体制的远程验证移动设备合法性的方法,将移动设备身份凭证转化为公私钥的形式,并将私钥保存于移动设备端的安全环境中,设备认证服务器仅存储签发设备证书的根证书,安全性更高,避免移动设备相关接口被劫持进行恶意篡改设备数据造成的安全风险,且即便移动设备端相关接口被恶意劫持,由于本发明方法中认证服务器端验证移动设备的认证措施(如根证书)不在网络上传输(即避免被劫持和篡改),且其签发的证书带有的公钥与私钥签名作为第二重验证,使得接口被劫持后也不会出现将非法设备转化合法设备的效果,有效地降低了安全风险,大大降低了设备认证系统的风险水平。

并且本发明还提供了实现该方法的系统,成本低,安全性高,兼容性好。

附图说明

图1是本发明提供的一种基于公私钥体制的远程验证移动设备合法性的系统的结构示意图;

图2是本发明提供的基于公私钥体制的远程验证移动设备合法性的方法在系统上实施的示意图;

图3是本发明系统中设备认证服务器的结构示意框图;

图4是本发明系统中移动设备的结构示意框图;

具体实施方式

下面结合附图和具体实施例,对本发明作进一步说明,以助于理解本发明的内容。

如图1-2所示,一种基于公私钥体制的远程验证移动设备合法性的系统,包括:

移动设备1:用于安全存储带有公钥的认证证书(attestation证书)以及与该公钥对应的认证私钥(attestation私钥);还用于在接收到设备认证服务器3发送的验证请求报文后进行处理,对处理后的报文附加所述认证证书后封装并使用认证私钥对封装报文进行签名形成应答报文,发送给设备认证服务器3;

设备认证服务器3:用于存储签发认证证书的根证书,以及用于接收到移动应用服务器2发起的移动设备1合法性验证请求后,对所述移动设备1发送验证请求报文;并在收到所述应答报文后通过根证书验证该报文中认证证书合法性,之后通过认证证书验证报文签名的合法性。

移动设备1上的移动应用进行一些敏感操作(如交易或授权等))时需要验证移动设备的合法性,则移动应用服务器2为移动应用向设备认证服务器3发起对移动设备的合法性验证请求,以通知设备认证服务器3发起移动设备1的合法性验证操作;所述设备认证服务器3在发起移动设备合法性验证操作后,发送请求报文(requestmessage):具体的,首先将该请求报文发送给移动应用服务器,移动应用服务器通过网络将请求报文转发给移动设备端的移动应用,移动应用再通过系统接口将该请求报文转发给移动设备内可信执行环境(tee)或可信模块(se)或可信平台模块(tpm)等安全区域中的可信应用程序。其中该安全区域中存储上述带有公钥的attestation证书和attestation私钥作为移动设备的身份凭证,这些移动设备凭证仅存放在移动设备的安全区域中,不会存放于设备认证服务器端,而签发所述attestation证书的根证书(rootcertificate)存储在设备认证服务器上。

设备认证服务器在接收到移动设备发送的应答报文后,首先通过根证书验证报文中attestation证书的合法性,在通过attestation证书验证应答报文中签名的合法性,因为attestation证书包含公钥,该公钥与所述认证私钥为一对非对称密钥,能互为加解密,应答报文被认证私钥签名,故而用attestation证书对应答报文的签名的合法性进行验证,最终完成移动设备的合法性校验后,将结果传递给移动应用服务器。

本发明验证系统中移动设备身份凭证转化为公私钥形式,将私钥保存于移动设备端的安全环境中,公钥附在认证证书中也安全保存在移动设备端,在设备认证服务器中仅存储签发设备证书的根证书,通过根证书验证认证证书合法,则证书中的公钥可验证移动设备私钥合法,相对于传统识别识别合法性的手段(提取硬件唯一识别码、hash、自动生成随机数等),可有效地避免移动设备身份合法性提取接口被劫持造成的安全风险;其中所述移动设备可以是手机、笔记本、平板或可穿戴设备等,都可以基于本发明认证系统完成合法性校验。

对本发明上述系统,本发明还提供了一种通过该系统实施的基于公私钥体制的远程验证移动设备合法性的方法,参考图1-2,该方法在设备认证服务端,包括

接收移动应用服务器发起的移动设备合法性验证请求,并发出移动设备合法性验证的请求报文至移动设备;以及

存储签发移动设备中的认证证书的根证书,其中签发的该认证证书带有公钥且与该公钥对应的认证私钥在所述移动设备中;在收到移动设备发回的应答报文后通过根证书验证应答报文中包含的认证证书的合法性,再通过认证证书验证应答报文中被认证私钥签署的签名的合法性;

完成移动设备的合法性校验后,将结果发送至移动应用服务器。

具体的,本发明方法是在移动应用需要验证移动设备合法性时,通过移动应用服务器发起移动设备合法性验证流程后实施的,标准的设备认证服务器收到移动应用服务器发起的移动设备合法性验证的通知后,发起移动设备的认证:设备认证服务器生成带有随机数和挑战值等安全措施的请求报文(requestmessage),将该报文发送给移动应用服务器;移动应用服务器通过网络将请求报文转发给移动设备端的移动应用,移动应用再通过系统接口将该报文转发给移动设备。

移动设备向设备认证服务器返回一个应答报文,其中封装有被上述根证书签发的带有公钥的认证证书(attestation证书),以及封装有从请求报文读取出的随机数和对所述挑战值生成的挑战值应答串;且应答报文末尾附有被移动设备中的认证私钥(attestation私钥)签署的签名;故设备认证服务器收到该应答报文后,首先通过根证书验证认证证书的合法性,若该attestation证书合法,再通过认证证书验证应答报文签名的合法性,因为应答报文的签名由attestation私钥完成,则已验证合法的attestation证书中的公钥可对该签名验证合法性;如果签名合法,而后再校验随机数、挑战值应答串等安全手段,校验完毕后,将结果发送给移动应用服务器。

故本发明上述基于公私钥体制的远程验证移动设备合法性的方法在在移动设备端,还包括:

安全存储带有公钥的认证证书(attestation证书)以及与该公钥对应的认证私钥(attestation私钥);

在接收到设备认证服务器发送的验证请求报文后进行处理,对处理后的报文附加所述认证证书后封装并使用认证私钥对封装报文进行签名形成应答报文,发送给设备认证服务器,以使设备认证服务器收到所述应答报文后,通过设备认证服务器存储的签发认证证书的根证书验证应答报文中认证证书的合法性,再通过认证证书验证报文签名的合法性。

其中,移动设备内集成可信执行环境(tee)或可信模块(se)等安全措施,在可信执行环境或可信模块中由移动设备厂商通过安全手段预置认证证书(attestation证书)和认证私钥(attestation私钥),其中attestation证书带有与该attestation私钥对应的公钥;厂商对attestation证书和密钥的下发方式是本领域成熟技术,本发明不做唯一限定。

移动应用通过系统接口将设备认证服务器发送的所述请求报文转发给移动设备后,对请求报文进行解析处理,以读取报文数据,此处理步骤为本领域成熟技术,本发明不做特殊限定;根据请求报文中读取的挑战值生成挑战值应答串,并将认证证书连同从请求报文中读取的随机数以及挑战值应答串等信息封装在一起,并使用认证私钥对封装报文进行签名sig,其中签名sig附在应答报文的末尾,组成应答报文(responsemessage):

responsemessage=process(requestmessage)…|attestation证书|sig

sig=signattestation私钥(process(requestmessage)…|attestation证书)

将应答报文层层转发至设备认证服务器中进行合法性验证过程。

设备认证服务器端收到应答报文后进行的上述验证过程如下:

a).requestmessage自带的安全机制如挑战值应答、随机数等判断responsemessage的合法性;

b).通过根证书(rootcertificate)验证attestation证书的合法性;

c).通过attestation证书验证sig签名合法性;

判断移动设备合法性的结果告知移动应用服务器,移动应用服务器接收到设备认证服务器报告的验证结果,进行后续的逻辑操作。

本发明验证方法,将移动设备身份凭证转化为公私钥的形式,并将私钥保存于移动设备端的安全环境中,设备认证服务器仅存储签发设备证书的根证书,安全性更高,避免移动设备相关接口被劫持进行恶意篡改设备数据造成的安全风险,且即便移动设备端相关接口被恶意劫持,由于本发明方法中认证服务器端验证移动设备的认证措施(如根证书)不在网络上传输(即避免被劫持和篡改),且其签发的证书带有的公钥与私钥签名作为第二重验证,使得接口被劫持后也不会出现将非法设备转化合法设备的效果,有效地降低了安全风险,大大降低了设备认证系统的风险水平。

第三方面,本发明还提供了构成上述系统且实施上述方法的设备认证服务器3,如图3所示的,该设备认证服务器包括存储介质301,存储介质301中分别存储有程序和根证书,所述根证书为签发移动设备中的认证证书的根证书,其中签发的该认证证书带有公钥且与该公钥对应的认证私钥在所述移动设备中;所述程序被运行时执行以下步骤:

接收移动应用服务器发起的移动设备合法性验证请求,并发出移动设备合法性验证的请求报文至移动设备;以及在收到移动设备发回的应答报文后通过根证书验证应答报文中包含的认证证书的合法性,再通过认证证书验证应答报文中被认证私钥签署的签名的合法性;

完成移动设备的合法性校验后,将结果发送至移动应用服务器。

具体的该程序执行生成请求报文的步骤:生成带有随机数和挑战值等安全措施的请求报文(requestmessage),将该报文发送给移动应用服务器以使移动应用服务器通过网络将请求报文转发给移动设备端的移动应用,移动应用再通过系统接口将该报文转发给移动设备的可信应用程序。

因此本发明进一步还提供了构成上述系统且实施上述方法的移动设备1,如图4所示的,包括存储介质101,存储介质101中存储有程序,且移动设备中安全存储带有公钥的认证证书(attestation证书)以及与该公钥对应的认证私钥(attestation私钥);该程序被运行时执行以下步骤:

在接收到设备认证服务器发送的验证请求报文后进行处理,对处理后的报文附加所述认证证书后封装并使用认证私钥对封装报文进行签名形成应答报文,发送给设备认证服务器,以使设备认证服务器收到所述应答报文后,通过设备认证服务器存储的签发认证证书的根证书验证应答报文中认证证书的合法性,再通过认证证书验证报文签名的合法性。

该程序存储在可信执行环境(tee)或可信模块(se)或可信平台模块(tpm)等安全区域中作为可信应用程序,程序封装报文时:根据请求报文中读取的挑战值生成挑战值应答串,并将认证证书连同从请求报文中读取的随机数以及挑战值应答串等信息封装在一起,并使用认证私钥对封装报文进行签名sig,其中签名sig附在应答报文的末尾,组成应答报文(responsemessage):

responsemessage=process(requestmessage)…|attestation证书|sig

sig=signattestation私钥(process(requestmessage)…|attestation证书)

将应答报文层层转发至设备认证服务器中进行合法性验证过程。

本发明移动设备将执行程序安全存储在可信执行环境/可信模块中保护,安全性高;移动设备上的移动应用无须自己考虑验证设备合法性的方法,调用相关接口即可,移动设备通过设备认证服务器验证,成本低,且用户体验好,移动设备身份凭证对用户透明;兼容性好,基于与本发明设备认证服务器交互验证,无论何种设备(手机、笔记本、平板、可穿戴设备),都可以使用相同的认证协议完成设备合法性校验。

本文中应用了具体个例对发明构思进行了详细阐述,以上实施例的说明只是用于帮助理解本发明的核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离该发明构思的前提下,所做的任何显而易见的修改、等同替换或其他改进,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1