掌桥专利:专业的专利平台
掌桥专利
首页

一种指令安全传输的方法及装置

文献发布时间:2023-06-19 19:30:30


一种指令安全传输的方法及装置

技术领域

本发明涉及数据传输技术领域,特别涉及一种指令安全传输的方法及装置。

背景技术

由于物联网的快速发展、企业对门禁考勤的需求越来越多,大部分企事业都有对门禁和考勤的管理需求。基于这种背景下很多软件公司开发接入门禁考勤系统的方式是直接接入,导致数据安全存在隐患。需要接入方案具备扩展性、安全性应对大流量、高可用的指令安全传输方案。

现有技术中通常使用socket接收数据处理业务,但是容易被中间人攻击篡改指令内容,并且使用明文传输入容易造成信息泄露风险。

发明内容

(一)要解决的技术问题

为了解决现有技术的上述问题,本发明提供的一种指令安全传输的方法及装置,能够提高指令传输的安全性。

(二)技术方案

为了达到上述目的,本发明采用的一种技术方案为:

一种指令安全传输的方法,包括步骤:

接收并保存指令信息和合法性信息,所述指令信息由设备端对所生成的原始指令进行加密签名后得到;

根据所述合法性信息判断是否对指令信息进行解密,若是,则对所述指令信息进行解密,并根据解密后得到的指令进行业务处理。

为了达到上述目的,本发明采用的另一种技术方案为:

一种指令安全传输的装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:

接收并保存指令信息和合法性信息,所述指令信息由设备端对所生成的原始指令进行加密签名后得到;

根据所述合法性信息判断是否对指令信息进行解密,若是,则对所述指令信息进行解密,并根据解密后得到的指令进行业务处理。

(三)有益效果

本发明的有益效果在于:通过接收并保存指令信息和合法性信息,根据合法性信息是否合法来判断是否对指令信息进行解密,若是,则对指令信息进行解密,并根据解密后得到的指令进行业务处理。由此,由于传输过程中的指令信息由设备端对所生成的原始指令进行加密签名后得到,不容易被中间人攻击篡改指令内容,且不易造成信息泄露风险,从而提高了指令传输的安全性,减少了信息泄露风险。

附图说明

图1为本发明实施例的指令安全传输的方法的流程图;

图2为本发明实施例的指令安全传输的装置的整体结构示意图;

图3为本发明实施例二的流程图;

图4为本发明实施例二的时序图。

【附图标记说明】

1:指令安全传输的装置;

2:存储器;

3:处理器。

具体实施方式

为了更好的解释本发明,以便于理解,下面结合附图,通过具体实施方式,对本发明作详细描述。

实施例一

请参照图1,一种指令安全传输的方法,包括步骤:

S1、接收并保存指令信息和合法性信息,所述指令信息由设备端对所生成的原始指令进行加密签名后得到;

其中,对所生成的原始指令进行加密签名的算法为国密SM4加密算法。

具体地,采用国密SM4加密算法进行加密,不仅难以破解,而且算法可更替;

S2、根据所述合法性信息判断是否对指令信息进行解密,若是,则对所述指令信息进行解密,并根据解密后得到的指令进行业务处理。

其中,所述的根据所述合法性信息判断是否对指令信息进行解密,若是,则对所述指令信息进行解密具体为:

根据所述合法性信息得到设备端IP,并判断所述设备端IP是否在白名单内,若是,则对所述指令信息进行解密。

其中,所述的根据解密后得到的指令进行业务处理具体为:

对解密后得到的指令进行校验,若校验通过,则根据解密后得到的指令进行业务处理。

其中,对解密后得到的指令进行校验的算法采用CRC校验算法。

对指令信息进行解密过程和对解密后得到的指令进行校验过程均通过netty框架的编码器MessageToMessageDecoder的处理链来执行,且处理链通过List对象来传递指令。

实施例二

本实施例和实施例一的区别在于,本实施例将结合具体的应用场景,以考勤门禁设备为例,请参照图3和4,进一步说明本发明上述指令安全传输的方法是如何实现的:

1、分别为考勤门禁设备端和服务端配置一加解密模块的密钥;

2、考勤门禁设备端生成原始指令并对所述生成的原始指令进行加密签名得到指令信息,将所述指令信息发送至服务端;

其中,对所生成的原始指令进行加密签名的算法为国密SM4加密算法,考勤门禁设备端与服务端之间通信协议为TCP协议,指令为TCP指令。

3、服务端接收指令信息,同时将指令信息和连接信息保存起来,本实施例中合法性信息为连接信息;

4、服务端白名单模块从连接信息中获取设备端IP并所述设备端IP判断是抛弃该指令还是传递至下一个处理模块;

实现原理:

