Skip to content

Commit 3c55d01

Browse files
authored
Fixes #136 Resort list (#140)
* Fixes #136 Resort list * Fixes #136 Add by * Fixes #136 linting
1 parent 9614a5d commit 3c55d01

File tree

1 file changed

+40
-41
lines changed

1 file changed

+40
-41
lines changed

docs/en/04-design/02-web-app-checklist/06-digital-identity.md

Lines changed: 40 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -9,53 +9,52 @@ and use the list below as suggestions for a checklist that has been tailored for
99
#### 1. Authentication
1010

1111
1. Design access control authentication thoroughly up-front
12-
2. Force all requests to go through access control checks unless public
13-
3. Do not hard code access controls that are role based
14-
4. Log all access control events
15-
5. Use [Multi-Factor Authentication][csmfa] (MFA) for sensitive or high value transactional accounts
16-
6. Authentication failure responses should not indicate which part of the authentication data was incorrect.
12+
2. Require authentication for all pages and resources, except those specifically intended to be public
13+
3. All authentication controls must be enforced on a trusted system
14+
4. All authentication controls should fail securely
15+
5. Establish and utilize standard, tested, authentication services whenever possible
16+
6. If using third party code for authentication inspect the code carefully
17+
to ensure it is not affected by any malicious code
18+
7. Use a centralized implementation for all authentication controls
19+
8. Segregate authentication logic from the resource being requested and
20+
use redirection to and from the centralized authentication control
21+
9. Administrative and account management must be at least as secure as the primary authentication mechanism
22+
10. Use [Multi-Factor Authentication][csmfa] (MFA) for sensitive or high value transactional accounts
23+
11. Re-authenticate users prior to performing critical operations
24+
12. Enforce account disabling after an established number of invalid login attempts
25+
13. Utilize authentication for connections to external systems that involve sensitive information or functions
26+
14. Authentication credentials for accessing services external to the application should be stored in a secure store
27+
15. Use only HTTP POST requests to transmit authentication credentials
28+
16. Force all requests to go through access control checks unless public
29+
17. Do not hard code access controls that are role based
30+
18. Log all access control events
31+
19. Validate the authentication data only on completion of all data input
32+
20. Authentication failure responses should not indicate which part of the authentication data was incorrect.
1733
E.g. Through giving different textual response or HTTP response codes
18-
7. Authentication failure responses should not give away the existent of user accounts allowing the response time to differ,
19-
depending on whether a username exist or not. Use a DB transaction that looks for a fake user profile in case the username
20-
doesn't exist
21-
8. Add a random tunable delay for authentication failures to defer brute force attacks and protect against timing attacks
34+
21. Authentication failure responses should not give away the existent of user accounts by allowing the response time to
35+
differ, depending on whether a username exist or not. Use a DB transaction that looks for a fake user profile in case the
36+
username doesn't exist
37+
22. Add a random tunable delay for authentication failures to defer brute force attacks and protect against timing attacks
2238

2339
#### 2. Passwords
2440

25-
1. Require authentication for all pages and resources, except those specifically intended to be public
26-
2. All authentication controls must be enforced on a trusted system
27-
3. Establish and utilize standard, tested, authentication services whenever possible
28-
4. Use a centralized implementation for all authentication controls
29-
5. Segregate authentication logic from the resource being requested and
30-
use redirection to and from the centralized authentication control
31-
6. All authentication controls should fail securely
32-
7. Administrative and account management must be at least as secure as the primary authentication mechanism
33-
8. If your application manages a credential store, use cryptographically strong one-way salted hashes
34-
9. Password hashing must be implemented on a trusted system
35-
10. Validate the authentication data only on completion of all data input
36-
11. Authentication failure responses should not indicate which part of the authentication data was incorrect
37-
12. Utilize authentication for connections to external systems that involve sensitive information or functions
38-
13. Authentication credentials for accessing services external to the application should be stored in a secure store
39-
14. Use only HTTP POST requests to transmit authentication credentials
40-
15. Always send non-temporary passwords over an encrypted connection or as encrypted data
41-
16. Enforce password complexity and length requirements established by policy or regulation
42-
17. Enforce account disabling after an established number of invalid login attempts
43-
18. Password reset and changing operations require the same level of controls as account creation and authentication
44-
19. Password reset questions are deprecated, see [Choosing and Using Security Questions Cheat Sheet][csquestions] as to why
45-
20. If using email based resets, only send email to a pre-registered address with a temporary link/password
46-
21. Temporary passwords and links should have a short expiration time
47-
22. Enforce the changing of temporary passwords on the next use
48-
23. Notify users when a password reset occurs
49-
24. Prevent password re-use
50-
25. The last use (successful or unsuccessful) of a user account should be reported to the user
41+
1. If your application manages a credential store, use cryptographically strong one-way salted hashes
42+
2. Password hashing must be implemented on a trusted system
43+
3. Always send non-temporary passwords over an encrypted connection or as encrypted data
44+
4. Enforce password complexity and length requirements established by policy or regulation
45+
5. Password reset and changing operations require the same level of controls as account creation and authentication
46+
6. Password reset questions are deprecated, see [Choosing and Using Security Questions Cheat Sheet][csquestions] as to why
47+
7. If using email based resets, only send email to a pre-registered address with a temporary link/password
48+
8. Temporary passwords and links should have a short expiration time
49+
9. Enforce the changing of temporary passwords on the next use
50+
10. Notify users when a password reset occurs
51+
11. Prevent password re-use
52+
12. The last use (successful or unsuccessful) of a user account should be reported to the user
5153
at their next successful login
52-
26. Change all vendor-supplied default passwords and user IDs or disable the associated accounts
53-
27. Re-authenticate users prior to performing critical operations
54-
28. If using third party code for authentication inspect the code carefully
55-
to ensure it is not affected by any malicious code
56-
29. Password entry should be masked (e.g., on web forms use the input type "password") on the user's screen unless
54+
13. Change all vendor-supplied default passwords and user IDs or disable the associated accounts
55+
14. Password entry should be masked (e.g., on web forms use the input type "password") on the user's screen unless
5756
temporarily made viewable by the user
58-
30. Ensure that no credentials are stored in clear text or are easily retrievable in encoded or encrypted forms in the
57+
15. Ensure that no credentials are stored in clear text or are easily retrievable in encoded or encrypted forms in the
5958
browser's storage mechanisms
6059

6160
#### 3. Cryptographic based authentication

0 commit comments

Comments
 (0)