This is some pretty exciting stuff!
http://blog.bitpay.com/2014/07/01/bitauth-for-decentralized-authentication.html
And how it works:
More at the link.
http://blog.bitpay.com/2014/07/01/bitauth-for-decentralized-authentication.html
Quote
BitAuth is a way to do secure, passwordless authentication using the same elliptic-curve cryptography as Bitcoin. Instead of using a shared secret, the client signs each request using a private key and the server checks to make sure the signature is valid and matches the public key. A nonce is used to prevent replay attacks and provide sequence enforcement.
And how it works:
Quote
How BitAuth Works
The general flow of using BitAuth to authenticate a request is as follows.
- Key generation: generate a keypair using ECDSA, on the secp256k1 curve.
- SIN construction: with public key k1, concatenate the SIN version byte and hashed public key, then encode this in the base58check format.
- SIN sharing: register your SIN with the remote service using a mechanism of your choosing—generally, this takes place with client registration.
- Submitting Requests: requests are made over HTTP, with the x-signature header:
- generate a unique, higher-than-previous nonce
- include nonce in the body of your request
- concatenate and sign URI + BODY with your private key, and provide it in x-signature
The server will now verify the signature against the public key you’ve provided and the SIN you’ve shared previously, confirm that the signed nonce is greater than this SIN’s previous nonces (preventing replay attacks), and subsequently authenticate the request.
More at the link.








