(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-07-21
(45)【発行日】2022-07-29
(54)【発明の名称】集合認証に基づく部分データの検証方法
(51)【国際特許分類】
H04L 9/32 20060101AFI20220722BHJP
G09C 1/00 20060101ALI20220722BHJP
G06F 21/44 20130101ALI20220722BHJP
G06F 21/64 20130101ALI20220722BHJP
G06F 21/60 20130101ALI20220722BHJP
【FI】
H04L9/32 200A
H04L9/32 200B
G09C1/00 640D
G06F21/44
G06F21/64
G06F21/60 320
【外国語出願】
(21)【出願番号】P 2020096279
(22)【出願日】2020-06-02
【審査請求日】2020-09-01
(32)【優先日】2019-06-03
(33)【優先権主張国・地域又は機関】TW
(73)【特許権者】
【識別番号】520194984
【氏名又は名称】チュアンホン テクノロジー カンパニー リミテッド
(74)【代理人】
【識別番号】110001210
【氏名又は名称】特許業務法人YKI国際特許事務所
(72)【発明者】
【氏名】ス ナイ-ホ
(72)【発明者】
【氏名】リ チ-クアン
(72)【発明者】
【氏名】チェン ユ-レン
【審査官】青木 重徳
(56)【参考文献】
【文献】特開2018-196108(JP,A)
【文献】中国特許出願公開第108184170(CN,A)
【文献】米国特許出願公開第2015/0278535(US,A1)
【文献】宮崎 邦彦 ほか,電子文書墨塗り問題,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,2003年07月17日,Vol.103 No.195,p. 61-67
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/32
G09C 1/00
G06F 21/44
G06F 21/64
G06F 21/60
(57)【特許請求の範囲】
【請求項1】
(a)送信側コンピュータ機器が要求側コンピュータ機器からデータ要求を受信し、そのうち、前記データ要求は提供されるデータクラスタの要求部分を指定する;
(b)
前記送信側コンピュータ機器は、前記データ要求が指定する前記データクラスタを取得する;
(c)
前記送信側コンピュータ機器は、前記データクラスタの前記要求部分以外の非要求部分に対し
てフィンガープリント処理を実行し、非要求データフィンガープリントを得る;
(d)
前記送信側コンピュータ機器は、前記データクラスタの前記要求部分及び前記非要求データフィンガープリントを前記要求側コンピュータ機器に送り返す;
(e)前記要求側コンピュータ機器が前記データクラスタの信頼できる集合フィンガープリントを取得し、そのうち、前記信頼できる集合フィンガープリントは、前記データクラスタ全体に基づき生成される
もので、前記要求部分にフィンガープリント処理を実行して得た要求データフィンガープリントと、非要求部分にフィンガープリント処理を実行して得た非要求データフィンガープリントとをマージ処理して得たものである;
(f)
前記要求側コンピュータ機器は、前記要求部分に対して前
記フィンガープリント処理を実行し、要求データフィンガープリントを得る;
(g)
前記要求側コンピュータ機器は、前記非要求データフィンガープリント及び前記要求データフィンガープリントに対してマージ処理を実行し、マージ集合フィンガープリントを得る;
(h)
前記要求側コンピュータ機器は、前記マージ集合フィンガープリントが前記信頼できる集合フィンガープリントと一致する場合、前記データクラスタの前記要求部分が正確であると判定する;という工程を含
み、
前記フィンガープリント処理は不可逆暗号化処理であり、前記マージ処理は組み合わされたデータの不可逆暗号化処理である、集合認証に基づく部分データの検証方法。
【請求項2】
前記工程(d)の前に、工程(i)において外部機器又は前記送信側コンピュータ機器が前記データクラスタに対してデジタル署名生成処理を実行し、前記データクラスタ専属のデジタル署名を生成することをさらに含み、
前記工程(d)は
、前記送信側コンピュータ機器が前記データクラスタの前記要求部分、前記非要求データフィンガープリント及び前記デジタル署名を前記要求側コンピュータ機器に送り返すものである、請求項1に記載の集合認証に基づく部分データの検証方法。
【請求項3】
前記工程(e)は、
前記要求側コンピュータ機器が、
(e1)公開鍵及び私有鍵のうちの1つを取得する;
(e2)取得した前記公開鍵又は前記私有鍵を用いて前記デジタル署名の復号を行い、前記信頼できる集合フィンガープリントを取得する;という工程を含む、請求項2に記載の集合認証に基づく部分データの検証方法。
【請求項4】
前記デジタル署名生成処理は、
外部機器又は前記送信側コンピュータ機器が、
(j1)前記公開鍵及び前記私有鍵の一方を取得し、そのうち、前記私有鍵は前記公開鍵とペアである;
(j2)前記データクラスタに対して
、前記要求部分にフィンガープリント処理を実行して前記要求データフィンガープリントを得、非要求部分にフィンガープリント処理を実行して前記非要求データフィンガープリントを得、これらを前記マージ処理して、前記信頼できる集合フィンガープリントを得る;
(j3)取得した前記公開鍵又は前記私有鍵を用いて前記信頼できる集合フィンガープリントの暗号化を行い、前記デジタル署名を得る;という工程を含む、請求項3に記載の集合認証に基づく部分データの検証方法。
【請求項5】
前
記フィンガープリント処理及び前記マージ処理はハッシュ処理を含む、請求項4に記載の集合認証に基づく部分データの検証方法。
【請求項6】
前記工程(b)の前に、
前記送信側コンピュータ機器が、
(k1)身分証明書の演算ユニットからユーザーの身元データを取得して前記データクラスタとする;
(k2)前記演算ユニットからデジタル署名を取得する;という工程をさらに含む、請求項1に記載の集合認証に基づく部分データの検証方法。
【請求項7】
前記工程(b)の前に、
前記送信側コンピュータ機器が、
(l1)身分証明書の身元情報ページを撮って身元画像を得る;
(l2)前記身元画像に認識処理を実行し、身元データを得て前記データクラスタとする;
(l3)前記身
分証明書の演算ユニットからデジタル署名を取得する;という工程をさらに含む、請求項1に記載の集合認証に基づく部分データの検証方法。
【請求項8】
前記データクラスタは複数のサブデータを含み、前記工程(c)は、
前記送信側コンピュータ機器が、
(c1)前記非要求部分の各前記サブデータに対して第3フィンガープリント処理を実行し、前記非要求部分の複数の前記サブデータフィンガープリントを得る;
(c2)前記非要求部分の複数の前記サブデータフィンガープリントを前記非要求データフィンガープリントとする;という工程を含む、請求項1に記載の集合認証に基づく部分データの検証方法。
【請求項9】
前記送信側コンピュータ機器が、
前記工程(b)の後、前記工程(d)の前に、工程(m)において前記データクラスタの前記要求部分に対して可逆暗号化処理を実行することをさらに含み、
前記工程(d)は、可逆暗号化済みの前記データクラスタの前記要求部分及び不可逆暗号化済みの前記非要求データフィンガープリントを前記要求側コンピュータ機器に送り返すものである、請求項1に記載の集合認証に基づく部分データの検証方法。
【請求項10】
前記工程(a)の後、前記工程(b)の前に、
前記送信側コンピュータ機器が、工程(n)において前記データ要求の要求側デジタル署名に対して要求側検証を行うことをさらに含み、
前記工程(b)は、前記身元のアクセス要求が前記要求側検証をパスした場合に、
前記送信側コンピュータ機器が、前記データクラスタを取得するものである、請求項1に記載の集合認証に基づく部分データの検証方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データの検証及び伝送に関し、特に集合認証に基づく部分データの検証方法に関するものである。
【背景技術】
【0002】
受信端が受信したデータが正確か否かを検証するために、現在では集合データ検証技術が既に提出されている。
【0003】
具体的には、送信端(送信端末)は複数のオリジナルデータを保存しており、公正な第三者は各オリジナルデータのフィンガープリントを保存している。受信端(受信端末)は送信端からオリジナルデータを受信した後、第三者からそのオリジナルデータのフィンガープリントを取得し、且つフィンガープリントにより受信したオリジナルデータが正確且つ完全か否かを検証することができる。
【0004】
これにより、従来の集合データ検証技術では、受信端がデータの正確性を検証できるようにしている。さらに、フィンガープリントはオリジナルデータを暗号化して生成したものであるため、第三者はフィンガープリントをオリジナルデータに復元することができず、安全性を高めることができる。
【0005】
とはいえ、従来の集合データ検証技術には以下の問題が存在する。受信端がオリジナルデータの一部だけを要求した場合でも、送信端は受信端が受信したデータを検証できるようにするため、受信端に完全なオリジナルデータを送らなければならず、受信端が要求していない他の部分のオリジナルデータも取得できてしまうため、オリジナルデータの流出リスクが高くなる。
【0006】
また、通常、各オリジナルデータには相当数のサブデータがあり、各オリジナルデータの各サブデータのフィンガープリントを第三者に保存する場合、大量のストレージスペースを消費する必要がある。
【0007】
上述のように、従来の集合データ検証技術には、部分データを検証できないという問題が存在しており、より有効な方法の提出が望まれている。
【発明の概要】
【発明が解決しようとする課題】
【0008】
本発明は、完全なデータのフィンガープリントを用いて部分データの検証を行うことができる、集合認証に基づく部分データの検証方法を提供することを主な目的としている。
【課題を解決するための手段】
【0009】
上述の目的を達成するために、本発明は集合認証に基づく部分データの検証方法を提供するが、それには以下の工程を含む。送信側コンピュータ機器が要求側コンピュータ機器からのデータ要求を受信し、そのうち、データ要求は提供されるデータクラスタの要求部分を指定する。データ要求が指定されたデータクラスタを取得する。データクラスタの要求部分以外の非要求部分に対して第1フィンガープリント処理を実行し、非要求データフィンガープリントを得る。データクラスタの要求部分及び非要求データフィンガープリントを要求側コンピュータ機器へ送り返す。要求側コンピュータ機器がデータクラスタの信頼できる集合フィンガープリントを取得し、そのうち、信頼できる集合フィンガープリントはデータクラスタ全体に基づき生成される。要求部分に対して第1フィンガープリント処理を実行し、要求データフィンガープリントを得る。非要求データフィンガープリント及び要求データフィンガープリントに対してマージ処理を実行し、マージ集合フィンガープリントを得る。マージ集合フィンガープリントが信頼できる集合フィンガープリントと一致する場合、データクラスタの要求部分が正確であると判定する。
【発明の効果】
【0010】
本発明は、要求した部分データの正確性を有効に検証することができる。
【図面の簡単な説明】
【0011】
【
図1】本発明の実施例におけるデータ検証システムのアーキテクチャ図である。
【
図2】本発明の第1実施例における部分データ検証方法のフローチャートである。
【
図3】本発明の実施例における部分データ検証の概念図である。
【
図4】本発明の第2実施例におけるデータ取り込みのフローチャートである。
【
図5】本発明の実施例におけるデータ取り込みの概念図である。
【
図6A】本発明の第3実施例における部分データ検証方法の第1フローチャートである。
【
図6B】本発明の第3実施例における部分データ検証方法の第2フローチャートである。
【
図7A】本発明の実施例における部分データ検証の第1概念図である。
【
図7B】本発明の実施例における部分データ検証の第2概念図である。
【発明を実施するための形態】
【0012】
本発明における好ましい実施例について、図面に基づき詳細に説明する。
【0013】
後続の説明において、「データクラスタ」は複数のサブデータの集合であり、各サブデータは独立にアクセス可能であり、且つ意義ある情報(例えば氏名情報、アドレス情報、アーカイブファイルなど)を有している。
【0014】
「フィンガープリント」は、指定されたデータ(サブデータ又はデータクラスタを含む)に対してフィンガープリント処理を実行して生成されたものであり、指定されたデータの完全性及び/又は正確性を検証するのに用いることができる。実施例では、フィンガープリントはハッシュ値(hash value)でよく、またフィンガープリント処理はハッシュ関数(hash function)の演算処理を含む。実施例では、サイズが異なるデータのフィンガープリント処理を実行した後に、同じサイズの内容が異なるフィンガープリントを得ることができる。
【0015】
本発明の実施例におけるデータ検証システムのアーキテクチャ図である、
図1を参照されたい。本発明が開示する集合認証に基づく部分データの検証方法は、データ検証システム1において用いられる。本発明は、データの要求側コンピュータ機器32が信頼できる集合フィンガープリントを用いてデータクラスタの一部を検証できるようにするものであり、信頼できる集合フィンガープリントは集合認証に用いられ、即ち、完全なデータクラスタの検証を行うよう設計されており、そのままデータクラスタの一部を検証することはできない。
【0016】
データ検証システム1は、送信側コンピュータ機器10と要求側コンピュータ機器32を含む。送信側コンピュータ機器10と要求側コンピュータ機器32(例えばスマートフォン、ウェアラブルデバイス、タブレット、ノートパソコン、サーバなど)はユーザーが所持するか又はネットワークサーバとし、且つネットワーク30経由で相互接続してデータ伝送を行うことができる。
【0017】
具体的には、要求側コンピュータ機器32が指定するデータクラスタの全て又は一部を取得したい場合、データ要求を生成して、指定するデータクラスタの指定部分を提供するよう送信側コンピュータ機器10に要求することができる。送信側コンピュータ機器10は、データ要求に基づき、指定されたデータクラスタの全て又は一部を要求側コンピュータ機器32に送り返すことができる。
【0018】
送信側コンピュータ機器10は主に、ネットワーク接続モジュール102、マンマシンインターフェイス104、ストレージモジュール105及び上述のモジュールと電気的に接続された処理モジュール100を含む。
【0019】
要求側コンピュータ機器32は主に、ネットワーク30に接続されたネットワーク接続モジュール322、ストレージモジュール325、マンマシンインターフェイス324及び上述の構成要素と電気的に接続された処理モジュール320を含む。
【0020】
ネットワーク接続モジュール102とネットワーク接続モジュール322(モバイルネットワークモジュール、Wi-Fiモジュール又はイーサネットネットワークモジュールなど)は、ネットワーク30(インターネットなど)に接続してデータ通信を行なうためのものである。マンマシンインターフェイス104とマンマシンインターフェイス324(例えばキーモジュール、タッチ制御モジュールなどの入力モジュール及び/又はディスプレイモジュール、表示灯などの出力モジュール)は、ユーザーからの操作を受け、且つユーザーに情報を提供するためのものである。ストレージモジュール105とストレージモジュール325は、データを記憶するためのものである。処理モジュール100は、送信側コンピュータ機器10を制御するためのものである。処理モジュール320は、要求側コンピュータ機器32を制御するためのものである。
【0021】
実施例では、送信側コンピュータ機器10のストレージモジュール105と要求側コンピュータ機器32のストレージモジュール325は、非一過性の記録媒体を含むことができ、非一過性の記録媒体にはそれぞれコンピュータプログラム1050、3250(アプリケーションなど)が記憶されている。コンピュータプログラム1050、3250には、コンピュータが実行可能なプログラムコードが含まれている。送信側コンピュータ機器10がコンピュータプログラム1050を実行し、且つ要求側コンピュータ機器32がコンピュータプログラム3250を実行した場合、両者はネットワーク30経由で対話することができ、本発明の各実施例の方法を実現することができる。
【0022】
例を挙げると、送信側コンピュータ機器10はユーザーが所持するコンピュータ機器でよく、要求側コンピュータ機器32はネットワークサーバである(ショッピングサイト又は個人認証サイトなど)。送信側コンピュータ機器10が要求側コンピュータ機器32からデータ要求(要求部分の身元(身分)データを提供するよう求めるなど)を受信した場合、後述の部分データ検証方法に基づき、要求されたデータ及び関係する検証データを要求側コンピュータ機器32に提供することができ、要求側コンピュータ機器32が要求したデータの受信後にその完全性及び正確性を検証できるようにさせる。
【0023】
別の例では、送信側コンピュータ機器10はデータダウンロードサービスを提供するファイルサーバでよく、要求側コンピュータ機器32はユーザーが所持するコンピュータ機器である。送信側コンピュータ機器10が要求側コンピュータ機器32からデータ要求(特定のデータクラスタの一部を提供するよう求めるなど)を受信した場合、後述の部分データ検証方法に基づき、要求されたデータ及び関係する検証データを要求側コンピュータ機器32に提供して、要求側コンピュータ機器32が要求したデータの受信後にその完全性及び正確性を検証できるようにする。
【0024】
続けて
図1、
図2及び
図3を共に参照されたい。
図2は本発明の第1実施例における部分データ検証方法のフローチャートであり、
図3は本発明の実施例における部分データ検証の概念図である。以下、
図3を例として本実施例の部分データ検証方法を説明するが、これにより本発明の範囲を限定すべきではない。本実施例の部分データ検証方法は、以下の工程を含む。
【0025】
工程S100:送信側コンピュータ機器10の処理モジュール100が、要求側コンピュータ機器32からのデータ要求を受信したか否かを判断する。データ要求は、提供されるデータクラスタ40の部分(例えば要求部分41)を指定する。
【0026】
処理モジュール100がデータ要求を受信した場合、工程S101を実行する。否ならば、処理モジュール100が再び工程S100を実行する。
【0027】
工程S101:処理モジュール100がデータ要求で指定されたデータクラスタ40を取得する。
【0028】
実施例では、ストレージモジュール105に複数のデータクラスタ40が記憶されており、処理モジュール100がデータ要求に基づき、指定されたデータクラスタ40をストレージモジュール105から読み取る。
【0029】
実施例では、複数のデータクラスタ40は、外部機器(例えば身分証明書20、クラウドサーバ31又はブロックチェーン33)に記憶されている。処理モジュール100はデータ要求に基づき、指定されたデータクラスタ40を外部機器から取得するが、例えばネットワーク30経由でクラウドサーバ31若しくはブロックチェーン33からデータクラスタ40を取得するか、又は通信モジュール101経由で身分証明書20の演算ユニット200からデータクラスタ40を取得するなど、限定されない。
【0030】
工程S102:処理モジュール100がデータ要求に基づき、データクラスタ40をグループ分けして、要求部分41及び要求部分41以外の非要求部分42を取り込む。さらに、処理モジュール100が非要求部分42に対してフィンガープリント処理(第1フィンガープリント処理)を実行し、非要求データフィンガープリント43を得る。
【0031】
工程S103:処理モジュール100がネットワーク30経由でデータクラスタ40の要求部分41及び非要求データフィンガープリント43を要求側コンピュータ機器32へ送り返す。
【0032】
実施例では、処理モジュール100は要求部分41及び非要求データフィンガープリント43を返送データ44に追加して、返送データ44を要求側コンピュータ機器32へ送ることができる。
【0033】
次に、要求側コンピュータ機器32は、返送データ44の受信後に以下の工程を実行することができる。工程S104:処理モジュール320がデータクラスタ40の信頼できる集合フィンガープリント54を取得する。信頼できる集合フィンガープリントは、データクラスタの全てにより生成される。
【0034】
実施例では、信頼できる集合フィンガープリントは、第三者のフィンガープリントライブラリから取得するか、送信側コンピュータ機器10から取得するか、又は予め要求側コンピュータ機器32のストレージモジュール325に記憶することができ、限定されない。
【0035】
実施例では、信頼できる集合フィンガープリントは、ネットワーク中で伝達される(即ち、複数の要求側コンピュータ機器32が同時に所有可能)ように設計され、且つ暗号化されていないか又は要求側コンピュータ機器32が復号する能力を有する。
【0036】
工程S105:処理モジュール320が受信した返送データ44を解析し、要求部分50及び非要求データフィンガープリント52を取り込む。次に、処理モジュール320が要求部分50に対して工程S102と同じか又は類似のフィンガープリント処理(第1フィンガープリント処理)を実行し、要求データフィンガープリント51を得る。
【0037】
工程S106:処理モジュール320が非要求データフィンガープリント52及び要求データフィンガープリント51に対してマージ処理を実行し、マージ集合フィンガープリント53を得る。
【0038】
なお、マージ処理は信頼できる集合フィンガープリントに対応させた生成方法である。例を挙げると、信頼できる集合フィンガープリントは、データクラスタに対してハッシュ処理を行って生成され、マージ処理にはハッシュ処理が含まれる。別の例では、信頼できる集合フィンガープリントは、データクラスタに対して部分サンプリング処理を行って生成され、マージ処理には部分サンプリング処理が含まれる。
【0039】
実施例では、マージ処理にはハッシュ処理を含むことができ、例えば、非要求データフィンガープリント52及び要求データフィンガープリント51に対してハッシュ処理を行ってハッシュ値を得て、ハッシュ値をマージ集合フィンガープリント53とする。
【0040】
実施例では、マージ処理には組み合わせ処理を含むことができ、例えば、非要求データフィンガープリント52及び要求データフィンガープリント51を組み合わせて、組み合せ後のデータをマージ集合フィンガープリント53とする。
【0041】
工程S107:処理モジュール320が、マージ集合フィンガープリント53が信頼できる集合フィンガープリント54と一致するか否かを判断する。
【0042】
マージ集合フィンガープリント53が信頼できる集合フィンガープリント54と一致する場合、工程S108を実行する。否ならば、処理モジュール320が工程S109を実行する。
【0043】
工程S108:処理モジュール320が受信したデータクラスタ40の要求部分50を正確且つ完全であると判定し、さらにマンマシンインターフェイス324を介してデータコレクト指示を送信することができる。
【0044】
工程S109:処理モジュール320が受信したデータクラスタ40の要求部分50を不正確且つ不完全であると判定し、さらにマンマシンインターフェイス324を介してデータエラー指示を送信することができる。
【0045】
従って、本発明は、データクラスタの全ての信頼できる集合フィンガープリントを検証することにより、要求したデータクラスタの一部の正確性及び完全性を検証するのに使用することができる。さらに、本発明は余分なストレージ空間を消費することなく、データクラスタの各部分のフィンガープリントを保存することができる。
【0046】
続けて
図1、
図2、
図4及び
図5を共に参照されたい。
図4は本発明の第2実施例におけるデータ取り込みのフローチャートであり、
図5は本発明の実施例におけるデータ取り込みの概念図である。本実施例では、送信側コンピュータ機器10はユーザーが所持するコンピュータ機器であり、要求側コンピュータ機器32はネットワークサーバである(ショッピングサイト又は個人認証サイトなど)。データ要求は、送信側コンピュータ機器10にユーザーの身元データ(即ちデータクラスタ)の一部を提供することを要求する。
【0047】
さらに本実施例では、送信側コンピュータ機器10は処理モジュール100と電気的に接続された通信モジュール101及び外部の映像を撮影するための映像キャプチャモジュール103(カメラなど)を含むことができる。
【0048】
通信モジュール101は、身分証明書20の演算ユニット200(処理チップなど)と近距離(接触型を含む)通信を構築するためのものである。実施例では、通信モジュール101は、NFCモジュール、Bluetoothモジュール、超音波モジュールなどの近距離無線通信モジュールか、又は接触型ICカードリーダなどの接触型の通信モジュールでよい。さらに、身分証明書20は、演算ユニット200と電気的に接続された通信インターフェイスを含むことができる。通信インターフェイスは、通信モジュール101と互換性がある通信技術を採用しており、通信モジュール101とデータ通信を行うことができる。
【0049】
本実施例では、電子データ伝送技術(工程S20)又は光学画像認識技術(工程S21~S22)を用いてデータクラスタを得ることができる。本実施例の部分データ検証方法は、以下のデータクラスタ及びデジタル署名(その用途は
図6A及び
図6Bの実施例中で詳述する)を得るための工程を含む。
【0050】
工程S20:送信側コンピュータ機器10の処理モジュール100が、身分証明書20の演算ユニット200からユーザーの身元データをデータクラスタとして取得する。
【0051】
例を挙げると、
図5に示す通り、通信モジュール101はNFCモジュールであり、ユーザーは通信モジュール101が有効にされた後、身分証明書20を通信モジュール101に近づけて、近距離誘導通信を行うことができる。これによって、処理モジュール100が通信モジュール101及びNFC通信インターフェイスを介して演算ユニット200へ身元データを要求することができ(且つ演算ユニット200とNFC通信インターフェイスの作動に必要な電力を提供する)、且つ演算ユニット200が身元データを送信側コンピュータ機器10に送り返してデータクラスタとすることができる。
【0052】
別の例では、通信モジュール101は接触型ICカードリーダであり、ユーザーは身分証明書20を通信モジュール101に挿入すれば、通信モジュール101を演算ユニット200に接触させることができる。これによって、送信側コンピュータ機器10が演算ユニット200から身元データを取得してデータクラスタとすることができる。
【0053】
工程S21:処理モジュール100が映像キャプチャモジュール103を介して身分証明書20の身元情報ページを撮り、身元画像を得る。
【0054】
実施例では、
図5に示す通り、ユーザーが所有する身分証明書20には印刷形式の身元情報ページがある。身元情報ページはユーザーの写真201、ユーザーの身元情報の複数のフィールドデータ202を含むことができる(
図5の例では、氏名はAndy Lee、発行地はTaipei Cicy、生年月日は1980年1月1日である)。ユーザーは送信側コンピュータ機器10を操作し、映像キャプチャモジュール103を用いて身分証明書20の身元情報ページを撮り、身元画像21を得ることができる。さらに、送信側コンピュータ機器10は、ディスプレイモジュール1040を介して撮った身元画像21をすぐに表示し、ユーザーが画像品質を確認できるようにすることができる。
【0055】
工程S22:処理モジュール100が身元画像21に認識処理を実行し、身元データを得てデータクラスタとする。
【0056】
実施例では、処理モジュール100が得られた身元画像に対して光学文字認識処理を実行し、身元画像21中の複数の文字とその配列方式を識別し、さらに識別した複数の文字とその配列方式に対して身元解析処理を実行し、複数の文字とその配列方式の分析を経ることにより身元データを得る。
【0057】
工程S23:処理モジュール100が通信モジュール101経由で演算ユニット200からデジタル署名を取得する。デジタル署名は予め演算ユニット200に記憶され、且つ身元データ全体の正確性及び完全性を検証するのに用いられる。
【0058】
実施例では、身分証明書20の身元情報ページに1組の機械可読コード203をさらに記載することができる。処理モジュール100は、身元画像21から機械可読コード203を識別し、次に機械可読コード203により演算ユニット200のロックを解除して、演算ユニット200に身元データの提供を許可させる。
【0059】
これによって、本発明は安全且つ容易にユーザーの身元データを取得することができる。
【0060】
図1、
図6A~
図7Bを共に参照されたい。
図6Aは本発明の第3実施例における部分データ検証方法の第1フローチャートであり、
図6Bは本発明の第3実施例における部分データ検証方法の第2フローチャートであり、
図7Aは本発明の実施例における部分データ検証の第1概念図であり、
図7Bは本発明の実施例における部分データ検証の第2概念図である。
【0061】
図2に示した部分データ検証方法と比較すると、本実施例の部分データ検証方法ではデジタル署名技術を組み合わせることで信頼できる集合フィンガープリントを伝達しており、また本実施例では、フィンガープリント処理を実施するための形態がさらに提供される。本実施例の部分データ検証方法は、以下の工程を含む。
【0062】
工程S300:送信側コンピュータ機器10の処理モジュール100が、要求側コンピュータ機器32からのデータ要求63を受信したか否かを判断する。データ要求は、提供されるデータクラスタ62の要求部分64(サブデータA1、サブデータA2…を含む)を指定する。
【0063】
処理モジュール100がデータ要求63を受信した場合、工程S301を実行する。否ならば、処理モジュール100が再び工程S300を実行する。
【0064】
工程S301:処理モジュール100がデータ要求63の要求側デジタル署名に対して要求側検証を行う。具体的には、データ要求63は要求側デジタル署名を含むことができ、要求側デジタル署名は要求側コンピュータ機器32の身元を検証するのに用いられる。
【0065】
データ要求63が要求側検証をパスしなかった場合(要求側デジタル署名のエラー又は非合法など)、処理モジュール100が工程S302を実行する。処理モジュール100がマンマシンインターフェイス104を介して非安全要求側指示を送り、且つデータ伝送を終了して、データ流出を防ぐ。
【0066】
処理モジュール100が、データ要求63が要求側検証をパスしたと判断した場合(即ちデータ要求63は合法且つ安全であるか又は既知の要求側コンピュータ機器32が送ったものである)、工程S303を実行する。処理モジュール100がデータクラスタ62を取得する。データクラスタ62は、複数のサブデータを含むことができる(例えばサブデータA1、A2…及びサブデータB1、B2…など)。
【0067】
実施例では、要求するデータクラスタ62がユーザーの身元データである場合、処理モジュール100が身分証明書60から身元データを取り込んでデータクラスタ62とすることができる。
【0068】
工程S304:処理モジュール100がデータクラスタ62のデジタル署名61を取得する。
【0069】
実施例では、デジタル署名は、例えば外部コンピュータ機器(要求側コンピュータ機器32、クラウドサーバ31(第三者サーバ又はデータベースでよい)又はブロックチェーン33など)又は外部記憶媒体(身分証明書20、セキュリティトークン(Token)又はフラッシュドライブなど)などの外部機器から取得する。例を挙げると、要求するデータクラスタ62がユーザーの身元データである場合、処理モジュール100が身分証明書60から身元データのデジタル署名61を取り込むことができる。
【0070】
実施例では、送信側コンピュータ機器10又は外部機器は事前に(データ要求が送られる前など)又は即座に(データ要求の受信時など)以下の工程S40~S42に示すデジタル署名生成処理を実行することにより、データクラスタ62専属のデジタル署名61を生成することができる。
【0071】
工程S40:処理モジュール100又は外部機器が私有鍵(秘密鍵)を取得する。私有鍵の取得方式は、情報セキュリティ技術分野において通常の知識を有する者が知り得るものであり、ここでは説明を省略する。
【0072】
工程S41:処理モジュール100又は外部機器がデータクラスタ62に対してフィンガープリント処理(第2フィンガープリント処理)を実行して、信頼できる集合フィンガープリントを得る。
【0073】
工程S42:処理モジュール100又は外部機器が私有鍵を用いて信頼できる集合フィンガープリントを暗号化し、デジタル署名61を得る。
【0074】
これによって、本発明は如何なる形式のデータクラスタ62に対してもデジタル署名61を生成することができる。
【0075】
工程S305:処理モジュール100がデータ要求63に基づき、データクラスタ62をグループ分けして、要求部分64(サブデータA1、サブデータA2…を含む)及び要求部分64以外の非要求部分65(サブデータB1、サブデータB2…を含む)を取り込む。さらに、処理モジュール100が非要求部分65に対してフィンガープリント処理(第1フィンガープリント処理)を実行し、非要求データフィンガープリント66を得る。
【0076】
実施例では、処理モジュール100は以下の工程S50~S51を実行して、非要求部分に対するフィンガープリント処理の実行を発生させることができる。
【0077】
工程S50:処理モジュール100が非要求部分65の各サブデータB1、B2…のそれぞれに対してフィンガープリント処理(第3フィンガープリント処理)を実行し、非要求部分65の複数のサブデータフィンガープリントB1’、B2’…を得る。
【0078】
工程S51:処理モジュール100が非要求部分65の複数のサブデータフィンガープリントB1’、B2’を非要求データフィンガープリント66とする。
【0079】
工程S306:処理モジュール100がデータクラスタ62の要求部分64のサブデータA1、A2…に対して可逆暗号化処理を実行する。可逆暗号化処理のタイプ及び詳細な実施方式は、情報セキュリティ技術分野において通常の知識を有する者が知り得るものであり、ここでは説明を省略する。
【0080】
実施例では、処理モジュール100はデータクラスタ62の要求部分64に対して可逆暗号化処理を実行せず、平文方式で要求部分64を伝達することもできる。
【0081】
工程S307:処理モジュール100が要求部分64(可逆暗号化済み)、不可逆暗号化済みの非要求データフィンガープリント66及びデジタル署名61を要求側コンピュータ機器32に送り返す。
【0082】
実施例では、処理モジュール100は上述のデータを返送データ67に追加し(返送データ67は可逆暗号化を実行してもよく、暗号化しなくてもよく、限定しない)、且つ返送データ67を要求側コンピュータ機器32に送る。
【0083】
工程S308:要求側コンピュータ機器32の処理モジュール320が公開鍵76を取得する。
【0084】
公開鍵の取得方式は、情報セキュリティ技術分野において通常の知識を有する者が知り得るものであり、ここでは説明を省略する。
【0085】
なお、私有鍵と公開鍵はペアであり、且つそれぞれ暗号化と復号に用いられる。例を挙げると、私有鍵で暗号化されたデータは、公開鍵を用いて復号することができる。
【0086】
工程S309:処理モジュール320が返送データ67を解析(復号を含むことができる)して、要求部分70の複数のサブデータA1、A2…、非要求データフィンガープリント72の複数のサブデータフィンガープリントB1’、B2’…及びデジタル署名75を取り込む。さらに、処理モジュール320が公開鍵76を用いてデジタル署名75を復号し、信頼できる集合フィンガープリント77を取得する。
【0087】
工程S310:処理モジュール320が暗号化していない要求部分70に対してフィンガープリント処理(第1フィンガープリント処理)を実行し、要求データフィンガープリント71を得る。
【0088】
具体的には、処理モジュール320は要求部分70の複数のサブデータA1、A2…のそれぞれに対してフィンガープリント処理(ハッシュ処理を含むことができる)を実行し、複数のサブデータフィンガープリントA1’、A2’…(複数のハッシュ値など)を得て、且つ複数のサブデータフィンガープリントA1’、A2’…を要求データフィンガープリント71とする。
【0089】
実施例では、要求部分70は暗号化済みであり、先ず暗号化済みの要求部分70に対して可逆暗号化処理に対応する復号処理を実行し、暗号化されていない要求部分70を得てから、暗号化されていない要求部分70に対してフィンガープリント処理を行うことができる。
【0090】
工程S311:処理モジュール320が非要求データフィンガープリント72及び要求データフィンガープリント71に対してマージ処理を実行し、マージ集合フィンガープリント74を得る。
【0091】
実施例では、処理モジュール320が先ず要求データフィンガープリント71の複数のサブデータフィンガープリントA1’、A2’…及び非要求データフィンガープリント72の複数のサブデータフィンガープリントB1’、B2’…を組み合わせて組み合わせデータ73とし(全てのハッシュ値をマッチングするなど)、次に組み合わせデータ73に対してマージ処理(ハッシュ処理を含むことができる)を実行し、マージ集合フィンガープリント74を得る。マージ集合フィンガープリント74は、組み合わせデータ73を検証するのに用いられる。
【0092】
なお、第1フィンガープリント処理、第2フィンガープリント処理、第3フィンガープリント処理及びマージ処理は、同じか又は異なる暗号化処理でよいが、不可逆暗号化処理でなければならない。
【0093】
実施例では、第1フィンガープリント処理、第2フィンガープリント処理、第3フィンガープリント処理及びマージ処理は、ハッシュ処理を含む。
【0094】
工程S312:処理モジュール320が、マージ集合フィンガープリント74が信頼できる集合フィンガープリント77と一致するか否かを判断する(例えば2組のハッシュ値が同じである)。
【0095】
マージ集合フィンガープリント74が信頼できる集合フィンガープリント77と一致する場合、工程S313を実行する。否ならば、処理モジュール320が工程S314を実行する。
【0096】
工程S313:処理モジュール320が受信したデータクラスタ40の要求部分50を正確且つ完全であると判定し、さらにマンマシンインターフェイス324を介してデータコレクト指示を送信することができる。
【0097】
工程S314:処理モジュール320が受信したデータクラスタ40の要求部分50を不正確且つ不完全であると判定し、さらにマンマシンインターフェイス324を介してデータエラー指示を送信することができる。
【0098】
なお、上述では私有鍵により暗号化を行ってデジタル署名を生成し、次に公開鍵を用いてデジタル署名を復号すると説明したが、これに限定されない。実施例では、公開鍵により暗号化を行ってデジタル署名を生成し、私有鍵を用いてデジタル署名を復号することもできる。
【0099】
これによって、本発明は集合検証技術を用いて部分データの検証を達成することができる。
【0100】
上述は本発明の好ましい具体的な実施例に過ぎず、本発明の特許請求の範囲を限定するものではなく、本発明の内容を応用した同等の効果が得られる改変は、いずれも同じ原理として本発明の範囲内に包含されることを理解されたい。
【符号の説明】
【0101】
1 データ検証システム、10 送信側コンピュータ機器、100 処理モジュール、101 通信モジュール、102 ネットワーク接続モジュール、103 映像キャプチャモジュール、104 マンマシンインターフェイス、105 ストレージモジュール、1050 コンピュータプログラム、20 身分証明書、200 演算ユニット、201 写真、202 フィールドデータ、203 機械可読コード、21 画像、30 ネットワーク、31 クラウドサーバ、32 要求側コンピュータ機器、320 処理モジュール、322 ネットワーク接続モジュール、324 マンマシンインターフェイス、325 ストレージモジュール、3250 コンピュータプログラム、33 ブロックチェーン、40~44,50~54 データ、60 身分証明書、61~67,70~77 データ、S100~S109 第1伝送及び検証工程、S20~S23 取り込み工程、S300~S314 第2伝送及び検証工程、S40~S42 デジタル署名取得工程、S50~S51 フィンガープリント処理工程。