Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

local timezone based nonce for authentication SHA256 hash is insecure #4

Open
johannestaas opened this issue May 27, 2014 · 2 comments

Comments

@johannestaas
Copy link

A number of issues:

  1. still vulnerable to replay attack, just limited to current minute.
  2. won't work if triggered from devices out of sync
  3. won't work if triggered from remote device in different timezone
  4. allows an attack who can sniff traffic to be able to capture the hashed pass+time and crack it offline to reveal the password. Just takes longer, probably.

Any issue which will cause this to not work is a serious vulnerability, as someone could have an attacker actively breaking into the device, and this would offer no real protection. Someone intending to use this and finding it not work in the last minute has very dangerous consequences.

May be fixed with end-to-end encryption, but don't roll your own crypto.

@0xPoly 0xPoly added the bug label May 27, 2014
@0xPoly
Copy link
Owner

0xPoly commented May 27, 2014

I've updated the source code to use datetime.datetime.utcnow().isoformat()[:-10] instead. That solves issue 3.

@0xPoly
Copy link
Owner

0xPoly commented May 27, 2014

end-to-end crypto would be ideal, but I'm not sure about how it would be implemented considering the broadcasting nature of the panic signal. See issue #5. Anyways, not closing until we find a way to do end-to-end crypto.

@0xPoly 0xPoly added enhancement and removed bug labels May 28, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants