在API中如何做数据隐私保护

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在API中如何做数据隐私保护相关的知识,希望对你有一定的参考价值。

对于数据隐私或个人信息的保护,在业务实践中通常融入数据生命周期去考虑,将数据收集、存储、使用等环节需要满足的合规要求和安全保护措施分解到数据生命周期中进行具体落实。对于数据生命周期的划分,业界划分方式各不相同。

“数据生命周期各阶段安全”板块从数据生命周期分别描述了每一个阶段的安全能力,在API安全管理时,需要结合这些能力,将安全措施融入其中,并基于个人信息的状态、信息的敏感级别、信息的使用场景等,采用不同的技术手段和管理手段,保证成本可控、风险可控、性价比最优的前提下体现安全的价值。

1、数据采集

数据采集是企业数据来源的源头,在此阶段,企业通过内外部渠道采集业务数据或对原有数据进行更新操作。API作为应用程序接口一般不涉及数据采集工作,更多的是作为工具参与到数据采集阶段。比如调用数据分级分类API将上传的数据文件中的数据根据分级规则进行自动化数据分级分类、数据格式校验、数据格式标准化、数据转换等。如果API仅作为工具提供某一种单一功能,往往短暂性小范围使用,其安全性并不要求多高。但如果API作为工具之外,也作为能力通道,涉及数据的收集和获取,则安全性要求又将提高很多。例如,使用API服务将外部数据抽取到企业内部,则必须考虑API数据采集过程中个人信息数据传输的保护

还有一种场景下的API使用需要注意数据采集时的隐私保护,即客户端SDK的使用。对于某个API平台或API服务提供方来说,会提供API快速接入的SDK供接入者使用,并在SDK中收集信息来跟踪API的使用情况。如果是这类情况,则需要注意数据采集时的隐私数据保护。首先要遵循最小化原则,能不收集的信息尽可能不去收集,如果因业务需要不得不收集,则需要遵循明示收集、公开说明收集规则、使用目的、方式和范围并经被收集者同意的原则,还要提供隐私协议文本供第三方使用时集成

2、数据传输

数据传输是企业数据实现数据价值最基本的方式,数据只有参与传输和交换才能真正实现其价值。API作为接口交互类技术,数据传输也是其最基本的功能,可以这么说,没有数据传输也就没有API技术存在的价值。

在数据传输阶段,除了管理上的数据规范和安全流程外,在技术上需要重点考虑API自身的数据通信信道或传输链路的安全,比如使用TLS/SSL技术,传输之前,除了接入方的身份鉴别、访问控制外,还要考虑数据的加密、签名或脱敏、匿名化处理;接收数据方同样也需要对接收到的数据进行解密、签名验证、格式校验等。传输链路的两端,都需要做好审计日志的存储和采集,以供审计、溯源、取证等功能模块使用。

3、数据存储

数据存储的安全性原意是指数据存储时存储介质的安全性,以及围绕存储介质安全做的管理性保护措施和技术性保护措施。从这个角度看,数据存储安全与API的关联关系基本不涉及。如果从动态的视角去看数据存储,存储的数据始终是需要对外提供数据访问、供外部消费的。不能提供消费的数据跟存储在银行的货币一样,只有在流通中才能体现货币的价值。从这个角度看,如何去构建一套安全的、可供数据流通和运营的数据存储架构是数据存储阶段最大的挑战。

对隐私数据来说,存储前需要根据数据分类分级提供不同的加密保护措施、不同的存储区域、不同的数据冗余和备份策略等,还需要针对存储的数据做不同的身份鉴别和访问控制。这些内容,在API的安全设计中,需要通过权限访问控制策略、互相独立的API服务单元、API调用监控等功能来满足其数据存储架构的安全性

数据存储时,与API安全相关必须要提及的是临时性的数据存储,特别是API网关产品中,为了提高网关性能所提供的缓存能力,需要关注其是否缓存了隐私数据。这会跟其缓存机制的实现有关,如果是使用内存来作为缓存,则需要考虑这部分内存的使用保护,防止出现内存共享与竞争的情况;如果是使用Redis或H2数据库作为技术手段实现缓存机制,则需进一步分析数据在Redis或H2数据库是如何存储的。

4、数据处理

数据处理在API自身管理工作中占有不小的比重,API管理能力中很大一部分能力是对API全生命周期的管理,这其中包含不同API协议转换、访问路由,甚至API服务聚合等,这些功能的提供都与数据处理相关。

除了API自身管理涉及数据处理的安全性外,API作为微服务架构中各个微服务之间通信的载体,需要考虑与各个微服务节点之间的安全性,比如身份认证、访问控制、日志审计等。而对于当前计算环境中的隐私数据,更要关注其传播范围和传播形式,通过监控与审计,确保隐私数据不被泄露。

在数据处理阶段,数据分析是其中关键的一环,数据分析又可分为线上分析和线下分析两种,线下分析通常的解决方案是将生产环境的数据脱敏或匿名化之后,再导入测试环境,进行数据派生、聚合、关联分析等数据分析过程;而线上的数据分析与API安全关系更为密切,需要从数据输出结果的角度,评估和审视输出的数据是否涉及数据隐私,比如是否会导致个人信息泄露、是否可以关联还原隐私信息、是否具备审计和溯源的要求等,采取多种安全保护措施来保障数据隐私在使用中的安全。

5、数据交换

数据交换的场景主要发生在数据导入导出、数据共享、数据发布等环节,对于API来说,与数据共享、数据发布关系较大。不同的企业或组织之间共享数据,从数据隐私保护法律监管的角度上,需要签署数据责任传递性的相关合同或法律文本,明确数据使用者的数据保护责任,并建立审核机制,确保数据使用者对共享数据具备足够的安全保护能力,约定数据类型、包含内容、使用范围等。

对外部通过API共享的数据,需要对API提供准入和审核机制,加强数据共享过程和数据使用范围的监控,建立应急响应机制和定期安全风险评估机制,以保障API自身和数据的持续安全性。

对外发布数据的API在发布前,需要审查发布规范,核实数据的使用范围,验证数据发布的合规性,确保数据发布过程符合监管要求。并应考虑数据发布后可能带来的风险,提前做好风险识别和处理预案。

6、数据销毁

数据销毁的过程与API之间通常不存在关联,对于数据隐私保护的合规性要求中,存在用户注销和删除的权利,通常涉及个人信息管理的API也会提供个人信息注销或删除的API。但这不是数据销毁阶段关注的重点,数据销毁在隐私保护中更多的是关注存储介质层面的数据销毁工作。

以上是关于在API中如何做数据隐私保护的主要内容,如果未能解决你的问题,请参考以下文章

如何在 API 网关上的 cognito 授权方保护的 lambda 函数中获取 AWS Cognito 用户数据

如何保护JWT令牌

如何保护与 Android 应用程序交互的 PHP JSON api 端点?

如何实现FosOAuthServerBundle来保护REST API?

如何保护同一服务器上前端使用的 Rest API 端点?

如何使用 JSON API 在滚动时在 recyclerview 中加载更多数据