CN110213231A - 一种面向sgx的轻量级的外包数据访问控制方法及控制系统 - Google Patents
一种面向sgx的轻量级的外包数据访问控制方法及控制系统 Download PDFInfo
- Publication number
- CN110213231A CN110213231A CN201910345813.7A CN201910345813A CN110213231A CN 110213231 A CN110213231 A CN 110213231A CN 201910345813 A CN201910345813 A CN 201910345813A CN 110213231 A CN110213231 A CN 110213231A
- Authority
- CN
- China
- Prior art keywords
- data
- sgx
- user
- state
- access control
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0407—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明属于云计算技术领域,公开了一种面向SGX的轻量级的外包数据访问控制方法,该方法分为两部分:ξ算法和SGX函数调用顺序的可信证明方案。ξ算法是本发明提出的一个轻量级密钥管理机制来实现对多用户的数据访问控制。本发明利用SGX技术进行隐私保护的数据分析来提高数据处理效率。然而,SGX不能保证其可信函数调用过程的可信性,非授权实体可能会打乱可信函数的调用顺序来获取非授权的数据计算结果,这仍然会导致数据的隐私泄露。本发明针对该问题提出了一个构建可信证明的方法解决由SGX编程机制而引发的数据处理安全问题。
Description
技术领域
本发明属于云计算技术领域,尤其涉及一种面向SGX的轻量级的外包数据访问控制方法。
背景技术
目前,最接近的现有技术:云计算技术是当前最热门的IT技术,其利用互联网上巨大的资源和强大的计算能力来为用户提供数据存储和复杂的数据分析,这些服务大大降低企业和个人的计算开销以及存储负担。此外,云计算还提供了弹性的服务。云用户可以根据自己的需要来购买服务,这能大大节省IT成本,而提高资源的整体利用率。由于云计算灵活性、方便以及低花费等优势,大量的应用服务程序被托管到云服务器上为用户提供服务。例如,在智能家居应用中,已注册的用户可以通过安装在家中的传感器来测量门锁的开/关状态、房间活动的音频或视频流、房间的温度和湿度等。这些测量的数据将被发送到一个基于云的后端应用进行进一步的功能处理来为用户提供更加便捷的服务。
然而,一方面,将个人数据外包给云会使得用户失去对自己数据的控制权,半可信的云服务器以及不可信的应用服务提供商可能会利用用户隐私数据谋利。另一方面,用户想要将自己的隐私数据共享给特定的人(如家人、执法部门等)。因此,用户希望应用服务可以支持严格的访问控制,以至于个人隐私数据不会泄露给未经授权的用户包括后端云服务器及应用服务提供商。通常,用户选择先将数据加密然后再外包给云服务去进行存储。但加密的数据会给数据处理和数据共享带来了阻碍。
目前,国内外很多方法用来实现对外包数据的安全存储和数据共享。基于角色的访问控制(Role-Based Access Control,简称RBAC)将用户角色作为访问策略去实现对用户的授权。然而RBAC需要一个可信第三方作为管理员管理数据和数据访问策略。代理重加密算法(Proxy Re-Encryption,简称PRE)允许代理将密文重加密成接收者私钥解密的密文,从而实现对外包数据的共享。但是,PRE需要部署一个半可信的代理服务器在服务器上,以防止代理服务器和用户共谋。其次,基于属性加密(Attribute-Based Encryption,简称ABE)的方法可以实现云数据加密的同时实现了密文数据的多用户细粒度的访问,但ABE算法的计算开销很大。这些外包数据的访问控制机制仅仅考虑了数据共享时的安全性。当把数据共享给授权用户之后,授权用户可能将共享数据交给某个应用服务器去处理,这依然会引起数据的隐私泄露。
目前有一些密码学的方法去实现外包数据的安全计算。全同态加密(FullyHomomorphic Encryption,简称FHE)可以实现基于密文的任意次数同态加法和乘法。然而FHE的计算开销和存储开销都很大。相对来说,半同态加密(Partially HomomorphicEncryption,简称PHE)算法虽然只能支持密文的乘法或者加法计算,它的计算量比FHE小,但是PHE仍包含很多模指数运算。且直接使用FHE和PHE算法只能对单个用户的数据进行计算。安全多方计算(Secure Multiparty Computation,简称SMC)算法支持多个用户终端协同计算同时又能保护用户的隐私,而SMC通常是用同态加密算法、秘密共享、混乱电路等方法实现的,这些算法会引入额外的通信开销和计算开销。随着物联网的发展,越来越多的数据被外包到云应用服务器上去处理,而基于密码学的隐私保护的数据处理方案引来了巨大的计算开销,这会带来服务响应得延迟,影响用户体验。
Intel公司提出了一个新的处理器安全技术SGX(Software Guard Extensions),它是Intel架构的一个扩展,在原有架构上增加了一组新的指令集和内存访问机制。这些扩展允许在应用程序的地址空间中划分出一块被保护的区域,称为Enclave,为容器内的代码和数据提供机密性和完整性的保护,免受拥有特殊权限的恶意软件的破坏。但是,通常一个应用服务程序可能包含多个特定功能的函数,SGX不能保证其可信函数调用过程的可信性,因此SGX技术无法确保数据只服务于用户请求,非授权的实体可能会利用隐私数据做非授权的操作,这样仍然会引起隐私泄露。例如,应用服务提供者可能会打乱可信函数的调用顺序来得到非授权的计算结果。虽然已经很多研究工作利用SGX技术去实现隐私保护的数据处理,但是这些方案都没有考虑上述问题。而这对数据的隐私保护至关重要。
综上所述,现有技术存在的问题是:
(1)现有的应用服务大都部署在云服务器,半可信的云服务器以及不可信的应用服务提供商可能会向其他未授权的实体泄露用户的隐私数据,用户希望隐私数据可以支持严格的访问控制,以保证个人隐私数据不会泄露给未经授权的实体包括云服务器。
(2)当把数据共享给授权用户之后,数据拥有者就失去了对数据的控制权。授权用户可能将共享数据交给非可信的某个应用服务器去处理,这会引起数据的隐私泄露。
(3)现有的方案多采用加密来实现安全的数据分析,这样增加了数据计算和分析的复杂性,引入了较高的计算开销。
(4)SGX技术可以实现隐私保护的数据分析同时可以减少计算开销,但SGX不能保证其可信函数调用过程的可信性,因此SGX技术无法确保数据只服务于用户请求,非授权的实体可能利用隐私数据做非授权的操作,这样可能会引起隐私泄露。
解决上述技术问题的难度:
(1)传统的访问控制策略安全性,计算开销,可扩展性方面均存在问题。RBRC中需要一个可信第三方,并且每个用户拥有数据拥有者的密钥。在PRE中,数据加密使用的是公钥加密,并且需要一个半可信的代理对数据进行重加密后,将重加密密文发送给授权用户,因此PRE的计算开销很高。ABE在数据解密时,用户需要进行多次双线性对运算,并且在用户撤销时,需要将云存储服务器上的密文数据重新加密,计算开销和可扩展性均不适合SGX。如何设计一个高效的、可扩展性高的、面向SGX的访问控制策略是一个重要的难点。
(2)现有的安全的数据分析方法均具有较高的计算复杂度,本发明利用SGX技术进行隐私保护的数据分析减少了计算开销同时保护了共享数据使用时的隐私。而SGX又无法保证Enclave函数调用顺序的正确性,这样非授权的实体(如云服务器)可能乱序执行Enclave函数来获取某些非授权的数据计算结果。如何设计一个方案可以证明SGX函数调用顺序的可信度是一个关键问题。
解决上述技术问题的意义:一个轻量级密钥管理机制可以实现对多用户的数据访问控制,这会使得SGX更具有扩展性、更高效。用户可以访问数据拥有者的数据同时又保护了数据拥有者的隐私,增强了用户对SGX平台的认可度。其次,数据拥有者及用户不需要进行复杂的加解密计算,减少了用户的计算开销。SGX函数调用顺序的可信证明方案可以解决SGX编程机制而引发的数据泄露问题,防止了非授权实体对隐私数据进行非法操作,保证了共享数据在处理时的隐私保护。
发明内容
针对现有技术存在的问题,本发明提供了一种面向SGX的轻量级的外包数据访问控制方法及控制系统。
本发明是这样实现的,一种面向SGX的轻量级的外包数据访问控制方法,所述面向SGX的轻量级的外包数据访问控制方法包括:
通过支持数据共享的密钥管理算法对用户隐私数据进行秘密共享;
同时利用SGX函数调用顺序的可信证明方法进行隐私数据处理过程的认证,对SGX编程机制引发的数据处理安全进行保护。
进一步,支持数据共享的密钥管理算法包括:
1)密钥生成输入安全参数λ和系统中用户数量n,并输出对称密钥sk、发送给Enclave的共享密钥ske、用户i的秘密共享定义两个阶为素数p循环群以及双线性对为
2)加密encrypt(sk,M)→CT:输入加密密钥sk和数据M,并使用AES方案对数据进行加密,再输出相应的密文CT;
3)解密输入为访问控制策略pol,Enclave的共享密钥ske,用户的共享密钥和密文CT,输出为发送给用户i的数据Mi;pol为数据拥有者终端定义的访问控制列表,包含授权用户的ID、其共享密钥的使用期限及授权用户可以访问的数据的ID;根据访问控制列表pol检查用户是否有权限访问该数据;如果有,Enclave检索ske获得和e(g,g)a+b,计算
Enclave重新构造密钥并解密CT,得到明文Mi。
进一步,步骤1)密钥生成中,对于每一个用户i,利用Shamir门限秘密共享生成密钥,具体包括:
第一步,数据拥有者终端选择两个随机数a,b∈Zp和一个一次函数qr(x)=ax+b,并计算对称加密密钥sk=e(g,g)b;
第二步,对于每一个用户i(1≤i≤n),数据拥有者终端均选择一个随机数ti∈zp,然后计算
进一步,SGX函数调用顺序的可信证明方法包括:
A)初始化:P0为状态链初始状态,初始化为P0={NULL,p0,NULL,NULL,Mi},d};
B)可信状态链生成:新状态Pp基于之前的状态P1,…,Pp-1和可信函数f*生成,其中1≤p≤k;
C)可信链验证:在Enclave函数调用到达最终状态Pk之后,应用服务程序将输出当前询问的响应;响应包括结果和可信证明,结果为加密Pk.curstate[pdb]得到的密文,可信证明为(tp,σtp),其中tp是所有状态P0,P1,...,Pk删除数据字段,σtp是tp的签;用户收到响应后,解密并验证可信证明的完整性。
进一步,步骤B)具体包括:
1)f*检查变量的有效性和所有存在状态的完整性;
2)从步骤A)初始化的状态P0状态获取中间计算结果进行计算Pp.curstate[pdb],并将Pp.prestates设置为初始化的状态P0之前状态的ID;
3)Pp.pstate[pid]设置为当前状态的ID,Pp.curstate[funcid]设置为当前Enclave函数的ID,将Pp.curstate[params]设置为f*的变量;
4)设置dur的值,规则为每经过一个f*,dur减一;所有状态均由全局Enclave变量states状态实施。
本发明的另一目的在于提供一种实施所述的面向SGX的轻量级的外包数据访问控制系统,所述面向SGX的轻量级的外包数据访问控制系统包括数据拥有者终端、多个用户终端及云服务器;
数据拥有者终端,收集或生成数据并将其上传到云服务器以进行的存储和计算;
多个用户可以请求数据拥有者终端中的隐私数据;
云服务器可以为用户提供计算和存储服务。云服务提供商和应用服务提供者均是不可信的,云服务器上部署的SGX模块是完全可信的。共享数据的恢复以及数据的处理是在SGX模块的Enclave执行。此外,本发明不考虑用户与云应用程序之间的共谋。
综上所述,本发明的优点及积极效果为:
1)可扩展性:通过设计一种面向SGX的密钥管理算法,实现了对于隐私数据的秘密共享。而在设计的算法中,新用户的加入和撤销仅仅只需要通过更新云服务器上的访问控制列表即可,因此,相比于其他访问控制机制,本发明在可扩展性上有很大提高。
2)数据处理的隐私保护:现有的数据访问控制方法仅仅关注到数据共享时的隐私。当把数据共享给授权用户之后,数据拥有者就失去了对数据的控制权。授权用户可能将共享数据交给某个不可信的应用服务器去处理,这会引起数据的隐私泄露。
3)高效性:对隐私数据加解密均使用对称加密算法,降低了计算复杂度。其次,共享数据的处理时的隐私保护是由SGX技术实现的,避免了对密文的计算,减少了计算开销。
4)安全性:本发明通过设计一种支持数据共享的密钥管理算法来保证数据在共享时的安全性,同时设计了一种SGX函数调用顺序的可信证明方案来保证共享数据在处理时的安全性。此外,本发明的密钥共享算法是基于决策双线性Diffie-Hellman假设,并且本发明中没有依赖于任何可信第三方机构。因此,相比现有的访问控制方案,本发明在安全性方面有很大的提高。
本发明与现有方案的详细对比如下表所示。
[1]L.Zhou,V.Varadharajan,and M.Hitchens,″Achieving secure role-basedaccess control on encrypted data in cloud storage,″IEEE transactions oninformation forensics and security,vol.8,pp.1947-1960,2013.
[2]Z.Tianyi,L.Weidong,and S.Jiaxing,″An efficient role based accesscontrol system for cloud computing,″in 2011 IEEE 11th InternationalConference on Computer and Information Technology,2011,pp.97-102.
[3]G.Ateniese,K.Fu,M.Green,and S.Hohenberger,″Improved proxy re-encryption schemes with applications to secure distributed storage,″ACMTransactions on Information and System Security(TISSEC),vol.9,pp.1-30,2006.
[4]V.Goyal,O.Pandey,A.Sahai,and B.Waters,″Attribute-based encryptionfor fine-grained access control of encrypted data,″in Proceedings of the 13thACM conference on Computer and communications security,2006,pp.89-98.
[5]J.Bethencourt,A.Sahai,and B.Waters,″Ciphertext-policy attribute-based encryption,″in 2007 IEEE symposium on security and privacy (SP′07),2007,pp.321-334.
[6]S.Contiu,R.Pires,S.Vaucher,M.Pasin,and L.Réveillère,″IBBE-SGX:Cryptographic Group Access Control using Trusted Execution Environments,″pp.207-218.2018.
[7]F.Schuster,M.Costa,C.Fournet,C.Gkantsidis,M.Peinado,G.Mainar-Ruiz,et al.,″VC3:Trustworthy data analytics in the cloud using SGX,″in 2015 IEEESymposium on Security and Privacy,2015,pp.38-54.
[8]R.Pires,D.Gavril,P.Felber,E.Onica,and M.Pasin,″A lightweightMapReduce framework for secure processing with SGX,″in Proceedings of the17th IEEE/ACM International Symposium on Cluster,Cloud and Grid Computing,2017,pp.1100-1107.
[9]W.Zheng,A.Dave,J.G.Beekman,R.A.Popa,J.E.Gonzalez,and I.Stoica,″Opaque:An oblivious and encrypted distributed analytics platform,″in 14th{USENIX}Symposium on Networked Systems Design and Implementation({NSDI}17),2017,pp.283-298.
附图说明
图1是本发明实施例提供的面向SGX的轻量级的外包数据访问控制系统示意图。
图2是本发明实施例提供的SGX中开发的应用程序的执行流程图。
图3是本发明实施例提供的共享密钥生成图。
图4是本发明实施例提供的可信证明本发明方案的一个具体示例图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
大部分应用服务均部署在云服务器,半可信的云服务器以及不可信的应用服务提供商可能会向其他未授权的实体泄露用户的隐私数据,用户希望隐私数据可以支持严格的访问控制,以保证个人隐私数据不会泄露给未经授权的实体包括云服务器。当把数据共享给授权用户之后,数据拥有者终端就失去了对数据的控制权。授权用户可能将共享数据交给非可信的某个应用服务器去处理,这会引起数据的隐私泄露。
现有的方案多采用加密来实现安全的数据分析,这样增加了数据计算和分析的复杂性,引入了较高的计算开销。
SGX技术可以实现隐私保护的数据分析同时可以减少计算开销,但SGX不能保证其可信函数调用过程的可信性,因此SGX技术无法确保数据只服务于用户请求,非授权的实体可能利用隐私数据做非授权的操作,这样可能会引起隐私泄露。
为解决上述问题,下面结合涉及的含义及符号对本发明作详细描述。
在本发明中,涉及到的英文缩写对应的英文全称和中文含义如下表1、表2:
表1:缩略语描述
英文缩写 | 英文全称 | 中文译文 |
SGX | Software Guard Extensions | 软件防护扩展 |
RBAC | Role-based Access Control | 基于角色的访问控制 |
PRE | Proxy Re-Encryption | 代理重加密 |
ABE | Attributed Based Encryption | 基于属性的加密 |
FHE | Fully Homomorphic Encryption | 全同态加密 |
PHE | Partially Homomorphic Encryption | 半同态加密 |
SMC | Secure Multi-party Computation | 安全多方计算 |
AES | Advanced Encryption Standard | 高级加密标准 |
DAG | Directed Acyclic Graph | 有向无环图 |
表2:使用的符号
下面结合具体方案对本发明作详细描述
本发明实施例提供的面向SGX的轻量级的外包数据访问控制系统如图1所示,它包括一个数据拥有者终端、多个用户终端及云服务器。
数据拥有者终端用于收集或生成数据并将其上传到云服务器以进行有效的存储和计算。
多个用户终端用于获取请求数据拥有者终端中的隐私数据;例如,在智能家居应用中,警方可能被授权使用某个用户的家庭监控应用服务访问户外摄像机的数据。
云服务器可以为用户提供计算和存储服务。云服务提供商和应用服务提供者均是不可信的,云服务器上部署的SGX模块是完全可信的。共享数据的恢复以及数据的处理是在SGX模块的Enclave执行。此外,本发明不考虑用户与云应用程序之间的共谋。下面结合具体分析对本发明作进一步描述。
在本发明实施例中,双线性对包括:
令是阶为素数p的循环群,g是的一个生成元,映射若满足下列特征就是双线性对:
双线性:均有e(ua,vb)=e(u,v)ab,称映射是双线性的;
非退化性::e(g,g)≠1;
可计算的:存在一个有效的算法计算e(u,v)。
在本发明实施例中,Shamir门限秘密共享方案包括:
令pm是秘密域的大小,其中pm是大于n的素数幂,n为访问结构中的参与方的数量。令是一个秘密。Dealer在中随机选择t-1个元素r1,...,rt-1,这些元素和秘密s定义了一个秘密多项式:
可以得到p(0)=s。Dealer给p(i)发送给参与方p(i)是随机输入和秘密的线性组合,那么现在至少t个不同的p(i)可以通过插值法重建p(x),假设参与者拥有子秘密它们可以计算Lagrange差值公式
其中S={i1,...,it},令x=0即可重建秘密s。定义集合S和ij的Lagrange系数
在本发明实施例中,Intel SGX技术包括:
SGX是一种硬件辅助技术,用于帮助应用程序开发人员在主机平台(包括OS内核、VM hypervisor等)受到威胁时保护所选代码和数据不被泄露或修改。它提供的基本功能是内存隔离,允许开发人员将受保护的内存区域保留为受信任执行环境(trusted executionenvironment,TEE),这样在其中运行的代码和数据就不会被黑客攻击。
SGX技术提供了通用的应用开发平台,允许应用程序指定需要保护的代码和数据部分,在创建Enclave之前,不必对这些代码和数据进行检查或分析,但加载到Enclave中去的代码和数据必须被度量。SGX中开发的应用程序的执行流程如图2所示。首先,在SGX中开发应用时,开发者需要将应用程序分成可信和不可信的部分,可信的代码在Enclave中执行。然后,在不可信的部分创建Enclave,当程序运行到可信部分时,应用程序通过预定义的ECall接口跳转到Enclave中执行,最后应用程序将调用的结果返回给应用程序,程序继续执行。如果需要在Enclave中执行不可信函数(比如I/O操作),则可以通过OCall接口临时退出Enclave,以调用不可信空间中的函数。因此,Enclave无法控制执行ECall的顺序,也就是说Enclave函数的调用顺序无法保证,这可能会在某些场景下造成安全威胁。
另外两个辅助功能是:远程认证和存储加密。远程认证即远程实体可以在第三方平台上检查新实例化的Enclave的完整性,包括身份、内部数据、代码等,并可以和成功认证的Enclave建立一个安全的通信信道用于传输隐私数据;存储加密即开发人员在不受信任的存储设备上以密文形式缓存Enclave数据,以便在服务器故障和断电时进行恢复。
下面结合具体方案对本发明作进一步描述。
本发明实施例提供的面向SGX的轻量级的外包数据访问控制方法包括:
步骤一,支持访问控制的密钥管理算法,命名为ξ。包括:
1)密钥生成该算法输入一个安全参数λ和系统中用户数量n,并输出几个密钥:对称密钥sk,发送给Enclave的共享密钥ske,用户i的秘密共享定义了两个阶为素数p循环群以及双线性对本发明主要是利用Shamir门限秘密共享方案共享密钥生成的算法如图3所示。对于每一个用户i,利用Shamir门限秘密共享方案按以下步骤生成密钥:
第一步,数据拥有者终端选择两个随机数a,b∈Zp和一个一次函数qr(x)=ax+b,并计算对称加密密钥sk=e(g,g)b。
第二步,对于每一个用户i(1≤i≤n),数据拥有者终端均选择一个随机数ti∈Zp,然后计算
2)加密encrypt(sk,M)→CT:该算法输入加密密钥sk和数据M,然后使用AES方案对数据进行加密,最后输出相应的密文CT。
3)解密这个算法的输入为访问控制策略pol,Enclave的共享密钥ske,用户的共享密钥和密文CT,输出为发送给用户i的数据Mi。pol为数据拥有者终端定义的访问控制列表,其中包含授权用户的ID、其共享密钥的使用期限。由于密钥生成的树结构比较固定,无需计算拉格朗日系数,可通过观察恢复sk。首先,根据访问控制列表pol检查该用户是否有权限访问该数据。如果有,Enclave检索ske获得和e(g,g)a+b,计算其次,Enclave重新构造密钥并解密CT,得到明文Mi。
步骤二,SGX函数调用顺序的可信证明:
由SGX编程模型可知,SGX技术无法控制Enclave函数的调用顺序,因此不可信的应用服务提供商可能会不按照既定的协议调用Enclave函数,他们可能会肆意调换Enclave函数的执行顺序来得到某些数据结果去谋取利益,这引发了用户数据的泄露问题。因此,本发明提出了一个可信证明方法,即在Enclave函数调用的过程中构造一个可信证明链来证明函数调用顺序的正确性。
假设一个应用服务程序由多个可信的Enclave函数构成,而完成用户的一次请求需要调用多个可信函数才能完成。因此,用户的请求可以生成一个调用计划τ,应用服务程序按照τ调用相应的Enclave函数f*,一次调用计划将经历几个状态P0,P1,...,Pk,一个状态记为P={prestates,curstate,dur},其中prestates记录之前所有状态的ID,curstate表示记录与当前状态相关的所有信息。定义curstate={pid,pdb,funcid,params},pid为状态的标识,pdb表示当前状态的返回值,funcid为一个Enclave函数f*的标识params表示f*的变量,dur代表P.curstate[pdb]可以被f*计算的最大次数。Enclave函数调用的顺序由一条在Enclave中生成的状态链记录,最终由
Enclave签名后通过安全信道发给数据拥有者终端,从而保证了状态链的可信性。具体可信证明方法如下:
a)初始化:P0为状态链初始状态,将其初始化为P0={NULL,{p0,NULL,NULL,Mi},d}。
b)可信状态链生成:新状态Pp基于之前的状态P0,P1,...,Pp(1≤p≤k)和f*按照如下方式生成的:1)f*检查它的变量的有效性和所有存在状态的完整性;2)从之前的状态获取它需中间计算结果来计算Pp.curstate[pdb],并将Pp.prestates设置为之前状态的ID;3)Pp.pstate[pid]设置为当前状态的ID,Pp.curstate[funcid]设置为当前Enclave函数的ID,将Pp.curstate[params]设置为f*的变量;4)设置dur的值,规则为每经过一个f*,dur减一。所有状态都由一个全局Enclave变量states状态实现。
c)可信链验证:在Enclave函数调用到达最终状态Pk之后,应用服务程序将输出当前询问的响应。响应包含两部分:结果和可信证明,结果是加密Pk.curstate[pdb]得到的密文,可信证明为(tp,σtp),其中tp是所有状态P0,P1,...,Pk删除数据字段,σtp是tp的签名。用户收到响应后,解密并验证可信证明的完整性。
下面通过例子来说明设计的可信证明方案。如图4所示,用户的请求是一个仅含有基本运算计算表达式,如加法、减法、乘法和除法。这些基本的运算是在Enclave实现的可信函数,其中fa代表加法函数,fs代表减法函数,fm代表乘法函数,fd代表除法函数。当然,实际中Enclave函数可能实现更加复杂的功能,为了方便描述,本发明采用最简单的操作。具体数据处理步骤如下:
i)根据用户的请求表达式生成数据处理计划。
ii)设置状态链的states的初始状态P0={NULL,{p0,{A,B,C,D,E,F},NULL,NULL},6}。
iii)计算(0-C),结果记为fs(0,C),从P0.curstate[pdb]获取计算所需的值,并设置P1={p0,{p1,fs(0,C),H(fs),{C,0}},5}。然后按同样方法计算(A*D)和(B*E),fs(0,C)+fm(A,D)+fm(B,E)。
令α=fa(fs(0,C)+fm(A,D)+fm(B,E))
iv)计算α+fa(F,B)+fd(C,E),记β=fa(α,fa(F,B),fd(C,E)),更改状态为
P7={p1,p2,p3,{p4,β,H(fa),{α,fa(F,B),fd(C,E)}},0}。
v)最终将β用加密获得CTβ,并将states中P1、P2、P3、P4、P5、P6的curstate[pdb]删除,然后并用Enclave的签名密钥对其进行签名获得σβ。将{CTβ,σβ}发给用户,用户收到响应后,解密并验证可信证明的完整性。
下面通过分析本发明的计算复杂度对本发明的高效性作进一步描述。
本发明的效率主要取决密钥管理算法的计算复杂度,为了证明本方案的高效性,下面分析ξ算法和SGX函数调用顺序可信证明方案的计算复杂度。在分析计算开销时,本发明不考虑有关SGX的操作,如创建Enclave的创建、远程认证、安全信道建立、数据交换等。具体的计算复杂度的统计如表2所示。
首先,ξ算法各部分的计算复杂度分析如下:
密钥生成:这部分计算开销是为用户和Enclave生成共享密钥,它需要n次模指数运算,n次模乘运算,及2次双线性对运算。
加密:在本发明中,数据加密可以采用任意一个对称加密算法,仅需保证密钥为sk即可。因此这部分的计算开销仅为1次的AES加密,而AES的计算复杂度取决于数据的长度dl。
解密:包括恢复加密密钥和解密数据两部分的计算开销。恢复加密密钥需要Enclave执行2次双线性映射运算和1次模乘运算。数据解密使用AES算法,计算复杂度取决于数据的长度dl。
用户撤销:用户加入仅需要为用户选择一个独一无二的并更新Enclave的访问控制策略。删除或者修改一个用户的权限也仅仅需要更新Enclave的访问控制策略即可。
其次,SGX函数调用顺序可信证明方案的计算开销分析如下:
查询计划生成:查询计划的生成主要取决于数据计算表达式的长度fl。
可信证明链构建:可信链的构建仅需要设置一个全局变量states,在每次Enclave函数调用时,将状态转换记录在该变量中即可。当构建完成后,Enclave需要将计算结果抽取处理,并对状态链进行签名生成可信证明,然后对计算结果以及可信证明使用进行加密。这步操作的计算复杂度取决于计算结果的长度rl和可信证明的长度tl。
可信链验证:用户需要解密数据计算结果及可信证明,同时验证可信证明。这步操作的计算复杂度仍取决于rl和tl。
由上述对方案的计算复杂度的分析,可以得出本方案在效率方面,比于现有的访问控制机制提高了很多。其次,在用户撤销方面,本方案的计算复杂度仅有O(1),可扩展性也得到了很大提高。
表2
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种面向SGX的轻量级的外包数据访问控制方法,其特征在于,所述面向SGX的轻量级的外包数据访问控制方法包括:
通过一种支持数据共享的密钥管理算法对用户隐私数据进行秘密共享;
同时利用SGX函数调用顺序的可信证明方法进行隐私数据处理过程的认证,对SGX编程机制引发的数据处理安全进行保护。
2.如权利要求1所述的面向SGX的轻量级的外包数据访问控制方法,支持数据共享的密钥管理算法包括:
1)密钥生成输入安全参数λ和系统中用户数量n,并输出对称密钥sk、发送给Enclave的共享密钥ske、用户i的秘密共享1≤i≤n;定义两个阶为素数p循环群以及双线性对为e:
2)加密encrypt(sk,M)→CT:输入加密密钥sk和数据M,并使用AES方案对数据进行加密,再输出相应的密文CT;
3)解密输入为访问控制策略pol,Enclave的共享密钥ske,用户的共享密钥和密文CT,输出为发送给用户i的数据Mi;pol为数据拥有者终端定义的访问控制列表,包含授权用户的ID、共享密钥的使用期限及授权用户可以访问的数据的ID;根据访问控制列表pol检查用户是否有权限访问该数据;如果有,Enclave检索ske获得和e(g,g)a+b,计算
Enclave重新构造密钥并解密CT,得到明文Mi。
3.如权利要求2所述的面向SGX的轻量级的外包数据访问控制方法,其特征在于,步骤1)密钥生成中,对于每一个用户i,利用Shamir门限秘密共享生成密钥,具体包括:
第一步,数据拥有者选择两个随机数a,b∈Zp和一个一次函数qr(x)=ax+b,并计算对称加密密钥sk=e(g,g)b;
第二步,对于每一个用户i(1≤i≤n),数据拥有者均选择一个随机数ti∈Zp,然后计算
4.如权利要求1所述的面向SGX的轻量级的外包数据访问控制方法,SGX函数调用顺序的可信证明方法包括:
A)初始化:P0为状态链初始状态,初始化为P0={NULL,{p0,NULL,NULL,Mi},d};
B)可信状态链生成:新状态Pp基于之前的状态P1,…,Pp-1和可信函数f*生成,其中1≤p≤k;
C)可信链验证:在Enclave函数调用到达最终状态Pk之后,应用服务程序将输出当前数据处理请求的响应;响应包括结果和可信证明,结果为加密Pk.curstate[pdb]得到的密文,可信证明为(tp,σtp),其中tp是所有状态P0,P1,...,Pk删除数据字段,σtp是tp的签名;用户收到响应后,解密并验证可信证明的完整性。
5.如权利要求4所述的面向SGX的轻量级的外包数据访问控制方法,步骤B)具体包括:
1)f*检查变量的有效性和所有存在状态的完整性;
2)从步骤A)初始化的状态P0状态获取中间计算结果进行计算Pp.curstate[pdb],并将Pp.prestates设置为初始化的状态P0之前状态的ID;
3)Pp.pstate[pid]设置为当前状态的ID,Pp.curstate[funcid]设置为当前Enclave函数的ID,将Pp.curstate[params]设置为f*的变量;
4)设置dur的值,规则为每经过一个f*,dur减一;所有状态均由全局Enclave变量states状态实施。
6.一种实施权利要求1所述的面向SGX的轻量级的外包数据访问控制方法的面向SGX的轻量级的外包数据访问控制系统,其特征在于,所述面向SGX的轻量级的外包数据访问控制系统包括数据拥有者终端、多个用户终端、云服务器;
数据拥有者终端用于收集或生成数据并将其上传到云服务器以进行有效的存储和计算;
多个用户终端用于获取请求数据拥有者终端中的隐私数据;
云服务器可以为用户提供计算和存储服务;云服务提供商和应用服务提供者均是不可信的,云服务器上部署的SGX模块是完全可信的;共享数据的恢复以及数据的处理是在SGX模块的Enclave执行;此外,本发明不考虑用户与云应用程序之间的共谋。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910345813.7A CN110213231B (zh) | 2019-04-26 | 2019-04-26 | 一种面向sgx的轻量级的外包数据访问控制方法及控制系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910345813.7A CN110213231B (zh) | 2019-04-26 | 2019-04-26 | 一种面向sgx的轻量级的外包数据访问控制方法及控制系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110213231A true CN110213231A (zh) | 2019-09-06 |
CN110213231B CN110213231B (zh) | 2021-11-30 |
Family
ID=67786607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910345813.7A Active CN110213231B (zh) | 2019-04-26 | 2019-04-26 | 一种面向sgx的轻量级的外包数据访问控制方法及控制系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110213231B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110752924A (zh) * | 2019-10-30 | 2020-02-04 | 四川长虹电器股份有限公司 | 一种基于安全多方计算的密钥安全管理方法 |
CN111275202A (zh) * | 2020-02-20 | 2020-06-12 | 济南大学 | 一种面向数据隐私保护的机器学习预测方法及系统 |
CN111563261A (zh) * | 2020-05-15 | 2020-08-21 | 支付宝(杭州)信息技术有限公司 | 一种基于可信执行环境的隐私保护多方计算方法和系统 |
CN111695145A (zh) * | 2020-04-18 | 2020-09-22 | 西安电子科技大学 | 基于sgx的面向mldp的多方访问控制方法及系统 |
CN112532383A (zh) * | 2020-11-18 | 2021-03-19 | 南京信息工程大学 | 一种基于秘密分享的隐私保护计算方法 |
CN114035907A (zh) * | 2021-12-16 | 2022-02-11 | 北京冲量在线科技有限公司 | 基于超算中心Slurm作业调度和安全虚拟机容器的隐私计算系统 |
CN114662131A (zh) * | 2022-04-09 | 2022-06-24 | 江阴市中医院 | 一种基于隐私安全计算建立的中医药大数据应用开放平台 |
CN116614275A (zh) * | 2023-05-23 | 2023-08-18 | 京信数据科技有限公司 | 一种隐私计算一体机委托加速的装置及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107506659A (zh) * | 2017-07-27 | 2017-12-22 | 西安电子科技大学 | 一种基于sgx的通用数据库的数据保护系统及方法 |
WO2019021105A1 (en) * | 2017-07-24 | 2019-01-31 | nChain Holdings Limited | METHODS AND SYSTEMS FOR ENCRYPTION EVENT ENCRYPTION IMPLEMENTED BY BLOCK CHAINS |
CN109510708A (zh) * | 2018-10-24 | 2019-03-22 | 中国科学院信息工程研究所 | 一种基于Intel SGX机制的公钥密码计算方法和系统 |
-
2019
- 2019-04-26 CN CN201910345813.7A patent/CN110213231B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019021105A1 (en) * | 2017-07-24 | 2019-01-31 | nChain Holdings Limited | METHODS AND SYSTEMS FOR ENCRYPTION EVENT ENCRYPTION IMPLEMENTED BY BLOCK CHAINS |
CN107506659A (zh) * | 2017-07-27 | 2017-12-22 | 西安电子科技大学 | 一种基于sgx的通用数据库的数据保护系统及方法 |
CN109510708A (zh) * | 2018-10-24 | 2019-03-22 | 中国科学院信息工程研究所 | 一种基于Intel SGX机制的公钥密码计算方法和系统 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110752924A (zh) * | 2019-10-30 | 2020-02-04 | 四川长虹电器股份有限公司 | 一种基于安全多方计算的密钥安全管理方法 |
CN111275202A (zh) * | 2020-02-20 | 2020-06-12 | 济南大学 | 一种面向数据隐私保护的机器学习预测方法及系统 |
CN111275202B (zh) * | 2020-02-20 | 2023-08-11 | 济南大学 | 一种面向数据隐私保护的机器学习预测方法及系统 |
CN111695145A (zh) * | 2020-04-18 | 2020-09-22 | 西安电子科技大学 | 基于sgx的面向mldp的多方访问控制方法及系统 |
CN111695145B (zh) * | 2020-04-18 | 2023-04-07 | 西安电子科技大学 | 基于sgx的面向mldp的多方访问控制方法及系统 |
CN111563261A (zh) * | 2020-05-15 | 2020-08-21 | 支付宝(杭州)信息技术有限公司 | 一种基于可信执行环境的隐私保护多方计算方法和系统 |
CN112532383A (zh) * | 2020-11-18 | 2021-03-19 | 南京信息工程大学 | 一种基于秘密分享的隐私保护计算方法 |
CN114035907A (zh) * | 2021-12-16 | 2022-02-11 | 北京冲量在线科技有限公司 | 基于超算中心Slurm作业调度和安全虚拟机容器的隐私计算系统 |
CN114662131A (zh) * | 2022-04-09 | 2022-06-24 | 江阴市中医院 | 一种基于隐私安全计算建立的中医药大数据应用开放平台 |
CN116614275A (zh) * | 2023-05-23 | 2023-08-18 | 京信数据科技有限公司 | 一种隐私计算一体机委托加速的装置及方法 |
CN116614275B (zh) * | 2023-05-23 | 2024-02-20 | 京信数据科技有限公司 | 一种隐私计算一体机委托加速的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110213231B (zh) | 2021-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Belguith et al. | Phoabe: Securely outsourcing multi-authority attribute based encryption with policy hidden for cloud assisted iot | |
Kaaniche et al. | Data security and privacy preservation in cloud storage environments based on cryptographic mechanisms | |
Ganapathy | A secured storage and privacy-preserving model using CRT for providing security on cloud and IoT-based applications | |
CN110213231A (zh) | 一种面向sgx的轻量级的外包数据访问控制方法及控制系统 | |
Khan et al. | Towards secure mobile cloud computing: A survey | |
Dong et al. | Achieving an effective, scalable and privacy-preserving data sharing service in cloud computing | |
Ning et al. | Dual access control for cloud-based data storage and sharing | |
Han et al. | A data sharing protocol to minimize security and privacy risks of cloud storage in big data era | |
Belguith et al. | Analysis of attribute‐based cryptographic techniques and their application to protect cloud services | |
Garg et al. | Comparative analysis of cloud data integrity auditing protocols | |
Kiraz | A comprehensive meta-analysis of cryptographic security mechanisms for cloud computing | |
Baseri et al. | Privacy preserving fine-grained location-based access control for mobile cloud | |
Yang et al. | Secure and efficient fine-grained data access control scheme in cloud computing1 | |
Nasiraee et al. | Privacy-preserving distributed data access control for CloudIoT | |
Yu | Data sharing on untrusted storage with attribute-based encryption | |
Niu et al. | An effective and secure access control system scheme in the cloud | |
Kotha et al. | A comprehensive review on secure data sharing in cloud environment | |
Jayaraman et al. | Secure privacy conserving provable data possession (SPC-PDP) framework | |
Saxena et al. | Role-based access using partial homomorphic encryption for securing cloud data | |
Rao et al. | A hybrid elliptic curve cryptography (HECC) technique for fast encryption of data for public cloud security | |
Huang et al. | ZT-Access: A combining zero trust access control with attribute-based encryption scheme against compromised devices in power IoT environments | |
Zhang et al. | Tenant-led ciphertext information flow control for cloud virtual machines | |
Aljafer et al. | A brief overview and an experimental evaluation of data confidentiality measures on the cloud | |
Li et al. | PMDP: A framework for preserving multiparty data privacy in cloud computing | |
Ru et al. | Graph neural networks for privacy-preserving recommendation with secure hardware |
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 |