CN117118988A - 一种数据同步方法及相关装置 - Google Patents

一种数据同步方法及相关装置 Download PDF

Info

Publication number
CN117118988A
CN117118988A CN202310311230.9A CN202310311230A CN117118988A CN 117118988 A CN117118988 A CN 117118988A CN 202310311230 A CN202310311230 A CN 202310311230A CN 117118988 A CN117118988 A CN 117118988A
Authority
CN
China
Prior art keywords
electronic device
key
data
server
public key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310311230.9A
Other languages
English (en)
Inventor
董杰
程威
皇甫道一
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202310311230.9A priority Critical patent/CN117118988A/zh
Publication of CN117118988A publication Critical patent/CN117118988A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请提供一种数据同步方法及相关装置,涉及通信技术领域,第一电子设备和第二电子设备的操作系统不同,该方法包括:第一电子设备确定待同步的数据;利用主密钥对待同步的数据进行加密;向服务器发送第一公钥以及加密后的数据,以及接收服务器推送的提示消息,提示消息携带有第二电子设备的第二公钥,第一公钥和第一私钥为第一电子设备的密钥对,第二公钥和第二私钥为第二电子设备的密钥对;根据第二公钥和第一私钥生成会话密钥;利用会话密钥对主密钥进行加密,向服务器发送加密后的主密钥,服务器用于向第二电子设备发送第一公钥、加密后的数据以及加密后的主密钥。可见,该方法能够提高数据同步方式的适应性。

Description

一种数据同步方法及相关装置
技术领域
本申请涉及通信技术领域,尤其涉及一种数据同步方法及相关装置。
背景技术
目前,电子设备上运行有操作系统,若多个电子设备的操作系统相同,电子设备之间可以基于操作系统底层的安全加密逻辑,进行端到端的数据同步。
但是,操作系统的种类繁多,例如苹果公司所开发的iOS操作系统,谷歌公司所开发的Android开源操作系统,微软公司所开发的Windows操作系统等,进一步,Android开源操作系统又可以细分为多个子系统。在两个电子设备的操作系统不同的情况下,例如,电子设备A的操作系统为iOS,电子设备B的操作系统为Android,此时,电子设备A和电子设备B将无法采用上述方式,进行端到端的数据同步。
可见,目前数据同步的方式比较局限,难以适应不同操作系统的电子设备。
发明内容
本申请提供一种数据同步方法及相关装置,能够提高数据同步方式的适应性。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请提供了一种数据同步方法,该方法可以应用于第一电子设备,第一电子设备和第二电子设备进行数据同步,第一电子设备和第二电子设备的操作系统不同,例如第一电子设备的操作系统为iOS,第二电子设备的操作系统为Android。该方法包括:
第一电子设备确定待同步的数据,然后利用主密钥对该待同步的数据进行加密,然后向服务器发送第一公钥以及加密后的数据,以及接收服务器推送的提示消息,该提示消息携带有第二电子设备的第二公钥,第一公钥和第一私钥为第一电子设备的密钥对,第二公钥和第二私钥为第二电子设备的密钥对,接着,第一电子设备根据第二公钥和第一私钥生成会话密钥,然后利用该会话密钥,对主密钥将进行加密,向服务器发送加密后的主密钥,服务器向第二电子设备发送第一公钥、加密后的主密钥以及加密后的数据,第二电子设备同样可以基于第一公钥和第二私钥生成上述会话密钥,然后利用会话密钥对加密后的主密钥进行解密,得到主密钥,再利用主密钥对加密后的数据进行解密,最后得到加密后的数据,进行实现第一电子设备和第二电子设备的数据同步。
该方法中,即使第一电子设备和第二电子设备的操作系统不同,第一电子设备也可以通过端到端的方式,将数据安全地同步到第二电子设备,从而提高了数据同步的适应性,该方案的适应性更加宽泛,不仅能够适用于操作系统相同的电子设备,可以适用于操作系统不同的电子设备。
在一些可能的实现方式中,该方法还包括:第一电子设备呈现提示界面,提示界面包括允许控件,第一电子设备响应于通过允许控件触发的对数据同步的同意操作,生成随机码,向服务器发送随机码,以便服务器利用随机码对加密后的主密钥和/或加密后的数据进行标记。
在一些可能的实现方式中,第一电子设备还可以呈现该随机码,以便用户查看该随机码并在第二电子设备上输入上述随机码。
第二方面,本申请提供了一种数据同步方法,该方法可以应用于第二电子设备,第一电子设备和第二电子设备进行数据同步,第一电子设备和第二电子设备的操作系统不同,该方法包括:
第二电子设备向服务器发送请求同步的消息,请求同步的消息中携带有第二公钥,第二公钥和第二私钥为第二电子设备的密钥对;接收服务器返回的第一电子设备的第一公钥、加密后的主密钥以及加密后的数据,第一公钥和第一私钥为第一电子设备的密钥对;根据第一公钥和第二私钥生成会话密钥;利用会话密钥对加密后的主密钥进行解密,得到主密钥,利用主密钥对加密后的数据进行解密,得到待同步的数据,从而实现第一电子设备和第二电子设备的数据同步。
在一些可能的实现方式中,第二电子设备还可以呈现校验界面,校验界面包括校验码输入框;获取通过校验码输入框输入的校验码;向服务器发送校验码,以便服务器根据校验码与随机码进行匹配。
在一些可能的实现方式中,第二电子设备接收服务器返回的第一电子设备的第一公钥、加密后的主密钥以及加密后的数据,可以是第二电子设备接收服务器对校验码进行校验通过时,服务器返回的第一电子设备的第一公钥、加密后的主密钥以及加密后的数据。
在一些可能的实现方式中,第二电子设备还可以接收服务器对校验码进行校验不通过时,服务器返回的校验不通过的消息,然后呈现校验不通过的消息。
第三方面,本申请提供了一种数据同步方法,该方法可以应用于服务器,该方法包括:服务器接收第二电子设备发送的请求同步的消息,请求同步的消息中携带有第二电子设备的第二公钥,第二公钥和第二私钥为第二电子设备的密钥对;服务器向第一电子设备推送提示消息,提示消息包括第二公钥;服务器接收第一电子设备发送的利用会话密钥进行加密后的主密钥,会话密钥为第一电子设备基于第一私钥和第二公钥得到,第一公钥和第一私钥为第一电子设备的密钥对;服务器向第二电子设备发送第一公钥、加密后的数据以及加密后的主密钥,以便第一电子设备和第二电子设备进行数据同步,第一电子设备和第二电子设备的操作系统不同。
在一些可能的实现方式中,服务器还可以接收第一电子设备发送的随机码,利用随机码对第一电子设备发送的加密后的数据和/或加密后的主密钥进行标记。
在一些可能的实现方式中,服务器还可以接收第二电子设备发送的校验码,利用校验码与随机码进行匹配,得到匹配结果。服务器向第二电子设备发送第一公钥、加密后的数据以及加密后的主密钥,包括:若匹配结果表征存在与校验码对应的随机码,则服务器向第二电子设备发送随机码对应的第一公钥、加密后的数据以及加密后的主密钥。
在一些可能的实现方式中,服务器还可以若匹配结果表征不存在与校验码对应的随机码,则向第二电子设备发送校验不通过的消息。
第四方面,本申请提供了一种同步系统,包括服务器和多个电子设备,多个电子设备包括第一电子设备和第二电子设备,第一电子设备和第二电子设备的操作系统不同,第一电子设备和第二电子设备进行数据同步;
第一电子设备,用于获取第二公钥,根据第一私钥和第二公钥生成会话密钥,利用会话密钥对主密钥进行加密,并向服务器发送第一公钥和加密后的主密钥;
服务器,用于向第二电子设备发送第一公钥、加密后的主密钥以及利用主密钥加密后的数据,加密后的数据为第一电子设备所上传的数据;
第二电子设备,用于根据第一公钥和第二私钥生成会话密钥,利用会话密钥对加密后的主密钥进行解密,得到主密钥,利用主密钥对加密后的数据进行解密,得到待同步的数据。
第五方面,本申请提供了一种第一电子设备,包括:处理器和存储器;
其中,在存储器中存储有一个或多个计算机程序,一个或多个计算机程序包括指令;当指令被处理器执行时,使得第一电子设备执如第一方面中任一项的方法。
第六方面,本申请提供了一种第二电子设备,包括:处理器和存储器;
其中,在存储器中存储有一个或多个计算机程序,一个或多个计算机程序包括指令;当指令被处理器执行时,使得第二电子设备执如第二方面中任一项的方法。
第七方面,本申请提供了一种服务器,包括:处理器和存储器;
其中,在存储器中存储有一个或多个计算机程序,一个或多个计算机程序包括指令;当指令被处理器执行时,使得服务器执如第三方面中任一项的方法。
第八方面,本申请提供了一种计算机存储介质,包括计算机指令,当计算机指令在计算设备上运行时,计算设备执行如第一方面、第二方面和第三方面中任一项的方法。
由上述技术方案可知,本申请具有如下有益效果:
本申请提供了一种数据同步方法,当需要进行数据同步时,第一电子设备利用主密钥对待同步的数据进行加密,然后将第一公钥以及加密后的数据发送给服务器,此时,第二电子设备可以向服务器发送请求同步的消息,该请求同步的消息中携带有第二公钥,服务器可以向已开启数据同步功能的第一电子设备推送提示消息,该提示消息携带有上述第二公钥,第一电子设备确认同意将待同步的数据同步给第二电子设备后,第一电子利用第一私钥和第二公钥,生成会话密钥(sessionkey),然后利用该会话密钥对主密钥进行加密,并将加密后的主密钥发送给服务器。第二电子设备可以从服务器获取第一公钥、加密后的数据以及主密钥。类似的,第二电子设备可以利用第二私钥和第一公钥,同样生成上述会话密钥,然后利用会话密钥对加密后的主密钥进行解密,得到主密钥,再利用主密钥对加密后的数据进行解密,得到待同步的数据,以实现将数据从第一电子设备同步到第二电子设备。
可见,该方法与传统的数据同步方法不同,即使第一电子设备和第二电子设备的操作系统不同,第一电子设备也可以通过端到端的方式,将数据安全地同步到第二电子设备,从而提高了数据同步的适应性,该方案的适应性更加宽泛,不仅能够适用于操作系统相同的电子设备,可以适用于操作系统不同的电子设备。
应当理解的是,本申请中对技术特征、技术方案、有益效果或类似语言的描述并不是暗示在任意的单个实施例中可以实现所有的特点和优点。相反,可以理解的是对于特征或有益效果的描述意味着在至少一个实施例中包括特定的技术特征、技术方案或有益效果。因此,本说明书中对于技术特征、技术方案或有益效果的描述并不一定是指相同的实施例。进而,还可以任何适当的方式组合本实施例中所描述的技术特征、技术方案和有益效果。本领域技术人员将会理解,无需特定实施例的一个或多个特定的技术特征、技术方案或有益效果即可实现实施例。在其他实施例中,还可在没有体现所有实施例的特定实施例中识别出额外的技术特征和有益效果。
附图说明
图1为本申请实施例提供的一种2个电子设备进行数据同步的示意图;
图2为本申请实施例提供的一种第一电子设备的结构示意图;
图3为本申请实施例提供的一种应用场景的示意图;
图4为本申请实施例提供的一种数据同步方法的流程图;
图5为本申请实施例提供的一种设置界面的示意图;
图6A为本申请实施例提供的一种提示界面的示意图;
图6B为本申请实施例提供的一种随机码的示意图;
图7为本申请实施例提供的一种校验界面的示意图;
图8为本申请实施例提供的又一种校验界面的示意图;
图9为本申请实施例提供的一种3个电子设备之间进行数据同步方法的流程图;
图10为本申请实施例提供的又一种3个电子设备之间进行数据同步方法的流程图。
具体实施方式
本申请说明书和权利要求书及附图说明中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于限定特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
为了下述各实施例的描述清楚简洁,首先给出相关技术的简要介绍:
端到端是指多个电子设备通在数据同步过程中,通过服务器进行数据传输,服务器对所传输的数据不感知,即,服务器不知道多个电子设备之间所传输的数据,进而提高数据同步的安全性。以两个电子设备进行数据同步为例,电子设备A对待同步的数据(例如可以是应用数据,也可以是其他数据)进行加密,将加密后的数据发送给服务器,由于数据已经被加密,而服务器也没有密钥,因此,服务器无法对加密的数据进行解密,无法得知所传输的数据,即,服务器无感知,然后服务器可以将该加密后的数据发送给电子设备B,电子设备B拥有密钥,进而可以对该加密后的数据进行解密,得到原数据。如此电子设备A可以通过服务器将待同步的数据,安全地同步给电子设备B。
然而,上述端到端的数据同步方式,目前仅在电子设备的操作系统相同的情况下,才能够实现。
如图1所示,该图为本申请实施例提供的一种2个电子设备进行数据同步的示意图。第一电子设备11的硬件层可以存储有锁屏码,然后基于该锁屏码生成加解密密钥,然后利用该加密密钥对待同步的数据(例如APP的数据)进行加密,然后将该加密后的数据发送给服务器12。其中,锁屏码存储在第一电子设备11的硬件层,例如可以是存储在安全芯片中。由于第一电子设备11的操作系统与第二电子设备13的操作系统相同,锁屏码的机制也相同,第二电子设备13的硬件层同样存储有该锁屏码。基于此,可以基于该锁屏码同样生成加解密密钥,第二电子设备13在从服务器12获取到加密后的待同步的数据后,利用解密密钥对从服务器12下载的加密后的待同步的数据进行解密,进而得到待同步的数据,以将待同步的数据,安全地同步到第二电子设备13。
然而,上述端到端的数据同步方式比较局限,仅限于操作系统相同的电子设备之间,无法适应于不同操作系统的电子设备。在一些示例中,第一电子设备11的操作系统为第一操作系统(例如iOS),第二电子设备13的操作系统为第二操作系统(例如Android),此时,第一电子设备11向第二电子设备13进行端到端的数据同步,由于第一电子设备11的操作系统与第二电子设备13的操作系统不同,第一电子设备11将加密后的数据通过服务器12发送给第二电子设备13后,操作系统不同,锁屏码的机制也不同,第二电子设备13没有相应的密钥,故无法对第一电子设备13发送的数据进行解密,进而即使第一电子设备11将加密后的数据传到了第二电子设备13,第二电子设备13也无法得知第一电子设备11传输的原数据,即,操作系统不同的情况下,无法实现端到端的数据同步。
有鉴于此,本申请实施例提供了一种数据同步方法,该方法可以应用于第一电子设备,也可以应用于第二电子设备,该第一电子设备可以是发送数据的设备,例如可以是旧设备,第二电子设备可以是接收数据的设备,例如可以是新设备。第一电子设备可以生成主密钥(masterkey),将该主密钥保存在可信环境中,例如可以是电子设备的安全芯片中。第一电子设备还会生成非对称的公私钥对,第一公钥(publickeyA)和第一私钥(privatekeyA)。类似的,第二电子设备同样可以生成非对称的公私钥对,第二公钥(publickeyB)和第二私钥(privatekeyB)。
当需要进行数据同步时,第一电子可以利用主密钥对待同步的数据进行加密,然后第一公钥以及将加密后的数据发送给服务器,此时,第二电子设备可以向服务器发送请求同步的消息,该请求同步的消息中携带有第二公钥,服务器可以向已开启数据同步功能的第一电子设备推送提示消息,该提示消息携带有上述第二公钥,第一电子设备确认同意将待同步的数据同步给第二电子设备后,第一电子利用第一私钥和第二公钥,生成会话密钥(sessionkey),然后利用该会话密钥对主密钥进行加密,并将加密后的主密钥发送给服务器。第二电子设备可以从服务器获取第一公钥、加密后的数据以及主密钥。类似的,第二电子设备可以利用第二私钥和第一公钥,同样生成上述会话密钥,然后利用会话密钥对加密后的主密钥进行解密,得到主密钥,再利用主密钥对加密后的数据进行解密,得到待同步的数据,以实现将数据从第一电子设备同步到第二电子设备。
可见,在该方法中,即使第一电子设备和第二电子设备的操作系统不同,第一电子设备也可以通过端到端的方式,将数据安全地同步到第二电子设备,从而提高了数据同步的适应性,该方案的适应性更加宽泛,不仅能够适用于操作系统相同的电子设备,可以适用于操作系统不同的电子设备。
在一些实施例中,上述第一电子设备和第二电子设备均可以是手机、平板电脑、桌面型、膝上型、笔记本电脑、超级移动个人计算机(Ultra-mobile Personal Computer,UMPC)、手持计算机、上网本、个人数字助理(Personal Digital Assistant,PDA)、可穿戴电子设备、智能手表等设备。其中,第一电子设备和第二电子设备可以是相同类型的电子设备,例如第一电子设备和第二电子设备均为手机;第一电子设备和第二电子设备也可以是不同类型的电子设备,例如,第一电子设备为手机,第二电子设备为笔记本电脑。本申请不具体限定第一电子设备和第二电子设备的类型,为了便于理解,以第一电子设备和第二电子设备均为手机为例进行介绍。本申请对上述第一电子设备和第二电子设备的具体形式不做特殊限制。在本实施例中,第一电子设备的结构可以如图2所示,图2为本申请实施例提供的一种第一电子设备的结构示意图。
如图2所示,第一电子设备可以包括处理器110,外部存储器接口120,内部存储器121,天线1,天线2,移动通信模块150,无线通信模块160,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。可以理解的是,本实施例示意的结构并不构成对第一电子设备的具体限定。在另一些实施例中,第一电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。例如,在本申请中,处理器可以确定待同步的数据;利用主密钥对所述待同步的数据进行加密;向服务器发送第一公钥以及加密后的数据,以及接收所述服务器推送的提示消息,所述提示消息携带有所述第二电子设备的第二公钥,所述第一公钥和第一私钥为所述第一电子设备的密钥对,所述第二公钥和第二私钥为所述第二电子设备的密钥对;根据所述第二公钥和所述第一私钥生成会话密钥;利用所述会话密钥对主密钥进行加密,向所述服务器发送加密后的主密钥,所述服务器用于向所述第二电子设备发送所述第一公钥、所述加密后的数据以及所述加密后的主密钥。
其中,控制器可以是第一电子设备的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
第一电子设备的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。第一电子设备中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在第一电子设备上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在第一电子设备上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,第一电子设备的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得第一电子设备可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
第一电子设备通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oled,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,第一电子设备可以包括1个或N个显示屏194,N为大于1的正整数。
第一电子设备的显示屏194上可以显示一系列图形用户界面(graphical userinterface,GUI),这些GUI都是该第一电子设备的主屏幕。一般来说,第一电子设备的显示屏194的尺寸是固定的,只能在该第一电子设备的显示屏194中显示有限的控件。控件是一种GUI元素,它是一种软件组件,包含在应用程序中,控制着该应用程序处理的所有数据以及关于这些数据的交互操作,用户可以通过直接操作(direct manipulation)来与控件交互,从而对应用程序的有关信息进行读取或者编辑。一般而言,控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素。。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展第一电子设备的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行第一电子设备的各种功能应用以及数据处理。例如,在本实施例中,处理器110可以通过执行存储在内部存储器121中的指令,进行确定待同步的数据;利用主密钥对所述待同步的数据进行加密;向服务器发送第一公钥以及加密后的数据,以及接收所述服务器推送的提示消息,所述提示消息携带有所述第二电子设备的第二公钥,所述第一公钥和第一私钥为所述第一电子设备的密钥对,所述第二公钥和第二私钥为所述第二电子设备的密钥对;根据所述第二公钥和所述第一私钥生成会话密钥;利用所述会话密钥对主密钥进行加密,向所述服务器发送加密后的主密钥,所述服务器用于向所述第二电子设备发送所述第一公钥、所述加密后的数据以及所述加密后的主密钥。
其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储第一电子设备使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universalflash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行第一电子设备的各种功能应用以及数据处理。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和第一电子设备的接触和分离。第一电子设备可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。第一电子设备通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,第一电子设备采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在第一电子设备中,不能和第一电子设备分离。
需要说明的是,第二电子设备的结构与第一电子的结构类似,具体可以参见上述图2的介绍,此处不再赘述。
另外,在上述部件之上,运行有操作系统。例如苹果公司所开发的iOS操作系统,谷歌公司所开发的Android开源操作系统,微软公司所开发的Windows操作系统等。在该操作系统上可以安装运行应用程序。
本申请实施例提供的数据同步方案,可以适应于相同操作系统之间的电子设备,例如,第一电子设备和第二电子设备的操作系统均为iOS;也可以适应于不同操作系统之间的电子设备,例如第一电子设备的操作系统为iOS,第二电子设备的操作系统为Android。
为了便于理解,下面先对本申请实施例的应用场景进行介绍。如图3所示,该图为本申请实施例提供的一种应用场景的示意图。
其中,旧设备301的操作系统可以是iOS,旧设备301可以是上述第一电子设备;新设备303的操作系统可以是Android,新设备303可以是上述第二电子设备。在用户需要更换设备的情况下,用户需要将旧设备301中的数据,同步到新设备303。此时,可以采用本申请实施例提供的技术方案,将旧设备301中的数据同步给新设备303。
具体地,旧设备301可以预先生成主密钥、第一公钥和第一私钥,然后利用主密钥将需要同步的数据进行加密,并将加密后的数据以及第一公钥发送给服务器12。新设备303也可以预先生成第二公钥、第二私钥,然后向服务器12发送请求同步的消息,该请求同步的消息携带有第二公钥。服务器12接收到该请求同步的消息后,可以向旧设备301推送提示消息,该提示消息可以携带新设备303的公钥,即第二公钥,在旧设备301上同意数据同步后,旧设备301可以利用第一私钥和第二公钥生成会话密钥,然后利用会话密钥对主密钥进行加密,并发送给服务器12。新设备303可以从服务器12获取第一公钥、加密后的数据以及加密后的主密钥。接着,新设备303基于第一公钥和第二私钥生成上述会话密钥,然后利用该会话密钥对加密后的主密钥进行解密,得到主密钥,再利用主密钥对加密后的数据进行解密,得到需要同步的数据,从而将需要同步的数据,安全地由旧设备301同步到新设备303。
为了便于理解,下面以第一电子设备、第二电子设备和服务器的角度,对本申请实施例提供的数据同步方法进行介绍。如图4所示,该图为本申请实施例提供的一种数据同步方法的流程图,该方法包括:
S401、第一电子设备启动数据同步功能。
数据同步功能可以是第一电子设备上所安装的应用程序所支持的功能,其中,应用程序可以包括通讯型应用程序、娱乐型应用程序、运动型应用程序等。为了便于理解,以第一电子设备上所安装的应用程序为运动健康(一种记录运动状况的应用程序)为例,进行介绍。
如图5所示,该图为本申请实施例提供的一种设置界面的示意图。该设置界面包括数据同步开关控件501。用户可以点击该数据同步开关控件501,以在数据同步功能的开启状态和关闭状态之间进行切换,图5所示的为数据同步功能处于关闭状态的示意图,在用户点击该数据同步开关控件501后,第一电子设备可以响应于用户对该数据同步开关控件501的点击操作,启动数据同步功能,即,将数据同步功能处于关闭状态切换为开启状态。
需要说明的是,用户在对该应用程序设置之前,需要先登录该应用程序,即,完成身份认证,在身份认证通过的情况下,用户才可以对应用程序进行设置,然后,再利用该应用程序的数据同步功能。
S402、第一电子设备生成主密钥、第一公钥和第一私钥。
第一电子设备的应用程序启动数据同步功能后,第一电子设备可以生成主密钥、第一公钥和第一私钥。其中,第一电子设备可以将主密钥存储在可信环境中,例如,第一电子设备可以将主密钥存储在安全元件(Secure Element,SE)中,其中,SE是一种防篡改平台(通常是单芯片安全微控制器),能够根据一字安全性规则提出的规则和安全要求,安全地托管应用程序及其机密和加密数据(例如,密钥管理)。在一些示例中,第一电子设备可以将上述主密钥存储在硬件层的安全芯片中。
第一公钥用于标识第一电子设备,可以对外发布,例如可以发给服务器。第一私钥不对外发布。第一公钥和第一私钥后续介绍。
S403、第一电子设备利用主密钥对待同步的数据进行加密。
待同步的数据可以是该应用程序的数据。在一些示例中,该应用程序为运动健康,进而可以包括多种数据,如心跳数据、跑步数据、走路数据等。由此,用户可以选择对哪些数据进行同步,哪些数据不进行同步。例如,用户选择对跑步数据进行同步,此时,第一电子设备利用主密钥,对跑步数据进行加密;再例如,用户也可以选择对心跳数据、跑步数据和走路数据进行同步,此时,第一电子设备利用主密钥,对心跳数据、跑步数据和走路数据进行加密。
S404、第一电子设备将第一公钥以及加密后的数据发送给服务器。
第一电子设备在对上述待同步的数据进行加密后,第一电子设备可以将该加密后的数据发送给服务器,同时可以将第一公钥也一并发送给服务器,进而,服务器得知该加密后的数据为第一公钥对应的第一电子设备所上传的。
S405、第二电子设备生成第二公钥和第二私钥。
第二电子设备可以是新设备,用户想将第一电子设备中运动健康这一应用程序的数据同步到该新设备,类似的,第二电子设备也需要启动数据同步功能。具体过程与第一电子设备启动数据同步过程相类似,此处不再赘述。另外,用户在通过第二电子设备来设置应用程序的数据同步功能之前,也需要先登录该应用程序,即,完成身份认证,在身份认证通过的情况下,用户才可以对应用程序进行设置,然后,再利用该应用程序的数据同步功能。
在第二电子设备启动数据同步功能后,第二电子设备也可以生成第二公钥和第二私钥。
S406、第二电子设备向服务器发送请求同步的消息。
该请求同步的消息中携带有第二公钥。第二电子设备生成第二公钥和第二私钥后,可以向服务器发送请求同步的消息,并将第二公钥携带在该消息中。
S407、服务器根据该请求同步的消息,向已开启数据同步功能的第一电子设备推送提示消息。
该提示消息中携带有第二公钥。服务器接收到请求同步的消息后,可以向已开启数据同步功能的第一电子设备推送提示消息,并将第二公钥携带在该提示消息中。如此,接收到提示消息的第一电子设备能够得知第二电子设备需要进行数据同步,即,第一电子设备中应用程序的数据将要传输给第二电子设备。
在另一些示例中,第三电子设备也可以是已开启数据同步功能的电子设备,并且也以及完成了身份认证。此时,服务器也可以向第三电子设备推送上述提示消息。如果第三电子设备没有开启数据同步功能,则服务器不会向该第三电子设备推送该提示消息。
S408、第一电子设备呈现提示消息。
该提示消息用于提示第一电子设备的用户,是否同意将第一电子设备中应用程序的数据同步给第二电子设备。如图6A所示,该图为本申请实施例提供的一种提示界面的示意图。该提示界面包括提示消息601、允许控件602、不允许控件603。其中,提示消息601可以是“有新设备加入,是否允许数据同步”,在另一些示例中,提示消息601还可以是“新设备(xx设备)加入,是否允许数据同步”,在该提示消息601中还包括新设备的标识,例如可以是第二公钥等。
S409、第一电子设备响应于对数据同步的同意操作,生成随机码。
同意操作是指针对提示消息触发同意进行数据同步的操作。在一些示例中,用户可以通过点击允许控件602,触发同意操作。在另一些示例中,用户也可以通过点击不允许控件603。第一电子设备可以响应于对数据同步的用意操作,即,用户点击上述允许控件602之后,第一电子设备可以生成随机码。如图6B所示,该图为本申请实施例提供的一种随机码的示意图。例如,随机码604可以是6位、也可以是4位或8位。本申请实施例不具体限定随机码的位数,在一些示例中,随机码可以是“632431”。
S410、第一电子设备根据第一私钥和第二公钥生成会话密钥。
第一电子设备还可以根据第一私钥和第二公钥生成会话密钥。在一些示例中,第一私钥可以是“Xa”,第一公钥可以是“gXa”;第二私钥可以是“Xb”,第二公钥可以是“gXb”。在一些示例中,第一电子设备可以通过如下公式,生成会话密钥:
sessionkey=(gX a)Xb
其中,sessionkey为会话密钥,即,会话密钥为(gX a)Xb,gX a为第一公钥,Xb为第二私钥。
需要说明的是,本申请不具体限定第一公钥、第一私钥、第二公钥、第二私钥的具体形式,第一电子设备基于第一私钥和第二公钥通过预设的方式进行处理后,能够得到会话密钥,并且第二电子设备基于第二私钥和第一公钥通过同样的预设的方式进行处理后,能够得到同样的会话密钥即可。上述第一私钥和第二私钥为指数的形式仅仅是示例性介绍,本领域技术人员,可以基于实际需要,设定第一公钥、第一私钥、第二公钥和第二私钥的形式,并且相应的设计预设的方式,以生成会话密钥。在一些示例中,可以采用迪菲-赫尔曼(DH,Diffie-Hellman)算法,生成上述会话密钥,也可以采用椭圆曲线迪菲-赫尔曼(ECDH,Elliptic Curve Diffie–Hellman)算法,生成上述会话密钥。
需要说明的是,本申请不具体限定第一电子设备生成随机码和生成会话密钥的顺序,在一些示例中,第一电子设备也可以先生成会话密钥,在生成随机码,也可以同时生成随机码和会话密钥。
S411、第一电子设备利用会话密钥对主密钥进行加密。
第一电子设备生成上述会话密钥后,可以上述会话密钥,对主密钥进行加密。本申请实施例不具体限定加密方式,本领域技术人员可以基于实际需要,选择合适的方式,利用会话密钥,对主密钥进行加密。
S412、第一电子设备向服务器发送随机码和加密后的主密钥。
第一电子设备完成对主密钥的加密后,可以将第一电子设备生成的随机码以及该加密后的主密钥发送给服务器。
S413、服务器向第二电子设备推送校验消息。
服务器接收到上述随机码以及加密后的主密钥后,可以利用该随机码对第一电子设备所上传的加密后的数据以及上述加密后的主密钥进行标记,以便于服务器将该加密后的主密钥发送给第二电子设备。
接着,服务器可以向第二电子设备推送校验消息,该校验消息,用于提示第二电子设备的用户输入校验码。
S414、第二电子设备根据校验消息,呈现校验界面。
第二电子设备接收到校验消息后,可以根据该校验消息,呈现校验界面。如图7所示,该图为本申请实施例提供的一种校验界面的示意图,该校验界面包括验证码输入框701,第二电子设备的用户可以在该验证码输入框701输入校验码。
在一些示例中,第一电子设备的用户在得知该第一电子设备生成的随机码后,可以告知第二电子设备的用户,第二电子设备的用户可以基于第一电子设备的用户所告知的随机码,来输入校验码。如上例中,第一电子设备生成的随机码为“632431”,第二电子设备的用户也可以输入该“632431”,即将该“632431”作为校验码输入到验证码输入框701。
S415、第二电子设备接收在校验界面输入的校验码。
如上述,第二电子设备的校验界面包括验证码输入框701,在第二电子设备的用户在该验证码输入框701完成输入后,第二电子设备即可获取第二电子设备的用户所输入的校验码。
S416、第二电子设备将校验码发送给服务器。
第二电子设备获取到第二电子设备的用户所输入的校验码后,可以将该校验码发送给服务器。
S417、服务器判断校验码和随机码是否一致,若不一致,则执行S418;若一致,则执行S419。
服务器接收到校验码后,可以判断该校验码是否与第一电子设备所上传的随机码是否一致,如果一致,则表征验证通过,执行S419;如果不一致,则表征验证不通过,执行S418。
在一些示例中,服务器可以在接收到校验码后,将该校验码与服务器所接收到的随机码进行比对,若存在与该校验码一致的随机码,则将与该校验码一致的随机码所对应加密后的主密钥、加密后的数据发送给该第二电子设备,如果为查找到与该校验码一致的随机码,则向第二电子设备反馈校验不通过的消息。
S418、服务器向第二电子设备反馈校验不通过的消息。
在一些示例中,第二电子设备接收到服务器反馈的校验不通过的消息后,可以向用户提示校验不通过。如图8所示,该图为本申请实施例提供的又一种校验界面的示意图。该校验界面包括校验不通过信息801以及重新输入控件802。该校验不通过信息801用于提示用户所输入的校验码有误,并可以提示用户重新输入,在一些示例中,该校验不通过信息801可以是“您所输入的校验码有误,请重新输入”。用户可以点击该重新输入控件802,重新输入校验码。在用户完成重新输入校验码后,跳转到S415。
需要说明的是,上述仅仅是校验不通过后校验界面的示意图,本领域技术人员可以技术实际需要进行相应的设计。
S419、服务器向第二电子设备返回第一公钥、加密后的主密钥以及待同步的数据。
服务器校验通过后,可以向第二电子设备返回第一公钥、加密后的主密钥以及待同步的数据。
S420、第二电子设备根据第一公钥和第二私钥生成会话密钥。
在一些示例中,第二电子设备可以采用与第一电子设备生成会话密钥的方式,来基于第一公钥和第二私钥来生成会话密钥。例如,第二电子设备可以通过如下公式,生成会话密钥:
sessionkey=(gXb)Xa
其中,sessionkey为会话密钥,即,会话密钥为(gXb)Xa,gXb为第二公钥,Xa为第一私钥。由第一电子设备生成的会话密钥(gX a)Xb和第二电子设备生成的会话密钥(gXb)Xa可知,(gXb)Xa=(gX a)Xb=gX Xb,即第一电子设备基于第一私钥和第二公钥生成的会话密钥,与第二电子设备基于第一公钥和第二私钥生成的会话密钥一致。
S421、第二电子设备利用会话密钥对加密后的主密钥进行解密,得到主密钥。
第二电子设备基于第一公钥和第二私钥得到上述会话密钥后,可以利用该会话密钥对加密后的主密钥进行解密,进而得到主密钥。
S422、第二电子设备利用主密钥对加密后的待同步数据进行解密,得到待同步的数据。
第二电子设备得到主密钥后,即可利用该主密钥对加密后的待同步数据进行解密,进而得到待同步的数据,从而实现数据同步,即第一电子设备安全地将数据同步给第二电子设备。
S423、第二电子设备将主密钥存储在可信环境中。
第二电子可以将该主密钥存储在可信环境中,以便后续与第一电子设备再次进行数据传输。
基于上述内容描述,本申请实施例提供了一种数据同步方法,当需要进行数据同步时,第一电子设备利用主密钥对待同步的数据进行加密,然后将第一公钥以及加密后的数据发送给服务器,此时,第二电子设备可以向服务器发送请求同步的消息,该请求同步的消息中携带有第二公钥,服务器可以向已开启数据同步功能的第一电子设备推送提示消息,该提示消息携带有上述第二公钥,第一电子设备确认同意将待同步的数据同步给第二电子设备后,第一电子利用第一私钥和第二公钥,生成会话密钥(sessionkey),然后利用该会话密钥对主密钥进行加密,并将加密后的主密钥发送给服务器。第二电子设备可以从服务器获取第一公钥、加密后的数据以及主密钥。类似的,第二电子设备可以利用第二私钥和第一公钥,同样生成上述会话密钥,然后利用会话密钥对加密后的主密钥进行解密,得到主密钥,再利用主密钥对加密后的数据进行解密,得到待同步的数据,以实现将数据从第一电子设备同步到第二电子设备。
可见,该方法与传统的数据同步方法不同,即使第一电子设备和第二电子设备的操作系统不同,第一电子设备也可以通过端到端的方式,将数据安全地同步到第二电子设备,从而提高了数据同步的适应性,该方案的适应性更加宽泛,不仅能够适用于操作系统相同的电子设备,可以适用于操作系统不同的电子设备。
需要说明的是,以上图4所示的实施例中,是以两个电子设备之间进行数据同步为例来介绍的,本申请实施例提供的数据同步方案不仅仅局限于2个电子设备,还可以应用在更多个电子设备之间进行数据同步的场景,例如3个电子设备或4个电子设备之间。
为了便于理解,下面以将3个电子设备分别为第一电子设备、第二电子设备和第三电子设备为例,进行介绍。例如,将第一电子设备中的第一数据(例如心跳数据),同步给第二电子设备,将第一电子设备中的第二数据(例如跑步数据),同步给第三电子设备。当然,第一电子设备也可以将不同应用的数据分别同步给第二电子设备和第三电子设备,此时第一数据可以是运动健康应用程序的数据,第二数据可以是图库(另一种应用程序)的数据。
如图9和图10所示,图9和图10为本申请实施例提供的一种3个电子设备之间进行数据同步方法的流程图,该方法包括:
S901、第一电子设备启动数据同步功能。
S902、第一电子设备生成主密钥、第一公钥和第一私钥。
S903、第一电子设备利用主密钥分别对第一数据和第二数据进行加密。
S904、第一电子设备将第一公钥、加密后的第一数据以及加密后的第二数据发送给服务器。
S905、第二电子设备生成第二公钥和第二私钥。
S906、第三电子设备生成第三公钥和第三私钥。
S907、第二电子设备向服务器发送请求同步第一数据的消息。
S908、服务器根据请求同步第一数据的消息,向已开启数据同步功能的第一电子设备推送第一提示消息。
S909、第一电子设备呈现第一提示消息。
S910、第一电子设备响应于对第一数据进行同步的同意操作,生成第一随机码。
S911、第一电子设备根据第一私钥和第二公钥生成第一会话密钥。
S912、第一电子设备利用第一会话密钥对主密钥进行加密。
S913、第一电子设备向服务器发送第一随机码和加密后的主密钥。
S914、服务器向第二电子设备推送第一校验消息。
S915、第二电子设备根据第一校验消息,呈现第一校验界面。
S916、第二电子设备接收在第一校验界面输入的第一校验码。
S917、第二电子设备将第一校验码发送给服务器。
S918、服务器判断第一校验码和第一随机码是否一致,若不一致,则执行S919;若一致,则执行S920。
S919、服务器向第二电子设备反馈校验不通过的消息。
S920、服务器向第二电子设备返回第一公钥、加密后的主密钥以及第一数据。
S921、第二电子设备根据第一公钥和第二私钥生成第一会话密钥。
S922、第二电子设备利用第一会话密钥对加密后的主密钥进行解密,得到主密钥。
S923、第二电子设备利用主密钥对加密后的第一数据进行解密,得到第一数据。
S924、第二电子设备将主密钥存储在可信环境中。
S925、第三电子设备向服务器发送请求同步第二数据的消息。
S926、服务器根据请求同步第二数据的消息,向已开启数据同步功能的第一电子设备推送第二提示消息。
S927、第一电子设备呈现第二提示消息。
S928、第一电子设备响应于对第二数据进行同步的同意操作,生成第二随机码。
S929、第一电子设备根据第一私钥和第三公钥生成第二会话密钥。
S930、第一电子设备利用第二会话密钥对主密钥进行加密。
S931、第一电子设备向服务器发送第二随机码和加密后的主密钥。
S932、服务器向第三电子设备推送第二校验消息。
S933、第三电子设备根据第二校验消息,呈现第二校验界面。
S934、第三电子设备接收在第二校验界面输入的第二校验码。
S935、第三电子设备将第二校验码发送给服务器。
S936、服务器判断第二校验码和第二随机码是否一致,若不一致,则执行S937;若一致,则执行S938。
S937、服务器向第三电子设备反馈校验不通过的消息。
S938、服务器向第三电子设备返回第一公钥、加密后的主密钥以及第二数据。
S939、第三电子设备根据第一公钥和第三私钥生成第二会话密钥。
S940、第三电子设备利用第二会话密钥对加密后的主密钥进行解密,得到主密钥。
S941、第三电子设备利用主密钥对加密后的第二数据进行解密,得到第二数据。
S942、第三电子设备将主密钥存储在可信环境中。
需要说明的是,图9和图10中并未对具体实现方式进行详细介绍,相同或相似之处和参见上述实施例。
需要说明的是,图9和图10中所示的步骤顺序仅仅是示例,例如,也可以先执行S926-S942,后执行S907-S925。
本实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中包括指令,当上述指令在计算设备上运行时,使得该计算设备执行图4、图9或图10中的相关方法步骤,以实现上述实施例中的方法。计算设备可以是第一电子设备、第二电子设备、第三电子设备、服务器等。
本实施例还提供了一种包含指令的计算机程序产品,当该计算机程序产品在电子设备上运行时,使得该电子设备执行如图4、图9或图10中的相关方法步骤,以实现上述实施例中的方法。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (16)

