一种终端应用与后台服务通讯报文防篡改的方法技术

技术编号:16042591 阅读:30 留言:0更新日期:2017-08-20 00:58
本发明专利技术公开了一种终端应用与后台服务通讯报文防篡改的方法,该方法基于HMAC算法计算双方报文摘要,该HAMC算法的密钥是由主密钥根据终端序号分散获得。本发明专利技术提供的方案能够有效防止终端应用APP与后台服务器通讯报文被篡改,有效克服现有基于终端应用系统基于http通讯协议的通讯报文截获后被篡改的缺陷,从而大大提高终端应用APP与后台服务器通讯的安全性。

【技术实现步骤摘要】
一种终端应用与后台服务通讯报文防篡改的方法
本专利技术涉及信息安全防护技术,具体涉及终端应用管理系统客户端与服务端通讯的安全防护技术。
技术介绍
随着移动互联网时代的到来,智能手机、平板电脑、POS机等移动终端的迅速普及,也引发了各类终端应用APP的爆炸式增长。目前大多数终端应用服务器与终端应用APP的通讯协议采用http,发送方发送出去的通讯报文很容易被第三方截获后被篡改,而接收方无法验证接受的报文是否已被篡改。目前可以利用MD5、SHA1等摘要算法生成报文摘要来防止发送的报文被篡改,但是这些摘要算法都是公开的,第三方截获报文后同样可以对篡改后的报文生成报文摘要,造成接收方无法辨别报文是否已被篡改。
技术实现思路
针对现有终端应用服务器与终端应用之间通讯报文容易被截获和篡改的问题,需要一种新的终端应用与后台服务间的通讯方案。为此,本专利技术所要解决的技术问题是提供一种终端应用与后台服务通讯报文防篡改的方法。为了解决上述技术问题,本专利技术提供的终端应用与后台服务通讯报文防篡改的方法,该方法基于HMAC算法计算双方报文摘要,该HAMC算法的密钥是由主密钥根据终端序号分散获得。在本方案中,在终端中,其SDK中保存HAMC算法密钥,上层终端应用不可见,提供接口给上层应用来生成报文摘要;在服务端中,其管理终端序号,并通过加密机提供接口来生成HAMC算法密钥和计算报文摘要。在本方案中,终端HAMC算法密钥的生成包括如下步骤:主密钥导入到加密机;由主密钥根据终端设备序号进行分散生成终端HAMC算法密钥;终端SDK写入终端HAMC算法密钥和主密钥索引。在本方案中,终端HAMC算法密钥在加密机内部完成。在本方案中,所述加密机部署在服务端内。在本方案中,终端应用发送报文时,则先将报文数据和HAMC算法密钥合并运行散列函数得到报文摘要;且发送的报文内容包括报文数据以及报文摘要,所述报文数据中包括终端序号和主密钥索引。在本方案中,终端应用发送报文时,报文摘要的生成在终端SDK内部完成。在本方案中,服务端在收到报文后,首先解析出报文数据中的终端序号和密钥索引;然后检查终端序号是否有效,如终端序号有效,则调用密钥分散算法得到HAMC算法密钥;再将解析得到的报文数据和计算得到的HAMC算法密钥合并运行散列函数得到新的报文摘要;最后,将计算得到的新报文摘要与接收到的报文摘要进行一致性比较,如一致则认为报文未被篡改过。本专利技术提供的方案能够有效防止终端应用APP与后台服务器通讯报文被篡改,有效克服现有基于终端应用系统基于http通讯协议的通讯报文截获后被篡改的缺陷,从而大大提高终端应用APP与后台服务器通讯的安全性。具体实施方式为了使本专利技术实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实例,进一步阐述本专利技术。根据RFC2316(ReportoftheIAB,April1998),HMAC(散列消息身份验证码:HashedMessageAuthenticationCode)以及IPSec被认为是Interact安全的关键性核心协议。它不是散列函数,而是采用了将MD5或SHA1散列函数与共享机密密钥一起使用的消息身份验证机制。即,消息与密钥组合并运行散列函数。本方案基于HMAC算法实现终端应用APP与后台服务器间通讯报文的防篡改,其中HAMC算法应用的密钥采用二级密钥体系生成。HMAC即带密钥的HASH函数,通信实体双方使用的一种验证机制,可保证消息数据完整性。本方案基于HMAC算法计算终端应用APP与后台服务器间通讯报文的报文摘要,由此来保证消息数据完整性。而HMAC算法计算报文摘要的密钥是由主密钥根据终端序号分散获得,确保了终端密钥唯一性。具体的,该密钥在终端SDK保存,上层终端应用不可见,提供接口给上层应用来生成报文摘要,确保了终端密钥的安全性。而服务端管理终端序号,由加密机提供接口来生成终端密钥和计算报文摘要,确保了终端密钥的有效性和安全性。对于HMAC算法,作为举例,本实例中采用HmacSHA256来计算报文摘要,以保证消息数据完整性,HmacSHA256计算报文摘要的密钥是由主密钥根据终端序号分散获得,确保了终端密钥唯一性。针对上述方案,以下具体说明一下本方案方式实现终端应用APP与后台服务器间防通讯报文篡改的通讯过程。第一步:服务端部署加密机,根据主密钥导入工具导入主密钥到加密机内;加密机提供生成终端密钥和计算报文摘要(报文摘要的算法采用HmacSHA256)的接口。其中主密钥成分为三个成分,由三个管理人员分别管理这个三个成分。主密钥导入是由三个管理人员输入三个成分后,进行合并和HASH后得到主密钥。该主密钥的生成和存储在加密机内部完成。作为举例,本实例中生成的主密钥长度为24byte。第二步:主密钥根据终端序号分散生成终端密钥,并将终端密钥写入终端SDK;终端SDK提供接口给终端上层应用来生成报文摘要,其中报文摘要的算法采用HmacSHA256。该步骤中,终端密钥的生成在加密机内部完成。基于服务端内部署的加密机提供的生成终端密钥接口,由主密钥根据终端设备序号进行分散生成终端密钥。由于终端设备序号每个设备唯一,故由此分散生成的终端密钥,每个终端各不相同,其中密钥分散算法采用“DESede/ECB/PKCS5Padding”。另外,该步骤中,具体将生成的终端设备密钥和主密钥索引写入终端SDK。第三步:服务端导入终端序号。第四步:客户端应用和服务端通讯,其中双方通讯的报文数据需要基于第一和第二步的方案来生成报文摘要。终端应用发送报文时,则先将报文数据和终端设备密钥合并运行散列函数得到报文摘要,这一步骤由终端SDK内部完成。其中发送的报文内容包括报文数据,以及报文摘要两个部分,这里的报文数据中包括终端序号和主密钥索引。服务端收到报文后,首先解析出报文数据中的终端序号和密钥索引;然后服务端先检查解析得到的终端序号是否有效,具体基于步骤三导入的终端序号进行对比分析;如终端序号有效,则基于该终端序号通过加密机调用密钥分散算法分散生成终端设备密钥;接着,将解析得到的报文数据和在服务端内生成的终端设备密钥合并运行散列函数得到新的报文摘要;最后,将得到的新的报文摘要与接收到的报文内容中的报文摘要比较是否一致,如一致则认为报文未被篡改过。由此可见,本方案能够有效防止终端应用APP与后台服务器通讯报文被篡改,保证终端应用APP与后台服务器间通讯的安全性。以上显示和描述了本专利技术的基本原理、主要特征和本专利技术的优点。本行业的技术人员应该了解,本专利技术不受上述实施例的限制,上述实施例和说明书中描述的只是说明本专利技术的原理,在不脱离本专利技术精神和范围的前提下,本专利技术还会有各种变化和改进,这些变化和改进都落入要求保护的本专利技术范围内。本专利技术要求保护范围由所附的权利要求书及其等效物界定。本文档来自技高网...

【技术保护点】
一种终端应用与后台服务通讯报文防篡改的方法,其特征在于,该方法基于HMAC算法计算双方报文摘要,该HAMC算法的密钥是由主密钥根据终端序号分散获得。

【技术特征摘要】
1.一种终端应用与后台服务通讯报文防篡改的方法,其特征在于,该方法基于HMAC算法计算双方报文摘要,该HAMC算法的密钥是由主密钥根据终端序号分散获得。2.根据权利要求1所述的终端应用与后台服务通讯报文防篡改的方法,其特征在于,在终端中,其SDK中保存HAMC算法密钥,上层终端应用不可见,提供接口给上层应用来生成报文摘要;在服务端中,其管理终端序号,并通过加密机提供接口来生成HAMC算法密钥和计算报文摘要。3.根据权利要求2所述的终端应用与后台服务通讯报文防篡改的方法,其特征在于,终端HAMC算法密钥的生成包括如下步骤:主密钥导入到加密机;由主密钥根据终端设备序号进行分散生成终端HAMC算法密钥;终端SDK写入终端HAMC算法密钥和主密钥索引。4.根据权利要求2所述的终端应用与后台服务通讯报文防篡改的方法,其特征在于,终端HAMC算法密钥在加密机内部完成。5.根据权利要求2所述的终端应用与后台服务通讯报文...

【专利技术属性】
技术研发人员:沈勇坚胡永刚王翔平
申请(专利权)人:上海赛付网络科技有限公司
类型:发明
国别省市:上海,31

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

1