数据防泄漏(DLP)开发概述
数据防泄漏(Data Loss Prevention, DLP)是OpenHarmony提供的系统级的数据防泄漏解决方案,提供文档权限管理、加密存储、授权访问等能力,数据所有者可以基于帐号认证对机密文档进行权限配置,允许拥有只读、编辑、拥有者权限,随后机密文件会通过密文存储,在支持DLP机制的设备上可以通过端云协调进行认证授权,获取对数据的访问和修改的能力。
DLP是系统级别的,应用开发者只需要做少量的适配甚至无需适配,即可获得完整的数据防泄漏保护。
DLP整体解决方案有3个主要部件构成。
-
DLP权限管理部件:
权限管理底层服务,负责沙箱应用创建、凭据管理交互。
-
DLP管理应用部件:
负责实现权限在本地的设置、检验和拦截功能; 是最终实现用户可感知的受控分享功能的关键载体。
-
云端对接模块:(该模块当前需要开发者自行搭建)
负责将DLP文件的证书,发往云端完成基于帐号的鉴权,证书生成及解密功能。
运作流程
DLP文件生成流程
- 文档所有者通过DLP权限管理应用给需保护的文档配置权限,添加允许访问的帐号信息和相应的访问权限。
- DLP权限管理应用发送用户配置给DLP权限管理服务封装成策略信息。
- DLP权限管理服务将策略信息发送给云端对接模块。云端对接模块上传策略信息作端云协同的认证、策略检查、生成签发凭据等工作。
- 将签发的凭据通过DLP权限管理服务返回给DLP权限管理应用。
- DLP权限管理应用对原文档进行加密,并将凭据和密文打包生成DLP文件。
DLP文档发送
- DLP文件可通过任何途径分析给目标用户,密文保证了其机密性不被破坏。
DLP文件打开流程
- 文档授权者在远端设备打开DLP文件(例如使用文件管理器打开)。
- DLP权限管理应用解析DLP文件,获取加密凭据后,发送给DLP权限管理服务。
- DLP权限管理服务将加密凭据发送给云端对接模块。云端对接模块上传凭据到云端,作身份认证、凭据验证、策略解析。获取到授权策略和加密密钥等信息。
- 权限策略和加密密钥等信息通过DLP权限管理服务返回给DLP权限管理应用。
- DLP权限管理应用调用DLP权限管理服务安装应用的DLP沙箱分身,并基于授权测试限制沙箱的权限,包含但不限于网络、打印、剪切板等,防止数据被泄漏。
- DLP权限管理应用提供一种明文和密文映射机制(link),该方案基于开源的fuse文件系统(Filesystem in Userspace)实现,通过创建虚拟的link文件,分享给应用,从而在不需要适配的情况,应用即可通过查看编辑明文文件,来达到实时操作DLP文件的效果。
- DLP权限管理应用准备就绪后,拉起沙箱中的应用,并传递link文件文件描述符。沙箱应用启动,应用进程读取被分享的link文件,完成文件内容展示。