ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

电网终端加密芯片分类与选型:从国密算法到项目实践

电网终端加密芯片分类与选型:从国密算法到项目实践 做电网终端安全设计这几年加密芯片几乎是每个项目里都绕不开的元器件。从配电终端、智能电表到充电桩只要涉及远程通信、本地存储敏感数据硬件加密基本成了标配。很多工程师第一次接触这个领域时面对一堆芯片型号、算法名称和厂商宣传很容易被绕晕。这篇就把电网场景下加密芯片的分类和功能彻底讲清楚从原理到选型、从算法到实际落地结合我自己的项目经验给一份可以直接参考的拆解。先说清楚一个概念电网里用的加密芯片和消费电子里的安全芯片、金融支付里的SE芯片底层技术同源但应用要求差异很大。电网设备工作在强电磁干扰环境、宽温范围还要满足电力行业的合规检测所以选型逻辑有自己的一套。读完这篇你至少能搞清楚三件事电网加密芯片到底分哪几类、每类芯片能干什么、项目选型时怎么避坑。1. 电网为什么离不开加密芯片——先搞懂需求再选型1.1 电网终端的安全现状边界守住了终端却是短板电网的业务系统经过多年建设已经形成了比较完善的边界防护体系。变电站、调度主站、配电站房之间纵向加密认证装置、横向隔离装置层层设防“安全分区、网络专用、横向隔离、纵向认证”这十六个字是整个电力监控系统安全防护的基石。边界做了隔离和加密但接入边界内部的终端设备比如配电自动化终端DTU/FTU、站所终端、智能电表、光伏逆变器、充电桩这些年数量爆炸式增长反而成了整个防护链条上最容易突破的一环。很多配电终端部署在户外杆架上、电缆沟里物理防护几乎为零。攻击者只需要打开设备外壳通过调试串口或者JTAG调试接口就能把固件读出来逆向分析通信协议甚至直接替换固件、伪造终端身份接入主站。终端侧没有可信的信任根边界防护做得再好攻击者也能绕过去。我参与过的一个配电自动化改造项目里现场发现某品牌的老式终端竟然用明文存储通信密钥这在当下已经很难想象了但确实是存量设备的真实状态。加密芯片解决的就是这个“最后一公里”问题。它给每个终端一个不可伪造的硬件身份通信数据在终端侧就地加密密钥即使被读出也只能得到一堆密文。有了它边界防护和终端防护才能真正连成一个闭环。1.2 加密芯片在电网安全防护体系中的定位电网安全防护体系可以拆成四个层次隔离、认证、加密、审计。隔离靠物理装置完成认证和加密则要依赖密码技术而密码技术的实现载体就是加密芯片。行业内有一个讨论过很多次的问题加密算法用软件实现行不行答案是在要求不高的场景下能用但电网这类关键基础设施场景软件加密有三个硬伤。第一密钥存储不安全。软件加密时密钥要么放在Flash里要么放在文件系统里拿到固件就能提取。第二抗物理攻击能力弱。攻击者可以通过功耗分析、电磁辐射分析等方式侧信道攻击软件实现基本没有对应的防护手段。第三性能波动大且占用主控资源。加密运算对CPU占用率很高终端还要处理业务逻辑实时性很难保证。加密芯片则把这套密码运算从主控CPU里“卸载”出来做成独立的硬件安全模块。密钥生成、存储、销毁全在芯片内部完成私钥不可读出配合芯片的主动屏蔽层、总线加密、存储器加密等物理防护机制攻击成本被拉高好几个量级。这也解释了为什么国网、南网在新建和改造项目里越来越倾向于要求终端设备强制配置硬件加密芯片。1.3 合规驱动政策标准把加密芯片推成了刚需过去加密芯片在电网项目里属于“选配”但现在的政策环境已经完全不同了。《密码法》明确要求关键信息基础设施必须使用商用密码进行保护等保2.0对第三级及以上系统的密码使用提出强制要求电力行业自己的《电力监控系统安全防护规定》和一系列技术规范也把终端密码模块列为必配项。做电网项目的人对密评这个词都不会陌生。密评考核的指标包括密码算法合规性、密钥管理安全性、密码产品有效性。终端设备里的加密芯片必须取得商用密码产品认证证书算法要使用国密SM系列密钥全生命周期管理要有规范流程。这些要求直接决定了选型边界不是任何一颗加密芯片都能进电网项目必须满足合规清单。2. 电网加密芯片怎么分类——四种维度一次理清2.1 按算法体系分国密算法芯片占据绝对主流电网项目里用的加密芯片最核心的分类维度就是看它支持哪些算法。当前国内电网系统从主站到终端全面采用国密算法体系也就是SM系列算法包括SM2、SM3、SM4三种。先理解这三种算法各自干什么SM2是非对称算法基于椭圆曲线密码体制密钥长度256位。它主要用于数字签名、密钥协商和身份认证。SM2的签名验签是电网终端双向身份认证的基础相当于终端的“数字身份证盖章”。和RSA比SM2在同等安全强度下密钥更短、运算更快。SM3是密码杂凑算法输出256位摘要值。它用于数据完整性校验、数字摘要、HMAC消息认证码。简单说SM3就是给任意长度的数据算一个固定长度的“指纹”数据任何一位被改动算出的摘要就不一样。SM4是对称分组密码算法分组长度128位密钥长度128位用于数据加密解密。终端和主站之间传输的遥测、遥信、遥控报文在信道上都是SM4加密后的密文。做选型时优先确认芯片是否完整支持这三类算法。部分老型号加密芯片只支持SM1或者部分国际算法这类产品进不了当前的电网合规清单。对应的国际算法比如RSA、ECC、AES、SHA在出口产品或海外项目中还会用到但国内电网市场基本以国密为核心。2.2 按接口形态分SPI、I2C、UART、7816怎么选加密芯片与主控MCU之间通过哪种接口通信决定了硬件设计的复杂度和数据传输性能。电网终端里常见的接口形态有四种SPI接口是首选我在配电终端项目里用的基本都是SPI接口的芯片。SPI全双工、速率高一般能跑到几十Mbps适合需要批量传输加密数据的场景。比如配电终端上线时要做身份认证后续所有上报的数据都要加密SPI接口的吞吐量能撑住业务需求。I2C接口的优势是引脚少只需要两根线适合PCB面积紧张的小型化设备。智能电表就是典型场景板卡空间极其有限数据量也不大I2C虽然速率低但完全够用。UART接口在一些老平台改造项目中还能见到。有些存量设备的主控MCU资源有限必须通过串口外接加密模块UART接口的芯片此时改动最小。但串口速率上限不高不适合大数据量加密场景。ISO7816接口是接触式智能卡的标准接口部分安全芯片保留了这个接口用于特定场景但电网终端的集成度要求下用得更少了。接口选型还要看主控的硬件资源和软件适配难度。SPI接口虽然性能好但需要确保主控的SPI控制器支持芯片要求的模式CPOL/CPHA。I2C速率设置、地址冲突、上拉电阻取值这些小细节在项目联调时经常踩坑后面会详细说。接口速率引脚占用典型场景设计注意点SPI最高几十Mbps4~6根配电自动化终端、网关注意时钟极性和相位匹配I2C较低400kbps~1Mbps2根智能电表、传感终端注意地址冲突和上拉电阻UART中低115200bps~数Mbps2根存量设备改造流控配置、波特率误差7816中低2~4根特定卡类应用现代终端中较少使用2.3 按集成方式分独立芯片、SE模组和SoC融合方案按集成形态加密方案可以分成三类。理解这个分类对项目成本评估和研发工作量判断很有帮助。独立安全芯片是市面上最常见的形式。芯片作为一个独立元器件贴装在终端主板上主控MCU通过上述接口与其通信芯片内部完成密钥存储和密码运算。独立芯片方案最大的优点是灵活终端产品迭代时不需要改动主控方案只要把加密芯片加到电路板上再适配一套驱动就行适合BOM变更受控的场景。SE安全模组是把安全芯片和必要的外围电路封装成一个小模组对外提供标准接口甚至封装好的通信协议。对终端厂商来说SE模组降低了集成门槛不需要了解安全芯片内部寄存器细节软件开发量小。但模组成本比裸片高而且灵活性差适合项目周期紧、团队安全开发经验不足的场景。SoC融合方案是近几年的趋势。一部分面向电网的通信芯片、计量芯片、MCU开始在片内集成安全核Secure Element core主控芯片和加密芯片合二为一。这类方案成本最优、PCB面积最省、数据不需要通过外部总线传输安全性反而更高。但它的限制也很明显安全能力与主控绑定选型空间窄一旦选定主控后续所有产品都依赖这一家供应商的安全方案存在供应链风险。三类方案我用一个表格做了对比集成方式成本开发难度PCB面积灵活性供应链风险独立安全芯片中中中大高低SE安全模组高低中低低SoC融合方案低中小低高2.4 按安全等级与合规要求分不是所有芯片都能进电网加密芯片本身还有安全等级之分主要体现在芯片抵抗物理攻击和侧信道攻击的能力上。常见的安全认证等级包括CC EAL4、EAL5、国密二级、国密三级等。等级越高意味着芯片在抗故障注入、抗功耗分析、抗电磁分析方面的能力越强当然价格也越贵。我在电网项目选型时安全等级的选择逻辑是这样的配电自动化终端、变电站站控层设备这类关键节点优先选择通过EAL4及以上认证、持有商用密码产品型号的芯片智能电表这类量大面广、单个设备价值低的终端安全等级可以适当放宽但合规证书必须有。还有一个容易被忽略的点——供电电压范围。电网终端很多是宽压输入比如DC 9V~36V内部经过DCDC转换后给加密芯片供电的电压可能在3.3V或5V。选型时要确认芯片的工作电压范围和功耗指标是否覆盖现场实际工况尤其是户外设备在高温和低温极端情况下的电气参数漂移。3. 加密芯片的功能细节——每个功能到底解决什么问题3.1 身份认证让“假终端”无处遁形电网终端接入主站的第一步就是双向身份认证。传统方案里终端靠设备ID和密码完成认证密码一旦泄露任何人都能伪装成合法终端。加密芯片的方案完全不同每颗芯片在出厂时内部生成一对SM2密钥对私钥永不出芯片公钥通过证书体系逐级签发形成可信身份链。终端和主站之间做双向认证的过程可以这样理解终端用私钥对一段随机挑战值做签名主站用终端的公钥验证签名验证通过则确认终端身份可信反过来主站也要向终端证明自己是合法主站。整个过程基于SM2签名验签和密钥协商完成。这里有一个关键设计心得挑战值必须每次随机生成且不能重复否则攻击者可以录制认证报文重放攻击。我见过一个项目的认证流程没有加入随机数防重放机制被第三方攻破后重新设计了认证协议返工成本很高。认证通过后再通过SM2密钥协商生成会话密钥后续通信使用SM4对称加密。这种“非对称握手对称通信”的模式既保证了认证的安全性又解决了对称加密密钥分发的问题是电网终端加密通信的标准范式。3.2 数据加密传输从“明文裸奔”到“密文通道”电网终端的业务数据主要三类遥测数据电压、电流、功率等测量值、遥信数据开关位置、设备状态、遥控数据分合闸指令。这三类数据里遥控数据是最敏感的如果被篡改或者伪造会造成严重的安全事故。加密芯片的核心职责之一就是保证这些数据在终端和主站之间传输时是密文状态。具体实现上终端应用层将明文数据通过接口送到加密芯片内部芯片用SM4密钥对数据进行加密加密后的密文再通过通信模块发送到主站。SM4有ECB、CBC、CTR、GCM等多种工作模式。电网项目里我最常用的是CBC模式和GCM模式。CBC模式加解密实现简单兼容性最好GCM模式在加密的同时能完成完整性校验在通信协议设计中更高效。讲讲我在协议设计里的一个教训。有一个项目终端上报的加密报文中时间戳字段是明文传输攻击者通过重放时间戳和密文包可以造成数据重放攻击导致主站侧收到异常数据。后续把时间戳和业务数据一并纳入SM4加密范围后问题才解决。所以做加密功能时要仔细审查整个报文结构任何明文可控的字段都可能成为攻击面。3.3 完整性校验防篡改的“哨兵”加密解决的是数据泄密问题完整性校验解决的是数据篡改问题。电网通信报文在传输过程中可能被中间人恶意修改比如把遥控报文里的“分闸”改成“合闸”破坏电力系统稳定运行。SM3算法和HMAC-SM3就是用来防这个的。SM3对数据计算摘要任何一位改动都会导致摘要变化。但在实际应用中直接对明文计算摘要安全强度不够因为攻击者同样能计算摘要然后替换。正确做法是用HMAC-SM3也就是在计算摘要时加入双方共享的密钥攻击者不知道密钥计算不出合法的消息认证码。在电网终端固件里HMAC-SM3通常用在两类报文上一类是下行遥控报文的认证标签主站用密钥给指令报文算MAC终端收到后验证MAC验证通过才执行动作另一类是上下行全报文的MAC保护应用层加上MAC后打包发送接收方验MAC再处理业务数据。3.4 安全存储与密钥管理密钥不落盘是底线加密芯片最核心的价值是提供了一个防篡改、防读取的密钥存储空间。电网终端里涉及的关键敏感信息包括设备认证私钥、会话密钥、根密钥、数字证书、固件加密密钥等。这些信息如果放在外部Flash里拿到固件就能提取放在加密芯片里即使攻击者物理拆解芯片也很难读取内部数据。芯片内部的安全存储区设计有访问控制机制。不同角色的密钥分属不同安全域比如认证私钥只能用于SM2签名运算不能通过接口直接读取会话密钥可以在安全区内生成、更新但不能导出。芯片还支持密钥使用计数、密钥有效期设定等管理功能在密钥过期或异常使用时自动失效。密钥的注入过程也需要工程化设计。电网项目一般由安全厂商或系统集成商负责密钥灌装产线通过专用的发卡器/灌装机向芯片注入密钥和证书整个流程包括密钥生成、层级保护、传输加密、正式注入、密钥激活等多个环节。我的经验是项目启动阶段就要把密钥灌装流程想清楚确定好谁来生成根密钥、谁来下发设备证书、产线灌装采用什么保护机制否则后期要推倒重来。3.5 安全启动与信任根让终端固件不被掉包除了通信加密加密芯片在电网终端中还有一重角色作为系统可信根支撑安全启动Secure Boot。终端上电后主控首先执行加密芯片引导代码逐级校验Bootloader、操作系统、应用固件的SM3摘要或SM2签名任何一级校验失败系统就不启动。这样攻击者即使物理接触设备也无法通过替换固件植入恶意后门。这个功能在大规模终端运维场景里尤其有价值。电网的设备数量动辄数十万台远程运维、远程升级是常态安全启动能力保证了升级包即使被截获也只有在通过完整签名校验的情况下才会被执行。4. 电网典型场景中的选型思路与实操避坑4.1 配电自动化终端DTU/FTU的加密芯片选型配电终端是加密芯片用量最大的场景之一。一颗DTU通常包含CPU板、通信板、电源板加密芯片贴在主控板上通过SPI接口和主控通信。选型时我会重点评估三点第一算法完整性与证书。确认芯片持有效商用密码产品型号证书这是过检的前提。第二接口速率。配电终端上报的数据量相对可控SPI接口的主流芯片基本都满足需求但要注意数据帧较大时的缓存设计。第三环境适应性。配电终端户外部署占比高芯片要满足工业级温度范围-40℃~85℃抗静电等级要足够EMC性能也要经得起现场考验。实测经验我在项目中测试过不同品牌芯片在同样SPI接口速率下有的芯片连续大数据量加解密时温度漂移明显个别芯片在高温运行时出现偶发SPI通信错误。产测阶段一定要做48小时以上的高温老化加并发通信压力测试不能只看芯片datasheet。4.2 智能电表的加密芯片选型智能电表是另一个加密芯片的应用大户。电表里的加密芯片主要做三类事费控指令的签名验证、用电数据的封包加密、本地通信如红外、RS485的认证保护。由于电表成本压力大、板卡面积小、功耗要求严格电表上用的加密芯片通常选择低功耗、小封装的型号。电表场景的特殊性在于计量法规定电表内部计量数据和加密模块要严格隔离。加密芯片坏了可以更换但计量部分不能被影响。所以电表方案里加密芯片通常独立布置使用I2C接口一方面引脚少另一方面电表主控MCU的SPI资源有限需要留给计量芯片和通信模块。设计时注意I2C地址冲突和总线电容问题电表PCB上器件密集I2C走线过长时波形失真导致通信不稳定是常见故障点。4.3 充电桩与新能源接入加密芯片的新战场充电桩、储能电站、分布式光伏是近几年加密芯片需求增长最快的场景。以充电桩为例它同时涉及三个层面的安全问题充电计费数据不能被人篡改、用户身份和支付信息要保密、充电桩接入电网调度时要通过身份认证。车网互动V2G场景下电动汽车向电网反向送电涉及的远程控制指令安全级别更高全部需要通过加密认证。这类场景的加密芯片选型要和具体的通信协议绑定。充电桩一般有以太网/4G通信模块加密芯片需要提供较高的并发处理能力——一个充电桩可能同时处理多辆车的认证和计费单片加密芯片的并发性能指标要认真测试不能只看DPS每秒数字签名次数标称值。4.4 选型时容易踩的五个坑第一个坑只比价格不看合规证书。电网项目招标文件里基本都要求提供商用密码产品型号证书没有证书的芯片价格再低也不能用。审核证书时还要注意证书上的产品名称和型号是否与送检芯片完全一致有些厂商系列产品里只送检了一个型号其他型号是“兼容”的严格合规评审时过不了。第二个坑接口时序不兼容导致联调周期失控。不同厂商的加密芯片对SPI时序的要求差异很大有的要求主控做奇校验有的默认从模式就绪时间不同。选型阶段最好拿主控开发板和加密芯片评估板实际搭一套跑一遍通信测试再定硬件方案。第三个坑密钥灌装流程没提前规划。芯片到了产线才发现没有灌装设备或者灌装方案和供应商不兼容这种情况我见过不止一次。密钥灌装涉及硬件设备、上位机软件、密钥管理流程每一步都要在项目计划里留足时间。第四个坑低估了芯片功耗对整机的影响。加密运算时芯片瞬态电流可能达到几十毫安电源设计余量不足时加密操作会导致整机电压跌落严重的会触发主控复位。设计阶段就要核算加密芯片峰值功耗电源的确要留足余量。第五个坑忽略压测和长期稳定性测试。加密芯片在持续高强度运算时部分型号会出现性能下降、返回错误码等问题。出货前必须做全性能压测建议至少7x24小时连续运行用例覆盖频繁认证、持续加密、批量密钥更新等场景。5. 我将这次的踩坑经验整理成速查表最后整理了一张问题速查表都是实际项目中遇到且解决的典型问题供参考问题现象可能原因排查方向SPI通信偶发乱码时钟极性和相位配置不对使用逻辑分析仪抓波形与芯片手册时序图逐一比对I2C通信不稳定上拉电阻取值不当或总线过长检查I2C总线电容调整上拉电阻至2.2k~4.7kΩ认证失败率高随机数重复或防重放机制缺失检查随机数源确认挑战值每次真实随机且不重复加密后数据下发主站解不开芯片使用的SM4工作模式与主站不一致核对CBC模式下的IV值与填充方式是否两端一致高温老化后加密性能下降芯片散热设计不足或性能余量不够检查芯片周围铺铜散热情况必要时降低连续负载产线灌装密钥后首次使用异常灌装过程中密钥未正确激活检查灌装流程末尾的密钥激活步骤和激活状态上报做电网项目这些年我最大的体会是加密芯片选型不是在选一个元器件而是在选一整套安全管理体系。硬件只是载体真正决定项目成败的是密钥管理体系、通信协议设计、产线灌装流程和安全运维能力。如果你是第一次做电网终端的加密改造建议从成熟方案入手先抄好行业标杆的作业再逐步深入理解每一层设计背后的安全意图。等整个体系跑顺了你会发现加密芯片给项目带来的不只是合规更是产品整体安全水平的一次跃升。
返回列表