一种实现数据传输的系统和方法与流程

文档序号:14879713发布日期:2018-07-07 09:23阅读:154来源:国知局

本发明实施例涉及但不限于物联网领域,尤指一种实现数据传输的系统和方法。



背景技术:

相关技术中,终端节点(如具有蓝牙低功耗(ble,bluetoothlowenergy)功能的设备)、中间设备(如包括手机、ipad在内的移动终端)和后台服务器(如移动终端中的应用对应的后台处理器)之间的数据传输方法大致包括:首先,建立会话后,终端节点将需要传输的数据(明文数据)发送给中间设备(在此步骤之前,终端节点与中间设备可以通过安全管理协议(smp,securitymanageprotocol)进行配对,配对成功后再传输数据);然后,中间设备使用互联网安全方案对终端节点发送的数据进行加密并将加密后的数据传输给后台服务器,其中,中间设备通过自身中安装的应用将加密后的数据传输给后台服务器;最后,后台服务器对接收到的数据进行解密并处理解密后的数据。

在上述数据传输方法中,数据需要通过中间设备中的应用来转发,外部攻击者可以通过攻击应用(比如开发木马程序等方式)来获取传输的数据,因此,存在传输的数据被窃取的风险。

综上所述,如何增强数据传输的安全性成为亟需解决的问题。



技术实现要素:

本申请提供了一种实现数据传输的系统和方法,能够增强数据传输的安全性。

为了达到本申请目的,本申请提供了一种实现数据传输的系统,包括:终端节点、中间设备和后台服务器;其中,

终端节点,用于当建立会话后,经由与自身可以进行数据转发的中间设备,与后台服务器协商数据传输密钥;当协商数据传输密钥成功时,采用第三预设安全算法以及协商后的数据传输密钥对会话中需要传输的数据进行加密处理;将加密处理后的数据发送给与自身可以进行数据收发的中间设备;

与终端节点可以进行数据收发的中间设备,用于将接收到的来自终端节点发送的加密处理后的数据发送给后台服务器;

后台服务器,用于经由与自身可以进行数据转发的中间设备,与终端节点协商数据传输密钥;接收来自中间设备发送的加密处理后的数据,并根据协商后的数据传输密钥以及第三预设安全算法对接收到的数据进行解密处理。

可选地,所述后台服务器,还用于为所述终端节点分配与所述终端节点对应的预设个数的根密钥组,以及所述根密钥组所包含的每个根密钥对应的根密钥id;

将所述根密钥组以及所述根密钥组所包含的每个根密钥对应的根密钥id发送给所述终端节点。

可选地,所述终端节点中用于经由与自身可以进行数据转发的中间设备,与后台服务器协商数据传输密钥包括:

选取预先存储的根密钥以及确定根密钥对应的根密钥身份标识id;

生成第一随机数;

接收经由与自身可以进行数据转发的中间设备发送的所述后台服务器发送的第二随机数;

根据选取的根密钥、根密钥id、第一随机数、第一预设安全算法、第二预设安全算法以及接收到的第二随机数,经由与自身可以进行数据转发的中间设备与所述后台服务器协商数据传输密钥。

可选地,所述终端节点中用于根据选取的根密钥、根密钥id、第一随机数、第一预设安全算法、第二预设安全算法以及接收到的第二随机数,经由与自身可以进行数据转发的中间设备与所述后台服务器协商数据传输密钥包括:

将自身的身份识别信息、所述根密钥id和所述第一随机数经由与自身可以进行数据转发的中间设备,发送给所述后台服务器;根据所述根密钥、所述第一随机数、所述第一预设安全算法、所述第二预设安全算法以及所述第二随机数,经由与自身可以进行数据转发的中间设备与所述后台服务器进行身份验证;当身份验证成功时,接收经由与自身可以进行数据转发的中间设备转发的所述后台服务器发送包含所述数据传输密钥的信息;采用所述第二预设安全算法对所述包含所述数据传输密钥的信息进行验证;当验证成功时,根据所述根密钥对所述包含所述数据传输密钥的信息进行解密处理以获取所述数据传输密钥,将获得的所述数据传输密钥作为与所述后台服务器协商后的数据传输密钥;相应地,

所述后台服务器中用于与所述终端节点协商数据传输密钥包括:

接收经由与自身可以进行数据转发的中间设转发的来自所述终端节点发送的所述身份识别信息、所述根密钥id和所述第一随机数;生成所述第二随机数并将生成的所述第二随机数经由与自身可以进行数据转发的中间设备发送给所述终端节点;根据所述根密钥、所述第一随机数、所述第一预设安全算法、所述第二预设安全算法以及所述第二随机数,经由与自身可以进行数据转发的中间设备与所述后台服务器进行身份验证;当身份验证成功时,生成所述数据传输密钥以及包含所述数据传输密钥的信息;将生成的所述数据传输密钥作为与所述终端节点协商后的数据传输密钥;将生成的所述包含所述数据传输密钥的信息发送所述终端节点。

可选地,所述终端节点中用于经由与自身可以进行数据转发的中间设备与所述后台服务器进行身份验证包括:根据所述根密钥、所述根密钥对应的根密钥id、所述自身的身份识别信息所述第一预设安全算法和所述第二预设安全算法生成第一身份验证信息;将所述第一身份验证信息经由与自身可以进行数据转发的中间设备发送给所述后台服务器;接收并验证来自后台服务器发送的第二身份验证信息;当所述第二身份验证信息验证通过时,生成第三身份验证信息;将所述第三身份验证信息经由与自身可以进行数据转发的中间设备发送给所述后台服务器;相应地,

所述后台服务器中用于经由与自身可以进行数据转发的中间设备与所述终端节点进行身份验证包括:接收并验证经由与自身可以进行数据转发的中间设备转发的来自所述终端节点发送的所述第一身份验证信息;当所述第一身份验证信息验证通过时,生成所述第二身份验证信息;将所述第二身份验证信息经由与自身可以进行数据转发的中间设备发送给所述后台服务器;接收并验证经由与自身可以进行数据转发的中间设备转发的来自所述终端节点发送的所述第三身份验证信息;当所述第三身份验证信息验证通过时,身份验证成功。

可选地,所述第一身份验证信息如公式(1)所示:

unicid||根密钥id||r1||ik(1)

其中,unicid表示所述身份识别信息,r1表示根据所述根密钥和所述第一预设安全算法对所述第一随机数进行加密处理后得到的数据,ik表示采用所述第二预设安全算法对(unicid||根密钥id||r1)进行计算得到的数据,||表示串联操作;

所述第二身份验证信息如公式(2)所示:

r2||ik1(2)

其中,r2表示根据与所述身份识别信息和所述根密钥id对应的本地存储的根密钥和所述第一预设安全算法对进行加密处理后得到的数据,ik1表示采用所述第二预设安全算法对r2进行计算得到的数据,表示异或操作,rnad1*表示根据与所述身份识别信息和所述根密钥id对应的本地存储的根密钥和所述第一预设安全算法对r1进行解密处理后得到的数据,rand2表示所述第二随机数;

所述第三身份验证信息如公式(3)所示:

r3||ik2(2)

其中,r3表示根据选取的根密钥和所述第一预设安全算法对进行加密处理后得到的数据,ik2表示采用所述第二预设安全算法对r3进行计算得到的数据,rnad2*表示根据所述选取的根密钥和所述第一预设安全算法对r2进行解密处理后得到与所述第二随机数对应的数据。

可选地,所述第一身份验证信息验证通过包括:采用所述第二预设安全算法对(unicid||根密钥id||r1)进行校验值计算;当计算出的校验值和ik相同时,第一身份验证信息验证通过;

所述第二身份验证信息验证通过包括:采用所述第二预设安全算法对r2进行校验值计算;当计算出的校验值和ik1相同时,第二身份验证信息验证通过;

所述第三身份验证信息验证通过包括:采用所述第二预设安全算法对r3进行校验值计算;当计算出的校验值和ik2相同时,第三身份验证信息验证通过。

可选地,所述后台服务器按照公式(4)生成包含所述数据传输密钥的信息:

r4||ik3(4)

其中,r4表示根据所述根密钥和所述第一预设安全算法对进行加密处理后得到的数据,ak表示所述数据传输密钥,ik3表示采用所述第二预设安全算法对r4进行计算得到的数据。

另一方面,本申请还提供了一种实现数据传输的方法,包括:

当建立会话后,终端节点经由与自身可以进行数据转发的中间设备与后台服务器协商数据传输密钥;

当协商数据传输密钥成功时,终端节点采用第三预设安全算法以及协商后的数据传输密钥对会话中需要传输的数据进行加密处理;

终端节点将加密处理后的数据经由与自身可以进行数据收发的中间设备发送给后台服务器。

可选地,该方法之前还包括:所述后台服务器为所述终端节点分配与所述终端节点对应的预设个数的根密钥组,以及所述根密钥组所包含的每个根密钥对应的根密钥id;

将所述根密钥组以及所述根密钥组所包含的每个根密钥对应的根密钥id发送给所述终端节点。

可选地,所述终端节点经由与自身可以进行数据转发的中间设备与后台服务器协商数据传输密钥包括:

所述终端节点选取预先存储的根密钥、确定根密钥对应的根密钥身份标识id以及生成第一随机数;

所述后台服务器生成第二随机数并将生成的第二随机数经由与自身可以进行数据转发的中间设备发送给所述终端节点;

所述终端节点根据选取的根密钥、根密钥id、第一随机数、第一预设安全算法、第二预设安全算法以及接收到的所述第二随机数,经由与自身可以进行数据转发的中间设备与所述后台服务器协商数据传输密钥。

可选地,所述所述终端节点根据选取的根密钥、根密钥id、第一随机数、第一预设安全算法、第二预设安全算法以及接收到的所述第二随机数经由与自身可以进行数据转发的中间设备与所述后台服务器协商数据传输密钥包括:

所述终端节点将自身的身份识别信息、所述根密钥id和所述第一随机数经由与自身可以进行数据转发的中间设备发送给所述后台服务器;

所述后台服务器接收经由与自身可以进行数据转发的中间设备转发的来自所述终端节点发送的所述身份识别信息、所述根密钥id和所述第一随机数;

所述终端节点与所述后台服务器根据所述根密钥、所述第一随机数、所述第一预设安全算法、所述第二预设安全算法以及所述第二随机数进行身份验证;

当身份验证成功时,所述后台服务器生成所述数据传输密钥以及包含所述数据传输密钥的信息;所述后台服务器将生成的所述数据传输密钥作为与所述终端节点协商后的数据传输密钥;所述后台服务器将生成的所述包含所述数据传输密钥的信息经由与自身可以进行数据转发的中间设备发送给所述终端节点;

所述终端节点接收经由与自身可以进行数据转发的中间设备转发的所述后台服务器发送包含所述数据传输密钥的信息;采用所述第二预设安全算法对所述包含所述数据传输密钥的信息进行验证;当验证成功时,根据所述根密钥对所述包含所述数据传输密钥的信息进行解密处理以获取所述数据传输密钥,将获得的所述数据传输密钥作为与所述后台服务器协商后的数据传输密钥。

可选地,所述终端节点与所述后台服务器进行身份验证包括:

所述终端节点根据所述根密钥、所述根密钥对应的根密钥id、所述自身的身份识别信息所述第一预设安全算法和所述第二预设安全算法生成第一身份验证信息;将所述第一身份验证信息经由与自身可以进行数据转发的中间设备发送给所述后台服务器;

所述后台服务器接收并验证来自所述终端节点发送的所述第一身份验证信息;当所述第一身份验证信息验证通过时,生成所述第二身份验证信息;所述后台服务器将所述第二身份验证信息经由与自身可以进行数据转发的中间设备发送给所述后台服务器;

所述终端节点接收并验证来自后台服务器发送的第二身份验证信息;当所述第二身份验证信息验证通过时,生成第三身份验证信息;将所述第三身份验证信息经由与自身可以进行数据转发的中间设备发送给所述后台服务器;

所述后台服务器接收并验证来自所述终端节点发送的所述第三身份验证信息;当所述第三身份验证信息验证通过时,身份验证成功。

可选地,所述第一身份验证信息如公式(1)所示:

unicid||根密钥id||r1||ik(1)

其中,unicid表示所述身份识别信息,r1表示根据所述根密钥和所述第一预设安全算法对所述第一随机数进行加密处理后得到的数据,ik表示采用所述第二预设安全算法对(unicid||根密钥id||r1)进行计算得到的数据,||表示串联操作;

所述第二身份验证信息如公式(2)所示:

r2||ik1(2)

其中,r2表示根据与所述身份识别信息和所述根密钥id对应的本地存储的根密钥和所述第一预设安全算法对进行加密处理后得到的数据,ik1表示采用所述第二预设安全算法对r2进行计算得到的数据,表示异或操作,rnad1*表示根据与所述身份识别信息和所述根密钥id对应的本地存储的根密钥和所述第一预设安全算法对r1进行解密处理后得到的数据,rand2表示所述第二随机数;

所述第三身份验证信息如公式(3)所示:

r3||ik2(2)

其中,r3表示根据选取的根密钥和所述第一预设安全算法对进行加密处理后得到的数据,ik2表示采用所述第二预设安全算法对r3进行计算得到的数据,rnad2*表示根据所述选取的根密钥和所述第一预设安全算法对r2进行解密处理后得到与所述第二随机数对应的数据。

可选地,所述第一身份验证信息验证通过包括:采用所述第二预设安全算法对(unicid||根密钥id||r1)进行校验值计算;当计算出的校验值和ik相同时,第一身份验证信息验证通过;

所述第二身份验证信息验证通过包括:采用所述第二预设安全算法对r2进行校验值计算;当计算出的校验值和ik1相同时,第二身份验证信息验证通过;

所述第三身份验证信息验证通过包括:采用所述第二预设安全算法对r3进行校验值计算;当计算出的校验值和ik2相同时,第三身份验证信息验证通过。

可选地,所述后台服务器按照公式(4)生成包含所述数据传输密钥的信息:

r4||ik3(4)

其中,r4表示根据所述根密钥和所述第一预设安全算法对进行加密处理后得到的数据,ak表示所述数据传输密钥,ik3表示采用所述第二预设安全算法对r4进行计算得到的数据。

本发明实施例包括:当建立会话后,终端节点经由与自身可以进行数据转发的中间设备与后台服务器协商数据传输密钥;当协商数据传输密钥成功时,终端节点采用第三预设安全算法以及协商后的数据传输密钥对会话中需要传输的数据进行加密处理;终端节点将加密处理后的数据经由与自身可以进行数据收发的中间设备发送给后台服务器。本发明实施例增强了数据传输的安全性。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明实施例实现数据传输的系统的结构示意图;

图2为本申请实施例实现数据传输的方法的流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

图1为本发明实施例实现数据传输的系统的结构示意图,如图1所示,包括:终端节点、中间设备和后台服务器。其中,

终端节点,用于建立会话后,经由与自身可以进行数据转发的中间设备,与后台服务器协商数据传输密钥;当协商数据传输密钥成功时,采用第三预设安全算法以及协商后的数据传输密钥对会话中需要传输的数据进行加密处理;将加密处理后的数据发送给与自身可以进行数据收发的中间设备。

需要说明的是,本发明实施例终端节点将加密后的数据发送给中间设备,从而降低了该传输过程中数据被窃取的风险。

与终端节点可以进行数据收发的中间设备,用于将接收到的来自终端节点发送的加密处理后的数据发送给后台服务器。

后台服务器,用于经由与自身可以进行数据转发的中间设备,与终端节点协商数据传输密钥;接收来自中间设备发送的加密处理后的数据,并根据协商后的数据传输密钥以及第三预设安全算法对接收到的数据进行解密处理。

需要说明的是,后台服务器和终端节点直接传输一切数据均由中间设备进行转发,从而实现了后台服务器和终端节点之间的通信。

其中,本发明实施例后台服务器可以通过随机数生成器生成第二随机数。

可选地,本发明实施例后台服务器,还用于为终端节点分配与终端节点对应的预设个数的根密钥组,以及根密钥组所包含的每个根密钥对应的根密钥id;

将根密钥组以及根密钥组所包含的每个根密钥对应的根密钥id发送给终端节点。

其中,本发明实施例预设个数可以是8个。此时,8个根密钥中每个根密钥分别对应的根密钥id分别是0、1、2、3、4、5、6、7,或者也可以分别是1、2、3、4、5、6、7、8。

其中,本发明实施例终端节点中用于经由与自身可以进行数据转发的中间设备,与后台服务器协商数据传输密钥包括:

选取预先存储的根密钥以及确定根密钥对应的根密钥身份标识id;

生成第一随机数;

接收经由与自身可以进行数据转发的中间设备转发的后台服务器发送的第二随机数;

根据选取的根密钥、确定的根密钥id、生成的第一随机数、第一预设安全算法、第二预设安全算法以及接收到的第二随机数,经由与自身可以进行数据转发的中间设备与后台服务器协商数据传输密钥。

其中,本发明实施例终端节点可以通过随机数生成器生成第一随机数。

其中,本发明实施例终端节点中用于根据选取的根密钥、确定的根密钥id、生成的第一随机数、第一预设安全算法、第二预设安全算法以及接收到的第二随机数,经由与自身可以进行数据转发的中间设备与后台服务器协商数据传输密钥包括:

将自身的身份识别信息、根密钥id和第一随机数经由与自身可以进行数据转发的中间设备,发送给后台服务器;根据根密钥、第一随机数、第一预设安全算法、第二预设安全算法以及第二随机数,经由与自身可以进行数据转发的中间设备与后台服务器进行身份验证;当身份验证成功时,接收经由与自身可以进行数据转发的中间设备转发的后台服务器发送包含数据传输密钥的信息;采用第二预设安全算法对包含数据传输密钥的信息进行验证;当验证成功时,根据根密钥对包含数据传输密钥的信息进行解密处理以获取数据传输密钥,将获得的数据传输密钥作为与后台服务器协商后的数据传输密钥;相应地,

后台服务器中用于与终端节点协商数据传输密钥包括:

接收经由与自身可以进行数据转发的中间设备转发的来自终端节点发送的身份识别信息、根密钥id和第一随机数;

生成所述第二随机数并将生成的第二随机数经由与自身可以进行数据转发的中间设备发送给所述终端节点;

根据根密钥、第一随机数、第一预设安全算法、第二预设安全算法以及第二随机数,经由与自身可以进行数据转发的中间设备与后台服务器进行身份验证;当身份验证成功时,生成数据传输密钥以及包含数据传输密钥的信息;将生成的数据传输密钥作为与终端节点协商后的数据传输密钥;将生成的包含数据传输密钥的信息发送终端节点。

其中,本发明实施例终端节点中用于经由与自身可以进行数据转发的中间设备与后台服务器进行身份验证包括:根据根密钥、根密钥对应的根密钥id、自身的身份识别信息第一预设安全算法和第二预设安全算法生成第一身份验证信息;将第一身份验证信息经由与自身可以进行数据转发的中间设备发送给后台服务器;接收并验证来自后台服务器发送的第二身份验证信息;当第二身份验证信息验证通过时,生成第三身份验证信息;将第三身份验证信息经由与自身可以进行数据转发的中间设备发送给后台服务器;相应地,

后台服务器中用于经由与自身可以进行数据转发的中间设备与终端节点进行身份验证包括:接收并验证经由与自身可以进行数据转发的中间设备转发的来自终端节点发送的第一身份验证信息;当第一身份验证信息验证通过时,生成第二身份验证信息;将第二身份验证信息经由与自身可以进行数据转发的中间设备发送给后台服务器;接收并验证经由与自身可以进行数据转发的中间设备转发的来自终端节点发送的第三身份验证信息;当第三身份验证信息验证通过时,身份验证成功。

可选地,本发明实施例后台服务器包括一台或一台以上后台服务器。

可选地,本发明实施例终端节点包括一个或一个以上终端节点。

其中,一台后台服务器可以与一个或一个以上终端节点之间进行传输数据。

其中,本发明实施例中间设备可以是包括手机或ipad在内的移动终端;本发明实施例后台服务器可以是安装在移动终端中的应用对应的后台处理器;本发明实施例终端节点可以是具有蓝牙低功耗(ble,bluetoothlowenergy)功能的设备,例如蓝牙手环。其中,本发明实施例中间设备和终端节点之间通过预先建立的物理连接进行数据的收发,例如可以通过近场通信(nfc,nearfieldcommunication)或蓝牙进行数据的收发。

其中,本发明实施例第一预设安全算法和第三预设安全算法可以是高级加密标准-电子密码本(aes-ecb);本发明实施例第二安全算法可以是循环冗余检测(crc,cyclicredundancycheck)。

其中,本发明实施例第一随机数、第二随机数、根密钥以及终端节点自身的身份识别信息均可以是128比特(bit)。其中,终端节点自身的身份识别信息可以是自身携带的序列号。

其中,本发明实施例第一身份验证信息如公式(1)所示:

unicid||根密钥id||r1||ik(1)

其中,unicid表示身份识别信息,r1表示根据根密钥和第一预设安全算法对第一随机数进行加密处理后得到的数据,ik表示采用第二预设安全算法对(unicid||根密钥id||r1)进行计算得到的数据,||表示串联操作。

其中,本发明实施例第二身份验证信息如公式(2)所示:

r2||ik1(2)

其中,r2表示根据与身份识别信息和根密钥id对应的本地存储的根密钥和第一预设安全算法对进行加密处理后得到的数据,ik1表示采用第二预设安全算法对r2进行计算得到的数据,表示异或操作,rnad1*表示根据与身份识别信息和根密钥id对应的本地存储的根密钥和第一预设安全算法对r1进行解密处理后得到的数据,rand2表示第二随机数。

其中,本发明实施例第三身份验证信息如公式(3)所示:

r3||ik2(2)

其中,r3表示根据选取的根密钥和第一预设安全算法对进行加密处理后得到的数据,ik2表示采用第二预设安全算法对r3进行计算得到的数据,rnad2*表示根据选取的根密钥和第一预设安全算法对r2进行解密处理后得到与第二随机数对应的数据。

其中,本发明实施例第一身份验证信息验证通过包括:采用第二预设安全算法对(unicid||根密钥id||r1)进行校验值计算;当计算出的校验值和ik相同时,第一身份验证信息验证通过。

其中,本发明实施例第二身份验证信息验证通过包括:采用第二预设安全算法对r2进行校验值计算;当计算出的校验值和ik1相同时,第二身份验证信息验证通过。

其中,本发明实施例第三身份验证信息验证通过包括:采用第二预设安全算法对r3进行校验值计算;当计算出的校验值和ik2相同时,第三身份验证信息验证通过。

其中,本发明实施例后台服务器按照公式(4)生成包含数据传输密钥的信息:

r4||ik3(4)

其中,r4表示根据根密钥和第一预设安全算法对进行加密处理后得到的数据,ak表示数据传输密钥,ik3表示采用第二预设安全算法对r4进行计算得到的数据。

图2为本申请实施例一种实现数据传输的方法的流程图,如图2所示,包括:

步骤201:建立会话后,终端节点经由与自身可以进行数据转发的中间设备与后台服务器协商数据传输密钥。

可选地,本发明实施例方法之前还包括:

后台服务器为终端节点分配与终端节点对应的预设个数的根密钥组,以及根密钥组所包含的每个根密钥对应的根密钥id;

将根密钥组以及根密钥组所包含的每个根密钥对应的根密钥id发送给终端节点。

其中,本发明实施例预设个数可以是8个。此时,8个根密钥中每个根密钥分别对应的根密钥id分别是0、1、2、3、4、5、6、7,或者也可以分别是1、2、3、4、5、6、7、8。

其中,本发明实施例终端节点经由与自身可以进行数据转发的中间设备与后台服务器协商数据传输密钥包括:

终端节点选取预先存储的根密钥、确定根密钥对应的根密钥身份标识id以及生成第一随机数;

后台服务器生成第二随机数并将生成的第二随机数经由与自身可以进行数据转发的中间设备发送给终端节点;

终端节点根据选取的根密钥、根密钥id、第一随机数、第一预设安全算法、第二预设安全算法以及接收到的第二随机数,经由与自身可以进行数据转发的中间设备与后台服务器协商数据传输密钥。

其中,本发明实施例终端节点可以通过随机数生成器生成第一随机数。

其中,本发明实施例后台服务器可以通过随机数生成器生成第二随机数。

其中,本发明实施例第一预设安全算法可以是高级加密标准-电子密码本(aes-ecb);本发明实施例第二安全算法可以是循环冗余检测(crc,cyclicredundancycheck)。

其中,本发明实施例终端节点根据选取的根密钥、根密钥id、第一随机数、第一预设安全算法、第二预设安全算法以及接收到的第二随机数,经由与自身可以进行数据转发的中间设备与后台服务器协商数据传输密钥包括:

终端节点将自身的身份识别信息、根密钥id和第一随机数经由与自身可以进行数据转发的中间设备发送给后台服务器;

后台服务器接收经由与自身可以进行数据转发的中间设备转发的来自终端节点发送的身份识别信息、根密钥id和第一随机数;

终端节点与后台服务器根据根密钥、第一随机数、第一预设安全算法、第二预设安全算法以及第二随机数进行身份验证;

当身份验证成功时,后台服务器生成数据传输密钥以及包含数据传输密钥的信息;后台服务器将生成的数据传输密钥作为与终端节点协商后的数据传输密钥;后台服务器将生成的包含数据传输密钥的信息经由与自身可以进行数据转发的中间设备发送给终端节点;

终端节点接收经由与自身可以进行数据转发的中间设备转发的后台服务器发送包含数据传输密钥的信息;采用第二预设安全算法对包含数据传输密钥的信息进行验证;当验证成功时,根据根密钥对包含数据传输密钥的信息进行解密处理以获取数据传输密钥,将获得的数据传输密钥作为与后台服务器协商后的数据传输密钥。

其中,本发明实施例终端节点与后台服务器进行身份验证包括:

终端节点根据根密钥、根密钥对应的根密钥id、自身的身份识别信息第一预设安全算法和第二预设安全算法生成第一身份验证信息;将第一身份验证信息经由与自身可以进行数据转发的中间设备发送给后台服务器;

后台服务器接收并验证来自终端节点发送的第一身份验证信息;当第一身份验证信息验证通过时,生成第二身份验证信息;后台服务器将第二身份验证信息经由与自身可以进行数据转发的中间设备发送给后台服务器;

终端节点接收并验证来自后台服务器发送的第二身份验证信息;当第二身份验证信息验证通过时,生成第三身份验证信息;将第三身份验证信息经由与自身可以进行数据转发的中间设备发送给后台服务器;

后台服务器接收并验证来自终端节点发送的第三身份验证信息;当第三身份验证信息验证通过时,身份验证成功。

其中,本发明实施例第一身份验证信息如公式(1)所示:

unicid||根密钥id||r1||ik(1)

其中,unicid表示身份识别信息,r1表示根据根密钥和第一预设安全算法对第一随机数进行加密处理后得到的数据,ik表示采用第二预设安全算法对(unicid||根密钥id||r1)进行计算得到的数据,||表示串联操作。

其中,本发明实施例第二身份验证信息如公式(2)所示:

r2||ik1(2)

其中,本发明实施例r2表示根据与身份识别信息和根密钥id对应的本地存储的根密钥和第一预设安全算法对进行加密处理后得到的数据,ik1表示采用第二预设安全算法对r2进行计算得到的数据,表示异或操作,rnad1*表示根据与身份识别信息和根密钥id对应的本地存储的根密钥和第一预设安全算法对r1进行解密处理后得到的数据,rand2表示第二随机数。

第三身份验证信息如公式(3)所示:

r3||ik2(2)

其中,r3表示根据选取的根密钥和第一预设安全算法对进行加密处理后得到的数据,ik2表示采用第二预设安全算法对r3进行计算得到的数据,rnad2*表示根据选取的根密钥和第一预设安全算法对r2进行解密处理后得到与第二随机数对应的数据。

其中,本发明实施例后台服务器按照公式(4)生成包含数据传输密钥的信息:

r4||ik3(4)

其中,r4表示根据根密钥和第一预设安全算法对进行加密处理后得到的数据,ak表示数据传输密钥,ik3表示采用第二预设安全算法对r4进行计算得到的数据。

其中,本发明实施例第一身份验证信息验证通过包括:采用第二预设安全算法对(unicid||根密钥id||r1)进行校验值计算;当计算出的校验值和ik相同时,第一身份验证信息验证通过。

其中,本发明实施例第二身份验证信息验证通过包括:采用第二预设安全算法对r2进行校验值计算;当计算出的校验值和ik1相同时,第二身份验证信息验证通过。

其中,本发明实施例第三身份验证信息验证通过包括:采用第二预设安全算法对r3进行校验值计算;当计算出的校验值和ik2相同时,第三身份验证信息验证通过。

步骤202:当协商数据传输密钥成功时,采用第三预设安全算法以及协商后的数据传输密钥对会话中需要传输的数据进行加密处理。

其中,本发明实施例第三预设安全算法可以是aes-ecb。

步骤203:将加密处理后的数据经由与自身可以进行数据收发的中间设备发送给后台服务器。

可选地,在步骤202之后,在步骤203之前,本发明实施例方法还包括:采用pkcs7填充方法对加密处理后的数据进行填充;将填充后的数据由与自身可以进行数据收发的中间设备发送给后台服务器。

可选地,本发明实施例后台服务器包括一台或一台以上后台服务器。

可选地,本发明实施例终端节点包括一个或一个以上终端节点。

其中,一台后台服务器可以与一个或一个以上终端节点之间进行传输数据。

其中,本发明实施例中间设备可以是包括手机或ipad在内的移动终端;本发明实施例后台服务器可以是安装在移动终端中的应用对应的后台处理器;本发明实施例终端节点可以是具有蓝牙低功耗(ble,bluetoothlowenergy)功能的设备,例如蓝牙手环。其中,本发明实施例中间设备和终端节点之间通过预先建立的物理连接进行数据的收发,例如可以通过近场通信(nfc,nearfieldcommunication)或蓝牙进行数据的收发。

需要说明的是,中间设备和终端节点之间通过预先建立的物理连接进行数据的收发,从而避免了通过smp配对产生的耗时过多的问题,从而提升了数据传输的效率。

其中,本发明实施例第一随机数、第二随机数、根密钥以及终端节点自身的身份识别信息均可以是128比特(bit)。其中,终端节点自身的身份识别信息可以是自身携带的序列号。

本发明实施方式中,通过终端节点经由与自身可以进行数据转发的中间设备与后台服务器协商数据传输密钥,将采用第三预设安全算法以及协商后的数据传输密钥加密处理后的数据经由与自身可以进行数据收发的中间设备发送给后台服务器,从而增强了数据传输的安全性。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件(例如处理器)完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,例如通过集成电路来实现其相应功能,也可以采用软件功能模块的形式实现,例如通过处理器执行存储于存储器中的程序/指令来实现其相应功能。本发明不限制于任何特定形式的硬件和软件的结合。

以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

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