煤矿安全监控系统数据加密技术

马汝超1,2, 赵亮1,2

(1.中煤科工集团常州研究院有限公司, 江苏 常州 213015;2.天地(常州)自动化股份有限公司, 江苏 常州 213015)

摘要:针对《煤矿安全监控系统升级改造技术方案(征求意见稿)》对安全监控系统数据加密存储的要求,研究了数据库加密技术,测试并对比了DES、RSA、同态、二进制序列化4种加密算法的性能,提出了一种适用于煤矿安全监控系统、针对不同字段类型采用不同加密算法的数据加密方案,实现了对安全监控系统数据的安全、快速加密存储。

关键词:煤矿安全监控; 数据加密; 数据解密

0 引言

经过“六大系统”建设,中国所有煤矿基本已建设完成安全监控系统。安全监控系统能够实时、连续、准确地监测井下环境参数,如瓦斯浓度、环境温度等,并自动进行瓦斯超限报警和断电,是预防瓦斯事故不可或缺的工具和手段,为矿井安全生产提供了有力保障。

AQ 6201—2006《煤矿安全监控系统通用技术》[1]要求“软件必须具有防止修改实时数据和历史数据等存储内容(参数设置及页面编辑除外)功能”。但实际上大部分生产厂家的煤矿安全监控系统仅采用数据库安全机制保障数据安全,并未对监测数据进行加密处理,以明文的方式直接存储到数据库中,导致个别煤矿利用数据库漏洞或其他非法手段违规篡改、删除数据,安全保密性差。

2015年11月25日,国家煤矿安全监察局科技装备司发布了《煤矿安全监控系统升级改造技术方案(征求意见稿)》[2],明确要求煤矿安全监控系统“增加加密存储要求”。针对该要求,本文对数据库加密技术、加密算法进行了深入研究,并对多种加密算法进行性能测试,同时根据煤矿安全监控系统架构及数据特点,提出了一种合理的数据加密方案。该方案结合多种高效加密算法,实现了在不影响安全监控系统性能的情况下对监测数据的加密存储。

1 煤矿安全监控系统架构

煤矿安全监控系统主要由井上监控主/备机、数据库服务器、Web服务器、工作站,井下矿用本质安全型智能网关、矿用本质安全型分站、矿用本质安全型智能电源、各类矿用本质安全型传感器和控制器等组成,如图1所示。

图1 煤矿安全监控系统架构

2 数据库加密技术

2.1 加密技术

数据库加密是保护数据安全的主要手段。基于

存储层加密的防护方式不仅可以有效解决数据库明文存储引起的泄密问题,还可以阻止来自内部或外部的非法访问、修改、删除数据等行为[3]。根据安全监控系统升级改造要求,监测数据需加密存储。但安全监控系统存储的监测数据结构复杂、数据量大,对其加密存储时,应对加密算法、加密粒度[4]及加密方式进行合理选择,并满足以下基本要求:

(1) 安全监控系统监测数据尤其是关键数据以密文存储,客户端进行编辑、查询等操作时以明文展示。

(2) 数据加密或解密速度快,不能因加/解密过程导致系统性能大幅下降。

(3) 支持灵活的加密粒度,根据安全监控系统的需要,合理选择对数据库、表、记录、字段、数据项等进行加密。

2.2 加密算法

参考文献:[5]建议煤矿安全监控系统“调出整幅画面85%的响应时间应不大于1 s,其余画面应不大于2 s”,因此应选择快速、高效的加密算法实现安全监控系统数据的加/解密处理。

当今比较成熟并普遍采用的加密算法[6-7]主要有DES、3DES、AES等对称性加密算法, RSA、DSA、ECC等非对称性加密算法,同态加密算法等。数据对象二进制序列化也是一种常用的加密方式,但其安全保密性差。针对DES、RSA、同态、二进制序列化4种常用的高效加密算法,分别对同一数据源进行不同调用次数的加/解密性能测试,并统计加/解密耗时,结果见表1。

表1 4种加密算法加/解密耗时

调用次数耗时/msDES算法RSA算法同态算法二进制序列化加密解密加密解密加密解密序列化反序列化1000112115331382<1<13150005245351576857<1<1196100001231123934213854<1<146155000055245497169070010<1<11445510000010850107923357137921212659615000015897163204815199429323991542000002162920658649026337233506196

从表1可看出:

(1) DES算法加密和解密速度基本相同,当连续调用次数超过10 000次时,加/解密耗时已超过1 s,适合小数据量数据加密。

(2) RSA算法解密速度不及加密速度的1/40,当连续调用次数达到1 000次时,解密耗时已超过1 s,效率偏低。

(3) 同态算法加密和解密速度基本相同,当连续调用次数达到200 000次时,加密或解密耗时3 ms,执行效率高,但该算法只能对数字类型、字符类型数据进行加密。

(4) 二进制序列化速度约为反序列化的1/3,当连续调用次数达到200 000次时,序列化耗时506 ms,执行效率高,但是序列化后数据长度增加,导致额外的存储量。

3 煤矿安全监控系统数据加密实现方案

3.1 加密方式

从图1可看出,目前煤矿安全监控系统大部分采用分布式部署、存储架构,即系统软件、Web发布程序和数据库管理系统等分别部署在不同的服务器上,因此,应选择适合分布式架构系统的加密模型,来实现对安全监控系统监测数据的加密存储。

从技术手段上看,当今数据库加密技术[8-10]主要分为前置代理方式、后置代理方式和应用层加密方式3类。前置代理方式的基本思路是在数据库之前增加一道加密代理服务,在服务中实现数据加/解密、存取控制等,操作简单,适合分布式架构的系统数据加密存储。后置代理方式的基本思路是利用数据库自身提供的技术,如触发器扩展能力、索引扩展能力、自定义函数扩展能力及视图等方式实现数据加/解密,同时保证应用完全透明。应用层加密方式的基本思路是应用系统通过加密API(JDBC、ODBC、CAPI等)对数据进行加密,将加密数据存储到数据库底层文件中,在进行数据检索时,将密文数据取回客户端,再进行解密。

经分析,选用前置代理方式实现安全监控系统的加密存储是最佳选择,操作请求处理过程如图2所示。

图2 基于前置代理方式的加密存储操作请求处理过程

3.2 加密方案

结合前置代理方式,对安全监控系统数据进行加密存储时,既要考虑数据加密的安全性,又要考虑对加密后数据处理的效率。本文提出一种相对安全又运行高效的加密方案,基本思想是选用高效的加密算法,并尽量减少加/解密的次数[11]。数据加密方案具体如下:

(1) 不对表中的主键、外键进行加密。

(2) 对于数值型字段,若需要进行算术运算,则采用同态加密方式;若还需检索功能,则在同态加密基础上,再对密文建立入口地址索引表,对检索量小、算术运算很少的数值型字段,采用密文入口地址索引或密文索引。

(3) 对于字符型字段,若加密要求不高,可采用二进制序列化加密方式,否则采用同态加密方式。

(4) 对于日期型字段,可以将其转换为数值型字段,然后采用同态加密方式。

(5) 对于其他类型字段,需先转换成数值型、字符型或日期型字段,再进行加密处理。

(6) 对于不需要检索和运算的字段,可将多个字段拼接成一个字符型字段处理,从而减少加/解密次数,提高加密效率。

以瓦斯5 min历史数据表tb_HisGasFive MinuteData(表2)为例,介绍数据加密方案实现过程。

表2 tb_HisGasFiveMinuteData表结构

列名数据类型备注MonitorIDint测点编号WriteTimedatetime写入时间MinValuedecimal(18,3)最小值MaxValuedecimal(18,3)最大值︙︙︙

(1) 设置加密代理中同态加密算法公式(以混合乘法同态算法为例,E(·)为加密公式,D(·)为解密公式)和加密系数x,如E(xy)=E(x)yxy=D(E(x)y),其中y为待加密数据。

(2) 特殊类型转换,将日期型字段转换为数值型字段。如将时间2016-12-06T03:01:00转换为时间戳1480964460。

(3) 数据加密存储[12-13],将原始历史数据和转换后的数据传入加密代理加密通道,通过同态加密算法加密并插入加密数据库中。完成数据加密存储后,使用SQL语句“SELECT MonitorID,Write Time,MinValue FROM tb_HisGasFiveMinute Data”查询数据[14],查询结果为密文,如图3所示。

图3 加密数据查询结果

