CN111695145A - 基于sgx的面向mldp的多方访问控制方法及系统 - Google Patents

基于sgx的面向mldp的多方访问控制方法及系统 Download PDF

Info

Publication number
CN111695145A
CN111695145A CN202010308680.9A CN202010308680A CN111695145A CN 111695145 A CN111695145 A CN 111695145A CN 202010308680 A CN202010308680 A CN 202010308680A CN 111695145 A CN111695145 A CN 111695145A
Authority
CN
China
Prior art keywords
data
user
owner
access control
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.)
Granted
Application number
CN202010308680.9A
Other languages
English (en)
Other versions
CN111695145B (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.)
Xidian University
Original Assignee
Xidian 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 Xidian University filed Critical Xidian University
Priority to CN202010308680.9A priority Critical patent/CN111695145B/zh
Publication of CN111695145A publication Critical patent/CN111695145A/zh
Application granted granted Critical
Publication of CN111695145B publication Critical patent/CN111695145B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/16Program or content traceability, e.g. by watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6245Protecting personal data, e.g. for financial or medical purposes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Medical Informatics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明属于云计算技术领域,公开了一种基于SGX的面向MLDP的多方访问控制方法及系统,基于SGX的轻量级的密钥管理算法支持MLDP场景下数据结果的多方访问控制,同时解决SGX的密钥撤销问题,负责数据拥有者的加密密钥和用户的授权生成、数据加密及解密;基于上述密钥管理方案,设计高效、安全、灵活的多方访问控制框架,简称为EMPAC框架,该框架支持安全的数据处理和数据结果的多方访问控制;还提出一种基于博弈论的数据保护方法,通过设置便衣警察对非根数据拥有者的行为进行奖惩,驱使所有的非根数据拥有者诚实地按照EMPAC框架的协议执行。本发明最终解决了非根数据拥有者私自泄露数据来谋利的问题。

Description

基于SGX的面向MLDP的多方访问控制方法及系统
技术领域
本发明属于云计算技术领域,尤其涉及一种基于SGX的面向MLDP的多方访问控制方法及系统。
背景技术
目前,由于云具有丰富的存储资源和强大的计算能力,个人和企业都倾向于将数据外包给云进行处理和存储。通过这种方式,云用户打破了计算和存储资源的限制。然而,云不能被完全信任,它可能会将用户的隐私数据泄露给未授权的实体。为了保护用户隐私,云服务提供商通常使用访问控制机制和安全的数据计算技术来保证数据的安全存储和处理。访问控制机制可以防止对数据拥有者的隐私数据进行非授权的访问。而随着社会分工的不断细化,各方协作不断加强,一些数据不仅仅和一个用户相关,有时共享数据需要同时满足多个关联用户的特殊授权需求。例如,多个人共同编辑的文档或多人合照的照片均涉及到多个用户的隐私,如果其中一个用户想要私自把共同拥有的数据分享给其他人,那么就会泄露其他用户的隐私,同时损害了他们的知情权。Thomas等人研究了缺乏对共同拥有的数据的联合隐私控制时,用户的敏感信息如何在无意中被泄露。传统的访问控制方案(例如,代理重加密算法(Proxy Re-Encryption,简称PRE),基于属性加密(Attribute-BasedEncryption,简称ABE)等)只能保护仅有单个拥有者的隐私数据。当数据涉及多个数据拥有者,这些方法则不能直接使用。多方访问控制就是要解决具有多个数据拥有者的共享数据的授权问题。
考虑如下的多拥有者场景,其中一级数据拥有者对自己的数据具有控制权限,例如,病毒的DNA信息库或某公司开发的某款工具包的源码等。他/她允许一个或多个二级拥有者(也作为授权用户)收集敏感数据或在原有数据的基础上修改部分数据,然后这些数据可以外包给第三级拥有者进行进一步处理。在这样的模型中,数据将经历几个处理阶段,每个阶段对应于更高级信息的提取。但是由于这些数据在处理之后仍包含前面数据拥有者的信息,如果一个用户要访问最后一个拥有者的最终结果,当且仅当他/她获得所有前拥有者的授权时才能访问。类似地,不是根级别的数据拥有者,也可以作为数据用户,需要由位于较高层次结构中的所有数据拥有者授权才能进行数据处理。特别地,本发明将该场景称为多级数据处理 (Multi-Level Data Processing,简称MLDP)中的访问控制机制。在该场景中,数据拥有者是不固定的,是随着数据的处理而不断增加的,且数据拥有者之间具有层次关系。例如,在研究由某种病毒引发的重大传染病时,某个团队对提取到相关样本进行基因测序,得到病毒DNA相关信息,并将其共享给一些研究机构、疾病防控中心等,以便更快地对该传染病进行防控。若某个授权的研究机构对共享的DNA数据进行分析,并补充了病毒的相关信息,那么其他实体(例如,其他研究团队)想要从该研究机构获得病毒的相关信息需要获得第一个研究团队和该研究机构的授权。由于该DNA相关信息包含第一个研究团队研究成果,如果接受者仅由研究机构授权,则会损害第一个研究团队的知情权,否定了第一研究团体对该研究成果的贡献。不同的实体可以基于前一个实体的提供的相关信息,不断地对病毒的相关信息进行分析,补充及更新病毒信息,每一次处理将会产生更精确更全面的信息。为了防止对每一层数据计算结果进行非授权的访问,需要设计一种有效且安全的方案去实现MLDP场景下的多方访问控制。
目前也存在一些工作在关注多方访问控制机制,但是存在以下几个问题。首先,大多数的MPAC方案是针对于在线社交网络的,这些方案更关注于协调多个拥有者之间的访问控制策略,并不适用对云数据的 MPAC。其次,虽然有少量文献是研究云存储中多方访问控制问题,但是效率及安全性上存在不足,且均是针对多个拥有者共同管理一个数据记录,没有方案研究MLDP场景下的数据结果的多授权问题。最后, MPAC机制中的用户撤销问题仍是一个未解决的问题。总之,目前缺乏一种灵活且安全针对MLDP场景下的MPAC机制。
当前有两种思路来实现MLDP场景下多授权问题。一种是基于纯密码学的,即利用一些密码学原语去设计方案,例如同态加密(Homomorphic Encryption,简称HE),ABE,PRE等。这种思路依赖于对于算法的设计及理论证明。它的缺点是方案会涉及到一些复杂的计算操作,计算开销会比较高。另外一种是借助可信执行环境(Trusted ExecutionEnvironment,简称TEE)去设计MPAC方案,例如Intel安全防护扩展(Software GuardExtensions,简称SGX)。SGX允许应用程序在地址空间中划分出一块被保护的区域(被称为Enclave),这块区域可以为Enclave中的代码和数据提供机密性和完整性的保护,使其免受拥有特殊权限的恶意软件的破坏。当前,SGX已经被广泛地用于实现隐私保护的数据处理和访问控制机制。由于 SGX能保证应用的运行时安全,即其他特权程序不能刚问在SGX里运行的代码和数据,因此在SGX中可以直接用明文来做安全的数据计算,并且它的计算开销比基于密码学的方法低。因此,本发明可以借助SGX 去实现高效且安全的MPAC系统。然而,如果使用支持SGX的云服务器为用户提供数据服务(例如,数据计算,访问控制等),则安全区需要具有恢复加密数据的能力。但是,安全区代码由不受信任的主机应用程序调用的,这会引发SGX的密钥撤销问题。也就是说,由于SGX需要解密数据并提供数据计算服务,因此SGX需要完全了解数据拥有者的加密密钥。如果该区域具有解密数据的全部能力,则恶意主机程序可能会利用不受信任的应用程序来破坏设计的系统。因此,利用SGX技术实现多层数据处理中的MPAC 时需要解决SGX的密钥撤销问题。即当用户不想要提供服务时,用户撤销SGX中的解密能力。
为了解决MLDP场景下多授权问题,首先对现有的访问控制机制进行调研。根据数据拥有者的数量,可以将访问控制机制分为两类:传统的一对多访问控制机制和多方访问控制机制。后者指的是数据涉及到多个拥有者。一个用户当且仅当获得所有数据拥有者的授权时,才可以访问该数据。该模式与传统的一对多访问控制机制的区别如图1所示。
近年来,国内外的研究学者已经提出了大量的方法来实现一对多访问控制机制。目前主要有两个研究方向。一种是基于软件的解决方案,其安全性主要依赖于对实体的信任假设。最基本的方法是访问控制列表(Access Control List,,简称ACL)。ACL易于实现且计算成本低。基于角色的访问控制(Role-based Access Control,简称RBAC)将用户的角色与访问策略相关联。数据拥有者可以通过为用户分配相应的角色来对数据进行权限管理。RBRC比ACL更灵活。但是,ACL和RBAC均需要可信的云服务器充当管理员来管理数据和数据访问策略,这样的安全假设过于强。因此,ACL和RBAC必须与其他安全机制结合使用以实现更安全的访问控制。PRE被提出来,通过为不同的授权用户重新加密共享数据来管理云中的加密数据共享。ABAC将数据拥有者的密钥和密文与接收者的属性相关联,从而提高了灵活性并实现了细粒度的访问控制。但是,由于解密阶段涉及大量双线性对运算,ABAC的计算开销很大。此外,ABAC和PRE 需要一个可信第三方来生成和管理用户密钥。
为了减少计算开销并增强安全性假设,许多研究学者采取另一种方法:利用基于硬件的TEE去设计云数据的访问控制方案,例如Intel SGX,ARM TrustZone等。Contiu等人在中利用SGX来设计基于广播加密的访问控制方案。它在Enclave中执行密钥生成,与传统的IBBE方案相比,不仅消除了可信第三方,而且还提高了计算和存储效率。然而,该方案没要考虑到SGX的密钥撤销问题。SGX作为一个完全可信的第三方保留着系统的主私钥,如果需要对SGX密钥进行撤销,则需要对加密的数据进行重新加密并重新生成密钥,这样会产生巨大的计算开销。类似地,范等人提出了一种基于Trustzone的安全的密文策略 ABE(Ciphertext-Policy Attribute-based Encryption,简称CP-ABE)方案,用于移动应用。该文献将访问结构和用于加密敏感数据的对称密钥相关联,Trustzone作为可信第三方来为满足相应属性的移动应用生成私钥。尽管这项工作解决了移动应用程序中的大规模授权问题,但由于移动设备上的计算能力有限,它遭受了严重的性能问题。相比较于基于密码学的方案,基于TEE的方案计算开销比较低同时也可以去除可信第三方,但是在安全性上依赖于TEE的安全性。因此,在使用TEE时必须要结合应用场景和TEE的隔离机制和实现原理设计更安全更高效的方案。
多方访问控制机制起初是为了解决在线社交网络中用户空间动态(例如,一张包含多个用户的照片) 的多方授权问题。例如,Thomas等人使用Facebook的隐私模型来实现多方访问控制,它允许所有关联方为数据指定公开策略,以便用户可以在满足拥有者和所有关联方的公开策略的情况下访问数据。基于多方隐私模型,Xu等人设计了一种机制,使照片中的每个用户都可以参与决定照片的访问控制条件。但是,该方案可能存在隐私冲突问题。例如,用户A和用户B共同拥有一张照片,用户A和用户B均只允许他们的朋友访问该照片,而用户A和用户B的朋友圈并无交集,那么该照片即使被发出来也没有任何人可以访问。Lee等人提出一种基于投票和亲密度的冲突检测方法来解决隐私冲突问题。通过调研,本发明发现在线社交网络中多方访问控制侧重研究如何将综合多个数据拥有者访问策略同时保证内容尽可能地发布出去。由于在线社交网络上的共享数据是以明文形式发布在用户空间,而云存储中,数据以密文存储在云服务器上,因此这些方法均不适用于外包数据的多方访问控制。
近年来,也有少量文献研究针对外包数据的多授权问题。Layouni等人提出了一种基于双线性对的多方访问控制方案,用于私有信息检索,其中数据由多个数据拥有着的方共同拥有。然而,在该方案中,敏感数据存储在一个远程服务器(称为发送方)中,由发送方负责数据加密,用户的隐私数据全部泄露给发送方。类似地,黄等人通过使用基于属性的条件PRE(Conditional PRE,简称CPRE)为云计算中数据的条件传播设计了一种细粒度的多方访问控制方案,每个拥有者将其访问策略附加到密文中,如果一个数据传播者想要传播该共享数据,需要满足多个拥有者的属性,而数据访问者可以从数据传播者和数据拥有者获取共享数据。该方案三种不同的访问策略,即完全许可、首个上传数据的拥有者优先和多数许可三种策略聚合策略。数据的共同拥有者可以根据自己的隐私偏好向密文附加新的访问策略。在完全许可策略中,用户必须满足所有数据拥有者定义的所有访问策略。首个上传数据的拥有者优先即满足第一个拥有者或其他多个拥有者的访问策略时,数据可以被传播。在多数许可策略中,首个数据拥有者可以首先为数据共同拥有者选择一个阈值,当且仅当用户属性所满足的访问策略之和大于或等于该固定阈值时,数据可以被访问。苗等人设计了一种面向基于CP-ABE的关键字搜索方案,其中数据是由多个数据拥有者共同管理的,一个用户只有获得所有数据拥有者的密钥才能检索数据。但是,由于涉及大量双线性对运算存在性能问题。然而,数据拥有者的数量是固定的,而在MLDP中,数据拥有者是随着数据处理的过程而动态增加的并且具有层次关系,授权操作比较复杂。此外,苗和黄等人的方案均不涉及用户的撤销,而用户撤销操作对于数据拥有者来说是一个基本操作。在MLDP场景下,用户撤销操作是更加复杂。如果前一级数据拥有者撤销其授权用户。由于被撤销的用户可能是下一级拥有者,故必须撤销所有后续数据拥有者及其授权用户。因此实现一个轻量级的、安全的、可扩展的MLDP下的多方访问控制机制仍然是一个开放性问题。
目前缺乏一个安全有效的密钥管理方案来实现多层数据处理(Multi-Level DataProcessing,简称MLDP) 下的多方访问控制(Multi-Party Access Control,简称MPAC)。随着社会协作的不断加强,一些数据不仅仅和一个数据拥有者相关,有时会涉及到多个数据拥有者。例如,某些数据(例如,病毒的DNA库)可能经过多层实体共同协作完成的。每一层实体(上一层实体的授权用户)基于上层拥有者处理结果,结合自己的数据对共享数据进行更深次地处理获得更加精确和全面的数据记录。这样的数据结果保留多个处理者的信息,如果一个用户想要访问该数据结果,则需要多个拥有者的授权。而传统的访问控制方案只能解决单个拥有者的数据的授权问题,不适用于多拥有者协同授权问题。如何设计一种高效、灵活的密钥管理机制来实现对MLDP中数据计算结果的多方访问控制是一个迫切需要解决的问题。
现有的多方访问控制没有考虑用户撤销问题,而在MLDP的多方访问控制中,需要一个轻量级的用户撤销方案。由于数据经过多层的拥有者的数据处理,前一级数据拥有者可以撤销其授权用户。由于被撤销的用户可能是下一级拥有者,必须撤销所有后续数据拥有者及其授权用户,因此用户撤销必须是轻量级的。
当实现MLDP的多方访问控制时,需要设计一个有效的方案来控制非根数据拥有者的数据泄露问题。由于非根数据拥有者已经获得与前面数据拥有者相关的数据处理结果,他/她很有可能私自将数据共享给其他用户而不经过前面数据拥有者的同意,这样数据就脱离了前面数据拥有者的控制,因此,如何有效控制非根数据拥有者不诚实行为是一个需要被解决的问题。
通过上述分析,现有技术存在的问题及缺陷为:
(1)目前没有一个有效的多方访问控制方案去解决MLDP场景下的多用户授权问题。在MLDP场景下,需要对每一层的数据处理结果进行访问控制,因此,在解决用户授权问题的同时,需要支持隐私保护的数据处理。现有的方案多采用加密来实现安全的数据分析,这样增加了数据计算和分析的复杂性,引入了较高的计算开销。
(2)现有的MPAC方案没有考虑用户撤销问题。而MLDP场景下的多方访问控制中,用户撤销较为复杂,因此需要实现轻量级的用户撤销。
(3)使用SGX技术来设计MLDP场景下的MPAC可以减少计算开销,但是存在SGX的密钥撤销问题。
(4)在MLDP场景中,非根数据拥有者已经获得了与前面数据拥有者相关的数据,因此他/她可能私自泄露该共同拥有的数据来谋利,因此需要一个有效的方案来控制这种数据泄露问题。
解决以上问题及缺陷的难度为:
(1)与传统的访问控制方案不同,MLDP多用户访问控制系统具有以下特点:a)一个数据记录与多个数据拥有者相关联;b)数据拥有者之间具有层次关系;c)数据拥有者的数目是不固定的,而是随着数据处理而动态变化的;d)由于MLDP场景下的访问控制解决的是对数据处理结果的多授权问题,因此不仅要支持多方访问控制还要支持隐私保护的数据处理。故MLDP场景下的密钥管理方案应该更加高效和灵活。目前有两种思路实现:基于纯密码学的方案和基于TEE的方案。基于密码学的方案,即利用一些密码学原语去设计方案,例如HE,ABE,PRE,IBBE等,通过对单个数据拥有者的访问控制方案进行改进来实现多方访问控制。这种思路依赖于对于算法的设计及理论证明。缺点是会涉及到一些复杂的计算操作,计算开销会比较高。而基于TEE的方案,基于TEE的方案计算开销低,其安全性依赖于TEE的设计安全并可摆脱可信第三方。因此,本发明可以借助TEE去实现轻量级且安全的MPAC系统。相比于现有的TEE, SGX的安全性高且适用于云计算。因此,本发明可以借助SGX去实现轻量级且安全的MPAC系统,但SGX 存在着密钥撤销问题。如何利用实现高效且灵活的多方访问控制同时解决SGX的密钥撤销问题是一个技术难点。
(2)在MLDP场景下,用户撤销比传统的一对多访问控制机制复杂。前一级数据拥有者可以撤销其授权用户。由于被撤销的用户可能是下一级拥有者,必须撤销所有后续数据拥有者及其授权用户。如果对所有相关用户逐个撤销,当涉及的用户量非常大时,撤销效率很低。如何结合多方访问控制的特点,实现一个轻量级的用户撤销方案是一个关键问题。
(3)非根数据拥有者泄露数据的问题是MLDP场景下的多方控制机制特有的。目前有两种思路解决这个问题:一种是给数据加水印,将数据处理过程中所经过的拥有者的相关的信息通过水印的方式嵌入到数据中,如果恶意用户泄露数据时,可以检测数据水印即可。但是数据水印对数据的格式有要求,仅多媒体格式可以添加数据水印,且不同格式的数据添加水印的方式不同。而多层数据处理模式下,数据的格式不固定,因此数据水印不适用多层数据处理模式。另一个方法是通过博弈论来设置不同的收益,对恶意的用户进行惩罚,去引导用户选择诚实的行为。这种方法比数据水印更为通用。因此,如何设计博弈游戏使得用户诚实地按照协议执行而不私自泄露数据是一个难点。
解决以上问题及缺陷的意义为:随着人们隐私保护的意识不断加强,访问控制机制的多元化会成为一种趋势,会有越来越多的人关注云数据的多方访问控制问题。一个灵活、高效、安全的针对MLDP场景的多方访问控制可以实现隐私保护的数据处理,同时可以解决多层数据结果的多授权问题,保护了参与数据处理的拥有者的隐私。一个基于博弈论的数据保护方案可以解决非根数据拥有者泄露数据的问题,保证所有拥有者的利益,使整个MPAC系统更加安全可靠。
发明内容
为了解决现有技术存在的问题,本发明提供了一种基于SGX的面向MLDP(多级数据处理)的多方访问控制方法及系统。
本发明是这样实现的,一种基于SGX的面向MLDP的多方访问控制方法,包括:
设计了一种基于SGX的针对MLDP场景下的密钥管理机制来支持多方访问控制,同时利用密钥分割方法解决了SGX的密钥撤销问题。该算法主要负责数据拥有者的加密密钥和用户的授权密钥生成、数据加密及解密。
基于提出的密钥管理方案,本发明进一步设计了一个EMPAC框架,可支持安全的数据处理和数据结果的多方访问控制,同时还实现了用户和数据拥有者的撤销。
提出了一种基于博弈论的数据保护方案,通过设置卧底警察对非根数据拥有者的行为进行相应奖惩,最终解决了非根数据拥有者私自泄露数据来谋利的问题。
进一步,所述针对MLDP场景下的密钥管理机制包括:
(1)根数据拥有者密钥生成:
Figure BDA0002456799600000061
该算法由第一级数据拥有者 O1,1执行,生成O1,1的密钥组件。该算法输入安全参数λ和一个非零正整数n,其中n表示生成授权密钥的最大数量,输出以下密钥:一个对称密钥sk1,1,一个秘密共享
Figure BDA0002456799600000062
n个授权令牌TK1,1={token1,1,k|(1≤ k≤n)}。O1,1首先定义两个阶为素数p的循环群
Figure BDA0002456799600000063
和双线性对e:
Figure BDA0002456799600000064
然后O1,1从Zp中选择一个随机数b1,1,并计算加密密钥
Figure BDA0002456799600000065
利用Shamir阈值秘密共享方案生成相关密钥,O1,1的密钥生成如图4所示。
(2)非根数据拥有者密钥生成:
Figure BDA0002456799600000066
Figure BDA0002456799600000067
这个算法是为了生成第i层第j个数据拥有者Oi,j的相关密钥组件,其中i>1。假设m1,1,d是Oi,j的共享数据d,m1,1,d已经经过了数据拥有者
Figure BDA0002456799600000068
的处理。该算法的输入是Oi,j已经从
Figure BDA0002456799600000069
获得了所有的授权令牌
Figure BDA00024567996000000610
其中任意一个数据拥有者
Figure BDA00024567996000000611
的授权密钥
Figure BDA00024567996000000612
是由前一个数据拥有者
Figure BDA00024567996000000613
生成的。显而易见,
Figure BDA00024567996000000614
因此任意第p层第jp个数据拥有者
Figure BDA00024567996000000615
Figure BDA00024567996000000616
Figure BDA00024567996000000617
能够很容易通过如下等式被恢复:
Figure BDA00024567996000000618
Figure BDA0002456799600000071
本发明可以计算Oi,j的加密密钥ski,j
Figure BDA0002456799600000072
与生成O1,1的密钥组件类似,对于Oi,j
Figure BDA0002456799600000073
按照Shamir阈值秘密共享方案生成相关密钥。
(3)数据加密:mldp-Enc(ski,j,mi,j,d)→CTi,j,d:该算法是为了加密Oi,j的隐私数据,它的输入是Oi,j的加密密钥以及其共享数据mi,j,d,输出为mi,j,d的密文CTi,j,d。对于每一个数据拥有者Oi,j,它采用一个对称加密算法(例如AES,DES等)去加密它的隐私数据mi,j,d,即调用EncAES(mi,j,d,ski,j)→CTi,j,d,这里对称加密的密钥是已生成的ski,j
(4)数据解密:
Figure BDA0002456799600000074
Figure BDA0002456799600000075
该算法是为了让Oi,j授权用户k去解密Oi,i的共享数据CTi,j,d,这里本发明假设共享数据m1,1,d通过从第一层到第i层的数据拥有者的处理,即
Figure BDA0002456799600000076
并且用户k已经获取到所有授权令牌
Figure BDA0002456799600000077
该算法的输入是
Figure BDA0002456799600000078
分享给Enclave的秘密
Figure BDA0002456799600000079
访问控制列表pol、所有的授权令牌
Figure BDA00024567996000000710
及密文CTi,j,d,这里该用户可以访问数据拥有者Oi,j的哪一块数据。它的输出为共享数据的明文mi,j,d。首先,该算法根据所有数据拥有者的
Figure BDA00024567996000000711
检索
Figure BDA00024567996000000712
来获得
Figure BDA00024567996000000713
Figure BDA00024567996000000714
这里j1=1,ji=j,ki=k。然后,通过如下等式恢复
Figure BDA00024567996000000715
Figure BDA00024567996000000716
该算法按照如下等式恢复从第一层到第i层的数据拥有者
Figure BDA0002456799600000081
的加密密钥
Figure BDA0002456799600000082
Figure BDA0002456799600000083
Figure BDA0002456799600000084
当p=i,加密密钥ski,j被恢复。最后,该算法根据访问控制列表pol过滤掉未授权的数据块,同时使用ski,j解密CTi,j,d
进一步,所述步骤(3)Shamir阈值秘密共享方案生成相关密钥的方法包括:
第一步,Oi,j随机选择一个数ai,j∈Zp,然后定义一个一次多项式qi,j(x)=ai,jx+bi,j,这里qi,j(0)=bi,j
第二步,对于Oi,j的每一个授权k(1≤k≤n),Oi,j从Zp选择一个随机数ti,j,k,然后计算
Figure BDA0002456799600000085
Figure BDA0002456799600000086
继而Oi,j生成所有的密钥组件
Figure BDA0002456799600000087
Figure BDA0002456799600000088
和授权令牌{tokeni,j,1,…,tokeni,j,n}。
进一步,所述EMPAC框架包括:
第一步,系统初始化:系统第一次运行时,O1,1执行如下步骤:
(i)O1,1调用
Figure BDA0002456799600000089
去生成相关的密钥组件;
(ii)O1,1创建一个访问控制列表pol,并将其初始化为NULL,CAS通过相应接口创建Enclave的EApp, O1,1通过远程认证EApp使EApp在真实的SGX硬件平台上创建,在远程认证后,CAS在O1,1和EApp之间建立安全信道方便传输隐私数据;
(iii)O1,1通过建立好的可信信道将
Figure BDA00024567996000000810
和pol发送给Enclave,对于每一个授权k,O1,1选择授权令牌
Figure BDA00024567996000000811
通过安全信道发送给所述授权k;
第二步,数据上传:O1,1执行mldp_Enc(sk1,1,m1,1,d)→CT1,1,d加密隐私数据m1,1,d,获得密文CT1,1,d,同时将密文
Figure BDA00024567996000000812
发送到云存储服务器进行存储;
第三步,数据处理与数据结果存储:授权k和Enclave进行远端认证,同时建立安全信道;该k给 Enclave发送一个数据处理请求req去处理Oi,j(i≥1)授权给所述授权k的共享数据,其中
Figure BDA00024567996000000813
Figure BDA00024567996000000814
包括处理数据的指令 command、Oi,j
Figure BDA00024567996000000815
访问所有数据的ID,及一个布尔值s;s是true,表示数据处理结果res需要被存储到云存储服务器,并且所述授权k变成第i+1层的数据拥有者
Figure BDA00024567996000000816
同时,
Figure BDA00024567996000000817
授权其他用户端访问该数据结果;否则,Enclave不存储该数据结果直接将其返回给该用户端;当Enclave收到用户端请求进行操作。
第四步,用户的授权和撤销:当Oi,j(i≥1,j≥1)添加一个新用户k(1≤k≤n)访问其数据时,Oi,j选择一个独一无二的秘密令牌tokeni,j,k并将其安全地交付给用户,但是该用户k必须获得有关数据的所有数据拥有者授权才可以获得对Oi,j的共享数据的访问权。同时,Oi,j指定用户k可以访问数据的ID,然后向 EApp发送请求以更新pol。另一方面,如果Oi,j撤销用户k的秘密令牌,则Oi,j仅需要请求EApp
Figure BDA0002456799600000091
删除
Figure BDA0002456799600000092
第五步,数据拥有者的撤销:假设数据已经过数据拥有者
Figure BDA0002456799600000093
的处理。在EMPAC框架中,数据拥有者
Figure BDA0002456799600000094
也是
Figure BDA0002456799600000095
的授权用户。如果
Figure BDA0002456799600000096
从系统中删除了数据拥有者
Figure BDA0002456799600000097
(非根数据拥有者),则也必须撤销拥有者
Figure BDA0002456799600000098
Figure BDA0002456799600000099
只需向EApp发送一条命令请求删除
Figure BDA00024567996000000910
进一步,所述第三步中Enclave收到用户端请求进行操作的方法包括:
(a)EApp先根据授权令牌中的数据拥有者的ID找到所有与授权令牌相关的秘密共享
Figure BDA00024567996000000911
然后,EApp调用
Figure BDA00024567996000000912
Figure BDA00024567996000000913
(b)在获取共享数据mi,j,d后,EApp按照command对数据执行相应的数据处理,并获得数据计算计算结果res;
(c)如果s为true,那么该用户端将作为本次数据处理结果的第i+1个数据拥有者;Enclave调用
Figure BDA00024567996000000914
Figure BDA00024567996000000915
Figure BDA00024567996000000916
生成加密密钥
Figure BDA00024567996000000917
和授权令牌
Figure BDA00024567996000000918
然后,EApp通过建立好的安全信道将本次请求的响应
Figure BDA00024567996000000919
Figure BDA00024567996000000920
发送给该用户端,
Figure BDA00024567996000000921
接着,Enclave使用
Figure BDA00024567996000000922
加密数据结果res并将相关密文及信息
Figure BDA00024567996000000923
Figure BDA00024567996000000924
存储到CSS上;
Figure BDA00024567996000000925
为每一个授权用户端k′选择一个独一无二的授权令牌
Figure BDA00024567996000000926
并通过安全的信道传输给每个授权用户端。
(d)否则,EApp仅通过安全信道发送数据计算结果给授权k。
进一步,所述的基于博弈论的数据保护方法借用卧底警察方法在原本的系统中引入诚实的监测机构来检查数据泄露,该机构可以派出一个便衣警察假装贿赂Oi,j去获得隐私数据,如果Oi,j接受了贿赂并且意图泄露数据给便衣警察,那么给Oi,j一定的惩罚。同时,一个诚实的用户也可以不计报酬举报意图通过泄露数据来谋利的恶意拥有者。具体内容如下:
(1)当用户端时诚实的,如果Oi,j是诚实的,那么用户的收益为
Figure BDA00024567996000000927
Oi,j的收益是pi。如果Oi,j是恶意的,它想诱惑用户去以贿赂它,那么用户会直接举报它,系统会给Oi,j一定的惩罚
Figure BDA00024567996000000928
这时用户的收益为0,Oi,j的收益是
Figure BDA00024567996000000929
(2)当用户端p贿赂Oi,j时,如果Oi,j是诚实的,Oi,j拒绝这场交易,双方按照EMPAC方案执行,这时用户的收益为
Figure BDA0002456799600000101
Oi,j的收益是pi;当Oi,j接受用户端p的贿赂,存在两种情况:1)用户端p是便衣警察,那么Oi,j就被惩罚,Oi,j收益为
Figure BDA0002456799600000102
2)用户端p就恶意,用户端p获得的收益是v-q,Oi,j获得的收益是q;
(3)通过分析,可以得出当
Figure BDA0002456799600000103
时,即
Figure BDA0002456799600000104
诚实是无论用户端p如何选择,Oi,j均选择诚实,对于Oi,j,用户和Oi,j的博弈有两个纳什均衡点,为(诚实,诚实)和(贿赂,诚实)。当
Figure BDA0002456799600000105
时,有两个纳什均衡点,(诚实,诚实)和(贿赂,诱惑贿赂);
(4)令
Figure BDA0002456799600000106
通过分析,本发明证明了当
Figure BDA0002456799600000107
时,无论是否想要去贿赂Oi,j非法获得数据,Oi,j均拒绝和该用户端的非法交易。
本发明的另一目的在于提供一种基于SGX的面向多层数据处理的多方访问控制系统包括:
多个数据拥有者终端,数据拥有者是云服务的订阅者,可以向云应用服务器请求数据处理同时可以将数据加密之后存储到云存储服务器上;
多个用户端,用户也是云服务的订阅者,用户可以从数据拥有者那里获得授权密钥,该授权密钥负责让用户能够从云服务器上访问数据拥有者的数据。如果用户想要处理第i层数据拥有者的数据处理结果时,他/她就必须获得第一层到第i层数据拥有者的授权密钥。此外,用户向云应用服务器发送数据处理请求时,可以选择是否存储该数据结果,如果他/她选择存储该数据并授权其他人访问,那么他/她就变成第i+1 层的数据拥有者。
云应用服务器,用于部署应用服务程序响应用户终端请求;
云存储服务器,负责存储数据拥有者终端的密文数据
结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明提供了一个轻量级、安全的密钥管理方案来支持多方访问控制,同时利用密钥分割的思想解决了SGX中的密钥撤销问题。
基于密钥管理方案,本发明提出了一种安全、灵活、高效的MLDP场景下多用户访问控制框架,简称为EMPAC框架。该框架支持安全的数据处理,同时保护数据处理结果不被未授权的实体访问。该框架还实现了轻量级的用户撤销。
本发明提供一个基于博弈论的保护方案,根据设置不同的收益以及使用便衣警察的策略来驱使所有的非根数据拥有者选择诚实地按照设计的协议执行,不去把数据私自共享出去获利,以缓解数据泄露方案。
相比于现有技术,本发明的优点进一步包括:
灵活的多方访问控制:本发明提供了一种安全且灵活的密钥管理方案,以支持MLDP场景下的多方访问控制。为了保护每个数据所有者的利益,授权用户必须获取所有相关数据拥有者的授权密钥才能访问数据。另外,本发明支持数据拥有者的动态增加和减少。
安全性:安全性主要体现在数据和密钥的机密性。首先,数据所有者的数据以密文形式存储在云服务器上。除了数据拥有者者外,没有任何实体获取数据的加密密钥及隐私数据。其次,当授权用户使用其授权令牌请求数据计算服务时,Enclave恢复加密密钥并解密密文,再对数据做处理,这期间其他程序无法访问它们,包括OS,VMM或其他特权程序。即使不信任的主机程序受到威胁,密钥和数据也不会泄漏。返回计算结果后,安全区会从内存中释放加密密钥,从而实现对SGX的密钥撤销。
可扩展性:本发明设计的多方访问控制框架支持用户和数据所有者的加入和撤销。用户或数据所有者的撤销仅需要删除Enclave中的相应秘密共享组件即可。对于新用户的加入,只需要从已生成的授权密钥选择一个未使用的密钥发送给他/她。因此,与其他多方访问控制方案相比,本发明在可扩展性上有很大提高。
高效性:高效性主要体现三个方面:第一,本发明使用对称加密对共享数据进行加密,相比非对称加密算法,加密速度更快,效率更高;第二,数据处理在Enclave中以明文形式执行,从而避免了对密文数据的计算(如同态加密),减少了计算开销;第三,相对于基于CP-ABE的MPAC方案来,本发明的解密的计算成本更低。在提出的方案中,如果涉及n个数据拥有者的数据需要解密,Enclave仅需要执行n个双线性对操作、n-1个模乘操作及一次对称加密。
结合实验或试验数据和现有技术对比得到的效果和优点:为了突出本发明的优势,本发明从功能和计算复杂度两方面,本方案与现有方案进行对比:
首先,本发明将本方案与相关工作在功能上进行对比,详细的对比如表1所示。与本方案类似,文献 [1]和[2]也是实现了对隐私数据的多方访问控制。但本方案与这两篇文献主要有以下几个区别:首先,文献 [1]和[2]侧重于对共同管理的数据进行多方访问控制,本方案支持对MLDP场景下多层数据结果的访问控制。其次,文献[1]和[2]均认为所有的数据拥有者是可信的。特别地,文献[1]认为云服务器是半可信的,文献[2]引入一个发送可信的第三方来加密数据。而本方案认为只有根数据拥有者和SGX硬件是完全可信的,因此本方案的安全假设比前两者强。此外,本方案还支持数据拥有者撤销和用户撤销,而在文献[1] 和[2]没有考虑用户撤销问题。另一方面,为了降低IBBE算法的计算复杂度,文献[3]利用SGX技术实现了新的IBBE算法来实现数据的访问控制,同时还支持对共享数据的联合编辑。然而,文献[3]在使用SGX 时没有考虑密钥撤销问题,SGX一直保留着系统的主私钥,这样增大了密钥泄露的风险。而本文使用SGX 设计的MPAC方案解决了SGX的密钥撤销问题。
表1本方案与现有工作的区别
Figure BDA0002456799600000121
Y:表示支持N:表示不支持--:表示没有涉及到
此外,本发明对本方案的计算复杂度进行分析,并与文献[1]做对比。这里,本发明仅考虑一些比较耗时的操作,例如双线性对运算、Hash运算、模乘运算、AES加/解密等,具体考虑的计算操作的符号如表 2所示。由于本方案的计算开销主要在于密钥管理方案,因此在统计时间复杂度时,本发明侧重于分析密钥管理方案以及用户撤销的开销,而忽略数据处理的计算开销。用户撤销不涉及表2中的计算操作,本发明给出时间复杂度。由于文献[1]侧重解决多个拥有者共同管理数据的问题,数据拥有者不具有层级关系,因此密钥管理算法的构成和本文不完全相同。本发明将从以下五个方面进行对比:数据拥有者密钥生成、用户的授权密钥生成、数据加密、共享数据解密、数据拥有者撤销和用户撤销。本发明仅对比文献[1]中数据传播者的全权限MPAC。其中,N表示数据拥有者的数量。为了更加清晰地对比,本发明假设从根数据拥有者到最后一个数据拥有者只有一条路径,授权用户需要解密第N层数据拥有者的共享数据。此外,本发明还假设每个数据拥有者生成的授权密钥数相同,均为n。在具体的计算开销对比如表3所示。注意,在文献[1]中,数据拥有者的密钥生成包括系统初始化时为数据拥有者生成主私钥和公钥的开销和非首个数据拥有者添加属性策略的密钥。对于授权密钥的生成,本发明只考虑数据传播者。而对于数据解密这块,本发明仅考虑数据传播者验证所有数据拥有者的属性部分。这里,A表示访问控制策略中属性的总个数,S 表示传播者私钥的属性个数。本方案的计算复杂度包括如下几个部分:
表2本方案考虑的计算操作的符号
符号 操作描述
BP 双线性对映射
Ha 哈希运算
ME 幂模运算
MM 模乘运算
MA 模加运算
SE 对称加/解密操作
数据拥有者的密钥生成:数据拥有者的密钥生成包括所有的数据拥有者加密密钥生成,而根数据拥有者密钥生成的计算开销为BP,而非根数据拥有者加密密钥生成与层数有关,即第i层的数据拥有者生成加密密钥所需的计算开销为i*BP+1*Hash+(i-1)*MM(2≤i≤N),则所有数据拥有者生成密钥的开销如下:
Figure BDA0002456799600000131
授权密钥生成:数据拥有者将自己的数据加密密钥通过Shamir门限秘密共享方案分成两部分,一部分用于生成授权密钥,一部分发送给Enclave,每一层的数据拥有者需要执行的计算开销为n*ME+n* MM+2*MA。
加密:本方案中对于数据的加密采用的是对称加密算法,记为1*SE。
解密:解密算法在Enclave中执行的,它的计算开销取决于解密数据的层数。首先,Enclave需要检索到与授权密钥相关的秘密共享来恢复加密密钥,而检索秘密共享的时间复杂度与存储形式有关,最坏的时间复杂度为
Figure BDA0002456799600000132
为了方便检索和删除,本发明在系统实现时采用多叉树结构来存储Enclave中的秘密共享,并按照层序遍历进行查找,因此时间复杂度为
Figure BDA0002456799600000133
其中brother_num表示从第1层到第N层数据拥有者的平均每层兄弟节点。此外,恢复密钥的计算复杂度为N*BP+1*Hash+ N-1)*MM,解密数据需要执行一次对称加密算法,即1*SE。
数据拥有者撤销:撤销数据拥有者仅需找到该数据拥有者发送给Enclave的秘密共享并将其删除,时间复杂度为
Figure BDA0002456799600000134
用户撤销:若数据拥有者需要撤销某个用户,则Enclave需要找到该拥有者的秘密共享,时间复杂度为
Figure BDA0002456799600000135
由上述对方案的分析,可以得出本方案是安全高效的,且具有良好的可扩展性。特别地,相比于文献 [1],本方案在加/解密方面,计算复杂度降低了很多。
表3本方案的计算开销与文献[1]的对比
Figure BDA0002456799600000141
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的传统的一对多的访问控制机制和多方访问控制机制的区别图。
图2是本发明实施例提供的MLDP场景下数据拥有者之间的关系图。
图3是本发明实施例提供的系统模型图。
图4是本发明实施例提供的O1,1的相关密钥组件生成图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对现有技术存在的问题,本发明提供了一种基于SGX的面向MLDP的多方访问控制方法及系统,下面结合附图对本发明作详细的描述。
本发明涉及的英文缩写对应的英文全称和中文含义如下:
Figure BDA0002456799600000142
Figure BDA0002456799600000151
对本发明中所使用的符号进行了描述和解释符号说明如下:
Figure BDA0002456799600000152
在本发明中,首先提出一种MLDP场景下的多方访问控制模型。假设Oi,j表示第i层第j个数据拥有者, Ui,j,k表示Oi,j的一个授权用户k。在MLDP场景中,数据拥有者之间的关系如图2所示。首先,最原始的数据由O1,1生成,O1,1将数据授权给多个用户去使用。这些授权用户(例如,U1,1,2)可以向云应用服务器发送一个数据处理请求,去结合自己数据对O1,1数据做进一步的处理。同时U1,1,2可以选择存储该数据处理结果并授权给其他用户去访问,这样U1,1,2即变成了第二级数据拥有者(假设为O2,1)。O2,1的某个授权用户(例如,U2,1,1)想要访问该数据处理结果,当且仅当U2,1,1获得O2,1和O1,1的授权。U2,1,1可以处理该数据处理结果并变成第三层的数据拥有者(例如,O3,1),依次例推。在这种模型中,数据将经历几个处理阶段,每个阶段都对应于更高级信息的提取。用户只有在获得当前层之前的所有拥有者的授权后,才能获得该层的数据处理结果。注意,非根级别的数据拥有者也是上一层的数据用户。
本发明的系统架构如图3所示,它包括多个数据拥有者终端、多个用户端、云应用服务器以及云存储服务器。
1)数据拥有者终端是云服务的订阅者,他们可以向云应用服务器请求数据处理。另一方面,他们也可以授权其他用户访问自己的数据。根数据拥有者是诚实的。其他数据所有者是理性的。也就是说,他们会尽可能地最大化自己的利益,并且他们有能力去思考所有的可能的结果,并选择最优的策略。
2)用户端也是云服务的订阅者,当用户从第一层到第i层数据拥有者获取授权密钥,他/她就可以向云应用服务器请求处理第i层数据拥有者的数据。并且他/她可以变成第i+1层的数据拥有者,授权其他用户访问该数据。在本发明的假设中,用户可以变成一个数据拥有者,因此,他的安全假设与非跟数据拥有者相同。
4)云应用服务器(Cloud Application Server,CAS)部署了应用服务程序来响应用户请求。CAS上部署了SGX硬件模块。数据处理和访问权限的管理在Enclave中强制执行。在CAS中,SGX硬件只受信任,被认证的Enclaves能够诚实地执行分配的协议操作并输出所需的计算结果。尽管现在SGX遭到各种各样攻击,但是有很多工作都是研究如果抵御这些攻击去创建一个安全可靠的Enclave,这不是本发明研究的重点。
5)云存储服务器(Cloud Storage Server,CSS)负责存储数据拥有者的密文数据。CSS是恶意的,它可以与恶意攻击者共谋,从数据拥有者那里获取敏感数据来谋利。
图4是本发明实施例提供的O1,1的相关密钥组件生成图。
下面结合具体分析对本发明作进一步描述。
1、为了更好地理解本发明,本发明首先介绍设计发明之前的相关准备工作,比如双线性对,Shamir 门限秘密共享方案和Intel SGX技术。
1.1双线性对:
假设
Figure BDA0002456799600000161
是阶为素数p的循环群,g是
Figure BDA0002456799600000162
的一个生成元,映射e:
Figure BDA0002456799600000163
若满足下列特征就是双线性对:
双线性:对于
Figure BDA0002456799600000164
均有e(ua,vb)=e(u,v)ab,称映射e:
Figure BDA0002456799600000165
是双线性的;
非退化性:
Figure BDA0002456799600000166
使得e(u,v)≠1;
可计算性:对于
Figure BDA0002456799600000167
都可以计算出e(u,v)。
1.2 Shamir门限秘密共享方案
令pm是秘密域的大小,其中pm是大于n的素数幂,n为访问结构中的参与方的数量。令
Figure BDA0002456799600000171
是一个秘密。秘密分发者在
Figure BDA0002456799600000172
中随机选择t-1个元素r1,…,rt-1,这些元素和秘密s定义了一个秘密多项式:
Figure BDA0002456799600000173
可以得到p(0)=s。秘密分发者给p(i)发送给参与方
Figure BDA0002456799600000174
p(i)是随机输入和秘密的线性组合,那么现在至少t个不同的p(i)可以通过插值法重建p(x),假设参与者
Figure BDA0002456799600000175
拥有子秘密
Figure BDA0002456799600000176
它们可以计算Lagrange差值公式
Figure BDA0002456799600000177
其中S={i1,…,it},令x=0即可重建秘密s。定义集合S和ij的Lagrange系数:
Figure BDA0002456799600000178
1.3Intel SGX技术
Intel SGX是x86-64体系结构的一组扩展指令,用于帮助应用程序开发人员在主机平台(包括OS内核、 VM hypervisor等)受到威胁时保护所选代码和数据不被泄露或修改。它提供的基本功能是内存隔离,允许开发人员在应用程序的地址空间创建一块受保护的内存区域,被称为Enclave,在其中运行的代码和数据就不会被黑客或者特权软件攻击。也就是说,当代码运行在Enclave时,主机软件(例如,操作系统(Operation System,简称OS),虚拟机监视器(Virtual Machine Monitor,简称VMM)或其他特权软件等)均将无法访问Enclave的数据。一旦Enclave进程退出后,代码和数据将被加密并存储在硬盘中。Enclave和不可信任的内存区域(不可信任的主机应用程序)之间的通信是通过类似于Callgate机制(Ecall/Ocall接口)来实现的。特别地,Ecall表示从不可信任的应用程序进入安全区,而Ocall则相反。
另外两个辅助功能是:远程认证和存储加密。远程认证即远程实体可以在第三方平台上检查新实例化的Enclave的完整性,包括内部数据、代码等,并可以和成功认证的Enclave建立一个安全的通信信道用于传输隐私数据。通过远程认证,用户可以认证应用程序已经在真实的SGX硬件平台上被正确实例化。存储加密即开发人员在不受信任的存储设备上以密文形式缓存Enclave数据,以便在服务器故障和断电时进行恢复。
1.4博弈论与隐私保护
博弈论提供了一种数学建模方式来研究两个或多个理性决策主体之间的冲突和合作。博弈论将实体之间的相互操作当作是一个博弈,在参与实体具有的信息和理性基础上,参与实体对博弈进行预测并实际选择策略,最终达到一种相互制约的结果均衡状态,该结果即博弈问题的解。博弈论研究的中心问题是寻找可能的解并研究其特性。近年来,博弈论与信息安全的研究引起了学术界的广泛关注。由于信息安全领域涉及多个参与方,如数据拥有者、数据使用者、服务提供商、恶意攻击者等,他们之间具有合作与竞争关系,每个参与实体均有最大化自己收益的动机,这极其符合博弈论模型中各个参与者之间的关系,因此,采取博弈论方法解决信息安全问题成为一种非常有效的手段。例如,博弈论能帮助解决基于秘密共享的安全多方计算(Secure Multi-Party Computation,简称SMC)方案中参与者与服务提供者的窜共谋问题。
博弈模型有三个基本组成部分:博弈者,策略和效益。每个博弈者都有自己的策略集合,每一次博弈只能选择其中一个策略,每一个博弈者的选择的策略都可能会影响其他博弈者。所有博弈者选择的策略组成一组策略组合,在特定策略组合下参与者所获得的利益称为收益,而让所有博弈者收益最大的策略组合成为纳什均衡。本发明将采用混合策略博弈论缓解MLDP场景下非根数据拥有者肆意泄露数据问题,为了便于理解设计的数据保护方案,本发明将方案中涉及的相关概念进行介绍。主要包含如下几个概念:
策略型博弈:一个策略型博弈可以使用元组<N,(Si)i∈N,(ui)i∈N>,N={1,2,…,n}表示博弈者的集合,Si博弈者i的策略集合,
Figure BDA0002456799600000181
表示博弈者i的收益函数。
纳什均衡(Nash Equilibrium,简称NE):本发明只考虑两个博弈者的情况。若策略组合
Figure BDA0002456799600000182
使得对于
Figure BDA0002456799600000183
s2∈S2均满足
Figure BDA0002456799600000184
Figure BDA0002456799600000185
占优策略(Dominant Strategy Equilibrium,简称DSE):本发明只考虑强占有策略。在某个多人博弈Γ= N,(Si)i∈N,(ui)i∈N>中,对于
Figure BDA0002456799600000186
若一个策略组合
Figure BDA0002456799600000187
满足
Figure BDA0002456799600000188
那么该策略组合被称为博弈者i的强占优策略。也就是说,无论其他博弈者选择怎样的策略,博弈者i的某个策略给其带来的收益始终高于其他策略,那么理性的博弈者i一定会选择这个策略。很容易可以看出DSE 也是一个NE,反之则不成立。
混合策略博弈:博弈方的决策内容不是确定性的具体策略,而是在一些策略中随机选择的概率分布,这样的策略选择称为混合策略。具体定义如下:在博弈Γ=<N,(Si)i∈N,(ui)i∈N>中,博弈者i的策略空间为
Figure BDA0002456799600000189
Figure BDA00024567996000001810
则博弈方i以概率分布
Figure BDA00024567996000001811
随机在k个可选策略中选择的策略成为一个混合策略,其中
Figure BDA00024567996000001812
均满足
Figure BDA00024567996000001813
Figure BDA00024567996000001814
混合策略博弈NE:混合策略的NE是博弈者在面对其他博弈者选择的不确定性而选择的一个理性对策。也就是说,每一个纯策略均有一个期望值,博弈者会选择期望值最高的策略而排除所有其他策略。
下面结合具体方案对本发明作进一步描述。
2针对MLDP的密钥管理算法
为了支持多方访问控制,本发明设计了一种密钥管理方案,以生成用于拥有者的秘密密钥以及用于用户的认证密钥,并实现加密/解密,它包括以下几个组件:
根数据拥有者密钥生成:
Figure BDA00024567996000001815
该算法由第一级数据拥有者O1,1执行,目的是生成O1,1的密钥组件。首先在系统中输入安全参数λ和一个非零正整数n,其中n表示生成授权密钥的最大数量。然后,输出以下密钥:一个对称密钥sk1,1,一个秘密共享
Figure BDA00024567996000001816
n个授权令牌 {token1,1,k|(1≤k≤n)}。O1,1首先定义了两个素数为p的循环群
Figure BDA00024567996000001817
和双线性对e:
Figure BDA00024567996000001818
然后,O1,1通过如下步骤利用Shamir阈值秘密共享方案生成相关密钥,密钥生成过程如图4所示:
(i)O1,1随机选择两个数a1,1,b1,1∈Zp,然后定义一个一次多项式q1,1(x)=a1,1x+b1,1,这里q1,1(0)= b1,1。紧接着,O1,1计算加密密钥
Figure BDA00024567996000001819
(ii)对于O1,1的每一个授权用户k(1≤k≤n),O1,1从Zp选择一个随机数t1,1,k,然后O1,1计算
Figure BDA0002456799600000191
Figure BDA0002456799600000192
及接入数据的授权令牌
Figure BDA0002456799600000193
Figure BDA0002456799600000194
非根数据拥有者的密钥生成:
Figure BDA0002456799600000195
Figure BDA0002456799600000196
这个算法是为第i层第j个数据拥有者Oi,j生成相关密钥组件,其中i>1。假设m1,1,d是Oi,j的共享数据d,m1,1,d已经经过了数据拥有者
Figure BDA0002456799600000197
的处理。其中任意一个数据拥有者
Figure BDA0002456799600000198
的授权密钥
Figure BDA0002456799600000199
是由前一个数据拥有者
Figure BDA00024567996000001910
生成去接入
Figure BDA00024567996000001911
的数据。显而易见,
Figure BDA00024567996000001912
因为Oi,j已经从
Figure BDA00024567996000001913
获得了所有的授权密钥
Figure BDA00024567996000001914
因此任意第p层第jp个数据拥有者
Figure BDA00024567996000001915
Figure BDA00024567996000001916
能够很容易通过如下等式被恢复:
Figure BDA00024567996000001917
本发明可以计算Oi,j的加密密钥ski,j
Figure BDA00024567996000001918
与生成O1,1的密钥组件类似,对于Oi,j的授权用户k,该算法按如下步骤生成授权令牌tokeni,j,k
·Oi,j随机选择一个数ai,j∈Zp并定义一个一次多项式
Figure BDA00024567996000001919
这里
Figure BDA00024567996000001920
Figure BDA00024567996000001921
对于每一个授权用户k(1≤k≤n),Oi,j从Zp选择一个随机数ti,j,k,然后计算
Figure BDA00024567996000001922
Figure BDA00024567996000001923
继而Oi,j生成所有的密钥组件
Figure BDA00024567996000001924
Figure BDA00024567996000001925
和授权令牌{tokeni,j,1,…,tokeni,j,n}。
数据加密:mldp_Enc(ski,j,mi,j,d)→CTi,j,d:该算法是为了加密Oi,j的隐私数据,它的输入是Oi,j的加密密钥以及其共享数据mi,j,d,输出为mi,j,d的密文CTi,j,d。对于每一个数据拥有者Oi,j,它采用一个对称加密算法(例如AES,DES等)去加密它的隐私数据mi,j,d,这里对称加密的密钥是已生成的ski,j
数据解密:
Figure BDA0002456799600000201
Figure BDA0002456799600000202
该算法是为了让Oi,j授权用户k去解密Oi,j的共享数据CTi,j,d,这里本发明假设共享数据m1,1,d通过从第一个层数据拥有者到第i层的数据拥有者的处理,即
Figure BDA0002456799600000203
并且用户k已经获得了从数据拥有者
Figure BDA0002456799600000204
获取到所有授权令牌
Figure BDA0002456799600000205
Figure BDA0002456799600000206
该算法的输入是
Figure BDA0002456799600000207
分享给Enclave的秘密
Figure BDA0002456799600000208
访问控制列表pol、所有的授权令牌
Figure BDA0002456799600000209
及密文CTi,j,d,这里该用户可以访问数据拥有者Oi,j的哪一块数据。它的输出为共享数据的明文mi,j,d。首先,该算法根据所有数据拥有者的
Figure BDA00024567996000002010
检索
Figure BDA00024567996000002011
来获得
Figure BDA00024567996000002012
Figure BDA00024567996000002013
这里j1=1,ji=j,ki=k。然后,通过如下等式恢复
Figure BDA00024567996000002014
Figure BDA00024567996000002015
该算法按照如下等式恢复从第一层到第i层的数据拥有者
Figure BDA00024567996000002016
的加密密钥
Figure BDA00024567996000002017
Figure BDA00024567996000002018
Figure BDA00024567996000002019
当p=i,加密密钥ski,j被恢复。最后,该算法根据访问控制列表pol过滤掉未授权的数据块,同时使用ski,j解密CTi,j,d
3 EMPAC方案
基于提出的密钥管理方案,本发明提供一种安全且可扩展的多方访问控制方案,具体方案如下:
第一步,系统初始化:当系统第一次运行时,O1,1执行如下步骤:
(i)O1,1调用
Figure BDA00024567996000002020
去生成相关的密钥组件。
(ii)O1,1创建一个访问控制列表pol,并将其初始化为NULL,CAS通过相应接口创建一个Enclave 实例EApp,O1,1通过远程认证EApp确保EApp是在真实的SGX硬件平台上创建的。在远程认证之后,CAS 在O1,1和EApp之间建立一个安全信道方便传输隐私数据。
(iii)O1,1通过建立好的可信信道将
Figure BDA0002456799600000211
和pol发送EApp。对于每一个授权用户k,O1,1选择一个独一无二的授权令牌
Figure BDA0002456799600000212
通过安全信道发送给它。这里假设O1,1和授权用户可以安全地通信。
第二步,数据上传:O1,1执行mldp_Enc(sk1,1,m1,1,d)→CT1,1,d来加密隐私数据m1,1,d,获得密文CT1,1,d,同时将密文
Figure BDA0002456799600000213
发送到云存储服务器进行存储。本发明采用AES对称加密算法对数据进行加密。
第三步,数据处理与数据结果存储:一个授权用户k和Enclave进行远端认证,同时建立安全信道。该用户k给Enclave发送一个数据处理请求req去处理Oi,j(i≥1)授权给它的共享数据,其中
Figure BDA0002456799600000214
Figure BDA0002456799600000215
包括处理数据的指令、Oi,j
Figure BDA0002456799600000216
要访问所有数据的ID,及一个布尔值s。如果s是true,表示数据处理结果res需要被存储到云存储服务器,这样方便下次访问,并且这个用户k变成第i+1层的数据拥有者
Figure BDA0002456799600000217
同时,
Figure BDA0002456799600000218
可以授权其他用户去访问该数据结果。否则,Enclave不存储该数据结果直接将其返回给该用户。当Enclave 收到用户请求会执行如下操作:
·Enclave先根据授权令牌中的数据拥有者的ID找到所有与授权令牌相关的秘密共享
Figure BDA0002456799600000219
然后,Enclave调用
Figure BDA00024567996000002110
Figure BDA00024567996000002111
·在获取共享数据mi,j,d之后,Enclave按照command对数据执行相应的数据处理,并获得数据计算计算结果res。
·如果s为true,那么该用户将作为本次数据处理结果的第i+1个数据拥有者。Enclave调用
Figure BDA00024567996000002112
Figure BDA00024567996000002113
Figure BDA00024567996000002114
生成加密密钥
Figure BDA00024567996000002115
和授权令牌
Figure BDA00024567996000002116
然后,EApp通过之前建立好的安全信道将本次请求的响应
Figure BDA00024567996000002117
发送给该用户,这里
Figure BDA00024567996000002118
之后,Enclave使用
Figure BDA00024567996000002119
加密数据结果res并将相关密文及其信息
Figure BDA00024567996000002120
Figure BDA00024567996000002121
存储到CSS上方便下次访问。
Figure BDA00024567996000002122
为它的每一个授权用户k′选择一个独一无二的授权令牌
Figure BDA00024567996000002123
并通过安全的信道传输给每个授权用户。
·否则,EApp仅通过安全信道发送数据计算结果给授权用户k。
4基于博弈论的数据保护方案
1)恶意非根数据拥有者泄露数据问题
在设计MLDP场景下多方访问控制方案中,授权用户(也可以是非根数据拥有者Oi,j(i>1))需要诚实地在req声明是否要存储数据结果,如果需要存储,Enclave为其生成相关密钥来加密数据结果,但O_(i,j) 可能将数据私自泄露给恶意的用户来获取一定的利益。假设数据经过了数据拥有者
Figure BDA0002456799600000221
Figure BDA0002456799600000222
的处理,一个授权用户p想要从Oi,j获取第i层的数据处理结果mi,j,d。若用户p从每个拥有者
Figure BDA0002456799600000223
那里获取授权密钥需要给他们分别支付pk(1≤k≤i),那么该用户总共需要支付
Figure BDA0002456799600000224
因为Oi,j已经获得mi,j,d,因此该用户可能会选择贿赂Oi,j来获得mi,j,d。只要用户p给Oi,j支付
Figure BDA0002456799600000225
这样Oi,j可能为了获得更多的酬金,私自泄露数据或者以根数据拥有者的身份去管理数据,即,Oi,j选择先不存储数据结果,之后又私自作为根数据拥有者将mi,j,d将数据上传到云存储服务器上,再将该数据授权给该用户。这样,mi,j,d就脱离了前面数据拥有者的控制,损害了前面数据拥有者的利益。因此,必须采取一定措施来控制非根数据拥有者泄露数据。
目前有两种思路解决该问题:一种是给数据加水印,将数据处理过程中所经过的拥有者的相关的信息通过水印的方式嵌入到数据中,当恶意用户要将多个拥有者共同控制的数据以根数据拥有者的身份上传数据时可以检查水印获取数据所属权的相关信息。但是数据水印对数据的格式有要求,仅多媒体格式可以添加数据水印。而多层数据处理模式下,数据的格式不是固定的,因此数据水印不适用多层数据处理模式。另一个方法时通过博弈论来设置不同的收益,去引导用户选择诚实的行为,从而减缓这种数据泄露。这种方法相比较于数字水印更为通用。
2)基于博弈论的数据保护方案
为了解决上述存在的问题,本发明给用户和Oi,j(i>1)设计了一个博弈游戏来使得Oi,j拒绝将该层的数据处理结果泄露给其他人。为了解决这中数据泄露,本发明借用文献[4]提到的卧底警察方法在原本的系统中引入诚实的监测机构来检查数据泄露,该机构可以派出一个便衣警察假装贿赂Oi,j去获得隐私数据,如果 Oi,j接受了贿赂并且意图泄露数据给便衣警察,那么给Oi,j一定的惩罚。同时,一个诚实的用户也可以不计报酬举报意图通过泄露数据来谋利的恶意拥有者。为了方便描述本发明设计的游戏,令λ是Oi,j在收到贿赂时遇到警察的条件概率。因此,当用户端不去贿赂Oi,j获得数据时,那么遇到卧底警察的条件概率为0,因为卧底警察会假装贿赂Oi,j来诱使其泄露数据。Oi,j和用户p博弈分析的矩阵如表1所示。用户p有两种选择:诚实和贿赂Oi,j。用户p可以诚实地按照协议从所有拥有者获得授权密钥,也可以贿赂Oi,j,以更低地成本来获取数据。Oi,j也有两种选择:诚实和诱惑贿赂。也就是说,Oi,j可以选择诚实地按照协议执行,也可以诱使用户p从自己这里获取数据来获得更多收益。v表示该数据为用户p带来的价值,pk(1≤k≤i) 表示用户p支付给
Figure BDA0002456799600000226
的费用,q表示用户p为了付更少的钱而贿赂Oi,j的费用,这里
Figure BDA0002456799600000227
Figure BDA0002456799600000228
pi≥0。为了让大家更加理解表4中的收益情况,本发明做如下的简单说明:
(i).当用户p想要贿赂Oi,j时,而Oi,j是诚实的,Oi,j会拒绝这场交易,因此,双方只好按照协议执行。因此他们收益会和(诚实,诚实)的情况一样。
(ii).当Oi,j接受用户p的贿赂,那么存在两种情况:1)用户p是便衣警察,那么Oi,j就会被惩罚,Oi,j收益为
Figure BDA0002456799600000229
2)用户p就是恶意用户,用户p获得的收益是v-q,Oi,j获得的收益是q。
(iii).当
Figure BDA00024567996000002210
时,即
Figure BDA00024567996000002211
诚实是无论用户p如何选择,Oi,j均会选择诚实,这时,对于Oi,j来说,诚实一个占优策略。这时有两个纳什均衡点,即(诚实,诚实)和(贿赂,诚实)。
(iv).当
Figure BDA0002456799600000231
时,这时有两个纳什均衡点,即(诚实,诚实)和(贿赂,诱惑贿赂)。
不管哪种情况,(诚实,诚实)都是一个纳什均衡点。而只要系统中有足够的警察或者加大惩罚的力度,那么(贿赂,诱惑贿赂)将不会发生。为了便于分析,令
Figure BDA0002456799600000232
其中np表示惩罚的倍数。
表4用户和Oi,j博弈分析
Figure BDA0002456799600000233
在系统中,给每个数据拥有者的酬金是由信息的价值来决定的,也是由每个数据拥有者来决定的,故
Figure BDA0002456799600000234
中变量为q,np。为了便于分析,令
Figure BDA0002456799600000235
求f(q,np)关于q的偏导数:
Figure BDA0002456799600000236
因此,f(q,np)随着q的增大而增大,故
Figure BDA0002456799600000237
当λ>f(q,np)时,诚实就是Oi,j的占优策略,那么只要λ>argmax(f(q,np))即可。
Figure BDA0002456799600000238
因此,当
Figure BDA0002456799600000239
时,无论用户是否想要去贿赂Oi,j非法获得数据,Oi,j均会拒绝和该用户的非法交易。如果监测机构的便衣警察较少,λ的值较小,本发明可以通过增加惩罚力度,即增大n,让Oi,j选择诚实地按照协议执行。
[1]Q.Huang,Y.Yang,W.Yue,and Y.J.I.T.o.C.C.He,"Secure Data GroupSharing and Conditional Dissemination with Multi-Owner in Cloud Computing,"2019.
[2]M.Layouni,M.Yoshida,and S.Okamura,"Efficient multi-authorizeraccredited symmetrically private information retrieval,"in InternationalConference on Information and Communications Security,2008,pp. 387-402:Springer.
[3]S.Contiu,R.Pires,S.Vaucher,M.Pasin,P.Felber,and L.Réveillère,"Ibbe-sgx:Cryptographic group access control using trusted executionenvironments,"in 201848th Annual IEEE/IFIP International ConferenceonDependable Systems andNetworks(DSN),2018,pp.207-218:IEEE.
[4]Z.Wang,S.-C.S.Cheung,and Y.Luo,"Information-Theoretic SecureMulti-Party Computation With Collusion Deterrence,"IEEE Transactions onInformation Forensics and Security,vol.12,no.4,pp.980-995, 2016.
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如 ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。

Claims (7)

1.一种基于SGX的面向MLDP的多方访问控制方法,其特征在于,所述基于SGX的面向MLDP的多方访问控制方法包括:
通过支持多方访问控制的密钥管理算法构建MPAC框架,进行安全的数据处理和数据结果的多方访问控制,同时支持数据拥有者和用户的撤销;
同时利用基于博弈论的数据保护方法对非根数据拥有者的私自泄露数据行为进行相应奖惩。
2.如权利要求1所述的基于SGX的面向MLDP的多方访问控制方法,支持多方访问控制的密钥管理算法包括:
(1)根数据拥有者密钥生成:
Figure FDA0002456799590000011
由第一级数据拥有者O1,1执行,生成O1,1的密钥组件;输入安全参数λ和一个非零正整数n,其中n表示生成授权密钥的最大数量,输出以下密钥:一个对称密钥sk1,1,一个秘密共亨、
Figure FDA0002456799590000012
n个授权令牌TK1,1={token1,1,k|(1≤k≤n)};O1,1首先定义两个阶为素数p的循环群
Figure FDA0002456799590000013
和双线性对
Figure FDA0002456799590000014
然后O1,1从Zp中选择一个随机数b1,1,并计算加密密钥
Figure FDA0002456799590000015
利用Shamir阈值秘密共享方案生成相关密钥;
(2)非根数据拥有者密钥生成:
Figure FDA0002456799590000016
Figure FDA0002456799590000017
这个算法是为了生成第i层第j个数据拥有者Oi,j的相关密钥组件,其中i>1;假设m1,1,d是Oi,j的共享数据d,m1,1,d已经经过了数据拥有者
Figure FDA0002456799590000018
的处理;输入是Oi,j已经从
Figure FDA0002456799590000019
获得了所有的授权令牌
Figure FDA00024567995900000110
其中任意一个数据拥有者
Figure FDA00024567995900000111
的授权密钥
Figure FDA00024567995900000112
是由前一个数据拥有者
Figure FDA00024567995900000113
生成,其中
Figure FDA00024567995900000114
Figure FDA00024567995900000115
因此任意第p层第jp个数据拥有者
Figure FDA00024567995900000116
Figure FDA00024567995900000117
能够很容易通过如下等式被恢复:
Figure FDA00024567995900000118
Figure FDA0002456799590000021
计算Oi,j的加密密钥ski,j
Figure FDA0002456799590000022
与生成O1,1的密钥组件类似,对于Oi,j
Figure FDA00024567995900000216
按照Shamir阈值秘密共享方案生成相关密钥;
(3)数据加密:mldp_Enc(ski,j,mi,j,d)→CTi,j,d:该算法是为了加密Oi,j的隐私数据,它的输入是Oi,j的加密密钥以及其共享数据mi,j,d,输出为mi,j,d的密文CTi,j,d;对于每一个数据拥有者Oi,j,它采用一个对称加密算法去加密它的隐私数据mi,j,d,即调用EncAES(mi,j,d,ski,j)→CTi,j,d,对称加密的密钥是已生成的ski,j
(4)数据解密:
Figure FDA0002456799590000023
Figure FDA0002456799590000024
该算法是为了让Oi,j授权用户k去解密Oi,j的共享数据CTi,j,d,共享数据m1,1,d通过从第一层数据拥有者到第i层的数据拥有者的处理,即
Figure FDA0002456799590000025
并且用户k已经获取到所有授权令牌
Figure FDA0002456799590000026
输入是
Figure FDA0002456799590000027
分享给Enclave的秘密
Figure FDA0002456799590000028
访问控制列表pol、所有的授权令牌
Figure FDA0002456799590000029
Figure FDA00024567995900000210
及密文CTi,j,d,该用户访问数据拥有者Oi,j的哪一块数据;它的输出为共享数据的明文mi,j,d;首先,该算法根据所有数据拥有者的身份标识
Figure FDA00024567995900000211
检索
Figure FDA00024567995900000212
来获得
Figure FDA00024567995900000213
Figure FDA00024567995900000214
这里j1=1,ji=j,ki=k;然后,通过如下等式恢复
Figure FDA00024567995900000215
Figure FDA0002456799590000031
该算法按照如下等式恢复从第一层到第i层的数据拥有者
Figure FDA0002456799590000032
的加密密钥
Figure FDA0002456799590000033
Figure FDA0002456799590000034
当p=i,加密密钥ski,j被恢复;最后,该算法根据访问控制列表pol过滤掉未授权的数据块,同时使用ski,j解密CTi,j,d
3.如权利要求2所述的基于SGX的面向多层数据处理的多方访问控制方法,其特征在于,所述步骤(1)和(2)中,对于每一个用户,利用Shamir阈值秘密共享方案生成授权密钥,具体包括:
第一步,Oi,j随机选择一个数ai,j∈Zp,然后定义一个一次多项式qi,j(x)=ai,jx+bi,j,这里qij(0)=bi,j
第二步,对于Oi,j的每一个授权k(1≤k≤n),Oi,j从zp选择一个随机数ti,j,k,然后计算
Figure FDA0002456799590000035
继而Oi,j生成所有的密钥组件
Figure FDA0002456799590000036
和授权令牌{tokeni,j,1,...,tokeni,j,n}。
4.如权利要求1所述的EMPAC框架,其特征在于,所述的多方访问控制方法包括:
第一步,系统初始化:系统第一次运行时,O1,1执行如下步骤:
(i)O1,1调用
Figure FDA0002456799590000037
去生成相关的密钥组件;
(ii)O1,1创建一个访问控制列表pol,并将其初始化为NULL,云应用服务器通过相应接口创建Enclave的EApp,O1,1通过远程认证,确认EApp在真实的SGX硬件平台上创建,在远程认证后,云应用服务器在O1,1和EApp之间建立安全信道方便传输隐私数据;
(iii)O1,1通过建立好的可信信道将
Figure FDA0002456799590000041
和pol发送给EApp;对于每一个授权k,O1,1选择授权令牌
Figure FDA0002456799590000042
通过安全信道发送给所述授权k,这里假设O1,1和授权用户可以安全地通信;
第二步,数据上传:O1,1执行mldp_Enc(sk1,1,m1,1,d)→CT1,1,d加密隐私数据m1,1,d,获得密文CT1,1,d,同时将密文
Figure FDA00024567995900000416
发送到云存储服务器上进行存储;
第三步,数据处理与数据结果存储:授权k和EApp进行远端认证,同时建立安全信道;该用户k给EApp发送一个数据处理请求req去处理Oi,j(i≥1)的共享数据,其中
Figure FDA0002456799590000043
包括处理数据的指令command、Oi,j
Figure FDA0002456799590000044
访问所有数据的ID,及一个布尔值s;s是true,表示数据处理结果res需要被存储到云存储服务器,并且所述的授权用户k变成第i+1层的数据拥有者
Figure FDA0002456799590000045
同时,
Figure FDA0002456799590000046
授权其他用户访问该数据结果;否则,EApp不存储该数据结果直接将其返回给该用户;当nApp收到用户端请求进行操作;
第四步,用户的授权和撤销:当Oi,j(i≥1,j≥1)添加一个新用户k(1≤k≤n)访问其数据时,Oi,j选择一个独一无二的秘密令牌tokeni,j,k并将其安全地交付给用户,但是该用户k必须获得有关数据的所有数据拥有者授权才获得对Oi,j的共享数据的访问权;同时,Oi,j指定用户k可以访问数据的ID,然后向EApp发送请求以更新pol;如果Oi,j撤销用户k的秘密令牌,则Oi,j仅需要请求EApp
Figure FDA0002456799590000047
删除
Figure FDA0002456799590000048
第五步,数据拥有者的撤销:假设数据已经过数据拥有者
Figure FDA0002456799590000049
的处理;在EMPAC框架中,数据拥有者
Figure FDA00024567995900000410
也是
Figure FDA00024567995900000411
的授权用户;如果
Figure FDA00024567995900000412
从系统中删除了数据拥有者
Figure FDA00024567995900000413
则也必须撤销拥有者
Figure FDA00024567995900000414
Figure FDA00024567995900000415
需向EApp发送一条命令请求删除
Figure FDA0002456799590000051
5.如权利要求4所述的基于SGX的面向多层数据处理的多方访问控制方法,其特征在于,所述第三步中EApp收到用户端请求进行操作包括:
(a)EApp先根据授权令牌中的数据拥有者的ID找到所有与授权令牌相关的秘密共享
Figure FDA0002456799590000052
然后,EApp调用
Figure FDA0002456799590000053
Figure FDA0002456799590000054
(b)在获取共享数据mi,j,d后,EApp按照command对数据执行相应的数据处理,并获得数据计算计算结果res;
(c)如果s为true,那么该用户将作为本次数据处理结果的第i+1个数据拥有者,nApp调用
Figure FDA0002456799590000055
Figure FDA0002456799590000056
Figure FDA0002456799590000057
生成加密密钥
Figure FDA0002456799590000058
和授权令牌
Figure FDA0002456799590000059
然后,EApp通过建立好的安全信道将本次请求的响应
Figure FDA00024567995900000510
Figure FDA00024567995900000511
发送给该用户端,这里
Figure FDA00024567995900000512
接着,EApp使用
Figure FDA00024567995900000513
加密数据结果res并将相关密文及信息
Figure FDA00024567995900000514
Figure FDA00024567995900000515
存储到云存储服务器上;
Figure FDA00024567995900000516
为每一个授权用户端k′选择一个独一无二的授权令牌
Figure FDA00024567995900000517
并通过安全的信道传输给每个授权用户端;
(d)否则,EApp仅通过安全信道发送数据计算结果给授权k′。
6.如权利要求1所述的基于博弈论的数据保护方法借用卧底警察方法在原本的系统中引入诚实的监测机构来检查数据泄露,该机构派出一个便衣警察假装贿赂Oi,j去获得隐私数据,如果Oi,j接受了贿赂并且意图泄露数据给便衣警察,那么给Oi,j一定的惩罚;同时,一个诚实的用户也不计报酬举报意图通过泄露数据来谋利的恶意拥有者;具体包括:
(1)当用户端时诚实的,如果Oi,j是诚实的,那么用户的收益为
Figure FDA0002456799590000061
Oi,j的收益是pi;如果Oi,j是恶意的,诱惑用户去以贿赂它,直接举报它,系统给Oi,j一定的惩罚
Figure FDA0002456799590000062
用户的收益为0,Oi,j的收益是
Figure FDA0002456799590000063
(2)当用户端p贿赂Oi,j时,如果Oi,j是诚实的,Oi,j拒绝这场交易,双方按照EMPAC方案执行,这时用户的收益为
Figure FDA0002456799590000064
Oi,j的收益是pi;当Oi,j接受用户端p的贿赂,包括:1)用户端p是便衣警察,那么Oi,j就被惩罚,Oi,j收益为
Figure FDA0002456799590000065
2)用户端p就恶意,用户端p获得的收益是v-q,Oi,j获得的收益是q;
(3)通过分析,可以得出当
Figure FDA0002456799590000066
时,即
Figure FDA0002456799590000067
诚实是无论用户端p如何选择,Oi,j均选择诚实,对于Oi,j,用户和Oi,j的博弈有两个纳什均衡点,为(诚实,诚实)和(贿赂,诚实);当
Figure FDA0002456799590000068
时,有两个纳什均衡点,(诚实,诚实)和(贿赂,诱惑贿赂);
(4)令
Figure FDA0002456799590000069
Figure FDA00024567995900000610
时,无论是否想要去贿赂Oi,j非法获得数据,Oi,j均拒绝和该用户端的非法交易。
7.一种如权利要求1~6任意一项所述基于SGX的面向多层数据处理的多方访问控制方法的基于SGX的面向多层数据处理的多方访问控制系统,其特征在于,所述基于SGX的面向多层数据处理的多方访问控制系统包括:多个数据拥有者终端、多个用户端、云应用服务器以及云存储服务器;
多个数据拥有者终端,数据拥有者是云服务的订阅者,可以向云应用服务器请求数据处理同时可以将数据加密之后存储到云存储服务器上;
多个用户端,用户也是云服务的订阅者,用户可以从数据拥有者那里获得授权密钥,该授权密钥负责让用户能够从云服务器上访问数据拥有者的数据;如果用户想要处理第i层数据拥有者的数据处理结果时,他/她就必须获得第一层到第i层数据拥有者的授权密钥;此外,用户向云应用服务器发送数据处理请求时,可以选择是否存储该数据结果,如果他/她选择存储该数据并授权其他人访问,那么他/她就变成第i+1层的数据拥有者;
云应用服务器,用于部署应用服务程序响应用户终端请求;
云存储服务器,负责存储数据拥有者终端的密文数据。
CN202010308680.9A 2020-04-18 2020-04-18 基于sgx的面向mldp的多方访问控制方法及系统 Active CN111695145B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010308680.9A CN111695145B (zh) 2020-04-18 2020-04-18 基于sgx的面向mldp的多方访问控制方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010308680.9A CN111695145B (zh) 2020-04-18 2020-04-18 基于sgx的面向mldp的多方访问控制方法及系统

Publications (2)

Publication Number Publication Date
CN111695145A true CN111695145A (zh) 2020-09-22
CN111695145B CN111695145B (zh) 2023-04-07

Family

ID=72476383

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010308680.9A Active CN111695145B (zh) 2020-04-18 2020-04-18 基于sgx的面向mldp的多方访问控制方法及系统

Country Status (1)

Country Link
CN (1) CN111695145B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117078215A (zh) * 2023-10-16 2023-11-17 中交一公局集团有限公司 一种建筑物信息管理系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109101822A (zh) * 2018-07-10 2018-12-28 西安交通大学 一种解决多方计算中数据隐私泄露问题的方法
WO2019091907A1 (en) * 2017-11-10 2019-05-16 Eth Zurich Brokered delegation of credentials using trusted execution environments
US20190149333A1 (en) * 2017-11-15 2019-05-16 International Business Machines Corporation Methods and systems for supporting fairness in secure computations
CN109800584A (zh) * 2018-10-24 2019-05-24 中国科学院信息工程研究所 一种基于Intel SGX机制的身份或属性加密计算方法和系统
CN109831444A (zh) * 2019-02-28 2019-05-31 南京邮电大学 一种基于代理的属性加密云存储访问控制方法
CN110213231A (zh) * 2019-04-26 2019-09-06 西安电子科技大学 一种面向sgx的轻量级的外包数据访问控制方法及控制系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019091907A1 (en) * 2017-11-10 2019-05-16 Eth Zurich Brokered delegation of credentials using trusted execution environments
US20190149333A1 (en) * 2017-11-15 2019-05-16 International Business Machines Corporation Methods and systems for supporting fairness in secure computations
CN109101822A (zh) * 2018-07-10 2018-12-28 西安交通大学 一种解决多方计算中数据隐私泄露问题的方法
CN109800584A (zh) * 2018-10-24 2019-05-24 中国科学院信息工程研究所 一种基于Intel SGX机制的身份或属性加密计算方法和系统
CN109831444A (zh) * 2019-02-28 2019-05-31 南京邮电大学 一种基于代理的属性加密云存储访问控制方法
CN110213231A (zh) * 2019-04-26 2019-09-06 西安电子科技大学 一种面向sgx的轻量级的外包数据访问控制方法及控制系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
D. BURIHABWA等: "《2018 IEEE International Conference on Cloud Computing Technology and Science (CloudCom)》", 27 December 2018 *
王光波等: "基于属性加密的云存储方案研究", 《电子与信息学报》 *
田洪亮等: "云环境下数据库机密性保护技术研究综述", 《计算机学报》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117078215A (zh) * 2023-10-16 2023-11-17 中交一公局集团有限公司 一种建筑物信息管理系统
CN117078215B (zh) * 2023-10-16 2024-01-26 中交一公局集团有限公司 一种建筑物信息管理系统

