密码管理器保管库锁定:丢失 1Password 密钥、Bitwarden 2FA 恢复代码或 KeePass 密钥文件(提取缓存的本地离线保管库会话)¶
Emergency numbers differ by country. This page uses 911, the number for the United States and Canada. Many other countries use 112, 999, or another number. Find the number for your country.
被密码管理器锁定(1Password, Bitwarden, KeePassXC, Proton Pass, 或 LastPass)在笔记本电脑主板故障、手机恢复出厂设置、浏览器配置文件擦除或意外丢失您的 1Password 34 个字符的密钥 (A3-XXXXXX-...), Bitwarden 两步登录恢复代码,或 KeePass .keyx 密钥文件是一场严重的数字身份危机。现代零知识密码管理器使用以下方式在设备上本地加密您的保管库 AES-256-GCM 或 ChaCha20-Poly1305 衍生自 PBKDF2-HMAC-SHA256 或 Argon2id 在单个字节接触云之前。由于提供商永远不会拥有您的主密码、密钥或本地密钥文件,因此 AgileBits 的客户支持 (1Password)或 Bitwarden 在任何情况下都无法从其服务器重置您的密码或解密您的保管库。
然而,云登录锁定几乎永远不会意味着您的密码永远消失。只要甚至是一个之前登录的设备(旧手机、辅助平板电脑、工作笔记本电脑、工作浏览器配置文件、iCloud 或 Google Drive 设备备份或 Windows Volume Shadow Copy / macOS Time Machine 磁盘快照)仍然保存本地缓存的加密数据库(1Password.sqlite, 比特沃登 data.json, 或 .kdbx 副本)并且您仍然知道您的主密码(或拥有生物识别信息) Touch ID / Face ID / Windows Hello (在辅助设备上配置),您可以在飞行模式下解锁本地离线缓存,并在云服务器撤销会话令牌之前导出 100% 的密码。相关凭证紧急情况,请参阅 密码管理器锁定和主密码恢复, 验证器应用程序 TOTP 在手机升级或屏幕破碎期间丢失, 和 MFA 锁定和身份验证器恢复。如果您的停工涉及直接的生命安全或医疗危机,请拨打您当地的紧急电话号码(911 在美国和加拿大, 112 整个欧盟, 999 在英国)或查阅我们的目录 紧急号码。
现在就这样做¶
- 将曾经访问过密码管理器的每台辅助计算机、手机和平板电脑放入
Airplane Mode(断开 Wi-Fi 并拔掉以太网)在唤醒屏幕或打开应用程序之前: - 为什么网络隔离是您的第一步:如果您的帐户会话被取消授权、您的 2FA 令牌被重置或您的订阅失效,那么在
1Password或Bitwarden您的辅助笔记本电脑或旧手机上的应用程序连接到互联网,它会轮询远程 API (my.1password.com或identity.bitwarden.com),收到一个HTTP 401 Unauthorized或会话撤销信号,并自动清除本地离线缓存的保管库(data.json/1Password.sqlite)从磁盘。 - 保持设备 100% 离线会强制桌面应用程序、移动应用程序或浏览器扩展程序回退到 离线缓存解锁模式,从而允许您仅使用主密码(或生物识别技术)解锁保管库,而无需 2FA 代码或新的密钥握手。
- 切勿点击
"Log Out","Remove Account","Clear Browser Data", 或"Reinstall App"在锁定的设备上:注销 Bitwarden 浏览器扩展程序或 1Password 桌面应用程序会立即擦除本地存储的Secret Key属性和加密的保管库 blob。保持锁定的应用程序不变,并首先将其底层应用程序数据文件夹复制到安全的备份文件夹。 - 了解您缺少三个锁定组件中的哪一个:
- 失踪
1Password34 个字符的密钥 (A3-...)(同时仍然知道您的主密码):密钥以明文形式存储在您登录过的每个设备的本地配置数据库中,以及您下载的文件中1Password Emergency Kit.pdf,Apple 钥匙扣内(iCloud Keychain)在 Mac/iOS 上,或在任何旧设备备份中。 - 失踪
Bitwarden2FA 身份验证器/恢复代码(同时仍然知道您的主密码):因为 Bitwarden 的 2FA 仅控制服务器身份验证(不是本地保管库加密),因此任何已缓存的设备data.json磁盘上的保管库文件只需使用主密码即可离线解锁,或使用开源离线 Bitwarden 保管库提取器进行解密(bitwarden-decrypt)。 - 失踪
KeePass/KeePassXC密钥文件(.key/.keyx) (同时仍然知道您的主密码):密钥文件通过以下方式进行哈希处理SHA-256进入复合主密钥;您必须从磁盘扇区恢复精确的逐字节文件,Volume Shadow Copies、云垃圾或浏览器/操作系统最近的文件缓存。 - 在辅助设备上打开任何脱机保管库之前,请将其本地保管库目录克隆到外部 USB 驱动器:在 Windows、macOS 或 Linux 上,复制整个
%LocalAppData%\1Password,%AppData%\Bitwarden,或浏览器Local Extension Settings文件夹到一个单独的文件夹,这样即使应用程序失败并擦除其缓存,您仍然拥有加密 SQLite/JSON 数据库的原始副本。 - 如果您唯一剩余的登录设备是具有生物识别解锁功能的手机或笔记本电脑(
Face ID,Touch ID,Windows Hello)并且您忘记了主密码本身:不要**重新启动该设备(重新启动会清除 RAM 中的生物识别密钥句柄,并在首次解锁时强制提示主密码)。通过解锁应用程序Face ID或Touch ID在飞行模式下,打开最高优先级的凭据,并立即手动查看或复制每个密码。 - 搜索每台计算机、电子邮件附件、下载文件夹和云驱动器
"Emergency Kit"或"bitwarden_recovery_code"现在:什么时候1Password第一次创建您的帐户时,它强制浏览器下载名为 ** 的文件1Password Emergency Kit.pdf**(或将密钥/密钥条目保存到 AppleKeychain Access)。在假设密钥丢失之前运行系统范围的搜索。
Danger
切勿点击 "Delete Account" 在比特沃登 (vault.bitwarden.com/#/recover-delete) 或者 "Reset Account" 在 1Password 中,除非您已提取离线保管库或接受 100% 永久数据丢失:Bitwarden 和 1Password 都为丢失 2FA 或密钥的用户提供管理自助重置 URL,但使用该链接会永久擦除存储在云服务器上的每个密码、注释和密钥,以便您可以从空白保管库重新开始。 在重置您的云帐户之前,请务必完成下面的离线缓存提取步骤。
决策树:密码管理器锁定分类和离线保管库提取¶
根据您丢失的密码管理器和身份验证因素,遵循此取证恢复工作流程:
flowchart TD
Start["被密码管理器保管库锁定(1Password、Bitwarden、KeePassXC、Proton Pass)"] --> IsolateNow["第 1 步:立即将所有辅助笔记本电脑、手机和平板电脑置于飞行模式(在打开应用程序或浏览器之前)"]
IsolateNow --> WhichApp{"缺少哪个密码管理器和凭据因素?"}
WhichApp -->|"1Password:丢失 34 个字符的密钥 (A3-XXXXXX...),仍然知道主密码"| OnePassCheck{"您是否有任何设备仍处于登录状态(或 Mac/iPhone 备份)?"}
OnePassCheck -->|"是:旧手机、平板电脑或 PC 上已登录应用程序"| Extract1PKey["打开离线应用程序 -> 点击帐户图标 -> “设置另一个设备”或“查看密钥”以显示完整的 A3-... 密钥(或从 1Password.sqlite / Apple 钥匙串中提取)"]
OnePassCheck -->|"否:只有 Time Machine、Windows Shadow Copy 或下载文件夹"| Search1PKit["在磁盘和备份中搜索“1Password Emergency Kit.pdf”、“1Password.sqlite”或“opvault”/“b5.sqlite”"]
WhichApp -->|"Bitwarden:丢失 2FA TOTP 应用程序和 2FA 恢复代码,但仍然知道主密码"| BitwardenCheck{"Bitwarden 桌面或浏览器扩展是否仍在任何设备上登录(离线)?"}
BitwardenCheck -->|"是:磁盘上存在缓存的保管库"| UnlockBWOffline["将设备保持在飞行模式 -> 使用主密码解锁本地 Bitwarden 应用程序/扩展 -> 将 Vault 导出到 .json / .csv -> 然后重置帐户并重新导入"]
BitwardenCheck -->|"否:扩展程序已锁定或注销,但磁盘/备份上存在“data.json”"| DecryptBWJson["从 AppData 或浏览器 LevelDB 复制本地“data.json” -> 使用主密码运行离线“bitwarden-decrypt”Python 脚本"]
WhichApp -->|"KeePass / KeePassXC:丢失密钥文件 (.keyx/.key) 或损坏的 .kdbx"| KeePassRescue["1. 检查 KeePassXC '.kdbx.tmp' 和云版本历史记录。 2. 通过“Everything”/Photorec 或 Windows Volume Shadow Copy (vssadmin) 在磁盘中搜索密钥文件"]
WhichApp -->|"忘记主密码本身(手机/笔记本电脑上的生物识别解锁仍然处于活动状态)"| BiometricRescue["请勿重新启动设备:保持飞行模式 -> 通过 Face ID / Touch ID / Windows Hello 解锁 Vault -> 手动复制密码"]
第一阶段:找回丢失的东西 1Password 秘密密钥(A3-XXXXXX-...) 和离线金库¶
1Password (版本 7 和 8)使用双密钥派生(2SKD) 架构:您的保管库加密密钥 (MPK)是通过组合您的主密码(通过 PBKDF2-HMAC-SHA256),随机生成 128 位 密钥,格式为以 ** 开头的 34 个字符的字符串A3-**(例如, A3-ABCDEF-GHIJKL-MNOPQR-STUVWX-YZ1234-567890)。没有那个 A3- 秘密密钥,仅知道您的主密码在数学上不足以解密来自 1Password 服务器的数据。
但是,密钥对于您自己的设备来说并不是秘密:曾经登录过您的 1Password 帐户的每台设备都会存储您的完整信息 A3- 密钥位于其本地存储驱动器上,因此您不必每天早上输入 34 个字符。
方法一:透露你的 A3- 来自任何已登录的手机、平板电脑或计算机的密钥¶
检查您曾经使用过 1Password 的每部智能手机、iPad、工作笔记本电脑或桌面浏览器(首先将设备保持在飞行模式):
1. 开 1Password 8 对于 iOS / Android:
- 打开 1Password 应用程序 -> 点击左上角的 帐户/个人资料图标 -> 点击 Set Up Another Device (或者 Manage Accounts -> [Your Account] -> Set Up Another Device)。
- 点击View Account Details 二维码下方:您的完整信息 A3-... 密钥 以纯文本形式显示在屏幕上。立即将其写在纸上。
2. 开 1Password 8 对于 macOS / Windows / Linux:
- 打开 1Password -> 在左上角侧边栏中单击您的 帐户名称 -> 选择 Set Up Another Device... -> 单击 secret key and sign-in address 显示准确的 A3-... 细绳。
3. 在您的 1Password Vault 内部:
- 每个 1Password 帐户都会自动生成一个名为 ** 的内置保管库项目1Password Account (login)** 第一天在您的个人/私人保险库内。如果您可以在任何设备上离线解锁 1Password,请在您的保管库中搜索 1Password Account;它包含您的主密码和密钥。
方法二:提取丢失的 1Password 苹果的秘钥 iCloud Keychain 或 macOS Keychain Access¶
如果您曾经登录过 1Password 在使用 Safari 或本机应用程序的 iPhone、iPad 或 Mac 上,Apple 操作系统会自动保存您的 1Password 登录详细信息或 Account Key Apple 钥匙串/密码内:
1. 在 macOS 索诺玛 / Sequoia 上 (macOS 14 / 15+) 或 iOS 17 / 18:
- 打开 密码 应用程序(或 System Settings -> Passwords)并使用 Touch ID 或 Face ID 解锁。
- 搜索 1password.com 或者 1Password Account Key。
- 检查保存的用户名、密码或注释字段:Safari 和 iOS 版 1Password 经常存储完整的用户名、密码或注释字段。 A3-XXXXXX-... 保存的凭证条目内的密钥 my.1password.com。
2. 在 macOS 中 Keychain Access (local items / iCloud):
- 新闻 Cmd + Space, 类型 Keychain Access,然后搜索1Password, agilebits,或A3-。
- 双击任何匹配的 application password 录入并检查Show password。
方法三:提取 A3- 密钥或磁盘中的缓存保管库(1Password.sqlite & Emergency Kit.pdf)¶
即使 1Password 桌面应用程序无法打开或您的计算机无法启动(作为辅助驱动器安装或从 Time Machine / File History / Backblaze 备份),检查这些确切的磁盘位置:
| 平台/来源 | 确切的文件系统路径 | 里面有什么以及如何提取它 |
|---|---|---|
下载应急包(All OS) |
搜索整个驱动器(Everything 在 Windows 或 mdfind / Mac 上的 Spotlight):*Emergency Kit*.pdf 或 *1Password*.pdf |
当您创建帐户时,浏览器会自动下载1Password Emergency Kit.pdf进入你的 Downloads 或 Documents 文件夹。打开它以阅读打印的 A3- 秘密钥匙。 |
1密码8本地数据库(Windows) |
%LocalAppData%\1Password\data\1Password.sqlite(例如。, C:\Users\<Name>\AppData\Local\1Password\data\1Password.sqlite) |
打开 1Password.sqlite 在 SQLite 数据库浏览器 (sqlitebrowser.org) -> 浏览 accounts 表 -> 检查 account_key 或 secret_key JSON 元数据列,或复制整个 \1Password\data\ 文件夹到安装了 1Password 8 的离线 PC 上并使用您的主密码解锁。 |
1密码8本地数据库(macOS) |
/Users/<Name>/Library/Group Containers/2BUA8C4S2C.com.1password/Library/Application Support/1Password/Data/1Password.sqlite |
包含帐户元数据和完整加密的离线保管库(item_overviews 和 item_details)。从 a 复制整个容器 Time Machine 备份到离线 Mac 上以使用您的主密码解锁。 |
1密码 7 旧数据库 (Windows / Mac) |
视窗: %LocalAppData%\1Password\data\B5.sqlite苹果: /Users/<Name>/Library/Group Containers/2BUA8C4S2C.com.agilebits/Library/Application Support/1Password 4/Data/B5.sqlite |
在 1Password 7 (B5.sqlite), 这 accounts 表存储 A3- 帐户配置 blob 内的密钥。此外,1Password 7 会自动创建滚动本地 .opvault 或 .1p4 ** 内的 zip 备份Backups** 同一目录中的子文件夹。 |
第 2 阶段:从 Bitwarden 2FA 锁定(data.json 离线缓存提取和解密)¶
如果您丢失了 TOTP Authenticator 应用程序、硬件 YubiKey 和 Bitwarden 两步登录恢复代码,Bitwarden 的云服务器 (vault.bitwarden.com)将拒绝让您在任何新的浏览器或手机上登录。然而,Bitwarden 的加密设计为您提供了关键的救援优势: Bitwarden 的 2FA 仅对您的 Web API 进行身份验证;它不是加密密钥的一部分(masterKey / encKey)用于加密您的本地保管库文件(data.json)。
这意味着如果您仍然知道您的 Bitwarden 主密码,并且您拥有 任何计算机、手机或备份,其中包含 Bitwarden 本地的缓存副本 data.json 或 IndexedDB / LevelDB 从您登录时开始存储,您可以离线解密 100% 的密码。
方法 1:解锁仍登录的 Bitwarden 应用程序或扩展程序 Airplane Mode¶
- 完全断开计算机或手机与互联网的连接(关闭 Wi-Fi、拔掉以太网、启用手机上的飞行模式)。
- 打开 Bitwarden 桌面应用程序、浏览器扩展(Chrome、Brave、Edge、Firefox)或 移动应用程序。
- 只要应用程序处于 “锁定” 状态(要求您提供主密码或 PIN/生物识别信息)而不是 “注销”(要求提供您的电子邮件地址),在离线状态下输入您的主密码会立即解锁本地缓存的保管库,而无需要求 2FA。
- 立即前往
Settings -> Vault options -> Export vault(或File -> Export Vault在桌面上),选择.json(未加密的 JSON,因此它导出自定义字段、URI、TOTP 种子和文件夹结构),输入您的主密码,然后保存.json文件保存到加密的 USB 驱动器或 VeraCrypt 容器。 - 一旦您确认您的导出
.json文件包含您在文本编辑器中的所有登录信息,您可以安全地转到vault.bitwarden.com/#/recover-delete(或vault.bitwarden.eu/#/recover-delete),删除 2FA 锁定的云帐户,使用相同的电子邮件创建一个新的 Bitwarden 帐户,然后单击Tools -> Import Data -> Bitwarden (json)在 30 秒内恢复整个保管库。
方法2:解密Bitwarden的 data.json 或浏览器 LevelDB 直接从磁盘(bitwarden-decrypt)¶
如果 Bitwarden 桌面应用程序或浏览器扩展无法在 UI 中解锁,或者您的计算机驱动器是从备份安装的,或者您只有原始应用程序数据文件夹,该怎么办?
- 找到您当地的 Bitwarden
data.json或磁盘上的浏览器扩展存储(在接触该文件夹之前先对其进行备份):
| Bitwarden 客户端类型 | 磁盘上的确切文件系统路径 |
|---|---|
Bitwarden 桌面应用程序 (Windows) |
C:\Users\<Username>\AppData\Roaming\Bitwarden\data.json(微软商店版本: C:\Users\<Username>\AppData\Local\Packages\8bitSolutionsLLC.bitwardendesktop_*\LocalCache\Roaming\Bitwarden\data.json) |
Bitwarden 桌面应用程序 (macOS) |
/Users/<Username>/Library/Application Support/Bitwarden/data.json(Mac App Store 沙盒版本: /Users/<Username>/Library/Containers/com.bitwarden.desktop/Data/Library/Application Support/Bitwarden/data.json) |
Bitwarden 桌面应用程序 (Linux) |
/home/<Username>/.config/Bitwarden/data.json(平板包版本: /home/<Username>/.var/app/com.bitwarden.desktop/config/Bitwarden/data.json;快照: /home/<Username>/snap/bitwarden/current/.config/Bitwarden/data.json) |
| Chrome / Edge / Brave 浏览器扩展 | 视窗: C:\Users\<Username>\AppData\Local\Google\Chrome\User Data\Default\Local Extension Settings\nngceckbapebfimnlniiiahkandclblb\macOS: /Users/<Username>/Library/Application Support/Google/Chrome/Default/Local Extension Settings/nngceckbapebfimnlniiiahkandclblb/(包含LevelDB .ldb 和 .log 存储与以下完全相同的 JSON 键值模式的文件 data.json.) |
| 火狐浏览器扩展 | ...\Mozilla\Firefox\Profiles\<profile>.default-release\storage\default\moz-extension+++<UUID>\idb\ (索引数据库 .sqlite 文件) |
- 验证加密的保管库有效负载仍在内部
data.json: - 打开你复制的
data.json文件在文本编辑器中(Notepad或VS Code)。 - 搜索字符串
"ciphers_和"encKey"(或者"masterKeyEncryptedUserKey"在较新的 Bitwarden 中stateVersion模式)。 - 如果你看到数百行
"2.iv|ciphertext|mac"下的字符串ciphers_<userId>,您的每一个密码、注释和 TOTP 种子都位于该文件中,仅由您的主密码加密。 - 解密
data.json离线使用bitwarden-decrypt(开源 Python 实用程序): - 在任何安装了 Python 3 的计算机上,下载经过审核的开源
bitwarden-decrypt脚本 (github.com/GurpreetKang/BitwardenDecrypt)它实现了 Bitwarden 的精确PBKDF2-SHA256/Argon2id+HKDF-Expand+AES-256-CBC-HMAC-SHA256本地关键层次结构: - 出现提示时输入您的 Bitwarden 主密码。该脚本派生您的
masterKey从您的电子邮件和主密码解密您的encKey(masterKeyEncryptedUserKey),并输出一个干净的、人类可读的recovered_vault.json包含每个登录名、密码、TOTP 种子和安全注释。
Tip
如果您当地的 data.json 由于您不小心单击“注销”而被覆盖?检查窗户 Volume Shadow Copies (Previous Versions) 立即地:
如果您今天在 Windows 10 或 11 上意外退出 Bitwarden 或 1Password,请右键单击 C:\Users\<Username>\AppData\Roaming\Bitwarden(或 AppData\Local\1Password\data) 文件资源管理器中的文件夹 -> 单击 Properties -> 单击 Previous Versions 选项卡(或使用免费工具 ShadowExplorer 以管理员身份运行)。 Windows 在系统更新和还原点期间自动创建卷影复制快照;恢复昨天的 data.json 或 1Password.sqlite 让您返回注销之前的登录保管库状态。
第三阶段:从 KeePass 或 KeePassXC 密钥文件丢失或 .kdbx 腐败¶
与云托管管理器不同, KeePass 2.x 和 KeePassXC 将您的保管库存储在独立的 .kdbx 文件 (KDBX 4.x 格式)使用复合主密钥加密。如果您将数据库配置为需要主密码和密钥文件(.key 或 .keyx),KeePass 对密钥文件的确切内容进行哈希处理 SHA-256 并在运行之前将该 32 字节哈希值与您的密码哈希值结合起来 Argon2d/Argon2id。
1.如何查找放错或删除的 .key / .keyx 密钥文件(或用作密钥文件的图像/文档)¶
由于丢失密钥文件相当于丢失 256 位加密密钥,因此您无法暴力破解丢失的随机密钥文件;您必须找到该文件的字节相同的副本:
1. 检查 KeePassXC.ini / KeePass.config.xml 查看上次使用的密钥文件的确切文件名和路径:
- 用户经常忘记他们在计算机上选择哪个文件作为密钥文件(许多用户随机选择一个 .jpg 照片, .pdf 文档,或 USB 驱动器上名称模糊的文件)。
- 在文本编辑器中打开本地配置文件:
- KeePassXC (Windows): %AppData%\KeePassXC\keepassxc.ini (或 %LocalAppData%\KeePassXC\keepassxc.ini) -> 看下 [LastDatabases] 或者 LastKeyFiles。
- KeePassXC (macOS / Linux): /Users/<Username>/Library/Application Support/KeePassXC/keepassxc.ini 或 /home/<Username>/.config/keepassxc/keepassxc.ini。
- KeePass 2.x (Windows): %AppData%\KeePass\KeePass.config.xml -> 搜索 <KeyFilePath>。
- 知道确切的文件名和文件夹路径(E:\Keys\my_secret_pic.jpg) 告诉您要搜索哪个 USB 记忆棒、SD 卡或云文件夹。
2. 雕刻一个已删除的 .keyx 60 秒内从未分配的磁盘空间获取 XML 密钥文件:
- 标准 KeePass / KeePassXC 生成的密钥文件(.keyx 或 .key XML 格式)很小(< 1 KB 文件)以独特的 XML 标头开头:
512 bytes,在一个 NTFS 驱动整个 .keyx 文件直接存储在其内部 1024-byte 主文件表($MFT) 记录。即使您清空了回收站,扫描驱动器的 $MFT 和 DMDE, R-Studio,或WizTree / Everything(或 grep 原始磁盘扇区 <KeyFile>)经常立即恢复完整的 XML 密钥文件。
2.修复损坏的 .kdbx 数据库 (Invalid signature 或 HMACHashMismatch 断电或云同步后)¶
如果你的 .kdbx 文件抛出 Not a KeePass database 或 Corrupted database / HMAC mismatch 计算机崩溃或 Google Drive / OneDrive 同步冲突后:
1. 寻找隐藏的 .kdbx.tmp 或 .kdbx.bak 原子写入同级文件:
- 默认情况下, KeePassXC 使用安全保存(原子写入):它首先将更改写入同一文件夹中的临时文件,然后将其重命名为原始文件 .kdbx。在同一目录(启用隐藏文件)中查找任何 .tmp, .bak,或冲突副本(Passwords (Conflicted copy).kdbx)。
2. 从云版本历史记录或 Windows 卷影复制恢复昨天的版本:
- 如果你的 .kdbx 位于 Dropbox、Google Drive、OneDrive 或 iCloud Drive 中,在浏览器中登录云门户网站,右键单击 .kdbx 文件,然后选择 Version History 下载损坏之前的先前干净版本。
3. 运行内置 KeePass 2.x Repair Mode 导入:
- 在Windows上打开官方KeePass 2.x -> 创建一个全新的空白数据库 -> 点击File -> Import... -> 选择 KeePass KDBX (2.x) (Repair Mode) -> 将其指向您损坏的 .kdbx 文件并输入您的主密码。修复模式忽略损坏的流 HMAC 页脚,并抢救每个可读条目块直至损坏的字节偏移量。
第 4 阶段:从 iOS、Android 和 macOS 备份中提取缓存的保管库 (iMazing, Time Machine, 和 DPAPI 内存转储)¶
如果您的主手机丢失、被盗或恢复出厂设置,并且您的笔记本电脑已被擦除或注销,导致您的活动实时会话为零,该怎么办?您仍然可以从 iPhone 本地备份、macOS Time Machine 快照或 Windows 休眠/故障转储文件中提取离线密码管理器保管库。
1. 提取 1Password 或 Bitwarden 来自 iPhone 或 iPad 备份的 SQLite/JSON 库(iMazing / idevicebackup2)¶
每当您将 iPhone 或 iPad 备份到 Mac 或 Windows PC(尤其是 Finder 或 iTunes 中的加密本地备份)时,备份存档都会捕获应用程序沙箱容器 1Password 和 Bitwarden:
1. 请勿先将备份恢复到实时连接互联网的手机上:如果您在设置助手期间将备份恢复到连接到 Wi-Fi 的手机上,恢复的应用程序将立即 ping 云服务器并擦除其过期的令牌。
2. 使用 iMazing 或 iBackup Viewer 在离线计算机上浏览原始备份文件系统:
- 在 ** 中打开本地 iPhone 备份iMazing(File System -> Apps -> 1Password 或 Bitwarden)。
- 对于1Password:转到 AppDomainGroup-group.com.agilebits.onepassword-ios/Library/Application Support/1Password/Data/ 并提取1Password.sqlite(或 B5.sqlite)。里面的 accounts 该 SQLite 文件的表包含您的明文 A3-XXXXXX-... 秘密钥匙。
- 对于Bitwarden:转到 AppDomainGroup-group.com.8bit.bitwarden/Library/Preferences/ 并提取group.com.8bit.bitwarden.plist**。转换二进制 .plist 到 XML(plutil -convert xml1 group.com.8bit.bitwarden.plist)并在文本编辑器中打开它:它包含完全相同的内容 ciphers_<userId> 和 masterKeyEncryptedUserKey 使用的 JSON 结构 BitwardenDecrypt.py,允许您使用主密码离线解密每个密码。
2. 提取 Proton Pass, Dashlane, 和 LastPass 离线浏览器缓存¶
如果您的锁定涉及 Proton Pass, Dashlane, 或 LastPass:
- Proton Pass 离线模式和浏览器扩展缓存:Proton Pass 在 Chromium 内缓存加密的本地快照 IndexedDB (chrome-extension_<id>_0.indexeddb.leveldb)。如果您将笔记本电脑保持在飞行模式,打开浏览器,并使用密码或 PIN 解锁 Proton Pass,则可以在重新连接到网络之前访问离线保管库并导出或查看您的凭据。
- LastPass 本地离线缓存(lpall.slp / acct.slp):在 Windows 上 (%LocalAppData%\LastPass 或 %AppData%\LocalLow\LastPass) 和 macOS (/Users/<Username>/Library/Application Support/LastPass),LastPass 存储 AES-256 以您的电子邮件哈希值命名的加密本地 XML/SQLite 缓存文件。断开 Wi-Fi 连接并使用主密码登录 LastPass 浏览器扩展程序可以绕过损坏的多因素身份验证器并直接打开本地离线保管库。
3. 从 Windows RAM 转储仍解锁的保管库 (Task Manager -> Create dump file) 强制锁定之前¶
如果您发现忘记了主密码(或在数据库当前在屏幕上打开并解锁时删除了您的 KeePass 密钥文件),请勿锁定数据库或关闭窗口。
1. 即使当 KeePassXC, Bitwarden, 或 1Password 要求您重新输入主密码才能单击 Export Vault 按钮、解密的保管库条目或派生的 256 位 MasterKey 当前位于进程内存中(RAM),同时保管库窗口已解锁。
2. 首先,单击屏幕上最高优先级的登录信息(电子邮件、银行、云帐户、域名注册商)并将其复制到加密文本文件中或对其拍照。
3. 为了 KeePass / KeePassXC:在数据库尚未解锁的情况下,如果您忘记了主密码或删除了密钥文件,请检查是否File -> Export -> CSV 工作 无需 提示输入主密码(在多个版本中) KeePassXC,将已解锁的数据库导出为 CSV 或 HTML 不需要重新输入复合密钥)。
常见问题¶
如果我向 1Password 或 Bitwarden 客户支持发送我的政府护照和经过公证的身份证件,他们可以解锁我的保管库吗?¶
不,这在数学上是不可能的。 1Password 和 Bitwarden 都使用端到端 零知识客户端加密。您的主密码(以及 1Password 的 34 个字符 A3- 密钥)永远不会离开您的设备,也永远不会传输到他们的服务器。即使法院传唤 AgileBits 或 Bitwarden,或者您亲自到他们的总部出示经过公证的护照,他们的服务器也只保存加密的密文 blob(AES-256),如果没有您自己设备上存储的密钥,则无法解密。
为什么断开 Wi-Fi(飞行模式)后我可以解锁 Bitwarden,而不会丢失 2FA 代码?¶
在Bitwarden的安全架构中, 两步登录 (2FA) 是通过 Internet 下载加密的保管库 blob 时由 Bitwarden 云服务器强制执行的身份验证检查;是的 不 用作加密保管库本身的加密密钥的一部分。一旦设备登录一次,Bitwarden 就会在本地缓存该加密的保管库 数据.json (或浏览器 LevelDB)受您的保护 主密码。当您将电脑或手机放在 飞行模式,该应用程序仅使用您的主密码解锁本地缓存的副本,并允许您将所有密码导出到 .json 或 .csv 文件。
如果我忘记了主密码,没有应急包,并且我唯一的开放会话是在带有面容 ID 的 iPhone 上,该怎么办?¶
如果您的 iPhone 或 iPad 仍然可以通过以下方式解锁您的密码管理器 面容 ID 或触摸 ID,将手机视为拆弹硬件: 保持其插入充电器,将其置于飞行模式,并且不要让电池耗尽或重新启动手机。如果手机重新启动,或者 Face ID 连续失败 3 到 5 次,应用程序会从 Secure Enclave 会话中刷新生物识别解密密钥,并强制您输入忘记的主密码。请注意,通过导出保管库 设置->导出 即使通过 Face ID 解锁,通常也需要输入主密码;因此,不要尝试使用批量导出菜单。相反,使用 Face ID 解锁并 手动一一打开每个重要帐户条目,点击眼睛图标以显示密码,并将每个密码拍照或写在纸上。
恢复保管库后,如何防止密码管理器锁定再次发生?¶
恢复您的保管库后,立即实施 三层物理+离线备份规则: (1) 打印两份纸质材料副本 1密码应急包 (或您的 Bitwarden 主密码 + 2FA 恢复代码)并将一份存放在防火的家用保险箱中,一份存放在银行保险箱中或交给值得信赖的家庭成员; (2) 导出您的保管库的加密备份(.kdbx 或受密码保护的 Bitwarden .json) 每 90 天复制到两个离线 USB 闪存驱动器上; (3) 如果您使用 1密码系列 或 Bitwarden 家庭/企业,将受信任的合作伙伴或第二个管理员帐户分配给 **帐户恢复** 角色,该角色拥有能够重置家庭成员忘记的主密码或丢失的密钥的托管密钥。
相关指南¶
- 密码管理器锁定、主密码丢失和保管库恢复
- 身份验证器应用程序 TOTP 在手机升级或屏幕破碎期间丢失
- MFA 锁定和身份验证器恢复
- 密钥和 WebAuthn 设备丢失:同步密钥与硬件绑定密钥
- VeraCrypt、BitLocker 或 Cryptomator 损坏的卷标头恢复
- 按国家/地区划分的紧急电话号码
来源和官方指导¶
- 1Password 官方安全白皮书和支持文档 (
support.apple.com/support.1password.com/secret-key-security/&support.1password.com/find-secret-key/): 双密钥派生 (2SKD),A3-授权设备上的密钥存储以及应急包恢复程序。 - Bitwarden 官方安全与加密白皮书 (
bitwarden.com/help/bitwarden-security-white-paper/&bitwarden.com/help/storage-locations/): 主密码密钥派生(PBKDF2-SHA256/Argon2id), 当地的data.json离线存储位置和两步登录恢复。 - KeePass / KeePassXC 官方文档(
keepass.info/help/base/keys.html&keepass.info/help/base/repair.html): 复合主密钥架构,.keyxXML 密钥文件规范和 KDBX 4.x 修复模式导入。 - GurpreetKang 开源取证工具 (
github.com/GurpreetKang/BitwardenDecrypt): 缓存 Bitwarden 的离线解密data.json使用已知主密码的保管库文件。