掌桥专利:专业的专利平台
掌桥专利
首页

一种数据分享的方法、电子设备及计算机集群

文献发布时间:2024-04-18 19:58:21


一种数据分享的方法、电子设备及计算机集群

技术领域

本申请涉及信息安全技术领域,尤其涉及一种数据分享的方法、电子设备及计算机集群。

背景技术

随着云服务的发展,目前,越来越多的用户通过云盘进行数据的分享。

目前,在通过云盘进行加密分享时,首先需要分享发起者进对待分享数据进行加密,生成或者设置密钥,然后创建访问待分享数据的访问链接,并将访问链接和密钥发送至被分享者。被分享通过该链接和密钥实现对待分享数据的获取与解密。

以上的数据分享方式需要预先设置密钥且告知被分享者,并由被分享者进行解密。但是,当被分享者的数量较多时,单独依次通知会导致整个流程较长,并且过程中存在密钥泄露的风险,当密钥泄露时,所有知道密钥的三方用户都能解密数据,因此安全性差。

发明内容

为了解决上述问题,本申请提供了一种数据分享的方法、电子设备及计算机集群,简化了用户进行数据分享的流程,并且提升了数据分享的安全性。

第一方面,本申请提供了一种数据分享的方法,应用于第一设备,第一设备的用户为分享者,方法包括:确定能够被云平台提供云服务的被分享者;根据被分享者的标识信息生成加密公钥,并利用加密公钥对待分享数据进行加密;将加密后的待分享数据发送至云平台。应用于第二设备,第一设备的用户为被分享者,方法包括:从云平台获取加密后的待分享数据,加密后的待分享数据由分享者的第一设备利用加密公钥加密,加密公钥由第一设备根据被分享者的标识信息生成;利用本地存储的第二私钥对加密后的待分享数据进行解密,以获取待分享数据,第二私钥由云平台利用被分享者的身份认证信息生成并发送至第二设备。

利用该方案,第一设备和第二设备均在平台上注册了数据分享服务后,本地存储有用于解密的私钥,使得的分享者向被分享者分享数据时,两者不需要进行密钥协商,数据分享者也不需要主动添加被分享者的联系方式并进行密钥以及下载链接的告知,仅需根据已知的被分享者的第二标识信息,例如被分享者的邮箱或者手机号码对待分享数据进行加密并上传至云平台。对于被分享者,在获取数据后,利用本地的第二私钥可以自动进行解密。整个过程中,不存在因为通知被分享者密钥而导致密钥泄露的风险,提升了数据分享的安全性。此外,当被分享者的数量较多时,也无需单独依次通知各个被分享者,简化了用户进行数据分享的流程。

在一种可能的实现方式中,第一设备运行云盘APP,云平台用于对云盘APP提供云服务,确定能够被云平台提供云服务的被分享者,具体包括:向云平台发起对联系人的注册查询,注册查询用于确定注册云盘APP的联系人;接收云平台发送的查询结果,查询结果中指示注册云盘APP的联系人;从注册云盘APP的联系人中选择被分享者。

在一种可能的实现方式中,第一设备运行系统数据分享服务,云平台用于对系统数据分享服务提供云服务,确定能够被云平台提供云服务的被分享者,具体包括:向云平台发起对联系人的注册查询,注册查询用于确定注册系统数据分享服务的联系人;接收云平台发送的查询结果,查询结果中指示注册系统数据分享服务的联系人;从注册系统数据分享服务的联系人中选择被分享者。

在一种可能的实现方式中,向云平台发起对联系人的注册查询,具体包括:建立第一设备和云平台的安全模块SE芯片之间的安全传输通道;通过安全传输通道向SE芯片发送进行注册查询的联系人的哈希信息,哈希信息根据进行注册查询的联系人的标识信息生成,SE芯片用于根据哈希信息获取查询结果。

在一种可能的实现方式中,确定能够被云平台提供云服务的被分享者之前,方法还包括:向云平台发送携带有分享者的标识信息和分享者的账号信息的身份认证信息,以使云平台进行身份认证;接收并存储云平台发送的主公钥和第一私钥,第一私钥由云平台利用分享者的身份认证信息生成并发送至第一设备。

在一种可能的实现方式中,标识信息为电子邮箱或者手机号码。

在一种可能的实现方式中,将加密后的待分享数据发送至云平台,方法本还包括:通过社交平台或者时通信软件通知被分享者,社交平台或者时通信软件与云平台关联。

第二方面,本申请提供了一种数据分享的方法,应用于第二设备,第二设备的用户为被分享者,方法包括:从云平台获取加密后的待分享数据,加密后的待分享数据由分享者的第一设备利用加密公钥加密,加密公钥由第一设备根据被分享者的标识信息生成;利用本地存储的第二私钥对加密后的待分享数据进行解密,以获取待分享数据,第二私钥由云平台利用被分享者的身份认证信息生成并发送至第二设备。

