(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-28
(45)【発行日】2024-03-07
(54)【発明の名称】通信プログラム、通信装置、通信方法、及び通信システム
(51)【国際特許分類】
G06F 21/64 20130101AFI20240229BHJP
G06F 21/62 20130101ALI20240229BHJP
【FI】
G06F21/64
G06F21/62 345
(21)【出願番号】P 2020143265
(22)【出願日】2020-08-27
【審査請求日】2023-05-11
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100094525
【氏名又は名称】土井 健二
(74)【代理人】
【識別番号】100094514
【氏名又は名称】林 恒徳
(72)【発明者】
【氏名】栗田 敏彦
【審査官】平井 誠
(56)【参考文献】
【文献】特開2006-285490(JP,A)
【文献】特開2019-101392(JP,A)
【文献】特開2011-055269(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/00-88
(57)【特許請求の範囲】
【請求項1】
ユーザのユーザ情報を管理する事業者端末が有するプログラムであって、
前記ユーザから取得したユーザ情報を、管理用フォーマットに変換し、変換ユーザ情報を得る変換処理と、
前記変換ユーザ情報を第1ハッシュ関数でハッシュ化した第1ハッシュ値を算出し、前記第1ハッシュ値、前記第1ハッシュ関数、及び前記変換における変換内容を含む確認要求を前記ユーザに送信し、前記管理するユーザ情報の正当性の確認を前記ユーザに要求する確認要求処理と、
を前記事業者端末が有するコンピュータに実行させる通信プログラム。
【請求項2】
前記確認要求処理において、前記変換ユーザ情報にノイズを付与し、前記ノイズを付与したノイズ付きユーザ情報を前記第1ハッシュ関数でハッシュ化した第2ハッシュ値を算出し、
前記確認要求は、前記第2ハッシュ値、前記第1ハッシュ関数、前記変換内容、及び前記ノイズの付与に関するノイズ情報を含む
請求項1記載の通信プログラム。
【請求項3】
前記事業者端末及び前記ユーザは、第1ネットワーク又は前記第1ネットワークより高いセキュリティが要求される第2ネットワークを介して通信を行い、
前記確認要求処理において、前記第2ネットワークを介して前記確認要求を送信し、
さらに、前記第1ネットワークを介して前記ユーザ情報を前記ユーザから取得し、前記変換ユーザ情報を記憶する管理処理と、
を前記事業者端末が有するコンピュータに実行させる、請求項1記載の通信プログラム。
【請求項4】
前記管理用フォーマットへの変換は、前記ユーザ情報に含まれる文字の削除を含み、
前記変換内容は、前記削除した文字の種類に関する情報、又は前記削除した文字の前記ユーザ情報における位置に関する情報を含む
請求項1記載の通信プログラム。
【請求項5】
前記管理用フォーマットへの変換は、前記ユーザ情報に含まれる文字の置換を含み、
前記変換内容は、前記置換における置換前の文字及び置換後の文字の種類に関する情報、又は前記置換した文字の前記ユーザ情報における位置に関する情報を含む
請求項1記載の通信プログラム。
【請求項6】
前記ノイズ情報は、前記ノイズの種類に関する情報及び前記ノイズを付与した前記変換ユーザ情報における位置に関する情報を含む
請求項2記載の通信プログラム。
【請求項7】
前記ノイズの付与は、前記変換ユーザ情報に含まれる文字の入れ替えを含み、
前記ノイズ情報は、前記入れ替えた文字の種類に関する情報又は前記入れ替えた文字の前記変換ユーザ情報における位置に関する情報を含む
請求項2記載の通信プログラム。
【請求項8】
前記ノイズの付与は、前記変換ユーザ情報に含まれる文字の置換を含み、
前記ノイズ情報は、前記置換における置換前の文字及び置換後の文字の種類に関する情報、又は前記置換した文字の前記変換ユーザ情報における位置に関する情報を含む
請求項2記載の通信プログラム。
【請求項9】
ユーザのユーザ情報を管理する通信装置であって、
前記ユーザから取得したユーザ情報を、管理用フォーマットに変換し、変換ユーザ情報を得る変換部と、
前記変換ユーザ情報を第1ハッシュ関数でハッシュ化した第1ハッシュ値を算出し、前記第1ハッシュ値、前記第1ハッシュ関数、及び前記変換における変換内容を含む確認要求を前記ユーザに送信し、前記管理するユーザ情報の正当性の確認を前記ユーザに要求する確認要求部と、
を有する通信装置。
【請求項10】
ユーザのユーザ情報を管理する事業者端末における通信方法であって、
前記ユーザから取得したユーザ情報を、管理用フォーマットに変換し、変換ユーザ情報を取得し、
前記変換ユーザ情報を第1ハッシュ関数でハッシュ化した第1ハッシュ値を算出し、前記第1ハッシュ値、前記第1ハッシュ関数、及び前記変換における変換内容を含む確認要求を前記ユーザに送信し、前記管理するユーザ情報の正当性の確認を前記ユーザに要求する、
通信方法。
【請求項11】
ユーザのユーザ情報を、管理用フォーマットに変換し、変換した変換ユーザ情報を管理する事業者端末に、前記ユーザ情報を送信する登録処理と、
前記事業者端末によって算出された前記変換したユーザ情報を第1ハッシュ関数でハッシュ化した第1ハッシュ値、前記第1ハッシュ関数、及び前記変換における変換内容を含む、確認要求を前記事業者端末から受信する受信処理と、
前記確認要求の受信に応答し、前記送信したユーザ情報を、前記変換内容に応じて変換し、前記変換したユーザ情報を前記第1ハッシュ関数でハッシュ化した第2ハッシュ値を算出し、前記第1ハッシュ値と前記第2ハッシュ値を比較し、前記事業者端末が管理するユーザ情報の正当性を確認する確認処理と、
を前記ユーザが使用するユーザ端末が有するコンピュータに実行させる通信プログラム。
【請求項12】
ユーザが使用するユーザ端末と、前記ユーザのユーザ情報を管理する事業者端末とを有する通信システムであって、
前記ユーザ端末は、前記ユーザ情報を前記事業者端末に送信し、
前記事業者端末は、前記ユーザ情報を管理用フォーマットに変換した変換ユーザ情報を管理し、前記変換ユーザ情報を第1ハッシュ関数でハッシュ化した第1ハッシュ値を算出し、前記第1ハッシュ値、前記第1ハッシュ関数、及び前記変換における変換内容を含む確認要求を前記ユーザ端末に送信し、
前記ユーザ端末は、前記確認要求の受信に応答し、前記送信したユーザ情報を前記変換内容に応じて変換し、前記変換ユーザ情報を前記第1ハッシュ関数でハッシュ化した第2ハッシュ値を算出し、前記第1ハッシュ値と前記第2ハッシュ値を比較し、前記事業者端末が管理するユーザ情報の正当性を確認する
通信システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信プログラム、通信装置、通信方法、及び通信システムに関する。
【背景技術】
【0002】
デジタル化されたアイデンティティ情報(以下、ID情報と呼ぶ場合がある)を、デジタル証明書として本人の同意の元に安全に流通させる、分散型のID流通基盤が注目されつつある。ID流通基盤では、セキュリティや個人情報保護の観点から、ユーザのID情報(ユーザ情報)を、第三者が読み取り可能な形式で流通させないことが望ましい。
【0003】
ID流通基盤において、ユーザは、自身のユーザ情報が、事業者によって正しく登録されているかを確認する場合がある。この時、事業者は、ユーザ情報を匿名化し、流通させる。事業者は、例えば、自身が管理するユーザ情報を、ハッシュ関数を用いてハッシュ化し、算出したハッシュ値とハッシュ関数をユーザに引き渡す。ユーザは、自身のユーザ情報を、ハッシュ関数を用いてハッシュ化し、受信したハッシュ値と算出したハッシュ値とを比較し、管理されているユーザ情報が正しいか否かを確認する。
【0004】
デジタル証明書など、匿名化に関する技術は、以下の先行技術文献に記載されている。
開示されている。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2020-47308号公報
【文献】特開2019-144723号公報
【文献】特開2019-46036号公報
【文献】US20140047551A1
【文献】US20190251290A1
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、ユーザは、ユーザ情報を事業者に登録するとき、例えば、表記ゆれ、余分な文字や空白の挿入、フォーマット誤りなど、事業者が要求する形式と異なった形式で登録する場合がある。この場合、事業者は、事業者独自のフォーマットに変換し、登録、管理を行う。フォーマット変換されたユーザ情報のハッシュ値と、フォーマット変換前のユーザ情報のハッシュ値は異なるため、実際にはフォーマットが異なるが正しいユーザ情報が管理されているにも関わらず、ユーザは正しい情報を管理されていないと判定してしまう場合がある。
【0007】
そこで、一開示は、ハッシュ値を用いたユーザ情報の照合において、ユーザの誤判定を抑制する、通信プログラム、通信装置、通信方法、及び通信システムを提供する。
【課題を解決するための手段】
【0008】
ユーザのユーザ情報を管理する事業者端末が有するプログラムであって、前記ユーザから取得したユーザ情報を、管理用フォーマットに変換し、変換ユーザ情報を得る変換処理と、前記変換ユーザ情報を第1ハッシュ関数でハッシュ化した第1ハッシュ値を算出し、前記第1ハッシュ値、前記第1ハッシュ関数、及び前記変換における変換内容を含む確認要求を前記ユーザに送信し、前記管理するユーザ情報の正当性の確認を前記ユーザに要求する確認要求処理と、を前記事業者端末が有するコンピュータに実行させる。
【発明の効果】
【0009】
一開示は、ハッシュ値を用いたユーザ情報の照合において、ユーザの誤判定を抑制することができる。
【図面の簡単な説明】
【0010】
【
図1】
図1は、通信システム1の構成例を示す図である。
【
図2】
図2は、事業者端末200の構成例を表す図である。
【
図3】
図3は、ユーザ端末100の構成例を表す図である。
【
図4】
図4は、ユーザ情報登録確認処理のシーケンスの例を示す図である。
【
図5】
図5は、ユーザ情報登録処理S100の処理フローチャートの例を示す図である。
【
図6】
図6は、登録内容確認処理S200の処理フローチャートの例を示す図である。
【
図7】
図7は、ユーザ情報登録確認処理の例を示す図である。
【
図8】
図8は、ユーザ情報登録処理S101の処理フローチャートの例を示す図である。
【
図9】
図9は、登録内容確認処理S201の処理フローチャートの例を示す図である。
【
図10】
図10は、第2の実施の形態における、ユーザ情報登録確認処理の例を示す図である。
【発明を実施するための形態】
【0011】
[第1の実施の形態]
第1の実施の形態について説明する。
【0012】
<通信システム1の構成例>
図1は、通信システム1の構成例を示す図である。通信システム1は、ユーザ10、ユーザ端末100、事業者20-1~n(nは整数)、事業者端末200-1~n、及びID流通基盤300を有する。通信システム1は、ユーザ10の属性などの個人情報を含むユーザ情報を、事業者20-1~nに登録し、当該登録したユーザ情報をデジタル証明書として使用するシステムである。ユーザ情報は、例えば、ユーザ10の性別や住所などの属性に関する属性情報である。
【0013】
ユーザ10は、例えば、デジタル証明書の登録や、デジタル証明書の発行を依頼する個人ユーザや、サービスを利用する利用者である。ユーザ10は、ユーザ端末100を使用し、ユーザ情報を事業者20-1~nに登録する。
【0014】
ユーザ端末100は、ユーザ10が使用する通信装置であり、例えば、スマートフォン、タブレット端末、コンピュータ、又はサーバマシンである。ユーザ端末100は、ユーザ10のユーザ情報を、事業者端末200-1~nに登録する。ユーザ端末100は、ID流通基盤300を介して、事業者端末200-1~nと通信を行う。また、ユーザ端末100は、ID流通基盤300を介さずに、事業者端末200-1~nと通信を行うことができる。
【0015】
事業者20-1~n(以降、事業者20と呼ぶ場合がある)は、ユーザ10に対して証明書を発行する者であり、例えば、企業や公共機関である。公共機関は、例えば、役所や運転免許センターなどの公的機関や、学校などの教育機関を含む。また、事業者20は、ユーザ10に対して本人証明を要求する者であり、例えば、サービスを提供するサービス提供者やサービス提供企業である。
【0016】
事業者端末200-1~n(以降、事業者端末200と呼ぶ場合がある)は、事業者20が使用する通信装置であり、例えば、コンピュータやサーバマシンである。事業者端末200-x(xは整数)は、事業者20-xによって使用される。事業者端末200は、ユーザ情報の登録、確認依頼など、ユーザ情報やデジタル証明書に関する処理を行う。事業者端末200は、ID流通基盤300を介して、ユーザ端末100や他の事業者端末200と通信を行う。また、事業者端末200は、ID流通基盤300を介さずに、ユーザ端末100と通信を行うことができる。
【0017】
ID流通基盤300は、デジタル証明書の送受信や、ユーザ10に対してユーザ情報の登録確認などを行う、通信ネットワーク(第2ネットワーク)である。ID流通基盤300は、デジタル証明書などの個人情報(ユーザ情報)を流通させるため、通常のネットワーク(第1ネットワーク)と比較し、高いセキュリティ(秘匿性)が要求される。そのため、ID流通基盤300は、例えば、ハッシュ値などを送受信することで、高いセキュリティを維持する。
【0018】
<事業者端末200の構成例>
図2は、事業者端末200の構成例を表す図である。事業者端末200は、CPU(Central Processing Unit)210、ストレージ220、メモリ230、及び通信回路240を有する。
【0019】
ストレージ220は、プログラムやデータを記憶する、フラッシュメモリ、HDD(Hard Disk Drive)、又はSSD(Solid State Drive)などの補助記憶装置である。ストレージ220は、ユーザ情報登録プログラム221及びデジタル証明書発行プログラム222を記憶する。
【0020】
メモリ230は、ストレージ220に記憶されているプログラムをロードする領域である。また、メモリ230は、プログラムがデータを記憶する領域としても使用されてもよい。
【0021】
CPU210は、ストレージ220に記憶されているプログラムを、メモリ230にロードし、ロードしたプログラムを実行し、各部を構築し、各処理を実現するプロセッサである。
【0022】
通信回路240は、他の装置と通信を行う回路である。通信回路240は、ネットワークを介して、他の装置とデータの送受信を行う。通信回路240は、例えば、NIC(Network Interface Card)である。
【0023】
CPU210は、ユーザ情報登録プログラム221を実行することで、変換部及び確認要求部を構築し、ユーザ情報登録処理を行う。ユーザ情報登録処理は、ユーザ情報をユーザ端末100から取得し、登録(記憶)する登録処理と、ユーザ端末100に登録内容を確認するよう要求する確認要求処理とを有する。登録処理は、ユーザ情報の取得を行い、ユーザ情報を管理用フォーマットに変換する変換処理と、変換後のユーザ情報(変換ユーザ情報)を内部メモリ等に記憶し管理する管理処理を、有する処理である。確認要求処理は、ユーザ端末100に、変換ユーザ情報を、ハッシュ関数を用いてハッシュ化したハッシュ値と、ハッシュ関数と、変換処理において変換した内容を含む変換内容を含む、登録内容確認要求を送信する処理である。
【0024】
CPU210は、デジタル証明書発行プログラム222を実行することで、証明書発行部を構築し、デジタル証明書発行処理を行う。デジタル証明書発行処理は、管理しているユーザ情報をデジタル証明書として、他の事業者やユーザに提示(開示)する処理である。デジタル証明書発行処理においては、例えば、ユーザ情報の開示の許可をユーザ10から得る処理を有する。また、デジタル証明書発行処理は、例えば、ユーザ10からの要求や、他の事業者からの要求を契機として実行される。さらに、事業者端末200は、デジタル証明書発行処理において、ユーザ情報を開示する前に、確認要求処理を行ってもよい。
【0025】
<ユーザ端末100の構成例>
図3は、ユーザ端末100の構成例を表す図である。ユーザ端末100は、CPU110、ストレージ120、メモリ130、及び通信回路140を有する。
【0026】
ストレージ120は、プログラムやデータを記憶する、フラッシュメモリ、HDD、又はSSDなどの補助記憶装置である。ストレージ120は、ユーザ情報登録要求プログラム121、登録内容確認プログラム122、デジタル証明書発行要求プログラム123を記憶する。
【0027】
メモリ130は、ストレージ120に記憶されているプログラムをロードする領域である。また、メモリ130は、プログラムがデータを記憶する領域としても使用されてもよい。
【0028】
CPU110は、ストレージ120に記憶されているプログラムを、メモリ130にロードし、ロードしたプログラムを実行し、各部を構築し、各処理を実現するプロセッサである。
【0029】
通信回路140は、他の装置と通信を行う回路である。通信回路140は、ネットワークを介して、他の装置とデータの送受信を行う。通信回路140は、例えば、NICや無線通信回路である。
【0030】
CPU110は、ユーザ情報登録要求プログラム121を実行することで、登録部を構築し、ユーザ情報登録要求処理を行う。ユーザ情報登録要求処理は、事業者端末200に対して、ユーザ情報の登録を要求する処理である。
【0031】
CPU110は、登録内容確認プログラム122を実行することで、確認部を構築し、登録内容確認処理を行う。登録内容確認処理は、事業者端末200から受信した登録内容確認要求に応答し、実行される処理である。ユーザ端末100は、登録内容確認処理において、登録したユーザ情報を変換内容に従い管理用フォーマットに変換し、変換ユーザ情報を、ハッシュ関数を用いてハッシュ化したハッシュ値を算出し、受信したハッシュ値と算出したハッシュ値を比較する。ユーザ端末100は、比較したハッシュ値が一致している場合、事業者端末200が管理するユーザ情報が正しいと判定する。登録内容確認処理は、事業者端末200の要求に応じて、管理されているユーザ情報の正当性(正しく管理されているか否か)を確認する処理である。
【0032】
CPU110は、デジタル証明書発行要求プログラム123を実行することで、発行要求部を構築し、デジタル証明書発行要求処理を行う。デジタル証明書発行要求処理は、事業者端末200に対して、ユーザ情報をデジタル証明書として、他の事業者やユーザに提示(開示)することを要求する処理である。ユーザ10は、例えば、自身の本人確認が必要なとき、デジタル証明発行要求処理を、ユーザ端末100を使用して実行する。
【0033】
<ユーザ情報登録確認処理>
ユーザ10は、事業者20に対して、ユーザ情報を登録する。そして、事業者20は、ユーザ登録が正しいか否かを、ユーザ10に対して確認する。この確認は、例えば、誤ったユーザ情報を登録している場合や、登録されているユーザ情報が古い(例えば、ユーザ10の属性が変わっている)場合などがあるため、誤ったユーザ情報を流通させないために実行される処理である。
【0034】
ユーザ情報の確認処理は、例えば、ユーザ10からのデジタル証明書の発行要求があった時、ユーザ10がID流通基盤300を介さずにユーザ情報を登録した時、又は事業者20がユーザ10のユーザ情報を証明書として発行しようとした時などに実行される。以下においては、ユーザ10がID流通基盤300を介さずにユーザ情報を登録した時を例として説明する。
【0035】
図4は、ユーザ情報登録確認処理のシーケンスの例を示す図である。ユーザ10は、ユーザ端末100を使用し(以下、ユーザ端末100を主体として表現する場合がある)、ユーザ10のユーザ情報を事業者20(以下、事業者端末200を主体として表現する場合がある)に登録するユーザ情報登録を送信する(S1)。ユーザ端末100は、ID流通基盤300を介さずに、事業者端末200と通信を行い、ユーザ10のユーザ情報を含むユーザ情報登録を送信する。
【0036】
事業者端末200は、ユーザ情報登録を受信すると、ユーザ情報登録処理S100を行う。ユーザ情報登録処理S100は、ユーザ情報登録に含まれるユーザ情報を、事業者端末200が管理するための管理用フォーマットに変換し、記憶(管理)する処理である。
【0037】
図5は、ユーザ情報登録処理S100の処理フローチャートの例を示す図である。事業者端末200は、ユーザ情報登録を受信するのを待ち受ける(S100-1のNo)。事業者端末200は、ユーザ情報登録を受信すると(S100-1のYes)、ユーザ情報を管理用フォーマットに変換する(S100-2)。
【0038】
事業者端末200は、変換したユーザ情報を、内部メモリに保存(記憶)する(S100-3)。ユーザ情報は、例えば、ユーザ10の識別子に対応づけで記憶される。
【0039】
事業者端末200は、ハッシュ関数を使用し、変換したユーザ情報をハッシュ化し、ハッシュ値を算出する(S100-4)。ハッシュ値とするのは、高いセキュリティの求められるID流通基盤300上を流通させるためである。
【0040】
事業者端末200は、ハッシュ関数、ハッシュ値、及び変換内容を含む登録内容確認要求を、ユーザ端末100に送信し(S100-5)、処理を終了する。変換内容は、処理S100-2において実行された変換の内容を示す。また、変換内容は、処理S100-2において実行された変換の内容だけではなく、当該ユーザ情報に対しては実行していない変換であるが、他のユーザ情報に対しては実行する可能性がある変換(管理用フォーマットにするための全ての変換)の内容を含んでもよい。
【0041】
図4のシーケンスに戻り、事業者端末200は、ユーザ情報を管理用フォーマットに変換し(
図5のS100-2)、変換したユーザ情報のハッシュ値を算出し(
図5のS100-4)、ハッシュ関数、ハッシュ値、及び変換内容を含む登録内容確認要求を、ID流通基盤300を介してユーザ端末100に送信する(S2、
図5のS100-5)。
【0042】
ユーザ端末100は、登録内容確認要求を受信すると、登録内容確認処理S200を行う。登録内容確認処理S200は、ハッシュ値を使用し、登録されているユーザ情報が正しいか否かを確認する処理である。
【0043】
図6は、登録内容確認処理S200の処理フローチャートの例を示す図である。ユーザ端末100は、登録内容確認要求を受信するのを待ち受ける(S200-1のNo)。ユーザ端末100は、登録内容確認要求を受信すると(S200-1のYes)、登録したユーザ情報(当該事業者端末200に送信したユーザ情報)を、受信した変換内容に従い、フォーマットを変換する(S200-2)。
【0044】
そして、ユーザ端末100は、フォーマット変換後のユーザ情報を、受信したハッシュ関数を使用してハッシュ化し、ハッシュ値を算出する(S200-3)。
【0045】
ユーザ端末100は、算出したハッシュ値と、受信したハッシュ値を比較する(S200-4)。ユーザ端末100は、ハッシュ値が一致する場合、登録された(登録されている)ユーザ情報は正しいと判定し(S200-5)、処理を終了する。一方、ユーザ端末100は、ハッシュ値が一致しない場合、登録された(登録されている)ユーザ情報は正しくないと判定し(S200-6)、処理を終了する。
【0046】
図4のシーケンスに戻り、ユーザ端末100は、登録内容確認処理S200において、ユーザ情報を変換内容に従いフォーマット変換し(
図6のS200-2)、変換したユーザ情報のハッシュ値を算出し(
図6のS200-3)、受信したハッシュ値と比較し(
図6のS200-4)、登録されたユーザ情報が正しいか否かを判定する。
【0047】
ユーザ情報登録確認処理について、ユーザ情報及び変換内容の例を用いて説明する。
図7は、ユーザ情報登録確認処理の例を示す図である。ユーザ端末100は、ユーザ情報「Name:_Tanaka」をユーザ情報登録に含み、事業者端末200に送信する(S10)。ユーザ情報「Name:_Tanaka」は、属性「Name」のデータが「_Tanaka」であることを示す情報である。属性は、データの種別であり、例えば、「Name」はユーザの名前を示す。
【0048】
事業者端末200は、ユーザ情報登録を受信すると、ユーザ情報登録処理S100を実行する。事業者端末200は、ユーザ情報登録処理S100において、受信したユーザ情報を、変換内容I10に従い、管理用フォーマットに変換する(
図5のS100-2、S11)。事業者端末200は、処理S100-2において、変換内容I10の「“_”を削除」に従い「_Tanaka」から「_」を削除し、「Tanaka」と変換する。さらに、事業者端末200は、変換内容I10の「小文字化」に従い「Tanaka」の「T」を小文字の「t」に変更し、「tanaka」と変換する。事業者端末200は、この変換(S11)を実行し、管理用フォーマットのユーザ情報(管理用ユーザ情報)「Name:tanaka」を得る。
【0049】
変換内容I10は、
図7に示すように、複数の変換内容がある場合、変換内容をリスト化して記載される。また、変換内容I10は、
図7のような日本語で示す以外に、論理式や他言語で示してもよい。
【0050】
事業者端末200は、ユーザ情報登録処理S100において、変換したユーザ情報「Name:tanaka」を、ハッシュ関数を用いてハッシュ化し、ハッシュ値を算出する(
図5のS100-4、S12)。事業者端末200は、変換したユーザ情報「Name:tanaka」のデータ「tanaka」を、ハッシュ関数f1を用いてハッシュ化したハッシュ値「abc」を算出する。
【0051】
事業者端末200は、ユーザ情報登録処理S100において、ハッシュ関数f1、ハッシュ値「abc」、及び変換内容I10を含む登録内容確認要求を、ユーザ端末100に送信する(S13、
図5のS100-5)。
【0052】
ユーザ端末100は、登録内容確認要求を受信すると、登録内容確認処理S200を実行する。ユーザ端末100は、登録内容確認処理S200において、登録したユーザ情報を、受信した変換内容に従い、フォーマット変換する(
図6のS200-2、S14)。ユーザ端末100は、処理S200-2において、変換内容I10の「“_”を削除」に従い、登録したユーザ情報「Name:_Tanaka」のデータ「_Tanaka」から「_」を削除し、「Tanaka」と変換する。さらに、ユーザ端末100は、変換内容I10の「小文字化」に従い「Tanaka」の「T」を小文字の「t」に変更し、「tanaka」と変換する。ユーザ端末100は、この変換(S14)を実行し、管理用ユーザ情報「Name:tanaka」を得る。
【0053】
ユーザ端末100は、登録内容確認処理S200において、変換したユーザ情報「Name:tanaka」を、ハッシュ関数を用いてハッシュ化し、ハッシュ値を算出する(
図6のS200-3、S15)。ユーザ端末100は、変換したユーザ情報「Name:tanaka」のデータ「tanaka」を、受信したハッシュ関数f1を用いてハッシュ化したハッシュ値「abc」を算出する。
【0054】
ユーザ端末100は、算出したハッシュ値と受信したハッシュ値を比較する(
図6のS200-4、S16)。ユーザ端末100は、算出したハッシュ値「abc」が、受信したハッシュ値「abc」と同じであると判定し(
図6のS200-4のYes)、登録されたユーザ情報は正しいと判定する(
図6のS200-5)。
【0055】
第1の実施の形態において、ユーザ端末100は、変換内容を受信することで、事業者端末200と同じフォーマット変換を行うことができ、事業者独自のフォーマットでハッシュ値を算出することができる。これにより、事業者が独自のフォーマットでユーザ情報を管理する場合でも、ユーザは自身のユーザ情報が正しく管理されているか否かを正確に判定することができる。
【0056】
[第2の実施の形態]
次に、第2の実施の形態について説明する。第2の実施の形態において、事業者端末200は、ハッシュ値算出時に、変換したユーザ情報に、さらに、ノイズを付与する。ノイズを付与することで、ハッシュ値の算出において、変換内容に加えノイズ情報(どのようにノイズを付与したかということ、ノイズ付与方式)も必要となり、セキュリティが向上する。
【0057】
<ユーザ情報登録確認処理>
基本シーケンスは、
図4のシーケンスと同様である。ユーザ端末100は、ユーザ10のユーザ情報を事業者端末200にユーザ情報登録を送信する(S1)。事業者端末200は、ユーザ情報登録を受信すると、ユーザ情報登録処理S101を行う。
【0058】
図8は、ユーザ情報登録処理S101の処理フローチャートの例を示す図である。事業者端末200は、ユーザ情報登録を受信するのを待ち受ける(S101-1のNo)。事業者端末200は、ユーザ情報登録を受信すると(S101-1のYes)、ユーザ情報を管理用フォーマットに変換する(S101-2)。
【0059】
事業者端末200は、変換したユーザ情報を、内部メモリに保存(記憶)する(S101-3)。
【0060】
事業者端末200は、変換したユーザ情報に、ノイズを付与する(S101-4)。ノイズの付与は、例えば、ユーザ情報のデータの所定の位置に、所定の文字列を追加することである。
【0061】
事業者端末200は、ハッシュ関数を使用し、ノイズ付与したユーザ情報(ノイズ付きユーザ情報)をハッシュ化し、ハッシュ値を算出する(S101-5)。
【0062】
事業者端末200は、ハッシュ関数、ハッシュ値、変換内容、及びノイズ情報を含む登録内容確認要求を、ユーザ端末100に送信し(S101-6)、処理を終了する。ノイズ情報は、処理S101-4において付与されたノイズの内容を示す。
【0063】
図4のシーケンスに戻り、事業者端末200は、ユーザ情報を管理用フォーマットに変換し(
図8のS101-2)、変換後のユーザ情報にノイズを付与し(
図8のS101-4)、ノイズ付与後のユーザ情報のハッシュ値を算出し(
図8のS101-5)、ハッシュ関数、ハッシュ値、変換内容、及びノイズ情報を含む登録内容確認要求を、ID流通基盤300を介してユーザ端末100に送信する(S2、
図8のS101-6)。
【0064】
ユーザ端末100は、登録内容確認要求を受信すると、登録内容確認処理S201を行う。
【0065】
図9は、登録内容確認処理S201の処理フローチャートの例を示す図である。ユーザ端末100は、登録内容確認要求を受信するのを待ち受ける(S201-1のNo)。ユーザ端末100は、登録内容確認要求を受信すると(S201-1のYes)、登録したユーザ情報を、受信した変換内容に従い、フォーマットを変換する(S201-2)。
【0066】
そして、ユーザ端末100は、受信したノイズ情報に従い、変換後のユーザ情報にノイズを付与する(S201-3)。
【0067】
そして、ユーザ端末100は、ノイズ付与後のユーザ情報を、受信したハッシュ関数を使用してハッシュ化し、ハッシュ値を算出する(S201-4)。
【0068】
ユーザ端末100は、算出したハッシュ値と、受信したハッシュ値を比較する(S201-5)。ユーザ端末100は、ハッシュ値が一致する場合、登録されたユーザ情報は正しいと判定し(S201-6)、処理を終了する。一方、ユーザ端末100は、ハッシュ値が一致しない場合、登録されたユーザ情報は正しくないと判定し(S201-7)、処理を終了する。
【0069】
図4のシーケンスに戻り、ユーザ端末100は、登録内容確認処理S201において、ユーザ情報を変換内容に従いフォーマット変換し(
図9のS201-2)、変換後のユーザ情報にノイズ情報に従いノイズを付与し(
図9のS201-3)、ノイズを付与したユーザ情報のハッシュ値を算出し(
図9のS201-4)、受信したハッシュ値と比較し(
図9のS201-5)、登録されたユーザ情報が正しいか否かを判定する。
【0070】
ユーザ情報登録確認処理について、ノイズ情報の例を用いて説明する。
図10は、第2の実施の形態における、ユーザ情報登録確認処理の例を示す図である。ユーザ端末100は、ユーザ情報「Name:_Tanaka」をユーザ情報登録に含み、事業者端末200に送信する(S20)。
【0071】
事業者端末200は、ユーザ情報登録を受信すると、ユーザ情報登録処理S101を実行する。事業者端末200は、ユーザ情報登録処理S101において、受信したユーザ情報を、変換内容I10に従い、管理用フォーマットに変換する(
図8のS101-2、S21)。事業者端末200は、処理S101-2において、変換内容I10の「“_”を削除」に従い「_Tanaka」から「_」を削除し、「Tanaka」と変換する。さらに、事業者端末200は、変換内容I10の「小文字化」に従い「Tanaka」の「T」を小文字の「t」に変更し、「tanaka」と変換する。事業者端末200は、この変換(S21)を実行し、管理用ユーザ情報「Name:tanaka」を得る。
【0072】
事業者端末200は、ユーザ情報登録処理S101において、ノイズ情報I11に従い、管理用ユーザ情報にノイズを付与する(
図8のS101-4)。事業者端末200は、ノイズ情報I11の「1文字目の後ろに“xyz”を追加」に従い、管理用ユーザ情報「Name:tanaka」の2文字目の後ろに“xyz”を追加した「Name:txyzanaka」を得る。
【0073】
事業者端末200は、ユーザ情報登録処理S101において、ノイズを付与したユーザ情報を、ハッシュ関数を用いてハッシュ化し、ハッシュ値を算出する(
図8のS101-5、S23)。事業者端末200は、ノイズを付与したユーザ情報「Name:txyzanaka」のデータ「txyzanaka」を、ハッシュ関数f1を用いてハッシュ化したハッシュ値「def」を算出する。
【0074】
事業者端末200は、ユーザ情報登録処理S101において、ハッシュ関数f1、ハッシュ値「def」、変換内容I10、及びノイズ情報I11を含む登録内容確認要求を、ユーザ端末100に送信する(S24、
図8のS101-6)。
【0075】
ユーザ端末100は、登録内容確認要求を受信すると、登録内容確認処理S201を実行する。ユーザ端末100は、登録内容確認処理S201において、登録したユーザ情報を、受信した変換内容に従い、フォーマット変換する(
図9のS201-2、S25)。ユーザ端末100は、処理S201-2において、変換内容I10の「“_”を削除」に従い、登録したユーザ情報「Name:_Tanaka」のデータ「_Tanaka」から「_」を削除し、「Tanaka」と変換する。さらに、ユーザ端末100は、変換内容I10の「小文字化」に従い「Tanaka」の「T」を小文字の「t」に変更し、「tanaka」と変換する。ユーザ端末100は、この変換(S25)を実行し、管理用ユーザ情報「Name:tanaka」を得る。
【0076】
ユーザ端末100は、登録内容確認処理S201において、受信したノイズ情報I11に従い、管理用ユーザ情報にノイズを付与する(
図9のS201-3、S26)。ユーザ端末100は、ノイズ情報I11の「1文字目の後ろに“xyz”を追加」に従い、管理用ユーザ情報「Name:tanaka」の2文字目の後ろに“xyz”を追加した「Name:txyzanaka」を得る。
【0077】
ユーザ端末100は、登録内容確認処理S201において、ノイズを付与したユーザ情報を、ハッシュ関数を用いてハッシュ化し、ハッシュ値を算出する(
図9のS201-4、S27)。ユーザ端末100は、ノイズを付与したユーザ情報「Name:txyzanaka」のデータ「txyzanaka」を、受信したハッシュ関数f1を用いてハッシュ化したハッシュ値「def」を算出する。
【0078】
ユーザ端末100は、算出したハッシュ値と受信したハッシュ値を比較する(
図9のS201-5、S28)。ユーザ端末100は、算出したハッシュ値「def」が、受信したハッシュ値「def」と同じであると判定し(
図9のS201-5のYes)、登録されたユーザ情報は正しいと判定する(
図9のS201-6)。
【0079】
第2の実施の形態において、ハッシュ値の算出においてノイズを付与したユーザ情報を使用することで、セキュリティが向上する。
【0080】
[その他の実施の形態]
その他の実施の形態について説明する。ユーザ情報は、日本語であってもよい。例えば、ユーザ端末100は、ユーザ情報「Name:タナカ」を含むユーザ情報登録を送信し、事業者端末200は、変換内容としてカタカナをひらがなに変換し、管理用ユーザ情報「Name:たなか」を保存(管理)する。この場合でも、ユーザ端末100は、事業者端末200か変換内容を受信することで、ユーザ情報の正当性を確認することが可能となる。また、ノイズ付与についても、第2の実施の形態と同様の処理を行うことが可能である。
【0081】
また、上述した変換内容以外の変換を行ってもよい。
図11は、フォーマット変換の例を示す図である。「(1)先頭末尾空白削除」は、先頭及び末尾に空白(スペース)が存在する場合、削除する変換である。「(2)連続した空白削除」は、連続した空白が存在する場合、削除する変換である。「(3)大文字/小文字変換」は、大文字を小文字に、又は小文字を大文字に変更する変換である。「(4)全角/半角変換」は、全角を半角に、又は半角を全角に変更する変換である。「(5)ひらがな/カタカナ変換」は、ひらがなをカタカナに、又はカタカナをひらがなに変更する変換である。「(6)日付形式(yyyy/mm/dd)変換」は、データをyyyy/mm/dd形式に変更する変換である。yyyyは西暦は、mmは月(例えば、1月は01と表現)を、ddは日(例えば、1日は01と表現)を示す。「(7)電話番号形式(000-000-0000)変換」は、データを000-000-0000(0は任意の数値)形式に変更する変換である。電話番号形式の任意の数値の数は、携帯電話や固定電話で異なる場合がある。
【0082】
図11の下表は、属性及び変換の例を示す図である。属性「Name」は、名前を示し、(1)、(2)、及び(3)の変換を行う。例えば、「Tanaka」を「tanaka」と変換する。属性「Birthday」は、誕生日を示す。属性「Address」は、住所を示す。属性「Telephone」は、電話番号を示す。属性「Occupation」は、職業を示す。属性「Email」は、メールアドレスを示す。各属性のデータにおいては、変換例に示されるように、変換内容に記載された変換を行う。なお、事業者端末200は、情報内容確認要求に、変換内容に加え、
図11に示すような変換例を含め、送信してもよい。
【0083】
また、上述したノイズの付与以外の方法で、ノイズの付与を行ってもよい。
図12は、ノイズ情報の例を示す図である。「トークン化」は、特定の場所に文字列(値)を追加する方法であり、上述した実施例で示した方法である。
【0084】
「マスキング」は、特定の場所を特定文字で置換する方法である。例えば、1、2文字目を“*”で置換する場合、“tanaka”を“**naka”とする。
【0085】
「入れ替え」は、特定の場所の文字を入れ替える方法である。例えば、1文字目と2文字目を入れ替える場合、“tanaka”を“atanaka”とする。なお、事業者端末200は、情報内容確認要求に、ノイズ情報に加え、
図12に示すような適用例を含め、送信してもよい。
【0086】
以下、まとめると付記のようになる。
【0087】
(付記1)
ユーザのユーザ情報を管理する事業者端末が有するプログラムであって、
前記ユーザから取得したユーザ情報を、管理用フォーマットに変換し、変換ユーザ情報を得る変換処理と、
前記変換ユーザ情報を第1ハッシュ関数でハッシュ化した第1ハッシュ値を算出し、前記第1ハッシュ値、前記第1ハッシュ関数、及び前記変換における変換内容を含む確認要求を前記ユーザに送信し、前記管理するユーザ情報の正当性の確認を前記ユーザに要求する確認要求処理と、
を前記事業者端末が有するコンピュータに実行させる通信プログラム。
【0088】
(付記2)
前記確認要求処理において、前記変換ユーザ情報にノイズを付与し、前記ノイズを付与したノイズ付きユーザ情報を前記第1ハッシュ関数でハッシュ化した第2ハッシュ値を算出し、
前記確認要求は、前記第2ハッシュ値、前記第1ハッシュ関数、前記変換内容、及び前記ノイズの付与に関するノイズ情報を含む
付記1記載の通信プログラム。
【0089】
(付記3)
前記事業者端末及び前記ユーザは、第1ネットワーク又は前記第1ネットワークより高いセキュリティが要求される第2ネットワークを介して通信を行い、
前記確認要求処理において、前記第2ネットワークを介して前記確認要求を送信し、
さらに、前記第1ネットワークを介して前記ユーザ情報を前記ユーザから取得し、前記変換ユーザ情報を記憶する管理処理と、
を前記事業者端末が有するコンピュータに実行させる、付記1記載の通信プログラム。
【0090】
(付記4)
前記管理用フォーマットへの変換は、前記ユーザ情報に含まれる文字の削除を含み、
前記変換内容は、前記削除した文字の種類に関する情報、又は前記削除した文字の前記ユーザ情報における位置に関する情報を含む
付記1記載の通信プログラム。
【0091】
(付記5)
前記管理用フォーマットへの変換は、前記ユーザ情報に含まれる文字の置換を含み、
前記変換内容は、前記置換における置換前の文字及び置換後の文字の種類に関する情報、又は前記置換した文字の前記ユーザ情報における位置に関する情報を含む
付記1記載の通信プログラム。
【0092】
(付記6)
前記ノイズ情報は、前記ノイズの種類に関する情報及び前記ノイズを付与した前記変換ユーザ情報における位置に関する情報を含む
付記2記載の通信プログラム。
【0093】
(付記7)
前記ノイズの付与は、前記変換ユーザ情報に含まれる文字の入れ替えを含み、
前記ノイズ情報は、前記入れ替えた文字の種類に関する情報又は前記入れ替えた文字の前記変換ユーザ情報における位置に関する情報を含む
付記2記載の通信プログラム。
【0094】
(付記8)
前記ノイズの付与は、前記変換ユーザ情報に含まれる文字の置換を含み、
前記ノイズ情報は、前記置換における置換前の文字及び置換後の文字の種類に関する情報、又は前記置換した文字の前記変換ユーザ情報における位置に関する情報を含む
付記2記載の通信プログラム。
【0095】
(付記9)
ユーザのユーザ情報を管理する通信装置であって、
前記ユーザから取得したユーザ情報を、管理用フォーマットに変換し、変換ユーザ情報を得る変換部と、
前記変換ユーザ情報を第1ハッシュ関数でハッシュ化した第1ハッシュ値を算出し、前記第1ハッシュ値、前記第1ハッシュ関数、及び前記変換における変換内容を含む確認要求を前記ユーザに送信し、前記管理するユーザ情報の正当性の確認を前記ユーザに要求する確認要求部と、
を有する通信装置。
【0096】
(付記10)
ユーザのユーザ情報を管理する事業者端末における通信方法であって、
前記ユーザから取得したユーザ情報を、管理用フォーマットに変換し、変換ユーザ情報を取得し、
前記変換ユーザ情報を第1ハッシュ関数でハッシュ化した第1ハッシュ値を算出し、前記第1ハッシュ値、前記第1ハッシュ関数、及び前記変換における変換内容を含む確認要求を前記ユーザに送信し、前記管理するユーザ情報の正当性の確認を前記ユーザに要求する、
通信方法。
【0097】
(付記11)
ユーザのユーザ情報を、管理用フォーマットに変換し、変換した変換ユーザ情報を管理する事業者端末に、前記ユーザ情報を送信する登録処理と、
前記事業者端末によって算出された前記変換したユーザ情報を第1ハッシュ関数でハッシュ化した第1ハッシュ値、前記第1ハッシュ関数、及び前記変換における変換内容を含む、確認要求を前記事業者端末から受信する受信処理と、
前記確認要求の受信に応答し、前記送信したユーザ情報を、前記変換内容に応じて変換し、前記変換したユーザ情報を前記第1ハッシュ関数でハッシュ化した第2ハッシュ値を算出し、前記第1ハッシュ値と前記第2ハッシュ値を比較し、前記事業者端末が管理するユーザ情報の正当性を確認する確認処理と、
を前記ユーザが使用するユーザ端末が有するコンピュータに実行させる通信プログラム。
【0098】
(付記12)
ユーザが使用するユーザ端末と、前記ユーザのユーザ情報を管理する事業者端末とを有する通信システムであって、
前記ユーザ端末は、前記ユーザ情報を前記事業者端末に送信し、
前記事業者端末は、前記ユーザ情報を管理用フォーマットに変換した変換ユーザ情報を管理し、前記変換ユーザ情報を第1ハッシュ関数でハッシュ化した第1ハッシュ値を算出し、前記第1ハッシュ値、前記第1ハッシュ関数、及び前記変換における変換内容を含む確認要求を前記ユーザ端末に送信し、
前記ユーザ端末は、前記確認要求の受信に応答し、前記送信したユーザ情報を前記変換内容に応じて変換し、前記変換ユーザ情報を前記第1ハッシュ関数でハッシュ化した第2ハッシュ値を算出し、前記第1ハッシュ値と前記第2ハッシュ値を比較し、前記事業者端末が管理するユーザ情報の正当性を確認する
通信システム。
【符号の説明】
【0099】
1 :通信システム
10 :ユーザ
20 :事業者
100 :ユーザ端末
110 :CPU
120 :ストレージ
121 :ユーザ情報登録要求プログラム
122 :登録内容確認プログラム
123 :デジタル証明書発行要求プログラム
130 :メモリ
140 :通信回路
200 :事業者端末
210 :CPU
220 :ストレージ
221 :ユーザ情報登録プログラム
222 :デジタル証明書発行プログラム
230 :メモリ
240 :通信回路
300 :ID流通基盤