Test 1-2
Test Case: BIS-2.7a.1
Test Name: TC_TEST_FIRMWARE_DIGITAL_SIGNATURE_PINNING_TLS
Objective:
To verify, through documentation, code walkthrough, and controlled simulations, that the device enforces digital signature validation mechanisms during server connections — specifically implementing:
Strong cipher suites
Secure TLS versions
SSL (certificate) pinning
Tools Used:
Source code access (for manual review)
Wireshark (for TLS handshake analysis)
Custom server with valid/invalid certificates (for pinning behavior testing)
Device documentation
Test Execution Steps:
Documentation Review: Obtain the documentation from the OEM detailing the scenarios where the DUT connects to external servers and the associated security configurations.
Security Feature Review: Analyze the declared use of:
Secure TLS version (e.g., TLS 1.2 / 1.3)
Strong cipher suites (e.g., AES-GCM, ECDHE)
Certificate/SSL pinning logic (SHA-256 hash of public key or certificate)
Code Walkthrough:
Review relevant source code that handles TLS connection initialization.
Identify use of certificate pinning libraries or in-house logic.
Confirm pinning is hardcoded or dynamically validated against a known public key.
Simulated Connection & Analysis:
Set up a test server with a valid pinned certificate and observe successful connection.
Replace with an untrusted/invalid certificate and confirm the connection is rejected.
Use Wireshark to inspect the TLS handshake for cipher suite negotiation and certificate validation.
Expected Results for Pass:
TLS Handshake Analysis: Shows use of strong cipher suites and modern TLS version.
Code Review: Confirms implementation of SSL pinning (e.g., certificate hash comparison).
Connection Behavior: DUT connects only when the certificate matches the pinned identity; rejects altered or untrusted certificates.
No fallback: The DUT does not ignore pinning failures or accept unverified certificates.
Test Observations:
(To be filled after live testing with OEM – e.g., details of successful and failed TLS connections, log excerpts, or anomalies.)
Evidence Provided:
Snippets from codebase showing pinning logic
Wireshark capture files of successful and failed TLS sessions
Screenshots or logs of connection attempt outcomes
Test Case Result:
(Pass / Fail – with brief justification.)
Test Case: BIS-2.7a.2
Test Name: TC_TEST_FIRMWARE_DIGITAL_SIGNATURE_PINNING_CERT
Objective:
To verify that the device enforces proper certificate validation, including:
Full certificate chain validation
Revocation status checks
Rejection of expired, revoked, or untrusted certificates
Tools Used:
Test server with custom TLS certificates (valid, expired, revoked, untrusted)
OpenSSL for certificate generation and simulation
Wireshark (to analyze TLS handshake)
CRL or OCSP responder (for revocation test)
Test Execution Steps:
Certificate Validation Process Review:
Review the device firmware and configuration to understand how it performs certificate validation.
Identify mechanisms in place for:
Validating the full certificate chain (leaf to root)
Checking certificate expiration
Performing revocation checks (OCSP or CRL)
Simulated Connection Tests: Establish TLS connections from the DUT to servers with:
✅ A valid and trusted certificate
❌ An expired certificate
❌ A revoked certificate
❌ A certificate from an untrusted CA
❌ A certificate with an incomplete or broken chain
Observation & Analysis:
Monitor device behavior and connection results for each test scenario.
Use Wireshark or logs to validate if the TLS handshake is completed or rejected.
Capture logs or output messages related to certificate validation.
Expected Results for Pass:
The DUT successfully connects only to the server with a valid certificate.
The DUT rejects connections with:
Expired certificates
Revoked certificates
Certificates issued by untrusted or unknown authorities
Broken or incomplete certificate chains
TLS session uses strong protocols (TLS 1.2/1.3) and ciphers.
Revocation checking is enforced, not bypassed.
Test Observations:
(To be filled post execution – e.g., “DUT failed to validate OCSP status”, or “revoked cert was correctly rejected”)
Evidence Provided:
Wireshark packet captures of all connection attempts
Server certificate configurations and screenshots
DUT logs showing acceptance/rejection reasons
Test Case Result:
(Pass / Fail – with rationale)
Overall Test Result:
(Pass / Fail based on both 2.7a.1 and 2.7a.2 outcomes)
Last updated
Was this helpful?