Mooltipass
Mooltipass 是一个开放硬件和开放软件的硬件密码管理器,用户可以在其中存储其凭据,以便针对 Web 应用程序、PAM 会话和受密码保护的应用程序进行身份验证。
该设备可以与任何支持 HID 类设备的 USB 兼容系统一起使用。
作为日常用户,可以通过使用可点击的滚轮直接与设备交互,或者自由使用可用的浏览器扩展程序/应用程序之一。
简介
Mooltipass 团队面临着基于密码的身份验证的巨大复杂性,这需要包括以下严格策略:
- 每次使用都使用唯一的密码;
- 难以猜测的密码;
为了结合这种策略的安全性和可用性,人们开发了像 KeePass 这样的软件密码管理器。不幸的是,这种解决方案意味着所有凭据都保留在计算机内存中,因此最终可能会被恶意软件盗取。
Mooltipass 是一个外部设备,凭据存储在设备上,使用 AES-CTR 和存储在 PIN 锁定的智能卡上的 256 位密钥进行加密。插入后,Mooltipass 模拟 HID 设备,并将像键盘一样将您的凭据信息发送到目标应用程序。即使攻击者能够在某个时候嗅探到设备和主机之间的通信,他们也可能无法收集所有凭据,也无法注入他们自己的数据。
密码存储
先前介绍的智能卡用于识别用户。请注意,多个用户必须拥有不同的智能卡,但可以使用相同的 mooltipass。
凭据存储在设备闪存中,包含以下信息:域名、用户名、密码、备注。
以下列表限制了存储能力
- 闪存为 8Mb;
- 一个密码最多可以有 32 个字符长;
固件升级
固件升级是通过签名捆绑包进行的。每个设备都由主开发人员将专用的 AES 密钥熔入电路板中。
附加功能
此外,mooltipass 受益于 ATMega32u4,并公开了一个自定义随机数生成器,用于生成随机密码。
Udev 规则
mooltipass-udevAUR 提供了 udev 规则,允许每个普通用户从会话或使用 libusb 访问设备。
用法
Mooltipass 的设计宗旨是易于所有人使用。与之交互的主要方式是通过浏览器应用程序和/或扩展程序。
Chromium
Chromium 是 Mooltipass 的首要目标,该团队创建了一个扩展程序(可从 Web Store 获得),该扩展程序可以检测网页上的登录表单,并在设备上为您选择正确的凭据。用户只需在 Mooltipass 屏幕上检查请求是否合法,并使用硬件滚轮批准/拒绝。
有关 Webauthn 支持,请参阅 Chromium/Tips and tricks#U2F authentication。
Firefox
与 Chromium 类似,Firefox 用户可以使用 Mooltipass 扩展程序,以便在网站和设备上存储的凭据之间轻松交互。
Moolticute
moolticuteAUR 旨在构建一个可以与浏览器外部的 mooltipass 交互的跨平台应用程序。该应用程序基于 C++/Qt,并提供一个守护程序(将处理与设备的每个操作)和一个 GUI 应用程序(可以替代 chrome 应用程序)。
mc-cli
为了脚本编写的目的,有 mc-cliAUR,它允许人们通过命令行从 moolticuted 与 Mooltipass 交互。
mc-agent
mc-agentAUR 受益于 Mooltipass 的文件系统支持,因此用户能够存储他们(未加密的)SSH 密钥。mc-agent 实现了 SSH 代理,允许从设备加载密钥。
Mooltipy
最后一个客户端实现是 mooltipy,它实现了 CLI 工具和可用于脚本编写的 Python 模块。