(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-09
(45)【発行日】2024-12-17
(54)【発明の名称】本人認証方法及びそのシステム
(51)【国際特許分類】
H04L 9/32 20060101AFI20241210BHJP
G09C 1/00 20060101ALI20241210BHJP
G06F 21/31 20130101ALI20241210BHJP
G06F 21/64 20130101ALI20241210BHJP
【FI】
H04L9/32 200A
H04L9/32 200B
G09C1/00 640E
G06F21/31
G06F21/64
(21)【出願番号】P 2023038627
(22)【出願日】2023-03-13
【審査請求日】2023-03-13
(32)【優先日】2022-11-28
(33)【優先権主張国・地域又は機関】TW
(73)【特許権者】
【識別番号】523091556
【氏名又は名称】チューリング チェーン リミテッド
(74)【代理人】
【識別番号】110000578
【氏名又は名称】名古屋国際弁理士法人
(72)【発明者】
【氏名】フー ヤオ-チー
(72)【発明者】
【氏名】チェン シン-ホン
【審査官】青木 重徳
(56)【参考文献】
【文献】米国特許出願公開第2020/0226242(US,A1)
【文献】特表2019-522412(JP,A)
【文献】特開2012-238050(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G09C 1/00
G06F 21/31
G06F 21/64
(57)【特許請求の範囲】
【請求項1】
データベースを有し通信ネットワークを介してブロックチェーン及びアップローダ側に接続されるサーバー側により実施される本人認証方法であって、
前記データベースには、公開鍵と、本人識別情報
と、前記本人識別情報に対応する本人識別情報ハッシュ値
と、が保存され
ており、前記公開鍵は、前記サーバー側により前記アップローダ側に対応して生成された1組のユニークな非対称鍵ペアに含まれており、
前記ブロックチェーンには
、前記サーバー側により前記非対称鍵ペアに含まれる秘密鍵を用いて電子署名が施された前記本人識別情報ハッシュ値が保存され
ており、
前記本人認証方法は、
ユーザーアカウントが前記本人識別情報を有しているかどうかを判断するステップと、
前記ユーザーアカウントが前記本人識別情報を有しているという判断結果に基づいて、前記ブロックチェーンから
前記電子署名が施された前記本人識別情報ハッシュ値を取得するステップと、
前記公開鍵により
前記電子署名が施された前記本人識別情報ハッシュ値を認証し、復号化された前記本人識別情報ハッシュ値を取得するステップと、
前記復号化された前記本人識別情報ハッシュ値と前記データベースに保存されている前記本人識別情報ハッシュ値とを比較し、本人認証結果を生成するステップと、を含むことを特徴とする本人認証方法。
【請求項2】
前記データベースには
、前記アップローダ側が有する1つのユニークな対称鍵に対応する対称鍵ハッシュ値及び
暗号化秘密鍵が更に保存されており、
前記暗号化秘密鍵は、前記サーバー側により前記対称鍵を用いて前記非対称鍵ペアに含まれる前記秘密鍵を暗号化して生成され、
前記方法は、
前記アップローダ側から前記対称鍵及び前記本人識別情報を受信するステップと、
受信された前記対称鍵のハッシュ値を計算し、
計算された前記対称鍵のハッシュ値と前記データベースに保存されている前記対称鍵ハッシュ値と比較するステップと、
計算された前記対称鍵のハッシュ値が
前記データベースに保存されている前記対称鍵ハッシュ値と同じであるという比較結果に基づいて、
前記対称鍵を用いて前記暗号化秘密鍵を復号化するステップと、
受信された前記本人識別情報のハッシュ値を計算し、前記本人識別情報ハッシュ値を取得するステップと、
前記本人識別情報及び前記本人識別情報ハッシュ値を前記データベースに保存するステップと、
復号化され
た秘密鍵により前記本人識別情報ハッシュ値に電子署名すると共に
、前記電子署名が施された前記本人識別情報ハッシュ値を前記ブロックチェーンにアップロードするステップと、を更に含むことを特徴とする請求項1に記載の本人認証方法。
【請求項3】
前記本人識別情報に対応する本人識別情報識別コードを生成し、且つ前記本人識別情報識別コードを前記ユーザーアカウントに関連付ける方式で
前記データベースに保存するステップを更に含むことを特徴とする請求項2に記載の本人認証方法。
【請求項4】
前記ユーザーアカウントが前記本人識別情報を有しているかどうかを判断するステップは、
前記本人識別情報識別コードに関連付けられた前記ユーザーアカウントに基づいて前記ユーザーアカウントが前記本人識別情報を有していると判定するステップを含むことを特徴とする請求項3に記載の本人認証方法。
【請求項5】
前記電子署名が施された前記本人識別情報ハッシュ値を前記ブロックチェーンにアップロードするステップは、
ブロックチェーン識別コードを前記本人識別情報に関連付ける方式で前記データベースに保存するステップを更に含み、前記ブロックチェーン識別コードは前記ブロックチェーンに保存されている
前記電子署名が施された前記本人識別情報ハッシュ値に対応することを特徴とする請求項2に記載の本人認証方法。
【請求項6】
前記ブロックチェーンから
前記電子署名が施された前記本人識別情報ハッシュ値を取得するステップは、
前記ブロックチェーン識別コードにより前記ブロックチェーンから検索し、アップロードされた
前記電子署名が施された前記本人識別情報ハッシュ値を取得するステップを含むことを特徴とする請求項5に記載の本人認証方法。
【請求項7】
サーバー側及びデータベースを含む本人認証システムであって、前記サーバー側は通信ネットワークを介してブロックチェーン
及びアップローダ側に接続され、且つ前記システムは、
通信ネットワークを介してアプリ側からユーザーが前記アプリ側に入力したユーザーアカウント及びユーザーパスワードを受信するステップと、
前記ユーザーアカウント及び前記ユーザーパスワードが正確であることを確認した後、請求項1~6のいずれか1項に記載の方法に基づいて前記ユーザーの身分を認証し、成功または失敗を含む本人認証結果を生成するステップと、
前記本人認証結果を前記アプリ側に返信し、前記アプリ側は受信した前記本人認証結果が成功であった場合、前記ユーザーが前記アプリ側にログインすることを許可するステップと、を実行するように構成されることを特徴とする本人認証システム。
【発明の詳細な説明】
【背景技術】
【0001】
本発明は、本人認証方法及びそのシステム(Method for identity verification and system thereof)に関する。具体的には、ブロックチェーン技術を利用する本人認証方法及びそのシステムに関する。
【0002】
インターネットの発展に伴い、オンラインでユーザーの身分、権限を認証する需要が高まっている。例えば、アプリケーションプログラムやウェブサイトがユーザーに本人識別情報を提供するように要求したり、ユーザーを実名で認証することによって、ユーザーのログインを許可したり、ユーザーにサービスを提供している。
【発明の概要】
【発明が解決しようとする課題】
【0003】
しかしながら、個人情報をアプリケーションプログラムやウェブサイトに提供するのは、データが外部に流出する危険を増加し得る。また、アプリケーションプログラムやウェブサイト側にとっても、身分を偽造したユーザーを識別することが困難である。このため、個人データが外部に流出するリスクを減少させ、身分の偽造を防止する本人認証方法を提供する必要がある。
【0004】
本発明の目的は、アプリケーションプログラム側やウェブサイトに提供する個人情報を減らし、データが外部に流出するリスクを減少させる本人認証方法を提供することにある。
【0005】
本発明の目的は、改竄しにくいというブロックチェーンの特性を利用し、身分の偽造問題を防ぐ本人認証方法を提供することにもある。
【課題を解決するための手段】
【0006】
本発明の一実施態様において、本人認証方法はサーバー側により実施され、サーバー側のデータベースには、キーペアの公開鍵、本人識別情報、及び本人識別情報に対応する本人識別情報ハッシュ値が保存されている。サーバー側は通信ネットワークを介してブロックチェーンに接続され、ブロックチェーンにはキーペアの秘密鍵の電子署名が施された本人識別情報ハッシュ値が保存されている。前記本人認証方法は、ユーザーアカウントが本人識別情報を有しているかどうか判断するステップと、ユーザーアカウントが本人識別情報を有しているという判断結果に基づいて、ブロックチェーンから秘密鍵の電子署名が施された本人識別情報ハッシュ値を取得するステップと、公開鍵により秘密鍵の電子署名が施された本人識別情報ハッシュ値を認証し、復号化された本人識別情報ハッシュ値を取得するステップと、復号化された本人識別情報ハッシュ値とデータベースに保存されている本人識別情報ハッシュ値を比較し、本人認証結果を生成するステップと、を含む。
【0007】
本発明の他の実施態様において、本人認証のシステムはサーバー側及びデータベースを含む。サーバー側は通信ネットワークを介してブロックチェーンに接続される。前記システムは、通信ネットワークを介してアプリ側からユーザーがアプリ側に入力したユーザーアカウント及びユーザーパスワードを受信するステップと、ユーザーアカウント及びユーザーパスワードが正確であることを確認した後、前述の実施方式に基づいてユーザーの身分を認証し、成功または失敗を含む本人認証結果を生成するステップと、本人認証結果をアプリ側に返信し、アプリ側は受信した本人認証結果が成功であった場合、ユーザーがアプリ側にログインすることを許可するステップと、を実行するように構成される。
【発明の効果】
【0008】
この構成により、ユーザーは本人識別情報を異なるアプリ側に幾度も提供する必要がなくなり、データが外部に流出するリスクが減る。また、ブロックチェーンは改竄しにくいという特性があるため、アプリ側は身分を偽ったユーザーがアプリ側にログインするのを回避できる。このように、本発明の目的を達成する。
【図面の簡単な説明】
【0009】
【
図1】本発明の一実施例に係る本人認証方法における本人識別情報をアップロードする段階のフローチャートである。
【
図2A】本発明の一実施例に係る本人認証方法における本人識別情報をアップロードする段階を概略的に示すブロック図である。
【
図2B】本発明の一実施例に係る本人認証方法における本人識別情報をアップロードする段階を概略的に示すブロック図である。
【
図2C】本発明の一実施例に係る本人認証方法における本人識別情報をアップロードした後の段階を概略的に示すブロック図である。
【
図3】本発明の一実施例に係る本人認証方法の身元識別コードに対応ユーザーアカウントを示すルックアップテーブルである。
【
図4】本発明の一実施例に係る本人認証方法における本人認証段階を示すフローチャートである。
【
図5】本発明の他の実施例に係る本人認証システムを概略的に示すブロック図である。
【発明を実施するための形態】
【0010】
以下、具体的な実施例に図面を合わせて、本発明の内容の本人認証方法について説明する。本分野の技術者であれば、本開示の内容から本発明の技術的概念及び効果を理解することが可能である。しかしながら、以下に開示する内容は保護を主張する標的範囲を制限するものではなく、本発明の構想の精神を逸脱しないことを原則の下、本分野の一般的な技術者であれば、異なる構造、操作順序等の実施例によって、本開示の内容を実現可能である。
【0011】
図1と
図2Aを参照しつつ、本発明の一実施例に係る本人認証方法を説明する。本実施例では、本人認証方法は、本人識別情報をアップロードする段階S100及び本人認証段階S400を含む(
図4の説明を参照)。
図2Aは本人識別情報をアップロードする段階S100を概略的に示すブロック図である。これらのブロックは本人識別情報213を提供するアップローダ側210と、本方法を実施するサーバー側230と、ブロックチェーン250と、を含み、サーバー側230はデータベース240を含むと共に通信ネットワークを介してブロックチェーン207に接続されている。本実施例では、アップローダ側210はこれら前記本人識別情報213を授与、許可、または発行するユニットであり、例えば、本人識別情報213は証書、ライセンス、または身分や権限に関連する証明書であり、アップローダ側210は学校、機構、組織等であってもよい。一例を挙げると、学校は今年度の卒業生の卒業証書をサーバー側230にアップロードし、学校をアップローダ側210とし、卒業証書を本人識別情報213とする。ここで注意すべき点は、前述のアップローダ側210及び本人識別情報213は例示的な説明にすぎず、別の実施例においては、アップローダ側210及び本人識別情報213は他のタイプのものでもよく、本発明はこれに限定されない。
【0012】
各アップローダ側210は全て1つの独特な対称鍵211(例えば、高度暗号化標準(AES)アルゴリズム)を有し、データベース240にはハッシュアルゴリズムにより対称鍵211を計算して取得した対称鍵ハッシュ値241が保存されている。また、各アップローダ側210に対応して、サーバー側230は、1組のユニークな非対称鍵ペアを生成し(例えば、RSA暗号化アルゴリズム)、データベース240には前記キーペアにおける公開鍵243及び対称鍵211の暗号化後の秘密鍵245が保存されている。ここで注意すべき点は、前述の対称鍵211及び非対称鍵ペアに使用されるアルゴリズムは全て例示的な説明であり、別の実施例においては他のアルゴリズムを使用して対称鍵211(例えば、データ暗号化標準(DES)アルゴリズム)及び非対称鍵ペア(例えばElGamal暗号化アルゴリズム)を生成してもよく、本発明はこれらに限定されるものではない。
【0013】
以下、
図1、
図2Aと
図2Bを参照しつつ、本発明の実施形態について説明する。
ステップS103において、本方法はサーバー側230によりアップローダ側210から対称鍵211及び本人識別情報213を受信するステップを含む。ステップS105では、受信した対称鍵211のハッシュ値を計算し、且つデータベース240に保存された対称鍵ハッシュ値241と比較し、両者が同じである場合、前記対称鍵211によりデータベース240に保存されている暗号化された秘密鍵245を復号化するステップを含む。
図2Bに示すように、異なるデータをハッシュ計算した後に異なるハッシュ値を取得するため、アップローダ側210が正確な対称鍵を提供するのみで比較が成功し、復号化された秘密鍵245を取得できる。この構成により、各アップローダ側210が有する対称鍵211の独自性により、サーバー側230はハッシュ値を比較することでアップローダ側210の身元を確認でき、且つ本人識別情報213が正確なアップローダ側210から提供されるように保証する。
【0014】
続いて、
図1、
図2Aと
図2Cを参照しながら、本発明の実施形態について説明する。
ステップS107において、本方法は、前記本人識別情報213のハッシュ値を計算した後、本人識別情報213及び本人識別情報ハッシュ値215をデータベース240に保存するステップを含む。並びにステップS109において、本方法は、復号化された秘密鍵245により本人識別情報ハッシュ値215に電子署名し、ブロックチェーン250にアップロードするステップを含む。
図2Cに示すように、前述のステップが完了した後、データベース240には本人識別情報213及び本人識別情報ハッシュ値215が保存され、ブロックチェーン250には秘密鍵の電子署名が施された本人識別情報ハッシュ値215が保存され、且つサーバー側230は電子署名された本人識別情報ハッシュ値215をブロックチェーン250にアップロードした後には、復号化された秘密鍵245を保存しない。この構成により、サーバー側230のデータベース240には対称鍵ハッシュ値241及び暗号化された秘密鍵245のみを有し、アップローダ側210が対称鍵211を提供しない場合、サーバー側230は秘密鍵245を復号化できず、秘密鍵245による電子署名もできない。よって、アップローダ側210はブロックチェーン250にアップロードした本人識別情報213のソースの正確性を確保できる。また、ブロックチェーン250にアップロードされた本人識別情報213はハッシュ計算されたハッシュ値であるため、本人識別情報213が通信ネットワーク上で外部に流出するのを回避できる。
【0015】
続いて、ステップS111において、本方法は、ブロックチェーン識別コード251(例えば、メッセージID(Message ID)や取引ID(Transaction ID)等)を取得し、且つブロックチェーン識別コード251を本人識別情報213に関連付ける方式でデータベース240に保存するステップを更に含む(
図2C参照)。ブロックチェーン識別コード251は一連の16進数のコードでもよく、例えば、「a05fbd93b26d6304d6e1f5ea6f231ffe9bebe6b033ba7544ea29b0f73beb7935」のようになる。ブロックチェーンブラウザ(例えば、IOTAブロックチェーンブラウザ:https://explorer.iota.org/mainnet)によりブロックチェーン識別コード251を利用して前記ブロックチェーン識別コード251に対応するデータを検索可能である。ここで注意すべき点は、前述のブロックチェーン識別コード251及びブロックチェーンブラウザは例示な説明にすぎず、別の実施例においては、IOTA以外のブロックチェーンを使用してもよく、且つブロックチェーンに基づいてそのブロックチェーン識別コード251及びブロックチェーンブラウザを使用するが、本発明はこれに限定されるものではない。
【0016】
以下、
図3を参照しながら、本発明の実施形態について説明する。
図3には、本人識別情報識別コード303に対応するユーザーアカウント301を示すルックアップテーブル300を図示する。本実施例では、方法S100はステップS113を含み、前記本人識別情報213に対応する本人識別情報識別コード303を生成し、且つ本人識別情報識別コード217をユーザーアカウント301に関連付ける方式でデータベース303に保存する。本人識別情報識別コード303が対応する本人識別情報213は独自性を有し、即ち、本人識別情報213が異なれば異なる本人識別情報識別コード303が生成されるため、本人識別情報識別コード303により本人識別情報213を識別可能となる。また、ユーザーアカウント301毎にそれぞれ1人のユーザーに対応し、各ユーザーは多種類の身分または権限を有し得るため、各ユーザーアカウント301も複数の異なる本人識別情報識別コード303に関連付けられ得る。例えば、
図3に示すルックアップテーブル300を参照すると、同じユーザーが、ある学校から授与された卒業証書(本人識別情報識別コード303はID_1)及びある機構が発行した職業許可証(本人識別情報識別コード303はID_2)を同時に有し、よって、ルックアップテーブル300から前記ユーザーアカウント301(例1)に対応する本人識別情報識別コード303はID_1及びID_2であることがわかる。この構成により、ユーザーアカウント303が指定の本人識別情報識別コード303を有しているかどうかが分かり、前記ユーザーアカウント301が指定の本人識別情報213を有しているかどうかを判断し、前記ユーザーが指定の身分または権限を有しているかどうか判断する目的を達成している。ここで注意すべき点は、本実施例のルックアップテーブル300にはユーザーアカウント303及び本人識別情報識別コード303の関連性を示しているが、異別の実施例では、本人識別情報識別コード303をユーザーアカウント303に関連付ける他の方式で保存してもよく、本発明はこれに限定されるものではない。
【0017】
続いて、
図3と
図4を参照しながら、本発明の一実施例に係る本人認証方法について説明する。本実施例では、本人認証方法は、本人識別情報をアップロードする段階S100の他に、本人認証段階S400を更に含む。ステップS401において、本方法は、ユーザーアカウント301が前記本人識別情報213を有しているかどうかを判断するステップを含み、これはユーザーアカウント301が前記本人識別情報識別コード303に関連付けられているかどうかを判断するステップを含む。前述の本人識別情報をアップロードする段階S100を経た後、データベース240にはアップローダ側210によりアップロードされた本人識別情報213が保存され、且つ前記本人識別情報213に対応する本人識別情報識別コード303もユーザーアカウント301に関連付ける方式でデータベース240に保存される(
図3のルックアップテーブル参照)。
図3に示すルックアップテーブル300により、ユーザーアカウント301が特定の本人識別情報識別コード303(例えばID_1)に関連付けられているかどうか判断でき、前記ユーザーアカウント301が前記本人識別情報識別コード303に対応する本人識別情報213(例えば、卒業証書)を有しているかどうか判断する。この構成により、サーバー側230はまず前記ユーザーアカウント301が指定の身分または権限を有しているかどうかを初歩的に確認し、後続の本人識別情報213の認証を便宜にする。
【0018】
続いて、
図2Cと
図4を参照しながら、本実施例に係る本人認証方法について説明する。
ステップS403において、本方法は、ユーザーアカウント301が本人識別情報213を有しているという判断結果に基づいて、ブロックチェーン250から秘密鍵245の電子署名が施された本人識別情報ハッシュ値215を取得するステップを含む。本人識別情報段階S100において、アップローダ側210が提供する本人識別情報213はハッシュ値の計算が成されて秘密鍵245により電子署名された後、ブロックチェーン250にアップロードされる(
図2C参照)。本実施例では、サーバー側230がデータベース240に保存され、尚且つ前記本人識別情報213に対応するブロックチェーン識別コード251により、前述のブロックチェーンブラウザを介し、ブロックチェーン250から秘密鍵245の電子署名が施された本人識別情報ハッシュ値215を取得できる。ステップS405において、本方法は、公開鍵243により秘密鍵245によって電子署名が施された本人識別情報ハッシュ値215を認証し、復号化された本人識別情報ハッシュ値215を取得するステップを含む。この構成により、データベース240に保存されている公開鍵243と秘密鍵245とを非対称鍵ペアとし、公開鍵243の認証が成功すると共に前記秘密鍵245の電子署名が施された本人識別情報ハッシュ値215を復号化することで、前記本人識別情報213が前記秘密鍵245に対応するアップローダ側210から送られたものであると再度確認する。
【0019】
続いて、ステップS407において、本方法は、復号化された前記本人識別情報ハッシュ値215とデータベース240に保存されている本人識別情報ハッシュ値215とを比較し、本人認証結果を生成するステップを含む。データをアップロードする段階S100において、本人識別情報ハッシュ値215をデータベース240に保存するほかに、同時にブロックチェーン250にアップロードする(
図2C参照)。ブロックチェーン250の改竄しづらいという特性により、データベース240に保存されている本人識別情報ハッシュ値215とブロックチェーン250から取得して復号化した本人識別情報ハッシュ値215とを比較することで、本人識別情報213が偽造されたものかどうかを確認できる。具体的には、前述の両者が同じである場合、本人識別情報213が偽造されていないと確認し、成功の本人認証結果を生成する。逆に、前述の両者が同じではない場合、本人識別情報213が偽造されていると判断し、失敗の本人認証結果を生成する。
【0020】
続いて、
図5を参照しながら、本発明の他の実施例に係る本人認証システム500について説明する。本人認証システム500は、前述の実施例のようにサーバー側230及びデータベース240を含む。本実施例では、ユーザー501はアプリ側503にユーザーアカウント301及びユーザーパスワード505を入力し、アプリ側503がユーザーアカウント301及びユーザーパスワード505を受信した後に通信ネットワークを介してサーバー側230に伝送する。まず、サーバー側203が前記ユーザーアカウント301及びユーザーパスワード505を認証し、成功を認証した後、アプリ側503が必要な身分または権限に基づいて前述の実施例の本人認証段階S400を実行し、本人認証結果507(例えば、成功または失敗)を取得する。アプリ側503はサーバー側203が返信した本人認証結果507を受信した後、本人認証結果507が成功であった場合、ユーザー501がアプリ側503にログインすることを許可し、逆に、本人認証結果507が失敗であった場合、ユーザー501がアプリ側503にログインすることを拒否する。アプリ側503は、アプリケーションプログラム、ウェブサイト、或いは特定の身分または権限を要求するあらゆる他のサービス提供側でもよく、この構成により、アプリ側503はいかなるユーザー501の本人識別情報213を取得または保存せずに、本人認証の目的を達成し得る。また、ユーザー501も本人識別情報213を異なるアプリ側503に幾度も提供する必要がなくなり、データが外部に流出する可能性を低下させる。
【0021】
上述の開示内容は本発明の好ましい実施例にすぎず、本発明の特許請求の範囲を制限するものではない。また、本明細書に記載の方法の順序も例示的な説明にすぎず、本分野の一般的な技術者ならば、本発明の均等な概念の下、ステップの順序を変更可能である。また、本明細書の内容と明確に矛盾しない限り、本明細書において使用する「1つ」、「前記」という単数の用語は、同時に複数である場合も含む。添付した図面において、各要素、部材、及びユニット等の形状、位置、及び大きさ等は、本発明の技術内容を簡潔且つ明確に示すためのものであり、本発明を制限するものではない。また、周知の仔細や構造については、図面では省略している。
【符号の説明】
【0022】
210…アップローダ側、211…対称鍵、213…本人識別情報、215…本人識別情報ハッシュ値、230…サーバー側、240…データベース、241…対称鍵ハッシュ値、243…公開鍵、245…秘密鍵、250…ブロックチェーン、251…ブロックチェーン識別コード、300…ルックアップテーブル、301…ユーザーアカウント、303…本人識別情報識別コード、500…本人認証システム、501…ユーザー、503…アプリ側、505…ユーザーパスワード、507…本人認証結果、S100…方法、S103…ステップ、S105…ステップ、S107…ステップ、S109…ステップ、S111…ステップ、S113…ステップ、S400…方法、S401…ステップ、S403…ステップ、S405…ステップ、S407…ステップ、