CN104539610A - 一种提高外包加密数据共享功能的代理重加密方法 - Google Patents

一种提高外包加密数据共享功能的代理重加密方法 Download PDF

Info

Publication number
CN104539610A
CN104539610A CN201410826688.9A CN201410826688A CN104539610A CN 104539610 A CN104539610 A CN 104539610A CN 201410826688 A CN201410826688 A CN 201410826688A CN 104539610 A CN104539610 A CN 104539610A
Authority
CN
China
Prior art keywords
data
gamma
user
private key
clouds
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.)
Granted
Application number
CN201410826688.9A
Other languages
English (en)
Other versions
CN104539610B (zh
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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201410826688.9A priority Critical patent/CN104539610B/zh
Publication of CN104539610A publication Critical patent/CN104539610A/zh
Application granted granted Critical
Publication of CN104539610B publication Critical patent/CN104539610B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种提高外包加密数据共享功能的代理重加密方法,其应用在包括多个用户、云端以及KGC的存云存储系统中,该方法包括:根据预先确定的安全级别构建对应的双丝性映射,并根据该双线性映射和系统中的用户数量计算主公共密钥PK和主秘密参数MK,根据生成的主秘密参数MK和每个用户所具有的身份ID,为每个用户生成私钥SK,并将该私钥发送给对应的用户,接收由接收方集合向数据拥有者发送的数据请求,并根据该数据请求判断该数据请求对应的数据是否已经存放在云端,如果不是则使用接收方集合S1的公钥对该数据请求对应的数据m进行加密。本发明能够解决现有方法中存在的开销大、不能实现对多用户广播、以及计算和传输开销大的技术问题。

Description

一种提高外包加密数据共享功能的代理重加密方法
技术领域
本发明属于云计算数据安全领域,更具体地,涉及一种提高外包加密数据共享功能的重加密方法。
背景技术
外包数据是指存储在云端的数据。随着个人数据量越来越大,也随着人们对数据访问便利性的要求越来越高,越来越多的数据被存放在云端。如何保证外包数据的安全性也成为了不可避免的问题。为了保证数据的私密性,现在采取的手段是将数据进行加密后存放在云端,但是加密数据的高效共享成为一个难题。
Chu等人在“条件代理广播重加密”一文中提出了一种带细粒度控制的广播代理重加密方法,此方法中共实现了细粒度控制、广播和代理重加密三种功能,细粒度控制是指将分享的粒度控制到单个文件级,广播是指可以为多个用户生成一条密文,代理重加密是指云端可以根据数据拥有者生成的代理重加密密钥将一条可以被用户群S1解密的数据重加密成用户群S2解密的数据。使用此方法可以实现外包加密数据共享的高效性。M.Green等人在《基于身份的代理重加密》一中提出了基于身份的代理重加密方案,在此方案中将基于身份加密与代理重加密结合起来,可以对在基于身份加密的体系下实现代理重加密。相比于传统的公钥体制,基于身份加密具有不需证书管理的优势。Shao等人在《基于身份的条件代理重加密》一文中提出了带细粒度控制的基于身份代理重加密方案,此方案在基于身份代理重加密方案的基础上加入了细粒度控制,实现了对文件级的外包密文数据的共享。
然而,现有上述方法存在以下问题:
(1)在上述第一种方法中,使用的加密体系是传统的公钥体系,而传统的公钥体系的运行过程中需要证书管理的证书的认证,这会带来很大的开销;
(2)在上述第二种方法中,虽然使用了基于身份加密的体系,免去了证书管理和认证方面的开销,但是它并不能将粒度控制到单个的文件级,也不能实现对多用户的广播;
(3)在上述第三种方法中,并不能实现对多用户的广播,在多用户请求分享外包密文数据的情况下,会有很大的计算和传输开销。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种提高外包加密数据共享功能的代理重加密方法,其目的在于解决现有方法中存在的开销大、不能实现对多用户广播、以及计算和传输开销大的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种提高外包加密数据共享功能的代理重加密方法,其应用在包括多个用户、云端以及KGC的存云存储系统中,该方法包括以下步骤:
(1)根据预先确定的安全级别构建对应的双丝性映射,并根据该双线性映射和系统中的用户数量计算主公共密钥PK和主秘密参数MK;
(2)根据生成的主秘密参数MK和每个用户所具有的身份ID,为每个用户生成私钥SK,并将该私钥发送给对应的用户;
(3)接收由接收方集合向数据拥有者发送的数据请求,并根据该数据请求判断该数据请求对应的数据是否已经存放在云端,如果是则转入步骤(5),否则转入步骤(4);
(4)使用接收方集合S1的公钥对该数据请求对应的数据m进行加密,以生成初始密文C,并经由云端将初始密文转发给发送数据请求的用户,由接收方集合S1在收到初始密文后用其私钥进行解密;
(5)数据拥有者生成与相应初始密文对应的代理重加密密钥,将其发送给云端,云端对初始密文做重加密生成重加密密文C2,将其发送给请求方集合S2中的用户,请求方集合S2中的用户收到后可用其私钥对其进行解密。
优选地,步骤(1)包括以下子步骤:
(1-1)根据所需的安全级别设定安全参数λ,并构建双线性映射e:G1×G1→GT,其中G1和G2为椭圆曲线群,这两个椭圆曲线群的阶数p的长度等于安全参数λ;
(1-2)在椭圆曲线群G1中随机选取四个元素g,、h、,u、,t,在p阶的正整数群群中随机选取一个数γ,同时选择两个哈希函数如下:H1: { 0,1 } * → Z p * , H2:GT→G1
(1-3)根据上述步骤(1-1)和(1-2)的结果生成主公共密钥PK和主秘密参数MK:,
PK = ( p , G 1 , , G T , , e , w , v , h , h γ , , . . . . , h γ N , , u , u γ , , . . . . , u γ N , , t , t γ , , . . . . , t γ N , , H 1 , , H 2
MK=(g,γ)
其中w=gγ,v=e(g,h),N表示系统中运行的用户总数。
优选地,步骤(2)是采用以下公式:
SK ID = 1 g γ + H 1 ( ID ) .
优选地,步骤(4)包括以下子步骤:
(4-1)确定待发送明文数据的接收方集合S1,并取得S1中所有用户的公钥;
(4-2)为待发送明文选择一个特征值α作为细粒度控制的条件;
(4-3)在正整数集合中选择一个随机数k,并利用以下公式将明文数据m加密成初始密文C:
C=(c1,,c2,,c3,,c4)
c1=w-k
c 2 = h k · Π ID i ∈ S 1 ( γ + H 1 ( ID i ) )
c3=vk·m
c 4 = ( u · t α ) k · Π ID i ∈ S 1 ( γ + H 1 ( ID i ) H 1 ( ID i ) )
(4-4)数据拥有者生成初始密文C后,将其发送给云端,由云端代为转发给数据请求者S1,并在云端保存备份;
(4-5)一个用户收到初始密文C=(c1,,c2,,c3,,c4)后,用其私钥SKID进行解密,具体如以下公式:
Δ γ ( ID ′ , S 1 ) = 1 γ · ( Π ID i ∈ S 1 ∩ ID i ≠ ID ′ ( γ + H 1 ( ID i ) ) - Π ID i ∈ S 1 ∩ ID i ≠ ID ′ H 1 ( ID i ) )
K = ( e ( c 1 , h Δ γ ( ID , S 1 ) ) · e ( SK ID , c 2 ) ) - 1 Π ID i ∈ S 1 ∩ ID i ≠ ID H 1 ( ID i )
最后得出明文
优选地,步骤(5)包括以下子步骤:
(5-1)取得请求方集合S2中所有用户的公钥、以及数据请求对应的初始密文的特征值α;
(5-2)在正整数集合中随机选取两个数k′、s,由以下公式计算生成重加密密钥,并将该重加密密钥发送到云端:
dID→S2|α=(d1,d2,d3,d4)
d1=w-k′
d 2 = h k ′ · Π ID i ∈ S 2 ( γ + H 1 ( ID i ) )
d3=H2(vk′)
d 4 = SK ID · ( u · t α ) s H 1 ( ID )
其中dID→S2|α表示针对具有特征值α的初始密文,重加密给请求方集合的重加密密钥;
(5-3)云端将重加密密钥dID→S2|α与初始密文C做计算,生成重加密密文,并将生成的重加密密文C2发送给请求方集合S2;具体计算步骤如以下公式:
C2=(c′1,,c′2,,c′3,,c′4,,c′5)
c′2=d2
c′3=d3
c′4=c4
c 5 ′ = c 3 · ( e ( c 1 , h Δ γ ( ID , S 1 ) ) · e ( d 4 , c 2 ) ) - 1 Π ID i ∈ S 1 ∩ ID i ≠ ID H 1 ( ID i )
Δ γ ( ID ′ , S 1 ) = 1 γ · ( Π ID i ∈ S 1 ∩ ID i ≠ ID ′ ( γ + H 1 ( ID i ) ) - Π ID i ∈ S 1 ∩ ID i ≠ ID ′ H 1 ( ID i ) )
(5-4)用户群S2中的用户收到重加密密文C2后用自己的私钥对其解密,具体如以下公式:
K = ( e ( c 1 ′ , h Δ γ ( ID ′ , S 2 ) ) · e ( SK ID ′ , c 2 ′ ) ) 1 Π ID i ∈ S 2 ∩ ID i ≠ ID ′ H 1 ( ID i )
Δ γ ( ID ′ , S 2 ) = 1 γ · ( Π ID i ∈ S 2 ∩ ID i ≠ ID ′ ( γ + H 1 ( ID i ) ) - Π ID i ∈ S 2 ∩ ID i ≠ ID ′ H 1 ( ID i ) )
K ′ = c 3 ′ H 2 ( K ) ,
并通过K′计算得到明文m=c′5·e(K′,c′),其中ID’表示S2中的一个用户。
按照本发明的另一方面,提供了一种提高外包加密数据共享功能的代理重加密系统,其应用在包括多个用户、云端以及KGC的存云存储系统中,包括:
第一模块,用于根据预先确定的安全级别构建对应的双丝性映射,并根据该双线性映射和系统中的用户数量计算主公共密钥PK和主秘密参数MK;
第二模块,用于根据第一模块生成的主秘密参数MK和每个用户所具有的身份ID,为每个用户生成私钥SK,并将该私钥发送给对应的用户;
第三模块,用于接收由接收方集合向数据拥有者发送的数据请求,并根据该数据请求判断该数据请求对应的数据是否已经存放在云端,如果是则转入第五模块,否则转入第四模块;
第四模块,用于使用接收方集合S1的公钥对该数据请求对应的数据m进行加密,以生成初始密文C,并经由云端将初始密文转发给发送数据请求的用户,由接收方集合S1在收到初始密文后用其私钥进行解密;
第五模块,用于数据拥有者生成与相应初始密文对应的代理重加密密钥,将其发送给云端,云端对初始密文做重加密生成重加密密文C2,将其发送给请求方集合S2中的用户,请求方集合S2中的用户收到后可用其私钥对其进行解密。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
1、能够解决现有方法所遇到的使用传统公钥体系会带来的证书管理开销过大的问题,在本发明中使用基于身份加密作为基本的加密体系,基于身份加密将用户的身份作为公钥,这样就不用对用户的公钥进行认证,可以节省大量开销;
2、能够解决现有方法中所遇到的分享不便利的问题,在步骤(2)和步骤(3)中,在初始密文生成和代理重加密密钥生成的过程中,加入了细粒度控制的条件,而且实现了对多用户的广播,为多用户生成一条密文,这样在外包加密数据共享的便利性和效率上会有很大提高;
3、本发明所提出的方法实现了细粒度控制、广播、基于身份加密和代理重加密四种特性,在保证外包加密数据安全性的同时,提高了外包加密数据共享的便利性和高效性。
附图说明
图1是本发明的应用环境图。
图2是本发明提高外包加密数据共享功能的代理重加密方法的流程图。
图3是本发明方法中步骤(1)的细化流程图。
图4是本发明方法中步骤(4)的细化流程图。
图5是本发明方法中步骤(5)的细化流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
如图1所示,其显示出本发明方法的应用环境图,本方法涉及三方实体:用户、密钥生成中心(Key Generation Center,简称KGC)、数据存储云端(Cloud)。用户可以为好友加密初始密文并发送给云端,如果有好友请求已有密文,用户负责生成重加密密钥并将其发送给云端。KGC负责生成主公共密钥、主秘密参数以及为每个用户生成相对应的私钥,将主公共密钥发送给每个用户,将主秘密参数保密,将每个用户的私钥发给用户。数据存储云端用来存储、转发密文数据和使用代理重加密密钥计算代理重加密密文。
如图2所示,本发明提高外包加密数据共享功能的代理重加密方法,其应用在包括多个用户、云端以及KGC的存云存储系统中,该方法包括以下步骤:
(1)根据预先确定的安全级别构建对应的双丝性映射,并根据该双线性映射和系统中的用户数量计算主公共密钥PK和主秘密参数MK;具体而言,预先确定的安全级别是云端根据需要确定的,如果安全级别越高,则用户私钥的长度越大,每次运算需要的时间就越长,相应的系统运行效率就越低,反之则运行效率越高。主公共密钥向所有用户公开,主秘密参数被系统保留;
如图3所示,本步骤包括以下子步骤:
(1-1)根据所需的安全级别设定安全参数λ,并构建双线性映射e:G1×G1→GT,其中G1和G2为椭圆曲线群,这两个椭圆曲线群的阶数p的长度等于安全参数λ;
(1-2)在椭圆曲线群G1中随机选取四个元素g,、h、,u、,t,在p阶的正整数群群中随机选取一个数γ,同时选择两个哈希函数如下:
H1:用于将任意长度的01串映射到p阶正整数群中;
H2:GT→G1,用于将群GT中的元素映射到群G1中。
(1-3)根据上述步骤(1-1)和(1-2)的结果生成主公共密钥PK和主秘密参数MK:,
PK = ( p , G 1 , , G T , , e , w , v , h , h γ , , . . . . , h γ N , , u , u γ , , . . . . , u γ N , , t , t γ , , . . . . , t γ N , , H 1 , , H 2
MK=(g,γ)
其中w=gγ,v=e(g,h),N表示系统中运行的用户总数;
(2)根据上一步生成的主秘密参数MK和每个用户所具有的身份ID(其为具有一定长度的01字符串),为每个用户生成私钥SK,并将该私钥发送给对应的用户;具体而言,本步骤是采用以下公式:
SK ID = 1 g γ + H 1 ( ID )
在本发明中,用户的公钥是其本身的身份ID。
(3)接收由接收方集合向数据拥有者发送的数据请求,并根据该数据请求判断该数据请求对应的数据是否已经存放在云端,如果是则转入步骤(5),否则转入步骤(4);
(4)使用接收方集合S1的公钥对该数据请求对应的数据m进行加密,以生成初始密文C,并经由云端将初始密文转发给发送数据请求的用户,由接收方集合S1在收到初始密文后用其私钥进行解密;
如图4所示,本步骤包括以下子步骤:
(4-1)确定待发送明文数据的接收方集合S1,并取得S1中所有用户的公钥,也就是其身份ID;
(4-2)为待发送明文选择一个特征值,作为细粒度控制的条件,在正整数集合中选取α作为特征值;
(4-3)在正整数集合中选择一个随机数k,并利用以下公式将明文数据m加密成初始密文C:
C=(c1,,c2,,c3,,c4)
c1=w-k
c 2 = h k · Π ID i ∈ S 1 ( γ + H 1 ( ID i ) )
c3=vk·m
c 4 = ( u · t α ) k · Π ID i ∈ S 1 ( γ + H 1 ( ID i ) H 1 ( ID i ) )
(4-4)数据拥有者生成初始密文C后,将其发送给云端,由云端代为转发给数据请求者S1,并在云端保存备份;
(4-5)一个用户(令其身份为ID)收到初始密文C=(c1,,c2,,c3,,c4)后,用其私钥SKID进行解密,具体如以下公式:
Δ γ ( ID ′ , S 1 ) = 1 γ · ( Π ID i ∈ S 1 ∩ ID i ≠ ID ′ ( γ + H 1 ( ID i ) ) - Π ID i ∈ S 1 ∩ ID i ≠ ID ′ H 1 ( ID i ) )
K = ( e ( c 1 , h Δ γ ( ID , S 1 ) ) · e ( SK ID , c 2 ) ) - 1 Π ID i ∈ S 1 ∩ ID i ≠ ID H 1 ( ID i )
最后得出明文
(5)数据拥有者生成与相应初始密文对应的代理重加密密钥,将其发送给云端,云端对初始密文做重加密生成重加密密文C2,将其发送给请求方集合S2中的用户,请求方集合S2中的用户收到后可用其私钥对其进行解密。
如图5所示,具体步骤如下:
(5-1)取得请求方集合S2中所有用户的公钥、以及数据请求对应的初始密文的特征值α;
(5-2)在正整数集合中随机选取两个数k′、s,由以下公式计算生成重加密密钥,并将该重加密密钥发送到云端:
dID→S2|α=(d1,d2,d3,d4)
d1=w-k′
d 2 = h k ′ · Π ID i ∈ S 2 ( γ + H 1 ( ID i ) )
d3=H2(vk′)
d 4 = SK ID · ( u · t α ) s H 1 ( ID )
其中dID→S2|α表示针对具有特征值α的初始密文,重加密给请求方集合的重加密密钥;
(5-3)云端将重加密密钥dID→S2|α与初始密文C做计算,生成重加密密文,并将生成的重加密密文C2发送给请求方集合S2;具体计算步骤如以下公式:
C2=(c′1,,c′2,,c′3,,c′4,,c′5)
c′2=d2
c′3=d3
c′4=c4
c 5 ′ = c 3 · ( e ( c 1 , h Δ γ ( ID , S 1 ) ) · e ( d 4 , c 2 ) ) - 1 Π ID i ∈ S 1 ∩ ID i ≠ ID H 1 ( ID i )
Δ γ ( ID ′ , S 1 ) = 1 γ · ( Π ID i ∈ S 1 ∩ ID i ≠ ID ′ ( γ + H 1 ( ID i ) ) - Π ID i ∈ S 1 ∩ ID i ≠ ID ′ H 1 ( ID i ) )
(5-4)用户群S2中的用户收到重加密密文C2后用自己的私钥对其解密,具体的解密步骤如以下公式:
K = ( e ( c 1 ′ , h Δ γ ( ID ′ , S 2 ) ) · e ( SK ID ′ , c 2 ′ ) ) 1 Π ID i ∈ S 2 ∩ ID i ≠ ID ′ H 1 ( ID i )
Δ γ ( ID ′ , S 2 ) = 1 γ · ( Π ID i ∈ S 2 ∩ ID i ≠ ID ′ ( γ + H 1 ( ID i ) ) - Π ID i ∈ S 2 ∩ ID i ≠ ID ′ H 1 ( ID i ) )
K ′ = c 3 ′ H 2 ( K ) ,
并通过K′计算得到明文m=c′5·e(K′,c′),其中ID’表示S2中的一个用户;
本发明的优点在于本方法可以同时具有细粒度控制、广播、免掉证书管理开销和安全共享四种特性,并在实现这四种特性的同时,性能与现有方法相比也比较有优势,具体如下:
本发明与现有方法的性能与功能比较
在本方法提出之前,也有大量工作致力于解决我们所提出的问题,接下来对现有工作与本方法在功能性和性能方面做详细比较。
在功能性方面,可将本方法所具有的功能分为四块:
(1)代理重加密保护密文安全性;
(2)基于身份加密减少证书管理开销;
(3)广播加密减少多用户发送时带宽和计算开销;
(4)条件加密控制细粒度。
表1 与相关工作的功能性对比
如上表1所示,在本方法提出前的相关工作中,并没有一种方法能同时具备这四种特性,而且这四种特性分管不同的属性,每一种特性都会带来相应功能性上的便利,在功能性上来看,本方法比以往方法更具优势。
在性能方面,将本方法与同类型工作进行计算开销上的比较,如下:
表2 N个用户生成初始密文性能对比
表3 N个用户生成重加密密钥性能对比
表4 N个用户生成重加密密文并由用户解密性能对比
由上表2,表3,表4可知,本方法在为N个用户生成初始密文、为N个用户生成重加密密钥、为N个用户生成重加密密文并由其解密的过程中,综合开销最小。
本发明在加密云邮件系统中的应用
本方法可以应用到加密云邮件场景中,方法的实现步骤与加密云邮件系统实际步骤的结合如下:
(1)用户注册:用户注册时自己决定自己的邮箱账户名,此账户名与用户天然绑定,这个用户名就代表用户本身。使用算法的第(1)步和第(2)步,系统根据用户自己的用户名,为用户生成用户的私钥,用户的公钥就是自己的用户名;
(2)发邮件:用户可以使用算法第(3)步给一个朋友发邮件也可以直接群发邮件,用户选定要发送的好友,并编辑好发送内容后将其交给系统,系统将此邮件为用户选定的好友加密成初始密文,并广播推送给这些好友;
(3)转发邮件:使用算法的第(4)步,如果用户想将自己收到的邮件给自己的好友转发,首先选定要转发的好友,系统根据用户的私钥、所要转发的邮件及所要转发的好友生成相应的重加密密钥,并将其发送给云邮件服务器。云邮件服务器用些重另密密钥对初始密文进行转换,并将转换后的重加密密文作为邮件群发给所选定的用户;
(4)查看邮件:用户收到邮件后,用自己的私钥将其解密,不论是初始密文还是重加密密文,用户都可以用自己的私钥将其解密,解密过程可以对用户透明。
根据本方法的步骤,将其与加密云邮件结合后,与现有的加密云邮件系统相比,如Trend Micro,ProofPoint等,具有更强的安全性和易用性。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种提高外包加密数据共享功能的代理重加密方法,其应用在包括多个用户、云端以及KGC的存云存储系统中,其特征在于,该方法包括以下步骤:
(1)根据预先确定的安全级别构建对应的双丝性映射,并根据该双线性映射和系统中的用户数量计算主公共密钥PK和主秘密参数MK;
(2)根据生成的主秘密参数MK和每个用户所具有的身份ID,为每个用户生成私钥SK,并将该私钥发送给对应的用户;
(3)接收由接收方集合向数据拥有者发送的数据请求,并根据该数据请求判断该数据请求对应的数据是否已经存放在云端,如果是则转入步骤(5),否则转入步骤(4);
(4)使用接收方集合S1的公钥对该数据请求对应的数据m进行加密,以生成初始密文C,并经由云端将初始密文转发给发送数据请求的用户,由接收方集合S1在收到初始密文后用其私钥进行解密;
(5)数据拥有者生成与相应初始密文对应的代理重加密密钥,将其发送给云端,云端对初始密文做重加密生成重加密密文C2,将其发送给请求方集合S2中的用户,请求方集合S2中的用户收到后可用其私钥对其进行解密。
2.根据权利要求1所述的代理重加密方法,其特征在于,步骤(1)包括以下子步骤:
(1-1)根据所需的安全级别设定安全参数λ,并构建双线性映射e:G1×G1→GT,其中G1和G2为椭圆曲线群,这两个椭圆曲线群的阶数p的长度等于安全参数λ;
(1-2)在椭圆曲线群G1中随机选取四个元素g,、h、,u、,t,在p阶的正整数群群中随机选取一个数γ,同时选择两个哈希函数如下:H1: { 0,1 } * → Z p * , H2:GT→G1
(1-3)根据上述步骤(1-1)和(1-2)的结果生成主公共密钥PK和主秘密参数MK:,
PK = ( p , G 1 , , G T , , e , w , v , h , h γ , , . . . . , h γ N , , u , u γ , , . . . . , u γ N , , t , t γ , , . . . . , t γ N , , H 1 , , H 2 )
MK=(g,γ)
其中w=gγ,v=e(g,h),N表示系统中运行的用户总数。
3.根据权利要求2所述的代理重加密方法,其特征在于,步骤(2)是采用以下公式:
SK ID = g 1 γ + H 1 ( ID ) .
4.根据权利要求3所述的代理重加密方法,其特征在于,步骤(4)包括以下子步骤:
(4-1)确定待发送明文数据的接收方集合S1,并取得S1中所有用户的公钥;
(4-2)为待发送明文选择一个特征值α作为细粒度控制的条件;
(4-3)在正整数集合中选择一个随机数k,并利用以下公式将明文数据m加密成初始密文C:
C=(c1,,c2,,c3,,c4)
c1=w-k
c 2 = h k · Π ID i ∈ S 1 ( γ + H 1 ( ID i ) )
c3=vk·m
c 4 = ( u · t α ) k · Π ID i ∈ S 1 ( γ + H 1 ( ID i ) H 1 ( ID i ) )
(4-4)数据拥有者生成初始密文C后,将其发送给云端,由云端代为转发给数据请求者S1,并在云端保存备份;
(4-5)一个用户收到初始密文C=(c1,,c2,,c3,,c4)后,用其私钥SKID进行解密,具体如以下公式:
Δ γ ( ID , S 1 ) = 1 γ · ( Π ID i ∈ S 1 ∩ ID i ≠ ID ( γ + H 1 ( ID i ) ) - Π ID i ∈ S 1 ∩ ID i ≠ ID H 1 ( ID i ) )
K = ( e ( c 1 , h Δ γ ( ID , S 1 ) ) · e ( SK ID , c 2 ) ) 1 Π ID i ∈ S 1 ∩ ID i ≠ ID H 1 ( ID i )
最后得出明文
5.根据权利要求4所述的代理重加密方法,其特征在于,步骤(5)包括以下子步骤:
(5-1)取得请求方集合S2中所有用户的公钥、以及数据请求对应的初始密文的特征值α;
(5-2)在正整数集合中随机选取两个数k′、s,由以下公式计算生成重加密密钥,并将该重加密密钥发送到云端:
dID→S2|α=(d1,d2,d3,d4)
d1=w-k
d 2 = h k ′ · Π ID i ∈ S 2 ( γ + H 1 ( ID i ) )
d3=H2(vk′)
d 4 = SK ID · ( u · t α ) s H 1 ( ID )
其中dID→S2|α表示针对具有特征值α的初始密文,重加密给请求方集合的重加密密钥;
(5-3)云端将重加密密钥dID→S2|α与初始密文C做计算,生成重加密密文,并将生成的重加密密文C2发送给请求方集合S2;具体计算步骤如以下公式:
C2=(c′1,,c′2,,c′3,,c′4,,c′5)
c′2=d2
c′3=d3
c′4=c4
c 5 ′ = c 3 · ( e ( c 1 , h Δ γ ( ID , S 1 ) ) · e ( d 4 , c 2 ) ) - 1 Π ID i ∈ S 1 ∩ ID i ≠ ID H 1 ( ID i )
Δ γ ( ID , S 1 ) = 1 γ · ( Π ID i ∈ S 1 ∩ ID i ≠ ID ( γ + H 1 ( ID i ) ) - Π ID i ∈ S 1 ∩ ID i ≠ ID H 1 ( ID i ) )
(5-4)用户群S2中的用户收到重加密密文C2后用自己的私钥对其解密,具体如以下公式:
K = ( e ( c 1 ′ , h Δ γ ( ID ′ , S 2 ) ) · e ( SK ID ′ , c 2 ′ ) ) 1 Π ID i ∈ S 2 ∩ ID i ≠ ID ′ H 1 ( ID i )
Δ γ ( ID ′ , S 2 ) = 1 γ · ( Π ID i ∈ S 2 ∩ ID i ≠ ID ′ ( γ + H 1 ( ID i ) ) - Π ID i ∈ S 2 ∩ ID i ≠ ID ′ H 1 ( ID i ) )
K ′ = c 3 ′ H 2 ( K ) ,
并通过K′计算得到明文m=c′5·e(K′,c′4),其中ID’表示S2中的一个用户。
6.一种提高外包加密数据共享功能的代理重加密系统,其应用在包括多个用户、云端以及KGC的存云存储系统中,其特征在于,包括:
第一模块,用于根据预先确定的安全级别构建对应的双丝性映射,并根据该双线性映射和系统中的用户数量计算主公共密钥PK和主秘密参数MK;
第二模块,用于根据第一模块生成的主秘密参数MK和每个用户所具有的身份ID,为每个用户生成私钥SK,并将该私钥发送给对应的用户;
第三模块,用于接收由接收方集合向数据拥有者发送的数据请求,并根据该数据请求判断该数据请求对应的数据是否已经存放在云端,如果是则转入第五模块,否则转入第四模块;
第四模块,用于使用接收方集合S1的公钥对该数据请求对应的数据m进行加密,以生成初始密文C,并经由云端将初始密文转发给发送数据请求的用户,由接收方集合S1在收到初始密文后用其私钥进行解密;
第五模块,用于数据拥有者生成与相应初始密文对应的代理重加密密钥,将其发送给云端,云端对初始密文做重加密生成重加密密文C2,将其发送给请求方集合S2中的用户,请求方集合S2中的用户收到后可用其私钥对其进行解密。
CN201410826688.9A 2014-12-25 2014-12-25 一种提高外包加密数据共享功能的代理重加密方法 Active CN104539610B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410826688.9A CN104539610B (zh) 2014-12-25 2014-12-25 一种提高外包加密数据共享功能的代理重加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410826688.9A CN104539610B (zh) 2014-12-25 2014-12-25 一种提高外包加密数据共享功能的代理重加密方法

Publications (2)

Publication Number Publication Date
CN104539610A true CN104539610A (zh) 2015-04-22
CN104539610B CN104539610B (zh) 2017-10-27

Family

ID=52855079

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410826688.9A Active CN104539610B (zh) 2014-12-25 2014-12-25 一种提高外包加密数据共享功能的代理重加密方法

Country Status (1)

Country Link
CN (1) CN104539610B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106027552A (zh) * 2016-06-30 2016-10-12 中经汇通电子商务有限公司 一种用户访问云存储数据的方法及系统
CN106911702A (zh) * 2017-03-08 2017-06-30 福建师范大学 基于改进cp‑abe的云存储分组加密访问控制方法
CN109361704A (zh) * 2018-12-12 2019-02-19 深圳市网心科技有限公司 云存储数据加密传输方法、系统、设备及存储介质
CN109586903A (zh) * 2018-12-19 2019-04-05 南京航空航天大学 一种模糊条件的代理广播可重构加密方法
CN110765478A (zh) * 2019-11-07 2020-02-07 广州深卓信息科技有限公司 一种大数据信息安全存储加密系统及其方法
CN108111540B (zh) * 2018-01-30 2020-08-28 西安电子科技大学 一种云存储中支持数据共享的分层访问控制系统及方法
CN112602289A (zh) * 2020-02-24 2021-04-02 华为技术有限公司 数据加密处理方法、数据解密处理方法、装置及电子设备
CN113360886A (zh) * 2021-04-23 2021-09-07 山东英信计算机技术有限公司 一种加密数据共享的方法、装置、设备及可读介质
CN114531293A (zh) * 2022-02-25 2022-05-24 东南大学 一种跨信任域的基于身份代理重加密方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102655508A (zh) * 2012-04-19 2012-09-05 华中科技大学 云环境下的用户隐私数据保护方法
CN104038341A (zh) * 2014-06-20 2014-09-10 北京航空航天大学 一种基于身份的跨系统代理重加密方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102655508A (zh) * 2012-04-19 2012-09-05 华中科技大学 云环境下的用户隐私数据保护方法
CN104038341A (zh) * 2014-06-20 2014-09-10 北京航空航天大学 一种基于身份的跨系统代理重加密方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CECILE DELERABLEE: "Identity-Based Broadcast Encryption with Constant Size Ciphertexts and Private Keys", 《ADVANCES IN CRYPTOLOGY – ASIACRYPT 2007》 *
SHUCHENG YU等: "Achieving Secure, Scalable, and Fine-grained Data Access Control in Cloud Computing", 《INFOCOM, 2010 PROCEEDINGS IEEE》 *
周德华: "代理重加密体制的研究", 《中国博士学位论文全文数据库信息科技辑》 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106027552A (zh) * 2016-06-30 2016-10-12 中经汇通电子商务有限公司 一种用户访问云存储数据的方法及系统
CN106911702A (zh) * 2017-03-08 2017-06-30 福建师范大学 基于改进cp‑abe的云存储分组加密访问控制方法
CN106911702B (zh) * 2017-03-08 2019-08-02 福建师范大学 基于改进cp-abe的云存储分组加密访问控制方法
CN108111540B (zh) * 2018-01-30 2020-08-28 西安电子科技大学 一种云存储中支持数据共享的分层访问控制系统及方法
CN109361704A (zh) * 2018-12-12 2019-02-19 深圳市网心科技有限公司 云存储数据加密传输方法、系统、设备及存储介质
CN109586903A (zh) * 2018-12-19 2019-04-05 南京航空航天大学 一种模糊条件的代理广播可重构加密方法
CN110765478B (zh) * 2019-11-07 2020-07-31 城云科技(中国)有限公司 一种大数据信息安全存储加密系统及其方法
CN110765478A (zh) * 2019-11-07 2020-02-07 广州深卓信息科技有限公司 一种大数据信息安全存储加密系统及其方法
CN112602289A (zh) * 2020-02-24 2021-04-02 华为技术有限公司 数据加密处理方法、数据解密处理方法、装置及电子设备
CN112602289B (zh) * 2020-02-24 2021-12-21 华为技术有限公司 数据加密处理方法、数据解密处理方法、装置、电子设备及可读存储介质
CN113360886A (zh) * 2021-04-23 2021-09-07 山东英信计算机技术有限公司 一种加密数据共享的方法、装置、设备及可读介质
CN113360886B (zh) * 2021-04-23 2023-02-28 山东英信计算机技术有限公司 一种加密数据共享的方法、装置、设备及可读介质
CN114531293A (zh) * 2022-02-25 2022-05-24 东南大学 一种跨信任域的基于身份代理重加密方法
CN114531293B (zh) * 2022-02-25 2024-05-24 东南大学 一种跨信任域的基于身份代理重加密方法

Also Published As

Publication number Publication date
CN104539610B (zh) 2017-10-27

Similar Documents

Publication Publication Date Title
CN104539610A (zh) 一种提高外包加密数据共享功能的代理重加密方法
CN109246096B (zh) 适用于云存储的多功能细粒度访问控制方法
CN103731261B (zh) 加密重复数据删除场景下的密钥分发方法
CN103647642B (zh) 一种基于证书代理重加密方法及系统
CN103200000B (zh) 一种量子计算环境下的共享密钥建立方法
CN103957109B (zh) 一种云数据隐私保护安全重加密方法
CN104038341B (zh) 一种基于身份的跨系统代理重加密方法
CN104158880B (zh) 一种用户端云数据共享解决方法
CN105763528B (zh) 一种混合机制下多重接收者匿名的加密装置
CN104320393A (zh) 重加密可控的高效属性基代理重加密方法
CN107181584B (zh) 非对称完全同态加密及其密钥置换和密文交割方法
Li et al. Fully secure identity-based signcryption scheme with shorter signcryptext in the standard model
CN106713349B (zh) 一种能抵抗选择密文攻击的群组间代理重加密方法
CN103746811A (zh) 从身份公钥系统到证书公钥系统的匿名签密方法
CN111639345B (zh) 基于同态加密的安全的多方云计算的方法和系统
CN103888249A (zh) 组播通信用代理重加密方法
CN103297230B (zh) 信息加解密方法、装置及系统
Lan et al. A New Security Cloud Storage Data Encryption Scheme Based on Identity Proxy Re-encryption.
CN105490806A (zh) 一种同态密钥生成、共享方法及装置
CN110519226B (zh) 基于非对称密钥池和隐式证书的量子通信服务端保密通信方法和系统
CN104993929A (zh) 一种支持系统属性扩展的属性基加密系统及方法
CN103023646A (zh) 一种签密文可聚合的签密方法
CN107682158B (zh) 一种可托管的认证加密方法
Ma et al. Lattice-based identity-based homomorphic conditional proxy re-encryption for secure big data computing in cloud environment
CN103746810A (zh) 从证书公钥系统到身份公钥系统的匿名签密方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant