Skip to main content
QMSQMS
QMS
  • Welcome to your QMS
  • Quality Manual
  • Procedures
  • Records
  • Legit.Health Plus Version 1.1.0.0
    • Index of Technical Documentation or Product File
    • Summary of Technical Documentation (STED)
    • Description and specifications
    • R-TF-001-007 Declaration of conformity
    • GSPR
    • Clinical
    • Cybersecurity
    • Design and development
    • Design History File
      • Requirements
      • Test plans
        • PLAN-001 Users submit their credentials to receive an access token
        • PLAN_002 Token expiration in user authentication process
        • PLAN_003 Account lockout for user authentication
        • PLAN_004 Enforcing HTTPS protocol for API communications
        • PLAN_005 Valid SSL/TLS certificates
        • PLAN_006 Rate limiting for anonymous users
        • PLAN_007 Rate limiting for authenticated users
        • PLAN_008 Logging and monitoring of rate limit violations
        • PLAN_009 Validation of request and response data against FHIR schemas
        • PLAN_010 Base64 encoded images are accepted
        • PLAN_011 Non-Base64 encoded images are rejected
        • PLAN_012 Diagnosis support endpoint accepts multiple images
        • PLAN_013 Improved accuracy with multiple images
        • PLAN_014: Password hashing during user registration
        • PLAN_015: Password hash comparison during login
        • PLAN_016: Registration of a new user by authorized individuals
        • PLAN_017 Specification of body zone for scoring systems requiring zone factor
        • PLAN_018 The device's API maintains an uptime of at least 99% over a one-month period
        • PLAN_019 API penetration testing with Intruder.io
      • Test runs
      • Review meetings
      • 🥣 SOUPs
      • REL-001 Version 1.1.0.0
    • IFU and label
    • Post-Market Surveillance
    • Quality control
    • Risk Management
    • Usability and Human Factors Engineering
  • Legit.Health Plus Version 1.1.0.1
  • Licenses and accreditations
  • Applicable Standards and Regulations
  • Public tenders
  • Legit.Health Plus Version 1.1.0.0
  • Design History File
  • Test plans
  • PLAN_015: Password hash comparison during login

PLAN_015: Password hash comparison during login

Description​

This test verifies that during the login process, the device properly hashes the password provided in the request to the login endpoint and compares it with the hash stored in the database for the specified user.

System requirements​

This test can be executed with standard hardware, and it is not necessary to use any specific software. Any commonly available system should be sufficient for the task.

Preconditions​

  • The entire system (including the reverse proxy, REST API, and all upstream services) is deployed, operational, and accessible online.
  • All communications with the REST API are conducted over HTTPS, either through a reverse proxy server or directly with the hosting server.
  • An entry with at least the following credentials for a test user must exist in the user database:
    • Email: testuser123@legit.health
    • Plaintext password: test@user+123

Input data​

Here's the JSON payload that should be included in the request body for this test:

{
"username": "testuser123@legit.health",
"password": "test@user+123"
}

Steps​

  1. Send a POST request to the /login endpoint with the JSON payload from test data.
  2. Intercept the login process to ensure that the password provided is hashed using the same hashing algorithm and salt stored in the database. To accomplish this, you can check the server logs or use debugging tools to capture the hashed password and compare it with the stored hashed password in the database.
  3. Observe the API response.

Expected outcome​

  • The login endpoint returns an access token if the username and password are correct. If the password is incorrect, the login process fails without exposing any sensitive information.
  • The password provided in the login request is hashed.
  • The hash generated from the password provided in the login request matches the stored hashed password.
  • The plaintext password is not stored, logged or transmitted at any point during the login process.

Verifies software requirements​

  • REQ_005

Risk control for​

    1. Data breach or unauthorized access

Signature meaning

The signatures for the approval process of this document can be found in the verified commits at the repository for the QMS. As a reference, the team members who are expected to participate in this document and their roles in the approval process, as defined in Annex I Responsibility Matrix of the GP-001, are:

  • Tester: JD-017, JD-009, JD-004
  • Approver: JD-005
Previous
PLAN_014: Password hashing during user registration
Next
PLAN_016: Registration of a new user by authorized individuals
  • Description
  • System requirements
  • Preconditions
  • Input data
  • Steps
  • Expected outcome
  • Verifies software requirements
  • Risk control for
All the information contained in this QMS is confidential. The recipient agrees not to transmit or reproduce the information, neither by himself nor by third parties, through whichever means, without obtaining the prior written permission of Legit.Health (AI LABS GROUP S.L.)