2019年9月6日,华为鸿蒙获得了国际CC的EAL5+的证书,消息一出,业界一片哗然。一方面赞叹华为的技术实力无人能及,另一方面却对操作系统为什么能获得EAL5+表示百思不得其解。
首先说华为鸿蒙获得的EAL5+证书是真的,可以通过国际CC官网查看到证书,CC官网上不仅公开了其认证报告,还公开了鸿蒙的ST(安全目标),通过这两份文档,能深入的了解鸿蒙的安全性。
笔者将通过公开获得资料,以及自己对CC国际技术评估安全体系的了解,重点分析鸿蒙为什么能通过EAL5+的认证,鸿蒙EAL5+认证是否能代表其安全性强于安全实体SE,金融支付应用和通信应用放在鸿蒙上,能否保证安全。本文适用于对信息安全有所了解的同学,如果对信息安全或者cc体系不了解,需要先自行查阅相关内容。
图1 鸿蒙EAL5+证书
1 认证的鸿蒙是什么
回答这个问题,需要先阅读华为的ST文档。本次认证产品名称Hongmeng V1.2, TOE(评估对象)范围明确限定在TEE的一部分,硬件平台和部分安全固件(firmware和bootloader)并不在评估范围内。
图2 鸿蒙评估对象(TOE)
但是,华为是有自己的TEE的,名称Huawei iTrustee v2.0,并且在2018年2月获得了EAL2+的认证。鸿蒙和iTrustee有什么区别,因为ST文档只描述安全方面的功能,所以不能给出确定的结论,笔者猜测,iTrustee是符合GP标准的TEE,因为其遵循的规范是有GP组织发布的;而鸿蒙,应该是一个广义上的TEE,即一个专注于安全的独立操作系统,但是和GP标准的相关性不大,毕竟TEE的全称是可信执行环境,只要专注安全可信的操作系统,都可以叫做TEE,就向Android可以叫OS,Windows也可以叫OS,自己定义一个操作系统也可以。
图3 华为TEE iTrustee证书
2 TEE为什么普遍被认为只能过EAL2+的认证?
鸿蒙之所以让业界震惊,就是因为鸿蒙的EAL5+打破了TEE只能过EAL2+的固有概念,让TEE的安全等级有了质的飞跃。
为什么业内普遍认为TEE只能过EAL2+的认证呢?回答这个问题之前,需要先用一点篇幅介绍一下安全技术评估的体系,了解一下CC、PP和ST的关系,篇幅有限,所以介绍的既不全面也不准确,一切以简单易懂为原则,如果想更加深入的了解CC体系,可以拜读石竑松教授的论文或者私信我。
CC全称Common Criteria for Informa