IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立製作所の特許一覧

<>
  • 特開-認可システム及び認可方法 図1
  • 特開-認可システム及び認可方法 図2
  • 特開-認可システム及び認可方法 図3
  • 特開-認可システム及び認可方法 図4
  • 特開-認可システム及び認可方法 図5
  • 特開-認可システム及び認可方法 図6
  • 特開-認可システム及び認可方法 図7
  • 特開-認可システム及び認可方法 図8
  • 特開-認可システム及び認可方法 図9
  • 特開-認可システム及び認可方法 図10
  • 特開-認可システム及び認可方法 図11
  • 特開-認可システム及び認可方法 図12
  • 特開-認可システム及び認可方法 図13
  • 特開-認可システム及び認可方法 図14
  • 特開-認可システム及び認可方法 図15
  • 特開-認可システム及び認可方法 図16
  • 特開-認可システム及び認可方法 図17
  • 特開-認可システム及び認可方法 図18
  • 特開-認可システム及び認可方法 図19
  • 特開-認可システム及び認可方法 図20
  • 特開-認可システム及び認可方法 図21
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025091746
(43)【公開日】2025-06-19
(54)【発明の名称】認可システム及び認可方法
(51)【国際特許分類】
   G06F 21/64 20130101AFI20250612BHJP
   H04L 9/32 20060101ALI20250612BHJP
