IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 南京郵電大学の特許一覧

特表2022-542134コンソーシアムチェーンに基づく自動車整備データの記憶方法
<>
  • 特表-コンソーシアムチェーンに基づく自動車整備データの記憶方法 図1
  • 特表-コンソーシアムチェーンに基づく自動車整備データの記憶方法 図2
  • 特表-コンソーシアムチェーンに基づく自動車整備データの記憶方法 図3
  • 特表-コンソーシアムチェーンに基づく自動車整備データの記憶方法 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-09-29
(54)【発明の名称】コンソーシアムチェーンに基づく自動車整備データの記憶方法
(51)【国際特許分類】
   H04L 9/32 20060101AFI20220921BHJP
   G06F 21/64 20130101ALI20220921BHJP
   G06Q 10/00 20120101ALI20220921BHJP
【FI】
H04L9/32 200Z
G06F21/64
G06Q10/00 300
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022504729
(86)(22)【出願日】2021-01-25
(85)【翻訳文提出日】2022-01-24
(86)【国際出願番号】 CN2021073500
(87)【国際公開番号】W WO2021203797
(87)【国際公開日】2021-10-14
(31)【優先権主張番号】202010262492.7
(32)【優先日】2020-04-07
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】518371489
【氏名又は名称】南京郵電大学
【氏名又は名称原語表記】NANJING UNIVERSITY OF POSTS AND TELECOMMUNICATIONS
【住所又は居所原語表記】No.66 Xin Mofan Road, Gulou Nanjing, Jiangsu 210003 China
(74)【代理人】
【識別番号】110001139
【氏名又は名称】SK弁理士法人
(74)【代理人】
【識別番号】100130328
【弁理士】
【氏名又は名称】奥野 彰彦
(74)【代理人】
【識別番号】100130672
【弁理士】
【氏名又は名称】伊藤 寛之
(72)【発明者】
【氏名】黄海平
(72)【発明者】
【氏名】肖甫
(72)【発明者】
【氏名】孫翔
(72)【発明者】
【氏名】王汝伝
(72)【発明者】
【氏名】朱鵬
(72)【発明者】
【氏名】李▲チィ▼
(72)【発明者】
【氏名】馬子洋
(72)【発明者】
【氏名】朱潔
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049CC15
(57)【要約】
本発明は、コンソーシアムチェーンに基づく自動車整備データの記憶方法を提案する。現在、自動車整備データの従来の記憶方式は、主に紙材料と分散したローカルデータベース記憶であり、このような記憶方式は整備データの完全性と可用性の点で多くの欠点を示している。本発明は、コンソーシアムチェーンを主とするブロックチェーン技術及びクラウド記憶技術を用いて、整備データの論理的ブロックチェーン記憶、物理的クラウド記憶を実現することで、実際の整備データは、生成され検証ノードに送信され、P-DPoSコンセンサスメカニズムによりブロックに書き込まれた後は、改ざんすることができず、かつ追跡可能となり、ユーザはMerkle root検証法により送信されたデータの完全性をタイムリーに知ることができる。同時に、公開鍵暗号化アルゴリズム、プロキシ再暗号化アルゴリズム、SOKプロトコルなどの関連暗号学技術を採用し、個人情報のプライバシーが漏れないように保証しながら、一部の整備データの公開と共有を実現し、ユーザの補償請求プロセスに極大な利便性を提供する。
【選択図】図1
【特許請求の範囲】
【請求項1】
下記のステップを含むことを特徴とする、コンソーシアムチェーンに基づく自動車整備データの記憶方法。
ステップ1:システムを初期化し、システム全体はアイデンティティ認証ノードCA、クライアントノード、プロキシ再暗号化ノード、及び参加ユーザからなり、コンソーシアムチェーンに関連データインデックス情報のみが保存され、実際のデータ内容については、コンソーシアムチェーンのクラウド記憶サーバに保存される。
ステップ2:アイデンティティ認証ノードCAは、システム全体における参加ユーザの役割に応じて異なる権限を付与し、参加ユーザにデジタル証明書を発行すると同時に、必要な公開情報を生成する。
ステップ3:自動車事故発生後、ユーザは各情報を総合的に整理する。
ステップ4:ユーザxが整理完了した情報msgは、クライアントノードを介してアイデンティティ認証ノードに送信される。
ステップ5:ユーザ情報msgは各アイデンティティ認証ノード及びプロキシ再暗号化ノードに送信され、アイデンティティ認証ノードによって検証された後、P-DPoSアルゴリズムが実行されて、関連データをコンソーシアムチェーンに書き込む。
ステップ6:新規ユーザx'はデータmsgx'を送信する前に、クライアントノードによりキーワードKeyに基づいてコンソーシアムチェーンに記憶されたデータを照会することができ、キーワードKeyは、整備場所La、整備部品Comp、整備価格Pr及び整備時間Timeの個人情報のプライバシーに関与しない公開可能な情報を含み、Key→[La,Comp,Pr,Time]と表され、照会結果に基づいて、ユーザx'は適切な場所を選択して適切な価格で自動車の整備を完了することができる。
ステップ7:ユーザxはデータを送信完了した後、適切なタイミングでmerkle root検証法によりデータの完全性と機密性を確認することができる。
ステップ8:ユーザxは保険会社に補償を請求する場合、暗号化されたデータを保険会社に個別に公開する必要がある。
【請求項2】
ステップ2の具体的な実施ステップは下記の通りであることを特徴とする、請求項1に記載のコンソーシアムチェーンに基づく自動車整備データの記憶方法。
ステップ2-1:、政府の信用承認で完全に信頼できるアイデンティティ認証ノードCAをコンソーシアムチェーンにおけるアイデンティティサービスノードとして選択して、ユーザ及び組織のアイデンティティの発行と管理を担当する。
ステップ2-2:コンセンサスに参加するノードは、アイデンティティ認証ノードCAによって権限が付与され、P-DPoSアルゴリズムの実行に参加でき、アイデンティティ認証ノードと呼ばれる。
ステップ2-3:クライアントノードはフルウェイトクライアントとライトウェイトクライアントに分けられ、ユーザはライトウェイトクライアントノードにより整備データをアップロードし、検証処理のためにアイデンティティ認証ノードに送信することができ、ユーザはフルウェイトクライアントノードにより一部の公開可能な情報を照会することもでき、クライアントノードはコンセンサスに参加する権限がない。
ステップ2-4:プロキシ再暗号化ノードはプロキシ再暗号化アルゴリズムの実行を担当し、具体的にこのようなノードにデプロイされたスマートコントラクトによって自動的に実行される。
ステップ2-5:各参加ユーザはクライアントノードによりOpenSSLツールセットを使用して鍵ペアを生成することができ、任意のユーザxの場合、鍵ペアは(sk,vk)であり、skは秘密鍵であり、vkは公開鍵であり、ユーザxはCSRコマンドを実行して、証明書certを取得し、さらに、参加ユーザxのインデックスind=vk mod 2を定義し、ここで、k=Bit(vk) DIV 4。
ステップ2-6:アイデンティティ認証ノードCAは、アイデンティティ認証ノード毎にコンセンサススコアCs(i)を生成し、ind毎にセキュリティインデックスind_Srを生成する。
【請求項3】
ステップ3の具体的な実施ステップは下記の通りであることを特徴とする、請求項1に記載のコンソーシアムチェーンに基づく自動車整備データの記憶方法。
ステップ3-1:事故発生後、ユーザxは保険購入証明書、車両走行証明書の基本情報を整理し、関連クレデンシャル情報Pr、個人アイデンティティ情報IDとして統計する。
ステップ3-2:交通警察のデジタル署名付き事故鑑定書、保険会社の職員のデジタル署名付き調査報告書の証明情報を整理し、Rpとして統計する。
ステップ3-3:ドライブレコーダーの映像情報、事故現場の写真情報のマルチメディア情報を整理し、Mdとして統計する。
ステップ3-4:整備拠点、整備時間、整備部品、整備費用証明書の拠点のデジタル署名付き整備情報を整理し、Reとして統計すると同時に、キーワードKeyを生成し、他のユーザが検索できるように、一部の公開可能な整備データを指示する。
【請求項4】
ステップ4の具体的な実施ステップは下記の通りであることを特徴とする、請求項1に記載のコンソーシアムチェーンに基づく自動車整備データの記憶方法。
ステップ4-1:ユーザの個人基本情報C=ESK(Ksym,(Pr,ID,ind_Sr))を計算し、ここで、KsymはSOKプロトコルによって生成された暗号化鍵であり、次に、二重暗号化された個人基本情報C'=EPK(vk,C)を計算する。
ステップ4-2:暗号化された補償請求情報C=EPK(vk,(Rp,Md,Re))を計算する。
ステップ4-3:ユーザ情報msg=Combine(C',C,Key,ind,vk)を計算し、ここで、Keyには整備情報のキーワードが含まれているが、いかなるの個人のプライバシーは含まれず、他のユーザはKeyによりindのいかなるの実際の情報を知ることができない。
上記のステップにおいて、EPKは軽量な公開鍵暗号化アルゴリズムであり、ESKは対称暗号化アルゴリズムである。
【請求項5】
ステップ5の具体的な実施ステップは下記の通りであることを特徴とする、請求項1に記載のコンソーシアムチェーンに基づく自動車整備データの記憶方法。
ステップ5-1:各アイデンティティ認証ノードはmsgを受信した後、自体の公開鍵vkをプロキシ再暗号化ノードに送信し、該当ノードにおけるスマートコントラクトによって下記のようにプロキシ再暗号化アルゴリズムを実行する。
ステップ5-1-1:プロキシ再暗号化ノードは受信したvkをindにフィードバックし、indクライアントノードにおけるスマートコントラクトは鍵RKskx→vkiを生成し、鍵をプロキシ再暗号化ノードに送信する。
ステップ5-1-2:Proxyはxによって生成された鍵RKskx→vkiを使用して、暗号文Cをindの秘密鍵で復号可能な暗号文Ctiに変換し、Proxyは変換サービスのみを提供し、平文を取得できない。
ステップ5-1-3:Proxyは変換された暗号文をindに送信し、indはスマートコントラクトにおけるgetTrans( )関数を呼び出して復号と検証を行う。検証完了後、upTrans( )関数を呼び出して、正当なmsgになるようにmsgの状態を変更する。
ステップ5-2:P-DPoSコンセンサスアルゴリズムは選挙で授権代表を選出し、P-DPoSコンセンサスアルゴリズムは次のように実行される。
ステップ5-2-1:コンセンサススコアCs(i)を持つ各アイデンティティ認証ノードは、信頼するアイデンティティ認証ノードに投票する必要があり、自身に投票することもできる。一ラウンドの投票後、最大投票数を持つ101個のノードは交代でアカウンティングする。これらの101個の授権代表に加えて、一定数の候補代表を選出する必要があり、その得票数は下記の公式によって計算される。
ステップ5-2-2:101個のアカウンティングノードのうち、あるノードが新しいブロックの署名に失敗した場合、そのコンセンサススコアCs(i)を更新し、更新されたCs(i)は下記の通りである。
αは遅延時間Δtの線形関数である。
ステップ5-2-3:Cs(i)が低すぎる代表は、出席するように投票される可能性がある。
ステップ5-2-4:授権代表が出席するように投票された場合、候補代表列からヘッドノードを選択して授権代表列の最後に追加する。
ステップ5-3:授権代表は鍵値ペア(key-value)の形でコンソーシアムチェーンのブロックにデータを書き込み、記録が正常に書き込まれると、記録送信側のユーザxのind_SRを更新する。各記録のヘッダーは、すべて授権代表のvkを引用する。ブロックにおいてmerkleツリーは各暗号文のhash値、すなわちデータ情報のインデックスを記憶しており、データ情報自体の実際の記憶アドレスはクラウドプラットフォームであり、各データ情報は特定のタイムスタンプを持っている。クラウドに記憶されたデータ暗号文は、複数のサブ暗号文に分割される。
【請求項6】
ステップ7及びそのmerkle root検証法の具体的な実施ステップは下記の通りであることを特徴とする、請求項1に記載のコンソーシアムチェーンに基づく自動車整備データの記憶方法。
ステップ7-1:ユーザは暗号化された暗号文E(msg)を複数の等しい長さのサブ暗号文に分割し、その数はnであり、e(e,e,....,en-1)と表記する。
ステップ7-2:ユーザは乱数生成器を使用して、n個の乱数を生成し、r(r,r,....rn-1)と表記する。
ステップ7-3:各eをrとマージして、hash=H(e+r)を取得する。
ステップ7-4:n個のhashをmerkleツリーのリーフノードとし、最終的にmerkle root値を取得する。
ステップ7-5:暗号文がn個のサブ暗号文に分割されてクラウド記憶サーバに保存される際に、各hashをクラウドに送信する必要がある。
ステップ7-6:ユーザがあるデータの所有者であることを証明したい場合は、rをアップロードすればよく、rとあるサブ暗号文をマージして取得したhash値は、アップロードされたhashテーブルで検索できれば、前記ユーザがデータの所有者であることを証明することができる。
ステップ7-7:ユーザはすべてのrをアップロードし、e毎にhash値を計算して、root値を取得してもよい。前記root値がmerkle root値と同じであれば、データの完全性を証明する。
【請求項7】
ステップ8の具体的な実施方法は下記の通りであることを特徴とする、請求項1に記載のコンソーシアムチェーンに基づく自動車整備データの記憶方法。
ステップ8-1:ユーザxは、プロキシ再暗号化ノードによりクラウドに記憶された暗号文を、保険会社の秘密鍵で復号可能な暗号文に変換する。
ステップ8-2:保険会社は、関連整備データを検証した後、ユーザxの実際のアイデンティティ情報を取得する。
ステップ8-3:実際のアイデンティティの取得は、アイデンティティに基づく鍵共有システム、すなわちSOKプロトコルによって完了する。
ステップ8-4:誤りがないことを確認した後、補償を完了する。
ステップ8-5:ユーザxが保険会社から保険を再度購入する必要がある場合、保険会社はそのセキュリティインデックスind_Srを照会し、ind_Srに基づいて合理的な保険費用を決定すればよい。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、安全で信頼性の高いデータ記憶技術の分野に関し、具体的に、コンソーシアムチェーンに基づく自動車整備データの記憶方法に関するものである。
【背景技術】
【0002】
自動車整備データは、ユーザが交通事故やその他の未知の事故を起こした後、保険会社に補償を請求する重要な証拠である。そして、これまで、真に安全で信頼性の高い整備データ記憶プラットフォームはない。ほとんどの整備データは、紙材料の形でユーザの手元に保存され、一部の整備データは自動車整備拠点のローカルデータベースに記憶されている。このようなデータ保存方式には、下記の二つの問題が存在する。第一に、紙材料の紛失がユーザの補償申請に悪影響を及ぼす。第二に、利益のために、保険会社の職員や悪意のある第三者がデータベース管理者に関連データの修正や削除を直接要求する可能性がある。これらの二つの状況は、整備データの可用性と真正性を大きく脅かす。同時に、現段階の保険補償の形式は、ユーザが保険会社に指定された整備拠点にて自動車の整備をしなければならないものであり、指定された整備拠点と保険会社との間に協力関係が存在するため、整備価格が通常の整備拠点の整備価格よりも高い可能性がある。ユーザとしては、自分が適切な整備拠点を選択して自動車を整備することを望むが、保険会社は整備データの信頼性を確認することができない。
【0003】
ブロックチェーンは、Hashなどの技術に基づいて形成されたパブリックデータベース(またはパブリック元帳と呼ばれる)であり、ブロックチェーン技術とは、現代暗号学、分散一貫性プロトコル、ピアツーピアネットワーク通信技術、及びスマートコントラクトプログラミング言語などに基づいて形成された複数の参加者間のデータ交換、処理、及び記憶技術の組み合わせである。ブロックチェーンは、脱中心化の特徴を有し、各ノード間でコンセンサスアルゴリズムにより相互通信と相互信頼を実現する。ブロックチェーンは、パブリックチェーン、プライベートチェーン、コンソーシアムチェーンの三種類の配置モードに分けられる。コンソーシアムチェーンはアライアンス参加に限定され、ブロックチェーンにおける読み取り、書き込み、アカウンティングへの参加の権限は、アライアンスのルールに従って確立される。ブロックチェーン記録情報を生成するには、すべてのネートワークノードがコンセンサスに達して確認する必要であり、ノードがブロックチェーンに組み込まれると、永久に記録され、連続的に追跡可能となり、改ざんできない。そこで、ブロックチェーンに記録されたクレジットは、自動化され、ネットワーク全体のコンセンサスを得た、公平、客観的、透明である。従来のクレジットシステムと比べて、より高いレベルのクレジットシステムである。
【発明の概要】
【発明が解決しようとする課題】
【0004】
現在、ユーザ、保険会社、自動車整備拠点の三者は、統一されたコミュニケーションと情報共有のチャネルを持っておらず、関連する整備データは分散保存され、共有できず、紛失ないし悪意的に削除される可能性があるため、市場では三者を統合し、情報の改ざんが不可能、追跡可能、透明で、ブロックチェーンに基づく自動車整備データの記憶システムが必要となる。
【課題を解決するための手段】
【0005】
本発明はコンソーシアムチェーンに基づく自動車整備データの記憶方法を提案して、整備データの信頼性と真正性を保証し、かつ一部の整備データの情報共有を実現する。本発明は、同時にクラウド記憶技術を採用して大きなデータ情報を記憶することで、論理的ブロックチェーン記憶、物理的クラウド記憶のシステムモデルを実現する。本発明は、コンソーシアムチェーンにおいて最も一般的に使用されるPBFTアルゴリズムを選択するのではなく、改良されたDPoSコンセンサスメカニズムを採用して、分散一貫性の問題を解決する。かつ、本発明は、SOKプロトコル、プロキシ再暗号化などの暗号学方法を採用して、ユーザのプライバシーを保証する。
【0006】
下記のステップを含むコンソーシアムチェーンに基づく自動車整備データの記憶方法である。
ステップ1:システムを初期化する。システム全体はアイデンティティ認証ノードCA、クライアントノード、プロキシ再暗号化ノード、及び参加ユーザからなり、コンソーシアムチェーンに関連データインデックス情報のみが保存され、実際のデータ内容については、コンソーシアムチェーンのクラウド記憶サーバに保存される。
【0007】
ステップ2:アイデンティティ認証ノードCAは、システム全体における参加ユーザの役割に応じて異なる権限を付与し、参加ユーザにデジタル証明書を発行すると同時に、必要な公開情報を生成する。
【0008】
ステップ3:自動車事故発生後、ユーザは各情報を総合的に整理する。
【0009】
ステップ4:ユーザxが整理完了した情報msgは、クライアントノードを介してアイデンティティ認証ノードに送信される。
【0010】
ステップ5:ユーザ情報msgは各アイデンティティ認証ノード及びプロキシ再暗号化ノードに送信され、アイデンティティ認証ノードによって検証された後、P-DPoSアルゴリズムが実行されて、関連データをコンソーシアムチェーンに書き込む。
【0011】
ステップ6:新規ユーザx'はデータmsgx'を送信する前に、クライアントノードによりキーワードKeyに基づいてコンソーシアムチェーンに記憶されたデータを照会することができる。キーワードKeyは整備場所La、整備部品Comp、整備価格Pr及び整備時間Timeの個人情報のプライバシーに関与しない公開可能な情報を含み、Key→[La,Comp,Pr,Time]と表される。照会結果に基づいて、ユーザx'は適切な場所を選択して適切な価格で自動車の整備を完了することができる。
【0012】
ステップ7:ユーザxはデータを送信完了した後、適切なタイミングでmerkle root検証法によりデータの完全性と機密性を確認することができる。
【0013】
ステップ8:ユーザxが保険会社に補償を請求する場合、暗号化されたデータを保険会社に個別に公開する必要がある。
【0014】
さらに、ステップ2の具体的な実施ステップは下記の通りである。
ステップ2-1:ユーザ及び組織のアイデンティティの発行と管理を担当するコンソーシアムチェーンにおけるアイデンティティサービスノードとして、政府の信用承認で完全に信頼できるアイデンティティ認証ノードCAを選択する。
【0015】
ステップ2-2:コンセンサスに参加するノードは、アイデンティティ認証ノードCAによって権限が付与され、P-DPoSアルゴリズムの実行に参加でき、アイデンティティ認証ノードと呼ばれる。
【0016】
ステップ2-3:クライアントノードはフルウェイトクライアントとライトウェイトクライアントに分けられ、ユーザはライトウェイトクライアントノードにより整備データをアップロードし、検証処理のためにアイデンティティ認証ノードに送信することができ、ユーザはフルウェイトクライアントノードにより一部の公開可能な情報を照会することもできる。クライアントノードはコンセンサスに参加する権限がない。
【0017】
ステップ2-4:プロキシ再暗号化ノードはプロキシ再暗号化アルゴリズムの実行を担当し、具体的にこのようなノードにデプロイされたスマートコントラクトによって自動的に実行される。
【0018】
ステップ2-5:各参加ユーザはクライアントノードによりOpenSSLツールセットを使用して鍵ペアを生成することができ、任意のユーザxの場合、鍵ペアは(sk,vk)であり、skは秘密鍵であり、vkは公開鍵である。ユーザxはCSRコマンドを実行して、証明書certを取得し、さらに、参加ユーザxのインデックスind=vk mod 2を定義し、ここで、k=Bit(vk) DIV 4。
【0019】
ステップ2-6:アイデンティティ認証ノードCAは、アイデンティティ認証ノード毎にコンセンサススコアCs(i)を生成し、ind毎にセキュリティインデックスind_Srを生成する。
【0020】
さらに、ステップ3の具体的な実施ステップは下記の通りである。
ステップ3-1:ユーザxは事故発生後、保険購入証明書、車両走行証明書の基本情報を整理し、関連クレデンシャル情報Pr、個人アイデンティティ情報IDとして統計する。
【0021】
ステップ3-2:交通警察のデジタル署名付き事故鑑定書、保険会社の職員のデジタル署名付き調査報告書の証明情報を整理し、Rpとして統計する。
【0022】
ステップ3-3:ドライブレコーダーの映像情報、事故現場の写真情報のマルチメディア情報を整理し、Mdとして統計する。
【0023】
ステップ3-4:整備拠点、整備時間、整備部品、整備費用証明書の拠点のデジタル署名付き整備情報を整理し、Reとして統計すると同時に、キーワードKeyを生成し、他のユーザが検索できるように、一部の公開可能な整備データを指示する。
【0024】
さらに、ステップ4の具体的な実施ステップは下記の通りである。
ステップ4-1:ユーザの個人基本情報C=ESK(Ksym,(Pr,ID,ind_Sr))を計算し、ここで、KsymはSOKプロトコルによって生成された暗号化鍵である。次に、二重暗号化された個人基本情報C'=EPK(vk,C)を計算する。
【0025】
ステップ4-2:暗号化された補償請求情報C=EPK(vk,(Rp,Md,Re))を計算する。
【0026】
ステップ4-3:ユーザ情報msg=Combine(C',C,Key,ind,vk)を計算し、ここで、Keyには整備情報のキーワードが含まれているが、いかなるの個人のプライバシーは含まれない。他のユーザはKeyによりindのいかなるの実際の情報を知ることができない。
【0027】
上記のステップにおいて、EPKは軽量な公開鍵暗号化アルゴリズムであり、ESKは対称暗号化アルゴリズムである。
【0028】
さらに、ステップ5の具体的な実施ステップは下記の通りである。
ステップ5-1:各アイデンティティ認証ノードはmsgを受信した後、自体の公開鍵vkをプロキシ再暗号化ノードに送信し、該当ノードにおけるスマートコントラクトによって下記のようにプロキシ再暗号化アルゴリズムを実行する。
【0029】
ステップ5-1-1:プロキシ再暗号化ノードは受信したvkをindにフィードバックし、indクライアントノードにおけるスマートコントラクトは鍵RKskx→vkiを生成し、鍵をプロキシ再暗号化ノードに送信する。
【0030】
ステップ5-1-2:Proxyはxによって生成された鍵RKskx→vkiを使用して、暗号文Cをindの秘密鍵で復号可能な暗号文Ctiに変換し、Proxyは変換サービスのみを提供し、平文を取得できない。
【0031】
ステップ5-1-3:Proxyは変換された暗号文をindに送信し、indはスマートコントラクトにおけるgetTrans( )関数を呼び出して復号と検証を行う。検証完了後、upTrans( )関数を呼び出して、正当なmsgになるようにmsgの状態を変更する。
【0032】
ステップ5-2:P-DPoSコンセンサスアルゴリズムは選挙で授権代表を選出し、P-DPoSコンセンサスアルゴリズムは次のように実行される。
【0033】
ステップ5-2-1:コンセンサススコアCs(i)を持つ各アイデンティティ認証ノードは、信頼するアイデンティティ認証ノードに投票する必要があり、自身に投票することもできる。一ラウンドの投票後、最大投票数を持つ101個のノードは交代でアカウンティングする。これらの101個の授権代表に加えて、一定数の候補代表を選出する必要があり、その得票数は下記の公式によって計算される。
【0034】
ステップ5-2-2:101個のアカウンティングノードのうち、あるノードが新しいブロックの署名に失敗した場合、そのコンセンサススコアCs(i)を更新し、更新されたCs(i)は下記の通りである。
αは遅延時間Δtの線形関数である。
【0035】
ステップ5-2-3:Cs(i)が低すぎる代表は、出席するように投票される可能性がある。
【0036】
ステップ5-2-4:授権代表が出席するように投票された場合、候補代表列からヘッドノードを選択して授権代表列の最後に追加する。
【0037】
ステップ5-3:授権代表は鍵値ペア(key-value)の形でコンソーシアムチェーンのブロックにデータを書き込み、記録が正常に書き込まれると、記録送信側のユーザxのind_SRを更新する。各記録のヘッダーは、すべて授権代表のvkを引用する。ブロックにおいてmerkleツリーは各暗号文のhash値、すなわちデータ情報のインデックスを記憶しており、データ情報自体の実際の記憶アドレスはクラウドプラットフォームであり、各データ情報は特定のタイムスタンプを持っている。クラウドに記憶されたデータ暗号文は、複数のサブ暗号文に分割される。
【0038】
さらに、ステップ7及びそのmerkle root検証法の具体的な実施ステップは下記の通りである
ステップ7-1:ユーザは暗号化された暗号文E(msg)を複数の等しい長さのサブ暗号文に分割し、その数はnであり、e(e,e,....,en-1)と表記する。
【0039】
ステップ7-2:ユーザは乱数生成器を使用して、n個の乱数を生成し、r(r,r,....rn-1)と表記する。
【0040】
ステップ7-3:各eをrとマージして、hash=H(e+r)を取得する。
【0041】
ステップ7-4:n個のhashをmerkleツリーのリーフノードとし、最終的にmerkle root値を取得する。
【0042】
ステップ7-5:暗号文がn個のサブ暗号文に分割されてクラウド記憶サーバに保存される際に、各hashをクラウドに送信する必要がある。
【0043】
ステップ7-6:ユーザがあるデータの所有者であることを証明したい場合は、rをアップロードすればよく、rとあるサブ暗号文をマージして取得したhash値は、アップロードされたhashテーブルで検索できれば、前記ユーザがデータの所有者であることを証明することができる。
【0044】
ステップ7-7:ユーザはすべてのrをアップロードし、e毎にhash値を計算して、root値を取得してもよい。前記root値がmerkle root値と同じであれば、データの完全性を証明する。
【0045】
さらに、ステップ8の具体的な実施方法は下記の通りである。
ステップ8-1:ユーザxは、プロキシ再暗号化ノードによりクラウドに記憶された暗号文を、保険会社の秘密鍵で復号可能な暗号文に変換する。
【0046】
ステップ8-2:保険会社は、関連整備データを検証した後、ユーザxの実際のアイデンティティ情報を取得する。
【0047】
ステップ8-3:実際のアイデンティティの取得は、アイデンティティに基づく鍵共有システム、すなわちSOKプロトコルによって完了する。
【0048】
ステップ8-4:誤りがないことを確認した後、補償を完了する。
【0049】
ステップ8-5:ユーザxが保険会社から保険を再度購入する必要がある場合、保険会社はそのセキュリティインデックスind_Srを照会し、ind_Srに基づいて合理的な保険費用を決定すればよい。
【発明の効果】
【0050】
本発明は、以下の有益な効果を有する。
(1)コンソーシアムチェーンを主とするブロックチェーン技術を用いて、関連する整備データが分散保存され、紛失したり悪意的に削除されたりする問題を解決する。統一された三者間のコミュニケーションと情報共有のチャネルを提供する。
【0051】
(2)ブロックチェーン技術とクラウド記憶技術を組み合わせることにより、論理的ブロックチェーン記憶、物理的クラウド記憶を実現し、ブロックの過大な問題を回避するとともに、一部のデータの公開と共有を実現する。
【0052】
(3)merkleツリールート検証方法を採用して、クラウドデータの完全性と保密性を確保する。
【0053】
(4)改良されたDPOSアルゴリズムを採用し、システムオーバーヘッドを削減し、コンセンサス効率を向上させるとともに、POSに比べてよりよく脱中心化できる。
【0054】
(5)プロキシ再暗号化、SOKプロトコル、軽量な暗号化アルゴリズムなどの暗号学方法を採用して、個人情報のプライバシーとデータのプライバシーを保護する。
【図面の簡単な説明】
【0055】
図1】本発明の実施形態におけるシステムモデル図である。
図2】本発明の実施形態におけるコンソーシアムチェーンのブロック構造の概略図である。
図3】本発明の実施形態におけるプロキシ再暗号化の概略図である。
図4】発明の具体的なフローチャートである。
【発明を実施するための形態】
【0056】
以下、図面を参照して本発明の技術的手段についてさらに詳細に説明する。
【0057】
本発明にかかるいくつかの重要な用語及び制約について、下記のように説明する。
【0058】
AES暗号化アルゴリズムとECC暗号化アルゴリズム:AES暗号化アルゴリズムは、多くの対称暗号化アルゴリズムの一つであり、従来のDES、3DES暗号化アルゴリズムに比べて、より高い安全性を有する。ECC暗号化アルゴリズムのフルネームは、楕円曲線暗号化アルゴリズムと呼ばれ、ブロックチェーンで一般的に使用される非対称暗号化アルゴリズムであり、従来の非対称暗号化アルゴリズムに比べて、より高い安全性とよりよい性能を有する。AES暗号化アルゴリズムとECC暗号化アルゴリズムの具体的な設計及び実現は、本発明の特許によって保護される内容ではなく、本発明を実現するための技術的手段にすぎない。
【0059】
getTrans( )関数とupTrans( )関数:getTrans( )関数とupTrans( )関数は、分散ノードにデプロイされ、自動的に実行可能なプログラムコードであり、スマートコントラクトの具体的な実現である。getTrans( )関数は、受信した暗号文を自動的に復号し、対応する検証作業を行う。upTrans( )関数は、getTrans( )関数の実行終了後に、検証に合格した暗号文の状態を正当な状態に変更する。getTrans( )関数とupTrans( )関数の具体的な実現は、本発明の特許によって保護される内容ではなく、本発明を実現するための技術的手段にすぎない。
【0060】
Merkleツリー:Merkleツリーは、ブロックチェーンの重要なデータ構造であり、ハッシュバイナリツリーであり、Merkleツリーのリーフノードにトランザクションハッシュが保存され、任意のリーフノードのデータが変化すると、ルートノードに一級ずつアップロードされ、ルートノードのハッシュ値の変化を引き起こす。Merkleツリーの設計及び具体的な実現は、本発明の特許によって保護される内容ではなく、本発明を実現するための技術的手段にすぎない。
【0061】
SOKプロトコル:SOKプロトコルは、多くの鍵交換アルゴリズムの一つであり、アイデンティティに基づく鍵共有システムであり、特定のアイデンティティ属性を満たす鍵共有の両方が共有鍵を生成し、具体的なメカニズムはDiffie-Hellman鍵合意プロトコルに類似する。SOKプロトコルの設計及び具体的な実現は、本発明の特許によって保護される内容ではなく、本発明を実現するための技術的手段にすぎない。
【0062】
下記のステップを含むコンソーシアムチェーンに基づく自動車整備データの記憶方法である。
ステップ1:システムを初期化する。システム全体はアイデンティティ認証ノードCA、クライアントノード、プロキシ再暗号化ノード、及び参加ユーザからなり、コンソーシアムチェーンに関連データインデックス情報のみが保存され、実際のデータ内容については、コンソーシアムチェーンのクラウド記憶サーバに保存される。
【0063】
ステップ2:アイデンティティ認証ノードCAは、システム全体における参加ユーザの役割に応じて異なる権限を付与し、参加ユーザにデジタル証明書を発行すると同時に、必要な公開情報を生成する。
【0064】
ステップ2の具体的な実施ステップは下記の通りである。
ステップ2-1:ユーザ及び組織のアイデンティティの発行と管理を担当するコンソーシアムチェーンにおけるアイデンティティサービスノードとして、政府の信用承認で完全に信頼できるアイデンティティ認証ノードCAを選択する。
【0065】
ステップ2-2:コンセンサスに参加するノードは、アイデンティティ認証ノードCAによって権限が付与され、P-DPoSアルゴリズムの実行に参加でき、アイデンティティ認証ノードと呼ばれる。
【0066】
ステップ2-3:クライアントノードはフルウェイトクライアントとライトウェイトクライアントに分けられ、ユーザはライトウェイトクライアントノードにより整備データをアップロードし、検証処理のためにアイデンティティ認証ノードに送信することができ、ユーザはフルウェイトクライアントノードにより一部の公開可能な情報を照会することもできる。クライアントノードはコンセンサスに参加する権限がない。
【0067】
ステップ2-4:プロキシ再暗号化ノードはプロキシ再暗号化アルゴリズムの実行を担当し、具体的にこのようなノードにデプロイされたスマートコントラクトによって自動的に実行される。
【0068】
ステップ2-5:各参加ユーザはクライアントノードによりOpenSSLツールセットを使用して鍵ペアを生成することができ、任意のユーザxの場合、鍵ペアは(sk,vk)であり、skは秘密鍵であり、vkは公開鍵である。ユーザxはCSRコマンドを実行して、証明書certを取得し、さらに、参加ユーザxのインデックスind=vk mod 2を定義し、ここで、k=Bit(vk) DIV 4。
【0069】
ステップ2-6:暗号通貨であるビットシェアーズを導入する必要がある従来のDPoSメカニズムとは異なり、アイデンティティ認証ノードCAは、アイデンティティ認証ノード毎にコンセンサススコアCs(i)を生成し、ind毎にセキュリティインデックスind_Srを生成する。
【0070】
ステップ3:自動車事故発生後、ユーザは各情報を総合的に整理する。
【0071】
ステップ3の具体的な実施ステップは下記の通りである。
ステップ3-1:事故発生後、ユーザxは保険購入証明書、車両走行証明書などの関連クレデンシャル情報Pr、個人アイデンティティ情報IDを整理する。
【0072】
ステップ3-2:交通警察のデジタル署名付き事故鑑定書、保険会社の職員のデジタル署名付き調査報告書の証明情報を整理し、Rpとして統計する。
【0073】
ステップ3-3:ドライブレコーダーの映像情報、事故現場の写真情報などのマルチメディア情報を整理し、Mdとして統計する。
【0074】
ステップ3-4:整備拠点、整備時間、整備部品、整備費用証明書などの拠点のデジタル署名付き整備情報Reを整理すると同時に、キーワードKeyを生成し、他のユーザが検索できるように、一部の公開可能な整備データを指示する。
【0075】
ステップ4:ユーザxが整理完了した情報msgは、クライアントノードを介してアイデンティティ認証ノードに送信される。
【0076】
ステップ4の具体的な実施ステップは下記の通りである。
ステップ4-1:ユーザの個人基本情報C=ESK(Ksym,(Pr,ID,ind_Sr))を計算し、ここで、KsymはSOKプロトコルによって生成された暗号化鍵である。次に、二重暗号化された個人基本情報C'=EPK(vk,C)を計算する。
【0077】
ステップ4-2:暗号化された補償請求情報C=EPK(vk,(Rp,Md,Re))を計算する。
【0078】
ステップ4-3:ユーザ情報msg=Combine(C',C,Key,ind,vk)を計算し、ここで、Keyには整備情報のキーワードが含まれているが、いかなるの個人のプライバシーは含まれない。他のユーザはKeyによりindのいかなるの実際の情報を知ることができない。
【0079】
上記のステップにおいて、EPKは軽量な公開鍵暗号化アルゴリズムであり、ESKは対称暗号化アルゴリズムである。
【0080】
ステップ5:ユーザ情報msgは各アイデンティティ認証ノード及びプロキシ再暗号化ノードに送信され、アイデンティティ認証ノードによって検証された後、P-DPoSアルゴリズムが実行されて、関連データをコンソーシアムチェーンに書き込む。
【0081】
ステップ5の具体的な実施ステップは下記の通りである。
ステップ5-1:各アイデンティティ認証ノードはmsgを受信した後、自体の公開鍵vkをプロキシ再暗号化ノードに送信し、該当ノードにおけるスマートコントラクトによって下記のようにプロキシ再暗号化アルゴリズムを実行する。
【0082】
ステップ5-1-1:プロキシ再暗号化ノードは受信したvkをindにフィードバックし、indクライアントノードにおけるスマートコントラクトは鍵RKskx→vkiを生成し、鍵をプロキシ再暗号化ノードに送信する。
【0083】
ステップ5-1-2:Proxyはxによって生成された鍵RKskx→vkiを使用して、暗号文Cをindの秘密鍵で復号可能な暗号文Ctiに変換し、Proxyは変換サービスのみを提供し、平文を取得できない。
【0084】
ステップ5-1-3:Proxyは変換された暗号文をindに送信し、indはスマートコントラクトにおけるgetTrans( )関数を呼び出して復号と検証を行う。検証完了後、upTrans( )関数を呼び出して、正当なmsgになるようにmsgの状態を変更する。
【0085】
ステップ5-2:P-DPoSコンセンサスアルゴリズムは選挙で授権代表を選出し、P-DPoSコンセンサスアルゴリズムは次のように実行される。
【0086】
ステップ5-2-1:コンセンサススコアCs(i)を持つ各アイデンティティ認証ノードは、信頼するアイデンティティ認証ノードに投票する必要があり、自身に投票することもできる。一ラウンドの投票後、最大投票数を持つ101個のノードは交代でアカウンティングする。これらの101個の授権代表に加えて、一定数の候補代表を選出する必要があり、その得票数は下記の公式によって計算される。
【0087】
ステップ5-2-2:101個のアカウンティングノードのうち、あるノードが新しいブロックの署名に失敗した場合、そのコンセンサススコアCs(i)を更新し、更新されたCs(i)は下記の通りである。
αは遅延時間Δtの線形関数である。
【0088】
ステップ5-2-3:Cs(i)が低すぎる代表は、出席するように投票される可能性がある。
【0089】
ステップ5-2-4:授権代表が出席するように投票された場合、候補代表列からヘッドノードを選択して授権代表列の最後に追加する。
【0090】
ステップ5-3:授権代表は鍵値ペア(key-value)の形でコンソーシアムチェーンのブロックにデータを書き込み、記録が正常に書き込まれると、記録送信側のユーザxのind_SRを更新する。各記録のヘッダーは、すべて授権代表のvkを引用する。ブロックにおいてmerkleツリーは各暗号文のhash値、すなわちデータ情報のインデックスを記憶しており、データ情報自体の実際の記憶アドレスはクラウドプラットフォームであり、各データ情報は特定のタイムスタンプを持っている。クラウドに記憶されたデータ暗号文は、複数のサブ暗号文に分割される。
【0091】
ステップ6:新規ユーザx'はデータmsgx'を送信する前に、クライアントノードによりキーワードKeyに基づいてコンソーシアムチェーンに記憶されたデータを照会することができる。キーワードKeyは、整備場所La、整備部品Comp、整備価格Pr及び整備時間Timeなどの個人情報のプライバシーに関与しない公開可能な情報を含み、Key→[La,Comp,Pr,Time]と表される。照会結果に基づいて、ユーザx'は適切な場所を選択して適切な価格で自動車の整備を完了することができる。
【0092】
ステップ7:ユーザxはデータを送信完了した後、適切なタイミングでmerkle root検証法によりデータの完全性と機密性を確認することができる。
【0093】
ステップ7及びそのmerkle root検証法の具体的な実施ステップは下記の通りである。
ステップ7-1:ユーザは暗号化された暗号文E(msg)を複数の等しい長さのサブ暗号文に分割し、その数はnであり、e(e,e,....,en-1)と表記する。
【0094】
ステップ7-2:ユーザは乱数生成器を使用して、n個の乱数を生成し、r(r,r,....rn-1)と表記する。
【0095】
ステップ7-3:各eをrとマージして、hash=H(e+r)を取得する。
【0096】
ステップ7-4:n個のhashをmerkleツリーのリーフノードとし、最終的にmerkle root値を取得する。
【0097】
ステップ7-5:暗号文がn個のサブ暗号文に分割されてクラウド記憶サーバに保存される際に、各hashをクラウドに送信する必要がある。
【0098】
ステップ7-6:ユーザがあるデータの所有者であることを証明したい場合は、rをアップロードすればよく、rとあるサブ暗号文をマージして取得したhash値は、アップロードされたhashテーブルで検索できれば、前記ユーザがデータの所有者であることを証明することができる。
【0099】
ステップ7-7:ユーザはすべてのrをアップロードし、e毎にhash値を計算して、root値を取得してもよい。前記root値がmerkle root値と同じであれば、データの完全性を証明する。
【0100】
ステップ8:ユーザxが保険会社に補償を請求する場合、暗号化されたデータを保険会社に個別に公開する必要がある。
【0101】
ステップ8の具体的な実施方法は下記の通りである。
ステップ8-1:ユーザxは、プロキシ再暗号化ノードによりクラウドに記憶された暗号文を、保険会社の秘密鍵で復号可能な暗号文に変換する。
【0102】
ステップ8-2:保険会社は、関連整備データを検証した後、ユーザxの実際のアイデンティティ情報を取得する。
【0103】
ステップ8-3:実際のアイデンティティの取得は、アイデンティティに基づく鍵共有システム、すなわちSOKプロトコルによって完了する。
【0104】
ステップ8-4:誤りがないことを確認した後、補償を完了する。
【0105】
ステップ8-5:ユーザxが保険会社から保険を再度購入する必要がある場合、保険会社はそのセキュリティインデックスind_Srを照会し、ind_Srに基づいて合理的な保険費用を決定すればよい。
【0106】
上記の説明は、本発明の好ましい実施形態にすぎず、本発明の保護範囲は、上記の実施形態に限定されず、本発明の開示に基づいて当業者が行う等効の修正または変更は、いずれも本発明の特許範囲に含まれるものとする。
図1
図2
図3
図4
【国際調査報告】