[发明专利]一种基于协议扩展的移动设备安全访问的方法和系统在审
申请号: | 201710685845.2 | 申请日: | 2017-08-11 |
公开(公告)号: | CN107276747A | 公开(公告)日: | 2017-10-20 |
发明(设计)人: | 裘宏骏 | 申请(专利权)人: | 杭州铜米互联网金融服务有限公司 |
主分类号: | H04L9/06 | 分类号: | H04L9/06;H04L9/08;H04L9/32;H04L29/06 |
代理公司: | 杭州浙科专利事务所(普通合伙)33213 | 代理人: | 孙孟辉 |
地址: | 311100 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 协议 扩展 移动 设备 安全 访问 方法 系统 | ||
技术领域
本发明属于互联网金融领域,涉及一种互联网金融APP进行安全访问的方法和系统。
背景技术
随着互联网金融的蓬勃兴起,APP成为了每个互联网金融公司的标准配置。现在90%平台流量来自移动APP。APP已经成为了一个非常重要的流量入口。但是移动设备的安全访问控制始终是一个技术难点。现有移动设备安全访问控制的方法主要是通过SSL的HTTPS双向认证来实现。通过RSA非对称算法的特点,在APP内嵌入一个私钥。在通讯过程中用该私钥进行加密,然后在服务器端进行解密操作。对于没有SSL私钥的客户端访问。服务器直接予以拒绝。
现有通过HTTPS客户端双向认证的方案存在以下缺点:
1. APP客户端需要内需要嵌入私钥证书。这对APP的自身的安全性提出了比较高的要求,如果APP被脱壳、被反编译的话,私钥证书就会发生泄露从而造成非授权移动设备的访问接入,对系统的安全性产生破坏。
2. 如果采用HTTPS双向认证的话,对于WAF、DDOS防护设备的安全产品的适应能力比较差。如果采用了HTTPS的双向认证的就无法采用DDOS和WAF进行加固,在应对汹涌的网络攻击的时候,服务端将非常脆弱。
3. 采用HTTPS双向认证的话,在通信过程中的交互次数讲比HTTPS单向认证和要增加很多,对于用户体验的影响是非常大的。
发明内容
为了解决现有技术中存在的上述技术问题,本发明提供了一种基于协议扩展的移动设备安全访问的方法,
步骤一、在客户端对HTTP报文的PATH参数,当前时间及私钥串进行MD5计算,形成报文签名字段;
步骤二、服务器同样对PATH参数、当前时间和约定的私钥串再次进行MD5计算,与客户端传输过来的报文签名字段进行比较,若一致则通过,若不一致则拒绝访问。
进一步的,步骤一由签名运算SDK完成,在安卓APP里面以SO文件,以JNI的形式加载在安卓APP里面;在IOS APP里面以dylib文件的形式加载在IOS APP里面。
进一步的,签名在计算完成后,作为自定义头部放到HTTP报文头中。
进一步的,步骤二由验签过滤器完成,验签过滤器在nginx中以扩展模块的形式加载在nginx可执行文件中。
进一步的,当时间在0点前后的30分钟内,分别用日期和日期+1分别计算,只要一个结果一致,验签通过。
进一步的,若需要更换私钥串,对SO文件和dylib文件进行进行替换。
进一步的,若需要更换私钥串,直接替换该验签过滤器模块,然后对nginx进行直接编译。
本发明的有益效果如下:
1.通过在协议扩展自定义签名字段,不影响协议的交互过程,对后端服务完全透明,可以应用在各种APP安全访问的场景中。
2.不需要采用HTTPS双向认证方式对客户端进行安全访问控制,可以很好的匹配各种DDOS、WAF设备。
3.不修改现有通信协议的交互过程,不额外增加交互次数。对于APP的用户体验没有影响。
4.APP客户端不需要包含私钥证书,通过加载经过混淆的加密算法组件,进行签名字段计算。加密算法采用原生模式进行编译,破解与逆向工程难度很大。
附图说明
图1是本发明的系统架构图。
具体实施方式
下面结合附图对本发明作进一步说明。
本发明的主要目标是通过在客户端对HTTP报文的PATH参数,当前时间及私钥串进行MD5计算,形成报文签名字段。服务器同样对PATH参数、当前时间和约定的私钥串再次进行MD5计算,与客户端传输过来的签名字段进行比较。如果一致的就放行。如果核对有误,服务器端就报"401"错误。从而完成非授权终端的访问。
本发明的基于协议扩展的移动设备安全访问的方法,包括提供面向IOS设备的签名运算SDK、面向Andriod设备的签名运算SDK、面向Nginx的验签过滤器。
1. 签名运算SDK
签名运算SDK在安卓APP里面以SO文件,以JNI的形式加载在安卓APP里面。在IOS APP里面以dylib文件的形式加载在IOS APP里面。
签名的算法为:
checksum=MD5(MD5(path+DATE+private_key))
其中PATH是URL请求里面的PATH参数,例如:/service/invoke service1=para1& service2=para2
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州铜米互联网金融服务有限公司,未经杭州铜米互联网金融服务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710685845.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种中文字符加解密方法
- 下一篇:一种基于区块链大量生成私钥的方法及装置