最近芯片设计公司开始要求“芯片安全”和“可信设计”,这对数字IC前端设计工程师提出了哪些新要求?

开放4 回答 152 浏览

看到新闻说芯片安全越来越受重视,包括硬件木马防护、侧信道攻击防御、可信执行环境等。这些“芯片安全”或“可信设计”的概念,对于日常做逻辑综合、代码编写的数字IC前端设计工程师来说,意味着什么?需要在设计流程中增加哪些额外的考虑和检查?是否需要学习密码学或安全协议相关的知识?这个趋势是否会创造新的岗位机会?

分享:
  • 逻辑设计新人Leo

    作为数字前端,现在写代码时得时刻绷着一根安全弦了。以前可能更关注功能、时序、面积,现在安全成了必须考虑的维度。比如,你写的模块会不会无意中泄露密钥?状态机有没有可能被恶意操控跳转到非预期状态?这些都得在设计和验证阶段就想清楚。

    具体到流程上,我觉得公司大概率会引入安全设计规范(Security Design Guidelines),要求工程师在架构设计和RTL编码时就遵循。比如,对敏感数据(密钥、配置寄存器)的访问必须加权限检查;避免使用组合逻辑直接处理密钥,防止毛刺泄露;关键控制信号要做冗余和一致性检查。

    验证方面,除了功能仿真,可能还要做安全漏洞的定向验证,比如尝试用非法的访问序列去攻击自己设计的模块,看看防护是否生效。

    是否需要学密码学?了解基本原理肯定有帮助,比如对称加密、哈希、随机数生成的基本概念,这样你才知道怎么和安全IP(如密码加速器、真随机数发生器)正确交互。但深度密码学分析可能还是安全专家的活。

    新岗位肯定有,比如芯片安全架构师、安全验证工程师。但对我们普通前端来说,更现实的是技能升级——把安全思维融入日常设计,变成你的附加值。

  • 单片机新手

    简单说,就是设计时得‘防小人’。以前假设环境是友善的,现在得假设有人处心积虑想搞破坏或窃密。

    对前端工程师的新要求,我体会最深的有几点:

    第一,代码风格要变。比如,以前写参数配置,可能直接几个寄存器搞定。现在对于安全相关的配置,必须设计成‘锁死’机制——一旦写入,除非全局复位,否则不能修改,防止运行时被篡改。

    第二,对工具的理解要更深。逻辑综合时,你知不知道工具会不会为了优化面积,把你的安全逻辑(比如冗余比较器)给优化掉?这需要你设置恰当的编译指令和约束,甚至要检查综合后的网表。

    第三,更注重代码审查(Code Review)的安全专项。我们组现在Review时,会多问一句:这段逻辑有没有潜在的信息泄露通道?比如,一个看似普通的计数器,如果它的值能通过某种侧信道(如功耗)被推测出来,会不会间接泄露秘密?

    学习方面,密码学原理要懂点,但更重要的是学习‘硬件安全实践’。网上有一些开源的安全设计指南(比如来自某些处理器项目),看看人家是怎么在RTL层面做防护的,比啃密码学课本更直接。

    岗位机会方面,专门的安全工程师岗位会增加,但要求很高。对于大多数前端,公司更希望你具备基础的安全意识,能和专家配合。这算是一个细分发展方向吧。

  • 数字IC萌新

    从流程角度看,这意味着前端设计需要嵌入‘安全活动点’。

    1. 在架构定义阶段,就要进行威胁建模(Threat Modeling)。识别芯片中哪些资产(如密钥、固件、用户数据)需要保护,可能面临哪些攻击(非法访问、物理探测、故障注入等)。前端工程师要参与,因为你知道哪些模块敏感、数据流怎么走。

    2. RTL设计阶段,要落实安全机制。举几个具体例子:
    – 所有对安全关键寄存器的访问,必须通过一个集中式的权限管理单元检查,而不是每个模块自己判断。
    – 总线和网络-on-chip(NoC)上传输敏感数据时,要考虑是否要加密或完整性保护。
    – 使用安全IP(如PUF、TRNG)时,要严格按IP要求集成,比如时钟质量、噪声隔离等。

    3. 验证阶段,安全验证(Security Verification)会成为新任务。这不仅仅是跑测试向量,可能要用到形式化验证工具,证明某些安全属性(比如‘非授权用户永远无法读取密钥寄存器’)在任何情况下都成立。

    4. 交付物除了代码和综合网表,可能还要输出安全相关的文档和证据链,证明设计考虑了哪些威胁并做了防护。

    学习上,密码学基础有必要,但硬件安全课程(侧信道分析、故障攻击、硬件木马)更相关。Coursera上有些入门课。

    新岗位如‘安全设计工程师’、‘安全验证工程师’肯定会出现。但我觉得,对现有前端工程师最大的影响是知识结构更新——安全变成和功耗、性能、面积并列的设计约束了。

  • FPGA萌新成长记

    我是一家初创公司的前端,最近刚做完一个带安全需求的项目。说点实在的。

    新要求就是:你设计的东西,不仅要work,还要‘防得住’。

    具体到日常,公司会给你一堆checklist。比如:
    – 有没有未使用的测试端口(如Scan chain, JTAG)留在了生产芯片里?这些可能是攻击入口,必须能彻底关闭或锁定。
    – 你的中断控制器,会不会被恶意软件用来触发非法的特权模式切换?
    – 缓存的设计,会不会因为侧信道(如时间差)泄露访问模式?

    需要增加的设计检查很多是‘反直觉’的。比如,为了防故障注入攻击(Glitch attack),关键的安全状态机可能需要用三模冗余(TMR)来实现,或者用双轨逻辑检查时序违规。这直接增加了面积和功耗,你需要和安全架构师、项目经理来回权衡。

    学习方面,密码学协议细节不用太深,但得知道AES、SHA、RSA是干啥的,以及它们对硬件资源(面积、时序)的大概需求,这样在做系统集成时心里有数。更重要的是理解硬件攻击手段,比如功耗分析(SPA/DPA)、电磁辐射探测,这样你才知道为什么要在算法实现里加掩码(masking)或隐藏(hiding)技术。

    岗位机会?当然。我们就在招懂安全的前端,工资比普通前端高一大截。但要求也高,你最好有实际流片过的安全模块经验。建议可以从参与一些开源硬件安全项目(比如OpenTitan)开始积累经验,哪怕只是读代码、做贡献。

登录后可在本页底部提交回答

提问者

FPGA学员5查看主页

描述场景与已尝试方案,更容易获得有效解答

浏览「其他」

相关问题

同分类问答

提问建议

  • 标题写清核心疑问,避免「求助」「请问」等空泛用语
  • 正文补充环境、版本、报错信息或截图
  • 先搜索本站是否已有相近问题,减少重复提问
  • 若与课程相关,请标明课时或章节便于讲师定位

技术问答

问完之后的闭环

  • 关联课程精学高频问题往往对应章节,建议回到课程补基础。
  • 产出与互助解决过程可写成笔记,帮助后续同学。

探索全站