数据安全交互方法、终端侧安全装置和服务端侧安全装置与流程

文档序号:12493769阅读:310来源:国知局
数据安全交互方法、终端侧安全装置和服务端侧安全装置与流程

本发明涉及数据传输领域,尤其涉及一种数据安全交互方法、终端侧安全装置和服务端侧安全装置。



背景技术:

进入21世纪以来,各种安全事件层出不穷,中国的国家安全正变得日益复杂;中国国家密码安全局和中国中央人民银行针对金融行业的安全问题,联手推出基于SM2/SM3/SM4算法的中国国密标准及认证,逐步要求金融行业的自助设备及系统必须通过国密认证。

目前市场上正在使用的ATM机正在使用的部件大多不支持国密算法,而各种部件升级到支持国密算法既需要时间、也涉及硬件改造的成本。



技术实现要素:

本发明的主要目的在于提供一种数据安全交互方法、终端侧安全装置和服务端侧安全装置,旨在使现有ATM设备低成本且快速地符合国密认证。

为实现上述目的,本发明提供的一种数据安全交互方法,其特征在于,所述数据安全交互方法包括以下步骤:

加密终端的数据,并将加密后的数据发给所述终端,以供所述终端将加密后的数据发给服务端;

解密所述终端从所述服务端获取的经服务端侧安全装置加密的数据,将解密后的数据发给所述终端。

优选地,所述加密终端的数据包括:

加密终端发送给服务端的数据;

对所述终端发送给所述服务端的通信数据进行MAC计算。

为实现上述目的,本发明还提供一种数据安全交互方法,所述数据安全交互方法包括以下步骤:

解密服务端从终端获取的经终端侧安全装置加密的数据,并将解密后的数据发给所述服务端;

加密所述服务端的数据,并将加密后的数据发送给所述服务端,以供所述服务端将加密后的数据发给所述终端。

优选地,所述解密服务端从终端获取的经终端侧安全装置加密的数据包括:

对所述服务端从所述终端获取的经MAC计算的通信数据进行校验;

在校验成功后,将经加密的所述数据进行解密。

为实现上述目的,本发明还提供一种终端侧安全装置,所述终端侧安全装置包括终端侧加密模块和终端侧解密模块,其中:

所述终端侧加密模块,用于加密终端的数据,并将加密后的数据发给所述终端,以供所述终端将加密后的数据发给服务端;

所述终端侧解密模块,用于解密所述终端从所述服务端获取的经服务端侧安全装置加密的数据,并将解密后的数据发给所述终端。

优选地,所述加密模块包括数据加密单元和MAC计算单元,其中:

所述数据加密单元,用于加密终端发送给服务端的数据;

所述MAC计算单元,用于对所述终端发送给所述服务端的通信数据进行MAC计算。

优选地,所述终端侧安全装置通过SM4算法对所述数据进行加密和解密操作。

为实现上述目的,本发明还提供一种服务端侧安全装置,所述服务端侧安全装置包括服务端侧解密模块和服务端侧加密模块,其中:

所述服务端侧解密模块,用于解密服务端从终端获取的经终端侧安全装置加密的数据,并将解密后的数据发给所述服务端;

所述服务端侧加密模块,用于加密所述服务端的数据,并将加密后的数据发送给所述服务端,以供所述服务端将加密后的数据发给所述终端。

优选地,所述服务端侧解密模块包括MAC校验单元和数据解密单元,其中:

所述MAC校验单元,用于对所述服务端从所述终端获取的经MAC计算的通信数据进行校验;

所述数据解密单元,用于在校验成功后,将经加密的所述数据进行解密。

优选地,所述服务端侧安全装置通过SM4算法对所述数据进行加密和解密操作。

本发明通过终端侧安全装置将终端发送给服务端的数据进行加密;服务端侧安全装置将发送给所述服务端的经加密的所述数据进行解密,并加密所述服务端发送给所述终端的数据;终端侧安全装置将发送给所述终端的经加密的所述数据进行解密。使得所述终端与所述服务端之间传输的数据都是经过加密的,并且各自一侧都能够解密读取数据,保证了所述终端与所述服务端之间数据交互的安全性。

附图说明

图1为本发明数据安全交互方法第一实施例的流程示意图;

图2为本发明数据安全交互方法第二实施例的流程示意图;

图3为本发明数据安全交互方法第三实施例的流程示意图;

图4为本发明数据安全交互方法第四实施例的流程示意图;

图5为本发明数据安全交互系统中终端侧与服务端侧之间数据安全交互示意图;

图6a为图5中终端侧方案一的功能模块示意图;

图6b为图5中终端侧方案二的功能模块示意图;

图7为本发明终端侧安全装置第一实施例的功能模块示意图;

图8为本发明终端侧安全装置第二实施例中终端侧加密模块的细化功能模块示意图;