在一种可能的实现方式中,从云平台获取加密后的待分享数据之前,方法还包括:当本地未存储有第二私钥时,注册云平台的数据分享服务,以获取云平台生成的第二私钥。

在一种可能的实现方式中,第二设备运行云盘APP,云平台用于对云盘APP提供云服务,注册云平台的数据分享服务,具体包括:通过云盘APP向云平台发送携带有被分享者的标识信息和被分享者的云盘APP账号信息的身份认证信息,以使云平台进行身份认证;接收并存储云平台发送的主公钥和第二私钥。

在一种可能的实现方式中,第二设备运行系统数据分享服务,云平台用于对系统数据分享服务提供云服务,注册云平台的数据分享服务,具体包括:通过系统数据分享服务向云平台发送携带有被分享者的标识信息和被分享者的设备账号信息的身份认证信息,以使云平台进行身份认证;接收并存储云平台发送的主公钥和第二私钥。

在一种可能的实现方式中,标识信息为电子邮箱或者手机号码。

第三方面,本申请提供了一种数据分享的方法,应用于云平台,云平台可以为计算机集群。云平台包括SE芯片,用于提供基于身份加密(identity-based encryption,IBE)服务以及联系人发现(contact discovery service)服务。方法包括:确定能够提供云服务的被分享者并告知第一设备,第一设备的用户为分享者;利用被分享者的身份认证信息生成第二私钥并发送至第二设备,第二设备的用户为被分享者;接收并存储第一设备发送的加密后的待分享数据,并提供给第二设备,加密后的待分享数据由分享者的第一设备利用加密公钥加密,加密公钥由第一设备根据被分享者的标识信息生成。

在一种可能的实现方式中,第一设备运行云盘APP,云平台用于对云盘APP提供云服务,确定能够提供云服务的被分享者并告知第一设备,具体包括:接受第一设备发起的对联系人的注册查询,注册查询用于确定注册云盘APP的联系人;对联系人进行注册查询并向第一设备发送查询结果,查询结果中指示注册云盘APP的联系人。

在一种可能的实现方式中,第一设备运行系统数据分享服务,云平台用于对系统数据分享服务提供云服务,确定能够提供云服务的被分享者并告知第一设备,具体包括:接受第一设备发起的对联系人的注册查询,注册查询用于确定注册系统数据分享服务的联系人;对联系人进行注册查询并向第一设备发送查询结果,查询结果中指示注册系统数据分享服务的联系人。

在一种可能的实现方式中,接受第一设备发起的对联系人的注册查询,具体包括:建立云平台的安全模块SE芯片与第一设备之间的安全传输通道;通过安全传输通道接收第一设备发送的进行注册查询的联系人的哈希信息,以使SE芯片根据哈希信息获取查询结果,哈希信息根据进行注册查询的联系人的标识信息生成。

在一种可能的实现方式中,确定能够提供云服务的被分享者并告知第一设备之前,方法还包括:接收第一设备发送的携带有分享者的标识信息和分享者的账号信息的身份认证信息;根据身份认证信息对分享者进行身份认证;当身份认证通过后,根据身份认证信息生成第一私钥;向第一设备发送第一私钥和主公钥,主公钥由云平台预先生成。

在一种可能的实现方式中,第二设备运行云盘APP,云平台用于对云盘APP提供云服务,利用被分享者的身份认证信息生成第二私钥并发送至第二设备,具体包括:接收云盘APP发送的携带有被分享者的标识信息和被分享者的云盘APP账号信息的身份认证信息;根据身份认证信息对被分享者进行身份认证;当身份认证通过后,根据身份认证信息生成第二私钥;向第二设备发送第二私钥和主公钥,主公钥由云平台预先生成。

在一种可能的实现方式中,第二设备运行系统数据分享服务,云平台用于对系统数据分享服务提供云服务,利用被分享者的身份认证信息生成第二私钥并发送至第二设备,具体包括:接收系统数据分享服务发送的携带有被分享者的标识信息和被分享者的设备账号信息的身份认证信息;根据身份认证信息对被分享者进行身份认证;当身份认证通过后,根据身份认证信息生成第二私钥;向第二设备发送第二私钥和主公钥,主公钥由云平台预先生成。

在一种可能的实现方式中,标识信息为电子邮箱或者手机号码。

