Two-factor authentication is intended to add an additional layer of security to traditional credential-based web logins. A handwritten signature can be a characteristic, identifying mark; it's difficult to replicate someone else's exact pattern of strokes, speed of handwriting, and variance in pressure applied by a pen or finger. With Sensel's high-precision and highly granular computer input device, SignAuth exploits the characteristic properties of a person's signature by innovately using it as an identifying mechanism for web-based two-factor authentication.

SignAuth adds this security by requiring a precise, physical signature from the user, in addition to a standard username and password. Its security depends on a configurable-threshold match of speed, path, and pressure, all of which is validated during the two-factor authentication process.

SignAuth is built on Flask. The backend endpoints query Sensel's Python API, which reads a continuous input pattern from the device. A custom-written error calculation algorithm--which takes into account the path of the stroke, the speed with which it was written, and the pressure applied at various points in the signature--determines whether the input stroke matches the user-defined signature.

Built With

Share this project: