JP7215342B2 - 通信プログラム、通信方法、および、通信装置 - Google Patents

通信プログラム、通信方法、および、通信装置 Download PDF

Info

Publication number
JP7215342B2
JP7215342B2 JP2019105844A JP2019105844A JP7215342B2 JP 7215342 B2 JP7215342 B2 JP 7215342B2 JP 2019105844 A JP2019105844 A JP 2019105844A JP 2019105844 A JP2019105844 A JP 2019105844A JP 7215342 B2 JP7215342 B2 JP 7215342B2
Authority
JP
Japan
Prior art keywords
attribute
definition
information
communication device
cluster
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019105844A
Other languages
English (en)
Other versions
JP2020201539A (ja
Inventor
大 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2019105844A priority Critical patent/JP7215342B2/ja
Priority to EP20177405.6A priority patent/EP3748904B1/en
Priority to CN202010494595.6A priority patent/CN112054988B/zh
Priority to US16/891,159 priority patent/US11652645B2/en
Publication of JP2020201539A publication Critical patent/JP2020201539A/ja
Application granted granted Critical
Publication of JP7215342B2 publication Critical patent/JP7215342B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0686Additional information in the notification, e.g. enhancement of specific meta-data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/06Message adaptation to terminal or network requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/006Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)

Description

本発明は、通信プログラム、通信方法、および、通信装置に関する。
オンラインショッピング、クレジットカードの発行申し込み、銀行の口座開設などの様々なサービスを利用する際に、サービスの利用者がサービスの提供者に電子証明書を提示することがある。電子証明書は認証局によって発行され得る。この場合、認証局は、ユーザに対して身元確認などを実施し、その結果に基づいて証明書を発行する。ユーザは得られた電子証明書をサービスの提供者に提示する。サービスの提供者は、証明書のフォーマットを予め記憶しているので、電子証明書で証明されている情報を取得できる。
また、近年、仮想通貨を実現する基盤として登場した分散台帳技術が注目されている。分散台帳を用いると、システムの中央管理者が存在しなくても情報の改ざんを防ぐことができるため、仮想通貨以外の領域への応用も検討されている。
関連する技術として、信頼当事者のサービスにアクセスするためのトークンをアイデンティティプロバイダから取得する方法が知られている(例えば、特許文献1など)。第1のセキュリティドメインに属する装置が、第2のセキュリティドメインに対応したクレデンシャルBと第1のセキュリティドメインのシステムでのクレデンシャルAを対応付けて記憶するシステムも提案されている(例えば、特許文献2)。このシステムでは、第1のセキュリティドメインに属する装置は、クレデンシャルAを用いてクレデンシャルBをリポジトリサーバから取得し、第2のセキュリティドメイン中の通信先の装置にクレデンシャルBを送信する。
特表2011-525028号 特開2008-71226号
中央管理者が存在しないシステムでは、証明書の発行なども特定の認証局以外の装置によって行われる可能性がある。例えば、システム中の任意の装置が電子証明書を発行可能なシステムも設計され得る。しかし、電子証明書の発行が特定の装置以外でも行われる場合、電子証明書により証明される情報の種類を表す名称が発行元の装置によって異なってしまう可能性がある。さらに、電子証明書を要求している提供者と電子証明書の発行元の間で、同じ情報について異なる名称を使用する可能性もある。この場合、ユーザが提供者の装置から要求された情報を含む電子証明書を提供者の装置に送付しても、要求された情報に対応付けられた名称は提供者が使用している名称と異なることから提供者の装置が証明書中の情報を認識せず、検証に失敗してしまう。電子証明書を用いた情報の検証に失敗すると、提供者はユーザに要求した情報についてユーザから自己申告を受け付けた上で、別途、ユーザからの申告が正しいかを検証することになってしまうため、コストや時間がかかってしまい、検証処理の効率が悪くなってしまう。
本発明は、1つの側面として、検証処理の効率の低下を防止することを目的とする。
ある1つの態様にかかる通信プログラムは、通信装置で実行される。通信装置は、電子証明書に含まれるユーザ情報の属性と前記属性の定義の対応関係を記録した分散台帳を共有している複数の装置のいずれかに接続する第1の装置から、第1の属性に対応付けられた情報を含む電子証明書を取得する。通信装置は、前記複数の装置のいずれかに接続する第2の装置から第2の属性に対応付けられた情報の要求を受信すると、前記第1の属性に対応付けられた第1の定義、および、前記第2の属性に対応付けられた第2の定義を、前記複数の装置のいずれかから取得する。通信装置は、前記第1の定義と前記第2の定義が一致する場合、前記第1の属性と前記第2の属性が同じ定義を有することを通知するメッセージとともに、前記第1の属性に対応付けられた情報を含む電子証明書を、前記第2の装置に送信する。
検証処理の効率の低下を防止できる。
実施形態にかかる通信方法の例を説明する図である。 通信装置の構成の例を説明する図である。 通信装置のハードウェア構成の例を説明する図である。 分散台帳を用いて共有される情報の例を説明する図である。 クレデンシャルのフォーマットの例を説明する図である。 ネットワークの例を説明する図である。 クレデンシャルの送信のために行われる処理の例を説明する図である。 属性対応テーブルの例を説明する図である。 属性対応メッセージの例を説明する図である。 情報を要求された通信装置が行う処理の例を説明するフローチャートである。 属性対応メッセージを受信した通信装置で行われる処理の例を説明するフローチャートである。 通信装置が行う検証処理の例を説明するフローチャートである。 第2の実施形態で行われる通信の例を説明する図である。 各コンソーシアムで共有される属性定義の例を説明する図である。 属性対応テーブルの例を説明する図である。 属性対応メッセージの例を説明する図である。 第2の実施形態で行われる処理の例を説明する図である。 第2の実施形態で行われる処理の例を説明する図である。 クレデンシャルの送信処理の例を説明する図である。 第2の実施形態で行われる処理の例を説明するフローチャートである。 第2の実施形態で行われる処理の例を説明するフローチャートである。
図1は、実施形態にかかる通信方法の例を説明する図である。図1では、発行者2が電子証明書(クレデンシャル)を発行する。保持者3は、保持者3に関する情報を証明する電子証明書を発行者2に要求するものとする。保持者3は、名前、住所など、様々な属性の情報を有する。なお、保持者3は、ユーザ個人であってもよく、また、組織などであってもよい。さらに、検証者4は、適宜、保持者3に対して保持者3に関する情報の証明を求めるものとする。また、発行者2は通信装置20aを用いる。同様に、保持者3は通信装置20bを使用し、検証者4は通信装置20cを使用するものとする。
ネットワーク中には、1つ以上のコンソーシアム(クラスタ)が含まれる。各コンソーシアムは、分散台帳15を共有し得る任意の形式のクラスタであり、例えば、ブロックチェーン技術におけるコンソーシアムであってもよい。
コンソーシアム1に参加している複数のノード10(10a~10c)は、分散台帳15を共有する。図1の例では3台のノード10が図示されているが、コンソーシアム1に含まれるノード10の数は実装に応じて任意に変更され得る。分散台帳15は、属性定義16を含み、オプションとして、検証用公開鍵情報17も含み得る。属性定義16は、電子証明書で証明されるユーザ情報の種類を表す名称(属性)と属性の定義の対応関係である。例えば、属性定義16は、「名前」という属性は、ユーザの苗字を漢字で表した文字列であることを含み得る。また、1つの定義に複数の属性が対応付けられていてもよい。例えば、属性定義16において、「氏名」という属性がユーザの苗字を漢字で表した文字列であることも、併せて記録されていてもよい。なお、以下の説明では、属性の各々に対して、その属性を識別するための識別情報が割り当てられているものとする。図1の例では、「名前」という属性にA1、「氏名」という属性にA10という識別情報が割り当てられているとする。検証用公開鍵情報17は、各通信装置20が暗号化に使用可能な秘密鍵の対になった公開鍵などの情報を含む。
ノード10の各々は、分散台帳15中の属性定義16を参照することにより、個々の属性に対応付けられた情報の定義を特定できる。通信装置20aは、ノード10aに接続しているので、適宜、ノード10aから属性に対応付けられている定義の内容や、他の通信装置20で暗号化された情報を復号するための公開鍵を取得できる。同様に、通信装置20bはノード10bから属性と定義の対応付けや公開鍵などの情報を取得し、通信装置20cはノード10cから属性と定義の対応付けや公開鍵などの情報を取得する。
例えば、保持者3が自分の名前についての証明を発行者2に要求したとする。発行者2は、通信装置20aを用いて保持者3についての証明書を発行する。このとき、通信装置20aは、「名前」(A1)という属性を含む電子証明書を生成して、通信装置20bに送信する(ステップS1)。
一方、保持者3の通信装置20bは、検証者4の通信装置20cから「氏名」という属性(A10)の情報の要求を受信したとする。通信装置20bは、ノード10bから、「氏名」(A10)という属性に対する定義と、「名前」(A1)という属性に対する定義を取得して、両者を比較する。ここでは、「氏名」と「名前」のいずれも、ユーザの苗字を漢字で表した文字列に対応付けられている。そこで、通信装置20bは、「氏名」(A10)という属性に対する定義と「名前」(A1)という属性に対する定義が等しいことを通信装置20cに通知する。さらに、通信装置20bは、通信装置20aから取得した電子証明書を通信装置20cに送信する(ステップS2)。
通信装置20cは、適宜、ノード10cから属性定義16に記録されている情報を取得することにより、属性=A10(氏名)と属性=A1(名前)では定義が等しいと判定したとする。すると、通信装置20cは、通信装置20bから受信した電子証明書中の属性=A1(名前)の情報を属性=A10(氏名)の情報として読み替えることにより、電子証明書を用いた検証処理に成功する。このため、通信装置20cは、通信装置20bに対するサービスの提供等を行うことができる。
ネットワーク中の複数の通信装置20の間で使用する属性が異なっていたとしても、その属性に対応付けられている情報の定義が等しい場合は、いずれの属性も同じ情報を表す。実施形態にかかる通信装置20は、属性定義16を含む分散台帳15を共有するノード10から属性定義16を取得することにより、要求した情報の属性と同じ定義を有する電子証明書中の属性に対応付けられた情報を用いて検証処理を行うことができる。このため、証明書の発行元の通信装置20と証明書の検証を行う通信装置20で異なる属性定義を用いていても、電子証明書を用いた検証を行うことができる。
なお、図1は一例であり、実装に応じた改変が行われ得る。例えば、ネットワーク中のノード10や通信装置20の数は任意に変更され得る。また、通信装置20は、通信装置20間の通信の際に、適宜、秘密鍵を用いた暗号化処理を行ってもよい。受信した情報が暗号化されている場合、通信装置20は、送信元の通信装置20に対応付けられた公開鍵を用いた復号化処理の後で検証処理などを行うことができる。さらに、発行者2、保持者3、検証者4の各々は、通信装置20を操作してもよく、また、通信装置20を操作するための端末を介して通信装置20を制御してもよい。
さらに、通信装置20のいずれも、電子証明書の発行、取得、および、検証が可能である。すなわち、通信装置20a~20cの各々の通信装置20が行っている処理は任意の通信装置20で行われ得る。
<装置構成>
図2は、通信装置20の構成の例を説明する図である。通信装置20は、通信部30、制御部40、および、記憶部50を備える。通信部30は、受信部31と送信部32を有する。受信部31は、ノード10、端末、他の通信装置20などからパケットを受信する。送信部32は、ノード10、端末、他の通信装置20などにパケットを送信する。
制御部40は、取得部41、判定部42、生成部43、および、アプリケーション処理部44を備える。取得部41は、クレデンシャル(電子証明書)に含まれている属性、および、他の通信装置20から要求された情報に対応付けられた属性の定義を、ノード10から取得する。判定部42は、ノード10から取得した情報を用いて、複数の属性間で定義が一致するかを判定する。生成部43は、複数の属性間で定義が一致すると判定部42が判定した場合、定義が一致すると判定した属性同士を対応付けるためのメッセージ(属性対応メッセージ)を生成する。アプリケーション処理部44は、アプリケーションを用いてクレデンシャルの発行やクレデンシャルの検証などを行う。
記憶部50は、属性対応テーブル51および秘密鍵52を有する。属性対応テーブル51は、判定部42で得られた判定結果を記録する。秘密鍵52は、通信装置20が他の通信装置20にクレデンシャルなどを送信するときの暗号化に使用される。
図3は、通信装置20のハードウェア構成の例を説明する図である。通信装置20は、プロセッサ101、メモリ102、バス105、ネットワークインタフェース109を備える。さらに、通信装置20は、入力装置103、出力装置104、記憶装置106、可搬記憶媒体駆動装置107の1つ以上を有していても良い。
プロセッサ101は、任意の処理回路であり、例えば、Central Processing Unit(CPU)とすることができる。プロセッサ101は、制御部40として動作する。プロセッサ101は、例えば、メモリ102や記憶装置106に記憶されたプログラムを実行することができる。メモリ102は、プロセッサ101の動作により得られたデータや、プロセッサ101の処理に用いられるデータを、適宜、記憶する。記憶装置106は、プログラムやデータなどを格納し、格納している情報を、適宜、プロセッサ101などに提供する。メモリ102や記憶装置106は、通信装置20において、記憶部50として動作する。
バス105は、プロセッサ101、メモリ102、入力装置103、出力装置104、記憶装置106、可搬記憶媒体駆動装置107、ネットワークインタフェース109を、相互にデータの送受信が可能になるように接続する。入力装置103は、キーボード、マウス、マイク、カメラなど、情報の入力に使用される任意の装置であり、出力装置104は、ディスプレイなど、データの出力に使用される任意の装置である。可搬記憶媒体駆動装置107は、メモリ102や記憶装置106のデータを可搬記憶媒体108に出力することができ、また、可搬記憶媒体108からプログラムやデータ等を読み出すことができる。ここで、可搬記憶媒体108は、Compact Disc Recordable(CD-R)やDigital Versatile Disk Recordable(DVD-R)を含む、持ち運びが可能な任意の記憶媒体とすることができる。ネットワークインタフェース109は、適宜、通信装置20が他の装置と通信するための処理を行う。ネットワークインタフェース109は、通信部30として動作する。
<第1の実施形態>
以下、第1の実施形態を、分散台帳15を用いて共有される情報の例、クレデンシャルの取得、取得済みのクレデンシャルの利用、属性対応メッセージを受信した通信装置20での処理、クレデンシャルを受信した通信装置20の処理に分けて説明する。以下の説明では、処理を行っている通信装置20を明確にするために、処理を行っている通信装置20の符号の末尾のアルファベットを通信装置20の部分の符号の末尾に示すことがある。例えば、受信部31aは通信装置20aの受信部31であり、取得部41bは通信装置20bの取得部41である。
(1)分散台帳15を用いて共有される情報の例
図4は、分散台帳15を用いて共有される情報の例を説明する図である。分散台帳15には、属性定義16と検証用公開鍵情報17が含まれている。属性定義16は、属性定義ID、属性、属性定義を含む。属性定義16は、分散台帳15を共有するいずれかのノード10に接続する通信装置20が使用する属性の全てについて、その定義と属性を識別する情報を記録している。ここで、属性定義IDは、属性を識別する識別情報である。属性定義は、各々の属性で表される情報の定義である。例えば、属性定義ID=A1の属性は、「名前」であり、苗字を漢字で表記する。同様に、属性定義ID=A2の属性は「発行者」であり、クレデンシャルの発行者として動作している通信装置20に割り当てられた識別情報(AgentID)を数字で表記する。他の属性についても同様に属性定義IDと属性定義が対応付けられている。
図4の例では、苗字は属性定義ID=A1、A10、A11のいずれかで表され得る。属性定義ID=A1の属性は「名前」であり、属性定義ID=A10の属性は「氏名」であるが、いずれも属性定義は、苗字の漢字表記に対応付けられている。従って、属性定義ID=A1に対応する情報と属性定義ID=A10に対応する情報は、属性の名称は異なるが、同じユーザ等については互換性のある情報として使用され得る。一方、属性定義ID=A1と属性定義ID=A11のいずれも属性は「名前」であるが、属性定義ID=A11に対応付けられた属性定義は、苗字のローマ字表記である。従って、属性定義ID=A1に対応する情報と属性定義ID=A11に対応する情報は、属性の名称は一致するが、互いに互換性はない。各通信装置20の判定部42は、適宜、図4を参照しながら説明したように複数の属性についての属性定義を比較することにより、2つの属性の間に互換性があるかを判定できる。
検証用公開鍵情報17には、通信装置、AgentID、公開鍵、アドレスが対応付けられている。AgentIDは、エントリ中の通信装置20に割り当てられた識別情報である。公開鍵は、エントリ中の通信装置20が暗号化に使用する秘密鍵の対となっている公開鍵である。アドレスは、エントリ中の通信装置20に割り当てられたアドレスである。例えば、通信装置20aにはAgentID=3とアドレス=IPaが割り当てられており、通信装置20aが使用する秘密鍵の対となる公開鍵はKeyBである。通信装置20bにはAgentID=1とアドレス=IPbが割り当てられており、通信装置20bが使用する秘密鍵の対となる公開鍵はKeyDである。同様に、通信装置20cにはAgentID=2とアドレス=IPcが割り当てられており、通信装置20cが使用する秘密鍵の対となる公開鍵はKeyFである。
分散台帳15には、属性定義16と検証用公開鍵情報17以外の情報も含まれ得る。分散台帳15は、コンソーシアム1に参加しているノード10間で共有されるので、通信装置20の各々は、その通信装置20が接続しているノード10を介して、分散台帳15中の情報を取得できる。
(2)クレデンシャルの取得
以下、コンソーシアム1中のノード10間で図4に示す情報が分散台帳15を用いて共有されている場合について、クレデンシャルの取得処理の例を説明する。以下の説明では、通信装置20aが使用する秘密鍵はKeyAであり、KeyAのペアとなる公開鍵はKeyBであるとする。同様に、通信装置20bが使用する秘密鍵はKeyCであり、KeyCのペアとなる公開鍵はKeyDであるとする。さらに、通信装置20cが使用する秘密鍵はKeyEであり、KeyEのペアとなる公開鍵はKeyFであるとする。
図5のスキーマ定義18は、クレデンシャルのフォーマットの例である。スキーマ定義18には、スキーマIDとクレデンシャルに含められる各情報の種類を表す属性の識別情報が記録される。スキーマIDはスキーマ定義18を識別する識別情報である。図5の例では、スキーマIDはSC_1である。SC_1で識別されるスキーマ定義18には、属性の識別情報として、A2とA1も含まれている。
図5のCLは、スキーマ定義18を用いて生成されたクレデンシャルの例である。CLに示すクレデンシャルには、スキーマID=SC_1、A2=3、A1=鈴木という情報が含まれている。従って、CLに示すクレデンシャルには、AgentID=3が割り当てられた通信装置20aによってスキーマID=SC_1のスキーマ定義18を用いて生成されたクレデンシャルであることと、ユーザの苗字が「鈴木」であることが記録されている。クレデンシャルの他に、クレデンシャルを識別するための識別情報(クレデンシャルID)も、クレデンシャルCLに含まれる。図5のCLは、クレデンシャルID=CID_1のクレデンシャルである。
スキーマ定義18は、分散台帳15を用いてノード10間で共有されていてもよい。なお、各通信装置20は、自装置がクレデンシャルを発行する際に使用するスキーマ定義18を予め記憶できる。
図6は、ネットワークの例を説明する図である。図6の例では、コンソーシアム1にノード10a、ノード10b、および、ノード10cが参加している。ノード10aに通信装置20aが接続しており、通信装置20aに端末5aが接続している。以下の説明では、端末5aは、クレデンシャルの発行者2が操作する端末であるとする。ノード10bに通信装置20bが接続しており、通信装置20bに端末5bが接続している。以下の説明では、端末5bは、クレデンシャルの保持者3が操作する端末であるとする。ノード10cに通信装置20cが接続しており、通信装置20cに端末5cが接続している。以下の説明では、端末5cは、クレデンシャルの検証者4が操作する端末であるとする。なお、図6はネットワークの一例であり、ノード10、通信装置20、端末5の数や接続関係は、通信装置20の各々がいずれかのノード10に接続できる任意の形態に変更され得る。例えば、通信装置20a~20cの3台がすべてノード10bに接続されていてもよい。
図6のネットワークにおいて、保持者3が発行者2からクレデンシャルを取得する際に行われる処理の例を説明する。まず、保持者3がクレデンシャルを取得する旨を発行者2に通知する。この通知は、通信装置20や端末5を介して行われてもよく、また、端末5bと端末5aの間の直接的な通信によって行われてもよい。さらに、発行者2がクレデンシャルの発行を行う対象を認識できる任意の方法が使用され得るので、例えば、保持者3から発行者2へのメールや郵送による申し込みが行われてもよい。
発行者2は、保持者3がクレデンシャルの発行を要求していることを認識すると、端末5aから通信装置20aにクレデンシャルで証明する情報を含むデータ(証明用データ)を送信する(ステップS11)。なお、端末5aは、証明用データとともにクレデンシャルの送信先の情報として通信装置20bのアドレス等を通信装置20aに送信する。
通信装置20aの受信部31aは、証明用データを受信すると、アプリケーション処理部44aに出力する。アプリケーション処理部44aは、クレデンシャルのフォーマットに応じてクレデンシャルを生成する。なお、通信装置20aは、図5に示すスキーマ定義18を予め記憶部50aに記憶しているとする。この例では、アプリケーション処理部44aは、図5のCLに示すクレデンシャルを生成したとする。アプリケーション処理部44aは、生成したクレデンシャルを、秘密鍵52a(KeyA)で暗号化する。送信部32aは、暗号化後のクレデンシャルを通信装置20bに送信する(ステップS12)。
通信装置20bの受信部31bは、受信したクレデンシャルをアプリケーション処理部44bに出力する。クレデンシャルが暗号化されているので、取得部41bは、通信装置20aに対応付けられた公開鍵をノード10bに要求する(ステップS13)。ノード10bは、取得部41bの要求に応じて、通信装置20aに対応付けられた公開鍵(KeyB)を送信する(ステップS14)。このため、アプリケーション処理部44bは、得られた公開鍵を用いて、クレデンシャルを復号化できる。
(3)取得済みのクレデンシャルの使用
以下、保持者3が発行者2から取得したクレデンシャルを検証者4に提示する場合を例として、取得済みのクレデンシャルを使用する場合に行われる処理の例を説明する。以下の例では、保持者3が検証者4に提示するクレデンシャルは図5に示すクレデンシャルCLであるとする。
図7は、クレデンシャルの送信のために行われる処理の例を説明する図である。クレデンシャルを提示しようとする保持者3は、端末5bを用いて、端末5bと通信する通信装置20が通信装置20bであることを通知する情報を、検証者4が使用する端末5cに通知する(ステップS21)。端末5cは、端末5bから受信した情報に基づいて、端末5bを使用しているユーザが通信装置20bを通じてクレデンシャルを提示しようとしていると認識する。そこで、端末5cは、取得しようとするユーザの情報がユーザの氏名であることと、情報の要求先が通信装置20bであることを通信装置20cに通知する(ステップS22)。
通信装置20cの受信部31cは、端末5cからの要求を受信すると、アプリケーション処理部44cに出力する。アプリケーション処理部44cは要求する情報の属性定義IDと要求先のアドレスを特定する。なお、アプリケーション処理部44cは、通信装置20cに接続している端末5cが取得する情報の属性に対応付けられている属性定義IDを予め記憶しているものとする。この例では、アプリケーション処理部44cは、端末5cが要求する「氏名」という属性を識別する属性定義IDはA10であるとする。情報の要求先である通信装置20bのアドレスを記憶部50に記憶していない場合、アプリケーション処理部44cは、ノード10cに通信装置20bのアドレスを要求する。ノード10cは、分散台帳15中の検証用公開鍵情報17を参照することにより、通信装置20bに割り当てられたアドレスを返信する。要求する情報に対応する属性定義IDと要求先のアドレスが特定できると、アプリケーション処理部44cは、情報の要求先の通信装置20に属性定義IDを提示して情報を要求するための処理を行う。図7の例では、アプリケーション処理部44cは、通信装置20bに対する属性定義ID=A10の情報の要求を、送信部32c経由で送信する(ステップS23)。
通信装置20bのアプリケーション処理部44bは、受信部31bを介して、属性定義ID=A10の情報の要求を取得する。ここで、属性定義ID=A10は、端末5bで使用される属性ではなく、また、これまでに通信装置20bが受信したクレデンシャルにも使用されていないとする。アプリケーション処理部44bは、要求されている属性定義IDが属性対応テーブル51bで他の属性定義IDと対応付けられているかを判定する。ここでは、属性定義ID=A10は属性対応テーブル51bに記録されていないとする。すると、アプリケーション処理部44bは、属性定義ID=A10に対応付けられた定義が不明であることを取得部41bと判定部42bに通知する。
取得部41bは、取得済みのクレデンシャルに含まれている属性の属性定義IDに対応付けられている属性定義と、定義が不明であることが通知された属性定義IDに対応付けられている属性定義をノード10bに要求する(ステップS24)。この例では、属性定義ID=A10に対応付けられた定義が不明である。さらに、通信装置20bは、クレデンシャルCL(図5)に含まれている属性定義ID=A2およびA1の情報を取得している。そこで、取得部41は、ノード10に対して属性定義ID=A1、A2、A10の各々について、属性定義を要求する。
ノード10bは、分散台帳15中の属性定義16(図4)を参照することにより、要求された属性定義を特定すると、特定した結果を取得部41bに通知する(ステップS15)。この例では、以下の3つの定義情報が取得部41bに通知される。
定義情報1
属性定義ID=A1
属性 =名前
属性定義 =苗字、漢字
定義情報2
属性定義ID=A2
属性 =発行者
属性定義 =AgentID、数字
定義情報3
属性定義ID=A10
属性 =氏名
属性定義 =苗字、漢字
取得部41bは、ノード10bから取得した情報を判定部42bに出力する。
判定部42bは、入力された情報中の属性定義を比較する。アプリケーション処理部44bから定義が不明であると通知された属性の属性定義IDがA10であるため、判定部42は、属性定義ID=A10に対応付けられている属性定義をキーとして、同じ属性定義に対応付けられた属性定義IDがあるかを判定する。ここでは、属性定義ID=A10に対応付けられている属性定義が苗字の漢字表記であるので、判定部42bは、属性定義ID=A10と属性定義ID=A1の間で属性定義が一致すると判定する。判定部42bは、判定結果を属性対応テーブル51bに記録する。
図8は、属性定義ID=A10と属性定義ID=A1の間で属性定義が一致すると判定された場合に生成される属性対応テーブル51の例である。属性対応テーブル51は、属性定義が等しい2つの属性の組み合わせ同士を対応付ける。ここで、属性定義が等しい2つの属性は、情報の提示を要求してきた通信装置20に対して属性の読み替えを要求することができる属性同士の組み合わせである。従って、属性対応テーブル51は、クレデンシャルの宛先となる通信装置20に対して読み替えを要求可能な属性の組み合わせを記録していると言える。属性定義が等しい2つの属性の組み合わせの一方に関する情報が属性1の欄に記録され、属性定義が等しい2つの属性の組み合わせの他方に関する情報が属性2の欄に記録される。いずれの属性についても、属性定義IDと属性が記録される。図8では、属性定義ID=A1の情報が属性1の欄に記録されている。属性定義ID=A1の属性は「名前」である。一方、属性2の欄に記録される属性定義ID=A10の属性は「氏名」である。
図9は、属性対応メッセージの例を説明する図である。判定部42bでの判定と属性対応テーブル51bの更新が行われると、生成部43bは、判定部42bでの判定結果を同じコンソーシアム1に属するノード10に接続している他の通信装置20に通知するための属性対応メッセージを生成する。図9のF1は、属性対応メッセージに含まれる情報の例である。属性対応メッセージには、メッセージ作成者IDと対応する属性の組み合わせが含まれる。メッセージ作成者IDは、属性対応メッセージを生成した通信装置20に割り当てられたAgentIDである。対応する属性は、判定部42において、属性定義が等しいと判定された属性定義IDの組み合わせである。なお、F1は属性対応メッセージに含まれる情報の一例であり、実装に応じて属性対応メッセージ中の情報は変更され得る。また、属性対応メッセージの送受信の際、F1に示した情報を含むペイロードに、適宜、ヘッダが付加され得る。
図9のF2は、図4~図8を参照しながら説明する例において、通信装置20bの生成部43bが生成する属性対応メッセージの例である。通信装置20bにはAgentID=1が割り当てられているので、メッセージ作成者IDは1である。また、属性定義ID=A10と属性定義ID=A1の間で属性定義が一致すると判定されているので、対応する属性には、A1=A10が記録される。
送信部32bは、生成部43bが生成した属性対応メッセージを、接続先のノード10が同じコンソーシアム1に属する全ての通信装置20に送信する(図7のステップS26)。なお、同じコンソーシアム1に属するノード10に接続する全ての通信装置20に属性対応メッセージを送信するために使用するアドレスが記憶部50bに記憶されていない場合、取得部41bは、属性対応メッセージを送信するために使用するアドレスをノード10bから取得する。ノード10bは、適宜、検証用公開鍵情報17(図4)を参照することにより、属性対応メッセージを送信するために使用するアドレスを取得部41bに通知できる。なお、接続先のノード10が同じコンソーシアム1に属する全ての通信装置20が宛先となるマルチキャストアドレスが設定されていても良い。この場合、各ノード10は属性対応メッセージを送信するために使用するアドレスとして、マルチキャストアドレスを通信装置20に通知できる。
アプリケーション処理部44bは、通信装置20cから要求された属性(属性定義ID=A10)の情報を含むクレデンシャルとして、属性定義ID=A1の属性を含むクレデンシャルCL(図5)を使用できると判定する。そこで、属性対応メッセージの送信後、アプリケーション処理部44bは、送信部32bを介してクレデンシャルCLを送信する(図7のステップS27)。さらに、アプリケーション処理部44bは、クレデンシャルCLを通信装置20aから取得したことも併せて通信装置20cに通知する。なお、アプリケーション処理部44bは、通信装置20aから受信した状態のクレデンシャルCLを送信するので、クレデンシャルCLは通信装置20aの秘密鍵52(KeyA)で暗号化されている。
図10は、情報を要求された通信装置20が行う処理の例を説明するフローチャートである。なお、図10は処理の一例であり、処理の手順は実装に応じて変更され得る。例えば、ステップS37とS38の処理の順序は互いに変更され得る。
受信部31は、情報の要求を受信するまで待機する(ステップS31でNo)。受信部31が情報の要求を受信すると、アプリケーション処理部44は、要求で通知された属性定義IDを含むクレデンシャルがあるかを判定する(ステップS31でYes、ステップS32)。要求で通知された属性定義IDを含むクレデンシャルを既に取得済みである場合、アプリケーション処理部44は、通知された属性定義IDを含むクレデンシャルを要求元に送信するための処理を行う(ステップS32でYes、ステップS33)。
一方、要求で通知された属性定義IDを含むクレデンシャルを有していない場合、アプリケーション処理部44は、通知された属性定義IDが属性対応テーブル51にあるかを判定する(ステップS32でNo、ステップS34)。通知された属性定義IDが属性対応テーブル51にない場合、通信装置20は通知された属性定義IDが割り当てられた属性と同じ情報を表す属性を知らない状態である(ステップS34でNo)。そこで、取得部41は、通知された属性定義ID、および、通信装置20が取得済みのクレデンシャルに含まれる属性定義IDについて、ノード10から属性定義を取得する(ステップS35)。判定部42は、ノード10から得られた情報を用いて、要求で通知された属性定義IDと定義が等しい属性定義IDがあるかを判定する(ステップS36)。以下の記載では、要求で通知された属性定義IDと同じ属性定義を有する属性定義IDのことを「代替属性定義ID」と記載することがある。
要求で通知された属性定義IDと定義が等しい属性定義IDがある場合、判定部42は属性対応テーブル51を更新する(ステップS36でYes、ステップS37)。このため、要求で通知された属性定義IDと代替属性定義IDが、更新後の属性対応テーブル51に対応付けて記録される。なお、代替属性定義IDで識別される属性は、クレデンシャルの検証の際に、要求で通知された属性定義IDで識別される属性の代替として使用され得る。生成部43は、要求で通知された属性定義IDと代替属性定義IDを対応付けた属性対応メッセージを送信する(ステップS38)。その後、アプリケーション処理部44は、要求で通知された属性定義IDの代替属性定義IDを含むクレデンシャルを、要求元に送信する(ステップS39)。
一方、要求で通知された属性定義IDと定義が等しい属性定義IDが無い場合、判定部42は、送信可能なクレデンシャルがないことを端末5に通知するための処理を行う(ステップS36でNo、ステップS41)。このため、送信可能なクレデンシャルがないという通知を受けた端末5のユーザは、適宜、新たなクレデンシャルを取得できる。
要求で通知された属性定義IDを含むクレデンシャルを有さないが、通知された属性定義IDが属性対応テーブル51にある場合、通信装置20は通知された属性定義IDが割り当てられた属性と同じ情報を表す属性を特定できる(ステップS34でYes)。アプリケーション処理部44は、要求で通知された属性定義IDの代替属性定義IDを含むクレデンシャルを有するかを判定する(ステップS40)。要求で通知された属性定義IDの代替属性定義IDを含むクレデンシャルを有さない場合、アプリケーション処理部44は、ステップS41の処理を行う(ステップS40でNo)。要求で通知された属性定義IDの代替属性定義IDを含むクレデンシャルを有する場合、アプリケーション処理部44はステップS39の処理を行う(ステップS40でYes)。
(4)属性対応メッセージを受信した通信装置20での処理
図11は、属性対応メッセージを受信した通信装置20で行われる処理の例を説明するフローチャートである。以下、図11を参照しながら、図7のステップS26により属性対応メッセージを受信した通信装置20aで行われる処理の例を説明する。
受信部31aは、属性対応メッセージを受信する(ステップS51)。記憶部50は、属性対応メッセージを保存する(ステップS52)。図7を参照しながら説明した例では、記憶部50aに、属性定義ID=A10と属性定義ID=A1の間で属性定義が一致することを示す属性対応メッセージが保存される。
取得部41aは、属性対応メッセージに含まれている属性定義IDの各々について、属性定義をノード10から取得する(ステップS53)。このため、図7で示す例では、取得部41aは以下の2つの定義情報を取得する。
定義情報1
属性定義ID=A1
属性 =名前
属性定義 =苗字、漢字
定義情報2
属性定義ID=A10
属性 =氏名
属性定義 =苗字、漢字
判定部42aは、属性対応メッセージで通知された対応関係が正しいかを判定する(ステップS54)。図7で示す例では、属性対応メッセージに含まれている属性定義IDのいずれも、属性定義は苗字の漢字表記である。従って、属性対応メッセージで通知された対応関係は正しい(ステップS54でYes)。このため、判定部42aは、属性対応メッセージで通知された情報を用いて属性対応テーブル51aを更新する(ステップS55)。従って、ステップS55の処理により、属性対応テーブル51aに以下の情報が記録される。
属性1
属性定義ID=A1
属性 =名前
属性2
属性定義ID=A10
属性 =氏名
一方、属性対応メッセージで通知された対応関係が正しくないと判定した場合、判定部42は属性対応テーブル51を更新せずに処理を数量する(ステップS54でNo)。
なお、以上の処理は、属性対応メッセージを受信した全ての通信装置20で行われる。従って、図7の例では、通信装置20cにおいても、属性対応メッセージの受信により通信装置20aと同様の処理が行われる。
(5)クレデンシャルを受信した通信装置20の処理
図12は、通信装置20が行う検証処理の例を説明するフローチャートである。以下、図12を参照しながら、図7のステップS27によりクレデンシャルを受信した通信装置20cで行われる処理の例を説明する。なお、図12の処理が行われる時点では、属性定義ID=A10と属性定義ID=A1の間で属性定義が一致することが属性対応テーブル51cに記録されているとする。
受信部31cは、クレデンシャルを受信するまで待機する(ステップS61でNo)。受信部31cがクレデンシャルを受信すると、アプリケーション処理部44cは、受信したクレデンシャルの復号処理を行う(ステップS62)。復号処理に際して、取得部41cは、クレデンシャルCLを生成した通信装置20aに対応付けられている公開鍵KeyBをノード10cから取得し、アプリケーション処理部44cに出力できる。アプリケーション処理部44cは、情報の要求先に通知した属性定義IDが、復号後のクレデンシャルCLに含まれているかを判定する(ステップS63)。情報の要求先に通知した属性定義IDが復号後のクレデンシャルCLに含まれている場合、アプリケーション処理部44cは、情報の要求先に通知した属性定義IDに対応付けられた情報を取得する(ステップS63でYes、ステップS64)。
情報の要求先に通知した属性定義IDが、復号後のクレデンシャルCLに含まれていない場合、アプリケーション処理部44cは、通知した属性定義IDの代替属性定義IDがクレデンシャルに含まれるかを判定する(ステップS63でNo、ステップS65)。ここで、代替属性定義IDは、通知した属性定義IDに属性対応テーブル51c中で対応付けられた属性定義IDである。通知した属性定義IDの代替属性定義IDがクレデンシャルに含まれる場合、アプリケーション処理部44cは、代替属性定義IDに対応付けられた情報を取得する(ステップS65でYes、ステップS67)。
図7を参照しながら説明した例では、通信装置20cから属性定義ID=A10の情報を通信装置20bに要求しているが、通信装置20bから受信したクレデンシャルには属性定義ID=A10が含まれず、属性定義ID=A1が含まれている。また、属性定義ID=A10と属性定義ID=A1の間で属性定義が一致することが属性対応テーブル51cに記録されているので、A1はA10の代替属性定義IDである。そこで、アプリケーション処理部44cは、クレデンシャルCL(図5)のA1に対応付けられた情報「鈴木」をユーザの「氏名」として取得する。
一方、情報の要求先に通知した属性定義IDと通知した属性定義IDの代替属性定義IDのいずれもクレデンシャルに含まれない場合、アプリケーション処理部44は要求した情報が通知されていないと判定する(ステップS65でNo)。この場合、アプリケーション処理部44cは、クレデンシャルの送信元に、検証失敗を通知する(ステップS66)。
以上説明したように、第1の実施形態では、属性対応テーブル51を用いた属性の読み替えが行われる。このため、クレデンシャルを発行した通信装置20と検証を行う通信装置20の間で、処理に使用する属性が異なっていても、属性対応テーブル51を用いて属性を読み替えて、受信したクレデンシャル中の情報を検証処理に使用できるようになる。従って、検証処理の失敗を防止しやすくできるとともに、保持者3が取得済みのクレデンシャルを利用しやすくでき、検証処理が効率化される。
第1の実施形態によると、属性定義が同じであることを特定した通信装置20は、他の通信装置20に対して属性対応メッセージを用いて属性定義が同じ属性の組み合わせを通知する。さらに、属性対応メッセージを受信した各通信装置20においても、分散台帳15中の情報を用いて属性対応メッセージが正しいことを確認すると、属性対応メッセージで通知された属性同士を対応付ける。このため、同じコンソーシアム1に属するノード10に接続した通信装置20間では、属性対応メッセージで通知された属性の組み合わせについて、属性対応テーブル51を用いることによる属性の読み替えが可能になる。
<第2の実施形態>
第2の実施形態では、クレデンシャルを発行した通信装置20とクレデンシャルを検証する通信装置20が、互いに異なるコンソーシアムに属するノード10に接続されている場合について説明する。
図13は、第2の実施形態で行われる通信の例を説明する図である。図13に示すネットワークには、コンソーシアム1aとコンソーシアム1bが含まれる。コンソーシアム1aにID=C1が割り当てられ、コンソーシアム1bにID=C2が割り当てられている。ノード10d、ノード10e、および、ノード10gはコンソーシアム1aに参加している。ノード10f、ノード10h、および、ノード10iはコンソーシアム1bに参加している。なお、図13は各コンソーシアム1に参加しているノード10の一部を示しており、いずれのコンソーシアム1にも図示されている以外のノード10が参加している。
通信装置20dはノード10dと端末5dに接続されている。通信装置20gはノード10iと端末5gに接続されている。通信装置20eは、ノード10e、ノード10f、および、端末5eに接続されている。通信装置20fは、ノード10g、ノード10h、および、端末5fに接続されている。ここで、通信装置20eと通信装置20fは、いずれも、コンソーシアム1aに参加しているノード10とコンソーシアム1bに参加しているノード10の両方に接続されている。従って、通信装置20eと通信装置20fは、コンソーシアム1aで共有されている属性定義16aとコンソーシアム1bで共有されている属性定義16bの両方を取得できる。一方、通信装置20dは属性定義16bの情報を参照することはなく、通信装置20gは属性定義16aの情報を参照することはない。
図14は、各コンソーシアム1で共有される属性定義16の例を説明する図である。第2の実施形態でも、各コンソーシアム1に参加するノード10は、分散台帳15を用いて属性定義16と検証用公開鍵情報17を共有する。以下の説明では、コンソーシアム1aに参加しているノード10間で属性定義16aが共有され、コンソーシアム1bに参加しているノード10間で属性定義16bが共有されているとする。このため、コンソーシアム1aでは、属性定義ID=A1の属性は「名前」であり、属性定義は苗字の漢字表記である。一方、コンソーシアム1bでは、苗字の漢字表記が属性定義として定義されている属性は「氏名」であり、属性定義IDはA2である。属性=発行者の属性定義は、属性定義16aと属性定義16bのいずれでもAgentIDの数字表記であるが、属性定義IDはコンソーシアム1間で異なっている。
以下、図13のネットワーク中で、発行者2が端末5dを使用し、保持者3が端末5eを使用し、検証者4が端末5gを使用しているとする。さらに、保持者3は、発行者2からクレデンシャルCL1を取得しているが、コンソーシアム1bで共有されている属性定義16bに基づいて生成されたクレデンシャルを有していないものとする。コンソーシアム1内でのクレデンシャルの取得処理は、第1の実施形態で説明したとおりである。クレデンシャルCL1は属性定義16aに従って生成されるので、保持者3の名字の漢字表記が属性定義ID=A1(属性=名前)に対応付けて記録される。なお、第2の実施形態では、各通信装置20は、自装置が使用した属性定義16を共有しているコンソーシアム1のIDをクレデンシャルに含めるものとする。図13の例では、通信装置20dは属性定義16aを使用しているので、クレデンシャルCL1には、コンソーシアムのID=C1という情報が含まれる。
ここで、端末5eを使用する保持者3が、端末5gを使用する検証者4から属性定義ID=A2(属性=氏名)の情報を要求される場合を例とする。なお、端末5eと端末5gの間の通信や端末5gの接続先となっている通信装置20gからの情報要素の要求は、第1の実施形態と同様に行われる。すなわち、端末5eは、通信装置20eを使用していることを端末5gに通知し、端末5gは通信装置20gに対して、「氏名」に関する情報を通信装置20eから取得することを要求する。
属性定義16b(図14)では「氏名」という属性は属性定義ID=A2に対応付けられているため、通信装置20gのアプリケーション処理部44gは、属性定義ID=A2の情報を要求することを決定する。このとき、アプリケーション処理部44gは、コンソーシアム1bのIDも併せて通信装置20eに通知する。従って、アプリケーション処理部44gは、以下の情報を含む要求を通信装置20eに送信するための処理を行う。
送信元:通信装置20g
宛先 :通信装置20e
要求する属性の属性定義ID :A2
属性を定義したコンソーシアムのID:C2
通信装置20eのアプリケーション処理部44eは、受信部31eを介して、コンソーシアム1b(ID=C2)での属性定義ID=A2の情報の要求を取得する。端末5eを使用する保持者3は、コンソーシアム1bで共有されている属性定義16bに基づいて生成されたクレデンシャルを有していない。このため、通信装置20eは、コンソーシアムのID=C2を含むクレデンシャルを有していない。アプリケーション処理部44eは、要求されている属性定義IDが属性対応テーブル51eで他の属性定義IDと対応付けられているかを判定する。ここでは、コンソーシアムID=C2と属性定義ID=A2の組み合わせに対応する属性の情報は属性対応テーブル51eに記録されていないとする。すると、アプリケーション処理部44eは、コンソーシアムID=C2と属性定義ID=A2の組み合わせに対応付けられた定義が不明であることを、取得部41eと判定部42eに通知する。
取得部41eは、取得済みのクレデンシャルCL1に含まれている属性定義IDに対応付けられている属性定義を、コンソーシアム1aに属するノード10eに問い合わせる(ステップS71)。さらに、取得部41eは、定義が不明であることが通知された属性定義ID=A2に対応付けられている属性定義を、その属性定義IDに対応付けられたコンソーシアム1bに含まれるノード10fに要求する(ステップS72)。
ノード10eは、分散台帳15a中の属性定義16a(図14)を参照することにより、要求された属性定義を特定すると、特定した結果を取得部41eに通知する(ステップS73)。このとき、ノード10eは、ノード10eが属するコンソーシアム1のIDも併せて通知する。このため、この例では、以下の定義情報がノード10eから取得部41eに通知される。
定義情報1
コンソーシアムID=C1
属性定義ID=A1
属性 =名前
属性定義 =苗字、漢字
同様に、ノード10fは、分散台帳15b中の属性定義16b(図14)を参照することにより要求された属性定義を特定し、特定した結果を取得部41eに通知する(ステップS74)。この例では、以下の定義情報がノード10fから取得部41eに通知される。
定義情報1
コンソーシアムID=C2
属性定義ID=A2
属性 =氏名
属性定義 =苗字、漢字
取得部41eは、ノード10e、ノード10fの各々から取得した情報を判定部42eに出力する。
判定部42eは、定義が不明であると通知されたコンソーシアムID=C2の属性定義ID=A2に対応付けられた属性定義を、コンソーシアムID=C1の属性定義ID=A1に対応付けられた属性定義と比較する。この例ではいずれの属性定義の苗字の漢字表記である。そこで、判定部42eは、コンソーシアムID=C2の属性定義ID=A2の属性定義は、コンソーシアムID=C1の属性定義ID=A1の属性定義と一致すると判定する。判定部42eは、判定結果を属性対応テーブル51eに記録する。
図15は、第2の実施形態で使用される属性対応テーブルの例を説明する図である。第2の実施形態でも属性対応テーブル51は属性定義が等しい2つの属性の組み合わせ同士を対応付けるが、各々の属性に対して、その属性が使用されるコンソーシアム1のIDも併せて記録する。すなわち、属性対応テーブル51では、いずれの属性についても、コンソーシアムのID、属性定義ID、および、属性が記録される。図15では、コンソーシアムID=C1のコンソーシアム1aで使用される属性定義ID=A1の情報が属性1の欄に記録されている。属性定義ID=A1の属性は「名前」である。一方、属性2の欄には、コンソーシアムID=C2のコンソーシアム1bで使用される記録される属性定義ID=A2の情報が記録される。コンソーシアムID=C2での属性定義ID=A2の属性は「氏名」である。
一方、生成部43eは、判定部42eの判定結果を他の通信装置20に通知するための属性対応メッセージM1を生成する。さらに、生成部43eは、コンソーシアム1aに属するノード10に接続している他の通信装置20と、コンソーシアム1bに属するノード10に接続している他の通信装置20に、属性対応メッセージM1を送信するための処理を行う(図13のステップS75)。なお、属性対応メッセージM1の送信の際に使用するアドレス情報の取得は、第1の実施形態と同様に行われる。ここで、属性対応メッセージの送信は、1つのコンソーシアム1で共有される属性定義16にアクセス可能な通信装置20と、複数のコンソーシアム1の各々で共有される複数の属性定義16にアクセス可能な通信装置20の両方に送信される。従って、ステップS75の処理により、図13中の通信装置20d、通信装置20f、通信装置20gのいずれも、属性対応メッセージM1を受信する。
図16は、第2の実施形態で使用される属性対応メッセージの例を説明する図である。図16は、図13で送信される属性対応メッセージM1に含まれる情報の例を示す。属性対応メッセージには、メッセージ種別が属性対応メッセージであることを示す情報、発信者ID、属性1に関する情報、および、属性2に関する情報が含まれる。属性1と属性2は、属性定義が一致すると判定された2つの属性のいずれかである。属性1と属性2の各々には、その属性を定義したコンソーシアム1のID、その属性に対応付けられた属性定義ID、属性の名称が含まれる。図16は、属性1がコンソーシアムID=C1の属性定義ID=A1であり、属性2がコンソーシアムID=C2の属性定義ID=A2である場合の属性対応メッセージの例を示している。
図17は、第2の実施形態で行われる処理の例を説明する図である。図17は、図を見やすくするため、図13のネットワーク中の装置の一部を省略している。属性対応メッセージM1を受信した各通信装置20の取得部41は、自装置が属性対応メッセージM1にIDが含まれている2つのコンソーシアム(1a、1b)の各々で使用されている属性定義16を取得可能であるかを判定する。
通信装置20は、属性対応メッセージM1中のIDで識別される2つのコンソーシアム(1a、1b)の各々で使用されている属性定義16の両方の情報を参照しない装置である場合、受信した属性対応メッセージM1の内容が正しいかの判定を行わない。属性対応メッセージM1中のIDで識別される2つのコンソーシアムの各々で使用されている属性定義16の両方を参照しない通信装置20は、属性対応メッセージで通知された対応関係について、その情報の受信回数をカウントする。例えば、通信装置20dおよび通信装置20gの判定部42は、属性対応メッセージM1の内容が正しいかの判定を行わないが、属性対応メッセージの内容ごとに、受信数を計数する。従って、判定部42gは、属性対応メッセージM1を受信すると以下の情報を記憶する。
対応関係1
属性1を定義したコンソーシアムのID=C1
属性1の属性定義ID=A1
属性2を定義したコンソーシアムのID=C2
属性2の属性定義ID=A2
対応関係1の情報の受信数:1
通信装置20dでも通信装置20gと同様の処理が行われる。
一方、属性対応メッセージM1中のIDで識別される2つのコンソーシアム(1a、1b)の各々で使用されている属性定義16を取得可能である場合、通信装置20は、属性対応メッセージM1の内容が正しいかを判定する処理を行う。例えば、通信装置20fは、属性対応メッセージM1中のIDで識別される2つのコンソーシアム(1a、1b)の各々で使用されている属性定義16を取得可能である。そこで、通信装置20fの取得部41fは、コンソーシアム1aに参加しているノード10gに対して、属性定義ID=A1の属性定義と属性を要求する。さらに、取得部41fは、コンソーシアム1bに参加しているノード10hに対して、属性定義ID=A2の属性定義と属性を要求する。
ノード10gは、分散台帳15a中の属性定義16a(図14)を参照することにより、要求された属性定義を特定し、特定した結果を取得部41fに通知する。このため、以下の定義情報がノード10gから取得部41fに通知される。
定義情報1
コンソーシアムID=C1
属性定義ID=A1
属性 =名前
属性定義 =苗字、漢字
同様に、ノード10hは、分散台帳15b中の属性定義16b(図14)を参照することにより要求された属性定義を特定し、特定した結果を取得部41fに通知する。この例では、以下の定義情報がノード10hから取得部41fに通知される。
定義情報1
コンソーシアムID=C2
属性定義ID=A2
属性 =氏名
属性定義 =苗字、漢字
取得部41fは、ノード10g、ノード10hの各々から取得した情報を判定部42fに出力する。このため、判定部42fは、コンソーシアムID=C2の属性定義ID=A2の属性定義は、コンソーシアムID=C1の属性定義ID=A1の属性定義と一致すると判定する。判定部42fは、判定結果が属性対応テーブル51fに記録されていない場合、属性対応テーブル51fに記録するので、属性対応テーブル51fには図15に示す情報が追加される。生成部43fは、属性対応メッセージM1に含まれている2つの属性についての属性対応メッセージM2を生成する。さらに、生成部43fは、コンソーシアム1aに属するノード10に接続している他の通信装置20と、コンソーシアム1bに属するノード10に接続している他の通信装置20に、属性対応メッセージM2を送信するための処理を行う(ステップS76)。なお、ネットワークの輻輳を避けるため、生成部43fは、属性対応メッセージM2と同じ内容のメッセージを所定の期間内に送信したことがある場合には、属性対応メッセージM2の送信を行わない。
なお、判定部42において属性定義が一致しないと判定された場合、生成部43は属性非対応メッセージを生成する。属性非対応メッセージは、図16と同様であるが、メッセージ種別は属性非対応メッセージに設定されている。属性非対応メッセージも、コンソーシアム1aに属するノード10に接続している他の通信装置20と、コンソーシアム1bに属するノード10に接続している他の通信装置20に、送信される。
ステップS76に示すように属性対応メッセージM2が送信されると、通信装置20e、通信装置20g、通信装置20dなどの通信装置20が属性対応メッセージM2を受信する。属性対応メッセージM2も各通信装置20において、属性対応メッセージM1と同様に処理される。このため、属性定義16aと属性定義16bの両方の情報を取得可能な通信装置20では、属性対応メッセージM2の情報が正しいかが判定される。また、属性対応メッセージM2の情報が正しいかを判定した通信装置20のうちで属性対応メッセージM2と同じ内容の属性対応メッセージを所定期間内に送信していない通信装置20は、属性対応メッセージを送信する。一方、通信装置20dや通信装置20gでも、属性対応メッセージM2は、属性対応メッセージM1と同様に処理される。このため、通信装置20g中の判定部42gは、属性対応メッセージM2を受信すると、以下のように記憶している受信数を更新する。
対応関係1
属性1を定義したコンソーシアムのID=C1
属性1の属性定義ID=A1
属性2を定義したコンソーシアムのID=C2
属性2の属性定義ID=A2
対応関係1の情報の受信数:2
図18は、第2の実施形態で行われる処理の例を説明する図である。各通信装置20は、属性対応メッセージで通知された属性の対応関係の情報の受信数を閾値Th1と比較する。図17を参照しながら説明した処理が各通信装置20によって行われることにより、対応関係の情報の受信数が閾値Th1以上になると、閾値Th1以上の数の通信装置20が属性対応メッセージの内容が正しいと判定していることになる。そこで、属性対応メッセージで通知された情報が正しいかを自装置で判定しない装置の判定部42は、対応関係についての受信数が閾値Th1以上になると、その対応関係が正しいものと判定して、属性対応テーブル51を更新する。
図18の例では、閾値Th1=3であるとする。通信装置20gは、コンソーシアムID=C2の属性定義ID=A2の属性定義は、コンソーシアムID=C1の属性定義ID=A1の属性定義と一致するという内容の属性対応メッセージM1~M3を受信したとする。すると、属性対応テーブル51gに、属性対応メッセージM1~M3で通知された情報を記録する。なお、図18では、紙面の関係で属性対応テーブル51gの情報の一部を示しているが、属性対応テーブル51gも図15と同様のフォーマットを有する。
図19は、クレデンシャルの送信処理の例を説明する図である。図19でも、図13に示すネットワークに含まれる一部の装置を図示している。図13~図18を参照しながら説明した処理を行う前に、予め、通信装置20eは、通信装置20dからクレデンシャルCL1を受信している(ステップS70)。また、クレデンシャルCL1には、属性定義ID=A1の情報が「鈴木」であることが記録されているとする。
図13~図18を参照しながら説明した処理により、コンソーシアムID=C2の属性定義ID=A2の属性定義がコンソーシアムID=C1の属性定義ID=A1の属性定義と一致することが、通信装置20gの属性対応テーブル51gに記録されたとする。
その後、通信装置20eのアプリケーション処理部44eは、送信部32eを介して、クレデンシャルCL1を通信装置20gに送信する(ステップS77)。ステップS77の時点では、属性対応テーブル51gが更新されているので、アプリケーション処理部44gは、コンソーシアムID=C1での属性定義ID=A1は、コンソーシアムID=C2での属性定義ID=A2と定義が同じことを認識できる。そこで、クレデンシャルCL1中の属性定義ID=A1(名前)をコンソーシアムID=C2での属性定義ID=A2(氏名)と読み替えて処理する。このため、コンソーシアム1aとコンソーシアム1bの間で属性や属性定義IDが異なっているが、通信装置20gはクレデンシャルCL1を用いた情報の取得に成功する。
以上説明したように、第2の実施形態では、クレデンシャルの発行元と検証を行う装置が異なる属性定義16を使用していても、属性対応テーブル51を用いた属性の読み替えが行われる。従って、検証処理の失敗を防止しやすくできるとともに、保持者3が取得済みのクレデンシャルを利用しやすくでき、検証処理が効率化される。
図20は、第2の実施形態で行われる処理の例を説明するフローチャートである。図20は、比較対象となっている2つの属性の各々に対する定義を含む2つの属性定義16を取得可能な通信装置20で行われる処理の例である。
受信部31は、属性対応メッセージまたは属性非対応メッセージを受信するまで待機する(ステップS81でNo)。属性対応メッセージまたは属性非対応メッセージを受信すると、判定部42は、受信したメッセージに記載されている2つの属性の定義が同じであるかを判定する(ステップS81でYes、ステップS82)。メッセージ中の2つの属性IDに対応する定義が同じである場合、判定部42は、受信したメッセージ中の2つの属性IDに対応する定義が同じことが属性対応テーブル51に登録済みであるかを判定する(ステップS82でYes、ステップS83)。受信したメッセージに記載されている2つの属性の定義が同じであることが属性対応テーブル51に登録されていない場合、判定部42は属性対応テーブル51を更新する(ステップS83でNo、ステップS84)。その後、生成部43は、同一の属性定義IDの組み合わせに関する属性対応メッセージを送信しているかを判定する(ステップS85)。同一の属性定義IDの組み合わせに関する属性対応メッセージを送信していない場合、定義が同じであると判定した属性定義IDの組み合わせを含む属性対応メッセージを送信する(ステップS85でNo、ステップS86)。
一方、同一の属性定義IDの組み合わせに関する属性対応メッセージを送信している場合、ステップS81に戻る(ステップS85でNo)。ステップS83において、定義が同じであると判定した属性定義IDの組み合わせが属性対応テーブル51に登録済みであると判定した場合(ステップS83でYes)、生成部43は、ステップS85以降の処理を行う。
ステップS82において、判定部42は受信したメッセージに記載されている2つの属性IDに対応する定義が異なると判定したとする(ステップS82でNo)。この場合、生成部43は、同一の属性定義IDの組み合わせに関する属性非対応メッセージを送信しているかを判定する(ステップS87)。同一の属性定義IDの組み合わせに関する属性非対応メッセージを送信している場合、ステップS81に戻る(ステップS87でYes)。同一の属性定義IDの組み合わせに関する属性非対応メッセージを送信していない場合、生成部43は、定義が異なると判定した属性定義IDの組み合わせを含む属性非対応メッセージを送信する(ステップS87でNo、ステップS88)。
図21は、比較対象となっている2つの属性の各々に対する定義を含む2つの属性定義16のうちの一方を取得できるが他方を取得しない通信装置20で行われる処理の例である。図21の例では、各通信装置20は、閾値Th1に加えて属性非対応メッセージの受信数と比較するための閾値Th2も記憶している。閾値Th2は閾値Th1と異なる値であっても良く、また、閾値Th1と同じ値であっても良い。属性非対応メッセージを受信した数が閾値Th2以上になることが削除条件として通信装置20で記憶されているとする。
取得部41は、属性対応メッセージを受信したかを判定する(ステップS91)。属性対応メッセージを受信した場合、判定部42は、属性対応メッセージを保存する(ステップS91でYes、ステップS92)。判定部42は、受信した属性対応メッセージと同一の属性定義IDの組み合わせが属性対応テーブル51に存在せず、かつ、登録条件を満たしているかを判定する(ステップS93)。ここで、登録条件は、受信した属性対応メッセージと同一の属性定義IDの組み合わせを含む属性対応メッセージの受信数が閾値Th1以上であることである。属性定義IDの組み合わせが属性対応テーブル51に存在せず、かつ、登録条件を満たす場合、判定部42は、受信した属性対応メッセージと同一の属性定義IDの組み合わせを属性対応テーブル51に登録する(ステップS93でYes、ステップS94)。その後、ステップS91以降の処理が繰り返される。また、属性定義IDの組み合わせが属性対応テーブル51に存在するか、または、登録条件を満たさない場合、ステップS91以降の処理が繰り返される(ステップS93でNo)。
一方、属性対応メッセージを受信していないと判定した場合、取得部41は、属性非対応メッセージを受信したかを判定する(ステップS91でNo、ステップS95)。属性非対応メッセージも受信していない場合、ステップS91以降の処理が繰り返される(ステップS95でNo)。属性非対応メッセージを受信した場合、判定部42は、属性非対応メッセージを保存する(ステップS95でYes、ステップS96)。
判定部42は、受信した属性非対応メッセージと同一の属性定義IDの組み合わせが属性対応テーブル51に登録済みであり、かつ、削除条件を満たしているかを判定する(ステップS97)。属性定義IDの組み合わせが属性対応テーブル51に登録されており、かつ、削除条件を満たす場合、判定部42は、受信した属性非対応メッセージと同一の属性定義IDの組み合わせを属性対応テーブル51から削除する(ステップS97でYes、ステップS98)。その後、ステップS91以降の処理が繰り返される。属性定義IDの組み合わせが属性対応テーブル51に登録されていないか、または、削除条件を満たさない場合、ステップS91以降の処理が繰り返される(ステップS97でNo)。
以上説明したように、第2の実施形態では、クレデンシャルの発行元と検証を行う装置が異なる属性定義16を使用していても、属性対応テーブル51を用いた属性の読み替えが行われる。このため、クレデンシャルを発行した通信装置20と検証を行う通信装置20の間で、属性の定義が異なっていても、属性対応テーブル51を用いて属性を読み替えて、受信したクレデンシャル中の情報を検証処理に使用できるようになる。従って、検証処理の失敗を防止しやすくできるとともに、保持者3が取得済みのクレデンシャルを利用しやすくでき、検証処理が効率化される。
<その他>
なお、実施形態は上記に限られるものではなく、様々に変形可能である。以下にその例をいくつか述べる。
判定部42が2つの属性間で定義が等しいかを判定する契機は、他の通信装置20からの情報の要求の受信や、属性対応メッセージもしくは属性非対応メッセージ受信に限定されない。例えば、判定部42は、アプリケーション処理部44が複数のクレデンシャルを取得したことを契機として、クレデンシャル中の情報と属性の比較処理を行ってもよい。
例えば、第1の実施形態において、通信装置20aのアプリケーション処理部44aが市役所で使用されている通信装置20mから以下の情報を含む住所証明のクレデンシャルを取得したとする。
クレデンシャルID=CID_2
スキーマID:SC_2
A1:鈴木
A5:神奈川県川崎市
その後、通信装置20aのアプリケーション処理部44aが運転免許センターで使用されている通信装置20nから以下の情報を含むクレデンシャルを取得したとする。
クレデンシャルID=CID_3
スキーマID:SC_3
A4:鈴木
A6:神奈川県川崎市
判定部42aは、CID_2のクレデンシャルとCID_3のクレデンシャルを比較する。すると、いずれのクレデンシャルにも「鈴木」という情報と、「神奈川県川崎市」という情報がある。「鈴木」という情報は、CID_2のクレデンシャルでは属性定義ID=A1に対応付けられており、CID_3のクレデンシャルでは属性定義ID=A4に対応付けられている。そこで、判定部42aは、属性定義ID=A1と属性定義ID=A4が等しいと判定し、属性対応テーブル51aの更新や属性対応メッセージの送信を行う。同様に、「神奈川県川崎市」という情報は、CID_2のクレデンシャルでは属性定義ID=A5に対応付けられており、CID_3のクレデンシャルでは属性定義ID=A6に対応付けられている。すると、判定部42aは、属性定義ID=A5と属性定義ID=A6が等しいと判定し、属性対応テーブル51aの更新や属性対応メッセージの送信を行う。
複数のクレデンシャルを比較することによる属性対応テーブル51の更新や属性対応メッセージの送信は、第2の実施形態のように、複数のコンソーシアム1が含まれるシステムでも行われ得る。この場合、生成部43は、属性対応メッセージに各属性が使用されているコンソーシアム1の識別情報を含めるので、図16に示すような属性対応メッセージを生成する。
以上で説明したテーブル、メッセージ、クレデンシャル等のフォーマットは一例にすぎず、実装に応じて変更され得る。例えば、テーブル、メッセージ、クレデンシャルは、以上に述べた情報要素以外の情報要素を含んでも良く、図示された情報要素の一部を含まなくても良い。
以上の説明では、理解しやすくするために、通信装置20が行う処理を分けて説明したが、いずれの通信装置20もクレデンシャルの発行、送信、検証を行い得る。さらに、第2の実施形態では、いずれの通信装置20も、クレデンシャルの発行、送信、検証、属性対応メッセージや属性非対応メッセージの作成、属性対応テーブル51の更新を行い得る。
さらに、以上の説明で用いたネットワークは一例であり、ネットワーク中のコンソーシアム1(クラスタ)の数は任意である。また、比較対象となっている属性定義16の組み合わせによっては、複数のコンソーシアム1中の属性定義16を取得可能な通信装置20であっても、図21で示す処理を行うことがある。例えば、通信装置20xはノード10xとノード10yに接続し、ノード10xはコンソーシアム1xに参加し、ノード10yはコンソーシアム1yに参加しているとする。この場合に、コンソーシアム1zで使用される属性定義16z中の定義とコンソーシアム1xで使用される属性定義16x中の定義の組み合わせについて、属性対応メッセージが送信されたとする。すると、通信装置20xは、属性定義16zを共有するノード10に接続していないので、属性定義16zを取得可能な通信装置20ではない。そこで、この属性対応メッセージの処理の際には、図21に示す処理を行う。
1 コンソーシアム
2 発行者
3 保持者
4 検証者
5 端末
10 ノード
15 分散台帳
16 属性定義
17 検証用公開鍵情報
18 スキーマ定義
20 通信装置
30 通信部
31 受信部
32 送信部
40 制御部
41 取得部
42 判定部
43 生成部
44 アプリケーション処理部
50 記憶部
51 属性対応テーブル
52 秘密鍵
101 プロセッサ
102 メモリ
103 入力装置
104 出力装置
105 バス
106 記憶装置
107 可搬記憶媒体駆動装置
108 可搬記憶媒体
109 ネットワークインタフェース

