CN106357395A - 一种面向雾计算的外包访问控制方法及其系统 - Google Patents

一种面向雾计算的外包访问控制方法及其系统 Download PDF

Info

Publication number
CN106357395A
CN106357395A CN201610822582.0A CN201610822582A CN106357395A CN 106357395 A CN106357395 A CN 106357395A CN 201610822582 A CN201610822582 A CN 201610822582A CN 106357395 A CN106357395 A CN 106357395A
Authority
CN
China
Prior art keywords
ciphertext
structure tree
mist
user
access structure
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
CN201610822582.0A
Other languages
English (en)
Other versions
CN106357395B (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.)
Shenzhen University
Original Assignee
Shenzhen University
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 Shenzhen University filed Critical Shenzhen University
Priority to CN201610822582.0A priority Critical patent/CN106357395B/zh
Publication of CN106357395A publication Critical patent/CN106357395A/zh
Application granted granted Critical
Publication of CN106357395B publication Critical patent/CN106357395B/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/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • 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/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage

Landscapes

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

Abstract

本发明属于云存储服务技术领域,提供了一种面向雾计算的外包访问控制系统及其访问控制方法。该方法包括密钥授权中心端接收用户注册,并生成系统参数和生成每位用户的密钥;数据属主端定义与密文相关的访问结构树,生成与访问结构树无关的密文并发送给雾节点端;雾节点端生成与访问结构树相关的密文,整合全部密文并上传至云服务提供商端进行存储;用户端通过雾节点端访问存储在云服务提供商端的密文,并在用户端的属性集满足嵌入在密文中的访问结构树时,解密密文,恢复出明文。本发明提供的技术方案能大大降低了数据属主端的计算负担,并在解密阶段,用户只需执行一个双线性对操作和两个乘法就能成功解密,大大降低了用户的计算负担。

Description

一种面向雾计算的外包访问控制方法及其系统
技术领域
本发明涉及云存储服务技术领域,尤其涉及一种面向雾计算的外包访问控制方法及其系统。
背景技术
在云服务提供商中,由于采用数据远程托管技术,云服务提供商是数据的物理拥有者,与数据属主并不在同一个信任域中。云服务提供商管理着多个用户及其资源,当用户跨边界访问其它用户资源时,需要对数据进行加密和解密,而且在加密和解密阶段需要大量的计算开销,这样一来,需要数据属主端和用户端都提供强大的计算能力,以保障用户访问的顺畅。
发明内容
有鉴于此,本发明的目的在于提供一种面向雾计算的外包访问控制方法及其系统,旨在解决降低现有的数据属主端和用户端所承担大量的计算负担的问题。
本发明提出一种面向雾计算的外包访问控制方法,应用于包括密钥授权中心端、云服务提供商端、雾节点端、数据属主端以及用户端在内的面向雾计算的外包访问控制系统,其特征在于,所述方法包括:
所述密钥授权中心端接收用户注册,并生成系统参数和生成每位用户的密钥;
所述数据属主端定义与密文相关的访问结构树,生成与访问结构树无关的密文并发送给所述雾节点端;
所述雾节点端生成与访问结构树相关的密文,整合全部密文并上传至所述云服务提供商端进行存储;
所述用户端通过所述雾节点端访问存储在所述云服务提供商端的密文,并在所述用户端的属性集满足嵌入在密文中的访问结构树时,解密密文,恢复出明文。
优选的,所述密钥授权中心端接收用户注册,并生成系统参数和生成每位用户的密钥的步骤具体包括:
所述密钥授权中心端输入系统安全参数κ和全局性集合L={a1,…,am},选择一个阶为素数p、生成元为g的双线性群G0,e:G0×G0→GT表示双线性映射,随机选择两个元素α,β∈Zp,并选择h∈G0,对于任一aj∈L,所述密钥授权中心端选择一个随机数vj∈Zp并计算以及生成系统的公钥PK和主私钥MSK分别为:和MSK={α,gβ,{vj|aj∈L}};
所述密钥授权中心端为每位用户选择两个随机数r,ε∈Zp,并为所述用户端生成一个关于属性集合S的密钥SK:
优选的,所述数据属主端定义与密文相关的访问结构树,生成与访问结构树无关的密文并发送给所述雾节点端的步骤具体包括:
所述数据属主端应用密钥为ck的对称加密算法对文件M进行加密,并将生成的密文记为Eck(M),然后应用非对称加密算法对ck进行加密,其中,所述数据属主端只生成与访问结构树无关的密文的算法:DO.Encrypt(PK,ck,T)→CT1,选择随机数s,s1∈Zp,计算s2=(s-s1)modp,再计算C=gs,生成与访问结构树无关的密文CT1并发给所述雾节点端:
优选的,所述雾节点端生成与访问结构树相关的密文,整合全部密文并上传至所述云服务提供商端进行存储的步骤具体包括:
由雾节点端生成与访问结构树相关的密文的算法Fog.Encrypt(PK,CT1)→CT为对访问结构树T中的每一个节点x,所述雾节点端首先为其选择一个多项式qx,从根节点R开始,这些节点的多项式采用自上而下的方式随机选择,对访问结构树T中的每个节点x,多项式qx的阶dx设置为dx=kx-1,其中kx表示门限值;
从根节点R开始,所述雾节点端设置qR(0)=s1,接着随机选择dR个其它节点来完整的定义多项式qR,对于每个非根节点x,设定qx(0)=qparent(x)(index(x)),并随机选择dx个其它节点来完整的定义qx
在访问结构树T中,令X表示与叶子节点相对应的属性构成的集合,所述雾节点端计算与访问结构树相关的密文CT2
所述雾节点端整合CT1和CT2,得到完整的密文CT并上传至所述云服务提供商端进行存储。
优选的,所述用户端通过所述雾节点端访问存储在所述云服务提供商端的密文,并在所述用户端的属性集满足嵌入在密文中的访问结构树时,解密密文,恢复出明文的步骤具体包括:
所述用户端通过所述雾节点端访问存储在所述云服务提供商端的密文CT,并在所述用户端的属性集满足嵌入在密文CT中的访问结构树T时,通过运行解密算法解密密文CT,得到明文ck,其中,所述解密算法包含两个子算法:一个由雾节点端执行的算法Fog.Decrypt(PK,CT,SK′)→T和一个本地算法User.Decrypt(T,SK)→ck,然后用明文ck解密密文Eck(M)从而得到文件M。
另一方面,本发明还提供一种面向雾计算的外包访问控制系统,所述系统包括密钥授权中心端、云服务提供商端、雾节点端、数据属主端以及用户端,其中,
所述密钥授权中心端,用于接收用户注册,并生成系统参数和生成每位用户的密钥;
所述数据属主端,用于定义与密文相关的访问结构树,生成与访问结构树无关的密文并发送给所述雾节点端;
所述雾节点端,用于生成与访问结构树相关的密文,整合全部密文并上传至所述云服务提供商端进行存储;
所述用户端,用于通过所述雾节点端访问存储在所述云服务提供商端的密文,并在所述用户端的属性集满足嵌入在密文中的访问结构树时,解密密文,恢复出明文。
优选的,所述密钥授权中心端具体用于:
输入系统安全参数κ和全局性集合L={a1,…,am},选择一个阶为素数p、生成元为g的双线性群G0,e:G0×G0→GT表示双线性映射,随机选择两个元素α,β∈Zp,并选择h∈G0,对于任一aj∈L,所述密钥授权中心端选择一个随机数vj∈Zp并计算以及生成系统的公钥PK和主私钥MSK分别为:和MSK={α,gβ,{vj|aj∈L}};
为每位用户选择两个随机数r,ε∈Zp,并为所述用户端生成一个关于属性集合S的密钥SK:
优选的,所述数据属主端具体用于:
应用密钥为ck的对称加密算法对文件M进行加密,并将生成的密文记为Eck(M),然后应用非对称加密算法对ck进行加密,其中,所述数据属主端只生成与访问结构树无关的密文的算法:DO.Encrypt(PK,ck,T)→CT1,选择随机数s,s1∈Zp,计算s2=(s-s1)modp,再计算C=gs,生成与访问结构树无关的密文CT1并发给所述雾节点端:
优选的,所述雾节点端具体用于:
由雾节点端生成与访问结构树相关的密文的算法Fog.Encrypt(PK,CT1)→CT为对访问结构树T中的每一个节点x,所述雾节点端首先为其选择一个多项式qx,从根节点R开始,这些节点的多项式采用自上而下的方式随机选择,对访问结构树T中的每个节点x,多项式qx的阶dx设置为dx=kx-1,其中kx表示门限值;
从根节点R开始,所述雾节点端设置qR(0)=s1,接着随机选择dR个其它节点来完整的定义多项式qR,对于每个非根节点x,设定qx(0)=qparent(x)(index(x)),并随机选择dx个其它节点来完整的定义qx
在访问结构树T中,令X表示与叶子节点相对应的属性构成的集合,所述雾节点端计算与访问结构树相关的密文CT2
所述雾节点端整合CT1和CT2,得到完整的密文CT并上传至所述云服务提供商端进行存储。
优选的,所述用户端具体用于:
通过所述雾节点端访问存储在所述云服务提供商端的密文CT,并在所述用户端的属性集满足嵌入在密文CT中的访问结构树T时,通过运行解密算法解密密文CT,得到明文ck,其中,所述解密算法包含两个子算法:一个由雾节点端执行的算法Fog.Decrypt(PK,CT,SK′)→T和一个本地算法User.Decrypt(T,SK)→ck,然后用明文ck解密密文Eck(M)从而得到文件M。
本发明提供的技术方案由于雾节点端计算并生成与访问结构相关的密文,使得数据属主端加密的计算开销减少,大大降低了数据属主端的计算负担;在解密阶段,雾节点端承担了大量的解密工作,将解密得到的与访问结构树无关的密文发送给用户端,用户端只需执行一个双线性对操作和两个乘法就能成功解密,大大降低了用户的计算负担。
附图说明
图1为本发明一实施方式中面向雾计算的外包访问控制方法流程图;
图2为本发明一实施方式中面向雾计算的外包访问控制系统10的内部结构示意图;
图3为本发明提供的相关的符号说明图表;
图4为本发明的技术方案与现有技术方案的效率分析对比图表。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
以下将对本发明所提供的一种面向雾计算的外包访问控制方法进行详细说明。
请参阅图1,为本发明一实施方式中面向雾计算的外包访问控制方法流程图。
在本实施方式中,面向雾计算的外包访问控制方法,应用于包括密钥授权中心(Key Authority,KA)端、云服务提供商(Cloud Service Provider,CSP)端、雾节点(FogNodes)端、数据属主(Data Owner,DO)端以及用户(Users)端在内的面向雾计算的外包访问控制系统。
在步骤S1中,所述密钥授权中心端接收用户注册,并生成系统参数和生成每位用户的密钥。
在本实施方式中,假设系统有m个属性,用L={a1,a2,…,am}表示,令e:G0×G0→GT表示一个双线性映射,其中G0是素数阶为p、生成元为g的双线性群,设H:{0,1}*→G0表示一个哈希函数,它将任一属性映射为G0中任一随机元,对拉格朗日系数
在本实施方式中,所述密钥授权中心端接收用户注册,并生成系统参数和生成每位用户的密钥的步骤S1具体包括系统初始化子步骤和密钥生成子步骤:
系统初始化子步骤Setup(1κ,L)→(PK,MSK).:所述密钥授权中心端输入系统安全参数κ和全局性集合L={a1,…,am},选择一个阶为素数p、生成元为g的双线性群G0,e:G0×G0→GT表示双线性映射,随机选择两个元素α,β∈Zp,并选择h∈G0,对于任一aj∈L,所述密钥授权中心端选择一个随机数vj∈Zp并计算以及生成系统的公钥PK和主私钥MSK分别为:和MSK={α,gβ,{vj|aj∈L}}。
密钥生成子步骤KeyGen(MSK,S)→SK.:所述密钥授权中心端为每位用户选择两个随机数r,ε∈Zp,并为所述用户端生成一个关于属性集合S的密钥SK:
在步骤S2中,所述数据属主端定义与密文相关的访问结构树,生成与访问结构树无关的密文并发送给所述雾节点端。
在本实施方式中,将文件上传至云服务提供商端之前,数据属主端需要对文件M进行如下处理:
(1)、数据属主端应用密钥为ck的对称加密算法对文件M进行加密,并将生成的密文记为Eck(M);
(2)、数据属主端定义访问结构树T,然后应用非对称加密算法对ck进行加密,其中,所述数据属主端应用算法DO.Encrypt(PK,ck,T)→CT1生成与访问结构树无关的密文CT1
在本实施方式中,所述数据属主端定义与密文相关的访问结构树,生成与访问结构树无关的密文并发送给所述雾节点端的步骤S2具体包括:
所述数据属主端应用密钥为ck的对称加密算法对文件M进行加密,并将生成的密文记为Eck(M),然后应用非对称加密算法对ck进行加密,其中,所述数据属主端只生成与访问结构树无关的密文的算法:DO.Encrypt(PK,ck,T)→CT1,选择随机数s,s1∈Zp,计算s2=(s-s1)modp,再计算C=gs,生成与访问结构树无关的密文CT1并发给所述雾节点端:
在步骤S3中,所述雾节点端生成与访问结构树相关的密文,整合全部密文并上传至所述云服务提供商端进行存储。
在本实施方式中,所述雾节点端生成与访问结构树相关的密文,整合全部密文并上传至所述云服务提供商端进行存储的步骤S3具体包括:
由雾节点端生成与访问结构树相关的密文的算法Fog.Encrypt(PK,CT1)→CT为对访问结构树T中的每一个节点x,所述雾节点端首先为其选择一个多项式qx。从根节点R开始,这些节点的多项式采用自上而下的方式随机选择,对访问结构树T中的每个节点x,多项式qx的阶dx设置为dx=kx-1,其中kx表示门限值。
从根节点R开始,所述雾节点端设置qR(0)=s1,接着随机选择dR个其它节点来完整的定义多项式qR。对于每个非根节点x,设定qx(0)=qparent(x)(index(x)),并随机选择dx个其它节点来完整的定义qx
在访问结构树TT中,令X表示与叶子节点相对应的属性构成的集合,所述雾节点端计算与访问结构树相关的密文CT2
所述雾节点端整合CT1和CT2,得到完整的密文CT并上传至所述云服务提供商端进行存储,其中,
在步骤S4中,所述用户端通过所述雾节点端访问存储在所述云服务提供商端的密文,并在所述用户端的属性集满足嵌入在密文中的访问结构树时,解密密文,恢复出明文。
在本实施方式中,所述用户端通过所述雾节点端访问存储在所述云服务提供商端的密文,并在所述用户端的属性集满足嵌入在密文中的访问结构树时,解密密文,恢复出明文的步骤S4具体包括:
所述用户端通过所述雾节点端访问存储在所述云服务提供商端的密文CT,并在所述用户端的属性集满足嵌入在密文CT中的访问结构树T时,通过运行解密算法解密密文CT,得到明文ck,其中,所述解密算法包含两个子算法:一个由雾节点端执行的算法Fog.Decrypt(PK,CT,SK′)→T和一个本地算法User.Decrypt(T,SK)→ck,然后用明文ck解密密文Eck(M)从而得到文件M。
在本实施方式中,雾节点端从云服务提供商端下载密文CT,同时接收来自用户端的部分密钥然后执行下述操作:
Fog.Decrypt(PK,CT,SK′)→T.由于解密过程采用的是一个递归操作Fog.DecryptNode(CT,SK′,x),所以雾节点端需要定义该操作如下:
(1)、如果x是叶子节点,令aj=att(x),如果则Fog.DecryptNode(CT,SK′,x)=null;如果aj∈S,那么
F o g . D e c r y p t N o d e ( C T , SK ′ , x ) = e ( D j , C j ) = e ( g αrv j - 1 , g v j q x ( 0 ) ) = e ( g , g ) αrq x ( 0 ) ;
(2)、如果x不是叶子节点,那么Fog.DecryptNode(CT,SK′,x)被定义如下:对于节点x的所有子节点z,它执行Fz=Fog.DecryptNode(CT,SK′,z),设Sx是任意的kx个子节点z构成的集合,则Fz≠null,如果这样的集合不存在,那么Fz=null,否则,计算Fx如下:
F x = Π z ∈ S x F z Δ j , S x ′ ( 0 ) = Π z ∈ S x ( e ( g , g ) αrq z ( 0 ) ) Δ j , S x ′ ( 0 ) = Π z ∈ S x ( e ( g , g ) αrq p a r e n t ( z ) ( i n d e x ( z ) ) ) Δ j , S x ′ ( 0 ) = Π z ∈ S x ( e ( g , g ) αrq x ( j ) ) Δ j , S x ′ ( 0 ) = e ( g , g ) αrq x ( 0 ) ;
其中,j=index(z),S′x={index(z):z∈Sx}。
然后,通过调用访问结构树T根节点R的函数Fog.DecryptNode(CT,SK′,R),雾节点端定义解密算法的操作如下:如果用户属性集S满足T,则雾节点端可计算得到
接着,计算和B=FR·A=e(g,g)αrs。最后,雾节点端将解密得到的与访问结构树无关的密文发送给用户端。
用户端接收与访问结构树无关的密文之后,运行本地算法User.Decrypt(T,SK)→ck以获得明文ck。
User.Decrypt(T,SK)→ck.用户输入T和密钥SK,计算得到明文ck。
最后用户用ck解密密文Eck(M)恢复出明文M。
本发明提供的一种面向雾计算的外包访问控制方法,由于雾节点端计算并生成与访问结构相关的密文,使得数据属主端加密的计算开销减少,大大降低了数据属主端的计算负担;在解密阶段,雾节点端承担了大量的解密工作,将解密得到的与访问结构树无关的密文发送给用户端,用户端只需执行一个双线性对操作和两个乘法就能成功解密,大大降低了用户的计算负担。
请参阅图2,所示为本发明一实施方式中面向雾计算的外包访问控制系统10的结构示意图。在本实施方式中,面向雾计算的外包访问控制系统10主要包括密钥授权中心端11、云服务提供商端12、雾节点端13、数据属主端14以及用户端15。
密钥授权中心端11,用于接收用户注册,并生成系统参数和生成每位用户的密钥。
在本实施方式中,所述密钥授权中心端11具体用于:
输入系统安全参数κ和全局性集合L={a1,…,am},选择一个阶为素数p、生成元为g的双线性群G0,e:G0×G0→GT表示双线性映射,随机选择两个元素α,β∈Zp,并选择h∈G0,对于任一aj∈L,所述密钥授权中心端选择一个随机数vj∈Zp并计算以及生成系统的公钥PK和主私钥MSK分别为:和MSK={α,gβ,{vj|aj∈L}}。
为每位用户选择两个随机数r,ε∈Zp,并为所述用户端生成一个关于属性集合S的密钥SK:
数据属主端14,用于定义与密文相关的访问结构树,生成与访问结构树无关的密文并发送给所述雾节点端。
在本实施方式中,所述数据属主端14具体用于:
应用密钥为ck的对称加密算法对文件M进行加密,并将生成的密文记为Eck(M),然后应用非对称加密算法对ck进行加密,其中,所述数据属主端只生成与访问结构树无关的密文的算法:DO.Encrypt(PK,ck,T)→CT1,选择随机数s,s1∈Zp,计算s2=(s-s1)modp,再计算C=gs,生成与访问结构树无关的密文CT1并发给所述雾节点端:
雾节点端13,用于生成与访问结构树相关的密文,整合全部密文并上传至所述云服务提供商端进行存储。
在本实施方式中,所述雾节点端13具体用于:
由雾节点端生成与访问结构树相关的密文的算法Fog.Encrypt(PK,CT1)→CT为对访问结构树T中的每一个节点x,所述雾节点端首先为其选择一个多项式qx。从根节点R开始,这些节点的多项式采用自上而下的方式随机选择,对访问结构树TT中的每个节点x,多项式qx的阶dx设置为dx=kx-1,其中kx表示门限值。
从根节点R开始,所述雾节点端设置qR(0)=s1,接着随机选择dR个其它节点来完整的定义多项式qR。对于每个非根节点x,设定qx(0)=qparent(x)(index(x)),并随机选择dx个其它节点来完整的定义qx
在访问结构树T中,令X表示与叶子节点相对应的属性构成的集合,所述雾节点端计算与访问结构树相关的密文CT2
所述雾节点端整合CT1和CT2,得到完整的密文CT并上传至所述云服务提供商端进行存储。
用户端15,用于通过所述雾节点端访问存储在所述云服务提供商端的密文,并在所述用户端的属性集满足嵌入在密文中的访问结构树时,解密密文,恢复出明文。
在本实施方式中,所述用户端15具体用于:
通过所述雾节点端访问存储在所述云服务提供商端的密文CT,并在所述用户端的属性集满足嵌入在密文CT中的访问结构树T时,通过运行解密算法解密密文CT,得到明文ck,其中,所述解密算法包含两个子算法:一个由雾节点端执行的算法Fog.Decrypt(PK,CT,SK′)→T和一个本地算法User.Decrypt(T,SK)→ck,然后用明文ck解密密文Eck(M)从而得到文件M。
在本实施方式中,雾节点端从云服务提供商端下载密文CT,同时接收来自用户端的部分密钥然后执行下述操作:
Fog.Decrypt(PK,CT,SK′)→T.由于解密过程采用的是一个递归操作Fog.DecryptNode(CT,SK′,x),所以雾节点端需要定义该操作如下:
(1)、如果x是叶子节点,令aj=att(x),如果则Fog.DecryptNode(CT,SK′,x)=null;如果aj∈S,那么
F o g . D e c r y p t N o d e ( C T , SK ′ , x ) = e ( D j , C j ) = e ( g αrv j - 1 , g v j q x ( 0 ) ) = e ( g , g ) αrq x ( 0 ) ;
(2)、如果x不是叶子节点,那么Fog.DecryptNode(CT,SK′,x)被定义如下:对于节点x的所有子节点z,它执行Fz=Fog.DecryptNode(CT,SK′,z),设Sx是任意的kx个子节点z构成的集合,则Fz≠null,如果这样的集合不存在,那么Fz=null,否则,计算Fx如下:
F x = Π z ∈ S x F z Δ j , S x ′ ( 0 ) = Π z ∈ S x ( e ( g , g ) αrq z ( 0 ) ) Δ j , S x ′ ( 0 ) = Π z ∈ S x ( e ( g , g ) αrq p a r e n t ( z ) ( i n d e x ( z ) ) ) Δ j , S x ′ ( 0 ) = Π z ∈ S x ( e ( g , g ) αrq x ( j ) ) Δ j , S x ′ ( 0 ) = e ( g , g ) αrq x ( 0 ) ;
其中,j=index(z),S′x={index(z):z∈Sx}。
然后,通过调用访问结构树T根节点R的函数Fog.DecryptNode(CT,SK′,R),雾节点端定义解密算法的操作如下:如果用户属性集S满足T,则雾节点端可计算得到
接着,计算和B=FR·A=e(g,g)αrs。最后,雾节点端将解密得到的与访问结构树无关的密文发送给用户端。
用户端接收与访问结构树无关的密文之后,运行本地算法User.Decrypt(T,SK)→ck以获得明文ck。
User.Decrypt(T,SK)→ck.用户输入T和密钥SK,计算得到明文ck。
最后用户用ck解密密文Eck(M)恢复出明文M。
本发明提供的一种面向雾计算的外包访问控制系统10,由于雾节点端计算并生成与访问结构相关的密文,使得数据属主端加密的计算开销减少,大大降低了数据属主端的计算负担;在解密阶段,雾节点端承担了大量的解密工作,将解密得到的与访问结构树无关的密文发送给用户端,用户端只需执行一个双线性对操作和两个乘法就能成功解密,大大降低了用户的计算负担。
为了评估方案中密钥生成、加密和解密的计算开销,本发明首先在图3中给出了相关的符号说明,随后图4给出了本发明的技术方案与现有技术方案的效率分析。
从图4可看出,本发明的技术方案的密钥生成阶段的计算开销比现有技术方案减少了将近一半。在加密阶段,本发明的技术方案由于雾节点端计算并生成与访问结构相关的密文,使得数据属主端加密的计算开销减少为3G0+2GT,大大降低了数据属主端的计算负担;在解密阶段,雾节点端承担了大量的解密工作,将解密得到的与访问结构树无关的密文发送给用户端,用户端只需执行一个双线性对操作和两个乘法就能成功解密,大大降低了用户端的计算负担。而现有技术方案的加密和解密阶段的计算开销明显比本发明的技术方案的大。
因此,本发明提供的技术方案,由于雾节点端计算并生成与访问结构相关的密文,使得数据属主端加密的计算开销减少,大大降低了数据属主端的计算负担;在解密阶段,雾节点端承担了大量的解密工作,将解密得到的与访问结构树无关的密文发送给用户端,用户端只需执行一个双线性对操作和两个乘法就能成功解密,大大降低了用户的计算负担。
另外,本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘或光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种面向雾计算的外包访问控制方法,应用于包括密钥授权中心端、云服务提供商端、雾节点端、数据属主端以及用户端在内的面向雾计算的外包访问控制系统,其特征在于,所述方法包括:
所述密钥授权中心端接收用户注册,并生成系统参数和生成每位用户的密钥;
所述数据属主端定义与密文相关的访问结构树,生成与访问结构树无关的密文并发送给所述雾节点端;
所述雾节点端生成与访问结构树相关的密文,整合全部密文并上传至所述云服务提供商端进行存储;
所述用户端通过所述雾节点端访问存储在所述云服务提供商端的密文,并在所述用户端的属性集满足嵌入在密文中的访问结构树时,解密密文,恢复出明文。
2.如权利要求1所述的面向雾计算的外包访问控制方法,其特征在于,所述密钥授权中心端接收用户注册,并生成系统参数和生成每位用户的密钥的步骤具体包括:
所述密钥授权中心端输入系统安全参数κ和全局性集合L={a1,…,am},选择一个阶为素数p、生成元为g的双线性群G0,e:G0×G0→GT表示双线性映射,随机选择两个元素α,β∈Zp,并选择h∈G0,对于任一aj∈L,所述密钥授权中心端选择一个随机数vj∈Zp并计算以及生成系统的公钥PK和主私钥MSK分别为:和MSK={α,gβ,{vj|aj∈L}};
所述密钥授权中心端为每位用户选择两个随机数r,ε∈Zp,并为所述用户端生成一个关于属性集合S的密钥SK:
3.如权利要求2所述的面向雾计算的外包访问控制方法,其特征在于,所述数据属主端定义与密文相关的访问结构树,生成与访问结构树无关的密文并发送给所述雾节点端的步骤具体包括:
所述数据属主端应用密钥为ck的对称加密算法对文件M进行加密,并将生成的密文记为Eck(M),然后应用非对称加密算法对ck进行加密,其中,所述数据属主端只生成与访问结构树无关的密文的算法:DO.Encrypt(PK,ck,T)→CT1,选择随机数s,s1∈Zp,计算s2=(s-s1)mod p,再计算生成与访问结构树无关的密文CT1并发给所述雾节点端:
4.如权利要求3所述的面向雾计算的外包访问控制方法,其特征在于,所述雾节点端生成与访问结构树相关的密文,整合全部密文并上传至所述云服务提供商端进行存储的步骤具体包括:
由雾节点端生成与访问结构树相关的密文的算法Fog.Encrypt(PK,CT1)→CT为对访问结构树T中的每一个节点x,所述雾节点端首先为其选择一个多项式qx,从根节点R开始,这些节点的多项式采用自上而下的方式随机选择,对访问结构树T中的每个节点x,多项式qx的阶dx设置为dx=kx-1,其中kx表示门限值;
从根节点R开始,所述雾节点端设置qR(0)=s1,接着随机选择dR个其它节点来完整的定义多项式qR,对于每个非根节点x,设定qx(0)=qparent(x)(index(x)),并随机选择dx个其它节点来完整的定义qx
在访问结构树T中,令X表示与叶子节点相对应的属性构成的集合,所述雾节点端计算与访问结构树相关的密文CT2
所述雾节点端整合CT1和CT2,得到完整的密文CT并上传至所述云服务提供商端进行存储。
5.如权利要求4所述的面向雾计算的外包访问控制方法,其特征在于,所述用户端通过所述雾节点端访问存储在所述云服务提供商端的密文,并在所述用户端的属性集满足嵌入在密文中的访问结构树时,解密密文,恢复出明文的步骤具体包括:
所述用户端通过所述雾节点端访问存储在所述云服务提供商端的密文CT,并在所述用户端的属性集满足嵌入在密文CT中的访问结构树T时,通过运行解密算法解密密文CT,得到明文ck,其中,所述解密算法包含两个子算法:一个由雾节点端执行的算法Fog.Decrypt(PK,CT,SK′)→T和一个本地算法User.Decrypt(T,SK)→ck,然后用明文ck解密密文Eck(M)从而得到文件M。
6.一种面向雾计算的外包访问控制系统,其特征在于,所述系统包括密钥授权中心端、云服务提供商端、雾节点端、数据属主端以及用户端,其中,
所述密钥授权中心端,用于接收用户注册,并生成系统参数和生成每位用户的密钥;
所述数据属主端,用于定义与密文相关的访问结构树,生成与访问结构树无关的密文并发送给所述雾节点端;
所述雾节点端,用于生成与访问结构树相关的密文,整合全部密文并上传至所述云服务提供商端进行存储;
所述用户端,用于通过所述雾节点端访问存储在所述云服务提供商端的密文,并在所述用户端的属性集满足嵌入在密文中的访问结构树时,解密密文,恢复出明文。
7.如权利要求6所述的面向雾计算的外包访问控制系统,其特征在于,所述密钥授权中心端具体用于:
输入系统安全参数κ和全局性集合L={a1,…,am},选择一个阶为素数p、生成元为g的双线性群G0,e:G0×G0→GT表示双线性映射,随机选择两个元素α,β∈Zp,并选择h∈G0,对于任一aj∈L,所述密钥授权中心端选择一个随机数vj∈Zp并计算以及生成系统的公钥PK和主私钥MSK分别为:和MSK={α,gβ,{vj|aj∈L}};
为每位用户选择两个随机数r,ε∈Zp,并为所述用户端生成一个关于属性集合S的密钥SK:
8.如权利要求7所述的面向雾计算的外包访问控制系统,其特征在于,所述数据属主端具体用于:
应用密钥为ck的对称加密算法对文件M进行加密,并将生成的密文记为Eck(M),然后应用非对称加密算法对ck进行加密,其中,所述数据属主端只生成与访问结构树无关的密文的算法:DO.Encrypt(PK,ck,T)→CT1,选择随机数s,s1∈Zp,计算s2=(s-s1)mod p,再计算生成与访问结构树无关的密文CT1并发给所述雾节点端:
9.如权利要求8所述的面向雾计算的外包访问控制系统,其特征在于,所述雾节点端具体用于:
生成与访问结构树相关的密文的算法Fog.Encrypt(PK,CT1)→CT为对访问结构树T中的每一个节点x,所述雾节点端首先为其选择一个多项式qx,从根节点R开始,这些节点的多项式采用自上而下的方式随机选择,对访问结构树T中的每个节点x,多项式qx的阶dx设置为dx=kx-1,其中kx表示门限值;
从根节点R开始,所述雾节点端设置qR(0)=s1,接着随机选择dR个其它节点来完整的定义多项式qR,对于每个非根节点x,设定qx(0)=qparent(x)(index(x)),并随机选择dx个其它节点来完整的定义qx
在访问结构树T中,令X表示与叶子节点相对应的属性构成的集合,所述雾节点端计算与访问结构树相关的密文CT2
所述雾节点端整合CT1和CT2,得到完整的密文CT并上传至所述云服务提供商端进行存储。
10.如权利要求9所述的面向雾计算的外包访问控制系统,其特征在于,所述用户端具体用于:
通过所述雾节点端访问存储在所述云服务提供商端的密文CT,并在所述用户端的属性集满足嵌入在密文CT中的访问结构树T时,通过运行解密算法解密密文CT,得到明文ck,其中,所述解密算法包含两个子算法:一个由雾节点端执行的算法Fog.Decrypt(PK,CT,SK′)→T和一个本地算法User.Decrypt(T,SK)→ck,然后用明文ck解密密文Eck(M)从而得到文件M。
CN201610822582.0A 2016-09-13 2016-09-13 一种面向雾计算的外包访问控制方法及其系统 Active CN106357395B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610822582.0A CN106357395B (zh) 2016-09-13 2016-09-13 一种面向雾计算的外包访问控制方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610822582.0A CN106357395B (zh) 2016-09-13 2016-09-13 一种面向雾计算的外包访问控制方法及其系统

