一种用于称重设备的远程安全通信方法及系统与流程

文档序号:12739973阅读:196来源:国知局
一种用于称重设备的远程安全通信方法及系统与流程

本发明涉及通信领域,尤其涉及一种用于称重设备的远程安全通信方法及系统。



背景技术:

传统的称重配料设备工作在独立封闭的环境中,无法通过互联网读写设备数据,因此设备之间的通信处于相对安全的状态,外界很难发起对设备的攻击。随着物联网和半导体技术的进步,称重设备朝着更加智能化的方向发展,每一台设备均可通过内置的以太网芯片与外界建立连接关系,从而可通过互联网实现数据共享;另外,随着设备全球化加快,为节省人力资源和时间成本,更多的故障分析和软件更新均通过后台服务器远程自动化技术实现,设备时刻保持在线,既可通过电脑终端查询到设备动态,也可经过手机等便携式终端查询到。然而设备一旦连上互联网,若无相应的安全通信机制,外界很容易通过黑客技术实施各种攻击,从而导致大量数据泄密,甚至设备软件被篡改,给设备应用商造成较大的安全隐患。



技术实现要素:

为了解决上述技术问题,本发明的目的是提供一种能有效提供安全性能的一种用于称重设备的远程安全通信方法及系统。

本发明所采取的技术方案是:

一种用于称重设备的远程安全通信方法,包括以下步骤:

称重设备对PC主机进行外部认证;

PC主机对称重设备进行内部认证;

判断是否满足外部认证和内部认证均通过,若是,则进行后续通信;反之,则拒绝进行通信。

作为所述的一种用于称重设备的远程安全通信方法的进一步改进,所述的称重设备对PC主机进行外部认证,这一步骤具体包括:

PC主机发起外部认证操作,对需要认证的称重设备发送初始化命令并建立通信连接,该称重设备根据PC主机的命令将返回设备信息;

PC主机先后两次对该称重设备发送取随机数命令,该称重设备生成随机数R1和随机数R2并将其返回至PC主机;

PC主机调用预设的加密算法,通过作为加密密钥的PC主机内部密钥Kext-reader和作为加密明文的随机数R1,生成得到过程密钥K1;

PC主机调用预设的加密算法,通过作为加密密钥的过程密钥K1和作为加密明文的随机数R2,生成得到认证报文C1,并将认证报文C1发送至称重设备;

称重设备调用预设的加密算法,通过作为加密密钥的称重设备内部密钥Kext-card和作为加密明文的随机数R1,生成得到过程密钥K1’;

称重设备调用预设的解密算法,通过作为密文的认证报文C1和作为解密密钥的过程密钥K1’,生成得到认证码R2’;

在称重设备内部判断随机数R2与认证码R2’是否一致,若是,则表示外部认证通过,继续进行通信;反之,则表示外部认证不通过,拒绝进行通信。

作为所述的一种用于称重设备的远程安全通信方法的进一步改进,所述的PC主机对称重设备进行内部认证,这一步骤具体包括:

PC主机发起内部认证操作,对需要认证的称重设备发送初始化命令并建立通信连接,该称重设备根据PC主机的命令将返回设备信息;

PC主机先后两次生成随机数R3和随机数R4,并将其发送至该称重设备;

称重设备调用预设的加密算法,通过作为加密密钥的称重设备内部密钥Kint-reader和作为加密明文的随机数R3,生成得到过程密钥K2;

称重设备调用预设的加密算法,通过作为加密密钥的过程密钥K2和作为加密明文的随机数R4,生成得到认证报文C2,并将认证报文C2发送至PC主机;

PC主机调用预设的加密算法,通过作为加密密钥的PC主机内部密钥Kint-card和作为加密明文的随机数R3,生成得到过程密钥K2’;

PC主机调用预设的解密算法,通过作为密文的认证报文C2和作为解密密钥的过程密钥K2’,生成得到认证码R4’;

在称重设备内部判断随机数R4与认证码R4’是否一致,若是,则表示内部认证通过,继续进行通信;反之,则表示内部认证不通过,拒绝进行通信。

作为所述的一种用于称重设备的远程安全通信方法的进一步改进,所述随机数的生成公式为:

R=x32+x28+x27+x+1;

其中,R表示随机数,x表示初值,所述初值通过设备信息与实时时间相异或得到。

本发明所采用的另一技术方案是:

一种用于称重设备的远程安全通信系统,包括:

外部认证单元,用于称重设备对PC主机进行外部认证;

内部认证单元,用于PC主机对称重设备进行内部认证;

认证判断单元,用于判断是否满足外部认证和内部认证均通过,若是,则进行后续通信;反之,则拒绝进行通信。

作为所述的一种用于称重设备的远程安全通信系统的进一步改进,所述的外部认证单元具体包括:

外部初始化单元,用于PC主机发起外部认证操作,对需要认证的称重设备发送初始化命令并建立通信连接,该称重设备根据PC主机的命令将返回设备信息;

外部随机数生成单元,用于PC主机先后两次对该称重设备发送取随机数命令,该称重设备生成随机数R1和随机数R2并将其返回至PC主机;

第一外部过程密钥生成单元,用于PC主机调用预设的加密算法,通过作为加密密钥的PC主机内部密钥Kext-reader和作为加密明文的随机数R1,生成得到过程密钥K1;

外部认证报文生成单元,用于PC主机调用预设的加密算法,通过作为加密密钥的过程密钥K1和作为加密明文的随机数R2,生成得到认证报文C1,并将认证报文C1发送至称重设备;

第二外部过程密钥生成单元,用于称重设备调用预设的加密算法,通过作为加密密钥的称重设备内部密钥Kext-card和作为加密明文的随机数R1,生成得到过程密钥K1’;

外部认证码生成单元,用于称重设备调用预设的解密算法,通过作为密文的认证报文C1和作为解密密钥的过程密钥K1’,生成得到认证码R2’;

外部认证判断单元,用于在称重设备内部判断随机数R2与认证码R2’是否一致,若是,则表示外部认证通过,继续进行通信;反之,则表示外部认证不通过,拒绝进行通信。

作为所述的一种用于称重设备的远程安全通信系统的进一步改进,所述的内部认证单元具体包括:

内部初始化单元,用于PC主机发起内部认证操作,对需要认证的称重设备发送初始化命令并建立通信连接,该称重设备根据PC主机的命令将返回设备信息;

内部随机数生成单元,用于PC主机先后两次生成随机数R3和随机数R4,并将其发送至该称重设备;

第一内部过程密钥生成单元,用于称重设备调用预设的加密算法,通过作为加密密钥的称重设备内部密钥Kint-reader和作为加密明文的随机数R3,生成得到过程密钥K2;

内部认证报文生成单元,用于称重设备调用预设的加密算法,通过作为加密密钥的过程密钥K2和作为加密明文的随机数R4,生成得到认证报文C2,并将认证报文C2发送至PC主机;

第二内部过程密钥生成单元,用于PC主机调用预设的加密算法,通过作为加密密钥的PC主机内部密钥Kint-card和作为加密明文的随机数R3,生成得到过程密钥K2’;

内部认证码生成单元,用于PC主机调用预设的解密算法,通过作为密文的认证报文C2和作为解密密钥的过程密钥K2’,生成得到认证码R4’;

内部认证判断单元,用于在称重设备内部判断随机数R4与认证码R4’是否一致,若是,则表示内部认证通过,继续进行通信;反之,则表示内部认证不通过,拒绝进行通信。

作为所述的一种用于称重设备的远程安全通信系统的进一步改进,所述随机数的生成公式为:

R=x32+x28+x27+x+1;

其中,R表示随机数,x表示初值,所述初值通过设备信息与实时时间相异或得到。

本发明的有益效果是:

本发明一种用于称重设备的远程安全通信方法及系统通过PC主机与称重设备进行外部认证和内部认证双重认证,从而能提高设备安全性能,有效防止数据泄密,避免设备软件被篡改的情况。进一步,本发明在加密过程中采用过程密钥,从而保证每一次加密使用到的密钥都不一样,且PC主机和称重设备之间传送的数据不包含密钥,而是通过加密数据传送认证报文,整个认证期间都是采用随机数实现,确保设备密钥不在空间中传送,不会暴露密钥,大大提高安全性能。

附图说明

下面结合附图对本发明的具体实施方式作进一步说明:

