一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于校验签名证书防止APP窃听的方法、电子设备及存储介质与流程

2022-11-16 15:29:37 来源:中国专利 TAG:

基于校验签名证书防止app窃听的方法、电子设备及存储介质
技术领域
1.本发明涉及网络领域,尤其涉及一种基于校验签名证书防止app窃听的方法、电子设备及存储介质。


背景技术:

2.目前,在一般的app数据传输过程中,app的后台应用即appmall,没有其他验证,但针对app传过来的数据,是有经过验签。
3.现有的app数据传输过程存在以下缺陷:
4.虽然app传输数据到app的后台经过验签,但app存在签名证书未校验,使用渗透工具抓取数据包后,存在被篡改报文后,同步修改sign信息,就可以通过app的后台的验签;抓取数据包后甚至会被添加钓鱼代码、病毒代码、恶意代码,导致用户敏感信息泄露或者恶意攻击,安全性较低。


技术实现要素:

5.为了克服现有技术的不足,本发明的目的之一在于提供一种基于校验签名证书防止app窃听的方法、电子设备及存储介质,其能解决安全性较低的问题。
6.本发明的目的之一采用如下技术方案实现:
7.一种基于校验签名证书防止app窃听的方法,包括以下步骤:
8.s10步骤:app终端有终端公钥a1、终端私钥a2、证书,证书存放在原生资源目录下,记录后台的公钥b;后台有后台公钥b1,后台私钥b2;app终端与app后台建立联系并发送请求;
9.s20步骤:app终端通过三次握手与app后台建立联系,向app后台发送请求;
10.s30步骤:app后台返回后台公钥b1至app终端;
11.s40步骤:app终端用私钥a2解开证书,拿出记录的后台公钥b,与后台发送后台公钥b1进行对比,检测是否一致,若是,执行下一步,若否,抛出异常;
12.s50步骤:app终端用app后台公钥b1加密app终端公钥a1与传输内容,以报文形式向app后台传输,其中报文包括token、传输内容、app终端公钥a1、签名内容;
13.s60步骤:app后台用私钥b2解密报文,得到app终端公钥a1,并用app终端公钥a1加密报文给app终端,app终端后台用私钥a2解密报文;
14.s70步骤:app终端用app后台公钥b1加密报文传给app后台,app后台用后台私钥b2解密报文,得到传输内容。
15.进一步地,在实施s10-s60的步骤时,若出现网络中断或token失效或报文被篡改问题,则重新验证证书有效性。
16.进一步地,在实施s10-s60的步骤时,在“重新验证证书有效性”时,通过验证密码等信息,判断证书是否有效,若未通过验证,则抛出异常。
17.进一步地,在实施s10-s60的步骤时,在“重新验证证书有效性”时,判断数据证书
是否与制定证书一致,否则抛出异常。
18.进一步地,在实施s10-s60的步骤时,app终端发送https请求至app后台之后,app后台检查app终端是否持有指定证书,若是,检测证书是否有效,若是,验证密码信息,若通过,检测数据证书是否与指定证书一致,若是,证书使用tls协议并返回socket工厂,app终端与app后台通过此socket进行数据传输。
19.进一步地,在s10步骤中,app终端发送https请求至app后台,app后台记录信息,记录请求的时间、内容、地址。
20.进一步地,在s40步骤中,在“app终端用私钥a2解开证书,拿出记录的后台公钥b,与后台发送后台公钥b1进行对比”时,若不一致,记录异常请求对应的地址。
21.进一步地,在s40步骤中,app后台返回公钥至app终端,验证公钥是否通过,若验证不通过的次数超过3次,将请求地址列为黑名单。
22.进一步地,在s40步骤中,app后台返回公钥至app终端,验证公钥是否通过,若验证不通过,将该条请求列为被篡改的请求。
23.一种电子设备,包括:处理器;
24.存储器;以及程序,其中所述程序被存储在所述存储器中,并且被配置成由处理器执行,所述程序包括用于执行一种基于校验签名证书防止app窃听的方法。
25.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行一种基于校验签名证书防止app窃听的方法。
26.相比现有技术,本发明的有益效果在于:
27.app终端发送https请求至app后台,app后台记录信息,服务器生成对应的公钥、私钥;app后台返回公钥至app终端,验证公钥是否通过,若是,app终端生成随机秘钥,使用公钥加密秘钥,生成密后秘钥;app终端将密后秘钥传输至app后台,app后台进行私钥解密,生成app秘钥,对app秘钥和内容对称加密;app后台将经过加密的内容传输至app终端,app终端进行秘钥解密,得出传输的内容。采用本技术的方法,窃听者无法抓取报文,传输过程中可以避免篡改,防止应用被逆向分析、反编译、二次打包,防止嵌入各类病毒、广告等恶意代码,从源头保护数据安全,解决了信息安全度低的问题。
28.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
29.图1为本发明基于校验签名证书防止app窃听的方法中一较佳实施例的流程图;
30.图2为使用burpsuite抓取app的数据包的示意图;
31.图3为修改body内容、同步修改相应的sign签名信息的示意图;
32.图4为通过app的后台的验签并成功传输报文的示意图;
33.图5为一般情况下app终端与后台的传输过程示意图;
34.图6为存在窃听者时传输过程示意图;
35.图7-8为采用本技术方法之后的传输示意图;
36.图9为采用本技术方法具体操作的细节图。
具体实施方式
37.下面,结合附图以及具体实施方式,对本发明做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。
38.需要说明的是,当组件被称为“固定于”另一个组件,它可以直接在另一个组件上或者也可以存在居中的组件。当一个组件被认为是“连接”另一个组件,它可以是直接连接到另一个组件或者可能同时存在居中组件。当一个组件被认为是“设置于”另一个组件,它可以是直接设置在另一个组件上或者可能同时存在居中组件。本文所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的。
39.除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
40.请参阅图1,一种基于校验签名证书防止app窃听的方法,包括以下步骤:
41.s10步骤:app终端有终端公钥a1、终端私钥a2、证书,证书存放在原生资源目录下,记录后台的公钥b;后台有后台公钥b1,后台私钥b2;app终端与app后台建立联系并发送请求;
42.s20步骤:app终端通过三次握手与app后台建立联系,向app后台发送请求;
43.s30步骤:app后台返回后台公钥b1至app终端;
44.s40步骤:app终端用私钥a2解开证书,拿出记录的后台公钥b,与后台发送后台公钥b1进行对比,检测是否一致,若是,执行下一步,若否,抛出异常;
45.s50步骤:app终端用app后台公钥b1加密app终端公钥a1与传输内容,以报文形式向app后台传输,其中报文包括token、传输内容、app终端公钥a1、签名内容;
46.s60步骤:app后台用私钥b2解密报文,得到app终端公钥a1,并用app终端公钥a1加密报文给app终端,app终端后台用私钥a2解密报文;
47.s70步骤:app终端用app后台公钥b1加密报文传给app后台,app后台用后台私钥b2解密报文,得到传输内容。
48.优选的,在执行上述步骤时,记录传输的数据内容、地址、时间,形成传输日志。
49.一种电子设备,包括:处理器;
50.存储器;以及程序,其中所述程序被存储在所述存储器中,并且被配置成由处理器执行,所述程序包括用于执行一种基于校验签名证书防止app窃听的方法。
51.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行一种基于校验签名证书防止app窃听的方法。
52.请具体参阅图2,为使用burpsuite抓取app的数据包的示意图,请具体参阅图3,为修改body内容、同步修改相应的sign签名信息的示意图;请具体参阅图4,为通过app的后台的验签并成功传输报文的示意图,从图2-4可以看出,在现有技术中,虽然app传输数据到app的后台经过验签,但app存在签名证书未校验,使用渗透工具抓取数据包后,存在被篡改报文后,同步修改sign信息,就可以通过app的后台的验签;抓取数据包后甚至会被添加钓鱼代码、病毒代码、恶意代码,导致用户敏感信息泄露或者恶意攻击,安全性较低。
53.请具体参阅图5,为一般情况下app终端与后台的传输过程示意图;请具体参阅图6,为存在窃听者时传输过程示意图;请具体参阅图7-8,为采用本技术方法之后的传输示意图。
54.具体的,请参阅图9,具体操作细节如下:
55.1、app添加issuer.cer证书:
56.将issuer.cer证书放在assets目录(assets目录是安卓专门存放的原生资源文件)下。
57.2、前端添加代码(示例为伪代码):
58.[0059][0060]
安卓前端引用ssl工厂函数:
[0061]
[0062][0063]
3、使用软件360加固宝对app进行加密发布,防止反编译,不法者拿到证书:
[0064]
360加固简称:
[0065]
加固保为移动应用提供专业安全的保护,可防止应用被逆向分析、反编译、二次打包,防止嵌入各类病毒、广告等恶意代码,从源头保护数据安全和开发者利益。
[0066]
360加固原理:
[0067]
加固就是对源apk进行加密,然后再套上一层壳。用加密算法对源apk进行加密,再将壳apk进行合并得到新的dex文件,最后替换壳程序中的dex文件得到新的apk,这个新的apk已经不是一个完整意义上的apk程序了,它的主要工作是负责解密源apk,然后加载apk,让其正常运行起来。
[0068]
具体的,360加固步骤如下:
[0069]
1、下载360加固包,登录后,点击添加应用,选择当前app。
[0070]
2、弹框中点击“马上配置”。
[0071]
3、配置apk使用的签名,填写启动自动签名的内容后,点击添加。
[0072]
4、点击添加后,keystore路径等就有相应的信息。
[0073]
5、360加固宝对软件进行上传应用加固。
[0074]
6、加固完成。
[0075]
综上所述:现有功能只是单向认证,如果使用xposed框架和justtrustme插件仍可以抓取到相应的数据包,甚至获取到前端的证书。如果做到双向认证和风险预警,风控等,即服务器和前端都有自己的证书,传输数据之前需要对各自的证书进行验证,即使不法者得到前端的证书,也无法得到服务器的证书,设置风险预警,将存疑用户加入黑名单或其他风控控制,这样更加能提高安全性。
[0076]
请参阅图9,在实施s10-s40的步骤时,app终端发送https请求至app后台之后,app后台检查app终端是否持有指定证书,若是,检测证书是否有效,若是,验证密码信息,若通过,检测数据证书是否与指定证书一致,若是,证书使用tls协议并返回socket工厂,app终端与app后台通过此socket进行数据传输。优选的,在实施s10-s40的步骤时,若证书无效、验证密码信息异常、数据证书是否与指定证书不一致,抛出异常。
[0077]
上述实施方式仅为本发明的优选实施方式,不能以此来限定本发明保护的范围,本领域的技术人员在本发明的基础上所做的任何非实质性的变化及替换均属于本发明所要求保护的范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献