图9本发明终端侧安全装置第三实施例中SM4算法的示意图;

图10a为图5中服务端侧方案一的功能模块示意图;

图10b为图5中服务端侧方案二的功能模块示意图;

图10c为图5中服务端侧方案三的功能模块示意图;

图11为本发明服务端侧安全装置第一实施例的功能模块示意图;

图12为本发明服务端侧安全装置第二实施例中服务端解密模块的细化功能模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明提供一种数据安全交互方法,请参阅图1,在一实施例中,该数据安全交互方法包括以下步骤:

步骤S110,加密终端的数据,并将加密后的数据发给所述终端,以供所述终端将加密后的数据发给服务端;

本发明实施例提供的数据安全交互方法应用于现有ATM机中,将符合国密算法的安全装置与所述ATM机结合,以使ATM机符合国密算法,保证ATM机数据交互的安全性。所述终端为用户使用ATM机的软件操作系统,具体地,可以为ATM的软件开发工具包(Software Development Kit,SDK)或是基于WOSA/XFS标准的SP驱动。所述服务端为ATM机中的硬件设备,至少包括密码键盘、出钞模块、读卡器。

本发明实施例中,所述终端发给所述服务端的数据为操作指令,所述服务端发送给所述终端的数据为执行结果。

所述终端将发送给所述服务端的操作指令发给所述终端侧安全装置,所述终端侧安全装置对所述操作指令进行加密后发回给所述终端,所述终端将经加密后的所述操作指令发给所述服务端。其中所述终端侧安全装置为操作系统中本身具备国密功能的密码键盘驱动或者是额外增加的一个国密安全模块,例如ZT130,所述国密安全模块ZT130类似于银行支付中的USB-Key,能够对发出的数据进行加密。

步骤S120,解密所述终端从所述服务端获取的经服务端侧安全装置加密的数据,将解密后的数据发给所述终端。

所述终端接收所述服务端发出的执行结果并转发给所述终端侧安全装置,所述终端侧安全装置对经加密的所述执行结果解密后发回所述终端。

本实施例中,通过终端侧安全装置将终端发送给服务端的操作指令进行加密;终端侧安全装置将发送给所述终端的经加密的所述执行结果进行解密。使得所述终端与所述服务端之间传输的数据都是经过加密的,并且各自一侧都能够解密读取数据,保证了所述终端与所述服务端之间数据交互的安全性。

进一步地,请参阅图2,基于本发明数据安全交互方法的第一实施例,在本发明数据安全交互方法第二实施例中,所述步骤S110包括:

步骤S111,加密终端发送给服务端的数据;

步骤S112,对所述终端发送给所述服务端的通信数据进行MAC计算。

MAC(Message Authentication Code,消息验证码)的计算方式有两种,一种是利用已有的加密算法进行加密;另一种是使用专门的MAC算法,在计算散列值时将密钥和数据同时作为输入,并采用二次散列迭代的方式计算。在发送数据之前,终端侧安全装置首先使用通信双方协商好的散列函数计算其摘要值。在双方共享的会话密钥作用下,由摘要值获得MAC。之后,它和数据一起被发送。

本实施例中,终端侧安全装置加密终端发送给服务端的数据,包括对所述终端发送给所述服务端的通信数据进行MAC计算,使得所述终端和所述服务端在数据传输过程中对MAC进行校验,能够判断出数据是否被篡改,有利于数据的认证和完整性保障。

本发明还提供一种数据安全交互方法,请参阅图3,在第三实施例中,该数据安全交互方法包括以下步骤:

步骤S210,解密服务端从终端获取的经终端侧安全装置加密的数据,并将解密后的数据发给所述服务端;

步骤S220,加密所述服务端的数据,并将加密后的数据发送给所述服务端,以供所述服务端将加密后的数据发给所述终端。

所述服务端侧安全装置设置于所述服务端与所述终端的连接之间、之后或为本身具备国密算法的服务端的硬件设备,例如密码键盘。本实施例中以所述服务端侧安全装置设置于所述服务端与所述终端的连接之后为例进行说明。

所述服务端接收所述经终端侧安全装置加密后的所述操作指令后转发给所述服务端侧安全装置,所述服务端侧安全装置将经加密的所述操作指令解密后将明文数据发送给所述服务端。所述服务端根据明文数据得出执行结果后发送给所述服务端侧安全装置,所述服务端侧安全装置将所述执行结果进行加密后发回所述服务端,所述服务端将经所述服务端侧安全装置加密的所述执行结果转发给所述终端。

本发明通过服务端侧安全装置将发送给所述服务端的经加密的所述数据进行解密,并加密所述服务端发送给所述终端的数据。使得所述终端与所述服务端之间传输的数据都是经过加密的,并且各自一侧都能够解密读取数据,保证了所述终端与所述服务端之间数据交互的安全性。

