blindnet-io / product-management

Repository dedicated for reporting bugs, ideas for improvements, and new features
6 stars 0 forks source link

Password assistant #30

Open milstan opened 3 years ago

milstan commented 3 years ago

Context (historical)

To access our system users are required to set a password. And passwords are a good thing, the use of which we like to promote over passworldess login. However, to have a strong-enough password, users are often required to include a certain complexity making the password more difficult to remember.

Why is this an issue

What should we do about it

High-level Password assistant specification Password assistant is a software component operating in the front end. It takes as an input a string (set of caracters currently typed by the user as password), and returns a set of results including:

The "Password Assistant by blindnet" can be exposed as an open soruce tool.

Goals

Subtasks

m4rk055 commented 3 years ago

https://github.com/tests-always-included/password-strength JS library for estimating pass strength. Contains all the features you listed. It uses two techniques: Trigraph entropy bits and Shanon entropy bits and warns about common passwords.

I also think we should use entropy bits rather than fixed set of rules to estimate a strength of a password (if there are no legal restrictions for fixed rules). A password with 100 lowercase characters is strong but doesn't pass our validation.

milstan commented 3 years ago

Great. Let's use it to give information to the user about the password strenght.

We might use the rules as hints, such that the user might increase entropy. If they are mandatory we can say so. I think showing the entropy score is still (regardless of madates) a good way to motivate the user to pick a better password and not resent the system for it.

If there are legal mandates, and the user manages to hit a high-entropy password that doeas not fit a legal mandate, we can tell the users how stupid their government is. I am joking, obviousely. The user is unlikely to spontaneousely come up with a password that has high entropy and does not statisfy the mandate.

@Vuk-BN can you please remind us of the document you once showed that specified password strenght mandates in the USA?

Vuk-BN commented 3 years ago

SOC2 compliance is a set of criteria to evaluate companies on their readiness to protect sensitive information. It is not a prescriptive document, rather a set of criteria a back-end system needs to fulfill.

Check this out >> https://secureframe.com/blog/soc-2-compliance-checklist

m4rk055 commented 3 years ago

Seems the password requirements are not explicitly mentioned in SOC 2. I only found the guidelines which are min 8 char, lower, upper, number and symbol.

Quote from this article: | Alternatively, passwords/phrases must have a strength (entropy) at least equivalent to the parameters specified above.

So we might add entropy requirement instead (e.g. pass needs to have over 32 bits of entropy).

image