一种混合架构移动应用的网络数据安全传输方法及系统与流程

文档序号:37591331发布日期:2024-04-18 12:24阅读:10来源:国知局
一种混合架构移动应用的网络数据安全传输方法及系统与流程

本发明属于通讯,尤其涉及一种混合架构移动应用的网络数据安全传输方法及系统。


背景技术:

1、在移动应用开发过程中,一款移动应用通常需要在安卓和ios平台同时发布,而安卓和ios的代码互不兼容,这就导致了相同的业务逻辑需要重复实现两次,同时需要有两位及以上不同平台的开发人员投入到开发中去,这就造成了开发资源的重复投入,存在开发资源浪费。

2、为解决此种开发资源浪费的情况,现有技术采用了混合架构(hybrid)的跨平台开发方案,使用一套代码实现业务逻辑的同时,兼容安卓和ios平台。考虑到开发效率、技术成熟度和容易上手等因素,混合架构采用了web应用和原生应用混合开发的方案。在此种方案下web负责业务实现和交互,原生应用提供蓝牙、相机和定位等原生能力支持。这里web部分是指使用webview组件呈现html5代码内容的功能部分。

3、移动应用在部署时,有时会面临没有https保证数据传输安全的场景,在这种场景下,纯原生应用可以通过使用aes等加密方式,保证终端数据内容与服务器间的安全传输。但是在以上混合架构应中,攻击者很容易通过抓包等攻击方式,获取web应用的html内容,并提取密钥等信息,这就给网络数据安全传输埋下了极大隐患。

4、把密钥等敏感信息保存在原生端并做好防逆向处理,将web部分的网络数据通过原生进行加密传输,并实现web部分和原生端的数据通信,是一个解决此种场景下的数据安全传输问题的方案。

5、通过上述分析,现有技术存在的问题及缺陷为:现有技术在在无法使用https进行网络数据安全传输的场景下的,不能保证web数据安全传输。


技术实现思路

1、为克服相关技术中存在的问题,本发明公开实施例提供了一种混合架构移动应用的网络数据安全传输方法及系统。本发明基于web和原生混合架构移动应用中,在无法使用https进行网络数据安全传输的场景下的,保证了web数据安全传输。

2、所述技术方案如下:一种混合架构移动应用的网络数据安全传输方法,该方法将webview的网络请求转发到原生端,由原生端实现敏感数据的安全加密并发送,然后把响应结果解密传输回webview,具体包括以下步骤:

3、s1,在初始化webview组件时,使用webview组件的脚本加载api,将实现网络拦截和jsbridge的javascript代码文件从app本地读取,并通过脚本加载api注入到webview组件中;

4、s2,网络拦截代码注入到webview后,拦截代码重新实现webview的网络相关的请求的api,当有网络请求发起时,该网络请求被注入的拦截代码拦截;

5、s3,拦截到网络请求后,解析网络请求的信息;

6、s4,将拦截到的网络请求信息通过json序列化工具,转换成易于传输的json字符串,并通过jsbridge 将序列化后的json字符串发送给原生端;

7、s5,原生端接收jsbridge传递来的json字符串后,将json字符串信息反序列化为请求对象,然后加密请求负载,并根据请求对象在原生端创建新的网络请求,webview的数据经原生加密后,在原生部分通过协议,传输到服务端;

8、s6,原生端接收到网络请求响应后,通过约定的解密算法解密响应数据,并通过jsbridge将解密后的数据传递给webview,webview拿到数据后,将网络数据传递给之前拦截的网络接口,至此,完成一次网络请求。

9、在步骤s3中,网络请求的信息包括:请求方法method、请求地址url、请求头header和请求负载body;所述请求方法method包括get、post、put、head。

10、在步骤s5中,将json字符串信息反序列化为请求对象,包括:把json格式的字符串信息使用反序列化工具反序列化为请求对象,获取method、url、header和data必要信息;

11、所述加密请求负载中,使用对称加密算法、非对称加密算法或签名校验加密工具加密请求负载,所述对称加密算法包括aes、des、3des、rc,非对称加密算法包括rsa、ecc、dsa,签名校验包括md5、sha256。

12、在步骤s5中,在原生部分通过http或https协议,传输到服务端。

13、在步骤s6中,所述解密算法包括aes解密、des解密、3des解密、rc解密。

14、该方法还采用以下步骤进行网络请求,包括:

15、s100:webview初始化时注入jsbridge 脚本和网络拦截脚本,脚本文件已放置在原生app包中,webview初始化时会加载这两个脚本,实现网络拦截和事件传递功能;

16、s101:html5前端页面发起网络请求时,拦截请求信息,并包装成网络事件并通过jsbridge转发给原生端;

17、s102:原生端收到jsbridge 的网络事件后,解析网络请求数据并传递给原生端的安全处理层;

18、s103:安全处理层加密敏感数据,这里的加密措施可根据需要调整加密算法和加密方案,将加密后的数据和其他请求数据传递给原生网络层;

19、s104:原生网络层根据请求信息重建网络请求,网络请求返回响应后,将获取的响应数据传递给安全层处理;

20、s105:解析网络响应数据,拿到响应中的加密部分,并按照约定好的方案解密获取响应内容,然后包装成网络事件通过jsbridge传递给webview;

21、s106:webview网络响应事件后,解析响应事件获取网络响应数据,并传递给网络拦截层;

22、s107:网络拦截层拿到数据后,把响应数据传递给拦截的api,html5拿到数据后解析渲染数据,至此一次安全的网络传输完成。

23、本发明的另一目的在于提供一种混合架构移动应用的网络数据安全传输系统,该系统实施所述的混合架构移动应用的网络数据安全传输方法,该系统包括:

24、脚本注入及页面加载模块,用于webview初始化时注入jsbridge 脚本和网络拦截脚本,脚本文件已放置在原生app包中,webview初始化时会加载这两个脚本,实现网络拦截和事件传递功能;

25、转发模块,用于html5前端页面发起网络请求时,拦截请求信息,并包装成网络事件并通过jsbridge转发给原生端;

26、解析模块,用于原生端收到jsbridge 的网络事件后,解析网络请求数据并传递给原生端的安全处理层;

27、加密模块,用于安全处理层加密敏感数据,加密措施可根据需要调整加密算法和加密方案,将加密后的数据和其他请求数据传递给原生网络层;

28、网络请求重建模块,用于原生网络层根据请求信息重建网络请求,网络请求返回响应后,将获取的响应数据传递给安全层处理;

29、解密模块,用于解析网络响应数据,拿到响应中的加密部分,并按照约定好的方案解密获取响应内容,然后包装成网络事件通过jsbridge传递给webview;

30、网络响应数据获取模块,用于webview网络响应事件后,解析响应事件获取网络响应数据,并传递给网络拦截层;

31、解析渲染数据模块,用于网络拦截层拿到数据后,把响应数据传递给拦截的api,html5拿到数据后解析渲染数据,至此一次安全的网络传输完成。

32、进一步,该系统搭载在计算机设备,该计算机设备包括:至少一个处理器、存储器以及存储在所述存储器中并可在所述至少一个处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述混合架构移动应用的网络数据安全传输系统的功能。

33、进一步,该系统搭载在信息数据处理终端,所述信息数据处理终端用于实现于电子装置上执行时,提供用户输入接口以实施所述混合架构移动应用的网络数据安全传输系统的功能,所述信息数据处理终端包括手机、电脑、交换机。

34、进一步,该系统搭载在服务器,所述服务器用于实现于电子装置上执行时,提供用户输入接口以实施所述混合架构移动应用的网络数据安全传输系统的功能。

35、结合上述的所有技术方案,本发明所具备的优点及积极效果为:目前在web原生混合架构移动应用中,html5等前端技术中实现aes或rsa等加密算法,都需要加密密钥来加密敏感数据,而webview在加载h5页面时,容易被中间攻击者拦截到h5中的密钥信息,存在密钥泄露问题。本发明针对此种情况进行了处理,能够将webview的网络请求转发到原生端,由原生端实现敏感数据的安全加密并发送,然后把响应结果解密传输回webview。

36、本发明解决了web-原生混合架构移动应用在没有https确保网络数据安全传输的情况下,保证了webview 的网络请求数据能被安全的加密,同时做到实现方式无入侵,因此web前端开发人员也无需做额外开发适配。

37、本发明解决了混合架构移动应用的数据传输安全问题。h5-native混合架构的移动应用中,使用中间人攻击的方式可以获取h5 部分的html5的源码(包括html5,javascript,css等源码),因此可以通过分析源码可获取数据加密过程,甚至加密密钥等敏感数据。本发明通过将网络请求转发到原生部分,把数据加密工作放置在原生应用中处理,可解决以上描述的中间人攻击获取加密相关信息的问题。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1