JP7306170B2 - 通信プログラムおよび通信方法 - Google Patents

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

Info

Publication number
JP7306170B2
JP7306170B2 JP2019160133A JP2019160133A JP7306170B2 JP 7306170 B2 JP7306170 B2 JP 7306170B2 JP 2019160133 A JP2019160133 A JP 2019160133A JP 2019160133 A JP2019160133 A JP 2019160133A JP 7306170 B2 JP7306170 B2 JP 7306170B2
Authority
JP
Japan
Prior art keywords
certificate
information
user
distributed ledger
communication device
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
JP2019160133A
Other languages
English (en)
Other versions
JP2021040230A (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 JP2019160133A priority Critical patent/JP7306170B2/ja
Priority to US16/990,125 priority patent/US11522722B2/en
Priority to EP20190697.1A priority patent/EP3790226A1/en
Priority to CN202010888123.9A priority patent/CN112448818B/zh
Publication of JP2021040230A publication Critical patent/JP2021040230A/ja
Application granted granted Critical
Publication of JP7306170B2 publication Critical patent/JP7306170B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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]
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/1827Management specifically adapted to NAS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H80/00ICT specially adapted for facilitating communication between medical practitioners or patients, e.g. for collaborative diagnosis, therapy or health monitoring
    • 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/3236Cryptographic 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 using cryptographic hash functions
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/88Medical equipments

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Bioethics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Biomedical Technology (AREA)
  • Public Health (AREA)
  • Primary Health Care (AREA)
  • Epidemiology (AREA)
  • Pathology (AREA)
  • Storage Device Security (AREA)

Description

本発明は、通信プログラムおよび通信方法に関する。
クレジットカードの発行申し込み、銀行の口座開設、保険への加入などの様々なサービスを利用する際に、サービスの利用者がサービスの提供者に電子証明書を提示することがある。電子証明書は認証局によって発行され得る。この場合、認証局は、ユーザに対して身元確認などを実施し、その結果に基づいて証明書を発行する。ユーザは得られた電子証明書をサービスの提供者に提示する。
近年、仮想通貨を実現する基盤として登場した分散台帳技術が注目されている。分散台帳を用いると、システムの中央管理者が存在しなくても情報の改ざんを防ぐことができるため、仮想通貨以外の領域への応用も検討されている。
関連する技術として、信頼当事者のサービスにアクセスするためのトークンをアイデンティティプロバイダから取得する方法が知られている(例えば、特許文献1など)。
特表2011-525028号
サービスの提供者は、サービスの利用者から提示された電子証明書に基づいて利用者の状況を認識し、サービスを提供する。このため、サービスの利用者が複数の電子証明書を取得している場合、利用者は、不都合な証明書の存在を隠蔽して、利用者にとって好都合な証明書をサービスの提供者に提示することができる。すると、サービスの提供者は、利用者の状況を利用者にとって有利に誤認し、誤認した状況に応じたサービスを提供してしまうおそれがある。
本発明は、1つの側面として、サービスの利用者による電子証明書の隠蔽を検出することを目的とする。
ある1つの態様にかかる通信プログラムは、ネットワークで共有される分散台帳の情報を取得可能な第1の装置で動作する。第1の装置は、第2の装置のユーザが前記第1の装置への申請に使用する1つ以上の電子証明書を前記第2の装置から取得する。第1の装置は、前記1つ以上の電子証明書で証明される情報の種別と前記ユーザの組み合わせを識別する種別情報であって、前記第2の装置によって前記分散台帳に登録された前記種別情報、前記分散台帳を用いて取得する。第1の装置は、前記種別情報が前記分散台帳に登録された後に発行される証明書であって、前記証明書が発行されるたびに前記証明書の発行情報が前記種別情報に対応付けて前記分散台帳に登録される前記証明書の発行履歴を取得する。第1の装置は、前記発行履歴に前記第2の装置から取得していない他の電子証明書の情報が含まれるかを判定する。
サービスの利用者による電子証明書の隠蔽が検出できる。
実施形態にかかる通信方法の例を説明する図である。 通信装置の構成の例を説明する図である。 通信装置のハードウェア構成の例を説明する図である。 分散台帳に含まれる公開鍵情報の例を説明する図である。 カテゴリーIDの登録処理の例を説明するシーケンス図である。 証明書の発行の際に行われる処理の例を説明するシーケンス図である。 証明書の網羅性の検証処理の例を説明するシーケンス図である。 通信装置で行われる検証処理の例を説明するフローチャートである。 カテゴリーIDの暗号化に使用される鍵情報の例を説明する図である。 第2の実施形態で使用されるカテゴリーIDリストの例を説明する図である。 カテゴリーIDの登録処理の例を説明するシーケンス図である。 証明書の発行の際に行われる処理の例を説明するシーケンス図である。 証明書の網羅性の検証処理の例を説明するシーケンス図である。 通信装置で行われる検証処理の例を説明するフローチャートである。 第2の実施形態での通信処理の例を説明する図である。
図1は、実施形態にかかる通信方法の例を説明する図である。図1に示す例では、ネットワーク1にノード5(5a~5d)が参加している。ネットワーク1に参加しているノード5a~5dは、分散台帳2を共有するものとする。ネットワーク1は、分散台帳2を共有し得る任意の形式のネットワークである。例えば、ネットワーク1は、ブロックチェーン技術におけるコンソーシアムであってもよい。図1の例では、ノード5に通信装置10(10a~10d)が接続されている。通信装置10は、接続先のノード5を介して分散台帳2中の情報を取得することができるものとする。
以下、図1を参照しながら、提供されるサービスが保険であり、証明書が利用者(ユーザ)の病歴に関する証明書である場合の例について説明する。通信装置10aはA病院に備えられた通信装置10であり、通信装置10bはB病院に備えられた通信装置10であるとする。さらに、通信装置10cは、保険を利用しようとしているユーザCが使用する装置であり、通信装置10dは保険会社が使用する通信装置10であるとする。さらに、A病院の証明書の発行者としての識別情報(発行者ID)はIDAであり、B病院の発行者IDはIDBであるとする。
まず、通信装置10cは、証明書を取得するカテゴリーの入力を受け付けると、そのカテゴリー(種別)と通信装置10cを使用するユーザCの組み合わせを一意に特定可能な識別情報(種別情報)を生成する。以下の説明では、カテゴリーとユーザの組み合わせを一意に特定可能な識別情報のことを「カテゴリーID」と記載することがある。通信装置10cは生成したカテゴリーIDをノード5cに通知する。すると、ノード5cは、通知されたカテゴリーIDを分散台帳2に登録する。図1の例では、R1に示すように、ユーザCの病歴についてのカテゴリーIDは、a2k8yであり、ユーザCの学歴についてのカテゴリーIDは、30f8hであることが分散台帳2に登録される。このため、ユーザCについてのカテゴリーIDの情報は、分散台帳2を共有するノード5の間で共有される。また、各通信装置10もノード5を介してカテゴリーIDを取得できる。
次に、ユーザCは、A病院から病歴についての証明書を取得するために、病歴についての証明書の要求を通信装置10cから通信装置10aに送信する(ステップS1)。通信装置10aのオペレータは、ユーザCの病歴についての証明書C1を生成したとする。通信装置10aは、証明書C1の発行情報を生成してノード5aに送信する。なお、証明書C1の発行情報には、ユーザCの病歴を特定するカテゴリーIDが含められている。ノード5aは、受信した発行情報をR2に示すように、分散台帳2に記録する。発行情報R2に示す記録は、発行者ID=IDA(A病院)から、カテゴリーID=a2k8yで識別されるユーザとカテゴリーの組み合わせについて、証明書ID=a1の証明書が発行されたことを表す。その後、証明書ID=a1の証明書が通信装置10aから通信装置10cに送信される(ステップS2)。
ユーザCがB病院から病歴についての証明書を取得する場合にも、A病院から証明書を取得したときと同様の処理が行われる。すなわち、通信装置10cから通信装置10bに病歴についての証明書の要求が送信される(ステップS3)。通信装置10bによって通信装置10aと同様の処理が行われるので、通信装置10bで生成された証明書の情報もノード5bによって分散台帳2に登録される。このため、R3に示すように、発行者ID=IDB(B病院)から、カテゴリーID=a2k8yで識別されるユーザとカテゴリーの組み合わせについて、証明書ID=b1の証明書が発行されたことが分散台帳2に記録される。その後、証明書ID=b1の証明書が通信装置10bから通信装置10cに送信される(ステップS4)。
次に、ユーザCのサービスの利用申請のために、通信装置10cは、証明書と証明書のカテゴリーが病歴であることを示す情報を通信装置10dに送付する(ステップS5)。図1の例では、通信装置10cは、A病院からユーザCが取得した証明書とB病院からユーザCが取得した証明書の両方を通信装置10dに送信したとする。
通信装置10dは、ノード5dに対して、ユーザCの病歴についての証明書発行履歴を要求する(ステップS6)。ここで、「証明書発行履歴」は、あるユーザに対してあるカテゴリーで発行された全ての証明書の識別情報のリストである。
ノード5dは、分散台帳2中のR1の記録を参照することにより、ユーザCと病歴の組み合わせを識別するカテゴリーIDが「a2k8y」であると認識する。ノード5dはカテゴリーID=a2k8yに対応付けて分散台帳2に記録されている発行情報を検索する。図1の例では、発行情報R2とR3から、証明書ID=a1、b1の証明書が発行されていることが特定される。ノード5dは、証明書発行履歴として証明書ID=a1、b1を通信装置10dに通知する(ステップS7)。通信装置10dは、ノード5dから通知された証明書IDと通信装置10cから受信した証明書に含まれている証明書IDを比較する。図1の例では、ノード5dから通知された証明書IDと通信装置10cから受信した証明書に含まれている証明書IDが完全一致するので、通信装置10dは、ユーザCが病歴について取得した証明書を全て提出していると判定できる。
その後、通信装置10dは、受信した証明書の各々を復号して証明書の検証を行う。証明書の検証のために、通信装置10dは、適宜、各証明書を発行した装置で用いられている秘密鍵の対となる公開鍵をノード5dから取得できるものとする。また、各通信装置10の公開鍵は分散台帳2に予め登録されているとする。図1の例では、通信装置10dは、発行者ID=IDAに対応付けられた通信装置10aの公開鍵と、発行者ID=IDBに対応付けられた通信装置10bの公開鍵をノード5dから取得することにより、証明書を復号できる。
一方、証明書発行履歴に含まれているIDで識別される証明書の1つ以上を受信していない場合、通信装置10は、サービスを受けようとしているユーザから全ての証明書が送られていないと判定できる。このように、証明書発行履歴に含まれているIDで識別される証明書の1つ以上が送付されていない場合、通信装置10は、サービスを受けようとしているユーザが一部の証明書を隠蔽した可能性があると判定できる。
以上述べたように、実施形態にかかる通信方法が用いられるシステムでは、証明書が発行されるたびに、その証明書の発行情報がカテゴリーIDに対応付けて分散台帳2に記録される。従って、全ての証明書についての発行情報が分散台帳2に登録されることになる。さらに、各証明書は、予め、ユーザがユーザ自身と証明書のカテゴリーの組み合わせを一意に特定可能なカテゴリーIDを分散台帳2に登録した後に発行される。このため、分散台帳2の記録を用いて、サービスの利用者がそのサービスに関連するカテゴリーについて取得している全ての電子証明書をサービス提供者に提出したかを、提供者が特定することができる。
なお、図1は一例であって、ネットワーク中のノード5や通信装置10の数は任意に変更されうる。さらに、提出される証明書の種類や提供されるサービスの種類も実装に応じて任意に変更され得る。
<装置構成>
図2は、通信装置10の構成の例を説明する図である。通信装置10は、通信部20、制御部30、および、記憶部40を備える。通信部20は、送信部21と受信部22を有する。送信部21は、ノード5や他の通信装置10などにパケットを送信する。受信部22は、ノード5や他の通信装置10などからパケットを受信する。
制御部30は、ID生成部31、登録処理部32、取得部33、判定部34、および、アプリケーション処理部35を備える。ID生成部31は、カテゴリーIDを生成する。ID生成部31は、通信装置10が証明書を取得するユーザの端末として動作する場合に使用される。登録処理部32は、カテゴリーIDや証明書の発行情報などの情報を、分散台帳2に登録するための処理を行う。例えば、登録処理部32は、通信装置10が接続しているノード5に対して、分散台帳2に登録する情報を送信するとともに、分散台帳2への登録を要求する処理を行う。取得部33は、ノード5から情報を取得するための処理を行う。例えば、取得部33は、通信装置10が証明書を発行する装置や証明書を検証する装置として動作する場合に使用される。判定部34は、証明書発行履歴に含まれている証明書IDと、受信済みの電子証明書に含まれている証明書IDを比較することにより、証明書の隠蔽が行われている可能性があるかを判定する。アプリケーション処理部35は、通信装置10で動作するアプリケーションによる処理を行う。例えば、アプリケーション処理部35は、アプリケーションを用いて電子証明書の発行や電子証明書の検証などを行う。
記憶部40は、カテゴリーID情報41と証明書生成用秘密鍵42を記憶する。カテゴリーID情報41は、通信装置10が生成したカテゴリーIDの情報である。証明書生成用秘密鍵42は、通信装置10が証明書を発行する装置として動作する場合に、生成した証明書を暗号化するために使用する秘密鍵である。
図3は、通信装置10のハードウェア構成の例を説明する図である。通信装置10は、プロセッサ101、メモリ102、バス105、ネットワークインタフェース109を備える。さらに、通信装置10は、入力装置103、出力装置104、記憶装置106、可搬記憶媒体駆動装置107の1つ以上を有していても良い。
プロセッサ101は、任意の処理回路であり、例えば、Central Processing Unit(CPU)とすることができる。プロセッサ101は、制御部30として動作する。プロセッサ101は、メモリ102や記憶装置106に記憶されたプログラムを実行することができる。メモリ102は、プロセッサ101の動作により得られたデータや、プロセッサ101の処理に用いられるデータを、適宜、記憶する。記憶装置106は、プログラムやデータなどを格納し、格納している情報を、適宜、プロセッサ101などに提供する。メモリ102や記憶装置106は、通信装置10において、記憶部40として動作する。
バス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は、適宜、通信装置10が他の装置と通信するための処理を行う。ネットワークインタフェース109は、通信部20として動作する。
<第1の実施形態>
以下、第1の実施形態を、分散台帳2を用いて共有される情報の例、カテゴリーIDの登録、電子証明書の発行処理、電子証明書を受信した通信装置10で行われる検証処理に分けて説明する。以下の例でも、証明書が利用者(ユーザ)の病歴に関する証明書である場合について説明する。通信装置10aはA病院に備えられた通信装置10であり、通信装置10bはB病院に備えられた通信装置10であるとする。さらに、通信装置10cは、保険を利用しようとしているユーザCが使用する装置であり、通信装置10dは保険会社が使用する通信装置10であるとする。
以下の説明では、処理を行っている通信装置10を明確にするために、処理を行っている通信装置10の符号の末尾のアルファベットを通信装置10の部分の符号の末尾に示すことがある。例えば、ID生成部31aは通信装置10aのID生成部31であり、登録処理部32cは通信装置10cの登録処理部32である。
図4は、分散台帳2に含まれる公開鍵情報の例を説明する図である。分散台帳2には、図1を参照しながら説明したようにカテゴリーIDや証明書の発行情報などの情報が保持されるだけでなく、公開鍵情報も保持される。公開鍵情報は、各通信装置10での証明書の暗号化に使用される秘密鍵の対となる公開鍵の情報である。
図4に示す公開鍵情報には、通信装置、装置ID、公開鍵、アドレスが対応付けられている。装置IDは、エントリ中の通信装置10に割り当てられた識別情報である。公開鍵は、エントリ中の通信装置10が暗号化に使用する秘密鍵の対となっている公開鍵である。アドレスは、エントリ中の通信装置10に割り当てられたアドレスである。例えば、通信装置10aには装置ID=IDAとアドレス=IPaが割り当てられており、通信装置10aが使用する秘密鍵の対となる公開鍵はKeyPAである。通信装置10bには装置ID=IDBとアドレス=IPbが割り当てられており、通信装置10bが使用する秘密鍵の対となる公開鍵はKeyPBである。同様に、通信装置10cには装置ID=IDCとアドレス=IPcが割り当てられており、通信装置10cが使用する秘密鍵の対となる公開鍵はKeyPCである。さらに、通信装置10dには装置ID=IDDとアドレス=IPdが割り当てられており、通信装置10dが使用する秘密鍵の対となる公開鍵はKeyPDである。
図5は、カテゴリーIDの登録処理の例を説明するシーケンス図である。図5を参照しながら、ユーザCが証明書を取得するために使用するカテゴリーIDが分散台帳2に登録される場合の処理の例を説明する。
通信装置10cのID生成部31cは、ユーザCとカテゴリーの組み合わせを一意に特定可能なカテゴリーIDを生成する(ステップS11)。なお、カテゴリーIDの生成方法は、任意の既知の方法を使用できる。図5の例では、ユーザCが病歴に関する証明書を取得するために、ID生成部31cは、ユーザCと病歴の組み合わせを一意に特定可能なカテゴリーID(病歴ID)としてa2k8yを生成したものとする。さらに、ユーザCが学歴に関する証明書を取得するために、ID生成部31cは、ユーザCと学歴の組み合わせを一意に特定可能なカテゴリーID(学歴ID)として30f8hを生成したものとする。なお、以下の記載では、個々のカテゴリーIDがいずれのカテゴリーに対応付けられているかを分かりやすくするために、各カテゴリーのカテゴリーIDを、そのカテゴリーの名称にIDをつけて表すことがある。例えば、ユーザCと病歴の組み合わせを一意に特定可能なカテゴリーIDのことを、ユーザCの「病歴ID」と記載することがある。同様に、ユーザCと学歴の組み合わせを一意に特定可能なカテゴリーIDのことを、ユーザCの「学歴ID」と記載することがある。
通信装置10cの登録処理部32cは、ID生成部31cが生成したカテゴリーIDを分散台帳2に登録することをノード5cに要求する(ステップS12)。ノード5cは、登録を要求されたカテゴリーIDの各々を、各カテゴリーとユーザの情報に対応付けて分散台帳2に記録する。このため、図5のR1に示す情報が分散台帳2を用いて、ノード5a~5dの間で共有される。
なお、図5に示す記録R1はカテゴリーIDの登録の一例であり、実装に応じて登録の形式は変更され得る。例えば、通信装置10とユーザが1対1に対応している場合、カテゴリーIDは、ユーザが使用する通信装置10の識別情報とカテゴリーの組み合わせを一意に特定する情報として生成されても良い。この場合、分散台帳2においても、カテゴリーIDは、通信装置10の識別情報とカテゴリーの組み合わせに対応付けて記録され得る。
図6は、証明書の発行の際に行われる処理の例を説明するシーケンス図である。図6を参照しながら、ユーザCの病歴についての証明書がA病院の通信装置10aで発行される場合に行われる処理の例を説明する。なお、図6の処理の前に図5を参照しながら説明した登録処理が行われているとする。
通信装置10cのアプリケーション処理部35cは、ユーザCからの入力などにより、病歴についての証明書をA病院から取得することが要求されたと認識したとする。また、アプリケーション処理部35cは、A病院の通信装置10aのアドレスなどの情報も、ユーザからの入力などにより取得したとする。すると、アプリケーション処理部35cは、ユーザCの証明書を要求することと証明書を要求するカテゴリーが病歴であることを含む証明書の要求メッセージを生成する。送信部21cは、生成された要求メッセージを通信装置10aに送信する(ステップS21)。
通信装置10aの取得部33aは、受信部22aを介して要求メッセージを取得する。すると、取得部33aは、ユーザCの病歴IDをノード5aに要求する(ステップS22)。ノード5aは、分散台帳2に含まれている記録R1(図5)を参照することにより、ユーザCの病歴IDがa2k8yであると認識する。ノード5aは、ユーザCの病歴IDとして、a2k8yを通信装置10aに通知する(ステップS23)。
通信装置10aの取得部33aは、ユーザCの病歴についての証明書が要求されていることと、ユーザCの病歴を特定するカテゴリーIDがa2k8yであることをアプリケーション処理部35aに通知する。アプリケーション処理部35aは、取得部33aから通知された情報を用いて、ユーザCの病歴に対する情報を記憶部40aなどから読み出すことにより、ユーザCの病歴についての証明書C1を生成する(ステップS24)。アプリケーション処理部35aは、生成した証明書C1を識別するための証明書IDも生成する。図6の例では、ユーザCの病歴についてアプリケーション処理部35aが生成した証明書C1の証明書IDはa1であるとする。
アプリケーション処理部35aは、証明書C1の証明書ID、および、ユーザCの病歴IDを、登録処理部32aに出力する。登録処理部32aは、アプリケーション処理部35aから通知された証明書IDと病歴IDの組み合わせを、証明書の発行情報として分散台帳2に記録することをノード5aに要求する(ステップS25)。ノード5aは、証明書の発行情報として、以下の情報を分散台帳2に記録する(図6のR2)。
証明書発行情報
カテゴリーID:a2k8y
証明書ID :a1
発行者ID :IDA
なお、発行者IDは、証明書C1を発行した通信装置10aを識別する情報である。ノード5aの登録処理により、図6のR2に示す情報は、分散台帳2を用いてノード5a~5dの間で共有される(ステップS26)。
通信装置10aのアプリケーション処理部35aは、ステップS24で生成した証明書C1を、証明書生成用秘密鍵42aで暗号化する。なお、証明書の暗号化されない領域に、証明書IDが記録されているものとする。さらに、アプリケーション処理部35aは、暗号化した証明書C1と、証明書C1の送信先が通信装置10cであることを表す情報を送信部21aに出力する。送信部21aは、アプリケーション処理部35aから入力された証明書C1を通信装置10cに送信する(ステップS27)。通信装置10cでは、受信部22cを介して受信した証明書のデータを、適宜、記憶部40cに記憶する。なお、記憶部40cに記憶される証明書のデータは、証明書の発行元で暗号化されたデータであるものとする。
図6を参照しながらA病院の通信装置10aがユーザCの病歴についての証明書C1を発行する際の処理について説明したが、通信装置10bなどの他の通信装置10によっても同様の処理により証明書の生成、証明書発行情報の登録、証明書の送信が行われ得る。また、ユーザC以外の任意のユーザについての処理も同様に行われ得る。なお、図6を参照しながら説明した処理の手順は一例であり、実装に応じて処理の手順は変更され得る。例えば、ステップS27の証明書の送信処理は、ステップS25、S26の処理と並行して行われても良く、また、ステップS25、S26の処理の前に行われても良い。
図7は、証明書の網羅性の検証処理の例を説明するシーケンス図である。図7を参照しながら、ユーザCの病歴についての証明書がA病院とB病院から発行され、ユーザCが病歴についての証明書を保険会社に提出する場合に行われる処理の例を説明する。なお、図7の処理は一例であり、実装に応じて処理が変更される場合がある。
図7の処理が行われる時点では、図5を参照しながら説明した手順により、ユーザCについてのカテゴリーIDは記録R1(図7)に示すように分散台帳2に登録されているものとする。また、図6を参照しながら説明した手順により、ユーザCの病歴についてのA病院での証明書C1の発行情報も、発行情報R2に示すように分散台帳2に登録されているものとする。さらに、B病院で使用されている通信装置10bおよびノード5bでの処理により証明書C2が発行され、以下の情報が分散台帳2に記録されているとする(図7のR3)。
証明書発行情報
カテゴリーID:a2k8y
証明書ID :b1
発行者ID :IDB
なお、分散台帳2中の情報は、ノード5a~5dで共有されている。
ここで、ユーザCが保険会社に対して、保険サービスを申し込んだとする。すると、保険会社のオペレータは、通信装置10dからユーザCの使用する通信装置10cに対して、病歴に関する証明書の送付要求を送信する(ステップS31)。証明書の送付要求は、任意の形式で行われ得る。例えば、送付要求は、ユーザCに証明書の提出を求めるメールの送信や証明書を添付可能な操作画面を通信装置10cに表示させるための情報の送信などであっても良い。
通信装置10cの受信部22cは、送付要求を受信する。送付要求が操作画面を通信装置10cに表示するためのデータである場合、アプリケーション処理部35cは、送付要求に応じた表示画面をディスプレイなどの出力装置104(図3)に表示する。その後、ユーザCの操作により、A病院から発行された証明書C1とB病院から発行された証明書C2が通信装置10dに送信されたとする(ステップS32)。なお、ステップS32で通信装置10dに送信される証明書C1とC2のいずれも、証明書の発行元で暗号された暗号化データの状態で通信装置10dに送信されたとする。
通信装置10dのアプリケーション処理部35dは、受信部22dを介して、証明書C1、C2のデータとこれらのデータがユーザCの病歴の証明書であることを示す情報を取得したとする。すると、アプリケーション処理部35dは、得られた情報を適宜、記憶部40に格納する。取得部33dは、ユーザCの病歴IDをノード5dに問い合わせる(ステップS33)。
ノード5dは、通信装置10dの取得部33dからの問い合わせに応じて分散台帳2を参照することにより、ユーザCの病歴ID=a2k8yという情報を取得する。ノード5dは、得られた病歴IDを通信装置10dに送信する(ステップS34)。
通信装置10dの取得部33dは、受信部22dを介して、ユーザCの病歴ID=a2k8yを取得する。次に、取得部33dは、ユーザCの病歴ID(a2k8y)に関連付けられた証明書の証明書発行履歴をノード5dに要求する(ステップS35)。
ノード5dは、通信装置10dの取得部33dからの問い合わせに応じて、分散台帳2においてカテゴリーID=a2k8yに対応付けられた証明書発行情報を検索する。図7の例では、発行情報R2と発行情報R3にカテゴリーID=a2k8yが含まれている。そこで、ノード5dは、検索で得られた発行情報に含まれている証明書情報と発行者IDの組み合わせを証明書発行履歴として通信装置10dに送信する(ステップS36)。例えば、図7の例では、証明書発行履歴として以下の情報が通信装置10dに送信される。
発行情報1
証明書ID=a1、発行者ID=IDA
発行情報2
証明書ID=b1、発行者ID=IDB
通信装置10dの取得部33dは、受信部22dを介してノード5dから取得した証明書発行履歴を適宜、記憶部40dや判定部34dに出力する。判定部34dは、得られた証明書発行履歴とユーザから送信された証明書の間でIDと数が一致しているかを検証する(ステップS37)。図7の例では、ユーザCから証明書C1と証明書C2が通信装置10dに送信されている。また、証明書C1には、証明書ID=a1という情報が含まれ、証明書C2には、証明書ID=b1という情報が含まれている。そこで、判定部34dは、ユーザCから送信された証明書に含まれるIDと数は、分散台帳2に記録されている情報としてノード5dから通知された証明書発行履歴と一致していると判定する。この場合、ユーザCは証明書の一部を隠蔽している可能性はない。そこで、通信装置10dのオペレータは、各証明書の復号と復号後の証明書の検証など、ユーザCに対する保険サービスを提供するための処理を行うことができる。証明書の検証のための公開鍵の取得等についての詳細は、図8を参照しながら説明する。
次に、ステップS37の処理において、判定部34dがノード5から通知された証明書発行履歴とユーザから送信された証明書の間で証明書のIDと数が一致していないと判定した場合について述べる。証明書を発行している各通信装置10は、証明書を発行したときにノード5を介して分散台帳2に証明書の発行情報を記録している。また、分散台帳2は改ざんが極めて困難である。従って、ノード5から通知された証明書発行履歴は、ユーザが指定されたカテゴリーについて取得した全ての証明書を網羅したリストであるといえる。このため、ノード5から通知された証明書発行履歴とユーザから送信された証明書の間で証明書のIDと数が一致していない場合には、ユーザが一部の証明書を送信していない可能性や、ユーザが誤って別のカテゴリーの証明書を送っている可能性がある。従って、第1の実施形態にかかる通信方法では、いずれのケースでも、サービスの提供者は、個々の証明書の復号や証明書の内容の検証を行う前に、証明書が適切に提出されていないことを特定することができる。
図8は、通信装置10で行われる検証処理の例を説明するフローチャートである。図8は処理の一例であり、実装に応じて処理手順は変更され得る。例えば、図8のステップS52の処理は図7のステップS33とS35に示すように2回の問い合わせ処理に変形され得る。なお、図8の例では、カテゴリーIDは、ユーザが使用する通信装置10とカテゴリーの組み合わせに対応付けて生成され、分散台帳2に記録される。
通信装置10のアプリケーション処理部35は、証明書とカテゴリーの情報を取得する(ステップS51)。アプリケーション処理部35は、得られた情報を適宜、記憶部40に格納する。取得部33は、証明書の送信元の通信装置10の情報とカテゴリーの情報の組み合わせに対応するカテゴリーIDについての証明書発行履歴をノード5に要求する(ステップS52)。ここで、各証明書が発行されるたびに分散台帳2に発行情報が記録される上、分散台帳2は改ざんが極めて困難である。このため、ノード5から通知される証明書発行履歴は、ユーザが使用する通信装置10とカテゴリーの組み合わせについて取得した全ての証明書を網羅したリストであるといえる。取得部33は、証明書発行履歴を取得するまで待機する(ステップS53でNo)。証明書発行履歴を取得すると、取得部33は、証明書発行履歴を記憶部40に格納する(ステップS53でYes)。
判定部34は、受信した証明書のID、数が証明書発行履歴と一致するかを判定する(ステップS54)。受信した証明書のID、数が証明書発行履歴と一致しない場合、判定部34は、一部の証明書が隠蔽されている可能性があると判定する(ステップS54でNo,ステップS55)。そこで、アプリケーション処理部35では証明書の復号などの処理を行わずに処理を終了する。
一方、受信した証明書のID、数が証明書発行履歴と一致する場合、判定部34は証明書が隠蔽されている可能性がないと判定する(ステップS54でYes)。証明書が隠蔽されている可能性がないと判定すると、取得部33は、ノード5から通知された証明書発行履歴に含まれている発行者IDを用いて、各発行者IDに対応付けられている公開鍵をノード5に要求できる。
ノード5は、通信装置10から通知された発行者IDをキーとして、分散台帳2中の公開鍵情報(図4)を検索する。例えば、発行者ID=IDAと発行者ID=IDBについて、公開鍵が要求されたとする。公開鍵情報において、発行者ID=IDAには公開鍵=KeyPAが対応付けられており、発行者ID=IDBには公開鍵=KeyPBが対応付けられている。すると、ノード5は、発行者ID=IDAの公開鍵としてKeyPAを通信装置10に通知するとともに、発行者ID=IDBの公開鍵としてKeyPBを通信装置10に通知する。取得部33は、受信部22を介してノード5からの通知を受信することにより、証明書の復号用の公開鍵を取得する(ステップS56)。アプリケーション処理部35は、取得部33の処理により取得された公開鍵を用いて証明書を復号し、証明書の検証処理を行う(ステップS57)。
以上で説明したように、第1の実施形態にかかるシステムでは、証明書が発行されるたびにその証明書の発行情報がカテゴリーIDに対応付けて分散台帳2に記録されるため、全ての証明書についての発行情報が分散台帳2に登録される。さらに、各証明書は、予め、ユーザがユーザ自身かまたはユーザの使用する通信装置10と証明書のカテゴリーの組み合わせを一意に特定可能なカテゴリーIDを分散台帳2に登録した後に発行される。このため、分散台帳2の記録を用いて、サービスの利用者がそのサービスに関連するカテゴリーについて取得している全ての電子証明書をサービスの提供者に提出したかを、提供者が特定することができる。
<第2の実施形態>
第1の実施形態では、サービスを利用しようとする利用者のカテゴリーIDが分散台帳2に記録されているため、分散台帳2の情報にアクセス可能な第三者もユーザについての証明書の発行情報を取得可能である。従って、利用者のプライバシー保護が不十分な状態であるといえる。また、証明書の発行情報を取得した第三者が証明書の発行情報を悪用するおそれもある。そこで、第2の実施形態では、第三者が証明書発行情報からユーザを特定しないようにカテゴリーIDを暗号化する場合の実施形態について説明する。
図9は、ユーザCのカテゴリーIDの暗号化に使用される鍵情報の例を説明する図である。第2の実施形態では、通信装置10は、図9に示すようなカテゴリーIDの暗号化用の鍵情報を記憶しているものとする。また、カテゴリーIDの暗号化用の鍵情報は、秘密鍵と公開鍵のいずれも分散台帳2には登録されない。このため、通信装置10は、証明書の発行や検証を行う通信装置10に対して、暗号化済みのカテゴリーIDの復号を行うための公開鍵を配布する。換言すると、第三者がカテゴリーIDの復号に使用される公開鍵を取得しないように、カテゴリーIDの暗号化用の鍵情報は、その鍵情報を生成した通信装置10によって保管される。
図9の例では、ユーザCの病歴を特定するカテゴリーIDの暗号化に、秘密鍵KeyAが使用される。一方、ユーザCの病歴を特定するカテゴリーIDを暗号化することで得られたデータの復号の際に、KeyBが使用される。さらに、ユーザCの学歴を特定するカテゴリーIDの暗号化に、秘密鍵KeyCが使用され、ユーザCの学歴を特定するカテゴリーIDの暗号化後のデータの復号の際に、KeyDが使用される。
図10は、第2の実施形態で使用されるカテゴリーIDリストの例を説明する図である。第2の実施形態では、分散台帳2に登録されるカテゴリーIDリストには、そのカテゴリーIDを用いるユーザの情報と、各カテゴリーのカテゴリーIDが暗号化された情報が記録される。例えば、ユーザCの病歴IDとして、カテゴリーID(a2k8y)を秘密鍵KeyAで暗号化した情報が登録される。同様に、ユーザCの学歴IDとして、カテゴリーID(30f8h)を秘密鍵KeyCで暗号化した情報が登録される。以下の記載では、平文のカテゴリーIDとの区別を容易にするために、暗号化されたカテゴリーIDのことを「暗号化済みID」と記載することがある。
図11は、カテゴリーIDの登録処理の例を説明するシーケンス図である。通信装置10cのID生成部31cは、ユーザCとカテゴリーの組み合わせを一意に特定可能なカテゴリーID、および、カテゴリーIDの暗号化に使用する秘密鍵と公開鍵のペアを生成する(ステップS71)。カテゴリーIDの生成方法は第1の実施形態と同様である。以下の説明でも、ユーザCと病歴の組み合わせを一意に特定可能なカテゴリーID(病歴ID)としてa2k8yが生成され、ユーザCと学歴の組み合わせを一意に特定可能なカテゴリーID(学歴ID)として30f8hが生成されたとする。カテゴリーIDの暗号化に使用する秘密鍵と公開鍵の生成方法は、任意の既知の方法である。以下の説明では、図9に示す鍵のペアが生成されたとする。ID生成部31cは、生成したカテゴリーIDを、そのカテゴリーIDの暗号化用に生成した秘密鍵で暗号化する。このため、ID生成部31cは、ユーザCの病歴ID(a2k8y)を秘密鍵KeyAで暗号化し、ユーザCの学歴ID(30f8h)を秘密鍵KeyCで暗号化する。
通信装置10cの登録処理部32cは、ID生成部31cで暗号化されたカテゴリーID(暗号化済みID)を分散台帳2に登録することをノード5cに要求する(ステップS72)。ノード5cは、登録を要求された暗号化済みIDの各々を、各カテゴリーとユーザの情報に対応付けて分散台帳2に記録する。このため、図11のR11に示す情報が分散台帳2に登録される。また、R11に示す情報は分散台帳2を用いて、ノード5a~5dの間で共有される(ステップS73)。
なお、第2の実施形態においても、実装に応じて登録の形式は変更され得る。例えば、暗号化済みIDは、ユーザが使用する通信装置10の識別情報とカテゴリーの組み合わせを一意に特定する情報として生成、記録され得る。
図12は、証明書の発行の際に行われる処理の例を説明するシーケンス図である。図12を参照しながら、ユーザCの病歴についての証明書がA病院の通信装置10aで発行される場合に行われる処理の例を説明する。
通信装置10cのアプリケーション処理部35cは、ユーザCからの入力などにより、病歴についての証明書をA病院から取得することが要求されたと認識すると、証明書を要求するカテゴリーが病歴であることを含む証明書の要求メッセージを生成する。アプリケーション処理部35cは、送信部21cを介して、証明書を要求するカテゴリー(病歴)に対応付けられた公開鍵とともに、要求メッセージを通信装置10aに送信する(ステップS81)。ステップS81では、復号用の公開鍵としてKeyBが送信される。
通信装置10aの取得部33aは、受信部22aを介して要求メッセージを取得する。すると、取得部33aは、ユーザCとカテゴリー=病歴に対応付けられた暗号化済みの病歴IDをノード5aに要求する(ステップS82)。ノード5aは、分散台帳2に含まれている記録R11(図11)を参照することにより、ユーザCの病歴に対応付けられた暗号化済みの病歴IDを取得して、通信装置10aに通知する(ステップS83)。取得部33aは、暗号化済みの病歴IDをKeyBで復号する(ステップS84)。取得部33aが復号に成功した場合、証明書の発行の要求元から正しい復号鍵が送られているので、ユーザCが使用する通信装置10cから証明書の発行が要求されていると考えられる。図12の例では、取得部33aはKeyBを用いた復号処理によりユーザCの病歴を特定するカテゴリーIDとしてa2k8yを取得したとする。
通信装置10aの取得部33aは、ユーザCの病歴についての証明書が要求されていることと、ユーザCの病歴を特定するカテゴリーIDがa2k8yであることをアプリケーション処理部35aに通知する。アプリケーション処理部35aでの証明書の生成と証明書IDの生成は第1の実施形態と同様に行われる。以下、図12の例でも、ユーザCの病歴についてアプリケーション処理部35aは証明書C1を生成したとする。また、証明書C1を識別する証明書IDはa1であるとする。登録処理部32aは、第1の実施形態と同様の処理により、証明書発行情報を分散台帳2に登録することをノード5aに要求する(ステップS85)。さらに、ノード5aも、第1の実施形態と同様の処理により、証明書の発行情報として、以下の情報を分散台帳2に記録したとする(図12のR2)。
証明書発行情報
カテゴリーID:a2k8y
証明書ID :a1
発行者ID :IDA
分散台帳2は、ノード5a~5dで共有されるので、R2に示す証明書発行情報は、R11に示す暗号化済みIDの情報と同様にノード5a~5dで共有される(ステップS86)。ここで、第2の実施形態においても、証明書発行情報に含まれるカテゴリーIDは、第1の実施形態と同様に平文のままのカテゴリーIDである。一方、ユーザのカテゴリーIDの登録情報には、R11に示すように暗号化済みIDしか含まれない。このため、暗号化済みIDを復号するための公開鍵を有さない第三者は、分散台帳2の情報を取得しても、R2に含まれている証明書発行情報に含まれているカテゴリーIDがどのユーザのどのカテゴリーに関するものであるかを認識することができない。例えば、第三者はR2に記録されている証明書発行情報がユーザCの病歴に関する証明書であることを認識しない。このため、証明書発行情報が分散台帳2に記録されてもユーザCのプライバシーは保護される。
その後、通信装置10aのアプリケーション処理部35aは、ユーザCの病歴に関して生成した証明書C1を、証明書生成用秘密鍵42aで暗号化して、通信装置10cに送信する(ステップS87)。証明書の暗号化や送信処理は、第1の実施形態と同様の処理によって行われる。
なお、図12を参照しながら説明した処理は一例であり、通信装置10bなどの他の通信装置10によっても同様に証明書の生成、証明書発行情報の登録、証明書の送信が行われ得る。また、ユーザC以外の任意のユーザについての処理も同様に行われ得る。さらに、図12を参照しながら説明した処理の手順は実装に応じて変更され得る。例えば、ステップS87の証明書の送信処理は、ステップS85、S86の処理と並行して行われても良く、また、ステップS85、S86の処理の前に行われても良い。
図13は、証明書の網羅性の検証処理の例を説明するシーケンス図である。図13を参照しながら、ユーザCの病歴についての証明書がA病院とB病院から発行され、ユーザCが病歴についての証明書を保険会社に提出する場合に行われる処理の例を説明する。図13では、図12のステップS86の処理の後でB病院から証明書C2が発行されたことにより、以下の情報も分散台帳2に記録されているとする(図13のR3)。
証明書発行情報
カテゴリーID:a2k8y
証明書ID :b1
発行者ID :IDB
分散台帳2中の情報は、ノード5a~5dで共有されている(ステップS91)。
図13においても、ユーザCが保険会社に対して、保険サービスを申し込んだとする。すると、保険会社のオペレータは、通信装置10dからユーザCの使用する通信装置10cに対して、病歴に関する証明書の送付要求を送信する(ステップS92)。
通信装置10cの受信部22cが送付要求を受信したことにより、アプリケーション処理部35cは、送付要求に応じた表示画面の表示処理を行ったとする。ユーザCの操作により、A病院から発行された証明書C1、B病院から発行された証明書C2、および、ユーザCの病歴IDの復号化に使用する公開鍵(KeyB)が通信装置10dに送信されたとする(ステップS93)。さらに、送信された証明書がユーザCの病歴の証明書であることを示す情報も併せて通信装置10dに送信され得る。なお、ステップS93で通信装置10dに送信される証明書C1とC2のいずれも、証明書の発行元で暗号された暗号化データの状態で通信装置10dに送信されている。
通信装置10dのアプリケーション処理部35dは、受信部22dを介して、証明書C1、証明書C2、公開鍵KeyBを取得したとする。すると、アプリケーション処理部35dは、得られた情報を適宜、記憶部40に格納する。取得部33dは、ユーザCとカテゴリー=病歴に対応付けられた暗号化済みの病歴IDをノード5dに問い合わせる(ステップS94)。
ノード5dは、通信装置10dの取得部33dからの問い合わせに応じて分散台帳2を参照することにより、ユーザCの病歴に対応付けられた暗号化済みの病歴IDを取得して、通信装置10dに通知する(ステップS95)。取得部33dは、暗号化済みの病歴IDをKeyBで復号する(ステップS96)。取得部33dが復号に成功した場合、証明書の発行の要求元から正しい復号鍵が送られているので、ユーザCが使用する通信装置10cから証明書などが送信されたと考えられる。図13の例では、取得部33dは、KeyBを用いた復号処理により、ユーザCの病歴を特定するカテゴリーIDとしてa2k8yを得たとする。次に、取得部33dは、ユーザCの病歴ID(a2k8y)に関連する証明書発行履歴をノード5dに要求する(ステップS97)。
ノード5dは、通信装置10dの取得部33dからの問い合わせに応じて、分散台帳2においてカテゴリーID=a2k8yに対応付けられた証明書の発行情報を検索する。図13の例では、発行情報R2と発行情報R3にカテゴリーID=a2k8yが含まれているので、ノード5dは、以下の検索結果を証明書発行履歴として通信装置10dに送信する(ステップS98)。
発行情報1
証明書ID=a1、発行者ID=IDA
発行情報2
証明書ID=b1、発行者ID=IDB
通信装置10dの取得部33dは、受信部22dを介してノード5dから取得した証明書発行履歴を適宜、記憶部40dや判定部34dに出力する。判定部34dは、得られた証明書発行履歴とユーザから送信された証明書の間でIDと数が一致しているかを検証する(ステップS99)。ステップS99での検証処理と検証に成功した時の各証明書の復号などの処理は、第1の実施形態で図7と図8を参照しながら説明した処理と同様の処理により行われる。このため、第2の実施形態にかかる通信方法では、証明書を取得するユーザのプライバシーを保護しつつ、第1の実施形態と同様に、サービスの提供者が証明書の隠蔽が行われているかを確認することができる。
図14は、通信装置10で行われる検証処理の例を説明するフローチャートである。なお、図14は処理の一例であり、実装に応じて処理手順は変更され得る。
通信装置10のアプリケーション処理部35は、証明書とカテゴリーIDの復号用の公開鍵を取得する(ステップS111)。アプリケーション処理部35は、得られた情報を適宜、記憶部40に格納する。取得部33は、ノード5を介して、証明書を送信してきたユーザについての暗号化済みのカテゴリーIDを取得する(ステップS112)。取得部33は、公開鍵を用いて暗号化済みのカテゴリーIDを復号することにより、カテゴリーIDの平文を生成する(ステップS113)。取得部33は、生成した平文のカテゴリーIDに対応付けられた証明書発行履歴をノード5から取得する(ステップS114)。
判定部34は、受信した証明書のID、数が証明書発行履歴と完全一致するかを判定する(ステップS115)。受信した証明書のID、数が証明書発行履歴と一致しない場合、判定部34は、一部の証明書が隠蔽されている可能性があると判定する(ステップS115でNo、ステップS117)。そこで、アプリケーション処理部35では証明書の復号などの処理を行わずに処理を終了する。
一方、受信した証明書のID、数が証明書発行履歴と一致する場合、判定部34は証明書が隠蔽されている可能性がないと判定する(ステップS115でYes)。証明書が隠蔽されている可能性がないと判定すると、取得部33は、証明書を復号して検証する(ステップS116)。ステップS116の処理の詳細は、図8のステップS56、S57を参照しながら説明した処理と同様である。
図15は、第2の実施形態での通信処理の例を説明する図である。図15を参照しながら、第2の実施形態で得られる効果について説明する。第2の実施形態では、図15に示すように、各証明書の発行情報は、R2およびR3に示すように、カテゴリーIDの平文、証明書ID、および、発行者IDを含む。しかし、各ユーザのカテゴリーIDの登録は、R11に示すように、暗号化済みIDを用いて行われる。このため、暗号化済みIDの暗号化に使用された秘密鍵の対となる公開鍵を取得していない第三者は、各ユーザのカテゴリーIDを認識することができない。例えば、第三者は、公開鍵を取得していないので、分散台帳2に含まれているR11を読み込んでも、ユーザCのカテゴリーIDを特定できない。従って、第三者は、R2、R3などの証明書の発行情報を見ても、カテゴリーID=a2k8yに対応付けて証明書が発行されていることまでしか分からず、ユーザCの証明書が発行されていることを認識できない。このため、第2の実施形態を用いると、ユーザのプライバシーを保護することができる。
一方、第2の実施形態を用いても、第1の実施形態と同様に通信装置10dにおいて、申請に使用されるカテゴリーについての全ての電子証明書がユーザから提出されているかを判定することができる。例えば、ユーザCの通信装置10cは、矢印A1、A3に示すように、証明書を発行する通信装置10に対しては、カテゴリーIDの復号用に公開鍵を提示する。このため、通信装置10a、10bのいずれも、公開鍵を用いてカテゴリーIDを復号し、復号したカテゴリーIDに対応付けて証明書を発行するとともに発行情報を分散台帳2に記録できる。さらに、通信装置10a、10bのいずれも、発行した証明書をユーザの通信装置10cに送信する(矢印A2,A4)。従って、通信装置10cは、取得した証明書とともにカテゴリーIDの復号化に使用する公開鍵を、保険会社の通信装置10dに送信できる(矢印A5)。保険会社の通信装置10dでは、通信装置10aなどと同様に公開鍵を用いてカテゴリーIDを復号し、復号したカテゴリーIDに対応付けて分散台帳2に記録されている証明書の証明書IDを取得できる。このため、通信装置10dは、復号したカテゴリーIDに対応付けて分散台帳2に記録されている証明書の証明書IDと、通信装置10cから提示された証明書中の証明書IDを比較することによって、電子証明書の隠蔽が行われている可能性があるかを判定できる。
<その他>
なお、実施形態は上記に限られるものではなく、様々に変形可能である。以下にその例をいくつか述べる。
以上で説明したテーブル、メッセージ、電子証明書等のフォーマットは一例にすぎず、実装に応じて変更され得る。例えば、テーブル、メッセージ、電子証明書は、以上に述べた情報要素以外の情報要素を含んでも良く、図示された情報要素の一部を含まなくても良い。
以上の説明では、カテゴリーが病歴である場合を例として説明したが、実施形態にかかる通信方法で送受信される証明書のカテゴリーは実装に応じて任意に変更され得る。例えば、カテゴリーは、学歴、経歴、犯罪歴などであっても良い。
以上の説明では、理解しやすくするために、通信装置10が行う処理を分けて説明したが、いずれの通信装置10もカテゴリーIDの生成、電子証明書の発行、送信、検証を行い得る。さらに、第2の実施形態では、いずれの通信装置10も、カテゴリーIDの暗号化、カテゴリーIDの生成、電子証明書の発行、送信、検証を行い得る。
以上の説明では、通信装置10は分散台帳2を共有する装置ではない場合を例として説明したが、ノード5と通信装置10が1つの装置であってもよい。ノード5と通信装置10が1つの装置である場合、証明書を発行する装置は証明書の発行とともに、自装置が発行した証明書の発行情報を分散台帳2に登録する。また、この場合、サービスを受けようとしているユーザが使用する装置は、カテゴリーIDを分散台帳2に登録する。さらに、証明書の検証を行う装置は、分散台帳2の情報にアクセスすることにより証明書発行履歴を特定し、証明書の隠蔽が行われた可能性があるかを判定できる。
1 ネットワーク
2 分散台帳
5 ノード
10 通信装置
20 通信部
21 送信部
22 受信部
30 制御部
31 ID生成部
32 登録処理部
33 取得部
34 判定部
35 アプリケーション処理部
40 記憶部
41 カテゴリーID情報
42 証明書生成用秘密鍵
101 プロセッサ
102 メモリ
103 入力装置
104 出力装置
105 バス
106 記憶装置
107 可搬記憶媒体駆動装置
108 可搬記憶媒体
109 ネットワークインタフェース

