First succesful test

A project log for ST-Link V2 clone Security Key

Cheap and DIY alternative to commercial security keys such as Yubikey using ST-Link V2 clone dongle

Matias N.Matias N. 04/19/2019 at 23:040 Comments

Last week I've been slowly advancing on the NuttX port. The main difficulty is mostly the reduced SRAM of the STM32F103 (20Kb). The solo firmware requires some considerable RAM, given that some data structures are a bit big, and there are large arrays of these. For testing, I started reducing all these to minimal working sizes. On the other hand, I disabled lots of stuff on the NuttX (no NuttX shell, for example) and played with the stack size. Using the Solo firmware test scripts, I was able to slowly tackle memory issues and pass more and more tests.

At the moment I'm not passing all tests, since they're a bit memory demanding. The main difficulty is that the CTAP protocol is supposed to handle multiple pending assertion requests, which can later be retrieved. Since I had to reduce memory, I'm not passing tests related to this functionality.

I later realized that with the achieved functionality, it should at least be sufficient to use one of the online WebAuthn tests. And, indeed, it is working!

I was able to register and login. It seems automagical since I just press login and that's that.  However, I know that there's lots of stuff working correctly for this to work.

I will add support for reading the push-button (for know, this is disabled and does not wait for confirmation) and the LED, to display the request and get user attention. I'm not sure if in the end it will be a reasonable hardware platform to use, but at least it may be enough for playing around.