Git Product home page Git Product logo

keyboardwedge's Introduction

KeyboardWedge

Arduino sketch for an Adafruit Trinket M0 and an RC522 RFID reader

This Sketch allows you to "type" a password by reading a suitably formatted token on the reader.

This code has been released into the Public Domain by me

Most discussion about this code has been happening at the Dangerous Things Forum.

The License is the Unlicense, putting the code into the public domain. If you have a feature request or bug report then please open an issue.

If you have a code enhancement and are willing to put it into the Public Domain then please send me a pull request. If you wish your contributions to be acknowledged feel free to add your name or tag to the README as part of the pull request.

keyboardwedge's People

Contributors

zwack-am avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

keyboardwedge's Issues

Write a password to a chip

Is your feature request related to a problem? Please describe.
Writing a password to a chip currently requires a proxmark3 or similar. It would be good if there was a built-in mechanism to write a (or update the) password on a chip.

Describe the solution you'd like
Be prompted for a password, repeat the password have the password written to the chip

Describe alternatives you've considered
No alternatives are as straightforward as this

Additional context

Abstract RFID Card support

Is your feature request related to a problem? Please describe.
Not really, an abstract card object would hopefully make it easier to program against the reader

Describe the solution you'd like
The abstract reader should create a card object when it reads a card. The same object can then be manipulated by software (reading and writing)

Describe alternatives you've considered
We could program for specific card types but if we can generalise it would hopefully be easier to use.

Additional context
This should work with the abstract reader object.

PN532 reader support

Is your feature request related to a problem? Please describe.
Support the PN532 reader as well as the MFRC522 reader.

Describe the solution you'd like
This probably requires a reader abstraction layer.
It would also be good to be able to support I2C or UART for the reader to free up some I/O ports on the trinket (2 or 3 ports) for other uses (a standalone access controller for example)

Describe alternatives you've considered
None, the X Series support provided by the MFRC522 is poor.

Additional context
No mode changes are needed at this time, just addition of the PN532 reader

Obfuscate passwords

Is your feature request related to a problem? Please describe.
Currently passwords and UIDs are in clear text in the sketch and on the chip

Describe the solution you'd like
XOR the password with the UID of the chip and store that either as ZEKW/0 on the chip or as /0, where the CODE can be used to determine if the password is decoded correctly, on the trinket

Describe alternatives you've considered
More complex encryption mechanisms were discounted due to the fact that the code is in the public domain and they would not provide any extra functionality. Given that UIDs are a known fixed length (4 or 7 bytes) it will be possible to brute force these obfuscated passwords, and in the case of the ones stored on the chip itself the key is also stored on the chip, so it's not going to be anything more than mild obfuscation.

Additional context
None

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.