Also Published As

Publication number Publication date
CN111695145B (zh) 2023-04-07

Similar Documents

Publication Publication Date Title
Sun Security and privacy protection in cloud computing: Discussions and challenges
Liang et al. PDPChain: A consortium blockchain-based privacy protection scheme for personal data
Sun Privacy protection and data security in cloud computing: a survey, challenges, and solutions
Xue et al. An attribute-based controlled collaborative access control scheme for public cloud storage
CN110099043A (zh) 支持策略隐藏的多授权中心访问控制方法、云存储系统
Yu et al. Achieving secure, scalable, and fine-grained data access control in cloud computing
Shen et al. Multi-security-level cloud storage system based on improved proxy re-encryption
Sharma et al. Blockchain-based cloud storage system with CP-ABE-based access control and revocation process
CN113411323B (zh) 基于属性加密的医疗病历数据访问控制系统及方法
Wu et al. Blockchain-enabled multi-authorization and multi-cloud attribute-based keyword search over encrypted data in the cloud
Sasikumar et al. Modeling and simulation of a novel secure quantum key distribution (SQKD) for ensuring data security in cloud environment
Zhang et al. Blockchain-enabled decentralized attribute-based access control with policy hiding for smart healthcare
Gajmal et al. Blockchain-based access control and data sharing mechanism in cloud decentralized storage system
Rao et al. A hybrid elliptic curve cryptography (HECC) technique for fast encryption of data for public cloud security
CN111695145B (zh) 基于sgx的面向mldp的多方访问控制方法及系统
Sundar et al. Quantum cryptography based cloud security model (QC-CSM) for ensuring cloud data security in storage and accessing
Zhang et al. A fine-grained access control scheme for electronic health records based on roles and attributes
Wijesekara A Literature Review on Access Control in Networking Employing Blockchain
Pervez et al. Oblivious access control policies for cloud based data sharing systems
Kumar et al. SECRBAC: Secure Data In The Clouds
Agarwal et al. A hybrid cryptographic system for dynamic cloud groups with secure sharing of data and proficient revocation of users
Mishra et al. Fine-grained access control of files stored in cloud storage with traceable and revocable multi-authority CP-ABE scheme
Zhang et al. Revocable data sharing methodology based on SGX and blockchain
Wang et al. Secure decision tree classification with decentralized authorization and access control
Liu et al. ESMAC: Efficient and secure multi-owner access control with TEE in multi-level data processing

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