数据安全主要分为两方面:
- 可用性:数据不丢失,保持数据的完整和一致
- 机密性:数据不被泄漏、不被篡改
思源对这两方面都进行了一定支持,下面是关于数据安全方面的说明。
思源使用明文方式将数据存储在本地文件系统上,这意味着:
- 任何能够使用操作系统的人或软件都读取其中的数据
- 数据的可用性依赖于硬件磁盘和操作系统的可用性
思源云端同步使用端到端加密,密码在本地通过内置密钥加密保存,除使用者之外的任何第三方均无法在云端获得明文数据。
- 定期备份数据,参考 321 备份原则(至少 3 个副本、2 种介质和 1 个异地存储)
- 重要密码、密钥或者核心机密等建议使用专用软件、设备或者离线保存
主要针对本地数据安全和思源云端存储安全进行评估。
-
本地操作系统是完全受信任的环境。这是数据安全最基础的前提,基于该前提才能保证
- 原始数据的可用性
- 原始数据不被泄漏
- 密钥的安全性
-
用户不泄漏密钥给攻击者
-
云端存储中的数据不被删除
-
AES-GCM 加密算法未被攻破
-
攻击者无法提供暴力破解所需算力
- 只有通过正确的密钥才能解密数据
- 数据被篡改后无法解密
基于上述假设和保证,下面是攻击者能够达成的目标示例。
如果攻击者对云端存储具有只读权限,那么他能够:
- 获取到已经加密的数据,尝试暴力破解
- 通过索引信息推断出数据大小
如果攻击者能够劫持网络,那么他能够:
- 篡改数据造成数据不可用
- 获得用户 ID 信息
- 通过流量推断出数据大小
如果违反了上述假设或保证,下面是攻击者能够达成的目标和示例。
如果攻击者能够入侵本地操作系统,那么他能够:
- 修改或删除原始数据,造成原始数据不可用
- 获得原始数据
- 获得密钥
如果攻击者对云端存储具有写入权限,那么他能够:
- 修改或删除云端存储,造成云端存储数据不可用