数据同步方法及系统与流程

文档序号:11263688阅读:261来源:国知局
数据同步方法及系统与流程

本发明涉及通讯技术领域,尤其涉及一种数据同步方法及系统。例如两台移动终端之间的数据同步,或者移动终端与pc之间的数据转移或同步。



背景技术:

现在计算机领域已经不只是pc独占了,移动端设备已经异军突起,以便携小巧等优势受到人们的依赖。但是pc和移动设备各有优势,都无法取代对方,所以很多的软件厂商都会使自己的软件产品可以同时运行于多种设备上。这种情况下用户的个人数据有时候可能会因为多端登录造成个人数据或者app配置等不同步,这就需要把这些数据从pc传输到移动设备上,或者从移动设备转移到pc上。目前普遍使用的转移方法有很多,但这些方法都有安全性、可靠性、可行性的问题。如果使用wi-fi热点或者蓝牙等无线进行传输,这是完全的明文传输,如果被恶意截取或者误传,对方可以直接获取传输的数据。如果使用usb数据线传输,则很不方便,需要随时携带一根数据线,如果是两台移动设备,这种方式甚至无法使用。



技术实现要素:

为解决现有存在的技术问题,本发明实施例提供了一种控制方法及电子设备,能至少解决现有技术中存在的上述问题。

本发明实施例的技术方案是这样实现的:

本发明实施例第一方面提供了一种数据同步方法,应用于第一电子设备和第二电子设备之间的数据同步,所述方法包括:

第二电子设备接收数据同步请求,获得第一验证信息;

第二电子设备根据所述第一验证信息生成临时密钥,通过所述临时密钥加密数据生成密文并上传所述密文和所述第一验证信息至服务器;

第一电子设备向服务器发送第二验证信息;

第一电子设备在服务器验证所述第二验证信息与所述第一验证信息相同后下载密文,所述第一电子设备通过所述第二验证信息重新生成所述临时密钥,并通过重新生成的所述临时密钥解密所述密文以获得数据。

上述方案中,所述第一验证信息及所述第二验证信息可以包括一随机数和/或一密钥种子。

上述方案中,所述第一验证信息及所述第二验证信息其中之一可以由所述第一电子设备或所述第二电子设备生成,且在生成所述第一验证信息或所述第二验证信息之后,可以生成包含所述第一验证信息或所述第二验证信息的二维码信息。

上述方案中,所述第一电子设备及所述第二电子设备其中之一可以通过扫描所述二维码信息并解析获得所述第一验证信息或所述第二验证信息。

上述方案中,所述第二电子设备根据所述第一验证信息生成临时密钥,可以包括:根据获得的第一验证信息,结合盐值和/或用户信息经程序加密算法得到所述临时密钥。

上述方案中,所述第一电子设备通过第二验证信息重新生成所述临时密钥,可以包括:

根据获得的第二验证信息,结合盐值和/或用户信息经程序加密算法得到所述临时密钥。

上述方案中,所述方法还可以包括:

当第一电子设备和第二电子设备均处于登录状态,所述第二电子设备接收所述数据同步请求。

上述方案中,可以包括:

第一电子设备通过第一用户名及与之对应的第一密码向服务器发送登录请求,如登录成功,向服务器发送数据同步请求;

第二电子设备在通过第一用户名及第一密码登录服务器后接收所述推送数据同步请求。

本发明实施例第二方面提供了一种数据同步系统,包括第一电子设备和第二电子设备,其特征在于,所述系统包括:

第二电子设备配置为接收数据同步请求,获得第一验证信息,并根据所述第一验证信息生成临时密钥,通过所述临时密钥加密数据生成密文并上传所述密文和所述第一验证信息至服务器;

第一电子设备配置为向服务器发送第二验证信息,并配置为在通过服务器验证所述第二验证信息与所述第一验证信息相同后下载密文,通过第二验证信息重新生成所述临时密钥,并通过所述临时密钥解密所述密文以获得数据。

本发明实施例再一方面提供了一种数据同步系统,所述系统包括第一电子设备、第二电子设备和服务器,其中,

所述第二电子设备配置为接收数据同步请求,获得第一验证信息;根据所述第一验证信息生成临时密钥,通过所述临时密钥加密数据生成密文并上传所述密文和所述第一验证信息至所述服务器;

所述第一电子设备配置为向服务器发送第二验证信息;

所述服务器配置为验证所述第二验证信息与所述第一验证信息是否相同,如验证通过,将密文发送给第一电子设备,

其中,第一电子设备还配置为通过第二验证信息重新生成所述临时密钥,并通过所述临时密钥解密所述密文以获得数据。

本发明实施例所述的数据同步方法及系统,应用于第一电子设备和第二电子设备之间的数据同步,通过密文传输的方式,保证了数据同步过程中的安全性。而且,在本发明的技术方案中,两台电子设备之间的数据同步可以完全通过网络实现,不需要数据线,相比于现有技术具有较大的进步。

附图说明

图1为本发明实施例的数据同步方法的流程示意图;

图2为本发明实施例的数据同步方法的一个应用场景的流程图(含上传密文和第一验证信息至服务器);

图3为本发明实施例的数据同步方法的一个应用场景中针对个人数据在服务器中的保存的操作流程图;

图4为本发明实施例的数据同步方法的一个应用场景第一电子设备从服务器获得个人数据的操作流程图;

图5为本发明实施例的数据同步方法的另一个应用场景的流程图(含上传密文和第一验证信息至服务器);

图6为本发明实施例的数据同步方法的另一个应用场景第一电子设备从服务器获得个人数据的操作流程图;

图7为本发明实施例的数据同步系统的系统框图。

具体实施方式

目前,当用户需要将移动终端的个人数据同步至pc端,或者由pc端同步至移动端,再或者由一台移动终端转移到另一台移动终端,一般是通过数据线直连以及通过wifi或者蓝牙等无线连接进行传输,但这样的过程由于都是明文传输,因此极有可能在传输过程中被恶意截取,安全性较低。因此,为解决上述问题本发明实施例提供了一种数据同步方法及系统;进一步地,为了能够更加详尽地了解本发明的特点与技术内容,下面结合附图对本发明的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本发明。

实施例一

本发明实施例提供了一种数据同步方法,应用于第一电子设备和第二电子设备之间的数据同步,如图1所示,该方法包括:

s101、第二电子设备接收数据同步请求,获得第一验证信息;这里的第一电子设备和第二电子设备均可以为移动终端或至少一个为移动终端,而另一个为pc。而在同步过程中,必然有一个电子设备属于数据提供方来接受数据同步请求,而另一电子设备属于发送数据同步请求的一方。在本实施例中,以第一电子设备作为数据请求方,而第二电子设备作为数据提供方。在第二电子设备接收数据同步请求时,获得第一验证信息,主要在于为数据的安全同步或进一步的加密提供可能。在本发明的一些可行的实施方式中,第一验证信息包括一随机数和/或一密钥种子,且第一验证信息由第二电子设备生成;或第一验证信息由第一电子设备生成并传送至第二电子设备。随机数或密钥种子在本实施例中除作为密钥生成手段之外,还可以参与第一电子设备与服务器的身份验证过程。

另外,在本实施例中,第一电子设备和第二电子设备优选通过服务器进行数据同步,具体地,在数据同步操作开始时,分别判断第一电子设备和第二电子设备的登录状态,即第一电子设备通过用户账号在第一电子设备上登录服务器的状态,以及第二电子设备通过同一用户账号在第二电子设备上登录服务器的状态,具体包括:

在第一电子设备上通过第一用户名及与之对应的第一密码向服务器发送登录请求,如登录成功,向服务器发送数据同步请求;服务器检查第二电子设备是否已通过第一用户名及第一密码登录。参见本申请附图2所示。在这里,第一用户名和第一密码为基本的用户信息,其中用户信息可能还包括用户id等参数,而例如用户名、用户id都可以作为附加信息用于生成密钥。

s102、第二电子设备根据第一验证信息生成临时密钥,通过临时密钥加密数据生成密文并上传密文和第一验证信息至服务器;参照以上论述,第二电子设备在根据第一验证信息生成临时密钥时,可以根据第一验证信息的类型进行具体选择。例如,包括随机数、密钥种子或者两者都有。在通过常规的密钥算法可以生成用于加密数据的临时密钥。但进一步地,为了提高密文的安全性,作为优选,在随机数、密钥种子的基础上,还可以再增加app盐值和/或用户信息,多组数据共同生成临时密钥。例如,以随机数、密钥种子、app盐值和用户id总计四组数据生成临时密钥。由于用户id是唯一确定的,其中随机数是为了确保每次生成的密钥是不同的,app盐值确保数据不会被其他app获取,用户id也能保证用户的个人数据不会被转移给其他用户。

另外,在第一电子设备或第二电子设备在生成随机数和/或密钥种子后,为了使得第一电子设备能够解密由第二电子设备加密且上传至服务器的数据。可考虑通过网络、短信或其他通信方式传递随机数及密钥种子信息。当然也可以考虑以如下方式实现,即:在第一电子设备或第二电子设备在生成随机数和/或密钥种子后,生成包含随机数和/或密钥种子的二维码信息。如此,第一电子设备或第二电子设备在获取第一验证信息时,只需扫描二维码信息并解析获得随机数和/或密钥种子。

s103、第一电子设备向服务器发送第二验证信息;如上所述,在分别检验用户账户通过第一电子设备或第二电子设备在服务器上的登录状态后,如果在两者上都处于登录状态,服务器将推送数据同步消息至第二电子设备。而此时以扫描二维码为例,在服务器推送数据同步消息的同时,第一电子设备已处于等待扫描二维码状态。如果此时第二电子设备上已经生成包含有随机数和密钥种子的二维码信息,那么第一电子设备可以随时通过扫描二维码的形式获得第二验证信息,例如随机数和密钥种子。参见图3所示。

s104、第一电子设备在服务器验证第二验证信息与第一验证信息相同后下载密文,第一电子设备通过第二验证信息重新生成临时密钥,并通过重新生成的临时密钥解密密文以获得数据。考虑到现有技术存在的安全性方面存在的问题,本发明提出的技术方案使得第一电子设备和第二电子设备之间通过服务器交换、同步或传递数据。在这一流程中,通过临时密钥加密数据是对数据所做的第一方面的处理,而确保数据安全还存在另外一个方面,即这一步骤s104中的服务器认证步骤。在这一步骤中,认证的其中一个途径是通过验证第二验证信息与第一验证信息相同来进行认证,而具体的流程将根据第一验证信息或第二验证信息的具体组成做适当调整。例如,当第一验证信息和第二验证信息为随机数时,该随机数需由生成随机数一方在加密完成后上传服务器,而由数据同步请求方的随机数从随机数生成方获取,随后与服务器上的随机数进行比对,在比对通过之后将视为认证通过。同理,当第一验证信息和第二验证信息为随机数和密钥种子两项时,则需要两项的比对认证都通过才可以认为服务器认证通过。

在服务器认证通过之后,第一电子设备从服务器下载密文。在密文解密过程中,第一电子设备需要重新按照与第一电子设备生成临时密钥时相同的算法、相同的盐值、相同的用户id进行运算。这其中只有第二验证信息是通过其他途径获取,例如通过扫描二维码的形式从第二电子设备获取,程序加密算法、盐值及用户id则均为多端协商一致的。如此,当第一电子设备重新生成临时密钥后,就可以对从服务器下载的密文进行解密,解密后就可以得到从第二电子设备同步过来的数据。

另外,进一步地,在本发明上述实施例中,第二电子设备通过临时密钥加密数据生成密文并上传密文和第一验证信息至服务器之后,还可以在服务器端附加安全策略,以此提升数据同步方法的安全性,具体地,如图3所示,该方法还包括:

服务器保存第一验证信息和密文;进一步判断密文存储时间是否超过预设时间,如是,服务器删除第一验证信息和密文,否则将会响应客户端(第一电子设备或第二电子设备)的下载个人数据的请求。可以预想的是,在第一电子设备正常下载密文之后,如果超过该预设时间,则密文同样会被删除。这样一来也将大大提高个人数据在同步过程中的安全性。

再者,在上述方案中,服务器验证第一验证信息和第二验证信息是否相同,还包括:验证服务器是否存在密文,如是,从服务器下载密文。

本发明图2至图6提供了一种针对第一电子设备和第二设备之间同步个人数据的应用场景,其中,第一电子设备为具有二维码扫码功能的移动终端,而第二电子设备是不具备二维码扫码功能的个人计算机(pc)。第一电子设备为数据请求方,请求获取第二电子设备的个人数据;而第二电子设备为数据拥有方,向第一电子设备提供数据。为了叙述方便,以下将第一电子设备记为a,而第二电子设备记为b。

场景1:某账号在a登录完成后,先向服务器发起数据同步请求,服务器会检查此账号是否在b设备上登录了,如果是,服务器会向b推送数据同步消息,此时a处于等待扫描二维码状态。

b收到此消息后会负责生成一个随机数r和密钥种子k,然后根据随机数r和密钥种子k,多端协商一致的盐值(多端app盐值一致),本用户自身的唯一id,一共4组数据组合起来计算哈希值h。再使用哈希值h作为临时密钥对需要转移的个人数据进行加密,完成后把加密结果、随机数r、密钥种子k上传至服务器(服务器对每次提交的数据只保存一定时间,过期之后将删除)。b然后生成二维码,需要把随机数r和密钥种子k包含进二维码信息,然后等待a对二维码进行扫描。

a需要在规定时间内扫描二维码,否则服务器会因为数据过期删除数据并拒绝数据下载的请求。扫码后从二维码数据中获取到随机数r和密钥种子k,然后将r和k发送至服务器进行验证对比,验证通过服务器会允许a下载个人密钥密文。然后r、k再结合app盐值、用户id可以重新hash出临时密钥h,就可以对密文进行解密然后保存。

场景2:某账号在a登录完成后,先向服务器发起数据同步请求,服务器会检查此账号是否在b设备上登录了,如果是,服务器会向b推送数据同步消息,b收到消息后处于等待扫描二维码状态。

a发送完数据同步消息后会生成一个随机数r和密钥种子k,然后生成二维码,需要把随机数r和密钥种子k包含进二维码信息,然后等待b对二维码进行扫描。b需要在规定时间内扫描二维码,否则服务器会因为数据过期删除数据并拒绝数据下载的请求。扫码后从二维码数据中获取到随机数r和密钥种子k,再结合盐值(多端app盐值一致),本用户自身的唯一id,一共4组数据组合起来计算哈希值h。再使用哈希值h作为临时密钥对需要转移的个人数据进行加密,完成后把加密结果、随机数r、密钥种子k上传至服务器(服务器对每次提交的数据只保存一定时间,过期之后将删除)。

此时服务器给a推送一个下载通知,a把自己生成的r、k作为下载参数发送至服务器,服务器验证r、k通过后,会把b上传的个人数据的密文发送给a,然后a端可以用r、k再结合app盐值、用户id可以重新hash出临时密钥h,就可以对密文进行解密然后保存。

在本发明提供的以上具体实施方式中,至少可在以下方面取得较好的有益效果:(1)密文传输,安全性高。密钥是通过4组数据r、k、app盐值、用户唯一id来确定的,其中随机数r确保每次生成的密钥是不同的,app盐值确保数据不会被其他app获取,用户id确保个人数据不会转移给其他用户。(2)服务器认证,进一步提升安全性。密钥转移的方式不是点对点的,而是通过服务器转发的,服务器允许某客户端获取数据前会验证核对随机数r和k,如果验证失败就会拒绝服务。(3)超时限定,保证数据不被恶意下载。每次提交的数据服务器只在一定时间内才提供服务,如果数据已经因为超时失效,服务器会将删除。

再者,如图7所示,本发明实施例第二方面提供了一种数据同步系统,该系统用以实施本发明在前所述的数据同步方法,如图所示,该系统包括第一电子设备10、第二电子设备20和服务器30,其中,

第二电子设备20配置为接收数据同步请求,获得第一验证信息;根据第一验证信息生成临时密钥,通过临时密钥加密数据生成密文并上传密文和第一验证信息至服务器;

第一电子设备10配置为向服务器30发送第二验证信息;

服务器30配置为验证第二验证信息与第一验证信息是否相同,如验证通过,将密文发送给第一电子设备10,

其中,第一电子设备10还配置为通过第二验证信息重新生成临时密钥,并通过临时密钥解密密文以获得数据。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。

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