-
Notifications
You must be signed in to change notification settings - Fork 13
Description
Use case
As a user and application administrator,
I want to enable and manage multi-factor authentication (MFA) for my account,
So that I can add an extra layer of security to protect my account from unauthorized access.
Acceptance Criteria:
-
Enabling MFA via Authenticator Apps:
• AC1: Users can enable MFA from their account settings.
• AC2: The setup process includes generating a QR code that can be scanned using authenticator apps like Google Authenticator or Authy.
• AC3: Users must enter a valid Time-based One-Time Password (TOTP) code from their authenticator app to confirm and activate MFA.
• AC4: Upon successful setup, MFA is marked as enabled for the user’s account.
2. MFA During the Login Process:
• AC5: After entering valid login credentials, users with MFA enabled are prompted to enter a TOTP code.
• AC6: Access to the application is granted only after a valid TOTP code is provided.
• AC7: Users can opt to remember trusted devices, reducing the frequency of MFA prompts on those devices.
• AC8: The system handles scenarios where MFA is required but the user fails to provide a valid TOTP code within a specified number of attempts.
3. Backup Codes for MFA:
• AC9: Upon enabling MFA, users are provided with a set of one-time-use backup codes for account recovery.
• AC10: Backup codes can be regenerated by the user, which invalidates the previous set.
• AC11: Users are prompted to securely store backup codes and are notified about their one-time usability.
• AC12: Backup codes can be used as an alternative to TOTP codes during the login process if the authenticator app is unavailable.
4. MFA Management Interface:
• AC13: Users can view their current MFA status and associated authenticator apps in their account settings.
• AC14: Users can disable MFA, which requires re-authentication and confirmation to prevent accidental or unauthorized disabling.
• AC15: Users can regenerate backup codes from the management interface.
• AC16: The interface provides clear instructions and support for managing MFA settings.
5. Security and Compliance:
• AC17: MFA secrets and backup codes are securely stored using encryption and best security practices.
• AC18: The system enforces strong authentication flows to prevent vulnerabilities such as man-in-the-middle attacks.
• AC19: Compliance with relevant security standards and regulations (e.g., NIST guidelines) is ensured in the MFA implementation.
Proposal
This feature is crucial for enhancing authentication security and mitigating risks of unauthorized access. Implementing MFA aligns with modern security standards and best practices, ensuring compliance with regulations like NIST guidelines