CWE-1273

Device Unlock Credential Sharing
AI Translation Available

The credentials necessary for unlocking a device are shared across multiple parties and may expose sensitive information.

Status
incomplete
Abstraction
base
Compiled Verilog VHDL Other Not Technology-Specific

'Unlocking a device' often means activating certain unadvertised debug and manufacturer-specific capabilities of a device using sensitive credentials. Unlocking a device might be necessary for the purpose of troubleshooting device problems. For example, suppose a device contains the ability to dump the content of the full system memory by disabling the memory-protection mechanisms. Since this is a highly security-sensitive capability, this capability is 'locked' in the production part. Unless the device gets unlocked by supplying the proper credentials, the debug capabilities are not available. For cases where the chip designer, chip manufacturer (fabricator), and manufacturing and assembly testers are all employed by the same company, the risk of compromise of the credentials is greatly reduced. However, the risk is greater when the chip designer is employed by one company, the chip manufacturer is employed by another company (a foundry), and the assemblers and testers are employed by yet a third company. Since these different companies will need to perform various tests on the device to verify correct device function, they all need to share the unlock key. Unfortunately, the level of secrecy and policy might be quite different at each company, greatly increasing the risk of sensitive credentials being compromised.

Common Consequences

confidentiality integrity availability access control accountability authentication authorization non-repudiation
Impacts
modify memory read memory modify files or directories read files or directories modify application data execute unauthorized code or commands gain privileges or assume identity bypass protection mechanism

Potential Mitigations

Phases:
integration manufacturing
Descriptions:
• Ensure the unlock credentials are shared with the minimum number of parties and with utmost secrecy. To limit the risk associated with compromised credentials, where possible, the credentials should be part-specific.