王滨滨,陆从杭,狄 鹏,胡 莽,朱伟泳
(上海飞奥燃气设备有限公司,上海 201201)
近年来,我国城市建设迅猛发展,许多城市正在向智慧城市迈进。户用燃气表是天然气配送过程中必不可少的计量仪表,涉及每一户城镇居民。保证智能燃气表免遭信息泄露、恶意攻击,确保通信安全,成为无法回避的问题。
当前,智能燃气表普遍采用软件加密方式,不论密码认证还是密钥认证,都是储存在内部微控制器或外部储存介质上。这种设计的问题在于,微控制器的程序设计不由燃气公司控制,而是由燃气表生产企业或委托的第三方设计单位完成,当智能燃气表投入使用后,由于除燃气公司外还有其他人员掌握涉及安全的核心内容,数据一旦泄露,后果严重。
为了解决上述问题,在加密方式的设计上应采用硬件安全控制模块(即嵌入式安全控制模块,ESAM)。硬件安全控制模块负责加密、解密、验证及分析处理,可以由燃气公司设置完毕后,提供给燃气表生产企业安装在智能燃气表中。既实现了智能燃气表的安全性,又不妨碍燃气表生产企业继续发展和完善智能燃气表的功能。本文对硬件安全加密在智能燃气表的应用进行探讨。
智能燃气表应用体系架构(见图1)主要包括设备层、网络层、应用层。设备层是对信息进行感知、采集以及加密、解密的设备全体,主要包括智能燃气表、硬件安全控制模块,是信息和数据的感知层和安全加解密处理单元。网络层是信息和数据的传输层及通信基础,负责将设备层采集到的数据传输到应用层进行进一步的处理。可适应不同的应用场景和不同网络的接入和连接,网络形式主要包括NB-IoT/LoRa无线网络、GPRS/CDMA无线公网、光纤专网等。应用层配置服务器(本地服务器、云服务器)、加密机,并以服务器为载体构建燃气业务应用平台、密钥管理系统,负责对智能燃气表的密钥进行管理以及对传输数据的加密、解密、验证及分析处理。
图1 智能燃气表应用体系架构
智能燃气表应用体系数据收发流程见图2。数据上行:业务流程由智能燃气表发起,先组织上行数据,并发送给智能燃气表内的ESAM进行数据加密、计算MAC(Message Authentication Code,消息鉴别码)和数字签名,然后将数据通过通信网络上传至燃气业务应用平台。燃气业务应用平台接收数据后,将数据发送给密钥管理系统、加密机进行数据解密、验证MAC和数字签名,最终开展业务处理。数据下发:业务流程由燃气业务应用平台发起,先组织下行数据,并发送给密钥管理系统、加密机进行数据加密、计算MAC和数据签名,然后将数据通过通信网络下发至智能燃气表,表端接收后,将数据发送给ESAM进行数据解密、验证MAC和数字签名,最终由智能燃气表执行业务处理。
图2 智能燃气表应用体系数据收发流程
① 硬件安全控制模块
ESAM是将一张具有COS操作系统(China Operating System,中国自主系统)的CPU卡,通过DIP8(直插8脚封装)或SOP8(贴片8脚封装)的封装形式,将其嵌入智能燃气表中。负责完成数据的加密、解密、双向身份认证、访问权限控制、通信线路保护、临时密钥导出、数据文件储存等多种功能。
支持国密算法SM1/SM7,可选支持三重数据加密算法3DES。具备可抵抗SPA(Simple Power Analysis,简单能量分析攻击)、DPA(Differential Power Analysis,差分能量分析攻击)攻击的硬件DES(Data Encryption Standard,数据加密标准)协处理器及符合FIPS140-2标准的真随机数发生器。芯片内部时钟振荡器为系统提供时钟,确保CPU运行不受外部环境干扰。具备外部电压检测机制、外部频率检测机制、内部电压检测以及Power-On保护机制、储存器保护机制、地址加扰数据加密。支持3种通信接口:ISO7816接口、SPI接口、IIC接口。
② 加密机
加密机外形酷似PC机箱,主要用于储存密钥、加密与解密通信中的关键业务数据和参数、计算业务流程的MAC,保证交互中敏感数据的安全等。
加密机与ESAM可以在燃气业务应用平台与智能燃气表之间建立端对端的数据安全通道,并通过有线、无线网络进行数据的加密传递,密钥和算法在加密机与ESAM内部进行,可抵御一定程度上的安全攻击。
③ 密钥管理系统
密钥管理系统可以为燃气业务应用平台提供统一的密钥生产和管理平台。对于敏感操作执行双人鉴权,保证敏感操作的双向控制,提高系统的安全性。主要由密钥服务子系统、密钥管理子系统、系统管理子系统组成。
a.密钥服务子系统
密钥服务子系统是一个独立的套接字(Socket)服务,可以提供身份认证服务、数字签名、验证服务、密钥服务。燃气业务应用平台运行过程中所需的各类密钥都需要调用密钥服务子系统的密钥服务生成,并存放在加密机中。密钥服务包括对称密钥的加密与解密、MAC计算、密钥分散,非对称密钥的数字签名、验证签名、摘要算法等也是通过密钥服务完成的。
b.密钥管理子系统
负责密钥的生成、使用、导出、备份、恢复等整个生命周期的管理。
c.系统管理子系统
主要负责密钥管理系统中用户权限和操作日志的管理。
采用硬件安全控制模块的智能燃气表,可以很好地兼顾系统安全性、技术先进性、标准兼容性、应用可扩展性和经济实用性,具有较高的性价比,值得大力推广。