Umbra Wiki weakness weakness/CWE-1431
Back to wiki

CWE-1431 — Driving Intermediate Cryptographic State/Results to Hardware Module Outputs

provenance: imported · CWE: CWE-1431

CWE-1431: Driving Intermediate Cryptographic State/Results to Hardware Module Outputs

MITRE CWE weakness

Kind Weakness
Abstraction Base
Status Incomplete
Likelihood of exploit

Description

The product uses a hardware module implementing a cryptographic algorithm that writes sensitive information about the intermediate state or results of its cryptographic operations via one of its output wires (typically the output port containing the final result).

Common consequences

  • Confidentiality: Read Memory, Read Application Data

Mitigations

Architecture and Design — Designers/developers should add or modify existing control flow logic along any data flow paths that connect "sources" (signals with intermediate cryptographic state/results) with "sinks" (hardware module outputs and other signals outside of trusted cryptographic zone). The control flow logic should only allow cryptographic results to be driven to "sinks" when appropriate conditions are satisfied (typically when the final result for a cryptographic operation has been generated). When the appropriate conditions are not satisfied (i.e., before or during a cryptographic operation), the control flow logic should drive a safe default value to "sinks".

Implementation — Designers/developers should add or modify existing control flow logic along any data flow paths that connect "sources" (signals with intermediate cryptographic state/results) with "sinks" (hardware module outputs and other signals outside of trusted cryptographic zone). The control flow logic should only allow cryptographic results to be driven to "sinks" when appropriate conditions are satisfied (typically when the final result for a cryptographic operation has been generated). When the appropriate conditions are not satisfied (i.e., before or during a cryptographic operation), the control flow logic should drive a safe default value to "sinks".

References

  • CWE page: https://cwe.mitre.org/data/definitions/1431.html
  • CWE list: https://cwe.mitre.org/data/index.html