資源

安全模型

Optserv 帳號共享如何加密憑證:PBKDF2 派生金鑰、AES-GCM 加密負載,以及 RSA-OAEP 分發金鑰。

帳號共享採用分層的密碼學模型,確保憑證在離開用戶端之前就已被加密,且只有被授權的人能解密。Optserv 伺服器永遠不會接收或儲存明文憑證。

密碼學層級

1. 金鑰派生 — PBKDF2 + SHA-256

當使用者存取帳號共享時,系統會從一個秘密資料透過 PBKDF2(Password-Based Key Derivation Function 2)派生出加密金鑰,參數如下:

  • 雜湊演算法: SHA-256
  • 迭代次數: 210,000
  • 目的: 從使用者相關的秘密資料產生強健的對稱金鑰

210,000 次迭代符合目前 OWASP 的建議,可讓針對派生金鑰的暴力破解成本大幅提高。

2. 負載加密 — AES-GCM 256-bit

每個憑證(登入資訊、密碼或其他秘密)會使用 256-bit 金鑰的 AES-GCM 加密:

  • 演算法: AES-GCM(Galois/Counter Mode)
  • 金鑰長度: 256-bit
  • 為什麼用 AES-GCM: 同時提供機密性(加密)與完整性(認證)。若密文被竄改,解密會失敗。

用來加密單一項目的 AES 金鑰是「每項目唯一」,不是整個公司共用一把金鑰。即使某把金鑰被曝光,影響範圍也會被限制。

3. 金鑰分享 — RSA-OAEP + SHA-256

要把某個項目分享給其他人,必須安全地傳遞該項目的 AES 金鑰。Optserv 使用 RSA-OAEP 來包裹(加密)這把金鑰:

  • 演算法: RSA-OAEP(Optimal Asymmetric Encryption Padding)
  • 雜湊: SHA-256
  • 流程: 以收件者的 RSA 公鑰加密項目的 AES 金鑰;只有收件者的私鑰能解開。

這代表:

  • 分享過程不會把 AES 金鑰的明文暴露給 Optserv 伺服器
  • 存取清單中的每位收件者,都會持有一份「用自己公鑰加密過」的 AES 金鑰副本
  • 撤銷存取時會移除該收件者的加密金鑰副本——之後就無法再解密該項目

實務上這意味著什麼

Optserv 無法讀取您的憑證。 因為加密在用戶端完成,伺服器只會看到密文。即使資料庫外洩,憑證仍維持加密狀態。

撤銷存取具有密碼學上的效力。 移除某人存取清單時,同時移除他解密所需的金鑰副本。不同於「共享連結」可能在撤銷後仍可用,這會真正阻止解密。

離職處理更乾淨。 員工離職/停用後,他的 RSA 金鑰對不再可用。由他擁有的項目可進行重新分配/重新加密;他曾有存取權的項目則會立即不可解密。

摘要

層級演算法目的
金鑰派生PBKDF2(210,000 次)+ SHA-256從秘密資料派生對稱金鑰
負載加密AES-GCM 256-bit加密憑證負載
金鑰分享RSA-OAEP(SHA-256)針對每位收件者包裹 AES 金鑰

延伸閱讀:分享與離職靜態與傳輸加密