Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

"The project MUST have performed a security review within the last 5 years. This review MUST consider the security requirements and security boundary." – Best Practices Badging Criteria


NOTE: THIS PAGE IS UNDER CONSTRUCTION BY SECCOM


Please fill in the survey questions for each of the following sections. In all cases, answer the questions from the point of view for YOUR application within ONAP.

...

Does your project actually meet its documented security requirements?

...

Cloak

The security mechanisms within the software produced by the project MUST generate all cryptographic keys and nonces using a cryptographically secure random number generator, and MUST NOT do so using generators that are cryptographically insecure.

A cryptographically secure random number generator may be a hardware random number generator (/dev/random), or it may be a cryptographically secure pseudo-random number generator (CSPRNG) using an algorithm such as Hash_DRBG, HMAC_DRBG, CTR_DRBG, Yarrow, or Fortuna. Examples of calls to secure random number generators include Java's java.security.SecureRandom and JavaScript's window.crypto.getRandomValues. Examples of calls to insecure random number generators include Java's java.util.Random and JavaScript's Math.random.


Your AnswerAnswers

Crypto Weaknesses

Does your software depend on any cryptographic algorithms or modes that have known serious weaknesses?

...

Does your software generate any keys? If so, do they use any default keylengths key-lengths that are considered insecure?

...

Cloak

The security mechanisms within the software produced by the project MUST use default keylengths key-lengths that at least meet the NIST minimum requirements through the year 2030 (as stated in 2012). It MUST be possible to configure the software so that smaller keylengths key-lengths are completely disabled.
These minimum bitlengths bit-lengths are: symmetric key 112, factoring modulus 2048, discrete logarithm key 224, discrete logarithmic group 2048, elliptic curve 224, and hash 224 (password hashing is not covered by this bitlengthbit-length, more information on password hashing can be found in the Crypto Password Storage question). See <www.keylength.com> for a comparison of keylength key-length recommendations from various organizations. The software MAY allow smaller keylengths key-lengths in some configurations (ideally it would not, since this allows downgrade attacks, but shorter keylengths key-lengths are sometimes necessary for interoperability).


Your AnswerAnswers

Crypto Algorithm Agility

Does your software use cryptographic algorithms? If so, can a user of ONAP switch the algorithm if one is foun dto found to be broken?

Toggle cloak

Cloak

The project SHOULD support multiple cryptographic algorithms, so users can quickly switch if one is broken. Common symmetric key algorithms include AES, Twofish, and Serpent. Common cryptographic hash algorithm alternatives include SHA-2 (including SHA-224, SHA-256, SHA-384 AND SHA-512) and SHA-3.

...

Cloak

The software produced by the project MUST, if it supports TLS, perform TLS certificate verification by default when using TLS, including on subresourcessub-resources.
Note that incorrect TLS certificate verification is a common mistake. For more information, see The Most Dangerous Code in the World: Validating SSL Certificates in Non-Browser Software by Martin Georgiev et al. and Do you trust this application? by Michael Catanzaro.

Note: One aspect of this is that, if something is missing that prevents the TLS from working, the software must NOT fall back to insecure mode but must instead prevent communication. If an insecure mode is allowed, it MUST be explicitly configured.


Your Answers

Crypto Credential Agility

Does your software save or process authentication credentials or private cryptographic keys? If so, is that information stored separately from othr other information?

Toggle cloak

Cloak

The project MUST support storing authentication credentials (such as passwords and dynamic tokens) and private cryptographic keys in files that are separate from other information (such as configuration files, databases, and logs), and permit users to update and replace them without code recompilation.


Your AnswerAnswers


Crypto TLS1.2

Does your software support HTTPS? If so, is the minimum version allowed TLS1.2?

...