GTLC全球技术领导力峰会·上海站,首批讲师正式上线! 了解详情
写点什么

面向软件开发者的“GDPR 指南”

2020 年 10 月 20 日

面向软件开发者的“GDPR指南”

对开发者来说,欧盟《GDPR》是一个令人头疼的问题。因为它并没有明确告诉开发者群体,需要怎么做才能保持应用程序合规。幸运的是,法国 CNIL 为此发布了一个详细指南。


CNIL,全称 Commission Nationale de l’Informatique et des Libertés,即法国国家信息与自由委员会。它是一个独立的行政机构,依据 2004 年 8 月修订的 1978 年《法国数据保护法》行使其职能。法国政府在 20 世纪 70 年代设立了一个 CNIL。作为一个独立的监察机构,CNIL 负责就具体措施提出建议,以保证任何信息技术的发展都将继续尊重个人隐私、个人权利和公共自由。


此后,该机构一直紧跟最新的行业发展,并与欧洲和国际同行密切合作,分析新技术对公民私人生活的影响。


相比 GDPR 指南,它的解决方案更具技术性,面向软件开发者而非更广泛的公众群体。


那么,这个指南包含哪些内容?


具体说来,它包含 16 个主题文件,涵盖了开发者项目中每个阶段的大部分需求,从项目准备到受众评估:


  • 按照 GDPR 开发

  • 识别个人数据

  • 开发准备

  • 保护开发环境

  • 管理源代码

  • 选择合适的架构

  • 保护你的网站、应用程序和服务器

  • 尽量减少数据收集

  • 管理用户信息

  • 控制使用的库和 SDK

  • 保证代码质量和文档

  • 测试应用程序

  • 通知用户

  • 为人民权利的行使做准备

  • 定义数据保留期

  • 在技术实施中考虑法律依据

  • 使用网站和应用程序分析


在这个列表中,有几项非常突出,值得进一步细说。


识别个人数据

在识别个人数据中,有一些个人数据构成的示例,例如:


  • 固定或移动电话号码、邮寄地址、电子邮件地址

  • IP 地址、计算机连接标识和 cookie 标识


同时,它还提到了个人数据的匿名化和假名化以及两者之间的差别。


不过,在这一点上,需要注意的是,这些指导方针相对抽象,没有涉及技术细节。换句话说,这个指南没有向你展示如何实际匿名化数据;技术解决方案由开发者自己决定。


管理你的源代码

在管理源代码中,除了其它建议外,指南还要求你实现代码质量度量工具。


该工具要在代码提交后立即扫描代码,并通过将密钥和密码保存在单独的不会被提交的文件中,来保证它们独立于源代码库之外。


此外,还需要在发生应用程序错误时,检查环境变量是否被意外地写入日志或显示。


选择合适的架构

选择合适的架构,有一个大多数人没有考虑的被低估案例:


确保自己知道托管你代码的服务器的地理位置。你可能会被要求传输数据到欧盟(European Union,EU)和欧洲经济区(European Economic Area,EEA)之外。


虽然数据可以在欧盟/欧洲经济区内自由传输,但只要确保充分且适当的数据保护水平,就可以在欧盟/欧洲经济区以外进行传输。


CNIL 提供了一张地图,显示了世界各国不同程度的数据保护级别。


保护你的网站、应用程序和服务器

在保护你的网站、应用程序和服务器上,其说明更容易上手:


  • 实现 TLS 版本 1.2 或 1.3

  • 强制使用 TLS

  • 限制通讯端口

  • 不明文存放密码

  • 测试系统上安装的加密套件并禁用过时套件

  • 做备份,如果可能的话,加密并做定期检查

  • 通过安排每周自动检查来立即安装关键更新

  • 保护互联网可访问的数据库,尽可能限制访问(例如,通过 IP 过滤)


尽量减少数据收集

尽量减少数据收集反映了《GDPR》的核心价值:


在收集前,思考你想要收集的数据的不同类型,并尽量将收集限制在严格必要的范围内。


控制你使用的库和 SDK

控制你使用的库和 SDK。当今的应用程序需要处理上百个依赖才能运行,因此,开发者在评估添加的每个依赖以及选择维护的软件、库和 SDK 的价值时,应该更好地理解其中的依赖关系。


最后,在使用网站和应用程序分析时,这个建议直指当前最具争议的话题之一——cookies,告知用户关于 cookie 的信息并寻求用户的同意。但是,根据一些条件,用于受众评估/分析的 cookie 可免于同意。请记住:


“无论它们的配置如何,大部分大型受众评估产品都不属于豁免范围。”


综上所述,这个指南为合规奠定了正确的基础。它们将被自上而下地遵循,在技术性方面,它们应该作为接口体现,你必须为其提供具体实现。


附:


https://www.cnil.fr/en/gdpr-developers-guide


2020 年 10 月 20 日 09:55811
用户头像

发布了 124 篇内容, 共 40.6 次阅读, 收获喜欢 221 次。

关注

评论

发布
暂无评论
发现更多内容

防止数据重复提交的6种方法(超简单)!

王磊

Java

项目管理:如何显性管理并提升Story分解能力

华为云开发者社区

项目管理 DevOps 故事 用户研究 华为云

为什么编译原理被称为龙书?

cxuan

编译原理 编译优化

定义@WeClub

WeClub

WeClub

【API进阶之路】老板给我涨薪30%!如何通过SDK接口搞定千万级流量直播

华为云开发者社区

运维 服务器 直播 云服务 华为云

腾讯员工每天在岗不足 8 小时被辞?背后原因可能不止你看到的这些!

程序员生活志

腾讯 辞退

从IT建设模式变化看客户中心发展

环信

案例研究之聊聊 Mybatis 源码 (三)

小诚信驿站

学习 刘晓成 源码解析 开源框架Mybatis 小诚信驿站

推荐一些学习MySQL的资源

Simon

MySQL

【写作群星榜】7.11~7.17 写作平台优秀作者 & 文章排名

InfoQ写作平台官方

写作平台 排行榜

OOP面向对象编程(Object-Oriented Programming)概述

奈学教育

面向对象编程

全球区块链专利排行榜中国52家企业上榜

CECBC区块链专委会

可读代码编写炸鸡七 - 表达式太长就拆

多选参数

代码质量 代码组织 代码规范 可读代码编写 可读代码

2020技能排名:Python增速爆炸,SQL和Java老当益壮,AWS大吃一惊

程序猿黑哥

Java Python sql

高价值干货:这可能是你见过最全的网络爬虫总结

华为云开发者社区

Python Web 爬虫 python 爬虫 内存数据库

信创舆情一线--台积电宣布9月14日断供华为

统小信uos

华为 芯片 半导体

细数2020上半年PC端十大“黑恶势力”,一起康康是谁在“兴风作浪”

360安全卫士

林左鸣 史瑞华:人类应鼎力进行的探索

CECBC区块链专委会

分布式事务解决方案Seata源码解析

Chank

Java 分布式 分布式事务

【DevCloud·敏捷智库】如何利用用户故事了解需求

华为云开发者社区

敏捷开发 需求管理 需求 故事 华为云

犯罪黑客线上拉人入伙,流窜多地网吧植马,仅为盗取游戏账号

360安全卫士

Flask-Restful 中 fileds.DateTime 不支持 strftime 格式

Leetao

Python flask web开发 Python框架 flask-restful

尝鲜刚发布的 SpringFox 3.0.0,以前造的轮子可以不用了...

程序猿DD

Spring Boot

阿里巴巴取消周报?别高兴太早,也不见得是一件好事

非著名程序员

阿里巴巴 程序员 程序员成长 职场成长 职场误区

分析师的进阶与升华:努力把自己做“没”

松子(李博源)

方法论 数据模型 数据分析师 指标体系 商业模型

字节跳动的ToB生意经

ToB行业头条

OOP面向对象编程(Object-Oriented Programming)概述

古月木易

面向对象 oop

智算中心开启智慧时代,浪潮信息迎来新发展

Geek_116789

计算机网络基础(五)---网络层-IP地址的子网划分

书旅

laravel 计算机网络 网络协议 计算机基础

调薪

池建强

团队管理 薪酬

YAPI接口管理平台使用基础入门(一)

Man

DevOps 最佳实践 YAPI API接口管理

DNSPod与开源应用专场

DNSPod与开源应用专场

面向软件开发者的“GDPR指南”-InfoQ