待补充
tillitis/tillitis-key1
3/5
🧩 软硬件结合
已发布
项目简介
FPGA verilog and firmware for TKey, the flexible and open USB security key 🔑
Tillitis TKey 是一个完全开源、基于 FPGA 的 USB 安全令牌,旨在解决传统安全硬件在通用性与密钥安全性之间的矛盾。传统安全密钥通常只能运行预设的固定功能(如 FIDO U2F),而 TKey 则是一台可以运行通用应用程序的微型计算机,同时通过硬件级的安全启动机制确保密钥资产不被泄露。
标签
项目特点
**完全开源**:从硬件设计(FPGA 代码、PCB 原理图)到软件栈(固件、应用 SDK)全部公开,任何人都可以审查、修改和制造。
**通用可编程**:TKey 本质上是一台微型计算机,可以加载并运行用户自定义的安全应用,不局限于单一协议。
**硬件级安全启动**:内置不可篡改的硬件身份和唯一密钥,每次启动都会验证固件签名,确保只有可信代码才能运行。
**FPGA 架构**:使用 Lattice iCE40UP5K FPGA,兼具灵活性与低功耗,适合安全敏感场景。
**USB 即插即用**:通过 USB-C 接口供电和通信,无需额外驱动或电池。
**开发者友好**:提供完整的 SDK、模拟器以及命令行工具,方便开发者快速编写和测试自己的安全应用。
技术规格
| 主芯片 | |
|---|---|
| 逻辑单元 | |
| 内存 | |
| 安全特性 | |
| 接口 | |
| 供电 | |
| 尺寸 | |
| 工作温度 | |
| 开源协议 |
项目资源
搜索资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| Lattice iCE40UP5K-SG48ITR | 1 | — | FPGA |
| Winbond W25Q128JVSIQ (128Mb SPI Flash) | 1 | — | 存储固件与应用 |
| USB-C 连接器 (TYPE-C-31-M-12) | 1 | — | 供电与数据 |
| 3.3V LDO 稳压器 (XC6206P332MR) | 1 | — | 为 FPGA 供电 |
| 电容 (0402, 0.1µF / 10µF) | 若干 | — | 去耦与滤波 |
| 电阻 (0402, 1kΩ / 10kΩ) | 若干 | — | 上拉/下拉 |
| 晶振 (12MHz, 3225 封装) | 1 | — | FPGA 时钟源 |
| 测试点 / 跳线 | 若干 | — | 调试与编程 |
能力画像
**记忆与知识检索**:2/5 — 项目本身不涉及知识库或检索功能,但文档和社区资源丰富,便于查阅。
**动手与操作**:4/5 — 需要焊接、使用调试器、烧录 FPGA 等硬件操作,适合有动手经验的爱好者。
**编程与算法**:4/5 — 需要编写 C/RISC-V 汇编代码实现安全应用,涉及密码学算法。
**设计与建模**:3/5 — 涉及 FPGA 逻辑设计(Verilog)和 PCB 布局,但已有完整参考设计。
**实验与调试**:5/5 — 提供模拟器、调试接口和丰富的日志输出,非常适合反复实验与调试。
**协作与分享**:3/5 — 开源社区活跃,可通过 GitHub Issue/PR 协作,但硬件制造门槛较高。
**学习与研究**:5/5 — 极佳的学习平台,可深入理解 FPGA、RISC-V、安全启动、密码学等底层技术。
**系统集成**:3/5 — 可作为 USB 安全外设集成到其他系统,但需自行开发主机端驱动或应用。
项目图库
所需技能
基本的电子焊接与硬件调试能力
C 语言编程(RISC-V 交叉编译)
了解 FPGA 开发流程(Verilog / VHDL)
熟悉 Git 和命令行工具
对密码学(哈希、签名、密钥派生)有基本概念
能够阅读英文技术文档
适用场景
开发高安全性的双因素认证(2FA)或 FIDO2 密钥
构建硬件钱包(加密货币、数字资产签名)
研究安全启动、信任根(Root of Trust)实现
学习 FPGA 与 RISC-V 嵌入式系统设计
作为开源安全协处理器,为树莓派等单板计算机提供硬件安全模块
密码学教学与实验平台