可信计算简介及实践
什么是可信计算
可信计算(Trusted Computing,简称TC)是一项由TCG(可信计算组)推动和开发的技术。可信的核心目标之一是保证系统和应用的完整性,从而确定系统或软件运行在设计目标期望的可信状态。可信并不等同于安全,但它是安全的基础,因为安全方案、策略只有运行在未被篡改的环境下才能进一步确保安全目的。通过保证系统和应用的完整性,可以确保使用正确的软件栈,并在软件栈受到攻击发生改变后能及时发现。总的来说,在系统和应用中加入可信验证能够减少由于使用未知或遭到篡改的系统/软件遭到攻击的可能性。
以PC机可信举例,通俗来讲,可信就是在每台PC机启动时检测BIOS和操作系统的完整性和正确性,保障你在使用PC时硬件配置和操作系统没有被篡改过,所有系统的安全措施和设置都不会被绕过;在启动后,对所有的应用进行实时监控,若发现应用被篡改立即采取止损措施。
可信计算
具体来说,可信计算技术对安全有如下提升:
操作系统安全升级,如防范UEFI中插入rootkit、防范OS中插入rootkit、以及防范病毒和攻击驱动注入等。
应用完整性保障,如防范在应用中插入木马。
安全策略强制实现,如防范安全策略被绕过/篡改、 强制应用只能在某个计算机上用、强制数据只能有某几种操作等。
可信主要通过度量和验证的技术手段实现。度量就是采集所检测的软件或系统的状态,验证是将度量结果和参考值比对看是否一致,如果一致表示验证通过,如果不一致则表示验证失败。
度量分为静态度量和动态度量两种。静态度量通常指在运行环境初装或重启时对其镜像的度量。度量是逐级的,通常先启动的软件对后一级启动的软件进行度量,度量值验证成功则标志着可信链从前一级软件向后一级的成功传递。以操作系统启动为例,可信操作系统启动时基于硬件的可信启动链,对启动链上的UEFI、loader、OS的image进行静态度量,静态度量的结果通过云上可信管理服务来验证,以判断系统是否被改动。
动态度量和验证指在系统运行时动态获取其运行特征,根据规则或模型分析判断系统是否运行正常。
可信计算另一个核心部分是可信根,通常是可信硬件芯片。可信计算通过芯片厂家植入在可信硬件中的算法和秘钥,以及集成的专用微控制器对软件栈进行度量和验证来确保可信。根据安全芯片和其上运行的可信软件基(Trusted Software Stack)分类,业界目前主流的可信计算标准主要有三种:Trusted Platform Module (TPM)、Trusted Cryptography Module (TCM)和Trusted Platform Control Module (TPCM)。
以计算环境可信举例,等保2.0中可信四级要求实现,可基于可信根对系统引导程序、系统程序、重要配置参数和通信应用程序等进行可信验证,并在应用程序的所有执行环节进行动态的可信验证,在检测到其可信性受到破坏后进行报警,并将验证结果形成审计记录送至安全管理中心,并进行动态关联感知。
可信基本要求之一“基于可信根对系统引导程序、系统程序、重要配置参数和通信应用程序等进行可信验证”在业界已有方案,如基于TCM安全芯片的系统启动度量和验证。等保2.0中对这项要求没有明确提出动态的可信验证,原因之一是系统(如操作系统)过于复杂,很难形成完整的甚至局部的验证基准值,在工程实现上无法保障规则的完整性,误报、漏报无法控制,严重影响安全和用户体验。基于这个判断,传统的基于静态度量和验证的系统可信启动应该满足这项要求。
与系统可信不同,等保2.0四级对应用可信有明确的动态验证要求。再复杂的应用相对操作系统来说也简单得多,所以做应用动态验证在工程上是可行的,挑战是如何在不严重影响应用的功能、性能,即保证用户使用体验的前提下做到应用动态可信。解决这个问题的实质在于如何选择应用的度量对象,确定度量值,以及如何收集和管理验证基准值,或所谓的应用行为白名单。
应用可信的实现可通过只允许指定的应用,即所谓白名单应用在某个环境下(一般是物理主机、虚拟机上或容器)运行,非白名单应用无法在目标环境中运行;同时白名单应用受到监控,其运行行为一旦被发现异常,系统会根据异常行为的安全危害等级报警并采取相应措施,如阻断应用、删除应用、重启系统等。对环境中运行的应用进行限制可减少不安全的应用对云平台进行攻击的可能性,而对应用的监控可以及时发现攻击并做响应。
华为云可信计算实践
华为云可信智能计算服务TICS基于可信计算环境TEE(鲲鹏Trustzone和Intel SGX),采用安全多方计算、同态加密、联邦学习、差分隐私等隐私增强计算技术,满足政府、企业和金融机构在数据资源开发利用中的多样隐私保护需求,实现数据可用不可见,推动多方机构协同进行模型训练和数据分析等多方数据隐私计算,兼顾性能提升和隐私保护,助力政企信用联合风控与政府数据融合共治,提升政府、企业和金融机构治理效能。
华为云可信智能计算服务TICS,保障多方隐私保护需求,具备可信高效、安全隐私、多域协同、灵活多态的优势,实现跨组织、跨行业的多方联盟数据融合分析,释放海量数据价值。
可信高效
华为云可信智能计算服务TICS为用户构筑可信高效的信任环境,基于可信硬件执行环境TEE或安全多方计算MPC容器,构筑多个可信计算单元。TICS支持Intel SGX和鲲鹏Trustzone等可信运行环境,实现明文计算、密文通信,相比密文计算性能大幅提升。
在数据提供方信任域中,部署TICS安全代理,在TICS安全代理端支持多种隐私增强保护技术,进行隐私数据计算。TICS根据业务需求支持容器化部署和弹性扩容。
安全隐私
在数据流通过程中,华为云可信智能计算服务TICS提供数据脱敏、差分隐私、同态加密、安全多方计算、区块链审计等技术,保障数据的安全隐私。
支持用户自定义隐私策略,实现敏感数据的识别、脱敏、水印保护,最大程度的保障隐私数据安全;提供安全多方计算,如基于OPRF的隐私集合求交PSI技术,基于OPE保序加密或OT不经意传输实现密文大小比较;基于差分隐私的横向联邦训练的模型保护,基于同态加密、秘密共享等技术的纵向联邦特征和标签的隐私保护;支持可插件化的对接区块链存储,实现多方数据的流动轨迹、使用过程的全程可追溯、可审计。
多域协同
华为云可信智能计算服务TICS具备云原生分布式架构,支持数据参与方多种模式接入互信联盟,实现对来自跨地域、跨组织、跨行业的多个数据提供方的数据融合分析和多方联合学习建模;支持横向联邦学习和纵向联邦学习,自研LR、Xgboost、LightGBM和神经网络等AI算法与密码学算法深度结合和协同优化,在政府、企业和金融机构跨地域、跨组织、跨行业的信贷风险评估和业务推荐场景中发挥良好应用。
灵活多态
华为云可信智能计算服务TICS支持对接多方数据源,如MRS、Spark、RDS、MySql等联合数据分析;支持对接多种深度学习框架,如MindSpore、TensorFlow、PyTorch等;提供协同优化联邦训练和同态加密算法,实现多方数据融合分析和多方联合学习建模,提升联邦训练效率5-10倍。
结语
可信和安全是相辅相成的,可信是安全的基础,但可信自身的实现也需要有安全机制,有安全手段配合才能更有效,例如操作系统的只读安全措施可以大大减少系统动态度量的范围,使系统动态度量成为可能。
随着云计算、大数据、区块链等新技术的出现与应用,可信计算的应用场景日益丰富。可信计算可在新基建领域进行延伸,形成针对特定领域的可信计算产品及解决方案,构建完成的主动防御体系。
在目前中国云计算可信发展初期阶段,安全硬件、服务器、系统、应用等厂商需要联合起来,形成协同共赢的生态,共同推动可信的深入发展,为构建更稳固的安全体系固本强基。
作者 | 曹贯华
视觉 | 王朋玉
统筹 | 郑 洁