CN108322306B - 一种基于可信第三方的面向隐私保护的云平台可信日志审计方法 - Google Patents

一种基于可信第三方的面向隐私保护的云平台可信日志审计方法 Download PDF

Info

Publication number
CN108322306B
CN108322306B CN201810221399.4A CN201810221399A CN108322306B CN 108322306 B CN108322306 B CN 108322306B CN 201810221399 A CN201810221399 A CN 201810221399A CN 108322306 B CN108322306 B CN 108322306B
Authority
CN
China
Prior art keywords
audit
cloud
information
service
verification
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
CN201810221399.4A
Other languages
English (en)
Other versions
CN108322306A (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.)
Beijing University of Technology
Original Assignee
Beijing University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing University of Technology filed Critical Beijing University of Technology
Priority to CN201810221399.4A priority Critical patent/CN108322306B/zh
Publication of CN108322306A publication Critical patent/CN108322306A/zh
Application granted granted Critical
Publication of CN108322306B publication Critical patent/CN108322306B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/127Trusted platform modules [TPM]

Landscapes

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

Abstract

本发明公开了一种基于可信第三方的面向隐私保护的云平台可信日志审计方法,属于云计算领域。步骤1云平台审计日志的收集;步骤2审计日志的安全传输;步骤3第三方审计日志的验证数据结构生成和发布;步骤4面向云服务商和云用户的审计日志验证;针对不同云服务模式(IaaS、PaaS、SaaS)在审计事件中增加审计追责关联对象,基于可信硬件提供对审计日志的可靠收集和传输,基于分层随机Merkle哈希树提供支持隐私保护的审计日志验证,支持面向云服务商和云用户的云审计追责。

Description

