In the legal world, documents are often handwritten to ensure traceability to an author from handwriting analysis. But what if you could type a legal document, such as a statement or confession, and have that document contain attributes that are unique to you? Something like a signature - or better - a fingerprint.
Recently, one of our teammates was a witness in a criminal investigation. They had to hand write a lengthy statement of the events that took place during an interview with the suspect. After the suspect made a confession to the crime, they too had to hand write a lengthy statement. One of the major problems was that several times when the suspect made mistakes on the document and had to cross out and initial the change to the document to ensure no one else had modified the statement.
As one might be able to tell, there are many issues with this “legal handwriting system”. With technology today, handwritten notes have become cumbersome and outdated. Even more so today we have better ways to detect and authorize users based on unique biological or human factors. Once we had identified some of these factors, the idea of SecureKeys has emerged.
What It Does
SecureKeys is a biometric keyboard that detects user’s fingerprints for every single letter typed on the keyboard. When a different user begins to type on the keyboard, their new fingerprint data is identified and matched with all new input. This hopefully meets the value proposition required by our legal system by proving the identity of the person behind each keystroke in the document and ensures legitimacy based on the user’s fingerprints.
How We Built It
As a prototype, we have constructed a mini keyboard with 4 optical fingerprint scanners. The fingerprint scanners are wired to an Arduino Uno atop a prototyping board. Using one SparkFun endorsed library, Fingerprint_Scanner-TTL, we store each member’s fingerprints in multiple orientations. We then used the processing library to communicate with the Arduino's serial ports in order to output data to a file with information about each key that was typed along with the user’s biometric signature.
We matched each of the four keys to represent a letter - H A C K. As each letter is typed, the specific individual who did so is output to the serial monitor. If the user is not found, that is also recorded. Using additive manufacturing (3D printing), we constructed a case for all 4 keys atop perf board.
Challenges we ran into
Missing parts – Even though we brought as much hardware to the hackathon as we could think of, we were still missing a few male 4-pin JST connectors used by the sensors’ UART ports. Thankfully, the hardware booth had male-to-male connectors they allowed us to cannibalize. We cut one end off and extended them with a soldering iron and extra wire.
Electrostatic discharge – At one point we connected the fingerprint scanner to one of our teammate's computers and the laptop screen began flashing and our fingerprint scanners also stopped working. We spent several hours troubleshooting, to no avail. We switched from using a logic converter to resistors to regulate the voltage. As it turns out, a surge of current temporarily disabled the microprocessors within the fingerprint scanners, requiring us to ground them. We found this out after one was accidentally dragged across a breadboard and subsequently disabled.
Accomplishments That We're Proud Of
We did it!! – We constructed a mini biometric keyboard in 36 hours at our first hackathon with the pressures of school, work and being on very little sleep prior to and during this hackathon.
Creative Problem Solving – With all these issues, we had to creatively solve many problems.
We constructed our own QWIIC/JST cables using recycled wire and the connectors on provided wires to extend ours.
When our logic converter stopped working, we used resistors instead to regulate the voltage.
- Innovated – We wanted to create something that has the potential to solve real problems. In the process of coming up with this idea, we all took time to assess the world around us, look for problems and think of ways we can solve them. We believe we more came up with an original idea out of the circumstance of one of our team members and thinking of every angle we can tackle the problem they had to come up with a thorough solution.
What we learned
Do NOT Give Up – We came to the hackathon hoping to get a lot more accomplished (or at least quicker from the outset), but when we didn’t have some parts to finish our project we could have just put the project aside. Instead, we found ways to solve our hardware problems. Our passion for this project motivated us to keep moving forward - overcome and adapt became our new model.
Integrating homebrew hardware with open source software – We learned A LOT on working with different open source software programs and how to integrate them with hardware we were assembling by hand.
Troubleshooting with unfamiliar programs – we all went out of our comfort zone to work with unfamiliar IDEs, software, and languages like java.
What's next for Secure Keys
- 3 Factor Authentication
Fingerprint scanning (prototype complete) Authorize device using a 1-way hashing code General password set up
Patent – We do plan on patenting this item and are keeping legal records in the meantime.
Research typing stoke behavior and brainwave interaction
There is more to biometrics and fingerprint uniqueness. There are other unique factors about each person that can be integrated to authorized/detect a user. Microsoft patent keystroke behavior technology in 2007, however, brain waves are still being researched.