(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-11-19
(54)【発明の名称】身元認証方法、電子機器及びコンピュータ可読記憶媒体
(51)【国際特許分類】
H04L 9/32 20060101AFI20241112BHJP
H04L 9/08 20060101ALI20241112BHJP
【FI】
H04L9/32 100A
H04L9/32 200F
H04L9/08 C
H04L9/08 F
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024531379
(86)(22)【出願日】2022-11-30
(85)【翻訳文提出日】2024-05-24
(86)【国際出願番号】 CN2022135697
(87)【国際公開番号】W WO2023098769
(87)【国際公開日】2023-06-08
(31)【優先権主張番号】202111459938.6
(32)【優先日】2021-12-02
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】511151662
【氏名又は名称】中興通訊股▲ふん▼有限公司
【氏名又は名称原語表記】ZTE CORPORATION
【住所又は居所原語表記】ZTE Plaza,Keji Road South,Hi-Tech Industrial Park,Nanshan Shenzhen,Guangdong 518057 China
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】曾 鳴
(72)【発明者】
【氏名】屠 要 峰
(72)【発明者】
【氏名】郭 海 生
(72)【発明者】
【氏名】王 徳 政
(72)【発明者】
【氏名】高 洪
(57)【要約】
本願の実施例は、情報セキュリティ認証技術の分野に関し、身元認証方法、電子機器及びコンピュータ可読記憶媒体を開示し、上記身元認証方法は、ユーザーの身元証明書を取得するステップであって、前記身元証明書は、前記ユーザーの身元属性及びマークルルーフの検証経路を含み、前記身元証明書におけるマークルルーフの検証経路は、前記身元証明書を生成する時に前記ユーザーが選択した公表しようとする身元属性に基づいて得られた検証経路であるステップと、前記身元証明書に公表された身元属性に基づき、マークルルーフの検証経路をシミュレーションするステップと、シミュレーションされた検証経路及び前記身元証明書における検証経路に基づき、前記ユーザーの身元証明書を認証するステップと、を含む。
【特許請求の範囲】
【請求項1】
ユーザーの身元証明書を取得するステップであって、前記身元証明書は、前記ユーザーの身元属性及びマークルルーフの検証経路を含み、前記身元証明書におけるマークルルーフの検証経路は、前記身元証明書を生成する時に前記ユーザーが選択した公表しようとする身元属性に基づいて得られた検証経路であるステップと、
前記身元証明書に公表された身元属性に基づき、マークルルーフの検証経路をシミュレーションするステップと、
シミュレーションされた検証経路及び前記身元証明書における検証経路に基づき、前記ユーザーの身元証明書を認証するステップと、を含む、
身元認証方法。
【請求項2】
前記身元証明書に公表された身元属性に基づき、マークルルーフの検証経路をシミュレーションする前記ステップは、
前記身元証明書に公表された身元属性に基づき、前記身元証明書に公表された身元属性のHash値を計算するステップと、
前記公表された身元属性のHash値及び構築されたマークルツリーに基づき、マークルルーフの検証経路をシミュレーションするステップと、を含む、請求項1に記載の身元認証方法。
【請求項3】
前記公表された身元属性のHash値及び構築されたマークルツリーに基づき、マークルツリーの検証経路をシミュレーションする前記ステップは、
前記マークルツリーのL1層において、前記公表された身元属性のHash値に対応するノードを決定し、前記ノードを前記L1層に対応するシミュレーションキューT1に加えるステップと、
前記マークルツリーを下から上へシミュレーションし、順次各層のペアノード(Hx,Hy)をトラバースし、各層のペアノード(Hx,Hy)をトラバースした後、シミュレーションしてマークルルーフの検証経路を得るステップと、を含み、
ここで、トラバースされたLi層における(Hx,Hy)に対して以下の操作を実行し、
前記(Hx,Hy)における1つのノードが前記Li層に対応するシミュレーションキューTiに含まれば、前記(Hx,Hy)における他のノードのHash値を前記検証経路に加え、前記(Hx,Hy)のHash値を計算し、前記(Hx,Hy)のHash値をLi+1層に対応するシミュレーションキューTi+1に加え、ここで、1≦i<deep、deepは、前記マークルツリーの深さであり、
前記(Hx,Hy)における2つのノードがいずれも前記Li層に対応するシミュレーションキューTiに含まれば、前記(Hx,Hy)のHash値を計算し、前記(Hx,Hy)のHash値をLi+1層に対応するシミュレーションキューTi+1に加え、
前記(Hx,Hy)において前記Li層に対応するシミュレーションキューTiに含まれるノードがなければ、次の(Hx,Hy)をトラバースする、請求項2に記載の身元認証方法。
【請求項4】
前記身元証明書は、前記身元証明書の検証コードをさらに含み、前記ユーザーの身元証明書を取得する前に、
前記ユーザーが選択した公表しようとする身元属性に基づき、図形化された身元証明書を生成するステップであって、前記図形化された身元証明書に前記身元証明書の検証コードが表示されるステップと、
前記図形化された身元証明書における検証コードを走査することにより前記ユーザーに対する身元認証の結果を取得するステップと、をさらに含む、請求項1に記載の身元認証方法。
【請求項5】
前記身元証明書は、前記ユーザーのデジタル身元ID及び前記ユーザーの秘密鍵による前記ユーザーの前記身元証明書に対するユーザーの署名をさらに含み、前記ユーザーの身元証明書を取得した後、
前記ユーザーのデジタル身元IDに基づいてブロックチェーンから前記ユーザーの公開鍵を取得し、前記ユーザーの公開鍵により前記ユーザー署名を検証するステップをさらに含み、及び/又は、
前記身元証明書は、前記身元証明書の発行機構のデジタル身元ID及び前記発行機構の秘密鍵による前記発行機構の前記マークルルーフに対する機構署名をさらに含み、前記ユーザーの身元証明書を取得した後、
前記発行機構のデジタル身元IDに基づいてブロックチェーンから前記発行機構の公開鍵を取得し、前記発行機構の公開鍵により前記機構署名を検証するステップをさらに含む、請求項1に記載の身元認証方法。
【請求項6】
シミュレーションされた検証経路及び前記身元証明書における検証経路に基づき、前記ユーザーの身元証明書を認証する前記ステップは、
前記シミュレーションされた検証経路が前記身元証明書における検証経路と一致し且つ署名検証を通過した場合、前記ユーザーに対する身元認証を通過すると決定するステップであって、前記署名検証の通過は、前記ユーザー署名に対する検証の通過及び/又は前記機構署名に対する検証の通過を含むステップを含む、請求項5に記載の身元認証方法。
【請求項7】
前記ユーザーのデジタル身元IDに基づいてブロックチェーンから前記ユーザーの公開鍵を取得する前記ステップは、
前記ユーザーのデジタル身元IDに基づいてユーザーのプロファイルを取得するステップであって、前記ユーザーのプロファイルは、前記ユーザーに対して身元登録を行う時に前記ユーザーの身元登録情報に基づいて得られるものであって、且つ前記ユーザーのプロファイルがブロックチェーンに記憶されるステップと、
前記ユーザーのプロファイルに基づいて前記ブロックチェーンから前記ユーザーの公開鍵を取得するステップと、を含み、及び/又は、
前記発行機構のデジタル身元IDに基づいてブロックチェーンから前記発行機構の公開鍵を取得するステップは、
前記発行機構のデジタル身元IDに基づいて発行機構のプロファイルを取得するステップであって、前記発行機構のプロファイルは、前記発行機構に対して身元登録を行う時に前記発行機構の身元登録情報に基づいて得られるものであって、且つ前記発行機構のプロファイルがブロックチェーンに記憶されるステップと、
前記発行機構のプロファイルに基づいて前記ブロックチェーンから前記発行機構の公開鍵を取得するステップと、を含む、請求項5に記載の身元認証方法。
【請求項8】
前記身元証明書の生成方式は、
前記ユーザーに発行された身元証拠を決定し、ここで、前記身元証拠は、前記ユーザーの全ての身元属性、前記全ての身元属性のマークルルーフ及び前記身元証拠の発行機構の前記発行機構の秘密鍵による前記マークルルーフに対する機構署名を含み、
前記ユーザーが前記身元証拠における全ての身元属性から選択した公表しようとする身元属性を決定し、
前記ユーザーが選択した公表しようとする身元属性に基づき、検証経路を取得し、
前記ユーザーが選択した公表しようとする身元属性、前記検証経路、前記機構署名に基づいて前記身元証明書を生成し、前記ユーザーの秘密鍵により前記身元証明書を署名してユーザー署名を取得し、前記ユーザー署名を含む身元証明書を取得することである、請求項1~7のいずれか1項に記載の身元認証方法。
【請求項9】
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに通信接続されるメモリと、を含み、
前記メモリが前記少なくとも1つのプロセッサにより実行可能な命令を記憶し、前記命令が前記少なくとも1つのプロセッサにより実行されることで、前記少なくとも1つのプロセッサが請求項1~8のいずれか1項に記載の身元認証方法を実行できる、
電子機器。
【請求項10】
プロセッサにより実行される時に請求項1~8のいずれか1項に記載の身元認証方法を実現するコンピュータプログラムを記憶する、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本願は、2021年12月02日に提出された発明の名称が「身元認証方法、電子機器及びコンピュータ可読記憶媒体」である中国特許出願CN202111459938.6に基づき、当該特許出願の優先権を主張し、それに開示された内容の全ては参照により本願に組み込まれる。
【0002】
[技術分野]
本願の実施例は、情報セキュリティ認証技術の分野に関し、特に身元認証方法、電子機器及びコンピュータ可読記憶媒体に関する。
【背景技術】
【0003】
人々のインターネットでの活動がますます多くなるにつれて、インターネットサービスを使用する前提条件は、身元の識別問題を解決することである。現在の身元認証手段は、簡単であり、プライバシー情報が漏洩するという大きなリスクが密かに隠れ、ユーザー情報が売り出され、重大な財産及び関連利益の損失を引き起こす可能性がある。個人情報データのプライバシー保護問題をどのように解決するかは、現在のデジタル身元認証技術が直面する主な挑戦である。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本願の実施例は、身元認証方法、電子機器及びコンピュータ可読記憶媒体を提供することで、個人のプライバシー情報が漏洩するリスクを低減させ、個人のプライバシーデータの安全性を向上させる。
【課題を解決するための手段】
【0005】
本願の実施例は、ユーザーの身元証明書を取得するステップであって、前記身元証明書は、前記ユーザーの身元属性及びマークルルーフの検証経路を含み、前記身元証明書におけるマークルルーフの検証経路は、前記身元証明書を生成する時に前記ユーザーが選択した公表しようとする身元属性に基づいて得られた検証経路であるステップと、前記身元証明書に公表された身元属性に基づき、マークルルーフの検証経路をシミュレーションするステップと、シミュレーションされた検証経路及び前記身元証明書における検証経路に基づき、前記ユーザーの身元証明書を認証するステップと、を含む身元認証方法を提供する。
【0006】
本願の実施例は、少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサに通信接続されるメモリとを含み、前記メモリが前記少なくとも1つのプロセッサにより実行可能な命令を記憶し、前記命令が前記少なくとも1つのプロセッサにより実行されることで、前記少なくとも1つのプロセッサが上記身元認証方法を実行できる、電子機器をさらに提供する。
【0007】
本願の実施例は、プロセッサにより実行される時に上記身元認証方法を実現するコンピュータプログラムを記憶する、コンピュータ可読記憶媒体をさらに提供する。
【図面の簡単な説明】
【0008】
【
図1】本願の実施例による身元認証方法のフローチャートである。
【
図2】本願の実施例による図形形式の身元証明書の模式図である。
【
図3】本願の実施例による構築されたマークルツリーの模式図である。
【
図4】本願の実施例による公表された身元属性に基づいて検証経路をシミュレーションする模式図である。
【
図5】本願の実施例による身元証明書の生成方式のフローチャートである。
【
図6】本願の実施例による図形形式の就労証拠の模式図である。
【
図7】本願の実施例による分散型サービス指向ソフトウェアアーキテクチャの模式図である。
【
図8】本願の実施例によるモデル登録フローのフローチャートである。
【
図9】本願の実施例による身元登録フローのフローチャートである。
【
図10】本願の実施例による身元証拠申込フローのフローチャートである。
【
図11】本願の実施例による身元証明書生成フローのフローチャートである。
【
図12】本願の実施例による身元証明書審査フローのフローチャートである。
【
図13】本願の実施例による電子機器の構造模式図である。
【発明を実施するための形態】
【0009】
本願の実施例の目的、技術的解決手段及び利点をより明確にするために、以下、図面を参照して本願の各実施例を詳細に説明する。しかしながら、当業者に理解されるように、本願の各実施例において、読者が本願の実施例をよりよく理解するために多くの技術的詳細を提供する。しかしながら、これらの技術的詳細及び以下の各実施例に基づく各種の変化と修正がなくても、本願の実施例の保護しようと要求する技術的解決手段を実現することができる。以下の各実施例の区分は、説明を容易にするためのものであり、本願の実施例の具体的な実現形態を限定するものではなく、各実施例は、矛盾しない前提で互いに組み合わせ互いに参照することができる。
【0010】
本願の実施例に対する理解を容易にするために、以下、まず本願の実施例に係る関連技術について説明する。
【0011】
デジタル身元とは、個人のリアルタイム行為情報をバインディングし、問い合わせ及び検証するように、実の身元情報をデジタルコード形式の公開鍵/秘密鍵に濃縮するものである。デジタル身元は、出生情報、個体説明、生体特徴などの身元符号化情報を含むだけでなく、さらに複数種の属性の個人行為情報に関する。デジタル身元の核心は、デジタル証拠であり、デジタル身元が中央集権化、アライアンス化及び自己主権身元の発展に伴い、デジタル証拠の最新の進化方向は、検証可能な証拠である。
【0012】
マークルツリー(Merkler Tree)は、ブロックチェーンのブロックにおける取引と記憶の重要な技術であり、その役割はブロックデータの存在性及び完全性を迅速にまとめ、チェックすることである。すなわち、ツリー全体を知る必要がない場合であっても、単一のツリーノードを検査することができる。マークルツリーの迅速検証技術は、ブロックチェーンのブロック取引の有効性検証に広く用いられる。
【0013】
本願の1つの実施例は、身元認証側に適用される身元認証方法を提供し、当該身元認証側は、認証側が使用する電子機器、例えば端末であってもよく、身元認証側は身元審査側とも理解されることができ、審査側と略称される。本実施例における身元認証方法は、パブリッククラウドインターネット環境に用いることができ、ユーザー企業のプライベートクラウド環境に用いることもできる。システムは、サーバーサイドと端末を組み合わせるモードを採用し、ここで、サーバーサイドに主にデジタル身元サービスをデプロイし、端末に主にアプリケーションAPPをデプロイし、当該アプリケーションAPPは、使用側ユーザー及び審査側ユーザーという2種類のロールビューを含むことができ、この2種類のロールビューは、2種類の異なるロールのユーザーインタフェースと理解することができる。使用側ユーザーのユーザーインタフェースにおいて主に登録、証拠申込、証明書生成などの操作に関し、審査側ユーザーのユーザーインタフェースにおいて主にユーザーに提示された身元証明書に対して検証操作を行うことに関する。サーバーサイドと端末は、HTTP(Hyper Text Transfer Protocol、ハイパーテキスト転送プロトコル)によりネットワーク通信を行うことができる。本実施例における身元認証方法のフローチャートは、
図1を参照することができ、
ユーザーの身元証明書を取得するステップであって、身元証明書は、ユーザーの身元属性及びマークルルーフの検証経路を含み、身元証明書における身元属性は、公表された身元属性及び公表されない身元属性を含み、身元証明書におけるマークルルーフの検証経路は、身元証明書を生成する時にユーザーが選択した公表しようとする身元属性に基づいて得られた検証経路であるステップ101と、
身元証明書に公表された身元属性に基づき、マークルルーフの検証経路をシミュレーションするステップ102と、
シミュレーションされた検証経路及び身元証明書における検証経路に基づき、ユーザーの身元証明書を認証するステップ103と、を含む。
【0014】
本願の実施例において、身元認証を行う時に、ユーザーが選択した公表しようとする身元属性に基づいて身元認証を完了することができ、ユーザーが公開したがらない身元属性を公表されない身元属性としてもよいことで、ユーザーが公開したがらない身元属性の漏洩を回避することに有利である。すなわち、本願の実施例において、少量の身元属性を公表するだけで身元認証を完了することができ、それによりユーザーのプライバシー情報の漏洩問題を回避する。従来のデジタル身元認証方式(例えば全ての身元属性を公表する必要がある)が個人のプライバシーデータへの保護に劣り、プライバシー情報の漏洩が存在するというセキュリティ問題を解決する。
【0015】
ステップ101において、身元認証側は、ユーザーが提示した身元証明書を取得することができ、当該身元証明書の形式は、図形形式又はテキスト形式であってもよい。身元証明書は、就労証明書、学暦証明書などであってもよく、図形形式の身元証明書は、
図2を参照することができ、身元認証側は、ユーザーが提示した身元証明書を走査することにより、当該身元証明書を取得することができ、ユーザーの身元証明書を取得することは、身元証明書における情報を取得すると理解されることができる。身元証明書における情報は、ユーザーの身元属性及びマークルルーフの検証経路を含み、身元証明書における身元属性は、公表された身元属性と公表されない身元属性を含み、身元証明書におけるマークルルーフの検証経路は、身元証明書を生成する時にユーザーが選択した公表しようとする身元属性に基づいて得られた検証経路である。すなわち、身元証明書を生成する時に、ユーザーは、公開したがる身元属性を公表しようとする身元属性として選択することができ、それによりデジタル身元サービスは、ユーザーが選択した公表しようとする身元属性に基づいてマークルルーフの検証経路、すなわち
図2に示されたマークルルーフの検証経路を得ることができる。
【0016】
ここで、公表された身元属性は、身元証明書により分かる身元属性の具体的な内容と理解されることができ、例えば、
図2における氏名、電話、メールボックスは、いずれも公表された身元属性である。公表されない身元属性は、身元証明書により分からない身元属性の具体的な内容と理解されることができ、例えば、公表されない身元属性の具体的な内容には、モザイクが掛けられ、例えば2を参照し、
図2におけるジョブナンバー、部門、職務は、いずれも公表されない身元属性である。
【0017】
いくつかの実施例において、身元証明書は、身元証明書の発行機構、発行機構ID、発行機構の秘密鍵による発行機構のマークルルーフに対する機構署名、発行時間、ユーザーの秘密鍵によるユーザーの身元証明書に対するユーザー署名、ユーザー署名が採用する署名アルゴリズム、就労証明書の2次元検証コードをさらに含み、就労証明書の2次元検証コードは、身元証明書の検証情報に基づいて生成されたURL(Uniform Resource Locator、ユニフォームリソースロケータ)であってもよく、URLは、デジタル身元サービスのオンラインサービスアドレスを指向し、URLにアクセスすることにより当該身元証明書が有効であるか否かの検証結果、すなわち認証を通過するか否かの認証結果を取得することができる。
図2を参照し、
図2の右側のマークルルーフ署名は、発行機構の秘密鍵による発行機構のマークルルーフに対する機構署名であり、
図2における署名は、ユーザーの秘密鍵によるユーザーの身元証明書に対するユーザー署名である。
【0018】
ステップ102において、身元認証側は、身元証明書に公表された身元属性に基づき、マークルルーフの検証経路をシミュレーションすることができる。
【0019】
1つの実施例において、マークルルーフの検証経路をシミュレーションすることは、身元証明書に公表された身元属性に基づき、身元証明書に公表された身元属性のHash値を計算するステップと、公表された身元属性のHash値及び構築されたマークルツリーに基づき、マークルルーフの検証経路をシミュレーションするステップと、を含む。ここで、構築されたマークルツリーの模式図は、
図3を参照することができ、当該マークルツリーは、ユーザーの身元属性(例えば
図3における氏名、ジョブナンバー、部門、職務、電話、メールボックス)に基づいて構築して得ることができる。本実施例において、マークルツリーの高速検証技術を用いて複数の身元属性を一度に検証することができ、効率がより高い。
【0020】
1つの実施例において、公表された身元属性のHash値及び構築されたマークルツリーに基づき、マークルツリーの検証経路をシミュレーションするステップは、マークルツリーのL1層において、公表された身元属性のHash値に対応するノードを決定し、ノードをL1層に対応するシミュレーションキューT1に加えるステップと、マークルツリーを下から上へシミュレーションし、順次各層のペアノード(Hx,Hy)をトラバースし、各層のペアノード(Hx,Hy)をトラバースした後、シミュレーションしてマークルルーフの検証経路を得るステップと、を含み、ここで、トラバースしたLi層における(Hx,Hy)に対して以下の操作を実行し、
(Hx,Hy)における1つのノードがLi層に対応するシミュレーションキューTiに含まれば、(Hx,Hy)における他のノードのHash値を検証経路に加え、(Hx,Hy)のHash値を計算し、(Hx,Hy)のHash値をLi+1層に対応するシミュレーションキューTi+1に加え、ここで、1≦i<deep、deepは、マークルツリーの深さであり、
(Hx,Hy)における2つのノードがいずれもLi層に対応するシミュレーションキューTiに含まれば、(Hx,Hy)のHash値を計算し、(Hx,Hy)のHash値をLi+1層に対応するシミュレーションキューTi+1に加え、
(Hx,Hy)においてLi層に対応するシミュレーションキューTiに含まれるノードがなければ、次の(Hx,Hy)をトラバースする。
【0021】
上記シミュレーション過程の理解を容易にするために、以下、一例で説明する。
身元属性ノードの数はNであり、マークルツリーの深さは、deep=log(N)+1であり、マークルツリーの階層は、Li(1≦i<deep)と示され、i=1は、L1層から開始し、L1層ノードは身元属性の属性値HashをHjと定義し、jは、ノード番号(1から連続的に番号を付ける)であるとする。
図4を参照し、マークルツリーは、L1、L2及びL3層を含み、公表された身元属性は、D1、D3及びD5を含み、公表されない身元属性は、D2、D4、D6、D7及びD8を含む。マークルツリーのL1層において、公表された身元属性のHash値に対応するノードがHl、H3及びH5を含むことを決定し、ノードHl、H3及びH5をL1層に対応するシミュレーションキューT1に加える。
【0022】
マークルツリーを下から上へシミュレーションし、まずL1層における各ペアノード(Hx,Hy)をトラバースし、L1層におけるペアノードは、(H1,H2)、(H3,H4)、(H5,H6)及び(H7,H8)を含み、
ペアノード(H1,H2)については、T1に位置するノードH1が存在すれば、H2を検証経路に加え、(H1,H2)のHash値、すなわちH9を計算し、H9をL2層に対応するシミュレーションキューT2に加え、
ペアノード(H3,H4)については、T1に位置するノードH3が存在すれば、H4を検証経路に加え、(H3,H4)のHash値、すなわちH10を計算し、H10をL2層に対応するシミュレーションキューT2に加え、
ペアノード(H5,H6)については、T1に位置するノードH5が存在すれば、H6を検証経路に加え、(H5,H6)のHash値、すなわちH11を計算し、H11をL2層に対応するシミュレーションキューT2に加え、
ペアノード(H7,H8)については、T1に位置するノードがなければ、スキップして次の(Hx,Hy)をトラバースし始め、(H7,H8)がL1層における最後のペアノードであるため、ここでのスキップとは、L2層におけるペアノードをトラバースし始めることを指す。具体的な実現において、(H7,H8)がL1層における最後のペアノードでなければ、スキップとは、(H7,H8)の後のペアノードをトラバースし始めることを指す。
【0023】
L1層における各ペアノードをトラバースした後、L2層に対応するシミュレーションキューT2には、H9、H10及びH11が含まれ、検証経路には、H2、H4及びH6が含まれることを決定する。L2層における各ペアノードをトラバースし始め、L2層におけるペアノードは、(H9,H10)及び(H11,H12)を含み、
ペアノード(H9,H10)については、H9、H10の2つのノードがいずれもT2に位置すれば、(H9,H10)のHash値、すなわちH13を計算し、H13をL3層に対応するシミュレーションキューT3に加え、
ペアノード(H11,H12)については、T2に位置するノードH11が存在すれば、H12を検証経路に加え、(H11,H12)のHash値、すなわちH14を計算し、H14をL3層に対応するシミュレーションキューT3に加える。
【0024】
L2層における各ペアノードをトラバースした後、L3層に対応するシミュレーションキューT3には、H13及びH14が含まれ、検証経路には、H2、H4、H6及びH12が含まれることを決定する。L3層における各ペアノードをトラバースし始め、L3層におけるペアノードは、(H13,H14)を含み、
ペアノード(H13,H14)については、H13、H14の2つのノードがいずれもT2に位置すれば、(H13,H14)のHash値、すなわちMerkle Rootを計算し、ここまでマークルツリーの各層がトラバースされ、最終的に得られた検証経路は、H2、H4、H6及びH12を含む。
【0025】
1つの実施例において、身元証明書における検証経路の決定方式も上記シミュレーション過程を参照して得ることができる。本実施例にて提供される上記シミュレーション方式は、シミュレーションして正確な検証経路を得ることを容易にし、公表されない複数の身元属性を一度に検証することで、身元認証の正確性及び認証効率を向上させることができる。
【0026】
ステップ103において、身元認証側は、シミュレーションされた検証経路が身元証明書における検証経路と一致すると決定した場合、ユーザーに対する身元認証を通過すると決定することができる。
【0027】
1つの実施例において、身元証明書は、身元証明書の検証コードをさらに含み、ユーザーの身元証明書を取得する前に、ユーザーが選択した公表しようとする身元属性に基づき、図形化された身元証明書を生成するステップであって、図形化された身元証明書に身元証明書の検証コードが表示されるステップと、図形化された身元証明書における検証コードを走査することによりユーザーに対する身元認証の結果を取得するステップと、をさらに含む。ここで、検証コードは、身元証明書に基づいて生成されたURLであってもよく、URLは、デジタル身元サービスのオンラインサービスアドレスを指向し、URLにアクセスすることにより身元証明書が有効であるか否かの検証結果を取得することができる。身元認証側は、図形化された身元証明書を生成した後、生成した当該図形化された身元証明書をユーザーが使用する端末に送信することができ、当該ユーザーの身元証明書を認証する必要がある場合、身元認証側は、ユーザーが提示した当該図形化された身元証明書を走査し、身元認証結果を得ることができる。身元証明書の検証コードは、
図2における2次元検証コードであってもよく、身元認証側は、当該2次元検証コードを走査することによりユーザーに対する身元認証の結果を取得することができる。コード走査の検証方式により、身元証明書の認証結果の取得を容易に行うことができる。
【0028】
1つの実施例において、身元証明書は、ユーザーのデジタル身元ID及びユーザーの秘密鍵によるユーザーの身元証明書に対するユーザー署名をさらに含み、ユーザーの身元証明書を取得した後、ユーザーのデジタル身元IDに基づいてブロックチェーンからユーザーの公開鍵を取得し、ユーザーの公開鍵によりユーザー署名を検証するステップをさらに含む。ステップ103において、シミュレーションされた検証経路及び身元証明書における検証経路に基づき、ユーザーの身元証明書を認証するステップは、シミュレーションされた検証経路が身元証明書における検証経路と一致し、且つユーザー署名に対する検証を通過した場合、ユーザーに対する身元認証を通過すると決定する。
【0029】
1つの実施例において、ユーザーのデジタル身元IDに基づいてブロックチェーンからユーザーの公開鍵を取得する上記ステップは、ユーザーのデジタル身元IDに基づいてユーザープロファイルを取得するステップであって、ユーザープロファイルは、ユーザーに対して身元登録を行う時にユーザーの身元登録情報に基づいて得られるものであって、且つユーザープロファイルがブロックチェーンに記憶されるステップと、ユーザープロファイルに基づいてブロックチェーンからユーザーの公開鍵を取得するステップと、を含む。ユーザーは、サーバーサイドにデプロイされたデジタル身元サービスにおいて身元登録を行うことができる。ユーザープロファイルには、ユーザーのプライバシー情報が含まれず、身元登録情報は、ユーザーの個人アカウント、身元モデル、ユーザーのデジタル身元ID、身元モデルのバージョン及びユーザーの公開鍵を含むことができる。身元モデルは、発行機構が作成した身元証明書を生成するためのモデルであってもよく、発行機構は、身元モデルを作成した後、ブロックチェーンに発行してもよい。本実施例において、ブロックチェーンと組み合わして発行機構、ユーザー、身元認証側を関連付けると、身元認証側がブロックチェーンからユーザーの公開鍵を取得することを容易にする。
【0030】
1つの実施例において、身元証明書は、身元証明書の発行機構のデジタル身元ID及び発行機構の秘密鍵による発行機構のマークルルーフに対する機構署名をさらに含み、ユーザーの身元証明書を取得した後、発行機構のデジタル身元IDに基づいてブロックチェーンから発行機構の公開鍵を取得し、発行機構の公開鍵により機構署名を検証するステップをさらに含み、ステップ103において、シミュレーションされた検証経路及び身元証明書における検証経路に基づき、ユーザーの身元証明書を認証するステップは、シミュレーションされた検証経路が身元証明書における検証経路と一致し、且つ機構署名に対する検証を通過した場合、ユーザーに対する身元認証を通過すると決定するステップを含む。
【0031】
1つの実施例において、上記発行機構のデジタル身元IDに基づいてブロックチェーンから発行機構の公開鍵を取得する上記ステップは、発行機構のデジタル身元IDに基づいて発行機構のプロファイルを取得するステップであって、発行機構のプロファイルは、発行機構に対して身元登録を行う時に発行機構の身元登録情報に基づいて得られるものであって、且つ発行機構のプロファイルがブロックチェーンに記憶されるステップと、発行機構のプロファイルに基づいてブロックチェーンから前記発行機構の公開鍵を取得するステップと、を含む。発行機構のプロファイルには、発行機構のプライバシー情報が含まれず、発行機構の登録情報は、発行機構の機構名称、発行機構のデジタル身元ID及び発行機構の公開鍵などを含むことができる。発行機構は、ブロックチェーンにおいて身元モデルを発行する前に、発行機構は、まずサーバーサイドにデプロイされたデジタル身元サービスにおいて身元登録を行うことができる。本実施例において、ブロックチェーンと組み合わして発行機構、ユーザー、身元認証側を関連付けると、身元認証側がブロックチェーンから発行機構の公開鍵を取得することを容易にする。
【0032】
1つの実施例において、身元証明書は、ユーザーのデジタル身元ID、身元証明書の発行機構のデジタル身元ID、発行機構の秘密鍵による発行機構のマークルルーフに対する機構署名及びユーザーの秘密鍵によるユーザーの身元証明書に対するユーザー署名をさらに含み、ユーザーの身元証明書を取得した後、ユーザーのデジタル身元IDに基づいてブロックチェーンからユーザーの公開鍵を取得し、ユーザーの公開鍵によりユーザー署名を検証し、発行機構のデジタル身元IDに基づいてブロックチェーンから発行機構の公開鍵を取得し、発行機構の公開鍵により、機構署名を検証するステップをさらに含む。ステップ103において、シミュレーションされた検証経路及び身元証明書における検証経路に基づき、ユーザーの身元証明書を認証するステップは、シミュレーションされた検証経路が身元証明書における検証経路と一致し、ユーザーに対する署名検証を通過し且つ機構に対する署名検証を通過した場合、ユーザーに対する身元認証を通過すると決定するステップを含む。
【0033】
本実施例において、シミュレーションして得られた検証経路を検証すると同時に、さらにユーザー署名及び/又は機構署名を検証し、身元認証の通過条件を上げることに相当し、身元認証の安全性をさらに向上させることに有利である。
【0034】
1つの実施例において、身元証明書の生成方式は、
図5を参照することができ、
ユーザーに発行された身元証拠を決定するステップであって、身元証拠は、ユーザーの全ての身元属性、全ての身元属性のマークルルーフ及び身元証拠の発行機構の秘密鍵による発行機構のマークルルーフに対する機構署名を含むステップ501と、
ユーザーが身元証拠における全ての身元属性から選択した公表しようとする身元属性を決定するステップ502と、
ユーザーが選択した公表しようとする身元属性に基づき、検証経路を得るステップ503と、
ユーザーが選択した公表しようとする身元属性、検証経路、機構署名に基づいて身元証明書を生成し、ユーザーの秘密鍵により身元証明書を署名してユーザー署名を取得し、ユーザー署名を含む身元証明書を取得するステップ504と、を含む。
【0035】
本実施例において、ユーザーに発行された身元証拠及びユーザーが選択した公表しようとする身元属性と組み合わして、ユーザーの身元属性の一部のみを公表する身元証明書を生成することに有利であり、それによりユーザーが漏洩したがらない身元属性を保護する。
【0036】
ステップ50lにおいて、身元証拠は、サーバーサイドにデプロイされたデジタル身元サービスにより発行されてもよく、身元証拠は、就労証拠、学歴証拠、学位証拠、身分証などであってもよく、身元証拠の発行機構は、一般的に権威機構であり、例えば、学歴証拠、学位証拠、身分証の発行機構は、いずれも国家に規定された特定機構である。身元証拠の形式は、図形形式又はテキスト形式であってもよく、図形形式の就労証拠の模式図は、
図6を参照することができ、就労証拠は、ユーザーの全ての身元属性(例えば
図6における氏名、ジョブナンバー、部門、職務、電話、メールボックス)、全ての身元属性のマークルルーフ(例えば
図6における左側の最終行のマークルルーフ)、身元証拠の発行機構(例えば
図6における会社A)の発行機構の秘密鍵によるマークルルーフに対する機構署名(機構署名は、例えば
図6におけるマークルルーフ署名)を含むことができる。好ましくは、いくつかの実施例において、身元証拠は、発行機構の機構ID、身元証拠の発行時間、ユーザーの秘密鍵による身元証拠に対する署名及び当該署名に使用された署名アルゴリズム、並びに就労証拠の認証コードをさらに含むことができる。ここで、就労証拠の検証コードは、証拠検証情報に基づいて生成されたURLであってもよく、URLは、デジタル身元サービスのオンラインサービスアドレスを指向し、URLにアクセスすることにより当該就労証拠が有効であるか否かの検証結果を取得することができる。就労証拠における身元属性の表示順序は、マークルツリーにおけるリーフノードの位置順序であってもよい。
【0037】
ステップ502において、ユーザーは、アプリケーションAPPにおける表示画面に示された全ての身元属性から公表しようとする身元属性を選択することができ、それにより身元認証側は、ユーザーが選択した公表しようとする身元属性を取得する。
【0038】
ステップ503において、身元認証側は、ユーザーが選択した公表しようとする身元属性に基づき、検証経路を取得することができ、具体的に検証経路を取得する方式は、上記
図4における検証経路のシミュレーション過程の模式図を参照することができ、重複を回避するため、ここでは説明を省略する。
【0039】
ステップ504において、身元認証側は、ユーザーが選択した公表しようとする身元属性、検証経路、機構署名に基づき、公表された身元属性、検証経路及び機構署名を含む身元証明書を生成し、ユーザーの秘密鍵により身元証明書を署名してユーザー署名を取得し、ユーザー署名をさらに含む身元証明書を取得することができる。
【0040】
1つの実施例において、身元認証方法は、三者に関し、分散型サービス指向ソフトウェアアーキテクチャを採用することができ、三者は、デジタル身元サービスのサービスプロバイダ、ユーザー側及び審査側(審査側は、身元認証側とも呼ばれる)を含み、三者の間は、多対多の関係であり、ブロックチェーンネットワークにより関連付けられる。
図7を参照し、ソフトウェアアーキテクチャは、デジタル身元サービス、デジタル身元アプリケーション、ブロックチェーンネットワーク及びスマートコントラクトを含む。ここで、デジタル身元サービスは、発行機構Xに対応するデジタル身元サービス及び発行機構Yに対応するデジタル身元サービスを含むことができ、発行機構Xは、デジタル身元サービスXを提供することができ、発行機構Yは、デジタル身元サービスYを提供することができ、デジタル身元アプリケーションは、端末APPであり、端末APPは、ユーザー側に向ける操作インタフェース及び審査側に向ける操作インタフェースを含むことができる。以下、当該ソフトウェアアーキテクチャについて具体的に説明する。
【0041】
ブロックチェーンネットワークは、例えばHyperledger Fabric、Fisco Bcosなど一般的なブロックチェーンであってもよく、デジタル身元サービスで構築されたアライアンスチェーンネットワークであり、モデルサービスの発行、デジタル身元及び証拠の発行などの過程でブロックチェーンに追加して証拠を保存するために用いられ、ルックアップ及び遡及を容易にする。
【0042】
デジタル身元サービスは、デジタル身元サービスにより発行され、端末ユーザーに向けて提供されるソフトウェアとしてのサービス(Software-as-a-Service、SaaS)である。異なるサービスプロバイダは、異なるデジタル身元サービスを発行することができ、デジタル身元サービスは、身元モデルをブロックチェーンネットワークに発行して端末ユーザーにアクセスさせる。端末ユーザーは、ブロックチェーンネットワークにおいて身元モデルに基づいてサービスアドレスを見つけ、関連する身元登録及び証拠申込活動を行う。デジタル身元サービスは、アクセス層、身元管理、証拠管理、モデル管理、記憶層及び通信層を含み、以下、デジタル身元サービスに含まれる内容について具体的に説明する。
【0043】
アクセス層は、デジタル身元サービスにアクセス操作を提供し、UIインタフェース又はコマンドラインインタフェースであってもよい。
【0044】
身元管理は、デジタル身元サービスに登録されたユーザー身元を管理する機能であって、身元登録、ユーザープロファイルの確立及び登録した身元のログアウト機能を含む。
【0045】
証拠管理は、身元モデルに基づいて検証可能な身元証拠を生成し、証拠を発行する管理機能であって、証拠の発行及び証拠の廃止機能を含む。
【0046】
モデル管理は、身元モデルをモデリングし発行してブロックチェーンに追加し、身元モデル発行及び身元に関連する証拠テンプレートの構成機能を含む。
【0047】
記憶層は、身元モデルメタデータを記憶し、登録ユーザーの身元属性を暗号化記憶する。
【0048】
通信層は、端末ユーザーにアクセスさせるためのHTTPサービスインタフェース及びブロックチェーンネットワークとの維持管理及び取引インタフェースを提供する。
【0049】
デジタル身元アプリケーションは、図中のアプリケーションAPPであり、アプリケーションAPPは、端末ユーザーの携帯電話又はタブレット端末にデプロイされ、アプリケーション側ユーザー(すなわち図中の左下隅のユーザー)及び審査側ユーザー(すなわち図中の右下隅の審査側)という2種類のロールビューを含み、当該アプリケーションAPPは、主に登録、証拠申込、証明書の生成操作に関し、審査は、主に提示された証明書に対する検証操作に関する。デジタル身元アプリケーションは、主にヒューマンコンピュータインタラクション、サービス検索、マイ身元、マイ証拠、証拠検証、TEE信頼できる環境、TEEインタフェース層、オペレーティングシステム層、ハードウェア層に関し、以下、デジタル身元アプリケーションが主に関する内容について具体的に説明する。
【0050】
ヒューマンコンピュータインタラクションは、タッチパネル、タッチボタンなどのハードウェアの入力及び出力により実現されるヒューマンコンピュータインタラクションUIである。
【0051】
サービス検索は、ブロックチェーンネットワークから身元モデルを検索し、デジタル身元サービスのサービスアクセスアドレスを取得する。
【0052】
マイ身元は、アプリケーション側のユーザーに向け、デジタル身元サービスプロバイダに身元登録を行い、身元識別子及び身元プロファイルを取得する。
【0053】
マイ証拠は、アプリケーション側ユーザーに向け、デジタル身元サービスプロバイダに証拠申込を行い、身元証拠を取得し、身元証明書を生成する。
【0054】
証拠検証は、審査側のユーザーに向け、身元認証、プロファイル問い合わせ、証拠審査、証明書検証機能を提供する。
【0055】
TEE信頼できる環境は、端末機器自身が有するTEE信頼できる環境であり、ユーザーのプライバシーデータの管理及び信頼できるアプリケーションを提供し、ユーザー秘密鍵管理及び秘密鍵による署名及び復号化操作を含み、プライバシーデータに対する計算処理などは、いずれも信頼できる環境で操作し、ユーザーのプライバシーセキュリティを保護する。
【0056】
TEEインタフェース層は、TEE環境と外部との通信インタフェースである。
オペレーティングシステム層について、端末自身が有するオペレーティングシステムであって、例えば、アンドロイド(登録商標)、iosなどである。
【0057】
ハードウェア層は、端末ハードウェア機器であって、チップ、メモリ、タッチパネルなどを含む。
【0058】
スマートコントラクトは、デジタル身元サービスの発行、身元登録のブロックチェーンへの追加、証拠発行のブロックチェーンへの追加、ユーザー審査、信用評価などのキー情報のブロックチェーンへの追加を担当し、検索と遡及を容易にする。
【0059】
本実施例は、分散型サービス指向ソフトウェアアーキテクチャを採用し、発行機構とユーザーと審査者との間は、多対多の関係であり、ブロックチェーンネットワークを介して関連付けられる。ユーザーは、発行機構に登録し、発行機構は、ユーザーにデジタル身元IDを発行し、デジタル身元IDを公布してブロックチェーンに追加し、チェーンにおいてデジタル身元IDに基づいて対応する公開鍵を取得して、署名の検証に用いることができ、データ身元認証においてブロックチェーンマークルツリーの高速検証技術を採用し、従来の身元検証に存在するデータプライバシーが漏洩するというセキュリティ問題を解決する。本実施例においてマークルツリーの高速検証技術を用いて複数の身元属性を一度に検証することができ、効率がより高い。
【0060】
1つの実施例において、ユーザーが登録した身元属性は、マークルツリーの方式を用いて組織し、マークルツリーのマークルルーフを計算し、組織方式は、
図3に示される。マークルツリーの方式により身元属性を組織すると、当該マークルツリーは、身元属性ツリーと呼ぶことができる。
【0061】
1つの実施例において、発行機構は、デジタル身元証拠を発行し、当該身元証拠は、図形化表示方式を採用することができ、図面には全ての身元属性、身元属性ツリーのマークルルーフ、発行機構のマークルルーフ及び身元証拠内容に対する署名が含まれ、署名及びマークルルーフを検証することにより身元証拠の検証可能な効果を実現することができ、図形化された身元証拠は、
図6に示される。ここで、証拠属性の表示順序は、マークルツリーにおけるリーフノードの位置順序である。
【0062】
1つの実施例において、証拠を持つユーザーは、一部の身元属性を選択して公表して身元証明書を生成し、身元証明書は、図形化表示方式を採用することができ、図面には一部の公表された身元属性、身元属性のマークルルーフ、マークルルーフの検証経路及び発行機構のマークルルーフに対する署名を含み、ユーザーの身元証明書の内容に対する署名は、署名を検証し、公表された属性及び検証経路に基づいてマークルルーフを検証することにより身元証明書の検証可能な効果を実現することができ、図形化された身元証明書は、
図2に示される。ここで、公表された身元属性の表示順序は、マークルツリーにおけるリーフノードの位置順序であり、公表されない身元属性は、モザイクを掛けるように表示される。
【0063】
本実施例において、身元証拠及び身元証明書の図形表示方式に、2次元コード走査の検証方式を導入し、証拠及び証明書の審査及び検証を容易に行うことができる。
【0064】
1つの実施例において、身元認証方法は、モデル登録フロー、身元登録フロー、身元証拠申込フロー、身元証明書生成フロー、身元証明書審査フローに関する。モデル登録フローは、発行機構がモデルを作成し、ブロックチェーンにおいてデジタル身元サービスを公布するフローである。身元登録フローは、ユーザーがブロックチェーンにおいて身元モデルを検索し、発行機構に登録してプロファイルを作成して身元証拠を申し込むフローである。身元証拠申込フローは、発行機構が申込ユーザーに検証可能な身元証拠を発行しその過程をブロックチェーンに追加して証拠を保存するフローである。身元証明書生成フローは、ユーザーが身元証拠の一部の身元属性を選択して公表し身元証明書を生成するフローである。身元証明書審査フローは、審査側がユーザーの少量の身元属性のみを取得した場合に証拠の有効性を検査し、身元証明書の信頼性及び有効性を検証するフローである。以下、上記各フローについて具体的に説明する。
【0065】
図8を参照し、
図8は、モデル登録フローのフローチャートである。ここで、モデル登録とは、身元モデルの登録であり、発行機構は、身元モデルを作成し、各類の身元モデルは、1種類のデジタル身元に対応する。1つのユーザーは、1つの発行機構の異なる身元モデルを登録することができ、異なる発行機構の異なる身元モデルを登録することもできる。モデル登録フローは、
まず、発行機構がデジタル身元システムのモデル管理機能を用いて身元モデルを作成し、身元モデルのモデルパラメータを書き込むステップであって、モデルパラメータは、名称、バージョン及びモデルのメタデータ情報を含むステップと、
続いて、身元モデルを作成した後、さらにモデル管理のテンプレート構成機能により、身元モデルに関連する証拠情報を構成するステップであって、構成内容は、名称及びテンプレートファイル(証拠の図形表示に用いられる)を含むステップと、
次に、身元モデルの発行に成功した後、モデル管理システムが作成された身元モデルをブロックチェーンに追加するステップであって、ブロックチェーンに追加された情報は、モデルID、名称、メタデータ情報及びサービスアクセスアドレスを含み、ユーザーの検索及びアクセスを容易にするステップと、
最後に、モデル管理が作成成功メッセージを発行機構に返信するステップと、を含む。
【0066】
図9を参照し、
図9は、身元登録フローのフローチャートである。当該フローにおいて、ユーザーは、アプリケーションAPPによりブロックチェーンから関連する身元モデルを検索し、身元モデルに基づいてサービスアクセスアドレスを取得し、サービスアクセスアドレスに対応するサービス提供機構に身元登録を行う。発行機構は、ユーザーにデジタル身元IDを生成しプロファイルを作成し、ユーザーのデジタル身元をブロックチェーンに追加する。身元登録フローは、
まず、ユーザーがAPPの「サービス検索」機能画面に入り、ブロックチェーンからサービス検索を行ってサービスアクセスアドレスを取得するステップと、
続いて、ユーザーがAPPの「マイ身元」機能画面に入り、身元登録を行うステップであって、登録情報は、個人のアカウント、モデル、バージョン及びユーザーの公開鍵を含むステップと、
次に、デジタル身元サービスがユーザーにデジタル身元識別子(Digital Identity document、DID)を発行し、ユーザープロファイルを作成し、DID及びユーザープロファイルをブロックチェーンに追加して証拠を保存し、審査側の検索を容易にするステップであって、ユーザープロファイルにはユーザーのプライバシー情報が含まれないステップと、
最後に、デジタル身元サービスが登録成功メッセージを返信しユーザーのデジタル身元IDを返信するステップと、を含む。
【0067】
図10を参照し、
図10は、身元証明書申込フローのフローチャートである。ユーザーは、身元登録を完了した後にサーバーサイドにデプロイされたデジタル身元サービスに身元証拠を申し込むことができ、身元証拠は、身元モデル情報、身元属性のマークルルーフ及び発行機構のマークルルーフに対する署名を含み、しかも発行機構は、過程をブロックチェーンに追加して証拠を保存し、遡及を容易にする。身元証明書申込フローは、
まず、ユーザーがアプリケーションAPPの「マイ証拠」の機能画面に入り、登録された身元から対応する身元モデルを選択してサーバーサイドにデプロイされたデジタル身元サービスに証拠申込を提出するステップと、
そして、機構管理者が審査認可して通過させた後、データ身元サービスが身元属性に基づいてマークルツリーを構築しマークルルーフを計算するステップと、
次に、発行機構が発行機構の秘密鍵によりマークルルーフを署名し、図形及びテキストという2種類の表示フォーマットを含む身元証拠を生成するステップと、
続いて、発行機構が秘密鍵により身元証拠を署名し、発行過程をブロックチェーンに追加して証拠を保存する(ブロックチェーンに追加された情報は、発行機構の身元ID、身元証拠のID、マークルルーフ及びユーザーのデジタル身元IDなどの情報を含む)ステップと、
最後に、データ身元サービスが身元証拠をアプリケーションAPPに返信し、アプリケーションAPPが身元証拠をユーザーに返信するステップと、を含む。
【0068】
図11を参照し、
図11は、身元証明書生成フローのフローチャートである。ユーザーは、身元証拠における身元属性の一部を選択して公表し、身元証明書を生成する。(例えば、就労証拠は、就労証明書を生成し、学位証拠は、学位証明書を生成する)。身元証明書には、公表された身元属性、マークルルーフ、発行機構によるマークルルーフに対する署名、公表された身元属性がマークルルーフに属することを検証する検証経路及びユーザーによる身元証明書に対する署名が含まれる。証明書生成フローは、
まず、ユーザーがアプリケーションAPPの「マイ証拠」の機能画面に入り、既に発行された身元証拠を選択し、クリックして身元証明書を生成するステップと、
そして、身元証拠における身元属性から公表しようとする1つ又は複数の身元属性を選択し、クリックして提出するステップと、
続いて、アプリケーションAPPが身元証明書を生成し、ユーザーの秘密鍵により身元証明書を署名し、ユーザー署名を含む身元証明書を得るステップと、
最後に、アプリケーションAPPが身元証明書を返信するステップと、を含む。
【0069】
図12を参照し、
図12は、身元証明書審査フローのフローチャートである。審査側は、身元証明書の信頼性及び有効性を検証する。身元証明書には、公表された一部の身元属性、一部の身元属性が位置するマークルツリーのマークルルーフ及び検証経路が含まれ、検証経路をシミュレーションすることにより公表された一部の身元属性の有効性を検証することができ、このようにユーザーの他のプライバシー情報が漏洩するというリスクを回避することができる。身元証明書の審査は、身元証明書の認証として理解されることもでき、身元証明書に対する審査結果は、身元証明書に対する認証結果である。身元証明書審査フローは、
まず、審査側がアプリケーションAPPの「証明書検証」機能画面に入り、ユーザーが提供した身元証明書のピクチャにおける検証用2次元コードを走査し、身元証明書審査を行うステップと、
そして、アプリケーションAPPがユーザーのデジタル身元IDに基づいてブロックチェーンからユーザープロファイルを取得し、ユーザープロファイルからユーザーの公開鍵を取得し、ユーザーによる身元証明書に対する署名の有効性を検証するステップ(検証1)と、
次に、アプリケーショAPPが発行機構のデジタル身元IDに基づいてブロックチェーンから発行機構のプロファイルを取得し、発行機構のプロファイルから発行機構の公開鍵を取得し、発行機構によるマークルルーフに対する署名の有効性を検証するステップ(検証2)と、
続いて、アプリケーションAPPが公表された身元属性に基づいて検証経路をシミュレーションし、シミュレーションされた検証経路が身元証明書における検証経路と一致するか否かを検証するステップ(検証3)と、
最後に、上記検証1~3が全て検証を通過すれば、審査結果として、身元証明書に対する審査を通過すると決定し、上記検証1~3に検証を通過しないものが存在すれば、審査結果として、身元証明書に対する審査を通過しないと決定するステップであって、審査側は、最終的に今回検証した結果をブロックチェーンに追加して証拠を保存し、証明書偽造の不信行為をユーザーの信用記録に組み入れ、後続の遡及を容易にするステップと、を含む。
【0070】
本実施例において、ブロックチェーンのマークルルーフ高速検証技術を採用してユーザーの身元属性の一部のみを公表するだけで身元認証を完了できる方法、身元証明書の図形化表示方式及び身元証明書の2次元コード検証方法は、個人のプライバシーデータの保護問題を解決することができるだけでなく、また現在のユーザーの使用習慣に合致し、操作性が高く、製品の市場普及を容易にする。
【0071】
なお、本願の実施例における上記各例は、いずれも理解を容易にするために例示的に説明され、本願の実施例の技術的解決手段を限定するものではない。
【0072】
以上の様々な方法のステップの区画は、説明を明確にするために過ぎず、実現する時に1つのステップに統合したり、何らかのステップを分割し、複数のステップに分解したりすることは、同じ論理関係を含む限り、いずれも本特許の保護範囲内にあり、アルゴリズム又はフローに不要な修正を追加したり不要な設計を導入したりするが、そのアルゴリズム及びフローのコア設計を変更しないことは、いずれも当該特許の保護範囲内にある。
【0073】
本願の1つの実施例は、
図13に示すように、少なくとも1つのプロセッサ1301と、少なくとも1つのプロセッサ1301に通信接続されるメモリ1302とを含み、ここで、メモリ1302が少なくとも1つのプロセッサ1301により実行可能な命令を記憶し、命令が少なくとも1つのプロセッサ1301により実行されることで、少なくとも1つのプロセッサ13が上記身元認証方法を実行できる電子機器を提供する。
【0074】
ここで、メモリ1302及びプロセッサ1301は、バス方式で接続され、バスは、任意数の相互に接続されたバス及びブリッジを含むことができ、バスは、1つ又は複数のプロセッサ1301とメモリ1302の様々な回路を接続する。バスは、さらに周辺機器、レギュレータ及びパワーマネジメント回路などの様々な他の回路を接続することができ、これらはいずれも当業者に公知のものであり、したがって、本明細書ではそれ以上説明しない。バスインタフェースは、バスと送受信機との間にインタフェースを提供する。送受信機は、1つの素子であってもよいし、例えば複数の受信機と送信機など、複数の素子であってもよく、伝送媒体上で他の様々な装置と通信するためのユニットを提供する。プロセッサ1301で処理されたデータは、アンテナを介して無線媒体で伝送され、さらに、アンテナは、さらにデータを受信してデータをプロセッサ1301に送信する。
【0075】
プロセッサ1301は、バスと通常の処理の管理を担当し、さらに、タイミング、周辺インタフェース、電圧調整、電源管理及び他の制御機能を含む様々な機能を提供することができる。メモリ1302は、プロセッサ1301が操作を実行する時に使用するデータを記憶するために使用することができる。
【0076】
本願の実施例は、コンピュータプログラムを記憶しているコンピュータ可読記憶媒体をさらに提供する。コンピュータプログラムは、プロセッサに実行される時に上記方法の実施例を実現する。
【0077】
当業者であれば理解できるように、上記実施例の方法における全部又は一部のステップを実現することは、プログラムにより関連するハードウェアを命令して完了させることができ、当該プログラムは、1つの記憶媒体に記憶され、1つの機器(ワンチップマイコン、チップなどであってもよい)又はプロセッサ(processor)に本願の各実施例に記載の方法の全部又は一部のステップを実行させるために、いくつかの命令を含む。前述した記憶媒体は、Uディスク、リムーバブルハードディスク、リードオンリーメモリ(ROM、Read-Only Memory)、ランダムアクセスメモリ(RAM、Random Access Memory)、磁気ディスク又は光ディスクなど、プログラムコードを記憶可能な種々の媒体を含む。
【0078】
当業者に理解されるように、上記各実施形態は、本願を実現するための具体的な実施例であり、実際に使用する際に、本願の実施例の精神及び範囲から逸脱することなく、形式及び詳細において様々な変更を行うことができる。
【手続補正書】
【提出日】2024-06-05
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ユーザーの身元証明書を取得するステップであって、前記身元証明書は、前記ユーザーの身元属性及びマークルルーフの検証経路を含み、前記身元証明書におけるマークルルーフの検証経路は、前記身元証明書を生成する時に前記ユーザーが選択した公表しようとする身元属性に基づいて得られた検証経路であるステップと、
前記身元証明書に公表された身元属性に基づき、マークルルーフの検証経路をシミュレーションするステップと、
シミュレーションされた検証経路及び前記身元証明書における検証経路に基づき、前記ユーザーの身元証明書を認証するステップと、を含む、
身元認証方法。
【請求項2】
前記身元証明書に公表された身元属性に基づき、マークルルーフの検証経路をシミュレーションする前記ステップは、
前記身元証明書に公表された身元属性に基づき、前記身元証明書に公表された身元属性のHash値を計算するステップと、
前記公表された身元属性のHash値及び構築されたマークルツリーに基づき、マークルルーフの検証経路をシミュレーションするステップと、を含む、請求項1に記載の身元認証方法。
【請求項3】
前記公表された身元属性のHash値及び構築されたマークルツリーに基づき、マークルツリーの検証経路をシミュレーションする前記ステップは、
前記マークルツリーのL1層において、前記公表された身元属性のHash値に対応するノードを決定し、前記ノードを前記L1層に対応するシミュレーションキューT1に加えるステップと、
前記マークルツリーを下から上へシミュレーションし、順次各層のペアノード(Hx,Hy)をトラバースし、各層のペアノード(Hx,Hy)をトラバースした後、シミュレーションしてマークルルーフの検証経路を得るステップと、を含み、
ここで、トラバースされたLi層における(Hx,Hy)に対して以下の操作を実行し、
前記(Hx,Hy)における1つのノードが前記Li層に対応するシミュレーションキューTiに含まれば、前記(Hx,Hy)における他のノードのHash値を前記検証経路に加え、前記(Hx,Hy)のHash値を計算し、前記(Hx,Hy)のHash値をLi+1層に対応するシミュレーションキューTi+1に加え、ここで、1≦i<deep、deepは、前記マークルツリーの深さであり、
前記(Hx,Hy)における2つのノードがいずれも前記Li層に対応するシミュレーションキューTiに含まれば、前記(Hx,Hy)のHash値を計算し、前記(Hx,Hy)のHash値をLi+1層に対応するシミュレーションキューTi+1に加え、
前記(Hx,Hy)において前記Li層に対応するシミュレーションキューTiに含まれるノードがなければ、次の(Hx,Hy)をトラバースする、請求項2に記載の身元認証方法。
【請求項4】
前記身元証明書は、前記身元証明書の検証コードをさらに含み、前記ユーザーの身元証明書を取得する前に、
前記ユーザーが選択した公表しようとする身元属性に基づき、図形化された身元証明書を生成するステップであって、前記図形化された身元証明書に前記身元証明書の検証コードが表示されるステップと、
前記図形化された身元証明書における検証コードを走査することにより前記ユーザーに対する身元認証の結果を取得するステップと、をさらに含む、請求項1に記載の身元認証方法。
【請求項5】
前記身元証明書は、前記ユーザーのデジタル身元ID及び前記ユーザーの秘密鍵による前記ユーザーの前記身元証明書に対するユーザーの署名をさらに含み、前記ユーザーの身元証明書を取得した後、
前記ユーザーのデジタル身元IDに基づいてブロックチェーンから前記ユーザーの公開鍵を取得し、前記ユーザーの公開鍵により前記ユーザー署名を検証するステップをさらに含み、及び/又は、
前記身元証明書は、前記身元証明書の発行機構のデジタル身元ID及び前記発行機構の秘密鍵による前記発行機構の前記マークルルーフに対する機構署名をさらに含み、前記ユーザーの身元証明書を取得した後、
前記発行機構のデジタル身元IDに基づいてブロックチェーンから前記発行機構の公開鍵を取得し、前記発行機構の公開鍵により前記機構署名を検証するステップをさらに含む、請求項1に記載の身元認証方法。
【請求項6】
シミュレーションされた検証経路及び前記身元証明書における検証経路に基づき、前記ユーザーの身元証明書を認証する前記ステップは、
前記シミュレーションされた検証経路が前記身元証明書における検証経路と一致し且つ署名検証を通過した場合、前記ユーザーに対する身元認証を通過すると決定するステップであって、前記署名検証の通過は、前記ユーザー署名に対する検証の通過及び/又は前記機構署名に対する検証の通過を含むステップを含む、請求項5に記載の身元認証方法。
【請求項7】
前記ユーザーのデジタル身元IDに基づいてブロックチェーンから前記ユーザーの公開鍵を取得する前記ステップは、
前記ユーザーのデジタル身元IDに基づいてユーザーのプロファイルを取得するステップであって、前記ユーザーのプロファイルは、前記ユーザーに対して身元登録を行う時に前記ユーザーの身元登録情報に基づいて得られるものであって、且つ前記ユーザーのプロファイルがブロックチェーンに記憶されるステップと、
前記ユーザーのプロファイルに基づいて前記ブロックチェーンから前記ユーザーの公開鍵を取得するステップと、を含み、及び/又は、
前記発行機構のデジタル身元IDに基づいてブロックチェーンから前記発行機構の公開鍵を取得するステップは、
前記発行機構のデジタル身元IDに基づいて発行機構のプロファイルを取得するステップであって、前記発行機構のプロファイルは、前記発行機構に対して身元登録を行う時に前記発行機構の身元登録情報に基づいて得られるものであって、且つ前記発行機構のプロファイルがブロックチェーンに記憶されるステップと、
前記発行機構のプロファイルに基づいて前記ブロックチェーンから前記発行機構の公開鍵を取得するステップと、を含む、請求項5に記載の身元認証方法。
【請求項8】
前記身元証明書の生成方式は、
前記ユーザーに発行された身元証拠を決定し、ここで、前記身元証拠は、前記ユーザーの全ての身元属性、前記全ての身元属性のマークルルーフ及び前記身元証拠の発行機構の前記発行機構の秘密鍵による前記マークルルーフに対する機構署名を含み、
前記ユーザーが前記身元証拠における全ての身元属性から選択した公表しようとする身元属性を決定し、
前記ユーザーが選択した公表しようとする身元属性に基づき、検証経路を取得し、
前記ユーザーが選択した公表しようとする身元属性、前記検証経路、前記機構署名に基づいて前記身元証明書を生成し、前記ユーザーの秘密鍵により前記身元証明書を署名してユーザー署名を取得し、前記ユーザー署名を含む身元証明書を取得することである、請求項1~7のいずれか1項に記載の身元認証方法。
【請求項9】
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに通信接続されるメモリと、を含み、
前記メモリが前記少なくとも1つのプロセッサにより実行可能な命令を記憶し、前記命令が前記少なくとも1つのプロセッサにより実行されることで、前記少なくとも1つのプロセッサが請求項1~
7のいずれか1項に記載の身元認証方法を実行できる、
電子機器。
【請求項10】
プロセッサにより実行される時に請求項1~
7のいずれか1項に記載の身元認証方法を実現するコンピュータプログラムを記憶する、コンピュータ可読記憶媒体。
【国際調査報告】