一种混合应用中桥接接口的来源域名分级鉴权与响应数据脱敏方法及系统与流程
本发明涉及移动应用安全,更具体的说是涉及一种混合应用中桥接接口的来源域名分级鉴权与响应数据脱敏方法及系统。
背景技术:
1、随着移动互联网业务的快速迭代,混合应用(hybrid app)已成为主流的移动端应用开发架构之一。该架构结合了web技术跨端迭代快、业务部署灵活的优势,以及原生系统底层能力丰富、性能稳定的优势,通过jsbridge桥接接口实现webview渲染层与原生能力层的跨栈通信,使网页页面可调用设备原生能力,广泛应用于电商、金融、社交等各类业务场景。
2、桥接接口在赋予网页端原生能力的同时,也引入了跨层通信的安全风险。当前行业内普遍采用域名白名单机制作为核心安全防护手段,即仅允许白名单内的域名页面调用桥接接口。但现有白名单方案存在多方面的技术缺陷,无法适配复杂的业务场景与安全需求:
3、其一,单一白名单机制权限管控粒度过粗,无法区分页面加载与接口调用的安全等级。现有方案通常采用同一份白名单同时管控webview页面导航与桥接接口调用:若为满足业务合作需求放宽白名单、纳入第三方合作域名,则第三方页面可无差别调用全部原生能力,导致获取用户隐私、读取设备标识、代发网络请求等高风险能力存在被滥用的安全隐患;若收紧白名单仅保留自有业务域名,则无法加载第三方活动页、合作页等页面,限制了业务拓展的灵活性。
4、其二,来源域名鉴权可信度不足,易被前端伪造绕过。现有方案通常由网页端javascript在发起桥接调用时主动携带来源域名参数,原生端基于该参数进行白名单匹配校验。但前端参数可通过脚本篡改、调试器修改等方式伪造,第三方恶意页面可通过冒用自有域名的来源参数绕过白名单校验,非法调用敏感原生能力,存在严重的安全漏洞。
5、其三,原生代发请求场景下存在登录凭证泄露风险。为统一管理用户登录态,多数混合应用采用原生层托管登录凭证的方案:网页端的网络请求由原生层代发,原生端自动附加cookie、token等会话凭证;但原生端获取服务端响应后,通常将完整响应数据直接回传至网页端,导致响应头中的set-cookie、会话标识等凭证更新字段暴露给前端。若当前加载第三方页面,攻击者可通过该路径窃取用户登录凭证,造成账号被盗、数据泄露等安全事故。
6、其四,安全策略上线运维风险高,易影响存量业务运行。现有白名单方案通常与应用版本绑定,安全策略调整需依赖客户端发版,迭代周期长;且策略全量上线后若出现配置错误、规则偏差导致误拦截,将造成大面积业务功能不可用,故障回滚依赖版本更新,恢复周期长、业务损失大,无法满足安全策略平滑上线与快速止损的运维需求。
7、因此,如何全面提升混合应用桥接通信业务灵活性、安全性与运维灵活性是本领域技术人员亟需解决的问题。
技术实现思路
1、有鉴于此,本发明提供了一种混合应用中桥接接口的来源域名分级鉴权与响应数据脱敏方法及系统,以解决背景技术中存在的问题。
2、为了实现上述目的,本发明采用如下技术方案:
3、一种混合应用中桥接接口的来源域名分级鉴权与响应数据脱敏方法,包括:
4、s1、生成相互独立的导航白名单与桥接白名单,所述导航白名单用于管控webview内页面的域名加载权限,所述桥接白名单用于管控敏感桥接接口的调用权限,且桥接白名单为导航白名单的子集;
5、s2、预置可扩展的敏感桥接方法集合,当接收到网页端发起的桥接接口调用请求时,先判断本次调用对应的桥接方法是否属于所述敏感桥接方法集合;若不属于,则直接放行执行;若属于,则进入来源域名鉴权流程;
6、s3、解析本次桥接调用所在web页面的真实来源url,对来源url的域名部分执行归一化处理后,与桥接白名单中的域名进行匹配校验;若校验不通过,则拒绝执行本次桥接调用并生成安全审计日志;若校验通过,则放行执行本次桥接调用;
7、s4、当放行的桥接调用为原生代发网络请求类型时,由原生能力层代网页端发起网络请求并获取响应数据;在将响应数据回传至网页端之前,过滤响应数据中预置的敏感类响应头,仅将脱敏后的响应数据回传至webview渲染层;
8、s5、配置fail-open运行策略,当检测到桥接白名单为空或加载解析异常时,桥接接口的鉴权逻辑按原有业务逻辑直接放行。
9、可选的,所述生成相互独立的导航白名单与桥接白名单,具体为:
10、将页面加载权限与敏感桥接调用权限拆分为两个独立管控维度;导航白名单采用宽松管控策略,支持纳入第三方合作域名以满足业务合作的页面加载需求;桥接白名单采用管控策略,仅纳入自有可信业务域名,以限制敏感原生能力的调用主体范围;
11、设定桥接白名单为导航白名单的严格子集,每次白名单更新时自动执行子集校验,确保所有可调用敏感桥接方法的域名均具备页面加载权限;
12、导航白名单与桥接白名单由远端配置中心统一存储与分发,混合应用在启动阶段或按固定周期拉取最新白名单数据并本地缓存。
13、可选的,所述s2具体为:
14、s21、根据桥接方法调用后的安全影响等级,将全部桥接方法划分为敏感方法与非敏感方法两类;其中涉及用户隐私数据获取、本地持久化存储读写、原生代发网络请求、设备唯一标识读取的桥接方法划入敏感桥接方法集合;
15、s22、将敏感方法判定作为桥接调用的第一道校验环节,仅命中敏感方法的调用才触发后续域名鉴权逻辑;
16、s23、敏感桥接方法集合支持通过远端配置动态增删方法标识,适配业务迭代过程中新增桥接能力的安全管控需求。可选的,所述s3具体为:
17、s31、通过webview内核提供的页面生命周期回调接口,获取当前顶层页面的实际加载url作为调用来源;
18、s32、对解析得到的调用来源url执行标准化处理,处理规则包括:将url的协议与域名部分统一转换为小写、移除http、https默认端口号、剔除url路径与查询参数,提取得到标准化的源站域名字符串;
19、s33、将标准化后的源站域名与桥接白名单进行匹配校验,匹配模式包含域名匹配与子域后缀匹配两种。
20、可选的,所述子域后缀匹配的判定公式为:
21、设白名单域名字符串为
d
w,源站域名字符串为
d
s;将二者按域名分隔符拆分为层级数组,记
d
w的层级长度为
l
w,
d
s的层级长度为
l
s;当且仅当同时满足以下两式时,判定子域后缀匹配通过:
22、
23、式中,
d
s[a:b]表示源站域名层级数组中从索引a到索引b的子数组,
d
w[0:
l
w]表示白名单域名的全量层级数组。
24、可选的,所述s4具体为:
25、s41、针对原生代发请求场景,登录态会话凭证统一存储于原生能力层,原生端发起请求时自动将凭证附加到请求头中,网页端不直接接触与管理凭证;响应返回后,通过脱敏阻断凭证向网页端的泄露路径;
26、s42、预置敏感响应头集合,包含多种会话凭证类响应头;原生端遍历完整响应头列表,仅保留不在敏感集合内的通用响应头,连同响应状态码、状态描述文本与响应体一同封装后回传至网页端;
27、s43、响应体默认执行完整透传,仅针对响应头字段执行脱敏处理。可选的,所述s5具体为:
28、s51、当白名单配置加载失败、内容为空或解析异常时,鉴权模块自动降级为关闭状态,所有桥接调用按未接入鉴权时的原有逻辑执行;
29、s52、按用户比例、设备标识、域名维度逐步将域名纳入桥接白名单,逐步扩大安全策略的覆盖范围,过程中通过安全审计日志监控异常拦截情况,验证策略准确性;
30、s53、当线上出现误拦截导致的业务故障时,通过远端配置清空桥接白名单即可触发fail-open策略。一种混合应用中桥接接口的来源域名分级鉴权与响应数据脱敏系统,包括:
31、分级白名单管理模块,用于构建并维护相互独立的导航白名单与桥接白名单,执行子集约束校验,支持远程动态更新;
32、高风险调用识别模块,用于预置可扩展的敏感桥接方法集合,接收桥接调用请求时先判定调用方法是否属于敏感集合,非敏感方法直接放行;
33、来源域名鉴权模块,用于对命中敏感方法的桥接调用,解析页面真实来源url并执行归一化处理,与桥接白名单进行双模式匹配校验,校验不通过则拒绝执行并记录安全日志;
34、响应数据脱敏模块,用于对原生代发请求返回的响应数据,过滤预置的敏感响应头后再回传至网页端;
35、灰度容错模块,用于配置并执行fail-open策略,在桥接白名单异常时按原有逻辑放行调用,支持安全策略的灰度上线与快速回滚。
36、经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种混合应用中桥接接口的来源域名分级鉴权与响应数据脱敏方法及系统,构建相互独立的导航白名单与桥接白名单形成分级管控体系,桥接白名单为导航白名单的子集;对桥接调用先执行敏感方法预识别,仅敏感方法触发来源域名鉴权;通过原生侧获取页面真实来源url,经归一化处理后与桥接白名单进行精确匹配与子域后缀匹配校验;对原生代发请求的响应数据过滤敏感凭证类响应头后再回传网页端;采用fail-open失效安全策略支持安全策略渐进式灰度上线与快速回滚。本发明在兼容第三方页面加载的同时阻断敏感原生能力的非法调用,有效防范登录凭证泄露,兼顾业务灵活性、通信安全性与运维平滑性。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com