图1是本发明一种用于称重设备的远程安全通信方法的步骤流程图;

图2是本发明一种用于称重设备的远程安全通信方法中外部认证的步骤流程图;

图3是本发明一种用于称重设备的远程安全通信方法中内部认证的步骤流程图;

图4是本发明一种用于称重设备的远程安全通信系统的模块方框图;

图5是本发明中随机数产生的原理示意图。

具体实施方式

参考图1,本发明一种用于称重设备的远程安全通信方法,包括以下步骤:

称重设备对PC主机进行外部认证;

PC主机对称重设备进行内部认证;

判断是否满足外部认证和内部认证均通过,若是,则进行后续通信;反之,则拒绝进行通信。

参考图2,进一步作为优选的实施方式,所述的称重设备对PC主机进行外部认证,这一步骤具体包括:

PC主机发起外部认证操作,对需要认证的称重设备发送初始化命令并建立通信连接,该称重设备根据PC主机的命令将返回设备信息;

PC主机先后两次对该称重设备发送取随机数命令,该称重设备生成随机数R1和随机数R2并将其返回至PC主机;

PC主机调用预设的加密算法,通过作为加密密钥的PC主机内部密钥Kext-reader和作为加密明文的随机数R1,生成得到过程密钥K1;

PC主机调用预设的加密算法,通过作为加密密钥的过程密钥K1和作为加密明文的随机数R2,生成得到认证报文C1,并将认证报文C1发送至称重设备;

称重设备调用预设的加密算法,通过作为加密密钥的称重设备内部密钥Kext-card和作为加密明文的随机数R1,生成得到过程密钥K1’;

称重设备调用预设的解密算法,通过作为密文的认证报文C1和作为解密密钥的过程密钥K1’,生成得到认证码R2’;

在称重设备内部判断随机数R2与认证码R2’是否一致,若是,则表示外部认证通过,继续进行通信;反之,则表示外部认证不通过,拒绝进行通信。

参考图3,进一步作为优选的实施方式,所述的PC主机对称重设备进行内部认证,这一步骤具体包括:

PC主机发起内部认证操作,对需要认证的称重设备发送初始化命令并建立通信连接,该称重设备根据PC主机的命令将返回设备信息;

PC主机先后两次生成随机数R3和随机数R4,并将其发送至该称重设备;

称重设备调用预设的加密算法,通过作为加密密钥的称重设备内部密钥Kint-reader和作为加密明文的随机数R3,生成得到过程密钥K2;

称重设备调用预设的加密算法,通过作为加密密钥的过程密钥K2和作为加密明文的随机数R4,生成得到认证报文C2,并将认证报文C2发送至PC主机;

PC主机调用预设的加密算法,通过作为加密密钥的PC主机内部密钥Kint-card和作为加密明文的随机数R3,生成得到过程密钥K2’;

PC主机调用预设的解密算法,通过作为密文的认证报文C2和作为解密密钥的过程密钥K2’,生成得到认证码R4’;

在称重设备内部判断随机数R4与认证码R4’是否一致,若是,则表示内部认证通过,继续进行通信;反之,则表示内部认证不通过,拒绝进行通信。

优选的,本发明采用过程密钥的加密方法,利用称重设备存储的内部密钥对生成的随机数作加密运算,得到的数据将作为本次加密运算的密钥。采用过程密钥可以保证每一次加密使用到的密钥都不一样,PC主机和称重设备之间传送的数据不包含密钥,而是通过加密数据传送认证报文,整个认证期间都是采用随机数实现,确保设备密钥不在空间中传送,不会暴露密钥。而且本发明使用加密算法以及随机数实现认证机制,这种机制容易用软件实现,整个认证系统可以达到低复杂度目的。

进一步作为优选的实施方式,所述随机数的生成公式为:

R=x32+x28+x27+x+1;;

其中,R表示随机数,x表示初值,所述初值通过设备信息与实时时间相异或得到。

优选的,本发明中的32位随机数生成方式是基于m序列线性反馈移位寄存器实现的,其特征多项式为x32+x28+x27+x+1。随机数的输入是一个32位的种子值x,种子值x写进设备的存储器中,需要产生随机数的时候便用软件读出种子并调用随计数发生器产生一次输出,但如果种子值是一样的话,每次调用产生的m序列就一样,因此,每调用一次随机数发生器,便将产生的随机数用加密算法加密一次,并将加密结果作为新的种子值保存在存储器中,以便下一次调用。种子有一个初始值,本实施例中,该初值由设备信息中的设备ID号与时间相异或得到。

参考图4,本发明一种用于称重设备的远程安全通信系统,包括:

外部认证单元,用于称重设备对PC主机进行外部认证;

内部认证单元,用于PC主机对称重设备进行内部认证;

认证判断单元,用于判断是否满足外部认证和内部认证均通过,若是,则进行后续通信;反之,则拒绝进行通信。

进一步作为优选的实施方式,所述的外部认证单元具体包括:

外部初始化单元,用于PC主机发起外部认证操作,对需要认证的称重设备发送初始化命令并建立通信连接,该称重设备根据PC主机的命令将返回设备信息;

外部随机数生成单元,用于PC主机先后两次对该称重设备发送取随机数命令,该称重设备生成随机数R1和随机数R2并将其返回至PC主机;

第一外部过程密钥生成单元,用于PC主机调用预设的加密算法,通过作为加密密钥的PC主机内部密钥Kext-reader和作为加密明文的随机数R1,生成得到过程密钥K1;

外部认证报文生成单元,用于PC主机调用预设的加密算法,通过作为加密密钥的过程密钥K1和作为加密明文的随机数R2,生成得到认证报文C1,并将认证报文C1发送至称重设备;

第二外部过程密钥生成单元,用于称重设备调用预设的加密算法,通过作为加密密钥的称重设备内部密钥Kext-card和作为加密明文的随机数R1,生成得到过程密钥K1’;

外部认证码生成单元,用于称重设备调用预设的解密算法,通过作为密文的认证报文C1和作为解密密钥的过程密钥K1’,生成得到认证码R2’;

外部认证判断单元,用于在称重设备内部判断随机数R2与认证码R2’是否一致,若是,则表示外部认证通过,继续进行通信;反之,则表示外部认证不通过,拒绝进行通信。

进一步作为优选的实施方式,所述的内部认证单元具体包括:

内部初始化单元,用于PC主机发起内部认证操作,对需要认证的称重设备发送初始化命令并建立通信连接,该称重设备根据PC主机的命令将返回设备信息;

内部随机数生成单元,用于PC主机先后两次生成随机数R3和随机数R4,并将其发送至该称重设备;

第一内部过程密钥生成单元,用于称重设备调用预设的加密算法,通过作为加密密钥的称重设备内部密钥Kint-reader和作为加密明文的随机数R3,生成得到过程密钥K2;

内部认证报文生成单元,用于称重设备调用预设的加密算法,通过作为加密密钥的过程密钥K2和作为加密明文的随机数R4,生成得到认证报文C2,并将认证报文C2发送至PC主机;

第二内部过程密钥生成单元,用于PC主机调用预设的加密算法,通过作为加密密钥的PC主机内部密钥Kint-card和作为加密明文的随机数R3,生成得到过程密钥K2’;

内部认证码生成单元,用于PC主机调用预设的解密算法,通过作为密文的认证报文C2和作为解密密钥的过程密钥K2’,生成得到认证码R4’;

内部认证判断单元,用于在称重设备内部判断随机数R4与认证码R4’是否一致,若是,则表示内部认证通过,继续进行通信;反之,则表示内部认证不通过,拒绝进行通信。

本发明实施例中,所述加密算法采用SM4算法,但具体可选算法包括但不限于SM4算法、国际通用的DES算法、3DES算法以及AES算法等。

本发明具体实施例如下:

外部认证过程如下:

S11、PC主机首先发起外部认证操作,在众多称重设备中找到需要认证的设备,发送初始化命令并建立通信连接,称重设备根据PC主机的命令将返回设备信息;

S12、PC主机先后两次对该称重设备发送取16字节随机数命令,该称重设备生成随机数R1和随机数R2并将其返回至PC主机;

S13、PC主机调用SM4加密算法,通过作为加密密钥的PC主机内部密钥Kext-reader(不公开)和作为加密明文的随机数R1,生成得到过程密钥K1,K1=SM4Kext-reader(R1);

S14、PC主机调用SM4加密算法,通过作为加密密钥的过程密钥K1和作为加密明文的随机数R2,生成得到认证报文C1,并将认证报文C1发送至称重设备,C1=SM4K1(R2);

S15、称重设备接收到认证报文C1后调用SM4加密算法,通过作为加密密钥的称重设备内部密钥Kext-card和作为加密明文的随机数R1,生成得到过程密钥K1’,K1’=SM4Kext-card(R1);

S16、称重设备调用SM4解密算法,通过作为密文的认证报文C1和作为解密密钥的过程密钥K1’,生成得到认证码R2’,R2'=SM4K1'-1(C1);

S17、在称重设备内部判断随机数R2与认证码R2’是否一致,若是,则表示外部认证通过,继续进行通信;反之,则表示外部认证不通过,拒绝进行通信。

内部认证过程如下:

S21、PC主机发起内部认证操作,对需要认证的称重设备发送初始化命令并建立通信连接,该称重设备根据PC主机的命令将返回设备信息;

S22、PC主机先后两次生成随机数R3和随机数R4,并将其发送至该称重设备;

S23、称重设备调用SM4加密算法,通过作为加密密钥的称重设备内部密钥Kint-reader和作为加密明文的随机数R3,生成得到过程密钥K2,K2=SM4Kint-reader(R3);

S24、称重设备调用SM4加密算法,通过作为加密密钥的过程密钥K2和作为加密明文的随机数R4,生成得到认证报文C2,并将认证报文C2发送至PC主机,C2=SM4K2(R4);

S25、PC主机调用SM4加密算法,通过作为加密密钥的PC主机内部密钥Kint-card和作为加密明文的随机数R3,生成得到过程密钥K2’,其中,K2’=SM4Kint-reader(R3);

S26、PC主机调用SM4解密算法,通过作为密文的认证报文C2和作为解密密钥的过程密钥K2’,生成得到认证码R4’,R4'=SM4K2'-1(C2);

S27、在称重设备内部判断随机数R4与认证码R4’是否一致,若是,则表示内部认证通过,继续进行通信;反之,则表示内部认证不通过,拒绝进行通信。

本发明所述的安全机制不局限于SM4对称加密算法,也适用于DES、3DES或AES等其它高安全对称加密算法,所述SM4加密算法为国家商用密码算法,分组长度和密钥长度均为128比特,采用32轮非线性迭代结构,加密算法和解密算法的结构相同,该算法通过软件的形式写入称重设备和PC主机。

所述SM4加密算法流程,128比特的明文分成四组X0,X1,X2,X3,每组32比特,一次加解密需要32轮F函数运算,每一轮产生一个新的数据Xi,其中X0,X1,X2和X3是初始值,也就是明文,对于每一轮产生的Xi有以下公式可以计算:

其中,rki是第i轮的密钥,T函数是非线性变换,经过32次迭代,可输出最终密文C=(Y0,Y1,Y2,Y3)=(X35,X34,X33,X32)。

所述随机数产生器为基于线性反馈移位寄存器的电路结构,如图5所示,D0,D1,D2...D31是移位寄存器,一共32个,在处理器指令的帮助下可以通过软件的形式移位,D1,D27,D28的输入端接入一个异或单元,该异或单元也可以通过软件的形式进行运算,不需要具体的硬件电路。

所述随机数产生器的多项式则如公式所示:

x32+x28+x27+x+1;

上电时,需要给随机数产生模块写入初值,该初值可以由设备ID号与时间相异或得到,写入初值后等待一段时间,由于认证需要16字节的随机数,而随机数模块一次只能产生4字节,因此,需要连续产生4次4字节的随机数,一共16字节。

从上述内容可知,本发明一种用于称重设备的远程安全通信方法及系统通过PC主机与称重设备进行外部认证和内部认证双重认证,从而能提高设备安全性能,有效防止数据泄密,避免设备软件被篡改的情况。进一步,本发明在加密过程中采用过程密钥,从而保证每一次加密使用到的密钥都不一样,且PC主机和称重设备之间传送的数据不包含密钥,而是通过加密数据传送认证报文,整个认证期间都是采用随机数实现,确保设备密钥不在空间中传送,不会暴露密钥,大大提高安全性能。

以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1