第四方面,本申请还提供了一种电子设备,电子设备包括处理器、存储器和安全模块SE芯片。其中,存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令,以执行数据分享的方法。SE芯片,用于存储所述云平台发送的主公钥和电子设备对应的私钥。当电子设备进行数据的分享时,SE芯片提供IBE加密服务,用于根据所述被分享者的标识信息生成所述加密公钥,并利用所述加密公钥对待分享数据进行加密,此时电子设备为第一设备,电子设备对应的私钥对应于以上实现方式中的第一私钥。当电子设备需要对从云端获取的加密后的数据进行解密时,SE芯片提供IBE加密服务,用于利用所述电子设备对应的私钥,对从所述云平台获取的加密后的待分享数据进行解密,此时电子设备为第二设备,电子设备对应的私钥对应于以上实现方式中的第二私钥。

本申请实施例不具体限定电子设备的类型,例如可以为手机、平板电脑、笔记本电脑或者台式电脑等。

第五方面,本申请还提供了一种计算机集群,也即云平台。计算机集群包括至少一台计算机,计算机包括存储器、处理器和安全模块SE芯片。所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令,以执行数据分享的方法。SE芯片,用于确定能够被云平台提供云服务的被分享者,生成主私钥和主公钥,以及根据所述身份认证信息和所述主私钥,生成所述电子设备对应的私钥。

附图说明

图1为本申请提供的场景示意图一;

图2为本申请提供的场景示意图二;

图3为本申请实施例提供的分享者开启数据分享服务的方法流程图;

图4为本申请实施例提供的分享者进行数据分享的方法流程图;

图5为本申请实施例提供的被分享者开启数据分享服务的方法流程图;

图6为本申请实施例提供的被分享者接受数据分享的方法流程图;

图7为本申请实施例提供的数据加密分享的原理示意图;

图8为本申请实施例提供的系统开启数据分享服务的流程图;

图9为本申请实施例提供的另一种分享者进行数据分享的方法流程图;

图10为本申请实施例提供的另一种被分享者接受数据分享的方法流程图;

图11为本申请实施例提供的一种电子设备的示意图;

图12为本申请实施例提供的电子设备的软件架构的示意图;

图13为本申请实施例提供的一种云平台的硬件结构图。

具体实施方式

为了使本技术领域的人员更清楚地理解本申请的方案,下面首先说明本申请技术方案的应用场景。

参见图1,该图为本申请提供的场景示意图一。

目前,通过云盘进行加密分享时,分享发起者首先需要对待分享的数据进行加密生成或者设置密钥。例如,用户在文件分享界面选择进行加密分享,并将分享形式选择为加密,然后用户点击创建链接。

参见图2,该图为本申请提供的场景示意图二。

此时云盘会生成分享链接和密码,分享发起者将访问链接和密钥发送至被分享者。被分享通过该链接和密钥实现对待分享数据的获取与解密。

例如,分享发起者在文件分享界面点击复制链接及密码后,分享发起者可以复制云盘APP自动生成的包括链接及密码的信息,然后发送至对应的被分享者即可。

但是在实际的分享过程中,当被分享者的数量较多时,需要逐个通知被分享者,这会导致整个分享流程较长。例如,希望将数据分享给群聊中部分特定的联系人时,如果直接把链接及密码发送至群聊中,会导致密码泄露,群聊中的非被分享者也能获取数据,此时需要对这部分特定的联系人分别逐个进行通知,导致整个流程较长,并且在通知过程中还存在密钥泄露的风险。

综上所述,为了解决以上的问题,本申请提供了一种数据分享的方法、装置及电子设备。数据的分享者向被分享者分享数据时,两者不需要进行密钥协商,数据分享者也不需要主动添加被分享者的联系方式并进行密钥以及下载链接的告知,仅需根据已知的被分享者的第二标识信息对待分享数据进行加密并上传至云平台。对于被分享者,在获取数据后,可以自动进行解密。整个过程中,不存在因为通知被分享者密钥而导致密钥泄露的风险,提升了数据分享的安全性。此外,当被分享者的数量较多时,也无需单独依次通知各个被分享者,简化了用户进行数据分享的流程。

为了使本技术领域的人员更清楚地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。

本申请说明中的“第一”、“第二”等用词仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。

下面以电子设备为手机设备,通过云盘应用程序(application,APP)实现数据加密分享为例进行说明。其中,本申请实施例中的数据可以为图片数据、文档数据、视频数据、音频数据或者其它类型的数据,本申请实施例不作具体限定。以下说明中,分享者使用第一设备,被分享者使用第二设备。

参见图3,该图为本申请实施例提供的分享者开启数据分享服务的方法流程图。

该方法具体包括以下步骤:

S11:启动云盘APP。

分享者在第一设备上启动云盘APP,并触发数据分享服务。

S12:第一设备向云平台发送身份认证信息。

当用户触发数据分享服务后,云盘APP向云平台发送身份认证信息以请求开启数据分享服务。

云平台用于提供IDS服务、IBE加密服务以及密钥存储服务。

其中,统一身份认证(uniform identity authentication,IDS)服务为对数据分享服务发起者进行身份鉴别的服务,也即判断请求开启数据分享服务的用户是否为合法用户。

身份认证信息中携带有分享者的第一标识信息以及分享者的账号信息。

其中,第一标识信息可以为邮箱或手机号码等标识信息中的一项或者多项,用于对分享者进行标识。

第一设备的账号信息为第一设备注册的云盘APP的账号信息。

在一些实施例中,用户注册的云盘账号可以不为用户的邮箱或者手机号码,因此第一设备的云盘APP需要将携带有邮箱或者手机号码的第一标识信息发送至云平台进行身份认证。在另一种实施例中,用户注册的云盘账号为邮箱或者手机号码中的一项,例如为邮箱。此时第一设备的云盘APP可以将剩余的手机号码携带在第一标识信息中,或者将手机号码和邮箱均携带在第一标识信息中,发送至云平台进行统一身份认证。

为了方便理解,下面列举说明身份认证信息的各种可能的实现方式。

账号信息中不携带任何第一标识信息,第一标识信息中携带邮箱;

账号信息中不携带任何第一标识信息,第一标识信息中携带手机号码;

账号信息中不携带任何第一标识信息,第一标识信息中携带邮箱和手机号码;

账号信息中携带邮箱,第一标识信息中携带手机号码;

账号信息中携带邮箱,第一标识信息中携带邮箱;

账号信息中携带邮箱,第一标识信息中携带邮箱和手机号码;

账号信息中携带手机号码,第一标识信息中携带手机号码;

账号信息中携带手机号码,第一标识信息中携带邮箱;

账号信息中携带手机号码,第一标识信息中携带邮箱和手机号码。

可以理解的是,以上的第一标识信息仅为举例说明,实际应用中,第一标识信息还可以采用其它用于标识分享者的标识信息,在此不再赘述。

S13:IDS服务对第一设备进行身份认证。

云平台接收到第一设备发送的身份认证信息后,启用IDS服务进行身份认证。当IDS服务判断请求开启数据分享服务的用户为合法用户时,继续进行后续步骤,否则向用户返回身份认证未通过的通知。

S14:IDS服务向SE芯片发送身份认证信息。

当对第一设备的身份认证成功通过后,IDS服务向IBE加密服务发送身份认证信息。

云平台包括安全模块(Secure Element,SE)芯片,SE芯片用于实现数据安全存储、加解密运算等功能。

云平台的SE芯片用于实基于身份加密(identity-based encryption,IBE)服务以及联系人发现(contact discovery service)服务。

IBE指使用识别符,也即本申请中的手机号码、邮件地址等标识信息生成用于加密和解密的公共密钥。与传统的公共密钥加密方法相比较,这种加密方法为用户和管理员大大减小了加密过程的复杂性,并且接收方不需要事先准备专门软件来接收读取信息。

IBE服务利用密钥生成中心(key generation center,KGC)产生主私钥和主公钥。在一些实施例中,KGC通过随机数发生器产生主私钥,主公钥则由主私钥结合系统参数产生。需要注意的是,IBE加密服务生成主公钥和主私钥是在云平台服务上线时进行的,并不是由第一设备注册数据分享服务时才触发的,也即IBE加密服务生成主公钥和主私钥可以在第一设备注册数据分享服务之前就已经完成。

S15:IBE加密服务根据身份认证信息和主私钥生成第一私钥。

在一些实施例中,IBE加密服务根据主私钥、身份认证信息中第一标识信息生成第一私钥。

S16:IBE加密服务向第一设备发送主公钥和第一私钥,并向密钥存储服务发送主私钥。

在一些实施例中,当SE芯片完成主公钥和加密私钥的生成后,通过IDS服务向第一设备发送主私钥和第二私钥,并向云平台的密钥存储服务发送主私钥。

S17:密钥存储服务对主私钥进行加密保存。

云平台的密钥存储服务用于对IBE加密服务生成的主私钥进行加密保存,以提升安全性。

S18:第一设备的SE芯片存储主公钥和第一私钥。

第一设备上也包括有SE芯片,该SE芯片用于存储获取的主公钥和第一私钥。

第一设备上的SE芯片同样能够提供IBE加密服务,第一私钥是根据分享者的身份认证信息和主私钥生成的,当第一设备通过云盘APP获取其它电子设备分享的加密数据后,第一设备的云盘APP调起SE芯片的IBE加密服务,利用第一私钥对解密数据进行自动解密。

也即第一私钥的作用为对云盘APP获取的加密分享数据进行解密。

通过以上的步骤,在第一设备首次通过云盘APP触发数据分享服务时,完成了主公钥和加密私钥的生成,也即完成对于数据加密分享服务的注册。

