Key Management Bugs (KMN) Class
Definition
We define Key Management Bugs (KMN) as:
The software does not properly generate, store, distribute, use, or destroy
cryptographic
keys and other keying material.
Type
Taxonomy
Fig. 1 depicts KMN causes, attributes and consequences.
Fig 1.
Key Management Bugs (KMN) Class
- click on image for detailed view.
Attributes
Cryptographic Data – Hashes, Keying Material, Digital Certificate.
Algorithm – Hash Function + RND, MAC, RSA, Digital Signature, etc.
Different cryptosystems have their own specific algorithm(s).
Operation – Generate/Select, Store, Distribute, Use, Destroy.
This is the failed operation. Store includes update and recover. Distribute includes
key establishment, transport, agreement, wrapping, encapsulation, derivation, confirmation,
shared secret creation; uses ENC and KMN (reclusively). KMN is a high level class,
so sites do not apply.
Causes
IEX of Key includes hardcoded key.
Sites
KMN is a high level class, so sites do not apply.
Related BF Classes
BF classes related to KMN are: ENC, RND, VRF, IEX.
Related CWEs and SFPs
CWEs related to KMN are CWE-321, CWE-322, CWE-323, CWE-324.
The related SFP clusters are: SFP 17.2 Weak Cryptography under Primary Cluster: Cryptography
and SFP 4.13 Digital Certificate under Primary Cluster: Authentication. Note that,
some of the CWEs listed in 17.2 are not KMN.
BF Descriptions of KMN Related CWEs are provided here.
Notes
Application
Application examples are provided here.
References
[1]
Bojanova, I., Black, P. E., Yesha, Y., Cryptography Classes in Bugs Framework (BF): Encryption Bugs (ENC), Verification
Bugs
(VRF), and Key Management Bugs (KMN). IEEE Software Technology Conference (STC 2017), NIST,
Gaithersburg, USA. September
25-28, 2017.