在组织中对数据授权的方法及装置与流程

文档序号:18135350发布日期:2019-07-10 10:34阅读:222来源:国知局
在组织中对数据授权的方法及装置与流程

本发明属于信息加密传输技术领域,特别涉及一种在组织中对数据授权的方法及装置。



背景技术:

在当今互联网高速发展下,人们越来越多的在互联网中交换、共享数据、协同办公。与传统单机模式所不同的是,数据一旦在互联网上分享,则很难控制其扩散的范围。为此,人们发明了通过对数据加密授权来控制数据访问的方法,通过对数据加密,再对数据密钥进行授权,只有拥有授权的用户能够使用密钥解密数据。然而实际应用场景下,往往需要授权用户可以对数据进行转发,这样使得人们为了控制数据授权范围需要不断的调整个别用户的数据使用权限,需要管理员频繁操作,现有技术为了实现数据转发对象能够使用数据通常是对用户进行权限变更结合身份权限验证,权限验证操作往往是用户进行身份验证通过后可直接获取对应权限的数据,这样存在伪造组织身份证明轻松破解权限设置的情况。

因此提供一种更加安全、方便的数据加密传输方法成为了现有技术急需解决的技术问题。



技术实现要素:

对于现有技术存在的不足,本发明方法提出较为安全的在组织中对数据授权的方法及装置。

第一方面,本发明实施例提供了一种在组织中对数据授权的方法,其特征在于,应用于服务端,包括:

存储隶属于同一账号组织的各个账号在所属账号组织的组织私钥许可和组织公钥;

根据第一账号的数据传输请求,当作为接收方的第二账号与第一账号属于同一账号组织时为第一账号提供第二账号的组织公钥,第二账号的组织公钥在对传输数据加密过程中使用;

根据第二账号的对从第一账号获取的传输数据密文进行解密的请求,验证第二账号在第一账号所属账号组织的组织私钥许可的有效性,在组织私钥许可验证有效后允许使用第二账号的组织私钥对传输数据密文解密。

第二方面,本发明实施例还提供了一种在组织中对数据授权的方法,其特征在于,应用于作为发送方的第一账号端,包括:

向服务端发起数据传输请求,使服务端从第一账号所隶属的账号组织中查找作为接收方的第二账号的组织公钥,其中,服务端存储有第一账号所隶属账号组织中的各个账号的组织私钥许可和组织公钥;

基于第二账号的组织公钥对传输数据加密生成传输数据密文;

将传输数据密文发送给第二账号。

第三方面,本发明实施例提供了一种在组织中对数据授权的方法,其特征在于,应用于作为接收方的第二账号端,包括:

向服务端发起对从第一账号获取的传输数据密文进行解密的请求,以使服务端验证第二账号在第一账号所属账号组织的组织私钥许可的有效性;

在服务端验证第二账号在第一账号所属账号组织的组织私钥许可有效后,使用第二账号的组织私钥对传输数据密文解密或者通过服务端使用第二账号的组织私钥对所述传输数据密文解密。

第四方面,本发明实施例提供了一种在组织中对数据授权的装置,其特征在于,所述装置应用于服务端,包括:

存储模块,用于存储隶属于同一账号组织的各个账号在所属账号组织的组织私钥许可和组织公钥;

加密管理模块,用于根据第一账号的数据传输请求,当作为接收方的第二账号与第一账号属于同一账号组织时为第一账号提供第二账号的组织公钥,所述第二账号的组织公钥在对传输数据加密过程中使用;

解密管理模块,用于根据第二账号的对从第一账号获取的传输数据密文进行解密的请求,验证第二账号在所属账号组织的组织私钥许可的有效性,在组织私钥许可验证有效后允许使用第二账号的组织私钥对传输数据密文解密。

第五方面,本发明实施例提供了一种在组织中对数据授权的装置,其特征在于,应用于作为发送方的第一账号端,包括;

请求模块,用于向服务端发起数据传输请求,使服务端从第一账号所隶属的账号组织中查找作为接收方的第二账号的组织公钥,其中,服务端存储有第一账号所隶属账号组织中的各个账号的组织私钥许可和组织公钥;

加密模块,用于基于第二账号的组织公钥对传输数据加密生成传输数据密文;

发送模块,用于将传输数据密文发送给第二账号。

第六方面,本发明实施例提供了一种在组织中对数据授权的装置,其特征在于,应用于作为接收方的第二账号端,包括;

请求模块,用于向服务端发起对从第一账号获取的传输数据密文进行解密的请求,以使服务端验证第二账号在第一账号所属账号组织的组织私钥许可的有效性;

解密模块,用于在服务端验证第二账号在第一账号所属账号组织的组织私钥许可有效后,使用第二账号的组织私钥对传输数据密文解密或者通过服务端使用第二账号的组织私钥对所传输数据密文解密。

相对于现有技术,本发明实施例中提供了一种在组织中对数据授权方法:作为发送方的第一账号向服务端发送数据传输请求;服务端根据第一账号的数据传输请求,当作为接收方的第二账号与第一账号属于同一账号组织时为第一账号提供第二账号的组织公钥,所述第二账号的组织公钥在对传输数据加密过程中使用;作为接收方的第二账号向服务端发送传输数据密文解密请求;服务端根据第二账号的对从第一账号获取的传输数据密文进行解密的请求,验证第二账号在第一账号所属账号组织的组织私钥许可的有效性,在所述组织私钥许可验证有效后允许使用第二账号的组织私钥对传输数据密文解密。本发明中的用户账号的组织公钥和组织私钥由服务端管理,加密数据传输过程中被破解和解密的情况基本不可能发生,数据安全有较高的保障。另外,当作为接收方的第二账号和作为发送方的第一账号属同一账号组织内的用户账号时,第一账号才能够使用对应的第二账号的组织公钥进行加密,增加了数据定向发送的安全性,即使第一账号伪造第二账号的组织公钥后将数据发送给第一账号所属的账号组织外的用户账号,账号组织外的用户账号因在第一账号所属的账号组织内不具有对应的第二账号的组织私钥,第二账号不能使用对应的第二账号的组织私钥来进行解密,因此本发明实施例采用的在组织中对数据授权方法安全度较高。

附图说明

图1为本发明实施例一提供的在组织中对数据授权的方法流程图,应用于服务端;

图2为本发明实施例二提供的在组织中对数据授权的方法流程图,应用于服务端;

图3为本发明实施例三提供的在组织中对数据授权的方法流程图,应用于发送方;

图4为本发明实施例四提供的在组织中对数据授权的方法流程图,应用于接收方;

图5为本发明实施例五提供的在组织中对数据授权的方法流程图;

图6为本发明实施例六提供的在组织中对数据授权的装置600的结构示意图,设置在服务端;

图7为本发明实施例六提供的在组织中对数据授权的装置700的结构示意图,设置在发送端;

图8为本发明实施例八提供的在组织中对数据授权的装置800的结构示意图,设置在接收端;

图9为本发明实施例九提供的一种服务器的结构示意图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明的技术方案进行进一步详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本发明。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。

此外,术语“第一”、“第二”等可在本文中用于描述各种方向、动作、步骤或元件等,但这些方向、动作、步骤或元件不受这些术语限制。这些术语仅用于将第一个方向、动作、步骤或元件与另一个方向、动作、步骤或元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一速度差值为第二速度差值,且类似地,可将第二速度差值称为第一速度差值。第一速度差值和第二速度差值两者都是速度差值,但其不是同一速度差值。术语“第一”、“第二”等而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

实施例一

图1为本发明实施例一提供的一种在组织中对数据授权的方法流程图,应用于服务端,本实施例的方法可以由云端设备的处理器执行,具体包括:

s101、存储隶属于同一账号组织的各个账号在所属账号组织的组织私钥许可和组织公钥;

s102、根据第一账号的数据传输请求,验证作为接收方的第二账号与第一账号是否属于同一账号组织;

s103、当作为接收方的第二账号与第一账号属于同一账号组织时为第一账号提供第二账号的组织公钥,所述第二账号的组织公钥在对传输数据加密过程中使用;

s104、根据第二账号的对从第一账号获取的传输数据密文进行解密的请求,验证第二账号在第一账号所属账号组织的组织私钥许可的有效性;

s105、当第二账号在第一账号所属账号组织的组织私钥许可验证有效后,允许使用第二账号的组织私钥对传输数据密文解密。

对于步骤s101,本实施例中,所述账号组织,是网络系统中一组账号的集合,可以对应社会实体的一个组织,如公司、社区等,其中每个账号对应一个网络系统用户,服务端对应为账号组织建立所依据的云端系统。所述账号组织由服务端根据管理员的创建目标账号组织的请求建立,账号组织建立时,由管理员账号或由服务端生成组织管理密钥,组织管理密钥由账号组织的管理员账号维护。

账号组织建立后用户加入账号组织时可以通过管理员向目标账号组织添加用户账号的请求实现,或者用户自行申请经管理员同意后加入目标账号组织。用户加入目标账号组织后服务端会将用户账号关联于目标账号组织并且存储用户账号的组织私钥许可和组织公钥。所述组织公钥存储于与用户账号关联的公钥证书中,所述公钥证书中还包含用户账号的用户信息,以及使用所属账号组织的组织管理密钥对组织公钥和用户信息的签名。隶属于同一账号组织的各个账号的组织私钥许可由账号所属账号组织的管理员账号签发并且包含组织管理密钥签名。所述用户账号的组织公钥和组织私钥为非对称密钥对,由用户账号所属账号组织的管理员账号生成或者由管理员向服务端发送指示由服务端生成。

服务端存储隶属于同一账号组织的各个账号在所属账号组织的组织私钥许可和组织公钥,当服务端接收到第三账号或者第三账号所属账号组织的管理员账号发送的第三账号吊销请求,根据所述吊销请求删除第三账号在所属账号组织的组织私钥许可和组织公钥。

对于步骤s102,本实施例中,第一账号作为发送方需要将数据传输给作为接收方的第二账号,第一账号会向服务端发送数据传输请求,服务端根据第一账号的数据传输请求验证作为接收方的第二账号与第一账号是否属于同一账号组织。

对于步骤s103,本实施例中,服务端根据第一账号的数据传输请求验证作为接收方的第二账号与第一账号属于同一账号组织后,从所属账号组织中找到第二账号的组织公钥并为第一账号提供第二账号的组织公钥,所述第二账号的组织公钥在对传输数据加密过程中使用,具体可以由服务端将第二账号的组织公钥发送给第一账号以由第一账号使用第二账号的组织公钥对传输数据加密或者由服务端直接使用第二账号的组织公钥对传输数据加密。

对于步骤s104,本实施例中,第二账号从第一账号获取到的是经过加密的传输数据密文,需要对传输数据密文解密才能得到传输数据,第二账号向服务端发出对从第一账号获取的传输数据密文进行解密的请求,服务端接收到第二账号的解密请求后,验证第二账号在第一账号所属账号组织中的组织私钥许可的有效性。

对于步骤s105,本实施例中,第二账号从第一账号获取的传输数据密文是经过第二账号的组织公钥加密过的,需要使用第二账号的组织私钥对传输数据密文解密,服务端验证第二账号在第一账号所属账号组织中的组织私钥许可有效后,允许使用第二账号的组织私钥对传输数据密文解密,具体使用过程可以由服务端使用第二账号的组织私钥对传输数据密文解密也可以由第二账号使用第二账号的组织私钥对传输数据密文解密。

相对于现有技术,本发明实施例中提供了一种应用于服务端的在组织中对数据授权方法:服务端存储隶属于同一账号组织的各个账号在所属账号组织的组织私钥许可和组织公钥;根据第一账号的数据传输请求,验证作为接收方的第二账号与第一账号是否属于同一账号组织;当作为接收方的第二账号与第一账号属于同一账号组织时为第一账号提供第二账号的组织公钥,所述第二账号的组织公钥在对传输数据加密过程中使用;根据第二账号的对从第一账号获取的传输数据密文进行解密的请求,验证第二账号在第一账号所属账号组织的组织私钥许可的有效性;当第二账号在第一账号所属账号组织的组织私钥许可验证有效后,允许使用第二账号的组织私钥对传输数据密文解密。只有作为接收方的第二账号和作为发送方的第一账号属同一账号组织时,服务端才能够找到对应的第二账号的组织公钥,进而完成对传输数据加密,增加了数据定向发送的安全性;当作为接收者的第二账号不是第一账号所属的账号组织内的用户时,服务端不会提供对应的第二账号的组织公钥因而无法完成数据加密传输,即使作为发送方的第一账号伪造了作为接收方的第二账号的组织身份,服务端也无法找到伪造的第二账号的组织身份对应的第二账号的组织公钥,因而无法完成数据加密传输,进一步地即使第一账号伪造了第二账号的组织公钥完成了加密,服务端在接收第二账号的解密申请时也无法找到对应的第二账号的组织私钥因而无法完成传输数据密文的解密。因此本发明实施例的加密数据传输方案安全度较高。

实施例二

图2为本发明实施例二提供的一种在组织中对数据授权的方法流程图,应用于服务端,本实施例的方法可以由云端设备的处理器执行,具体包括:

s201、存储隶属于同一账号组织的各个账号在所属账号组织的组织私钥许可和组织公钥;

s202、根据第一账号的数据传输请求,验证作为接收方的第二账号与第一账号是否属于同一账号组织;

s203、当作为接收方的第二账号与第一账号属于同一账号组织时为第一账号提供第二账号的组织公钥,所述第二账号的组织公钥在对传输数据加密过程中使用;

s204、根据第一账号的数据传输请求,为第一账号分配第一密钥以及存储第一账号为第二账号签发的第一密钥的使用许可,所述第一密钥在对传输数据加密的过程中使用;

s205、根据第二账号的对从第一账号获取的传输数据密文进行解密的请求,验证第二账号在第一账号所属账号组织的组织私钥许可的有效性;

s206、当第二账号在第一账号所属账号组织的组织私钥许可验证有效,允许使用第二账号的组织私钥对传输数据密文解密;

s207、根据第二账号的对从第一账号获取的传输数据密文进行解密的请求,验证第一账号为第二账号颁发的第一密钥的使用许可的有效性;

s208、在验证第一账号为第二账号颁发的第一密钥的使用许可有效后,提供第一密钥以用于对传输数据密文解密。

本实施例在实施例一的基础上进一步提供了第一密钥,参与传输数据的加密过程,进一步提高了数据传输的安全性,步骤s201-s203和步骤s205-s206与实施例一中相同,本实施例不再赘述。

对于步骤s204,本实施例中,服务端获取作为发送方的第一账号发出的数据传输请求后,验证作为接收方的第二账号与第一账号是否属于相同的账号组织,在验证第二账号与第一账号属于相同的账号组织后服务端除了提供第二账号的组织公钥之外,还会为第一账号分配第一密钥,第一密钥由系统生成和维护,用于在传输数据加解密过程中使用,用户只能使用而无法看到具体的密钥和数据结构。服务端为第一账号分配第一密钥后,第一密钥可以提供给发送方在对传输数据加密过程中使用也可以由服务端使用第一密钥对传输数据加密。进一步,服务端为第一账号分配第一密钥后,由第一账号为第二账号签发第一密钥的使用许可,该第一密钥的使用许可存储在服务端,以供服务端在第二账号需要使用第一密钥时进行相关验证。

对于步骤s207-s208,本实施例中,传输数据密文解密请求由作为接收方的第二账号发出,服务端根据第二账号的对从第一账号获取的传输数据密文进行解密的请求后,除了会验证第二账号在第一账号所属账号组织的组织私钥许可的有效性,还会验证第一账号为第二账号颁发的第一密钥的使用许可的有效性。在验证第一账号为第二账号颁发的第一密钥的使用许可有效后,提供第一密钥以用于对传输数据密文解密。第一密钥可以由服务端在对传输数据密文解密过程中使用,也可以发送给第二账号在对传输数据密文解密过程中使用,即使发送给第二账号使用第二账号也无法看到第一密钥的具体内容。

进一步地,本实施例中的传输数据加密过程中,使用第一密钥与第二账号的组织公钥对传输数据加密的方式有多种:可以是使用一个密钥对传输数据加密后,再使用另一个密钥对密文再次加密得到传输数据密文;还可以是先使用一个密钥对传输数据加密得到传输数据密文后,再使用另一个密钥对先使用的密钥加密。

进一步地,本实施例中,除了第一密钥和第二账号的组织公钥外,还可以使用其他密钥,如第一账号的个人密钥参与传输数据的加密过程,具体加密过程可以为:使用第一密钥和第二账号的组织公钥对第二密钥进行处理得到第三密钥,使用第三密钥对传输数据加密以生成传输数据密文;或者,使用第四密钥对传输数据加密以生成传输数据密文,使用第一密钥和第二账号的组织公钥对第四密钥加密生成密钥密文。

相对于现有技术,本实施例在实施例一的基础上进一步增加了提供第一密钥参与传输数据密文的加密:根据第一账号的数据传输请求,为第一账号分配第一密钥以及存储第一账号为第二账号签发的第一密钥的使用许可,所述第一密钥在对传输数据加密的过程中使用;根据第二账号的对从第一账号获取的传输数据密文进行解密的请求,进一步验证第一账号为第二账号颁发的第一密钥的使用许可的有效性;在验证第一账号为第二账号颁发的第一密钥的使用许可有效后,提供第一密钥以用于对传输数据密文解密。采用第一密钥参与传输数据密文的生成进一步保障了只有作为第一账号指定授权的用户账号才能完成传输数据密文的解密,增加了在组织中对数据授权的安全性。本实施例提供了由服务端为第一账号分配第一密钥参与传输数据的加密的方法,还可以结合其他密钥参与传输数据的加密,进一步增加了数据传输的安全性。因此本实施例方案实现了更安全的在组织中对数据授权。

实施例三

图3为本发明实施例三提供的一种在组织中对数据授权的方法流程图,应用于作为发送方的第一账号端,该方法包括:

s301、向服务端发起数据传输请求,使服务端从第一账号所隶属的账号组织中查找作为接收方的第二账号的组织公钥,其中,所述服务端存储有第一账号所隶属账号组织中的各个账号的组织私钥许可和组织公钥;

s302、基于第二账号的组织公钥对传输数据加密生成传输数据密文;

s303、将所述传输数据密文发送给第二账号。

对于步骤s301,本实施例中,当作为发送方的第一账号需要进行数据传输时,向服务端发起数据传输请求,使服务端从第一账号所隶属的账号组织中查找作为接收方的第二账号的组织公钥,其中,所述服务端存储有第一账号所隶属账号组织中的各个账号的组织私钥许可和组织公钥。第一账号发起的数据传输请求中一般包含第一账号的身份验证信息和作为接收方的第二账号的身份验证信息,用于验证第二账号与第一账号是否属于同一账号组织。

对于步骤s302,服务端验证第二账号为第一账号隶属的账号组织内的用户账号后,提供第二账号的组织公钥用于在传输数据的加密过程中使用,具体可以由服务端使用或者提供给第一账号使用。

对于步骤s303,传输数据加密完成生成传输数据密文后,需要将传输数据密文发送给作为接收方的第二账号。

进一步地,为了增加数据传输的安全性,还可以使用第一账号个人密钥参与加密,基于第二账号的组织公钥和第一账号个人密钥对传输数据加密生成传输数据密文。

