产品与技术

T6 - 安全操作系统和可信执行环境平台

T6是瓶钵信息科技核心团队自2012年起历经5年自主研发,专为安全设计的操作系统和可信执行环境(Trusted Execution Environment, TEE)平台。 通过利用芯片级的隔离技术(ARM TrustZone、Intel SGX)和现代操作系统最先进的防护机制有效防止敏感信息泄漏, 在确保系统开放性的同时保证操作系统本身以及承载的应用程序、生物特征、密码、文件等的安全。 T6主要面向智能终端、PC、服务器、物联网等领域,通过采用与现有的操作系统(如Android、Linux等)同时运行的方式,在已有的开放生态中构建安全的系统基础设施。 目前T6已经大量应用在Android智能终端中,为海量设备保驾护航。

T6 Architecture

T6 特点

完善的可信链,确保系统启动过程安全

通过实现安全启动,T6 确保系统启动过程无法被篡改。包括T6系统本身以及所有动态加载的第三方可信应用,极大减少系统的攻击面。

全系统级代码与数据加密,确保系统与数据离线安全

通过不可被绕过的全系统数据加密和完整性保护,T6确保系统在关机离线状态下数据的隐私性、完整性,杜绝任何非法窃取和篡改。 这些加密都是基于芯片级实现的,任何人(包括我们自己)也无法得到非授权的解密数据。

最前沿的防护机制,确保系统运行时安全

T6采用芯片级的隔离技术,包括ARM平台的TrustZone技术以及Intel平台的SGX技术;同时,T6采用现代操作系统的强制隔离机制,确保 不同的可信应用程序之间、可信应用和不可信应用之间、可信应用和内核之间互相隔离互不信任。

丰富的应用库,保证开发的便捷性

T6提供了丰富的用户层面的库,包括多种多样的crypto,libC,openSSL,secure GUI。因此开发者可以专注于自身业务逻辑的实现。

采用 Global Platform API,保证应用接口的统一和可移植性

T6支持 Global Platform TEE Client API v1.0 和 Global Platform TEE Internal API v1.0,因此之前的可信应用可以直接运行在T6之上,而不需要任何修改。

全平台支持,助力构建可信应用生态

T6 支持多种硬件平台,包括目前在智能设备和物联网领域最为广泛的ARM平台和运行在PC和服务器端的Intel平台.

T6开发SDK:TKCore

TKCore是与T6平台配套的面向开发人员的开发环境,用于进行安全应用的开发与集成。该SDK提供了完善的开发编译工具和文档,能够帮助开发人员在1天内快速构建可信应用。 瓶钵信息科技同时为开发者提供1-2天的开发培训服务,帮助开发者加快安全应用的开发、测试与部署。


T6量产产线工具:KPH

密钥预置桩系统(Key Provisioning Hub, KPH)是瓶钵信息科技面向设备厂商提供的TEE安全密钥预置与证书导入上传工具。 通过自研的开放桩(Hub)系统,设备厂商能够轻而易举地将KPH集成到现有的产线工具和工位上,不改变已有的产线系统也不需要增加额外的工位和人力维护。


案例:部署在T6上的安全应用

T6具备承载多种多样安全应用的能力,保护系统和应用的安全。 如下列举几种设备制造商在T6上经常使用的安全应用。

...

指纹、虹膜认证解锁

基于指纹、虹膜等生物特征识别进行认证与设备解锁已经在智能设备逐渐广泛应用,这些应用均是通过T6这种可信执行环境确保安全性

...

移动安全支付

微信、支付宝等移动指纹安全支付的密钥保护、支付令牌签名保护等敏感操作均是在T6这种TEE中运行

...

Android安全增强

T6具备更高的安全级别和更强的安全能力,通过将Android系统内核的关键逻辑交由TEE验证极大地提高了整体系统的安全性

...

SoftSIM

SoftSIM取代实体SIM的前提是安全性,通过TEE能够确保SoftSIM的安全性,保证业务的正常开展

...

安全私密空间

安全私密空间是瓶钵信息科技自研的创新应用,通过在Android系统中构建一个TEE的影子空间(Shadow Space),为用户提供一个私密的应用运行与文件存储空间

...

设备通讯安全锁定与解锁

通过实现TEE的安全管理能力,设备厂商、运营商、企业能够对终端设备的通讯能力进行细致的安全管控


T6-M: 进一步防御高级物理攻击

物理攻击对移动设备来说是很大的威胁。移动设备的便于携带也使得其极易受到盗窃和丢失的威胁。 在复杂的攻击模式下,攻击者会向存储有用户的数据的加密磁盘冷启动攻击。 攻击者会获取到加密密钥并成功解密磁盘。目前的TEE和安全操作系统并不能抵御此类攻击。 因此,如何保护存储中的机密数据不受物理攻击是很重要和紧急的问题。在T6-m,所有的外部存储都是加密的, 因此在物理攻击下不会有数据泄漏。