一种基于可信第三方的面向隐私保护的云平台可信日志审计 方法
技术领域
本发明涉及一种云安全审计方法,尤其涉及一种基于可信第三方的面向隐私保护的云平台可信日志审计方法,属于云计算领域。
背景技术
越来越多的企业和个人用户选择把自己的业务系统部署到公有云、私有云或混合云上。为了保护使用和提供云服务的利益双方的合法权益,较为公正的做法是由云服务的提供者(Cloud Service Provider,CSP,也称为云服务商)委托可信第三方(Trusted ThirdParty,TTP)对云用户(Cloud Tenant,CT,也称为云租户)的使用情况和云平台自身状态进行审计,根据审计日志包含的信息发现云平台服务商以及云用户的非法操作,并进行相应的追责和处理。
然而,当前云审计面临三个难点。第一,云审计的对象内容不明确,难以追责。第二,审计日志缺乏可靠和高效的完整性和真实性保护。第三,审计方法可能泄露云用户和云服务商的隐私。对云审计对象内容不明确的问题:这是因为当前云计算通常基于虚拟化技术、多租户架构、外包方式提供IaaS、PaaS、SaaS服务,许多实现细节被屏蔽,CT和CSP的安全边界不再明确,因此云审计对象也不清晰,不能针对不同云服务模式进行追责处理;对审计日志缺乏完整性和真实性保护的问题,审计日志数据通常由软件记录到云平台上,很容易被恶意的CSP管理员清除和破坏,无法保护其完整性和真实性,导致审计失效。另外,面对云平台产生的海量审计日志,如何提高验证效率也是一个难题;对于云审计方法可能泄露被审计对象的隐私的问题:首先,因为云以服务形式向用户提供,对用户而言可见性较差,云用户无从获知自身的审计信息是否被泄漏给了非授权方(如其它云用户或恶意的云服务商管理员),引入可信第三方可以部分解决这个问题。但在引入可信第三方进行审计之后,第三方审计结果需要提供给云服务商和云用户查看和验证,由于审计内容包含了云平台和所有云用户的相关信息,可能会泄露云服务商的安全信息(如脆弱性),或者泄露云用户的隐私信息。
现有云服务和云安全性审计研究大多集中在云平台整体性能或单一服务模式安全性证据的收集和验证测试研究上,例如Guohui W等人采用CPU、存储和网络性能测试的方式对Amazon云进行了评测,找到了导致其服务不稳定因素,Chen C等对用户使用云平台IaaS资源的内存以及CPU的使用率进行了测试,验证了用户付费是否合理的问题,但目前尚没有针对三种不同云服务模式的审计对象描述方法;AnbangRuan等提出RepCloud,采用TPM可信硬件保护生成的云评估数据不被篡改,但未考虑到这种方式审计日志的验证效率过低;徐梓耀等人利用可信计算技术,采用Merkle哈希树作为审计日志存储结构,提高了验证效率,但验证过程需要修改现有的TPM安全芯片内部功能,不利于应用推广;Gu L等人讨论了云用户、云服务商的隐私保护问题,但没有给出具体实现方法。戴明等人提出了一种面向云计算环境的安全日志生成方法,其主要通过资源状态表中的用户唯一身份标识与元日志合并来生成安全日志,然而此方法并没有对资源状态表与元日志提供完整性保护措施;叶思海等人提出一种云计算平台的可信度量方法,该方法引入第三方对云计算平台中的软件运行指标进行度量,但是没有考虑用户审计验证过程中的隐私保护问题。
发明内容
本发明要解决的技术问题是,提供一种基于可信第三方的面向隐私保护的云平台可信日志审计方法,针对不同云服务模式(IaaS、PaaS、SaaS)在审计事件中增加审计追责关联对象,基于可信硬件提供对审计日志的可靠收集和传输,基于分层随机Merkle哈希树提供支持隐私保护的审计日志验证,支持面向云服务商和云用户的云审计追责。
本发明采用如下技术手段实现:
一种基于可信第三方的面向隐私保护的云平台可信日志审计方法,包括以下步骤:
步骤1云平台审计日志的收集;
CSP通常同时向租户提供IaaS,PaaS和SaaS服务,IaaS,PaaS和SaaS三种服务模式均由CSP管理员负责管理云平台宿主机。对宿主机审计的内容包括云平台底层操作系统运行状态、云平台配置文件完整性等静态信息以及相关服务组件的运行状态等动态信息。经得CSP允许之后,将宿主机监控程序部署到宿主机中,此监控程序根据制定的审计原则获取上述相关审计内容。在记录审计信息时,根据审计信息发生的时间顺序记录到本地节点的审计日志中,并且在记录每条日志时同步扩展到可信硬件提供的指定平台配置寄存器PCR(PlatformConfiguration Register)中,并累积计算指定PCR值,用于后续对平台完整性验证过程提供基础。可信硬件是可信计算机系统的重要组成部分,其中,可信平台模块TPM(Trusted Platform Modules),可信平台控制模块TPCM(Trusted Platform ControlModule),能够为可信平台环境的构建提供支持。可信密码模块TCM(Trusted CryptographyModule)是可信平台模块中的硬件模块,为可信计算平台提供密码运算功能,具有受保护的存储空间。PCR则位于TCM中,是保证平台完整性的基础,用于保存完整性度量的摘要值。
对于IaaS服务,由租户负责管理云虚拟机。对于虚拟机来说,审计信息主要包括虚拟机底层的操作系统运行状态、系统程序、用户安装的应用程序信息。在征得租户的同意之后,在虚拟机中部署监控程序实现对相关内容的审计日志记录。
对于PaaS和SaaS服务,由于PaaS和SaaS服务相关软件以及操作系统等平台由CSP提供并部署于该平台相关的虚拟机中,负责为租户提供所需要的服务。因此由CSP管理员和租户共同管理云虚拟机。
对于PaaS服务,CSP管理员负责管理虚拟机底层操作系统运行状态、系统程序等信息以及部署于虚拟机之上的PaaS服务软件及相关信息,租户则负责管理PaaS上的租户应用软件及相关信息,在获得CSP与租户的允许后,可以在这些平台虚拟机中部署监控程序实现对PaaS服务相关信息的监控,此监控程序根据自定义的审计原则,通过对PaaS服务软件的监控获取针对CSP管理员的审计信息,通过对租户应用监控获取针对租户的审计信息。
SaaS服务中CSP管理员和租户对虚拟机有类似的共享管理责任。CSP管理员负责管理SaaS服务虚拟机底层操作系统运行状态、系统程序等信息以及部署于虚拟机之上的SaaS服务软件及相关信息,租户则负责使用SaaS服务提供的应用软件及相关信息,在获得CSP的允许后,能够在SaaS服务虚拟机中部署监控程序实现对SaaS服务相关信息的监控,此监控程序根据自定义的审计原则,通过对SaaS服务软件的监控获取针对CSP管理员的审计信息,通过对租户行为监控获取针对租户的审计信息。扩展PCR的方法与宿主机相同。
综上所述,云平台不同服务模式下的审计日志既包含有静态信息,又包含动态行为操作等信息,本方法为对云平台不同服务模式下宿主机以及虚拟机的审计事件进行统一化描述,定义通用的审计日志格式如下:
Figure BDA0001600086920000041
各字段表示的含义及内容如下:
主体:表示审计信息中动作的发起者以及来源,值包括CSP/CT,IaaS服务宿主机/IaaS服务虚拟机/PaaS服务/PaaS服务的应用/SaaS服务/SaaS服务的应用;
客体:表示审计信息中被操作的文件或程序等对象;
行为:表示主体对客体执行的操作,比如读、写、执行等;
动作:表示主体对客体的操作是被允许还是拒绝;
状态信息:表示此审计信息属于静态信息还是动态信息;
模式:表示此审计信息属于云平台何种服务模式,IaaS、PaaS或SaaS;
追责关联对象:表示此审计信息为哪些追责角色需要,比如是CSP,还是CT,或CSP/CT;
随机数:表示动态审计信息要添加的随机哈希值,静态审计信息不包含此字段,加入随机数的目的是为了验证时不泄露其他用户信息。
时间戳:表示审计信息的生成时间;
步骤2审计日志的安全传输;
安全的云审计中心负责收集云宿主机和虚拟机上按照时间顺序生成的线性审计日志,并传输给第三方用于验证。为防止审计日志从云节点发送到第三方的过程中被恶意篡改,需要确定审计日志的来源是否真实,同时还要在传输过程中保证审计日志的完整性以及机密性。
本方法所涉及的传输过程包括虚拟机到宿主机,宿主机到审计管理节点,审计管理节点到第三方三个阶段,在每个阶段传输时,通过TPM或者TPCM提供的完整性远程验证功能保证传输过程中审计日志的完整性以及真实性。另外,由于虚拟机中用户的审计日志需要传输到宿主机,为防止用户审计日志被云服务商在宿主机直接读取,采用加解密算法对虚拟机中收集的用户审计日志进行加解密操作,并为不同服务模式下的主体提供不同的角色密钥:IaaS服务宿主机/IaaS服务虚拟机/PaaS服务/PaaS服务的应用/SaaS服务/SaaS服务的应用,以及属于多个追责关联对象的角色密钥,并由审计管理员定期更新密钥,不同角色能够向审计管理员申请获取相关审计加密密钥解密获得审计日志明文,而不能随意获得其他角色的审计日志,保证审计日志的机密性。
远程验证主要包括签名验证以及摘要信息完整性验证两个过程,其中,签名验证用于保证审计日志来源的真实性,摘要信息完整性验证用于保证审计日志的完整性。
步骤2.1虚拟机审计日志到宿主机的安全传输。
云平台宿主机与所属虚拟机进行远程验证时,虚拟机首先使用向第三方申请的所属用户密钥对其审计日志进行加密,然后计算加密后审计日志的哈希值,虚拟机中的可信平台模块使用身份认证证书AIK私钥对此哈希值进行签名,然后将签名信息,使用虚拟机用户密钥加密后的审计日志和AIK公钥返回给宿主机,宿主机可信平台模块则通过签名验证确定审计日志是否来自其所属虚拟机,签名验证通过后,计算收到的审计日志哈希值验证加密日志的完整性,验证通过后完成虚拟机加密审计日志的接收,并将其同宿主机加密审计日志一起扩展到指定的PCR中,然后宿主机可信平台模块同样使用自身的AIK私钥对扩展的PCR值进行签名,然后将签名信息,审计日志和AIK公钥返回给审计管理节点进行验证。
步骤2.2宿主机审计日志到审计管理节点的安全传输。
宿主机审计日志发送到审计管理节点时,由审计管理节点与宿主机进行远程验证,验证过程同步骤2.1中描述,待验证通过后完成所有宿主机加密审计日志的接收,然后审计管理节点可信平台模块同样使用自身的AIK私钥对扩展的PCR值进行签名,然后将签名信息,加密后的审计日志和AIK公钥返回给第三方进行验证。
步骤2.3审计管理节点审计日志到第三方的安全传输。
审计管理节点收集完成所有宿主机发送的审计日志以后,再由第三方与审计管理节点进行远程验证,同步骤2.1,验证通过后完成审计管理节点所有加密审计日志的接收。
步骤3第三方审计日志的验证数据结构生成和发布;
为提高验证效率,本方法提出第三方将收到的审计管理节点所有审计日志转化为一种验证数据结构,即分层Merkle哈希树结构,以供云服务商和云用户验证。另外,为减少因为增加过多审计内容而导致树重复构建和发布相关哈希值花费的时间,提高树的生成效率,将保存于第三方的宿主机和虚拟机审计日志转换为主树和子树的分层Merkle哈希树。主树对应云平台,子树对应IaaS服务宿主机、IaaS服务虚拟机、PaaS服务、PaaS服务的应用、SaaS服务、SaaS服务的应用。宿主机子树对应宿主机审计信息中的静态信息与动态信息。云用户虚拟机对应云用户虚拟机审计信息中的静态与动态信息。以此类推,PaaS服务、PaaS服务的应用、SaaS服务、SaaS服务的应用的子树分别对应PaaS服务、PaaS服务的应用、SaaS服务、SaaS服务的应用审计信息中的静态信息与动态信息。由于不同服务模式下生成的静态审计信息很少会发生变动,所以构建的不同服务模式的静态信息子树无需频繁进行更新,而动态审计信息在不同时间段的状态会经常发生改变,其动态信息子树叶子节点的值也会经常变化,因此构建的子树也会频繁更新,如果知识构建一棵树,就会导致这棵树的频繁更新,降低树的生成与验证效率。为解决树的生成与验证效率问题,采取为不同服务模式的云服务商和云用户建立云服务树,一方面是为了加快树的构建,提高树的生成效率,另一方面则是为了加快第三方审计验证的过程,从而保证验证效率。本方法构建的第三方审计日志的验证数据结构即分层随机Merkle哈希树,Merkle(默克尔树),又叫哈希树,是一种典型的二叉树结构,由一个根节点、一组中间节点和一组叶节点构成。Merkle树中最下面的叶节点包含存储数据或其哈希值,非叶节点都是它的两个孩子节点内容的哈希值。利用Merkle哈希树可以快速比较大量数据,定位哈希值发生变化的节点。所构建的主树与子树均为非平衡Merkle哈希树。由上至下分为四层:云平台主树、静态信息与动态信息对应子树、静态信息子树、动态信息子树。静态信息与动态信息对应子树包括IaaS服务宿主机子树、IaaS服务虚拟机子树、PaaS服务子树、PaaS服务的应用子树、SaaS服务子树、SaaS服务的应用子树,其叶子节点均为对应的静态信息子树与动态信息子树的根节点,各子树对应的静态信息子树的叶子结点对应静态审计信息;动态信息子树的叶子结点对应动态审计信息,主树与子树中所有节点的值均为哈希值,其中各子树对应的动态信息子树的叶节点的值为包含随机数数据项的哈希值,具体如附图1所示。
步骤3.1第三方审计日志的验证数据结构生成。
第三方审计日志验证数据结构生成步骤即将云上的线性审计日志转化为分层随机Merkle哈希树的步骤。按行读取第三方线性日志,根据前述统一日志格式判断每一行审计信息中包含的信息,如果状态信息为静态信息,直接计算日志中从主体到追责关联对象的哈希值,将此哈希值作为叶子节点添加到对应的静态信息树中;如果状态信息为动态信息,直接计算日志内容中从主体到随机数的哈希值,将此哈希值作为叶子节点添加到对应的动态信息树中,从而构建所有宿主机/虚拟机静态信息子树与动态信息子树、所有宿主机/虚拟机子树,直至完成主树的构建。
为了能够满足CSP或CT对不同时间段的审计日志进行验证,本方法将每隔一个小时(如8:00-9:00,20:00-21:00)保存不同服务模式子树对应的静态信息子树与动态信息子树根节点哈希值,第三方会对不同时间段静态子树的根节点值进行备案,维护所有静态子树根值白名单,用于后续静态审计日志的验证。对于主树来说,则连接生成的主树根节点哈希值与当前所处时间段重新计算新的哈希值,将当前所处时间段,主树根节点哈希值,新的哈希值进行保存。
步骤3.2第三方审计日志验证数据结构发布
第三方审计验证数据结构发布即向CSP和CT发布审计验证时所需要的信息。发布信息包括当前时间段IaaS服务宿主机/IaaS服务虚拟机/PaaS服务/PaaS服务的应用/SaaS服务/SaaS服务的应用静态信息树以及动态信息树的根节点哈希值以及步骤3.1中计算的新的根节点哈希值。
步骤4面向云服务商和云用户的审计日志验证
面向云服务商和云用户的审计日志验证分为两种情况:
1)云服务商审计验证
当云服务商进行审计验证时,验证对象包括云自身和云用户应用。当云服务商验证云时,只验证与云服务商追责相关联的日志,包括:与云服务商追责相关联的静态审计日志,此时只需验证IaaS服务宿主机、PaaS服务、SaaS服务子树中静态信息子树的根节点是否与公布的相同;验证与云服务商追责相关联的动态审计日志时,只验证IaaS服务虚拟机、PaaS服务的应用、SaaS服务的应用子树中的动态信息子树中追责关联对象包含云服务商的安全日志。对云的审计主要审计云平台自身的配置以及服务是否运行正常且满足云用户需求;当云服务商验证云用户时,只验证与云用户追责相关联的审计信息,即验证IaaS服务虚拟机子树中静态信息子树的根节点是否与公布的相同,并且只验证IaaS服务虚拟机、PaaS服务的应用、SaaS服务的应用子树中的动态信息子树中追责关联对象包含云用户的安全日志。对云用户应用的审计则是审计云用户应用的相关行为操作是否对云平台造成危害。
对静态信息子树验证时,分为两种情况:验证云自身与验证云用户。当云服务商验证云自身时,只需要对与自身相关的静态审计日志进行验证,因此不会造成云用户的隐私泄露,无需对云用户的明文审计信息进行隐私保护。
当云服务商验证云用户时,由于云用户相关的静态信息子树根节点值已由第三方担保,因此只需根据第三方发布的云用户静态子树根节点值进行验证,从而对云用户静态审计日志明文信息进行了隐私保护。待验证失败时,由第三方依据云用户静态信息子树根节点的计算细节进行追责。
对动态信息子树进行验证时,也分为两种情况:验证云自身与验证云用户。由于每条动态审计日志条目中都有随机数数据项,因此验证与云服务商或云用户追责相关联的动态审计日志时,返回给云服务商待验证路径中动态信息子树的中间节点哈希值为加入随机数后的值,对云用户的动态明文审计信息进行了隐私保护。
2)云用户审计验证
当云用户进行审计验证时,验证对象包括云和云用户应用自身。当云用户验证云时,只验证与云服务商追责相关联的日志,即验证验证IaaS服务宿主机、PaaS服务、SaaS服务子树中静态信息子树的根节点是否与公布的相同,并且只验证IaaS服务虚拟机、PaaS服务的应用、SaaS服务的应用子树中的动态信息子树中追责关联对象包含云服务商的安全日志。对云的审计主要是审计云服务商所提供的云服务是否符合预期;当云用户验证自身应用时,只验证与云用户追责相关联的审计信息,即验证IaaS服务虚拟机子树中静态信息子树的根节点是否与公布的相同,并且只验证IaaS服务虚拟机、PaaS服务的应用、SaaS服务的应用子树中的动态信息子树中追责关联对象包含云用户的安全日志,对云用户应用的审计则是审计自身应用在当前云平台中的运行状态是否符合预期。
云用户审计验证云自身应用的过程与云服务商验证云自身的验证过程类似,云用户审计验证云的过程与云服务商验证云用户的验证过程类似。
步骤4.1面向云服务商的审计日志验证
云服务商验证云时,向第三方提供验证的时间段,第三方则遍历步骤3.1中生成的分层随机Merkle哈希树,返回给云服务商待验证路径以及验证路径所需的中间节点哈希值;云服务商根据与自身相关联的审计日志重新构建树,构建完成后连接主树根节点哈希值与提供的时间段计算得到新的哈希值,与步骤3.2中公布的相关信息进行比较,如果一致,则验证通过;否则,根据构建出错的位置进行错误定位,以便追责。验证云用户的方法与验证云自身类似。
步骤4.2面向云用户的审计日志验证
云用户验证云服务商时,向第三方提供要验证的时间段,第三方则根据提供的时间段遍历步骤3.1中生成的分层随机Merkle哈希树,返回给云用户待验证路径以及验证路径所需要的中间节点哈希值,云用户根据与自身相关联的审计日志重新构建树,构建完成后连接新的主树根节点哈希值与提供的时间段重新计算新的哈希值,与步骤3.2中公布的相关信息进行比较,如果一致,则验证通过;否则,根据构建出错的位置进行错误定位,以便追责。验证云用户的方法与验证云自身类似。
本发明与现有技术相比,具有以下明显的优势和有益效果:
1)能够针对不同服务模式、不同追责需求生成统一的云平台审计日志
针对不同云服务模式(IaaS、PaaS、SaaS)云服务商和云用户的不同审计需求,在审计事件中增加审计追责关联对象,提供统一审计日志格式,实现对不同服务模式下审计信息的收集。
2)审计日志的真实性、完整性和机密性保护
能够基于可信硬件为云平台不同服务模式下生成的审计日志提供硬件层面的完整性保护,并对传输过程中的审计日志信息进行加密处理,审计管理员定期更新密钥,从而保护审计日志信息传输过程中的真实性、完整性以及机密性。
3)支持隐私保护的审计日志验证
基于分层随机Merkle哈希树提供高效的验证数据结构,为云用户及云服务商的验证过程提供隐私保护,保证CSP以及CT的隐私信息不被泄漏给无关方,并能够在验证过程中定位具有非法操作的宿主机或虚拟机,便于追责。
附图说明
图1第三方审计日志的验证数据结构示意图;
图2基于可信第三方的面向隐私保护的云平台可信日志审计方法执行流程图;
图3审计日志的安全传输流程图;
图4-a第三方审计日志验证结构的子树构建流程图;
图4-b第三方审计日志验证结构的云平台主树构建流程图;
图5审计日志验证算法流程图;
具体实施方式
下面结合附图和具体实施方式对本发明做进一步的说明。
本发明提出的基于可信第三方的面向隐私保护的云平台可信日志审计方法执行流程图如附图2所示,主要包括第三方主机,云平台宿主机以及不同租户的虚拟机。
其中,第三方包括客户端验证模块,租户通过此模块向服务端模块发送审计日志验证请求和查看验证结果。在审计管理节点上部署服务端模块。审计管理节点负责存放云平台宿主机和租户所属虚拟机发送回来的统一审计日志。服务端模块用于接收发送回来的审计日志以及客户端验证模块发送来的审计日志验证请求,完成审计日志验证功能。云平台宿主机与租户虚拟机分别部署监控模块与日志发送模块。监控模块与日志发送模块用于对各云平台宿主机以及租户所属虚拟机审计日志进行监控和发送审计日志。
本发明主要以TPM可信硬件模块为例说明基于可信第三方的面向隐私保护的云平台可信日志审计方法执行过程,但不限于使用其他可信硬件模块。
1.审计日志的收集以及安全传输流程如附图2所示,具体实施步骤为:
步骤1.1,由租户在所有云节点虚拟机中部署TPM模块,并使用Tspi_Key_CreateKey()和Tspi_Context_RegisterKey()函数创建和注册虚拟机TPM平台AIK公钥证书,并使用Tspi_Key_GetPubKey()获取虚拟机TPM平台公钥发送到所属宿主机,宿主机接收到所属虚拟机TPM平台的公钥后将其保存到数据库中;
步骤1.2,由CSP在所有云节点宿主机中使用Tspi_Key_CreateKey()和Tspi_Context_RegisterKey()函数创建和注册宿主机TPM平台AIK公钥证书,并使用Tspi_Key_GetPubKey()获取宿主机TPM平台公钥发送到审计管理节点,审计管理节点接收所有宿主机TPM平台的公钥后将其保存到数据库中;
步骤1.3,由CSP在审计管理节点中使用Tspi_Key_CreateKey()和Tspi_Context_RegisterKey()函数创建和注册本节点TPM平台AIK公钥证书,并使用Tspi_Key_GetPubKey()获取本节点TPM平台公钥发送到第三方,第三方接收审计管理节点TPM平台的公钥后将其保存到数据库中;
步骤1.4,在所有云节点宿主机事先使用Linux crontab调度命令设置审计发送周期以及满足周期后调用的发送模块脚本,然后启用所有云节点宿主机和虚拟机的监控模块监控审计信息,并按照指定格式将其写入审计日志;
步骤1.5,步骤1.4中宿主机或虚拟机每次写入一条审计日志内容,就调用TSS中的Tspi_Hash_UpdateHashValue()计算逐条日志的Hash值,并使用Tspi_TPM_PcrExtend()函数将计算的Hash值扩展到宿主机或虚拟机指定的PCR寄存器中;
步骤1.6,待步骤1.4中宿主机审计发送周期满足后,宿主机发送模块向所属虚拟机发送周期收集请求,虚拟机收到请求后,首先向第三方申请所属用户密钥并使用此密钥对审计日志进行加密,计算加密后审计日志的哈希值并使用Tspi_Hash_Sign()对此哈希值进行签名,然后将加密后的虚拟机审计日志,签名信息,哈希值一起发送到所属宿主机;
步骤1.7,宿主机收到步骤1.6中的加密后的虚拟机审计日志,签名信息,哈希值后,读取步骤1.1中数据库中对应虚拟机TPM平台的AIK公钥并使用Tspi_Hash_VerifySignature()验证签名信息,验证通过后,对收到的审计日志使用Tspi_Hash_UpdateHashValue()计算哈希值,与收到的哈希值比较,如果一致,则接收虚拟机审计日志写入宿主机本地审计日志中,并使用Tspi_TPM_PcrExtend()函数将计算的哈希值扩展到宿主机指定的PCR寄存器中;
步骤1.8,待宿主机接收完所有所属虚拟机的审计日志并完成扩展后,再与审计管理节点通信,首先读取步骤1.6中宿主机指定PCR寄存器的值并使用Tspi_Hash_Sign()对PCR的值进行签名,然后将其审计日志,签名信息,PCR值一起发送到审计管理节点;审计管理节点收到宿主机审计日志,签名信息,PCR寄存器的值后,读取步骤1.2中数据库中对应宿主机TPM平台的AIK公钥并使用Tspi_Hash_VerifySignature()验证签名信息,验证通过后,对收到的审计日志使用Tspi_Hash_UpdateHashValue()计算哈希值,与收到的PCR值比较,如果一致,则接收宿主机审计日志写入审计管理节点本地审计日志中;并使用Tspi_TPM_PcrExtend()函数将计算的哈希值扩展到审计管理节点指定的PCR寄存器中;
步骤1.9,重复步骤1.4-1.8,完成对云节点所有宿主机和虚拟机的审计日志收集。然后审计管理节点与第三方通信,首先读取步骤1.8中审计管理节点指定PCR寄存器的值并使用Tspi_Hash_Sign()对PCR的值进行签名,然后将其所有审计日志,签名信息,PCR值一起发送到第三方;第三方收到所有审计日志,签名信息,PCR寄存器的值后,读取步骤1.3中数据库中审计管理节点TPM平台的AIK公钥并使用Tspi_Hash_VerifySignature()验证签名信息,验证通过后,对收到的审计日志使用Tspi_Hash_UpdateHashValue()计算哈希值,与收到的PCR值比较,如果一致,则接收所有审计日志写入第三方本地审计日志中;
2.第三方审计日志验证结构生成包括子树的构建以及主树的构建两个过程,本发明以宿主机子树的构建为例介绍子树的构建流程,其余子树的构建流程与之类似,如附图4-a、图4-b所示,具体实施步骤为:
步骤2.1,构建静态信息子树与动态信息子树。
读取第三方审计日志中一条审计信息,获取该条审计信息中主体字段、状态信息字段、模式字段的值。根据此三个字段的不同取值构建静态信息子树与动态信息子树可以分为以下几种情况:
1)主体字段的值中包含IaaS服务宿主机,状态信息字段值为静态信息,此时模式字段的值为IaaS,则调用Tspi_Hash_UpdateHashValue()计算此条审计信息从主体到追责关联对象字段的哈希值,然后将其插入到IaaS服务宿主机静态信息子树中,同时将IaaS服务宿主机静态信息子树叶子节点数的值加1,由于树中每增加一个叶子节点也就是增加一条审计信息的哈希值,因此还需要增加一个中间节点,总计增加两个节点。根据当前叶子节点数的值,每增加一个叶子节点,可以分为以下五种情况:
a)当叶子节点数为0时,增加一个叶子节点后,该叶子节点为根节点;
b)当叶子节点数为1时,增加一个叶子节点时,需要新增一个中间节点,中间节点的左孩子为旧根节点,右孩子为新增加的叶子节点,则中间节点的哈希值为旧根节点哈希值和新叶子节点哈希值连接后计算得到的哈希值,旧叶子节点和新叶子节点的父节点为中间节点;
c)当叶子节点数为2n,其中n为正整数。增加一个叶子节点时,新根节点的左孩子为旧根节点,右孩子为新增加的叶子节点,则新根节点的哈希值为旧根节点哈希值和新叶子节点哈希值连接后计算得到的哈希值,旧根节点和新叶子节点的父节点为新根节点;
d)当叶子节点数为奇数(不包括1)时,增加一个叶子节点时,需要新增加一个中间节点,假设为b(下同),b的左孩子为最右边的叶子节点,假设为a,右孩子为新增加的叶子节点,b的父节点为a的原父节点,b的哈希值为其左右孩子节点连接后计算的哈希值,a和新增加的叶子节点的父节点为节点b,重新计算节点a到其原父节点的哈希值;
e)当叶子节点数为偶数但非0和2n时,增加一个叶子节点时,需要新增加一个中间节点b,最右边底层二叉树的根节点(假设为a)与新增叶子节点连接后得到中间节点b,b的父节点为节点a的原父节点,新增加的叶子节点的父节点为节点b,计算节点b的散列值,修改节点a的父节点为节点b,重新计算节点b的父节点到根节点的散列值。
2)主体字段的值中包含IaaS服务宿主机,状态信息字段为动态信息,此时模式字段的值为IaaS,则调用Tspi_Hash_UpdateHashValue()计算此条审计信息从主体到随机数字段的哈希值,将其作为新的叶子节点插入到对应IaaS服务宿主机动态子树中,同时将IaaS服务宿主机动态信息子树叶子节点数的值加1,其他步骤与1)中类似;
3)主体字段的值中包含IaaS服务虚拟机,状态信息字段值为静态信息,此时模式字段的值为IaaS,其他步骤同1)类似;
4)主体字段的值包含IaaS服务虚拟机,状态信息字段值为动态信息,此时模式字段的值为IaaS,其他步骤同2)类似;
5)主体字段的包含PaaS服务,状态信息字段值为静态信息,此时模式字段的值为PaaS,,其他步骤同1)类似;
6)主体字段的值包含PaaS服务,状态信息字段值为动态信息,此时模式字段的值为PaaS,其他步骤同2)类似;
7)主体字段的包含PaaS服务的应用,状态信息字段值为静态信息,此时模式字段的值为PaaS,,其他步骤同1)类似;
8)主体字段的值包含PaaS服务的应用,状态信息字段值为动态信息,此时模式字段的值为PaaS,其他步骤同2)类似;
9)主体字段的值包含SaaS服务,状态信息字段值为静态信息,此时模式字段的值为SaaS,其他步骤同1)类似;
10)主体字段的值包含SaaS服务,状态信息字段值为动态信息,此时模式字段的值为SaaS,其他步骤同2)类似;
11)主体字段的值包含SaaS服务的应用,状态信息字段值为静态信息,此时模式字段的值为SaaS,其他步骤同1)类似;
12)主体字段的值包含SaaS服务的应用,状态信息字段值为动态信息,此时模式字段的值为SaaS,其他步骤同2)类似;
步骤2.2,插入叶子节点的时后,首先判断主体字段的值中所包含的静态信息子树与动态信息子树是否存在,如果不存在,则分别构建叶子节点数为0的云平台主树,所有IaaS服务宿主机、云用户虚拟机、PaaS层服务应用、SaaS层服务应用子树及其静态信息子树、动态信息子树的空树;
步骤2.3,判断审计日志内容是否读取完毕,如果未读取完毕,则继续读取下一条审计信息,重复步骤2.2,完成所有静态信息子树与动态信息子树的构建;
步骤2.4,构建IaaS服务宿主机、IaaS服务虚拟机、PaaS服务、PaaS服务的应用、SaaS服务、SaaS服务的应用子树。以IaaS服务宿主机子树为例,获取IaaS服务宿主机对应静态信息子树根节点哈希值,插入到创建的空的IaaS服务宿主机子树中,此时静态信息子树根节点为IaaS服务宿主机子树根节点,然后获取IaaS服务宿主机对应动态信息子树根节点哈希值,此时需要新增一个中间节点,中间节点的左孩子为原IaaS服务宿主机子树根节点,右孩子为动态信息子树根节点,中间节点的哈希值为连接左右孩子哈希值后计算得到的哈希值。其他子树的构建方法与IaaS服务宿主机类似。
步骤2.5,构建云平台主树。
首先依次获取所有IaaS服务宿主机子树根节点插入到初始构建的云平台主树中,其插入云平台主树中的步骤同步骤2.2中构建静态信息子树的过程,区别在于云平台主树中的叶子节点对应IaaS服务宿主机子树的所有根节点。然后依次获取IaaS服务虚拟机子树、PaaS服务、PaaS服务的应用、SaaS服务、SaaS服务的应用子树的根节点,将其插入到云平台主树中,插入步骤同IaaS服务宿主机类似,从而完成云平台主树的构建。最后连接当前时间段与云平台主树根节点哈希值计算得到新的哈希值,并将其时间段与新的哈希值保存于数据库中。
3.第三方审计日志验证结构生成后,需要向CSP和CT发布审计验证时所需要的信息。具体发布过程为:
步骤3.1,分别读取当前时间段所有IaaS服务宿主机、IaaS服务虚拟机、PaaS服务、PaaS服务的应用、SaaS服务、SaaS服务的应用子树及其静态信息子树与动态信息子树根节点哈希值发送给CSP和CT。
步骤3.2,读取当前时间段步骤2.5中主树新的根节点哈希值发送给CSP和云用户。
4.面向云服务商和云用户的审计日志验证流程如附图5所示,具体实施步骤为:
步骤4.1,用户通过第三方验证客户端向发起验证请求,提供审计时间段给第三方;
步骤4.2,第三方判断当前用户身份是CSP还是CT,然后判断审计对象为云还是云用户应用,此时验证分为以下4种情况:
a)验证用户为CSP,审计对象为云,第三方根据审计对象遍历第三方生成的审计日志验证数据结构中追责关联对象包含云服务商的安全日志,从树中获取从根节点到相关叶子节点的待验证路径以及验证路径需要的中间节点哈希值,CSP则根据返回的待验证路径以及中间节点哈希值重新计算相关子树的根节点哈希值,以及主树根节点的哈希值,并连接审计时间段计算新的主树根节点哈希值,然后与步骤3.1中公布的相关子树根节点哈希值进行比较,判断是否一致,如果不一致,则验证失败,并根据失败位置及审计信息进行审计追责;如果一致,则将新的主树根节点哈希值与步骤3.2中公布的主树新的根节点哈希值进行比较,如果一致,则验证成功,否则验证失败结果,根据失败位置及审计信息进行审计追责。
b)验证用户为CSP,审计对象为云用户应用,第三方根据审计对象遍历第三方生成的审计日志验证数据结构中追责关联对象包含云用户应用的安全日志,从树中获取从根节点到相关叶子节点的待验证路径以及验证路径需要的中间节点哈希值,CSP则根据待验证路径以及中间节点哈希值重新计算相关子树的根节点哈希值,以及主树根节点的哈希值,并连接审计时间段计算新的主树根节点哈希值,然后与步骤3.1中公布的相关子树根节点哈希值进行比较,判断是否一致,如果不一致,则验证失败,并根据失败位置及审计信息进行审计追责;如果一致,则将新的主树根节点哈希值与步骤3.2中公布的主树新的根节点哈希值进行比较,如果一致,则验证成功,否则验证失败,并根据失败位置及审计信息给CSP进行审计追责。
c)验证用户为CT,审计对象为云,其验证流程与a)类似,只是验证用户身份不同;
d)验证用户为CT,审计对象为云用户应用,其验证流程与b)类似,只是验证用户身份不同。

Claims (1)

1.一种基于可信第三方的面向隐私保护的云平台可信日志审计方法,其特征在于:该方法包括以下步骤:
步骤1 云平台审计日志的收集;
CSP通常同时向租户提供IaaS,PaaS和SaaS服务,IaaS,PaaS和SaaS三种服务模式均由CSP管理员负责管理云平台宿主机;对宿主机审计的内容包括云平台底层操作系统运行状态、云平台配置文件完整性静态信息以及相关服务组件的运行状态动态信息;经得CSP允许之后,将宿主机监控程序部署到宿主机中,此监控程序根据制定的审计原则获取相关审计内容;在记录审计信息时,根据审计信息发生的时间顺序记录到本地节点的审计日志中,并且在记录每条日志时同步扩展到可信硬件提供的指定平台配置寄存器PCR中,并累积计算指定PCR值,用于后续对平台完整性验证过程提供基础;可信硬件是可信计算机系统的重要组成部分,其中,可信平台模块TPM,可信平台控制模块TPCM,能够为可信平台环境的构建提供支持;可信密码模块TCM是可信平台模块中的硬件模块,为可信计算平台提供密码运算功能,具有受保护的存储空间;PCR则位于TCM中,是保证平台完整性的基础,用于保存完整性度量的摘要值;
对于IaaS服务,由租户负责管理云虚拟机;对于虚拟机来说,审计信息包括虚拟机底层的操作系统运行状态、系统程序、用户安装的应用程序信息;在征得租户的同意之后,在虚拟机中部署监控程序实现对相关内容的审计日志记录;
对于PaaS和SaaS服务,由于PaaS和SaaS服务相关软件以及操作系统平台由CSP提供并部署于该平台相关的虚拟机中,负责为租户提供所需要的服务;因此由CSP管理员和租户共同管理云虚拟机;
对于PaaS服务,CSP管理员负责管理虚拟机底层操作系统运行状态、系统程序信息以及部署于虚拟机之上的PaaS服务软件及相关信息,租户则负责管理PaaS上的租户应用软件及相关信息,在获得CSP与租户的允许后,在这些平台虚拟机中部署监控程序实现对PaaS服务相关信息的监控,此监控程序根据自定义的审计原则,通过对PaaS服务软件的监控获取针对CSP管理员的审计信息,通过对租户应用监控获取针对租户的审计信息;
SaaS服务中CSP管理员和租户对虚拟机有类似的共享管理责任;CSP管理员负责管理SaaS服务虚拟机底层操作系统运行状态、系统程序信息以及部署于虚拟机之上的SaaS服务软件及相关信息,租户则负责使用SaaS服务提供的应用软件及相关信息,在获得CSP的允许后,能够在SaaS服务虚拟机中部署监控程序实现对SaaS服务相关信息的监控,此监控程序根据自定义的审计原则,通过对SaaS服务软件的监控获取针对CSP管理员的审计信息,通过对租户行为监控获取针对租户的审计信息;
综上所述,云平台不同服务模式下的审计日志既包含有静态信息,又包含动态行为操作信息,本方法为对云平台不同服务模式下宿主机以及虚拟机的审计事件进行统一化描述,定义通用的审计日志格式如下:
Figure FDA0002727000710000021
各字段表示的含义及内容如下:
主体:表示审计信息中动作的发起者以及来源,值包括CSP/CT,IaaS服务宿主机/IaaS服务虚拟机/PaaS服务/PaaS服务的应用/SaaS服务/SaaS服务的应用;
客体:表示审计信息中被操作的文件或程序对象;
行为:表示主体对客体执行的读、写、执行操作;
操作:表示主体对客体的操作是被允许还是拒绝;
状态信息:表示此审计信息属于静态信息还是动态信息;
模式:表示此审计信息属于云平台何种服务模式,IaaS、PaaS或SaaS;
追责关联对象:表示此审计信息为CSP还是CT,或CSP/CT追责角色需要;
随机数:表示动态审计信息要添加的随机哈希值,静态审计信息不包含此字段,加入随机数的目的是为了验证时不泄露其他用户信息;
时间戳:表示审计信息的生成时间;
步骤2 审计日志的安全传输;
安全的云审计中心负责收集云宿主机和虚拟机上按照时间顺序生成的线性审计日志,并传输给第三方用于验证;为防止审计日志从云节点发送到第三方的过程中被恶意篡改,需要确定审计日志的来源是否真实,同时还要在传输过程中保证审计日志的完整性以及机密性;
本方法所涉及的传输过程包括虚拟机到宿主机,宿主机到审计管理节点,审计管理节点到第三方三个阶段,在每个阶段传输时,通过TPM或者TPCM提供的完整性远程验证功能保证传输过程中审计日志的完整性以及真实性;另外,由于虚拟机中用户的审计日志需要传输到宿主机,为防止用户审计日志被云服务商在宿主机直接读取,采用加解密算法对虚拟机中收集的用户审计日志进行加解密操作,并为不同服务模式下的主体提供不同的角色密钥:IaaS服务宿主机/IaaS服务虚拟机/PaaS服务/PaaS服务的应用/SaaS服务/SaaS服务的应用,以及属于多个追责关联对象的角色密钥,并由审计管理员定期更新密钥,不同角色能够向审计管理员申请获取相关审计加密密钥解密获得审计日志明文,而不能随意获得其他角色的审计日志,保证审计日志的机密性;
远程验证包括签名验证以及摘要信息完整性验证两个过程,其中,签名验证用于保证审计日志来源的真实性,摘要信息完整性验证用于保证审计日志的完整性;
步骤2.1 虚拟机审计日志到宿主机的安全传输;
云平台宿主机与所属虚拟机进行远程验证时,虚拟机首先使用向第三方申请的所属用户密钥对其审计日志进行加密,然后计算加密后审计日志的哈希值,虚拟机中的可信平台模块使用身份认证证书AIK私钥对此哈希值进行签名,然后将签名信息,使用虚拟机用户密钥加密后的审计日志和AIK公钥返回给宿主机,宿主机可信平台模块则通过签名验证确定审计日志是否来自其所属虚拟机,签名验证通过后,计算收到的审计日志哈希值验证加密日志的完整性,验证通过后完成虚拟机加密审计日志的接收,并将其同宿主机加密审计日志一起扩展到指定的PCR中,然后宿主机可信平台模块同样使用自身的AIK私钥对扩展的PCR值进行签名,然后将签名信息,审计日志和AIK公钥返回给审计管理节点进行验证;
步骤2.2 宿主机审计日志到审计管理节点的安全传输;
宿主机审计日志发送到审计管理节点时,由审计管理节点与宿主机进行远程验证,验证过程同步骤2.1中描述,待验证通过后完成所有宿主机加密审计日志的接收,然后审计管理节点可信平台模块同样使用自身的AIK私钥对扩展的PCR值进行签名,然后将签名信息,加密后的审计日志和AIK公钥返回给第三方进行验证;
步骤2.3 审计管理节点审计日志到第三方的安全传输;
审计管理节点收集完成所有宿主机发送的审计日志以后,再由第三方与审计管理节点进行远程验证,同步骤2.1,验证通过后完成审计管理节点所有加密审计日志的接收;
步骤3 第三方审计日志的验证数据结构生成和发布;
为提高验证效率,本方法提出第三方将收到的审计管理节点所有审计日志转化为一种验证数据结构,即分层Merkle哈希树结构,以供云服务商和云用户验证;另外,为减少因为增加过多审计内容而导致树重复构建和发布相关哈希值花费的时间,提高树的生成效率,将保存于第三方的宿主机和虚拟机审计日志转换为主树和子树的分层Merkle哈希树;主树对应云平台,子树对应IaaS服务宿主机、IaaS服务虚拟机、PaaS服务、PaaS服务的应用、SaaS服务、SaaS服务的应用;宿主机子树对应宿主机审计信息中的静态信息与动态信息;云用户虚拟机对应云用户虚拟机审计信息中的静态与动态信息;以此类推,PaaS服务、PaaS服务的应用、SaaS服务、SaaS服务的应用的子树分别对应PaaS服务、PaaS服务的应用、SaaS服务、SaaS服务的应用审计信息中的静态信息与动态信息;由于不同服务模式下生成的静态审计信息很少会发生变动,所以构建的不同服务模式的静态信息子树无需频繁进行更新,而动态审计信息在不同时间段的状态会经常发生改变,其动态信息子树叶子节点的值也会经常变化,因此构建的子树也会频繁更新,如果知识构建一棵树,就会导致这棵树的频繁更新,降低树的生成与验证效率;为解决树的生成与验证效率问题,采取为不同服务模式的云服务商和云用户建立云服务树,一方面是为了加快树的构建,提高树的生成效率,另一方面则是为了加快第三方审计验证的过程,从而保证验证效率;本方法构建的第三方审计日志的验证数据结构即分层随机Merkle哈希树,Merkle树是一种典型的二叉树结构,由一个根节点、一组中间节点和一组叶节点构成;Merkle树中最下面的叶节点包含存储数据或其哈希值,非叶节点都是它的两个孩子节点内容的哈希值;利用Merkle哈希树可以快速比较大量数据,定位哈希值发生变化的节点;所构建的主树与子树均为非平衡Merkle哈希树;由上至下分为四层:云平台主树、静态信息与动态信息对应子树、静态信息子树、动态信息子树;静态信息与动态信息对应子树包括IaaS服务宿主机子树、IaaS服务虚拟机子树、PaaS服务子树、PaaS服务的应用子树、SaaS服务子树、SaaS服务的应用子树,其叶子节点均为对应的静态信息子树与动态信息子树的根节点,各子树对应的静态信息子树的叶子结点对应静态审计信息;动态信息子树的叶子结点对应动态审计信息,主树与子树中所有节点的值均为哈希值,其中各子树对应的动态信息子树的叶节点的值为包含随机数数据项的哈希值;
步骤3.1 第三方审计日志的验证数据结构生成;
第三方审计日志验证数据结构生成步骤即将云上的线性审计日志转化为分层随机Merkle哈希树的步骤;按行读取第三方线性日志,根据前述统一日志格式判断每一行审计信息中包含的信息,如果状态信息为静态信息,直接计算日志中从主体到追责关联对象的哈希值,将此哈希值作为叶子节点添加到对应的静态信息树中;如果状态信息为动态信息,直接计算日志内容中从主体到随机数的哈希值,将此哈希值作为叶子节点添加到对应的动态信息树中,从而构建所有宿主机/虚拟机静态信息子树与动态信息子树、所有宿主机/虚拟机子树,直至完成主树的构建;
为了能够满足CSP或CT对不同时间段的审计日志进行验证,本方法将每隔一个小时保存不同服务模式子树对应的静态信息子树与动态信息子树根节点哈希值,第三方会对不同时间段静态子树的根节点值进行备案,维护所有静态子树根值白名单,用于后续静态审计日志的验证;对于主树来说,则连接生成的主树根节点哈希值与当前所处时间段重新计算新的哈希值,将当前所处时间段,主树根节点哈希值,新的哈希值进行保存;
步骤3.2 第三方审计日志验证数据结构发布
第三方审计验证数据结构发布即向CSP和CT发布审计验证时所需要的信息;发布信息包括当前时间段IaaS服务宿主机/IaaS服务虚拟机/PaaS服务/PaaS服务的应用/SaaS服务/SaaS服务的应用静态信息树以及动态信息树的根节点哈希值以及步骤3.1中计算的新的根节点哈希值;
步骤4 面向云服务商和云用户的审计日志验证
面向云服务商和云用户的审计日志验证分为两种情况:
1)云服务商审计验证
当云服务商进行审计验证时,验证对象包括云自身和云用户应用;当云服务商验证云时,只验证与云服务商追责相关联的日志,包括:与云服务商追责相关联的静态审计日志,此时只需验证IaaS服务宿主机、PaaS服务、SaaS服务子树中静态信息子树的根节点是否与公布的相同;验证与云服务商追责相关联的动态审计日志时,只验证IaaS服务虚拟机、PaaS服务的应用、SaaS服务的应用子树中的动态信息子树中追责关联对象包含云服务商的安全日志;对云的审计主要审计云平台自身的配置以及服务是否运行正常且满足云用户需求;当云服务商验证云用户时,只验证与云用户追责相关联的审计信息,即验证IaaS服务虚拟机子树中静态信息子树的根节点是否与公布的相同,并且只验证IaaS服务虚拟机、PaaS服务的应用、SaaS服务的应用子树中的动态信息子树中追责关联对象包含云用户的安全日志;对云用户应用的审计则是审计云用户应用的相关行为操作是否对云平台造成危害;
对静态信息子树验证时,分为两种情况:验证云自身与验证云用户;当云服务商验证云自身时,只需要对与自身相关的静态审计日志进行验证,因此不会造成云用户的隐私泄露,无需对云用户的明文审计信息进行隐私保护;
当云服务商验证云用户时,由于云用户相关的静态信息子树根节点值已由第三方担保,因此只需根据第三方发布的云用户静态子树根节点值进行验证,从而对云用户静态审计日志明文信息进行了隐私保护;待验证失败时,由第三方依据云用户静态信息子树根节点的计算细节进行追责;
对动态信息子树进行验证时,也分为两种情况:验证云自身与验证云用户;由于每条动态审计日志条目中都有随机数数据项,因此验证与云服务商或云用户追责相关联的动态审计日志时,返回给云服务商待验证路径中动态信息子树的中间节点哈希值为加入随机数后的值,对云用户的动态明文审计信息进行了隐私保护;
2)云用户审计验证
当云用户进行审计验证时,验证对象包括云和云用户应用自身;当云用户验证云时,只验证与云服务商追责相关联的日志,即验证验证IaaS服务宿主机、PaaS服务、SaaS服务子树中静态信息子树的根节点是否与公布的相同,并且只验证IaaS服务虚拟机、PaaS服务的应用、SaaS服务的应用子树中的动态信息子树中追责关联对象包含云服务商的安全日志;对云的审计是审计云服务商所提供的云服务是否符合预期;当云用户验证自身应用时,只验证与云用户追责相关联的审计信息,即验证IaaS服务虚拟机子树中静态信息子树的根节点是否与公布的相同,并且只验证IaaS服务虚拟机、PaaS服务的应用、SaaS服务的应用子树中的动态信息子树中追责关联对象包含云用户的安全日志,对云用户应用的审计则是审计自身应用在当前云平台中的运行状态是否符合预期;
云用户审计验证云自身应用的过程与云服务商验证云自身的验证过程类似,云用户审计验证云的过程与云服务商验证云用户的验证过程类似;
步骤4.1 面向云服务商的审计日志验证
云服务商验证云时,向第三方提供验证的时间段,第三方则遍历步骤3.1中生成的分层随机Merkle哈希树,返回给云服务商待验证路径以及验证路径所需的中间节点哈希值;云服务商根据与自身相关联的审计日志重新构建树,构建完成后连接主树根节点哈希值与提供的时间段计算得到新的哈希值,与步骤3.2中公布的相关信息进行比较,如果一致,则验证通过;否则,根据构建出错的位置进行错误定位,以便追责;验证云用户的方法与验证云自身类似;
步骤4.2 面向云用户的审计日志验证
a)云用户验证云服务商时,向第三方提供要验证的时间段,第三方则根据提供的时间段遍历步骤3.1中生成的分层随机Merkle哈希树,返回给云用户待验证路径以及验证路径所需要的中间节点哈希值,云用户根据与自身相关联的审计日志重新构建树,构建完成后连接新的主树根节点哈希值与提供的时间段重新计算新的哈希值,与步骤3.2中公布的相关信息进行比较,如果一致,则验证通过;否则,根据构建出错的位置进行错误定位,以便追责;验证云用户的方法与验证云自身类似。
CN201810221399.4A 2018-03-17 2018-03-17 一种基于可信第三方的面向隐私保护的云平台可信日志审计方法 Active CN108322306B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810221399.4A CN108322306B (zh) 2018-03-17 2018-03-17 一种基于可信第三方的面向隐私保护的云平台可信日志审计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810221399.4A CN108322306B (zh) 2018-03-17 2018-03-17 一种基于可信第三方的面向隐私保护的云平台可信日志审计方法