(4) 数据解密与还原,从加密数据库取出加密数据,传入加密代理解密通道,通过同态解密算法解密数据,并将步骤(2)转换的特殊字段还原成原始数据,如时间戳1480964460转换为时间2016-12-06T03:01:00。

4 结语

通过研究数据库加密技术及对多种加密算法进行性能测试,选用同态、二进制序列化等高效加密算法,结合前置代理方式实现了煤矿安全监控系统数据加密存储。任何对加密数据的操作,如查询、更新、删除等都需要解密密钥(或解密系数),并通过解密函数解密后才能实现,从而有效阻止了对煤矿安全监控系统监测数据违规篡改、删除等操作,保护了数据的完整性,达到了安全监控系统升级改造对数据加密存储的要求。

参考文献:

[1] AQ 6201—2006煤矿安全监控系统通用技术要求[S].

[2] 国家安全生产监督管理总局.国家煤矿安监局科技装备司 关于征求《煤矿安全监控系统升级改造技术方案(征求意见稿)》意见的通知[EB/OL].(2015-11-30)[2016-11-05].http://www.chinasafety.gov.cn/newpage/Contents/Channel_5826/2015/1130/261019/content_261019.htm.

[3] 王正飞.数据库加密技术及其应用研究[D].上海:复旦大学,2005.

[4] 朱若寒.数据库加密方法研究与实现[J].软件导刊,2013,12(7):150-152.

[5] 孙继平.AQ 6201《煤矿安全监控系统通用技术要求》修订意见[J].工矿自动化,2016,42(2):1-7.

[6] 杨溯.一种网络加密算法研究[J].信息安全与技术,2015, 6(6):42-43.

[7] 汪培芬.数据库加密技术的研究与实现[D].南京:南京理工大学,2008.

[8] 李明,周丽娟.数据库加密关键问题分析[J].电脑开发与应用,2014(3):37-39.

[9] 孙咏梅.浅谈数据库加密技术[J].山西电子技术,2005(4):13.

[10] 刘辉兰,陈卫东.数据查询优化技术的研究和探讨[J].中国数字医学,2015(7):72-74.

[11] 陈运启,张翼.煤矿瓦斯监控系统关键数据加密算法的研究与实现[J].工矿自动化,2012,38(7):7-10.

[12] 孙红,郝泽明.大数据处理流程及存储模式的改进[J].电子科技,2015,28(12):167-172.

[13] 秦志光,包文意,赵洋,等.云存储中一种模糊关键字搜索加密方案[J].信息网络安全,2015(6):7-12.

[14] 常广炎,李逦.大数据查询与分析技术[J].软件导刊,2016,15(4):13-15.

Data encryption technology for coal mine safety monitoring and control system

MA Ruchao1,2, ZHAO Liang1,2

(1.CCTEG Changzhou Research Institute, Changzhou 213015, China;2.Tiandi(Changzhou) Automation Co., Ltd., Changzhou 213015, China)

Abstract:For data encryption storage requirement of safety monitoring and control system inTechnologyschemesofupgradingofcoalminesafetymonitoringandcontrolsystem(exposuredraft), database encryption technology was researched, and performances of four data encryption algorithms including DES, RSA, homomorphism and binary serialization were tested and compared. A data encryption scheme suitable for coal mine safety monitoring and control system was proposed, which used different data encryption algorithm for different field type. The scheme realizes safe and quick data encryption storage for coal mine safety monitoring and control system.

Key words:coal mine safety monitoring and control; data encryption; data decryption

文章编号:1671-251X(2017)02-0015-04

DOI:10.13272/j.issn.1671-251x.2017.02.004

收稿日期:2016-12-12;

修回日期:2016-12-26;责任编辑:李明。

基金项目:天地(常州)自动化股份有限公司研发项目(2016GY101)。

作者简介:马汝超(1985-),男,河南商丘人,工程师,主要从事煤矿监测监控类系统软件开发工作,E-mail:ma.ru.chao@163.com。

中图分类号:TD76

文献标志码:A

网络出版:时间:2017-01-22 10:22

网络出版地址:http://www.cnki.net/kcms/detail/32.1627.TP.20170122.1022.004.html

马汝超,赵亮.煤矿安全监控系统数据加密技术[J].工矿自动化,2017,43(2):15-18.