一种城市轨道交通综合监控系统的数据安全方案
摘要:目前城市轨道交通软件在传输数据保护方面还是处于很原始的状态,其算法大多是国际较老的算法,而且很多数据库存储和文件存储都处于明文状态;针对此现状提出使用国家密码技术来保护软件不被攻击和信息泄露。本文以轨道交通综合监控系统使用国家密码技术为例介绍了原理和具体实现过程。
关键词:城市轨道交通;综合监控系统;数据安全方案
0 引言
近年来城市轨道交通日益重要,其使用的综合监控系统的安全性也是备受关注,以往综合监控大多采用是常见的DES/RSA/MD5算法,这些算法均是上世纪七八十年代提出的。国家密码算法则是更加先进的、更加安全的算法。
国家密码算法是国家密码局提供的加密算法。本文中使用到算法有SM2对称加密算法、SM3消息摘要算法、SM4对称加密算法。
1、使用国家密码算法的作用和价值
1.1 国家密码算法更符合国情
国家密码算法比常见的算法先进,安全性更高,更加符合国家提出的城市轨道交通设备国产化,符合国家产业发展政策,更符合国情。
1.2 使用符合国密标准的智能密码钥匙进行身份验证
本文中使用的智能密码钥匙(UsbKey)是一种基于USB接口的硬件设备,内置智能卡芯片,可以存储用户的密钥和数字证书。
1.3 使用国家密码算法加密通信报文
综合监控系统在发送网络报文时,使用网络密钥和国密算法将网络报文加密;在接收报文时,先判断网络报文的有效性和完整性,验证通过后才正确解析数据。
1.4 使用国家密码算法加密存储数据
综合监控系统在读写存储的数据时,使用存储密钥和国密算法进行加解密。
2、实现方式
2.1 密钥的产生和存储
综合监控系统中使用的密钥有网络通信密钥、数据存储密钥、认证服务器的公钥私钥、工作站用户的公钥私钥。
认证服务器中除保存自己的公钥和私钥外,也保存使用自己公钥加密网络密钥和存储密钥(SM2加密)生成的密文。同时也有用户列表信息。
工作站上面不保存任何密钥,用户的公钥私钥是存放在UsbKey中。
2.2 工作站软件启动流程
工作站软件在启动时的执行步骤如下:
第一步:先到认证服务器验证UsbKey身份是否有效;验证失败则退出系统。
第二步:验证通过后,认证服务器加密两个密钥并下发给该工作站软件。
第三步:使用网络密钥加解密网络传输的报文。
第四步:使用存储密钥加解密存储的数据。
2.3 身份验证
工作站软件启动时的身份验证步骤:
第一步:工作站软件首先获取UsbKey中存储的用户标示,并将该用户标示发送给认证服务器。
第二步:认证服务器收到用户标示后,使用国密技术生成一个随机数作为挑战值,将该挑战值返回给工作站软件。
第三步:工作站软件收到返回的挑战值后,使用挑战值和UsbKey中的用户标示及公钥信息生成一个响应值,之后将响应值返回给认证服务器。
第四步:认证服务器收到响应值后推算出用户标示,比对推算出的用户标示和传递来的用户标示是否一致,将对比结果返回給工作站软件。
第五步:工作站软件收到返回的认证结果后,成功可继续启动系统,失败则退出系统。
2.4 密钥下发
密钥下发时不能直接明文传输,在源数据报文确定后,先将数据报文做摘要加密(SM3加密),再使用用户公钥加密(SM2加密)生成用户的数据签名,该数据用来做有效性和完整性判断。对整个源数据报文使用用户公钥加密(SM2加密)生成数据加密报文。
密钥传输报文结构:用户数据签名+数据加密报文。
数据有效性判断:从报文中获取用户的数据签名,使用用户私钥解密(SM2),得到数据内容摘要。
数据完整性判断:从报文中获取数据加密报文,使用用户私钥解密(SM2),得到原始报文,再做摘要加密(SM3加密),得出的摘要数据与在数据有效性判断中解密出的数据对比,对比一致表示报文完整的;否则不是完整数据。
2.5 加解密通信报文
通信报文与密钥传输一样不能明文,其结构也类似。
通信报文结构:用户的数据签名+数据加密报文。
用户数据签名与密钥传输报文采用的算法一样,数据加密报文的解密是采用网络密钥解密(SM4解密),网络密钥就是从认证服务器下发的。
数据的有效性判断与密钥传输的有效性判断一致。
数据的完整性判断与密钥传输的完整性判断类似,只是数据解密采用SM4解密,其他逻辑一致。
2.6 加解密存储数据
需要加密存储的数据主要分为两类,一类是存储在数据库中的一些敏感字段,一类是敏感文件。
数据库中的敏感数据,直接使用存储密钥加解密(SM4)。
敏感文件内容是使用存储密钥加解密(SM4);另外在文件头加入文件数据签名(SM2),是用来做完整性判断的。其结构为:文件数据签名+文件内容加密数据。
3、结束语
对于保护城市轨道交通行业数据不被破坏和泄露的方法很多,使用国家密码算法的方法也很多,本文仅以城市轨道交通综合监控使用国家密码算法为例,介绍了身份验证、通信加密、数据加密等方法。