Publications (2)

Publication Number Publication Date
CN108322306A CN108322306A (zh) 2018-07-24
CN108322306B true CN108322306B (zh) 2020-11-27

Family

ID=62899264

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810221399.4A Active CN108322306B (zh) 2018-03-17 2018-03-17 一种基于可信第三方的面向隐私保护的云平台可信日志审计方法

Country Status (1)

Country Link
CN (1) CN108322306B (zh)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109327498A (zh) * 2018-08-01 2019-02-12 西安理工大学 一种可信的云任务调度系统及审计方法
CN108900539A (zh) * 2018-08-09 2018-11-27 深圳伊泉净品科技有限公司 确保批量作业主机密码安全的方法及计算机可读存储介质
CN109255247B (zh) * 2018-08-14 2020-08-14 阿里巴巴集团控股有限公司 多方安全计算方法及装置、电子设备
CN109189658B (zh) * 2018-08-20 2022-05-27 厦门集微科技有限公司 一种日志存储方法、控制节点及计算机可读存储介质
CN109583229B (zh) * 2018-10-30 2021-05-11 中国科学院信息工程研究所 一种隐私信息溯源取证方法、装置及系统
CN109729147A (zh) * 2018-11-28 2019-05-07 国云科技股份有限公司 一种云环境下支持多租户的审计系统及实现方法
CN111339050B (zh) * 2018-12-03 2023-07-18 国网宁夏电力有限公司信息通信公司 一种基于大数据平台集中安全审计的方法及系统
CN109639676A (zh) * 2018-12-12 2019-04-16 杭州安恒信息技术股份有限公司 日志传输时篡改检测的方法、装置、设备及系统
EP3683712B1 (en) * 2019-01-16 2021-10-20 Siemens Aktiengesellschaft Protecting integrity of log data
CN109561110B (zh) * 2019-01-19 2021-06-04 北京工业大学 一种基于sgx的云平台审计日志保护方法
CN110022311B (zh) * 2019-03-18 2021-09-24 北京工业大学 一种基于攻击图的云外包服务数据泄露安全测试用例自动化生成方法
CN111143850B (zh) * 2019-11-22 2022-03-04 航天恒星科技有限公司 一种卫星数据分布式虚拟化存储的安全防护系统和方法
CN111177096A (zh) * 2019-12-11 2020-05-19 招银云创(深圳)信息技术有限公司 日志管理方法、装置、计算机设备和存储介质
CN111158906B (zh) * 2019-12-19 2023-04-28 北京可信华泰信息技术有限公司 一种主动免疫可信云系统
CN111859378B (zh) * 2020-07-31 2022-11-18 中国工商银行股份有限公司 保护数据模型的处理方法和装置
CN112015734B (zh) * 2020-08-06 2021-05-07 华东师范大学 一种面向区块链的紧凑Merkle多值证明并行生成及验证方法
CN112118253B (zh) * 2020-09-16 2023-04-28 北方工业大学 一种基于区块链的云服务日志匿名系统及匿名方法
CN112528333A (zh) * 2020-12-15 2021-03-19 中国联合网络通信集团有限公司 用户隐私保护方法、mec服务器、终端、设备及介质
CN114765531B (zh) * 2020-12-30 2024-08-09 科大国盾量子技术股份有限公司 认证方法、量子密钥调用方法、装置及量子密码网络
CN112818396B (zh) * 2021-02-02 2024-02-02 北京工业大学 一种bmc可信审计日志的生成与管理方法
CN113315805A (zh) * 2021-04-08 2021-08-27 中国科学院信息工程研究所 一种云基础设施可信设备的群组验证方法和系统
CN115208573A (zh) * 2022-04-25 2022-10-18 杭州迪普科技股份有限公司 网络日志收集保护方法和装置
CN116305092B (zh) * 2023-05-23 2023-08-01 山东可信云信息技术研究院 一种可信的虚拟化系统的实现方法及系统
CN117806777B (zh) * 2024-02-29 2024-05-10 苏州元脑智能科技有限公司 虚拟环境启动完整性验证方法、装置、系统、设备及介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103428177A (zh) * 2012-05-18 2013-12-04 中兴通讯股份有限公司 云环境审计日志和/或安全事件的配置、生成方法及装置
CN103841198A (zh) * 2014-03-07 2014-06-04 中南大学 一种净室云计算数据处理方法及系统
CN105975328A (zh) * 2016-04-29 2016-09-28 上海交通大学 基于安全虚拟机的日志文件安全审计系统及方法
CN106169954A (zh) * 2016-08-01 2016-11-30 浪潮集团有限公司 一种基于数字签名和时间戳的云服务审计系统及方法
WO2016209199A1 (en) * 2015-06-22 2016-12-29 Hewlett Packard Enterprise Development Lp Control of application log content
CN106484709A (zh) * 2015-08-26 2017-03-08 北京神州泰岳软件股份有限公司 一种日志数据的审计方法和审计装置
CN106815125A (zh) * 2015-12-02 2017-06-09 阿里巴巴集团控股有限公司 一种日志审计方法及平台
CN107656973A (zh) * 2017-09-03 2018-02-02 中国南方电网有限责任公司 一种应用于云审计系统的日志审计子系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9684712B1 (en) * 2010-09-28 2017-06-20 EMC IP Holding Company LLC Analyzing tenant-specific data
US9756022B2 (en) * 2014-08-29 2017-09-05 Box, Inc. Enhanced remote key management for an enterprise in a cloud-based environment
US20180248902A1 (en) * 2015-08-28 2018-08-30 Mircea DÃNILÃ-DUMITRESCU Malicious activity detection on a computer network and network metadata normalisation
US9578063B1 (en) * 2015-11-20 2017-02-21 International Business Machines Corporation Application self-service for assured log management in cloud environments

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103428177A (zh) * 2012-05-18 2013-12-04 中兴通讯股份有限公司 云环境审计日志和/或安全事件的配置、生成方法及装置
CN103841198A (zh) * 2014-03-07 2014-06-04 中南大学 一种净室云计算数据处理方法及系统
WO2016209199A1 (en) * 2015-06-22 2016-12-29 Hewlett Packard Enterprise Development Lp Control of application log content
CN106484709A (zh) * 2015-08-26 2017-03-08 北京神州泰岳软件股份有限公司 一种日志数据的审计方法和审计装置
CN106815125A (zh) * 2015-12-02 2017-06-09 阿里巴巴集团控股有限公司 一种日志审计方法及平台
CN105975328A (zh) * 2016-04-29 2016-09-28 上海交通大学 基于安全虚拟机的日志文件安全审计系统及方法
CN106169954A (zh) * 2016-08-01 2016-11-30 浪潮集团有限公司 一种基于数字签名和时间戳的云服务审计系统及方法
CN107656973A (zh) * 2017-09-03 2018-02-02 中国南方电网有限责任公司 一种应用于云审计系统的日志审计子系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ITU-T X.1642建议书;ITU国际电信联盟;《云计算的安全框架》;20160331;全文 *
面向云数据安全的行为日志审计技术研究;陈钊懿;《中国优秀硕士学位论文》;20180131;全文 *