Claims (6)

  1. ネットワークで共有される分散台帳の情報を取得可能な第1の装置に、
    第2の装置のユーザが前記第1の装置への申請に使用する1つ以上の電子証明書を前記第2の装置から取得し
    記1つ以上の電子証明書で証明される情報の種別と前記ユーザの組み合わせを識別する種別情報であって、前記第2の装置によって前記分散台帳に登録された前記種別情報、前記分散台帳を用いて取得し、
    前記種別情報が前記分散台帳に登録された後に発行される証明書であって、前記証明書が発行されるたびに前記証明書の発行情報が前記種別情報に対応付けて前記分散台帳に登録される前記証明書の発行履歴を取得し、
    前記発行履歴に前記第2の装置から取得していない他の電子証明書の情報が含まれるかを判定する
    処理を行わせることを特徴とする通信プログラム。
  2. 前記発行履歴に前記第2の装置から取得していない他の電子証明書の情報が含まれる場合、前記ユーザが前記種別の情報に関して取得した電子証明書の一部が隠蔽されている可能性があると判定する
    処理を前記第1の装置に行わせることを特徴とする請求項1に記載の通信プログラム。
  3. 前記種別情報は、前記ユーザが前記1つ以上の電子証明書を取得する前に前記分散台帳に登録されており、
    前記1つ以上の電子証明書の各々は、前記種別情報に対応付けて生成され、
    前記1つ以上の電子証明書の各々についての発行情報が前記種別情報に対応付けて前記分散台帳に記録される
    ことを特徴とする請求項1または2に記載の通信プログラム。
  4. 前記1つ以上の電子証明書を前記ユーザが取得する前に、前記種別情報を前記第2の装置が使用する秘密鍵で暗号化した暗号化情報が前記分散台帳に登録されており、
    前記1つ以上の電子証明書の各々は、前記秘密鍵の対となる公開鍵を前記第2の装置から取得した装置によって、前記暗号化情報を前記公開鍵で復号して生成された前記種別情報に対応付けて生成され、
    前記1つ以上の電子証明書の各々についての発行情報が前記種別情報に対応付けて前記分散台帳に記録される
    ことを特徴とする請求項1または2に記載の通信プログラム。
  5. 前記第2の装置から前記公開鍵を取得し、
    前記暗号化情報を前記公開鍵で復号することにより前記種別情報を取得し、
    前記種別情報に対応付けられた前記発行情報のリストを前記発行履歴として取得する
    処理を、前記第1の装置にさらに行わせることを特徴とする請求項4に記載の通信プログラム。
  6. ネットワークで共有される分散台帳の情報を取得可能な第1の装置への申請に使用する電子証明書を取得する第2の装置は、前記第2の装置のユーザ、および、前記第1の装置への申請に使用する情報の種別の組み合わせを一意に特定可能な種別情報を前記分散台帳に登録し、
    前記種別情報が前記分散台帳に登録された後に前記電子証明書を発行する第3の装置は、前記分散台帳から前記種別情報を取得した上で、前記種別の情報についての電子証明書を前記第2の装置に送信するとともに、前記第3の装置が発行した電子証明書の発行情報を、前記電子証明書が発行されるたびに、前記種別情報に対応付けて前記分散台帳に記録し、
    前記第2の装置は、前記申請に使用する電子証明書を前記第1の装置に送信し、
    前記第1の装置は、前記分散台帳で前記種別情報に対応付けられた前記発行情報のリストに、前記第2の装置から取得していない他の電子証明書の情報が含まれるかを判定する
    ことを特徴とする通信方法。
JP2019160133A 2019-09-03 2019-09-03 通信プログラムおよび通信方法 Active JP7306170B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019160133A JP7306170B2 (ja) 2019-09-03 2019-09-03 通信プログラムおよび通信方法
US16/990,125 US11522722B2 (en) 2019-09-03 2020-08-11 Communication apparatus and communication method
EP20190697.1A EP3790226A1 (en) 2019-09-03 2020-08-12 A blockchain-based medical insurance storage system
CN202010888123.9A CN112448818B (zh) 2019-09-03 2020-08-28 储存介质、通信方法、通信设备及通信系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019160133A JP7306170B2 (ja) 2019-09-03 2019-09-03 通信プログラムおよび通信方法

Publications (2)

Publication Number Publication Date
JP2021040230A JP2021040230A (ja) 2021-03-11
JP7306170B2 true JP7306170B2 (ja) 2023-07-11

Family

ID=72050733

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019160133A Active JP7306170B2 (ja) 2019-09-03 2019-09-03 通信プログラムおよび通信方法

Country Status (4)

Country Link
US (1) US11522722B2 (ja)
EP (1) EP3790226A1 (ja)
JP (1) JP7306170B2 (ja)
CN (1) CN112448818B (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010220175A (ja) 2009-03-19 2010-09-30 Hitachi Government & Public Corporation System Engineering Ltd 通信システム、証明書検証装置及びサービス提供方法
US20190251573A1 (en) 2018-02-09 2019-08-15 Airbus (S.A.S.) Systems and methods of verifying credentials of aircraft personnel using a blockchain computer system

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7451315B2 (en) * 2003-05-23 2008-11-11 University Of Washington Coordinating, auditing, and controlling multi-site data collection without sharing sensitive data
US10726440B1 (en) * 2007-11-02 2020-07-28 Fair Isaac Corporation System and method for executing consumer transactions based on credential information relating to the consumer
JP5065075B2 (ja) * 2008-02-12 2012-10-31 株式会社リコー 情報処理装置、情報処理方法、及びプログラム
US8074258B2 (en) 2008-06-18 2011-12-06 Microsoft Corporation Obtaining digital identities or tokens through independent endpoint resolution
US9237021B2 (en) * 2013-03-15 2016-01-12 Hewlett Packard Enterprise Development Lp Certificate grant list at network device
US9037849B2 (en) * 2013-04-30 2015-05-19 Cloudpath Networks, Inc. System and method for managing network access based on a history of a certificate
US10402416B2 (en) * 2013-06-06 2019-09-03 Panasonic Intellectual Property Corporation Of America Information provision method
CN106385315B (zh) * 2016-08-30 2019-05-17 北京三未信安科技发展有限公司 一种数字证书管理方法及系统
US10176308B2 (en) * 2017-04-28 2019-01-08 Accenture Global Solutions Limited Entitlement management system
US20190140844A1 (en) * 2017-11-08 2019-05-09 Averon Us, Inc. Identity-linked authentication through a user certificate system
US20190266597A1 (en) 2018-01-31 2019-08-29 Panaxea Life, Inc. Healthcare Syndicate Electronic Token
US11088826B2 (en) 2018-02-27 2021-08-10 International Business Machines Corporation Managing assets with expiration on a blockchain
JP6852003B2 (ja) * 2018-03-07 2021-03-31 株式会社東芝 情報管理装置、認証装置、情報管理システム、情報管理方法、およびコンピュータプログラム
CN110475249B (zh) * 2018-05-10 2021-08-20 华为技术有限公司 一种认证方法、相关设备及系统
KR101947760B1 (ko) * 2018-09-04 2019-02-13 김종현 스마트콘트랙트의 보안 인증 서버
US11270296B2 (en) * 2018-11-09 2022-03-08 International Business Machines Corporation Protection of data trading
US10936422B1 (en) * 2019-03-22 2021-03-02 T-Mobile lnnovations LLC Recovery of virtual network function (VNF) boot functionality

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010220175A (ja) 2009-03-19 2010-09-30 Hitachi Government & Public Corporation System Engineering Ltd 通信システム、証明書検証装置及びサービス提供方法
US20190251573A1 (en) 2018-02-09 2019-08-15 Airbus (S.A.S.) Systems and methods of verifying credentials of aircraft personnel using a blockchain computer system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HASAVARI, Shirin and SONG, Yeong Tae,A Secure and Scalable Data Source for Emergency Medical Care using Blockchain Technology,Proc. of 2019 IEEE/ACIS 17th International Conference on Software Engineering Research, Management and Applications (SERA) [online],IEEE,2019年05月,pp. 71-75,[2023年3月30日検索], インターネット<URL: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8886792>,<DOI: 10.1109/SERA.2019.8886792>

Also Published As

Publication number Publication date
CN112448818A (zh) 2021-03-05
JP2021040230A (ja) 2021-03-11
CN112448818B (zh) 2023-09-12
EP3790226A1 (en) 2021-03-10
US11522722B2 (en) 2022-12-06
US20210067351A1 (en) 2021-03-04

Similar Documents

Publication Publication Date Title
US7111172B1 (en) System and methods for maintaining and distributing personal security devices
CN1832394B (zh) 用于非对称密钥安全的方法和系统
US8713691B2 (en) Attribute information providing system
JP4617763B2 (ja) 機器認証システム、機器認証サーバ、端末機器、機器認証方法、および機器認証プログラム
KR102177848B1 (ko) 액세스 요청을 검증하기 위한 방법 및 시스템
US20100153273A1 (en) Systems for performing transactions at a point-of-sale terminal using mutating identifiers
US8321353B2 (en) Method of providing transactions employing advertising based verification
CN101243438A (zh) 分布式单一注册服务
JP4350769B2 (ja) 認証サーバ及びオンラインサービスシステム
KR20160085143A (ko) 익명 서비스 제공 방법 및 사용자 정보 관리 방법 및 이를 위한 시스템
JP2000010929A (ja) コンテンツサーバ,端末装置及びコンテンツ送信システム
US20060294395A1 (en) Executable software security system
CN105554008B (zh) 用户终端、认证服务器、中间服务器、系统和传送方法
EP1574978A1 (en) Personal information control system, mediation system, and terminal unit
JP7306170B2 (ja) 通信プログラムおよび通信方法
JPWO2011058629A1 (ja) 情報管理システム
JP7211518B2 (ja) 所有者同一性確認システムおよび所有者同一性確認方法
JPH11331145A (ja) 情報共有システム、情報保管装置およびそれらの情報処理方法、並びに記録媒体
JP4813278B2 (ja) 端末装置及び履歴サービス利用方法及び履歴サービス利用プログラム及びサーバ装置及び履歴サービス提供システム
JP4574212B2 (ja) 属性情報管理システム、情報集計システム、端末装置、認証機関サーバ、管理サーバ、プログラム
JP2021044686A (ja) 通信プログラム、通信方法、および、通信装置
WO2002025860A1 (en) The dynamic identification method without identification code
JP2023023804A (ja) 認証システム、認証装置および認証方法
KR20190059812A (ko) 마스터패스워드 이용하는 간편한 비대면실명확인 방법
GB2498931A (en) Verifying the origin of content or a product by using user-identifiable authentication messages

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220517

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230303

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230411

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230517

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: 20230530

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230612

R150 Certificate of patent or registration of utility model

Ref document number: 7306170

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150