Arduino FIDO2授权码

2020-06-29 18:47:21

在发布URU关键项目之后,人们一直要求我将其开源。我试图以一种更具可读性的方式组织资料,但我仍然认为纯C和ESP IDF对于广大读者来说太难了。不幸的是,生物识别部分包含在保密协议中,不能发表。

几个月前,我已经敲定了URU的关键硬件设计,并开始为其建造住房。是的,它很小很轻,但是随身携带是个问题。这个装置太易碎,不能戴在钥匙环上,也有点厚,放不进口袋。这条项链不是我的风格。

然而,我的钱包总是随身携带。标准信用卡大小的PCB应该非常适合那里。电源成了问题,这是真的。但是,等等,现在很难找到带微型USB的充电器或电源库吗?

URU卡这个名字对这个项目很有意义,不是吗?

一方面,我不能将生物识别技术用于开源项目,另一方面,我不想完全省略身份验证,使设备变得不安全,需要某种形式的用户验证。简单的触摸键盘和OLED屏幕应该允许人们输入PIN码或密码。

键盘采用MPR121 I2C触摸式传感器控制器实现,屏幕采用SSD1306控制器的OLED显示屏。屏幕放置在PCB的特殊切口中,使器件厚度保持在2毫米以下。

幸运的是,Arduino框架已移植到ESP32平台。几乎每个用例都有数百个库,这一因素应该会极大地简化项目。已经有用于ATECC508A、MPR121和SSD1306的库。所有需要做的就是把所有的东西都连在一起。

然而,Arduino IDE很难适用于像这样复杂的项目。我将使用Visual Studio Code+PlatformIO进行开发,并建议其他人也这样做。

目前,已经实现了具有FIDO2端点的工作BLE服务器。该设备是“可见的”,并且计算机连接到该设备以便执行认证过程。但是,这些命令还没有实现-这将是下一步。

还有一个PCB设计,你可以试着制造这个设备,但风险自负--现在还处于非常早期的阶段。

最甜蜜的部分。这个项目对每个人都是免费的。最低要求只是一个如下所示的ESP32开发板。

安全元件、屏幕和键盘可以单独购买,并作为外部模块连接。

下面给出了指向GitHub存储库和其他有用资源的链接。以及考虑分享项目,并留下您的想法和建议的评论。