APP下载

基于可信执行环境的机密计算框架设计及安全性分析

2022-09-01王吾冰刘博范渊陶立峰徐东德

信息通信技术与政策 2022年8期
关键词:机密参与方完整性

王吾冰 刘博 范渊 陶立峰 徐东德

(杭州安恒信息技术股份有限公司,杭州 310051)

0 引言

随着大数据时代的到来,数据和网络已经渗入人们日常生活中的点点滴滴,数据的安全问题正受到越来越多的关注[1-2]。近年来,数据安全相关的各种法律法规也相继出台,例如《中华人民共和国个人信息保护法》(简称《个人信息保护法》)、《中华人民共和国数据安全法》(简称《数据安全法》等[3]。在传统的信息安全领域,数据安全与流通性是一对悖论[4],随着安全性的提升,数据的流通性及可用性会降低,数据孤岛的问题也就随之而来。

为了解决数据孤岛问题,隐私计算技术被正式提了出来。隐私计算是指在保证数据提供方不泄露原始数据的前提下,对数据进行分析计算的一系列信息技术,保障数据在流通与融合过程中的“可用不可见”。业界将隐私计算的技术分为三大类:基于部分秘密分享的安全多方计算、基于分布式训练的联邦学习以及基于硬件的机密计算技术。其中,基于硬件的机密计算技术,是一种对使用中的数据通过硬件加密及硬件隔离的方式保护数据机密性和完整性的技术[5]。由于可以使用机密计算技术在保证原始数据安全性的前提下对数据进行分析,机密计算也经常被当作隐私计算的一个子集。在这三大类技术中,机密计算相比于其他两种技术具有运算效率高、部署灵活、可扩展性高的特点。

本文针对目前市场上隐私计算的主流应用场景进行分析及抽象,并根据应用场景的需求,进行安全分析,提出安全要求。然后,基于可信执行环境技术构建了一套机密计算框架,该框架能够在保证应用场景安全要求的前提下,促进多方数据的融合计算,解决数据孤岛问题。

1 可信执行环境技术背景

可信执行环境(Trusted Execution Environment,TEE)技术,作为一种机密计算技术,提供了一个加密的隔离环境,保证了在该环境内“使用中”的数据为“密文”(见图1)。

(1)数据在中央处理器(CPU)外部通过数据加密保证数据为密文状态。CPU内部有一个内存加密模块(Memory Encryption Engine,MEE)对出CPU的数据进行了加密处理,保证了“使用中”的数据在CPU外为“密文”。

(2)数据在CPU内部时通过硬件的隔离执行技术保证数据为“伪密文”状态。硬件的隔离执行技术,使得TEE内的数据无法被本TEE外的任何用户(包括系统管理员)访问。虽然数据进入CPU后经过MEE模块解密后为明文状态,其机密性和完整性还是能被硬件保护。因此,对于TEE外的用户而言,CPU内的数据为“伪密文”状态。

TEE技术不同于其他机密计算技术(例如同态加密),直接在密文之间执行计算操作,导致了较低的运算效率。TEE通过使得数据在无法被非法访问的明文态下进行计算,因而提供了安全高效的黑盒执行环境。

(1)TEE的高效性:TEE在CPU内的计算为明文态,保证了运算的高效性。

(2)TEE的安全性:TEE通过硬件提供的数据加密与隔离执行能力构建了黑盒的执行环境,使得黑盒内的数据对黑盒外的攻击者等效于密态,无论是离线攻击者还是在线攻击者均很难从TEE内获取到明文数据。

可以认为,TEE技术可以提供一个加密的隔离执行环境:在CPU外,数据为密文形态;在CPU内,攻击者很难获得明文数据,可等效认为是密文形态。

2 TEE辅助的机密计算框架的安全要求

首先,明确TEE辅助的机密计算框架中的应用场景及相关角色;然后,综合开放式系统互联(Open System Interconnect,OSI)安全体系架构与框架的业务逻辑,明确框架需要包含的不同安全要求;最后,定义框架的威胁模型。

2.1 TEE辅助的机密计算框架及相关角色

机密计算的应用场景可以归纳为:参与的多方在保护己方数据机密性与完整性的前提下,联合其他参与方的数据执行计算任务,并将计算结果安全地返回。TEE辅助的机密计算框架涉及的三类角色,分别为计算参与方、数据、计算任务合约。

(1)计算参与方:包含数据提供方、算法提供方以及结果受益方三类参与者。

• 数据提供方:提供构成计算任务的所有数据,包括但不限于用户计算的数据集、计算任务的算法。

• 算法提供方:提供进行计算任务的具体算法。

• 结果受益方:接收计算任务的结果的参与方。

(2)数据:所有在计算参与的多方之间传输的内容是数据,包括计算任务算法、数据集和结果集。

• 计算任务算法:参与计算任务,由参与方根据实际需求选择、定义的计算逻辑。

• 数据集:参与计算任务,计算任务算法的输入数据。

• 结果集:计算任务算法计算的结果。

(3)计算任务合约:参与计算的多方对计算的参与方、数据集、算法等内容达成共识的结果。计算任务合约对达成共识的内容提供完整性、可认证性与抗抵赖性的保护。

将上述3类角色联合起来,可以将应用场景的模型抽象为图2。一次共享信息的计算任务,可以通过以下4步完成。

• 计算参与方共同协商确定各自角色(数据提供方、算法提供方、结果受益方),以及参与计算任务的数据(数据集、算法),并生成计算任务合约。

• 计算参与方中的数据提供方与算法提供方将数据和算法上传至机密计算平台的TEE中。

• 机密计算平台验证合约的完整性与正确性后,在TEE环境内安全地执行合约。

• 最后将结果安全地发送给结果受益方。

三种计算参与方可以为一个或多个实际参与方。例如,可以只有一个实际参与方(数据提供方、算法提供方、结果受益方),利用高算力的计算平台,安全地运行期望的计算任务。也可以为两个参与方:分别为数据及算法的提供方,以及结果受益方;数据提供方在机密计算平台上计算出结果并安全地分发给结果拥有方。还可以为两个以上参与方:一个或多个数据提供方,一个或多个算法提供方,以及一个或多个结果受益方。

数据提供方与算法提供方将数据安全地发送到TEE中,任务合约在TEE中执行,并将计算结果安全地发送给结果受益方。数据与执行任务的安全性由TEE保护,保证了在合约运行中各个参与方提供的数据无法被攻击者恶意获取。

2.2 安全性要求

结合TEE辅助的机密计算的业务逻辑与OSI安全体系架构(见图3),一个安全的TEE辅助的机密计算框架需要提供计算参与方的安全性、数据的安全性、合约的安全性以及系统的安全性的保护。

2.2.1 计算参与方的安全性(身份认证与授权)

计算参与方的安全性需要通过身份认证与授权模块正确识别出参与方的身份,并且能根据不同的身份进行访问控制。身份认证与授权服务模块需要具有以下三项基本能力。

(1)身份认证与授权服务模块本身可抵御攻击。

(2)能够正确识别并认证参与方的身份,防止恶意用户成功伪造身份。

(3)能够对用户的操作权限进行正确授权,防止恶意用户成功获取更高权限。

2.2.2 数据的安全性

数据是TEE辅助的机密计算框架中安全性要求最高的部分。机密计算的根本目的就是在保证数据的安全性的前提下完成参与方设置的计算任务。数据的安全性需要在数据的全生命周期保证数据的机密性、完整性、可用性、抗否认性以及可认证性。

在TEE辅助的机密计算框架中,数据的生命周期包括:数据从计算参与方传输入机密计算环境内(例如TEE)的过程;数据在机密计算环境内参与计算的过程;参与方传入的数据以及机密计算得到的结果数据在落盘后。

数据的机密性和完整性可以通过密码学进行保障,可用性可通过冗余机制与抗针对可用性攻击的机制保障,抗否认性通过合约的抗否认性来保证,可认证性通过保障计算参与方安全性的身份认证与授权服务模块提供。

2.2.3 合约的安全性

合约是计算任务参与的多方对计算任务达成共识后产生的,其包含了计算任务相关的所有细节。TEE辅助的机密计算框架会根据合约内的信息执行计算任务。因此,为了保证计算任务的安全性,框架需要保证合约能满足完整性、可用性、抗否认性以及认证性的要求。合约商定过程中需要共享合约内容,因此不需要保障合约的机密性。根据计算框架的需求,合约创建完成后,需要保证合约中的内容(合约的参与方、参与合约的数据、算法)无法被非法篡改,无法被抵赖。

2.2.4 系统的安全性

系统的安全性由对TEE辅助的机密计算框架的可用性保护以及安全审计服务两部分构成。

恶意的外部攻击者会以让框架停止服务为目标破坏框架的可用性,这类攻击包括但不限于DDoS攻击、劫持攻击等。因此,一个成熟的框架需要对这类攻击具备防御能力。

任何技术都无法提供万无一失的保护,因此一个成熟的框架需要具备对非法行为记录与溯源能力的安全审计服务。安全审计服务需要具备对系统的行为(例如对数据集合约的操作)的记录能力,需要保证记录的日志信息的完整性,需要可根据记录信息回溯非法行为的能力。

2.3 TEE辅助的机密计算框架的威胁模型

为了正确地设计TEE辅助的机密计算架构,需要先根据TEE技术、框架的业务逻辑以及框架的安全性要求,确定攻击者的能力范围。以下将分别对可信方以及攻击方的范围进行探讨及界定。

可信方包含计算参与方、可信执行环境、身份认证与授权模块、安全审计服务四个方面。框架假设计算参与方自身的网络是安全的,通过TEE保证数据的安全性,通过身份认证与授权模块保证应用逻辑(合约)的安全性。

(1)计算参与方:每个参与方是可信的,表现在两个方面:首先,参与方内部不存在攻击者对数据及业务逻辑进行篡改;其次,参与方本身不会主动对机密计算的过程进行攻击。

(2)可信执行环境:TEE本身是可信的,表现在两个方面:首先,TEE安全机制的设计是完备的;其次,TEE硬件对安全防护功能的实现是安全的。当TEE本身是可信时,运行在TEE的内容(数据、算法等)就可以认为是安全的,不存在通过漏洞(例如TEE内应用程序本身的漏洞)破坏TEE内运行内容安全性的可能性。

(3)身份认证与授权模块:身份认证与授权模块是可信的,表现在三个方面:首先,身份认证与授权模块本身不会被外部攻击者成功破坏;其次,参与方的身份能被正确的识别,不存在攻击者欺骗绕过身份认证服务的可能性;最后,正确识别了参与方后,参与方的访问权限也能被正确的授予,不存在参与方因获得过多权限而造成的安全问题。

(4)安全审计服务:安全审计服务是可信的,表现在记录的信息无法被恶意地篡改、增添和删除。

攻击方的成员多种多样。除了以上3个可信部分以外,其他部分均可为攻击者,包括但不限于以下3个部分。

• 运行TEE的主机:这类攻击者可获得运行TEE的物理主机的最高权限,包括对主机的操作系统、应用程序、网络报文、硬盘I/O等进行任意的读取、删除、修改等操作的权限。

• 业务系统:这类攻击者可以通过对为UI、业务逻辑、网络连接等功能的篡改对支持机密计算任务运行的系统进行攻击;还可对TEE的主机进行物理攻击,例如冷启动攻击。

• 业务系统与参与方之间的网络环境:这类攻击者位于业务系统与参与方之间的任意位置,例如部署业务系统的服务提供商。攻击者可以通过主动或被动的形式对业务系统以及TEE进行攻击。攻击类型包括但不限于:对TEE参与的通信以及业务系统进行网络攻击(DDoS、钓鱼攻击、网络嗅探攻击、中间人攻击等)、社会工程学攻击等。

3 TEE辅助的机密计算架构

3.1 架构介绍

根据定义,TEE辅助的机密计算框架的业务逻辑涉及三个角色:计算参与方、数据、计算任务合约。业务场景可以归纳为:计算参与方使用可信执行环境技术,根据计算任务合约中约定的算法计算指定的数据。因而,TEE辅助的机密计算架构的核心是保证合约与数据的安全性。

TEE辅助的机密计算框架包含3个计算参与方(数据提供方A、数据提供方B以及结果受益方)、一个任务域、一个TEE域、一个身份认证与授权模块、一个日志审计模块以及一个安全域(见图4)。数据提供方提供数据与算法;结果受益方接收计算的结果集;任务域为机密计算业务提供管理功能;TEE域执行机密计算任务;身份认证与授权模块给框架提供身份认证与授权服务;日志审计模块提供安全审计服务;安全域保护提供安全防护,抵挡传统的网络攻击,如DDoS攻击、APT攻击等。

根据威胁模型,被信任的区域为:三个计算参与方、TEE域、身份认证模块以及日志审计模块。TEE辅助的机密计算框架通过数据安全通道保护了数据的安全性,通过合约安全通道保护了计算任务的安全性,通过安全域给业务系统提供了安全性及可用性的保护,通过日志审计提供了对攻击进行溯源的能力。

数据安全通道的设计目的是保护用户机密数据的安全。计算参与方与TEE域建立数据安全通道后,进入数据安全通道的数据被密码算法保护,且只有通道连接的两端具备获得明文数据的可能性。

数据安全通道的实现可分为在线模式和离线模式。在线模式中,数据提供方首先与TEE域建立数据安全通道,然后将数据通过安全通道加密地传入任务域构建成计算任务合约,最后将合约及加密数据传入TEE域通过安全校验后执行。在离线模式中,数据提供方提前与TEE域建立安全通道,然后将数据通过安全通道加密地传入任务域;当任务域使用该数据构建计算任务合约后,将合约及加密数据传入TEE域进行安全校验后执行。

合约安全通道的设计目的是保证合约的安全,即合约的完整性、可用性、可认证性以及抗否认性。合约是机密计算任务得以正确执行的核心。在参与合约多方的身份及访问权限被身份认证与授权模块正确识别与分配的前提下,合约通过参与计算的多方达成共识的方式对任务的数据(数据集、算法)及合约内容的安全性进行了约束。合约的机密性不需要保护,因为合约的内容与业务逻辑高度耦合,而合约业务逻辑由任务域进行控制。

安全域的设计目的是保证可用性。框架外的攻击者可能以破坏整个框架为目的进行攻击,这类攻击包括但不限于DDoS攻击、劫持攻击等。通过在框架最外层部署可用性防护手段[6-7],对系统的可用性提供保障。

日志审计的设计目的是对攻击行为的记录、判定及溯源。任何安全防护技术都无法提供万无一失的保护,威胁监测系统存在漏报与误报、安全评估工具存在0day漏洞、哪怕是从数学上证明安全的密码工具也会由于密钥的泄露或开发问题而引入漏洞。

3.2 数据安全通道

数据安全通道的目的是保证用户隐私数据能够经过任务域安全地在用户以及TEE域之间传输,而不被任务域破坏安全性。建立数据安全通道主要分为信任的建立、共享秘密的分发、安全通道的建立三个步骤[8]。

3.2.1 数据安全通道的建立

数据安全通道的建立的目的是保证计算参与方可以将数据安全地传入TEE域,同时位于两者之间的任务域无法破坏数据的安全性。

(1)信任的建立。数据安全通道安全性的前提是建立计算参与方对TEE域的信任关系。与一个陌生的实体建立信任的过程可以被分解成三步:确信陌生实体的身份是符合期望的;确信陌生实体的身份是真实的;确信陌生实体是诚实的。例如,想要委托一个权威的中介办理业务,先要确定沟通的人展示的身份是中介的业务员(身份是符合预期的),再确定不是骗子通过伪造身份来行骗(身份是真实的),最后在将业务委托之前还需要衡量这个业务员是否诚实是否值得信任(诚实的)。

在TEE辅助的机密计算框架中,计算参与方对TEE域的信任也可以通过三步构建:当数据安全通道的一端在TEE环境中,则说明身份是符合期望的;当TEE环境是安全的、未被攻击的,则说明身份是真实的;当TEE内运行的程序完整性度量是符合期望的,则说明是诚实的。通过以上三步的验证,可以保证在信任建立过程中,任务域无法伪装TEE域的真实身份。

(2)共享秘密的分发。在确认了对方的身份后,存在多种不同的共享秘密分发的方式[8],可以根据架构及应用场景进行选择。

• 基于提前共享秘密的方式:通信的参与双方不是完全陌生的,秘密的分享基于之前的认识。

• 基于可信权威机构的方式:通信的参与双方互不认识,可信权威机构对通信的单方或者双方进行验证与授权。参与方根据可信权威机构授权的信息进行秘密的分享。

• 基于公钥公开的方式:通信的参与双方互不认识,公钥作为身份的凭证以一种抗篡改的方式公开。参与方通过获取公开的公钥信息以获取与对方进行秘密的分享。

上述三种分发秘密的方式的前提均不相同:基于提前共享秘密的方式中,秘密的分享基于对该共享秘密的正确性的验证;基于可信权威机构的方式中,信任的建立与秘密的分享均由可信权威机构进行。可信权威机构需要对TEE进行信任验证,再根据验证结果分享秘密;基于公钥公开的方式,秘密的分享基于公钥与TEE的关系的一一对应(见表1)。

表1 信任建立方式的比较

(3)安全通道的建立。 在计算参与方与TEE域互相信任,且拥有共享秘密的基础上建立的通道是安全的。首先,在共享秘密的基础上建立的通道,能保证是抗中间人攻击的;同时,对称、非对称、消息摘要、数字签名等密码学技术能使构建出的通道具备抵抗网络攻击的能力,例如窃听、重放攻击等。详细来说,安全通道的建立过程分为以下3步。

• 计算参与方通过通信代理与TEE域内的信任代理进行信息交互,构建信任关系,并获得预共享秘密信息(s)。

• 计算参与方与TEE域通过预共享秘密,在不被任务域感知的前提下,协商出数据加密密钥(k)。

• 计算参与方将数据通过数据加密密钥加密(k)后,将密文数据安全地传入TEE域。

3.2.2 数据安全通道的安全性分析

数据安全通道的建立是为了保证数据能在计算参与方与TEE域之间传输的同时保证安全性。数据安全通道的建立分为信任的建立、共享秘密的分发以及安全通道的建立三步。其中,信任的建立确保了任务域无法伪装成TEE域,结合共享秘密的分发杜绝了任务域中间人攻击的可能性,最后通过建立安全通道使用密码学技术保证了数据的安全性。

3.3 合约安全通道

合约安全通道的设计目的是保证业务应用逻辑的安全性,即合约的完整性、可用性、可认证性以及抗否认性。合约安全通道具有两个目标:合约逻辑的正常运行、合约安全性的保证。合约安全通道首先需要保证机密计算业务逻辑能够完成,即合约能够正常地构建与执行;然后,需要保证合约在执行的过程中不会被攻击者破坏安全性。

3.3.1 合约安全通道介绍

合约的生命周期分为两个阶段:共识阶段和执行阶段(见图5)。在合约共识阶段,计算参与方会对合约的相关信息达成共识,并形成合约;在合约执行阶段,合约会在TEE域内安全地执行,并将结果数据安全地传递给约定的结果接收方。

合约共识阶段的目的是所有参与方对任务的信息达成共识,然后所有参与方共同授权形成合约。例如,数据提供方提供参与计算的数据集,算法提供方提供算法,结果受益方申请对结果集的访问。数据提供方对算法的正确性及安全性进行审核,算法提供方对数据集的正确性进行审核,数据提供方对结果集的价值进行审核,数据提供方与算法提供方对结果受益方的身份进行审核。审核通过后,所有参与方达成共识,共同构建合约。

合约执行阶段在TEE域内安全地进行。任务域将待执行的计算任务合约传入TEE域。TEE域根据身份认证与授权模块提供的身份信息对合约进行安全性校验,确保参与方身份的合法性、数据授权的正确性以及合约的完整性。在合约相关的校验通过后,TEE域才会执行合约。

合约的执行在TEE域内,根据合约中约定的算法执行。根据具体的应用场景以及参与方约定的算法,合约可以将数据在TEE域内解密后明文计算;也可以在TEE域内对数据进行密文计算(例如同态加密)。由于TEE提供了一种对正在处理的数据(即“使用中”数据)加密保护的技术,在TEE域内解密的明文数据的安全性也是能够得到保证的。

合约执行结束后,根据合约中约定的结果接收方的身份信息,建立数据的安全通道;然后,将结果集在TEE域内加密后安全地发送给结果接收方;结果集发送的方式可以是在线传输的方式,也可以是离线传输的方式。

3.3.2 合约的安全性

合约需要保证的安全性包括完整性、可用性、可认证性以及抗否认性四个特性。其中,可用性的保护由系统的安全域提供;完整性、可认证性以及抗否认性均基于身份认证与授权模块构建。

身份认证与授权模块本身的安全性需要进行保证。该模块需要独立于任务域,可部署于可信第三方或者TEE域内,两种方案各有优缺点(见表2)。当任务域可以影响身份认证与授权的结果时,计算任务合约的安全性可以被轻易破坏。例如,任务域可以伪造恶意参与方,并篡改合约的算法和结果接收方,使得恶意参与方可以任意窃取隐私数据。

表2 身份认证授权方式对比

(1)完整性的保护

合约完整性的保护分为两个阶段:在共识阶段构建完整性的防护;在执行阶段验证合约的完整性。

• 共识阶段:完整性的防护体系通过所有计算参与方共识的方式构建。只有当合约的所有参与方均同意的情况下,合约才能被正确更改。根据合约共识的流程,保证合约的完整性需要保证的三个特性:参与方的身份是合法的;合约的数据是被真实参与方授权的;所有参与方认可合约的逻辑并授权。

以上三个特性均基于身份认证与授权模块对参与方身份的管理。身份认证与授权模块负责识别合法用户,并对合法用户根据其角色分配合适的权限。合法用户负责对计算任务合约的正确性进行验证,并对拥有的数据进行正确的授权。多个合约参与方通过共识完成对合约的完整性保护。

• 执行阶段:在任务执行开始之前,合约完整性通过完整性校验检验。任务域将待执行的计算任务合约传入TEE域,TEE域根据身份认证与授权模块提供的身份信息对合约进行校验,确保了合约的未被恶意篡改。

合约的执行过程中的完整性由TEE技术保证。合约的执行在TEE域内。由于TEE提供了一种对正在处理的数据(即“使用中”的数据)加密保护的技术,在TEE域内解密的明文数据的完整性也是能够保证的。

执行完成后的完整性由数据安全通道保护。结果数据集通过数据安全通道传输给合约指定的结果受益方。数据安全通道的建立在TEE内保证了结果受益方身份的完整性。数据安全通道的特点保证了传输过程中的完整性。

(2)可认证性的保护

合约的可认证性由身份认证与授权模块提供。当所有参与方通过共识成功构建合约的时候,每个参与方通过签名的方式,可以对合约提供可认证性的保护。

(3)抗否认性的保护

合约的抗否认性由身份认证与授权模块提供。合约的可认证性关联了计算参与方与参与方的合约。合约的完整性保证了单个参与方无法对合约进行篡改以破坏抗否认性。

(4)可用性的保护

可用性的保护通过安全域提供。

3.4 日志审计

TEE辅助的机密计算框架需要有一个日志审计模块完成安全审计服务。区别于传统的目的着重在故障排错、数据分析的日志系统,TEE辅助的机密计算框架的日志审计模块的主要目的是追踪及溯源。

攻击者可以通过多种手段,只需要找到一个弱点就能破坏整个系统的安全性。虽然TEE辅助的机密计算框架的设计尽可能多地考虑了安全的问题,但提供的技术仍然无法保证能提供万无一失的保护。因而,日志审计的目的是记录下潜在攻击行为,并对记录下的信息进行判定及溯源。日志审计模块通常由日志记录、上传、存储三部分组成。

3.4.1 日志的记录

日志的记录需要对TEE辅助的机密计算框架中的操作进行记录,需要保证所有对数据及合约的操作均能被记录。攻击者攻击了数据及合约后,攻击的行为无法逃离日志审计模块的记录。

为了避免攻击者可以绕过日志记录模块,TEE辅助的机密计算框架建议由可信方产生日志记录。可信方为计算参与方、TEE域、身份认证及授权模块。基于图5的业务逻辑架构,通过对身份认证及授权模块以及所有计算参与方的操作行为的记录可以还原合约共识阶段的操作,对TEE域的操作行为的记录可以还原合约执行阶段的操作。

3.4.2 日志的上传

成功地产生日志记录后,需要保证日志记录在上传过程中的安全性。这个上传的过程需要保证攻击者无法在上传过程中通过篡改、截断或者增加等方式对日志记录进行破坏。使用密码技术对通信链路加密的方式可以解决日志上传过程中的安全性问题。

3.4.3 日志的存储

TEE辅助的机密计算框架的日志审计系统的存储需要保证完整性及可用性。完整性的保护能保证存储的日志记录无法被攻击者恶意篡改;可用性的保护能保证日志记录一定能被日志审计系统记录。

任何可以提供日志完整性及可用性保护的存储方式均可以用作日志记录的存储。可选的存储方式包括但不限于:区块链、TEE保护的日志存储数据库、安全防护系统保护的日志存储数据库。以上存储方式特点如下。

(1)传统日志数据库+安全防护系统:传统日志数据库的完整性及可用性需要由安全防护系统及高可用方案提供;安全防护系统包括IDS、IPS、WAF等。高可用方案包括主从副本、同城灾备等。

(2)传统日志数据库+TEE:使用TEE对传统日志数据库进行防护时,完整性防护可以通过TEE提供。高可用方案需要自行配置。

(3)日志存储区块链:使用区块链存储日志时,区块链本身的特性可以同时提供完整性及可用性的保护。但是,使用基于区块链的日志系统时,需要考虑针对区块链的攻击,例如51%攻击、女巫攻击的可能性。

4 结束语

通过对TEE技术以及机密技术的分析,阐述了一种TEE辅助的机密计算框架的设计。在结合OSI安全体系架构的基础上,对TEE辅助的机密计算框架的安全性,从机密性、完整性、可用性、抗否认性及可认证性五个角度进行了分析。

猜你喜欢

机密参与方完整性
基于秘密分享的高效隐私保护四方机器学习方案
稠油热采水泥环完整性研究
爱“宠”大机密
萌宠大机密
莫断音动听 且惜意传情——论音乐作品“完整性欣赏”的意义
绿色农房建设伙伴关系模式初探
爱宠大机密
涉及多参与方的系统及方法权利要求的撰写
基于IPD模式的项目参与方利益分配研究
精子DNA完整性损伤的发生机制及诊断治疗