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

request for IP address & device fingerprint for session security #55

Open
4 tasks
kant01ne opened this issue Oct 7, 2020 · 2 comments
Open
4 tasks
Labels
discussions enhancement New feature or request

Comments

@kant01ne
Copy link
Contributor

kant01ne commented Oct 7, 2020

Summary

The idea is to detect IP address changes, combined with device fingerprint to detect session theft.

(Edited version based on feedbacks)

  • IP change detection: Revoke access token, this will force reuse the refresh token which can then be used to detect token theft. This will also prevent logouts due to false positives.

  • Device fingerprint change=> Revoke access token

Questions to solve:

  • What is considered as a reliable device fingerprint?
    • On web
    • On mobile
  • How do we compute/encode it?
    • This would be done from the Front end, so possible for an attacker to reverse engineer, but adds an additional layer of complexity to a session theft attack.
  • The above would only work if the access token has blacklisting turned on. How should we deal with the case when blacklisting is off?
@kant01ne kant01ne added enhancement New feature or request discussions labels Oct 7, 2020
@rishabhpoddar
Copy link
Contributor

If the IP has changed, even within the same city, we will only revoke the access token. This will force reuse the refresh token which can then be used to detect token theft. This will also prevent logouts due to false positives.

If the device fingerprint has changed, then we will revoke the entire session.


Discussion

  • The above would only work if the access token has blacklisting turned on. How should we deal with the case when blacklisting is off?

@kant01ne
Copy link
Contributor Author

kant01ne commented Oct 9, 2020

Blacklisting on:

  • IP change: Access Token revoked
  • Device Fingerprint change: Access Token revoked
    Forces to reuse the refresh token, which will detect token theft.

Blacklist off:

  • IP change:
    • New country: Revoke refresh token (email?)
    • New city: Email to let user decide if the refresh token should be revoked.
  • Device Fingerprint change: Revoke refresh token (email?)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussions enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants