数据转移方法、装置、存储介质及电子设备与流程

文档序号:24930575发布日期:2021-05-04 11:19阅读:75来源:国知局
数据转移方法、装置、存储介质及电子设备与流程

本申请涉及计算机技术领域,尤其涉及一种数据转移方法、装置、存储介质及电子设备。



背景技术:

随着通信技术的发展,利用智能手机、平板电脑、掌上电脑以及移动互联网设备(mobileinternetdevices,mid)等用户终端进行数据转移已成为一种便捷、流行的数据业务方式,数据转移的应用便利了人们的生活。在数据转移场景中,用户可以将用户终端(如手机、平板等)与指定账户绑定(如通过手机号码绑定、即时通讯号码绑定等),从而使得用户能够通过该用户终端实现该指定账户与其他账户的数据转移。



技术实现要素:

本申请实施例提供了一种数据转移方法、装置、存储介质及电子设备,可以为业务线程分配到合适的处理器集群。本申请实施例的技术方案如下:

第一方面,本申请实施例提供了一种数据转移方法,应用于用户终端,所述方法包括:

接收数据转移终端发送的第一公钥,基于所述第一公钥对所述用户终端存储的第一加密串进行解密得到第一身份串;其中,所述第一公钥由所述数据转移终端从服务器获取,所述第一加密串由原始身份令牌的第一参考身份串基于基于所述用户终端存储的第一私钥加密生成,所述第一私钥与所述第一公钥一一对应;

发送所述第一私钥和所述第一身份串至所述数据转移终端,以使所述数据转移终端指示所述服务器基于第一身份令牌对所述用户终端进行身份验证,其中,所述第一身份令牌由所述第一身份串以及第二身份串组成,所述第二身份串基于所述第一私钥对所述服务器存储的第二加密串解密得到,所述第二加密串由所述原始身份令牌的第二参考身份串基于所述第一公钥生成;

确定所述身份验证通过,向所述数据转移终端发送数据转移请求,以使所述数据转移终端将所述数据转移请求发送至所述服务器进行数据转移。

第二方面,本申请实施例提供了一种数据转移方法,应用于数据转移终端,所述方法包括:

向所述服务器获取第一公钥,将所述第一公钥发送至用户终端,以使所述用户终端基于所述第一公钥以及存储的第一加密串解密生成第一身份串,所述第一加密串由所述用户终端原始身份令牌的第一参考身份串基于第一私钥生成;

接收所述用户终端发送的所述第一身份串以及所述第一私钥,以使所述服务器基于第一身份令牌对所述用户终端进行身份验证,所述第一身份令牌由所述第一身份串和第二身份串生成,所述第二身份串基于所述第一私钥和所述第二加密串解密生成,所述第二加密串由所述原始身份令牌的第二参考身份串基于所述第一公钥生成;

确定所述服务器对所述用户终端身份验证通过,接收所述用户终端的数据转移请求,将所述数据转移请求发送至所述服务器,以使所述服务器进行数据转移。

第三方面,本申请实施例提供了一种数据转移方法,应用于服务器,所述方法包括:

向数据转移终端发送第一公钥,以使所述数据转移终端将所述第一公钥发送至用户终端,所述用户终端存储有第一加密串以及第一私钥,所述第一公钥用于对第一加密串解密生成第一身份串,所述第一加密串由所述用户终端原始身份令牌的第一参考身份串基于所述第一私钥生成;

获取第一身份令牌,基于所述第一身份令牌对所述用户终端进行身份验证,所述第一身份令牌基于所述第一身份串以及第二身份串生成,所述第二身份串基于所述第一私钥和存储的第二加密串解密生成,所述第二加密串由所述原始身份令牌的第二参考身份串基于所述第一公钥生成;

确定对所述用户终端身份验证通过,接收数据转移终端发送的数据转移请求,基于所述数据转移请求进行数据转移,所述数据转移请求由所述用户终端发送至数据转移终端。

第四方面,本申请实施例提供了一种数据转移装置,所述装置包括:

公钥获取模块,用于接收数据转移终端发送的第一公钥,基于所述第一公钥对所述用户终端存储的第一加密串进行解密得到第一身份串;其中,所述第一公钥由所述数据转移终端从服务器获取,所述第一加密串由原始身份令牌的第一参考身份串基于基于所述用户终端存储的第一私钥加密生成,所述第一私钥与所述第一公钥一一对应;

数据发送模块,用于发送所述第一私钥和所述第一身份串至所述数据转移终端,以使所述数据转移终端指示所述服务器基于第一身份令牌对所述用户终端进行身份验证,其中,所述第一身份令牌由所述第一身份串以及第二身份串组成,所述第二身份串基于所述第一私钥对所述服务器存储的第二加密串解密得到,所述第二加密串由所述原始身份令牌的第二参考身份串基于所述第一公钥生成;

数据转移模块,用于确定所述身份验证通过,向所述数据转移终端发送数据转移请求,以使所述数据转移终端将所述数据转移请求发送至所述服务器进行数据转移。

第五方面,本申请实施例提供了一种数据转移装置,所述装置包括:

公钥获取模块,用于向所述服务器获取第一公钥,将所述第一公钥发送至用户终端,以使所述用户终端基于所述第一公钥以及存储的第一加密串解密生成第一身份串,所述第一加密串由所述用户终端原始身份令牌的第一参考身份串基于第一私钥生成;

信息接收模块,用于接收所述用户终端发送的所述第一身份串以及所述第一私钥,以使所述服务器基于第一身份令牌对所述用户终端进行身份验证,所述第一身份令牌由所述第一身份串和第二身份串生成,所述第二身份串基于所述第一私钥和所述第二加密串解密生成,所述第二加密串由所述原始身份令牌的第二参考身份串基于所述第一公钥生成;

数据转移模块,用于确定所述服务器对所述用户终端身份验证通过,接收所述用户终端的数据转移请求,将所述数据转移请求发送至所述服务器,以使所述服务器进行数据转移。

第五方面,本申请实施例提供了一种数据转移装置,所述装置包括:

公钥发送模块,用于向所述数据转移终端发送第一公钥,以使所述数据转移终端将所述第一公钥发送至用户终端,所述用户终端存储有第一加密串以及第一私钥,所述第一公钥用于对第一加密串解密生成第一身份串,所述第一加密串由所述用户终端原始身份令牌的第一参考身份串基于所述第一私钥生成;

身份验证模块,用于获取第一身份令牌,基于所述第一身份令牌对所述用户终端进行身份验证,所述第一身份令牌基于所述第一身份串以及第二身份串生成,所述第二身份串基于所述第一私钥和存储的第二加密串解密生成,所述第二加密串由所述原始身份令牌的第二参考身份串基于所述第一公钥生成;

数据转移模块,用于确定对所述用户终端身份验证通过,接收数据转移终端发送的数据转移请求,基于所述数据转移请求进行数据转移,所述数据转移请求由所述用户终端发送至数据转移终端。

第六方面,本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。

第七方面,本申请实施例提供一种电子设备,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。

本申请一些实施例提供的技术方案带来的有益效果至少包括:

在本申请一个或多个实施例中,通过预先将用户终端对应的原始身份令牌进行拆分并加密储存在用户终端以及服务器上,在进行数据转移时,第一身份令牌需要相匹配的加密串和密钥进行(如第一加密串需要服务器上的第一公钥解密才能生成第一身份串,第二加密串需要用户终端上的第一私钥才能生成第二身份串),才能最终生成第一身份令牌,服务器才可以基于该第一身份令牌完成对用户终端的身份校验;整个数据转移过程具备高安全性,且合成第一身份令牌的第一加密串对外不可见且只能基于服务器上的公钥在本端才能解密,数据转移的流程具备高安全性,且整个数据转移过程中,涉及的各电子设备可以不依赖于身份令牌进行,大幅提高了数据转移的安全性;以及,在数据转移中,不依赖于用户终端对应生成数据转移码,降低了数据转移的成本,涉及数据转移的各电子设备只需基于相应数据的流转即可最终完成整个数据转移流程,提高了数据转移的普适性。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种数据转移方法的流程示意图;

图2是本申请实施例提供的数据转移方法涉及的一种身份令牌拆分的场景示意图;

图3是本申请实施例提供的数据转移方法涉及的一种身份串加解密的场景示意图;

图4是本申请实施例提供的另一种数据转移方法的流程示意图;

图5是本申请实施例提供的另一种数据转移方法的流程示意图;

图6是本申请实施例提供的另一种数据转移方法的流程示意图;

图7是本申请实施例提供的一种数据信息交互的示意图;

图8是本申请实施例提供的另一种数据信息交互的示意图;

图9是本申请实施例提供的另一种数据转移方法的流程示意图;

图10是本申请实施例提供的另一种数据转移方法的流程示意图;

图11是本申请实施例提供的一种数据转移的场景架构示意图;

图11a为本申请实施例提供的一种数据转移系统的交互示意图;

图11b为本申请实施例提供的另一种数据转移系统的交互示意图

图12是本申请实施例提供的一种数据转移装置的结构示意图;

图13是本申请实施例提供的一种公钥获取模块的结构示意图;

图14是本申请实施例提供的另一种数据转移装置的结构示意图;

图15是本申请实施例提供的另一种数据转移装置的结构示意图;

图16是本申请实施例提供的另一种数据转移装置的结构示意图;

图17是本申请实施例提供的一种电子设备的结构示意图;

图18是本申请实施例提供的操作系统和用户空间的结构示意图;

图19是图17中安卓操作系统的架构图;

图20是图17中ios操作系统的架构图;

图21是本申请实施例提供的一种电子设备的结构示意图;

图22是本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本申请的描述中,需要说明的是,除非另有明确的规定和限定,“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如

包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

在相关技术中,数据转移已经越来越常见,但考虑到实际应用环境的复杂性,数据转移的安全性以及普适性显得尤为重要;如,常见的数据转移场景,常需用户使用的用户终端可以正常访问移动数据网络,以基于移动数据网络保证数据转移的正常进行,例如需要用户终端与用于数据转移的服务器之间网络正常,以方便服务器对用户终端进行数据转移,若用户终端无法正常访问移动数据网络,则通常无法正常进行数据转移;如,涉及数据转移场景中的电子设备,各电子设备通常数据转移链路常采用安全性较低的方式(如非http协议)进行,链路本身安全性不可靠,数据安全无法保证;如,相关技术中常直接使用身份令牌进行数据转移,身份令牌存在泄漏风险;如,相关技术中为了提高数据转移的便捷性(如在无网转态下可正常进行支付),常基于用户终端生成的数据转移码(如数据转移二维码、条形码等),在这种场景下就需要额外具备扫码能力的硬件设备(如扫码枪),数据转移的普适性较低,且数据转移成本也较高。

下面结合具体的实施例对本申请进行详细说明。

在一个实施例中,如图1所示,特提出了一种数据转移方法,应用于用户终端,该方法可依赖于计算机程序实现,可运行于基于冯诺依曼体系的数据转移装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行。

具体的,该数据转移方法包括:

步骤s101:接收数据转移终端发送的第一公钥,基于所述第一公钥对所述用户终端存储的第一加密串进行解密得到第一身份串。

其中,所述第一公钥由所述数据转移终端从服务器获取,所述第一加密串由原始身份令牌的第一参考身份串基于基于所述用户终端存储的第一私钥加密生成,所述第一私钥与所述第一公钥一一对应;

随着通信技术的快速发展,用户可使用用户终端(如手机、平板等)进行数据转移,数据转移涉及到用户日常生活的方方面面,如购买商品等,数据转移已成为一种便捷、流行的互联网数据业务方式。在实际应用中,用户利用用户终端进行数据转移时,用户可以在用户终端上打开对应应用界面,以完成触发数据转移操作,如用户在线下商店购买商品时,通常可以在用户终端上开启支持数据转移功能的应用界面,进而开启数据转移功能,从而触发数据转移操作。其中,该支持数据转移功能的应用界面可以是用户终端上属于云顶的某个在线支付应用,也可以是属于用户终端上运行的某个即时通讯应用,例如即时通讯应用中的支付界面,或,即时通讯应用上的转账界面等等。

具体的,在本申请实施例中,用户通过操作用户终端触发数据转移操作之后,用户终端响应于数据转移操作对应的机器可执行指令,首先向数据转移终端获取服务器所保存的第一公钥,实际应用中,用户终端可以接收数据转移终端发送的第一公钥,在这个过程中,通常数据转移终端会向服务器获取第一公钥,然后再发送至用户终端。

具体的,在本申请中,所述数据转移方法涉及到用户终端、数据转移终端以及服务器;用户终端的数据转移过程基于第一公钥、第一私钥、第一加密串、第二加密串、身份摘要实现。

具体的,在数据转移发生之前,用户终端在与服务器可正常通信的情况下,用户终端可预先与服务器协商原始身份令牌,进而基于原始身份令牌生成第一参考身份串以及第二参考身份串,并随之协商确定第一公钥以及第一私钥,以及基于原始身份令牌采用相应的摘要算法计算身份摘要。

其中,所述原始身份令牌(token)作为前端-用户终端与后端-服务器之间涉及到身份验证时的一个凭证,如涉及到数据转移场景时,为了保证数据转移的安全性和普适性,前端-用户终端与后端-服务器之间的数据成功转移常取决于基于身份令牌(token)的身份验证流程是否通过;

在本申请中,所述原始身份令牌为前端-用户终端与后端-服务器首次身份协商时确定的唯一表征用户终端身份的一个凭证,也即唯一身份识别码,基于该原始身份令牌,用户终端或服务器可对应确定第一公钥、第一私钥、第一加密串以及第二加密串,以及基于原始身份令牌采用相应的摘要算法计算得到的身份摘要。

所述原始身份令牌可以是用户终端出厂前预先确定的用于唯一表征用户终端的身份标识,如所述身份标识可以是国际移动设备识别码(imei)、处理器id等,如该身份标识可以是采用不可逆的随机数生成算法(如随机数发生成器)生成的唯一表征用户终端的身份标识,在本申请中原始身份令牌的确定方式可以基于实际应用环境确定,此处不做具体限定。在一种可行的实施方式中,该原始身份令牌可以是服务器为用户终端分配的一个唯一表征用户终端的身份凭证,如采用随机数发生器生成的一个身份凭证等等。

前端-用户终端与后端-服务器首次身份协商的过程中,在确定原始身份令牌之后,可以对该原始身份令牌采用预设的拆分规则进行字符拆分,得到第一参考身份串和第二参考身份串,其中,也即原始身份令牌可由第一参考身份串和第二参考身份串构成,拆分之后,需满足可基于第一参考身份串和第二参考身份串还原为原始身份令牌,以便于在数据转移过程中基于还原的身份令牌(如第一身份令牌)对用户终端进行身份验证,以及拆分和合成为可逆过程。另外,在本申请中,在历次数据验证过程中为了避免身份令牌的泄露,用户终端在协商完成之后,通常不会再储存身份令牌(如原始身份令牌),以及在数据验证过程中用户终端也不会直接基于身份令牌来发起后续的数据转移操作,从而避免设备间通讯链路置信度不高的前提下,造成数据转移中的信息泄露。

在本申请中,如图2所示,图2是一种本申请涉及的身份令牌拆分的场景示意图,(如用户终端、服务器)在对原始身份令牌进行拆分得到第一参考身份串(seg1)和第二参考身份串(seg2),并随之确定用于对“第一参考身份串和第二参考身份串”加解密的密钥对,密钥对包括第一公钥以及第一私钥。

其中,公钥和私钥是通过一种密钥生成算法得到的一个密钥对(即一个公钥和一个私钥),公钥对服务器公开,私钥用于在用户终端上存储且可以在非数据转移场景下对外不可见。

在本申请中,通常所述第一公钥与第一私钥相对应,采用第一公钥与第一私钥对传输数据进行加解密的方式一般称为非对称加密方式。其中,所述第一公钥与第一私钥可以是基于非对称加密算法分配的,所述非对称加密算法包括但不限于rsa加密算法、elgamal加密算法、背包算法、rabin加密算法、ecc(椭圆曲线加密算法)等等。

进一步的,在确定第一参考身份串和第二参考身份串、第一公钥与第一私钥之后,进行如下操作:

1、如图3所示,如3是一种本申请涉及到的身份串加解密的场景示意图,可以采用第一私钥对第一参考身份串(seg1)进行加密,生成第一加密串(eseg1),加密过程可基于上述提及的任一种非对称加密算法进行加密,需要说明的是在本申请中,第一加密串的解密需要基于第一公钥,也即采用第一公钥才能对第一加密串(eseg1)进行解密,解密为第一身份串(在一些实施例中为了区分将采用第一公钥对第一加密串解密生成的身份串称之为第一身份串,正常情况下第一身份串与第一参考身份串相同);

2、采用第一公钥对第二参考身份串(seg2)进行加密,生成第二加密串(eseg2),加密过程可基于上述提及的任一种非对称加密算法进行加密,需要说明的是在本申请中,第二加密串(eseg2)的解密需要基于第一私钥,也即采用第一私钥才能对第二加密串(eseg2)进行解密,解密为第二身份串(在一些实施例中为了区分将采用第一私钥对第二加密串解密生成的身份串称之为第二身份串,正常情况下第二身份串与第二参考身份串相同);

3、如图2所示,可以基于原始身份令牌(token)采用相应的摘要算法计算得到身份摘要(tokend),其中所述摘要算法包括但不限于md消息摘要算法、哈希算法、sm3杂凑算法等,所述摘要通常是指通过摘要算法将任意长度的输入数据(如原始身份令牌)转化为固定长度的输出数据,例如将256比特的数据转化为64比特的数据。

具体的,在基于上述过程确定第一加密串和第二加密串、第一公钥与第一私钥以及身份摘要之后,然后用户终端侧将第一加密串、第一私钥进行保存,在一些实施方式中用户终端可保存身份摘要;服务器侧将第二加密串、第一公钥进行保存,在一些实施方式中服务器侧可以将身份摘要保存;进一步的,第一参考身份串以及第二参考身份串用户终端和服务器侧均可不进行储存,另外用户终端不存储原始身份令牌。

在实际应用中,上述数据转移过程可以认为是用户终端上的数据转移至“数据转移终端”上;如用户基于数据购买商品时,用户终端上的数据转移至数据转移终端(如商家)对应的数据账户上。

当在用户终端上触发数据转移之后,通常需要在服务器对用户终端的身份验证通过后才完成数据转移过程,身份验证过程中:用户终端向数据转移终端获取服务器所保存的第一公钥,如用户终端向数据转移终端发起针对第一公钥的获取请求,数据转移终端接收到所述获取请求向服务器获取第一公钥,然后将获取到的第一公钥发送至用户终端。

具体的,用户终端在获取到第一公钥之后就可采用第一公钥对本端存储的第一加密串进行解密,从而生成第一身份串(其中,在上述加解密正常的情况下,上述提及的第一参考身份串与第一身份串相同,两者身份串的区别在于身份串产生的时机不一样,因此在本申请中区进行区分)。

具体的,用户终端在获取到第一公钥之后,获取本端存储的第一加密串,然后采用非对称解密算法采用第一公钥对第一加密串进行解密,生成第一身份串,其中所述非对称解密算法与上述非对称加密算法相对应。

步骤s102:发送所述第一私钥和所述第一身份串至所述数据转移终端,以使所述数据转移终端指示所述服务器基于第一身份令牌对所述用户终端进行身份验证。

具体的,用户终端在基于所述第一公钥对本地保存的第一加密串进行解密,生成第一身份串之后,为了完成数据转移前身份验证过程,然后通过与数据转移终端间的通信连接,将第一身份串与第一私钥发送至数据转移终端。

其中,所述第一私钥用于对服务器储存的第二加密串进行解密从而生成第二身份串,另外在本申请中,第二身份串的还原过程可在数据转移端上进行,也可以在服务器上进行,详细步骤释义可参考本申请的其他实施例。在生成第二身份串之后即可基于第一身份串和第二身份串进行身份令牌的合成,从而生成第一身份令牌,以便于服务器侧基于该第一身份令牌完成对用户终端的身份验证,从而在身份验证完成且确定身份验证通过之后,进行数据转移,如将用户终端上的用户账户中的数据转移至数据转移终端相关联的商家账户中。

步骤s103:确定所述服务器对所述用户终端身份验证通过,向所述数据转移终端发送数据转移请求,以使所述数据转移终端将所述数据转移请求发送至所述服务器进行数据转移。

具体的,预先预定有验证通过判决条件,所述验证通过判决条件可以是用户终端在接收到服务器反馈的验证通过消息之后确定通过;所述验证通过判决条件可以是用户终端在预设验证时长内未接收到服务器反馈的验证失败消息之后确定通过;所述验证通过判决条件可以是用户终端在预设验证时长内未接收到任何服务器发送的消息,此时用户终端通常可认为验证通过等等。在服务器基于第一身份令牌对用户终端身份验证通过之后,用户终端可确定身份验证过程完成,通常在身份验证过程完成后,即可进行数据转移。

在一种具体的实施场景中,服务器在基于第一身份令牌对用户终端的身份验证通过之后,可以向数据转移设备返回验证通过消息,然后数据转移设备将所述验证通过消息发送至用户终端;用户终端就可以接收所述服务器经所述数据转移终端转发的验证通过消息,此时,数据转移前的身份验证过程完成,即可以在验证通过后进行数据转移;进一步的,用户终端可以向所述数据转移终端发送数据转移请求;所述数据转移终端接收到该数据转移请求之后,将所述数据转移请求发送至服务器,服务器即可对数据转移请求进行响应进行数据转移。进一步的,通常该数据转移请求中包含数据转移信息(如数据转移账户信息、数据转移量等等),服务器可基于该数据转移信息进行数据转移,如将用户终端上的用户账户中的指定数量的数据转移至数据转移终端相关联的商家账户中。

可选的,可以接收所述服务器(如经数据转移终端)发送的所述数据转移结果;根据所述数据转移结果,显示与所述数据转移结果对应的提示信息。进一步的,若数据转移结果为数据转移成功,则显示成功的消息,若数据转移结果为数据转移失败,则用户终端提示用户重新提交上述操作流程。

示意性的,用户可以通过社交客户端提供的购物入口登录购物平台,更进一步地用户可以在购物平台上选择标注有价格信息的产品,相应地用户终端可以检测用户在购物平台上选择的标注有价格的产品,并且根据所选产品的价格信息计算数据转移量(即数据转移量=所选产品的价格信息总和),以及根据该数据转移量以及所选产品对应的接收方标识生成包括数据转移量、接收方标识的数据转移请求。其中,产品对应的接收方标识是指在购物平台上发布所选产品的商家或卖家的身份标识,也即是收款方身份标识。

在本申请实施例中,通过预先将用户终端对应的原始身份令牌进行拆分并加密储存在用户终端以及服务器上,在进行数据转移时,第一身份令牌需要相匹配的加密串和密钥进行(如第一加密串需要服务器上的第一公钥解密才能生成第一身份串,第二加密串需要用户终端上的第一私钥才能生成第二身份串),才能最终生成第一身份令牌,服务器才可以基于该第一身份令牌完成对用户终端的身份校验;整个数据转移过程具备高安全性,且合成第一身份令牌的第一加密串对外不可见且只能基于服务器上的公钥在本端才能解密,数据转移的流程具备高安全性,且整个数据转移过程中,涉及的各电子设备可以不依赖于身份令牌进行,大幅提高了数据转移的安全性;以及,在数据转移中,不依赖于用户终端对应生成数据转移码,降低了数据转移的成本,涉及数据转移的各电子设备只需基于相应数据的流转即可最终完成整个数据转移流程,提高了数据转移的普适性。

请参见图4,图4是本申请提出的一种数据转移方法的另一种实施例的流程示意图。具体的:

步骤s201:在与所述服务器进行首次连接时,所述用户终端与所述服务器确定所述用户终端的原始身份令牌。

具体的,在用户终端与服务器首次建立通信连接时,用户终端与所述服务器确定所述用户终端的原始身份令牌。

在一种具体的实施场景中,用户可以在用户终端上首次登陆服务器时,会涉及到数据账户的身份注册过程,在首次身份注册过程中,用户终端可以与所述服务器协商针对用户终端的原始身份令牌,如用户在用户终端上首次登陆提供购物的服务器,如用户在社交应用中首次登陆购物网页,该购物网页与服务器相关联;

根据一些实施例中,原始身份令牌(token)作为前端-用户终端与后端-服务器之间涉及到身份验证时的一个凭证,为了保证数据转移的安全性和普适性,前端-用户终端与后端-服务器之间的数据成功转移常取决于基于身份令牌(token)的身份验证流程是否通过;在与所述服务器进行首次连接时,如用户终端首次基于网络连接访问服务器时,协商该原始身份令牌。

根据一些实施例中,用户终端与服务器在协商过程中,用户终端可以将出厂前预先确定的用于唯一表征用户终端的身份标识作为该原始身份令牌并同步至服务器,如所述身份标识可以是国际移动设备识别码(imei)、处理器id等;

可选的,用户终端或服务器可以采用不可逆的随机数生成算法(如随机数发生成器)生成的唯一表征用户终端的身份标识,将该身份标识作为原始身份令牌以及向对端同步,如用户终端生成该身份标识告知服务器,又如服务器基于随机数生成算法生成该身份标识,将该身份标识作为原始身份令牌以及向用户终端同步,在本申请中原始身份令牌的确定方式可以基于实际应用环境确定,此处不做具体限定。在一种可行的实施方式中,该原始身份令牌可以是服务器为用户终端分配的一个唯一表征用户终端的身份凭证,如采用随机数发生器生成的一个身份凭证等等。

步骤s202:基于所述原始身份令牌确定所述第一加密串、所述第二加密串、所述身份摘要、所述第一公钥以及第一私钥,保存所述第一加密串、所述第一私钥以及所述身份摘要。

在一种可行的实施方式中,用户终端可以在本端确定该原始身份令牌,如将imei码作为原始身份令牌,然后向所述服务器发送所述原始身份令牌,服务器在接收到该原始身份令牌之后,所述服务器确定所述原始身份令牌的第一参考身份串以及所述第二参考身份串、所述身份摘要、所述第一公钥以及第一私钥,以及生成采用所述第一私钥对所述第一参考身份串加密的第一加密串和生成采用所述第一公私钥对所述第二参考身份串加密的第二加密串。

实际应用中,服务器在接收到该原始身份令牌之后,对原始身份令牌进行拆分得到第一参考身份串和第二参考身份串,并随之确定用于对“第一参考身份串和第二参考身份串”加解密的密钥对,密钥对包括第一公钥以及第一私钥,采用第一私钥对第一参考身份串进行加密,生成第一加密串,采用第一公钥对第二参考身份串进行加密,生成第二加密串,以及基于原始身份令牌采用相应的摘要算法计算得到身份摘要;

用户终端可以向所述服务器获取所述第一参考身份串、所述第一私钥以及所述身份摘要,并将所述第一加密串、所述第一私钥以及所述身份摘要保存;如,服务器在生成第一参考身份串、所述第一私钥以及所述身份摘要之后,可以将其发送至用户终端,此时用户终端即接收到第一参考身份串、所述第一私钥以及所述身份摘要。

在一种可行的实施方式中,在确定原始身份令牌之后,用户终端可以在本端对所述原始身份令牌进行拆分处理,确定所述第一参考身份串、所述第二参考身份串、所述身份摘要、所述第一公钥以及所述第一私钥,采用所述第一私钥对所述第一参考身份串加密生成第一加密串和生成采用所述第一公钥对所述第二参考身份串加密生成第二加密串,然后保存所述第一加密串、所述第一私钥以及所述身份摘要,并将所述第二加密串、所述第一公钥以及所述身份摘要发送至所述服务器。

其中,可以对该原始身份令牌采用预设的拆分规则进行字符拆分,得到第一参考身份串和第二参考身份串,拆分之后,需满足可基于第一参考身份串和第二参考身份串还原为原始身份令牌,以便于在数据转移过程中基于还原的身份令牌(如第一身份令牌)对用户终端进行身份验证,以及拆分和合成为可逆过程。具体拆分规则可以基于实际应用环境确定,此处不作具体限定。

在一种具体的实施场景中,本申请所涉及的数据转移方法可应用于用户终端与服务器无法直接进行网络连接的场景下,可以理解为无网络状态下或网络故障状态下,如在实际应用中,用户终端无法使用移动通信网络(如4g/5g通信、wifi等),此时涉及到数据转移场景时,也即在用户终端处于网络故障状态下(用户终端与服务器无法直接进行网络通信),用户终端可以建立与所述数据转移终端的通信连接,所述通信连接可以是近场通信方式对应的通信连接、蓝牙通信方式对应的通信连接等等。

在服务器侧可以对应多个用户终端,针对每个用户终端,服务器可以基于身份摘要来唯一识别用户终端,并对该用户终端相关联的第一公钥以及第二加密串建立映射关系,也即建立每个用户终端的身份摘要与该用户终端相关联的第一公钥和第二加密串的映射关系,该映射关系包括但不限于数据列表、数据组合、数据数组来表征,以便于服务器在接收到该身份摘要之后可以唯一获取到该用户终端对应的第一公钥和第二加密串。

基于此,在一种具体的实施场景中,用户终端可以将存储的身份摘要发送至数据转移终端;数据转移终端接收该身份摘要并可以将身份摘要发送至服务器,从而向服务器获取所存储的第一公钥,服务器在接收到该身份摘要之后即可获取到该身份摘要对应的第一公钥和第二加密串。

进一步的,用户终端可以基于所述通信连接向所述数据转移终端发送包含身份摘要的身份验证请求,所述数据转移终端在接收到该身份验证请求之后可以基于携带的所述身份摘要获取所述服务器上的第一公钥。

步骤s203:经所述数据转移终端向所述服务器发送存储的身份摘要,以使所述服务器确定所述身份摘要对应的第二加密串以及第一公钥。

在实际应用中,服务器在接收到用户终端的身份摘要之后,服务器可以向数据转移终端发送的第二加密串和第一公钥,以便于在数据转移终端上对第二加密串解密生成第二身份串从而与第一身份串合并,生成第一身份令牌。

在实际应用中,服务器在接收到用户终端的身份摘要之后,服务器可以向数据转移终端发送第一公钥,以便于在数据转移终端上将第一身份串和第一私钥发送至服务器,从而便于后续数据转移终端基于第一私钥对第二加密串进行解密生成第二身份串,从而将第二身份串与第一身份串合并生成第一身份令牌。

步骤s204:在所述数据转移终端接收到所述服务器发送的所述第二加密串以及第一公钥后,接收所述数据转移终端发送的所述第一公钥。

根据一些实施例中,用户终端经所述数据转移终端向所述服务器发送存储的身份摘要,如用户终端可以生成包含身份摘要的身份验证请求,将该身份验证请求经所述数据转移终端向所述服务器发送;从而在服务器接收到之后,可以获取到用户终端上存储的身份摘要,然后基于该身份摘要查找针对该用户终端存储的第二加密串和第一公钥,然后将第二加密串和第一公钥发送至数据转移终端。也即后期进行第一身份令牌合成时在用户终端上完成。

具体的,所述数据转移终端接收到所述服务器发送的所述第二加密串以及第一公钥后,可以将第一公钥发送至用户终端;此时,用户终端即可接收到所述数据转移终端发的所述第一公钥。

步骤s205:在所述数据转移终端接收到所述服务器发送的所述第一公钥后,接收所述数据转移终端发送的所述第一公钥。

根据一些实施例中,用户终端经所述数据转移终端向所述服务器发送存储的身份摘要,如用户终端可以生成包含身份摘要的身份验证请求,将该身份验证请求经所述数据转移终端向所述服务器发送;从而在服务器接收到之后,可以获取到用户终端上存储的身份摘要,然后基于该身份摘要查找针对该用户终端存储的第二加密串和第一公钥,然后仅将第一公钥发送至数据转移终端。也即后期进行第一身份令牌合成时在服务器上完成。

具体的,所述数据转移终端接收到所述服务器发送的第一公钥后,可以将第一公钥发送至用户终端;此时,用户终端即可接收到所述数据转移终端发的所述第一公钥。

步骤s206:基于所述第一公钥对所述用户终端存储的第一加密串进行解密得到第一身份串。

具体可参见步骤s101,此处不再赘述。

步骤s207:将存储的第一私钥以及所述第一身份串发送至所述数据转移终端,以使所述数据转移终端采用所述第一私钥对所述第二加密串解密生成第二身份串,并基于所述第二身份串以及所述第一身份串生成第一身份令牌后将所述第一身份令牌发送至所述服务器对所述用户终端进行身份验证。

根据一些实施例中,服务器在接收到用户终端的身份摘要之后,服务器此时可以向数据转移终端发送的第二加密串和第一公钥,然后在用户终端基于第一公钥解密生成第一身份串后,然后将存储的第一私钥以及所述第一身份串发送至所述数据转移终端;所述数据转移终端接收到后,然后采用第一私钥对第二加密串解密生成第二身份串,从而将第一身份串和第二身份串进行合成,生成第一身份令牌,并将身份令牌发送至服务器进行身份验证。

步骤s208:将存储的第一私钥以及所述第一身份串经所述数据转移终端转发至服务器,以使所述服务器采用所述第一私钥对所述第二加密串解密生成第二身份串以及基于所述第一身份串和所述第二身份串生成所述第一身份令牌,并对所述用户终端进行身份验证。

根据一些实施例中,服务器在接收到用户终端的身份摘要之后,服务器此时可以向数据转移终端发送的第一公钥,然后在用户终端基于第一公钥解密生成第一身份串后,然后将存储的第一私钥以及所述第一身份串发送至所述数据转移终端;所述数据转移终端接收到后并转发至服务器;服务器收到后可以采用第一私钥对第二加密串解密生成第二身份串,从而将第一身份串和第二身份串进行合成,生成第一身份令牌,然后基于第一身份令牌对用户终端进行身份验证。

步骤s209:确定所述服务器对所述用户终端身份验证通过,向所述数据转移终端发送数据转移请求,以使所述数据转移终端将所述数据转移请求发送至所述服务器进行数据转移。

具体可参见步骤s101,此处不再赘述。

在本申请实施例中,通过预先将用户终端对应的原始身份令牌进行拆分并加密储存在用户终端以及服务器上,在进行数据转移时,第一身份令牌需要相匹配的加密串和密钥进行(如第一加密串需要服务器上的第一公钥解密才能生成第一身份串,第二加密串需要用户终端上的第一私钥才能生成第二身份串),才能最终生成第一身份令牌,服务器才可以基于该第一身份令牌完成对用户终端的身份校验;整个数据转移过程具备高安全性,且合成第一身份令牌的第一加密串对外不可见且只能基于服务器上的公钥在本端才能解密,数据转移的流程具备高安全性,且整个数据转移过程中,涉及的各电子设备可以不依赖于身份令牌进行,大幅提高了数据转移的安全性;以及,在数据转移中,不依赖于用户终端对应生成数据转移码,降低了数据转移的成本,涉及数据转移的各电子设备只需基于相应数据的流转即可最终完成整个数据转移流程,提高了数据转移的普适性;以及在用户终端网络故障的场景下(用户终端与服务器无网络服务),通过与数据转移终端的通信连接,可以顺利完成整个数据转移过程,提高了数据转移过程中的容灾性,实现了无网数据转移,扩展了数据转移场景;以及,即时各电子设备间的通讯链路不可靠,基于本申请的数据转移方法涉及的加解密手段,也能保证数据转移的安全性。

在一个实施例中,如图5所示,特提出了一种数据转移方法,应用于数据转移终端,该方法可依赖于计算机程序实现,可运行于基于冯诺依曼体系的数据转移装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行。具体的,该数据转移方法包括:

步骤s301:向所述服务器获取第一公钥,将所述第一公钥发送至用户终端,以使所述用户终端基于所述第一公钥以及存储的第一加密串解密生成第一身份串。

根据一些实施例中,用户通过操作用户终端触发数据转移操作之后,用户终端响应于数据转移操作对应的机器可执行指令,首先向数据转移终端获取服务器所保存的第一公钥;进一步的,用户终端可以生成包含身份摘要的身份验证请求,将该身份验证请求发送至数据转移终端;此时,数据转移终端可以进行响应(如响应用户终端的身份验证请求),从而将该身份验证请求发送至服务器,也即基于该身份验证请求向服务器获取该第一公钥;服务器在接收到该身份验证请求之后,通过该身份验证请求携带的身份摘要,基于该身份摘要查找针对该用户终端存储的第二加密串和第一公钥;进一步的,服务器可以将第一公钥发送至数据转移终端;也可以将第一公钥和第二加密串发送至数据转移终端,此时通常后期数据转移端可以进行第一身份令牌合成。

根据一些实施例中,用户终端在接收到数据转移终端发送的第一公钥后,可以基于所述第一公钥对本地保存的第一加密串进行解密,从而生成第一身份串,进而可以将第一身份串和第一私钥发送至数据转移终端。

步骤s302:接收所述用户终端发送的所述第一身份串以及所述第一私钥,以使所述服务器基于第一身份令牌对所述用户终端进行身份验证。

其中,所述第一身份令牌由所述第一身份串和第二身份串生成,所述第二身份串基于所述第一私钥和所述第二加密串解密生成,所述第二加密串由所述原始身份令牌的第二参考身份串基于所述第一公钥生成。

根据一些实施例中,在用户终端基于第一公钥解密生成第一身份串后,然后将存储的第一私钥以及所述第一身份串发送至所述数据转移终端;所述数据转移终端接收到后,然后采用第一私钥对第二加密串解密生成第二身份串,从而将第一身份串和第二身份串进行合成,生成第一身份令牌,并将身份令牌发送至服务器进行身份验证。

根据一些实施例中,用户终端将存储的第一私钥以及所述第一身份串发送至所述数据转移终端;所述数据转移终端接收到后并转发至服务器;服务器收到后可以采用第一私钥对第二加密串解密生成第二身份串,从而将第一身份串和第二身份串进行合成,生成第一身份令牌,然后基于第一身份令牌对用户终端进行身份验证。

步骤s303:确定所述服务器对所述用户终端身份验证通过,接收所述用户终端的数据转移请求,将所述数据转移请求发送至所述服务器,以使所述服务器进行数据转移。

根据一些实施例中,服务器在基于第一身份令牌对用户终端的身份验证通过之后,可以向数据转移设备返回验证通过消息,数据转移设备可以基于该验证通过消息确定用户终端身份验证通过,通常在该身份验证通过之后,数据转移前的身份验证过程完成,即可以在验证通过后进行数据转移;

进一步的,数据转移过程可以是:用户终端可以向所述数据转移终端发送数据转移请求;所述数据转移终端接收到该数据转移请求之后,将所述数据转移请求发送至服务器,服务器即可对数据转移请求进行响应进行数据转移。进一步的,通常该数据转移请求中包含数据转移信息(如数据转移账户信息、数据转移量等等),服务器可基于该数据转移信息进行数据转移,如将用户终端上的用户账户中的指定数量的数据转移至数据转移终端相关联的商家账户中。

在本申请实施例中,通过预先将用户终端对应的原始身份令牌进行拆分并加密储存在用户终端以及服务器上,在进行数据转移时,第一身份令牌需要相匹配的加密串和密钥进行(如第一加密串需要服务器上的第一公钥解密才能生成第一身份串,第二加密串需要用户终端上的第一私钥才能生成第二身份串),才能最终生成第一身份令牌,服务器才可以基于该第一身份令牌完成对用户终端的身份校验;整个数据转移过程具备高安全性,且合成第一身份令牌的第一加密串对外不可见且只能基于服务器上的公钥在本端才能解密,数据转移的流程具备高安全性,且整个数据转移过程中,涉及的各电子设备可以不依赖于身份令牌进行,大幅提高了数据转移的安全性;以及,在数据转移中,不依赖于用户终端对应生成数据转移码(如数据转移二维码、条形码等),数据转移更便捷,也降低了显示数据转移码的硬件设备的成本,涉及数据转移的各电子设备只需基于相应数据的流转即可最终完成整个数据转移流程,提高了数据转移的普适性。

请参见图6,图6是本申请提出的一种数据转移方法的另一种实施例的流程示意图。具体的:

步骤s401:接收所述用户终端发送的身份摘要。

根据一些实施例中,所述身份摘要服务器或用户终端基于用户终端的原始身份令牌采用相应的摘要算法计算得到身份摘要,其中所述摘要算法包括但不限于md消息摘要算法、哈希算法、sm3杂凑算法等,所述摘要通常是指通过摘要算法将任意长度的输入数据(如原始身份令牌)转化为固定长度的输出数据,例如将256比特的数据转化为64比特的数据。

根据一些实施例中,用户终端在数据转移过程中,通过向数据转移终端发送身份摘要,数据转移终端将身份摘要发送至服务器,可以方便服务器基于该身份摘要快速查找到针对用户终端的第二加密串和第一公钥。

步骤s402:基于所述身份摘要向所述服务器获取第一公钥,将所述第一公钥发送至用户终端,以使所述用户终端基于所述第一公钥以及存储的第一加密串生成第一身份串。

根据一些实施例中,数据转移终端将该身份摘要发送至服务器,服务器在接收到用户终端的身份摘要之后,服务器基于该身份摘要查找针对该用户终端存储的第二加密串和第一公钥;一种方式是,服务器可以向数据转移终端发送的第二加密串和第一公钥,此时,数据转移终端通过接收到第二加密串和第一公钥时,即完成基于所述身份摘要向所述服务器获取第一公钥的步骤,通常接收到第二加密串和第一公钥可以便于在数据转移终端上对第二加密串解密生成第二身份串从而与第一身份串合并,生成第一身份令牌。一种方式是,服务器仅向数据转移终端发送第一公钥,然后数据转移终端将第一公钥发送至用户终端,用户终端即可基于所述第一公钥以及存储的第一加密串生成第一身份串。

在一种具体的实施场景中,本申请所涉及的数据转移方法可应用于用户终端与服务器无法直接进行网络连接的场景下,可以理解为无网络状态下或网络故障状态下,如在实际应用中,用户终端无法使用移动通信网络(如4g/5g通信、wifi等),此时涉及到数据转移场景时,也即在用户终端处于网络故障状态下(用户终端与服务器无法直接进行网络通信)。此时,数据转移终端用户可以建立与终端的通信连接,所述通信连接可以是近场通信方式对应的通信连接、蓝牙通信方式对应的通信连接、可以是红外通信方式对应的通信连接等等。

也即在所述用户终端处于网络故障状态时,当需要针对用户终端进行数据转移的场景下,数据转移终端建立与所述用户终端的通信连接。

根据一些实施例中,用户终端可以基于所述通信连接向所述数据转移终端发送包含身份摘要的身份验证请求;此时,数据转移终端即可接收到所述用户终端发送的身份验证请求,所述身份验证请求通常携带该身份摘要,用户终端可以基于所述身份摘要向所述服务器获取第一公钥,将所述第一公钥发送至用户终端;具体实施中,数据转移终端可以将该身份验证请求转发至服务器,服务器接收到该身份验证请求即可获取到身份摘要。

步骤s403:接收所述用户终端发送的所述第一身份串以及所述第一私钥,将所述第一身份串以及所述第一私钥发送至所述服务器,以使所述服务器在接收到所述第一身份串以及所述第一私钥后生成所述第一身份令牌,并基于所述第一身份令牌对所述用户终端进行身份验证。

根据一些实施例中,如图7所示,图7是本申请涉及的一种数据信息交互的示意图,服务器在接收到用户终端的身份摘要之后,如图7所示,服务器此时可以向数据转移终端发送的第一公钥,然后在用户终端基于第一公钥解密生成第一身份串后,然后将存储的第一私钥以及所述第一身份串发送至所述数据转移终端;所述数据转移终端接收到后并转发至服务器;服务器收到后可以采用第一私钥对第二加密串解密生成第二身份串,从而将第一身份串和第二身份串进行合成,生成第一身份令牌,然后基于第一身份令牌对用户终端进行身份验证。

步骤s404:向所述服务器获取第一公钥和所述第二加密串,将所述第一公钥发送至用户终端。

根据一些实施例中,用户终端向所述数据转移终端发送存储的身份摘要,如用户终端可以生成包含身份摘要的身份验证请求,将该身份验证请求发送至向所述数据转移终端发送;数据转移终端接收到之后,将该身份验证请求发送至服务器,从而在服务器接收到之后,可以获取到用户终端上存储的身份摘要,然后基于该身份摘要查找针对该用户终端存储的第二加密串和第一公钥,然后将第二加密串和第一公钥发送至数据转移终端。也即后期进行第一身份令牌合成时在用户终端上完成。

具体的,数据转移终端接收到所述服务器发送的所述第二加密串以及第一公钥后,可以将第一公钥发送至用户终端;此时,用户终端即可接收到所述数据转移终端发的所述第一公钥。

步骤s405:接收所述用户终端发送的所述第一身份串以及所述第一私钥,生成第一身份令牌,将所述第一身份令牌发送至所述服务器,以使所述服务器基于第一身份令牌对所述用户终端进行身份验证。

根据一些实施例中,如图8所示,图8是本申请涉及的一种另数据信息交互的示意图,在用户终端基于第一公钥解密生成第一身份串后,然后将存储的第一私钥以及所述第一身份串发送至所述数据转移终端;如图8所示所述数据转移终端接收到后,然后采用第一私钥对第二加密串解密生成第二身份串,从而将第一身份串和第二身份串进行合成,也即基于所述第一身份串和所述第二身份串生成所述第一身份令牌,并将身份令牌发送至服务器。以使服务器对用户终端进行身份验证。

其中,“基于所述第一身份串和所述第二身份串生成所述第一身份令牌”的过程为对原始身份令牌拆分生成身份串(如第一参考身份串、第二参考身份串)的逆过程,具体生成过程基于实际应用环境确定,如可以是将第一身份串和第二身份串首尾拼接,可以是将第一身份串和第二身份串进行逻辑运算等等此处不作具体限定。

步骤s406:接收所述服务器的验证通过消息,确定所述用户终端身份验证通过,所述验证通过消息在所述服务器对所述用户终端身份验证通过后生成;

根据一些实施例中,服务器在基于第一身份令牌对用户终端的身份验证通过之后,可以向数据转移设备返回验证通过消息,数据转移设备此时即可接收到服务器发送的验证通过消息,并确定所述服务器对用户终端的身份验证通过。

进一步的,可以接收所述服务器(如经数据转移终端)发送的所述验证结果消息(也即验证通过消息以及验证失败消息);根据所述验证通过消息,显示与该消息对应的提示信息。进一步的,若验证结果为验证成功,则显示成功的消息,若验证结果为验证失败,则数据转移终端进行验证故障排除,并提示用户终端重新提交上述操作流程。

步骤s407:将所述验证通过消息发送至所述用户终端,以使所述用户终端基于所述验证通过消息确定身份验证通过,接收所述用户终端的数据转移请求,将所述数据转移请求发送至所述服务器,以使所述服务器进行数据转移。

具体的,数据转移设备将所述验证通过消息发送至用户终端;用户终端就可以接收所述服务器经所述数据转移终端转发的验证通过消息。

根据一些实施例中,此时,数据转移前的身份验证过程完成,即可以在验证通过后进行数据转移;进一步的,用户终端可以向所述数据转移终端发送数据转移请求;所述数据转移终端接收到该数据转移请求之后,将所述数据转移请求发送至服务器,服务器即可对数据转移请求进行响应进行数据转移。进一步的,通常该数据转移请求中包含数据转移信息(如数据转移账户信息、数据转移量等等),服务器可基于该数据转移信息进行数据转移,如将用户终端上的用户账户中的指定数量的数据转移至数据转移终端相关联的商家账户中。

可选的,数据转移终端可以在接收到用户终端发送的数据转移请求之后,若前述操作流程中,第一身份令牌在数据转移终端上合成,则数据转移终端可以将所述数据转移请求和所述第一身份令牌发送至所述服务器,服务器接收到数据转移请求和所述第一身份令牌之后,出于数据转移安全性考虑,服务器可以响应所述数据转移请求基于所述第一身份令牌对当前用户终端进行二次身份验证,并在本次身份验证通过之后,基于数据转移请求中的一些请求信息(如数据转移账户信息、数据转移量等等)进行数据转移,如将用户终端上的用户账户中的指定数量的数据转移至数据转移终端相关联的商家账户中。

在本申请实施例中,通过预先将用户终端对应的原始身份令牌进行拆分并加密储存在用户终端以及服务器上,在进行数据转移时,第一身份令牌需要相匹配的加密串和密钥进行(如第一加密串需要服务器上的第一公钥解密才能生成第一身份串,第二加密串需要用户终端上的第一私钥才能生成第二身份串),才能最终生成第一身份令牌,服务器才可以基于该第一身份令牌完成对用户终端的身份校验;整个数据转移过程具备高安全性,且合成第一身份令牌的第一加密串对外不可见且只能基于服务器上的公钥在本端才能解密,数据转移的流程具备高安全性,且整个数据转移过程中,涉及的各电子设备可以不依赖于身份令牌进行,大幅提高了数据转移的安全性;以及,在数据转移中,不依赖于用户终端对应生成数据转移码,降低了数据转移的成本,涉及数据转移的各电子设备只需基于相应数据的流转即可最终完成整个数据转移流程,提高了数据转移的普适性;以及在用户终端网络故障的场景下(用户终端与服务器无网络服务),通过与数据转移终端的通信连接,可以顺利完成整个数据转移过程,提高了数据转移过程中的容灾性,实现了无网数据转移,扩展了数据转移场景;以及,即时各电子设备间的通讯链路不可靠,基于本申请的数据转移方法涉及的加解密手段,也能保证数据转移的安全性。

在一个实施例中,如图9所示,特提出了一种数据转移方法,应用于服务器,该方法可依赖于计算机程序实现,可运行于基于冯诺依曼体系的数据转移装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行。

具体的,该数据转移方法包括:

步骤s501:向所述数据转移终端发送第一公钥,以使所述数据转移终端将所述第一公钥发送至用户终端。

其中,所述用户终端存储有第一加密串以及第一私钥,所述第一公钥用于对第一加密串解密生成第一身份串,所述第一加密串由所述用户终端原始身份令牌的第一参考身份串基于所述第一私钥生成。

另外,具体第一加密串、第二加密串、第一参考身份串、第二参考身份串、第一密钥、第一公钥以及原始身份令牌的相关释义可参考前述实施例,此处不再详细释义。

根据一些实施例中,在用户终端与数据转移终端间触发数据转移操作的场景下,如,用户通过操作用户终端触发数据转移操作之后,用户终端响应于数据转移操作对应的机器可执行指令,首先向数据转移终端获取服务器所保存的第一公钥;在所示出的场景中为了实现针对用户终端的数据转移,服务器就会向数据转移终端发送第一公钥;数据转移终端在接收到服务器发送的第一公钥之后,即可将该第一公钥发送至用户终端。

进一步的,服务器“向所述数据转移终端发送第一公钥”可以是响应于用户终端上生成的身份验证请求而触发机器可执行操作的,示意性的:

根据一些实施例中,用户终端可以生成包含身份摘要的身份验证请求,将该身份验证请求发送至数据转移终端;此时,数据转移终端可以进行响应(如响应用户终端的身份验证请求),从而将该身份验证请求发送至服务器;服务器此时即可接收到用户终端上生成的身份验证请求,服务器响应于该身份验证请求,从而获取针对该用户终端存储的第一公钥(或,第一公钥和第二加密串);进一步的,该身份验证请求可携带的第一身份摘要(也即用户终端上所保存的身份摘要),基于该第一身份摘要查找针对该用户终端存储的第二加密串和第一公钥;进一步的,服务器可以仅第一公钥发送至数据转移终端;也可以将第一公钥和第二加密串发送至数据转移终端,此时通常后期数据转移端可以进行第一身份令牌合成。在数据转移终端接收到该第一公钥之后即可将该第一公钥发送至用户终端。

步骤s502:获取第一身份令牌,基于所述第一身份令牌对所述用户终端进行身份验证。

所述第一身份令牌基于所述第一身份串以及第二身份串生成,所述第二身份串基于所述第一私钥和存储的第二加密串解密生成,所述第二加密串由所述原始身份令牌的第二参考身份串基于所述第一公钥生成。

根据一些实施例中,所述第一身份令牌可以是在数据转移终端上合成,然后服务器可以向服务器获取该第一身份令牌,从而基于该第一身份令牌对所述用户终端进行身份验证。进一步的,服务器可以将第二加密串发送至数据转移终端,数据转移终端在后续获取到用户终端发送的第一身份串和第一私钥之后,可采用第一私钥对该第二加密串进行解密生成第二身份串,然后基于第一身份串和第二身份串生成第一身份令牌,从而数据转移终端可以将该第一身份令牌发送至服务器,服务器此时就可以获取到该第一身份令牌,进而对第一身份令牌进行身份验证;

根据一些实施例中,所述第一身份令牌可以是在服务器上生成的;进一步的,用户终端基于第一公钥生成第一身份串之后,可以将第一身份串和第一私钥(用于对第二加密串解密生成第二身份串)经数据转移终端发送至服务器,服务器接收到后,可以采用第一私钥对第二加密串进行解密,从而生成第二身份串,然后基于第一身份串和第二身份串,生成第一身份令牌。此时,服务器即可获取到第一身份令牌。

以下对身份验证过程进行释义:

服务器可以预先保存有唯一标识用户终端身份的原始身份令牌,服务器在获取到第一身份令牌之后,即可将第一身份令牌和原始身份令牌进行匹配,从而确定所述用户终端的身份是否验证通过,示意性的,在第一身份令牌和原始身份令牌一致时,服务器确定所述用户终端的身份验证通过。示意性的,可以计算第一身份令牌和原始身份令牌的相似度,在相似度满足阈值时,服务器确定所述用户终端的身份验证通过。

步骤s503:确定对所述用户终端身份验证通过,接收数据转移终端发送的数据转移请求,基于所述数据转移请求进行数据转移,所述数据转移请求由所述用户终端发送至数据转移终端。

在一种具体的实施场景中,服务器在基于第一身份令牌对用户终端的身份验证通过之后,可以向数据转移设备返回验证通过消息,然后数据转移设备将所述验证通过消息发送至用户终端;用户终端就可以接收所述服务器经所述数据转移终端转发的验证通过消息,此时,数据转移前的身份验证过程完成,即可以在验证通过后服务器针对用户终端进行数据转移;

进一步的,在身份验证通过后,用户终端可以经所述数据转移终端向服务器发送数据转移请求;或,所述数据转移终端向服务器发送数据转移请求;

服务器在接收到该数据转移请求之后,服务器即可对数据转移请求进行响应进行数据转移。进一步的,通常该数据转移请求中包含数据转移信息(如数据转移账户信息、数据转移量等等),服务器可基于该数据转移信息进行数据转移,如将用户终端上的用户账户中的指定数量的数据转移至数据转移终端相关联的商家账户中。

可选的,可以接收所述服务器(如经数据转移终端)发送的所述数据转移结果;根据所述数据转移结果,显示与所述数据转移结果对应的提示信息。进一步的,若数据转移结果为数据转移成功,则显示成功的消息,若数据转移结果为数据转移失败,则用户终端提示用户重新提交上述操作流程。

可选的,可以接收所述数据转移终端发送的数据转移请求以及所述第一身份令牌,服务器响应所述数据转移请求,基于所述第一身份令牌身份进行身份验证并在身份验证通过后进行数据转移。

示意性的,用户可以通过社交客户端提供的购物入口登录购物平台,更进一步地用户可以在购物平台上选择标注有价格信息的产品,相应地用户终端可以检测用户在购物平台上选择的标注有价格的产品,并且根据所选产品的价格信息计算数据转移量(即数据转移量=所选产品的价格信息总和),以及根据该数据转移量以及所选产品对应的接收方标识生成包括数据转移量、接收方标识的数据转移请求。其中,产品对应的接收方标识是指在购物平台上发布所选产品的商家或卖家的身份标识,也即是收款方身份标识。

在本申请实施例中,通过预先将用户终端对应的原始身份令牌进行拆分并加密储存在用户终端以及服务器上,在进行数据转移时,第一身份令牌需要相匹配的加密串和密钥进行(如第一加密串需要服务器上的第一公钥解密才能生成第一身份串,第二加密串需要用户终端上的第一私钥才能生成第二身份串),才能最终生成第一身份令牌,服务器才可以基于该第一身份令牌完成对用户终端的身份校验;整个数据转移过程具备高安全性,且合成第一身份令牌的第一加密串对外不可见且只能基于服务器上的公钥在本端才能解密,数据转移的流程具备高安全性,且整个数据转移过程中,涉及的各电子设备可以不依赖于身份令牌进行,大幅提高了数据转移的安全性;以及,在数据转移中,不依赖于用户终端对应生成数据转移码,降低了数据转移的成本,涉及数据转移的各电子设备只需基于相应数据的流转即可最终完成整个数据转移流程,提高了数据转移的普适性。

请参见图10,图10是本申请提出的一种数据转移方法的另一种实施例的流程示意图。具体的:

步骤s601:在与所述用户终端进行首次连接时,基于所述用户终端原始身份令牌确定第一参考身份串以及所述第二参考身份串、所述身份摘要、所述第一公钥以及第一私钥,以及生成采用所述第一私钥对所述第一参考身份串加密的第一加密串和生成采用所述第一公私钥对所述第二参考身份串加密的第二加密串。

步骤s602:保存所述第二加密串、所述第一公钥以及所述身份摘要。

在一种可行的实施方式中:在用户终端基于原始身份令牌确定所述第一加密串、所述第二加密串、所述身份摘要、所述第一公钥以及第一私钥时,服务器可以接收所述用户终端发送的所述第二加密串、所述第一公钥以及所述身份摘要,所述身份令牌信息由所述第一身份串和第二身份串组成;服务器然后保存所述第二加密串、所述第一公钥以及所述身份摘要;

在一种可行的实施方式中:服务器可以接收所述用户终端发送的原始身份令牌,对所述原始身份令牌进行拆分加密处理,然后确定所述第一数据、所述第二加密串、所述身份摘要、所述第一公钥以及所述第一私钥;最后保存所述第二加密串、所述第一公钥以及所述身份摘要;服务器并将所述第一数据、所述第一私钥以及所述身份摘要发送至所述用户终端。

另外,在本实施例中所涉及到的相关名词释义以及相应生成过程,可参考上述其他实施例,此处不再赘述。

步骤s603:接收所述数据转移终端发送的第一身份摘要,所述第一身份摘要为所述用户终端上存储的身份摘要。

具体可参见步骤s501,此处不再赘述。

步骤s604:基于所述第一身份摘要确定第一公钥和第二加密串,向所述数据转移终端发送所述第一公钥,以使所述数据转移终端将所述第一公钥发送至用户终端。

在服务器侧可以对应多个用户终端,针对每个用户终端,服务器可以基于身份摘要来唯一识别用户终端,并对该用户终端相关联的第一公钥以及第二加密串建立映射关系,也即建立每个用户终端的身份摘要与该用户终端相关联的第一公钥和第二加密串的映射关系,该映射关系包括但不限于数据列表、数据组合、数据数组来表征;

进一步的,服务器在接收到数据转移终端发送的第一身份摘要之后,可以基于该第一身份摘要唯一获取到该用户终端对应的第一公钥和第二加密串,然后可以仅向用户终端发送第一公钥。

在一种具体的实施场景中,本申请所涉及的数据转移方法可应用于用户终端与服务器无法直接进行网络连接的场景下,可以理解为无网络状态下或网络故障状态下,也即在所述用户终端处于网络故障状态时,如用户终端无法使用移动通信网络(如4g/5g通信、wifi等),此时若涉及到数据转移场景时,也即在用户终端处于网络故障状态下(用户终端与服务器无法直接进行网络通信),用户终端可以建立与所述数据转移终端的通信连接,所述通信连接可以是近场通信方式对应的通信连接、蓝牙通信方式对应的通信连接等等。然后用户终端可以基于存储的第一身份摘要(在本实施例中用户终端存储的身份摘要称之为第一身份摘要,服务器上保存的身份摘要称之为参考身份摘要),向数据转移终端发送第一身份摘要以获取服务器上的第一公钥;此时服务器即可接收到所述数据转移终端发送的第一身份摘要。

步骤s605:接收所述数据转移终端发送的所述第一身份串以及第一私钥,基于所述第一私钥对所述第二加密串解密生成第二身份串。

步骤s606:基于所述第一身份串以及所述第二身份串生成第一身份令牌。

根据一些实施例中,所述第一身份令牌可以是在服务器上生成的;进一步的,用户终端基于第一公钥生成第一身份串之后,可以将第一身份串和第一私钥(用于对第二加密串解密生成第二身份串)经数据转移终端发送至服务器,服务器接收到后,可以采用第一私钥对第二加密串进行解密,从而生成第二身份串,然后基于第一身份串和第二身份串,生成第一身份令牌。此时,服务器即可获取到第一身份令牌。

其中,具体“所述第一私钥对所述第二加密串解密生成第二身份串”和“生成第一身份令牌”的详细释义可参考其他实施例,此处不再赘述。

步骤s607:基于所述第一身份摘要确定第一公钥和第二加密串,向所述数据转移终端发送第一公钥和第二加密串,以使所述数据转移终端基于所述第一私钥对所述第二加密串解密生成第二身份串。

步骤s608:接收所述数据转移终端发送的第一身份令牌,所述身份令牌信息为所述数据转移终端基于所述第一身份串以及所述第二身份串生成。

根据一些实施例中,所述第一身份令牌可以是在数据转移终端上合成,服务器可以向服务器获取该第一身份令牌,从而基于该第一身份令牌对所述用户终端进行身份验证。进一步的,服务器可以将第二加密串发送至数据转移终端,数据转移终端在后续获取到用户终端发送的第一身份串和第一私钥之后,可采用第一私钥对该第二加密串进行解密生成第二身份串,然后基于第一身份串和第二身份串生成第一身份令牌,从而数据转移终端可以将该第一身份令牌发送至服务器,服务器此时就可以获取到该第一身份令牌,进而对第一身份令牌进行身份验证;

步骤s609:基于所述第一身份令牌对所述用户终端进行身份验证。

在一种可行的实施方式中,用户终端与服务器均可不存储原始身份令牌,身份验证过程可基于身份摘要进行,如下:1、服务器可以计算所述第一身份令牌对应的参考身份摘要;实际应用中可以基于第一身份令牌采用相应的摘要算法计算得到身份摘要,其中所述摘要算法包括但不限于md消息摘要算法、哈希算法、sm3杂凑算法等,所述摘要通常是指通过摘要算法将任意长度的输入数据(如原始身份令牌)转化为固定长度的输出数据,例如将256比特的数据转化为64比特的数据。

2、服务器可以基于所述参考身份摘要与所述身份摘要,确定对所述用户终端身份验证通过。也即,可将参考身份摘要与身份摘要进行匹配,从而确定所述用户终端的身份是否验证通过,示意性的,在参考身份摘要与所述身份摘要一致时,服务器确定所述用户终端的身份验证通过。示意性的,可以计算参考身份摘要与所述身份摘要的相似度,在相似度满足阈值时,服务器确定所述用户终端的身份验证通过。

步骤s610:确定对所述用户终端身份验证通过,接收数据转移终端发送的数据转移请求,基于所述数据转移请求进行数据转移,所述数据转移请求由所述用户终端发送至数据转移终端。具体可参考步骤s503,此处不再赘述。

在本申请实施例中,通过预先将用户终端对应的原始身份令牌进行拆分并加密储存在用户终端以及服务器上,在进行数据转移时,第一身份令牌需要相匹配的加密串和密钥进行(如第一加密串需要服务器上的第一公钥解密才能生成第一身份串,第二加密串需要用户终端上的第一私钥才能生成第二身份串),才能最终生成第一身份令牌,服务器才可以基于该第一身份令牌完成对用户终端的身份校验;整个数据转移过程具备高安全性,且合成第一身份令牌的第一加密串对外不可见且只能基于服务器上的公钥在本端才能解密,数据转移的流程具备高安全性,且整个数据转移过程中,涉及的各电子设备可以不依赖于身份令牌进行,大幅提高了数据转移的安全性;以及,在数据转移中,不依赖于用户终端对应生成数据转移码,降低了数据转移的成本,涉及数据转移的各电子设备只需基于相应数据的流转即可最终完成整个数据转移流程,提高了数据转移的普适性;以及在用户终端网络故障的场景下(用户终端与服务器无网络服务),通过与数据转移终端的通信连接,可以顺利完成整个数据转移过程,提高了数据转移过程中的容灾性,实现了无网数据转移,扩展了数据转移场景;以及,即时各电子设备间的通讯链路不可靠,基于本申请的数据转移方法涉及的加解密手段,也能保证数据转移的安全性。

请参见图11,为本申请实施例提供的一种数据转移系统的架构示意图。如图3所示,所述数据转移系统10可以包括用户终端100、数据转移终端110以及服务器120;

所述服务器120具有数据转移功能,可以是单独的服务器设备,例如:机架式、刀片、塔式、或者机柜式的服务器设备,或采用工作站、大型计算机等具备较强计算能力硬件设备;也可以是采用多个服务器组成的服务器集群,所述服务集群中的各服务器可以是以对称方式组成的,其中每台服务器在业务链路中功能等价、地位等价,各服务器均可单独对外提供服务,所述单独提供服务可以理解为无需另外的服务器的辅助。

用户终端100可以是一种电子设备,该电子设备包括但不限于:可穿戴设备、手持设备、个人电脑、平板电脑、车载设备、智能手机、计算设备或连接到无线调制解调器的其它处理设备等。在不同的网络中电子设备可以叫做不同的名称,例如:用户设备、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置、蜂窝电话、无绳电话、个人数字处理(personaldigitalassistant,pda)、5g网络或未来演进网络中的终端设备等。

所述数据转移终端110也可以是一种电子设备,该电子设备包括但不限于:个人电脑、平板电脑、智能手机、计算设备或连接到无线调制解调器的其它处理设备等。

根据一些实施例中,所述用户终端100与数据转移终端110可以建立通信连接,基于该通信连接完成数据转移过程中数据的交互,其中所述通信连接包括但不限于蓝牙连接、红外连接、近场通讯连接等等。

所述数据转移终端110与服务器120通过网络进行交互通信,网络可以是无线网络,也可以是有线网络,无线网络包括但不限于蜂窝网络、无线局域网、红外网络或蓝牙网络,有线网络包括但不限于以太网、通用串行总线(universalserialbus,usb)或控制器局域网络。

请参见图11a,图11a为本申请实施例提供的一种数据转移系统的交互示意图。

步骤s701:用户终端100在网络故障状态下,建立与所述数据转移终端110的通信连接。

步骤s702:用户终端100基于所述通信连接向所述数据转移终端110发送包含身份摘要的身份验证请求。

步骤s703:数据转移终端100接收所述用户终端发送的身份摘要,将所述身份摘要发送至服务器120。

其中,所述身份摘要基于所述原始身份令牌生成。

步骤s704:服务器120基于所述身份摘要确定针对用户终端100的第一公钥和第二加密串,向所述数据转移终端110发送所述第一公钥。

步骤s705:数据转移终端110将所述第一公钥发送至用户终端100。

步骤s706:用户终端100基于所述第一公钥对存储的第一加密串进行解密得到第一身份串;

步骤s707:用户终端100发送存储的第一私钥和第一身份串至所述数据转移终端110。

步骤s708:数据转移终端110将第一身份串以及第一私钥发送至服务器120。

步骤s709:所述服务器120基于所述第一私钥对所述第二加密串解密生成第二身份串,基于所述第一身份串以及所述第二身份串生成第一身份令牌。

步骤s710:所述服务器120基于所述第一身份令牌对所述用户终端100进行身份验证,确定对所述用户终端100身份验证通过。

步骤s711:所述服务器120向所述数据转移终端110发送验证通过消息。

步骤s712:所述数据转移终端110将所述验证通过消息发送至所述用户终端100。

步骤s713:用户终端100接收到验证通过消息,确定所述服务器120对所述用户终端100身份验证通过。

步骤s714:用户终端100向所述数据转移终端110发送数据转移请求。

步骤s715:数据转移终端110向服务器120发送所述数据转移请求。步骤s716:所述服务器120进行数据转移。

请参见图11b,图11b为本申请实施例提供的另一种数据转移系统的交互示意图。

步骤s801:用户终端100向所述数据转移终端110发送包含身份摘要的身份验证请求。

步骤s802:数据转移终端100接收所述用户终端发送的身份摘要,将所述身份摘要发送至服务器120。

其中,所述身份摘要基于所述原始身份令牌生成。

步骤s803:服务器120基于所述身份摘要确定针对用户终端100的第一公钥和第二加密串,向所述数据转移终端110发送所述第一公钥和所述第二加密串。

步骤s804:数据转移终端110将所述第一公钥发送至用户终端100。

步骤s805:用户终端100基于所述第一公钥对存储的第一加密串进行解密得到第一身份串;

步骤s806:用户终端100发送存储的第一私钥和第一身份串至所述数据转移终端110。

步骤s807:数据转移终端110采用所述第一私钥对所述第二加密串解密生成第二身份串,并基于所述第一身份串和第二身份串生成第一身份令牌。

步骤s808:数据转移终端110将第一身份令牌发送至所述服务器120。

步骤s809:服务器120基于第一身份令牌对用户终端100进行身份验证,确定对所述用户终端100身份验证通过。

步骤s810:用户终端100确定所述服务器身份验证通过。

步骤s811:向所述数据转移终端110发送数据转移请求。

步骤s812:数据转移终端110向服务器120发送所述数据转移请求。

步骤s813:所述服务器120进行数据转移。

另外,上述实施例提供的远程诊断系统实施例与一些实施例中的所述远程诊断方法属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。

下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。

请参见图12,其示出了本申请一个示例性实施例提供的数据转移装置的结构示意图。该数据转移装置可以通过软件、硬件或者两者的结合实现成为装置的全部或一部分。该装置1包括公钥获取模块11、数据发送模块12和数据转移模块13。

公钥获取模块11,接收数据转移终端发送的第一公钥,基于所述第一公钥对所述用户终端存储的第一加密串进行解密得到第一身份串;其中,所述第一公钥由所述数据转移终端从服务器获取,所述第一加密串由原始身份令牌的第一参考身份串基于基于所述用户终端存储的第一私钥加密生成,所述第一私钥与所述第一公钥一一对应;

数据发送模块12,用于发送所述第一私钥和所述第一身份串至所述数据转移终端,以使所述数据转移终端指示所述服务器基于第一身份令牌对所述用户终端进行身份验证,其中,所述第一身份令牌由所述第一身份串以及第二身份串组成,所述第二身份串基于所述第一私钥对所述服务器存储的第二加密串解密得到,所述第二加密串由所述原始身份令牌的第二参考身份串基于所述第一公钥生成;

数据转移模块13,用于确定所述身份验证通过,向所述数据转移终端发送数据转移请求,以使所述数据转移终端将所述数据转移请求发送至所述服务器进行数据转移。

可选的,所述公钥获取模块11,具体用于:

将存储的身份摘要发送至数据转移终端,接收所述数据转移终端发送的第一公钥,所述身份摘要基于所述原始身份令牌生成。

可选的,如图14所示,所述装置1,还包括:

令牌确定模块14,用于在与所述服务器进行首次连接时,与所述服务器确定所述用户终端的原始身份令牌;

信息确定模块15,用于基于所述原始身份令牌确定所述第一加密串、所述第二加密串、所述身份摘要、所述第一公钥以及第一私钥,保存所述第一加密串、所述第一私钥以及所述身份摘要。

可选的,所述信息确定模块15,具体用于:

向所述服务器发送所述原始身份令牌,以使所述服务器确定所述原始身份令牌的第一参考身份串以及所述第二参考身份串、所述身份摘要、所述第一公钥以及第一私钥,以及生成采用所述第一私钥对所述第一参考身份串加密的第一加密串和生成采用所述第一公私钥对所述第二参考身份串加密的第二加密串;向所述服务器获取所述第一参考身份串、所述第一私钥以及所述身份摘要,并将所述第一加密串、所述第一私钥以及所述身份摘要保存;或,

对所述原始身份令牌进行拆分处理,确定所述第一参考身份串、所述第二参考身份串、所述身份摘要、所述第一公钥以及所述第一私钥,采用所述第一私钥对所述第一参考身份串加密生成第一加密串和生成采用所述第一公钥对所述第二参考身份串加密生成第二加密串,保存所述第一加密串、所述第一私钥以及所述身份摘要,并将所述第二加密串、所述第一公钥以及所述身份摘要发送至所述服务器。

可选的,如图13所示,所述公钥获取模块11,包括:

摘要发送单元111,用于经所述数据转移终端向所述服务器发送存储的身份摘要,以使所述服务器确定所述身份摘要对应的第二加密串以及第一公钥;

公钥获取单元112,用于接收所述数据转移终端发送的所述第一公钥。

可选的,所述公钥获取单元112,具体用于:

在所述数据转移终端接收到所述服务器发送的所述第二加密串以及第一公钥后,接收所述数据转移终端发送的所述第一公钥;或,

在所述数据转移终端接收到所述服务器发送的所述第一公钥后,接收所述数据转移终端发送的所述第一公钥。

可选的,所述数据发送模块12,具体用于:

将存储的第一私钥以及所述第一身份串发送至所述数据转移终端,以使所述数据转移终端采用所述第一私钥对所述第二加密串解密生成第二身份串,并基于所述第二身份串以及所述第一身份串生成第一身份令牌后将所述第一身份令牌发送至所述服务器对所述用户终端进行身份验证;或,

将存储的第一私钥以及所述第一身份串经所述数据转移终端转发至服务器,以使所述服务器采用所述第一私钥对所述第二加密串解密生成第二身份串以及基于所述第一身份串和所述第二身份串生成所述第一身份令牌,并对所述用户终端进行身份验证。

可选的,所述公钥获取模块11,具体用于:

在网络故障状态下,建立与所述数据转移终端的通信连接;

基于所述通信连接向所述数据转移终端发送包含身份摘要的身份验证请求,以使所述数据转移终端基于所述身份摘要获取所述服务器上的第一公钥;

接收所述数据转移终端发送的所述第一公钥。

需要说明的是,上述实施例提供的数据转移装置在执行数据转移方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据转移装置与数据转移方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。

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

请参见图15,其示出了本申请一个示例性实施例提供的数据转移装置的结构示意图。该数据转移装置可以通过软件、硬件或者两者的结合实现成为装置的全部或一部分。该装置2包括公钥获取模块21、信息接收模块22和数据转移模块23。

公钥获取模块21,用于向所述服务器获取第一公钥,将所述第一公钥发送至用户终端,以使所述用户终端基于所述第一公钥以及存储的第一加密串解密生成第一身份串,所述第一加密串由所述用户终端原始身份令牌的第一参考身份串基于第一私钥生成;

信息接收模块22,用于接收所述用户终端发送的所述第一身份串以及所述第一私钥,以使所述服务器基于第一身份令牌对所述用户终端进行身份验证,所述第一身份令牌由所述第一身份串和第二身份串生成,所述第二身份串基于所述第一私钥和所述第二加密串解密生成,所述第二加密串由所述原始身份令牌的第二参考身份串基于所述第一公钥生成;

数据转移模块23,用于确定所述服务器对所述用户终端身份验证通过,接收所述用户终端的数据转移请求,将所述数据转移请求发送至所述服务器,以使所述服务器进行数据转移。

可选的,所述公钥获取模块21,具体用于:

接收所述用户终端发送的身份摘要,基于所述身份摘要向所述服务器获取第一公钥,所述身份摘要基于所述原始身份令牌生成。

可选的,所述公钥获取模块21,具体用于:

在所述用户终端处于网络故障状态时,建立与所述用户终端的通信连接;

基于所述通信连接接收所述用户终端发送的身份验证请求,所述身份验证请求携带身份摘要。

可选的,所述信息接收模块22,具体用于:

接收所述用户终端发送的所述第一身份串以及所述第一私钥,生成第一身份令牌,将所述第一身份令牌发送至所述服务器,以使所述服务器基于第一身份令牌对所述用户终端进行身份验证;或,

接收所述用户终端发送的所述第一身份串以及所述第一私钥,将所述第一身份串以及所述第一私钥发送至所述服务器,以使所述服务器在接收到所述第一身份串以及所述第一私钥后生成所述第一身份令牌,并基于所述第一身份令牌对所述用户终端进行身份验证。

可选的,所述公钥获取模块21,具体用于:

向所述服务器获取第一公钥和所述第二加密串;

所述接收所述用户终端发送的所述第一身份串以及所述第一私钥,生成第一身份令牌,包括:

接收所述用户终端发送的所述第一身份串以及所述第一私钥,采用所述第一私钥对所述第二加密串解密生成第二身份串;

基于所述第一身份串和第二身份串生成第一身份令牌。

可选的,所述数据转移模块23,具体用于:

接收所述服务器的验证通过消息,确定所述服务器对所述用户终端身份验证通过;

将所述验证通过消息发送至所述用户终端,接收所述用户终端的数据转移请求。

可选的,所述数据转移模块23,具体用于:

将所述验证通过消息发送至所述用户终端;

接收所述用户终端发送的数据转移请求,将所述数据转移请求发送至所述服务器,以使所述服务器进行数据转移。

可选的,所述数据转移模块23,具体用于:

将所述数据转移请求和所述第一身份令牌发送至所述服务器,以使所述服务器响应所述数据转移请求基于所述第一身份令牌进行数据转移。

需要说明的是,上述实施例提供的数据转移装置在执行数据转移方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据转移装置与数据转移方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。

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

请参见图16,其示出了本申请一个示例性实施例提供的远程诊断装置的结构示意图。该远程诊断装置可以通过软件、硬件或者两者的结合实现成为装置的全部或一部分。该装置3包括公钥发送模块31、身份验证模块32以及数据转移模块33。

公钥发送模块31,用于向所述数据转移终端发送第一公钥,以使所述数据转移终端将所述第一公钥发送至用户终端,所述用户终端存储有第一加密串以及第一私钥,所述第一公钥用于对第一加密串解密生成第一身份串,所述第一加密串由所述用户终端原始身份令牌的第一参考身份串基于所述第一私钥生成;

身份验证模块32,用于获取第一身份令牌,基于所述第一身份令牌对所述用户终端进行身份验证,所述第一身份令牌基于所述第一身份串以及第二身份串生成,所述第二身份串基于所述第一私钥和存储的第二加密串解密生成,所述第二加密串由所述原始身份令牌的第二参考身份串基于所述第一公钥生成;

数据转移模块33,用于确定对所述用户终端身份验证通过,接收数据转移终端发送的数据转移请求,基于所述数据转移请求进行数据转移,所述数据转移请求由所述用户终端发送至数据转移终端。

可选的,所述公钥发送模块31,具体用于:

接收所述数据转移终端发送的第一身份摘要,所述第一身份摘要为所述用户终端上存储的身份摘要;

基于所述第一身份摘要确定第一公钥和第二加密串,向所述数据转移终端发送所述第一公钥。

可选的,所述公钥发送模块31,具体用于:

在所述用户终端处于网络故障状态时,接收所述数据转移终端发送的第一身份摘要。

可选的,所述公钥发送模块31,具体用于:向所述数据转移终端发送第一公钥和第二加密串,以使所述数据转移终端基于所述第一私钥对所述第二加密串解密生成第二身份串;

所述获取第一身份令牌,具体用于:

接收所述数据转移终端发送的第一身份令牌,所述身份令牌信息为所述数据转移终端基于所述第一身份串以及所述第二身份串生成。

所述身份验证模块32,具体用于:

接收所述数据转移终端发送的所述第一身份串以及第一私钥,基于所述第一私钥对所述第二加密串解密生成第二身份串;

基于所述第一身份串以及所述第二身份串生成第一身份令牌。

可选的,所述装置3,具体用于:

在与所述用户终端进行首次连接时,基于所述用户终端原始身份令牌确定第一参考身份串以及所述第二参考身份串、所述身份摘要、所述第一公钥以及第一私钥,以及生成采用所述第一私钥对所述第一参考身份串加密的第一加密串和生成采用所述第一公私钥对所述第二参考身份串加密的第二加密串;

保存所述第二加密串、所述第一公钥以及所述身份摘要。

可选的,所述装置3,具体用于:在用户终端基于原始身份令牌确定所述第一加密串、所述第二加密串、所述身份摘要、所述第一公钥以及第一私钥时,接收所述用户终端发送的所述第二加密串、所述第一公钥以及所述身份摘要,所述身份令牌信息由所述第一身份串和第二身份串组成;保存所述第二加密串、所述第一公钥以及所述身份摘要;或,

接收所述用户终端发送的原始身份令牌,对所述原始身份令牌进行拆分加密处理,确定所述第一数据、所述第二加密串、所述身份摘要、所述第一公钥以及所述第一私钥;保存所述第二加密串、所述第一公钥以及所述身份摘要;并将所述第一数据、所述第一私钥以及所述身份摘要发送至所述用户终端。

可选的,所述身份验证模块32,具体用于:

计算所述第一身份令牌对应的参考身份摘要;

基于所述参考身份摘要与所述身份摘要,确定对所述用户终端身份验证通过。

可选的,所述装置3,具体用于:

向所述数据转移终端发送验证通过消息,以使所述数据转移终端将所述验证通过消息发送至所述用户终端。

可选的,所述装置3,具体用于:

接收所述数据转移终端发送的数据转移请求,响应所述数据转移请求进行数据转移,所述数据转移请求在所述用户终端接收到所述验证通过消息生成;或,

接收所述数据转移终端发送的数据转移请求以及所述第一身份令牌,响应所述数据转移请求,基于所述第一身份令牌身份进行身份验证并在身份验证通过后进行数据转移。

需要说明的是,上述实施例提供的数据转移装置在执行数据转移方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据转移装置与数据转移方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。

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

本申请实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图1-图11b所示实施例的所述数据转移方法,具体执行过程可以参见图1-图11所示实施例的具体说明,在此不进行赘述。

本申请还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由所述处理器加载并执行如上述图1-图11b所示实施例的所述数据转移方法,具体执行过程可以参见图1-图11所示实施例的具体说明,在此不进行赘述。

请参考图17,其示出了本申请一个示例性实施例提供的电子设备的结构方框图。本申请中的电子设备可以包括一个或多个如下部件:处理器110、存储器120、输入装置130、输出装置140和总线150。处理器110、存储器120、输入装置130和输出装置140之间可以通过总线150连接。

处理器110可以包括一个或者多个处理核心。处理器110利用各种接口和线路连接整个电子设备内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行电子设备100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(digitalsignalprocessing,dsp)、现场可编程门阵列(field-programmablegatearray,fpga)、可编程逻辑阵列(programmablelogicarray,pla)中的至少一种硬件形式来实现。处理器110可集成中央处理器(centralprocessingunit,cpu)、图像处理器(graphicsprocessingunit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。

存储器120可以包括随机存储器(randomaccessmemory,ram),也可以包括只读存储器(read-onlymemory,rom)。可选地,该存储器120包括非瞬时性计算机可读介质(non-transitorycomputer-readablestoragemedium)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等,该操作系统可以是安卓(android)系统,包括基于android系统深度开发的系统、苹果公司开发的ios系统,包括基于ios系统深度开发的系统或其它系统。存储数据区还可以存储电子设备在使用中所创建的数据比如电话本、音视频数据、聊天记录数据,等。

参见图18所示,存储器120可分为操作系统空间和用户空间,操作系统即运行于操作系统空间,原生及第三方应用程序即运行于用户空间。为了保证不同第三方应用程序均能够达到较好的运行效果,操作系统针对不同第三方应用程序为其分配相应的系统资源。然而,同一第三方应用程序中不同应用场景对系统资源的需求也存在差异,比如,在本地资源加载场景下,第三方应用程序对磁盘读取速度的要求较高;在动画渲染场景下,第三方应用程序则对gpu性能的要求较高。而操作系统与第三方应用程序之间相互独立,操作系统往往不能及时感知第三方应用程序当前的应用场景,导致操作系统无法根据第三方应用程序的具体应用场景进行针对性的系统资源适配。

为了使操作系统能够区分第三方应用程序的具体应用场景,需要打通第三方应用程序与操作系统之间的数据通信,使得操作系统能够随时获取第三方应用程序当前的场景信息,进而基于当前场景进行针对性的系统资源适配。

以操作系统为android系统为例,存储器120中存储的程序和数据如图19所示,存储器120中可存储有linux内核层320、系统运行时库层340、应用框架层360和应用层380,其中,linux内核层320、系统运行库层340和应用框架层360属于操作系统空间,应用层380属于用户空间。linux内核层320为电子设备的各种硬件提供了底层的驱动,如显示驱动、音频驱动、摄像头驱动、蓝牙驱动、wi-fi驱动、电源管理等。系统运行库层340通过一些c/c++库来为android系统提供了主要的特性支持。如sqlite库提供了数据库的支持,opengl/es库提供了3d绘图的支持,webkit库提供了浏览器内核的支持等。在系统运行时库层340中还提供有安卓运行时库(androidruntime),它主要提供了一些核心库,能够允许开发者使用java语言来编写android应用。应用框架层360提供了构建应用程序时可能用到的各种api,开发者也可以通过使用这些api来构建自己的应用程序,比如活动管理、窗口管理、视图管理、通知管理、内容提供者、包管理、通话管理、资源管理、定位管理。应用层380中运行有至少一个应用程序,这些应用程序可以是操作系统自带的原生应用程序,比如联系人程序、短信程序、时钟程序、相机应用等;也可以是第三方开发者所开发的第三方应用程序,比如游戏类应用程序、即时通信程序、相片美化程序、数据转移程序等。

以操作系统为ios系统为例,存储器120中存储的程序和数据如图20所示,ios系统包括:核心操作系统层420(coreoslayer)、核心服务层440(coreserviceslayer)、媒体层460(medialayer)、可触摸层480(cocoatouchlayer)。核心操作系统层420包括了操作系统内核、驱动程序以及底层程序框架,这些底层程序框架提供更接近硬件的功能,以供位于核心服务层440的程序框架所使用。核心服务层440提供给应用程序所需要的系统服务和/或程序框架,比如基础(foundation)框架、账户框架、广告框架、数据存储框架、网络连接框架、地理位置框架、运动框架等等。媒体层460为应用程序提供有关视听方面的接口,如图形图像相关的接口、音频技术相关的接口、视频技术相关的接口、音视频传输技术的无线播放(airplay)接口等。可触摸层480为应用程序开发提供了各种常用的界面相关的框架,可触摸层480负责用户在电子设备上的触摸交互操作。比如本地通知服务、远程推送服务、广告框架、游戏工具框架、消息用户界面接口(userinterface,ui)框架、用户界面uikit框架、地图框架等等。

在图20所示出的框架中,与大部分应用程序有关的框架包括但不限于:核心服务层440中的基础框架和可触摸层480中的uikit框架。基础框架提供许多基本的对象类和数据类型,为所有应用程序提供最基本的系统服务,和ui无关。而uikit框架提供的类是基础的ui类库,用于创建基于触摸的用户界面,ios应用程序可以基于uikit框架来提供ui,所以它提供了应用程序的基础架构,用于构建用户界面,绘图、处理和用户交互事件,响应手势等等。

其中,在ios系统中实现第三方应用程序与操作系统数据通信的方式以及原理可参考android系统,本申请在此不再赘述。

其中,输入装置130用于接收输入的指令或数据,输入装置130包括但不限于键盘、鼠标、摄像头、麦克风或触控设备。输出装置140用于输出指令或数据,输出装置140包括但不限于显示设备和扬声器等。在一个示例中,输入装置130和输出装置140可以合设,输入装置130和输出装置140为触摸显示屏,该触摸显示屏用于接收用户使用手指、触摸笔等任何适合的物体在其上或附近的触摸操作,以及显示各个应用程序的用户界面。触摸显示屏通常设置在电子设备的前面板。触摸显示屏可被设计成为全面屏、曲面屏或异型屏。触摸显示屏还可被设计成为全面屏与曲面屏的结合,异型屏与曲面屏的结合,本申请实施例对此不加以限定。

除此之外,本领域技术人员可以理解,上述附图所示出的电子设备的结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如,电子设备中还包括射频电路、输入单元、传感器、音频电路、无线保真(wirelessfidelity,wifi)模块、电源、蓝牙模块等部件,在此不再赘述。

在本申请实施例中,各步骤的执行主体可以是上文介绍的电子设备。可选地,各步骤的执行主体为电子设备的操作系统。操作系统可以是安卓系统,也可以是ios系统,或者其它操作系统,本申请实施例对此不作限定。

本申请实施例的电子设备,其上还可以安装有显示设备,显示设备可以是各种能实现显示功能的设备,例如:阴极射线管显示器(cathoderaytubedisplay,简称cr)、发光二极管显示器(light-emittingdiodedisplay,简称led)、电子墨水屏、液晶显示屏(liquidcrystaldisplay,简称lcd)、等离子显示面板(plasmadisplaypanel,简称pdp)等。用户可以利用电子设备101上的显示设备,来查看显示的文字、图像、视频等信息。所述电子设备可以是智能手机、平板电脑、游戏设备、ar(augmentedreality,增强现实)设备、汽车、数据存储装置、音频播放装置、视频播放装置、笔记本、桌面计算设备、可穿戴设备诸如电子手表、电子眼镜、电子头盔、电子手链、电子项链、电子衣物等设备。

在图17所示的电子设备中,其中电子设备可以是一种用户终端,处理器110可以用于调用存储器120中存储的数据转移应用程序,并具体执行以下操作:

接收数据转移终端发送的第一公钥,基于所述第一公钥对所述用户终端存储的第一加密串进行解密得到第一身份串;其中,所述第一公钥由所述数据转移终端从服务器获取,所述第一加密串由原始身份令牌的第一参考身份串基于基于所述用户终端存储的第一私钥加密生成,所述第一私钥与所述第一公钥一一对应;

发送所述第一私钥和所述第一身份串至所述数据转移终端,以使所述数据转移终端指示所述服务器基于第一身份令牌对所述用户终端进行身份验证,其中,所述第一身份令牌由所述第一身份串以及第二身份串组成,所述第二身份串基于所述第一私钥对所述服务器存储的第二加密串解密得到,所述第二加密串由所述原始身份令牌的第二参考身份串基于所述第一公钥生成;

确定所述身份验证通过,向所述数据转移终端发送数据转移请求,以使所述数据转移终端将所述数据转移请求发送至所述服务器进行数据转移。

在一个实施例中,所述处理器110在执行所述接收数据转移终端发送的第一公钥时,具体执行以下步骤:

将存储的身份摘要发送至数据转移终端,接收所述数据转移终端发送的第一公钥,所述身份摘要基于所述原始身份令牌生成。

在一个实施例中,所述处理器110在执行所述将存储的身份摘要发送至数据转移终端,接收所述数据转移终端发送的第一公钥,还执行以下步骤:

在与服务器进行首次连接时,所述用户终端与所述服务器确定所述用户终端的原始身份令牌;

基于所述原始身份令牌确定所述第一加密串、所述第二加密串、所述身份摘要、所述第一公钥以及第一私钥,保存所述第一加密串、所述第一私钥以及所述身份摘要。

在一个实施例中,所述处理器110在执行所述将存储的身份摘要发送至数据转移终端,接收数据转移终端发送的第一公钥时,具体执行以下步骤:

经所述数据转移终端向所述服务器发送存储的身份摘要,以使所述服务器确定所述身份摘要对应的第二加密串以及第一公钥;在所述数据转移终端接收到所述服务器发送的所述第二加密串以及第一公钥后,所述用户终端接收所述数据转移终端发送的所述第一公钥;或,

经所述数据转移终端向所述服务器发送存储的身份摘要,以使所述服务器确定所述身份摘要对应的第二加密串以及第一公钥;在所述数据转移终端接收到所述服务器发送的所述第一公钥后,所述用户终端接收所述数据转移终端发送的所述第一公钥。

在一个实施例中,所述处理器110在执行所述发送所述第一私钥和所述第一身份串至所述数据转移终端,以使所述数据转移终端指示所述服务器基于第一身份令牌对所述用户终端进行身份验证时,具体执行以下步骤:

将存储的第一私钥以及所述第一身份串发送至所述数据转移终端,以使所述数据转移终端采用所述第一私钥对所述第二加密串解密生成第二身份串,并基于所述第二身份串以及所述第一身份串生成第一身份令牌后将所述第一身份令牌发送至所述服务器对所述用户终端进行身份验证;或,

将存储的第一私钥以及所述第一身份串经所述数据转移终端转发至服务器,以使所述服务器采用所述第一私钥对所述第二加密串解密生成第二身份串以及基于所述第一身份串和所述第二身份串生成所述第一身份令牌,并对所述用户终端进行身份验证。

在一个实施例中,所述处理器110在执行所述将存储的身份摘要发送至数据转移终端,接收所述数据转移终端发送的第一公钥时,还执行以下步骤:

在网络故障状态下,建立与所述数据转移终端的通信连接;

基于所述通信连接向所述数据转移终端发送包含身份摘要的身份验证请求,以使所述数据转移终端基于所述身份摘要获取所述服务器上的第一公钥;

接收所述数据转移终端发送的所述第一公钥。

请参见图21,为本申请实施例提供了一种电子设备的结构示意图。如图21所示,所述电子设备1000可以包括:至少一个处理器1001,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(display)、摄像头(camera),可选用户接口1003还可以包括标准的有线接口、无线接口。其中,网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。其中,处理器1001可以包括一个或者多个处理核心。处理器1001利用各种借口和线路连接整个服务器1000内的各个部分,通过运行或执行存储在存储器1005内的指令、程序、代码集或指令集,以及调用存储在存储器1005内的数据,执行服务器1000的各种功能和处理数据。可选的,处理器1001可以采用数字信号处理(digitalsignalprocessing,dsp)、现场可编程门阵列(field-programmablegatearray,fpga)、可编程逻辑阵列(programmablelogicarray,pla)中的至少一种硬件形式来实现。处理器1001可集成中央处理器(centralprocessingunit,cpu)、图像处理器(graphicsprocessingunit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1001中,单独通过一块芯片进行实现。

其中,存储器1005可以包括随机存储器(randomaccessmemory,ram),也可以包括只读存储器(read-onlymemory)。可选的,该存储器1005包括非瞬时性计算机可读介质(non-transitorycomputer-readablestoragemedium)。存储器1005可用于存储指令、程序、代码、代码集或指令集。存储器1005可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图21所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据转移应用程序。

在图21所示的电子设备1000中,用户接口1003主要用于为用户提供输入的接口,获取用户输入的数据;而处理器1001可以用于调用存储器1005中存储的数据转移应用程序,并具体执行以下操作:

向所述服务器获取第一公钥,将所述第一公钥发送至用户终端,以使所述用户终端基于所述第一公钥以及存储的第一加密串解密生成第一身份串,所述第一加密串由所述用户终端原始身份令牌的第一参考身份串基于第一私钥生成;

接收所述用户终端发送的所述第一身份串以及所述第一私钥,以使所述服务器基于第一身份令牌对所述用户终端进行身份验证,所述第一身份令牌由所述第一身份串和第二身份串生成,所述第二身份串基于所述第一私钥和所述第二加密串解密生成,所述第二加密串由所述原始身份令牌的第二参考身份串基于所述第一公钥生成;

确定所述服务器对所述用户终端身份验证通过,接收所述用户终端的数据转移请求,将所述数据转移请求发送至所述服务器,以使所述服务器进行数据转移。

在一个实施例中,所述处理器1001在执行所述向所述服务器获取第一公钥时,具体执行以下步骤:

接收所述用户终端发送的身份摘要,基于所述身份摘要向所述服务器获取第一公钥,所述身份摘要基于所述原始身份令牌生成。

在一个实施例中,所述处理器1001在执行所述接收所述用户终端发送的身份摘要时,具体执行以下步骤:

在所述用户终端处于网络故障状态时,建立与所述用户终端的通信连接;

接收所述用户终端发送的身份验证请求,所述身份验证请求携带身份摘要。

在一个实施例中,所述处理器1001在执行所述接收所述用户终端发送的身份摘要时,具体执行以下步骤:

在所述用户终端处于网络故障状态时,建立与所述用户终端的通信连接;

基于所述通信连接接收所述用户终端发送的身份验证请求,所述身份验证请求携带身份摘要。

在一个实施例中,所述处理器1001在执行所述接收所述用户终端发送的所述第一身份串以及所述第一私钥,以使所述服务器基于第一身份令牌对所述用户终端进行身份验证时,具体执行以下步骤:

接收所述用户终端发送的所述第一身份串以及所述第一私钥,生成第一身份令牌,将所述第一身份令牌发送至所述服务器,以使所述服务器基于第一身份令牌对所述用户终端进行身份验证;或,

接收所述用户终端发送的所述第一身份串以及所述第一私钥,将所述第一身份串以及所述第一私钥发送至所述服务器,以使所述服务器在接收到所述第一身份串以及所述第一私钥后生成所述第一身份令牌,并基于所述第一身份令牌对所述用户终端进行身份验证。

在一个实施例中,所述处理器1001在执行所述向所述服务器获取第一公钥时,具体执行以下步骤:

向所述服务器获取第一公钥和所述第二加密串;

所述接收所述用户终端发送的所述第一身份串以及所述第一私钥,生成第一身份令牌,包括:

接收所述用户终端发送的所述第一身份串以及所述第一私钥,采用所述第一私钥对所述第二加密串解密生成第二身份串;

基于所述第一身份串和第二身份串生成第一身份令牌。

在一个实施例中,所述处理器1001在执行所述确定所述服务器对所述用户终端身份验证通过,接收所述用户终端的数据转移请求时,具体执行以下步骤:

接收所述服务器的验证通过消息,确定所述服务器对所述用户终端身份验证通过;

将所述验证通过消息发送至所述用户终端,接收所述用户终端的数据转移请求。

在一个实施例中,所述处理器1001在执行所述将所述数据转移请求发送至所述服务器,以使所述服务器进行数据转移时,具体执行以下步骤:将所述数据转移请求和所述第一身份令牌发送至所述服务器,以使所述服务器响应所述数据转移请求基于所述第一身份令牌进行数据转移。

在本申请实施例中,通过预先将用户终端对应的原始身份令牌进行拆分并加密储存在用户终端以及服务器上,在进行数据转移时,第一身份令牌需要相匹配的加密串和密钥进行(如第一加密串需要服务器上的第一公钥解密才能生成第一身份串,第二加密串需要用户终端上的第一私钥才能生成第二身份串),才能最终生成第一身份令牌,服务器才可以基于该第一身份令牌完成对用户终端的身份校验;整个数据转移过程具备高安全性,且合成第一身份令牌的第一加密串对外不可见且只能基于服务器上的公钥在本端才能解密,数据转移的流程具备高安全性,且整个数据转移过程中,涉及的各电子设备可以不依赖于身份令牌进行,大幅提高了数据转移的安全性;以及,在数据转移中,不依赖于用户终端对应生成数据转移码,降低了数据转移的成本,涉及数据转移的各电子设备只需基于相应数据的流转即可最终完成整个数据转移流程,提高了数据转移的普适性;以及在用户终端网络故障的场景下(用户终端与服务器无网络服务),通过与数据转移终端的通信连接,可以顺利完成整个数据转移过程,提高了数据转移过程中的容灾性,实现了无网数据转移,扩展了数据转移场景;以及,即时各电子设备间的通讯链路不可靠,基于本申请的数据转移方法涉及的加解密手段,也能保证数据转移的安全性。

请参见图22,为本申请实施例提供了另一种电子设备的结构示意图。如图22所示,所述电子设备2000可以包括:至少一个处理器2001,至少一个网络接口2004,用户接口2003,存储器2005,至少一个通信总线2002。其中,通信总线2002用于实现这些组件之间的连接通信。其中,用户接口2003可以包括显示屏(display),可选用户接口2003还可以包括标准的有线接口、无线接口。其中,网络接口2004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。其中,处理器2001可以包括一个或者多个处理核心。处理器2001利用各种借口和线路连接整个服务器2000内的各个部分,通过运行或执行存储在存储器2005内的指令、程序、代码集或指令集,以及调用存储在存储器2005内的数据,执行服务器2000的各种功能和处理数据。可选的,处理器2001可以采用数字信号处理(digitalsignalprocessing,dsp)、现场可编程门阵列(field-programmablegatearray,fpga)、可编程逻辑阵列(programmablelogicarray,pla)中的至少一种硬件形式来实现。处理器2001可集成中央处理器(centralprocessingunit,cpu)、图像处理器(graphicsprocessingunit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器2001中,单独通过一块芯片进行实现。

其中,存储器2005可以包括随机存储器(randomaccessmemory,ram),也可以包括只读存储器(read-onlymemory)。可选的,该存储器2005包括非瞬时性计算机可读介质(non-transitorycomputer-readablestoragemedium)。存储器2005可用于存储指令、程序、代码、代码集或指令集。存储器1005可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器2005可选的还可以是至少一个位于远离前述处理器2001的存储装置。如图22所示,作为一种计算机存储介质的存储器2005中可以包括操作系统、网络通信模块、用户接口模块以及数据转移应用程序。

在图22所示的电子设备2000中,用户接口2003主要用于为用户提供输入的接口,获取用户输入的数据;而处理器2001可以用于调用存储器2005中存储的数据转移应用程序,并具体执行以下操作:

向数据转移终端发送第一公钥,以使所述数据转移终端将所述第一公钥发送至用户终端,所述用户终端存储有第一加密串以及第一私钥,所述第一公钥用于对第一加密串解密生成第一身份串,所述第一加密串由所述用户终端原始身份令牌的第一参考身份串基于所述第一私钥生成;

获取第一身份令牌,基于所述第一身份令牌对所述用户终端进行身份验证,所述第一身份令牌基于所述第一身份串以及第二身份串生成,所述第二身份串基于所述第一私钥和存储的第二加密串解密生成,所述第二加密串由所述原始身份令牌的第二参考身份串基于所述第一公钥生成;

确定对所述用户终端身份验证通过,接收数据转移终端发送的数据转移请求,基于所述数据转移请求进行数据转移,所述数据转移请求由所述用户终端发送至数据转移终端。

在一个实施例中,所述处理器2001在执行所述向所述数据转移终端发送第一公钥时,具体执行以下操作:接收所述数据转移终端发送的第一身份摘要,所述第一身份摘要为所述用户终端上存储的身份摘要;

基于所述第一身份摘要确定第一公钥和第二加密串,向所述数据转移终端发送所述第一公钥。

在一个实施例中,所述处理器2001在执行所述接收所述数据转移终端发送的第一身份摘要时,具体执行以下操作:

在所述用户终端处于网络故障状态时,接收所述数据转移终端发送的第一身份摘要。

在一个实施例中,所述处理器2001在执行所述向所述数据转移终端发送第一公钥时,具体执行以下操作:

向所述数据转移终端发送第一公钥和第二加密串,以使所述数据转移终端基于所述第一私钥对所述第二加密串解密生成第二身份串;

所述获取第一身份令牌,包括:

接收所述数据转移终端发送的第一身份令牌,所述身份令牌信息为所述数据转移终端基于所述第一身份串以及所述第二身份串生成。

在一个实施例中,所述处理器2001在执行所述获取第一身份令牌,包括:

接收所述数据转移终端发送的所述第一身份串以及第一私钥,基于所述第一私钥对所述第二加密串解密生成第二身份串;

基于所述第一身份串以及所述第二身份串生成第一身份令牌。

在一个实施例中,所述处理器2001在执行所述向所述数据转移终端发送第一公钥之前,还包括:

在与所述用户终端进行首次连接时,基于所述用户终端原始身份令牌确定第一参考身份串以及所述第二参考身份串、所述身份摘要、所述第一公钥以及第一私钥,以及生成采用所述第一私钥对所述第一参考身份串加密的第一加密串和生成采用所述第一公私钥对所述第二参考身份串加密的第二加密串;

保存所述第二加密串、所述第一公钥以及所述身份摘要。

在一个实施例中,所述处理器2001在执行所述基于所述用户终端原始身份令牌确定第一参考身份串以及所述第二参考身份串、所述身份摘要、所述第一公钥以及第一私钥,以及生成采用所述第一私钥对所述第一参考身份串加密的第一加密串和生成采用所述第一公私钥对所述第二参考身份串加密的第二加密串;保存所述第二加密串、所述第一公钥以及所述身份摘要,包括:

在用户终端基于原始身份令牌确定所述第一加密串、所述第二加密串、所述身份摘要、所述第一公钥以及第一私钥时,接收所述用户终端发送的所述第二加密串、所述第一公钥以及所述身份摘要,所述身份令牌信息由所述第一身份串和第二身份串组成;保存所述第二加密串、所述第一公钥以及所述身份摘要;

接收所述用户终端发送的原始身份令牌,对所述原始身份令牌进行拆分加密处理,确定所述第一数据、所述第二加密串、所述身份摘要、所述第一公钥以及所述第一私钥;保存所述第二加密串、所述第一公钥以及所述身份摘要;并将所述第一数据、所述第一私钥以及所述身份摘要发送至所述用户终端。

在一个实施例中,所述处理器2001在执行所述基于所述第一身份令牌对所述用户终端进行身份验证时,具体执行以下操作:计算所述第一身份令牌对应的参考身份摘要;基于所述参考身份摘要与所述身份摘要,确定对所述用户终端身份验证通过;或,将所述第一身份令牌与存储的所述原始身份令牌进行匹配,确定对所述用户终端身份验证通过。

在一个实施例中,所述处理器2001在执行所述确定对所述用户终端身份验证通过之后,还包括:

向所述数据转移终端发送验证通过消息,以使所述数据转移终端将所述验证通过消息发送至所述用户终端。

在一个实施例中,所述处理器2001在执行所述在验证通过后进行数据转移,还包括:

接收所述数据转移终端发送的数据转移请求,响应所述数据转移请求进行数据转移,所述数据转移请求在所述用户终端接收到所述验证通过消息生成;或,

接收所述数据转移终端发送的数据转移请求以及所述第一身份令牌,响应所述数据转移请求,基于所述第一身份令牌身份进行身份验证并在身份验证通过后进行数据转移。

在本申请实施例中,通过预先将用户终端对应的原始身份令牌进行拆分并加密储存在用户终端以及服务器上,在进行数据转移时,第一身份令牌需要相匹配的加密串和密钥进行(如第一加密串需要服务器上的第一公钥解密才能生成第一身份串,第二加密串需要用户终端上的第一私钥才能生成第二身份串),才能最终生成第一身份令牌,服务器才可以基于该第一身份令牌完成对用户终端的身份校验;整个数据转移过程具备高安全性,且合成第一身份令牌的第一加密串对外不可见且只能基于服务器上的公钥在本端才能解密,数据转移的流程具备高安全性,且整个数据转移过程中,涉及的各电子设备可以不依赖于身份令牌进行,大幅提高了数据转移的安全性;以及,在数据转移中,不依赖于用户终端对应生成数据转移码,降低了数据转移的成本,涉及数据转移的各电子设备只需基于相应数据的流转即可最终完成整个数据转移流程,提高了数据转移的普适性;以及在用户终端网络故障的场景下(用户终端与服务器无网络服务),通过与数据转移终端的通信连接,可以顺利完成整个数据转移过程,提高了数据转移过程中的容灾性,实现了无网数据转移,扩展了数据转移场景;以及,即时各电子设备间的通讯链路不可靠,基于本申请的数据转移方法涉及的加解密手段,也能保证数据转移的安全性。

以上所述者,仅为本公开的示例性实施例,不能以此限定本公开的范围。即但凡依本公开教导所作的等效变化与修饰,皆仍属本公开涵盖的范围内。本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未记载的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的范围和精神由权利要求限定。

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