Confidex

你的密碼,只屬於你。

Confidex 把您的密碼、驗證碼、備註與檔案保存在一個只有您能開啟的保險庫中。負責同步的服務永遠不會得知您的姓名、電子郵件或密碼,也讀不到任何一個條目。

在您的裝置上 GitHub 使用者名稱 密碼 一次性驗證碼 標籤 octocat •••••••••••••••• 482 913 工作,兩步驟驗證 0d24b0ab 在同步伺服器上 7f3a9ce2 c04d178b 2be5f04a 沒有姓名,沒有電子郵件,沒有密碼
每次變更在離開您的裝置之前都已在裝置上封存並簽章。伺服器保存的只是帶編號的密封盒,僅此而已。
  • 無需註冊

    在我們這一邊沒有任何帳號可供竊取、釣魚或重設。

  • 在您的裝置上封存

    任何資料在離開之前都已加密並簽章,如果它會離開的話。同步是選用的。

  • 免費且開源

    GPL-3.0 的應用程式,以及可以自行執行的 AGPL-3.0 同步伺服器。

一次登入真正需要的一切,都在一處。

記錄不是固定的表單。把密碼放在它的一次性驗證碼、復原備註、用來付款的卡片與透過電子郵件收到的檔案旁邊。它們保存在一起,也一起加密。

  • 登入與密碼附帶一個把設定保存在您裝置上的產生器。
  • 一次性驗證碼兩步驟登入的驗證碼,在您的裝置上產生。
  • 銀行卡卡號、有效期限與安全碼作為普通的加密欄位。
  • 備註與文件普通備註,或受保護的備註,在您要求之前保持隱藏。
  • 照片與檔案掃描件、PDF 與圖片,在封存前於您的裝置上調整大小。
  • Wi-Fi 網路由已儲存的密碼產生的 QR 碼,供您的訪客掃描。
  • API 金鑰與權杖在您顯示之前保持隱藏,一步即可複製。
  • SSH 金鑰附帶原生代理程式,每次使用前都會徵求您的確認。
  • 您自己的欄位您需要的任何其他內容。編輯時不會丟棄任何東西。
  • 完整歷史每次變更都被保留。可以開啟一筆記錄的任何早期版本。

搬家只需一次匯入。

Confidex 可從 1Password、Bitwarden、KeePass 與 CSV 匯入,也可匯出回這些格式。用您的真實資料試一試;如果改變主意,可以帶著全部資料離開。

  • 1Password
  • Bitwarden
  • KeePass
  • CSV

桌面

面向 Mac、Linux 與 Windows 的真正原生應用程式,用 Rust 編寫,介面由 GPU 加速。沒有 Electron,沒有 Flutter,沒有網頁檢視。

  • macOS
  • Linux
  • Windows

瀏覽器

開啟 app.confidex.me 即可立即開始。首次造訪後也可離線使用,還可以安裝到手機主畫面。

開啟 app.confidex.me

離線優先

每台裝置都保存完整的保險庫。您可以隨時同步,透過我們的伺服器或您自己的伺服器,也可以從不同步:把保險庫留在一台裝置上並備份到檔案。如果兩台裝置的內容不一致,您會看到兩個版本並自行選擇。

兩把鑰匙開啟您的保險庫。除了您,沒有人同時持有兩把。

密碼和秘密金鑰共同開啟存放保險庫私鑰的小鎖. 紀錄個別加密, 每個修訂版都有簽章. 同步伺服器驗證簽章, 無需接收任何一個解鎖秘密, 也無需使用者帳戶.

您的密碼 您的秘密金鑰 已鎖定 已開啟 僅密碼 僅金鑰 兩者兼備
  • 您的密碼

    由您記住。它從不儲存在任何地方,也從不傳送。

  • 您的秘密金鑰

    由您的裝置保存。在新裝置上,您以傳輸碼的形式輸入一次:77 個字母與數字,每 7 個一組。

  • 鎖

    保存著保險庫金鑰,只有兩者齊備才會開啟。Argon2id 刻意讓每次密碼猜測都很慢:每次嘗試需要 64 MiB 記憶體與三輪運算。

單獨一把鑰匙改變不了什麼。伺服器上所有內容的副本甚至不能用來猜測您的密碼,因為伺服器從不持有秘密金鑰。

您的裝置透過一台無法窺視內容的伺服器保持同步。

每次變更離開您的裝置時都已封存並簽章。伺服器在您的裝置之間傳遞密封盒並檢查簽章,因此其他任何人都無法變更您的保險庫。它打不開任何一個盒子,而且在明文 HTTP 上和在 HTTPS 上一樣安全。

筆記型電腦 7f3a9ce2 c04d178b 2be5f04a 同步伺服器 手機

伺服器只負責儲存與轉發。只有來自您自己金鑰的簽章才能讓變更進入。

鎖定後,它就從記憶體中消失了。

保險庫開啟期間,金鑰與您檢視的記錄存在於記憶體中。當您鎖定時,Confidex 在那一刻就把它們丟棄。Rust 以確定性方式釋放記憶體,沒有可能讓秘密多停留一段時間的垃圾收集器。剪貼簿或作業系統製作的副本不在此保證範圍內。

記憶體 保管庫金鑰,開啟的記錄 鎖定時立即釋放 已解鎖 已鎖定。記憶體中毫無殘留。

不是垃圾收集器決定您的秘密何時離開記憶體。鎖定決定。

如果我們的伺服器被入侵會怎樣?

切換攻擊者設法得到的東西。

目前什麼也沒有。

切換攻擊者擁有的東西。答案遵循專案文件中的威脅模型。

使用我們的同步伺服器,或自己執行同一個伺服器。

伺服器很小,因為它沒有什麼需要保護。它儲存密封盒,為每個保險庫維護一個計數器,並在接受變更之前檢查簽章。可以在任何機器上作為 Docker 映像檔執行,也可以作為免費方案的 Cloudflare Worker 執行,無需自己的伺服器,也無需付費。新保險庫使用 sync.confidex.me;一項設定即可把它們指向您的副本。

執行方式
Docker 映像檔、原生二進位檔,或免費方案的 Cloudflare Worker。
索引
原生執行時使用 SQLite 或 PostgreSQL,在 Worker 中使用 D1。
物件
S3 相容儲存桶、普通目錄與 Git 儲存庫的任意組合。寫入到全部目的地;讀取時逐一退回並校驗摘要。
傳輸
HTTP 或 HTTPS,由您選擇。無論哪種方式,盒子都已封存並簽章。
帳號
沒有。保險庫透過上傳其已簽章的鎖來註冊。此後只有簽章金鑰的持有者才能變更它。
完全不用
同步是選用的。保險庫可以留在一台裝置上,備份到本機 ZIP 檔案,永不接觸網路。
授權條款
AGPL-3.0。您為他人執行的修改版本必須保持開放。

Confidex 不保護什麼。

密碼學保護靜態與傳輸中的資料。它無法保護一台已解鎖的裝置,也無法隱藏一切。以下是我們已知的邊界,如實陳述。

已解鎖且受感染的裝置

保險庫開啟期間,金鑰與您檢視的記錄都在記憶體中。在那台裝置上執行的惡意軟體可以讀取它們。離開時請鎖定。

形態,而非內容

伺服器能看到保險庫與記錄的識別碼、哪個修訂版本接在哪個之後、時間戳記以及封存值的大小。內容、名稱、類型與標籤保持隱藏;形態則不會。

弱密碼加上洩漏的秘密金鑰

持有您傳輸碼的人可以離線嘗試密碼。Argon2id 讓每次猜測都要付出 64 MiB 與三輪運算的代價,因此長的密碼片語能夠抵擋。短的則不能。

本機搜尋索引

標題、網址、標籤與未受保護的備註以明文形式在您的裝置上建立索引以供搜尋。索引永遠不會離開裝置,但任何讀取您磁碟的人都能得知這些標籤。

沒有前向保密性

如果保險庫的私密材料一旦暴露,在它之下封存的記錄就可以被讀取。變更密碼會重新包裝鎖;它不會重新封存舊的修訂版本。

應用程式之外的副本

鎖定時清除記憶體涵蓋的是 Confidex 持有的內容。剪貼簿、瀏覽器與作業系統可能保留它們自己的副本。

給願意核對的人看的構造。

純 Rust 實作,沒有 C 繫結。每個構造都有固定的測試向量,儲存格式、鎖、記錄加密、簽章與同步協定都逐位元組地寫入了規格。

密碼學頁面逐步跟隨一個保險庫,從它的第一個隨機位元組到一個已同步的修訂版本:材料如何變成兩個金鑰對,鎖如何封存與開啟,修訂版本如何加密、簽章與命名,以及伺服器驗證什麼。

  • 建立保險庫32 個隨機位元組、X25519 秘密金鑰、Ed25519 簽章金鑰對、UUIDv5 位址、77 個符號的傳輸碼。
  • 鎖Argon2id 64 MiB,結合秘密金鑰的 HKDF-SHA256,對 33 位元組的 XChaCha20-Poly1305,總共 344 位元組。
  • 記錄與修訂版本MessagePack,一次 zlib,HPKE base 模式,對精確位元組的 Ed25519,SHA-256 修訂版本 ID。
  • 同步伺服器分離的鎖簽章、釘選的金鑰、精確位元組、游標比較並推進。
  • 哪些資訊仍然可見識別碼、父版本、epoch、大小與時間。沒有任何可讀內容。

把您的秘密放在一個無法被要求交出它們的地方。