一种报文加解密方法及其系统技术方案

技术编号:32297639 阅读:18 留言:0更新日期:2022-02-12 20:08
本发明专利技术公开了一种报文加解密方法及其系统,其中,加解密过程是前端应用系统利用保护密钥MACKEYENKEY、保护密钥MSGKEYENKEY对包含客户信息的报文数据进行加密以及MAC值计算,从而后端前置系统进行MAC值校验以及解密,针对后端前置系统的响应信息,利用保护密钥MACKEYENKEY、保护密钥MSGKEYENKEY进行加密以及MAC值计算,从而前端应用系统进行MAC值校验以及解密,形成一套对客户信息进行加密以及完整性校验、对响应信息进行加密以及完整性校验的加解密体系,保证自助设备的前后端之间通讯报文的保密性、完整性;尤其是能满足密码键盘连接方式为串口连接的自助设备的安全性要求。连接方式为串口连接的自助设备的安全性要求。连接方式为串口连接的自助设备的安全性要求。

【技术实现步骤摘要】
一种报文加解密方法及其系统


[0001]本专利技术属于加密/解密
,具体涉及一种报文加解密方法及其系统。

技术介绍

[0002]随着互联网快速发展,信息安全成为人们日益关注的焦点问题,为保障用户在使用系统过程中,所采集的用户数据不会被泄露,一种用于对这些信息传递、存取的保密措施应运而生。
[0003]不仅在互联网应用系统有安全性要求,对金融行业内部应用系统之间的网络数据传输安全性有更进一步要求。因为该行业的自助渠道业务越来越多,很多原传统柜面业务转移到自助设备上,由客户自行完成业务办理。在此过程中,会涉及客户的身份认证,进行用户身份证、现场拍照等证件及生物特征信息采集,而这些信息采集后通过通讯报文的方式从自助终端发送到后端前置系统,再由后端前置系统转发给银行生物识别系统进行客户身份识别。相应的比如前后端前置系统交互过程中有关客户的敏感信息同样在传输过程中可能被恶意截取和篡改,导致客户信息泄露、非法交易。
[0004]其中,针对密码键盘连接方式为串口连接的自助设备,由于其密码键盘的通讯速率受其串口波特率(最高38400bps,每秒约4.8k字节)限制,其加解密速度非常慢,不能满足对大数据全报文(几百K到几兆字节的数据)加解密的性能要求,经常出现加解密超时现象,引起业务中断,严重影响客户体验。
[0005]尽管当前有很多技术手段应用于这些,比如基于通讯协议的HTTPS,虽然能起到一定的保密性,但该协议暂不支持国密算法,同时不能保证数据的完整性。又如,应用比较多的报文鉴别手段MAC(Message Authentication Code)校验,能一定程度上保证数据的完整性,但没有提供数据的保密性。在解决全报文加解密的性能问题上,大多采用方法是:要么更换密码键盘,使用USB连接,提高处理速度;要么就对数量大的交易报文不做加密处理。这些做法要么增加巨额成本,要么不合规。
[0006]因此提供一种能保证通讯报文的保密性、保证其完整性,满足于密码键盘连接方式为串口连接的自助设备的加解密方法,成为急需解决的问题。

技术实现思路

[0007]本专利技术的目的是用于解决上述现有技术中存在的至少部分问题,提供一种报文加解密方法及其系统,所述方法可以适用于银行自助设备上,保证自助设备的前后端之间通讯报文的保密性、完整性;尤其是能满足于密码键盘连接方式为串口连接的自助设备。
[0008]一方面,本专利技术提供的一种报文加密方法,其应用于请求端或响应端,用于加密请求端上的包含敏感数据的报文数据;或者用于加密响应端的响应信息;
[0009]应用于请求端时,包括:
[0010]向响应端发送密钥申请请求,进而获取响应端发送的终端工作密钥并导入密码键盘;其中,所述终端工作密钥包括:保护密钥MACKEYENKEY、保护密钥MSGKEYENKEY;
[0011]获取包含敏感数据的报文数据;
[0012]调用密码键盘,利用所述保护密钥MSGKEYENKEY生成报文加解密密钥MSGKEY,再对包含敏感数据的报文数据进行加密;利用所述保护密钥MACKEYENKEY生成MAC计算密钥MACKEY,再基于密文进行MAC值计算;随后将所述MAC值和密文以报文方式发送给响应端,以供所述响应端利用所述终端工作密钥进行MAC值验证和解密;
[0013]其中,请求端上加密和/或MAC计算过程使用JS软算法实现;
[0014]或者应用于响应端时,包括:
[0015]获取包含响应信息的报文数据;
[0016]调用加密机,基于所述保护密钥MSGKEYENKEY生成的报文加解密密钥MSGKEY,对包含响应信息的报文数据进行加密;基于所述保护密钥MACKEYENKEY生成的MAC计算密钥MACKEY和密文进行MAC值计算;随后将所述MAC值和密文以报文方式发送给请求端,以供所述请求端利用所述终端工作密钥进行MAC值验证和解密,最终执行响应;
[0017]其中,加密过程的加密密钥和MAC计算过程与解密过程的解密密钥和MAC计算过程一一对应。
[0018]本专利技术所述方法可以应用于自助设备中,解决密码键盘连接方式为串口连接的自助设备,由于其密码键盘的通讯速率受其串口波特率(最高38400bps,每秒约4.8k字节)限制,其加解密速度非常慢,不能满足对大数据全报文(几百K到几兆字节的数据)加解密性能的问题。
[0019]本专利技术所述方法中的请求端,其使用的密钥MSGKEY、MACKEY是通过密码键盘硬件模块导入的保护密钥MSGKEYENKEY、MACKEYENKEY加密生成,完全适用于连接方式为串口连接的密码键盘;此外,请求端上报文数据的加解密、MAC计算过程使用JS软算法实现,其处理速度可以达到几百K自己数据毫秒级内的响应,因此所述方法应用于自助设备时,请求端为前端,可以有效地解决密码键盘的通讯速率受其串口波特率约束,经常出现加解密超时现象的问题。
[0020]第二方面,本专利技术提供一种报文解密方法,其应用于请求端或响应端,用于解密响应端发送的加密后的响应信息;或者用于解密请求端发送的包含敏感数据的加密报文数据;
[0021]应用于响应端时,包括:
[0022]接收请求端的密钥申请请求,再调用加密机生成终端工作密钥并反馈给所述请求端;其中,所述终端工作密钥包括:保护密钥MACKEYENKEY、保护密钥MSGKEYENKEY;
[0023]接收请求端发送的加密报文数据;其中,所述加密报文数据是所述请求端调用密码键盘并利用所述终端工作密钥对待加密的报文数据进行加密以及MAC值计算后得到的;
[0024]调用加密机,基于所述保护密钥MACKEYENKEY生成的MAC计算密钥MACKEY计算加密报文数据的MAC值;
[0025]验证接收的报文中MAC值与计算出的MAC值是否相同,若不相同,拒绝请求;否则,调用加密机并基于所述保护密钥MSGKEYENKEY生成的报文加解密密钥MSGKEY进行解密得到明文报文,再生成响应信息;
[0026]应用于请求端时,包括:
[0027]接收响应端发送的包含响应信息的加密报文数据,其中,所述加密报文数据是所
述响应端调用加密机并利用所述终端工作密钥对包含响应信息的报文数据进行加密以及MAC值计算后得到的;
[0028]调用密码键盘,基于所述保护密钥MACKEYENKEY生成的MAC计算密钥MACKEY计算加密报文数据的MAC值;
[0029]验证接收的加密报文中MAC值与计算出的MAC值是否相同,若不相同,拒绝请求;否则,调用密码键盘并基于所述保护密钥MSGKEYENKEY生成的报文加解密密钥MSGKEY进行解密得到明文报文,再执行响应;
[0030]其中,加密过程的加密密钥和MAC计算过程与解密过程的解密密钥和MAC计算过程一一对应,请求端上解密和/或MAC计算过程使用JS软算法实现。
[0031]进一步可选地,加/解密过程以及MAC计算过程的密钥设置如下:...

【技术保护点】

【技术特征摘要】
1.一种报文加密方法,其特征在于:应用于请求端或响应端,用于加密请求端上的包含敏感数据的报文数据;或者用于加密响应端的响应信息;应用于请求端时,包括:向响应端发送密钥申请请求,进而获取响应端发送的终端工作密钥并导入密码键盘;其中,所述终端工作密钥包括:保护密钥MACKEYENKEY、保护密钥MSGKEYENKEY;获取包含敏感数据的报文数据;调用密码键盘,利用所述保护密钥MSGKEYENKEY生成报文加解密密钥MSGKEY,再对包含敏感数据的报文数据进行加密;利用所述保护密钥MACKEYENKEY生成MAC计算密钥MACKEY,再基于密文进行MAC值计算;随后将所述MAC值和密文以报文方式发送给响应端,以供所述响应端利用所述终端工作密钥进行MAC值验证和解密;其中,请求端上加密和/或MAC计算过程使用JS软算法实现;或者应用于响应端时,包括:获取包含响应信息的报文数据;调用加密机,基于所述保护密钥MSGKEYENKEY生成的报文加解密密钥MSGKEY,对包含响应信息的报文数据进行加密;基于所述保护密钥MACKEYENKEY生成的MAC计算密钥MACKEY和密文进行MAC值计算;随后将所述MAC值和密文以报文方式发送给请求端,以供所述请求端利用所述终端工作密钥进行MAC值验证和解密,最终执行响应;其中,加密过程的加密密钥和MAC计算过程与解密过程的解密密钥和MAC计算过程一一对应。2.一种报文解密方法,其特征在于:应用于请求端或响应端,用于解密响应端发送的加密后的响应信息;或者用于解密请求端发送的包含敏感数据的加密报文数据;应用于响应端时,包括:接收请求端的密钥申请请求,再调用加密机生成终端工作密钥并反馈给所述请求端;其中,所述终端工作密钥包括:保护密钥MACKEYENKEY、保护密钥MSGKEYENKEY;接收请求端发送的加密报文数据;其中,所述加密报文数据是所述请求端调用密码键盘并利用所述终端工作密钥对待加密的报文数据进行加密以及MAC值计算后得到的;调用加密机,基于所述保护密钥MACKEYENKEY生成的MAC计算密钥MACKEY计算加密报文数据的MAC值;验证接收的报文中MAC值与计算出的MAC值是否相同,若不相同,拒绝请求;否则,调用加密机并基于所述保护密钥MSGKEYENKEY生成的报文加解密密钥MSGKEY进行解密得到明文报文,再生成响应信息;应用于请求端时,包括:接收响应端发送的包含响应信息的加密报文数据,其中,所述加密报文数据是所述响应端调用加密机并利用所述终端工作密钥对包含响应信息的报文数据进行加密以及MAC值计算后得到的;调用密码键盘,基于所述保护密钥MACKEYENKEY生成的MAC计算密钥MACKEY计算加密报文数据的MAC值;验证接收的加密报文中MAC值与计算出的MAC值是否相同,若不相同,拒绝请求;否则,调用密码键盘并基于所述保护密钥MSGKEYENKEY生成的报文加解密密钥MSGKEY进行解密得
到明文报文,再执行响应;其中,加密过程的加密密钥和MAC计算过程与解密过程的解密密钥和MAC计算过程一一对应,请求端上解密和/或MAC计算过程使用JS软算法实现。3.根据权利要求1或2任一项所述方法,其特征在于:所述方法应用于自助设备,所述请求端为前端应用系统时,所述响应端为后端前置系统,前端应用系统中待加密的报文数据为包含客户信息的报文数据;后端前置系统中待加密的报文数据是业务逻辑处理后的返回给前端应用系统的响应报文数据。4.一种报文加解密方法,其特征在于:包括以下步骤:前端应用系统向后端前置系统发送密钥申请请求;后端前置系统调用加密机生成终端工作密钥并反馈给所述前端应用系统;其中,所述终端工作密钥包括:保护密钥MACKEYENKEY、保护密钥MSGKEYENKEY;前端应用系统将终端工作密钥导入密码键盘;前端应用系统获取包含敏感数据的报文数据;前端应用系统调用密码键盘,利用所述保护密钥MSGKEYENKEY生成报文加解密密钥MSGKEY,再对包含敏感数据的报文数据进行加密;利用所述保护密钥MACKEYENKEY生成MAC计算密钥MACKEY,再基于密文进行MAC值计算;随后将所述MAC值和密文以报文方式发送给响应端;其中,请求端上加密和/或MAC计算过程使用JS软算法实现;后端前置系统接收前端应用系统发送的报文;后端前置系统调用加密机,基于所述保护密钥MACKEYENKEY生成的MAC计算密钥MACKEY计算报文的MAC值;后端前置系统验证接收的报文中MAC值与计算出的MAC值是否相同,若不相同,拒绝请求;否则,调用加密机并基于所述保护密钥MSGKEYENKEY生成的报文加解密密钥MSGKEY解密得到明文报文,最后进行后续业务逻辑处理。5.根据权利要求4所述的方法,其特征在于:还包括:后端前置系统获取...

【专利技术属性】
技术研发人员:王天将唐嵩邓伟赵建青
申请(专利权)人:中电长城长沙信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1