【FI】
G06F21/64
H04L9/32 200B
H04L9/32 200F
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2023207181
(22)【出願日】2023-12-07
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110002365
【氏名又は名称】弁理士法人サンネクスト国際特許事務所
(72)【発明者】
【氏名】池田 麻奈美
(72)【発明者】
【氏名】安細 康介
(72)【発明者】
【氏名】若林 正樹
(72)【発明者】
【氏名】片山 堅斗
(72)【発明者】
【氏名】鈴木 茜
(72)【発明者】
【氏名】藤城 孝宏
(72)【発明者】
【氏名】西川 享宏
(72)【発明者】
【氏名】小川 政美
(72)【発明者】
【氏名】高橋 莉佳
(57)【要約】
【課題】
無効な検証可能証明書を用いたなりすましを防止すること。
【解決手段】
構造分析部は、認可依頼装置から検証可能依頼要求を受け取ると、第2の検証可能証明書に含まれる前記委任者の属性情報が、前記第1の検証可能証明書に含まれる前記委任者の属性情報と不整合がなく辿れ、かつ、前記第3の検証可能証明書における前記受任者の属性情報が、前記第1の検証可能証明書における前記委任者、並びに、前記第2の検証可能証明書における前記委任者及び前記受任者の属性情報と不整合なく辿れる場合、前記第3の検証可能証明書を含む前記検証可能依頼要求が真正なものと判断する。
【選択図】 図6
【特許請求の範囲】
【請求項1】
委任者の属性情報を含む第1の検証可能証明書を発行するとともに、前記委任者として受任者に対する委任情報として前記委任者の属性情報を含む第2の検証可能証明書を発行する発行者装置と、
前記受任者が前記第2の検証可能証明書及び前記第1の検証可能証明書を受け取ると、前記受任者の属性情報を含む第3の検証可能証明書を前記第1の検証可能証明書及び前記第2の検証可能証明書に付加して構成した検証可能依頼要求を発行する認可依頼装置と、
前記認可依頼装置から受け取った前記検証可能依頼要求が真正なものであるか否かを認可する認可装置と、を備え、
前記認可装置は、
前記認可依頼装置から前記検証可能依頼要求を受け取ると、前記第2の検証可能証明書に含まれる前記委任者の属性情報が、前記第1の検証可能証明書に含まれる前記委任者の属性情報と不整合がなく辿れ、かつ、前記第3の検証可能証明書における前記受任者の属性情報が、前記第1の検証可能証明書における前記委任者、並びに、前記第2の検証可能証明書における前記委任者及び前記受任者の属性情報と不整合なく辿れる場合、前記第3の検証可能証明書を含む前記検証可能依頼要求が真正なものと判断する構造分析部を有する
ことを特徴とする認可システム。
【請求項2】
前記構造分析部は、
前記不整合なく辿れない場合、それ以降検証対象から除外する
ことを特徴とする請求項1に記載の認可システム。
【請求項3】
前記認可装置は、
複数の検証可能証明書の関係性を構造化したデータである構造化データの一部の検証可能証明書が失効していると判断した場合、前記構造化データから前記一部の検証可能証明書を削除した残りの構造化データを検証の対象とする検証可能証明書検証部を備える
ことを特徴する請求項1に記載の認可システム。
【請求項4】
前記認可装置は、
複数の検証可能証明書の関係性を構造化したデータである構造化データの一部の検証可能証明書が失効していると判断した場合、前記構造化データから前記一部の検証可能証明書を削除した残りの構造化データを検証の対象とする認可ポリシ検証部を備える
ことを特徴とする請求項1に記載の認可システム。
【請求項5】
所定のサービスの提供を認可すべきか否かに関する判断基準を示す認可ポリシを格納する認可ポリシ格納部を備え、
前記認可ポリシ検証部は、
複数の検証可能証明書の関係性を構造化したデータである構造化データが前記認可ポリシに反しない場合には前記サービスの提供を認可する一方、前記構造化データが前記認可ポリシに反する場合には前記サービスの提供を認可しない
ことを特徴とする請求項4に記載の認可システム。
【請求項6】
発行者のトラスト情報と、前記認可ポリシに記載されている前記発行者のトラストに関する条件、前記発行者の前記構造化データに含まれる前記発行者の情報から、前記認可ポリシを満たしているか検証を行うトラスト検証部を備える
ことを特徴とする請求項4に記載の認可システム。
【請求項7】
電子署名の認証に用いられる公開鍵が格納される公開鍵キャッシュ部を備える
ことを特徴とする請求項1に記載の認可システム。
【請求項8】
検証対象の失効情報が格納される失効情報キャッシュ部を備える
ことを特徴とする請求項1に記載の認可システム。
【請求項9】
前記第1~第3の検証可能証明書は、Verifiable Credentialであり、前記検証可能依頼要求は、Verifiable Presentationである
ことを特徴とする請求項1に記載の認可システム。
【請求項10】
前記委任者及び前記受任者とやり取りを行うインターフェースと、
少なくとも前記構造分析部、前記検証可能依頼要求検証部、前記検証可能証明書検証部及び前記認可ポリシ検証部を有する検証可能依頼要求認可サーバと、が別体である
ことを特徴とする請求項3及び請求項4に記載の認可システム。
【請求項11】
発行者装置が、委任者の属性情報を含む第1の検証可能証明書を発行する第1の発行ステップと、
前記発行者装置が、前記委任者として受任者に対する委任情報として前記委任者の属性情報を含む第2の検証可能証明書を発行する第2の発行ステップと、
認可依頼装置が、前記受任者が前記第2の検証可能証明書に及び前記第1の検証可能証明書を受け取ると、前記受任者の属性情報を含む第3の検証可能証明書を前記第1の検証可能証明書及び前記第2の検証可能証明書に付加して構成した検証可能依頼要求を発行する第2の発行ステップと、
認可装置の構造分析部が、前記認可依頼装置から前記検証可能依頼要求を受け取ると、前記第2の検証可能証明書に含まれる前記委任者の属性情報が、前記第1の検証可能証明書に含まれる前記委任者の属性情報と不整合がなく辿れ、かつ、前記第3の検証可能証明書における前記受任者の属性情報が、前記第1の検証可能証明書における前記委任者、並びに、前記第2の検証可能証明書における前記委任者及び前記受任者の属性情報と不整合なく辿れる場合、前記第3の検証可能証明書を含む前記検証可能依頼要求が真正なものと判断する検証可能依頼要求検証ステップと、
を有することを特徴とする認可方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、認可システム及び認可方法に関し、例えば、Verifiable Credentialsを活用する際におけるなりすましを防止する技術に関する認可システムに適用して好適なものである。
【背景技術】
【0002】
近年、プライバシ保護、可用性の観点から、検証可能証明書の一例としてVerifiable Credentialsを活用した認可システムが存在している。非特許文献1では、VC(Verifiable Credential)を用いた認可システムについて定義されており、当該認可システムの構成要素であるIssuer、Holder、Verifier及びVDR(Verifiable Data Registry)の基本機能が開示されている。VCには、Verifierに対して認可を要求するHolderの属性情報が記載されており、VerifierがHolderより複数VCからなるVP(Verifiable Presentation)を受け取ると、VPに含まれる各VCに記載されている属性情報を元に認可が行われる。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】https://www.w3.org/TR/VC-data-model-2.0/
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、悪意のあるHolderが第三者に対して発行されたVCをVPに含めてVerifierに認可を要求すると、第三者に対して発行されたVCは検証において無効であるにも関わらず、Verifierは無効であるVCを検知することができないという問題があった。
【0005】
本発明は以上の点を考慮してなされたもので、無効な検証可能証明書を用いたなりすましを防止することができる認可システム及び認可方法を提案しようとするものである。
【課題を解決するための手段】
【0006】
かかる課題を解決するため本発明においては、委任者の属性情報を含む第1の検証可能証明書を発行するとともに、前記委任者として受任者に対する委任情報として前記委任者の属性情報を含む第2の検証可能証明書を発行する発行者装置と、前記受任者が前記第2の検証可能証明書及び前記第1の検証可能証明書を受け取ると、前記受任者の属性情報を含む第3の検証可能証明書を前記第1の検証可能証明書及び前記第2の検証可能証明書に付加して構成した検証可能依頼要求を発行する認可依頼装置と、前記認可依頼装置から受け取った前記検証可能依頼要求が真正なものであるか否かを認可する認可装置と、を備え、前記認可装置は、前記認可依頼装置から前記検証可能依頼要求を受け取ると、前記第2の検証可能証明書に含まれる前記委任者の属性情報が、前記第1の検証可能証明書に含まれる前記委任者の属性情報と不整合がなく辿れ、かつ、前記第3の検証可能証明書における前記受任者の属性情報が、前記第1の検証可能証明書における前記委任者、並びに、前記第2の検証可能証明書における前記委任者及び前記受任者の属性情報と不整合なく辿れる場合、前記第3の検証可能証明書を含む前記検証可能依頼要求が真正なものと判断する構造分析部を有するようにした。
【0007】
また、本発明においては、発行者装置が、委任者の属性情報を含む第1の検証可能証明書を発行する第1の発行ステップと、前記発行者装置が、前記委任者として受任者に対する委任情報として前記委任者の属性情報を含む第2の検証可能証明書を発行する第2の発行ステップと、認可依頼装置が、前記受任者が前記第2の検証可能証明書に及び前記第1の検証可能証明書を受け取ると、前記受任者の属性情報を含む第3の検証可能証明書を前記第1の検証可能証明書及び前記第2の検証可能証明書に付加して構成した検証可能依頼要求を発行する第2の発行ステップと、認可装置の構造分析部が、前記認可依頼装置から前記検証可能依頼要求を受け取ると、前記第2の検証可能証明書に含まれる前記委任者の属性情報が、前記第1の検証可能証明書に含まれる前記委任者の属性情報と不整合がなく辿れ、かつ、前記第3の検証可能証明書における前記受任者の属性情報が、前記第1の検証可能証明書における前記委任者、並びに、前記第2の検証可能証明書における前記委任者及び前記受任者の属性情報と不整合なく辿れる場合、前記第3の検証可能証明書を含む前記検証可能依頼要求が真正なものと判断する検証可能依頼要求検証ステップと、を有するようにした。
【発明の効果】
【0008】
本発明によれば、無効な検証可能証明書を用いたなりすましを防止することができる。
【図面の簡単な説明】
【0009】
図1】第1の実施形態による認可システムの構成例を示すシステム構成図である。
図2図1に示すIssuerサーバのハードウェア構成の一例を示すブロック図である。
図3】VPの一例を示す図である。
図4図1に示すIssuerサーバのソフトウェア構成の一例を示すブロック図である。
図5図1に示すHolder端末のソフトウェア構成例を示すブロック図である。
図6図1に示すVerifierサーバのソフトウェア構成の一例を示すブロック図である。
図7】発行対象者ベースVP構造化データの一例を示す図である。
図8】IssuerベースVP構造化データの具体例を示す図である。
図9】VDRの構成例を示すブロック図である。
図10】VP認可処理の概要を示す図である。
図11】VP構造分析処理(初回)の手順の一例を示すフローチャートである。
図12】VP検証処理の手順の一例を示すシーケンスチャートである。
図13】発行対象者ベースVP構造化データを用いてなりすましを検出する一例を示す図である。
図14】なりすましを検出する具体例を示す図である。
図15】VC検証処理の手順の一例を示すシーケンスチャートである。
図16】VC検証処理の手順の一例を示すシーケンスチャートである。
図17】失効によりVCが無効となる場合の一例を示している図である。
図18】失効によりVCが無効となる場合の一例を示している図である。
図19】VP構造分析処理(2回目以降)の手順の一例を示すフローチャートである。
図20】認可ポリシ検証処理の手順の一例を示すシーケンスチャートである。
図21】第2の実施形態による認可システムの構成例を示すブロック図である。
【発明を実施するための形態】
【0010】
以下、図面に基づいて、本発明の一実施形態を詳述する。
(1)第1の実施形態
図1は、第1の実施形態による認可システム1000の構成例を示すシステム構成図である。認可システム1000は、その構成要素として、例えばIssuer、Holder、Verifier及びVerifierサーバ300、Verifiable data registry(以下「VDR」と省略する)を有する。認可システム1000は、例えばVC(Verifiable Credential)を用いて認可を行う。
【0011】
本実施形態において各用語は以下のように用いられる。「Issuer」は、要求元からの要求に応じてVCを発行する機能を有する。「Holder」は、発行されたVCを保有する機能を有する。「Verifier」は、発行されたVCの検証認可を行い、その検証認可の結果に応じて、所定のサービスの提供を認可すべきか否かを決定する機能を有する。「委任者」は、受任者に対して、所定の要求を委任する機能を有する。「受任者」は、委任者から、所定の要求を受任する機能を有する。「発行対象者」は、VCが発行される対象を示している。なお、本実施形態では、「Issuer」、「Holder」、「Verifier」、「委任者」、「受任者」及び「発行対象者」は、それぞれ、エンティティとも称し、例えば、端末、装置、システムのいずれかである。
【0012】
Issuerは、例えば、要求元である委任者からの要求に応じて当該委任者の属性情報を含めたVCを発行したり、要求元である受任者からの要求に応じて当該受任者の属性情報を含めたVCを発行する。Holderは、発行されたVCを保持する。HolderはVefifierに検証可能依頼要求をする際、保有する複数のVCをVP(Verifiable Presentation)としてVefifierに渡す。
【0013】
Vefifierは、受け取ったVP(Verifiable Presentation)を用いた検証可能依頼要求に応じて検証認可を行い、その検証認可結果に応じた認可を経て、所定のサービスを提供しうる。
【0014】
認可システム1000は、例えば、Issuerサーバ100、Holder端末200、VDR400及びネットワーク500を備えている。Issuerサーバ100、Holder端末200、Verifierサーバ300及びVDR400は、ネットワーク500を経由して互いに接続されており、データ等をやり取りすることができる。
【0015】
Issuerサーバ100は、Issuerとして機能し、要求元の属性情報を含めたVC(Verifiable Credential)を作成し、Holderに対して発行する少なくとも1台のコンピュータである。Issuerサーバ100の詳細については後述する。
【0016】
Holder端末200は、Holderとして機能し、Issuerサーバ100から受け取ったVCに、自らの属性情報を付加したVPを作成し、VerifierとしてのVerifierサーバ300に対して発行する端末装置である。Holder端末200の詳細については後述する。
【0017】
Verifierサーバ300は、verifierとして機能し、例えば、VPを用いた検証可能依頼要求に応じて検証認可を行い、その検証認可結果に応じた認可を経て、所定のサービスを提供しうる少なくとも1台のコンピュータである。Verifierサーバ300は、検証可能依頼要求に伴ってHolder端末200から受け取ったVPの内容に基づいて検証認可を行い、その検証認可結果に応じて、特定のサービスの提供が認可された場合に、検証可能依頼要求の要求元に特定のサービスを提供する。Verifierサーバ300の詳細については後述する。
【0018】
図2は、図1に示すIssuerサーバ100のハードウェア構成の一例を示すブロック図である。なお、Holder端末200、Verifierサーバ300及びVDR400は、一部の構成及び処理速度が異なる点を除き、Issuerサーバ100とほぼ同様の構成であるため、説明を省略する。
【0019】
Issuerサーバ100は、少なくとも1台のコンピュータであり、プロセッサ1、主記憶装置2、補助記憶装置3、入力装置4、出力装置5及び通信I/F6を備えている。プロセッサ1は、いわゆるCPU(Central Processing Unit)であり、例えばプログラムを実行する。主記憶装置2は、例えば、プロセッサ1が実行するプログラムやデータを格納可能な記憶領域を有するメモリである。補助記憶装置3は、いわゆるキャッシュであり、主記憶装置2に格納されるプログラムやデータが一時的に格納される記憶領域を有する。入力装置4は、外部から操作を受け付けるマウスやキーボードである。出力装置5は、いわゆるディスプレイである。通信I/F6は、ネットワーク500を経由して、外部との間でデータ等の受け渡しを行う。
【0020】
図3は、VPの一例を示す図である。本実施形態においてVPは、例えばn個のVC(VC~VC)、IDHolder、電子署名Holderを含んでいる。IDHolderは、当該VPを作成、保有する所有者(Holder)のID(IDentifier)を示している。電子署名Holderは、当該VPのHolderの電子署名を示している。当該電子署名は、例えば公開鍵を用いた電子署名であり、この電子署名によりVPの改ざんを防止する。
【0021】
VC~VCは、それぞれ、ID発行対象者、IDIssuer、2つの属性情報、有効期間、ID及び電子署名を有する。VCに含まれる属性の数は2つに限定したものではなく、いくつ含まれていてもよい。
【0022】
ID発行対象者は、当該VCを発行した発行対象者を示しており、例えばID発行対象者aは発行対象者が「発行対象者a」であることを示している。
【0023】
IDIssuerは、IssuerのIDを示しており、例えばIDIssuerAは、Issuerが「IssuerA」であることを示している。
【0024】
2つの属性情報は、それぞれ、VCの発行対象者であるエンティティの属性情報を示している。有効期間は、当該VCの有効期間を示している。本実施形態において有効期間を経過したVCは、例えば無効なものとして取り扱われる。IDは、当該VCの識別子を示しており、例えばIDVC1は、当該VCの識別子を示している。電子署名は、当該VCに付される電子署名を示しており、例えば電子署名IssuerAは、IssuerAの電子署名であることを示している。当該電子署名は、例えば公開鍵暗号方式を用いた電子署名であり、この電子署名によりVCの改ざんの有無を判断することができる。
【0025】
図4は、図1に示すIssuerサーバ300のソフトウェア構成の一例を示すブロック図である。Issuerサーバ300は、VC発行受付部101、VC発行部102、VC失効情報登録部103及び公開鍵登録部104を備える。
【0026】
VC発行受付部101は、要求元からの要求に応じてVCの発行を受け付ける。ここでいう、要求元は、委任者及び受任者の少なくとも一方である。当該要求には、要求元の属性情報が含まれている場合もあれば含まれていない場合もある。
【0027】
VC発行部102は、要求元の属性情報を含むVCを発行する。このとき、VC発行の要求の際に含まれている属性情報をVCに含めてもよいし、Issuerが管理している依頼元の属性情報をVCに含めてもよい。VC失効情報登録部103は、無効なVCについて失効情報をVDR400に登録する。公開鍵登録部104は、電子署名を作成する際に用いる秘密鍵に対応する公開鍵をVDR400に登録する。
【0028】
図5は、図1に示すHolder端末200のソフトウェア構成例を示すブロック図である。Holder端末200は、VC発行依頼部201、VC管理部202、VP作成部203、VP提示部204、VC管理ストア205及び、公開鍵に関する情報を登録可能な公開鍵情報登録部206を備えている。
【0029】
VC発行依頼部201は、要求元としてVCの発行依頼の要求をIssuerサーバ100に対して発行する。ここでいう要求元とは、委任者及び受任者の少なくとも一方である。当該要求には、要求元の属性情報を含む場合もあれば含まれていない場合もある。
【0030】
VC管理部202は、Issuerサーバ100によって発行されたVCを図示しない記憶領域に格納して管理する。
【0031】
VP作成部203は、少なくとも1つのVCを含めたVPを作成し、Verifierサーバ300に対して発行する。VP提示部204は、作成したVPをVerifierサーバ300に提示する。VC管理ストア205は、VCを格納して管理する。公開鍵情報登録部206は電子署名を作成する際の秘密鍵に対応する公開鍵をVDR400に登録する。
【0032】
図6は、図1に示すVerifierサーバ300のソフトウェア構成の一例を示すブロック図である。Verifierサーバ300は、インターフェース310、VP構造分析部320、VP検証部330、VC検証部340、認可ポリシ検証部350、VP構造データ格納部360、失効情報キャッシュ部370、公開鍵キャッシュ部380及び認可ポリシ格納部390を備えている。認可ポリシ格納部390には、所定のサービスの提供を認可すべきか否かに関する判断基準を示す認可ポリシを格納しており、例えば、Issuerのトラストに関する条件、及び、属性情報(例えば条件含む)に関する条件が記載された認可ポリシを格納している。
【0033】
インターフェース310は、VP受付部311及び認可判断結果返却部312を有する。VP受付部311は、VPを受け付ける。認可判断結果返却部312は、Verifierサーバ300による認可検証結果に基づく認可判断結果を要求元に返却する。
【0034】
VP構造分析部320は、Issuerベース構造分析部321、発行対象者ベース構造分析部322及び失効VC分析部323を備えている。
【0035】
Issuerベース構造分析部321は、VPに対して、Issuerベースでの構造分析を行い、IssuerベースVP構造化データを生成する。発行対象者ベース構造分析部322は、VPに対して、発行対象者ベースでの構造分析を行い、発行対象者ベースVP構造化データを生成する。本実施形態において構造化データとは、Issuer、Holder、委任者、受任者等の複数のVCの関係性を構造化したデータである。
【0036】
失効VC分析部323は、IssuerベースVP構造化データ、発行対象者ベースVP構造化データ、失効情報キャッシュ部370の無効なVCに関する情報から有効なVCを判別し、Issuerベース有効VP構造化データ及び発行対象者ベース有効VP構造化データを作成する。このとき、失効VC分析部323は、なりすましの検出も行い、なりすましを検出した場合は、無効となるVCを各有効VP構造化データから削除する。各有効VP構造化データは、VP構造データ格納部360に格納される。
【0037】
VP検証部330は、検証可能依頼要求検証部の一例であり、Holder失効情報取得部331、Holder有効性検証部332、Holder公開鍵取得部333及びHolder署名検証部334を備えている。
【0038】
Holder失効情報取得部331は、VPに記載されているIDHolderを用いて失効情報キャッシュ部370にHolderの失効情報が格納されているか検索する。ここで、失効情報キャッシュ部370には、Holderが失効している場合、Holderの失効情報が格納されている場合がある。Holder失効情報取得部331は、失効情報キャッシュ部370にHolderの失効情報が格納されている場合、当該Holderの失効情報を取得する。一方、Holder失効情報取得部331は、Holderの失効情報が格納されていない場合、IDHolderを用いてVDR400にHolderの失効情報を要求し、VDR400に、該当する失効情報が格納されているときには、VDR400から当該Holderの失効情報を取得する。Holder失効情報取得部331は、この失効情報を失効情報キャッシュ部370に格納する。
【0039】
Holder有効性検証部332は、Holderの失効情報から当該Holderの失効の有無を判断する。
【0040】
Holder公開鍵取得部333は、VCに記載されているIDHolderを用いて公開鍵キャッシュ部380にHolderの公開鍵が格納されているか検索する。ここで、公開鍵キャッシュ部380には、Holderの公開鍵が格納されている場合がある。Holder有効性検証部332は、公開鍵キャッシュ部380にHolderの公開鍵が格納されている場合には当該公開鍵を取得する。一方、Holder有効性検証部332は、Holderの公開鍵が格納されていない場合にはIDHolderを用いてVDR400にHolderの公開鍵を要求し、VDR400に該当する公開鍵が格納されている場合にはVDR400からHolderの公開鍵を取得する。また、Holder有効性検証部332は、この公開鍵を公開鍵キャッシュ部380に格納する。
【0041】
Holder署名検証部334は、VPのハッシュ値、Holderによる電子署名及びHolderの公開鍵を用いて、Holderの電子署名について検証を行う。これにより、VPの改ざんの有無を判断することができる。
【0042】
VC検証部340は、発行対象者失効情報取得部341、発行対象者有効性検証部342、Issuer失効情報取得部343、Issuer有効性検証部344、VC失効情報取得部345、VC有効性検証部346、Issuer公開鍵取得部347及びIssuer署名検証部348を備えている。
【0043】
発行対象者失効情報取得部341は、Issuerベース有効VP構造化データに含まれる各VCに記載されているID発行対象者を用いて失効情報キャッシュ部370に各発行対象者の失効情報が格納されているか検索する。このとき、発行対象者ベース有効VP構造化データに含まれる各VCでもよい。発行対象者失効情報取得部341は、各発行対象者の失効情報が格納されている場合には失効情報を取得する。一方、発行対象者失効情報取得部341は、格納されていない場合にはID発行対象者を用いてVDR400に発行対象者の失効情報を要求し、VDR400に、該当する失効情報が格納されているときにはVDR400から発行対象者の失効情報を取得する。また、発行対象者失効情報取得部341は、この失効情報を失効情報キャッシュ部370に格納する。また、この失効情報を失効VC分析部323に渡し、失効VC分析を行う。
【0044】
発行対象者有効性検証部342は、各Issuerの失効情報から各Issuerの失効有無を判断する。
【0045】
Issuer失効情報取得部343は、Issuerベース有効VP構造化データに含まれる各VCのIssuerに対し、IDIssuerを用いて失効情報キャッシュ部370に各Issuerの失効情報が格納されているか検索する。Issuer失効情報取得部343は、格納されている場合には失効情報を取得する。一方、Issuer失効情報取得部343は、格納されていない場合にはIDIssuerを用いてVDR400にIssuerの失効情報を要求し、VDR400に、該当する失効情報が格納されているときにはVDR400からIssuerの失効情報を取得する。また、Issuer失効情報取得部343は、この失効情報を失効情報キャッシュ部370に格納する。
【0046】
Issuer有効性検証部344は、各Issuerの失効情報から各Issuerの失効有無を判断する。VC失効情報取得部345は、発行対象者ベース有効VP構造化データ(Issuerベース有効VP構造化データでもよい)に含まれるVCに対し、各VCから、VDR400に各VCの失効情報を要求し、VDR400から各VCの失効情報を取得する。
【0047】
VC有効性検証部346は、発行対象者ベース有効VP構造化データ(Issuerベース有効VP構造化データでもよい)に含まれるVCに対し、各VCの失効情報から失効有無を判断する。Issuer公開鍵取得部347は、Issuerベース有効VP構造化データに含まれる各Issuerに対し、IDIssuerを用いて公開鍵キャッシュ部380にIssuerの公開鍵が格納されているか検索する。Issuer公開鍵取得部347は、格納されている場合には公開鍵を取得する。一方、Issuer公開鍵取得部347は、格納されていない場合にはIDIssuerを用いてVDR400にIssuerの公開鍵を要求し、VDR400に、該当する公開鍵が格納されているときには、VDR400からIssuerの公開鍵を取得する。また、Issuer公開鍵取得部347は、この公開鍵を公開鍵キャッシュ部380に格納する。また、この失効情報を失効VC分析部323に渡し、失効VC分析を行う。
【0048】
Issuer署名検証部348は、発行対象者ベース有効VP構造化データ(Issuerベースでもよい)に含まれる各VCに対し、VCのハッシュ値、Issuerによる電子署名、Issuerの公開鍵を用いてIssuerの電子署名の検証を行う。検証に失敗したVCがある際には該当VCは失効しているとし、この失効情報を失効VC分析部323に渡し、失効VC分析を行う。
【0049】
認可ポリシ検証部350は、認可ポリシ取得部351、属性情報検証部352及びIssuerトラスト検証部353を備えている。
【0050】
認可ポリシ取得部351は、認可ポリシ格納部390から認可ポリシを取得する。属性情報検証部352は、認可ポリシに記載の属性情報の条件及び発行対象者ベース有効VP構造化データ(Issuerベース有効VP構造化データでもよい)に含まれるVCに対し、各VCの属性情報から認可ポリシを満たしているか検証を行う。
【0051】
Issuerトラスト検証部353は、トラスト検証部の一例であり、VDR400から、後述するIssuerトラスト情報(発行者のトラスト情報)を取得し、このIssuerトラスト情報(発行者のトラスト情報)と、認可ポリシに記載されているIssuer(発行者)のトラストに関する条件、Issuerベース有効VP構造化データに含まれるIssuerの情報から、認可ポリシを満たしているか検証を行う。属性情報検証部352およびIssuerトラスト検証部353は、認可ポリシを満たしている場合には、所定のサービスを提供することを認可する一方、認可ポリシを満たしていない場合には、所定のサービスを提供することを認可しない。
【0052】
図7は、発行対象者ベースVP構造化データの一例を示す図である。図示の例では、発行対象者と関連するVCを構造化し、例えば木構造としている。
発行対象者ベースVP構造化データは、例えば、発行対象者aが、Holderである発行対象者bに対してIssuerとしてふるまい、検証可能証明書の一例としてのVCを発行している。発行対象者aは、例えばVC及びVCを有し、発行対象者bは、例えば、検証可能証明書の一例としてのVC、VC、VCを有する。
【0053】
本実施形態では、VP、VCの特徴を生かし、以下の処理を行うことにより発行対象者間の関係を抽出する。関係の抽出には、例えば各VCに含まれる各IDを用いる。
手順1. 各VCの情報からIssuerかつ発行対象者になっているエンティティ(図内の発行対象者a)を特定する。例として、VCは発行対象者aが発行したものである場合について説明する。
手順2. 手順1で特定したエンティティがIssuerとなっているVC(VC)に対して、発行対象者(発行対象者b)を特定する。
手順3.手順1,2より発行対象者間の関係性について、手順1,2で特定したエンティティ間で関係があるとする。また、委任者の方が受任者よりも上位の関係があるとする。この例においては、発行対象者aの方が発行対象者bよりも上位の関係にあると判断する。
手順4.Holderと同一の発行対象者を特定する。
【0054】
図8は、IssuerベースVP構造化データの具体例を示す図である。図示の例では、Issuerと関連するVCを構造化し、例えば木構造としている。
IssuerベースVP構造化データは、IssuerAが、例えばVC及びVCを有し、IssuerBが、例えばVC及びVCを有し、IssuerCが、例えばVCを有する。なお、図示の例の前提として、VCについてIssuerC=発行対象者aであるものとする。例えば、委任者は発行対象者aであり、受任者は発行対象者bである。
【0055】
図9は、VDR400の構成例を示すブロック図である。VDR400は、ID失効情報401、VC失効情報402、公開鍵403及びIssuerトラスト情報404を備えている。
【0056】
ID失効情報401は、例えばIssuerがIssuer1であれば(IDIssuer1,失効情報Issuer1)という形態で管理される。VC失効情報402は、例えばVCがVC1であれば(IDVC1,失効情報VC1)という形態で管理される。公開鍵403は、例えばIssuerがIssuer1であれば(IDIssuer1,pkIssuer1)という形態で管理される。なお、pkは公開鍵を示している。Issuerトラスト情報404は、Issuerに関する信頼性の程度を示す情報である。
【0057】
図10は、VP認可処理の概要を示す図である。VP検証部330は、VPを受け取ると、当該VPをVP構造分析部320に引き渡す。VP構造分析部320は、当該VPについて所定の構造分析を行って構造化データを作成する。ここでいう構造化データは、例えば、上述した発行対象者ベース有効VP構造化データ及びIssuerベース有効VC構造化データの少なくとも一方であり、本実施形態において両者を特段区別する必要がない場合、単に「構造化データ」と総称している。
【0058】
VC検証部340は、検証可能証明書検証部の一例であり、VP構造分析部320から受け取った構造化データの一部のVCが失効していると判断した場合、当該構造化データについての失効情報をVP構造分析部320に引き渡す。VP構造分析部320は、これに応じて、当該構造化データについて失効を登録し、当該構造化データから当該一部のVCを削除する。これにより、その後、VC検証部340は、当該構造化データから当該一部のVCを削除した残りの構造化データを検証の対象とする。このように失効した構造化データを削除することにより、その後当該一部のVCを参照する必要がなくなるため、処理コストを削減することができる。
【0059】
認可ポリシ検証部350は、VP構造分析部320から受け取った構造化データの一部のVCが失効していると判断した場合、当該構造化データについての失効情報をVP構造分析部320に引き渡す。VP構造分析部320は、これに応じて、当該構造化データについて当該一部のVCの失効を登録し、当該一部のVCを当該構造化データから削除する。これにより、その後、認可ポリシ検証部350は、当該一部のVCを検証する必要がなくなり、構造化データから当該一部の検証可能証明書を削除した残りの構造化データを検証の対象とすればよくなるため、処理コストを削減することができる。
【0060】
認可ポリシ検証部350は、VP構造分析部320から受け取った構造化データが失効していないと判断した場合、当該構造化データが認可ポリシに反するか否かを判断し、認可して良いかどうかに関する認可判断結果を出力する。認可ポリシ検証部350は、当該構造化データが認可ポリシに反しない場合には認可する一方、当該構造化データが認可ポリシに反する場合には認可しない。
【0061】
(VP構造分析処理(初回))
図11は、VP構造分析処理(初回)の手順の一例を示すフローチャートである。図11に示すVP構造分析処理は、VP構造分析部320によって初回に実行されるVP構造分析処理である。
【0062】
ステップS101では、発行対象者ベース構造分析部322が、VP受付部311からVPを取得し、発行対象者ベースVP構造化データを作成する。
【0063】
ステップS102では、発行対象者ベース構造分析部322が、VP受付部311からVPを取得し、IssuerベースVP構造化データを作成する。
【0064】
ステップS103では、失効VC分析部323が、発行対象者ベースVP構造化データの内、Holderから辿れない少なくとも1つの構造化データ(以下「構造化データ群」とも称する)の検出を行う。本実施形態において、「辿れる」とは、VCやVPに含まれる属性情報において、例えば委任者と受任者との関係性において不整合がなく、なりすましであるとは認められないことを意味している。
【0065】
ステップS104では、失効VC分析部323が、Holderから辿れない構造化データ群があるか否かを判断する。
【0066】
失効VC分析部323は、Holderから辿れない構造化データ群がない場合、ステップS105を実行する。ステップS105では、失効VC分析部323は、発行対象者ベースVP構造化データを発行対象者ベース有効VP構造化データとする。ステップS106では、失効VC分析部323が、IssuerベースVP構造化データをIssuerベース有効VP構造化データとする。
【0067】
一方、失効VC分析部323は、Holderから辿れない構造化データ群がある場合、ステップS107を実行する。ステップS107では、失効VC分析部323が、Holderから辿れない構造化データ群に含まれる発行対象者及びその発行対象者にぶら下がるVCを全て削除としたものを発行対象者ベース有効VP構造化データとする。このように、Holderから辿れないVCについてはなりすましによるVCであると検知することができる。なりすましに用いられているVCを検出して削除することにより、なりすましではない有効なVCのみ以降の検証に用いることができる。また、以降の検証において当該なりすましによる無効なVCを用いないようにすることで処理コストを低減することができる。
【0068】
次にステップS108では、失効VC分析部323が、当該削除されたVCを、IssuerベースVP構造化データから削除し、Issuerベース有効VP構造化データとする。
【0069】
さらにステップS109では、失効VC分析部323が、発行対象者ベース有効VP構造化データ、Issuerベース有効VP構造化データをVC検証部340に渡す。
【0070】
図12は、VP検証処理の手順の一例を示すシーケンスチャートである。当該VP検証処理は、VP検証部330によって実行される。ステップS201では、Holder失効情報取得部331が、IDHolderに基づいて失効情報キャッシュ部370を検索する。ステップS202では、当該IDHolderに該当する失効情報Holderがある場合、Holder失効情報取得部331が、失効情報キャッシュ部370から失効情報Holderを取得する。一方、当該IDHolderに該当する失効情報Holderがない場合、Holder失効情報取得部331は、ステップS203を実行する。
【0071】
ステップS203では、Holder失効情報取得部331が、IDHolderに基づいてVDR400を検索する。ステップS204では、当該IDHolderに該当する失効情報Holderがある場合、Holder失効情報取得部331が、VDR400から失効情報Holderを取得する。
【0072】
当該IDHolderに該当する失効情報Holderがあった場合、ステップS205では、Holder失効情報取得部331が、失効情報Holderを失効情報キャッシュ部370に格納する。一方、当該IDHolderに該当する失効情報Holderを取得できなかった場合、Holder失効情報取得部331は、失効情報キャッシュ部370にアクセスしない。
【0073】
次に、ステップS206では、Holder有効性検証部332が、Holderの有効性を検証する。
【0074】
ステップS207では、Holder公開鍵取得部333が、IDHolderに基づいて公開鍵キャッシュ部380を検索する。ステップS202では、当該IDHolderに該当する公開鍵Holderがある場合、Holder公開鍵取得部333が、公開鍵キャッシュ部380から公開鍵Holderを取得する。
【0075】
一方、当該IDHolderに該当する公開鍵Holderがない場合、ステップS209では、Holder公開鍵取得部333が、IDHolderに基づいてVDR400を検索する。ステップS210では、当該IDHolderに該当する公開鍵Holderがある場合、Holder公開鍵取得部333が、VDR400から公開鍵Holderを取得する。ステップS210では、Holder公開鍵取得部333が、公開鍵Holderを公開鍵キャッシュ部380に格納する。
【0076】
次に、ステップS212では、Holder署名検証部334が、VPに付与された署名を検証する。
【0077】
図13は、発行対象者ベースVP構造化データを用いてなりすましを検出する一例を示す図である。このなりすましの検出は、VP構造分析部320によって実行される。あるVPに関する図示の発行対象者ベースVP構造化データにおいて、左側の部分は、上述した図7に示す発行対象者ベースVP構造化データと同一であり、なりすましがないものと判断される。しかしながら、右側の部分は、発行対象者dにはVC及びVCがぶらさがっており、これらVC及びVCは、右側の発行対象者ベースVP構造化データのVCに含まれていないため、辿ることができないと判断され、なりすましがあるものと検出される。
【0078】
図14は、なりすましを検出する具体例を示す図である。まず、本実施形態による認可システム1000について説明する。
【0079】
委任者は、Issuerサーバ100に対して要求を発行してIssuerサーバ100から、委任者として自らの属性情報を含めたVC(以下「VC」とも称する)の発行を受け、当該VCのHolderになる。当該VCの発行を受けた委任者は、このようにVCのHolder(以下「Holder1」とも称する)に相当するとともに、Holder端末200に対応している。当該委任者は、例えば、所定のサービスの提供の要求(サービス提供要求)をVerifierサーバ300に対して行うことについて自らを委任者として受任者に対して委任する場合、次のように2種類のVCを委任者から受任者に渡す。
【0080】
すなわち、まず第1に、この委任者は、当該要求の委任者として自ら(委任者)の属性情報を含めたVC(以下「VC」とも称する)を受任者に対して渡す。第2に、この委任者は、上述したようにHolderであるが、当該受任者に対するIssuerとして、受任者に対して委任するために、委任者(Holder1)から受任者に対する委任情報として、当該委任者(Holder1)の属性情報を含めたVC(以下「VC」とも称する)を発行する。このとき、VCとVCをVPとしてまとめて渡してもよいし、それぞれ別々に渡してもよい。受任者は、発行されたVCを受け取ったことにより、当該VCのHolder(以下「Holder2」とも称する)となり、Holder端末200に対応している。すなわち、委任者は、当該VCのHolderである一方、受任者に対する当該VCのIssuerにもなりうる場合がある。
【0081】
さらに、当該受任者(Holder2)は、Issuerサーバ100に対して要求を発行してIssuerサーバ100から、受任者として自らの属性情報を含めたVC(以下「VC」とも称する)の発行を受け、当該VCのHolderともなる。この受任者は、受け取り済みのVC及びVCにVCを付加したVP(所定のサービスの提供を受けることを希望する検証可能依頼要求)を作成し、Verifierに対して発行する。
【0082】
Vefifierサーバ300は、受け取ったVPを用いた検証可能依頼要求に応じて検証認可を行い、その検証認可結果に応じた認可を経て、所定のサービスを提供しうる。Vefifierサーバ300は、当該VPの内容に基づいて、例えば、VCにおける委任者の属性情報からHolder1がHolder2との関係で委任者であり、かつ、VCにおける属性情報からHolder2がHolder1との関係で受任者であるか(「認可条件」とも称する)を判断し、当該認可条件を満たす場合には当該VPが真正なものであると判断する一方、当該認可条件を満たない場合には当該VPが真正なものでないと判断する。
【0083】
本実施形態による認可システム1000は、委任者の属性情報を含むVCを発行するとともに、委任者として受任者に対する委任情報として当該委任者の属性情報を含むVCを発行する発行者装置の一例としてのIssuerサーバ100と、受任者が上記VC及びVCを受け取ると、受任者の属性情報を含むVCをVC及びVCに付加して構成したVPを発行する認可依頼装置の一例としてのHolder端末200と、Holder端末200から受け取ったVPが真正なものであるか否かを認可する認可装置の一例としてのVerifierサーバ300と、を備える。このVerifierサーバ300は、以下のようなVP構造分析部320を備えている。すなわち、このVP構造分析部320は、Holder端末200からVPを受け取ると、VCに含まれる委任者の属性情報が、VCに含まれる委任者の属性情報と不整合がなく辿れ、かつ、VCにおける受任者の属性情報が、VCにおける委任者、並びに、VCにおける委任者及び受任者の属性情報と不整合なく辿れる場合、VCを含むVPが真正なものと判断する。
【0084】
本実施形態による認可方法は、Issuerサーバ100が、委任者の属性情報を含むVCを発行する第1の発行ステップと、Issuerサーバ100が、委任者として受任者に対する委任情報として委任者の属性情報を含むVCを発行する第2の発行ステップと、Holder端末200が、受任者がVC及びVCを受け取ると、受任者の属性情報を含むVCをVC及びVCに付加して構成したVPを発行する第2の発行ステップと、Verifierサーバ300のVP構造分析部320が、Holder端末200からVPを受け取ると、VCに含まれる委任者の属性情報が、VCに含まれる前記委任者の属性情報と不整合がなく辿れ、かつ、VCにおける受任者の属性情報が、VCにおける委任者、並びに、VCにおける委任者及び受任者の属性情報と不整合なく辿れる場合、VCを含むVPが真正なものと判断する検証可能依頼要求検証ステップと、を有する。
【0085】
本実施形態において、VP構造分析部320は、上述したように不整合なく辿れない場合、それ以降検証対象から除外する。
【0086】
図15及び図16は、VC検証処理の手順の一例を示すシーケンスチャートである。図16に示すシーケンスチャートは、図15に示すシーケンスチャートに連続している。当該VC検証処理は、Verifierサーバ300のVC検証部340によって実行される。
【0087】
図15に示すステップS301では、発行対象者失効情報取得部341が、ID発行対象者に基づいて失効情報キャッシュ部370を検索する。ステップS302では、当該ID発行対象者に該当する失効情報発行対象者がある場合、発行対象者失効情報取得部341が、失効情報キャッシュ部370から失効情報発行対象者を取得する。
【0088】
一方、当該ID発行対象者に該当する失効情報発行対象者がない場合、ステップS303では、発行対象者失効情報取得部341が、ID発行対象者に基づいてVDR400を検索する。ステップS304では、当該ID発行対象者に該当する失効情報発行対象者がある場合、発行対象者失効情報取得部341が、VDR400から失効情報発行対象者を取得する。
【0089】
当該ID発行対象者に該当する失効情報発行対象者があった場合、ステップS305では、発行対象者失効情報取得部341が、失効情報発行対象者を失効情報キャッシュ部370に格納する。一方、当該IDHolderに該当する失効情報Holderを取得できなかった場合、発行対象者失効情報取得部341は、失効情報キャッシュ部370にアクセスしない。
【0090】
ステップS306では、発行対象者有効性検証部342が発行対象者の有効性を検証する。次に、ステップS307では、失効VC分析部323がVCの有効性の検証を行う。ステップS308では、Issuer失効情報取得部343が、IDIssuerに基づいて失効情報キャッシュ部370を検索する。ステップS309では、当該IDIssuerに該当する失効情報Issuerがある場合、Issuer失効情報取得部343が、失効情報キャッシュ部370から失効情報Issuerを取得する。
【0091】
一方、当該IDIssuerに該当する失効情報Issuerがない場合、ステップS310では、Issuer失効情報取得部343が、IDIssuerに基づいてVDR400を検索する。ステップS311では、当該IDIssuerに該当する失効情報Issuerがある場合、Issuer失効情報取得部343が、VDR400から失効情報Issuerを取得する。当該IDIssuerに該当する失効情報Issuerがあった場合、ステップS312では、Issuer失効情報取得部343が、失効情報Issuerを失効情報キャッシュ部370に格納する。一方、当該IDIssuerに該当する失効情報Issuerを取得できなかった場合、Issuer失効情報取得部343は、失効情報キャッシュ部370にアクセスしない。
【0092】
ステップS313では、Issuer有効性検証部344がIssuerについて有効性を検証する。次に、ステップS314では、失効VC分析部323が、上述したステップS307と同様にVCの有効性の検証を行う。
【0093】
図16に示すステップS315では、VC失効情報取得部345が、IDVCに基づいて失効情報キャッシュ部370を検索する。ステップS316では、当該IDVCに該当する失効情報VCがある場合、VC失効情報取得部345が、失効情報キャッシュ部370から失効情報VCを取得する。一方、当該IDVCに該当する失効情報VCがない場合、VC失効情報取得部345は、ステップS317を実行する。
【0094】
ステップS317では、VC失効情報取得部345が、IDVCに基づいてVDR400を検索する。ステップS204では、当該IDVCに該当する失効情報VCがある場合、VC失効情報取得部345が、VDR400から失効情報VCを取得する。当該IDVCに該当する失効情報VCがある場合、ステップS205では、VC失効情報取得部345が、失効情報VCを失効情報キャッシュ部370に格納する。一方、当該IDVCに該当する失効情報VCを取得できなかった場合、VC失効情報取得部345は、失効情報キャッシュ部370にアクセスしない。
【0095】
ステップS320では、VC有効性検証部346がVCについて有効性を検証する。次に、ステップS321では、失効VC分析部323が、上述したステップS307と同様にVCの有効性の検証を行う。
【0096】
VCが有効性である場合、ステップS322では、Issuer公開鍵取得部347が、IDIssuerに基づいて公開鍵キャッシュ部380を検索する。ステップS323では、当該IDIssuerに該当する公開鍵Issuerがある場合、Issuer公開鍵取得部347が、公開鍵キャッシュ部380から公開鍵Issuerを取得する。
【0097】
ステップS324では、Issuer公開鍵取得部347が、IDIssuerに基づいてVDR400を検索する。ステップS325では、当該IDIssuerに該当する公開鍵Issuerがある場合、Issuer公開鍵取得部347が、VDR400から公開鍵Issuerを取得する。ステップS326では、Issuer公開鍵取得部347が、公開鍵Issuerを公開鍵キャッシュ部380に格納する。
【0098】
ステップS227では、Issuer署名検証部348が電子署名を検証する。次に、ステップS328では、失効VC分析部323が、上述したステップS307と同様にVCの有効性の検証を行う。
【0099】
図17及び図18は、失効によりVCが無効となる場合の一例を示している。図17は、発行対象者の失効によりVCが無効となる場合の一例であり、図18は、Issuerの失効によりVCが無効となる場合の一例を示している。
【0100】
図17に示す発行対象者ベースVP構造化データでは、発行対象者aが失効しており、発行対象者aにぶらさがるVC及びVCが無効となっている。したがって、これらVC及びVCが含められるVCは無効なものと取り扱われる。
【0101】
一方、図18に示すIssuerベースVP構造化データでは、IssuerAが失効しており、IssuerAにぶらさがるVC及びVCが無効となっている。したがって、IssuerA、VC及びVCは無効なものと取り扱われる。
【0102】
(VP構造分析処理(2回目以降))
図19は、VP構造分析処理(2回目以降)の手順の一例を示すフローチャートである。図19に示すVP構造分析処理は、VP構造分析部320によって2回目以降に実行されるVP構造分析処理である。すなわち、図19に示すVP構造分析処理は、図11に示す初回のVP構造分析処理が実行された後に実行される。
【0103】
ステップS121では、失効VC分析部323が、失効情報を受け取る。ステップS122では、失効VC分析部323が、発行対象者が失効しているか否かを判断する。
【0104】
失効VC分析部323は、発行対象者が失効していない場合にはステップS123を実行する。ステップS123では、失効VC分析部323が、失効しているか否かを判断する。失効VC分析部323は、Issuerが失効していない場合にはステップS124を実行する。ステップS124では、失効VC分析部323が、Issuerベース有効VP構造化データの内、失効したVC全てを削除としたものを新たなIssuerベース有効VP構造化データとする。なお、このようにステップS124が実行されるのは、VCが失効している場合であり、VCが失効しているのは、主として2つの場合である。まず、第1には、VC有効性検証において失効している場合であり、第2には、Issuerの署名検証で検証に失敗した場合である。次にステップS125では、失効VC分析部323が、発行対象者ベース有効VP構造化データの内、失効したVC全てを削除としたものを新たな発行対象者ベース有効VP構造化データとする。
【0105】
一方、失効VC分析部323は、Issuerが失効している場合にはステップS126を実行する。
【0106】
ステップS126では、失効VC分析部323が、Issuerベース有効VP構造化データの内、失効したIssuerおよびそのIssuerにぶら下がるVC全てを削除としたものを新たなIssuerベース有効VP構造化データとする。次にステップS127では、失効VC分析部323が、削除されたVCを、発行対象者ベース有効VP構造化データから削除し、新たな発行対象者ベース有効VP構造化データとする。
【0107】
一方、失効VC分析部323は、発行対象者が失効している場合にはステップS128を実行する。ステップS128では、失効VC分析部323が、発行対象者ベース有効VP構造化データの内、失効した発行対象者およびその発行対象者にぶら下がるVC全てを削除としたものを新たな発行対象者ベース有効VP構造化データとする。ステップS129では、失効VC分析部323が、削除されたVCを、Issuerベース有効VP構造化データから削除し、新たなIssuerベース有効VP構造化データとする。
【0108】
図20は、認可ポリシ検証処理の手順の一例を示すシーケンスチャートである。当該認可ポリシ検証処理は、認可ポリシ検証部350によって実行される。当該認可ポリシ検証処理は、Issuerベース有効VP構造化データに含まれる各VCもしくは発行対象者ベース有効VP構造化データに含まれるVCに基づき、サービスの提供を認可すべきか否かを判断する。
【0109】
まず、ステップS401では、認可ポリシ取得部351が、認可ポリシ要求を発行する。ステップS402では、その認可ポリシ要求に該当する認可ポリシがある場合、当該認可ポリシを取得する(ステップS402)。
【0110】
次に、ステップS403では、属性情報検証部352が、当該VPに含まれる属性情報を検証する。当該VPには、委任者(Holder1)の属性情報を含むVC、委任者から受任者(Holder2)への属性情報を含むVC、及び、受託者(Holder2)の属性情報を含むVCが含まれている。
【0111】
次に、ステップS403では、属性情報検証部352がこれらの属性情報の関係性が辿れるか検証する。
【0112】
ステップS404では、Issuerトラスト検証部353が、VDR400に対してIssuerのトラスト情報要求を発行する。ステップS405では、VDP400に、該当するトラスト情報がある場合、Issuerトラスト検証部353が、当該トラスト情報としてIssuerトラスト情報を取得する。
【0113】
本実施形態による認可システム1000は、委任者の属性情報を含む第1の検証可能証明書の一例としてのVCを発行するとともに、委任者として受任者に対する委任情報として委任者の属性情報(例えば委任者の署名やID_委任者を含む)を含む第2の検証可能証明書の一例としてのVCを発行する発行者装置の一例としてのIssuerサーバ100、受任者がVC及びVCを受け取ると、受任者の属性情報を含む第3の検証可能証明書の一例としてのVCをVC及びVCに付加して構成したVPを発行する認可依頼装置の一例としてのHolder端末200と、Holder端末200から受け取った前記VPが真正なものであるか否かを認可する認可装置の一例としてのVerifierサーバ300と、を備える。このVerifierサーバ300は、Holder端末200からVPを受け取ると、VCに含まれる委任者の属性情報が、VCに含まれる委任者の属性情報と不整合がなく辿れ、かつ、VCにおける受任者の属性情報が、VCにおける委任者、並びに、VCにおける委任者及び受任者の属性情報と不整合なく辿れる場合、VCを含むVPが真正なものと判断するVP構造分析部320を有する。
【0114】
本実施形態による認可方法は、Issuerサーバ100が、委任者の属性情報を含むVCを発行する第1の発行ステップと、Issuerサーバ100が、委任者として受任者に対する委任情報として委任者の属性情報を含むVCを発行する第2の発行ステップと、Holder端末200が、受任者がVC及びVCを受け取ると、受任者の属性情報を含むVCをVC及びVCに付加して構成したVPを発行する第2の発行ステップと、Verifierサーバ300のVP構造分析部320が、Holder端末200からVPを受け取ると、VCに含まれる委任者の属性情報が、VCに含まれる委任者の属性情報と不整合がなく辿れ、かつ、VCにおける受任者の属性情報が、VCにおける委任者、並びに、VCにおける委任者及び受任者の属性情報と不整合なく辿れる場合、VCを含むVPが真正なものと判断する検証可能依頼要求検証ステップと、を有する。このようにすると、例えば受任者による無効なVCを用いたなりすましを防止することができる。
【0115】
本実施形態において、VP構造分析部320は、上述したように不整合なく辿れない場合、それ以降検証プロセスの検証対象から除外する。このようにすると、VC検証部340が当該一部のVCについて検証する必要がなくなる分、処理コストを抑制することができる。
【0116】
本実施形態において、認可装置の一例としてのVerifier300は、複数のVCの関係性を構造化したデータである構造化データの一部のVCが失効していると判断した場合、構造化データから当該一部のVDを削除した残りの構造化データを検証の対象とするVC検証部340を備える。このようにすると、VC検証部340が当該一部のVCについて検証する必要がなくなる分、処理コストを抑制することができる。
【0117】
本実施形態において、Verifier300は、複数のVCの関係性を構造化したデータである構造化データの一部のVCが失効していると判断した場合、構造化データから一部の検証可能証明書を削除した残りの構造化データを検証の対象とする認可ポリシ検証部350を備える。このようにすると、認可ポリシ検証部350が当該一部のVCについて検証する必要がなくなる分、処理コストを抑制することができる。
【0118】
本実施形態による認可システム1000は、所定のサービスの提供を認可すべきか否かに関する判断基準を示す認可ポリシを格納する認可ポリシ格納部390(図6参照)を備え、認可ポリシ検証部350は、複数のVCの関係性を構造化したデータである構造化データが認可ポリシに反しない場合にはサービスの提供を認可する一方、当該構造化データが認可ポリシに反する場合にはサービスの提供を認可しない。このようにすると、認可ポリシ格納部390に適切な認可ポリシを設定しておけば、認可ポリシ検証部350が、サービスを提供すべき相手を的確に選択することができる。
【0119】
本実施形態による認可システム1000は、Issuerトラスト情報と、認可ポリシに記載されているIssuerトラストに関する条件、Issuerベース有効VP構造化データに含まれる発行者の情報から、認可ポリシを満たしているか検証を行うトラスト検証部を備える。
【0120】
本実施形態による認可システム1000は、電子署名の認証に用いられる公開鍵が格納される公開鍵キャッシュ部380を備える。このようにすると、電子署名の改ざんを発見することができる。
【0121】
本実施形態による認可システム1000は、検証対象(例えばVC、VC、VC、VP)の失効情報が格納される失効情報キャッシュ部370を備える。このようにすると、失効情報キャッシュ部370に失効情報が格納されているVC、VC、VC、VPのいずれかが検証対象となった場合に不正であることを把握することができる。
【0122】
本実施形態において、検証可能証明書は、一例としてVC(Verifiable Credential)であり、検証可能依頼要求は、一例としてVP(Verifiable Presentation)である。
【0123】
(2)第2の実施形態
第2の実施形態による認可システムは、第1の実施形態による認可システム1000とほぼ同様の構成及び動作であるため、以下、主として相違する点について説明する。図21は、第2の実施形態による認可システムの構成例示すブロック図である。なお、図21において図6の各構成に対応する詳細な構成は省略されている。
【0124】
第2の実施形態による認可システムでは、第1の実施形態による認可システム1000においてVerifierサーバ300上に全て搭載されていたVP構造分析部320、VP検証部330、VC検証部340、認可ポリシ検証部350、VP構造データ格納部360、失効情報キャッシュ部370、公開鍵キャッシュ部380及び認可ポリシ格納部390と、上述したVerifier397とが別体とされている。
【0125】
具体的には、第2の実施形態による認可システムでは、VP構造分析部320、VP検証部330、VC検証部340、認可ポリシ検証部350、VP構造データ格納部360、失効情報キャッシュ部370、公開鍵キャッシュ部380及び認可ポリシ格納部390がVP検証サーバ399上に搭載されており、VP検証サーバ399は、委任者及び受任者等(やIssuerサーバ100、Holder端末200及びVDR400等)とVCをやり取りするインターフェース398を有するVerifierとは別体となっている。
【0126】
VP検証サーバ399とVerifier397とは、図示しないネットワークによって接続されている。VP検証サーバ399は、Verifier397からVPを受け取ると、第1の実施形態と同様に、VP構造分析部320、VP検証部330、VC検証部340及び認可ポリシ検証部350が、VP構造データ格納部360、失効情報キャッシュ部370、公開鍵キャッシュ部380及び認可ポリシ格納部390を用いて認可を行い、その認可判断結果をVerifier397(のインターフェース398)に返答する。インターフェース398は、この返答内容を外部(受任者等)に返答する。
【0127】
本実施形態において、委任者及び受任者とやり取りを行うインターフェース398と、少なくとも、VP構造分析部320、VP検証部330、VC検証部340及び認可ポリシ検証部350を有する検証可能依頼要求認可サーバの一例としてのVP検証サーバ399と、が別体である。このようにVP検証サーバ399を用いると、各処理を分散することができる分、VP検証サーバ399の処理負担が抑制されるため、処理コストを低減することができるとともに、高速ながら高価なデバイスを用いる必要がなくなるため、システム全体として費用を抑制することができる。
【0128】
なお、本発明は前述した実施形態に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、本実施形態において並列的に記載された各要素は、各要素の少なくとも1つが他の要素に対して直列的に接続された態様であっても良い。
【産業上の利用可能性】
【0129】
本発明は、例えばVerifiable Credentialsを活用する際におけるなりすましを防止する技術に関する認可システムに適用することができる。
【符号の説明】
【0130】
100……Issuerサーバ、200……Holder端末、300……Verifierサーバ、320……VP構造分析部、330……VP検証部、340……VC検証部、350……許可ポリシ検証部、399……VP検証サーバ、1000……認可システム
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21