Zum Hauptinhalt springen

3.4. Merkle Tree (Merkle-Baum)

3.4. Merkle Tree (Merkle-Baum)

Der Hash-Algorithmus für den Merkle Tree Hash ist SHA-256.

Struktur der Merkle-Tree-Eingabe:

    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;

Hier ist version die Protokollversion, der MerkleTreeLeaf entspricht. Diese Version ist v1.

leaf_type ist der Typ der Blatteingabe. Derzeit ist nur timestamped_entry (entsprechend einem SCT) definiert. Künftige Revisionen können neue MerkleLeafType-Typen hinzufügen. Abschnitt 4 erläutert den Umgang mit unbekannten Blatttypen.

timestamp ist der Zeitstempel des zugehörigen SCT für dieses Zertifikat.

signed_entry ist das signed_entry des zugehörigen SCT.

extensions sind die extensions des zugehörigen SCT.

Die Blätter des Merkle Tree sind die Leaf Hashes der entsprechenden MerkleTreeLeaf-Strukturen.