基于SM4、MD5 密钥及业务全流程加解密技术的流量批发、转增解决方案
2015-03-19□王琳郝琳
□王 琳 郝 琳
一、概述
(一)背景。河北联通移动互联网渠道管理平台是互动营销平台基础上建设的子系统,从合作伙伴管理、信息安全、合理利用接入资源及用户体验角度出发,渠道运营合作伙伴通过此平台对接,进行用户消费信息、产品订购信息、产品互斥等信息查询及用户产品订购,全面支撑渠道伙伴增值业务产品营销,实现增值产品的分销、统一、高效、规范的渠道运营管理。从流量拉动提升及用户流量自由分配角度出发,扩大流量销售渠道,提供流量批发业务,实现用户流量自由控制及使用将是目前重要发展方向。
(二)技术创新方向。
1.SM4 加/解密技术运用。此算法是一个分组算法,用于无线局域网产品。该算法的分组长度为128 比特,密钥长度为128 比特。加密算法与密钥扩展算法都采用32 轮非线性迭代结构。解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。此算法采用非线性迭代结构,每次迭代由一个轮函数给出,其中轮函数由一个非线性变换和线性变换复合而成,非线性变换由S 盒所给出。与传统的软件加密方式相比,SM4 加解密算法具有以下特点:
(1)计算速度快、效率高。虚拟卡平台与加密平台采用WebService 接口的方式进行加解密处理,在处理比较大的订单时(如百万级),为了及时给虚拟卡平台反馈加密结果,对加解密算法的执行效率要求较高。SM4 加密算法可以在短时间内对大批量的卡号进行加密操作,正是由于SM4 加密算法计算速度快、效率高的特点,在虚拟卡密文安全的同时,提升了虚拟卡加解密的执行效率。
(2)安全性高。SM4 算法是我国自主研制的分组密码算法,由2006年国家密码管理局公布至今,还未被攻破,目前仍然是安全的。并且SM4 算法密钥长度为128 位,若采用穷举攻击法,需要2,128 次运算,远比DES 算法256 次运算大得多,要想要用穷举攻击法破解需要相当长的时间,在目前看来是不现实的。
SM4 加/解密技术平台应用:渠道平台与加密平台之间使用WebService 接口进行交互,渠道平台将生成的虚拟卡号及订单号发送到加密平台后,由加密平台对卡号进行检验、加密处理。
2.MD5 加密技术运用。MD5 属于单向加密算法,是不可逆的加密方式,也就是说,采用了MD5 加密方式加密之后,就不能对加密的结果进行解密,得到原有的字符串,这是不可以的。MD5 是散列算法,将任意大小的数据映射到一个较小的、固定长度的唯一值。加密性强的散列一定是不可逆的,这就意味着通过散列结果,无法推出任何部分的原始信息。任何输入信息的变化,哪怕仅一位,都将导致散列结果的明显变化,这称之为雪崩效应。散列还应该是防冲突的,即找不出具有相同散列结果的两条信息。具有这些特性的散列结果就可以用于验证信息是否被修改。MD5 就和人的指纹一样,每个人的指纹都是唯一的,而文件的MD5 值也是唯一的。
MD5 算法特点:一是压缩性:任意长度的数据,算出的MD5 值长度都是固定的。二是容易计算:从原数据计算出MD5 值很容易。三是抗修改性:对原数据进行任何改动,哪怕只修改1 个字节,所得到的MD5 值都有很大区别。四是弱抗碰撞:已知原数据和其MD5 值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。五是强抗碰撞:想找到两个不同的数据,使它们具有相同的MD5 值,是非常困难的。
MD5 加密技术平台应用:第三方渠道与管理平台做信息交互的时候,管理平台从用户名密码鉴权、IP 鉴权、业务类型鉴权这三个方面做身份鉴权,所有鉴权通过后才能进行业务流程申请。IP 鉴权依托DCN 网络安全保护,业务类型鉴权依托计费系统安全保护,此次加密工作是对用户名密码鉴权做的二次加密保障。
二、实施方案
(一)虚拟卡SM4 加/解密技术(全流程加密技术)。
1.加密处理。渠道平台与加密平台之间使用WebService接口进行交互,渠道平台将生成的虚拟卡号及订单号发送到加密平台后,由加密平台对卡号进行检验、加密处理,加密过程如下:一是渠道平台批量发送卡号、订单号到加密平台;二是加密平台对收到的卡号、订单号的有效性进行检验,若检验失败,则驳回加密请求。三是根据订单号、时间截进行MD5 加密,并生成加密密钥;四是根据卡号、加密密钥进行SM4 加密,并将虚拟卡密文存储到数据库中;五是向渠道平台应答成功加密的卡号数量。
2.解密处理。渠道平台在收到用户短信上行的虚拟卡密文,并且密文的格式校验通后,由渠道平台向加密平台发起解密请求,对收到的虚拟卡密文进行解密。解密过程如下:一是渠道平台发送解密请求,将虚拟卡密文发送到加密平台;二是加密平台在收到虚拟卡密文后,对该密文的有效性进行校验;三是校验通过后,根据订单号、时间截进行MD5加密,并生成解密密钥;四是根据虚拟卡密文、解密密钥,对虚拟卡密文进行SM4 解密操作,并得到虚拟卡号;五是向渠道平台应答解密后的虚拟卡号。
(1)虚拟卡生成。分销商在运营商处购买虚拟卡并缴费后,操作员根据批发商信息、购买资源信息(如:流量、短信等)创建虚拟卡订单,并设置这批虚拟卡的有效时间、截止时间等信息。订单提交后,需要由管理员进行审核,订单审核通过后,方可开通虚拟卡,并进行卡号等信息的分配。
(2)虚拟卡加密。为保证虚拟卡信息的安全性,虚拟卡平台采用卡密分离的方式进行存储。由虚拟卡平台创建订单,并生成虚拟卡,然后交由加密平台对卡号进行加密操作,并且卡密始终保存在加密平台内。整个交互过程中,虚拟卡平台不会接触到卡密信息。
(3)卡密导出。虚拟卡开通、加密完成后,分销商通过登录虚拟卡平台将卡密信息进行导出。虚拟卡平台通过动态短信验证码方式进行登录,登录前,分销商需要填写登录账号、订单号、动态短信密码,所有信息必须验证通过后才可以登录系统。为避免分销商重复导出卡密信息,系统设置一次性导出,每个订单只允许分销商导出一次。导出卡密时,系统向分销商发送一条动态密码短信,分销商接收到密码短信并验证成功后,再进行卡密文件的下载。
(4)虚拟卡使用。分销商获取卡密以后,将卡密分发到用户手中。用户通过发送上行短信,将卡密发送到指定接入号。系统接收到上行卡密信息后,向加密平台发送解密请求,并返回对应的虚拟卡号,系统判断该虚拟卡号是否有效,若有效,则对为该用户添加相应的资源,若无效,则短信通知用户。
(二)第三方接口MD5 加密技术。传统的客户端访问服务器各接口时,需要输入账号和密码等信息,服务器接收用户传来的数据包,提取用户的账号信息和密码信息,再查询服务器的数据库,最后反馈认证成功或者失败信息给用户。这种身份认证模式是目前最常用的一种远程认证方式,然而却存在请求数据包被窃取及数据库密码泄露的隐患。由于MD5 算法具有加密单向性和数字指纹性的特点,因此在远程身份认证中引入MD5 算法就能弥补传统模式的缺陷。MD5算法就是将任意长度的输入信息经过复杂的线性变换成一个定长为128 位(bits)且唯一的新数据,我们称这个过程为产生数字指纹,通过MD5 加密的数据具有很高的可靠性。为了保证数据的安全性,在进行身份鉴别的过程必须保证安全可靠。所以需要满足的条件是鉴别过程中数据要具有保密性,同时为保证数据发送过程中不被修改,也要保证数据的完整性。在鉴别过程中需要使用报文鉴别技术来保证完整性,同时需要使用密码算法技术来保证数据的安全性。那么在接口数据鉴权之前,需要将加密算法及密钥告知各第三方渠道。
1.平台的安全管理。第三方渠道与管理平台做信息交互的时候,管理平台从用户名密码鉴权、IP 鉴权、业务类型鉴权这三个方面做身份鉴权,所有鉴权通过后才能进行业务流程申请。IP 鉴权依托DCN 网络安全保护,业务类型鉴权依托计费系统安全保护,此次加密工作是对用户名密码鉴权做的二次加密保障。
2.业务描述。第三方渠道与渠道管理平台交互,发送查询及订购业务请求,管理平台收到后对信息报文判断,判断包头字段的合法性及有效性(依据接口标准文档),判断包体内产品代码、业务模式(依据接口文档)、用户鉴权(用户名密码判断)、生成本平台识别的订单流水号,并加入到BSS 交互队列里,BSS 返回记过后自动匹配订单流水号后分发给不同渠道方。
3.加密流程。第三方渠道在访问管理平台的时候,把平台所分配给其的鉴权密码加上动态时间戳后自动混合加密,生成32 位秘钥随信息报文一起发送到管理平台,管理平台收到全部的信息报文后,先根据用户名解析出该用户的鉴权密码,再根据该用户的发起时间自动混合加密后,生成32 位秘钥,与第三方渠道申请报文中的秘钥进行配匹判断,判断结果相同后再启动下一步业务流程。
三、系统实施效果
本项目始于2014年1月,2014年3月完成了功能模块的开发,经验收合格后投入上线运营。本项目中基于安全加密及话单采集处理技术的流量转赠、批发应用为国内首创,期间针对河北省移动互联网渠道的统一接入管理建设了移动互联网渠道管理平台,通过建设统一接入接口,合作伙伴通过对接,进行用户消费信息、产品订购信息、产品互斥等信息查询及用户产品订购,全面支撑渠道伙伴增值业务产品营销,实现增值产品的分销、统一、高效、规范的渠道运营管理;2014年增收四百多万元,取得了良好的社会效益和经济价值。