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

Consider switching to paragonie/constant_time_encoding #80

Closed
larowlan opened this issue Jul 16, 2017 · 3 comments
Closed

Consider switching to paragonie/constant_time_encoding #80

larowlan opened this issue Jul 16, 2017 · 3 comments
Assignees

Comments

@larowlan
Copy link

Q A
Bug report? no
Feature request? yes
BC Break report? no
RFC? / Specification no
Library version 8.3.x, 9.x

The base 32 encoding library used by this project doesn't claim to protect against timing attacks.

It uses substr and strlen, which as per http://blog.ircmaxell.com/2014/11/its-all-about-time.html are not timing safe.

https://github.com/paragonie/constant_time_encoding is designed to prevent timing attacks

If you're interested in this change, could poke at it some.

@Spomky
Copy link
Member

Spomky commented Jul 17, 2017

Hi @larowlan,

This is a very interesting report. I will change both v8 and v9 branches in favor of this dependency.
As it is easier to bruteforce a n digits code, I am not sure there is a potential security issue at the moment, but that is a risk that I do not want to take.

Thanks.

@Spomky Spomky self-assigned this Jul 17, 2017
@Spomky Spomky added the WIP label Jul 17, 2017
@larowlan
Copy link
Author

Thanks, let me know if you want help, happy to work on it if you're in support of the change

@Spomky
Copy link
Member

Spomky commented Jul 24, 2017

Done for both v8.3 and v9.0 branches.

Minimal versions to use are:

  • ^8.3.2
  • ^9.0.2

Thanks for the report.

@Spomky Spomky removed the WIP label Jul 25, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants