项目简介
PwdToken是一个基于ATTiny85微控制器的硬件密码令牌系统,为需要频繁输入密码的场景(如家庭网络或访客设备)提供简单且相对安全的密码存储与输入方式。它通过模拟USB键盘输入密码,具备多种安全特性。
项目的主要特性和功能
- 硬件支持:可运行在Digispark Digistump或其他类似ATTiny85设备上。
- 操作简便:仅需两个按钮操作,能存储多达4个密码。
- 安全特性:支持摩尔斯电码解锁(可选)、二进制解锁(可选),具备防篡改和使用检测机制。
- 命令行工具:可用于生成和验证令牌数据,支持生成清单文件验证令牌完整性。
- 自定义引导程序:提供修改后的引导程序,增强设备安全性,防止未经授权的重新编程。
安装使用步骤
1. 硬件准备
使用Digispark Digistump或其他ATTiny85设备,将两个按钮连接到P0和P2引脚并接地。
2. 软件准备
下载并安装Arduino IDE,安装ATTiny85支持库。
3. 编译和上传代码
打开Arduino IDE,加载PwdToken项目代码,按需编辑secrets.h
文件设置密码和解锁密码/PIN,编译并上传代码到ATTiny85设备。
4. 使用命令行工具
- 生成令牌数据:
bash pwdtoken gen
按提示输入标签和秘密,生成清单文件。 - 验证令牌:
bash pwdtoken ver
验证令牌合法性。
5. 使用PwdToken
将设备插入USB端口,等待红色LED稳定亮起,输入解锁PIN/密码(若设置),通过按钮B选择要输入的密码,在目标应用中按住按钮A超过2秒输入密码。
6. 安全增强
使用提供的修改后的引导程序防止未经授权的重新编程,将设备封装在环氧树脂中仅暴露USB接口防止物理攻击。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】