1.一种数据同步方法,其特征在于,应用于第一电子设备,所述第一电子设备和第二电子设备进行数据同步,所述第一电子设备和所述第二电子设备的操作系统不同,所述方法包括:
确定待同步的数据;
利用主密钥对所述待同步的数据进行加密;
向服务器发送第一公钥以及加密后的数据,以及接收所述服务器推送的提示消息,所述提示消息携带有所述第二电子设备的第二公钥,所述第一公钥和第一私钥为所述第一电子设备的密钥对,所述第二公钥和第二私钥为所述第二电子设备的密钥对;
根据所述第二公钥和所述第一私钥生成会话密钥;
利用所述会话密钥对主密钥进行加密,向所述服务器发送加密后的主密钥,所述服务器用于向所述第二电子设备发送所述第一公钥、所述加密后的数据以及所述加密后的主密钥。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
呈现提示界面,所述提示界面包括允许控件;
响应于通过所述允许控件触发的对数据同步的同意操作,生成随机码;
向服务器发送所述随机码,以便所述服务器利用所述随机码对所述加密后的主密钥和/或所述加密后的数据进行标记。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
呈现所述随机码。
4.一种数据同步方法,其特征在于,应用于第二电子设备,第一电子设备和所述第二电子设备进行数据同步,所述第一电子设备和所述第二电子设备的操作系统不同,所述方法包括:
向服务器发送请求同步的消息,所述请求同步的消息中携带有第二公钥,所述第二公钥和第二私钥为所述第二电子设备的密钥对;
接收所述服务器返回的所述第一电子设备的第一公钥、加密后的主密钥以及加密后的数据,所述第一公钥和第一私钥为所述第一电子设备的密钥对;
根据所述第一公钥和所述第二私钥生成会话密钥;
利用所述会话密钥对所述加密后的主密钥进行解密,得到主密钥,利用所述主密钥对加密后的数据进行解密,得到待同步的数据。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
呈现校验界面,所述校验界面包括校验码输入框;
获取通过所述校验码输入框输入的校验码;
向所述服务器发送所述校验码,以便所述服务器根据所述校验码与随机码进行匹配。
6.根据权利要求5所述的方法,其特征在于,所述接收所述服务器返回的第一电子设备的第一公钥、加密后的主密钥以及加密后的数据,包括:
接收所述服务器对所述校验码进行校验通过时,所述服务器返回的第一电子设备的第一公钥、加密后的主密钥以及加密后的数据。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
接收所述服务器对所述校验码进行校验不通过时,所述服务器返回的校验不通过的消息;
呈现所述校验不通过的消息。
8.一种数据同步方法,其特征在于,应用于服务器,所述方法包括:
接收第二电子设备发送的请求同步的消息,所述请求同步的消息中携带有所述第二电子设备的第二公钥,所述第二公钥和第二私钥为所述第二电子设备的密钥对;
向所述第一电子设备推送提示消息,所述提示消息包括所述第二公钥;
接收所述第一电子设备发送的利用会话密钥进行加密后的主密钥,所述会话密钥为所述第一电子设备基于第一私钥和所述第二公钥得到,所述第一公钥和所述第一私钥为所述第一电子设备的密钥对;
向所述第二电子设备发送第一公钥、加密后的数据以及所述加密后的主密钥,以便所述第一电子设备和所述第二电子设备进行数据同步,所述第一电子设备和所述第二电子设备的操作系统不同。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
接收所述第一电子设备发送的随机码;
利用所述随机码对所述第一电子设备发送的加密后的数据和/或所述加密后的主密钥进行标记。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
接收所述第二电子设备发送的校验码;
利用所述校验码与随机码进行匹配,得到匹配结果;
向所述第二电子设备发送第一公钥、加密后的数据以及所述加密后的主密钥,包括:
若所述匹配结果表征存在与所述校验码对应的随机码,则向所述第二电子设备发送所述随机码对应的第一公钥、加密后的数据以及所述加密后的主密钥。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
若所述匹配结果表征不存在与所述校验码对应的随机码,则向所述第二电子设备发送校验不通过的消息。
12.一种同步系统,其特征在于,包括服务器和多个电子设备,所述多个电子设备包括第一电子设备和第二电子设备,所述第一电子设备和所述第二电子设备的操作系统不同,所述第一电子设备和所述第二电子设备进行数据同步;
所述第一电子设备,用于获取第二公钥,根据第一私钥和所述第二公钥生成会话密钥,利用所述会话密钥对主密钥进行加密,并向服务器发送所述第一公钥和加密后的主密钥;
所述服务器,用于向所述第二电子设备发送第一公钥、加密后的主密钥以及利用主密钥加密后的数据,所述加密后的数据为第一电子设备所上传的数据;
所述第二电子设备,用于根据第一公钥和第二私钥生成所述会话密钥,利用所述会话密钥对加密后的主密钥进行解密,得到所述主密钥,利用所述主密钥对加密后的数据进行解密,得到待同步的数据。
13.一种第一电子设备,其特征在于,包括:处理器和存储器;
其中,在所述存储器中存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令;当所述指令被所述处理器执行时,使得所述第一电子设备执如权利要求1-3中任一项所述的方法。
14.一种第二电子设备,其特征在于,包括:处理器和存储器;
其中,在所述存储器中存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令;当所述指令被所述处理器执行时,使得所述第二电子设备执如权利要求4-7中任一项所述的方法。
15.一种服务器,其特征在于,包括:处理器和存储器;
其中,在所述存储器中存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令;当所述指令被所述处理器执行时,使得所述服务器执如权利要求8-11中任一项所述的方法。
16.一种计算机存储介质,其特征在于,包括计算机指令,当所述计算机指令在计算设备上运行时,所述计算设备执行如权利要求1-11中任一项所述的方法。
CN202310311230.9A 2023-03-14 2023-03-14 一种数据同步方法及相关装置 Pending CN117118988A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310311230.9A CN117118988A (zh) 2023-03-14 2023-03-14 一种数据同步方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310311230.9A CN117118988A (zh) 2023-03-14 2023-03-14 一种数据同步方法及相关装置

