终端的认证方法及系统的制作方法

文档序号:10613163阅读:363来源:国知局
终端的认证方法及系统的制作方法
【专利摘要】一种终端的认证方法,用于在两个终端之间实现双向认证,所述方法包括:第一终端接收第二终端传送的认证请求,根据该认证请求计算验证信息,并根据该验证信息判断是否接受第二终端的认证。本发明还提供一种终端的认证系统。本发明可以在认证时不需要第三方,减少网络资源及计算资源的占用,且能够解决用户终端在线交易安全性问题。
【专利说明】
终端的认证方法及系统
技术领域
[0001]本发明涉及网络安全技术领域,具体地,涉及一种终端的认证方法及系统。
【背景技术】
[0002]从广义上讲,M2M可以代表机器对机器(Machine to Machine)、人对机器(Man toMachine)、机器对人(Machine to Man)、移动网络对机器(Mobile to Machine)之间的连接与通信,它涵盖了所有实现在人、机器、系统之间建立通信连接的技术和手段。M2M业务为各种行业的客户提供了一种集数据采集、传输、处理和业务管理的整套解决方案。目前,M2M的重点在于机器对机器的无线通信,存在以下三种方式:机器对机器,机器对移动电话(如用户远程监视),移动电话对机器(如用户远程控制)。
[0003]无线机器到机器协议(WMMP,Wireless M2M Protocol)是为实现M2M业务中M2M终端与M2M平台之间、M2M终端之间、M2M平台与应用平台之间的数据通信过程而设计的应用层协议,是中国移动针对M2M业务而开发的协议,该协议提供了端到端的无线机器通信、终端管理和业务安全等方面的基本功能。根据WMMP规定,M2M终端只有在M2M平台注册并经过认证后才能使用M2M业务。
[0004]现有的机器与机器之间的身份认证的解决方案基本是基于公钥密码体制。所述基于公钥密码体制包括:各M2M终端都从可信的第三方数字证书认证中心(CertificateAuthority,简称CA)处取得各自对应的身份证书和对应的私钥,并可取得CA证书用于验证各自对应的身份证书;M2M终端接入网络时,通过发送各自的身份证书进行验证双方身份;认证通过后才可以接入网络。
[0005]该公钥密码体制存在着加密运算复杂,且加密大数据时性能和效率都大大降低的缺点,在终端节点数量庞大时,大量用户认证会消耗信令交互的网络资源及计算资源。
[0006]此外,该公钥密码体制需要依赖可信任的第三方管理密钥,在病毒、黑客、网络钓鱼以及网页仿冒诈骗等恶意威胁下,给在线交易的安全性带来了极大的挑战。

【发明内容】