T6-m 是T6 TEE的安全增强,并保护TEE不受物理攻击. T6-m 通过消除对外部存储的依赖来抵御物理攻击。它为整个可信执行环境采用了专门的内存加密技术,包括内核和用户层应用, 而不需要借助硬件支持。对应的代价是安全操作系统整体性能会减半左右。

内存拒绝明文存储

T6-m 确保外部内存中的所有数据都是加密的,因此即便是被物理扫描,攻击者也只能得到加密的文本。同时,T6-m会检测数据的完整性来预防数据被篡改。

系统级别的完整保护

T6-m 保护的是整个系统而不是几个组件。因此不需要配置系统的哪个部分需要保护。

对安全应用透明

T6-m 对安全应用程序是完全透明的,这意味着开发者不会意识到T6-m 的存在。现有的安全应用可以流畅地运行在T6-m上,就像运行在T6上一样。

如何获取 T6

我们同时提供评估授权和产品授权两种方式

针对研究人员和面向原型的评估

我们为研究人员提供了灵活的T6 SDK和可以直接使用的硬件平台来支持研究。

联系我们

针对设备制造商、方案商和企业用户

针对制造商和企业用户,我们以项目集成的形式提供了T6和基于T6的安全解决方案。我们可以合作来对T6进行深度定制。

联系我们


常见问题

什么是 TrustZone?

ARM TrustZone 是基于 ARM 平台的旨在建立硬件可信的技术。与设计成固定功能设备与具有一个预定义的功能集的 TPM 不同,TrustZone 可以认为是 一种利用 CPU 作为 TPM 的更灵活的方法。该架构将硬件资源划分为两个不同的 执行环境,普通世界(Normal World)以及安全世界(Secure World)。支持 TrustZone 技术的 CPU 将拥有额外的两个模式,普通模式(Normal mode) 表示当前 CPU 运行于普通世界而安全模式(Secure mode)表示 CPU 运行于安全 世界。在普通世界与安全世界中,CPU 均为应用提供了用户模式(User mode) 并且为操作系统提供了特权模式(Privileged mode)。唯一的区别是,在安全世界 中,CPU 还拥有一个新添加的监控模式(Monitor mode),该模式负责监控 CPU 在两个运行环境之间的切换。具体而言,当 CPU 需要进行运行环境切换时,CPU 将先进入监控模式并且在该模式下储存当前运行环境的状态后进行运行环境切 换。运行环境的切换主要由两类行为出发,第一个是较为普遍发生的,那就是执 行一条称为“安全监控调用(SMC,Secure Monitor Call)”的指令。该指令将会 切换当前 CPU 所处的运行环境。第二种方式通过一些特定的硬件异常机制进行 运行环境的切换,例如中断请求(IRQ)以及快速中断请求(FIQ)等能够被配 置,从而在发生时切换运行环境。ARM TrustZone 不仅限于 CPU,还包括了系统总线,外围设备和内存控制器 的划分与隔离。移动平台上的硬件资源包括内存,外部设备以及中断等将能够被 划分至不同的执行环境。同时 TrustZone 技术保证了普通世界中的程序(包括操 作系统)无法访问分配给安全世界的硬件资源。而安全世界中的程序则能够访问 两个世界的所有硬件资源,同时安全世界还能够对硬件资源进行动态划分。 想要了解 ARM TrustZone 更多细节, 请访问我们的博客: TEE And ARM TrustZone 获取更多信息.

什么是 SGX?

SGX全称是Intel Software Guard Extensions,是对Intel IA的一个硬件扩展,用于增强软件的安全性。 这种方式并不是识别和隔离平台上的所有恶意软件,而是将合法软件的安全操作封装在一个enclave中,保护其不受恶意软件的攻击,特权或者非特权的软件都无法访问enclave,也就是说,一旦软件和数据位于enclave中,即便操作系统或者和VMM(Hypervisor)也无法影响enclave里面的代码和数据。

Trusted Kernel 的作用

可信内核充分利用了ARM TrustZone、Intel SGX等 硬件架构的安全特性为应用程序和系统提供了全系统的保护。以移动安全支付为例,现有的大量移动手机操作系统中的恶意软件使得我们的手机很不安全。这些复杂的操作系统有很多安全缺陷,攻击者可以很容易地利用这些缺陷来攻击终端用户,例如偷窃用户的支付密码,篡改支付支付事务将钱转入攻击者账户。TrustZone 可信内核能够通过提供全系统的硬件和软件保护架构来抵御类似的攻击。

什么是 Global Platform TEE API ?

GlobalPlatform 是跨行业的非盈利组织,它的职责是开发、制定并发布安全 芯片的技术标准,以促进多应用产业环境的管理 及其安全、可互操作的部署。 TEE API 包括两部分,一部分是TEE Client API,用来提供统一的接口给运行在普通操作系统中的应用程序来调用TEE 安全应用服务。另一部分是TEE Internal API, 给运行在TEE 中的可信应用提供统一接口。