Aller au contenu principal

3.4. Arbre Merkle

3.4. Arbre Merkle

L'algorithme de hachage pour le hachage d'arbre Merkle est SHA-256.

Structure de l'entrée d'arbre Merkle :

    enum { timestamped_entry(0), (255) }
MerkleLeafType;

struct {
uint64 timestamp;
LogEntryType entry_type;
select(entry_type) {
case x509_entry: ASN.1Cert;
case precert_entry: PreCert;
} signed_entry;
CtExtensions extensions;
} TimestampedEntry;

struct {
Version version;
MerkleLeafType leaf_type;
select (leaf_type) {
case timestamped_entry: TimestampedEntry;
}
} MerkleTreeLeaf;

Ici, "version" est la version du protocole à laquelle le MerkleTreeLeaf correspond. Cette version est v1.

"leaf_type" est le type de l'entrée de feuille. Actuellement, seul "timestamped_entry" (correspondant à un SCT) est défini. Les futures révisions de cette version de protocole peuvent ajouter de nouveaux types MerkleLeafType. La Section 4 explique comment les clients doivent gérer les types de feuilles inconnus.

"timestamp" est l'horodatage du SCT correspondant émis pour ce certificat.

"signed_entry" est le "signed_entry" du SCT correspondant.

"extensions" sont les "extensions" du SCT correspondant.

Les feuilles de l'arbre Merkle sont les hachages de feuille des structures "MerkleTreeLeaf" correspondantes.