Publications (1)

Publication Number Publication Date
CN117118988A true CN117118988A (zh) 2023-11-24

Family

ID=88793328

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310311230.9A Pending CN117118988A (zh) 2023-03-14 2023-03-14 一种数据同步方法及相关装置

Country Status (1)

Country Link
CN (1) CN117118988A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170061759A (ko) * 2015-11-26 2017-06-07 고려대학교 산학협력단 안전한 메신저 서비스를 제공하는 단말 및 방법
CN111585749A (zh) * 2016-10-26 2020-08-25 阿里巴巴集团控股有限公司 数据传输方法、装置、系统及设备
CN112187832A (zh) * 2020-11-03 2021-01-05 北京指掌易科技有限公司 数据传输方法和电子设备
CN112564887A (zh) * 2020-11-30 2021-03-26 北京百度网讯科技有限公司 密钥保护处理方法、装置、设备和存储介质
CN114253924A (zh) * 2021-12-21 2022-03-29 上海英方软件股份有限公司 一种同步方法、设备和存储介质
CN114697955A (zh) * 2020-12-30 2022-07-01 华为技术有限公司 一种加密通话方法、装置、终端及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170061759A (ko) * 2015-11-26 2017-06-07 고려대학교 산학협력단 안전한 메신저 서비스를 제공하는 단말 및 방법
CN111585749A (zh) * 2016-10-26 2020-08-25 阿里巴巴集团控股有限公司 数据传输方法、装置、系统及设备
CN112187832A (zh) * 2020-11-03 2021-01-05 北京指掌易科技有限公司 数据传输方法和电子设备
CN112564887A (zh) * 2020-11-30 2021-03-26 北京百度网讯科技有限公司 密钥保护处理方法、装置、设备和存储介质
CN114697955A (zh) * 2020-12-30 2022-07-01 华为技术有限公司 一种加密通话方法、装置、终端及存储介质
CN114253924A (zh) * 2021-12-21 2022-03-29 上海英方软件股份有限公司 一种同步方法、设备和存储介质