Publications (2)

Publication Number Publication Date
CN106357395A true CN106357395A (zh) 2017-01-25
CN106357395B CN106357395B (zh) 2019-04-23

Family

ID=57857973

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610822582.0A Active CN106357395B (zh) 2016-09-13 2016-09-13 一种面向雾计算的外包访问控制方法及其系统

Country Status (1)

Country Link
CN (1) CN106357395B (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106888213A (zh) * 2017-03-14 2017-06-23 深圳大学 云密文访问控制方法及系统
CN107124276A (zh) * 2017-04-07 2017-09-01 西安电子科技大学 一种安全的数据外包机器学习数据分析方法
WO2018049601A1 (zh) * 2016-09-14 2018-03-22 深圳大学 一种面向雾计算的外包访问控制方法及其系统
CN108156138A (zh) * 2017-12-13 2018-06-12 西安电子科技大学 一种用于雾计算的细粒度可搜索加密方法
CN108521329A (zh) * 2018-03-23 2018-09-11 华东师范大学 雾系统中的动态安全信道建立方法
CN108540280A (zh) * 2018-02-09 2018-09-14 上海交通大学 一种资源高效的安全数据分享方法及系统
WO2018165835A1 (zh) * 2017-03-14 2018-09-20 深圳大学 云密文访问控制方法及系统
CN109639425A (zh) * 2018-11-07 2019-04-16 华中科技大学 一种边计算环境下轻量级的可搜索公钥加密方法
CN109740383A (zh) * 2019-01-10 2019-05-10 南京信息职业技术学院 一种面向雾计算医疗系统的隐私保护控制方法
CN109936562A (zh) * 2019-01-09 2019-06-25 南京邮电大学 一种面向雾计算的可扩展访问控制方法
CN110213036A (zh) * 2019-06-17 2019-09-06 西安电子科技大学 基于物联网雾计算-边缘计算的安全数据存储和计算方法
CN110602086A (zh) * 2019-09-10 2019-12-20 北京工业大学 雾计算中可撤销和外包的多授权中心属性基加密方法
CN110611662A (zh) * 2019-08-30 2019-12-24 徐州工业职业技术学院 一种基于属性基加密的雾协同云数据共享方法
CN111131153A (zh) * 2019-11-18 2020-05-08 西安电子科技大学 基于5g云雾混构统一认证平台的生物身份信息认证方法
CN111541535A (zh) * 2020-04-17 2020-08-14 西南交通大学 一种可验证搜索结果的布尔检索属性基加密方法
CN111970296A (zh) * 2020-08-25 2020-11-20 福建师范大学 一种高效的文件分等级属性基加密方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105025012A (zh) * 2015-06-12 2015-11-04 深圳大学 面向云存储服务平台的访问控制系统及其访问控制方法
CN105610944A (zh) * 2015-12-29 2016-05-25 北京物联远信息技术有限公司 一种面向物联网的雾计算架构
CN105830377A (zh) * 2013-12-20 2016-08-03 思科技术公司 通过雾计算节点对网络流量进行动态编码

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105830377A (zh) * 2013-12-20 2016-08-03 思科技术公司 通过雾计算节点对网络流量进行动态编码
CN105025012A (zh) * 2015-06-12 2015-11-04 深圳大学 面向云存储服务平台的访问控制系统及其访问控制方法
CN105610944A (zh) * 2015-12-29 2016-05-25 北京物联远信息技术有限公司 一种面向物联网的雾计算架构

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DONGDONG YE等: ""Scalable Fog Computing with Service Offloading in Bus Networks"", 《IEEE》 *
Y.NAVANEETH KRISHNAN等: ""Fog Computing- Network Based Cloud Computing"", 《IEEE》 *

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018049601A1 (zh) * 2016-09-14 2018-03-22 深圳大学 一种面向雾计算的外包访问控制方法及其系统
CN106888213A (zh) * 2017-03-14 2017-06-23 深圳大学 云密文访问控制方法及系统
WO2018165835A1 (zh) * 2017-03-14 2018-09-20 深圳大学 云密文访问控制方法及系统
CN107124276B (zh) * 2017-04-07 2020-07-28 西安电子科技大学 一种安全的数据外包机器学习数据分析方法
CN107124276A (zh) * 2017-04-07 2017-09-01 西安电子科技大学 一种安全的数据外包机器学习数据分析方法
CN108156138A (zh) * 2017-12-13 2018-06-12 西安电子科技大学 一种用于雾计算的细粒度可搜索加密方法
CN108156138B (zh) * 2017-12-13 2020-10-27 西安电子科技大学 一种用于雾计算的细粒度可搜索加密方法
CN108540280A (zh) * 2018-02-09 2018-09-14 上海交通大学 一种资源高效的安全数据分享方法及系统
CN108521329B (zh) * 2018-03-23 2020-11-20 华东师范大学 雾系统中的动态安全信道建立方法
CN108521329A (zh) * 2018-03-23 2018-09-11 华东师范大学 雾系统中的动态安全信道建立方法
CN109639425A (zh) * 2018-11-07 2019-04-16 华中科技大学 一种边计算环境下轻量级的可搜索公钥加密方法
CN109936562A (zh) * 2019-01-09 2019-06-25 南京邮电大学 一种面向雾计算的可扩展访问控制方法
CN109936562B (zh) * 2019-01-09 2021-07-27 南京邮电大学 一种面向雾计算的可扩展访问控制方法
CN109740383A (zh) * 2019-01-10 2019-05-10 南京信息职业技术学院 一种面向雾计算医疗系统的隐私保护控制方法
CN109740383B (zh) * 2019-01-10 2021-12-14 南京信息职业技术学院 一种面向雾计算医疗系统的隐私保护控制方法
CN110213036A (zh) * 2019-06-17 2019-09-06 西安电子科技大学 基于物联网雾计算-边缘计算的安全数据存储和计算方法
CN110611662A (zh) * 2019-08-30 2019-12-24 徐州工业职业技术学院 一种基于属性基加密的雾协同云数据共享方法
CN110611662B (zh) * 2019-08-30 2022-03-25 徐州工业职业技术学院 一种基于属性基加密的雾协同云数据共享方法
CN110602086B (zh) * 2019-09-10 2021-10-26 北京工业大学 雾计算中可撤销和外包的多授权中心属性基加密方法
CN110602086A (zh) * 2019-09-10 2019-12-20 北京工业大学 雾计算中可撤销和外包的多授权中心属性基加密方法
CN111131153B (zh) * 2019-11-18 2021-11-23 西安电子科技大学 基于5g云雾混构统一认证平台的生物身份信息认证方法
CN111131153A (zh) * 2019-11-18 2020-05-08 西安电子科技大学 基于5g云雾混构统一认证平台的生物身份信息认证方法
CN111541535A (zh) * 2020-04-17 2020-08-14 西南交通大学 一种可验证搜索结果的布尔检索属性基加密方法
CN111541535B (zh) * 2020-04-17 2021-12-28 西南交通大学 一种可验证搜索结果的布尔检索属性基加密方法
CN111970296A (zh) * 2020-08-25 2020-11-20 福建师范大学 一种高效的文件分等级属性基加密方法和系统

Also Published As

Publication number Publication date
CN106357395B (zh) 2019-04-23

Similar Documents

Publication Publication Date Title
CN106357395A (zh) 一种面向雾计算的外包访问控制方法及其系统
US11425171B2 (en) Method and system for cryptographic attribute-based access control supporting dynamic rules
CN104038341B (zh) 一种基于身份的跨系统代理重加密方法
CN109246096B (zh) 适用于云存储的多功能细粒度访问控制方法
CN105141574B (zh) 一种基于表格属性的云存储密文访问控制系统和方法
CN104168108B (zh) 一种泄露密钥可追踪的属性基混合加密方法
CN106375346B (zh) 一种云环境下基于条件广播代理重加密的数据保护方法
CN107359986A (zh) 可撤销用户的外包加解密cp‑abe方法
CN104135473B (zh) 一种由密文策略的属性基加密实现身份基广播加密的方法
CN104113408A (zh) 一种实现及时用户属性撤销的基于密文策略属性加密方法
CN103391192B (zh) 一种基于隐私保护的跨安全域访问控制系统及其控制方法
CN104320393B (zh) 重加密可控的高效属性基代理重加密方法
CN106341236A (zh) 一种面向云存储服务平台的访问控制方法及其系统
CN105049430A (zh) 一种具有高效用户撤销的密文策略属性基加密方法
CN103457725B (zh) 一种多授权中心的加密方法
Rass et al. Cryptography for security and privacy in cloud computing
CN105071937A (zh) 具有高效属性撤销的密文策略属性基加密方法
CN103490883B (zh) 一种多变量公钥加密/解密系统及加密/解密方法
CN101321058B (zh) 一种用于编码和译码数字消息的方法和系统
CN109902501A (zh) 一种基于云服务平台进行相等性测试的结构化加密方法及系统
CN109740383B (zh) 一种面向雾计算医疗系统的隐私保护控制方法
De Santis et al. Enforcing the security of a time-bound hierarchical key assignment scheme
Sandhia et al. Secure sharing of data in cloud using MA-CPABE with elliptic curve cryptography
CN109743162A (zh) 一种利用理想格操作进行身份属性匹配的加密方法
CN109347833B (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