待补充 tillitis/tillitis-key1

3/5 🧩 软硬件结合 已发布
tillitis 132 Stars 未知 BOM 完整度: 0/5 教程完整度: 0/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 嵌入式系统设计
作为开源安全协处理器,为树莓派等单板计算机提供硬件安全模块
密码学教学与实验平台