CN109214201B - 一种数据共享方法、终端设备及计算机可读存储介质 - Google Patents
一种数据共享方法、终端设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN109214201B CN109214201B CN201811025481.6A CN201811025481A CN109214201B CN 109214201 B CN109214201 B CN 109214201B CN 201811025481 A CN201811025481 A CN 201811025481A CN 109214201 B CN109214201 B CN 109214201B
- Authority
- CN
- China
- Prior art keywords
- attribute
- data
- key
- encrypted data
- private 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000004364 calculation method Methods 0.000 claims description 83
- 238000004891 communication Methods 0.000 claims description 15
- 238000011217 control strategy Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 9
- 230000000007 visual effect Effects 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 claims description 2
- 230000003993 interaction Effects 0.000 claims description 2
- 238000004422 calculation algorithm Methods 0.000 description 42
- 238000012545 processing Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 11
- 238000010276 construction Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 230000006837 decompression Effects 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6272—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database by registering files or documents with a third party
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种数据共享方法、终端设备及计算机可读存储介质,应用于非对称加密领域,其中数据共享方法包括:获取明文数据,明文数据的属性包括可运算和/或可解密;根据明文数据的属性对明文数据进行加密,生成可解密且可运算的加密数据,可运算的加密数据,或者可解密的加密数据;向服务器发送加密数据,以使服务器保存加密数据。本申请根据明文数据的属性来对明文数据进行加密,然后将明文数据加密之后得到的加密数据发送给服务器,以使服务器保存该加密数据,使得其他用户也可以从服务器中获取该加密数据的同时,还保证了数据的安全,并对不同的用户的数据访问权限进行限制,于是本申请提供了一种高效的数据共享方法。
Description
技术领域
本申请涉及信息安全技术领域,尤其涉及一种数据共享方法、终端设备及计算机可读存储介质。
背景技术
云计算模型能按需提供服务,并且通过网络随时随地的访问可配置计算资源共享池,共享池包括网络、存储、服务器、服务和应用程序等。但是尽管云计算可以减少管理成本、快速地配置提供和释放资源,许多用户仍然不敢采用这种计算模式,原因是云计算是交由第三方来进行的,云计算的数据的安全无法得到保障。云计算带来的安全问题主要有虚拟化安全、应用安全、身份信息安全和数据安全等。随着云计算的普及,云端存储了大量的用户敏感信息和业务数据,一旦数据泄露,可能会给用户造成无法弥补的损失。
于是为了保证数据的安全性,用户先对数据进行加密,然后再向云端上传该加密后的数据。由于解密的密匙由用户保管,该被加密的数据除了可以被用户解密之外,无法被其他用户所使用,从而保证了数据的安全性。
数据被加密之后,虽然数据的安全性得到了保障,但加密数据无法被其他用户所使用,于是当有其他用户需要使用加密数据时,由加密数据的所有者来一一分发密匙,但这样的方法既费时又费力,使得加密数据的使用和共享效率降低。
发明内容
本申请实施例提供一种数据共享方法,可提高数据共享的效率。
第一方面,本申请实施例提供了一种数据共享方法,该数据共享方法包括:
获取明文数据,所述明文数据的属性包括可运算和/或可解密;
根据所述明文数据的属性对所述明文数据进行加密,生成可解密且可运算的加密数据,可运算的加密数据,或者可解密的加密数据;
向服务器发送所述加密数据,以使所述服务器保存所述加密数据。
结合第一方面,在第一方面的第一种实现方式中,所述根据所述明文数据的属性对所述明文数据进行加密,生成可解密的加密数据,包括:
若所述明文数据的属性为所述可解密,则随机生成第一密匙对,所述第一密匙对包括第一私匙和第一公匙;
利用所述第一公匙对所述明文数据进行基于策略属性的加密计算,生成所述可解密的加密数据,所述策略属性描述了所述加密数据的解密规则。
结合第一方面,在第一方面的第二种实现方式中,所述根据所述明文数据的属性对所述明文数据进行加密,生成可运算的加密数据,包括:
若所述明文数据的属性为所述可运算,则随机生成第二密匙对,所述第二密匙对包括第二私匙和第二公匙;
利用所述第二公匙对所述明文数据进行全同态加密,生成所述可运算的加密数据。
结合第一方面,在第一方面的第三种实现方式中,所述根据所述明文数据的属性对所述明文数据进行加密,生成可解密且可运算的加密数据,包括:
若所述明文数据的属性包含所述可运算和所述可解密,则随机生成第一密匙对和第二密匙对,所述第一密匙对包括第一私匙和第一公匙,所述第二密匙对包括第二私匙和第二公匙;
利用所述第一公匙对所述明文数据进行所述基于策略属性的加密计算,得到所述可解密的加密数据;
利用所述第二公匙对所述可加密的加密数据进行所述全同态加密计算,生成所述可解密且可运算的加密数据。
结合第一方面的第一种实现方式,在第一方面的第四种实现方式中,所述生成所述可解密的加密数据之后,还包括:
获取所述第一私匙;
对所述第一私匙进行所述基于策略属性的加密计算,得到私匙密文;
向所述服务器发送所述私匙密文,以使所述服务器保存所述私匙密文。
结合第一方面的第三种实现方式,在第一方面的第五种实现方式中,所述生成所述可解密且可运算的加密数据之后,还包括:
获取所述第一私匙和所述第二私匙;
组合所述第一私匙和所述第二私匙,得到第三私匙;
对所述第三私匙进行所述基于策略属性的加密计算,得到私匙密文;
向所述服务器发送所述私匙密文,以使所述服务器保存所述私匙密文。
结合第一方面的第一种实现方式,在第一方面的第六种实现方式中,所述利用所述第一公匙对所述明文数据进行基于策略属性的加密计算,包括:
通过显示触摸屏接收属性集,所述属性集包含至少一个属性;
根据所述属性集制定属性访问控制策略;
获取所述属性访问控制策略和所述第一密匙对中的第一公匙;
利用所述第一公匙和所述属性访问控制策略对所述明文数据进行加密。
第二方面,本申请实施例提供了一种终端设备,该终端设备包括用于执行上述第一方面的数据共享方法的单元,该终端设备包括:
获取单元,用于获取明文数据,所述明文数据的属性包括可运算和/或可解密;加密单元,用于根据所述明文数据的属性对所述明文数据进行加密,生成可解密且可运算的加密数据,可运算的加密数据,或者可解密的加密数据;发送单元,用于向服务器发送所述加密数据,以使所述服务器保存所述加密数据。
结合第二方面,在第二方面的第一种实现方式中:
所述终端设备还包括生成单元,用于若所述明文数据的属性为所述可解密,则随机生成第一密匙对,所述第一密匙对包括第一私匙和第一公匙;
所述加密单元,具体用于利用所述第一公匙对所述明文数据进行基于策略属性的加密计算,生成所述可解密的加密数据,所述策略属性描述了所述加密数据的解密规则。
结合第二方面,在第二方面的第二种实现方式中:
所述终端设备还包括生成单元,用于若所述明文数据的属性为所述可运算,则随机生成第二密匙对,所述第二密匙对包括第二私匙和第二公匙;
所述加密单元,具体用于利用所述第二公匙对所述明文数据进行全同态加密,生成所述可运算的加密数据。
结合第二方面,在第二方面的第三种实现方式中:
所述终端设备还包括生成单元,若所述明文数据的属性包含所述可运算和所述可解密,则随机生成第一密匙对和第二密匙对,所述第一密匙对包括第一私匙和第一公匙,所述第二密匙对包括第二私匙和第二公匙;
所述加密单元,具体用于利用所述第一公匙对所述明文数据进行所述基于策略属性的加密计算,得到所述可解密的加密数据;利用所述第二公匙对所述可加密的加密数据进行所述全同态加密计算,生成所述可解密且可运算的加密数据。
结合第二方面的第一种实现方式,在第二方面的第四种实现方式中:
所述获取单元,还用于获取所述第一私匙;
所述加密单元,还用于对所述第一私匙进行所述基于策略属性的加密计算,得到私匙密文;
所述发送单元,还用于向所述服务器发送所述私匙密文,以使所述服务器保存所述私匙密文。
结合第二方面的第三种实现方式,在第二方面的第五种实现方式中:
所述获取单元,用于获取所述第一私匙和所述第二私匙;
所述终端设备还包括组合单元,用于组合所述第一私匙和所述第二私匙,得到第三私匙;
所述加密单元,还用于对所述第三私匙进行所述基于策略属性的加密计算,得到私匙密文;
所述发送单元,还用于向所述服务器发送所述私匙密文,以使所述服务器保存所述私匙密文。
结合第二方面的第一种实现方式,在第二方面的第六种实现方式中:
所述终端设备还包括接收单元,用于通过显示触摸屏接收属性集,所述属性集包含至少一个属性;还包括制定单元,用于根据所述属性集制定属性访问控制策略;
所述获取单元,还用于获取所述属性访问控制策略和所述第一密匙对中的第一公匙;
所述加密单元,还用于利用所述第一公匙和所述属性访问控制策略对所述明文数据进行加密。
第三方面,本申请实施例提供了另一种终端设备,包括处理器、通信接口、输入设备、输出设备和存储器,所述处理器、通信接口、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储支持终端设备执行上述数据共享方法的计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,用以执行上述第一方面至第一方面的任意一种实现的数据共享方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行,用以执行上述第一方面至第一方面的任意一种实现的数据共享方法。
本申请根据明文数据的属性的不同来对明文数据采取不同的加密计算,使得明文数据加密之后可以被其他用户运算和/或被可信用户解密,从而对不同的用户的数据访问权限进行限制,然后再将明文数据加密之后得到的加密数据发送给服务器,以使服务器保存该加密数据,使得其他用户也可以从服务器中获取该加密数据。从而本申请利用可信第三方有效地解决了终端设备负载量过大、密钥分发与管理负担等问题,且在将数据共享给其他用户的同时还有效的限制了其他用户的操作权限,还保证了数据在不完全可信云环境下的安全性。因此本申请提供了一种高效的数据共享方法。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。
图1是本申请实施例提供的一种数据共享方法的示意流程图;
图2是本申请另一实施例提供的一种数据共享方法的示意流程图;
图3是本申请提供的一种访问控制树的示意图;
图4是本申请实施例提供的一种终端设备的示意性框图;
图5是本申请实施例提供的一种终端设备的结构性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和 “包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/ 或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为 “当... 时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
具体实现中,本申请实施例中描述的终端设备包括但不限于诸如具有触摸敏感表面(例如,触摸屏显示器和/或触摸板) 的移动电话、膝上型计算机或平板计算机之类的其它便携式设备。还应当理解的是,在某些实施例中,设备并非便携式通信设备,而是具有触摸敏感表面(例如,触摸屏显示器和/或触摸板) 的台式计算机。
在接下来的讨论中,描述了包括显示器和触摸敏感表面的终端设备。然而,应当理解的是,终端设备可以包括诸如物理键盘、鼠标和/或控制杆的一个或多个其它物理用户接口设备。
终端设备支持各种应用程序,例如以下中的一个或多个:绘图应用程序、演示应用程序、文字处理应用程序、网站创建应用程序、盘刻录应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频会议应用程序、电子邮件应用程序、即时消息收发应用程序、锻炼支持应用程序、照片管理应用程序、数码相机应用程序、数字摄影机应用程序、万维网(WEB,World Wide Web) 浏览应用程序、数字音乐播放器应用程序和/ 或数字视频播放器应用程序。
可以在终端设备上执行的各种应用程序可以使用诸如触摸敏感表面的至少一个公共物理用户接口设备。可以在应用程序之间和/或相应应用程序内调整和/或改变触摸敏感表面的一个或多个功能以及终端设备上显示的相应信息。这样,终端设备的公共物理架构(例如,触摸敏感表面)可以支持具有对用户而言直观且透明的用户界面的各种应用程序。
还需要说的是,本申请实施例中描述的服务器可以是传统服务器、大型存储***、台式电脑、笔记本电脑、平板电脑、掌上电脑、智能手机、便携式数字播放器、智能手表以及智能手环等等,本申请对此不做限制。
参见图1,是本申请实施例提供一种数据共享方法的示意流程图,如图所示数据共享方法可包括:
101:获取明文数据,明文数据的属性包括可运算和/或可解密。
在本申请实施例中,先获取需要加密的明文数据,其中,明文数据指的是没有加密的字符或者比特集等,具体形式有例如文字、比特流、位图、数字化的语音或者数字化的视频图像等,而任何终端设备都可以在不对明文数据进行解密的情况下,通过直接读取该明文数据便获知该明文数据的内容。
需要说明的是,上述明文数据根据其属性分为了三类,如果上述明文数据的属性为可运算,则表示上述明文数据在被加密的状态下可以被其他用户运算,但不能被其他用户解密;如果上述明文数据的属性为可解密,则表示上述明文数据加密之后可以被可信用户解密;如果上述明文数据的属性包含可运算和可解密,则表示上述明文数据可以在加密的状态下被其他用户运算,且能被可信用户解密。
102:根据上述明文数据的属性对上述明文数据进行加密,生成可解密且可运算的加密数据,可运算的加密数据,或者可解密的加密数据。
在本申请实施例中,根据上述明文数据的属性的不同来对上述明文数据采取不同的加密计算,具体的,若上述明文数据的属性为上述可运算,则对上述明文数据进行全同态加密,得到可运算的加密数据;若上述明文数据的属性为上述可解密,则对上述明文数据进行基于策略属性的加密计算,得到可解密的加密数据;若上述明文数据的属性包含上述可运算和上述可解密,则依次对上述明文数据进行基于策略属性的加密计算和全同态加密计算,得到可解密且可运算的加密数据。
更具体的是,若上述明文数据的属性为可解密,则随机生成第一密匙对,第一密匙对包括第一私匙和第一公匙;利用第一公匙对明文数据进行基于策略属性的加密计算,生成可解密的加密数据,其中,策略属性描述了加密数据的解密规则,表示了允许对加密数据的进行解密的用户的多种属性组合。若明文数据的属性为可运算,则随机生成第二密匙对,第二密匙对包括第二私匙和第二公匙;利用第二公匙对明文数据进行全同态加密计算,生成可运算的加密数据。若明文数据的属性包含可运算和可解密,则随机生成第一密匙对和第二密匙对,第一密匙对包括第一私匙和第一公匙,第二密匙对包括第二私匙和第二公匙;利用第一公匙对明文数据进行基于策略属性的加密计算,得到可解密的加密数据;利用第二公匙对可解密的加密数据进行全同态加密计算,生成可解密且可运算的加密数据。
需要说明的是,上述密匙对通过密匙生成算法来得到的,其中密匙对中的公匙和私匙是一一对应的。公匙和私匙不是固定的,两个密匙中一个作为私匙,那么另一个就为公匙,只是作为公匙的密匙可以被其他人知道,相对的,私匙不能被其他人知道,只能由用户自己知道。具体的,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。其中,密匙生成算法包括KeyGen密匙生成算法等。
若上述明文数据的属性为上述可运算,则对上述明文数据进行全同态加密。具体的,上述全同态加密计算指的是,把用户的重要的隐私信息进行同态加密,密钥只有数据所有者知道,云服务提供商和其他用户都无法获取,从而保证了数据的安全性。由于同态加密方式的同态性,其他用户可以直接在云端进行运算操作自己的业务数据,运算结果以密文的方式存储在云端,从而为用户提供更加方便的计算,保证了数据在不被解密的情况下可以被其他用户处理,并使得在数据被加密状态下对数据进行处理的结果,与在数据不被加密的状态下对数据进行处理的结果是一致的。于是,用户不需要向其他用户分发密匙,但是也可以让其他用户处理数据,处理过程不会泄露任何明文内容。并且处理后解压的结果也与解压之后再处理的结果无差别。
举例来说,对密文1进行全同态加密得到密文2,即其他用户可以在密文2不被解密的情况下对密文2进行数据处理,处理得到的结果与密文2被解压之后再被其他用户进行数据处理的结果相同。
进一步的举例来说,现有明文数据、明文数据/>以及全同态加密算法/>,然后分别对/>和/>进行全同态加密计算/>和/>,得到加密数据/>和加密数据/>,除此之外,可以对加密数据/>和加密数据/>通过解密函数/>来进行解密计算,而重新得到明文数据/>和明文数据/>。若对加密数据/>和加密数据/>进行运算/>,则得到加密数据/>,然后再对加密数据/>进行解密将会得到/>,可以看出对明文数据进行全同态加密计算之后进行处理与直接对明文数据进行处理是一样的,但如果对明文数据进行非全同态加密算法且非同态加密算法的加密计算的话,对加密数据进行运算之后解密的结果一般是一堆毫无意义的乱码。于是对明文数据进行全同态加密计算,可以实现数据处理权与数据所有权的分离,在可以防止数据泄露的同时,来允许非可信用户对数据的处理,以及利用云服务来提高终端设备的计算能力。
需要说的是,若上述同态算法满足,则该种同态算法满足加法同态;若上述同态算法满足/>,则该种同态算法满足乘法同态。于是如果上述同态算法只满足加法同态,则就只能进行加减法运算;于是如果上述同态算法只满足乘法同态,则就只能进行乘除法运算;如果上述同态算法同时满足加法同态和乘法同态,则称为全同态加密。使用全同态算法对数据进行加密,可以允许数据加密之后进行任意多种运算(例如加减乘除、多项式求值、指数、对数和三角函数等)。其中,加法同态算法例如有加法同态Paillier算法,乘法同态算法例如有乘法同态(RSA,Rivest-Shamir-Adleman)算法,全同态算法有例如全同态Gentry算法。
还需要说明的是,全同态加密算法还包括密匙生成算法,加密算法,解密算法和密文计算算法,其中,密匙生成算法用于生成加密过程所需的公匙,以及解密过程所需的私匙,甚至于密文计算公匙,该密匙生成算法例如有KeyGen算法等;而加密算法用于对明文数据进行加密,得到加密数据,加密算法例如有Enc算法;解密算法用于对加密数据进行解密,得到明文数据,该解密数据例如有Dec算法;密文计算算法指的是其他用户可以利用上述密文计算公式来对加密数据进行运算的算法,该密文运算算法例如有Evaluate算法,通过Evaluate算法,其他用户可以对加密数据进行任意功能函数的计算,但同时又不会泄露数据。
若上述明文数据的属性为上述可解密,则对上述明文数据进行基于策略属性的加密计算。具体的,基于策略属性的加密计算值得是采用基于策略属性加密技术来对上述明文数据进行加密,该基于策略属性加密技术为一种基于可信第三方密文策略属性加密技术的云存储共享方案,采用该加密技术的明文数据只能被可信用户访问,且明文数据的所有者也不需要对可信用户进行密钥分发等工作,只需要针对可信用户制定访问控制策略树来规范访问权限。然后每当有用户请求访问加密数据时,便将该用户的属性信息进行属性匹配,只有属性信息满足访问控制树的用户才能够用密匙进行解密操作,使得加密后的明文可以与可信用户进行共享,从而不是所有用户都可以对被加密的明文数据进行解密,只有可信用户才能对加密后的明文数据进行解密,因此实现了有效的实现访问控制功能。
还需要说明的是,上述对用户的属性进行匹配指的是,获取加密数据的基于访问策略的访问控制树,然后将用户的属性与叶子节点的属性进行匹配,如果匹配成功则用户可以获得叶子节点的秘密值,然后利用叶子节点的秘密值倒推出非叶子节点的秘密值,直到解出根节点的秘密值,然后利用该根节点的秘密值来对该加密数据进行解密,使得拥有满足预设个数的叶子节点的属性的用户才能对加密数据进行解密。其中,访问控制树用于隐藏加密密钥。
举例来说,如图3所示的基于访问策略的访问控制树,在构建该访问控制树之前先获取访问策略,即明文数据的所有者设定部分可以获取该明文数据的可信用户的属性,例如,有属性1、属性2、属性3、属性4、属性5和属性6,其中,访问策略为属性至少满足(“属性1”、“属性2”、“属性3”和“属性4”),或(“属性4”和“属性5”),或(“属性4”和“属性6”),或(“属性1”、“属性2”、“属性3”和“属性5”)(“属性1”、“属性2”、“属性3”和“属性6”)的用户为可信用户,除此之外,其他用户不具有访问权限,于是根据上述访问策略构造访问控制树,如图3所示,6个叶子节点分别表示6个属性,非叶子节点表示了数据访问者需要满足该非叶子节点下几个子节点才能被认为拥有访问权限,例如非叶子节点的门限值2/3表示了,该非叶子节点下有3个叶子节点,其中,数据访问者需要满足至少2个非叶子节点的属性才能被认为是拥有访问权限。于是数据访问者需满足此门限所表示的最少需要满足的属性的个数的时候,才能够解密此节点秘密值。
在构造了访问控制树之后,赋予该访问控制树中的每个节点的秘密值。首先赋予根节点的一个秘密值,然后根据该根节点的门限值随机生成一个多项式,例如图3所示的访问控制树,根节点的门限值为2/3,于是随机生成一个多项式,令该多项式的最高次数为根节点的门限值中的2减去1,故根节点的最高次数为1,例如,其中的常数项5为根节点的秘密值,该秘密值是需要秘密保存的数。此外,将根节点的子节点从左至右依次标记为1、2和3,于是将1、2和3分别带入到多项式/>中,得到的值分别为根节点的三个子节点的秘密值,例如于是根节点的左边第一个子节点“3/3”标记为1,传给“3/3”节点的秘密值为/>,中间“属性4”的节点被标记为2,于是根节点传给“属性4”的节点的秘密值为/>,然后根节点的子节点中最左边的子节点“1/2”被标记为3,根节点传给“1/2”节点的秘密值为/>。同样的,“3/3”节点和“1/2”节点在接收到父节点传来的值后,按照上述方式生成随机多项式,将常数项设置为父节点传来的值,此外也按照上述方式生成新的秘密值并将它传给子节点。对于叶子节点,在接受到父节点的秘密值后,用此叶子节点的属性对秘密值进行加密处理,于是上述将用户的属性与叶子节点的属性进行匹配指的是,利用用户的属性来对该秘密值的加密数据进行解密,如果用户的属性与该叶子节点的属性一致,则该用户可以成功解密该叶子节点的秘密值的加密数据,从而获得该叶子节点的秘密值。
在解密的时候,用户利用自己的属性来解密出访问控制树的叶子节点的秘密值,然后将根据该叶子节点的秘密值来解出父节点的秘密值,例如若属性1、属性2和属性3的秘密值分别为19、44和83,则说明父节点用来传递秘密值的多项式有三个点,、/>和,而该多项式的常数项即为该父节点的秘密值,于是根据这三个点便可求出多项式的常数项,即解出父节点的秘密值,从而按照这样的方法解出整个访问控制树的非叶子节点的秘密值。
若上述明文数据的属性包含上述可运算和上述可解密,则先后对上述明文数据进行基于策略属性的加密计算和全同态加密计算。具体的,上述先后对明文数据进行基于策略属性的加密计算和全同态加密计算指的是,将上述明文数据进行基于策略属性的加密计算得到第一加密数据,然后再将第一加密数据进行全同态加密计算得到第二加密数据,于是令该第二加密数据为上述加密数据,从而完成对上述明文数据的整个加密过程。通过先后对明文数据进行基于策略属性的加密计算和全同态加密计算,实现了允许任何用户对加密数据进行运算处理的同时,还可以允许属性符合访问策略的用户使用密匙来对加密数据进行解密。
进一步的,上述对明文数据进行基于策略属性的加密计算具体的:通过显示触摸屏接收属性集,属性集包含至少一个属性;根据属性集制定属性访问控制策略;获取属性访问控制策略和第一密匙对中的第一公匙;利用第一公匙和属性访问控制策略对明文数据进行加密。
在本申请实施例中,先通显示装置来接收用户选择的多个属性,将该多个属性关联起来,组成属性集,并根据属性集来构建上述访问控制策略,然后在对上述明文数据进行基于策略属性的加密计算的时候,首先获取第一公匙和属性访问控制策略,然后利用该第一公匙和属性访问策略对明文数据进行加密。
举例来说,上述根据属性集来构造访问控制策略,例如属性集中包含有6个元素,即属性1、属性2、属性3、属性4、属性5和属性6,属性集中包含(“属性1”、“属性2”、“属性3”和“属性4”)、(“属性4”和“属性5”)、(“属性4”和“属性6”)、(“属性1”、“属性2”、“属性3”和“属性5”)和(“属性1”、“属性2”、“属性3”和“属性6”)的元素组合,于是根据该属性集可以构建如图3所示的访问控制策略。
需要说明的是,第一公匙为终端设备的***随机生成的,属性访问策略即访问控制树,举例来说,如图3所示的访问控制树的6个叶子节点分别表示属性1、属性2、属性3、属性4、属性5和属性6,如图3所示,6个叶子节点分别表示6个属性,非叶子节点表示了数据访问者需要满足该非叶子节点下几个子节点才能被认为拥有访问权限,例如非叶子节点的门限值2/3表示了,该非叶子节点下有3个叶子节点,其中,数据访问者需要满足至少2个非叶子节点的属性才能被认为是拥有访问权限。于是数据访问者需满足此门限所表示的最少需要满足的属性的个数的时候,才能够解密此节点秘密值。其中,如图3所示,访问策略为属性至少满足(“属性1”、“属性2”、“属性3”和“属性4”),或(“属性4”和“属性5”),或(“属性4”和“属性6”),或(“属性1”、“属性2”、“属性3”和“属性5”)(“属性1”、“属性2”、“属性3”和“属性6”)的用户为可信用户,除此之外,其他用户不具有访问权限。
需要说明的是,上述过程也同样应用于属性为可解密和可运算的明文数据的加密过程,具体的,在对属性为可解密和可运算的明文数据进行基于策略属性的加密计算时,也同样执行上述通过显示触摸屏接收属性集;根据属性集制定属性访问控制策略;获取属性访问控制策略和第一密匙对中的第一公匙;利用第一公匙和属性访问控制策略对明文数据进行加密的过程。此处不再赘述上述对属性为可解密和可运算的明文数据进行基于策略属性的加密计算的过程。
进一步的,在上述通过显示触摸屏接收属性集之前,在上述显示触摸屏上以可视化图形的方式显示至少一个属性;在接收到显示触摸屏上的选中操作的情况下,确定选中操作所选中的至少一个属性;将该至少一个属性关联在一起,组成上述属性集,于是完成通过显示触摸屏接收属性集的操作。
在本申请实施例中,终端设备在显示屏上显示多个可供用户的查看和选择的属性,然后用户可以通过点击、按压和/或滑动等选中操作来选择用于对明文数据进行的属性集,该属性集包括了允许对加密数据的解密的用户的至少一个属性。
可以看出,数据拥有者可以修改和选择属性集,从而选择可以对加密数据进行解密的用户,于是通过本申请实施例可以大大增加数据的控制粒度,对可以对加密数据进行解密的用户进行了有效的控制和筛选,于是进一步的提高了本申请实施例的数据共享方法的效率和实用性。
103:向服务器发送上述加密数据,以使服务器保存上述加密数据。
在本申请实施例中,终端设备对上述明文数据进行加密之后,将该明文数据发送给服务器,以使得该服务器保存该加密数据,然后其他用户可以直接在服务器上获取加密数据,而不用直接向数据的所有者索要。
进一步的,若上述明文数据的属性为可解密,则对该明文数据进行基于策略属性的加密计算,得到可解密的加密数据之后,获取上述第一私匙;对第一私匙进行基于策略属性的加密计算,得到私匙密文;向服务器发送私匙密文,以使服务器保存私匙密文。
在本申请实施例中,如果上述明文数据的属性为可解密,则说明该明文数据进行基于策略属性的加密计算之后得到的加密数据可以被可信用户使用密匙来进行解密。于是用户若要想对该加密数据成功进行解密,除了用户需要满足该加密数据的属性策略之外,还需要同时使用密匙才行。于是当上述明文数据的属性为可解密,则终端设备获取该加密数据的私匙,并对该私匙进行基于策略属性的加密计算,然后将该私匙加密之后得到的私匙密文发送到服务器,让服务器代为保存。于是其他用户在对加密数据进行解密的时候,首先获取私匙密文,然后对该私匙密文进行解密得到加密数据的私匙,最后再利用该私匙对加密数据进行解密。
于是本申请实施例通过对加密数据的加密数据的私匙进行基于策略属性的加密计算,从而增加上述加密数据的解密难度,使得加密数据除了本身被加密之外,用于解密该加密数据的私匙也加密,从而对用户的数据添加了双重保险,使得加密数据的私匙只能被第一可信用户解密,而加密数据只能被第二可信用户解密,其中,第一可信用户包括第二可信用户,第一可信用户的数量大于或者等于第二可信用户,从而在本申请实施例中,可以简化加密数据的访问控制树,将允许访问该加密数据的用户的一部分属性描述在上述私匙密文的访问控制树中,例如上述密文私匙只能被女士访问,上述加密数据只能被学生访问,于是实际上综合起来该加密数据只能被女学生访问。于是相比于构建包含“女士”和“学生”两个属性的访问控制树来说,构建两个分别包含“女士”和“学生”的访问控制树更为简单,尤其是在访问控制树的属性非常多非常复杂的时候使用本申请实施例所描述的方法,可以大大减少访问控制树的复杂度,也可以大大数据加解密的速度。
需要说明的是,在向服务器发送该加密数据和加密数据的私匙密文之后,将该加密数据与该加密数据的私匙密文关联起来,从而使得服务器在获取到该加密数据之后,可以根据该加密数据在服务器中获取到该加密数据的私匙密文。
进一步的,若上述明文数据的属性为可解密和可运算,则对该明文数据进行基于策略属性的加密计算之后再进行全同态加密计算,得到可解密且可运算的加密数据之后,获取第一私匙和第二私匙;组合第一私匙和第二私匙,得到第三私匙;对第三私匙进行基于策略属性的加密计算,得到私匙密文;向服务器发送私匙密文,以使该服务器保存上述私匙密文。
在本申请实施例中,若明文数据的属性为可解密和可运算,只要明文数据中包含可解密,则说明该明文数据依次进行基于策略属性的加密计算和全同态加密计算之后得到的加密数据可以被可信用户使用密匙来进行解密。于是用户若要想对该加密数据成功进行解密,一方面用户需要有第二私匙才能解开可解密且可运算的加密数据的第一层加密,从而得到可解密的加密数据,另一方面,用户还满足可解密的加密数据的属性策略之外,还需要同时使用第一密匙才行。于是当上述明文数据的属性为可解密和可运算时,获取该可解密且可运算的加密数据的第一私匙和第二私匙,并将该第一私匙和第二私匙组合在一起,得到第三私匙,从而本申请实施例对该第三私匙进行基于策略属性的加密计算,并将该第三私匙加密之后得到的私匙密文发送到服务器,让服务器代为保存。于是其他用户在对加密数据进行解密的时候,首先获取私匙密文,然后对该私匙密文进行解密得到可解密且可运算的加密数据的第三私匙,然后按照第一私匙和第二私匙的组合规则,来将第三私匙拆分开来,反推得到第一私匙和第二私匙,最后再利用第二私匙和第一私匙依次对可解密且可运算的加密数据进行解密,从而得到明文数据,其中,第一私匙和第二私匙的组合规则有顺序组合或者交叉组合,顺序组合指的是将第一私匙的首或尾与第二私匙的尾或首相连,从而形成一列序列,交叉组合指的是将第一私匙和第二私匙之间按照预设位数的序列交叉组合在一起,例如将第一私匙分为第一一部分和第一二部分,将第二私匙分为第二一部分和第二二部分,然后按照第一一部分、第二一部分、第一二部分和第二二部分的顺序来组合。
需要说明的是,若上述明文数据的属性包含可解密的时候,对上述文明数据进行基于策略属性的加密计算得到第一加密数据之后,上述终端设备获取的私匙为用于解密该第一加密数据的第一私匙;若上述明文数据的属性除了可解密之外,还包含可运算,则在上述第一加密数据的基础上再进行全同态加密计算得到第二加密数据,于是上述终端设备获取私匙包括用于解密第一加密数据的第一私匙,以及用于解密第二加密数据的第二私匙。
本申请实施例的终端设备根据明文数据的属性的不同来对明文数据采取不同的加密计算,使得明文数据加密之后可以被其他用户运算和/或被可信用户解密,从而对不同的用户的数据访问权限进行限制,具体的,若上述明文数据的属性为上述可运算,则对上述明文数据进行全同态加密,使得其他用户可以对加密数据进行运算处理,但不能对加密数据进行解密,其中,其他用户对加密数据进行运算处理指的是,其他用户在该加密数据未被解密状态下,可以对该加密数据进行特定的代数运算、检索和比较等操作,且使得在加密数据在加密状态下被处理的结果,与加密数据被解密之后被处理的结果一致;若上述明文数据的属性为上述可解密,则对上述明文数据进行基于策略属性的加密计算,使得属性符合访问策略的用户使用密匙对加密数据进行解密;若上述明文数据的属性包含上述可运算和上述可解密,则先后对上述明文数据进行基于策略属性的加密计算和全同态加密计算,使得其他用户可以对加密数据进行运算处理的同时,还可以允许属性符合访问策略的用户使用密匙对加密数据进行解密。从而本申请可以对不同的用户的数据访问权限进行限制,然后终端设备将明文数据加密之后得到的加密数据发送给服务器,以使服务器保存该加密数据,使得其他用户也可以从服务器中获取该加密数据。从而本申请利用可信第三方有效地解决了终端设备负载量过大、密钥分发与管理负担等问题,且在将数据共享给其他用户的同时还有效的限制了其他用户的操作权限,还保证了数据在不完全可信云环境下的安全性。因此本申请提供了一种高效的数据共享方法。
参见图2,是本申请另一实施例提供一种数据共享方法的示意流程图,如图所示数据共享方法可包括:
201:获取明文数据,明文数据的属性包括可运算和/或可解密。
202:若上述明文数据的属性为可解密,则随机生成第一密匙对,第一密匙对包括第一私匙和第一公匙。
在本发明实施例中,若上述明文数据的属性为可解密,则***随机生成第一密匙对,第一密匙对包括第一私匙和第一公匙。
需要说明的是,上述密匙对通过密匙生成算法来得到的,其中密匙对中的公匙和私匙是一一对应的。公匙和私匙不是固定的,两个密匙中一个作为私匙,那么另一个就为公匙,只是作为公匙的密匙可以被其他人知道,相对的,私匙不能被其他人知道,只能由用户自己知道。具体的,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。其中,密匙生成算法包括KeyGen密匙生成算法等。
203:通过显示触摸屏接收属性集,属性集包含至少一个属性。
在本发明实施例中,在接收到显示触摸屏上的选中操作的情况下,确定选中操作所选中的至少一个属性;将该至少一个属性关联在一起,组成上述属性集,于是完成通过显示触摸屏接收属性集的操作。
进一步的,在上述通过显示触摸屏接收属性集之前,在上述显示触摸屏上以可视化图形的方式显示至少一个属性。
在本申请实施例中,终端设备在显示屏上显示多个可供用户的查看和选择的属性,然后用户可以通过点击、按压和/或滑动等选中操作来选择用于对明文数据进行的属性集,该属性集包括了允许对加密数据的解密的用户的至少一个属性。
可以看出,数据拥有者可以修改和选择属性集,从而选择可以对加密数据进行解密的用户,于是通过本申请实施例可以大大增加数据的控制粒度,对可以对加密数据进行解密的用户进行了有效的控制和筛选,于是进一步的提高了本申请实施例的数据共享方法的效率和实用性。
204:根据上述属性集制定属性访问控制策略。
在本发明实施例中,由于上述属性集包含了多个属性,该多个属性为被允许对加密数据进行解密的用户的属性,于是在上述属性集的基础上执行属性访问控制策略,该属性访问控制策略包含了可以对加密数据的进行解密的不同用户的属性组合。
举例来说,上述根据属性集来构造访问控制策略,例如属性集中包含有6个元素,即属性1、属性2、属性3、属性4、属性5和属性6,属性集中包含(“属性1”、“属性2”、“属性3”和“属性4”)、(“属性4”和“属性5”)、(“属性4”和“属性6”)、(“属性1”、“属性2”、“属性3”和“属性5”)和(“属性1”、“属性2”、“属性3”和“属性6”)的元素组合,于是根据该属性集可以构建如图3所示的访问控制策略。
205:获取上述属性访问控制策略和上述第一密匙对中的第一公匙。
206:利用上述第一公匙和上述属性访问控制策略对上述明文数据进行加密,生成可解密的加密数据。
在本发明实施例中,利用上述第一公匙和上述属性访问控制策略对明文数据进行加密,生成可解密的加密数据。
举例来说,如图3所示的访问控制树的6个叶子节点分别表示属性1、属性2、属性3、属性4、属性5和属性6,如图3所示,6个叶子节点分别表示6个属性,非叶子节点表示了数据访问者需要满足该非叶子节点下几个子节点才能被认为拥有访问权限,例如非叶子节点的门限值2/3表示了,该非叶子节点下有3个叶子节点,其中,数据访问者需要满足至少2个非叶子节点的属性才能被认为是拥有访问权限。于是数据访问者需满足此门限所表示的最少需要满足的属性的个数的时候,才能够解密此节点秘密值。其中,如图3所示,访问策略为属性至少满足(“属性1”、“属性2”、“属性3”和“属性4”),或(“属性4”和“属性5”),或(“属性4”和“属性6”),或(“属性1”、“属性2”、“属性3”和“属性5”)(“属性1”、“属性2”、“属性3”和“属性6”)的用户为可信用户,除此之外,其他用户不具有访问权限。
207:获取上述第一私匙,并对上述第一私匙进行基于策略属性的加密计算,得到私匙密文。
在本发明实施例中,除了对明文数据进行基于策略属性的加密算法得到加密数据之外,还会对用于对该加密数据进行解密的第一私匙进行基于策略属性的加密,然后得到加密之后的私匙密文。
208:向服务器发送上述可解密的加密数据和上述私匙密文,以使服务器保存该可解密的加密数据和该私匙密文。
在本申请实施例中,终端设备向服务器发送上述加密数据和私匙密文,使得服务器保存该加密数据和私匙密文,于是其他用户可以直接从服务器中获取该加密数据以及该加密数据的私匙密文,在对私匙密文进行解密得到私匙之后,再利用该私匙对加密数据进行解密。
需要说明的是,在向服务器发送该加密数据和加密数据的私匙密文之后,将该加密数据与该加密数据的私匙密文关联起来,从而使得服务器在获取到该加密数据之后,可以根据该加密数据在服务器中获取到该加密数据的私匙密文。
还需要说明的是,若上述明文数据的属性包含可解密的时候,对上述文明数据进行基于策略属性的加密计算得到第一加密数据之后,上述终端设备获取的私匙为用于解密该第一加密数据的第一私匙;若上述明文数据的属性除了可解密之外,还包含可运算,则在上述第一加密数据的基础上再进行全同态加密计算得到第二加密数据,于是上述终端设备获取私匙包括用于解密第一加密数据的第一私匙,以及用于解密第二加密数据的第二私匙。
本申请实施例通过对加密数据的加密数据的私匙进行基于策略属性的加密计算,从而增加上述加密数据的解密难度,使得加密数据除了本身被加密之外,用于解密该加密数据的私匙也加密,相当于数据安全的双重保险。由于加密数据和加密数据的私匙都采用了基于策略属性的加密计算,因此使得加密数据的私匙只能被第一可信用户解密,而加密数据只能被第二可信用户解密,其中,第一可信用户包括第二可信用户,第一可信用户的数量大于或者等于第二可信用户,从而在本申请实施例中,可以简化对加密数据进行基于策略属性的加密计算中所采取的访问控制树,将允许访问该加密数据的用户的一部分属性描述在上述对私匙密文进行基于策略属性的加密计算中所采取的访问控制树中,例如上述密文私匙只能被女士访问,上述加密数据只能被学生访问,于是综合起来实际上该加密数据只能被女学生访问。于是相比于构建包含“女士”和“学生”两个属性的访问控制树来说,构建两个分别包含“女士”和“学生”的访问控制树更为简单,尤其是在访问控制树的属性非常多非常复杂的时候使用本申请实施例所描述的方法,可以大大减少访问控制树的复杂度,也可以大大高数据加解密的速度,总的来说本申请进一步的提高了在第三方设备中的数据的安全性和共享的效率。
需要说明的是,上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
本申请实施例还提供一种终端设备,该终端设备用于执行前述任一项的数据共享方法的单元。具体地,参见图4,是本申请实施例提供的一种终端设备的示意框图。本实施例的终端设备包括:获取单元410、加密单元420和发送单元430。
获取单元410,用于获取明文数据,明文数据的属性包括可运算和/或可解密;加密单元420,用于根据明文数据的属性对明文数据进行加密,生成可解密且可运算的加密数据,可运算的加密数据,或者可解密的加密数据;发送单元430,用于向服务器发送加密数据,以使服务器保存加密数据。
进一步的,上述终端设备还包括生成单元440,用于若明文数据的属性为可解密,则随机生成第一密匙对,第一密匙对包括第一私匙和第一公匙;上述加密单元420,具体用于利用第一公匙对明文数据进行基于策略属性的加密计算,生成可解密的加密数据,策略属性描述了加密数据的解密规则。
进一步的,上述终端设备还包括生成单元440,用于若明文数据的属性为可运算,则随机生成第二密匙对,第二密匙对包括第二私匙和第二公匙;上述加密单元420,具体用于利用第二公匙对明文数据进行全同态加密,生成可运算的加密数据。
进一步的,上述终端设备还包括生成单元440,若明文数据的属性包含可运算和可解密,则随机生成第一密匙对和第二密匙对,第一密匙对包括第一私匙和第一公匙,第二密匙对包括第二私匙和第二公匙;上述加密单元420,具体用于利用第一公匙对明文数据进行基于策略属性的加密计算,得到可解密的加密数据;利用第二公匙对可加密的加密数据进行全同态加密计算,生成可解密且可运算的加密数据。
进一步的,上述获取单元410,还用于获取第一私匙;上述加密单元420,还用于对第一私匙进行基于策略属性的加密计算,得到私匙密文;上述发送单元430,还用于向服务器发送私匙密文,以使服务器保存私匙密文。
进一步的,上述获取单元410,用于获取第一私匙和第二私匙;上述终端设备还包括组合单元450,用于组合第一私匙和第二私匙,得到第三私匙;上述加密单元420,还用于对第三私匙进行基于策略属性的加密计算,得到私匙密文;上述发送单元430,还用于向服务器发送私匙密文,以使服务器保存私匙密文。
进一步的,上述终端设备还包括接收单元460,用于通过显示触摸屏接收属性集,属性集包含至少一个属性;还包括制定单元470,用于根据属性集制定属性访问控制策略;上述获取单元410,还用于获取属性访问控制策略和第一密匙对中的第一公匙;上述加密单元420,还用于利用第一公匙和属性访问控制策略对明文数据进行加密。
本申请实施例根据明文数据的属性确定该明文数据是否允许被其他终端设备运算和/或是否允许被其他终端设备解密,然后加密单元采用不同的加密方法来对不同属性的明文数据进行加密,发送单元再将加密明文数据得到的加密数据发送给第三方的服务器,以使第三方的服务器来保存该加密数据,从而其他终端设备也可以从第三方的服务器中获取该加密数据,然后对不同的加密数据进行运算或者解密等。从而本申请实施例利用可信第三方有效地解决了终端设备负载量过大、密钥分发与管理负担等问题,且在将数据共享给其他用户的同时还有效的限制了其他用户的操作权限,保证了数据在不完全可信云环境下的安全性。因此本申请提供了一种高效的数据共享方法。
参见图5,是本申请另一实施例提供的一种终端设备示意框图。如图所示的本实施例中的终端设备可以包括:一个或多个处理器510、通信接口520、输入设备530、输出设备540和存储器550。上述处理器510、通信接口520和存储器550通过总线560连接。通信接口520用于终端设备与其他终端设备进行数据交互,存储器550用于存储计算机程序,计算机程序包括程序指令,处理器510用于执行存储器550存储的程序指令。
处理器510,用于执行获取单元410的功能,用于获取明文数据,明文数据的属性包括可运算和/或可解密;还用于执行加密单元420的功能,用于根据明文数据的属性对明文数据进行加密,生成可解密且可运算的加密数据,可运算的加密数据,或者可解密的加密数据。
通信接口520,用于执行发送单元430的功能,用于向服务器发送加密数据,以使服务器保存加密数据。
进一步的,处理器510还用于执行生成单元440的功能,用于若明文数据的属性为可解密,则随机生成第一密匙对,第一密匙对包括第一私匙和第一公匙;还具体用于利用第一公匙对明文数据进行基于策略属性的加密计算,生成可解密的加密数据,策略属性描述了加密数据的解密规则。
进一步的,处理器510还用于执行生成单元440的功能,用于若明文数据的属性为可运算,则随机生成第二密匙对,第二密匙对包括第二私匙和第二公匙;还具体用于利用第二公匙对明文数据进行全同态加密,生成可运算的加密数据。
进一步的,处理器510还用于执行生成单元440的功能,若明文数据的属性包含可运算和可解密,则随机生成第一密匙对和第二密匙对,第一密匙对包括第一私匙和第一公匙,第二密匙对包括第二私匙和第二公匙;还具体用于利用第一公匙对明文数据进行基于策略属性的加密计算,得到可解密的加密数据;利用第二公匙对可加密的加密数据进行全同态加密计算,生成可解密且可运算的加密数据。
进一步的,处理器510还用于获取第一私匙;还用于对第一私匙进行基于策略属性的加密计算,得到私匙密文;
相应的,通信接口520,还用于向服务器发送私匙密文,以使服务器保存私匙密文。
进一步的,处理器510,还用于获取第一私匙和第二私匙;还用于执行组合单元450的功能,用于组合第一私匙和第二私匙,得到第三私匙;还用于对第三私匙进行基于策略属性的加密计算,得到私匙密文。
相应的,通信接口520,还用于向服务器发送私匙密文,以使服务器保存私匙密文。
进一步的,上述终端设备还包括输入设备530,用于执行接收单元460的功能,用于通过显示触摸屏接收属性集,属性集包含至少一个属性。
相应的,处理器510还用于执行制定单元470的功能,用于根据属性集制定属性访问控制策略;还用于获取属性访问控制策略和第一密匙对中的第一公匙;还用于利用第一公匙和属性访问控制策略对明文数据进行加密。
应当理解,在本申请实施例中,所称处理器510可以是中央处理单元 (CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器 (DigitalSignal Processor,DSP)、专用集成电路 (Application Specific Integrated Circuit,ASIC)、现成可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器550可以包括只读存储器和随机存取存储器,并向处理器510提供指令和数据。存储器550的一部分还可以包括非易失性随机存取存储器。例如,存储器550还可以存储设备类型的信息。
具体实现中,本申请实施例中所描述的处理器510和通信接口520可执行本申请实施例提供的数据共享方法的第一实施例和第二实施例中所描述的实现方式,也可执行本申请实施例所描述的终端设备的实现方式,在此不再赘述。
在本申请的另一实施例中提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令被处理器执行。
计算机可读存储介质可以是前述任一实施例的终端设备的内部存储单元,例如终端设备的硬盘或内存。计算机可读存储介质也可以是终端设备的外部存储设备,例如终端设备上配备的插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(SecureDigital, SD)卡,闪存卡(Flash Card)等。进一步地,计算机可读存储介质还可以既包括终端设备的内部存储单元也包括外部存储设备。计算机可读存储介质用于存储计算机程序以及终端设备所需的其他程序和数据。计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同数据共享方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的终端设备和单元的具体工作过程,可以参考前述数据共享方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的终端设备和数据共享方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备( 可以是个人计算机,服务器,或者网络设备等 ) 执行本申请各个实施例数据共享方法的全部或部分步骤。而前述的存储介质包括 :U 盘、移动硬盘、只读存储器 (ROM,Read-OnlyMemory)、随机存取存储器 (RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (7)
1.一种数据共享方法,其特征在于,包括:
获取明文数据,所述明文数据的属性包括可运算和可解密;
根据所述明文数据的属性对所述明文数据进行加密,生成可解密且可运算的加密数据,可运算的加密数据,或者可解密的加密数据,包括:若所述明文数据的属性包含所述可运算和所述可解密,则随机生成第一密匙对和第二密匙对,所述第一密匙对包括第一私匙和第一公匙,所述第二密匙对包括第二私匙和第二公匙;利用所述第一公匙对所述明文数据进行基于策略属性的加密计算,得到所述可解密的加密数据;利用所述第二公匙对所述可解密的加密数据进行全同态加密计算,生成所述可解密且可运算的加密数据,
其中,利用所述第一公匙对所述明文数据进行基于策略属性的加密计算包括:在显示触摸屏上以可视化图形的方式显示至少一个属性;在接收到显示触摸屏上的选中操作的情况下,确定选中操作所选中的至少一个属性;将该至少一个属性关联在一起,组成属性集,通过显示触摸屏接收属性集,属性集包含允许对加密数据的解密的用户的至少一个属性;根据属性集制定属性访问控制策略;获取属性访问控制策略和第一密匙对中的第一公匙;利用第一公匙和属性访问控制策略对明文数据进行加密;
向服务器发送所述加密数据,以使所述服务器保存所述加密数据;
获取所述第一私匙和所述第二私匙;
组合所述第一私匙和所述第二私匙,得到第三私匙;
对所述第三私匙进行所述基于策略属性的加密计算,得到私匙密文;
向所述服务器发送所述私匙密文,以使所述服务器保存所述私匙密文。
2.根据权利要求1所述的数据共享方法,其特征在于,所述根据所述明文数据的属性对所述明文数据进行加密,生成可解密的加密数据,包括:
若所述明文数据的属性为所述可解密,则随机生成第一密匙对,所述第一密匙对包括第一私匙和第一公匙;
利用所述第一公匙对所述明文数据进行基于策略属性的加密计算,生成所述可解密的加密数据,所述策略属性描述了所述加密数据的解密规则。
3.根据权利要求1所述的数据共享方法,其特征在于,所述根据所述明文数据的属性对所述明文数据进行加密,生成可运算的加密数据,包括:
若所述明文数据的属性为所述可运算,则随机生成第二密匙对,所述第二密匙对包括第二私匙和第二公匙;
利用所述第二公匙对所述明文数据进行全同态加密计算,生成所述可运算的加密数据。
4.根据权利要求2所述的数据共享方法,其特征在于,所述生成所述可解密的加密数据之后,还包括:
获取所述第一私匙;
对所述第一私匙进行所述基于策略属性的加密计算,得到私匙密文;
向所述服务器发送所述私匙密文,以使所述服务器保存所述私匙密文。
5.一种终端设备,其特征在于,包括用于执行如权利要求1-4任一权利要求所述的方法的单元,所述终端设备包括获取单元、加密单元、发送单元和生成单元。
6.一种终端设备,其特征在于,包括处理器、通信接口、输入设备、输出设备和存储器,所述处理器、通信接口、输入设备、输出设备和存储器相互连接,其中,所述通信接口用于与其他终端设备进行数据交互,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,用以执行如权利要求1-4任一项所述的数据共享方法。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-4任一项所述的数据共享方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811025481.6A CN109214201B (zh) | 2018-08-31 | 2018-08-31 | 一种数据共享方法、终端设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811025481.6A CN109214201B (zh) | 2018-08-31 | 2018-08-31 | 一种数据共享方法、终端设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109214201A CN109214201A (zh) | 2019-01-15 |
CN109214201B true CN109214201B (zh) | 2024-03-19 |
Family
ID=64986626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811025481.6A Active CN109214201B (zh) | 2018-08-31 | 2018-08-31 | 一种数据共享方法、终端设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109214201B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111464282B (zh) * | 2019-01-18 | 2024-04-26 | 百度在线网络技术(北京)有限公司 | 基于同态加密的数据处理方法和装置 |
CN110378128A (zh) * | 2019-06-17 | 2019-10-25 | 深圳壹账通智能科技有限公司 | 数据加密方法、装置及终端设备 |
CN110943834B (zh) * | 2019-12-06 | 2023-02-28 | 歌尔科技有限公司 | 网络设备及其密码处理方法、控制装置和可读存储介质 |
CN111832042B (zh) * | 2020-06-23 | 2024-02-13 | 武汉菲奥达物联科技有限公司 | 一种公寓学生数据安全管理方法及装置 |
WO2022099495A1 (zh) * | 2020-11-11 | 2022-05-19 | 深圳技术大学 | 云计算环境中的密文搜索方法及***、设备 |
CN112685760A (zh) * | 2021-01-08 | 2021-04-20 | 浙江泰科数联信息技术有限公司 | 一种区块链上可授权的金融数据隐私处理与共享的方法 |
WO2022193309A1 (zh) * | 2021-03-19 | 2022-09-22 | 深圳大学 | 一种密文策略属性基加密方法、装置及电子设备 |
CN113259137A (zh) * | 2021-07-15 | 2021-08-13 | 广东电网有限责任公司江门供电局 | 一种基于用户属性的电网访问控制方法、***和存储介质 |
CN115529194B (zh) * | 2022-11-28 | 2023-03-10 | 中国人民解放军国防科技大学 | 一种数据管理方法、***、设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104079574A (zh) * | 2014-07-02 | 2014-10-01 | 南京邮电大学 | 云环境下基于属性和同态混合加密的用户隐私保护方法 |
WO2016182509A1 (en) * | 2015-05-13 | 2016-11-17 | Agency For Science, Technology And Research | Network system, and methods of encrypting data, decrypting encrypted data in the same |
CN107154845A (zh) * | 2017-04-11 | 2017-09-12 | 中国人民武装警察部队工程大学 | 一种基于属性的bgn型密文解密外包方案 |
CN107181584A (zh) * | 2016-03-09 | 2017-09-19 | 郑珂威 | 非对称完全同态加密及其密钥置换和密文交割方法 |
CN108063754A (zh) * | 2017-11-10 | 2018-05-22 | 西安电子科技大学 | 面向可穿戴健康监测设备匿名化数据的属性基加密方法 |
-
2018
- 2018-08-31 CN CN201811025481.6A patent/CN109214201B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104079574A (zh) * | 2014-07-02 | 2014-10-01 | 南京邮电大学 | 云环境下基于属性和同态混合加密的用户隐私保护方法 |
WO2016182509A1 (en) * | 2015-05-13 | 2016-11-17 | Agency For Science, Technology And Research | Network system, and methods of encrypting data, decrypting encrypted data in the same |
CN107181584A (zh) * | 2016-03-09 | 2017-09-19 | 郑珂威 | 非对称完全同态加密及其密钥置换和密文交割方法 |
CN107154845A (zh) * | 2017-04-11 | 2017-09-12 | 中国人民武装警察部队工程大学 | 一种基于属性的bgn型密文解密外包方案 |
CN108063754A (zh) * | 2017-11-10 | 2018-05-22 | 西安电子科技大学 | 面向可穿戴健康监测设备匿名化数据的属性基加密方法 |
Non-Patent Citations (1)
Title |
---|
云计算环境中基于策略的多用户全同态加密方法;刘青等;广西大学学报(自然科学版);20160625(第03期);第786-795页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109214201A (zh) | 2019-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109214201B (zh) | 一种数据共享方法、终端设备及计算机可读存储介质 | |
US11750591B2 (en) | Key attestation statement generation providing device anonymity | |
US10903976B2 (en) | End-to-end secure operations using a query matrix | |
CN106612285B (zh) | 基于对等网络的分布式云数据管理方法及*** | |
US20180212753A1 (en) | End-To-End Secure Operations Using a Query Vector | |
US11115393B2 (en) | Message server, method for operating message server and computer-readable recording medium | |
US20170118183A1 (en) | User terminals, and methods and computer-readable recording mediums storing computer programs for transmitting and receiving messages | |
US9641328B1 (en) | Generation of public-private key pairs | |
El Bouchti et al. | Encryption as a service for data healthcare cloud security | |
CN112003696A (zh) | Sm9密钥生成方法、***、电子设备、装置及存储介质 | |
Matta et al. | A comparative survey on data encryption Techniques: Big data perspective | |
CN107277028A (zh) | 在应用间传输聊天表情的方法及装置、设备、存储介质 | |
Jammula et al. | Hybrid lightweight cryptography with attribute-based encryption standard for secure and scalable IoT system | |
Yan et al. | CloudFile: A cloud data access control system based on mobile social trust | |
Patil et al. | Pixel co-ordinate-based secret image sharing scheme with constant size shadow images | |
WO2023185360A1 (zh) | 一种数据处理方法、装置、***、设备及存储介质 | |
Tsai et al. | An ECC-based secure EMR transmission system with data leakage prevention scheme | |
WO2022089518A1 (zh) | 地址的生成方法、区块链信息的处理方法以及相关设备 | |
CN115599959A (zh) | 数据共享方法、装置、设备及存储介质 | |
Arfan | Mobile cloud computing security using cryptographic hash function algorithm | |
Abdulhamid et al. | Development of blowfish encryption scheme for secure data storage in public and commercial cloud computing environment | |
Kumaresan et al. | Design of new one-time pad encryption using non-uniform cellular automata with parity bit | |
WO2023078013A1 (zh) | 加密方法、装置及相关设备 | |
Christy | Data Prevention Technique For Securing The Data | |
CN117932685A (zh) | 基于纵向联邦学习的隐私数据处理方法及相关设备 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |