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

Evaluate if the resulting signature can be derived from 4 byte data #9

Closed
petrdvorak opened this issue Nov 13, 2015 · 1 comment
Closed

Comments

@petrdvorak
Copy link
Member

As with the HOTP standard, we use decimalized signatures constructed from 4 bytes, as seen here:

https://dl.dropboxusercontent.com/u/6405782/powerauth/index.html#computing-the-signature

While the declared signature length is 10 digits, 4 bytes have a very low entropy on the first digit. Namely, 2^32 = 4 294 967 296, plus we strip the negative numbers thus gaining only half of this number. Therefore, the first character of the signature can be only 0, 1 or 2...

We need to evaluate if this is a big issue, since signatures are always connected with given transaction and random nonces.

Possible solutions:

  • allow use of non-decimalized long signature in HTTP request
  • allow extending the signature length by not stripping 4 bytes only
@petrdvorak
Copy link
Member Author

When working on issues #10 and #11, the issue seems to be resolved in following way:

  • Each factor used for the signature is now represented by 8 digit long signature component
  • Typical signature will use 2 components (2FA), gaining 16 digits length
  • Therefore, rounding error goes away while signature is actually longer with higher entropy

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

1 participant