信頼レジストリとは
Note: 信頼レジストリはエンタープライズプラン向け機能です。 利用をご検討の場合は営業窓口までお問い合わせください。
信頼レジストリ(Trust Registry)は、VCの発行者が「信頼できる組織として認定されているか」を管理する仕組みです。
VCはデジタル署名により改ざんを検知できますが、署名が正しいだけでは「この発行者を信頼してよいか」は判断できません。信頼レジストリは、どの組織がどのVCを発行する権限を持つかを管理し、VC検証時に発行者の信頼性を確認できるようにします。
歴史的背景
信頼レジストリはW3Cの仕様には含まれていません。W3C VC仕様はVCのデータフォーマットと署名検証を定義していますが、「誰が発行者として信頼できるか」という問題は扱っていませんでした。
この課題は、VCが実際のサービスで運用される中で顕在化しました。デジタル署名だけでは不十分であり、発行者の認定管理が必要だと認識されたのです。
主要なイニシアチブ
| プロジェクト | 概要 |
|---|---|
| EBSI(欧州ブロックチェーンサービス基盤) | EUが推進するブロックチェーン基盤。Trusted Issuers Registry(TIR)を実装し、教育資格や事業者認定などのVCエコシステムを構築 |
| ToIP(Trust over IP Foundation) | Linux Foundation傘下の団体。Trust Registry Protocol仕様を策定し、相互運用可能な信頼基盤の標準化を推進 |
VeriCerts Zeroは、これらの先行事例の技術を踏襲し、日本の制度や商慣習に適した信頼レジストリを実装しています。
なぜ信頼レジストリが必要か
VCの検証だけでは不十分
VCの署名検証は「改ざんされていないこと」を証明しますが、以下の問題は解決できません:
| 問題 | 説明 |
|---|---|
| 発行者の正当性 | 署名が正しくても、発行者が本当にその資格を認定できる組織か不明 |
| 認定範囲の確認 | その組織がどの種類のVCを発行できるか確認できない |
| 認定の有効期限 | 発行時点で認定が有効だったか確認できない |
信頼レジストリによる解決
信頼レジストリを使うことで、VC検証時に以下を自動的に確認できます:
- 発行者が信頼レジストリに登録されているか
- 発行者がそのVC種別を発行する認定を受けているか
- 認定が有効期限内か
- 信頼の階層構造(トラストチェーン)が有効か
トラストチェーン
信頼レジストリは階層構造を持ち、信頼の委譲を表現できます。
階層構造の例
厚生労働省(Root TAO)
│
└── 日本医師会(TAO)
│
└── ○○大学病院(Trust Entity / Issuer)
│
└── 医師免許証VCを発行この例では:
- 厚生労働省が最上位の信頼の起点(Root TAO)
- 日本医師会に医療関連の認定権限を委譲(TAO)
- ○○大学病院が日本医師会から医師免許証VCの発行を認定される
信頼の検証
VC検証時、トラストチェーン全体が有効であることを確認します:
- 発行者(○○大学病院)が認定済みか
- 認定元(日本医師会)がアクティブか
- 最上位(厚生労働省)までの階層がすべて有効か
一つでも無効なノードがあれば、信頼性は確認できません。
主要な概念
| 用語 | 説明 |
|---|---|
| Trust Registry | 信頼できる発行者を管理するレジストリ。独自のDIDを持つ |
| Root TAO | 信頼の起点となる最上位組織(例:政府機関) |
| TAO | Trusted Accreditation Organization。認定権限を持つ中間組織 |
| Trust Entity | レジストリに登録された組織。VCを発行する権限を持つ |
| Accreditation | 特定のVC種別を発行する認定。有効期限を持つ |
VCにおける信頼レジストリ情報
VCにはtermsOfUseプロパティに信頼レジストリ情報が含まれます:
{
"termsOfUse": [
{
"type": "TrustRegistryAssertion",
"trustRegistry": "https://trust.example.go.jp",
"trustRegistryDid": "did:web:trust.example.go.jp"
},
{
"type": "IssuanceCertificate",
"id": "https://trust.example.go.jp/accreditations/acc_12345"
}
]
}| 要素 | 説明 |
|---|---|
| TrustRegistryAssertion | 信頼レジストリのURLとDIDを指定 |
| IssuanceCertificate | 発行者の認定IDを指定 |
VC検証時の確認フロー
1. VCの署名を検証
└── 改ざんされていないことを確認
2. termsOfUseから信頼レジストリ情報を抽出
└── TrustRegistryAssertion、IssuanceCertificateを取得
3. 認定(Accreditation)の有効性を確認
└── ステータス、有効期限、対象VC種別をチェック
4. トラストチェーンを検証
└── Root TAOまでの階層がすべてアクティブか確認
5. 発行者DIDが認定済みか確認
└── authorizedDidsに含まれているか
6. 検証結果を返却
└── isTrusted: true / falseVeriCerts Zeroでの機能
VeriCerts Zeroでは、信頼レジストリを簡単に構築・運用できます。
主な機能
| 機能 | 説明 |
|---|---|
| レジストリ作成 | 信頼レジストリを作成し、DIDを発行 |
| 組織招待 | Trust Entityとして組織を招待・登録 |
| 認定管理 | 組織に対してVC種別ごとの認定を付与 |
| 階層構造 | 親レジストリとの関係を設定(TAO構造) |
| 自動検証 | VC検証時に信頼レジストリを自動確認 |
VC検証レスポンス例
VeriCerts ZeroでVCを検証すると、信頼レジストリ情報が含まれます:
{
"isValid": true,
"trustRegistry": {
"isTrusted": true,
"registry": {
"name": "厚生労働省",
"did": "did:web:mhlw.go.jp"
},
"accreditation": {
"status": "ACCREDITED",
"validUntil": "2025-12-31T23:59:59.000Z"
},
"trustChain": {
"taoName": "日本医師会",
"rootTaoName": "厚生労働省"
}
}
}