CN115001744B - 一种云平台数据完整性验证方法及系统 - Google Patents

一种云平台数据完整性验证方法及系统 Download PDF

Info

Publication number
CN115001744B
CN115001744B CN202210457030.XA CN202210457030A CN115001744B CN 115001744 B CN115001744 B CN 115001744B CN 202210457030 A CN202210457030 A CN 202210457030A CN 115001744 B CN115001744 B CN 115001744B
Authority
CN
China
Prior art keywords
data
module
pdp
challenge
cloud storage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210457030.XA
Other languages
English (en)
Other versions
CN115001744A (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.)
Institute of Information Engineering of CAS
Original Assignee
Institute of Information Engineering of CAS
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 Institute of Information Engineering of CAS filed Critical Institute of Information Engineering of CAS
Priority to CN202210457030.XA priority Critical patent/CN115001744B/zh
Publication of CN115001744A publication Critical patent/CN115001744A/zh
Application granted granted Critical
Publication of CN115001744B publication Critical patent/CN115001744B/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/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • H04L63/0435Network 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 wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • 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/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • 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]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

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

本发明公开了一种云平台数据完整性验证方法及系统。本发明将Intel SGX提供的硬件级安全机制与PDP方案结合部署,提出了基于硬件可信执行环境的具备安全性、通用性、实用性的云平台数据完整性保护框架‑EnclavePDP,该框架支持在SGX内执行PDP方案中安全敏感的计算并保护安全敏感的数据,消除PDP方案存在的隐私威胁,将网络级通信转为进程间通信,显著地降低了通信开销。该框架提炼了PDP方案的通用计算过程并封装为通用基础计算服务,经典密码学库被优化适配到SGX中兼容新旧PDP方案,框架支持与云存储系统进行高效部署,解决了实际应用部署PDP方案复杂低效的问题,具备实际应用部署价值。

Description

