热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

从合规角度谈企业App使用第三方SDK时个人信息保护措施

 前言时至今日,App已经成为广大用户数字生活中不可或缺的一环。据相关数据显示,国内市场上的App总量与日俱增,目前已达到367万余款。App提供者为提升开发的效率以及降低成本,会在开发过程中嵌入第三

 

前言

时至今日,App已经成为广大用户数字生活中不可或缺的一环。据相关数据显示,国内市场上的App总量与日俱增,目前已达到367万余款。

App提供者为提升开发的效率以及降低成本,会在开发过程中嵌入第三方SDK,根据数据统计显示,各类别App平均使用第三方SDK数量在10个以上。

而随着第三方SDK功能的不断强大并逐渐多样化,其应用市场的规模将持续扩大,但是与之而来的安全问题也渐渐浮出水面,以2020年4月Zoom App内嵌SDK数据泄露事件为例:

“2020年4月Zoom App被披露存在数据泄露事故。此次事件是由于Zoom App内嵌的Facebook SDK在用户不知情的情况下向Facebook传输用户的手机型号、城市、广告唯一标识符、IP地址等用户个人信息,Zoom App在隐私政策内容中并未明确向用户描述这一操作,仅提及“当用户使用脸书帐号登录时,将会收集用户脸书帐号的个人资料”,见下图:

而这次Zoom App数据泄露事件直接导致Zoom股价大跌。”

Zoom安全事件为国内外App厂商敲起了警钟,原本“隐藏”在App身后的第三方SDK安全也进入了监管部门及公众视野。其实国内早已开始重视App使用第三方SDK的合法合规性:在《中华人民共和国网络安全法》指导下法规、规章、国标等正在紧密制定并推行,其中《数据安全管理办法(征求意见稿)》、《个人信息安全规范》、《移动互联网应用程序(App)收集使用个人信息自评估指南》中都明确指出了App应如何安全合规的使用第三方SDK,于此同时也对SDK开放提出了安全规范措施。

本文从企业App提供者的角度出发,针对App使用第三方SDK时如何避免不必要的风险进行阐述,使得App更好的做到合法合规,从而保障用户的个人权益。

 

移动应用程序(App)与第三方SDK关系

在正式开始介绍App使用第三方SDK安全与合规之前,我们首先来一同了解下App用户、App以及第三方SDK的使用场景情况。

SDK一般用于提供某一明确的、共性的功能,这些功能的开发可能会耗费App提供者一定的研发资源和部署资源,为避免相同功能重复开发、提高新产品的研发效率,App提供者往往会使用第三方SDK,使用场景通常涉及App用户、App提供者和SDK提供者三方角色,如图所示:

SDK提供者将实现特定功能的代码进行封装,并提供简单的调用接口;App提供者将SDK嵌入App代码中,调用SDK提供的接口实现相应的功能,如果某些SDK具有独立交互界面,App交互页面也会将其嵌入;App用户通过App交互界面使用SDK功能时,通常对SDK提供者没有感知,但如果通过页面跳转等方式访问SDK提供者的独立交互页面时,可能感知到SDK提供者。

从个人信息收集的角度来看,根据《信息安全技术 个人信息安全规范》(GB/T35273—2020)第三方SDK与App存在如下表的关系:

 

App使用第三方SDK时存在的个人信息不合规现象



第三方SDK存在越权、超范围收集用户个人信息行为

App中嵌入的第三方SDK收集与提供服务无关的个人信息,强制申请非必要的权限,自动收集个人信息的频度和时机不合理等。


第三方SDK存在未授权信息收集行为

App中嵌入第三方SDK未经最终用户同意,擅自调用系统权限隐蔽收集个人信息,擅自通过自启动、关联启动等方式收集个人信息,实际调用的系统权限和收集的个人信息超出公开文档所声明的系统权限和个人信息。

第三方SDK提供者超出最终用户授权范围使用个人信息,私自向其他方供用户个人信息等。


App未对用户明示第三方SDK个人信息收集规则

App使用第三方SDK时,有些第三方SDK因无法独立展示交互界面,其告知行为需要借助App透出给最终用户。由于第三方SDK未向App告知或未完整告知自身收集使用个人信息的规则,或者第三方SDK向App完整告知了收集使用个人信息的规则但App未向最终用户说明等原因,导致用户对第三方SDK收集使用个人信息的行为无感知。


App未对使用的第三方SDK进行严格安全监管

由于App与第三方SDK通常通过开放平台在线签署开发者服务协议来约定双方的权利和义务,而开发者服务协议通常缺少针对数据安全的约束条款,加之App对第三方SDK收集使用个人信息的行为进行技术检测存在困难等原因,导致App对SDK收集使用个人信息的行为管理监督不足。

 

使用第三方SDK时如何避免个人信息不合规问题



使用第三方SDK收集个人信息行为需征得用户同意

根据《网路安全法》《数据安全法》《个人信息保护法》(将于2021年11月1日正式实施)等相关法律法规的规定,应明示收集、使用信息的目的、方式和范围,并征得用户同意。故App使用第三方SDK收集使用个人信息应征得到用户同意,根据第三方SDK扮演的角色不同,提供下面两种征得用户同意的方式:

方式一:在 App 登录、注册页面,与 App 隐私政策平行放置《第三方 SDK收集使用个人信息声明》,并设置单独勾选框点形成区分,请求用户勾选同意。

操作方式:单独设置SDK勾选框点。
优点:实现 SDK 隐私政策与 App隐私政策分开勾选,让用户拥有充分的自主选择权,增强信息的告知的透明度。
缺点:如果用户只勾选了 App 隐私政策而不勾选 SDK 隐私政策的,会对 SDK提供方的业务有较大的影响与冲击。

方式二:将App使用的第三方 SDK 收集个人信息情况作为 App隐私政策的一部分,列明所有第三方 SDK的情况,告知用户并征得同意。这是目前主流大型企业用的方式。

操作方式:将接入的第三方SDK在隐私政策中通过列表形式,或者在单独静态页中放置,向用户详细告知第三方SDK 的类型、名称、接入的目的、使用方式以及收集信息的范围。
优点:操作比较简便使用。
缺点:虽然用户对于 App隐私政策的点击同意,视为获得到“三重授权”,但实际上用户不一定会去详细看冗长的隐私政策,即使看了也不一定再点击静态页去查看里面所列举的第三方SDK 的信息。


制定完善的《隐私政策》 明示第三方SDK收集使用个人信息规则

为了保障用户在使用App时的知情权和选择权,提升用户使用App时的获得感和安全感,依据《App违法违规收集使用个人信息行为认定方法》的要求,须在App中隐私政策,逐一列出App(包括委托的第三方或嵌入的第三方代码、插件)收集使用个人信息的目的、方式、范围等,因此,需要完善《隐私政策》,在制定与使用第三方SDK有关的《隐私政策》时,可以根据第三方SDK身份来进行分类进行讨论。

当App中嵌入的第三方 SDK作为数据控制者时,应当在 App《隐私政策》的“共享章节”或者展示 “接入第三方SDK目录”中介绍 App接入了具体的第三方 SDK、及这些第三方 SDK共享个人信息的目的、功能、范围、开启权限等情况。
当App中嵌入的第三方SDK仅作为数据处理者时,需要在 App的《隐私政策》中的“委托处理章节”介绍 App委托第三方处理个人数据的情况,App需要承诺与第三方 SDK提供者之间签署了必要的保密协议和数据处理协议,以确保数据处理行为的安全可靠。


协商完备的App与第三方SDK合作协议

一份完备的合作协议,涉及公司内部的多方,需要业务、信息安全、法务等多部门,共同出具全面的合作协议,与第三方SDK提供者的合作协议中应当包括但不限与以下内容:

明确App与第三方SDK双方身份;明确第三方SDK是数据的控者还是数据的处理者;
明确数据处理范围及情况;包括不限于收集信息的目的、方式、范围、存储时间、个人信息出境等情况,需要第三方SDK提供者提供:收集个人信息清单等
明确处理个人信息安全、合规机制。包括但是不限于个人信息权利响应机制、对个人信息存储和传输等环节采取安全、加密措施、日志记录、权限控制等内容;
明确App提供者和第三方SDK者承担的法律义务和责任。包括但不限于第三方SDK提供者配合响应个人信息主体行权请求、在处理个人信息时应当提供安全保护水平、数据泄漏的应急处理、合作结束后个人信息合规处理等


增加App使用第三方SDK前安全审核与评估机制

增加App事前审核与评估,即在App使用第三方SDK建立合作关系时、入库环节中增加安全及合规审核与评估,对第三方SDK 进行来源性调查,代码安全性检查和行为安全性评估。详细信息见下表:


强化App使用第三方SDK时监督与审计

定期开展第三方SDK数据安全审计,建议 App提供者指定专门的数据安全审计员或者第三方专业机构对第三方 SDK提供者的数据安全保障能力进行定期检查,如是否采取完备的安全措施(如加密、脱敏、分类分级等)以保障数据处理过程中的安全性;是否建立严格的数据访问权限管理机制,降低人为泄密的风险;是否对数据处理活动进行记录,以检测不当访问处理数据的行为等。而且在合作过程中如发现第三方SDK 违规调取用户个人信息、出售用户个人信息的情况需要及时处置,落实惩罚机制;


保障App停用第三方SDK后数据处置安全与合规

在合作后期或合作终止但用户个人信息尚未被处置前,App提供者仍需保障个人数据安全的连带义务和责任。

当停用某第三方SDK后,App提供者及时从App中移除该SDK的代码及调用该SDK的代码,存在通过本App共享或收集个人信息的,应督促SDK提供者按照合作协议约定,删除从本App共享或收集的个人信息或做匿名化处理;并删除《隐私政策》关于该第三方SDK相关的信息,即变更时及时通知用户。

 

写在后面

本文从App提供者角度出发,与大家共同探讨App在使用第三方SDK时的安全问题与合规建议;但除本文所述内容外,若想进一步在App在使用第三方SDK时做到全面安全与合规,还需要监管部门尽快完善相关法律法规、明确相关主体的责任义务,同时,鼓励第三方SDK 企业开展行业自律;而第三方 SDK企业者也需要加快构建自身的数据安全合规体系和安全管理体系,从不同角度出发,整体提升个App使用第三方SDK时人信息保护水平。

 

参考链接

https://www.secrss.com/articles/26664
http://www.jos.org.cn/jos/article/abstract/5497
http://www.gov.cn/xinwen/2020-07/25/content_5530048.htm
https://lvdao.sina.com.cn/news/2020-05-11/doc-iirczymk1000441.shtml
https://www.baijingapp.com/article/27860
http://m.caict.ac.cn/yjcg/201908/t20190819_207840.html


推荐阅读
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • 提升 Kubernetes 集群管理效率的七大专业工具
    Kubernetes 在云原生环境中的应用日益广泛,然而集群管理的复杂性也随之增加。为了提高管理效率,本文推荐了七款专业工具,这些工具不仅能够简化日常操作,还能提升系统的稳定性和安全性。从自动化部署到监控和故障排查,这些工具覆盖了集群管理的各个方面,帮助管理员更好地应对挑战。 ... [详细]
  • 在软件开发过程中,经常需要将多个项目或模块进行集成和调试,尤其是当项目依赖于第三方开源库(如Cordova、CocoaPods)时。本文介绍了如何在Xcode中高效地进行多项目联合调试,分享了一些实用的技巧和最佳实践,帮助开发者解决常见的调试难题,提高开发效率。 ... [详细]
  • 深入解析CAS机制:全面替代传统锁的底层原理与应用
    本文深入探讨了CAS(Compare-and-Swap)机制,分析了其作为传统锁的替代方案在并发控制中的优势与原理。CAS通过原子操作确保数据的一致性,避免了传统锁带来的性能瓶颈和死锁问题。文章详细解析了CAS的工作机制,并结合实际应用场景,展示了其在高并发环境下的高效性和可靠性。 ... [详细]
  • Cosmos生态系统为何迅速崛起,波卡作为跨链巨头应如何应对挑战?
    Cosmos生态系统为何迅速崛起,波卡作为跨链巨头应如何应对挑战? ... [详细]
  • a16z深入解析:代币设计的常见误区、优化策略及未来趋势分析
    a16z深入解析:代币设计的常见误区、优化策略及未来趋势分析 ... [详细]
  • TCP三次握手过程详解与图示解析
    本文详细解析了TCP三次握手的过程,并通过图示清晰展示了各个状态的变化。同时,文章还介绍了四次挥手的图解,解释了在TIME_WAIT状态中,客户端最后一次发送的ACK包的作用和重要性。 ... [详细]
  • 浏览器作为我们日常不可或缺的软件工具,其背后的运作机制却鲜为人知。本文将深入探讨浏览器内核及其版本的演变历程,帮助读者更好地理解这一关键技术组件,揭示其内部运作的奥秘。 ... [详细]
  • 在对WordPress Duplicator插件0.4.4版本的安全评估中,发现其存在跨站脚本(XSS)攻击漏洞。此漏洞可能被利用进行恶意操作,建议用户及时更新至最新版本以确保系统安全。测试方法仅限于安全研究和教学目的,使用时需自行承担风险。漏洞编号:HTB23162。 ... [详细]
  • 在iOS开发中,基于HTTPS协议的安全网络请求实现至关重要。HTTPS(全称:HyperText Transfer Protocol over Secure Socket Layer)是一种旨在提供安全通信的HTTP扩展,通过SSL/TLS加密技术确保数据传输的安全性和隐私性。本文将详细介绍如何在iOS应用中实现安全的HTTPS网络请求,包括证书验证、SSL握手过程以及常见安全问题的解决方法。 ... [详细]
  • 深入解析 OpenSSL 生成 SM2 证书:非对称加密技术与数字证书、数字签名的关联分析
    本文深入探讨了 OpenSSL 在生成 SM2 证书过程中的技术细节,重点分析了非对称加密技术在数字证书和数字签名中的应用。非对称加密通过使用公钥和私钥对数据进行加解密,确保了信息传输的安全性。公钥可以公开分发,用于加密数据或验证签名,而私钥则需严格保密,用于解密数据或生成签名。文章详细介绍了 OpenSSL 如何利用这些原理生成 SM2 证书,并讨论了其在实际应用中的安全性和有效性。 ... [详细]
  • 本指南详细介绍了在Linux环境中高效连接MySQL数据库的方法。用户可以通过安装并使用`mysql`客户端工具来实现本地连接,具体命令为:`mysql -u 用户名 -p 密码 -h 主机`。例如,使用管理员账户连接本地MySQL服务器的命令为:`mysql -u root -p pass`。此外,还提供了多种配置优化建议,以确保连接过程更加稳定和高效。 ... [详细]
  • 本文详细探讨了在ASP.NET环境中通过加密数据库连接字符串来提升数据安全性的方法。加密技术不仅能够有效防止敏感信息泄露,还能增强应用程序的整体安全性。文中介绍了多种加密手段及其实施步骤,帮助开发者在日常开发过程中更好地保护数据库连接信息,确保数据传输的安全可靠。 ... [详细]
  • 深入解析HTTPS:保障Web安全的加密协议
    本文详细探讨了HTTPS协议在保障Web安全中的重要作用。首先分析了HTTP协议的不足之处,包括数据传输过程中的安全性问题和内容加密的缺失。接着介绍了HTTPS如何通过使用公钥和私钥的非对称加密技术以及混合加密机制,确保数据的完整性和机密性。最后强调了HTTPS的安全性和可靠性,为现代网络通信提供了坚实的基础。 ... [详细]
  • 在 CentOS 6.5 系统上部署 VNC 服务器的详细步骤与配置指南
    在 CentOS 6.5 系统上部署 VNC 服务器时,首先需要确认 VNC 服务是否已安装。通常情况下,VNC 服务默认未安装。可以通过运行特定的查询命令来检查其安装状态。如果查询结果为空,则表明 VNC 服务尚未安装,需进行手动安装。此外,建议在安装前确保系统的软件包管理器已更新至最新版本,以避免兼容性问题。 ... [详细]
author-avatar
你给的未来丶我不要
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有