欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 安全通信模组远程代理系统、私有协议实现方法及装置独创技术23082字

安全通信模组远程代理系统、私有协议实现方法及装置

2021-03-17 04:04:03

安全通信模组远程代理系统、私有协议实现方法及装置

  技术领域

  本发明涉及数据安全领域,尤其涉及一种安全通信模组远程代理系统、私有协议实现方法及装置。

  背景技术

  在物联网、工业互联网领域,随着海量设备网络连接,数据传输过程中面临着广泛的安全威胁。传统的物联网设备或工业控制设备不具有加解密等安全能力,如要实现安全能力,则需要对此类设备进行改造,通过外挂安全模块并改造上位机程序等方式实现加解密、认证功能,因此,造成设备改造成本及硬件成本投入较高,技术难度较高,经济效益较差。

  发明内容

  为了解决上述问题,有必要提供一种安全通信模组远程代理系统、私有协议实现方法及装置,通过在上位机中嵌入安全中间件,采用多种协议进行远程代理的机制,与安全通信模组的安全模块进行通信并由安全模块提供安全功能,以降低传统的物联网设备或工业控制设备升级改造的技术难度,节省原材料,降低成本。

  本发明第一方面提出一种安全通信模组远程代理系统,包括:上位机和安全通信模组,其中,所述上位机包括上位机应用、上位机安全中间件和上位机硬件接口,所述安全通信模组包括安全模块、模组安全中间件和模组硬件接口,上位机与安全通信模组通过上位机硬件接口、模组硬件接口进行串口通信;上位机应用执行安全功能时,将数据指令发给上位机安全中间件,上位机安全中间件以远程代理方式调用安全通信模组的读写端口将上位机应用下发的安全参数传递至模组安全中间件,由模组安全中间件转安全模块处理后以远程代理方式返回至所述上位机安全中间件。

  进一步地,所述上位机安全中间件设置有符合ISO7816传输协议的APDU国密参数传递数据方式,采用符合ISO7816传输协议的APDU国密参数传递数据时,先将APDU指令封装为AT命令,再选择具体串口协议将数据传递至上位机硬件接口。

  进一步地,上位机安全中间件还设置有私有协议传递数据方式;上位机应用通过私有协议执行安全功能时:

  上位机安全中间件接收上位机应用发送的数据指令,对所述数据指令响应解析,开启远程代理com口读操作;

  上位机安全中间件采用私有协议指定方式对数据处理后通过私有协议串口将待解析安全参数传递至上位机硬件接口;其中,待解析安全参数包括上位机应用待加密或解密的数据内容;

  所述上位机硬件接口将待解析安全参数传递到模组硬件接口;所述模组硬件接口接收待解析安全参数,将所述待解析安全参数传递到安全通信模组com口读操作后,模组协议解析模块采用远程代理方式对待解析安全参数进行解析后交模组安全中间件;

  所述模组安全中间件将解析出的数据内容转安全模块进行处理,所述安全模块对解析出的数据内容进行加密或解密处理后返回至模组安全中间件;

  模组安全中间件将加密或解密处理后的数据封装打包后传递给安全通信模组com口写操作,并通过模组硬件接口将封装打包后的数据传输至上位机硬件接口;

  上位机硬件接口将接收到的数据传递给上位机com口写操作后,上位机协议解析模块对接收到的数据进行基础接口数据封包后,返回至上位机安全中间件;

  上位机安全中间件将加密或解密处理后的数据返回至上位机应用。

  进一步地,采用私有协议实现远程代理时,所述上位机安全中间件和模组安全中间件采用epoll异步监听的方式,即时获取通信消息。

  进一步地,所述通信消息内容包括协议版本、消息类型、消息ID、荷载长度和荷载内容。

  进一步地,所述上位机安全中间件通过远程代理方式调用安全通信模组的读写端口,所述端口包括read、write、lseek。

  进一步地,所述上位机安全中间件发送至模组安全中间件的消息不需要传递句柄,read、write消息荷载长度为头消息的荷载长度,lseek消息内容为偏移量信息。

  进一步地,模组安全中间件返回所述上位机安全中间件的read、write、lseek消息为调用安全模块的实际值。

  进一步地,所述上位机应用还可以直接发送AT命令至所述安全通信模组,由所述安全通信模组以远程代理方式将AT命令处理后转模组安全中间件,由模组安全中间件调用安全模块执行安全功能后返回所述上位机。

  进一步地,所述安全通信模组为4G模组或NB-IOT模组。

  第二方面,本发明提供一种私有协议实现方法,应用于如上所述的任意一种安全通信模组远程代理系统,所述方法包括以下步骤:

  上位机安全中间件还设置有私有协议传递数据方式;上位机应用通过私有协议执行安全功能时:

  上位机安全中间件接收上位机应用发送的数据指令,对所述数据指令响应解析,开启远程代理com口读操作;

  上位机安全中间件采用私有协议指定方式对数据处理后通过私有协议串口将待解析安全参数传递至上位机硬件接口;其中,待解析安全参数包括上位机应用待加密或解密的数据内容;

  所述上位机硬件接口将待解析安全参数传递到模组硬件接口;所述模组硬件接口接收待解析安全参数,将所述待解析安全参数传递到安全通信模组com口读操作后,模组协议解析模块采用远程代理方式对待解析安全参数进行解析后交模组安全中间件;

  所述模组安全中间件将解析出的数据内容转安全模块进行处理,所述安全模块对解析出的数据内容进行加密或解密处理后返回至模组安全中间件;

  模组安全中间件将加密或解密处理后的数据封装打包后传递给安全通信模组com口写操作,并通过模组硬件接口将封装打包后的数据传输至上位机硬件接口;

  上位机硬件接口将接收到的数据传递给上位机com口写操作后,上位机协议解析模块对接收到的数据进行基础接口数据封包后,返回至上位机安全中间件;

  上位机安全中间件将加密或解密处理后的数据返回至上位机应用。

  第三方面,本发明提供一种装置,应用于如上所述的任意一种安全通信模组远程代理系统,所述装置为上位机;其中,所述上位机包括上位机应用、上位机安全中间件、上位机协议解析模块和上位机硬件接口,并执行如上所述的任意一种安全通信模组远程代理系统中上位机的功能。

  第四方面,本发明还提供一种装置,应用于如上所述的任意一种安全通信模组远程代理系统,所述装置为安全通信模组,其中,所述安全通信模组包括安全模块、模组安全中间件、模组协议解析模块和模组硬件接口,并执行如上所述的任意一种安全通信模组远程代理系统中安全通信模组的功能。

  本发明的有益效果:

  (1)本发明通过上位机安全中间件以远程代理方式调用安全通信模组的读写端口将安全参数传递至模组安全中间件,由模组安全中间件转安全模块处理后以远程代理方式返回至所述上位机安全中间件,解决了传统设备上位机需要外挂安全模块并改造上位机程序造成的高成本、配置难的问题,节省了硬件资源投入和技术投入,具备一定的经济效益和社会效益;

  (2)本发明通过AT命令、私有协议等多种方式实现代理加解密,满足了不同厂家、不同设备配置安全功能时的适配性;

  (3)上位机中间安全件仅负责传递消息,不承担实际的读写功能,除嵌入上位机安全中间件外无需修改上位机(待升级设备)程序代码,从而进一步降低了对上位机升级改造的技术难度;

  (4)上位机应用的数据指令采用APDU国密参数或者私有协议传递至安全通信模组,在减少改造成本的前提下,增强了上位机与安全通信模组之间串口通信的安全可靠性,防止数据泄露或者被非法篡改。

  本发明的附加方面和优点将在下面的描述部分中变得明显,或通过本发明的实践了解到。

  附图说明

  本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

  图1示出了第一方面系统架构图;

  图2示出了第一方面上位机安全中间件实现远程代理的示意图;

  图3示出了第一方面上位机实现远程代理的另外一种方式的示意图;

  图4示出了第一方面私有协议实现远程代理的示意图;

  图5示出了第二方面私有协议实现方法的示意图;

  图6示出了第三方面的一种装置的框图;

  图7示出了第四方面的一种装置的框图。

  具体实施方式

  为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。

  在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。

  APDU(ApplicationProtocolDataUnit,应用协议数据单元),协议数据单元PDU(ProtocolDataUnit)是指对等层次之间传递的数据单位。

  本发明第一方面提出一种安全通信模组远程代理系统,如图1所示,所述系统包括:上位机和安全通信模组,其中,所述上位机包括上位机应用、上位机安全中间件和上位机硬件接口,所述安全通信模组包括安全模块、模组安全中间件和模组硬件接口,上位机与安全通信模组通过上位机硬件接口、模组硬件接口进行串口通信;上位机应用执行安全功能时,将数据指令发给上位机安全中间件,上位机安全中间件以远程代理方式调用安全通信模组的读写端口将上位机应用下发的安全参数传递至模组安全中间件,由模组安全中间件转安全模块处理后以远程代理方式返回至所述上位机安全中间件。其中,安全参数包括上位机应用待加密或解密的数据内容和对应的协议参数。

  需要说明的是,安全中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。相连接的系统,即使它们具有不同的接口,但通过安全中间件相互之间仍能交换信息。通过安全中间件实现远程代理,让上位机安全中间件代表某个真实的对象(模组安全中间件),其实幕后是代理(上位机安全中间件)利用网络和一个远程的真正对象(模组安全中间件)沟通。即让上位机安全中间件假装它是真正的对象,但是其实一切的动作是安全通信模组的模组安全中间件(代理对象)利用网络和真正的安全模块沟通并把处理结果通过两侧的硬件接口返回至上位机。

  进一步地,如图2所示,所述上位机安全中间件包括两种传输数据方式,一种传输数据方式为:采用符合ISO7816传输协议的APDU国密参数传递数据,另一种传输数据方式为:采用私有协议传递数据;其中,采用符合ISO7816传输协议的APDU国密参数传递数据时,先将APDU指令封装为AT命令,再选择具体串口协议将数据传递至上位机硬件接口;采用私有协议传递数据时,采用私有协议指定方式对数据处理后通过私有协议串口将数据传递至上位机硬件接口。

  需要说明的是,采用符合ISO7816传输协议的APDU国密参数传递数据,可以和支持国密的安全模块或安全芯片进行适配,一般情况下该类安全模块支持SM2、SM3、SM4、SM9国家标准密码算法和AES、DES、3DES、SHA系列、RSA等国际算法,内部具有文件、密钥安全存储区,应用接口符合ISO/IEC 7816-4、SPI规范。同时,也可在两侧的安全中间件中集成私有协议,通过私有协议的规定进行数据传输。

  可以理解,如果用户对数据安全性级别要求较高,则通过符合ISO7816传输协议的APDU国密参数传递数据;若用户对数据安全性级别要求一般,则采用私有协议传递数据,即使是采用私有协议传递数据,由于私有协议是非公开的,上位机与安全通信模组之间串口通信依然较为安全可靠。

  进一步地,如图3所示,上位机安全中间件设置有私有协议传递数据方式;上位机应用通过私有协议执行安全功能时:

  上位机安全中间件接收上位机应用发送的数据指令,对所述数据指令响应解析,开启远程代理com口读操作;

  上位机安全中间件采用私有协议指定方式对数据处理后通过私有协议串口将待解析安全参数传递至上位机硬件接口;其中,待解析安全参数包括上位机应用待加密或解密的数据内容;

  所述上位机硬件接口将待解析安全参数传递到模组硬件接口;所述模组硬件接口接收待解析安全参数,将所述待解析安全参数传递到安全通信模组com口读操作后,模组协议解析模块采用远程代理方式对待解析安全参数进行解析后交模组安全中间件;

  所述模组安全中间件将解析出的数据内容转安全模块进行处理,所述安全模块对解析出的数据内容进行加密或解密处理后返回至模组安全中间件;

  模组安全中间件将加密或解密处理后的数据封装打包后传递给安全通信模组com口写操作,并通过模组硬件接口将封装打包后的数据传输至上位机硬件接口;

  上位机硬件接口将接收到的数据传递给上位机com口写操作后,上位机协议解析模块对接收到的数据进行基础接口数据封包后,并返回至上位机安全中间件;

  上位机安全中间件将加密或解密处理后的数据返回至上位机应用。

  需要说明的是,上位机安全中间件对所述数据指令响应解析后,生成远程代理com口读操作指令,将所述远程代理com口读操作指令通过上位机硬件接口、串口线以及模组硬件接口传输至安全通信模组,安全通信模组接收到所述远程代理com口读操作指令后,开启远程代理com口读操作。

  需要说明的是,上位机硬件接口还将配置参数(如端口号)和符合国际标准的其他参数等传递到模组硬件接口,以使上位机与安全通信模组之间通信顺畅。

  进一步地,采用私有协议实现远程代理时,所述上位机安全中间件和模组安全中间件采用epoll异步监听的方式,即时获取通信消息。

  需要说明的是,本发明不限制采用何种方式进行异步监听,select、poll、epoll都是可选择方式,由于epoll通过事件驱动,稳定性、性能更好;优选地,本实施例采用epoll方式来监听读取对方发送的消息。

  进一步地,所述通信消息内容包括协议版本、消息类型、消息ID、荷载长度和荷载内容。以上位机端发给安全模块端的消息格式为例,具体如下:

  struct {

  uint8 version;

  uint8 type;

  uint32 id;

  uint32 length;

  select (type) {

  case 0x00: msg_write;

  case 0x01: msg_read;

  case 0x02: msg_lseed;

  } content;

  }

  其中,version 是协议版本,消息格式有变化时,可递增该协议版本号;type 是消息类型,包括上文提到的read、write、lseek;消息 ID 由发送方指定,如果消息需要回复,回复消息的ID要与请求消息中的一致;length是荷载长度,指的是content的长度,为主机字节序;content 是荷载内容,具体格式依赖于type。安全模块侧发给上位机的消息格式同理,不再赘述。

  需要说明的是,所述上位机与所述安全通信模组之间约定通信消息的数据格式,保证双方之间通信稳定性及安全性;发送方指定消息ID,若回复处理结果对应的消息ID与发送方指定的消息ID不一致,则丢弃数据,防止在上位机中导入非法数据。

  进一步地,所述上位机安全中间件发送至模组安全中间件的消息不需要传递句柄;read、write消息荷载长度为头消息的荷载长度,lseek消息内容为偏移量信息。即,上位机中间安全件仅负责传递消息,不承担实际的读写功能,除嵌入上位机安全中间件外无需修改上位机(待升级设备)程序代码,从而进一步降低了对上位机升级改造的技术难度。

  其中,句柄(Handle)是一个是用来标识对象或者项目的标识符,可以用来描述窗体、文件等。

  进一步地,所述上位机安全中间件通过远程代理方式调用安全通信模组的读写端口,所述端口包括read、write、lseek。其中,read为读端口,write为写端口,lseek为基于寻址的内容端口。

  进一步地,模组安全中间件返回所述上位机安全中间件的read、write、lseek消息为调用安全模块的实际值。即,上位机安全中间件通过远程代理交模组安全中间件对消息内容进行处理,并由安全模块实际完成处理后返回给模组安全中间件。

  进一步地,如图4所示,除了采用安全中间件方式之外,所述上位机应用还可以直接发送AT命令至所述安全通信模组,由所述安全通信模组以远程代理方式将AT命令处理后转模组安全中间件,由模组安全中间件调用安全模块执行安全功能后返回所述上位机。

  需要说明的是,具体采用上位机安全中间件还是AT命令的方式实现远程代理调用安全模块,是根据不同的业务场景决定的,与之通信的不同的安全通信模组可能支持不同的方式,一般情况下安全通信模组不会同时支持两种方式。

  进一步地,所述安全通信模组为4G模组或NB-IOT模组。需要说明的是,当上位机应用需要将数据通过网络传输至其他设备时,所述安全通信模组的安全模块将数据进行加密处理后通过4G模块或NB-IOT模块传输;所述安全通信模组还可以通过4G模块或NB-IOT模块接收其他设备的加密数据,进行解密处理后传输至上位机;保证上位机与其他设备之间的通信安全可靠性。当上位机应用无需将数据通过网络传输至其他设备时,所述安全通信模组的安全模块将数据进行加解密处理后回传至上位机。

  第二方面,本发明提供一种私有协议实现方法,应用于如上所述的任意一种安全通信模组远程代理系统,如图5所示,所述方法包括:

  上位机安全中间件还设置有私有协议传递数据方式;上位机应用通过私有协议执行安全功能时:

  上位机安全中间件接收上位机应用发送的数据指令,对所述数据指令响应解析,开启远程代理com口读操作;

  上位机安全中间件采用私有协议指定方式对数据处理后通过私有协议串口将待解析安全参数传递至上位机硬件接口;其中,待解析安全参数包括上位机应用待加密或解密的数据内容;

  所述上位机硬件接口将待解析安全参数传递到模组硬件接口;所述模组硬件接口接收待解析安全参数,将所述待解析安全参数传递到安全通信模组com口读操作后,模组协议解析模块采用远程代理方式对待解析安全参数进行解析后交模组安全中间件;

  所述模组安全中间件将解析出的数据内容转安全模块进行处理,所述安全模块对解析出的数据内容进行加密或解密处理后返回至模组安全中间件;

  模组安全中间件将加密或解密处理后的数据封装打包后传递给安全通信模组com口写操作,并通过模组硬件接口将封装打包后的数据传输至上位机硬件接口;

  上位机硬件接口将接收到的数据传递给上位机com口写操作后,上位机协议解析模块对接收到的数据进行基础接口数据封包后,返回至上位机安全中间件;

  上位机安全中间件将加密或解密处理后的数据返回至上位机应用。

  需要说明的是,上位机协议解析模块对接收到的数据进行基础接口数据封包后,指的是将安全通信模组返回的封装打包后的数据处理成一个上位机安全中间件可识别的数据包(数据包的内容不变),以便上位机安全中间件能够监听到处理结果并告知上位机应用。

  第三方面,如图6所示,本发明提供一种装置,应用于如上所述的任意一种安全通信模组远程代理系统,所述装置为上位机,其中,所述上位机包括上位机应用、上位机安全中间件、上位机协议解析模块和上位机硬件接口,并执行如上所述的任意一种安全通信模组远程代理系统中上位机的功能。

  第四方面,如图7所示,本发明还提供一种装置,应用于如上所述的任意一种安全通信模组远程代理系统,所述装置为安全通信模组,其中,所述安全通信模组包括安全模块、模组安全中间件、模组协议解析模块和模组硬件接口,并执行如上所述的任意一种安全通信模组远程代理系统中安全通信模组的功能。

  以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

《安全通信模组远程代理系统、私有协议实现方法及装置.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)