利用netty框架的编码器MessageToMessageDecoder的处理链来执行IP白名单模块。具体实现方式为IP白名单模块类继承解码基类TCPBase Decoder,解码基类继承MessageToMessageDecoder编码器,将IP白名单模块注册到netty框架的处理链管道中ChannelPipeline即可按注册的顺序执行IP白名单模块。在处理链中通过List对象来传递指令,当IP白名单校验通过需要传递给下一处理模块时将指令放到List对象中,下一处理模块从List对象中获取到指令达到传递的操作。当IP白名单校验不通过需要抛弃指令时,只需不将指令放到List对象中,下一个处理模块处理时因从List中获取不到指令则不处理任何事情即达到抛弃指令的目的。

IP白名单校验:在应用系统的服务端中配置上可连接的IP白名单,在IP白名单模块中从门禁考勤设备设备端链接中获取设备IP,当设备IP存在IP白名单内,则校验通过,当设备IP不在IP白名单内,则校验不通过。

解码基类(TCPBaseDecoder)实现过程如下:

/>

/>

/>

5、服务端解密模块对所述指令信息进行解密,得到解密后得到的指令并传递给下一处理模块步骤;

实现原理:

利用netty框架的编码器MessageToMessageDecoder的处理链来执行解密模块。具体实现方式为解密模块类继承解码基类TCPBaseDecoder,解码基类继承MessageToMessageDecoder编码器,将解密模块注册到netty框架的处理链管道中ChannelPipeline即可按注册的顺序执行解密模块。

在处理链中通过List对象来传递指令,当解密成功需要传递给下一处理模块时将指令原文放到List对象中,下一处理模块从List对象中获取到指令原文达到传递的操作。解密失败需要抛弃指令时,只需不将指令放到List对象中,下一个处理模块处理时因从List中获取不到指令则不处理任何事情即达到抛弃指令的目的。

指令解密:使用和门禁考勤设备端相同的密钥,通过国密算法SM4对指令解密,解密出指令原文则解密成功,解密出错则解密失败。

指令解密模块实现(继承解码基类TCPBaseDecoder)实现过程如下:

/>

/>

6、服务端指令校验模块对解密后得到的指令进行校验,若校验不通过的指令则抛弃,若校验通过则传递给下一处理模块步骤;

实现原理:

利用netty框架的编码器MessageToMessageDecoder的处理链来执行校验模块。具体实现方式为校验模块类继承解码基类TCPBaseDecoder,解码基类继承MessageToMessageDecoder编码器,将校验模块注册到netty框架的处理链管道中ChannelPipeline即可按注册的顺序执行校验模块。

在处理链中通过List对象来传递指令,当校验通过需要传递给业务处理时将指令放到List对象中,业务处理时从List对象中获取到指令达到传递的操作。校验不通过需要抛弃指令时,只需不将指令放到List对象中,业务处理时因从List中获取不到指令则不处理任何事情即达到抛弃指令的目的。

指令校验:采用CRC校验算法,从指令的结尾中取两个字节的设备端校验值数据。将指令处理结尾两个字节外的数据通过CRC校验算法计算出服务端值,当设备端校验值数据和服务端值相同时则校验通过,当设备端校验值数据和服务端值不相同时则校验不通过。

具体地,CRC即循环冗余校验码,是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。

指令校验模块实现(继承解码基类TCPBaseDecoder)实现过程如下:

/>

/>

7、服务端业务处理模块根据解密后得到的指令进行业务处理。

具体地,指令处理模块灵活定制:可灵活选择IP白名单设备模块、指令解密模块、指令校验模块,各模块可根据使用场景选择使用或不使用,并且可加入自定义的处理模块。

通过采用netty框架实现,不仅可根据业务需求选择都不注册使用、都注册使用或注册使用部分模块,灵活性高,而且由于业务需求需要使用自定义的模块对指令进行处理时,只需要编写自定义类继承解码基类TCPBaseDecoder并注册到处理链管道中ChannelPipeline即可实现自定义模块。

ChannelPipeline类是ChannelHandler实例对象的链表,用于处理或截获通道的接收和发送数据,提供了一种高级的截取过滤模式(类似serverlet中的filter功能),让用户可以在ChannelPipeline中完全控制一个事件以及如何处理ChannelHandler与ChannelPipeline的交互。

实施例三

请参照图2,一种指令安全传输的装置1,包括存储器2、处理器3及存储在存储器2上并可在处理器3上运行的计算机程序,所述处理器3执行所述程序时实现实施例一中的各个步骤。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

相关技术
  • 一种高安全性的数据传输装置及方法
  • 一种基于数据传输系统的数据传输方法、装置及系统
  • 一种无线传输装置、无线传输方法及计算机可读存储介质
  • 一种操作指令的处理方法、装置及计算机可读存储介质
  • 指令传输装置、指令传输系统、手术系统和指令传输方法
  • 指令传输方法、语音设备、语音辅助装置及指令传输系统
技术分类

06120115934039