Claims (8)

  1. 電子証明書に含まれるユーザ情報の属性と前記属性の定義の対応関係を記録した分散台帳を共有している複数の装置のいずれかに接続する第1の装置から、第1の属性に対応付けられた情報を含む電子証明書を取得し、
    前記複数の装置のいずれかに接続する第2の装置から第2の属性に対応付けられた情報の要求を受信すると、前記第1の属性に対応付けられた第1の定義、および、前記第2の属性に対応付けられた第2の定義を、前記複数の装置のいずれかから取得し、
    前記第1の定義と前記第2の定義が一致する場合、前記第1の属性と前記第2の属性が同じ定義を有することを通知するメッセージとともに、前記第1の属性に対応付けられた情報を含む電子証明書を、前記第2の装置に送信する
    処理を通信装置に行わせることを特徴とする通信プログラム。
  2. 前記通信装置に、
    前記第1の属性と前記第2の属性が対応することを対応テーブルに記録し、
    第3の属性と第4の属性が同じ定義を有することを通知する他のメッセージを受信すると、前記第3の属性に対応付けられた第3の定義と前記第4の属性に対応付けられた第4の定義を取得し、
    前記第3の定義と前記第4の定義が一致すると判定すると、前記第3の属性と第4の属性が対応することを前記対応テーブルに記録し、
    前記第4の属性の情報が要求されると、前記第3の属性の情報を含む他の電子証明書を前記第4の属性の情報の要求元に送信することを、前記対応テーブルを用いて決定する
    処理をさらに行わせることを特徴とする請求項1に記載の通信プログラム。
  3. 前記通信装置が、前記複数の装置で形成される第1のクラスタに参加している第1の接続先と、他の分散台帳を共有する他の複数の装置で形成される第2のクラスタに参加している第2の接続先の両方に接続する場合、
    前記第2のクラスタ中の装置のいずれかに接続する第3の装置から第5の属性に対応付けられた情報の要求を受信すると、前記第2の接続先から前記第5の属性に対応付けられた第5の定義を取得し、
    前記第1の定義と前記第5の定義が一致する場合、前記第3の装置に、前記第1のクラスタで使用される前記第1の属性と前記第2のクラスタで使用される前記第5の属性が同じ定義を有することを通知するとともに、前記第1の属性に対応付けられた情報を含む電子証明書を送信する
    処理を前記通信装置に行わせることを特徴とする請求項1または2に記載の通信プログラム。
  4. 前記分散台帳は、前記第1のクラスタ中の装置のいずれかに接続する装置の各々のアドレス情報をさらに記録し、
    前記他の分散台帳は、前記第2のクラスタ中の装置のいずれかに接続する装置の各々のアドレス情報をさらに記録し、
    前記通信装置は、前記第1の定義と前記第5の定義が一致する場合、前記第1のクラスタまたは前記第2のクラスタの装置のいずれかに接続する装置に、前記第1のクラスタで使用される前記第1の属性と前記第2のクラスタで使用される前記第5の属性が同じ定義を有することを通知する通知メッセージを送信する
    ことを特徴とする請求項3に記載の通信プログラム。
  5. 前記第1のクラスタで使用される前記第1の属性と前記第2のクラスタで使用される第6の属性が同じ定義を有することを通知する他の通知メッセージを受信すると、
    前記第2の接続先から前記第6の属性に対応付けられた第6の定義を取得し、
    前記第1の定義と前記第6の定義が一致すると判定した場合、前記他の通知メッセージを、前記第1のクラスタまたは前記第2のクラスタの装置のいずれかに接続する装置に送信する
    処理を前記通信装置に行わせることを特徴とする請求項3または4に記載の通信プログラム。
  6. 前記通信装置が、前記第1のクラスタ中の装置のいずれかに接続しているが、前記第2のクラスタ中の装置に接続していない場合、前記他の通知メッセージを受信した回数が閾値を超えると、前記第1のクラスタで使用される前記第1の属性と前記第2のクラスタで使用される第6の属性が同じ定義を有することを記憶する
    処理を前記通信装置に行わせることを特徴とする請求項5に記載の通信プログラム。
  7. 電子証明書に含まれるユーザ情報の属性と前記属性の定義の対応関係を記録した分散台帳を共有している複数の装置のいずれかに接続する第1の装置から、第1の属性に対応付けられた情報を含む電子証明書を取得し、
    前記複数の装置のいずれかに接続する第2の装置から第2の属性に対応付けられた情報の要求を受信すると、前記第1の属性に対応付けられた第1の定義、および、前記第2の属性に対応付けられた第2の定義を、前記複数の装置のいずれかから取得し、
    前記第1の定義と前記第2の定義が一致する場合、前記第1の属性と前記第2の属性が同じ定義を有することを通知するメッセージとともに、前記第1の属性に対応付けられた情報を含む電子証明書を、前記第2の装置に送信する
    処理を通信装置が行うことを特徴とする通信方法。
  8. 電子証明書に含まれるユーザ情報の属性と前記属性の定義の対応関係を記録した分散台帳を共有している複数の装置のいずれかに接続する第1の装置から、第1の属性に対応付けられた情報を含む電子証明書を取得する処理部と、
    前記複数の装置のいずれかに接続する第2の装置から第2の属性に対応付けられた情報の要求を受信する受信部と、
    前記第1の属性に対応付けられた第1の定義、および、前記第2の属性に対応付けられた第2の定義を、前記複数の装置のいずれかから取得する取得部と、
    前記第1の定義と前記第2の定義が一致する場合、前記第1の属性と前記第2の属性が同じ定義を有することを通知するメッセージとともに、前記第1の属性に対応付けられた情報を含む電子証明書を、前記第2の装置に送信する送信部
    を備えることを特徴とする通信装置。
JP2019105844A 2019-06-06 2019-06-06 通信プログラム、通信方法、および、通信装置 Active JP7215342B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019105844A JP7215342B2 (ja) 2019-06-06 2019-06-06 通信プログラム、通信方法、および、通信装置
EP20177405.6A EP3748904B1 (en) 2019-06-06 2020-05-29 Communication program, communication method and communication device
CN202010494595.6A CN112054988B (zh) 2019-06-06 2020-06-03 存储介质、通信方法和通信装置
US16/891,159 US11652645B2 (en) 2019-06-06 2020-06-03 Storage medium, communication method, and communication device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019105844A JP7215342B2 (ja) 2019-06-06 2019-06-06 通信プログラム、通信方法、および、通信装置

Publications (2)

Publication Number Publication Date
JP2020201539A JP2020201539A (ja) 2020-12-17
JP7215342B2 true JP7215342B2 (ja) 2023-01-31

Family

ID=70968738

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019105844A Active JP7215342B2 (ja) 2019-06-06 2019-06-06 通信プログラム、通信方法、および、通信装置

Country Status (4)

Country Link
US (1) US11652645B2 (ja)
EP (1) EP3748904B1 (ja)
JP (1) JP7215342B2 (ja)
CN (1) CN112054988B (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004046430A (ja) 2002-07-10 2004-02-12 Sony Corp リモートアクセスシステム、リモートアクセス方法、リモートアクセスプログラム及びリモートアクセスプログラムが記録された記録媒体
JP2007110377A (ja) 2005-10-13 2007-04-26 Hitachi Ltd ネットワークシステム
JP2012164191A (ja) 2011-02-08 2012-08-30 Mitsubishi Electric Corp 認証システム及び認証方法
JP2013062650A (ja) 2011-09-13 2013-04-04 Mitsubishi Electric Corp データ検証装置、データ検証装置のデータ検証方法、データ検証プログラムおよびデータ検証システム
JP2013105423A (ja) 2011-11-16 2013-05-30 Ricoh Co Ltd システム、情報処理装置、情報処理方法およびプログラム
US20180075686A1 (en) 2016-09-09 2018-03-15 Tyco Integrated Security, LLC Architecture for access management
JP2019068327A (ja) 2017-10-03 2019-04-25 株式会社日立製作所 ユーザ管理装置、ユーザ管理システム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004015495A (ja) * 2002-06-07 2004-01-15 Sony Corp 権限管理システム、情報処理装置、および方法、並びにコンピュータ・プログラム
CA2489127C (en) * 2004-01-27 2010-08-10 Novell, Inc. Techniques for dynamically establishing and managing authentication and trust relationships
US7650409B2 (en) * 2004-04-12 2010-01-19 Nokia Siemens Networks Oy System and method for enabling authorization of a network device using attribute certificates
US8892571B2 (en) * 2004-10-12 2014-11-18 International Business Machines Corporation Systems for associating records in healthcare database with individuals
JP2008071226A (ja) 2006-09-15 2008-03-27 Nec Corp クレデンシャルコンバージョンシステムと方法、コンピュータ装置、及びプログラム
US8074258B2 (en) 2008-06-18 2011-12-06 Microsoft Corporation Obtaining digital identities or tokens through independent endpoint resolution
WO2011070462A2 (en) * 2009-12-10 2011-06-16 Koninklijke Philips Electronics, N.V. Automated annotation of clinical data
US8806196B2 (en) * 2011-11-04 2014-08-12 Motorola Solutions, Inc. Method and apparatus for authenticating a digital certificate status and authorization credentials
US9608982B2 (en) * 2014-04-14 2017-03-28 Trulioo Information Services, Inc. Identity validation system and associated methods
JP6515080B2 (ja) * 2016-12-02 2019-05-15 Kddi株式会社 情報処理システム、情報処理方法、及びプログラム
CN108255859A (zh) * 2016-12-29 2018-07-06 航天信息股份有限公司 一种用于为海量数字证书建立索引的方法及系统
CN109150572B (zh) * 2017-06-28 2020-07-24 华为技术有限公司 实现告警关联的方法、装置以及计算机可读存储介质
US11055802B2 (en) * 2017-09-22 2021-07-06 Sensormatic Electronics, LLC Methods and apparatus for implementing identity and asset sharing management
US11693840B2 (en) * 2018-07-12 2023-07-04 International Business Machines Corporation Database storing authenticated skill-based attributes
US11615349B2 (en) * 2018-11-26 2023-03-28 Toyota Motor North America, Inc. Parallel blockchains for vehicle and user ID

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004046430A (ja) 2002-07-10 2004-02-12 Sony Corp リモートアクセスシステム、リモートアクセス方法、リモートアクセスプログラム及びリモートアクセスプログラムが記録された記録媒体
JP2007110377A (ja) 2005-10-13 2007-04-26 Hitachi Ltd ネットワークシステム
JP2012164191A (ja) 2011-02-08 2012-08-30 Mitsubishi Electric Corp 認証システム及び認証方法
JP2013062650A (ja) 2011-09-13 2013-04-04 Mitsubishi Electric Corp データ検証装置、データ検証装置のデータ検証方法、データ検証プログラムおよびデータ検証システム
JP2013105423A (ja) 2011-11-16 2013-05-30 Ricoh Co Ltd システム、情報処理装置、情報処理方法およびプログラム
US20180075686A1 (en) 2016-09-09 2018-03-15 Tyco Integrated Security, LLC Architecture for access management
JP2019068327A (ja) 2017-10-03 2019-04-25 株式会社日立製作所 ユーザ管理装置、ユーザ管理システム

Also Published As

Publication number Publication date
CN112054988A (zh) 2020-12-08
CN112054988B (zh) 2023-02-17
EP3748904B1 (en) 2023-07-26
EP3748904A1 (en) 2020-12-09
US20200389324A1 (en) 2020-12-10
US11652645B2 (en) 2023-05-16
JP2020201539A (ja) 2020-12-17

Similar Documents

Publication Publication Date Title
US11651362B2 (en) Method and system for zero-knowledge and identity based key management for decentralized applications
US10121143B1 (en) Method and system for blockchain-based combined identity, ownership, integrity and custody management
WO2020062668A1 (zh) 一种身份认证方法、身份认证装置及计算机可读介质
US7774611B2 (en) Enforcing file authorization access
CN110537346A (zh) 安全去中心化域名系统
KR102307574B1 (ko) 블록체인을 기반으로 한 클라우드 데이터 저장 시스템 및 데이터 저장 방법
US10839378B1 (en) Systems and methods for performing device authentication operations using cryptocurrency transactions
US11741241B2 (en) Private data processing
US8315395B2 (en) Nearly-stateless key escrow service
KR20190031989A (ko) 블록체인 기반의 전자 계약 처리 시스템 및 방법
CN111476572B (zh) 基于区块链的数据处理方法、装置、存储介质及设备
JP2009534940A (ja) ピアツーピアコンタクト情報交換
JP6543743B1 (ja) 管理プログラム
CN102427442A (zh) 组合请求相关元数据和元数据内容
US20210306135A1 (en) Electronic device within blockchain based pki domain, electronic device within certification authority based pki domain, and cryptographic communication system including these electronic devices
JP5065682B2 (ja) 名前解決のためのシステムおよび方法
WO2018232071A1 (en) User authentication in a dead drop network domain
US20070067836A1 (en) Method for provision of access
JP2008136063A (ja) 著作権を保護しながら著作物を効率的に情報通信網で流通させるp2pネットワーク・アプリケーション・ソフトウェア・プログラムとその配布技術
JP3215882U (ja) クラウドストレージベースのファイルアクセス制御システム
Ansaroudi et al. Control is nothing without trust a first look into digital identity wallet trends
JP7215342B2 (ja) 通信プログラム、通信方法、および、通信装置
US11848937B2 (en) Secure communication using blockchain technology
Jacobino et al. TrustVault: A privacy-first data wallet for the European Blockchain Services Infrastructure
Ramachandran et al. Blockchain and Data Integrity Authentication Technique for Secure Cloud Environment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220308

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221215

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221220

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230102

R150 Certificate of patent or registration of utility model

Ref document number: 7215342

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150