进一步地,在使用第二账号的组织公钥参与传输数据加密的基础上,还可以采用第一密钥参与传输数据的加密过程进一步保障数据传输的安全性,具体为:

在服务端分配第一密钥后,从所述服务端接收为第一账号分配第一密钥的反馈信息,所述第一密钥用于生成传输数据密文时使用;基于所述反馈信息向第二账号签发第一密钥的使用许可。

第一密钥为服务端接收到第一账号发起的传输数据申请后为第一账号分配的,由系统维护,用户只能使用而无法看到具体的密钥和数据结构,服务端分配第一密钥后可以由服务端使用参与传输数据的加密也可以发送给第一账号使用参与传输数据的加密。第一账号向第二账号传输数据时,第一账号接收到服务端为第一账号分配第一密钥的反馈信息后,基于所述反馈信息项第二账号签发第一密钥的使用许可,第二账号只有具有有效的第一密钥使用许可才能够使用第一密钥。

进一步地,对传输数据的加密有多种方式,例如:使用所述第一密钥和第二账号的组织公钥对待传输数据加密以生成传输数据密文;或者,使用所述第一密钥和第二账号的组织公钥对与第二账号约定的第二密钥进行处理得到第三密钥,使用第三密钥对待传输数据加密以生成传输数据密文;或者,使用第四密钥对待传输数据加密以生成传输数据密文,使用所述第一密钥和第二账号的组织公钥对第四密钥加密生成密钥密文提供给第二账号。

相对于现有技术,本实施例提供了一种在组织中对数据授权的方法,应用于作为发送方的第一账号端:向服务端发起数据传输请求,使服务端从第一账号所隶属的账号组织中查找作为接收方的第二账号的组织公钥,其中,所述服务端存储有第一账号所隶属账号组织中的各个账号的组织私钥许可和组织公钥;基于第二账号的组织公钥对传输数据加密生成传输数据密文;将所述传输数据密文发送给第二账号。采用作为接收方的第二账号的组织公钥参与加密实现了将授权范围控制在第一账号所属的组织范围内:当作为接收方的第二账号不是第一账号所属的账号组织内的用户时,第一账号无法通过服务端获取对应的第二账号的组织公钥,传输数据加密过程无法进行,账号组织内用户账号与账号组织外的用户账号无法进行数据传输,降低了数据泄露的风险。

实施例四

图4为本发明实施例四提供的一种在组织中对数据授权的方法流程图,应用于作为接收方的第二账号端,该方法包括:

s401、向服务端发起对从第一账号获取的传输数据密文进行解密的请求,以使服务端验证第二账号在第一账号所属账号组织的组织私钥许可的有效性;

s402、在服务端验证第二账号在第一账号所属账号组织的组织私钥许可有效后,使用第二账号的组织私钥对所述传输数据密文解密或者通过服务端使用第二账号的组织私钥对所述传输数据密文解密。

对于步骤s401,本实施例中,作为接收方的第二账号接收到来自第一账号的传输数据密文后,需要对传输数据密文进行解密才能获取传输数据。第二账号向服务端发出对该传输数据密文进行解密的请求后,服务端会根据该传输数据密文解密所需要的对应密钥进行相关密钥使用许可有效性的验证,第一账号在传输数据加密过程中使用了第二账号在第一账号所属账号组织内的组织公钥,因此服务端需要验证第二账号在第一账号所属账号组织的组织私钥许可的有效性。

对于步骤s402,服务端验证传输数据密文解密所需要的对应密钥使用许可有效性后,才会允许第二账号使用对应的密钥对传输数据密文进行解密。本步骤中,在服务端验证第二账号在第一账号所属账号组织的组织私钥许可有效后,第二账号可以自行使用第二账号的组织私钥对所述传输数据密文解密或者通过服务端使用第二账号的组织私钥对所述传输数据密文解密。

进一步地,当第一账号为了增加数据传输的安全性使用第一账号的个人密钥参与加密时,第二账号还需要使用第一账号的个人公钥参与传输数据密文的解密。

进一步地,当第一账号采用了服务端分配的第一密钥参与传输数据的加密过程,第二账号在进行传输数据密文解密时还需要通过服务端对第一密钥的使用许可进行相关验证,第二账号申请对采用了第一密钥参与加密的传输数据密文解密时,服务端验证第二账号是否具有有效的第一密钥使用许可,在服务端验证第一密钥的使用许可有效后,第二账号可以通过服务端使用第一密钥对传输数据密文解密或者从服务端获取第一密钥以用于对传输密文解密。

进一步地,由于传输数据的加密方式有多种,对传输数据密文的解密时需要与之对应:使用第一密钥和第二账号的组织私钥对传输数据密文解密;或者,使用第一密钥和第二账号的组织私钥对与第一账号约定的第二密钥进行处理得到第三密钥,使用第三密钥对传输数据密文解密;或者,使用第一密钥和第二账号的组织私钥对密钥密文解密得到第四密钥,使用第四密钥对传输数据密文解密。

相对于现有技术,本实施例一种在组织中对数据授权的方法,应用于作为接收方的第一账号端:向服务端发起对从第一账号获取的传输数据密文进行解密的请求,以使服务端验证第二账号在第一账号所属账号组织的组织私钥许可的有效性;在服务端验证第二账号在第一账号所属账号组织的组织私钥许可有效后,使用第二账号的组织私钥对所述传输数据密文解密或者通过服务端使用第二账号的组织私钥对所述传输数据密文解密。当作为接收方的第二账号不是第一账号所属账号组织内的用户时,即使第一账号伪造了第二账号的组织身份和组织公钥,第二账号解密时服务端无法找到第二账号在第一账号所属账号组织内的组织私钥也无法通过第二账号的组织私钥使用许可有效性验证,因而无法完成传输数据的解密,从而保证了数据授权的范围在组织内。而本实施例方案中即使发送方伪造了接收方的组织身份和组织公钥实现了数据发送,服务端也无法完成相关许可的验证以及查找到相应的解密密钥,实现了更安全的数据传输。

实施例五

图5为本发明实施例五提供的在组织中对数据授权的方法流程图,该方法包括:

s501、管理员创建账号组织;

s502、服务端存储隶属于同一账号组织的各个账号在所属账号组织的组织私钥许可和组织公钥;

s503、第一账号向服务端发起数据传输请求;

s504、服务端根据第一账号的数据传输请求,验证作为接收方的第二账号与第一账号是否属于同一账号组织;

s505、当作为接收方的第二账号与第一账号属于同一账号组织时服务端为第一账号提供第二账号的组织公钥,所述第二账号的组织公钥在对传输数据加密过程中使用;

s506、服务端根据第一账号的数据传输请求,为第一账号分配第一密钥以及存储第一账号为第二账号签发的第一密钥的使用许可,所述第一密钥在对传输数据加密的过程中使用;

s507、第一账号从所述服务端接收为第一账号分配第一密钥的反馈信息;

s508、第一账号基于所述反馈信息向第二账号签发第一密钥的使用许可;

s509、基于第二账号的组织公钥、第一密钥和约定密钥生成传输数据密文;

s510、将传输数据密文发送给第二账号;

s511、第二账号向服务端发起对从第一账号获取的传输数据密文进行解密的请求;

s512、服务端验证第二账号在第一账号所属账号组织的组织私钥许可的有效性,验证有效后允许第二账号使用第二账号的组织私钥;

s513、服务端验证第二账号是否具有有效的第一密钥使用许可,验证有效后允许第二账号使用第一密钥;

s514、基于第一密钥、第二账号的组织私钥和约定密钥对传输数据密文进行解密;

本实施例中,假设基于一云端服务器建立一组织1,a为管理员,有b、c、d三个用户账号。组织管理密钥pria可以由云端服务器生成也可以由管理员a提供。用户b加入组织1时,为用户b分配组织公钥pubb和组织私钥prib,组织公钥pubb和组织私钥prib为rsa公私钥对,存储于云授权平台。系统为用户b生成公钥证书certb,certb中至少包含b的用户信息和组织公钥pubb。系统为用户b的私钥prib生成许可licb,许可licb中包含公私密钥对序号idb、许可有效期,序号idb关联用户b的身份信息和公私钥,方便用户b进行相关许可验证时服务端找到对应的密钥和验证信息。使用组织管理密钥pria对certb进行授权签名,使用组织管理密钥pria对licb进行授权签名。系统颁发授权签名后的组织公钥证书certb和许可licb给用户b。用户c加入组织时同样进行上述操作。

用户c和用户b为同一账号组织内的用户,用户c需要向用户b发送数据,用户c定义为第一账号是发送方,用户b定义为第二账号是接收方,pubb即称为第二账号的组织公钥,prib即称为第二账号的组织私钥,其余名词不再赘述。

第一账号c指定第二账号b为接收方并发出数据传输请求,数据传输请求中具有包含第二账号b和第一账号c的身份识别信息,云端服务器接收到数据传输请求,云端服务器根据数据传输请求中的身份识别信息验证第二账号b是否为第一账号c所属账号组织内的用户。验证第二账号b为第一账号c所属账号组织内的用户后,由云端服务器自动为第一账号c分配第一密钥k,本实施例中第一密钥k为aes密钥,第一账号c使用第一密钥k对待发送数据data加密得到e(k,data),或者,云端服务器为第一账号c分配第一密钥k后直接使用第一密钥k对第一账号c待发送数据加密得到e(k,data)并且将e(k,data)发送给第一账号c;第一账号c获取第二账号b的组织公钥pubb,第一账号c使用pubb对待发送数据再次加密,得到e(pubb,e(k,data))。第一账号c使用和第二账号b的约定密钥l再次对传输数据加密,得到e(l,e(pubb,e(k,data))),约定密钥l示例性的为第一账号c的个人密钥或第二账号b的个人密钥。第一账号c将传输数据密文发送给第二账号b,若第二账号b没有约定密钥l则第一账号c需要将约定密钥l也发送给第二账号b,第一账号c还需要通过云端服务器对第二账号b签发第一密钥k的使用许可。第二账号b接收加密数据e(l,e(pubb,e(k,data)))以及约定密钥l,可以先使用约定密钥l解密数据得到e(pubb,e(k,data))。当第二账号b需要使用第二账号的组织私钥prib进行解密时,第二账号b向云端发出数据解密请求,数据解密请求中含有第二账号b的身份识别信息,云端服务器根据第二账号b的身份识别信息验证第二账号b是否具有有效的第二账号的组织私钥prib的使用许可,如果第二账号b通过第二账号的组织私钥prib的使用许可有效性验证,则第二账号b可以顺利使用第二账号的组织私钥prib解密数据,得到e(k,data)。当第二账号b需要使用加密密钥k进行解密时,云端服务器根据第二账号b的当前身份识别信息检测第二账号b是否具有有效的第一密钥k的使用许可,如果第二账号b通过加密密钥k的使用许可验证,则可以使用加密密钥k解密数据,获得解密后的数据data。

替代实施例中,加密过程中第一密钥k、第二账号的组织公钥pubb和约定密钥l的使用顺序以及组合方式可以变更,相应的解密过程中对应的解密顺序对应变化。

相对于现有技术,本实施例方案中在进行数据传输时数据授权由作为数据发送方的第一账号使用第二账号的组织公钥和对加密密钥授权完成,实际操作只需选择接收对象和加密方式进行数据加密发送即可,由第一账号进行,现有技术在进行授权范围调整时往往需要由管理员进行用户的权限变更,多次调整时操作频繁都由管理员进行很不方便,本实施例方案数据使用权限变更通过发送方授权实现。而且现有技术的数据使用权限调整多基于身份验证实现数据安全控制,其存在易被伪造的身份证明破解等风险,本实施例方案中假设用户d也是云端服务器的用户,伪造了身份凭证certd,但是系统无法根据用户d的身份信息获取正确的组织私钥,用户d无法解密数据,因此本实施例方案在进行数据传输时更安全。

实施例六

图6为本发明实施例六提供的一种在组织中对数据授权的装置600的结构示意图,该装置应用于服务端可由软件和/或硬件实现,可通过执行在组织中对数据授权的方法实现在进行数据传输时将数据传播范围控制在指定的账号组织内,防止数据泄露,实现数据更安全的传输。

本实施例装置包括:

存储模块601,用于存储隶属于同一账号组织的各个账号在所属账号组织的组织私钥许可和组织公钥;

加密管理模块602,用于根据第一账号的数据传输请求,当作为接收方的第二账号与第一账号属于同一账号组织时为第一账号提供第二账号的组织公钥,所述第二账号的组织公钥在对传输数据加密过程中使用;

解密管理模块603,用于根据第二账号的对从第一账号获取的传输数据密文进行解密的请求,验证第二账号在所属账号组织的组织私钥许可的有效性,在组织私钥许可验证有效后允许使用第二账号的组织私钥对传输数据密文解密。

进一步地,加密管理模块602还可以用于根据第一账号的数据传输请求为第一账号分配第一密钥,所述第一密钥在对传输数据加密的过程中使用。

进一步的,存储模块601还可以用于存储第一账号为第二账号签发的第一密钥使用许可。

进一步地,解密管理模块603还可以用于根据第二账号的对从第一账号获取的传输数据密文进行解密的请求,验证第一账号为第二账号颁发的第一密钥的使用许可的有效性,在验证有效后提供第一密钥以用于对传输数据密文解密。

进一步地,本实施例装置还可以包括传输数据加密模块604,用于根据第一账号的数据传输请求,使用第二账号的组织公钥对传输数据进行加密,还可以使用第一密钥参与传输数据的加密。

相对于现有技术,本实施例提供的在组织中对数据授权的装置用于执行前述实施例的在组织中对数据授权方法,因此还可以实现前述实施例的所有优点,在此不再赘述。

实施例七

图7为本发明实施例七提供的一种在组织中对数据授权的装置700的结构示意图,该装置应用于作为发送方的第一账号端,可由软件和/或硬件实现,可通过执行在组织中对数据授权的方法实现在进行数据传输时将数据传播范围控制在指定的账号组织内,防止数据泄露,实现数据更安全的传输。

本实施例装置包括:

请求模块701,用于向服务端发起数据传输请求,使服务端从第一账号所隶属的账号组织中查找作为接收方的第二账号的组织公钥,其中,所述服务端存储有第一账号所隶属账号组织中的各个账号的组织私钥许可和组织公钥;

加密模块702,用于基于第二账号的组织公钥对传输数据加密生成传输数据密文;

发送模块703,用于将所述传输数据密文发送给第二账号

进一步地,本实施例装置还可以包括第一密钥授权模块704,用于根据服务端为第一账号分配第一密钥的反馈信息向第二账号签发第一密钥的使用许可。

进一步地,加密模块702还可以使用服务端为第一账号分配的第一密钥以及其他密钥如第一账号个人私钥参与传输数据的加密。

相对于现有技术,本实施例提供的在组织中对数据授权的装置用于执行前述实施例的在组织中对数据授权方法,因此还可以实现前述实施例的所有优点,在此不再赘述。

实施例八

图8为本发明实施例八提供的一种在组织中对数据授权的装置800的结构示意图,该装置应用于作为接收方的第二账号端,可由软件和/或硬件实现,通过执行在组织中对数据授权的方法实现在进行数据传输时将数据传播范围控制在指定的账号组织内,防止数据泄露,实现数据更安全的传输。

本实施例装置具体包括:

请求模块801,用于向服务端发起对从第一账号获取的传输数据密文进行解密的请求,以使服务端验证第二账号在第一账号所属账号组织的组织私钥许可的有效性;

解密模块802,用于在服务端验证第二账号在第一账号所属账号组织的组织私钥许可有效后,使用第二账号的组织私钥对所述传输数据密文解密或者通过服务端使用第二账号的组织私钥对所述传输数据密文解密。

进一步地,请求模块801向服务端发起的对从第一账号获取的传输数据密文进行解密的请求还可以使服务端验证第二账号是否具有有效的第一密钥使用许可。

进一步地,解密模块802还可以使用服务端为第一账号分配的第一密钥以及其他密钥如第一账号个人公钥参与传输数据密文的解密。

相对于现有技术,本实施例提供的在组织中对数据授权的装置用于执行前述实施例的在组织中对数据授权方法,因此还可以实现前述实施例的所有优点,在此不再赘述。

实施例九

图9为本发明实施例九提供的一种服务器的结构示意图,如图9所示,该种服务器包括存储器901、处理器902,服务器中处理器902的数量可以是一个或多个,图9中以一个处理器902为例;服务器中的存储器901、处理器902可以通过总线或其他方式连接,图9中以通过总线连接为例。

存储器901作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的在组织中对数据授权的方法对应的程序指令/模块。处理器902通过运行存储在存储器901中的软件程序、指令以及模块,从而执行设备/终端/服务器的各种功能应用以及数据处理,即实现上述的在组织中对数据授权的方法。

存储器901可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器901可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器901可进一步包括相对于处理器902远程设置的存储器,这些远程存储器可以通过网络连接至设备/终端/服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如cd-rom、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如dram、ddrram、sram、edoram,兰巴斯(rambus)ram等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以进一步包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。

一实施例中,本发明实施例提供的一种包含计算机可执行指令的存储介质计算机可执行指令在由计算机处理器执行时用于执行一种在组织中对数据授权方法,应用于服务端,该方法包括:

存储隶属于同一账号组织的各个账号在所属账号组织的组织私钥许可和组织公钥;

根据第一账号的数据传输请求,当作为接收方的第二账号与第一账号属于同一账号组织时为第一账号提供第二账号的组织公钥,所述第二账号的组织公钥在对传输数据加密过程中使用;

根据第二账号的对从第一账号获取的传输数据密文进行解密的请求,验证第二账号在第一账号所属账号组织的组织私钥许可的有效性,在所述组织私钥许可验证有效后允许使用第二账号的组织私钥对传输数据密文解密。

另一实施例中,本发明实施例提供的一种包含计算机可执行指令的存储介质计算机可执行指令在由计算机处理器执行时用于执行在组织中对数据授权的方法,应用于作为发送方的第一账号端,该方法包括:

向服务端发起数据传输请求,使服务端从第一账号所隶属的账号组织中查找作为接收方的第二账号的组织公钥,其中,所述服务端存储有第一账号所隶属账号组织中的各个账号的组织私钥许可和组织公钥;

基于第二账号的组织公钥对传输数据加密生成传输数据密文;

将所述传输数据密文发送给第二账号。

又一实施例中,本发明实施例提供的一种包含计算机可执行指令的存储介质计算机可执行指令在由计算机处理器执行时用于执行在组织中对数据授权的方法,应用于作为接收方的第二账号端,该方法包括:

向服务端发起对从第一账号获取的传输数据密文进行解密的请求,以使服务端验证第二账号在第一账号所属账号组织的组织私钥许可的有效性;

在服务端验证第二账号在第一账号所属账号组织的组织私钥许可有效后,使用第二账号的组织私钥对所述传输数据密文解密或者通过服务端使用第二账号的组织私钥对所述传输数据密文解密。

当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上的方法操作,还可以执行本发明任意实施例所提供的在组织中对数据授权的方法中的相关操作。

通过以上关于实施例的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施例。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。

值得注意的是,上述加密数据传输装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

上述实施例并不能完全表明本申请方案的所有范围,尽管已经示出和描述了本发明的实施例,但是对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

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