(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-05-08
(54)【発明の名称】スマート契約を用いる信頼実行環境のデータ処理方法、及びデータ処理方法を遂行するためのコマンドを含むコンピュータ読取可能記録媒体
(51)【国際特許分類】
G06Q 50/18 20120101AFI20240426BHJP
H04L 9/32 20060101ALI20240426BHJP
G06F 21/64 20130101ALI20240426BHJP
G06F 21/60 20130101ALI20240426BHJP
【FI】
G06Q50/18
H04L9/32 200Z
G06F21/64
G06F21/60
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023569834
(86)(22)【出願日】2022-05-10
(85)【翻訳文提出日】2023-11-30
(86)【国際出願番号】 KR2022006652
(87)【国際公開番号】W WO2022240136
(87)【国際公開日】2022-11-17
(31)【優先権主張番号】10-2021-0060045
(32)【優先日】2021-05-10
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2022-0057152
(32)【優先日】2022-05-10
(33)【優先権主張国・地域又は機関】KR
(81)【指定国・地域】
(71)【出願人】
【識別番号】518148009
【氏名又は名称】サイフェローム
(74)【代理人】
【識別番号】110000051
【氏名又は名称】弁理士法人共生国際特許事務所
(72)【発明者】
【氏名】キム,ヒョン ジュン
【テーマコード(参考)】
5L050
【Fターム(参考)】
5L050CC32
(57)【要約】
【課題】データ処理主体のデータ閲覧を遮断して、データの外部流出を防止して、データを提供した主体のプライバシーを安全に保護できるスマート契約を用いる信頼実行環境のデータ処理方法を提供する。
【解決手段】本発明のデータ処理方法は、配布されたスマート契約に沿ってクライアント端末機からの資料処理要請に応答してデータ処理プラットフォームサーバーで資料処理コードと暗号化キーを含む信頼実行環境が生成される段階と、信頼実行環境が暗号化された第1データをデータ所有端末機から獲得する段階と、信頼実行環境が第1データを復号化する段階と、信頼実行環境が復号化された第1データを資料処理コードによって処理して資料処理結果を生成する段階と、信頼実行環境が資料処理結果をクライアント端末機に提供する段階と、信頼実行環境がスマート契約によって自家削除される段階と、を含む。
【選択図】
図5
【特許請求の範囲】
【請求項1】
ブロックチェーン上に配布されたスマート契約に沿ってクライアント端末機から受信された資料処理要請に応答してデータ処理プラットフォームサーバーで資料処理コードと暗号化キーを含む信頼実行環境が生成される段階と、前記信頼実行環境が前記暗号化キーでさらに暗号化された第1データをデータ所有端末機から獲得する段階と、前記信頼実行環境が前記第1データを復号化する段階と、前記信頼実行環境が復号化された第1データを前記資料処理コードによって処理して資料処理結果を生成する段階と、前記信頼実行環境が前記資料処理結果を前記クライアント端末機に提供する段階と、前記信頼実行環境が前記スマート契約に沿って自家削除される段階と、を含むことを特徴とするスマート契約を用いる信頼実行環境のデータ処理方法。
【請求項2】
前記信頼実行環境が生成される段階は、任意の前記資料処理コード及び前記暗号化キーが生成されない原始信頼実行環境を生成する段階と、前記原始信頼実行環境を基に前記資料処理要請に対応する前記資料処理コードと前記暗号化キーを含む前記信頼実行環境を生成する段階と、を含むことを特徴とする請求項1に記載のスマート契約を用いる信頼実行環境のデータ処理方法。
【請求項3】
前記原始信頼実行環境を生成する段階は、前記原始信頼実行環境の第1イメージ実行ファイルを生成して、前記第1イメージ実行ファイルに対する第1ハッシュ値を生成して、前記第1ハッシュ値を含むトランザクションを生成して前記ブロックチェーンに記録することを特徴とする請求項2に記載のスマート契約を用いる信頼実行環境のデータ処理方法。
【請求項4】
前記資料処理要請に対応する前記資料処理コードと前記暗号化キーを含む前記信頼実行環境を生成する段階は、前記信頼実行環境の第2イメージ実行ファイルを生成して、前記第2イメージ実行ファイルに対する第2ハッシュ値を生成して、前記第2ハッシュ値を含むトランザクションを生成して前記ブロックチェーンに記録することを特徴とする請求項2に記載のスマート契約を用いる信頼実行環境のデータ処理方法。
【請求項5】
前記資料処理結果を前記クライアント端末機に提供する段階以後に、前記信頼実行環境が前記スマート契約の履行が完了したことを確認する段階をさらに含むことを特徴とする請求項1に記載のスマート契約を用いる信頼実行環境のデータ処理方法。
【請求項6】
前記信頼実行環境は前記スマート契約が存続される期間の間のみ有効性を維持することを特徴とする請求項1に記載のスマート契約を用いる信頼実行環境のデータ処理方法。
【請求項7】
前記信頼実行環境は仮想実行環境であることを特徴とする請求項1に記載のスマート契約を用いる信頼実行環境のデータ処理方法。
【請求項8】
前記信頼実行環境は前記データ処理プラットフォームサーバーで前記スマート契約の履行のために少なくとも1つが生成されることを特徴とする請求項1に記載のスマート契約を用いる信頼実行環境のデータ処理方法。
【請求項9】
前記暗号化キーは前記信頼実行環境の個人キーと公開キーの対からなる非対称キーであることを特徴とする請求項1に記載のスマート契約を用いる信頼実行環境のデータ処理方法。
【請求項10】
前記暗号化された第1データは前記信頼実行環境の前記公開キーによって暗号化されたものであることを特徴とする請求項9に記載のスマート契約を用いる信頼実行環境のデータ処理方法。
【請求項11】
前記クライアント端末機に提供する段階は、前記クライアント端末機の公開キーを利用して前記資料処理結果を暗号化と前記ブロックチェーンに返還することで、前記資料処理結果を前記クライアント端末機に提供することを特徴とする請求項1に記載のスマート契約を用いる信頼実行環境のデータ処理方法。
【請求項12】
前記スマート契約によって自家削除される段階は、自家削除コマンドを実行する段階と、前記資料処理コード及び前記復号化された第1データを含む信頼実行環境が削除される段階と、を含むことを特徴とする請求項1に記載のスマート契約を用いる信頼実行環境のデータ処理方法。
【請求項13】
前記自家削除コマンドを実行する段階は、前記自家削除コマンドを実行して、前記自家削除コマンドの実行を示すフラグを生成した後、前記フラグを含むトランザクションを生成して前記ブロックチェーンに記録することを特徴とする請求項12に記載のスマート契約を用いる信頼実行環境のデータ処理方法。
【請求項14】
1つ以上のプログラムを保存するコンピュータ読取可能保存媒体で、前記1つ以上のプログラムは、電子装置の1つ以上のプロセッサーにより実行されるように構成されて、前記1つ以上のプログラムは、請求項1ないし9の中の任意の一項の方法を遂行するためのコマンドを含むことを特徴とするコンピュータ読取可能記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はスマート契約を用いる信頼実行環境のデータ処理方法に関する。
【背景技術】
【0002】
ブロックチェーン(Block chain)は脱中央化した分散システムである。脱中央化とは、機能遂行のために1つの中央機関が存在せず、多数の参加者が共に遂行していくことを意味する。基本的にブロックチェーンネットワークはP2Pネットワークで構成され、合意アルゴリズムを活用して共通した過程を経てブロックを生成する。ハッシュの活用はブロックチェーンで中心的であり、ハッシュと共に多数の参加者が同じデータを通じて同じ処理をするという点が結合されてデータの偽変造を防止する。
【0003】
スマート契約(smart contract)は資産及び信頼に対する部分を扱うブロックチェーンを基にして契約の履行が自動で行われるように助けする一連のプログラミングコードである。開発者が作成したコード内容がブロックチェーンの1つのブロックに存在し、使用者はスマート契約アドレスにアクセスして該コードを実行させることができる。
【0004】
スマート契約と呼ぶ理由は一般的取引内容のようにスマートコントラクトのコード内容もブロック情報に含まれるため操作が不可能であり、コーディングされた内容によってプログラムが動作するので、契約のように決まった内容を作業するのに適しているためである。
【0005】
イーサリアム(Ethereum)で作成されるスマートコントラクトはソリディティ(Solidity)言語を活用して、EVM上で動作する。イーサリアムスマート契約を専門的に実行するための仮想マシンをイーサリアム仮想マシン(Ethereum Virtual Machine、EVM)と称し、イーサリアムスマート契約はsolidity、viperなどの言語で作成されて、ブロックチェーン分野で広く応用されて使用されている。
【0006】
イーサリアムネットワークのスマートコントラクトに係る情報を提供する方法として多様なモニターリングウェブアプリケーションが存在し、最も代表的なものとしてイーサリアムで提供するイーサスキャン(EtheRESCan)と、視覚的な形態に情報を提供するアリビオ(Alvio)、Solidity IDEであるリミックス(Remix)などが存在する。
【発明の概要】
【発明が解決しようとする課題】
【0007】
本発明が実現しようとする技術的な課題は、データ処理主体のデータ閲覧を遮断して、データの外部流出を防止して、データを提供した主体のプライバシーを安全に保護できるスマート契約を用いる信頼実行環境のデータ処理方法を提供することである。
【課題を解決するための手段】
【0008】
本発明の実施例によるスマート契約を用いる信頼実行環境のデータ処理方法は、ブロックチェーン上に配布されたスマート契約に沿ってクライアント端末機から受信された資料処理要請に応答してデータ処理プラットフォームサーバーで資料処理コードと暗号化キーを含む信頼実行環境が生成される段階と、前記信頼実行環境が前記暗号化キーでより暗号化された第1データをデータ所有端末機から獲得する段階と、前記信頼実行環境が前記第1データを復号化する段階と、前記信頼実行環境が復号化された第1データを前記資料処理コードによって処理して資料処理結果を生成する段階と、前記信頼実行環境が前記資料処理結果を前記クライアント端末機に提供する段階と、前記信頼実行環境が前記スマート契約に沿って自家削除される段階を含む。
【0009】
実施例によって、前記信頼実行環境が生成される段階は、任意の前記資料処理コード及び前記暗号化キーが生成されない原始信頼実行環境を生成する段階と、前記原始信頼実行環境を基に前記資料処理要請に対応する前記資料処理コードと前記暗号化キーを含む前記信頼実行環境を生成する段階を含むことができる。
【0010】
実施例によって、前記原始信頼実行環境を生成する段階は、前記原始信頼実行環境の第1イメージ実行ファイルを生成して、前記第1イメージ実行ファイルに対する第1ハッシュ値を生成して、前記第1ハッシュ値を含むトランザクションを生成して前記ブロックチェーンに記録することができる。
【0011】
実施例によって、前記資料処理要請に対応する前記資料処理コードと前記暗号化キーを含む前記信頼実行環境を生成する段階は、前記信頼実行環境の第2イメージ実行ファイルを生成して、前記第2イメージ実行ファイルに対する第2ハッシュ値を生成して、前記第2ハッシュ値を含むトランザクションを生成して前記ブロックチェーンに記録することができる。
【0012】
実施例によって、前記スマート契約を用いる信頼実行環境のデータ処理方法は、前記資料処理結果を前記クライアント端末機に提供する段階の以後に、前記信頼実行環境が前記スマート契約の履行が完了したことを確認する段階をさらに含むことができる。
【0013】
実施例によって、前記信頼実行環境は前記スマート契約が存続される期間の間のみ有効性を維持することができる。
【0014】
実施例によって、前記信頼実行環境は仮想実行環境であることができる。
【0015】
実施例によって、前記信頼実行環境は前記データ処理プラットフォームサーバーで前記スマート契約の履行のために少なくとも1つが生成されることができる。
【0016】
実施例によって、前記暗号化キーは前記信頼実行環境の個人キーと公開キーの対からなる非対称キーであることができる。
【0017】
実施例によって、前記暗号化された第1データは前記信頼実行環境の前記公開キーによって暗号化されたものであることができる。
【0018】
実施例によって、前記クライアント端末機に提供する段階は、前記クライアント端末機の公開キーを利用して前記資料処理結果を暗号化し、前記ブロックチェーンに返還することで、前記資料処理結果を前記クライアント端末機に提供することができる。
【0019】
実施例によって、前記スマート契約に沿って自家削除される段階は、自家削除コマンドを実行する段階と、前記資料処理コード及び前記復号化された第1データを含む信頼実行環境が削除される段階を含むことができる。
【0020】
実施例によって、前記自家削除コマンドを実行する段階は、前記自家削除コマンドを実行して、前記自家削除コマンドの実行を示すフラグを生成した後、前記フラグを含むトランザクションを生成して前記ブロックチェーンに記録することができる。
【発明の効果】
【0021】
本発明の実施例によるスマート契約を用いる信頼実行環境のデータ処理方法によれば、スマート契約が終了する場合、信頼実行環境を自家削除すると同時に保存されているデータも消去することによって、収集されたデータが外部に流出することを防止し、データ処理プラットフォームサーバーの運営主体によるデータ閲覧を基本的に遮断してデータ主体のプライバシーを保護することができる。
【0022】
また、本発明の実施例によるスマート契約を用いる信頼実行環境のデータ処理方法によれば、スマート契約ごとに独立して実行される信頼実行環境を利用して多数のスマート契約を同時に履行することができる。
【0023】
また、本発明の実施例によるスマート契約を用いる信頼実行環境のデータ処理方法によれば、自家削除コマンドのフラグをブロックチェーンに記録することによって、データの提供を受けた信頼実行環境が安定して除去されて、データが外部に流出せず安全に消去されたことを保障することができる。
【0024】
また、本発明の実施例によるスマート契約を用いる信頼実行環境のデータ処理方法によれば、クライアント端末機は資料処理に必要なデータを直接収集するか、処理しなくても、所望のデータ処理結果を得ることができ、クライアント端末機に資料処理に必要なデータが露出しないため、データを提供した主体のプライバシーを安全に保護することができる。
【図面の簡単な説明】
【0025】
【
図1】本発明の実施例によるデータ処理システムの概略的なブロック図である。
【
図2】本発明の実施例によるスマート契約を用いる信頼実行環境のデータ処理方法を説明するための図面である。
【
図3】本発明の他の実施例によるスマート契約を用いる信頼実行環境のデータ処理方法を説明するための図面である。
【
図4】本発明の実施例によるスマート契約を説明するための図面である。
【
図5】本発明の実施例によるスマート契約を用いる信頼実行環境のデータ処理方法を説明するための流れ図である。
【発明を実施するための形態】
【0026】
本発明の利点及び特徴、そしてそれらを達成する方法は添付図面と共に詳細に後述される実施例を参照すれば明確になる。しかし、本発明は以下で開示される実施例に制限されず、互いに異なる多様な形態に具現でき、本実施例は本発明の開示が完全になるようにし、本発明が属する技術分野の通常の技術者に本発明の範疇を完全に教えるために提供されるものであり、本発明は請求項の範疇により定義される。
【0027】
本明細書で使う用語は実施例を説明するためのものであり、本発明を制限するためのものではない。本明細書で、単数型は語句で特別に言及しない限り複数型を含む。明細書で使われる「含む(comprises)」及び/または「含む(comprising)」は言及された構成要素の他に1つ以上の他の構成要素の存在または追加を排除しない。明細書全体にわたって同じ図面符号は同じ構成要素を示し、「及び/または」は言及された構成要素のそれぞれ及び1つ以上の全ての組合を含む。たとえば「第1」、「第2」などが多様な構成要素を説明するために使われるが、これら構成要素はこれらの用語により制限されない。これらの用語は1つの構成要素を他の構成要素と区別するために使用するものである。したがって、以下で言及される第1構成要素は本発明の技術的思想内で第2構成要素であることができる。
【0028】
他の定義がなければ、本明細書で使われる全ての用語(技術及び科学的用語を含む)は本発明が属する技術分野の通常の技術者に共通的に分かる意味で使われることができる。また、一般的に使われている、事前に定義されている用語は、明白に特別に定義されていない限り、理想的にまたは過度に解析されない。
【0029】
図1は本発明の実施例によるデータ処理システムの概略的なブロック図である。
【0030】
図1を参照すれば、本発明の実施例によるデータ処理システムはデータ処理プラットフォームサーバー(100)、データ所有端末機(200)、及びクライアント端末機(300)を含む。
【0031】
データ処理プラットフォームサーバー(100)はオンラインネットワークをホスティングすることができ、ネットワークアドレス指定が可能な装置で、データ所有端末機(200)及びクライアント端末機(300)にオンライン上でデータが共有されるデータ処理プラットフォームを提供することができる。データ処理プラットフォームサーバー(100)はデータ処理プラットフォームを通じてブロックチェーン上でスマート契約の生成、配布、履行、及び終了などの一連の過程を遂行することができる。
【0032】
データ処理プラットフォームサーバー(100)は資料処理のためのスマート契約を生成してブロックチェーンに配布することができる。資料処理のためのスマート契約はブロックチェーン上で既設定された条件が満たされれば、自動で締結される電子契約で、データ処理プラットフォームサーバー(100)はデータの収集、分析、結果導出などデータ処理に必要な一連の契約内容が記録されたスマート契約を生成してブロックチェーンに配布することができる。
【0033】
ブロックチェーンのブロックにはスマート契約が記録され、ブロックチェーン上でスマート契約が実行されることができる。例えば、ブロックチェーンはイーサリアムブロックチェーンに具現され、ソリディティ(solidity)、バイパー(viper)などで作成されたスマート契約はイーサリアム仮想マシン(Ethereum Virtual Machine、EVM)を通じてブロックチェーンに配布されることができる。また、ブロックチェーン内の全てのトランザクションはSHA-256にハッシュされてハッシュ値が保存されることができ、ブロックチェーンのブロックには個人のプライバシーを保護して過負荷を防止するためにハッシュ値が保存されることができる。
【0034】
データ処理プラットフォームサーバー(100)が配布するスマート契約はクライアント端末機(300)から既設定された規約に符合する資料処理要請が受信される場合、自動で契約が締結され、資料処理要請に応答して資料処理結果が返還される場合、契約が終了することができる。
【0035】
ここで、資料処理要請はデータ処理プラットフォームサーバー(100)により処理可能なデータ処理要請に関するもので、データ処理に必要な資料処理コードはクライアント端末機(300)から提供を受けるか、データ処理プラットフォームサーバー(100)により生成されることができる。
【0036】
例えば、データ処理プラットフォームサーバー(100)とクライアント端末機(300)の間のスマート契約が締結されれば、データ処理プラットフォームサーバー(100)はクライアント端末機(300)がブロックチェーンに提供した資料処理コードを獲得してデータ処理に利用することができる。
【0037】
例えば、データ処理プラットフォームサーバー(100)とクライアント端末機(300)の間のスマート契約が締結されれば、データ処理プラットフォームサーバー(100)は資料処理要請に必要な処理モデルを自ら判断した後、判断された処理モデルをリードしてデータ処理に利用することができる。
【0038】
データ処理プラットフォームサーバー(100)で運営するデータ処理プラットフォームはスマート契約が締結されれば、資料処理のための信頼実行環境(Trusted Execution Environment、TEE)を生成する。すなわち、データ処理プラットフォームサーバー(100)はクライアント端末機(300)から資料処理要請を受信すれば、資料処理要請に応答して資料処理コードと暗号化キーを含む信頼実行環境を生成する。
【0039】
具体的に、データ処理プラットフォームサーバー(100)は信頼実行環境の生成の源泉になる原始信頼実行環境を生成できる。原始信頼実行環境は任意の資料処理コードと暗号化キーが生成されない仮想実行環境を意味する。
【0040】
実施例によって、データ処理プラットフォームサーバー(100)はイメージ実行ファイルに具現された原始信頼実行環境が生成されれば、イメージ実行ファイルに対するハッシュ値を生成して、前記ハッシュ値を含むトランザクションを生成してブロックチェーンに記録することができる。それにより、データ処理プラットフォームサーバー(100)は信頼実行環境の生成のための原始信頼実行環境が生成されたことを外部に公開することができる。
【0041】
原始信頼実行環境は独立したセキュリティ領域(Secure Area)が提供する安全な実行環境で、仮想の実行環境を具現するためのイメージ実行ファイルに生成されることができる。ただし、これに限定されるのではなく、原始信頼実行環境はハードウェア基盤ソリューション及びハードウェア/ソフトウェア基盤ソリューションの中の何れか1つに具現できる。
【0042】
データ処理プラットフォームサーバー(100)は原始信頼実行環境を基に資料処理要請に対応する資料処理コードと暗号化キーを含む信頼実行環境を生成することができる。信頼実行環境は原始実行環境と同様に独立したセキュリティ領域(Secure Area)が提供する安全な実行環境で、仮想の実行環境を具現するためのイメージ実行ファイルに生成されることができる。
【0043】
信頼実行環境の暗号化キーは外部所有アカウント(Eternally Owned AddRESs、EOA)で、ブロックチェーン参加者の固有性を示すための公開キー/非公開キーの対基盤のメカニズムを使用することができる。信頼実行環境はアカウントアドレスを生成する時、256ビット乱数を生成して、これを個人キーで設定して、楕円曲線暗号学アルゴリズム(elliptic cryptography algorithm)を通じて個人キーで適用して固有な公開キーを抽出することができる。このような過程により生成された信頼実行環境の公開キーはブロックチェーンを通じて外部に公開されて、公開キーで暗号化したデータは信頼実行環境の個人キーでのみ復元ができるように設定される。
【0044】
実施例によって、データ処理プラットフォームサーバー(100)はイメージ実行ファイルに具現された信頼実行環境が生成されれば、イメージ実行ファイルに対するハッシュ値を生成して、前記ハッシュ値を含むトランザクションを生成してブロックチェーンに記録することができる。それにより、データ処理プラットフォームサーバー(100)はスマート契約に相応する信頼実行環境が変造または偽造されず、安全に実行されたことを外部に公開することができる。
【0045】
信頼実行環境は資料処理コードに対応するデータ処理を遂行するためにデータ所有端末機(200)にデータ収集を要請することができる。そのために、信頼実行環境はデータ所有端末機(200)にデータを要請するトランザクションを生成してブロックチェーンに記録することができる。この時、信頼実行環境はデータ収集のための別途のスマート契約をブロックチェーンに配布できるが、データ収集を知らせるためのトランザクションだけを生成してブロックチェーンに記録することができる。
【0046】
実施例によって、スマート契約の締結時にクライアント端末機(300)からデータ収集対象が指定された場合、信頼実行環境はデータ収集対象にデータの伝送を要請することができる。すなわち、信頼実行環境は特定のデータ所有端末機(200)のアカウントを指定して、指定されたデータ所有端末機(200)に対してデータ伝送を要請するトランザクションをブロックチェーンに記録することができる。
【0047】
他の実施例において、信頼実行環境は資料処理に必要なデータの種類、内容などを含むトランザクションをブロックチェーンに記録して任意のデータ所有端末機(200)にデータ伝送を要請することができる。すなわち、信頼実行環境はデータ収集主体を指定せず、データ収集条件を公開して、データ収集条件を満たすデータを保有する全てのデータ所有端末機(200)からデータを収集することができる。
【0048】
信頼実行環境はデータ所有端末機(200)から収集されたデータを基にデータ処理を遂行することができる。信頼実行環境はインバウンド規則とアウトバウンド規則が設定されているので、資料処理コードに対応する形式のデータだけを受信し、一定の形式で資料処理結果が外部に返還される。
【0049】
信頼実行環境はデータ所有端末機(200)から収集されたデータがデータ処理に必要な基準に符合する場合、データ処理を遂行することができる。データ所有端末機(200)から収集されたデータは信頼実行環境の公開キーで暗号化されているので、信頼実行環境は個人キーで復号化した後、資料処理コードによってデータ処理を遂行することができる。
【0050】
データ処理が完了すれば、信頼実行環境は資料処理結果をクライアント端末機(300)に提供することができる。信頼実行環境はスマート契約の締結時にクライアント端末機(300)により提供された公開キーを獲得することができ、クライアント端末機(300)の公開キーを利用して資料処理結果を暗号化してブロックチェーンに返還することができる。
【0051】
データ処理プラットフォームサーバー(100)とクライアント端末機(300)の間のスマート契約は既設定された条件に符合する資料処理要請が入力されれば、自動で契約が締結され、資料処理要請に対応する資料処理結果を返還すれば、契約が終了することができる。したがって、信頼実行環境が資料処理結果を暗号化し、暗号化された資料処理結果を含むトランザクションを生成してブロックチェーンのブロックに記録すれば、スマート契約の履行が完了することを意味する。
【0052】
一方、信頼実行環境はスマート契約が存続する期間の間のみ、有効性を維持する臨時的地位を有する。すなわち、信頼実行環境はブロックチェーンに配布されたスマート契約が成立して、クライアント端末機(300)の資料処理要請が受信される場合に限って生成され、スマート契約の内容に符合する資料処理が完了するか、他の事情によりスマート契約が終了する場合、信頼実行環境は自家削除される。
【0053】
信頼実行環境が自家削除されるということは、信頼実行環境をなす環境自体が初期化することを意味し、信頼実行環境と関連する一連のデータが消去されることを意味する。したがって、信頼実行環境が資料処理のためにデータ所有端末機(200)から受信されたデータは信頼実行環境が自家削除されることによって共に消去される。
【0054】
仮りに、データ処理プラットフォームサーバー(100)がデータ処理が完了した以後もデータを保存する場合、外部の悪意的な攻撃によりデータが流出する恐れがあり、データ処理プラットフォームサーバー(100)の運営者により閲覧されることもできる。
【0055】
しかし、本発明の実施例によるデータ処理プラットフォームサーバー(100)はスマート契約が維持された期間の間のみ、データ所有端末機(200)から受信されたデータを保存し、スマート契約が終了する場合、信頼実行環境を自家削除すると同時に保存されたデータも消去する。それにより、データ処理プラットフォームサーバー(100)はデータが外部に流出することを防止し、データ処理プラットフォームサーバー(100)の運営主体によるデータ閲覧を基本的に遮断してデータを提供する主体のプライバシーを保護することができる。
【0056】
実施例によって、信頼実行環境は自家削除コマンドが実行されたことを示すフラグをブロックチェーンに記録することができる。自家削除コマンドが実行されれば、任意で変造できないフラグが生成される。信頼実行環境は自家削除コマンドが実行される場合、前記フラグを含むトランザクションを生成してブロックチェーンに記録した後、自家削除過程に突入することができる。
【0057】
資料処理のために生成される信頼実行環境は仮想実行環境で、データ処理プラットフォームサーバー(100)でスマート契約の履行のために少なくとも1つが生成されて、契約の成立及び履行可否によって独立して生成されて、自家削除されて初期化することができる。このように、データ処理プラットフォームサーバー(100)はスマート契約ごとに独立して実行される信頼実行環境を利用して多数のスマート契約を同時に履行することができる。
【0058】
データ所有端末機(200)はデータ処理プラットフォームに接続できる通信装置で、資料処理に必要なデータを保存し、保存されたデータ管理に必要なアプリケーションが実行されることができる。
【0059】
例えば、データ処理プラットフォームサーバー(100)が資料処理のために使用者の医療記録を要請した場合、データ所有端末機(200)は健康管理アプリケーションを通じて使用者の医療記録、健康状態などに関するデータをデータ処理プラットフォームサーバー(100)に提供することができる。
【0060】
データ所有端末機(200)は個人の端末機を意味することができるが、多数主体のデータを保存しているデータ保存先を意味することもできる。例えば、データ所有端末機(200)はPC(personal computer)、スマートフォン(smart phone)、タブレット(tablet)PC、モバイルインターネット装置(mobile internet device(MID))、インターネットタブレット、IoT(internet of things)装置、IoE(internet of everything)装置、デスクトップコンピュータ(desktop computer)、ラップトップ(laptop)コンピュータ、ワークステーションコンピュータ、Wibro(Wireless Broadband Internet)端末、及びPDA(Personal Digital Assistant)の中の少なくとも1つであるが、これに限定されるのではなく、多数主体のデータを保存したデータベースであることもできる。
【0061】
データ所有端末機(200)にはブロックチェーンをスキャンするアプリケーションが実行されて、ブロックチェーンに記録されたトランザクションを確認して信頼実行環境のデータ要請を確認することができる。例えば、データ所有端末機(200)はイーサスキャン(EtheRESCan)、リミックス(Remix)などのアプリケーションを利用してブロックチェーンに記録された信頼実行環境のデータ要請を確認することができる。
【0062】
データ所有端末機(200)は信頼実行環境のデータ要請と共に記録された暗号化キーをブロックチェーンから獲得し、保存されたデータを暗号化キーを利用して暗号化することができる。すなわち、データ所有端末機(200)は信頼実行環境の公開キーを利用してデータに対する256ビットを有するハッシュ値を生成することができる。
【0063】
データ所有端末機(200)はハッシュ値で暗号化されたデータをデータ処理プラットフォームサーバー(100)で実行される信頼実行環境に提供することができる。データ所有端末機(200)はデータ処理プラットフォームを通じて信頼実行環境に暗号化されたデータを伝送することができるけれど、信頼性を担保にするために暗号化されたデータのハッシュ値が含まれたトランザクションを生成してブロックチェーンに記録することができる。
【0064】
データ所有端末機(200)はデータ処理プラットフォームサーバー(100)にデータを提供する補償でブロックチェーンのコインを獲得することができ、獲得可能なコインの数量は信頼実行環境により設定されることができる。
【0065】
データ所有端末機(200)の主体は医療記録、健康状態情報など使用者のプライバシーと関連する情報をデータ処理プラットフォームサーバー(100)に提供するため、個人情報漏えいに対する不安感を有することができる。このような問題を解決するために、データ所有端末機(200)はアプリケーションを通じてブロックチェーンをスキャンしてブロックチェーンに記録された自家削除コマンドのフラグを確認することができる。
【0066】
データ所有端末機(200)により信頼実行環境に対する自家削除コマンドのフラグがスキャンされる場合、信頼実行環境とデータが安全に消去されたことが保障されることができる。
【0067】
クライアント端末機(300)は、スマート契約に符合する資料処理要請を生成して、資料処理要請を含むトランザクションをブロックチェーンに提供してデータ処理プラットフォームサーバー(100)とスマート契約を締結する端末である。例えば、クライアント端末機(300)はPC(personal computer)、スマートフォン(smart phone)、タブレット(tablet)PC、モバイルインターネット装置(mobile internet device(MID))、インターネットタブレット、IoT(internet of things)装置、IoE(internet of everything)装置、デスクトップコンピュータ(desktop computer)、ラップトップ(laptop)コンピュータ、ワークステーションコンピュータ、Wibro(Wireless Broadband Internet)端末、及びPDA(Personal Digital Assistant)の中の少なくとも1つであることができる。
【0068】
クライアント端末機(300)はスマート契約の締結時にデータ処理に必要な資料処理コードを資料処理要請と共にトランザクションに提供することができ、データ収集主体も指定するために特定のデータ所有端末機(200)のアカウントをトランザクションに提供することができる。また、クライアント端末機(300)は暗号化された資料処理結果の提供を受けるためにスマート契約の締結時にクライアント端末機(300)の公開キーを資料処理要請と共にトランザクションに提供することができる。
【0069】
クライアント端末機(300)はスマート契約が履行されることによってブロックチェーンから資料処理結果を獲得することができ、暗号化された資料処理結果を個人キーで復号化することによって資料処理要請に符合する資料処理結果を獲得することができる。
【0070】
このように、クライアント端末機(300)は資料処理必要なデータを直接収集するか、処理しなくても所望の結果を得ることができる。また、クライアント端末機(300)の主体に資料処理に必要なデータが露出しないため、データを提供した主体のプライバシーを安全に保護することができる。
【0071】
図2は本発明の実施例によるスマート契約を用いる信頼実行環境のデータ処理方法を説明するための図面である。
【0072】
図2を参照すれば、データ処理プラットフォームサーバー(100)は資料処理のためのスマート契約(SC)を生成してブロックチェーン(BC)に配布することができ、ブロックチェーン(BC)のブロックにはスマート契約(SC)が記録されてブロックチェーン(BC)上でスマート契約(SC)が実行されることができる。ここで、スマート契約(SC)はクライアント端末機(300)から既設定された規約に符合する資料処理要請(QUE1)が含まれたトランザクションがブロックチェーン(BC)に提供される場合、自動で契約が締結され、資料処理要請(QUE1)に符合する資料処理結果が返還される場合、終了する。
【0073】
クライアント端末機(300)は資料処理結果を獲得するために、スマート契約(SC)に符合する資料処理要請(QUE1)をブロックチェーン(BC)に提供することができる。
【0074】
データ処理プラットフォームサーバー(100)とクライアント端末機(300)の間のスマート契約(SC)が締結されれば、データ処理プラットフォームサーバー(100)は資料処理要請(QUE1)に応答して資料処理コードと暗号化キーを含む信頼実行環境を生成する。ここで、資料処理コードはクライアント端末機(300)がブロックチェーンに提供するデータ処理モデルを意味することができる。
【0075】
信頼実行環境は資料処理コードに対応するデータ処理を遂行するために、データ所有端末機(200)へのデータ要請(QUE2)を含むトランザクションを生成してブロックチェーン(BC)に記録することができる。
【0076】
データ所有端末機(200)は信頼実行環境のデータ要請(QUE2)と共に記録された暗号化キーをブロックチェーン(BC)から獲得して、保存されたデータを暗号化キーを利用して暗号化することができる。データ所有端末機(200)はハッシュ値で暗号化されたデータを信頼実行環境に提供するために、暗号化されたデータのハッシュ値(DAT)が含まれたトランザクションを生成してブロックチェーン(BC)に記録することができる。
【0077】
信頼実行環境はデータ所有端末機(200)から収集されたデータがデータ処理に必要な基準に符合する場合、データ処理を遂行することができる。ブロックチェーン(BC)から獲得されたデータは信頼実行環境の公開キーで暗号化されているので、信頼実行環境は暗号化されたデータのハッシュ値(DAT)を個人キーで復号化した後、資料処理コードによってデータ処理を遂行することができる。
【0078】
データ処理が完了すれば、信頼実行環境はクライアント端末機(300)の公開キーを利用して資料処理結果を暗号化し、暗号化された資料処理結果(RES)をブロックチェーンに返還することができる。
【0079】
データ処理プラットフォームサーバー(100)とクライアント端末機(300)の間のスマート契約は資料処理要請(QUE1)に符合する資料処理結果が返還されれば終了する。信頼実行環境はブロックチェーンに資料処理結果が記録されたかどうかを確認してスマート契約の履行が完了したことを確認することができる。
【0080】
資料処理結果が返還されてスマート契約が終了する場合、データ処理プラットフォームサーバー(100)で実行される信頼実行環境は自家削除モードに突入する。信頼実行環境が自家削除されることによって資料処理のためにデータ所有端末機(200)から受信されたデータも共にデータ処理プラットフォームサーバー(100)で消去される。
【0081】
クライアント端末機(300)はブロックチェーン(BC)に記録された暗号化された資料処理結果(RES)を獲得して、暗号化された資料処理結果(RES)を個人キーで復号化することによって資料処理要請に符合する資料処理結果を獲得することができる。
【0082】
図3は本発明の他の実施例によるスマート契約を用いる信頼実行環境のデータ処理方法を説明するための図面である。
【0083】
図3を参照すれば、データ処理プラットフォームサーバー(100)は資料処理のためのスマート契約(SC)を生成してブロックチェーン(BC)に配布することができ、ブロックチェーン(BC)のブロックにはスマート契約(SC)が記録されてブロックチェーン(BC)上でスマート契約が実行されることができる。ここで、スマート契約(SC)はクライアント端末機(300)から既設定された規約に符合する資料処理要請(QUE1)が含まれたトランザクションがブロックチェーン(BC)に提供される場合に自動で契約が締結され、資料処理要請(QUE1)に符合する資料処理結果が返還される場合に終了する。
【0084】
クライアント端末機(300)は資料処理結果を獲得するためにスマート契約(SC)に符合する資料処理要請(QUE1)をブロックチェーン(BC)に提供することができる。
【0085】
データ処理プラットフォームサーバー(100)とクライアント端末機(300)の間のスマート契約(SC)が締結されれば、データ処理プラットフォームサーバー(100)は資料処理要請(QUE1)に応答して資料処理コードと暗号化キーを含む信頼実行環境を生成する。ここで、資料処理コードはクライアント端末機(300)がブロックチェーン(BC)に提供するデータ処理モデルを意味することができる。
【0086】
信頼実行環境は資料処理コードに対応するデータ処理を遂行するために、データ処理プラットフォームを通じてデータ所有端末機(200)にデータ要請(QUE2’)を遂行することができる。すなわち、信頼実行環境はデータ処理プラットフォームを通じてデータ収集のためのデータ要請(QUE2’)を公開的に遂行することができる。
【0087】
データ所有端末機(200)はデータ要請(QUE2’)に応答して保存されたデータ(DAT’)をデータ処理プラットフォームを通じてデータ処理プラットフォームサーバー(100)に提供することができる。この時、データ所有端末機(200)は信頼実行環境の暗号化キーでデータ(DAT’)を暗号化してハッシュ値だけを提供することもできる。
【0088】
信頼実行環境はデータ所有端末機(200)から収集されたデータ(DAT’)がデータ処理に必要な基準に符合する場合にデータ処理を遂行することができる。信頼実行環境はデータ所有端末機(200)から収集されたデータ(DAT’)を資料処理コードによって処理することができる。
【0089】
仮りに、データ所有端末機(200)から収集されたデータ(DAT’)が信頼実行環境の公開キーで暗号化されている場合、信頼実行環境は収集されたデータ(DAT’)を個人キーで復号化した後、資料処理コードによってデータ処理を遂行することができる。
【0090】
データ処理が完了すれば、信頼実行環境はクライアント端末機(300)の公開キーを利用して資料処理結果を暗号化し、暗号化された資料処理結果(RES)をブロックチェーンに返還することができる。
【0091】
データ処理プラットフォームサーバー(100)とクライアント端末機(300)の間のスマート契約は資料処理要請(QUE1)に符合する資料処理結果が返還されれば終了する。したがって、資料処理結果が返還されてスマート契約が終了する場合、データ処理プラットフォームサーバー(100)で実行される信頼実行環境は自家削除される。信頼実行環境が自家削除されることによって資料処理のためにデータ所有端末機(200)から受信されたデータも共にデータ処理プラットフォームサーバー(100)で消去される。
【0092】
クライアント端末機(300)はブロックチェーン(BC)に記録された暗号化された資料処理結果(RES)を獲得し、暗号化された資料処理結果(RES)を個人キーで復号化することによって資料処理要請に符合する資料処理結果を獲得することができる。
【0093】
図4は本発明の実施例によるスマート契約を説明するための図面である。
【0094】
図4を参照すれば、データ処理プラットフォームサーバー(100)は資料処理のためのスマート契約を生成してブロックチェーンが配布することができ、クライアント端末機(300)とスマート契約が締結されれば資料処理のための信頼実行環境を生成することができる。
【0095】
データ処理プラットフォームサーバー(100)は多数個のスマート契約を生成してブロックチェーンに配布することができるが、仮りに1つのスマート契約に互いに異なる複数の資料処理が要請されれば、互いに異なる複数の信頼実行環境が生成されることもできる。
【0096】
資料処理のために生成される信頼実行環境は仮想実行環境で、データ処理プラットフォームサーバー(100)でスマート契約の履行のために少なくとも1つが生成されることができる。すなわち、ブロックチェーン上に10個のスマート契約が配布されていても、2つのスマート契約だけが締結された場合、データ処理プラットフォームサーバー(100)は2つの信頼実行環境を実行して契約を履行するようにすることができる。
【0097】
また、スマート契約ごとに履行が正常に完了したかどうか、履行期間、履行方法などが全て相違するように設定されることができるので、各スマート契約は契約の成立及び履行可否によって生成されて自家削除される一連の過程が独立して行われる。
【0098】
例えば、データ処理プラットフォームサーバー(100)は第1クライアント端末機(300A)と第1スマート契約(SC1)を締結して第2クライアント端末機(300B)と第2スマート契約(SC2)を締結することができる。データ処理プラットフォームサーバー(100)は第1スマート契約(SC1)の締結に対応する第1信頼実行環境(VM1)を生成して、第2スマート契約(SC2)の締結に対応する第2信頼実行環境(VM2)を生成することができる。仮りに、ブロックチェーン(BC)上に第1及び第2スマート契約(SC1及びSC2)の他に配布されたスマート契約が存在しても、データ処理プラットフォームサーバー(100)は締結されたスマート契約に限って信頼実行環境を実行する。
【0099】
第1信頼実行環境(VM1)と第2信頼実行環境(VM2)は互いに異なる契約内容を基に生成された仮想マシンとして、互いに独立して実行されるので、ある1つの信頼実行環境が他の信頼実行環境に影響を与えることが不可能である。したがって、第1信頼実行環境(VM1)が契約の履行によって自家削除されても、第2信頼実行環境(VM2)は影響を受けず、第2スマート契約(SC2)の内容によって資料処理過程を継続して遂行することができる。
【0100】
それと共に、データ処理プラットフォームサーバー(100)はスマート契約ごとに独立して実行される信頼実行環境を利用して多数のスマート契約を同時に履行することができ、侵入が不可能な独立した資料処理空間を使用することによってデータが漏えいするか混用される危険を防止することができる。
【0101】
図5は本発明の実施例によるスマート契約を用いる信頼実行環境のデータ処理方法を説明するための流れ図である。
【0102】
図5を参照すれば、データ処理プラットフォームサーバー(100)で実行される信頼実行環境はブロックチェーン(BC)上に配布されたスマート契約に沿ってクライアント端末機(300)から受信された資料処理要請に応答して生成されることができ、資料処理コードと暗号化キーを含むことができる(S100)。
【0103】
そして、信頼実行環境は暗号化キーでより暗号化された第1データをデータ所有端末機(200)から獲得することができるが、ブロックチェーン(BC)に記録されたハッシュ値を第1データとして獲得するかデータ処理プラットフォームを通じてデータ所有端末機(200)から直接受信することができる(S110)。
【0104】
そして、信頼実行環境は第1データを信頼実行環境の個人キーで復号化することができる(S120)。
【0105】
そして、信頼実行環境は復号化された第1データを前記資料処理コードによって処理して資料処理結果を生成することができる(S130)。
【0106】
そして、信頼実行環境はクライアント端末機(300)の公開キーを利用して資料処理結果を暗号化とブロックチェーンに返還することで、暗号化された資料処理結果をクライアント端末機(300)に提供することができる(S140)。
【0107】
そして、信頼実行環境はスマート契約の履行が完了することによって自家削除コマンドを実行して自家削除されることができる(S150)。
【0108】
本発明の実施例と関連して説明された方法またはアルゴリズムの段階はハードウェアに直接具現されるか、ハードウェアにより実行されるソフトウェアモジュールに具現されるか、またはこれらの結合により具現されることができる。ソフトウェアモジュールはRAM(Random Access Memory)、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、フラッシュメモリー(Flash Memory)、ハードディスク、着脱型ディスク、CD-ROM、または本発明が属する技術分野でよく知られている任意の形態のコンピュータ読取可能記録媒体に常駐することができる。
【0109】
以上で本発明の実施例について説明したが、本発明が属する技術分野で通常の知識を有する者であれば本発明の特許請求範囲を逸することなく多様に変形実施できるだろう。
【産業上の利用可能性】
【0110】
本発明によれば、収集されたデータが外部に流出することを防止し、運営主体によるデータ閲覧を基本的に遮断してデータ主体のプライバシーを保護することができる。
【0111】
また、本発明によれば、多数のスマート契約を同時に履行することができ、収集されたデータが外部に流出せず安全に消去されたことを保障することができ、資料処理要請者に資料処理に必要なデータを直接提供しないため、データを提供した主体のプライバシーを安全に保護することができる。
【符号の説明】
【0112】
100 データ処理プラットフォームサーバー
200 データ所有端末機
300 クライアント端末機
【国際調査報告】