[0007]鉴于以上内容,有必要提出一种终端的认证方法,在认证时不需要第三方,减少网络资源及计算资源的占用,且能够解决用户终端在线交易安全性问题。
[0008]一种终端的认证方法,包括:
[0009]第一终端接收第二终端传送过来的第一认证请求,根据所述第一认证请求计算第一验证信息,并根据所述第一验证信息执行对所述第二终端的认证;及
[0010]当所述第一终端认证了所述第二终端的合法身份时,所述第一终端向所述第二终端传送第二认证请求,以使所述第二终端根据所述第二认证请求计算第二验证信息,并根据所述第二验证信息执行对所述第一终端的认证。
[0011]本发明其他较佳实施例中,所述第二终端传送过来的第一认证请求包括所述第二终端的用户名、认证密钥以及时间戳;以及所述第一验证信息包括第一验证密钥,所述第一验证密钥为根据所接收到的所述第二终端的用户名以及时间戳,利用注册服务器的服务器密钥以及加密算法计算得到。
[0012]本发明其他较佳实施例中,根据所述第一验证信息执行对所述第二终端的认证包括:
[0013]当所述第二终端的认证密钥与所述第一验证密钥相同时,认证所述第二终端的合法身份;及
[0014]当所述第二终端的认证密钥与所述第一验证密钥不相同时,结束对所述第二终端的认证操作。
[0015]本发明其他较佳实施例中,根据所述第一认证请求计算第一验证信息,并根据所述第一验证信息执行对所述第二终端的认证之前,还包括:
[0016]当接收到所述第二终端传送的第一认证请求时的时间戳与所述第二终端传送的时间戳之间的差值小于预设的有效时间间隔时,计算所述第一验证信息;及
[0017]当接收到所述第二终端传送的第一认证请求时的时间戳与所述第二终端传送的时间戳之间的差值大于或者等于所述预设的有效时间间隔时,结束对所述第二终端的认证操作。
[0018]本发明其他较佳实施例中,所述认证方法还包括对所述第一终端执行注册,所述第一终端执行注册包括:
[0019]所述第一终端向注册服务器传送所述第一终端的用户名以及加密后的用户密钥;
[0020]接收所述注册服务器传送的二次加密的用户密钥、所述第一终端的注册密钥、加密后的服务器密钥以及所述注册服务器所使用的加密算法,其中,所述二次加密的用户密钥是所述注册服务器使用所述加密算法对所述用户密钥进行第二次加密所得到,所述注册密钥是所述注册服务器根据所述第一终端的用户名、用户密钥以及所述加密后的服务器密钥,使用所述加密算法计算得到的;及
[0021]存储所述注册服务器传送的二次加密的用户密钥、注册密钥、加密后的服务器密钥及所述注册服务器所使用的加密算法于所述第一终端的安全存储区域。
[0022]本发明其他较佳实施例中,所述用户密钥为用户的生物特征密钥中的一种或多种的组合,包括指纹密钥、虹膜密钥、声音密钥及人脸密钥。
[0023]本发明其他较佳实施例中,所述安全存储区域为所述第一终端的嵌入式SIM卡的安全存储区。
[0024]本发明其他较佳实施例中,所述用户名为所述嵌入式SIM卡提供的身份标识。
[0025]本发明其他较佳实施例中,所述认证方法还包括在所述第一终端执行的用户密钥修改,所述用户密钥修改包括:
[0026]在接收到修改用户密钥的请求时,提示用户输入当前的用户密钥;及
[0027]在验证用户输入的所述当前的用户密钥正确时,提示所述用户向所述第一终端输入新的用户密钥。
[0028]本发明其他较佳实施例中,所述用户密钥修改还包括:
[0029]使用所述加密算法对所述新的用户密钥进行二次加密,及根据所述第一终端的用户名、所述新的用户密钥以及加密后的服务器密钥,使用所述加密算法计算出所述第一终端的新的注册密钥,并存储所述二次加密的新的用户密钥以及新的注册密钥于所述第一终端的安全存储区域中,并提示用户新的用户密钥设置成功。
[0030]鉴于以上内容,还有必要提出一种终端的认证系统,在认证时不需要第三方,减少网络资源及计算资源的占用,且能够解决用户终端在线交易安全性问题。
[0031 ] 一种终端的认证系统,所述认证系统包括:
[0032]认证模块,用于:
[0033]接收第二终端传送过来的第一认证请求,根据所述第一认证请求计算第一验证信息,并根据所述第一验证信息执行对所述第二终端的认证;及
[0034]当认证了所述第二终端的合法身份时,向所述第二终端传送第二认证请求,以使所述第二终端根据所述第二认证请求计算第二验证信息,并根据所述第二验证信息执行对第一终端的认证。
[0035]本发明其他较佳实施例中,所述第二终端传送过来的第一认证请求包括所述第二终端的用户名、认证密钥以及时间戳;以及所述第一验证信息包括第一验证密钥,所述第一验证密钥为根据所接收到的所述第二终端的用户名以及时间戳,利用注册服务器的服务器密钥以及加密算法计算得到。
[0036]本发明其他较佳实施例中,根据所述第一验证信息执行对所述第二终端的认证包括:
[0037]当所述第二终端的认证密钥与所述第一验证密钥相同时,认证所述第二终端的合法身份;及
[0038]当所述第二终端的认证密钥与所述第一验证密钥不相同时,结束对所述第二终端的认证操作。
[0039]本发明其他较佳实施例中,所述认证模块还用于:
[0040]当接收到所述第二终端传送的第一认证请求时的时间戳与所述第二终端传送的时间戳之间的差值小于预设的有效时间间隔时,计算所述第一验证信息;及
[0041]当接收到所述第二终端传送的第一认证请求时的时间戳与所述第二终端传送的时间戳之间的差值大于或者等于所述预设的有效时间间隔时,结束对所述第二终端的认证操作。
[0042]本发明其他较佳实施例中,该双向认证系统还包括:
[0043]注册模块,用于向注册服务器提出注册请求,并接收所述注册服务器根据所述注册请求传送的注册相关信息,并将所述注册相关信息存储于所述第一终端的安全存储区中,其中:
[0044]所述注册请求包括所述第一终端的用户名以及加密后的用户密钥;以及
[0045]所述注册相关信息包括二次加密的用户密钥、所述第一终端的注册密钥、加密后的服务器密钥以及所述注册服务器所使用的加密算法,其中,所述二次加密的用户密钥是所述注册服务器使用所述加密算法对所述用户密钥进行第二次加密所得到,所述注册密钥是所述注册服务器根据所述第一终端的用户名、用户密钥以及所述加密后的服务器密钥,使用所述加密算法计算得到的。
[0046]本发明其他较佳实施例中,所述用户密钥为用户的生物特征密钥中的一种或多种的组合,包括指纹密钥、虹膜密钥、声音密钥及人脸密钥。
[0047]本发明其他较佳实施例中,所述安全存储区域为所述第一终端的嵌入式SIM卡的安全存储区。
[0048]本发明其他较佳实施例中,所述用户名为所述嵌入式SIM卡提供的身份标识。
[0049]本发明其他较佳实施例中,该认证系统还包括:
[0050]密钥修改模块,用于在接收到修改用户密钥的请求时,提示用户输入所述第一终端当前的用户密钥,并在用户输入的所述当前的用户密钥正确时,提示用户输入新的用户密钥。
[0051 ]本发明其他较佳实施例中,所述密钥修改模块还用于:
[0052]使用所述加密算法对所述新的用户密钥进行二次加密,及根据所述第一终端的用户名、所述新的用户密钥以及加密后的服务器密钥,使用所述加密算法计算出所述第一终端的新的注册密钥,并存储所述二次加密的新的用户密钥以及新的注册密钥于所述第一终端的安全存储区域中,并提示用户新的用户密钥设置成功。
[0053]相较于现有技术,本发明所使用的方法中,在终端向注册服务器注册阶段,终端发送用户名和加密后的用户密钥给注册服务器,而不是直接发送用户密钥给注册服务器。所以当注册服务器中存在内部攻击者时也无法获取用户密钥,保证用户密钥的安全性。此外,本发明方法使用了时间戳机制,可以防止重放攻击。再者,本发明的方法中,即使注册服务器的密钥被泄露,任何用户密钥的信息都是安全的,因为注册服务器本身没有存储任何的用户密钥信息。进一步地,本发明方法在进行M2M终端的双向认证时,不需要注册服务器的参与,释放了注册服务器的计算资源。
【附图说明】
[0054]图1所示是本发明M2M终端的认证方法较佳实施例中注册阶段的方法流程图。
[0055]图2所示是本发明M2M终端的认证方法较佳实施例中的注册阶段的示例图。
[0056]图3及图4所示是本发明终端的认证方法较佳实施例中双向认证阶段的方法流程图。
[0057]图5所示是本发明终端的一种认证方法较佳实施例中双向认证阶段的示例图。
[0058]图6所示是本发明终端的另一种认证方法较佳实施例中双向认证阶段的示例图。
[0059]图7所示是本发明终端的认证方法较佳实施例中密钥修改阶段的方法流程图。
[0060]图8所示是本发明终端的认证方法较佳实施例中密钥修改阶段的示例图。
[0061 ]图9所示是本发明终端的认证系统较佳实施例的应用环境示意图。
[0062]图10所示是本发明终端的硬件架构图。
[0063]图11所示是本发明终端的认证系统较佳实施例中功能模块图。
[0064]主要元件符号说明
[0065]M2M 终端I
[0066]注册服务器2
[0067]认证系统10
[0068]通讯单元11
[0069]存储器12
[0070]处理器13
[0071]eSIM 卡14
[0072]注册模块100
[0073]认证模块101
[0074]密钥修改模块102
【具体实施方式】
[0075]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清除、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。
[0076]基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0077]本发明实施例中,所描述的终端为一个M2M终端。所述M2M可以代表机器对机器(Machine to Machine)、人对机器(Man to Machine)、机器对人(Machine to Man)、移动网络对机器(Mobile to Machine)之间的连接与通信,它涵盖了所有实现在人、机器、系统之间建立通信连接的技术和手段。一个M2M终端可以是第一终端与第二终端之间的连接与通信,“第一”,“第二”等词语(如果存在)用来表示名称,而并不表示任何特定的顺序。
[0078]请参考图1,是本发明终端的认证方法较佳实施例中注册阶段的方法流程图。根据不同的需求,该图所示流程图中的执行顺序可以改变,某些可以省略。
[0079]S10,M2M终端向注册服务器传送该M2M终端的用户名以及加密后的用户密钥。
[0080]本发明较佳实施例中,所述用户名可以是嵌入到所述M2M终端的eSM卡提供的身份标识,例如手机号,或者也可以是用户自定义的用户名,但该用户名须先与所述手机号绑定。所述用户密钥可以是用户的生物特征密钥中的一种或者多种的组合,常用的生物特征密钥包括有指纹密钥、虹膜密钥、声音密钥、人脸密钥等。
[0081]Sll,所述注册服务器接收到所述M2M终端传送的用户名以及用户密钥后,使用加密算法对所述用户密钥进行第二次加密。
[0082]本实施例中,所述加密算法可以是一种散列算法。
[0083]S12,所述注册服务器根据所述M2M终端传送的用户名及用户密钥,并进一步利用所述注册服务器的加密后的服务器密钥,使用所述加密算法计算出所述M2M终端的注册密钥。
[0084]S13,所述注册服务器将计算出来的二次加密的用户密钥、该M2M终端的注册密钥、加密后的服务器密钥及上述使用的加密算法传送给所述M2M终端,并存储于所述M2M终端的安全存储区域中,例如,存储于内嵌于所述M2M终端的eS頂卡的安全存储区中。
[0085]由上述流程可知,本发明较佳实施例中,当M2M终端的用户第一次申请加入M2M平台使用M2M业务时,会向注册服务器提出合法注册申请。用户可以自己选择用户名UID(UserID)和用户密钥BK(B1Signature key),然后,将所述UID和经过加密的BK通过安全信道发送到所述注册服务器。所述注册服务器响应用户请求,计算M2M终端的注册密钥等信息。最后,所述注册服务器通过安全信道将注册密钥等信息,发送到M2M终端的安全存储区中。
[0086]本发明较佳实施例中,在M2M终端的用户向注册服务器执行注册的阶段中,用户是发送用户的UID和加密的BK给注册服务器,而不是直接发送用户密钥BK给注册服务器。所以当注册服务器中存在内部攻击者时,其也无法获取用户密钥BK,保证用户密钥的安全性。
[0087]所述注册阶段的一个示例,请参阅下述的图2所示的示意图。
[0088]首先对图2所示的注册阶段使用的一些参数进行如下声明:
[0089]UID表示用户名;BK表示用户生物特征密钥;HashO表示散列函数;RSK表示注册服务器密钥;※表示加解密运算(如异或运算)。
[0090 ] 参阅图2所示,M2M终端用户UID i的注册包括:
[0091]1:将用户名UIDi和加密后的用户密钥Hash(BKi)发送给注册服务器。
[0092]2:注册服务器先通过散列函数计算出用户UIDi的用户密钥哈希值:HHBKi =Hash(Hash(BKi));
[0093]3:注册服务器再使用所述散列函数以及用户的用户名UID1、加密后的用户密钥Hash(BKi)、加密后的注册服务器密钥Hash(RSK),这些参数计算出用户UIDi的注册密钥哈希值:HRSKi =Hash(UIDi※Hash(RSK))※Hash(BKi);
[0094]4:注册服务器将在计算用户密钥哈希值和用户注册密钥哈希值过程中所使用加解密相关的信息,包括[冊8灯、!11?1^、1]10丨、他811(1?10、他811()]存储于用户1]10丨的63]卡的安全存储区中。
[0095]同理,M2M终端用户UIDj的注册包括:
[0096]1:将用户名UIDj和加密后的用户密钥Hash(BKj)发送给所述注册服务器;
[0097]2:注册服务器计算出用户UIDj的用户密钥哈希值HHBKj=HasMHash(BKj));
[0098]3:注册服务器计算出用户UIDj的用户注册密钥哈希值:
(RSK) )※Hash (BKj);
[0099]4:注册服务器将在计算用户密钥哈希值和用户注册密钥哈希值过程中所使用加解密相关的信息,包括[冊8幻、!11?幻、1]10」、他811(1?10、他811()]存储于用户1]10」的63]卡的安全存储区中。
[0100]至此,完成两个M2M终端的认证过程。
[0101]在M2M终端用户UIDi与用户UIDj完成注册之后,还需进行双方的身份认证,才可以实现两者之间的连接与通信。按照现有的认证方式,每一个M2M终端需要分别独立地与注册服务器完成鉴权和传送数据,那么,注册服务器将面临无法处理如此庞大的用户请求的局面,从而严重地降低了 M2M服务的服务质量。
[0102]本案在认证阶段,只需要在两个或者多个M2M终端之间进行身份认证,认证过程并不需要注册服务器的参与,详细过程请参阅下述的图3至图5的描述。
[0103]参阅图3及图4所示,是本发明M2M终端的认证方法较佳实施例中认证阶段的方法流程图。根据不同的需求,该图所示流程图中的执行顺序可以改变,某些可以省略。
[0104]参阅图3所示:
[0105]S20,第一终端根据其安全存储区中所存储的注册密钥、加密后的用户密钥以及当前时间戳Tci,利用其安全存储区中所存储的加密算法计算出该第一终端的认证密钥SKi。
[0106]本实施例中,所存储的注册密钥、加密算法是在注册阶段中,注册服务器传送的。
[0107]S21,第一终端将其用户名、所述认证密钥SKi以及所述时间戳Tci传送给第二终端。
[0108]S22,第二终端在接收到第一终端传送的用户名、认证密钥SKi以及时间戳Tci时,获取当前时间戳Tcj。
[0109]S23,第二终端判断是否Tcj-Tci〈AT。所述ΔΤ为预设的有效的时间间隔。
[0110]当Tcj-Tci彡ΔΤ时,第二终端判断有可能发生了防止重放攻击,因此结束此次认证流程。
[0111]当Tcj-Tci〈AT时,
[0112]S24,第二终端根据所接收到的第一终端的用户名以及时间戳Tci,并利用所存储的注册服务器的服务器密钥,计算出一个验证密钥SKij。
[0113]S25,第二终端判断是否SKi j = SKi。
[0114]若SKi j乒SKi,则结束此次认证流程。
[0115]否则,若SKij = SKi,则S26,第二终端接收第一终端的认证。
[0116]至此,完成第二终端对第一终端的认证,接着,执行第一终端对第二终端的认证,参阅图4所示:
[0117]S30,第二终端根据其安全存储区中所存储的注册密钥、加密后的用户密钥以及当前时间戳Tc j,利用其安全存储区中所存储的加密算法计算出该第二终端的认证密钥SKj。
[0118]本实施例中,所存储的注册密钥、加密算法是在注册阶段中,注册服务器传送的。
[0119]S31,第二终端将其用户名、所述认证密钥SKj以及所述时间戳Tcj传送给第一终端。
[0120]S32,第一终端在接收到所述第二终端传送的用户名、认证密钥SKj以及所述时间戳Tcj时,获取当前时间戳Tcji。
[0121 ] S33,第一终端判断是否Tc j1-Tc j〈 Δ Τ。所述Δ T为预设的有效的时间间隔。
[0122]当Tcj 1-Tc j彡Δ T时,第一终端判断有可能发生了防止重放攻击,因此结束此次认证流程。
[0123]当Tcj1-Tc j〈A T时,
[0124]S34,第一终端根据所接收到的第二终端的用户名以及时间戳Tcj,并利用所存储的注册服务器的服务器密钥,计算出一个验证密钥SKji。
[0125]S35,第一终端判断是否SKji = SKj。
[0126]若SKji乒SKj,则结束此次认证流程。
[0127]否则,gSKji = SKj,则S36,第一终端接受第二终端的认证。
[0128]至此,完成第一终端对第二终端的验证。
[0129]应该可以理解,上述实施例所述的第一、第二终端仅是所述M2M终端的示例性终端,两者的角色可以互换,在所述第二终端执行的流程同样适用于所述第一终端以及在所述第一终端执行的流程同样适用于所述第二终端。
[0130]根据上述描述可以看出,当用户要求被验证或者需要认证其他用户的时候,会执行双向认证操作。如图5所示,该双向认证操作包括:
[0? 31 ] S37,第一终端接收第二终端传送过来的第一认证请求,根据所述第一认证请求计算第一验证信息,并根据所述第一验证信息执行对所述第二终端的认证;及
[0132]S38,当所述第一终端认证了所述第二终端的合法身份时,所述第一终端向所述第二终端传送第二认证请求,以使所述第二终端根据所述第二认证请求计算第二验证信息,并根据所述第二验证信息执行对所述第一终端的认证。
[0133]本发明较佳实施例中,所述双向认证操作只发生在M2M终端之间进行身份认证,并不需要注册服务器的参与。
[0134]所述双向认证阶段的一个示例,请参阅下述的图6所示的示意图。
[0135]首先,对图6所示的双向认证阶段使用的一些参数进行如下声明:
[0136]Tc i表示M2M终端用户UID i当前的时间戳;Tc j表示M2M终端用户UID j当前的时间戳;A T表示有效的时间间隔。
[0137]l:计算用户UIDi的认证密钥哈希值:SKi=Hash(HRSKi※Hash(BKi)※Tci);
[0138]2:用户UIDi向M2M业务系统中的所有用户发送认证请求消息[UID1、SK1、Tci];
[0139]3:M2M业务系统中的任何在线用户接收到请求消息后,先进入消息认证过程。
[0140]假设用户UIDi向用户UIDj发送请求消息,且用户UIDj在Tcj收到用户UIDi发送请求消息。
[0?41 ] 4:用户UI Dj先验证请求时间的合法性,即判断(Tc j - Tc i)是否小于Δ T。如果(Tc j -TciX Δ T,用户UIDj就接受认证请求,否则拒绝认证请求。
[0142]5:通过执行4后,假设用户UIDj验证了用户UIDi请求时间的合法性,接受用户UIDi的认证请求。然后会计算出用户UIDj在Tci时刻的验证密钥哈希值:SKi j =Hash(Hash
并判断当前计算出的SKij与用户UIDi发送过来的SKi是否相同。如果两者相同,用户UIDj就接受用户UIDi成为它的一个合法用户,否则,认为用户UIDi
是一个非法用户。
[0143]6:通过执行5后,如果用户UIDj接受用户UIDi成为它的一个合法用户之后,就会计算出用户UIDj的当前认证密钥哈希值:SKj = HasMHRSKj),然后用户UIDj向用户UIDi发送请求消息[SKj、UIDj、Tcj]。
[0144]7:用户UIDi先验证请求时间的合法性,判断(Tc j1-Tc j)是否小于Δ T。如果(Tc j1-TcjX Δ T,用户UIDi就接受认证请求,否则拒绝认证请求。
[0145]8:通过执行7后,假设用户UIDi验证了用户UIDj请求时间的合法性,接受用户UIDj的认证请求,然后会计算出用户UI Di在Tc j时刻的验证密钥哈希值:SKj i =Hash (Hash
最后判断当前计算出的SKji与用户UIDj发送过来的SKj是否相同。如果两者相等,用户UIDi接受用户UIDj成为它的一个合法用户。否则,认为用户UIDj是一个非法用户。
[0146]当执行完5后,得出SKij与用户UIDi发送过来的SKi相同,且当执行完8后,得出SKj i与用户UIDj发送过来的SKj相同,也就是当SKi j = SKi且SKj i = SKj时,就了实现用户UIDi与用户UIDj之间的双向认证操作。
[0147]上述实施例介绍了利用用户生物特征作为用户密钥,执行终端的注册以及认证。应该可以理解,用户的生物特征密钥有时候需要修改,例如,用户希望将其用户密钥从指纹密钥变成虹膜密钥,或者,需要将用户密钥从用户A的生物特征修改为用户B的生物特征。下面介绍如何执行用户密钥的修改。
[0148]参阅图7所示,是本发明M2M终端的双向认证方法较佳实施例中密钥修改阶段的方法流程图。根据不同的需求,该图所示流程图中的执行顺序可以改变,某些可以省略。
[0149]S40,M2M终端在接收到修改用户密钥的请求时,提示用户输入当前的用户密钥。例如,所述M2M终端可以在其用户界面上提供一个密钥修改请求图标,当用户选择该图标时,所述M2M终端判断接收到修改用户密钥的请求。
[0150]S41,M2M终端判断对用户输入的当前的用户密钥进行两次加密运算后的值与注册服务器传送的二次加密的用户密钥是否一致。
[0151]若对用户输入的当前的用户密钥进行两次加密运算后的值与注册服务器传送的二次加密的用户密钥不一致,则结束密钥修改流程。
[0152]否则,若对用户输入的当前的用户密钥进行两次加密运算后的值与注册服务器传送的二次加密的用户密钥一致,则S42,M2M终端提示用户输入新的用户密钥。
[0153]S43,M2M终端使用加密算法对所述新的用户密钥进行二次加密,及根据该M2M终端的用户名、新的用户密钥以及加密后的服务器密钥,使用所述加密算法计算出该终端的新的注册密钥,并存储所述二次加密的新的用户密钥以及新的注册密钥于终端的安全存储区域中。
[0154]S44,M2M终端提示用户新的用户密钥设置成功。
[0155]根据上述描述可知,修改用户密钥阶段主要发生在用户需要修改用户密钥的时候;在用户输入正确的用户生物密钥后,才会执行的修改密钥流程。由于M2M终端的eSIM(Embedded SIM,嵌入式SIM)卡的安全存储区存放着加密相关的信息,所以修改密钥的过程不需要注册服务器的参与。
[0156]所述密钥修改的一个示例,请参阅图8所示的示意图。
[0157]1:在需要修改用户密钥时,用户在M2M终端中先输入当前的用户密钥BKi ;
[0158]2:M2M终端使用存储在eS頂卡的安全区中的散列函数HashO对用户输入的用户密钥进行散列函数运算Hash(Hash(BKi)),并判断其是否等于所存储的HHBKi,如果两者相等,说明用户输入的用户密钥BKi是合法密钥,就进入新密钥注册过程;
[0159]3:M2M终端通过两次使用散列函数计算出用户UIDi的新的用户密钥哈希值:HHBKn= Hash(Hash(BKn));
[0160]4:M2M终端再使用散列函数以及用户的UID1、Hash(BKn)、Hash(RSK)这些参数计算出用户UIDi的新的用户注册密钥哈希值:HRSKn = Hash(UIDn※Hash(RSK))※Hash(BKn);
[0161]5: M2M终端将新的用户密钥哈希值和用户注册密钥哈希值[HHBKn、HRSKn ]存储于用户UIDi的M2M终端的eS頂卡内的安全存储区中;
[0162]6:M2M终端提示用户UIDi,修改新密钥成功。
[0163]对本发明方法的安全性的分析:
[0164]本发明的方法中,在用户向注册服务器注册阶段,是发送用户的UID和Hash(BK)给注册服务器,而不是直接发送用户密钥BK给注册服务器,所以当注册服务器中存在内部攻击者,其也无法获取用户的密钥BK,保证用户密钥信息的安全性。此外,本发明方法使用了时间戳机制,可以防止重放攻击。进一步地,本发明的方法中,如果注册服务器的密钥RSK被泄露,任何的用户密钥信息也是安全的,因为注册服务器本身没有存储任何的用户密钥信息。
[0165]以上所述,仅是本发明的【具体实施方式】,但本发明的保护范围并不局限于此,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出改进,但这些均属于本发明的保护范围。
[0166]上述图1至图8详细介绍了本发明的M2M终端的注册方法、认证方法以及密钥修改方法,下面结合第9?11图,分别对实现上述M2M终端的认证方法的硬件系统架构以及实现该M2M终端的认证方法的软件系统的功能模块进行介绍。
[0167]应该了解,该实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
[0168]如图9所示,为本发明实现所述M2M终端的认证方法较佳实施例的硬件系统架构图。
[0169]在本发明的其中一个较佳实施例中,所述M2M终端的认证方法的实现由两大部分构成:多台M2M终端1、注册服务器2。
[0170]其中,所述M2M终端I是能够回答包含在一些设备中的数据的请求或能够自动传送包含在这些设备中的数据的设备,应用在电力、交通、工业控制、零售、公共事业管理、医疗、水利、石油等多个行业,用于车辆防盗、安全监测、自动售货、机械维修、移动物流管理(M-logistic management)、移动支付(M-P0S)、移动监控(M-monitoring)等。
[0171]如图1O所示,所述M2M终端I包括认证系统1、通讯单元11、存储器12、处理器13以及eSIM卡14。应该了解,所述M2M终端I也可以包括其他硬件或者软件,例如,显示屏幕、摄像头、控制电路等,而并不限制于上述列举的部件。
[0172]所述通讯单元11用于所述M2M终端I与其他设备,如其他M2M终端I或者服务器之间的信息交换。
[0173]所述通讯单元11可以是无线通讯模块,包括W1-Fi模块,WiMax(WorldInteroperability for Microwave Access,即全球微波接入互操作性)模块,GSM(GlobalSystem for Mobile Communicat1n,全球移动通信系统)模块,CDMA(Code Divis1nMultiple Access,码分多址)模块,包括 CDMA2000,CDMA,CDMA2000 Ix evdo,WCDMA,TD-SCDMA等等),LTE(Long Term Evolut1n,长期演进)模块,HiperLAN(high-performancerad1 local area network,高性能无线局域网)模块、以及短距离无线传输模块,如蓝牙、Zigbee、RF 等等。
[0174]所述存储器12用于存储程序和各种数据,并在M2M终端I运行过程中实现高速、自动地完成程序或数据的存取。所述存储器12可以是M2M终端I的外部存储器和/或内部存储器。进一步地,所述存储器12可以是集成电路中没有实物形式的具有存储功能的电路,如RAM( Random-Acces s Memory,随机存取存储器)、FIF0(First In First Out,)等。或者,所述存储器12也可以是具有实物形式的存储设备,如内存条、TF卡(Trans-flash Card)等等。
[0175]所述处理器13又称中央处理器(CF1U,Central Processing Unit),是一块超大规模的集成电路,是M2M终端I的运算核心(Core)和控制核心(ControI Unit) 0处理器11的功能主要是解释程序指令以及处理软件中的数据。
[0176]所述eSIM卡14是指将传统SM卡直接嵌入到设备芯片上,而不是作为独立的可移除零部件加入设备中,以满足便利、出行、成本、安全性等的要求。
[0177]所述认证系统10可以包括多个由程序段所组成的功能模块(详见图11)。所述认证系统10中的各个程序段的程序代码可以存储于所述存储器12中,并由所述处理器13所执行,以执行在M2M平台上的注册及与其他M2M终端I的认证等操作(详见图11中描述)。
[0178]其中,本发明较佳实施例中,所述注册服务器2可以是一个CA服务器,用于对数字证书的申请者发放、管理、取消等。所述CA的作用是检查证书持有者身份的合法性,并签发证书(用数学方法在证书上签字),以防证书被伪造或篡改。
[0179]本实施例中,所述注册服务器2用于接受各个M2M终端I的注册,以使M2M终端I可以合法使用M2M业务。
[0180]本发明较佳实施例中,所述注册服务器2接受M2M终端I的首次注册请求,并响应该注册请求,计算出用户的密钥哈希值HHBK和注册密钥哈希值HRSK,并将HHBK、HRSK等信息通过安全信道发送到M2M终端I的eS頂卡14的安全存储区中。
[0181]本发明较佳实施例中,所述注册服务器2只参与M2M终端I的首次注册操作,在注册之后的各个操作,如各个M2M终端I之间的认证操作等可以不参与。
[0182]参阅图11所示,为本发明位置推荐系统较佳实施例的功能模块图。本实施例中,所述认证系统10根据其所执行的功能,可以被划分为多个功能模块。本实施例中,所述功能模块包括:注册模块100、认证模块1I及密钥修改模块102。
[0183]所述注册模块100用于向注册服务器2提出注册请求,并接收注册服务器2根据所述注册请求传送回来的注册相关信息,并将该接收到的注册相关信息存储于M2M终端I的安全存储区域中,例如,存储于内嵌于所述M2M终端I的eS頂卡14的安全存储区。
[0184]本实施例中,所述注册模块100在向注册服务器2提出注册请求时,传送M2M终端I的用户名以及加密后的用户密钥,接收注册服务器2计算并传送的二次加密的用户密钥、该M2M终端I的注册密钥、加密后的服务器密钥及注册服务器2所使用的加密算法等。
[0185]在本发明较佳实施例中,所述用户名可以是所述eSM卡14提供的身份标识,如手机号等,或者也可以是用户自定义的用户名,但该用户名须先与所述手机号绑定。所述用户密钥可以是用户的生物特征密钥中的一种,常用的生物特征密钥包括有指纹密钥、虹膜密钥、声音密钥、人脸密钥等等。
[0186]所述认证模块101用于接收另一个M2M终端I传送的认证请求,根据该认证请求计算一个验证信息,并根据所述验证信息判断是否接收所述另一个M2M终端I的认证。
[0187]本实施例中,所述认证请求包括所述另一个M2M终端I的用户名、认证密钥以及一时间戳Tci。所述认证密钥是所述另一个M2M终端I根据其注册密钥、加密后的用户密钥以及所述时间戳Tci,利用所存储的加密算法计算得到的。其中,所述注册密钥以及所述加密算法是所述另一个M2M终端I在注册阶段由注册服务器2所传送的。
[0188]本实施例中,所述验证信息包括一个验证密钥,所述验证密钥是根据所接收到的所述另一个M2M终端I的用户名以及时间戳Tci,并利用所存储的注册服务器2的服务器密钥以及加密算法计算得到的。其中,所述注册服务器2的服务器密钥以及所述加密算法是在注册阶段,由注册服务器2所传送的。
[0?89]进一步地,所述认证模块1I还用于判断接收到所述另一个M2M终端I传送的认证请求时的时间戳Tcj与所述时间戳Tci之差是否小于预设的有效时间间隔AT,即是否Tcj-Tci〈 Δ T。只有在Tcj-TciX Δ T时,所述认证模块101才计算所述验证信息。当Tc j_Tci彡Δ T时,所述认证模块101结束认证操作。
[0190]本发明较佳实施例中,根据所述验证信息判断是否接收所述另一个M2M终端I的认证是通过判断所述认证密钥与所述验证密钥是否相同。当所述认证密钥与所述验证密钥相同时,所述认证模块101接收所述另一个M2M终端I的认证。当所述认证密钥与所述验证密钥不相同时,所述认证模块101结束认证操作。
[0191]所述密钥修改模块102用于在接收到修改用户密钥的请求时,提示用户输入的当前的用户密钥,并在判断用户输入的当前的用户密钥正确时,提示用户输入新的用户密钥,并在新的密钥设置成功时,提示用户新的用户密钥设置成功。
[0192]所述判断用户输入的当前的用户密钥正确是指对用户输入的当前的用户密钥进行两次加密运算后得到的值与注册服务器2传送的二次加密的用户密钥一致。
[0193]本发明较佳实施例中,当所述密钥修改模块102使用加密算法对所述新的用户密钥进行二次加密,及根据该M2M终端I的用户名、新的用户密钥以及加密后的服务器密钥,使用所述加密算法计算出该终端的新的注册密钥,并存储所述二次加密的新的用户密钥以及新的注册密钥于M2M终端I的安全存储区域中以后,新的密钥设置成功。
[0194]在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0195]另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
[0196]上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分。
[0197]对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此夕卜,显然“包括”一词不排除其他单元或,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。
[0198]最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
【主权项】
1.一种终端的认证方法,其特征在于,所述认证方法包括: 第一终端接收第二终端传送过来的第一认证请求,根据所述第一认证请求计算第一验证信息,并根据所述第一验证信息执行对所述第二终端的认证;及 当所述第一终端认证了所述第二终端的合法身份时,所述第一终端向所述第二终端传送第二认证请求,以使所述第二终端根据所述第二认证请求计算第二验证信息,并根据所述第二验证信息执行对所述第一终端的认证。2.如权利要求1所述的终端的认证方法,其特征在于,所述第二终端传送过来的第一认证请求包括所述第二终端的用户名、认证密钥以及时间戳;以及所述第一验证信息包括第一验证密钥,所述第一验证密钥为根据所接收到的所述第二终端的用户名以及时间戳,利用注册服务器的服务器密钥以及加密算法计算得到。3.如权利要求2所述的终端的认证方法,其特征在于,所述根据所述第一验证信息执行对所述第二终端的认证包括: 当所述第二终端的认证密钥与所述第一验证密钥相同时,认证所述第二终端的合法身份;及 当所述第二终端的认证密钥与所述第一验证密钥不相同时,结束对所述第二终端的认证操作。4.如权利要求2所述的终端的认证方法,其特征在于,所述根据所述第一认证请求计算第一验证信息,并根据所述第一验证信息执行对所述第二终端的认证之前,还包括: 当接收到所述第二终端传送的第一认证请求时的时间戳与所述第二终端传送的时间戳之间的差值小于预设的有效时间间隔时,计算所述第一验证信息;及 当接收到所述第二终端传送的第一认证请求时的时间戳与所述第二终端传送的时间戳之间的差值大于或者等于所述预设的有效时间间隔时,结束对所述第二终端的认证操作。5.如权利要求1所述的终端的认证方法,其特征在于,所述认证方法还包括对所述第一终端执行注册,所述第一终端执行注册包括: 所述第一终端向注册服务器传送所述第一终端的用户名以及加密后的用户密钥; 接收所述注册服务器传送的二次加密的用户密钥、所述第一终端的注册密钥、加密后的服务器密钥以及所述注册服务器所使用的加密算法,其中,所述二次加密的用户密钥是所述注册服务器使用所述加密算法对所述用户密钥进行第二次加密所得到,所述注册密钥是所述注册服务器根据所述第一终端的用户名、用户密钥以及所述加密后的服务器密钥,使用所述加密算法计算得到的;及 存储所述注册服务器传送的二次加密的用户密钥、注册密钥、加密后的服务器密钥及所述注册服务器所使用的加密算法于所述第一终端的安全存储区域。6.如权利要求5所述的终端的认证方法,其特征在于,所述用户密钥为用户的生物特征密钥中的一种或多种的组合,包括指纹密钥、虹膜密钥、声音密钥及人脸密钥。7.如权利要求5所述的终端的认证方法,其特征在于,所述安全存储区域为所述第一终端的嵌入式SIM卡的安全存储区。8.如权利要求7所述的终端的认证方法,其特征在于,所述用户名为所述嵌入式SIM卡提供的身份标识。9.如权利要求5所述的终端的认证方法,其特征在于,所述认证方法还包括在所述第一终端执行的用户密钥修改,所述用户密钥修改包括: 在接收到修改用户密钥的请求时,提示用户输入当前的用户密钥;及在验证用户输入的所述当前的用户密钥正确时,提示所述用户向所述第一终端输入新的用户密钥。10.如权利要求9所述的终端的认证方法,其特征在于,所述用户密钥修改还包括: 使用所述加密算法对所述新的用户密钥进行二次加密,及根据所述第一终端的用户名、所述新的用户密钥以及加密后的服务器密钥,使用所述加密算法计算出所述第一终端的新的注册密钥,并存储所述二次加密的新的用户密钥以及新的注册密钥于所述第一终端的安全存储区域中,并提示用户新的用户密钥设置成功。11.一种终端的认证系统,其特征在于,所述系统包括: 认证模块,用于: 接收第二终端传送过来的第一认证请求,根据所述第一认证请求计算第一验证信息,并根据所述第一验证信息执行对所述第二终端的认证;及 当认证了所述第二终端的合法身份时,向所述第二终端传送第二认证请求,以使所述第二终端根据所述第二认证请求计算第二验证信息,并根据所述第二验证信息执行对第一终端的认证。12.如权利要求11所述的终端的认证系统,其特征在于,所述第二终端传送过来的第一认证请求包括所述第二终端的用户名、认证密钥以及时间戳;以及所述第一验证信息包括第一验证密钥,所述第一验证密钥为根据所接收到的所述第二终端的用户名以及时间戳,利用注册服务器的服务器密钥以及加密算法计算得到。13.如权利要求12所述的终端的认证系统,其特征在于,所述根据所述第一验证信息执行对所述第二终端的认证包括: 当所述第二终端的认证密钥与所述第一验证密钥相同时,认证所述第二终端的合法身份;及 当所述第二终端的认证密钥与所述第一验证密钥不相同时,结束对所述第二终端的认证操作。14.如权利要求12所述的终端的认证系统,其特征在于,所述认证模块还用于: 当接收到所述第二终端传送的第一认证请求时的时间戳与所述第二终端传送的时间戳之间的差值小于预设的有效时间间隔时,计算所述第一验证信息;及 当接收到所述第二终端传送的第一认证请求时的时间戳与所述第二终端传送的时间戳之间的差值大于或者等于所述预设的有效时间间隔时,结束对所述第二终端的认证操作。15.如权利要求11所述的终端的认证系统,其特征在于,所述系统还包括: 注册模块,用于向注册服务器提出注册请求,并接收所述注册服务器根据所述注册请求传送的注册相关信息,并将所述注册相关信息存储于所述第一终端的安全存储区中,其中: 所述注册请求包括所述第一终端的用户名以及加密后的用户密钥;以及 所述注册相关信息包括二次加密的用户密钥、所述第一终端的注册密钥、加密后的服务器密钥以及所述注册服务器所使用的加密算法,其中,所述二次加密的用户密钥是所述注册服务器使用所述加密算法对所述用户密钥进行第二次加密所得到,所述注册密钥是所述注册服务器根据所述第一终端的用户名、用户密钥以及所述加密后的服务器密钥,使用所述加密算法计算得到的。16.如权利要求15所述的终端的认证系统,其特征在于,所述用户密钥为用户的生物特征密钥中的一种或多种的组合,包括指纹密钥、虹膜密钥、声音密钥及人脸密钥。17.如权利要求15所述的终端的认证系统,其特征在于,所述安全存储区域为所述第一终端的嵌入式SIM卡的安全存储区。18.如权利要求17所述的终端的认证系统,其特征在于,所述用户名为所述嵌入式SIM卡提供的身份标识。19.如权利要求15所述的终端的认证系统,其特征在于,所述认证系统还包括:密钥修改模块,用于在接收到修改用户密钥的请求时,提示用户输入所述第一终端当前的用户密钥,并在用户输入的所述当前的用户密钥正确时,提示所述用户输入新的用户密钥。20.如权利要求19所述的终端的认证系统,其特征在于,所述密钥修改模块还用于: 使用所述加密算法对所述新的用户密钥进行二次加密,及根据所述第一终端的用户名、所述新的用户密钥以及加密后的服务器密钥,使用所述加密算法计算出所述第一终端的新的注册密钥,并存储所述二次加密的新的用户密钥以及新的注册密钥于所述第一终端的安全存储区域中,并提示用户新的用户密钥设置成功。
【文档编号】G06F21/44GK105975846SQ201610280800
【公开日】2016年9月28日
【申请日】2016年4月29日
【发明人】汤镇辉
【申请人】宇龙计算机通信科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1