CN114036573A - 支持隐私计算的计算设备 - Google Patents
支持隐私计算的计算设备 Download PDFInfo
- Publication number
- CN114036573A CN114036573A CN202111455293.9A CN202111455293A CN114036573A CN 114036573 A CN114036573 A CN 114036573A CN 202111455293 A CN202111455293 A CN 202111455293A CN 114036573 A CN114036573 A CN 114036573A
- Authority
- CN
- China
- Prior art keywords
- computing device
- platform
- trusted
- computing
- tee
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本公开披露了一种支持隐私计算的计算设备,包括:平台即服务层,所述平台即服务层包括隐私计算平台,所述隐私计算平台用于执行隐私计算;基础设施即服务层,包括硬件资源层,安全操作系统层以及运行在所述安全操作系统层之上的TEE;其中,所述硬件资源层包括CPU,所述TEE中运行有至少一个可信应用,所述至少一个可信应用通过SDK接口访问所述CPU,所述SDK接口兼容多种TEE技术的SDK。
Description
技术领域
本公开涉及计算机技术领域,具体涉及一种支持隐私计算的计算设备。
背景技术
大数据时代,人们对计算设备中的数据安全要求不断提高。隐私计算作为一种可以在保护数据本身不对外泄露的前提下实现数据分析计算的技术,成为目前的研究热点。
发明内容
有鉴于此,本公开实施例提供了一种支持隐私计算的计算设备。该计算设备包括:平台即服务层,所述平台即服务层包括隐私计算平台,所述隐私计算平台用于执行隐私计算;基础设施即服务层,包括硬件资源层,安全操作系统层以及运行在所述安全操作系统层之上的TEE;其中,所述硬件资源层包括CPU,所述TEE中运行有至少一个可信应用,所述至少一个可信应用通过调用SDK接口访问所述CPU,所述SDK接口兼容多种TEE技术的SDK。
可选地,所述硬件资源层还包括:第一加速卡,用于对所述隐私计算的算法进行硬件加速。
可选地,所述第一加速卡包括以下中的一种或多种:FPGA、GPU以及ASIC。
可选地,所述第一加速卡支持对以下算法中的一种或多种进行加速:全同态加密算法、半同态加密算法以及椭圆曲线加密算法。
可选地,所述硬件资源层还包括:密码卡,支持国家密码算法和/或国际密码算法;以及第二加速卡,用于对所述国家密码算法和/或所述国际密码算法进行加速。
可选地,所述硬件资源层还包括可信根;所述基础设施即服务层还包括可信平台,所述可信平台基于所述可信根执行以下操作中的一种或多种:远程认证、所述计算设备的可信度量以及固件签名。
可选地,所述计算设备的可信度量包括以下中的一种或多种:所述计算设备在启动过程中的可信度量,所述计算设备的应用在运行过程中的可信度量以及所述计算设备的应用在运行过程中的数据的可信度量。
可选地,所述SDK接口兼容以下一种或多种:SGX SDK,Rust SDK,以及Occlum。
可选地,所述基础设施即服务层还包括:容器管理平台,运行在所述安全操作系统层之上;多个安全容器,所述多个安全容器基于所述硬件资源层中的硬件资源生成,且所述多个安全容器的运行时环境相互隔离。
可选地,所述安全容器为轻量级容器。
可选地,所述基础设施即服务层还包括:运维平台,所述运维平台包括监控模块和告警模块,所述监控模块用于对所述计算设备进行统一监控;所述告警模块用于根据所述监控模块检测到的异常信息,发出告警信息。
可选地,所述安全操作系统层中的安全操作系统支持以下中的一种或多种:基于可信根进行可信启动,国家密码算法库,对所述安全操作系统的访问进行权限管控,以及对所述计算设备中的进程进行权限管控。
可选地,所述硬件资源层还包括:量子随机数发生器,用于产生真随机数,以提升所述计算设备所使用的密钥的安全性。
可选地,所述平台即服务层还包括以下服务中的一种或多种:远程认证服务,密码服务,以及算法加速服务。
可选地,所述计算设备为一体机。
本公开实施例提供的支持隐私计算的计算设备中,TEE对应的SDK接口可以兼容多种TEE技术的SDK,TEE中运行的可信应用可以通过调用SDK接口访问不同架构的CPU,提高TEE与不同架构CPU的兼容性。
附图说明
图1为本公开实施例提供的支持隐私计算的计算设备的架构示意图。
图2为本公开实施例提供的TEE的架构示意图。
图3为本公开一实施例提供的可信平台的架构示意图。
图4为本公开另一实施例提供的可信平台的架构示意图。
图5为本公开实施例提供的可信度量的流程示意图。
图6为本公开实施例提供的安全容器的架构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。
需要说明的是,本公开实施例中提及的术语“多个”表示“两个及以上”,即包括两个或大于两个的情况。本公开实施例中提及的术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,单独存在B,同时存在A和B这三种情况。
随着现代信息技术的不断发展,世界已跨入了互联网+大数据时代。随着大数据不断地在企业之间、企业与个人之间、个人与个人之间分享,分析挖掘数据的价值成为了目前的研究热点。例如,银行可以通过分析用户的银行信用等级、个人身份信息、金融交易信息等,实现精准营销。但是,将数据使用起来并发挥作用的前提就是必须得保证数据安全性和隐私性,否则就会导致数据泄露,从而造成更严重的不利影响。
因此,为了满足“数据可用不可见”性,研究学者们提出了隐私计算的概念。隐私计算是一种在保护数据本身不对外泄露的前提下实现数据分析计算的技术。目前,以多方安全计算为代表的基于密码学的分析计算是一种主流的隐私计算技术。多方安全计算可以使非互信的多个数据持有方在数据相互保密的前提下,能够进行高效的数据分析计算,从而做到既使用多方数据进行指定的数据分析计算,又保证使用过程中数据隐私不被泄漏,真正实现数据的可用而不可见。
在隐私计算相关技术中,除了采用多方安全计算技术执行隐私计算之外,还可以在支持隐私计算的计算设备中,采用可信执行环境(Trusted Execution Environment,TEE)技术,将计算设备中的应用运行在TEE中,使得加载到该TEE内部的代码和数据的安全性得到保障。因此,隐私计算也可以理解为是一种基于多方安全计算、TEE等技术,提供实现数据安全和隐私保护的数据融合计算方案。
下面先对TEE的基本概念进行简单介绍。
TEE
TEE是由致力于开发、制定和发布安全芯片技术标准的全球平台组织(GlobalPlatform,GP)提出的概念。TEE是一种安全的计算环境,可以将环境内的操作执行与外部完全隔离,从而确保环境中代码、应用和数据资产的隐私性和完整性。与安卓(Android)、Linux等多媒体操作系统(Rich Operating System,Rich OS)相比,TEE能为环境中的应用提供更安全的执行环境。与单一的安全模块(Secure Element,SE)相比,TEE在功能上有更强的延展性。因此,TEE目前已广泛应用于隐私计算、移动支付等领域。
TEE技术
相关技术中,可以基于多种TEE技术实现将应用运行在TEE中。目前国际上较为流行的包括英特尔(Intel)的软件保护扩展(Software Guard Extensions,SGX)技术、英国ARM的TrustZone技术、美国AMD的安全加密虚拟化(Secure Encrypted Virtualization,SEV)技术以及Intel的可信执行技术(Trusted Execution Technology,TXT);国内的TEE技术主要包括兆芯的可信计算技术(Trusted Computing Technology,TCT)和海光的中国安全虚拟化(China Security Virtualization,CSV)技术。
下面以Intel SGX和ARM TrustZone为例,对TEE的实现方式进行简单介绍。
Intel SGX作为主流的TEE实现方式,是一组用于增强应用程序代码和数据安全性的指令。SGX在原有硬件架构上扩展了一组新的指令集和内存访问机制,开发人员使用SGX技术,可以在内存中创建具有高访问权限的私有内存区域而形成容器飞地(Enclave),中央处理器(Central Processing Unit,CPU)保障Enclave与外界隔离,从而把应用程序的安全操作封装在Enclave内,以保障用户关键代码和数据的机密性和完整性。其他应用程序,包括操作系统(Operating System,OS),基本输入输出系统(Basic Input Output System,BIOS),虚拟机系统等,均不能访问Enclave中的数据,也就不能窥探和篡改其中应用程序的状态和数据。换句话说,一旦应用和数据位于Enclave中,即便是操作系统和虚拟机监视器(Virtual Machine Monitor,VMM)也无法影响Enclave里面的代码和数据,Enclave的安全边界只包含CPU和它本身。
ARM TrustZone是通过对原有硬件架构进行修改,在CPU层次引入两个运行环境,即安全环境和通用环境,用以满足不同安全级别的运行要求。安全环境和通用环境是硬件隔离的,并且具有不同的权限。换句话说,安全环境中运行的应用程序可以正常访问通用环境中的资源,但是通用环境中运行的应用程序或操作系统访问安全环境的资源时会受到严格的限制。任何时刻CPU仅能够在其中一个运行环境中运行。
可信应用
在TEE中运行的应用可以称为可信应用(Trusted Application,TAPP),也可以简称为TA。可信应用可以访问计算设备中的CPU和内存的全部功能,而硬件隔离则可以保护可信应用不会受到主操作系统中运行的用户安装的应用的影响。此外,在TEE中,每个可信应用是相互独立的,而且在未授权的情况下不能互相访问。
当运行于TEE中的可信应用需要访问计算设备中的CPU的硬件能力时,可信应用需要通过调用软件开发工具包(Software Development Kit,SDK)接口来访问该CPU。但是,不同TEE技术对应的SDK并不相同。
目前的计算设备中,不同CPU架构实现了各自不同的TEE技术,使得TEE与特定的CPU绑定。例如,Intel大部分CPU,如酷睿系列都可以支持SGX技术,则可以在酷睿系列的CPU上使用SGX技术实现TEE;或者,国产海光CPU可以支持CSV技术,则可以在海光CPU上使用CSV技术实现TEE。但是,当CPU不支持某一TEE技术时,那么则无法基于该TEE技术在该CPU上实现TEE,例如,Intel的CPU如果不支持CSV技术,则在Intel的CPU上无法使用CSV技术实现TEE。
此外,当开发人员需要进行应用移植(将某一应用从一种TEE环境移植到另一种TEE环境)时,需要使用不同TEE技术提供的SDK接口调用对应的CPU资源,由于不同TEE技术对应的SDK并不相同,开发人员需要对应用代码进行调整,给开发人员带来较大的学习和移植负担。例如,将运行于基于海光CSV技术实现的TEE中的可信应用移植到基于SGX技术实现的TEE时,基于SGX技术的可信应用开发需要使用Intel SDK并且按照特定的开发范式进行程序编写,因此未按照该特定开发范式进行编写的可信应用的现有程序需要进行较大改造才能在Intel SGX中运行,而且由于目前Intel SGX仅支持C/C++语言,这导致使用其他语言编写的可信应用的现有程序具有更大的改造难度。
为了解决上述问题,本公开实施例提供一种支持隐私计算的计算设备。在该计算设备中,TEE对应的SDK接口可以兼容多种TEE技术的SDK,TEE中运行的可信应用可以通过调用SDK接口访问不同架构的CPU,提高不同架构CPU与TEE的兼容性。
下面结合图1至图6,对本公开实施例提供的计算设备进行介绍。本公开实施例提供的计算设备可以用于执行隐私计算。
图1为本公开实施例提供的计算设备的架构示意图。如图1所示,计算设备10可以包括平台即服务(Platform as a Service,PaaS)层100和基础设施即服务(Infrastructure as a Service,IaaS)层200。基础设施即服务层也可以称为基础架构即服务层。
PaaS层100可以为开发人员提供构建应用程序的环境以及构建应用程序时的一些服务,开发人员借助于PaaS层100提供的服务可以不用过多考虑底层硬件,方便地构建应用程序。
在一些实施例中,PaaS层100可以包括隐私计算平台111,其中,隐私计算平台111可以用于执行隐私计算。但在本公开实施例中,PaaS层100可以提供的服务并不限定于此,例如,PaaS层100还可以提供远程认证服务、密码服务和算法加速服务等。
在一些实施例中,PaaS层100可以基于IaaS层200的基础能力提供构建应用程序的环境以及构建应用程序时的服务。下面对IaaS层200进行详细介绍。
IaaS层200可以包括硬件资源层210、安全操作系统层220以及TEE 230,其中TEE230可以运行在安全操作系统层220之上。在一些实施例中,TEE 230运行在安全操作系统层220之上可以是指逻辑架构的位置关系。
IaaS层200通过硬件资源层210可以提供多种类型的基础能力,如计算资源。作为一个示例,硬件资源层210可以包括CPU 211。
在一些实施例中,TEE 230中可以运行一个或多个可信应用。如前文所述,该一个或多个可信应用可以通过SDK接口访问CPU 211。在本公开实施例中,该SDK接口可以兼容多种TEE技术的SDK,例如可以兼容SGX技术对应的SDK和TrustZone技术对应的SDK,当然,还可以兼容更多的TEE技术对应的SDK,本公开实施例对此并不限定。
在一些实施例中,SDK接口可以是指应用程序接口(Application ProgramInterface,API),例如,可以是私有API接口。
在一些实施例中,SDK接口除了可以兼容不同TEE技术的SDK外,还可以兼容不同编程语言的SDK,例如可以兼容Rust SDK。此外,SDK接口还可以兼容不同的TEE操作系统,例如可以兼容Occlum。
本公开实施例提供的计算设备,TEE对应的SDK接口可以兼容多种TEE技术的SDK,TEE中运行的可信应用可以通过调用SDK接口访问不同架构的CPU,提高不同架构CPU与TEE的兼容性。
此外,由于本公开实施例提供的SDK接口可以兼容多种TEE技术,因此,本公开实施例提供的SDK接口对用户层(可信应用开发人员)而言是统一通用的,对应于不同TEE技术的可信应用均可以基于该SDK接口部署于TEE中。
图2为本公开实施例提供的TEE架构的示例图。在该示例中,TEE中可以运行有虚拟机,还可以包括虚拟监视器(如Type1.5虚拟监视器)。在该TEE中,可以通过TEE技术为不同可信应用形成安全可信区域Enclave。
在一些实施例中,本公开实施例提供的TEE的安全可信能力是经过权威认证的,例如可以是经由中国金融认证中心(China Financial Certification Authority,CFCA)认证的。参见图2,CFCA可以签发CA证书,之后由CFCA的证书注册机构(RegistrationAuthority,RA)签发可信根认证身份密钥(Attestation Identity Key,AIK),基于该可信根和CPU、内存和以及加解密引擎等硬件可以实现TEE。关于可信根的内容,后文会进行详细描述,此处不再赘述。
本公开实施例提供的TEE可以提供多种功能,例如可以包括但不限于以下几种:实现隔离执行、远程证明、内存加密、数据封印等。
本公开实施例的硬件资源层210除包括CPU 211之外,还可以包括其他硬件资源,下面继续参见图1,对硬件资源层210进行详细描述。
在一些实施例中,硬件资源层210还可以包括第一加速卡。第一加速卡可以用于对隐私计算的算法进行硬件加速,从而提升隐私计算的性能。
本公开实施例对第一加速卡的实现方式不做具体限定。例如,第一加速卡可以基于现场可编程门阵列(Field Programmable Gate Array,FPGA)芯片212a实现。或者,第一加速卡可以基于图形处理器(Graphics Processing Unit,GPU)芯片212b实现。又例如,第一加速卡还可以基于应用型专用集成电路(Application-Specific Integrated Circuit,ASIC)芯片实现。
本公开实施例对第一加速卡的形态不做限定。示例性地,第一加速卡的形态可以是PCIe卡,PCIe卡采用点对点的串行连接方式,可以允许第一加速卡和所连接的设备建立独立的数据传输通道,独享通道带宽,不用共享总线带宽,从而可以实现高速高带宽传输。
本公开实施例对第一加速卡加速的算法类型不做限定。示例性地,第一加速卡可以支持对以下算法中的一种或多种进行加速:全同态加密算法、半同态加密算法以及椭圆曲线加密(Elliptic Curve Cryptography,ECC)算法。
在一些实施例中,第一加速卡可以支持一种或多种业界的相关安全协议。例如,第一加速卡可以支持但不限于传输层安全(Transport Layer Security,TLS)协议和安全套接层(Secure Sockets Layer,SSL)协议。作为一个示例,第一加速卡可以支持OpenSSL协议。
在一些实施例中,第一加速卡中可以集成隐私计算平台111提供的原生算法库。
在一些实施例中,硬件资源层210还可以包括密码卡213,密码卡213可以具备一流的加解密能力。在一些实施例中,密码卡213也可以称为密码芯片。
密码卡213可以支持国家密码算法和/或国际密码算法。本公开实施例对密码卡213支持的密码算法的类型不做具体限定。示例性地,密码卡213可以支持对称加密算法,非对称加密算法,以及密码杂凑算法。例如,当密码卡213支持对称密码算法时,密码卡213可以支持SM4国家密码算法或RC5、RC6等国际密码算法;当密码卡213支持非对称密码算法时,密码卡213可以支持SM2国家密码算法或ECC国际密码算法;当密码卡213支持密码杂凑算法时,密码卡213可以支持SM3国家密码算法或MD5国际密码算法。
密码卡213拥有完备的安全密钥管理体系,从而可以给计算设备提供最高加密级别的密钥管理。在一些实施例中,密码卡213还具备完备的安全检测和保护机制,例如,密码卡213可以具备拆机密钥自毁功能,通过硬件加固的方式可以抵御物理拆机和侧信道攻击,具有极高的安全性。在一些实施例中,密码卡213还可以支持虚拟化云原生业务。
在一些实施例中,硬件资源层210还可以包括第二加速卡。第二加速卡可以对密码卡213所支持的密码算法(如国家密码算法和/或国际密码算法)进行加速。第二加速卡的具体实现或其他相关内容可以参见前文所述的第一加速卡,此处不再赘述。
在一些实施例中,第一加速卡和第二加速卡可以是在不同的物理单元上实现的,例如第一加速卡和第二加速卡可以是不同的芯片。在另一些实施例中,第一加速卡和第二加速卡也可以集成在同一个物理单元上,例如可以集成在同一个芯片上。
在一些实施例中,硬件资源层210还可以包括量子随机数发生器(Quantum RandomNumber Generator,QRNG)214。QRNG 214可以用于产生真随机数作为计算设备的密钥,该密钥可以认为是真正随机产生的且不可预测的,从而可以提升计算设备所使用的密钥的安全性。
本公开实施例对QRNG 214产生随机数的方式并不限定。例如,可以基于不同量子随机源采用不同的随机数产生方案。示例性地,针对离散量子源,可以采用单光子计数的方案;针对连续量子源,可以采用基于SLED光源的相位噪声提取方案。
本公开实施例对QRNG 214的实现方式不做限定。作为一个示例,QRNG 214可以是独立的物理单元,采用单独的芯片实现。作为另一个示例,QRNG 214也可以集成在其他部件中,如可以集成在密码卡213中。
继续参见图1,在一些实施例中,硬件资源层210还可以包括可信根215,也可以称为信任根。可信根215作为计算设备可信的源头,可以通过多种安全技术来确保,例如可以通过物理安全、技术安全和管理安全多方面来共同确保可信根215的可信性。
在本公开实施例中,可以基于可信根215构建信任链(或称可信链)机制。信任链的主要作用是将信任关系扩展到整个计算设备。在信任根的基础上。信任链可以通过可信度量机制来获取各种各样影响计算设备可信性的数据,并通过将这些数据与预期数据进行比较,来判断计算设备的可信性。
在一些实施例中,可信根215可以采用SOC芯片实现。作为一个具体示例,可信根可以是符合可信平台模块(Trusted Platform Module,TPM)标准的安全芯片,简称为TPM芯片。
在一些实施例中,IaaS层200还可以包括可信平台240。可信平台240可以基于可信根215实现信任链的传递。
图3和图4为本公开实施例提供的可信平台240的架构示意图。参见图3和图4,可信平台240可以包括可信平台的管理中心(也可以称为可信平台的服务端)。可信平台的管理中心可以执行多种操作,例如可以进行远程证明、文件恢复、基线管理、可信规则管理以及审计数据管理等。
可信平台的管理中心可以和各节点以及运维人员进行交互。
作为一个示例,各节点可以通过可信代理将节点的状态发送给可信平台的管理中心,使得从节点的主机启动开始,可信平台的管理中心可以基于可信根,对节点的主机启动、主机进程启动、应用运行环境等进行可信度量。本公开实施例对节点发送给可信平台的管理中心的节点状态不做具体限定,例如,节点可以向可信平台的管理中心发送以下一种或多种节点状态:基线注册、挑战quote上报、度量事件上报以及配置变更。
作为一个示例,运维人员可以通过运维界面(如Web界面)连接到可信平台的管理中心,使得运维人员可以方便地对可信平台进行维护和开发,例如可以将配置下发给可信平台的管理中心。
在一些实施例中,可信平台可以通过插件的形式接入到现有的运维或运营通道,以提供灵活扩展的能力,方便运维人员扩展自定义功能。在一些实施例中,可信平台还可以支持多语言开发。
在一些实施例中,可信平台的管理中心还可以和数据库(如OceanBase数据库)、密钥管理系统(如外接密钥管理服务BKMI)等进行交互。在一些实施例中,可信平台的管理中心可以将节点的可信状态上报给AKE/Sigma节点。
在一些实施例中,可信平台240可以基于可信根215执行以下操作中的一种或多种:远程认证、计算设备的可信度量以及固件签名,从而为计算设备提供全方位的安全可信能力。
可信平台240进行固件签名可以是指,可信平台240可以为计算设备中的固件设置唯一的身份标识,例如可以分配唯一的固件序列号。可信平台240进行远程认证可以是指,可信平台可以基于TPM可信根或者其他类型的可信根对计算设备或计算设备中的固件进行远程认证,以确定计算设备的可信性。作为一个示例,当计算设备中的某个固件需要升级时,可信平台240可以进行远程认证,通过远程发起挑战验证固件的序列号以确定该固件是否可信。
在一些实施例中,可信平台240可以从多个方面对计算设备进行可信度量,以提供全链路的可信审计和保护等功能。作为一个示例,可信平台240可以对计算设备的启动过程进行可信度量。作为另一个示例,可信平台240可以对计算设备的应用运行过程进行可信度量。作为又一个示例,可信平台240可以对应用在运行过程中的数据进行可信度量。
在一些实施例中,可信平台240对计算设备进行可信度量可以是指静态的可信度量。在一些实施例中,可信平台240对计算设备进行可信度量可以是指动态的可信度量,例如,计算设备的内存中的数据是动态变化的,可信平台可以实时动态地对计算设备的内存进行可信度量。
下面结合图5,对可信平台240对计算设备进行可信度量的流程进行示例性说明。
在图5的示例中,可信平台240进行可信度量时,操作系统内核可以向平台安全处理器(Platform Security Processor,PSP)发送指令,PSP接收到指令后,可以进行可信动态度量(Trusted Dynamic Measurement,TDM),并将度量结果发送给操作系统内核以及可信平台代理,同时操作系统内核接收到度量结果后,也可以基于可信根进行可信度量后将结果发送给可信平台代理,最后由可信平台代理将度量结果发送给可信平台240以确认可信度量结果。在一些实施例中,可信平台还可以远程进行可信度量。
可信平台240通过对计算设备进行可信度量可以对入侵和篡改内存的行为进行实时监测,或者可以对系统命令的授权访问进行管控,以及可以抵御字典暴力攻击等。
继续参见图1,在一些实施例中,IaaS层200还可以包括容器管理平台250和多个安全容器(安全容器A、安全容器B等)。
容器管理平台250可以运行在安全操作系统层220之上。容器管理平台250可以对多个安全容器进行管理。
安全容器可以是基于硬件资源层210中的硬件资源生成的,从而可以利用硬件虚拟化隔离不同容器的运行时(runtime)环境,使计算设备可以完全阻隔安全容器内的恶意代码对主机以及相邻安全容器的攻击,提供文件保护、应用隔离、实时阻断等功能;此外,还可以保证不用在每个安全容器中都运行一个完整的操作系统(如Linux),通过安全容器的开销实现虚拟机(Virtual Machine,VM)的安全隔离。采用安全容器隔离虚拟机的安全性大于基于内核的虚拟化技术隔离虚拟机的安全性。本公开实施例对基于内核的虚拟化技术不做限定,例如可以是指基于Linux内核的虚拟化技术(如基于内核的虚拟机(Kernel-basedVirtual Machines,KVM))。安全容器启动速度极快,运行开销等同于runc。在一些实施例中,可以通过对安全容器进行配置以灵活调配安全容器的性能与安全。
在一些实施例中,安全容器可以为轻量级容器,以提高安全容器中代码的复用度。
图6为本公开实施例提供的安全容器的架构示意图。如图6所示,在该示例中,安全容器可以基于Go语言开发,在运行时被分为两个独立进程Sentry和Gofer。其中Sentry进程包括内核,负责执行用户代码,处理系统调用。Gofer进程是文件系统操作代理,超出安全容器的文件系统操作可以通过9P连接发给Gofer进程。
在该示例中,可以使用安全容器中的Sentry作为用户态内核(Guest kernel),为安全容器中的应用提供操作系统支持。安全容器中运行的应用程序具有自己的内核和虚拟设备,可以与其他安全容器和主机区分开。
图6示例性地给出了四种系统调用的方式,分别为用户态内核Sentry的内部调用,Sentry通过9P连接发给Gofer进程调用,Sentry通过主内核进行系统调用,以及Sentry通过输入输出内存管理单元(Input/Output Memory Management Unit,IOMMU)调用智能网卡中的虚拟功能(Virtual Function,VF)以进行系统调用。基于此,安全容器可以通过拦截应用程序的系统调用并作为用户态内核运行,提供强隔离边界。基于安全容器的架构,安全容器可以具备原生安全、资源弹性、平台优势、应用可信等特质。
继续参见图1,在一些实施例中,IaaS层还可以包括运维平台260,以提供系统监控诊断、异常进程检测报警等功能。在一些实施例中,运维平台260可以采用C/S架构以降低系统的通信开销,但本公开实施例并不限定于此,例如还可以采用B/S架构。
在一些实施例中,运维平台260可以包括监控模块和告警模块。监控模块可以对计算设备进行统一监控。告警模块可以根据监控模块检测到的异常信息,发出告警信息。告警模块可以自己发出告警信息,也可以借助其他相关组件发出告警信息。示例性地,告警模块可以借助其他应用程序发出告警信息,如借助钉钉Webhook进行告警消息推送。
运维平台对计算设备进行监控时,可以通过不同方式获取计算设备的硬件资源信息,本公开对此并不限定。示例性地,在一些实施例中,可以在计算设备的操作系统上安装代理,该代理可以将IaaS层200的动态资源信息上报到运维平台260中;在一些实施例中,计算设备可以包括硬件资源信息监控组件,该监控组件可以直接采集系统日志、厂商信息、基板管理控制器(Baseboard Manager Controller,BMC)信息等取得部件和传感器的状态信息,然后定时将采集到的数据推送到后台网关。运维平台260可以自动从网关拉取最新的数据。
运维平台260可以是面向软硬件的管控平台,通过对计算设备的Linux设备、网络设备等软硬件产品进行统一监控,实时告警,故障信息及时推送等,快速解决运维问题,提升运维效率。
在一些实施例中,安全操作系统层220可以包括安全操作系统。该安全操作系统可以满足国内外监管提出的等保合规等强制性要求;此外,安全操作系统还可以支持多种能力,例如可以基于可信根可信启动,可以支持国家密码算法库,可以对安全操作系统的访问进行权限管控,可以对计算设备中的进程进行权限管控等。
示例性地,安全操作系统对计算设备中的进程进行权限管控可以是指,安全操作系统在内核层面对安全容器中的进程以及对宿主机中的进程的执行权限进行管控,从而能够有效防止暴力破解,漏洞利用及容器逃逸等系统攻击。
运维平台260通过启动各环节各组件以及用户指定的应用程序与系统模块的完整性,从而可以对抗RootKit/BootKit等底层安全威胁。
在一些实施例中,本公开实施例提供的计算设备可以是一体机,因此该计算设备又可以称为隐私计算一体机。
本公开实施例提供的计算设备,以硬件安全芯片为信任根基,以密码学方法为主要手段,通过度量、检测、证明等手段,构建贯穿硬件、虚拟层、系统层和应用层的完整信任链,可以为上层应用和数据融合计算构建可信的基础设施设备(也可以称为安全底座)。换句话说,本公开实施例提供的计算设备为可信原生的计算设备,因此,本公开实施例提供的计算设备也可以称为可信原生一体机。
在本公开实施例中,隐私计算一体机或可信原生一体机都可以简称为一体机。
本公开实施例提供的一体机从底层芯片出发,保证平台系统的完整性和机密性、平台数据存储安全、传输安全、计算安全,平台内节点、业务、部件间连接时身份及行为状态确认,平台与外部系统对接时用户身份及行为状态确认。因此,一体机可以提供从芯片层面到硬件到软件的整套安全解决方案。具体地,一体机通过可信芯片、可信外设与处理器的相互配合,实现硬件、固件、系统软件与应用软件的可信保障,防止关键的软硬件组件在运行中被篡改;一体机的处理器可以提供TEE能力,在不同的TEE间提供硬件级的隔离能力,可以做到数据离开处理器即是密文。提供最高等级的抗物理攻击能力,同时具备隐私计算相关算法的加速能力。
从一个方面而言,本公开实施例提供的计算设备,充分考虑云的环境,是一个在云原生环境下打造的集软硬件安全可信于一体的计算设备,能够在云上以最佳姿态运行,充分利用和发挥云平台的弹性和分布式优势。因此,本公开实施例提供的计算设备可以为组织机构之间的数据联合计算(多方安全计算)提供一站式安全解决方案。
从另一个方面而言,本公开实施例提供的计算设备,秉持安全与可信并重的原则,从硬件和软件两方面保障数据和应用安全。因此,本公开实施例提供的计算设备可以提供数据安全和隐私保护的可信数据交换平台。
具体而言,相比传统的计算设备,本公开实施例提供的计算设备实现了硬件的优化。例如,在计算设备上可以部署专用的处理芯片,比如该处理芯片可以为FPGA芯片、ASIC芯片或其他类型的芯片,以提升数据处理效率。此外,计算设备中的处理芯片还可以部署有可信根,该可信根例如可以包括TPM芯片。该处理芯片可用于存储在隐私计算过程中所需的密钥。该密钥比如可以由发布方预先烧录至该处理芯片中,使得处理芯片在计算设备上形成了硬件的TEE环境,提供与计算设备的主机环境隔离的高级别安全计算环境,以确保需要隐私保护的数据不会发生隐私泄露。又例如,计算设备上可以部署密码卡。该密码卡可以实现加密内存读写数据,并通过硬件加固以抵御侧信道攻击,具有极高的安全性。
相比传统的计算软件,本公开实施例提供的计算设备也可以实现软件优化。例如,计算设备中可以部署可信平台以提供全方位的可信能力,对计算设备主机运行、应用运行以及应用数据等提供全链路的可信审计以及保护等功能。或者,计算设备中还可以部署安全操作系统,以对操作系统访问控制、权限管理等进行加固,可以有效防止计算设备被暴力破解、漏洞利用以及容器逃逸等攻击。又例如,计算设备中可以部署运维平台,运维平台可以提供智能监控功能、系统健康诊断、异常进程检测报警等能力。此外,计算设备可以内置证书授权服务,可以实现自动化的证书签发与身份认证,从而实现计算设备的即插即用。这样一来,计算设备产品不仅可以帮助客户快速建立隐私计算相关的基础硬件设施,还可以让客户快速上线隐私技术相关应用,省去繁杂的应用安装认证流程,从而可以实现接入机构网络就可以实现快速部署。比如在金融、政务、医疗等场景都可快速应用。由此可见,本公开实施例提供的计算设备作为整体进行交付输出,可以提供一种安全、可信、高性能的隐私计算解决方案。
综合而言,本公开实施例提供的计算设备为在云原生环境下专为安全打造的基础设施产品,该计算设备具备自主信任根,从信任根开始到硬件平台,到操作系统,再到应用安全容器,均可以确保计算资源的完整性、机密性和行为的预期性,因此,可以从根本上解决隐私计算的安全问题。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其他任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本公开实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(Digital Subscriber Line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(Digital Video Disc,DVD))、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
本领域普通技术人员可以意识到,结合本公开实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以所述权利要求的保护范围为准。
Claims (15)
1.一种支持隐私计算的计算设备,包括:
平台即服务层,所述平台即服务层包括隐私计算平台,所述隐私计算平台用于执行隐私计算;
基础设施即服务层,包括硬件资源层,安全操作系统层以及运行在所述安全操作系统层之上的TEE;
其中,所述硬件资源层包括CPU,所述TEE中运行有至少一个可信应用,所述至少一个可信应用通过调用SDK接口访问所述CPU,所述SDK接口兼容多种TEE技术的SDK。
2.根据权利要求1所述的计算设备,所述硬件资源层还包括:
第一加速卡,用于对所述隐私计算的算法进行硬件加速。
3.根据权利要求2所述的计算设备,所述第一加速卡包括以下中的一种或多种:FPGA、GPU以及ASIC。
4.根据权利要求2所述的计算设备,所述第一加速卡支持对以下算法中的一种或多种进行加速:全同态加密算法、半同态加密算法以及椭圆曲线加密算法。
5.根据权利要求1所述的计算设备,所述硬件资源层还包括:
密码卡,支持国家密码算法和/或国际密码算法;以及
第二加速卡,用于对所述国家密码算法和/或所述国际密码算法进行加速。
6.根据权利要求1所述的计算设备,所述硬件资源层还包括可信根;
所述基础设施即服务层还包括可信平台,所述可信平台基于所述可信根执行以下操作中的一种或多种:远程认证、所述计算设备的可信度量以及固件签名。
7.根据权利要求6所述的计算设备,所述计算设备的可信度量包括以下中的一种或多种:所述计算设备在启动过程中的可信度量,所述计算设备的应用在运行过程中的可信度量以及所述计算设备的应用在运行过程中的数据的可信度量。
8.根据权利要求1所述的计算设备,所述SDK接口兼容以下中的一种或多种:SGX SDK,Rust SDK,以及Occlum。
9.根据权利要求1所述的计算设备,所述基础设施即服务层还包括:
容器管理平台,运行在所述安全操作系统层之上;
多个安全容器,所述多个安全容器基于所述硬件资源层中的硬件资源生成,且所述多个安全容器的运行时环境相互隔离。
10.根据权利要求9所述的计算设备,所述安全容器为轻量级容器。
11.根据权利要求1所述的计算设备,所述基础设施即服务层还包括:
运维平台,所述运维平台包括监控模块和告警模块,
所述监控模块用于对所述计算设备进行统一监控;
所述告警模块用于根据所述监控模块检测到的异常信息,发出告警信息。
12.根据权利要求1所述的计算设备,所述安全操作系统层中的安全操作系统支持以下中的一种或多种:基于可信根进行可信启动,国家密码算法库,对所述安全操作系统的访问进行权限管控,以及对所述计算设备中的进程进行权限管控。
13.根据权利要求1所述的计算设备,所述硬件资源层还包括:
量子随机数发生器,用于产生真随机数,以提升所述计算设备所使用的密钥的安全性。
14.根据权利要求1所述的计算设备,所述平台即服务层还包括以下服务中的一种或多种:远程认证服务,密码服务,以及算法加速服务。
15.根据权利要求1所述的计算设备,所述计算设备为一体机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111455293.9A CN114036573A (zh) | 2021-11-30 | 2021-11-30 | 支持隐私计算的计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111455293.9A CN114036573A (zh) | 2021-11-30 | 2021-11-30 | 支持隐私计算的计算设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114036573A true CN114036573A (zh) | 2022-02-11 |
Family
ID=80139527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111455293.9A Pending CN114036573A (zh) | 2021-11-30 | 2021-11-30 | 支持隐私计算的计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114036573A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114697113A (zh) * | 2022-03-30 | 2022-07-01 | 医渡云(北京)技术有限公司 | 一种基于硬件加速卡的多方隐私计算方法、装置及系统 |
CN114944960A (zh) * | 2022-06-20 | 2022-08-26 | 成都卫士通信息产业股份有限公司 | 一种密码应用方法、装置、设备及存储介质 |
CN115098890A (zh) * | 2022-08-25 | 2022-09-23 | 北京融数联智科技有限公司 | 一种隐私计算安全审计方法和系统 |
CN115618365A (zh) * | 2022-12-16 | 2023-01-17 | 飞腾信息技术有限公司 | 实现安全可信启动的方法、安全架构系统及相关设备 |
CN116614275A (zh) * | 2023-05-23 | 2023-08-18 | 京信数据科技有限公司 | 一种隐私计算一体机委托加速的装置及方法 |
-
2021
- 2021-11-30 CN CN202111455293.9A patent/CN114036573A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114697113A (zh) * | 2022-03-30 | 2022-07-01 | 医渡云(北京)技术有限公司 | 一种基于硬件加速卡的多方隐私计算方法、装置及系统 |
CN114697113B (zh) * | 2022-03-30 | 2024-06-21 | 医渡云(北京)技术有限公司 | 一种基于硬件加速卡的多方隐私计算方法、装置及系统 |
CN114944960A (zh) * | 2022-06-20 | 2022-08-26 | 成都卫士通信息产业股份有限公司 | 一种密码应用方法、装置、设备及存储介质 |
CN114944960B (zh) * | 2022-06-20 | 2023-07-25 | 成都卫士通信息产业股份有限公司 | 一种密码应用方法、装置、设备及存储介质 |
CN115098890A (zh) * | 2022-08-25 | 2022-09-23 | 北京融数联智科技有限公司 | 一种隐私计算安全审计方法和系统 |
CN115098890B (zh) * | 2022-08-25 | 2022-11-01 | 北京融数联智科技有限公司 | 一种隐私计算安全审计方法和系统 |
CN115618365A (zh) * | 2022-12-16 | 2023-01-17 | 飞腾信息技术有限公司 | 实现安全可信启动的方法、安全架构系统及相关设备 |
CN116614275A (zh) * | 2023-05-23 | 2023-08-18 | 京信数据科技有限公司 | 一种隐私计算一体机委托加速的装置及方法 |
CN116614275B (zh) * | 2023-05-23 | 2024-02-20 | 京信数据科技有限公司 | 一种隐私计算一体机委托加速的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3937424B1 (en) | Blockchain data processing methods and apparatuses based on cloud computing | |
CN114036573A (zh) | 支持隐私计算的计算设备 | |
KR100800346B1 (ko) | 신뢰 컴퓨팅 플랫폼에서 동적으로 생성된 배서 키에 대한가상 배서 증명서를 확립하는 방법, 장치 및 프로그램을기록한 컴퓨터로 판독 가능한 기록 매체 | |
Ying et al. | Truz-droid: Integrating trustzone with mobile operating system | |
CN113014444B (zh) | 一种物联网设备生产测试系统及安全保护方法 | |
CN108429719A (zh) | 密钥保护方法及装置 | |
Stumpf et al. | An approach to a trustworthy system architecture using virtualization | |
Ménétrey et al. | An exploratory study of attestation mechanisms for trusted execution environments | |
JP2024519365A (ja) | 連合学習のための信頼できる分散型アグリゲーション | |
JP2022177828A (ja) | 情報漏洩を低減した連合学習の方法、装置およびコンピュータプログラム(分割された動的シャッフルモデル更新を伴う連合学習) | |
Jung et al. | A secure platform model based on ARM platform security architecture for IoT devices | |
Aslam et al. | Security and trust preserving inter‐and intra‐cloud VM migrations | |
Cooijmans et al. | Secure key storage and secure computation in Android | |
Lapid et al. | Navigating the samsung trustzone and cache-attacks on the keymaster trustlet | |
Coppola et al. | Automation for industry 4.0 by using secure lorawan edge gateways | |
Mofrad et al. | SecDATAVIEW: a secure big data workflow management system for heterogeneous computing environments | |
CN111510462B (zh) | 通信方法、系统、装置、电子设备和可读存储介质 | |
US11709712B2 (en) | Method and system for artificial intelligence model training using a watermark-enabled kernel for a data processing accelerator | |
US11645116B2 (en) | Method and system for making an artificial intelligence inference using a watermark-enabled kernel for a data processing accelerator | |
Park et al. | TGVisor: A tiny hypervisor-based trusted geolocation framework for mobile cloud clients | |
Atamli‐Reineh et al. | A framework for application partitioning using trusted execution environments | |
Khan et al. | A protocol for preventing insider attacks in untrusted infrastructure-as-a-service clouds | |
Park et al. | CAFE: A virtualization-based approach to protecting sensitive cloud application logic confidentiality | |
Fournaris et al. | From hardware security tokens to trusted computing and trusted systems | |
Hao et al. | Trusted block as a service: Towards sensitive applications on the cloud |
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 |