下面说明第一设备在完成数据加密分享服务的注册后,进行数据加密分享的步骤。

参见图4,该图为本申请实施例提供的分享者进行数据分享的方法流程图。

S20:分享者在云盘APP发起对联系人的注册查询。

分享者在完成数据加密分享服务的注册后,当需要对特定的被分享者进行数据加密分享时,在云盘的APP拉起联系人列表,查询注册该云盘APP的联系人。

需要注意的是,这些联系人可以同样完成了以上的数据加密分享服务的注册,或者没有完成数据加密分享服务的注册,本申请实施例不作具体限定。也即业务注册查询的目的是为了查询持有云盘APP注册账号,能够被提供云服务的联系人,而不是为了查询完成了数据加密分享服务注册的联系人。

该联系人列表可以为邮箱的联系人列表,或者手机号码的联系人列表,或者为同时包括邮箱和手机号码的联系人列表,本申请实施例不作具体限定。

在一些实施例中,用户可以在APP拉起联系人列表时,主动选择对于全部或者选定的部分联系人进行业务注册查询。

在另一些实施例中,用户在APP拉起联系人列表时,云盘APP自动对列表中的全部联系人进行业务注册查询。

S21:第一设备和云平台的SE芯片之间建立安全传输通道。

S22:第一设备通过安全传输通道向SE芯片发送联系人的哈希信息。

安全传输通道建立后,第一设备通过IDS服务向SE芯片透传联系人的哈希(Hash)信息。该哈希信息由各个联系人分别对应的第二标识信息转化后得到。第二标识信息可以为联系人列表中的联系人的手机号码或者邮箱。

获取哈希信息的转化过程为把第二标识信息通过散列算法变换成固定长度的输出,该输出就是散列值。关于根据第二标识信息转化得到哈希信息的具体实现方式,为较为成熟的现有技术,本申请实施例在此不再赘述。

S23:联系人发现服务根据联系人的哈希信息查询注册信息,确定注册云盘APP的联系人。

SE芯片能够提供联系人发现服务。

本申请提供的方案,在云平台的SE芯片上进行注册信息的查询,使得上层的应用或者设备系统无法感知,不建立第一设备的用户和被分享者之间的关系链,确保了隐私与安全性。

S24:SE芯片向第一设备发送查询结果。

SE芯片完成对联系人的注册信息查询后,向第一电子设备回复查询结果,查询结果中指示了已经注册云盘APP的联系人。

在一种可能的实现方式中,查询结果中对已经注册云盘APP的联系人添加了标签,也即利用标签对注册云盘APP的联系人进行了标记,使得第一设备端的云盘APP能够识别该标签进而显示对应的查询结果。

S25:云盘APP显示已经注册云盘APP的联系人。

云盘APP根据查询结果显示已经注册云盘APP的联系人。

S26:用户在云盘APP上选定待分享联系人。

本申请实施例中的待分享联系人可为一个或者多个,本申请实施例不作具体的数量限定。

S27:云盘APP调起第一设备的SE芯片的IBE加密服务。

S28:SE芯片的IBE加密服务根据被分享联系人的第二标识信息生成加密公钥。

S29:利用加密公钥对待分享数据进行加密。

云盘APP利用加密公钥对待分享数据进行加密,可以理解的是,当被分享者的数量为多个是,加密公钥的数量也为多个。

S30:将加密后的待分享数据发送至云平台进行存储。

云平台还提供存储服务,用于对加密后的待分享数据进行存储,以等待被分享者进行下载。

至此,对于分享者,也即第一设备的用户,已经完成了对数据的加密分享,下面说明被分享者,也即第二设备的用户获取并解密打开该加密数据的过程。

参见图5,该图为本申请实施例提供的被分享者开启数据分享服务的方法流程图。

S31:启动云盘APP。

被分享者在第二设备上启动云盘APP,并触发数据分享服务。

S32:第二设备向云平台发送身份认证信息。

被分享者的本地没有存储第二私钥和组公钥时,需要首先开启数据分享服务。

身份认证信息中携带有被分享者的第二标识信息以及第二设备的账号信息。

S33:IDS服务对第二设备进行身份认证。

S34:IDS服务向SE芯片发送身份认证信息。

S35:IBE加密服务根据身份认证信息和主私钥生成第二设备的私钥。

需要注意的是,此时IBE加密服务不需要重复再次生成主公钥和主私钥,因为主公钥和主私钥仅需生成一次,并且主私钥已经通过密钥存储服务在云端完成了保存。

IBE加密服务根据主私钥和身份认证信息中的第二标识信息生成第二设备的私钥。

S36:IBE加密服务向第二设备发送主公钥和第二私钥。

S37:第二设备的SE芯片存储主公钥和第二私钥。

第二设备上也包括有SE芯片,该SE芯片用于存储获取的主公钥和第二私钥。

第二设备上的SE芯片同样能够提供IBE加密服务,第二私钥是根据第二设备的身份认证信息和主私钥生成的,当第二设备通过云盘APP获取其它电子设备分享的加密数据后,第二设备的云盘APP调起SE芯片的IBE加密服务,利用第二私钥对解密数据进行自动解密。也即第二私钥作用为对第二设备的云盘APP获取的加密分享数据进行解密。

关于第二设备实现对于数据加密分享服务的注册过程可以类似于图3中的说明,本申请实施例在此不再赘述。

下面说明第二设备获取并解密被分享数据的具体过程。

参见图6,该图为本申请实施例提供的被分享者接受数据分享的方法流程图。

S40:云盘APP下载加密后的待分享数据。

被分享者通过云盘APP,从云平台下载加密后的待分享数据,也即云平台将加密后的待分享数据发送至第二设备。

在一种可能的实现方式中,云平台可以与社交平台或者时通信软件进行关联,例如进行账号的关联绑定,数据分享者完成了对数据的加密和上传后,云平台可以通过社交平台或者时通信软件自动通知被分享者,或者用户可以通过社交平台或者时通信软件主动通知被分享者,以使被分享者通过云盘APP从云平台下载加密后的数据。

S41:被分享者选择查看加密后的待分享数据。

S42:云盘APP调起SE芯片的IBE加密服务。

S43:IBE加密服务利用本地存储的第二私钥对加密后的待分享数据进行解密。

此时,IBE加密服务进行对待分享数据进行解密。第一设备对待分享数据进行加密时使用的加密公钥是根据被分享联系人的第二标识信息生成的,此时第二设备的SE芯片解密时,依据的是第二私钥,第二私钥同样是根据被分享联系人的第二标识信息生成的,因此两者匹配,能够正常实现解密。

实际应用中,IBE加密服务对于加密后的待分享数据进行解密是自动进行的,被分享者无需手动输入密钥,即可打开数据。

可以理解的是,本申请实施例中以上步骤的划分仅是为了方便说明,并不构成对于本申请技术方案的限定。例如,以上的S20-S25中对于联系人的注册信息的查询过程也可以发生在图3对应的数据分享服务开启流程中,例如紧接S18发生,作为数据分享服务开启流程中的步骤。而当用户进行数据加密分享时,直接从S26选定待分享联系人开始即可。

结合以上图3至图6中的说明,本申请实施例提供的数据加密分享的原理可由下图体现。

参见图7,该图为本申请实施例提供的数据加密分享的原理示意图。

当第一设备10和第二设备20均完成了云盘APP的注册以及数据加密分享服务的注册后,分享者通过第一设备10向被分享者分享数据时,依据第二设备的标识信息生成加密公钥,对待分享数据进行加密后发送至云平台30存储。

第二设备通过云平台30下载加密后的待分享数据,并且利用自身存储的根据自身的第二标识信息生成的第二私钥,对加密后的待分享数据进行解密,进而实现了数据的获取。

综上所述,利用本申请实施例提供的技术方案,使得数据的分享者向被分享者分享数据时,两者不需要进行密钥协商,数据分享者也不需要主动添加被分享者的联系方式并进行密钥以及下载链接的告知,仅需根据已知的被分享者的第二标识信息,例如被分享者的邮箱或者手机号码对待分享数据进行加密并上传至云平台,对于被分享者,在获取数据后,可以自动进行解密。整个过程中,不存在因为通知被分享者密钥而导致密钥泄露的风险,提升了数据分享的安全性。此外,当被分享者的数量较多时,也无需单独依次通知各个被分享者,简化了用户进行数据分享的流程。

以上说明中以通过云盘APP实现数据的共享为例进行说明,实际应用中,云盘APP也可以被替换为电子设备的系统。也即电子设备的系统提过自身的安全芯片进行加密和解密,并且由电子设备的系统和云平台之间进行交互,能够实现对于系统库中数据的分享,下面具体说明。

此时第一设备上可以不安装云盘APP,第一设备的系统设置有数据加密分享功能。下面结合附图说明。

参见图8,该图为本申请实施例提供的系统开启数据分享服务的流程图。

S51:开启系统数据分享服务。

S52:第一设备向云平台发送身份认证信息。

身份认证信息中携带有分享者的第一标识信息以及第一设备的账号信息。

此时的第一设备的账号信息为第一设备注册的设备账号信息,例如为设备生产厂商对应的设备账号,注册该设备账号后,能够使用或者享受由设备生产厂商提供的服务。

第一标识信息可以为手机号码或者邮箱。

云平台用于提供IDS服务、IBE加密服务以及密钥存储服务。

其中,IBE服务利用KGC产生主私钥和主公钥,并将主私钥通过密钥存储服务进行加密保存。

S53:IDS服务对第一设备进行身份认证。

S54:IDS服务向SE芯片发送身份认证信息。

S55:IBE加密服务根据身份认证信息和主私钥生成第一私钥。

S56:IBE加密服务向第一设备发送主公钥和第一私钥。

S57:第一设备的SE芯片存储主公钥和第一私钥。

以上开启数据分享服务与图3对应的说明类似,本申请实施例在此不再赘述。

参见图9,该图为本申请实施例提供的另一种分享者进行数据分享的方法流程图。

S60:分享者通过系统数据分享服务发起对联系人的注册查询。

分享者在完成数据加密分享服务的注册后,当需要对特定的被分享者进行数据加密分享时,可以通过系统的通讯录拉起联系人列表,查询注册设备账号的联系人,也即注册设备生产厂商提供的账号的联系人,注册查询的目的是确定能够被提供云服务的被分享者。

S61:第一设备和云平台的SE芯片之间建立安全传输通道。

S62:第一设备通过安全传输通道向SE芯片发送联系人的哈希信息。

S63:联系人发现服务根据联系人的哈希信息查询注册信息,确定注册系统账号的联系人。

S64:SE芯片向第一设备发送查询结果。

S65:系统数据分享服务显示已经注册系统账号的联系人。

S66:用户在系统数据分享服务上选定待分享联系人。

S67:系统数据分享服务调起第一设备的SE芯片的IBE加密服务。

S68:SE芯片的IBE加密服务根据被分享联系人的第二标识信息生成加密公钥。

S69:利用加密公钥对待分享数据进行加密。

此时,待分享数据可以为系统库中的数据,例如具体为系统图库中的图片、系统视频库中的视频、系统音频库中的音频以及系统文件库中的文件等。

S70:将加密后的待分享数据发送至云平台进行存储。

至此,对于分享者,也即第一设备的用户,已经完成了对数据的加密分享。对于第二设备的用户,其注册系统数据分享服务的过程与图8中第一设备的注册过程类似在此不再赘述,下面说明被分享者,也即第二设备的用户获取并解密打开该加密数据的过程。

参见图10,该图为本申请实施例提供的另一种被分享者接受数据分享的方法流程图。

S80:第二设备下载加密后的待分享数据。

在一种可能的实现方式中,云平台可以与社交平台或者时通信软件进行关联,例如进行账号的关联绑定,数据分享者完成了对数据的加密和上传后,云平台可以通过社交平台或者时通信软件自动通知被分享者,或者用户可以通过社交平台或者时通信软件主动通知被分享者,以使被分享者通过社交平台或者时通信软件或者系统数据分享服务从云平台下载加密后的数据。

S81:被分享者选择查看加密后的待分享数据。

S82:系统数据分享服务调起SE芯片的IBE加密服务。

在一种可能的实现方式中,被分享者通过社交平台或者时通信软件调起系统数据分享服务,进而调起SE芯片的IBE加密服务。

S83:IBE加密服务利用本地存储的第二私钥对加密后的待分享数据进行解密。

第一设备对待分享数据进行加密时使用的加密公钥是根据被分享联系人的第二标识信息生成的,此时第二设备的SE芯片解密时,依据的是第二私钥,第二私钥同样是根据被分享联系人的第二标识信息生成的,因此两者匹配,能够正常实现解密。IBE加密服务对于加密后的待分享数据进行解密是自动进行的,被分享者无需手动输入密钥,即可打开数据。

综上所述,利用本申请实施例提供的技术方案,可以实现对于系统库的数据的分享,整个过程中,不存在因为通知被分享者密钥而导致密钥泄露的风险,提升了数据分享的安全性。此外,当被分享者的数量较多时,也无需单独依次通知各个被分享者,并且无需数据被分享者输入密钥进行解密,简化了用户进行数据分享的流程。

基于以上实施例提供的数据分享方法,本申请实施例还提供了一种电子设备,下面结合附图具体说明。

参见图11,该图为本申请实施例提供的一种电子设备的示意图。

本申请实施例提供给的电子设备100包括SE芯片101。

该SE芯片101用于提供IBE加密服务,具体包括存储功能、加密功能和解密功能。

其中,存储功能指SE芯片101能够存储数据加密分享服务的主公钥和电子设备对应的私钥。电子设备对应的私钥为云平台根据电子设备的身份认证信息和主私钥生成的。

加密功能指当电子设备进行数据加密分享时,根据被分享联系人的标识信息生成加密公钥,并利用加密公钥对待分享数据进行加密。

解密功能指当电子设备对加密后的数据进行解密时,利用本地存储的电子设备对应的私钥对加密后的待分享数据进行解密。

电子设备还包括处理器和存储器。存储器中用于存储可以执行的代码,处理器执行该代码以实现以上实施例中的数据分享的方法。

下面说明电子设备的软件架构。

参见图12,该图为本申请实施例提供的电子设备的软件架构的示意图。

分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。

应用程序层可以包括一系列应用程序包。

如图12所示,应用程序包可以包括相机、音乐、视频、WLAN、图库、通话、通讯录以及云盘APP等应用程序。

其中,关于云盘APP的功能可以参见以上实施例中的相关说明,本申请实施例在此不再赘述。

应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。

如图12所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。进一步的,本申请中包增加了IBE服务和系统数据分享服务。IBE服务基于电子设备的SE芯片实现。系统数据分享服务可以和云盘APP共存,也可以仅包括两者中的一项。关于IBE服务和系统数据分享服务的具体说明可以参见以上实施例,在此不再赘述。

Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。

核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。

应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。

系统库可以包括多个功能模块。例如:表面1管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。

三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。

2D图形引擎是2D绘图的绘图引擎。

内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。

本申请实施例不具体限定电子设备的类型,电子设备可以为手机、笔记本电脑、可穿戴电子设备(例如智能手表)、平板电脑、增强现实(augmented reality,AR)设备、虚拟现实(virtual reality,VR)设备以及车载设备等。

综上所述,利用本申请实施例提供的电子设备,使得数据的分享者向被分享者分享数据时,两者不需要进行密钥协商,数据分享者也不需要主动添加被分享者的联系方式并进行密钥以及下载链接的告知,仅需根据已知的被分享者的第二标识信息,例如被分享者的邮箱或者手机号码对待分享数据进行加密并上传至云平台,对于被分享者,在获取数据后,可以自动进行解密。整个过程中,不存在因为通知被分享者密钥而导致密钥泄露的风险,提升了数据分享的安全性。此外,当被分享者的数量较多时,也无需单独依次通知各个被分享者,简化了用户进行数据分享的流程。电子设备可以基于云盘APP或者设备系统提供的系统数据分享服务实现以上的数据分享方法。

基于以上实施例提供的数据分享方法,本申请实施例还提供了一种云平台,该云平台可以是用于提供数据分享服务的计算机集群。该计算机集群中包括至少一台计算机,该计算机可以为云服务器,下面结合附图具体说明。

参见图13,该图为本申请实施例提供的一种云平台的硬件结构图。

云平台,也即计算机集群200中包括至少一台计算机2000。每台计算机包括总线2001、处理器2002、通信接口2003以及存储器2004。

处理器2002、存储器2004和通信接口2003之间通过总线2001通信。

总线2001可以为外设部件互联标准(Peripheral Component Interconnect,PCI)总线或者扩展工业标准结构(Extended Industry Standard Architecture,ESIA)总线等。总线可以分为地址总线、数据总线、控制总线等,为了方便标识,图13中仅用一根总线表示,但并不标识仅包括一根总线或者一种类型的总线。

通信接口2003用户和外部通信,例如和数据分享的发起设备通信或者和数据分享的接收设备通信。

存储器2004可以包括易失性存储器,例如随机存取存储器RAM。存储器2004还可以包括非易失性存储器,例如只读存储器ROM。快闪控制器,硬盘驱动器HDD或者固态驱动器SSD。

存储器2004中用于存储可以执行的代码,处理器2002执行该代码以实现以上的IDS服务、IBE服务以及联系人发现服务等,进而实现以上实施例中的数据分享的方法。

进一步的,计算机上还可以包括SE芯片。SE芯片,用于提供IBE加密服务,包括:预先生成主私钥和主公钥;以及根据电子设备发送的身份认证信息和所述主私钥,生成所述电子设备对应的私钥;并且提供联系人发现服务,获取注册查询对应的查询结果。对于SE芯片的说明可以参见以上实施例中的说明,在此不再赘述。

综上所述,利用本申请实施例提供的云平台,可以与云盘APP配合或者与电子设备系统提供的系统数据分享服务配合以实现数据的加密安全分享。

应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

相关技术
  • 一种数据获取方法、电子设备和计算机可读储存介质
  • 一种超大规模GPS数据专用计算机集群任务分配方法
  • 一种数据存储的方法、数据下载的方法、装置及电子设备
  • 基于集群计算的数据批处理方法、装置、电子设备及介质
  • 一种样本数据处理方法、样本数据处理装置及电子设备
  • 一种数据分享方法、系统、电子设备和计算机存储介质
  • 一种数据分享方法、系统、电子设备和计算机存储介质
技术分类

06120116479909