Similar Documents

Publication Publication Date Title
US10361857B2 (en) Electronic stamp system for security intensification, control method thereof, and non-transitory computer readable storage medium having computer program recorded thereon
KR101508320B1 (ko) Nfc 카드를 이용한 otp 발급 장치, otp 생성 장치, 및 이를 이용한 방법
CN113259301B (zh) 一种账号数据共享方法及电子设备
CN108702607B (zh) 一种多设备无线连接方法和设备
US20160275300A1 (en) Contents security method and electronic apparatus for providing contents security function
KR20150022276A (ko) 이미지 파일에서 암호화된 메시지를 추출하는 전자 장치 및 방법
US10601817B2 (en) Method and apparatus for providing securities to electronic devices
KR20120103929A (ko) 휴대 단말기의 근거리 통신 장치 및 방법
WO2020124579A1 (zh) 一种验证用户身份的方法及电子设备
CN114172544B (zh) 一种复制智能卡的方法、电子设备及存储介质
CN108696361B (zh) 智能卡的配置方法、生成方法及装置
CN111935166A (zh) 通信认证方法、系统、电子设备、服务器及存储介质
CN110462620A (zh) 分解敏感数据存储在不同应用环境中
KR20150128081A (ko) 키 관리 방법 및 그 방법을 이용하는 전자 장치
CN109246110A (zh) 数据共享方法及装置
CN113905258B (zh) 视频播放方法、网络设备以及存储介质
CN106355077B (zh) 认证应用处理器的显示驱动器集成电路和移动装置
KR20140017035A (ko) 오디오 보안 저장 시스템과 이를 이용한 인증서 관리 방법
CN112771815B (zh) 密钥处理方法和装置
CN113468606A (zh) 一种应用程序的访问方法及电子设备
CN117118988A (zh) 一种数据同步方法及相关装置
CN108668267B (zh) 智能卡的生成方法及装置
CN113596811B (zh) 一种数据传输方法及终端设备
KR20150001681A (ko) 전자 장치의 보안 연결 방법 및 장치
JP7027333B2 (ja) 情報処理装置、および情報処理方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination