跨设备数据迁移方法、系统及电子设备与流程

摘要: 本技术涉及数据迁移,尤其涉及一种跨设备数据迁移方法、系统及电子设备。背景技术:1、随着智能终端设备的快速迭代和消费者换机周期的缩短,跨设备数据迁移已成为用户日常...
跨设备数据迁移方法、系统及电子设备与流程

本技术涉及数据迁移,尤其涉及一种跨设备数据迁移方法、系统及电子设备。

背景技术:

1、随着智能终端设备的快速迭代和消费者换机周期的缩短,跨设备数据迁移已成为用户日常使用中的高频场景。用户在更换新旧智能终端设备时,通常需要将联系人、图片、视频等个人数据从旧设备完整迁移至新设备,以保障用户体验的连续性和数据资产的完整性。

2、相关技术中,对于跨设备的数据迁移,通常采用以下两种方式:

3、第一种,新设备作为接收端开启热点,将连接参数编码为二维码予以展示,连接参数包括热点名称、热点密码和传输端点;旧设备作为发送端通过扫描该二维码获取上述热点名称和热点密码后,自动连接至新设备提供的热点网络,从而在两端设备之间建立基于同一局域网的点对点传输通道,在此基础上进行数据迁移。

4、第二种,在两端设备均已接入同一既有局域网(如同一家庭路由器或企业网络)的条件下,直接通过该局域网建立点对点传输通道,进而执行数据迁移。

5、然而,采用上述方式进行数据迁移均存在安全性不足的问题。

技术实现思路

1、本技术提供一种跨设备数据迁移方法、系统及电子设备,用以解决相关技术中存在的安全性不足的问题。

2、第一方面,本技术提供一种跨设备数据迁移方法,应用于发送端设备,包括:

3、获取接收端设备展示的图形码,并对图形码进行解析,得到会话参数;会话参数至少包括会话标识、连接参数以及密钥协商曲线参数;

4、基于连接参数,建立与接收端设备之间的通信链路;

5、基于密钥协商曲线参数,与接收端设备执行密钥协商,生成会话密钥;

6、基于会话密钥和会话标识,与接收端设备进行双向认证,得到双向认证结果;

7、在双向认证结果指示认证通过时,基于会话密钥对待迁移数据进行加密,并通过通信链路向接收端设备发送加密后的待迁移数据。

8、在一个可能的实施例中,会话参数还包括随机盐值,基于密钥协商曲线参数,与接收端设备执行密钥协商,生成会话密钥,包括:

9、基于密钥协商曲线参数,生成第一临时密钥对,第一临时密钥对包括第一公钥和第一私钥;

10、向接收端设备发送第一公钥,并在接收到接收端设备的第二公钥时,根据第二公钥和第一私钥,应用密钥协商曲线参数对应的密钥协商算法,确定共享密钥;

11、根据共享密钥和随机盐值,生成会话密钥。

12、在一个可能的实施例中,基于会话密钥和会话标识,与接收端设备进行双向认证,得到双向认证结果,包括:

13、按照预设长度,对会话密钥进行切分处理,得到数据加密密钥、认证密钥和基础向量;

14、基于认证密钥和会话标识,与接收端设备进行双向认证,得到双向认证结果。

15、在一个可能的实施例中,基于认证密钥和会话标识,与接收端设备进行双向认证,得到双向认证结果,包括:

16、响应于接收到接收端设备发送的第一报文,生成第二随机数,第一报文包含第一随机数;

17、根据认证密钥、第一随机数、第二随机数和会话标识,生成第一认证凭证;

18、向接收端设备发送第二报文,第二报文包含第二随机数和第一认证凭证;

19、响应于接收到接收端设备发送的第二认证凭证,根据认证密钥、第一随机数、第二随机数和会话标识,验证第二认证凭证,生成双向认证结果;

20、其中,第二认证凭证是接收端设备验证第一认证凭证通过后,根据认证密钥、第一随机数、第二随机数和会话标识确定的。

21、在一个可能的实施例中,基于会话密钥对待迁移数据进行加密,并通过通信链路向接收端设备发送加密后的待迁移数据,包括:

22、对于待迁移数据中的每个待迁移对象,生成待迁移对象的元数据,并向接收端设备发送元数据,元数据包含唯一标识、数据类别、存储路径、文件大小和sha256哈希值;

23、按照预设分片大小,将各待迁移对象的文件内容划分为多个数据分片;

24、应用会话密钥中的数据加密密钥和基础向量,按照分片序号依次对各数据分片进行加密,得到加密后的数据分片;

25、通过通信链路向接收端设备发送加密后的数据分片。

26、在一个可能的实施例中,跨设备数据迁移方法,还包括:

27、在每个待迁移对象的加密后的数据分片发送完成时,向接收端设备发送传输结束指示;传输结束指示用于指示接收端设备根据元数据中的sha256哈希值,对已接收到的待迁移对象进行完整性校验。

28、在一个可能的实施例中,跨设备数据迁移方法,还包括:

29、在每次向接收端设备发送一个加密后的数据分片时,调整窗口计数器的值;

30、若调整后的窗口计数器的值大于或等于预设窗口阈值,暂停向接收端设备发送加密后的数据分片。

31、在一个可能的实施例中,跨设备数据迁移方法,还包括:

32、响应于接收到接收端设备返回的窗口确认信息,将窗口计数器的值清零,窗口确认信息包含接收端设备已成功接收的最大连续分片序号;

33、向接收端设备发送剩余未发送的加密后的数据分片。

34、在一个可能的实施例中,待迁移数据是通过以下方式确定的:

35、响应于检测到接收端设备发送的扫描请求,扫描发送端设备的本地存储,以获取可迁移数据;

36、根据可迁移数据,生成迁移清单,并向接收端设备发送迁移清单,迁移清单包含可迁移数据的总数量、总大小、以及迁移清单的生成时间中的至少一项;

37、在接收到接收端设备根据迁移清单返回的选择响应时,根据选择响应,从可迁移数据中确定待迁移数据,选择响应指示用户选中的数据迁移范围。

38、在一个可能的实施例中,根据选择响应,从可迁移数据中确定待迁移数据,包括:

39、根据选择响应所指示的至少一个预设数据类别,从可迁移数据中筛选出与至少一个预设数据类别相匹配的数据;

40、将筛选出的数据分别映射为迁移实体;其中,不同预设数据类别的数据采用与预设数据类别对应的映射策略,映射为统一格式的迁移实体;

41、将迁移实体作为待迁移数据。

42、第二方面,本技术实施例提供一种跨设备数据迁移方法,应用于接收端设备,包括:

43、响应于迁移触发指令,生成图形码并展示,图形码至少携带会话标识、连接参数以及密钥协商曲线参数;

44、根据连接参数,建立与发送端设备之间的通信链路;

45、基于密钥协商曲线参数,与发送端设备执行密钥协商,生成会话密钥;

46、基于会话密钥和会话标识,与发送端设备进行双向认证,得到双向认证结果;

47、在双向认证结果指示认证通过时,通过通信链路接收发送端设备发送的加密后的待迁移数据。

48、在一个可能的实施例中,图形码还携带随机盐值,基于密钥协商曲线参数,与发送端设备执行密钥协商,生成会话密钥,包括:

49、基于密钥协商曲线参数,生成第二临时密钥对,第二临时密钥对包括第二公钥和第二私钥;

50、向发送端发送第二公钥,并在接收到发送端设备的第一公钥时,根据第一公钥和第二私钥,应用密钥协商曲线参数对应的密钥协商算法,确定共享密钥;

51、根据共享密钥和随机盐值,生成会话密钥。

52、在一个可能的实施例中,基于会话密钥和会话标识,与发送端设备进行双向认证,得到双向认证结果,包括:

53、按照预设长度,对会话密钥进行切分处理,得到数据加密密钥、认证密钥和基础向量;

54、基于认证密钥和会话标识,与发送端设备进行双向认证,得到双向认证结果。

55、在一个可能的实施例中,基于认证密钥和会话标识,与发送端设备进行双向认证,得到双向认证结果,包括:

56、向发送端设备发送第一报文,第一报文包含第一随机数;

57、在接收到发送端设备发送的第二报文,且对第二报文所包含的第一认证凭证验证通过后,根据认证密钥、第一随机数、会话标识以及第二报文包含的第二随机数,生成第二认证凭证;

58、向发送端设备发送第二认证凭证,以使发送端设备根据第二认证凭证完成双向认证,得到双向认证结果。

59、第三方面,本技术实施例提供一种跨设备数据迁移系统,包括:

60、接收端设备,用于执行上述第二方面提供的跨设备数据迁移方法;

61、发送端设备,用于执行上述第一方面提供的跨设备数据迁移方法。

62、第四方面,本技术实施例提供一种跨设备数据迁移装置,应用于发送端设备,包括:

63、获取模块,用于获取接收端设备展示的图形码,并对图形码进行解析,得到会话参数;会话参数至少包括会话标识、连接参数以及密钥协商曲线参数;

64、建立模块,用于基于连接参数,建立与接收端设备之间的通信链路;

65、密钥协商模块,用于基于密钥协商曲线参数,与接收端设备执行密钥协商,生成会话密钥;

66、认证模块,用于基于会话密钥和会话标识,与接收端设备进行双向认证,得到双向认证结果;

67、传输模块,用于在双向认证结果指示认证通过时,基于会话密钥对待迁移数据进行加密,并通过通信链路向接收端设备发送加密后的待迁移数据。

68、在一个可能的实施例中,会话参数还包括随机盐值,密钥协商模块具体用于:基于密钥协商曲线参数,生成第一临时密钥对,第一临时密钥对包括第一公钥和第一私钥;向接收端设备发送第一公钥,并在接收到接收端设备的第二公钥时,根据第二公钥和第一私钥,应用密钥协商曲线参数对应的密钥协商算法,确定共享密钥;根据共享密钥和随机盐值,生成会话密钥。

69、在一个可能的实施例中,认证模块具体用于:按照预设长度,对会话密钥进行切分处理,得到数据加密密钥、认证密钥和基础向量;基于认证密钥和会话标识,与接收端设备进行双向认证,得到双向认证结果。

70、在一个可能的实施例中,认证模块还用于:响应于接收到接收端设备发送的第一报文,生成第二随机数,第一报文包含第一随机数;根据认证密钥、第一随机数、第二随机数和会话标识,生成第一认证凭证;向接收端设备发送第二报文,第二报文包含第二随机数和第一认证凭证;响应于接收到接收端设备发送的第二认证凭证,根据认证密钥、第一随机数、第二随机数和会话标识,验证第二认证凭证,生成双向认证结果;其中,第二认证凭证是接收端设备验证第一认证凭证通过后,根据认证密钥、第一随机数、第二随机数和会话标识确定的。

71、在一个可能的实施例中,传输模块具体用于:对于待迁移数据中的每个待迁移对象,生成待迁移对象的元数据,并向接收端设备发送元数据,元数据包含唯一标识、数据类别、存储路径、文件大小和sha256哈希值;按照预设分片大小,将各待迁移对象的文件内容划分为多个数据分片;应用会话密钥中的数据加密密钥和基础向量,按照分片序号依次对各数据分片进行加密,得到加密后的数据分片;通过通信链路向接收端设备发送加密后的数据分片。

72、在一个可能的实施例中,传输模块还用于:在每个待迁移对象的加密后的数据分片发送完成时,向接收端设备发送传输结束指示;传输结束指示用于指示接收端设备根据元数据中的sha256哈希值,对已接收到的待迁移对象进行完整性校验。

73、在一个可能的实施例中,跨设备数据迁移装置还包括控制模块,用于:在每次向接收端设备发送一个加密后的数据分片时,调整窗口计数器的值;若调整后的窗口计数器的值大于或等于预设窗口阈值,暂停向接收端设备发送加密后的数据分片。

74、在一个可能的实施例中,控制模块还用于:响应于接收到接收端设备返回的窗口确认信息,将窗口计数器的值清零,窗口确认信息包含接收端设备已成功接收的最大连续分片序号;向接收端设备发送剩余未发送的加密后的数据分片。

75、在一个可能的实施例中,待迁移数据是通过以下方式确定的:响应于检测到接收端设备发送的扫描请求,扫描发送端设备的本地存储,以获取可迁移数据;根据可迁移数据,生成迁移清单,并向接收端设备发送迁移清单,迁移清单包含可迁移数据的总数量、总大小、以及迁移清单的生成时间中的至少一项;在接收到接收端设备根据迁移清单返回的选择响应时,根据选择响应,从可迁移数据中确定待迁移数据,选择响应指示用户选中的数据迁移范围。

76、在一个可能的实施例中,根据选择响应,从可迁移数据中确定待迁移数据,包括:根据选择响应所指示的至少一个预设数据类别,从可迁移数据中筛选出与至少一个预设数据类别相匹配的数据;将筛选出的数据分别映射为迁移实体;其中,不同预设数据类别的数据采用与预设数据类别对应的映射策略,映射为统一格式的迁移实体;将迁移实体作为待迁移数据。

77、第五方面,本技术实施例提供一种跨设备数据迁移装置,应用于接收端设备,包括:

78、生成单元,用于响应于迁移触发指令,生成图形码并展示,图形码至少携带会话标识、连接参数以及密钥协商曲线参数;

79、建立单元,用于根据连接参数,建立与发送端设备之间的通信链路;

80、密钥协商单元,基于密钥协商曲线参数,与发送端设备执行密钥协商,生成会话密钥;

81、认证单元,基于会话密钥和会话标识,与发送端设备进行双向认证,得到双向认证结果;

82、接收单元,用于在双向认证结果指示认证通过时,通过通信链路接收发送端设备发送的加密后的待迁移数据。

83、在一个可能的实施例中,图形码还携带随机盐值,密钥协商单元具体用于:基于密钥协商曲线参数,生成第二临时密钥对,第二临时密钥对包括第二公钥和第二私钥;向发送端发送第二公钥,并在接收到发送端设备的第一公钥时,根据第一公钥和第二私钥,应用密钥协商曲线参数对应的密钥协商算法,确定共享密钥;根据共享密钥和随机盐值,生成会话密钥。

84、在一个可能的实施例中,认证单元具体用于:按照预设长度,对会话密钥进行切分处理,得到数据加密密钥、认证密钥和基础向量;基于认证密钥和会话标识,与发送端设备进行双向认证,得到双向认证结果。

85、在一个可能的实施例中,认证单元还用于:向发送端设备发送第一报文,第一报文包含第一随机数;在接收到发送端设备发送的第二报文,且对第二报文所包含的第一认证凭证验证通过后,根据认证密钥、第一随机数、会话标识以及第二报文包含的第二随机数,生成第二认证凭证;向发送端设备发送第二认证凭证,以使发送端设备根据第二认证凭证完成双向认证,得到双向认证结果。

86、第六方面,本技术实施例提供一种电子设备,包括:存储器,处理器;

87、存储器存储计算机执行指令;

88、处理器执行存储器存储的计算机执行指令,使得处理器执行上述第一方面提供的跨设备数据迁移方法,和/或,执行上述第二方面提供的跨设备数据迁移方法。

89、第七方面,本技术实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现上述第一方面提供的跨设备数据迁移方法,和/或,上述第二方面提供的跨设备数据迁移方法。

90、第八方面,本技术实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述第一方面提供的跨设备数据迁移方法,和/或,上述第二方面提供的跨设备数据迁移方法。

91、本技术提供的跨设备数据迁移方法、系统及电子设备,首先通过图形码承载包含会话标识、连接参数及密钥协商曲线参数的完整会话参数,使得发送端设备在建立通信链路之初即获得与本次迁移任务强绑定的会话上下文及后续安全协商所需的参数,从而克服了相关技术中二维码仅承载热点名称及密码、连接建立与数据传输之间缺乏统一会话上下文的缺陷;在此基础上,发送端基于连接参数建立通信链路后,进一步依据图形码中携带的密钥协商曲线参数与接收端设备执行密钥协商并生成会话密钥,使得密钥协商过程与本次会话的图形码参数形成强关联,降低了相关技术中因缺乏与会话绑定的密钥协商机制而导致的重放连接和错连设备风险;在会话密钥生成之后,发送端基于该会话密钥及会话标识与接收端设备进行双向认证,确保两端设备在正式开始数据传输之前即完成对彼此身份的合法性确认,克服了相关技术中仅依赖热点接入成功作为身份确认依据或仅进行单向校验所导致的安全漏洞;最终,在双向认证通过后,发送端基于会话密钥对待迁移数据进行加密传输,使得数据在传输过程中得到有效的机密性保护且与本次会话密钥绑定,有效提升了跨设备数据迁移场景下的传输安全性。由此,本技术通过图形码参数承载、密钥协商、双向认证及加密传输的有机结合,在跨设备数据迁移场景下构建了从会话建立到数据传输的完整安全链条。