Skip to content

Latest commit

 

History

History
76 lines (46 loc) · 2.4 KB

数据安全.md

File metadata and controls

76 lines (46 loc) · 2.4 KB

数据安全

概述

数据安全主要分为两方面:

  • 可用性:数据不丢失,保持数据的完整和一致
  • 机密性:数据不被泄漏、不被篡改

思源对这两方面都进行了一定支持,下面是关于数据安全方面的说明。

明文存储

思源使用明文方式将数据存储在本地文件系统上,这意味着:

  • 任何能够使用操作系统的人或软件都读取其中的数据
  • 数据的可用性依赖于硬件磁盘和操作系统的可用性

端到端加密

思源云端同步使用端到端加密,密码在本地通过内置密钥加密保存,除使用者之外的任何第三方均无法在云端获得明文数据。

建议

  • 定期备份数据,参考 321 备份原则(至少 3 个副本、2 种介质和 1 个异地存储)
  • 重要密码、密钥或者核心机密等建议使用专用软件、设备或者离线保存

威胁模型

主要针对本地数据安全和思源云端存储安全进行评估。

前提假设

  • 本地操作系统是完全受信任的环境。这是数据安全最基础的前提,基于该前提才能保证

    • 原始数据的可用性
    • 原始数据不被泄漏
    • 密钥的安全性
  • 用户不泄漏密钥给攻击者

  • 云端存储中的数据不被删除

  • AES-GCM 加密算法未被攻破

  • 攻击者无法提供暴力破解所需算力

云端存储能够保证

  • 只有通过正确的密钥才能解密数据
  • 数据被篡改后无法解密

正常示例

基于上述假设和保证,下面是攻击者能够达成的目标示例。

如果攻击者对云端存储具有只读权限,那么他能够:

  • 获取到已经加密的数据,尝试暴力破解
  • 通过索引信息推断出数据大小

如果攻击者能够劫持网络,那么他能够:

  • 篡改数据造成数据不可用
  • 获得用户 ID 信息
  • 通过流量推断出数据大小

异常示例

如果违反了上述假设或保证,下面是攻击者能够达成的目标和示例。

如果攻击者能够入侵本地操作系统,那么他能够:

  • 修改或删除原始数据,造成原始数据不可用
  • 获得原始数据
  • 获得密钥

如果攻击者对云端存储具有写入权限,那么他能够:

  • 修改或删除云端存储,造成云端存储数据不可用