进一步地,请参阅图4,基于本发明数据安全交互方法第三实施例,在本发明数据安全交互方法第四实施例中,所述步骤S210包括:

步骤S211,对所述服务端从所述终端获取的经MAC计算的通信数据进行校验;

步骤S212,在校验成功后,将经加密的所述数据进行解密。

MAC(Message Authentication Code,消息验证码)的计算方式有两种,一种是利用已有的加密算法进行加密;另一种是使用专门的MAC算法,在计算散列值时将密钥和数据同时作为输入,并采用二次散列迭代的方式计算。服务端侧安全装置收到报文后,首先利用会话密钥还原摘要值,同时利用散列函数在本地计算所收到数据的摘要值,并将这两个数据进行比对。若两者相等,则报文通过认证。

本实施例中,服务端侧安全装置对发送给所述服务端的经MAC计算的通信数据进行校验,在校验成功后,将经加密的所述数据进行解密。使得所述终端和所述服务端在数据传输过程中对MAC进行校验,能够判断出数据是否被篡改,有利于数据的认证和完整性保障。

本发明还提供一种终端侧安全装置,请参阅图5至图7,在第一实施例中,所述终端侧安全装置10包括终端侧加密模块11和终端侧解密模块12,其中:

所述终端侧加密模块11,用于加密终端的数据,并将加密后的数据发给所述终端,以供所述终端将加密后的数据发给服务端;

本发明实施例提供的终端侧安全装置应用于现有ATM机中,将符合国密算法的安全装置与所述ATM机结合,以使ATM机符合国密算法,保证ATM机数据交互的安全性。所述终端为用户使用ATM机的软件操作系统,具体地,可以为ATM的软件开发工具包(Software Development Kit,SDK)或是基于WOSA/XFS标准的SP驱动。所述服务端为ATM机中的硬件设备,至少包括密码键盘、出钞模块、读卡器。

本发明实施例中,所述终端发给所述服务端的数据为操作指令,所述服务端发送给所述终端的数据为执行结果。

所述终端将发送给所述服务端的操作指令发给所述终端侧安全装置,所述终端侧安全装置对所述操作指令进行加密后发回给所述终端,所述终端将经加密后的所述操作指令发给所述服务端。其中所述终端侧安全装置为操作系统中本身具备国密功能的密码键盘驱动或者是额外增加的一个国密安全模块,例如ZT130,所述国密安全模块ZT130类似于银行支付中的USB-Key,能够对发出的数据进行加密。

所述终端将发送给所述服务端的操作指令发给所述终端侧安全装置10,所述终端侧安全装置中的所述终端侧加密模块11对所述操作指令进行加密后发回给所述终端,所述终端将经加密后的所述操作指令发给所述服务端。

所述终端侧解密模块12,用于解密所述终端从所述服务端获取的经服务端侧安全装置加密的数据,并将解密后的数据发给所述终端。

所述终端接收所述服务端发出的执行结果后转发给所述终端侧安全装置10,所述终端侧安全装置10中的所述终端侧解密模块12对经服务端侧安全装置20加密的所述执行结果解密后发回所述终端。

本实施例中,通过终端侧安全装置将终端发送给服务端的操作指令进行加密;终端侧安全装置将发送给所述终端的经加密的所述执行结果进行解密。使得所述终端与所述服务端之间传输的数据都是经过加密的,并且各自一侧都能够解密读取数据,保证了所述终端与所述服务端之间数据交互的安全性。

进一步地,请参阅图8,基于本发明终端侧安全装置第一实施例,在本发明终端侧安全装置第二实施例中,所述终端侧加密模块11包括数据加密单元111和MAC计算单元112,其中:

所述数据加密单元111,用于加密终端发送给服务端的数据;

所述MAC计算单元112,用于对所述终端发送给所述服务端的通信数据进行MAC计算。

MAC(Message Authentication Code,消息验证码)的计算方式有两种,一种是利用已有的加密算法进行加密;另一种是使用专门的MAC算法,在计算散列值时将密钥和数据同时作为输入,并采用二次散列迭代的方式计算。在发送数据之前,终端侧安全装置首先使用通信双方协商好的散列函数计算其摘要值。在双方共享的会话密钥作用下,由摘要值获得MAC。之后,它和数据一起被发送。

本实施例中,终端侧安全装置加密终端发送给服务端的数据,包括对所述终端发送给所述服务端的通信数据进行MAC计算,使得所述终端和所述服务端在数据传输过程中对MAC进行校验,能够判断出数据是否被篡改,有利于数据的认证和完整性保障。

进一步地,基于本发明终端侧安全装置的上述实施例,在本发明终端侧安全装置的第三实施例中,所述终端侧安全装置10通过SM4算法对所述数据进行加密和解密操作。

SM4算法是一个分组算法,其中包括非线性变换S盒,以及由移位异或构成的线性变换。除了256字节的S盒之外,还定义了另外两组参数FK以及CK。基本过程是首先把16字节密钥按照4字节一组分成4组,然后根据密钥扩展算法,生成32组4字节轮密钥;再把输入的16字节数据也按照4字节一组分成4组然后进行循环运算,具体流程图请参阅图9。该算法的分组长度为128比特,密钥长度为128比特。加密算法与密钥扩展算法都采用32轮非线性迭代结构。解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序,此算法采用非线性迭代结构,每次迭代由一个轮函数给出,其中轮函数由一个非线性变换和线性变换复合而成,非线性变换由S盒所给出,因此大大提高了算法的安全性。

本实施例中,所述终端侧安全装置采用SM4算法来对所述操作指令和所述执行结果进行加密和解密操作,既能符合国密认证的标准又能够大大提高数据传输的安全性。

本发明还提供一种服务端侧安全装置,请参阅图5、图10和图11,在第一实施例中,所述服务端侧安全装置20包括服务端侧解密模块21和服务端侧加密模块22,其中:

所述服务端侧解密模块21,用于解密服务端从终端获取的经终端侧安全装置加密的数据,并将解密后的数据发给所述服务端;

所述服务端侧加密模块22,用于加密所述服务端的数据,并将加密后的数据发送给所述服务端,以供所述服务端将加密后的数据发给所述终端。

所述服务端侧安全装置设置于所述服务端与所述终端的连接之间、之后或为本身具备国密算法的服务端的硬件设备,例如密码键盘。本实施例中以所述服务端侧安全装置设置于所述服务端与所述终端的连接之后为例进行说明。

所述服务端接收所述经终端侧安全装置加密后的所述操作指令后转发给所述服务端侧安全装置,所述服务端侧安全装置将经加密的所述操作指令解密后将明文数据发送给所述服务端。所述服务端根据明文数据得出执行结果后发送给所述服务端侧安全装置,所述服务端侧安全装置将所述执行结果进行加密后发回所述服务端,所述服务端将经所述服务端侧安全装置加密的所述执行结果转发给所述终端。

本发明通过服务端侧安全装置将发送给所述服务端的经加密的所述数据进行解密,并加密所述服务端发送给所述终端的数据。使得所述终端与所述服务端之间传输的数据都是经过加密的,并且各自一侧都能够解密读取数据,保证了所述终端与所述服务端之间数据交互的安全性。

进一步地,请参阅图12,基于本发明服务端侧安全装置第一实施例,在本发明服务端侧安全装置第二实施例中,所述服务端侧解密模块21包括MAC校验单元211和数据解密单元212,其中:

所述MAC校验单元211,用于对所述服务端从所述终端获取的经MAC计算的通信数据进行校验;

所述数据解密单元212,用于在校验成功后,将经加密的所述数据进行解密。

MAC(Message Authentication Code,消息验证码)的计算方式有两种,一种是利用已有的加密算法进行加密;另一种是使用专门的MAC算法,在计算散列值时将密钥和数据同时作为输入,并采用二次散列迭代的方式计算。服务端侧安全装置收到报文后,首先利用会话密钥还原摘要值,同时利用散列函数在本地计算所收到数据的摘要值,并将这两个数据进行比对。若两者相等,则报文通过认证。

本实施例中,服务端侧安全装置对发送给所述服务端的经MAC计算的通信数据进行校验,在校验成功后,将经加密的所述数据进行解密。使得所述终端和所述服务端在数据传输过程中对MAC进行校验,能够判断出数据是否被篡改,有利于数据的认证和完整性保障。

进一步地,基于本发明服务端侧安全装置的上述实施例,在本发明服务端侧安全装置的第三实施例中,所述服务端侧安全装置通过SM4算法对所述数据进行加密和解密操作。

SM4算法是一个分组算法,其中包括非线性变换S盒,以及由移位异或构成的线性变换。除了256字节的S盒之外,还定义了另外两组参数FK以及CK。基本过程是首先把16字节密钥按照4字节一组分成4组,然后根据密钥扩展算法,生成32组4字节轮密钥;再把输入的16字节数据也按照4字节一组分成4组然后进行循环运算,具体流程图请参阅图9。该算法的分组长度为128比特,密钥长度为128比特。加密算法与密钥扩展算法都采用32轮非线性迭代结构。解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序,此算法采用非线性迭代结构,每次迭代由一个轮函数给出,其中轮函数由一个非线性变换和线性变换复合而成,非线性变换由S盒所给出,因此大大提高了算法的安全性。

本实施例中,所述服务端侧安全装置采用SM4算法来对所述操作指令和所述执行结果进行加密和解密操作,既能符合国密认证的标准又能够大大提高数据传输的安全性。

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

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