Also Published As

Publication number Publication date
CN108322306A (zh) 2018-07-24

Similar Documents

Publication Publication Date Title
CN108322306B (zh) 一种基于可信第三方的面向隐私保护的云平台可信日志审计方法
CN108076057B (zh) 一种基于区块链的数据保全系统及方法
CN109074434B (zh) 使用分布式散列表和点对点分布式分类账验证数字资产所有权的方法和系统
US8997198B1 (en) Techniques for securing a centralized metadata distributed filesystem
US20110276490A1 (en) Security service level agreements with publicly verifiable proofs of compliance
US9064129B2 (en) Managing data
US11121876B2 (en) Distributed access control
US8995655B2 (en) Method for creating asymmetrical cryptographic key pairs
CN106105146A (zh) 在密码证明资源处保护客户端指定凭证
US20200042497A1 (en) Distributed ledger system
CN112632639A (zh) 一种基于区块链的分布式可信日志管理方法
CN111769956B (zh) 业务处理方法、装置、设备及介质
US11997215B2 (en) Secret protection during software development life cycle
WO2022184456A1 (en) Authorized encryption
Almutairi et al. Survey of centralized and decentralized access control models in cloud computing
Liu et al. Df-rbac: dynamic and fine-grained role-based access control scheme with smart contract
CN110851851B (zh) 一种块链式账本中的权限管理方法、装置及设备
Bentajer et al. Cryptographic key management issues in cloud computing
Saxena et al. Collaborative approach for data integrity verification in cloud computing
Liang et al. A Blockchain-Based Hierarchical Storage Method for Supply Chain Data
Sharma et al. Survey paper on cloud storage security
Singh et al. Integrity and confidentiality preservation in cloud
Zhang Attribute based encryption made practical
Vanitha et al. Data sharing: Efficient distributed accountability in cloud using third party auditor
Haouari et al. TASMR: Towards advanced secure mapreduc framework across untrusted hybrid clouds

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