解释可信执行环境验证的特殊要求
解读
面试官抛出该问题,并非想听到“TEE=TrustZone”这类教科书式定义,而是考察候选人是否理解“安全”在芯片验证维度上与普通功能的本质差异:
- 验证目标从“功能正确”升级为“抗攻击正确”;
- 验证方法从“覆盖率驱动”扩展到“威胁驱动”;
- 验证证据必须能被安全认证机构(如国密、CC EAL、银联、工信部安全审查)采信。
因此,回答要围绕“安全属性”展开,突出“防篡改、防侧信道、防滥用”三大维度,并给出可落地的验证手段。
知识点
-
安全属性模型:
- 机密性(Confidentiality):密钥、明文、指纹等敏感数据生命周期内不可被非安全世界观测;
- 完整性(Integrity):安全镜像、关键寄存器、熔丝值不可被非授权修改;
- 可用性(Availability):安全服务不能被DoS攻击永久关闭;
- 防重放(Anti-replay):升级包、认证令牌可被检测重放;
- 防侧信道(Side-channel resistance):功耗、电磁、时序不泄露密钥。
-
国内合规增量:
- 国密算法SM2/3/4必须硬件加速且通过国密二级以上检测;
- 可信度量根(RTM)需符合TCM 1.2/2.0规范,启动度量值要能被国家商密后台校验;
- 安全BOOT与下载模式必须支持工信部“防刷机”抽查要求,即关闭全部非签名调试口。
-
验证技术栈:
- 形式化验证:对访问控制矩阵、信息流策略做模型检测,证明“高安全级数据永不流向低安全级接口”;
- 故障/注入验证:利用芯片级激光、电磁毛刺平台,模拟现实攻击,确认双计数器、冗余校验、传感器报警电路有效;
- 侧信道采集:用国产SCOPE-5000采样板卡,采集10万条功耗曲线,执行TVLA、t-test,确保r-value<0.05;
- 覆盖率增补:在传统代码/功能覆盖之外,新增“安全覆盖”维度——威胁枚举→攻击树→测试用例,用Jasper或Questa SecureCheck追踪;
- 安全签名回归:任何设计变更必须重新跑完“安全用例库”,并由安全经理签字,方可合入主干。
-
Sign-off checklist(国内流片常验):
- 安全ECO清单清零;
- 国密算法后仿真向量与CAVP比对一致;
- 侧信道TVLA报告通过第三方实验室(如信通院、赛西实验室)审核;
- 形式化验证property 100% proven,无undetermined;
- 故障注入测试通过10×9次无敏感信息泄露。
答案
“在TEE验证中,我们首先要完成从‘功能正确’到‘抗攻击正确’的视角转换,围绕机密性、完整性、可用性、防重放、防侧信道五大安全属性建立验证计划。
第一步,用威胁建模方法把应用场景拆成安全世界/非安全世界接口,画出攻击树,输出安全验证需求,并映射到覆盖项。
第二步,搭建双轨验证平台:
a) 在UVM环境里,对SM2/3/4加解密通路跑定向向量+随机向量,确保结果与国密官方CAVP向量一致;
b) 用JasperGold对访问控制逻辑做形式化证明,保证非安全主永远无法读取密钥寄存器,property覆盖率100%。
第三步,做故障注入与侧信道验证:
- 在FPGA原型上插桩电磁探头,跑10万条功耗曲线,执行TVLA测试,r-value<0.05方可过关;
- 用激光故障仪对PC指针寄存器打毛刺,验证双计数器+传感器能否在3个周期内触发安全复位并清零密钥。
第四步,回归与签收: - 建立独立‘安全用例库’,任何RTL更改必须全量回归,并由安全经理签字;
- 最终提交国密二级检测报告、CC EAL5+形式化证明包、侧信道TVLA报告,作为sign-off依据。
通过上述流程,才能把‘可信’二字真正落到硅片里,满足国内金融、政务、运营商对芯片安全的强制准入门槛。”
拓展思考
- 随着RISC-V开源架构在国内AIoT领域兴起,如何在开源核上快速搭出符合国密要求的TEE,成为验证团队的新命题。可提前研究开源PMP+IOPMP与商业形式化工具的结合,形成“开源核+国密+形式化”一站式验证方案。
- Chiplet与3D封装趋势下,安全边界从SoC级延伸到封装级,Die-to-Die接口的机密性如何验证?未来可能需要把侧信道采集探头做到Interposer上,验证思路要从“单颗芯片”升级到“多颗芯片+封装”协同。
- 国内已启动《汽车芯片安全审查要求》,车规TEE需同时满足AEC-Q100与EAL6+,温度范围-40~150 °C,验证平台需增加高低温故障注入舱,提前布局可抢占车规安全芯片验证高地。