Intergated Keyboard Password Manager?

zool

10 Jul 2017, 15:56

I'm floating this idea out there for anyone else that wants to pick it up too, but it's just me playing with the tech to solve my own things. I welcome input and any cool ideas that you have.

Motivation:
So I find myself with a little bit of time to play, a bag full of spare change(budget) and a desire to design a new keyboard.

Achievable list:
- 1800 style compact layout.
- pencil/pen tray (always seem to have one between num row and F keys anyway time to give em a home).
- gpg password manager.

Maybe List:
-USB C.
-USB Hub.
-Lifepo battery for device charging port.

Why?
- I'm often moving about between systems, network is not always possible.
- Encryption is neat, but sometimes a pain to manage.

How?
So earlier this year I build a small keyboard to fit into the HMI of my CNC machine and as part of getting that to work I wrote my own firmware that has a nice feature: keystrokes can be sent via a UART(serial) and not the USB hid or both depending on the layout definition, which will come in handy for this build.
I'm using the UART as a private channel to type my master decryption pass phrases for my gpg keys. UART to what you might be asking, well the prototype I have atm is using a raspberry pi zero w, but I might change that to the the C.H.I.P pro or other small(and cheap) linux sbc.

So how does the password stuff work?
I currently use https://www.passwordstore.org/ for my passwords with the git back-end. (no problem with multiple different copies/ different key-chains etc) It works well for me, as it open src.
A key switches into password mode, a program that is listening on the UART on the pi wakes up and prompts for which password, select by typing the name(might do some fuzzy selection here) ,it then prompts for the gpg key pass phrase, if its right it decrypts the private key and then password.
*break*
so this is where I'm at. The next step is to send the password back to the keyboard over the uart into a buffer that when you exit password mode is made available on a key for 20 seconds before it is overwritten with zeros.
atm I'm just watching my debug output on a serial terminal, I need a good small screen to show me whats happening on the keyboard itself, a small 256x64 line OLED display would be nice, (kinda like the old asus gaming laptops had).
I'm also using the wireless on the pi to sync the git repos (on the pi) to another server. it would be nice to do this through the USB too. but I'm not sure that I need to do this often, maybe just sync when back home and only on request? with the rest of the time it can be off net.

I was originally thinking it might be nice to add an 80x16 character LCD that you use to get on some simple computers/word processors that was until I mocked it up with some plywood. A small 40x4 might fit into the same space as the pen tray and make a nice tiny on the go word process of old for those that get to "distracted" but still like a normal keyboard, but it does not suit me atm.

After I get the firmware/software bashed out a bit more and pick a screen I need design up the PCB and case.

I ordered some carbon caps which I think will work well.
here is the layout I thinking of, special keys are top right.
Attachments
keyboardwithscreen.png
keyboardwithscreen.png (50.91 KiB) Viewed 754 times

Post Reply

Return to “Workshop”