Skip to content

Potential non-compatible entropy-source behavior change between ROM 2.1.1 and 2.1.2 #3959

Description

@GwangbaeCHOI

Summary

ROM 2.1.2 introduces several entropy-source related changes:

  • Support for entropy_src single-bit mode
  • CONF.THRESHOLD_SCOPE = false
  • repcnts health test disabled
  • Updated adaptive proportion threshold handling for single-bit mode

Taken together, these changes appear to modify the operational entropy-source configuration and health-test behavior rather than only fixing implementation defects.

Concern

From an ESV/FIPS perspective, health-test configuration is part of the operational behavior of the entropy source.

As a result, ROM 2.1.2 appears to introduce a validation-relevant behavioral change relative to ROM 2.1.1 despite being released as a minor ROM update.

In particular:

  • Health-test scope changed
  • Repetition-count test configuration changed
  • Entropy-source operating mode became configurable
  • Adaptive proportion threshold derivation changed

THRESHOLD_SCOPE Change

The change of CONF.THRESHOLD_SCOPE is particularly notable because it modifies an already established health-test configuration rather than introducing an entirely new feature.

According to the associated discussion, the rationale for setting THRESHOLD_SCOPE to false is that health tests should be triggered on individual RNG lanes rather than on the aggregated multi-bit source.

However, this also changes the semantics of the health tests and therefore the operational entropy-source behavior. As a result, systems operating in the traditional multi-bit mode may no longer observe the same health-test behavior as previous ROM releases.

The concern is not the introduction of single-bit mode itself. The concern is that single-bit-mode related changes become part of the default health-test configuration even when operating in multi-bit mode. This makes it difficult to view ROM 2.1.1 and ROM 2.1.2 as behaviorally equivalent from an entropy validation perspective.

Proposed Compatibility Approach

Since ROM 2.1.2 already introduces a configurable single-bit mode, it may be beneficial to tie the health-test configuration to the selected entropy operating mode.

Single-bit mode

  • RNG_BIT_ENABLE = 1
  • THRESHOLD_SCOPE = false
  • Current ROM 2.1.2 behavior

Multi-bit mode

  • RNG_BIT_ENABLE = 0
  • Legacy health-test configuration
  • repcnts enabled
  • Previous THRESHOLD_SCOPE behavior

This would provide a compatibility path for deployments that were characterized or validated against the pre-2.1.2 entropy-source behavior while preserving the new single-bit mode support.

It would also make the behavioral change explicit and allow integrators to intentionally select either the legacy or updated entropy-source configuration.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions