张兴宇,韩秋实,彭宝营
(北京信息科技大学 机电工程学院,北京 100192)
基于数控机床远程监控技术的安全传输系统开发*
张兴宇,韩秋实,彭宝营
(北京信息科技大学 机电工程学院,北京 100192)
为了保证数控机床远程监控系统数据传输的安全性,文章在Linux及windows系统下,基于C/S层次结构,采用TCP/IP网络协议,利用C/C++语言、VS2008开发软件、oracle数据库,开发了基于非圆磨削数控机床远程监控系统的安全传输系统,该系统实现了各监控机床站点的身份认证,密钥协商、密钥校验、密钥周期更换,以及业务数据录入数据库和对传输数据的加解密等功能,具有不依附于平台、加密实时性高、易用性好和维护性强等优点。最后将系统部署到西门子840Dsl实验台和远程监控PC端进行实验验证,实验结果表明软件运行稳定,达到了预期的目的。
数控机床;远程监控;安全传输
随着工业4.0的提出,“互联网+”下的工业智能制造技术不断发展,数控机床功能不断提高。其中数控机床远程监控技术,为企业生产效率和质量提供了可靠及稳定的保障。数控机床远程监控技术的应用,提高了机床的生产效率,减少了人力消耗,降低了管理难度,是学术研究上的里程碑,更给企业带来直接的收益[1-5]。但是随着高新技术的发展,一些问题也随之暴露,互联网下的数据远程传输的安全问题,成为人们面临的问题之一。课题组利用数控机床远程监控技术开发了非圆磨削数控机床远程监控系统,该系统实现了对非圆磨削数控加工机床的实时监控和远程控制,由于数据网络传输带来的不安全问题[6-10],如黑客入侵篡改传输数据,会给运行中的加工机床带来不可预估的危险,文章开发了针对非圆磨削数控机床远程监控系统的安全传输系统。
传统的安全传输系统依附于平台,加密实时性低和后期维护性差[11-13],文章开发的系统实现了各监控机床站点的身份认证,密钥协商、密钥校验、密钥周期更换,以及业务数据录入数据库和对传输数据的加解密等功能。
该系统具有以下优点:
(1)不依附于平台:Linux系统和windows系统可以同时使用。
(2)加密实时性高:客户端采用连接池,服务器端采用多线程以及非阻塞IO和select模型。
(3)易用性好:第三方数控机床远程监控系统改动最小。
(4)维护性强:业务数据存入oracle数据库,便于后期管理人员进行业务查询。
(5)系统的加密性能高:身份认证应用改进的哈希算法,传输数据通过协商密钥应用3DES加密算法,并且密钥进行周期更换。
安全传输系统包括Linux下的密钥协商服务器模块、密钥协商客户端模块、windows下的密钥协商客户端模块,数据库管理终端模块、数据加解密接口模块,如图1所示。
图1 系统整体设计图
系统的总体流程图如图2所示,该方案基于C/S层次结构,通过程序设计和算法改进,加强了数据传输的安全性,解决了平台差异导致数据传输的二义性,并且系统的每次业务处理都记录数据库,提供了数据库管理终端,可以对每次业务处理进行审计工作。
图2 系统整体流程图
针对系统,利用C/C++语言、VS2008开发软件、oracle数据库,采用TCP/IP网络协议,基于C/S层次结构开发。图3为非圆磨削数控机床安全传输系统软件设计图,第二层为软件的上层业务模块,第三层为软件的底层基础组件。
图3 系统软件设计图
2.1 底层基础组件
2.1.1 通信组件
为了提高系统的并发性及运行稳定性,通信组件主要利用socket编程,与传统的通信方式相比,client端建立了基于长连接的连接池,并且利用非阻塞IO和select模型[14],server端基于多线程提高并发性。
2.1.2 报文编解码组件
为了解决各平台系统的差异性,实现数据的跨平台传输,报文编解码组件主要基于ASN.1编码原理[15-16],将传输的数据进行标准化,并用DER编解码数据。
2.1.3 共享内存组件
为了提高系统的传输效率,选取共享内存作为进程间的通信方式。选取这种通信方式的原因在于:一方面服务器将协商的密钥写入共享内存,另一方面写入数据库的方式,数控机床直接通过数据加密接口,在共享内存中获取密钥,保证了数据传输的实时性,并且共享内存这种IPC方式,系统内核直接把共享内存句柄推送到上层应用,不需要进程在内核态和用户态进行切换,极大地提高了数据的传输效率。
2.2 上层业务模块
2.2.1 密钥协商服务器和密钥协商客户端模块
密钥协商服务器在Linux系统编写,密钥协商客户端模块在Windows和Linux系统下编写。服务器和客户端模块集成了通信组件、数据库组件、报文编解码组件、共享内存组件和日志组件,利用基础组件完成上层业务流程,提高了代码的维护性,凸显了高内聚低耦合的设计思想。图4为密钥协商服务器端和客户端的业务流程。
图4 密钥协商服务器和客户端业务流程
密钥协商客户端首先要进行身份认证,传统的身份认证密码使用MD5算法进行加密然后存放在数据库中,当数据库被黑客入侵,黑客很容易通过暴力破解得到密码,文章对该算法进行改进,如图5为改进前后对比图,表1为身份认证加密改进前后公式。从图和表中可以看出通过算法的改进加密程度得到了提高。
图5 身份验证加密改进前后对比图
表1 身份验证加密改进前后公式
身份认证成功,密钥协商客户端与服务器建立连接,进行密钥协商,密钥校验和密钥周期更换业务。①密钥协商过程,服务器端和客户端得到一样的密钥,为下一步数据加密和解密做准备。②密钥校验过程,可以查询服务器端和客户端的密钥是否一致。③密钥的周期更换过程,可以保证密钥的安全分发和周期更替,即使某段时间数据库密钥中被黑客在窃取,也不能破坏传输数据。
2.2.2 数据库管理终端
数据库管理终端在Windows系统下利用VS2008软件进行编写,主要进行数据库的管理和后期数据维护工作,包括监控机床站点的注册及协商秘钥数据的查看。对于传统的加密设施,并没有后端数据库的管理,该终端对于业务的维护性具有深远的意义,Windows下的数据库管理终端前端界面如图6所示。
图6 数据库管理终端Windows前端界面
2.2.3 数据加解密接口模块
数据加解密模块是在Linux和window系统下编写,并生成相应的动态库文件,主要通过数控机床监控系统调用,从共享内存中获取密钥,利用对称加密算法实现对机床传输数据加密和解密功能。
为了提高系统加密级别,系统由传统的DES加密算法改为3DES加密算法,由于DES加密算法也可以通过暴力破解得到加密前数据,3DES加密算法通过协商的密钥对数据进行双重加密,这种加密算法至今无人破解。
完成非圆磨削数控机床安全传输系统的编写后,在西门子840Dsl实验台和远程监控PC端进行测试,密钥协商服务器、oracle数据库和数据库管理终端同时部署在远程监控PC端,数据加解密动态库和头文件嵌入到远程监控PC端中,密钥协商客户端部署在西门子840Dsl数控机床实验台的同步上位机上。
测试中先在后台数据管理终端对西门子840Dsl数控系统实验台进行站点注册,然后在西门子840Dsl数控系统实验台上根据注册的用户名,密码和站点号进行身份认证,认证成功后进行密钥的协商和密钥校验,校验成功,运行机床与远程监控端进行数据传输,通过多次测试,系统运行稳定。
3.1 系统运行稳定性分析
通过部署安全传输系统后存入到数据库中的密钥图,如图7所示,表头:CLIENTID代表连接服务器的机床编号;SERVERID代表服务器编号;KEYID:代表协商秘钥后产生的密钥键值;SECKEY:代表协商秘钥后产生的密钥。
(1)通过SECKEY,看出软件运行后存入oracle数据库的密钥的形式,密钥都是一串字符或数字,代表密钥是足够复杂的。
(2)通过KEYID,看出系统运行是稳定的并且并发性很好,因为现在秘钥keyid已经到了32355(从0开始)。
图7 存储在oracle数据库中的密钥
3.2 系统响应延迟时间对比分析
通过部署安全传输系统前后系统响应延迟时间结果进行对比,如表2所示,最大误差为2.5%,平均误差为1.48%,说明部署安全传输系统后对原非圆磨削数控机床远程监控系统的性能影响很小,开发系统的加密实时性高。
表2 部署开发系统前后系统响应延时数据对比表
3.3 系统的安全性对比分析
如表3所示,文章开发的系统通过三次安全性能提高①身份认证加密算法改进②传输数据加密算法更换③密钥周期更换,保证了数据传输的安全性。
表3 部署开发系统前后系统安全性对比表
文章利用C/S层次结构和TCP/IP协议,开发了基于数控机床远程监控技术的安全传输系统,通过系统部署后实验测试,证明了系统设计的可行性。最后所设计的安全传输系统,为“互联网+”下的工业智能制造网络数据安全传输方面提供了一种新的思路。
[1] 徐晨.物联网与数控机床远程智能监控系统[J].组合机床与自动化加工技术,2013(8):86-90.
[2] 蒋贤海,张铁,谢存禧.数控机床智能远程监控系统[J].组合机床与自动化加工技术,2014(9):77-79,84.
[3] 宋宝,姚军,杨勇泉.数控机床远程监控平台开发和实现[J].组合机床与自动化加工技术,2012(12):79-81,88.
[4] 田齐.基于网络的数控机床远程监控与管理系统设计与实现[J].机床与液压,2015,43(22):167-171.
[5] 张光曙.基于网络技术的数控机床加工系统状态远程监测技术的研究[D].沈阳:沈阳理工大学,2009.
[6] 冯登国,张敏,李昊.大数据安全与隐私保护[J].计算机学报,2014,37(1):246-258.
[7] 闫玺玺.开放网络环境下敏感数据安全与防泄密关键技术研究[D].北京:北京邮电大学,2012.
[8] Stefano Tedeschi,Jörn Mehnen ,Nikolaos Tapoglou,Roy Rajkumar Security aspects in Cloud based condition monitoring of machine tools.ScienceDirect,2015(38):47-52.
[9] 黄勤龙.云计算平台下数据安全与版权保护技术研究[D]. 北京:北京邮电大学,2014.
[10] 韩司.基于云存储的数据安全共享关键技术研究[D]. 北京:北京邮电大学,2015.
[11] 郝克成. 基于嵌入式系统的信息安全传输平台设计[D]. 哈尔滨:哈尔滨工业大学,2006.
[12] 李健,张笈.网络安全传输平台的安全认证[J]. 信息网络安全,2011(5):37-40.
[13] 徐胭脂.分布式系统数据传输平台安全模块的设计与实现[D]. 济南:济南大学,2012.
[14] 袁劲松,马旭东. 基于阻塞与非阻塞I/O网络模型的Java语言实现[J]. 计算机系统应用,2008(9):98-101.
[15] 陈军成.基于ASN.1的通用编解码方案的设计与实现[D].合肥:中国科学技术大学,2009.
[16] 郑伟光,万宇涛,王薇.基于BER的ASN.1语法编译器及编解码器实现与应用[J].计算机应用与软件,2011,28(2):195-198.
(编辑 李秀敏)
Safe Transmission System Development Based on CNC Machine Remote Monitoring Technology
ZHANG Xing-yu, HAN Qiu-shi, PENG Bao-ying
(School of Mechanic and Electric Engineering, Beijing Information Science & Technology University, Beijing 100192,China)
In order to guarantee the data transmission security of the remote monitoring system of CNC machine tools. A system is developed based on non-circular grinding CNC machine remote monitoring system,using TCP/IP network protocol and C/S hierarchy by C/C++ language VS2008 software、Oracle database under the Linus and Windows systems.It can realize the functions of the identity authentication of the monitoring sites of the machine, key agreement, key checking, the key cycle changing ,putting business data into database and encryption of transmission data.and it has the advantages of not depending on the platform,hight Real-time of encryption,good usability and strong maintainability,etc.In the end ,we conduct the experiment verification by arranging the system into Siemens 840Dsl test bench and the remote monitoring PC platform. The experimental results show that the software runs stably and expected results have been achieved.
CNC machine tools;remote monitoring;secure transport
1001-2265(2017)06-0082-04
10.13462/j.cnki.mmtamt.2017.06.021
2016-09-07;
2016-10-10
国家自然科学基金(51375056)
张兴宇(1990—),男,山东聊城人,北京信息科技大学硕士研究生,研究方向为智能化与数字化控制,(E-mail)GallantZhangYu@163.com。
TH164; TG659
A