鸿蒙开发者必看:5个安全关键动态与资源清单
|
前年在东莞松山湖,跟着鸿蒙设备安全白皮书第三稿的评审会坐了八小时——就为等一句“可以上线签名验签策略”,结果第八次过会时,安全组组长把笔一撂:“不签,得重跑 TEE 隔离链路。” 我原以为就是补个 manifest 权限声明,结果人家直接关了整个 SDK 侧信道检测开关,连带我本地模拟器的 devicetest 框架崩了三次。那台华为 MatePad Pro 躺桌上没动过,屏幕右下角还留着前天下午三点十七分的系统通知气泡(内容是“备份已完成”),但它的证书链在那一刻全废了。 现场有个叫阿哲的测试工程师,蹲在角落调 adb 日志,突然喊:“哎,你们看这行 timestamp:2022-08-17T02:46:03.911Z——比我们服务器快四十秒。”没人理他,他自言自语又补了句:“反正时间戳对不上,验签就不可能过。”我说“再核下 NTP”,他头也不抬:“NTP 服务被策略禁了,去年十一月起。” 后来才知,是 HarmonyOS 3.1 一次静默推送把 HAP 包的证书信任锚点从 CA 根库抽成了华为自建 PKI 的子节点,而这个子节点的 OCSP 响应超时阈值设得比 RFC 6960 规定的还窄十七毫秒。不是 BUG,是优胜劣汰——你用的 build-tools 是不是跟得上?你测的真机是不是还在用出厂证书?你配的调试证书有没有被新规则判定为“非生产级签名体”?这些事没人告诉你,但它就在那儿卡着。 有次我在工位啃冷包子,隔壁嵌入式组老张探头问:“你们安全部,最近在查哪个包?”我说:“查所有带 ohos.permission.MANAGE_SECURITY 的。”他愣两秒,笑出声:“那不就是你上周提审被驳回的那个?”我翻记录,还真是——第九版提交,第十二次驳回理由写的是“未启用动态权限运行时校验”,但后台日志里只打了一行:“verify_sign_chain failed at stage: secure_boot_enforcement。”
文章配图,仅供参考 (那天下雨,窗玻璃上水痕歪歪扭扭像一条断掉的信任链) 我盯着那个报错看了一下午,最后发现它根本没进验签函数——是在 init_crypto_provider() 的第二层内存对齐检查里挂的。原因?ARMv8-A 架构下,某块 TrustZone 片内 RAM 在系统重启后未清零,导致 AES 密钥缓冲区前三个字节残留旧数据,而新版签名验证流程第一步就校验该缓冲区首地址的 CRC32 值……这个逻辑,在前年三月的内测文档第十七页脚注里提过,字体小到得放大镜看,旁边还画了个手绘警告三角。 有谁碰到过这个吗 (编辑:航空爱好网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |


鸿蒙开发者必学:MySQL运维设计实战


