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

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

▶ 株式会社IDホールディングスの特許一覧

特開2024-49829認証システム、ユーザ端末、認証方法、および、プログラム
<>
  • 特開-認証システム、ユーザ端末、認証方法、および、プログラム 図1
  • 特開-認証システム、ユーザ端末、認証方法、および、プログラム 図2
  • 特開-認証システム、ユーザ端末、認証方法、および、プログラム 図3
  • 特開-認証システム、ユーザ端末、認証方法、および、プログラム 図4
  • 特開-認証システム、ユーザ端末、認証方法、および、プログラム 図5
  • 特開-認証システム、ユーザ端末、認証方法、および、プログラム 図6
  • 特開-認証システム、ユーザ端末、認証方法、および、プログラム 図7
  • 特開-認証システム、ユーザ端末、認証方法、および、プログラム 図8
  • 特開-認証システム、ユーザ端末、認証方法、および、プログラム 図9
  • 特開-認証システム、ユーザ端末、認証方法、および、プログラム 図10
  • 特開-認証システム、ユーザ端末、認証方法、および、プログラム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024049829
(43)【公開日】2024-04-10
(54)【発明の名称】認証システム、ユーザ端末、認証方法、および、プログラム
(51)【国際特許分類】
   G06F 21/33 20130101AFI20240403BHJP
【FI】
G06F21/33
【審査請求】有
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2022156298
(22)【出願日】2022-09-29
(11)【特許番号】
(45)【特許公報発行日】2024-02-28
(71)【出願人】
【識別番号】519355600
【氏名又は名称】株式会社IDホールディングス
(74)【代理人】
【識別番号】110000028
【氏名又は名称】弁理士法人明成国際特許事務所
(72)【発明者】
【氏名】牧野 剛明
(57)【要約】
【課題】セキュリティ上のリスクを低減しつつ、分散型ネットワーク同士を適切に連携させる。
【解決手段】認証システムにおいて、ユーザに関する第1情報にアクセス可能な複数の第1ノードによって共有される第1分散型台帳の第1ウォレットに、第1情報のURIと、ユーザに関する第2情報にアクセス可能な複数の第2ノードによって共有される第2分散型台帳の第2ウォレットを指定する第1指定情報とが格納され、第2ウォレットに、第2情報のURIと第1ウォレットを指定する第2指定情報とが格納される。第1指定情報と第2指定情報とは、非代替性を有するトークンとして格納される。第2ノードは、ユーザ端末からの要求に応じて、第2指定情報を用いて、第1ノードにユーザのための第2ノードの認証を要求し、第1ノードは、ユーザ端末の制御部からの要求に応じて、第1指定情報を用いて、第2ノードにユーザのための第1ノードの認証を要求する。
【選択図】図1
【特許請求の範囲】
【請求項1】
第1分散型台帳を共有し、ユーザに関する第1情報にアクセス可能な複数の第1ノードによって構成された第1分散型ネットワークと、
第2分散型台帳を共有し、前記ユーザに関する第2情報にアクセス可能な複数の第2ノードによって構成された第2分散型ネットワークと、
前記ユーザによって使用され、ユーザ端末制御部を有するユーザ端末と、を備え、
前記第1ノードは、第1制御部を有し、
前記第2ノードは、第2制御部を有し、
前記第1分散型台帳の第1ウォレットには、前記第1情報のURIと、前記第2分散型台帳の第2ウォレットを指定する第1指定情報と、が格納され、前記第1指定情報は、非代替性を有するトークンである第1非代替性トークンとして格納され、
前記第2分散型台帳の前記第2ウォレットには、前記第2情報のURIと、前記第1ウォレットを指定する第2指定情報と、が格納され、前記第2指定情報は、非代替性を有するトークンである第2非代替性トークンとして格納され、
前記第2制御部は、前記ユーザ端末制御部からの第1要求に応じて、前記第2指定情報を用いて前記第1ウォレットを指定することで、前記第1ノードに、前記第1非代替性トークンに基づいて前記ユーザのために前記第2ノードを認証する第1認証を要求し、
前記第1制御部は、前記ユーザ端末制御部からの第2要求に応じて、前記第1指定情報を用いて前記第2ウォレットを指定することで、前記第2ノードに、前記第2非代替性トークンに基づいて前記ユーザのために前記第1ノードを認証する第2認証を要求する、認証システム。
【請求項2】
請求項1に記載の認証システムであって、
前記第1分散型台帳および前記第2分散型台帳は、それぞれ、ブロックチェーンによって構成され、
前記第1ウォレットへの前記第1情報のURIの格納と、前記第1指定情報の格納とは、それぞれ、前記第1分散型台帳に追加されるブロックに格納されるトランザクションによって実現され、
前記第2ウォレットへの前記第2情報のURIの記録と、前記第2指定情報の記録とは、それぞれ、前記第2分散型台帳に追加されるブロックに格納されるトランザクションによって実現される、認証システム。
【請求項3】
請求項1に記載の認証システムであって、
前記第1指定情報は、前記第2分散型ネットワークを表す第1識別子と、前記第2分散型台帳において一意の第2識別子とを含み、前記第1識別子と前記第2識別子との組み合わせによって前記第2ウォレットを指定し、
前記第2指定情報は、前記第1分散型ネットワークを表す第3識別子と、前記第1分散型台帳において一意の第4識別子とを含み、前記第3識別子と前記第4識別子との組み合わせによって前記第1ウォレットを指定し、
前記第2制御部は、前記第1要求に応じて、前記第1ノードに前記第3識別子を送信することによって、前記第1ウォレットを指定し、
前記第1制御部は、前記第2要求に応じて、前記第2ノードに前記第2識別子を送信することによって、前記第2ウォレットを指定する、認証システム。
【請求項4】
請求項1に記載の認証システムであって、
前記第1ウォレットには、前記ユーザ端末の秘密鍵を用いて署名済みの第1認証コードである第1署名済みコードが、前記第1非代替性トークンとして格納され、
前記第2ウォレットには、前記秘密鍵を用いて署名済みの、前記第1認証コードと対応する第2認証コードである、第2署名済みコードが、前記第2非代替性トークンとして格納され、
前記第2制御部は、前記第1要求が実行された場合、前記第1ノードに前記第2署名済みコードを送信し、
前記第1制御部は、前記第1認証が要求された場合、前記第1署名済みコードと前記第2署名済みコードとが対応するか否かを判定し、前記第1署名済みコードと前記第2署名済みコードとが対応する場合、前記第2ノードを認証する、認証システム。
【請求項5】
請求項4に記載の認証システムであって、
前記第1非代替性トークンとして格納された前記第1署名済みコードには、有効期限が設定され、
前記第1制御部は、前記第1認証が要求された場合、前記有効期限が満了していない前記第1署名済みコードと前記第2署名済みコードとが対応するか否かを判定する、認証システム。
【請求項6】
請求項1に記載の認証システムであって、
前記第1制御部は、前記第2ノードを認証した場合、前記第2ノードに前記第1情報を提供し、前記第1分散型台帳に、前記第2ノードに前記第1情報を提供したこと表す情報を記録する、認証システム。
【請求項7】
請求項1に記載の認証システムであって、
前記第1情報は、前記第1分散型ネットワークからアクセス可能な第1データベースに格納され、
前記第2情報は、前記第2分散型ネットワークからアクセス可能な第2データベースに格納され、
前記第1制御部は、前記第2ノードを認証した場合、前記第2ノードに、前記第1データベースから取得した前記第1情報を提供し、
前記第2制御部は、前記第1ノードを認証した場合、前記第1ノードに、前記第2データベースから取得した前記第2情報を提供する、認証システム。
【請求項8】
請求項1から7のいずれか一項に記載の認証システムであって、
前記第2制御部は、前記第1要求が実行された場合、前記ユーザ端末による前記ユーザの第1ローカル認証と、前記第1ローカル認証の後に前記第2制御部によって実行される前記ユーザ端末の第1公開鍵認証と、が完了した後に、前記第1ノードに前記第1認証を要求し、
前記第1制御部は、前記第2要求が実行された場合、前記ユーザ端末による前記ユーザの第2ローカル認証と、前記第2ローカル認証の後に前記第1制御部によって実行される前記ユーザ端末の第2公開鍵認証と、が完了した後に、前記第2ノードに前記第2認証を要求する、認証システム。
【請求項9】
ユーザによって使用されるユーザ端末であって、
ユーザ端末制御部を備え、
前記ユーザ端末制御部は、
第1分散型台帳を共有する複数のノードによって構成された第1分散型ネットワークに属し、前記ユーザに関する第1情報にアクセス可能な第1ノードに対して、第2要求を実行することが可能に構成され、
第2分散型台帳を共有する複数のノードによって構成された第2分散型ネットワークに属し、前記ユーザに関する第2情報にアクセス可能な第2ノードに対して、第1要求を実行することが可能に構成され、
前記第1分散型台帳の第1ウォレットには、前記第1情報のURIと、前記第2分散型台帳の第2ウォレットを指定する第1指定情報と、が格納され、前記第1指定情報は、非代替性を有するトークンである第1非代替性トークンとして格納され、
前記第2分散型台帳の前記第2ウォレットには、前記第2情報のURIと、前記第1ウォレットを指定する第2指定情報と、が格納され、前記第2指定情報は、非代替性を有するトークンである第2非代替性トークンとして格納され、
前記第1要求が実行された場合、前記第2ノードの第2制御部は、前記第2指定情報を用いて前記第1ウォレットを指定することで、前記第1ノードに、前記第1非代替性トークンに基づいて前記ユーザのために前記第2ノードを認証する第1認証を要求し、
前記第2要求が実行された場合、前記第1ノードの第1制御部は、前記第1指定情報を用いて前記第2ウォレットを指定することで、前記第2ノードに、前記第2非代替性トークンに基づいて前記ユーザのために前記第1ノードを認証する第2認証を要求する、ユーザ端末。
【請求項10】
第1分散型ネットワークを構成する複数のノードによって共有された第1分散型台帳の第1ウォレットに、ユーザに関する第1情報のURIを格納する工程と、
前記第1ウォレットに、第2分散型ネットワークを構成する複数のノードによって共有された第2分散型台帳の第2ウォレットを指定する第1指定情報を、第1非代替性トークンとして格納する工程と、
前記第2ウォレットに、前記ユーザに関する第2情報のURIを格納する工程と、
前記第2ウォレットに、前記第1ウォレットを指定する第2指定情報を、第2非代替性トークンとして格納する工程と、
前記第2指定情報を用いて前記第1ウォレットを指定することで、前記第1分散型ネットワークに属し、前記第1情報にアクセス可能な第1ノードに対して、前記第1非代替性トークンに基づいて、前記ユーザのために、前記第2分散型ネットワークに属し前記第2情報にアクセス可能な第2ノードを認証することを要求する工程と、
前記第2ノードに対して、前記第1指定情報を用いて前記第2ウォレットを指定することで、前記第2非代替性トークンに基づいて前記ユーザのために前記第1ノードを認証することを要求する工程と、を備える、認証方法。
【請求項11】
ユーザによって使用されるユーザ端末を制御するコンピュータが実行するプログラムであって、
前記コンピュータに、
第1分散型台帳を共有する複数のノードによって構成された第1分散型ネットワークに属し、前記ユーザに関する第1情報にアクセス可能な第1ノードに対する第1要求を実行させる機能と、
第2分散型台帳を共有する複数のノードによって構成された第2分散型ネットワークに属し、前記ユーザに関する第2情報にアクセス可能な第2ノードに対する第2要求を実行させる機能と、を実現させ、
前記第1分散型台帳の第1ウォレットには、前記第1情報のURIと、前記第2分散型台帳の第2ウォレットを指定する第1指定情報と、が格納され、前記第1指定情報は、非代替性を有するトークンである第1非代替性トークンとして格納され、
前記第2分散型台帳の前記第2ウォレットには、前記第2情報のURIと、前記第1ウォレットを指定する第2指定情報と、が格納され、前記第2指定情報は、非代替性を有するトークンである第2非代替性トークンとして格納され、
前記第1要求が実行された場合、前記第2ノードの第2制御部は、前記第2指定情報を用いて前記第1ウォレットを指定することで、前記第1ノードに、前記第1非代替性トークンに基づいて前記ユーザのために前記第2ノードを認証する第1認証を要求し
前記第2要求が実行された場合、前記第1ノードの第1制御部は、前記第1指定情報を用いて前記第2ウォレットを指定することで、前記第2ノードに、前記第2非代替性トークンに基づいて前記ユーザのために前記第1ノードを認証する第2認証を要求する、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、認証システム、ユーザ端末、認証方法、および、プログラムに関する。
【背景技術】
【0002】
中央集権的な情報管理システムには、大規模な情報漏洩や、基幹部の障害による機能停止等のリスクがある。このようなリスクを回避する技術として、分散型ネットワークによって情報を分散的に管理する技術が知られている(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特表2020-507143号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
単に既存の各情報管理システムに分散型ネットワークを適用した場合、各情報管理システムの分散型ネットワークがサイロ化する。そのため、ユーザの利便性向上のためには、分散型ネットワーク同士を連携させ、各ネットワーク間の相互運用性を高めることが望まれる。しかしながら、例えば、ネットワーク同士の連携のために、各ネットワーク間でユーザに関する情報を共有することや、各ネットワーク間でユーザに関する情報を授受する機会が増えることは、情報漏洩の観点でリスクがある。そのため、セキュリティ上のリスクを低減しつつ、分散型ネットワーク同士を適切に連携できる技術が望まれていた。
【課題を解決するための手段】
【0005】
本開示は、以下の形態として実現することが可能である。
【0006】
(1)本開示の一形態によれば、認証システムが提供される。この認証システムは、第1分散型台帳を共有し、ユーザに関する第1情報にアクセス可能な複数の第1ノードによって構成された第1分散型ネットワークと、第2分散型台帳を共有し、前記ユーザに関する第2情報にアクセス可能な複数の第2ノードによって構成された第2分散型ネットワークと、前記ユーザによって使用され、ユーザ端末制御部を有するユーザ端末と、を備える。前記第1ノードは、第1制御部を有し、前記第2ノードは、第2制御部を有する。前記第1分散型台帳の第1ウォレットには、前記第1情報のURIと、前記第2分散型台帳の第2ウォレットを指定する第1指定情報と、が格納され、前記第1指定情報は、非代替性を有するトークンである第1非代替性トークンとして格納される。前記第2分散型台帳の前記第2ウォレットには、前記第2情報のURIと、前記第1ウォレットを指定する第2指定情報と、が格納され、前記第2指定情報は、非代替性を有するトークンである第2非代替性トークンとして格納される。前記第2制御部は、前記ユーザ端末制御部からの第1要求に応じて、前記第2指定情報を用いて前記第1ウォレットを指定することで、前記第1ノードに、前記第1非代替性トークンに基づいて前記ユーザのために前記第2ノードを認証する第1認証を要求する。前記第1制御部は、前記ユーザ端末制御部からの第2要求に応じて、前記第1指定情報を用いて前記第2ウォレットを指定することで、前記第2ノードに、前記第2非代替性トークンに基づいて前記ユーザのために前記第1ノードを認証する第2認証を要求する。
このような形態によれば、第1指定情報を用いて第2ウォレットを指定することによって第1ノードの認証を要求でき、第2指定情報を用いて第1ウォレットを指定することによって第2ノードの認証を要求できる。そのため、各ノードが認証を要求する場合に、各ノードが第1情報や第2情報を共有することや、各ノード間で第1情報や第2情報を授受することを要しない。従って、第1ノードや第2ノードの認証が実行される場合のセキュリティ上のリスクを低減でき、第1分散型ネットワークと第2分散型ネットワークとを適切に連携できる。
(2)上記形態において、前記第1分散型台帳および前記第2分散型台帳は、それぞれ、ブロックチェーンによって構成され、前記第1ウォレットへの前記第1情報のURIの格納と、前記第1指定情報の格納とは、それぞれ、前記第1分散型台帳に追加されるブロックに格納されるトランザクションによって実現され、前記第2ウォレットへの前記第2情報のURIの記録と、前記第2指定情報の記録とは、それぞれ、前記第2分散型台帳に追加されるブロックに格納されるトランザクションによって実現されてもよい。このような形態によれば、第1分散型ネットワークおよび第2分散型ネットワークを、それぞれ、ブロックチェーンネットワークとして構成できる。そのため、中央集権的な情報管理によるリスクをより低減できる。
(3)上記形態において、前記第1指定情報は、前記第2分散型ネットワークを表す第1識別子と、前記第2分散型台帳において一意の第2識別子とを含み、前記第1識別子と前記第2識別子との組み合わせによって前記第2ウォレットを指定し、前記第2指定情報は、前記第1分散型ネットワークを表す第3識別子と、前記第1分散型台帳において一意の第4識別子とを含み、前記第3識別子と前記第4識別子との組み合わせによって前記第1ウォレットを指定し、前記第2制御部は、前記第1要求に応じて、前記第1ノードに前記第3識別子を送信することによって、前記第1ウォレットを指定し、前記第1制御部は、前記第2要求に応じて、前記第2ノードに前記第2識別子を送信することによって、前記第2ウォレットを指定してもよい。このような形態によれば、各ノード間で第2識別子や第4識別子を授受することによって、簡易に各ノードの認証を要求できる。
(4)上記形態において、前記第1ウォレットには、前記ユーザ端末の秘密鍵を用いて署名済みの第1認証コードである第1署名済みコードが、前記第1非代替性トークンとして格納され、前記第2ウォレットには、前記秘密鍵を用いて署名済みの、前記第1認証コードと対応する第2認証コードである、第2署名済みコードが、前記第2非代替性トークンとして格納され、前記第2制御部は、前記第1要求が実行された場合、前記第1ノードに前記第2署名済みコードを送信し、前記第1制御部は、前記第1認証が要求された場合、前記第1署名済みコードと前記第2署名済みコードとが対応するか否かを判定し、前記第1署名済みコードと前記第2署名済みコードとが対応する場合、前記第2ノードを認証してもよい。このような形態によれば、第1非代替性トークンとしての第1署名済みコードと、第2非代替性トークンとしての第2署名済みコードとの対応性を検証することによって、簡易に第2ノードを認証できる。
(5)上記形態において、前記第1非代替性トークンとして格納された前記第1署名済みコードには、有効期限が設定され、前記第1制御部は、前記第1認証が要求された場合、前記有効期限が満了していない前記第1署名済みコードと前記第2署名済みコードとが対応するか否かを判定してもよい。このような形態によれば、第1署名済みコードの有効期限が満了していない場合に第2ノードを認証できるので、第1認証において、セキュリティ上のリスクをより抑制できる。
(6)上記形態において、前記第1制御部は、前記第2ノードを認証した場合、前記第2ノードに前記第1情報を提供し、前記第1分散型台帳に、前記第2ノードに前記第1情報を提供したことを表す情報を記録してもよい。このような形態によれば、第1分散型台帳の耐改竄性を向上できる。
(7)上記形態において、前記第1情報は、前記第1分散型ネットワークから参照可能な第1データベースに格納され、前記第2情報は、前記第2分散型ネットワークから参照可能な第2データベースに格納され、前記第1制御部は、前記第2ノードを認証した場合、前記第2ノードに対して、前記第1データベースから取得した前記第1情報を提供し、前記第2制御部は、前記第1ノードを認証した場合、前記第1ノードに対して、前記第2データベースから取得した前記第2情報を提供してもよい。このような形態によれば、例えば、第2ノードが第1情報に直接アクセスする形態や、第1ノードが第2情報に直接アクセスする形態と比較して、セキュリティ上のリスクをより抑制できる。
(8)上記形態において、前記第2制御部は、前記第1要求が実行された場合、前記ユーザ端末による前記ユーザの第1ローカル認証と、前記第1ローカル認証の後に前記第2制御部によって実行される前記ユーザ端末の第1公開鍵認証と、が完了した後に、前記第1ノードに前記第1認証を要求し、前記第1制御部は、前記第2要求が実行された場合、前記ユーザ端末による前記ユーザの第2ローカル認証と、前記第2ローカル認証の後に前記第1制御部によって実行される前記ユーザ端末の第2公開鍵認証と、が完了した後に、前記第2ノードに前記第1認証を要求してもよい。このような形態によれば、各ノードがユーザ端末から第1要求や第2要求を受けた場合に、ローカル認証と公開鍵認証とを用いて適切にユーザ端末を認証した後で、各ノードの認証を要求できる。
【0007】
本開示は、認証システム以外の種々の形態として実現することも可能である。例えば、ユーザ端末や、認証方法の形態として実現できる。また、本開示は、分散型ネットワークシステムや、コンピュータプログラムが記録された一時的でない有形な記録媒体等の種々の形態で実現することが可能である。
【図面の簡単な説明】
【0008】
図1】第1実施形態における認証システムを示す説明図である。
図2】第1分散型台帳を説明する図である。
図3】第2分散型台帳を説明する図である。
図4】事前登録処理を示す説明図である。
図5】連携処理を示す説明図である。
図6】第1認証処理を示す第1の図である。
図7】第1認証処理を示す第2の図である。
図8】第2認証処理を示す第1の図である。
図9】第2認証処理を説明する第2の図である。
図10】第2実施形態における認証システムを示す説明図である。
図11】第3実施形態における認証システムを示す説明図である。
【発明を実施するための形態】
【0009】
A.第1実施形態:
図1は、本実施形態における認証システム10を示す説明図である。認証システム10は、第1ネットワークシステム100と、第2ネットワークシステム200と、ユーザ端末400とを備える。ネットワークシステム同士、および、各ネットワークシステムとユーザ端末400とは、インターネットINTを介して相互に通信可能に構成されている。
【0010】
第1ネットワークシステム100は、複数の第1ノード110によって構成された第1分散型ネットワーク101を備える。各第1ノード110は、P2P(Peer to Peer)によって互いに接続されている。本実施形態では、第1ネットワークシステム100は、更に、第1分散型ネットワーク101からアクセス可能な第1データベース190を備える。第1ネットワークシステム100は、公的サービスの提供のために個人に付与される個人番号を管理する管理システムとして構成されている。分散型ネットワークを備えるネットワークシステムのことを、分散型ネットワークシステムとも呼ぶ。
【0011】
各第1ノード110は、ユーザ端末400を使用するユーザに関する第1情報inf1にアクセス可能に構成されている。本実施形態では、第1情報inf1は、ユーザに付与された個人番号であり、第1データベース190に格納されている。
【0012】
各第1ノード110は、第1分散型台帳DL1を共有する。本実施形態では、第1分散型台帳DL1は、ブロックチェーンによって構成されている。これによって、第1分散型ネットワーク101は、ブロックチェーンネットワークとして構成されている。分散型台帳を構成するブロックチェーンは、例えば、パブリック型であってもよいし、プライベート型であってもよい。また、例えば、ブロックチェーンネットワークを構成する複数のノードのうちの一部は、フルノードでなくてもよく、軽量ノードであってもよい。
【0013】
第1ノード110は、第1制御部111を備える。第1制御部111は、CPUと、記憶部と、外部との信号の入出力を行う入出力インターフェイスとを備えるコンピュータによって構成される。第1制御部111に備えられた記憶部は、第1分散型台帳DL1を記憶する。また、第1制御部111に備えられたCPUが記憶部に記憶されたプログラムを実行することにより、第1分散型台帳DL1でトランザクションを実行する機能や、後述する第2認証を要求する機能等、種々の機能を第1制御部111に実現させる。
【0014】
第2ネットワークシステム200は、複数の第2ノード210によって構成された第2分散型ネットワーク201を備える。各第2ノード210は、P2Pによって互いに接続されている。本実施形態では、第2ネットワークシステム200は、更に、第2分散型ネットワーク201からアクセス可能な第2データベース290を備える。第2ネットワークシステム200は、個人の医療データを管理する管理システムとして構成されている。
【0015】
各第2ノード210は、ユーザに関する第2情報inf2にアクセス可能に構成されている。本実施形態では、第2情報inf2は、ユーザの医療データを管理するための管理IDであり、第2データベース290に格納されている。
【0016】
各第2ノード210は、第2分散型台帳DL2を共有する。本実施形態では、第2分散型台帳DL2は、第1分散型台帳DL1と同様にブロックチェーンによって構成される。
【0017】
第2ノード210は、第2制御部211を備える。第2制御部211は、第1制御部111と同様にコンピュータによって構成され、CPUと記憶部と入出力インターフェイスとを備える。第2制御部211に備えられた記憶部は、第2分散型台帳DL2を記憶する。また、第2制御部211に備えられたCPUが、記憶部に記憶されたプログラムを実行することにより、第2分散型台帳DL2でトランザクションを実行する機能や、後述する第1認証を要求する機能等、種々の機能を第2制御部211に実現させる。
【0018】
ユーザ端末400は、ユーザによって使用される。ユーザ端末400は、ユーザ端末制御部401と、表示部410とを備える。ユーザ端末制御部401は、第1制御部111と同様にコンピュータによって構成され、CPUと記憶部403と入出力インターフェイスとを備える。第1制御部111に備えられたCPUは、記憶部403に記憶されたプログラム404を実行することにより、例えば、後述する第1要求を実行する機能や、第2要求を実行する機能等の種々の機能をユーザ端末制御部401に実現させる。プログラム404は、例えば、ユーザ端末制御部401で使用可能な専用アプリケーションプログラムであってもよいし、ユーザ端末制御部401で使用可能な汎用アプリケーション(例えば、ウェブブラウザ)の機能を拡張する機能拡張プログラムであってもよい。表示部410は、タッチ操作可能な液晶ディスプレイとして構成され、入力部や操作部を兼ねる。
【0019】
図2は、第1分散型台帳DL1を説明する図である。第1分散型台帳DL1は、第1ウォレットW1を有する。第1ウォレットW1は、第1分散型台帳DL1において、第1分散型台帳DL1で一意の第1ウォレットアドレスWA1によって指定される。本実施形態では、第1ウォレットW1は、第1ウォレットW1内の階層ごとに、各データを格納可能に構成されている。第1ウォレットW1内の各階層には、例えば、URI(Uniform Resource Identifier)データや、指定情報データ、署名データ、公開鍵データ、提供情報データ等が格納可能である。例えば、第1ウォレットW1の直下には、URIデータとして第1情報inf1のURIが格納され、公開鍵データとして第1公開鍵OK1が格納されている。第1ウォレットW1内の階層IDa1には、指定情報データとして、第2分散型台帳DL2の第2ウォレットW2を指定する第1指定情報sp1が格納され、署名データとして署名済みコードcc31sが格納されている。
【0020】
第1指定情報sp1は、非代替性を有するトークンである第1非代替性トークンT1として、第1ウォレットW1に格納される。非代替性を有するトークンとは、いわゆる暗号資産(仮想通貨とも呼ばれる)等の代替可能なトークンと異なり、代替不可能な固有のトークンであることを表す。第1指定情報sp1は、例えば、ERC-721やERC-1155、ERC-4907等のトークン規格に準拠するNFT(non-fungible token)として格納される。また、本実施形態では、署名済みコードcc31sも、第1指定情報sp1と同様に、第1非代替性トークンT1として第1ウォレットW1に格納される。
【0021】
図2には、第1分散型台帳DL1において実行されるトランザクションを表すトランザクションデータTD1が示されている。本実施形態では、上述した第1ウォレットW1への情報の格納は、第1分散型台帳DL1においてトランザクションが実行されることによって実現される。トランザクションデータTD1に含まれる各トランザクションは、ブロックチェーンによって構成された第1分散型台帳DL1に追加されるブロックに格納される。なお、図2には、技術の理解を容易にするために、第1ウォレットW1内の各データをトランザクションデータTD1と別に示したが、本実施形態における第1ウォレットW1内の各データは、実際には、トランザクションデータTD1によって実現されている。
【0022】
トランザクションデータTD1に含まれる各トランザクションには、そのトランザクションによる情報の格納先を表す格納先情報と、格納先に格納されるデータおよびそのデータの属性を表す格納データ情報とが記述される。格納先情報としては、格納先のウォレットを指定するウォレットアドレスに加え、格納先のウォレット内の階層を更に指定する情報が記述可能に構成されている。格納データ情報は、図2において、「属性:データ」の形式で表されている。例えば、トランザクションTX12には、格納先情報として、第1ウォレットW1を指定する第1ウォレットアドレスWA1と、第1ウォレットW1の階層IDa1とが記述され、データ情報として、署名データである署名済みコードcc1sが記述されている。トランザクションTX12が実行されることで、第1ウォレットアドレスWA1によって指定される第1ウォレットW1に、署名データとして署名済みコードcc1sが格納される。なお、トランザクションTX11には、格納先の階層を指定する情報が記述されていない。本実施形態では、格納先の階層が記述されていないトランザクションが実行された場合、そのトランザクションのデータ情報に記述されたデータは、ウォレットアドレスによって指定されるウォレットの直下に格納される。
【0023】
図3は、第2分散型台帳DL2を説明する図である。第2分散型台帳DL2は、第2ウォレットW2を有する。第2ウォレットW2は、第2分散型台帳DL2において、第2分散型台帳DL2で一意の第2ウォレットアドレスWA2によって指定される。本実施形態では、第2ウォレットW2は、第1ウォレットW1と同様に、第2ウォレットW2内の階層ごとに、各データを格納可能に構成されている。例えば、第2ウォレットW2内の階層IDb1には、URIデータとして第2情報inf2のURIが格納され、指定情報データとして第2指定情報sp2が格納され、署名データとして署名済みコードcc32sが格納され、公開鍵データとして第2公開鍵OK2が格納されている。第2指定情報sp2は、第1指定情報sp1と同様に、非代替性を有するトークンである第2非代替性トークンT2として、第2ウォレットW2に格納される。また、本実施形態では、署名済みコードcc32sも、第2非代替性トークンT2として第2ウォレットW2に格納される。
【0024】
図3には、第2分散型台帳DL2において実行されるトランザクションを表すトランザクションデータTD2が示されている。第2ウォレットW2への情報の格納は、第2分散型台帳DL2においてトランザクションが実行されることによって実現される。トランザクションデータTD2に含まれる各トランザクションは、第2分散型台帳DL2に追加されるブロックに格納される。本実施形態では、第2ウォレットW2内の各データは、第1ウォレットW1と同様に、トランザクションデータTD2によって実現されている。トランザクションデータTD2に含まれる各トランザクションには、トランザクションデータTD1と同様に、格納先情報と格納データ情報とが記述される。
【0025】
本実施形態では、第1指定情報sp1および第2指定情報sp2は、多階層登録型のデータ構造によって表される。より詳細には、第1指定情報sp1は、第2分散型ネットワーク201を表す第1識別子と、第2分散型台帳DL2において一意の第2識別子とを含む。第1指定情報sp1は、第1識別子と第2識別子との組み合わせによって第2ウォレットW2を指定する。図2において、第1指定情報sp1は、「第1識別子:第2識別子」の形式で表されている。本実施形態では、第1識別子は、第2分散型ネットワーク201のURN(Uniform Resource Name)であり、図2において「NT2」と表されている。第2識別子は、第2ウォレットアドレスWA2である。同様に、図3に示した第2指定情報sp2は、第1分散型ネットワーク101を表す第3識別子と、第1分散型台帳DL1において一意の第4識別子とを含む。図3において、第2指定情報sp2は、「第3識別子:第4識別子」の形式で表されている。第2指定情報sp2は、第3識別子と第4識別子との組み合わせによって第2ウォレットW2を指定する。本実施形態では、第3識別子は、第1分散型ネットワーク101のURNであり、図3において「NT1」と表されている。第4識別子は、第1ウォレットアドレスWA1である。
【0026】
図4は、事前登録処理を示す説明図である。図5は、連携処理を示す説明図である。連携処理とは、第1ウォレットW1に第1指定情報sp1を格納させ、かつ、第2ウォレットW2に第2指定情報sp2を格納させる処理のことを指す。事前登録処理とは、連携処理に先立って、第1ウォレットW1に第1情報inf1を格納させる処理のことを指す。第1連携処理が実行されることで、第1分散型ネットワーク101と第2分散型ネットワーク201とが連携状態となる。ある2つのネットワークが連携状態にある場合、各ネットワークを構成するノードが、相互にノード認証を要求することが可能になる。ノード認証とは、一方のネットワークを構成するノードの制御部が、ユーザ端末制御部401からの要求に応じて、自身の記憶部に格納された指定情報を用いて、他方のネットワークを構成するノードに対して、ユーザのために、自身のノードの認証を要求することを言う。
【0027】
より詳細には、例えば、第1分散型ネットワーク101と第2分散型ネットワーク201とが連携状態にある場合、第2制御部211が、ユーザ端末制御部401からの第1要求に応じて、第2指定情報sp2を用いて第1制御部111に第1認証を要求することが可能になり、かつ、第1制御部111が、ユーザ端末制御部401からの第2要求に応じて、第1指定情報sp1を用いて第2制御部211に第2認証を要求することが可能になる。第1認証とは、第1ノード110が第1非代替性トークンT1に基づいてユーザのために第2ノード210を認証することを指す。第2認証とは、第2ノード210が第2非代替性トークンT2に基づいてユーザのために第1ノード110を認証することを指す。本実施形態では、第1要求および第1認証は、後述する第1認証処理において実行される。第2要求および第2認証は、後述する第2認証処理において実行される。
【0028】
図4に示した事前登録処理は、連携処理に先立って、例えば、ユーザ端末400において、ユーザによる所定の開始操作が行われた場合に実行される。ステップS102にて、ユーザ端末制御部401は、第1ノード110に対する事前登録要求を実行する。本実施形態におけるステップS102では、ユーザ端末制御部401は、第1ノード110に、所定の要求メッセージと、第1ノード110が第1データベース190上で第1情報inf1を識別するための識別情報とを第1ノード110に送信する。この識別情報は、例えば、ICカード等に、ユーザ端末400によって読み取り可能に格納される。
【0029】
事前登録要求が実行された場合、第1制御部111は、ステップS104~S112にて、ローカル認証と公開鍵認証とを利用して、ユーザの認証を実行する。より詳細には、第1制御部111は、ステップS104~S112において、FIDO(Fast IDentity Online)認証によってユーザを認証する。ステップS104にて、第1制御部111は、ユーザ端末400に対して、チャレンジコードcc1を返送する。
【0030】
ステップS106にて、チャレンジコードcc1を受信したユーザ端末制御部401は、ユーザのローカル認証を実行する。ローカル認証としては、ユーザ端末400に備えられたカメラを使用した顔認証や、指紋読み取り装置を使用した指紋認証等の生体認証、PIN(Personal Identification Number)を用いた認証、パターン認証等を利用できる。ローカル認証に失敗した場合、ユーザ端末制御部401は、所定のエラー処理を実行する。この場合、ユーザ端末制御部401は、例えば、表示部410やスピーカを介してユーザにエラーを通知するとともに、再度のローカル認証を実行してもよいし、所定の回数、ローカル認証が失敗した場合に事前登録処理を終了させてもよい。ローカル認証に成功した場合、ステップS108にて、ユーザ端末制御部401は、第1秘密鍵PK1と、第1秘密鍵PK1と対の第1公開鍵OK1とを生成する。第1秘密鍵PK1と第1公開鍵OK1との生成には、例えば、RSA暗号や楕円曲線暗号が用いられる。以下では、第1秘密鍵PK1のことを単に秘密鍵とも呼び、第1公開鍵OK1のことを単に公開鍵とも呼ぶ。
【0031】
ステップS110にて、ユーザ端末制御部401は、第1秘密鍵PK1を用いてチャレンジコードcc1に電子署名する。第1秘密鍵PK1を用いて署名済みのチャレンジコードcc1のことを、署名済みコードcc1sとも呼ぶ。その後、ユーザ端末制御部401は、署名済みコードcc1sと第1公開鍵OK1とを第1ノード110に返送する。
【0032】
ステップS112にて、第1制御部111は、第1公開鍵OK1を用いて、署名済みコードcc1sの署名を検証する。署名の検証に失敗した場合、第1制御部111は、所定のエラー処理を実行する。この場合、第1制御部111は、例えば、ユーザ端末400にエラーを通知する。署名の検証に成功した場合、第1制御部111は、ステップS114にて、第1分散型台帳DL1でトランザクションを実行することによって、第1ウォレットアドレスWA1によって指定される第1ウォレットW1に、第1情報inf1のURIと第1公開鍵OK1とを格納する。第1ウォレットアドレスWA1は、ステップS116に先立って、第1公開鍵OK1から不可逆的に生成される。そのため、第1ウォレットアドレスWA1は、第1公開鍵OK1と同様に、第1秘密鍵PK1と対となる。
【0033】
より詳細には、本実施形態におけるステップS116では、図2に示したトランザクションTX11が実行される。トランザクションTX11には、格納先情報として第1ウォレットアドレスWA1が記述され、格納データ情報として、URIデータである第1情報inf1のURIと、公開鍵データである第1公開鍵OK1とが記述されている。第1情報inf1のURIは、例えば、第1制御部111によって、ステップS104で受信された識別情報に基づいて、第1データベース190から取得される。「分散型台帳でトランザクションを実行する」とは、分散型台帳を有するノードによってトランザクションを生成し、そのトランザクションを、その分散型台帳を共有する他のノードに伝播させることを指す。これによって、分散型台帳が更新される。より詳細には、本実施形態では、ブロックチェーンによって構成された分散型台帳で生成されたトランザクションは、その分散型台帳を共有する各ノードに伝播され、検証される。検証が成功した場合、トランザクションは、その分散型台帳に追加されるブロックに格納される。ブロックチェーンのコンセサスアルゴリズムとしては、例えば、PoW(プルーフオブワーク)や、PoS(プルーフオブステーク)、PoI(プルーフオブインポータンス)が用いられる。
【0034】
ステップS116にて、第1制御部111は、ユーザ端末400に第1ウォレットアドレスWA1を返送する。ステップS118にて、ユーザ端末制御部401は、第1ウォレットアドレスWA1と第1秘密鍵PK1とを、記憶部403に記憶させる。ステップS118以降、ユーザ端末制御部401は、第1ウォレットアドレスWA1を、記憶部403におけるデータの位置を表すパスとしても用いる。
【0035】
図5に示した連携処理は、事前登録処理が完了した後に、例えば、ユーザ端末400において、ユーザによる所定の開始操作が行われた場合に実行される。ステップS202にて、ユーザ端末制御部401は、第2ノード210に対する第1連携要求を実行する。ユーザ端末制御部401は、ステップS202で、所定の要求メッセージを第2ノード210に送信するとともに、第2分散型ネットワーク201との連携を所望する連携先を指定する。本実施形態では、ユーザ端末制御部401は、例えば、第1分散型ネットワーク101のURIを第2ノード210に送信することによって、連携先として、第1分散型ネットワーク101を指定する。第1連携要求が実行された場合、第2制御部211は、ステップS204にて、ユーザ端末400にチャレンジコードcc2を返送する。
【0036】
チャレンジコードcc2を受信したユーザ端末制御部401は、ステップS206にて、第2情報inf2を生成する。第2情報inf2は、例えば、ユーザのメールアドレスに基づいて生成される。次に、ステップS208にて、ユーザ端末制御部401は、図4のステップS108と同様の方法で、第2秘密鍵PK2と、第2秘密鍵PK2と対の第2公開鍵OK2とを生成する。ステップS210にて、ユーザ端末制御部401は、第2秘密鍵PK2を用いてチャレンジコードcc2に電子署名する。第2秘密鍵PK2を用いて署名済みのチャレンジコードcc2のことを、署名済みコードcc2sとも呼ぶ。その後、ユーザ端末制御部401は、第1ウォレットアドレスWA1と、第2情報inf2と、署名済みコードcc2sと、第2公開鍵OK2とを、第2ノード210に返送する。
【0037】
ステップS212にて、第2制御部211は、第2公開鍵OK2を用いて、図4のステップS112と同様に、署名済みコードcc2sの署名を検証する。署名の検証に成功した場合、ステップS214にて、第2制御部211は、第1ノード110に対する第2連携要求を実行する。ステップS214では、第2制御部211は、送信先として第1ウォレットアドレスWA1を指定し、所定の要求メッセージを第1ノード110に送信する。
【0038】
第2連携要求が実行された場合、第1制御部111は、ステップS216にて、送信先として第1ウォレットアドレスWA1を指定してユーザ端末400にチャレンジコードcc31を送信するとともに、第2ノード210に、チャレンジコードcc31と対応するチャレンジコードcc32を返送する。本実施形態では、チャレンジコードcc31とチャレンジコードcc32とは、同一のコードである。チャレンジコードcc31のことを第1認証コードとも呼び、チャレンジコードcc32のことを第2認証コードとも呼ぶ。
【0039】
ステップS218にて、チャレンジコードcc32を受信した第2制御部211は、送信先として第1ウォレットアドレスWA1を指定して、ユーザ端末400にチャレンジコードcc32を送信する。
【0040】
両チャレンジコードを受信したユーザ端末制御部401は、ステップS220にて、図4のステップS106と同様に、ユーザのローカル認証を実行する。ローカル認証に成功した場合、ステップS222にて、ユーザ端末制御部401は、第1秘密鍵PK1を用いて、チャレンジコードcc31およびチャレンジコードcc32に電子署名する。第1秘密鍵PK1で署名済みのチャレンジコードcc31のことを、署名済みコードcc31sや、第1署名済みコードとも呼ぶ。第1秘密鍵PK1で署名済みのチャレンジコードcc32のことを、署名済みコードcc32sや、第2署名済みコードとも呼ぶ。その後、ユーザ端末制御部401は、署名済みコードcc31sを第1ノード110に返送し、署名済みコードcc32sを第2ノード210に返送する。
【0041】
ステップS224にて、第1制御部111は、図4のステップS112と同様に、第1公開鍵OK1を用いて、署名済みコードcc31sの署名を検証する。署名の検証に成功した場合、ステップS226にて、第1制御部111は、第1分散型台帳DL1でトランザクションを実行することによって、第1ウォレットW1に、第1公開鍵OK1を用いて検証された署名済みコードcc31sを、第1非代替性トークンT1として格納する。本実施形態におけるステップS226では、図2に示したトランザクションTX12が実行される。本実施形態では、署名済みコードcc31sには、有効期限が設定される。
【0042】
ユーザ端末制御部401から署名済みコードcc32sを受信した第2制御部211は、ステップS228にて、送信先として第1ウォレットアドレスWA1を指定して、署名済みコードcc32sと、第2ウォレットアドレスWA2とを第1ノード110に送信する。第2ウォレットアドレスWA2は、例えば、ステップS228において、第2公開鍵OK2から不可逆的に生成される。
【0043】
ステップS230にて、第1制御部111は、署名済みコードcc31sと署名済みコードcc32sとが対応するか否かを判定する。第1制御部111は、ステップS230では、例えば、署名済みコード同士の対応を直接検証してもよいし、第1公開鍵OK1によって各署名済みコードをチャレンジコードに復号した後に、チャレンジコード同士の対応を検証してもよい。第1制御部111は、署名済みコードcc31sと署名済みコードcc32sとが対応しないと判定した場合、所定のエラー処理を実行する。この場合、第1制御部111は、例えば、第2ノード210やユーザ端末400に認証が失敗したことを通知する。第1制御部111は、署名済みコードcc31sと署名済みコードcc32sとが対応すると判定した場合、ステップS232にて、第1分散型台帳DL1でトランザクションを実行することによって、第1ウォレットW1の階層IDa1に、指定情報データとして、第1指定情報sp1を格納する。第1指定情報sp1は、第1非代替性トークンT1として格納される。本実施形態におけるステップS232では、図2に示したトランザクションTX13が実行される。トランザクションTX13には、格納先情報として、第1ウォレットアドレスWA1と階層IDa1とが記述され、格納データ情報として、指定情報データである第1指定情報sp1が記述されている。ステップS234にて、第1制御部111は、第2ノード210に、署名の検証が成功したことを表す検証成功通知を送信する。
【0044】
検証成功通知を受信した第2制御部211は、ステップS236にて、第2分散型台帳DL2でトランザクションを実行することによって、第2ウォレットW2に、第2情報inf2のURIと、第2公開鍵OK2と、第2指定情報sp2と、署名済みコードcc32sとを格納する。本実施形態におけるステップS236では、図3に示したトランザクションTX21が実行される。トランザクションTX21には、格納先情報として、第2ウォレットアドレスWA2、および、第2ウォレットW2の階層IDb1が記述され、格納データ情報として、URIデータである第2情報inf2のURIと、公開鍵データである第2公開鍵OK2と、指定情報データである第2指定情報sp2と、署名データである署名済みコードcc32sとが記述される。本実施形態では、第2情報inf2と、第2公開鍵OK2と、第2指定情報sp2と、署名済みコードcc32sとは、第2非代替性トークンT2として格納される。
【0045】
ステップS238にて、第2制御部211は、ユーザ端末400に第2ウォレットアドレスWA2を送信する。ステップS240にて、ユーザ端末制御部401は、第2ウォレットアドレスWA2と第2秘密鍵PK2とを、記憶部403に記憶させる。ステップS240以降、ユーザ端末制御部401は、第2ウォレットアドレスWA2を、記憶部403におけるデータの位置を表すパスとしても用いる。
【0046】
図6は、第1認証処理を示す第1の図である。図7は、第1認証処理を説明する第2の図である。図6および図7に示した第1認証処理は、図5に示した連携処理の完了後に、例えば、ユーザ端末400において、ユーザによる所定の開始操作が行われた場合に実行される。ユーザは、例えば、第1認証処理の完了後に第2制御部211に第1情報inf1を取得させるために、第1認証処理を開始させる。ステップS302にて、ユーザ端末制御部401は、第2ノード210に対する第1要求を実行する。ユーザ端末制御部401は、ステップS302では、例えば、送信先として第2ウォレットアドレスWA2を指定して、所定の要求メッセージを第2ノード210に送信する。第1要求が実行された場合、第2制御部211は、ステップS304にて、ユーザ端末400にチャレンジコードcc4を返送する。
【0047】
第2制御部211は、ステップS306~S310において、FIDO認証によってユーザを認証する。チャレンジコードcc4を受信したユーザ端末制御部401は、ステップS306にて、図4のステップS106と同様に、ユーザのローカル認証を実行する。ステップS306のように、第1要求が実行された後に実行されるユーザ端末400によるユーザのローカル認証のことを、第1ローカル認証とも呼ぶ。
【0048】
第1ローカル認証に成功した場合、ステップS308にて、ユーザ端末制御部401は、第2秘密鍵PK2を用いてチャレンジコードcc4に署名する。第2秘密鍵PK2を用いて署名済みのチャレンジコードcc4のことを、署名済みコードcc4sとも呼ぶ。そして、ユーザ端末制御部401は、署名済みコードcc4sを第2ノード210に返送する。署名済みコードcc4sを受信した第2制御部211は、ステップS310にて、図5のステップS212と同様に、第2公開鍵OK2を用いて、署名済みコードcc4sの署名を検証する。ステップS310のように、第1ローカル認証の後に第2制御部211によって実行されるユーザ端末400の公開鍵認証のことを、第1公開鍵認証とも呼ぶ。
【0049】
署名の検証に成功した場合、ステップS312にて、第2制御部211は、第2指定情報sp2を用いて第1ウォレットW1を指定することで、第1ノード110に第1認証を要求する。より詳細には、第2制御部211は、ステップS314で、第1ノード110に、第3識別子である第1ウォレットアドレスWA1をヘッダとして送信することによって、第1ウォレットW1を指定する。このように、本実施形態では、第1認証の要求は、第1ローカル認証と第1公開鍵認証とによるFIDO認証が完了した後に要求される。また、本実施形態におけるステップS314では、第2制御部211は、更に、第2ウォレットW2に格納された署名済みコードcc32sを、第1ノード110に送信する。
【0050】
第1ウォレットアドレスWA1および署名済みコードcc32sを受信した第1制御部111は、ステップS314にて、送信された署名済みコードcc32sと、第1ウォレットW1に第1非代替性トークンT1として格納された署名済みコードcc31sとが対応するか否かを、図5のステップS234と同様に検証する。より詳細には、本実施形態におけるステップS314では、第1制御部111は、有効期限が満了していない署名済みコードcc31sと署名済みコードcc32sとが対応するか否かを検証する。第1制御部111は、署名済みコードcc31sの有効期限が満了していた場合、署名済みコードcc31sと署名済みコードcc32sとが対応しないと判定する。第1制御部111は、両コードが対応すると判定した場合、第2ノード210を認証し、ステップS316にて、第2ノード210に第1認証が成功したことを通知する。ステップS318にて、第2制御部211は、ユーザ端末400に第1認証が成功したことを通知する。
【0051】
図7には、第1認証処理のうち、図6のステップS316で署名済みコードの検証に失敗した場合の処理が示されている。ステップS320にて、第1制御部111は、送信先として第1ウォレットアドレスWA1を指定してユーザ端末400にチャレンジコードcc51を送信するとともに、第2ノード210に、チャレンジコードcc51と対応するチャレンジコードcc52を返送する。本実施形態では、チャレンジコードcc51とチャレンジコードcc52とは、同一のコードである。ステップS322にて、第2ノード210は、送信先として第1ウォレットアドレスWA1を指定してユーザ端末400にチャレンジコードcc52を送信する。
【0052】
ステップS324にて、ユーザ端末制御部401は、図5のステップS220と同様に、ユーザのローカル認証を実行する。ローカル認証に成功した場合、ステップS326にて、ユーザ端末制御部401は、チャレンジコードcc51およびチャレンジコードcc52に、指定された第1ウォレットアドレスWA1と対の第1秘密鍵PK1を用いて電子署名する。そして、ユーザ端末制御部401は、第1秘密鍵PK1で署名済みのチャレンジコードcc51である署名済みコードcc51sを第1ノード110に返送し、第1秘密鍵PK1で署名済みのチャレンジコードcc52である署名済みコードcc52sを第2ノード210に返送する。
【0053】
ステップS328にて、第1制御部111は、図5のステップS224と同様に、署名済みコードcc51sの署名を検証する。署名の検証に成功した場合、ステップS330にて、第1制御部111は、図5のステップS226と同様に、第1ウォレットW1に、署名済みコードcc51sを、非代替性を有する第3非代替性トークンT3として格納する。本実施形態におけるステップS330では、図2に示したトランザクションTX14が実行される。トランザクションTX14には、格納先情報として、第1ウォレットアドレスWA1、および、階層IDa2が記述され、格納データ情報として、署名データである署名済みコードcc51sが記述されている。本実施形態では、署名済みコードcc51sには、有効期限が設定される。
【0054】
ステップS332にて、第2制御部211は、図5のステップS228と同様に、署名済みコードcc52sと、第2ウォレットアドレスWA2とを第1ノード110に送信する。ステップS334にて、第1制御部111は、図5のステップS230と同様に、署名済みコードcc51sと署名済みコードcc52sとが対応するか否かを判定する。第1制御部111は、両コードが対応すると判定した場合、ステップS336にて、図5のステップS232と同様に、第1ウォレットW1の階層IDa2に、指定情報データである第1指定情報sp1を第3非代替性トークンT3として格納する。本実施形態におけるステップS336では、図2に示したトランザクションTX15が実行される。トランザクションTX15には、格納先情報として、第1ウォレットアドレスWA1と階層IDa2とが記述され、格納データ情報として、指定情報データである第1指定情報sp1が記述されている。また、第1制御部111は、両コードが対応すると判定した場合、第2ノード210を認証し、ステップS338にて、第2ノード210に認証が成功したことを通知する。
【0055】
ステップS340にて、第2制御部211は、図2のステップS236と同様に、第2ウォレットW2に、第2指定情報sp2と、署名済みコードcc52sとを格納する。本実施形態におけるステップS340では、図3に示したトランザクションTX22が実行される。トランザクションTX22には、格納先情報として、第2ウォレットアドレスWA2と階層IDb2とが記述され、格納データ情報として、指定情報データである第2指定情報sp2と、署名データである署名済みコードcc52sとが記述される。第2指定情報sp2と、署名済みコードcc52sとは、非代替性を有する第4非代替性トークンT4として格納される。ステップS342は、図6のステップS318と同様である。
【0056】
図8は、第2認証処理を示す第1の図である。図9は、第2認証処理を説明する第2の図である。第2認証処理は、第1認証処理における第1ノード110と第2ノード210とを入れ替えた処理と略同様である。より詳細には、図8および図9におけるステップS402~ステップS442は、それぞれ、図6および図7におけるステップS302~ステップS342と対応する。第2認証処理は、図5に示した連携処理の完了後に、例えば、ユーザ端末400において、ユーザによる所定の開始操作が行われた場合に実行される。ユーザは、例えば、第2認証処理の完了後に第1制御部111に第2情報inf2を取得させるために、第2認証処理を開始させる。
【0057】
まず、ステップS402にて、ユーザ端末400は、第1ノード110に対する第2要求を実行する。ステップS404にて、第1制御部111は、ユーザ端末400にチャレンジコードcc6を返送する。
【0058】
第1制御部111は、ステップS406~S410において、FIDO認証によってユーザを認証する。チャレンジコードcc6を受信したユーザ端末制御部401は、ステップS406にて第2ローカル認証を実行する。第2ローカル認証とは、第2要求が実行された場合に実行される、ユーザ端末400によるユーザのローカル認証のことを指す。第2ローカル認証に成功した場合、ステップS408にて、ユーザ端末制御部401は、第1秘密鍵PK1を用いてチャレンジコードcc6に署名する。第1秘密鍵PK1を用いて署名済みのチャレンジコードcc6のことを、署名済みコードcc6sとも呼ぶ。そして、ユーザ端末制御部401は、署名済みコードcc6sを、第1ノード110に返送する。署名済みコードcc6sを受信した第1制御部111は、ステップS410にて、第1公開鍵OK1を用いて、署名済みコードcc6sの署名を検証する。ステップS410のように、第2ローカル認証の後に第1制御部111によって実行されるユーザ端末400の公開鍵認証のことを、第2公開鍵認証とも呼ぶ。
【0059】
ステップS412にて、第1制御部111は、第1指定情報sp1を用いて第2ウォレットW2を指定することで、第2ノード210に第2認証を要求する。より詳細には、第1制御部111は、第2ノード210に、第2識別子である第2ウォレットアドレスWA2をヘッダとして送信することで、第2ウォレットW2を指定する。このように、本実施形態では、第2認証の要求は、第2ローカル認証と第2公開鍵認証とによるFIDO認証が完了した後に要求される。また、本実施形態におけるステップS412では、第1制御部111は、更に、第1ウォレットW1に格納された署名済みコードcc31sを、第2ノード210に送信する。
【0060】
第2認証が要求された場合、第2制御部211は、ステップS414にて、署名済みコード同士の対応を検証する。署名済みコード同士が対応する場合、第2制御部211は、ステップS416にて、第1ノード110に対して認証成功通知を送信する。その後、第1制御部111は、ステップS418にて、ユーザ端末400に第2認証が成功したことを通知する。
【0061】
図9には、第2認証処理のうち、図8のステップS414で署名済みコードの検証に失敗した場合の処理が示されている。ステップS420にて、第2制御部211は、送信先として第2ウォレットアドレスWA2を指定してユーザ端末400にチャレンジコードcc71を送信するとともに、第1ノード110に、チャレンジコードcc71と対応するチャレンジコードcc72を返送する。本実施形態では、チャレンジコードcc71とチャレンジコードcc72とは、同一のコードである。ステップS422にて、第1ノード110は、送信先として第2ウォレットアドレスWA2を指定してユーザ端末400にチャレンジコードcc72を送信する。
【0062】
ステップS424にて、ユーザ端末制御部401は、ユーザのローカル認証を実行する。ローカル認証に成功した場合、ステップS426にて、ユーザ端末制御部401は、チャレンジコードcc71およびチャレンジコードcc72に、指定された第2ウォレットアドレスWA2と対の第2秘密鍵PK2を用いて電子署名する。そして、ユーザ端末制御部401は、第2秘密鍵PK2で署名済みのチャレンジコードcc71を表す署名済みコードcc71sを第2ノード210に返送し、第2秘密鍵PK2で署名済みのチャレンジコードcc72を表す署名済みコードcc72sを第1ノード110に返送する。
【0063】
ステップS428にて、第2制御部211は、第2公開鍵OK2を用いて署名済みコードcc71sの署名を検証する。署名の検証に成功した場合、ステップS430にて、第2制御部211は、第2ウォレットW2に、署名済みコードcc71sを、非代替性を有する第5非代替性トークンT5として格納する。ステップS430では、図3に示したトランザクションTX23が実行される。トランザクションTX23には、格納先情報として第2ウォレットアドレスWA2と階層Idb3とが記述され、格納データ情報として署名データである署名済みコードcc71sが記述されている。第5非代替性トークンT5として格納される署名済みコードcc71sには、有効期限が設定されてもよい。
【0064】
ステップS432にて、第1制御部111は、署名済みコードcc72sと、第1ウォレットアドレスWA1とを第2ノード210に送信する。ステップS434にて、第2制御部211は、署名済みコードcc71sと署名済みコードcc72sとが対応するか否かを判定する。第2制御部211は、両コードが対応すると判定した場合、ステップS436にて、第2ウォレットW2に、指定情報データである第2指定情報sp2を、第5非代替性トークンT5として格納する。ステップS430では、図3に示したトランザクションTX24が実行される。トランザクションTX24には、格納先情報として第2ウォレットアドレスWA2と階層Idb3とが記述され、格納データ情報として、指定情報データである第2指定情報sp2が記述されている。また、第2制御部211は、両コードが対応すると判定した場合、第1ノード110を認証し、ステップS438にて、第1ノード110に認証が成功したことを通知する。
【0065】
ステップS440にて、第1制御部111は、第1ウォレットW1に、非代替性を有する第6非代替性トークンT6として第1指定情報sp1と署名済みコードcc72sとを格納する。ステップS432では、図2に示したトランザクションTX16が実行される。トランザクションTX16には、格納先情報として、第1ウォレットアドレスWA1と階層IDa3とが記述され、格納データ情報として、指定情報データである第1指定情報sp1が記述されている。ステップS442は、図8のステップS418と同様である。
【0066】
以上で説明した事前登録処理と、連携処理と、第1認証処理と、第2認証処理との各工程が実行されることによって、本実施形態における認証方法が実現される。
【0067】
本実施形態では、第1制御部111は、第1認証において第2ノード210を認証した場合、第2ノード210に第1情報inf1を提供する。この場合、第1制御部111は、第2ノード210に対して、第1データベース190から取得した第1情報inf1を提供する。同様に、第2制御部211は、第2認証において第1ノード110を認証した場合、第1ノード110に、第2データベース290から取得した第2情報inf2を提供する。図1には、第1制御部111による第2情報inf2の取得経路の例と、第2制御部211による第1情報inf1の取得経路の例とが、一点鎖線で示されている。なお、第1情報inf1や第2情報inf2の提供に先立って、例えば、再度の署名済みコードの対応の検証が実行されてもよい。
【0068】
第1制御部111は、第2ノード210に第1情報inf1を提供した場合、第1分散型台帳DL1に、第2ノード210に第1情報inf1を提供したことを表す第1提供情報を記録する。同様に、第2制御部211は、第2分散型台帳DL2に、第1ノード110に第2情報inf2を提供したことを表す第2提供情報を記録する。本実施形態では、第1提供情報や第2提供情報の記録は、各分散型台帳で、各分散型台帳に追加されるブロックに格納されるトランザクションが実行されることで実現される。図2には、このようなトランザクションの例として、格納先情報として第1ウォレットアドレスWA1および階層IDa4が記述され、格納データ情報として提供情報データである第1提供情報PR1が記述されたトランザクションTX17が示されている。各提供情報は、例えば、第1情報inf1や第2情報inf2のURIと、第1指定情報sp1や第2指定情報sp2とによって表されてもよい。
【0069】
以上で説明した本実施形態における認証システム10によれば、第1ウォレットW1に、第1情報inf1のURIと、第1非代替性トークンT1としての第1指定情報sp1とが格納され、第2ウォレットW2に、第2情報inf2のURIと、第2非代替性トークンT2としての第2指定情報sp2とが格納される。第2制御部211は、第1要求に応じて、第2指定情報sp2を用いて第1ウォレットW1を指定することで、第1認証を要求する。第1制御部111は、第2要求に応じて、第1指定情報sp1を用いて第2ウォレットW2を指定することで、第2認証を要求する。これによって、第1指定情報sp1を用いることで第1ノード110の認証を要求でき、第2指定情報sp2を用いることで第2ノード210の認証を要求できる。そのため、各ノードが認証を要求する場合に、各ノードが第1情報inf1や第2情報inf2を共有することや、各ノード間で第1情報inf1や第2情報inf2を授受することを要しない。従って、第1ノード110や第2ノード210の認証が実行される場合のセキュリティ上のリスクを低減でき、第1分散型ネットワーク101と第2分散型ネットワーク201とを適切に連携できる。
【0070】
また、例えば、第1分散型ネットワーク101と第2分散型ネットワーク201とを分散型取引所(DEX:Decentralized Exchange)等の連携アプリケーションによって連携させる場合、DEX等がセキュリティ上の弱点になり得る。本実施形態では、DEX等を要しないため、このようなセキュリティリスクを抑制できる。また、第1分散型ネットワーク101と第2分散型ネットワーク201とを連携用の分散型ネットワークを介して連携させる場合、通常、第1分散型ネットワーク101および第2分散型ネットワーク201の規格を連携用の分散型ネットワークの規格に適合させることを要する。ブロックチェーンネットワークとして構成された連携用の分散型ネットワークは、リレーチェーンとも呼ばれる。本実施形態では、リレーチェーン等を要しないため、第1分散型ネットワーク101と第2分散型ネットワーク201とを簡易に連携できる。
【0071】
また、本実施形態では、第1分散型台帳DL1および第2分散型台帳DL2は、それぞれ、ブロックチェーンによって構成され、第1ウォレットW1への第1情報inf1の格納と、第1指定情報sp1の格納とは、それぞれ、第1分散型台帳DL1に追加されるブロックに格納されるトランザクションによって実現され、第2ウォレットW2への第2情報inf2の格納と、第2指定情報sp2の格納とは、それぞれ、第2分散型台帳DL2に追加されるブロックに格納されるトランザクションによって実現される。これによって、第1分散型ネットワーク101および第2分散型ネットワーク201を、それぞれ、ブロックチェーンネットワークとして構成できる。そのため、中央集権的な情報管理によるリスクをより低減できる。
【0072】
また、本実施形態では、第1指定情報sp1は、第1識別子と第2識別子との組み合わせによって第2ウォレットW2を指定し、第2指定情報sp2は、第3識別子と第4識別子との組み合わせによって第1ウォレットW1を指定する。第2制御部211は、第1要求に応じて、第1ノード110に第3識別子を送信することで、第1ウォレットW1を指定する。第1制御部111は、第2要求に応じて、第2ノード210に第1識別子を送信することで、第2ウォレットW2を指定する。そのため、各ノード間で第2識別子や第4識別子を授受することによって、簡易に第1認証や第2認証を要求できる。特に、第1認証や第2認証を要求する際に、第1識別子や第3識別子、または、第1識別子や第3識別子に相当する情報を各ノード間で授受しないようにすれば、仮に、第1認証の要求や第2認証の要求が第三者に傍受された場合であっても、認証の要求先が第三者に読み取られる可能性を低減できる。そのため、セキュリティ上のリスクをより低減できる。
【0073】
また、本実施形態では、第1ウォレットW1には、第1署名済みコードが第1非代替性トークンT1として格納され、第2ウォレットW2には、第2署名済みコードが第2非代替性トークンT2として格納される。第2制御部211は、第1要求を受けた場合、第1ノード110に第2署名済みコードを送信する。第1制御部111は、第1認証において、第1署名済みコードと第2署名済みコードとが対応するか否かを判定し、両コードが対応する場合、第2ノード210を認証する。そのため、第1非代替性トークンT1としての第1署名済みコードと、第2非代替性トークンT2としての第2署名済みコードとの対応性を検証することによって、簡易に第2ノード210を認証できる。
【0074】
また、本実施形態では、第1非代替性トークンT1として格納された第1署名済みコードには有効期限が設定され、第1制御部111は、第1認証において、有効期限が満了していない第1署名済みコードと第2署名済みコードとが対応するか否かを判定する。そのため、第1署名済みコードの有効期限が満了していない場合に第2ノード210を認証できるので、第1認証において、セキュリティ上のリスクをより抑制できる。
【0075】
また、本実施形態では、第1制御部111は、第2ノード210を認証した場合、第2ノード210に第1情報inf1を提供し、前記第1分散型台帳DL1に第1提供情報を記録する。そのため、第1分散型台帳DL1の耐改竄性を向上できる。
【0076】
また、本実施形態では、第1制御部111は、第2ノード210を認証した場合、第2ノード210に、第1データベース190から取得した第1情報inf1を提供し、第2制御部211は、第1ノード110を認証した場合、第1ノード110に、第2データベース290から取得した第2情報inf2を提供する。そのため、例えば、第2ノード210が第1情報inf1に直接アクセスする形態や、第1ノード110が第2情報inf2に直接アクセスする形態と比較して、セキュリティ上のリスクをより抑制できる。
【0077】
また、本実施形態では、第2制御部211は、第1要求が実行された場合、第1ローカル認証と第1公開鍵認証とが完了した後に、第1ノード110に第1認証を要求する。第1制御部111は、第2要求が実行された場合、第2ローカル認証と第2公開鍵認証とが完了した後に、第2ノード210に第2認証を要求する。そのため、各ノードがユーザ端末400から第1要求や第2要求を受けた場合に、ローカル認証と公開鍵認証とを用いて適切にユーザ端末400を認証した後で、各ノードの認証を要求できる。
【0078】
B.第2実施形態:
図10は、第2実施形態における認証システム10bを示す説明図である。認証システム10bは、第1実施形態と異なり、第3ネットワークシステム300を備える。認証システム10bの構成のうち、特に説明しない部分については第1実施形態と同様である。
【0079】
第3ネットワークシステム300は、複数の第3ノード310によって構成された第3分散型ネットワーク301を備える。第3分散型ネットワーク301は、認証システム10bにおける他のネットワークやユーザ端末400と同様に、インターネットINTに接続されている。第3ノード310は、第3分散型ネットワーク301からアクセス可能な第3データベース390に格納された、ユーザに関する第3情報inf3にアクセス可能に構成されている。各第3ノード310は、ブロックチェーンによって構成された第3分散型台帳を共有している。第3ノード310は、第1制御部111と同様にコンピュータによって構成された第3制御部311を備える。
【0080】
本実施形態では、第2ウォレットW2には、第2指定情報sp2に加え、第3分散型台帳の第3ウォレットW3を指定する第3指定情報sp3が、非代替性を有する第7非代替性トークンT7として格納されている。第3指定情報sp3は、例えば、第1指定情報sp1や第2指定情報sp2と同様に、多階層登録型のデータ構造によって表される。第3ウォレットW3には、第3情報inf3のURIと、第1指定情報sp1とが格納されている。第3ウォレットW3において、第1指定情報sp1は、非代替性を有する第8非代替性トークンT8として格納されている。これにより、本実施形態では、第2分散型ネットワーク201と第3分散型ネットワーク301とは、第1分散型ネットワーク101と第2分散型ネットワーク201とが連携状態にあるのと同様に、連携状態にある。第2分散型ネットワーク201と第3分散型ネットワーク301との連携は、例えば、図5の連携処理と同様の処理が、ユーザ端末400と第2ノード210と第3ノード310との間で実行されることによって実現される。
【0081】
認証システム10bでは、第1ウォレットW1には第3指定情報sp3が格納されていないが、第1制御部111は、第2ノード210を介して第3情報inf3を取得できる。より詳細には、例えば、第1制御部111は、第1指定情報sp1を用いて第2ノード210に第1ノード110を認証させた後に、第2制御部211から第3ノード310に、第2ウォレットW2に格納された第3指定情報sp3を用いて第2ノード210の認証を要求させる。第3ノード310による第2ノード210の認証は、例えば、図6および図7に示した第1認証処理と同様の処理が、ユーザ端末400と第2ノード210と第3ノード310との間で実行されることによって実現される。第3ノード310によって第2ノード210が認証された場合、第2制御部211は、例えば、第3ノード310から第3情報inf3を取得する。これによって、第1制御部111は、第2制御部211によって取得された第3情報inf3を取得できる。上記と同様に、第3制御部311は、第2ノード210を介して第1情報inf1を取得してもよい。この場合、第2ノード210による第3ノード310の認証は、例えば、図8および図9に示した第2認証処理と同様の処理が、ユーザ端末400と第2ノード210と第3ノード310との間で実行されることによって実現される。
【0082】
このようにすれば、第1ウォレットW1や第3ウォレットW3に格納されるデータ数を削減しつつ、第1分散型ネットワーク101と第3分散型ネットワーク301とを連携できる。また、第1ウォレットW1に格納された情報からは、第1ウォレットW1と第3ウォレットW3とが関連付けられていること自体が読み取られないため、セキュリティ上のリスクをより低減できる。なお、他の実施形態では、認証システム10bは、例えば、4以上の分散型ネットワークを備えていてもよい。
【0083】
C.第3実施形態:
図11は、第3実施形態における認証システム10cを示す説明図である。認証システム10cは、第1実施形態と異なり、第4ネットワークシステム500を備える。認証システム10cの構成のうち、特に説明しない部分については第1実施形態と同様である。
【0084】
第4ネットワークシステム500は、分散型ではないネットワーク501を備える。ネットワーク501は、端末装置510を含む複数のノードNdによって構成されている。ネットワーク501は、認証システム10cにおける他のネットワークやユーザ端末400と同様にインターネットINTに接続されている。本実施形態では、第4ネットワークシステム500は、医療機関における中央集権型のネットワークとして構成されている。
【0085】
端末装置510は、第4制御部511を備える。第4制御部511は、第1制御部111と同様にコンピュータによって構成され、CPUと記憶部512と入出力インターフェイスとを備える。端末装置510は、ユーザ端末400を使用するユーザに関する第4情報inf4にアクセス可能に構成されている。本実施形態では、第4情報inf4は、医療機関における患者の識別番号としてユーザに付与されたIDであり、記憶部512内のデータベースDBに格納されている。
【0086】
本実施形態では、記憶部512内のデータベースDBには、データベースDBで一意のアドレスAdを主キーとして、第4情報inf4のURIと第1指定情報sp1とが格納されている。第2ウォレットW2には、第2指定情報sp2に加え、第4指定情報sp4が、非代替性を有する第9非代替性トークンT9として格納されている。第4指定情報sp4は、端末装置510を表す第5識別子と、データベースDBで一意の第6識別子との組み合わせによって、データベースDBにおけるアドレスAdを主キーとするレコードを指定する。第4指定情報sp4は、図11において、「第5識別子:第6識別子」の形式で表されている。本実施形態では、第5識別子は、端末装置510のURNであり、図3において「TE」と表されている。第6識別子は、アドレスAdである。
【0087】
本実施形態では、上記のように第2ウォレットW2に第4指定情報sp4が格納され、かつ、データベースDBにアドレスAdを主キーとして第1指定情報sp1が格納されていることにより、ネットワーク501と第2分散型ネットワーク201とは、連携状態にある。ネットワーク501と第2分散型ネットワーク201との連携は、例えば、図5の連携処理と同様の処理が、ユーザ端末400と第2ノード210と端末装置510との間で実行されることによって実現される。この場合、図5のステップS228に相当する処理では、第4制御部511は、署名済みのチャレンジコードとアドレスAdとを第2ノード210に送信する。また、ステップS236に相当する処理では、第4制御部511は、記憶部512に、アドレスAdを主キーとして、第4情報inf4のURIや第1指定情報sp1を格納する。
【0088】
本実施形態では、第4制御部511は、ユーザ端末制御部401からの要求に応じて、第1指定情報sp1を用いて、第2ノード210に、第9非代替性トークンT9に基づいて端末装置510を認証させることを要求できる。第2ノード210による端末装置510の認証は、例えば、図6および図7に示した第1認証処理と同様の処理が、ユーザ端末400と第2ノード210と端末装置510との間で実行されることによって実現される。これによって、第4制御部511は、例えば、第2ノード210から第2情報inf2を取得できる。同様に、第2制御部211が、第4指定情報sp4を用いて、端末装置510に、アドレスAdを主キーとして格納された第1指定情報sp1に基づいて第2ノード210を認証させることを要求してもよい。この場合、端末装置510による第2ノード210の認証は、例えば、図8および図9に示した第2認証処理と同様の処理が、ユーザ端末400と第2ノード210と端末装置510との間で実行されることによって実現される。また、第4制御部511は、例えば、第3実施形態で説明したのと同様に、第2ノード210を介して第1情報inf1を取得してもよい。同様に、第1制御部111は、第2ノード210を介して第4情報inf4を取得してもよい。
【0089】
他の実施形態では、例えば、第1分散型ネットワーク101と非分散型のネットワークとが連携状態にあってもよいし、1つの分散型ネットワークと2以上の非分散型のネットワークとが連携状態にあってもよい。
【0090】
D.他の実施形態:
(D1)上記実施形態では、第1ネットワークシステム100は、個人番号の管理システムとして構成され、第2ネットワークシステム200は、医療データの管理システムとして構成されている。これに対して、各ネットワークシステムが、このように構成されていなくてもよい。例えば、第1ネットワークシステム100が医療データの管理システムとして構成され、第2ネットワークシステム200が個人番号の管理システムとして構成されてもよい。また、各ネットワークシステムが、例えば、金融データを管理するシステム等の他のシステムとして構成されてもよい。また、各ネットワークシステムが、例えば、いわゆるメタバース等の仮想空間サービスを提供するシステムとして構成されてもよい。この場合、第1情報inf1や第2情報inf2は、例えば、仮想空間上でユーザによって所有されたアイテムを表すデータであってもよい。
【0091】
(D2)上記実施形態では、第1分散型台帳DL1および第2分散型台帳DL2は、ブロックチェーンによって構成されている。これに対して、第1分散型台帳DL1や第2分散型台帳DL2は、ブロックチェーンによって構成されなくてもよく、他の方式の分散型台帳として構成されてもよい。この場合、第1分散型台帳DL1や第2分散型台帳DL2は、有向非巡回グラフや、ハッシュグラフ、ホロチェーン等によって構成されてもよい。
【0092】
(D3)上記実施形態では、第1指定情報sp1は、第1識別子と第2識別子とを含んでいるが、第1識別子と第2識別子とを含んでいなくてもよい。例えば、第1指定情報sp1は、「分散型台帳のウォレット」自体を一意に表す1の識別子によって表されてもよい。同様に、第2指定情報sp2は、第3識別子と第4識別子とを含んでいなくてもよい。
【0093】
(D4)上記実施形態では、第1制御部111は、第1認証において、第1署名済みコードと第2署名済みコードとが対応するか否かを判定し、両コードが対応する場合に第2ノード210を認証している。これに対して、第1制御部111は、第1認証において、このように第2ノード210を認証しなくてもよく、例えば、第2制御部211から送信された第2ウォレットアドレスWA2と、第1ウォレットW1に第1非代替性トークンT1として格納された第1指定情報sp1とが対応するか否かを検証し、対応する場合に第2ノード210を認証してもよい。同様に、第2制御部211は、第2認証において、第1署名済みコードと第2署名済みコードとが対応するか否かを判定しなくてもよい。
【0094】
(D5)上記実施形態では、更に、第2非代替性トークンT2として格納された第2署名済みコードや、第4非代替性トークンT4として格納された署名済みコードcc52sに有効期限が設定されてもよい。また、第1非代替性トークンT1として格納された第1署名済みコードや、第3非代替性トークンT3として格納された署名済みコードcc51sに有効期限が設定されなくてもよい。この場合、各署名済みコードに単に有効期限が設定されなくてもよい。また、例えば、図5のステップS232で、第1ウォレットW1の階層IDa1に署名データとしてヌル値を格納してもよい。この場合、トランザクションTX12には、格納データ情報として、ヌル値の署名データが記述される。これによって、図6の第1認証処理において、ステップS316で署名済みコードが対応しないため、図7に示した新たなチャレンジコードを用いた署名の検証を経た後に、第1ノード110によって第2ノード210を認証できる。そのため、第1認証におけるセキュリティ上のリスクをより低減できる。同様に、例えば、図7のステップS340で第1ウォレットW1の階層IDa2に署名データとしてヌル値を格納してもよい。
【0095】
(D6)上記実施形態では、第1制御部111は、第1分散型台帳DL1に、第1提供情報PR1を記録しているが、第1提供情報PR1を記録しなくてもよい。同様に、第2制御部211は、第2分散型台帳DL2に第2提供情報を記録しなくてもよい。
【0096】
(D7)上記実施形態では、第1制御部111は、第2ノード210を認証した場合、第2ノード210に対して、第1データベース190から取得した第1情報inf1を提供している。これに対して、第1制御部111は、このように第1情報inf1を提供しなくてもよい。例えば、第1制御部111は、第2ノード210を認証した場合、第2ノード210に対して、第1データベース190上の第1情報inf1にアクセスすることを許可してもよい。このアクセス許可は、一時的であってもよい。同様に、第2制御部211は、第1ノード110を認証した場合、第1ノード110に対して、第2データベース290から取得した第2情報inf2を提供しなくてもよい。
【0097】
(D8)上記実施形態では、第1制御部111や第2制御部211は、FIDO認証が完了した後に第2認証や第1認証を要求しているが、FIDO認証を実行しなくてもよい。例えば、第1制御部111や第2制御部211は、パスワード認証によってユーザ端末制御部401を認証した後に、第2認証や第1認証を要求してもよい。
【符号の説明】
【0098】
10,10b,10c…認証システム、100…第1ネットワークシステム、101…第1分散型ネットワーク、110…第1ノード、111…第1制御部、190…第1データベース、200…第2ネットワークシステム、201…第2分散型ネットワーク、210…第2ノード、211…第2制御部、290…第2データベース、300…第3ネットワークシステム、301…第3分散型ネットワーク、310…第3ノード、311…第3制御部、390…第3データベース、400…ユーザ端末、401…ユーザ端末制御部、403…記憶部、404…プログラム、410…表示部、500…第4ネットワークシステム、501…ネットワーク、510…端末装置、511…第4制御部、512…記憶部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
【手続補正書】
【提出日】2024-01-15
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
第1分散型台帳を共有し、ユーザに関する第1情報にアクセス可能な複数の第1ノードによって構成された第1分散型ネットワークと、
第2分散型台帳を共有し、前記ユーザに関する第2情報にアクセス可能な複数の第2ノードによって構成された第2分散型ネットワークと、
前記ユーザによって使用され、ユーザ端末制御部を有するユーザ端末と、を備え、
前記第1ノードは、第1制御部を有し、
前記第2ノードは、第2制御部を有し、
前記第1分散型台帳の第1ウォレットには、前記第1情報のURIと、前記第2分散型台帳の第2ウォレットを指定する第1指定情報と、が格納され、前記第1指定情報は、非代替性を有するトークンである第1非代替性トークンとして格納され、
前記第2分散型台帳の前記第2ウォレットには、前記第2情報のURIと、前記第1ウォレットを指定する第2指定情報と、が格納され、前記第2指定情報は、非代替性を有するトークンである第2非代替性トークンとして格納され、
前記第2制御部は、前記ユーザ端末制御部からの第1要求に応じて、前記第2指定情報を用いて前記第1ウォレットを指定することで、前記第1ノードに、前記第1非代替性トークンに基づいて前記ユーザのために前記第2ノードを認証する第1認証を要求し、
前記第1制御部は、前記ユーザ端末制御部からの第2要求に応じて、前記第1指定情報を用いて前記第2ウォレットを指定することで、前記第2ノードに、前記第2非代替性トークンに基づいて前記ユーザのために前記第1ノードを認証する第2認証を要求する、認証システム。
【請求項2】
請求項1に記載の認証システムであって、
前記第1分散型台帳および前記第2分散型台帳は、それぞれ、ブロックチェーンによって構成され、
前記第1ウォレットへの前記第1情報のURIの格納と、前記第1指定情報の格納とは、それぞれ、前記第1分散型台帳に追加されるブロックに格納されるトランザクションによって実現され、
前記第2ウォレットへの前記第2情報のURIの記録と、前記第2指定情報の記録とは、それぞれ、前記第2分散型台帳に追加されるブロックに格納されるトランザクションによって実現される、認証システム。
【請求項3】
請求項1に記載の認証システムであって、
前記第1指定情報は、前記第2分散型ネットワークを表す第1識別子と、前記第2分散型台帳において一意の第2識別子とを含み、前記第1識別子と前記第2識別子との組み合わせによって前記第2ウォレットを指定し、
前記第2指定情報は、前記第1分散型ネットワークを表す第3識別子と、前記第1分散型台帳において一意の第4識別子とを含み、前記第3識別子と前記第4識別子との組み合わせによって前記第1ウォレットを指定し、
前記第2制御部は、前記第1要求に応じて、前記第1ノードに前記第3識別子を送信することによって、前記第1ウォレットを指定し、
前記第1制御部は、前記第2要求に応じて、前記第2ノードに前記第2識別子を送信することによって、前記第2ウォレットを指定する、認証システム。
【請求項4】
請求項1に記載の認証システムであって、
前記第1ウォレットには、前記ユーザ端末の秘密鍵を用いて署名済みの第1認証コードである第1署名済みコードが、前記第1非代替性トークンとして格納され、
前記第2ウォレットには、前記秘密鍵を用いて署名済みの、前記第1認証コードと対応する第2認証コードである、第2署名済みコードが、前記第2非代替性トークンとして格納され、
前記第2制御部は、前記第1要求が実行された場合、前記第1ノードに前記第2署名済みコードを送信し、
前記第1制御部は、前記第1認証が要求された場合、前記第1署名済みコードと前記第2署名済みコードとが対応するか否かを判定し、前記第1署名済みコードと前記第2署名済みコードとが対応する場合、前記第2ノードを認証する、認証システム。
【請求項5】
請求項4に記載の認証システムであって、
前記第1非代替性トークンとして格納された前記第1署名済みコードには、有効期限が設定され、
前記第1制御部は、前記第1認証が要求された場合、前記有効期限が満了していない前記第1署名済みコードと前記第2署名済みコードとが対応するか否かを判定する、認証システム。
【請求項6】
請求項1に記載の認証システムであって、
前記第1制御部は、前記第2ノードを認証した場合、前記第2ノードに前記第1情報を提供し、前記第1分散型台帳に、前記第2ノードに前記第1情報を提供したこと表す情報を記録する、認証システム。
【請求項7】
請求項1に記載の認証システムであって、
前記第1情報は、前記第1分散型ネットワークからアクセス可能な第1データベースに格納され、
前記第2情報は、前記第2分散型ネットワークからアクセス可能な第2データベースに格納され、
前記第1制御部は、前記第2ノードを認証した場合、前記第2ノードに、前記第1データベースから取得した前記第1情報を提供し、
前記第2制御部は、前記第1ノードを認証した場合、前記第1ノードに、前記第2データベースから取得した前記第2情報を提供する、認証システム。
【請求項8】
請求項1から7のいずれか一項に記載の認証システムであって、
前記第2制御部は、前記第1要求が実行された場合、前記ユーザ端末による前記ユーザの第1ローカル認証と、前記第1ローカル認証の後に前記第2制御部によって実行される前記ユーザ端末の第1公開鍵認証と、が完了した後に、前記第1ノードに前記第1認証を要求し、
前記第1制御部は、前記第2要求が実行された場合、前記ユーザ端末による前記ユーザの第2ローカル認証と、前記第2ローカル認証の後に前記第1制御部によって実行される前記ユーザ端末の第2公開鍵認証と、が完了した後に、前記第2ノードに前記第2認証を要求する、認証システム。
【請求項9】
ユーザによって使用されるユーザ端末であって、
ユーザ端末制御部を備え、
前記ユーザ端末制御部は、
第1分散型台帳を共有する複数のノードによって構成された第1分散型ネットワークに属し、前記ユーザに関する第1情報にアクセス可能な第1ノードに対して、第2要求を実行することが可能に構成され、
第2分散型台帳を共有する複数のノードによって構成された第2分散型ネットワークに属し、前記ユーザに関する第2情報にアクセス可能な第2ノードに対して、第1要求を実行することが可能に構成され、
前記第1分散型台帳の第1ウォレットには、前記第1情報のURIと、前記第2分散型台帳の第2ウォレットを指定する第1指定情報と、が格納され、前記第1指定情報は、非代替性を有するトークンである第1非代替性トークンとして格納され、
前記第2分散型台帳の前記第2ウォレットには、前記第2情報のURIと、前記第1ウォレットを指定する第2指定情報と、が格納され、前記第2指定情報は、非代替性を有するトークンである第2非代替性トークンとして格納され、
前記第1要求が実行された場合、前記第2ノードの第2制御部は、前記第2指定情報を用いて前記第1ウォレットを指定することで、前記第1ノードに、前記第1非代替性トークンに基づいて前記ユーザのために前記第2ノードを認証する第1認証を要求し、
前記第2要求が実行された場合、前記第1ノードの第1制御部は、前記第1指定情報を用いて前記第2ウォレットを指定することで、前記第2ノードに、前記第2非代替性トークンに基づいて前記ユーザのために前記第1ノードを認証する第2認証を要求し、
前記ユーザ端末制御部は、
前記第1要求に対する前記第2ノードからのレスポンスに応じて、前記ユーザ端末による前記ユーザの第1ローカル認証を実行し、
前記第2要求に対する前記第1ノードからのレスポンスに応じて、前記ユーザ端末による前記ユーザの第2ローカル認証を実行し、
前記第2制御部は、前記第1ローカル認証の後に前記ユーザ端末の第1公開鍵認証を実行し、前記第1公開鍵認証が完了した後に、前記第1ノードに前記第1認証を要求し、
前記第1制御部は、前記第2ローカル認証の後に前記ユーザ端末の第2公開鍵認証を実行し、前記第2公開鍵認証が完了した後に、前記第2ノードに前記第2認証を要求する、ユーザ端末。
【請求項10】
第1分散型ネットワークを構成する複数の第1ノードによって共有された第1分散型台帳の第1ウォレットに、ユーザに関する第1情報であって、前記第1ノードがアクセス可能な第1情報のURIを、前記第1ノードが格納する工程と、
前記第1ウォレットに、第2分散型ネットワークを構成する複数の第2ノードによって共有された第2分散型台帳の第2ウォレットを指定する第1指定情報を、第1非代替性トークンとして、前記第1ノードが格納する工程と、
前記第2ウォレットに、前記ユーザに関する第2情報であって、前記第2ノードがアクセス可能な第2情報のURIを、前記第2ノードが格納する工程と、
前記第2ウォレットに、前記第1ウォレットを指定する第2指定情報を、第2非代替性トークンとして、前記第2ノードが格納する工程と、
前記第2ノードが、前記第2指定情報を用いて前記第1ウォレットを指定することで、前記1ノードに対して、前記第1非代替性トークンに基づいて、前記2ノードを認証することを要求する工程と、
前記第1ノードが、前記第2ノードに対して、前記第1指定情報を用いて前記第2ウォレットを指定することで、前記第2非代替性トークンに基づいて前記ユーザのために前記第1ノードを認証することを要求する工程と、を備える、認証方法。
【請求項11】
ユーザによって使用されるユーザ端末を制御するコンピュータが実行するプログラムであって、
前記コンピュータに、
第1分散型台帳を共有する複数のノードによって構成された第1分散型ネットワークに属し、前記ユーザに関する第1情報にアクセス可能な第1ノードに対する第1要求を実行させる機能と、
第2分散型台帳を共有する複数のノードによって構成された第2分散型ネットワークに属し、前記ユーザに関する第2情報にアクセス可能な第2ノードに対する第2要求を実行させる機能と、を実現させ、
前記第1分散型台帳の第1ウォレットには、前記第1情報のURIと、前記第2分散型台帳の第2ウォレットを指定する第1指定情報と、が格納され、前記第1指定情報は、非代替性を有するトークンである第1非代替性トークンとして格納され、
前記第2分散型台帳の前記第2ウォレットには、前記第2情報のURIと、前記第1ウォレットを指定する第2指定情報と、が格納され、前記第2指定情報は、非代替性を有するトークンである第2非代替性トークンとして格納され、
前記第1要求が実行された場合、前記第2ノードの第2制御部は、前記第2指定情報を用いて前記第1ウォレットを指定することで、前記第1ノードに、前記第1非代替性トークンに基づいて前記ユーザのために前記第2ノードを認証する第1認証を要求し
前記第2要求が実行された場合、前記第1ノードの第1制御部は、前記第1指定情報を用いて前記第2ウォレットを指定することで、前記第2ノードに、前記第2非代替性トークンに基づいて前記ユーザのために前記第1ノードを認証する第2認証を要求する、プログラム。