一种云平台数据完整性验证方法及系统
技术领域
本发明属于云计算技术领域,涉及一种云平台数据完整性验证方法及系统。
背景技术
随着云存储服务的普及,大量的企业和用户将数据存储在云平台上,来自云平台外部以及内部的攻击都有可能破坏云端用户数据的完整性。因此,如何安全可信地验证用户存储在云平台上的数据的完整性是一个具备现实意义的重要安全问题。
近年来,密码学研究领域提出许多数据完整性验证方法,以确保云平台数据的完整性不被破坏,这些方法被称为PDP(Provable Data Possession,可证明的数据拥有)方案。但现有的PDP方案存在如下不足:(1)多数PDP方案依赖第三方审计机构(Third PartyAuditor,TPA),一方面增加了运营成本,另一方面,诚实但好奇(honest-but-curious)的TPA虽然正确完成规定运算任务,但持有窥探用户隐私数据的动机,进而引入隐私威胁。如TPA根据云服务器返回的证明信息(Proof,通常是一个线性组合运算)逆推(破解)出用户的原始数据造成数据泄露;(2)存在TPA和云服务器同谋(Collusion Attacks)欺骗用户的威胁;(3)PDP方案众多但缺乏通用的框架来实现高效部署,使得实现部署PDP方案的开发成本和难度较高,并且目前PDP方案的通信开销较高也是不可忽视的问题;(4)现有的PDP方案主要从密码学角度出发,从理论层面优化算法,极大多数PDP方案没有被实际部署到实际的云存储系统,缺乏现实云环境下的性能分析和实用性评估。以上几个不足点使得现有PDP方案难以被实际应用到商用的云存储平台。
Intel SGX提供了一组新的指令集用于创建硬件级隔离的可信执行环境(称为Enclave),使应用程序可以维护放置在Enclave中的数据的机密性和完整性。即使特权软件(如操作系统,BIOS等)也不能违反Intel SGX提供的隔离保护机制。因此,安全敏感型的代码和数据可以放置到Enclave内部,保证运算的机密性和完整性。此外,Intel SGX还提供远程认证机制用于验证运行在云端的Enclave代码的完整性,以及在Enclave内部与其所有者之间建立安全通信通道传输机密数据。
然而目前缺乏一种通用的安全可信的云平台数据完整性验证方案。
发明内容
针对用户安全可信地验证云平台数据完整性的安全需求,本发明提出了EnclavePDP(Enclave-protected Provable Data Possession),一种基于Intel SGX的新型数据完整性验证方法及系统,本发明是一个具备安全性、通用性、实用性的云平台数据完整性保护框架,本发明借助Intel SGX的安全机制来设计一个安全可信的云平台数据完整性验证方案。本发明量身定制了各种密码学库(具体包含OpenSSL,GMP,PBC这三个流行的代表性密码学库)的核心功能并将其进行裁剪后移植到Intel SGX中,本发明针对10种代表性的PDP方案深入的分析其算法原理与实现,将PDP方案中安全敏感的计算过程以及安全敏感的数据放置到Intel SGX中。此框架消除了原始PDP方案对于TPA的依赖,消除了TPA引入的隐私威胁进而具备高安全性,并且可以支持现有和新的PDP方案,具备良好的兼容性。最终在EnclavePDP中实现了10种代表性PDP方案,并将PDP方案的通用的计算过程提炼为通用的接口降低PDP方案部署的成本,提升EnclavePDP架构的通用性和普适性。此外,EnclavePDP设计便捷的集成接口,支持高效便捷地与现有的开源或闭源的云存储系统(如Amazon S3等)进行集成部署,具备良好的易用性。最后,EnclavePDP框架支持高并发请求响应,具备良好的实用性。
本发明的技术方案为:
一种云平台数据完整性验证方法,其步骤包括:
1)建立一EnclavePDP架构,其包括请求响应模块、PDP中的挑战模块、PDP中的验证模块、证明模块和密钥加载模块;其中,挑战模块、验证模块和密钥加载模块运行于可信执行环境Enclave中;
2)将所述EnclavePDP架构和云存储服务平台同驻一台服务器,可信执行环境Enclave和云存储服务平台之间通过所述服务器的进程进行通信;
3)数据拥有者根据所选PDP方案生成相应的公私钥对和对称加密密钥,将公钥提交给云存储服务平台用于生成证明信息;
4)数据拥有者使用私钥为每个数据块生成相应的数据标签;将每一数据块mi及其对应的标签σi上传到云存储服务平台;
5)数据拥有者将待运行的应用程序EnclavePDP上传到云存储服务平台上并远程启动EnclavePDP,然后对所述服务器上的处理器进行验证,如果处理器支持TEE机制,服务器则数据拥有者所在客户端与所述服务器上的EnclavePDP架构通过密钥交换协议创建安全通信通道;
6)数据拥有者将私钥、对称加密密钥和安全敏感型数据通过所述安全通信通道提交给所述EnclavePDP架构;
7)EnclavePDP架构的密钥加载模块对通过所述安全通道接收的数据进行加密后存储到所述云存储服务平台上;
8)数据拥有者将公钥、各所述数据块及其对应的标签提交给所述云存储服务平台;
9)验证阶段,所述EnclavePDP架构的请求响应模块接收客户端提交的PDP请求并将其转发给所述挑战模块,所述挑战模块根据该PDP请求生成与之对应的挑战信息并将其发给所述证明模块,所述证明模块根据收到的所述挑战信息生成数据持有证明信息并将其经所述请求响应模块发送给所述验证模块;所述验证模块收到所述持有证明信息后结合所述挑战信息验证该PDP请求验证的数据是否无损地存储在所述云存储服务平台上,并对验证结果使用对称加密密钥加密后发送给所述客户端;所述客户端收到加密的验证结果后,使用所述对称加密密钥对其解密后获得数据完整性验证报告。
进一步的,验证阶段,客户端提交PDP请求到云存储服务平台;所述云存储服务平台将该PDP请求以及该PDP请求中的数据属性信息转发给所述EnclavePDP架构的请求响应模块。
进一步的,所述数据属性信息包括数据存储的路径、数据大小。
进一步的,所述安全敏感型数据为能够用来伪造数据完整性验证结果的数据。
进一步的,所述挑战模块为PDP方案随机生成挑战值{(i,υi)},随机地对数据块进行验证;其中,i是数据块的索引,υi是与i对应的随机数。
进一步的,所述请求响应模块采用多线程、IO复用技术对高并发请求进行快速响应。
一种云平台数据完整性验证系统,其特征在于,包括客户端、EnclavePDP架构和云存储服务平台;其中,所述EnclavePDP架构包括请求响应模块、PDP中的挑战模块、PDP中的验证模块、证明模块和密钥加载模块;挑战模块、验证模块和密钥加载模块运行于可信执行环境Enclave中;所述EnclavePDP架构和云存储服务平台同驻一台服务器,可信执行环境Enclave和云存储服务平台之间通过所述服务器的进程进行通信;
所述客户端,用于为数据拥有者根据所选PDP方案生成相应的公私钥对和对称加密密钥,并将公钥提交给云存储服务平台用于生成证明信息;以及使用数据拥有者私钥为数据拥有者的每个数据块生成相应的数据标签,将每一数据块mi及其对应的标签σi上传到云存储服务平台;以及与所述服务器上的EnclavePDP架构通过密钥交换协议创建安全通信通道,然后将数据拥有者的私钥、对称加密密钥和安全敏感型数据通过所述安全通信通道提交给所述EnclavePDP架构;
所述请求响应模块,负责加载运行Enclave代码,监听来自客户端的PDP请求,协调转发挑战模块、验证模块、证明模块之间的消息;
所述密钥加载模块,用于存储数据拥有者的私钥、对称加密密钥;
所述挑战模块,用于根据该PDP请求生成与之对应的挑战信息并将其发给所述证明模块;
所述证明模块,用于根据收到的所述挑战信息生成数据持有证明信息并将其经所述请求响应模块发送给所述验证模块;
所述验证模块,用于收到所述持有证明信息后结合所述挑战信息验证该PDP请求验证的数据是否无损地存储在所述云存储服务平台上,并对验证结果使用对称加密密钥加密后发送给所述客户端;
所述客户端收到加密的验证结果后,使用所述对称加密密钥对其解密后获得数据完整性验证报告。
本发明首先研究分析了大量PDP方案后,提炼出PDP方案中安全敏感型的计算(如生成挑战、验证证明等)和安全敏感型的数据,将其运行在Intel SGX(软件防护扩展)的隔离执行环境中,解决了原始PDP方案存在的隐私威胁问题。本发明最终针对10种代表性的PDP方案深入的分析其算法原理与实现,将PDP方案中安全敏感的计算过程以及安全敏感的数据放置到Intel SGX中。其次,SGX和云存储服务同驻一台物理设备,将网络级的通信转为进程间通信进而克服了通信开销问题。本发明适配移植了PDP方案依赖的3个经典密码学库(具体为OpenSSL,GMP,PBC)到SGX内,在设计上使框架能够兼容新旧的PDP算法。具体地,为了减低Encalve内存开销,本节将EnclavePDP不必要的密码学功能从这些密码学库中移除后重新编译获得适配SGX的精简密码学库(如移除如OpenSSL中的des,rc2,md4等)。此外,目前尚无支持Intel SGX的PBC库(或尚无公开的支持SGX的PBC库),本发明完全独立自主地在Intel SGX内实现了PBC密码库以便于支持基于BLS签名的PDP方案,原始的PBC库通过/dev/urandom接口执行随机数生成计算。然而,Enclave内部的代码无法直接执行IO操作,最终本发明采用Intel RDRAND指令集为PBC密码库在Enclave内执行随机数生成计算,保证了PBC库在Intel SGX内正常运行,Intel RDRAND在指令级别进行随机数生成将会使得其性能优于IO操作的方式。PBC库一般是通过/dev/urandom接口获取随机数,enclave内没有/dev/randome这个接口,因此本发明使用Intel RDRAND指令来获取随机数,保证了PBC库在Enclave内正常运行,还能提升随机数获取的性能,因为RDRAND是硬件指令获取随机数,/dev/random是软件获取随机数,硬件指令总是比软件方式要快。
本发明通过提炼PDP方案的通用计算将其封装为通用基础计算服务(如挑战生成,证明生成,证明验证等计算),从而降低实现PDP方案的难度,提升EnclavePDP架构的通用性和普适性。此外,EnclavePDP向外提供方便易用的扩展服务接口,能够方便快捷地与开源及闭源的云存储系统(如Amazon S3等)进行协作部署,解决了应用部署PDP方案复杂低效的难题,并采用IO复用技术、多线程技术来支持高并发快速响应,提高实用性。
安全敏感型计算与数据
本发明在深入分析大量的PDP方案之后,从中选取了10个代表性的PDP方案,研究分析了PDP方案的共性之处以及PDP方案中安全敏感型的计算和安全敏感型数据。本发明研究分析10个代表性PDP方案之后,总结出PDP方案的三个共性。共性1:PDP方案均包含2个阶段和5个步骤,在预处理阶段,用户在本地完成密钥生成(KeyGen)和标签生成(Tag);在验证阶段,用户向云服务器发送挑战(Challenge)信息,云服务器根据挑战信息生成对应的证明(Proof)信息,最后用户或TPA完成对证明信息的验证(Verify),并确认数据的完整性。共性2:同类的PDP方案会使用到相同的密码学原语,例如,某些PDP方案均会使用到RSA非对称加密机制或者BLS签名运算等,使用同一类密码学原语的PDP算法会执行相似的计算过程。共性3:由于某些PDP方案会使用到同一种密码学原语,使得它们在实现上依赖相同的密码学库,如OpenSSL,GMP,PBC library等。
对于PDP方案在预处理阶段进行的计算过程与涉及到的数据,本发明假设其安全性由用户保证,本发明主要关注验证阶段的安全性,验证阶段的挑战信息生成(Challenge)和证明信息验证(Verify)均是安全敏感型的计算过程。对于PDP方案而言,安全敏感型的计算主要指此类计算过程如果被攻击者干扰或者被攻击者掌控将会导致PDP方案对数据完整性的验证结果不可信。例如,攻击者如果干扰了证明信息的验证计算过程,则可能会恶意篡改验证结果使得用户无法判断云平台数据的完整性是否正确和可靠。安全敏感型的数据特指此类数据如果被攻击者窃取则可被用来误导数据完整性的验证结果,如攻击者窃取了私钥则可以伪造数据完整性验证结果。验证阶段证明信息的生成由云存储服务器完成,不属于安全敏感型计算任务。因此,本发明将挑战(Challenge)和证明(Verify)计算过程交由SGX保护,即在SGX内完整挑战信息的生成和证明信息的验证计算。
本发明的优点如下:
本发明保证用户能够独立安全地验证云平台数据的完整性,基于Intel SGX提出了一种新型的通用数据完整性验证框架,即EnclavePDP。该框架消除了原始PDP方案对TPA的依赖从而消除了用户数据泄露的安全威胁。另外,EnclvePDP只将安全敏感型的计算和数据交给SGX保护,极大的减小了TCB同时具备高安全性。EnclavePDP将具备代表性的密码学库裁剪适配到Intel SGX中,以支持新旧PDP方案,具体良好的兼容性。EnclavePDP在实现上采用多线程技术、IO复用技术,支持高并发,提升吞吐量,具备较强的实用性。EnclavePDP向外提供服务接口,高效便捷地与开源或闭源的云存储系统整合部署,具备很好的易用性。
本发明将Intel SGX提供的硬件级安全机制与PDP方案结合部署,提供一种安全可信的云平台数据完整性验证方案。本发明提出了一个基于硬件可信执行环境(即IntelSGX)的具备安全性、通用性、实用性的云平台数据完整性保护框架-EnclavePDP,该框架支持在SGX内执行PDP方案中安全敏感的计算并保护安全敏感的数据,消除PDP方案存在的隐私威胁,将网络级通信转为进程间通信,显著地降低了通信开销。该框架提炼了PDP方案的通用计算过程并封装为通用基础计算服务,经典密码学库被优化适配到SGX中兼容新旧PDP方案,框架支持与云存储系统进行高效部署,解决了实际应用部署PDP方案复杂低效的问题。本发明支持与开源FastDFS云存储系统和闭源Amazon S3云存储平台集成部署到商用云平台上,适配支持了10个代表性PDP方案,并能兼容新增扩展的PDP方案,进一步表明EnclavePDP具备实际应用部署价值。
附图说明
图1为EnclavePDP的架构。
图2为EnclavePDP工作流程图。
具体实施方式
下面结合附图对本发明进行进一步详细描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
EnclavePDP架构设计
EnclavePDP架构的设计核心思想是将PDP方案中安全敏感(Security-sensitive)计算以及安全敏感数据放置到Intel SGX提供的隔离执行环境Enclave中去,进而消除了原本PDP方案对TPA的依赖,即消除了隐私威胁。此外,受SGX保护的PDP计算任务运行在云端服务器上,使得大量的计算开销(如挑战/验证计算开销)由云服务器承担,用户仅需发起完整性验证请求即可。挑战、证明信息的传输过程从原来的网络级传输转为进程间通信,很大程度上降低了通信开销,提升响应速度。
EnclavePDP的设计原则之一是尽可能的缩减TCB(即运行在Enclave内的代码量保持精简)。因此,本方案首先选取了10个代表性的PDP方案,深入分析这10个PDP算法的原理设计与实现后,将算法中安全敏感的计算过程以及安全敏感数据交由Enclave执行和保护。PDP方案通常包含2个阶段和5个步骤,在预处理阶段,用户在本地完成密钥生成(KeyGen)和标签生成(Tag);在验证阶段,用户向云服务器发送挑战(Challenge)信息,云服务器根据挑战信息生成对应的证明(Proof)信息,最后用户或TPA完成对证明信息的验证(Verify),确认数据的完整性。同类的PDP方案会使用到相同的密码学原语,例如,某一类PDP方案均会使用到RSA非对称加密机制或者BLS签名运算等。由于某些PDP方案会使用到同一种密码学原语,使得它们在实现上依赖同样的密码学库,如OpenSSL,GMP libary等。在EnclavePDP的设计中,在预处理阶段进行的计算是安全的,其安全性由用户保证,EnclavePDP主要关注验证阶段的安全性。此外,验证阶段证明信息的生成由云存储服务器完成,不属于安全敏感型计算任务。因此,EnclavePDP将挑战(Challenge)和证明(Verify)计算过程交由SGX保护。此外,某些PDP方案(如FlexDPDP)为了支持动态更新数据,增加了额外的数据结构(如FlexList)来维护数据信息,而这些数据结构的完整性同样需要被保护,相应地,验证该数据结构完整性的计算也属于安全敏感型计算
图1显示了EnclavePDP的整体架构,请求响应模块是non-SGX应用程序(即普通的应用程序),它负责加载运行Enclave代码,监听来自用户端的请求信息,协调转发其他模块(挑战模块,验证模块,证明模块)之间的消息。其采用多线程,IO复用技术实现对高并发请求的快速响应。证明模块运行在云存储服务端,负责代替云存储服务生成证明信息。挑战模块和验证模块运行在Enclave内部,负责代替用户生成挑战信息和验证云存储服务返回的证明信息。密钥加载模块也是运行在Enclave内部的模块,其作用是从磁盘上载入(读取)密文态的密钥到Enclave内部后进行解密,并采用LRU(Least Recently Used)策略维护密钥信息,当挑战模块或验证模块需要使用密钥时会先向密钥加载模块查询是否已经载入Enclave内部,若密钥已经载入Enclave内部则直接使用,否则从磁盘载入密钥。这样的设计减少Enclave上下文切换的次数,进而降低Encla ve陷入/退出引入的性能开销。
EnclavePDP工作流程
如图2显示了EnclavePDP框架的工作流程,主要包含两个阶段,初始化阶段和验证阶段,初始化阶段,数据拥有者与EnclavePDP协作完成如下步骤:
(1)密钥生成(Key Generation):数据拥有者根据所选PDP方案的要求生成相应的密钥,如公钥(pub_k)和私钥(pri_k)组成的公私钥对,对称加密密钥(symetric key)等。其中,公钥提交给云存储服务平台用于生成证明信息,私钥只能被数据拥有者和EnclavePDP拥有,EnclavePDP在Enclave内使用私钥生成挑战信息和验证证明信息。对称加密密钥用来加密验证结果后将验证结果发送给用户。密钥生成如下公式pk={N,g}所示(以DPDP方案中的公钥场景为例,DPDP方案是本发明支持10种PDP方案中的一种)。
(2)数据标签生成(Data Tagging):数据拥有者使用私钥为每个数据块生成相应的数据标签(Tag)。对于某些PDP方案,如DHT-PA,数据拥有者还需要创建用于维护数据块属性信息(如时间戳,版本信息等)的数据结构,如Dynamic Hash Table。对于数据标签生成,先把文件分成n块,分别对每个数据块mi计算同态认证标签σi作为文件的元数据(如公式),以此来验证数据的完整性。数据块mi和其对应的标签σi被上传到云服务器。
(3)远程平台验证(Remote Attestation):数据拥有者可以将应用程序EnclavePDP上传到云服务器上,并远程启动EnclavePDP。接着,数据拥有者使用SGX的远程认证机制(即Intel SGX Remote Attestation)来验证云平台上的处理器是否是合法的支持TEE机制的硬件平台。在硬件平台合法性验证通过后,再验证运行在云端的EnclavePDP代码的完整性,EnclavePDP代码合法性和完整性验证通过后,客户端和EnclavePDP通过密钥交换协议(ECDH协议)创建安全通信通道。
(4)机密数据上传(Secrets Uploading):私钥(pri_k)和对称加密密钥(symmetric key)都需要通过步骤3中建立的安全通信通道提交给EnclavePDP。其他安全敏感型数据同样需要通过安全通信通道提交给EnclavePDP,如DHT-PA方案的动态哈希表(Dynamic Hash Table)。
(5)密封(Sealing):在EnclavePDP收到客户端通过安全通信通道上传的机密数据(如私钥等)后,将在SGX内加密此类机密数据(使用Intel SGX Sealing机制,加密使用的密钥是根据Enclave自身的度量值来派生的一个密钥,此密钥只有Enclave直接拥有)后存储在云服务器上,安全敏感数据,如Dynamic Hash Table,也用同样的方式对其加密后存储。
(6)数据上传(Data Uploading):数据拥有者将数据和公钥,数据对应的标签一起提交给云存储服务平台(Cloud Storage Services,CSS)。
验证阶段,客户端提交一个PDP请求(该请求包含需要被验证的文件信息,如文件名称等)到云存储服务平台,通常该请求被封装为HTTP请求。该请求将被云存储服务平台转发给请求响应模块(步骤a),请求响应模块对外提供TCP套接字交互接口来传递数据。需要说明的是,客户端也可以将PDP请求发送给EnclavePDP,之所以选择将PDP请求提交给云存储服务平台,是考虑到云存储服务通常掌握着数据存储的路径、数据大小等信息,云存储服务可以将这些数据属性信息和PDP请求一起转发给EnclavePDP。PDP请求最终会被请求响应模块通过ecall接口(ecall接口指从Enclave外调用Enclave内的函数,反之ocall接口指从Enclave内调用外部的函数)转发给挑战模块,在挑战模块内部根据该PDP请求生成与之对应的挑战信息(步骤b)。挑战信息如Challenge={(i,υi)}(0<i<c),挑战模块为PDP方案随机生成挑战值{(i,υi)},随机地对数据块进行验证。其中,i是数据块的索引(index),υi是与i对应的随机数。i是集合[1,n]的子集,n是总的数据块数,c是随机挑战的文件块数。挑战模块同时也会将挑战信息发送给验证模块,挑战模块和验证模块都运行在Encalve内。
请求响应模块将新生成的数据完整性挑战信息(Challenge)转发给证明模块,证明模块通常获得直接或间接的云平台数据访问授权,并代表云存储服务平台完成数据完整性证明信息的生成。证明模块根据收到的挑战信息读取云存储平台上对应的原始数据,数据对应的数据标签,再结合最新收到的挑战信息生成数据持有证明信息(Proof)(步骤c),该证明信息被发送给请求响应模块后提交给验证模块,证明生成示例:
验证模块收到Proof信息后结合Challenge信息进行判断该PDP请求验证的数据是否完好无损地存储在云存储服务平台上(步骤d),验证计算示例Verification=[(gμ==σ)?Yes:No]。并对验证结果使用对称加密密钥加密后发送给客户端(步骤e)。最终客户端收到加密的验证结果后,使用相同的对称加密密钥对其解密后获得数据完整性验证报告。整个过程中云平台数据完整性的验证计算是安全可信的,验证结果通过加密处理后保证完整性验证报告的机密性和完整性不被破坏。此外,在EnclavePDP的设计中,请求响应模块支持定期(周期性)地代表用户发起数据完整性验证请求,然后将该请求转发给挑战模块,完成一轮完整的云平台数据完整性验证过程,并将完整性验证结果加密后暂存在云服务器上,同时形成云平台数据完整性验证日志,该日志同样被EnclavePDP加密存储。根据用户的需求可将完整性验证日志和验证结果一起发送给用户。
本发明提出的基于Intel SGX的通用数据完整性验证框架,主要面向使用云存储服务的用户,满足他们对于独立可信验证云平台数据完整性的需求。
本发明提出的EnclavePDP框架利用Intel SGX为PDP方案建立可信计算基,消除了PDP方案对于不可信TPA的依赖,帮助用户独立可信地完成云平台数据完整性的远程验证,同时也充分考虑了实际部署到真实云存储平台时的开销和适用性问题,将加密库核心功能集成到Intel SGX中,以支持新的和旧的PDP方案。本发明还采用多线程、IO复用等技术来快速响应高并发请求,提高吞吐量以满足真实云存储服务场景中的实用性需求。
尽管为说明目的公开了本发明的具体实施例,其目的在于帮助理解本发明的内容并据以实施,本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换、变化和修改都是可能的。因此,本发明不应局限于最佳实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。

Claims (5)

1.一种云平台数据完整性验证方法,其步骤包括:
1)建立一EnclavePDP架构,其包括请求响应模块、PDP中的挑战模块、PDP中的验证模块、证明模块和密钥加载模块;其中,挑战模块、验证模块和密钥加载模块运行于可信执行环境Enclave中;
2)将所述EnclavePDP架构和云存储服务平台同驻一台服务器,可信执行环境Enclave和云存储服务平台之间通过所述服务器的进程进行通信;
3)数据拥有者根据所选PDP方案生成相应的公私钥对和对称加密密钥,将公钥提交给云存储服务平台用于生成证明信息;
4)数据拥有者使用私钥为每个数据块生成相应的数据标签;将每一数据块mi及其对应的标签σi上传到云存储服务平台;
5)数据拥有者将待运行的应用程序EnclavePDP上传到云存储服务平台上并远程启动EnclavePDP,然后对所述服务器上的处理器进行验证,如果处理器支持TEE机制,则数据拥有者所在客户端与所述服务器上的EnclavePDP架构通过密钥交换协议创建安全通信通道;
6)数据拥有者将私钥、对称加密密钥和安全敏感型数据通过所述安全通信通道提交给所述EnclavePDP架构;
7)EnclavePDP架构的密钥加载模块对通过所述安全通道接收的数据进行加密后存储到所述云存储服务平台上;
8)数据拥有者将公钥、各所述数据块及其对应的标签提交给所述云存储服务平台;
9)验证阶段,客户端提交PDP请求到云存储服务平台;所述云存储服务平台将该PDP请求以及该PDP请求中的数据属性信息转发给所述EnclavePDP架构的请求响应模块,所述数据属性信息包括数据存储的路径、数据大小;然后所述EnclavePDP架构的请求响应模块接收客户端提交的PDP请求并将其转发给所述挑战模块,所述挑战模块根据该PDP请求生成与之对应的挑战信息并将其发给所述证明模块,所述证明模块根据收到的所述挑战信息生成数据持有证明信息并将其经所述请求响应模块发送给所述验证模块;所述验证模块收到所述持有证明信息后结合所述挑战信息验证该PDP请求验证的数据是否无损地存储在所述云存储服务平台上,并对验证结果使用对称加密密钥加密后发送给所述客户端;所述客户端收到加密的验证结果后,使用所述对称加密密钥对其解密后获得数据完整性验证报告。
2.根据权利要求1所述的方法,其特征在于,所述安全敏感型数据为能够用来伪造数据完整性验证结果的数据。
3.根据权利要求1所述的方法,其特征在于,所述挑战模块为PDP方案随机生成挑战值{(i,υi)},随机地对数据块进行验证;其中,i是数据块的索引,υi是与i对应的随机数。
4.根据权利要求1所述的方法,其特征在于,所述请求响应模块采用多线程、IO复用技术对高并发请求进行快速响应。
5.一种云平台数据完整性验证系统,其特征在于,包括客户端、EnclavePDP架构和云存储服务平台;其中,所述EnclavePDP架构包括请求响应模块、PDP中的挑战模块、PDP中的验证模块、证明模块和密钥加载模块;挑战模块、验证模块和密钥加载模块运行于可信执行环境Enclave中;所述EnclavePDP架构和云存储服务平台同驻一台服务器,可信执行环境Enclave和云存储服务平台之间通过所述服务器的进程进行通信;
所述客户端,用于为数据拥有者根据所选PDP方案生成相应的公私钥对和对称加密密钥,并将公钥提交给云存储服务平台用于生成证明信息;以及使用数据拥有者私钥为数据拥有者的每个数据块生成相应的数据标签,将每一数据块mi及其对应的标签σi上传到云存储服务平台;以及与所述服务器上的EnclavePDP架构通过密钥交换协议创建安全通信通道,然后将数据拥有者的私钥、对称加密密钥和安全敏感型数据通过所述安全通信通道提交给所述EnclavePDP架构;以及提交PDP请求到云存储服务平台;
所述请求响应模块,负责加载运行Enclave代码,监听来自客户端的PDP请求,协调转发挑战模块、验证模块、证明模块之间的消息;所述PDP请求及其数据属性信息经所述云存储服务平台转发给所述请求响应模块,所述数据属性信息包括数据存储的路径、数据大小;
所述密钥加载模块,用于存储数据拥有者的私钥、对称加密密钥;
所述挑战模块,用于根据该PDP请求生成与之对应的挑战信息并将其发给所述证明模块;
所述证明模块,用于根据收到的所述挑战信息生成数据持有证明信息并将其经所述请求响应模块发送给所述验证模块;
所述验证模块,用于收到所述持有证明信息后结合所述挑战信息验证该PDP请求验证的数据是否无损地存储在所述云存储服务平台上,并对验证结果使用对称加密密钥加密后发送给所述客户端;
所述客户端收到加密的验证结果后,使用所述对称加密密钥对其解密后获得数据完整性验证报告。
CN202210457030.XA 2022-04-27 2022-04-27 一种云平台数据完整性验证方法及系统 Active CN115001744B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210457030.XA CN115001744B (zh) 2022-04-27 2022-04-27 一种云平台数据完整性验证方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210457030.XA CN115001744B (zh) 2022-04-27 2022-04-27 一种云平台数据完整性验证方法及系统

Publications (2)

Publication Number Publication Date
CN115001744A CN115001744A (zh) 2022-09-02
CN115001744B true CN115001744B (zh) 2023-08-29

Family

ID=83024359

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210457030.XA Active CN115001744B (zh) 2022-04-27 2022-04-27 一种云平台数据完整性验证方法及系统

Country Status (1)

Country Link
CN (1) CN115001744B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115484031B (zh) * 2022-09-13 2024-03-08 山东大学 基于sgx的无可信第三方云存储密文去重方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101729250A (zh) * 2008-10-21 2010-06-09 日电(中国)有限公司 增量可证数据完整性验证方法、设备和系统
WO2018045568A1 (zh) * 2016-09-09 2018-03-15 深圳大学 一种面向云存储服务平台的访问控制方法及其系统
WO2020098377A1 (zh) * 2018-11-16 2020-05-22 阿里巴巴集团控股有限公司 可信应用程序的远程证明方法及装置、电子设备
WO2022029762A1 (en) * 2020-08-02 2022-02-10 Ben Ari Adi System and method for providing a verified privacy-preserving attestation of web service data properties

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101729250A (zh) * 2008-10-21 2010-06-09 日电(中国)有限公司 增量可证数据完整性验证方法、设备和系统
WO2018045568A1 (zh) * 2016-09-09 2018-03-15 深圳大学 一种面向云存储服务平台的访问控制方法及其系统
WO2020098377A1 (zh) * 2018-11-16 2020-05-22 阿里巴巴集团控股有限公司 可信应用程序的远程证明方法及装置、电子设备
WO2022029762A1 (en) * 2020-08-02 2022-02-10 Ben Ari Adi System and method for providing a verified privacy-preserving attestation of web service data properties

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
云存储中支持数据完整性验证的隐私保护融合算法;崔建明;刘佳;杨呈永;;桂林理工大学学报(02);全文 *

Also Published As

Publication number Publication date
CN115001744A (zh) 2022-09-02

Similar Documents

Publication Publication Date Title
WO2015180691A1 (zh) 验证信息的密钥协商方法及装置
CN102271037B (zh) 基于在线密钥的密钥保护装置
EP2007585B1 (en) Apparatus and methods for securing architectures in wireless networks
EP2095288B1 (en) Method for the secure storing of program state data in an electronic device
US8904195B1 (en) Methods and systems for secure communications between client applications and secure elements in mobile devices
US20220114249A1 (en) Systems and methods for secure and fast machine learning inference in a trusted execution environment
CN105553951A (zh) 数据传输方法和装置
CN109728914B (zh) 数字签名验证方法、系统、装置及计算机可读存储介质
CN113268715A (zh) 软件加密方法、装置、设备及存储介质
CN114157415A (zh) 数据处理方法、计算节点、系统、计算机设备和存储介质
CN111614621A (zh) 物联网通信方法和系统
CN115396121A (zh) 安全芯片ota数据包的安全认证方法及安全芯片装置
CN114781006B (zh) 基于区块链和sgx的外包数据完整性审计方法及系统
CN117081736A (zh) 密钥分发方法、密钥分发装置、通信方法及通信装置
CN115001744B (zh) 一种云平台数据完整性验证方法及系统
CN113726733B (zh) 一种基于可信执行环境的加密智能合约隐私保护方法
CN111224958A (zh) 一种数据传输方法和系统
CN100561913C (zh) 一种访问密码设备的方法
CN113824713B (zh) 一种密钥生成方法、系统及存储介质
Huang et al. A secure wireless communication system integrating RSA, Diffie–Hellman PKDS, intelligent protection-key chains and a Data Connection Core in a 4G environment
CN114866244A (zh) 基于密文分组链接加密的可控匿名认证方法、系统及装置
CN114372245A (zh) 基于区块链的物联网终端认证方法、系统、设备及介质
JP5932709B2 (ja) 送信側装置および受信側装置
CN111431846A (zh) 数据传输的方法、装置和系统
Jochen et al. A framework for tamper detection marking of mobile applications

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