Skip to content

rpki-client >= 9.6 CCR hashes #96

@job

Description

@job

Ola!

Rpki-client 9.6 has a new feature that seems useful for the kartograf project: CCR manifest state hash and CCR ROA payloads hash (displayed in the JSON output and as log message on the console at the end of the program's execution).

CCR stands for Canonical Cache Representation: https://datatracker.ietf.org/doc/html/draft-spaghetti-sidrops-rpki-ccr

The core idea is that by using a deterministic canonical way to represent the state of the validated cache, it is easier to compare the state of different validator instances with each other. (different validator runs across points in time or validators on different computers)

The two hashes that seem relevant for the project are the CCR manifest hash and ROA payload hash. The first one is the head of a merkle tree that represents the entire "physical" state of all the files in the validated cache directory. The second (ROA) hash is a hash over the deduplicated Prefix<>ASN tuples that are the payload of the ROAs.

If a RPKI CA resigns a CRL but doesn't change any ROAs, then the Manifest hash will change but not the ROA hash. If a RPKI CA adds or removes a prefix entry in a ROA then both hashes will change. These hashes should make it easier to recognize whether the "form" or the "substance" of the RPKI changed between 2 runs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions