メインコンテンツまでスキップ

3.4. マークルツリー

3.4. マークルツリー

マークルツリーハッシュのハッシュアルゴリズムは SHA-256 です。

マークルツリー入力の構造:

    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;

ここで、「version」は MerkleTreeLeaf が対応するプロトコルのバージョンです。このバージョンは v1 です。

「leaf_type」はリーフ入力のタイプです。現在、(SCTに対応する)「timestamped_entry」のみが定義されています。このプロトコルバージョンの将来の改訂では、新しい MerkleLeafType タイプが追加される可能性があります。セクション4では、クライアントが未知のリーフタイプをどのように処理すべきかを説明します。

「timestamp」は、この証明書に対して発行された対応するSCTのタイムスタンプです。

「signed_entry」は、対応するSCTの「signed_entry」です。

「extensions」は、対応するSCTの「extensions」です。

マークルツリーのリーフは、対応する「MerkleTreeLeaf」構造のリーフハッシュです。