(57)【要約】【課題】プライバシーを尊重したデータ処理の方法および装置を提供する。【解決手段】ユーザ装置が、データ、およびデータに関連するプライバシー属性を暗号化する。処理装置は暗号化されたデータおよびプライバシー属性を受け取り、署名されたスクリプトを要求者から受け取り、署名を検証する。成功して検証された場合、秘密鍵が開封され、プライバシー属性及びスクリプト属性を復号するために使用され、これらの属性は比較されて、スクリプトがプライバシー属性を尊重しているかどうかが判定される。尊重すると判定されると、暗号化されたデータは復号され、スクリプトが個人データを処理して要求者の鍵を使用して暗号化された結果を生成し、暗号化された結果が出力される。【選択図】図２
2014134799.tif 000002
【特許請求の範囲】
【請求項１】
データ処理の方法であって、処理手段を備える装置において、前記方法は、
処理することとなる暗号化されたデータを取得するステップと、
前記暗号化されたデータに関連するプライバシー属性を取得するステップであって、前記プライバシー属性は、前記暗号化されたデータを処理すること、または、前記暗号化されたデータのデータ処理の結果を出力すること、が許可されるためにデータ処理タスクが尊重すべき処理要件を定義する、前記取得するステップと、
スクリプトおよび前記スクリプトの署名を取得するステップと、
前記署名を検証するステップと、
前記署名が成功して検証された場合、
前記暗号化されたデータを復号して、復号されたデータを取得するステップと、
前記スクリプトを実行して前記復号されたデータを処理して結果を取得するステップと、
前記結果を出力するステップと、
を含み、
前記方法は、前記プライバシー属性と前記スクリプトの処理属性とを比較するステップであって、前記処理属性は、前記スクリプトが前記プライバシー属性を尊重しているかどうかを判定するための、前記スクリプトにより尊重される処理要件を定義する、前記比較するステップをさらに含む、前記方法。
【請求項２】
データ処理のための装置であって、
少なくとも１つのインターフェースであって、
処理することとなる暗号化されたデータを取得し、
前記暗号化されたデータに関連するプライバシー属性を取得することであって、前記プライバシー属性は、前記暗号化されたデータを処理すること、または、前記暗号化されたデータのデータ処理の結果を出力すること、が許可されるためにデータ処理タスクが尊重すべき処理要件を定義し、
スクリプトおよび前記スクリプトの署名を取得し、
結果を出力する、
ように構成されるインターフェースと、
処理手段であって、
前記署名を検証し、
前記署名が成功して検証された場合、前記プライバシー属性と前記スクリプトの処理属性を比較することであって、前記処理属性は、前記スクリプトが前記プライバシー属性を尊重しているかどうかを判定するために前記スクリプトにより尊重される処理要件を定義し、
前記暗号化されたデータを復号して、復号されたデータを取得し、
前記スクリプトを実行して前記復号されたデータを処理し、前記結果を取得する、
ように構成される手段と、
を備える、前記装置。
【請求項３】
前記少なくとも１つのインターフェースは、前記スクリプトを要求者から取得し、かつ、前記要求者の鍵をさらに取得するように構成され、前記プロセッサは、前記結果が暗号化された形式で出力されるように前記要求者の前記鍵を使用して前記結果を暗号化するようにさらに構成される、請求項２に記載の装置。
【請求項４】
前記データが復号される間、何れの情報の出力も禁止するように構成される、請求項２に記載の装置。
【請求項５】
前記処理手段は、前記暗号化されたデータを復号し、及び前記スクリプトが前記プライバシー属性を尊重していると成功した判定の上でのみ前記復号されたデータを処理する、ようにさらに構成される、請求項２に記載の装置。
【請求項６】
前記処理手段は、前記スクリプトが前記プライバシー属性を尊重していると成功した判定の上でのみ前記結果を出力するようにさらに構成される、請求項２に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概してデータ処理に関し、特にプライバシーを尊重した処理に関する。
【背景技術】
【０００２】
本項では、種々の態様の技術を読者に紹介することを意図するものであり、この技術は、以下で説明および／または特許請求される本発明の種々の態様に関連し得る。本検討は、背景となる情報を読者に提供して本発明の種々の態様のより良い理解を円滑にすることにおいて、有益であると考えられる。従って、これらの記述は本観点から読まれるものであって、従来技術を導入するものとして読まれるものではないことは理解すべきである。
【０００３】
ユーザが、自分の個人的なデータを、特定の集合体における第３者による分析のために提供することは構わないが、ただし、第３者による使用にプライバシーを尊重する制限を設定できることが条件である、という場合がある。そのような場合の例として、ユーザ宅におけるネットワークトラフィックがある。サービスプロバイダが、ユーザのデータの分析に基づき、サービスをユーザの要望により合うように改善する、ということがあり得る。他の例として、レコメンダシステムや医療統計などがある。
【０００４】
しかし、当業者はセキュリティが重要な問題であると認識している。ユーザに対して、データのプライバシーが尊重されているということをどのように保障できるのであろうか。
【０００５】
１つの解決策として、特許文献１には、第１のユーザ装置が、第２のユーザ装置により格納されているデータを求めるリクエストを、第２のユーザ装置に対して署名付きリクエストとして送信できる、ことが記載されている。署名が成功裏に認証されると、第２の装置はリクエストされたデータを第１のユーザ装置に提供する。しかし、本解決策の最大の欠点は、データを処理はしないが、リクエストされたデータを単に返すだけであることである。従って、データ処理または分析には使用できない。
【０００６】
別の既存の解決策として準同型暗号化があるが、これはさまざまな理由により不適切であることが多い。第１に、スクリプトが準同型暗号化と互換性の無い処理、たとえば入力データに対して多項式でない処理、を必要することがある。第２に、入力データが非常に大きいことがありその場合、準同型暗号化が遅くなる。第３に、処理が第３者（例えば、ライブラリ）からのソフトウェアを使用することがあり、この全てが準同型暗号化に適合するまたは書き換えられたものである訳ではない。
【０００７】
この問題に対するさらなる既存の解決策として、非特許文献１に記載されたものがある。彼らの解決策は、暗号化されたデータを、データに対する個人の選好を指定する「スティッキーポリシー（ｓｔｉｃｋｙ  ｐｏｌｉｃｙ）」に結びつけ、カスタマイズされたスティッキーポリシーを達成させるためにその意思を主張するクラウドサービスプロバイダ（ＣＳＰ）に頼る。しかし、ＣＳＰがプライバシーを尊重するそれ以上の保証は無く、ＣＳＰは、暗号化されていないデータおよび暗号化に使用される対称鍵の両方にアクセスする。
【０００８】
さらに別の既存の解決策が、非特許文献２に見られる。本解決策は、ユーザが自分のデータおよびそのデータの全ての派生物（コピーされたデータおよび変換されたデータ）を継続的に追跡かつ制御できるようにし、データを操作する任意の信頼できないレガシーバイナリをサポートする。これを達成するために、作者は「データカプセル」という概念、すなわち、データ、関連するポリシー、およびコンテナの履歴から成る暗号化により保護されたコンテナ、を導入する。データカプセルを操作するホストはＴＣＢ（ｔｒｕｓｔｅｄ  ｃｏｍｐｕｔｉｎｇ  ｂａｓｅ）を必要とする。ＴＣＢは、データカプセルのカプセル開放を行い、関連するポリシーを検証し、信頼できないバイナリを実行し、新しいデータカプセルを出力として作成する。信頼できないバイナリの実行中、ＴＣＢは、システムコールを傍受し、かつ情報フロートラッキングを実行する。特に、情報フロートラッキングでは、非常に大量のオーバーヘッドが加えられ、強力な攻撃（サイドチャネル、すなわち、「アナログホール」としても知られる暗号化されていないデータの穴、を利用する）に対して耐えられないかもしれない。作者により指摘されるように、情報フロートラッキングで、拡張可能なポリシーセマンティックをサポートすることも困難である。
【０００９】
従って、従来技術の解決策の欠点のうちの少なくともいくつかを克服する解決策が必要であることが理解されるであろう。本発明はそのようなシステムを提供する。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】米国特許出願公開第２００４／０５１９１８号明細書
【非特許文献】
【００１１】
【非特許文献１】Ｓｉａｎｉ  Ｐｅａｓｏｎ、Ｍａｒｃｏ  Ｃａｓａｓｓａ  Ｍｏｎｔ、およびＬｉｑｕｎ  Ｃｈｅｎ  「Ｅｎｄ−ｔｏ−Ｅｎｄ  Ｐｏｌｉｃｙ−Ｂａｓｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  ａｎｄ  Ｍａｎａｇｅｍｅｎｔ  ｏｆ  Ｄａｔａ  ｉｎ  ｔｈｅ  Ｃｌｏｕｄ」、クラウドコンピューティング技術と科学に関する第３回ＩＥＥＥ国際会議、２０１１年
【非特許文献２】Ｐ．Ｍａｎｉａｉｓ他  「Ｄｏ  Ｙｏｕ  Ｋｎｏｗ  Ｗｈｅｒｅ  Ｙｏｕｒ  Ｄａｔａ  Ａｒｅ？  Ｓｅｃｕｒｅ  Ｄａｔａ  Ｃａｐｓｕｌｅｓ  ｆｏｒ  Ｄｅｐｌｏｙａｂｌｅ  Ｄａｔａ  Ｐｒｏｔｅｃｔｉｏｎ」、ＨｏｔＯＳ  ２０１１、２０１１年
【非特許文献３】Ｖ．Ｃｉｒｉａｎｉ他  「ｋ−Ａｎｏｎｙｍｉｔｙ」、Ａｄｖａｎｃｅ  ｉｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｅｃｕｒｉｔｙ、Ｓｐｒｉｎｇｅｒ  ＵＳ、２００７年、４ページ
【非特許文献４】Ｇ．Ａｔｅｎｉｅｓｅ他  「Ｉｍｐｒｏｖｅｄ  Ｐｒｏｘｙ  Ｒｅ‐ｅｎｃｒｙｐｔｉｏｎ  Ｓｃｈｅｍｅｓ  ｗｉｔｈ  Ａｐｐｌｉｃａｔｉｏｎｓ  ｔｏ  Ｓｅｃｕｒｅ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｓｔｏｒａｇｅ」、ＡＣＭ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｆ  Ｉｎｆｏｒｍａｔｉｏｎ  ａｎｄ  Ｓｙｓｔｅｍ  Ｓｅｃｕｒｉｔｙ、２００６年２月、９（１）：１−３０
【非特許文献５】Ｍ．Ｂｌａｚｅ他「Ｄｉｖｅｒｔｉｂｌｅ  ｐｒｏｔｏｃｏｌｓ  ａｎｄ  ａｔｏｍｉｃ  ｐｒｏｘｙ  ｃｒｙｐｔｏｇｒａｐｈｙ」
【非特許文献６】Ｉｎｔｅｌ「登録商標」Ｔｒｕｓｔｅｄ  Ｅｘｅｃｕｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ（Ｉｎｔｅｌ「登録商標」  ＴＸＴ）、Ｓｏｆｔｗａｒｅ  Ｄｅｖｅｌｏｐｍｅｎｔ  Ｇｕｉｄｅ  Ｍｅａｓｕｒｅｄ  Ｌａｕｎｃｈｅｄ  Ｅｎｖｉｒｏｎｍｅｎｔ  Ｄｅｖｅｌｏｐｅｒ’ｓ  Ｇｕｉｄｅ、  ２０１１年３月、ｓｅｃｔｉｏｎ１．８、１２ページ、
【非特許文献７】ＡＭＤ  Ｐｌａｔｆｏｒｍ  ｆｏｒ  Ｔｒｕｓｔｗｏｔｈｙ  Ｃｏｍｐｕｔｉｎｇ（著作権）、Ａｄｖａｎｃｅｄ  Ｍｉｃｒｏ  Ｄｅｖｉｃｅｓ社、２００３年、１７ページ
【非特許文献８】Ｊｏｎａｔｈａｎ  Ｍ．ＭｃＣｕｎｅ他「Ｆｌｉｃｋｅｒ：Ａｎ  Ｅｘｅｃｕｔｉｏｎ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ｆｏｒ  ＴＣＢ  Ｍｉｎｉｍｉｚａｔｉｏｎ」、ｓｅｃｔｉｏｎ２．４
【発明の概要】
【００１２】
第１の態様において、本発明はデータ処理の方法に向けられる。装置が、処理すべき暗号化されたデータと、暗号化されたデータに関連するプライバシー属性であって、暗号化されたデータの処理、または、暗号化されたデータのデータ処理結果の出力、が許可されるようにするために、データ処理タスクが尊重すべき処理要件を定義するプライバシー属性と、スクリプトおよびスクリプトの署名と、を取得し、署名を検証し、署名が成功裏に検証された場合、暗号化されたデータを復号して、復号されたデータを取得し、スクリプトを実行して復号されたデータを処理してその結果を取得し、かつ、結果を出力する。装置はまた、プライバシー属性とスクリプトの処理属性を比較し、処理属性は、スクリプトがプライバシー属性を尊重しているかどうかを判定するためにスクリプトにより尊重される処理要件を定義する。
【００１３】
第２の態様において、本発明はデータ処理のための装置に対処する。装置は、少なくとも１つのインターフェースを備え、該インターフェースは、処理すべき暗号化されたデータを取得することと、暗号化されたデータに関連するプライバシー属性を取得することであって、プライバシー属性は、暗号化されたデータの処理、または、暗号化されたデータのデータ処理結果の出力、が許可されるようにするために、データ処理タスクが尊重すべき処理要件を定義する、ことと、スクリプトおよびスクリプトの署名を取得することと、結果を出力すること、を行うように構成される。装置はさらに、処理手段を備え、該処理手段は、署名を検証することと、署名が成功裏に検証された場合、プライバシー属性とスクリプトの処理属性を比較することであって、処理属性は、スクリプトがプライバシー属性を尊重しているかどうかを判定するためにスクリプトにより尊重される処理要件を定義する、ことと、暗号化されたデータを復号して、復号されたデータを取得することと、スクリプトを実行して復号されたデータを処理してその結果を取得することと、を行うように構成される。
【００１４】
第１の好ましい実施形態において、インターフェースは、スクリプトを要求者から取得し、かつ、要求者の鍵をさらに取得するように構成され、処理手段は、結果が暗号化された形式で出力されるよう、要求者の鍵を使用して結果を暗号化するようにさらに構成される。
【００１５】
第２の好ましい実施形態において、装置は、データが復号される間、何れの情報の出力も禁止するように構成される。
【００１６】
第３の好ましい実施形態において、処理手段は、暗号化されたデータを復号することと、スクリプトがプライバシー属性を尊重していると成功裏に判定される場合のみ、復号されたデータを処理することと、を行うようにさらに構成される。
【００１７】
第４の好ましい実施形態において、処理手段は、スクリプトがプライバシー属性を尊重していると成功裏に判定される場合のみ、結果を出力するようにさらに構成される。
【図面の簡単な説明】
【００１８】
ここで、本発明の好適な特徴について、非制限的な例を用い、添付の図面を参照して説明する。
【図１】本発明の好ましい一実施形態による、データ処理のためのシステムを説明する図である。
【図２】本発明の好ましい一実施形態による個人データを処理するための方法を説明する図である。
【発明を実施するための形態】
【００１９】
図１は、本発明の好ましい一実施形態による、データ処理のためのシステムを説明するものである。システム１００は、好適には以下のエンティティを備える。
【００２０】
Ｂｅｅ（蜂）：各ユーザが「ｂｅｅ」と呼ばれるアプリケーション１１０有する。ｂｅｅ１１０は有利にはエンドユーザのゲートウェイ上で実行されるが、別のネットワーク装置上、または専用ボックス上で実行されてもよい。ｂｅｅは、個人データｃｌｅａｒＢｅｅＤａｔａｉ（ｉはｂｅｅのインデックス）、例えば、ネットワークトラフィックに関する情報、を収集し、かつ、収集したデータをその公開鍵Ｋｉｂｅｅを使用して暗号化するように構成される。
【００２１】
ｂｅｅ１１０はまた、プライバシー属性ｐｒｉｖ＿ａｔｔｒｉを含むユーザ定義のプライバシーポリシーを格納し、またはアクセスする。プライバシー属性は、個人データを処理する分析スクリプトが尊重すべきプライバシープロパティに関する制約を、所定の形式で表す。属性は、例えば、個人データに対して実行可能な操作の種類を制限すること、または、使用できるデータ部分（複数可）を指定することができる。
【００２２】
属性を、データの使用を制限するために、個人データの所有者が指定することができるキーワードおよびブール条件の集合とみなすことができる。そして、プライバシー属性を、スクリプトによるデータの処理を許可または禁止するために、スクリプトの処理属性とマッチさせることができる。属性が条件である場合、その条件も、スクリプトの実行後にマッチさせることができ、条件がスクリプトの出力によって満たされれば、結果としてその出力を使用することができる。あるいは、所有者の選好および条件の表現度に依存して、少なくとも２つの場合が可能であり、すなわち、却下すること、および、出力が条件とマッチするまで出力を自動的に修正すること、である。自動修正の既知の例として、匿名条件が満たされるまでノイズが付加されるものがある。
【００２３】
可能性のあるプライバシー属性の非制限的な一覧には以下のものを含む。
・Ｎｏ−ｐａｙｌｏａｄ(ペイロード無し)：スクリプトは、どのペイロードデータ、例えば、ＩＰ／ＵＤＰ、ＩＰ／ＴＣＰヘッダの後の全てを無視する。
・Ａｇｇｒｅｇａｔｅ−ｏｕｔｐｕｔ−ｏｎｌｙ（総計の出力のみ）：スクリプトは、入力データから、単純なデータではなく、平均値または変位値等の全体統計を出力するだけである。
・ｊ−ｃｏｍｂｉｎａｔｉｏｎ（ｊ組み合わせ）：スクリプトの出力が少なくともｊ個の区別できるデータセットの組み合わせである。
・ｋ−ｃｏｍｂｉｎａｔｉｏｎ（ｋ組み合わせ）：スクリプトの出力が少なくともｋ個の区別できるデータセットの組み合わせであり、さらなる属性データ値が、残りの属性のセットの値が少なくともｋ−１個の他のデータセットの値と同一になるまで、抑制される。
・Ｋ−ａｎｏｎｙｍｏｕｓ（Ｋ匿名化）：スクリプトの出力が、１つのｋ匿名性要件、すなわち、通常「データの各公開は、疑似識別子の値のどの組み合わせも少なくともｋ人の回答者と不明瞭にマッチ可能であるようになされなければならない」という要件、に対応する（非特許文献３）。Ｋ匿名性は、ｋ組み合わせよりも強力なプロパティである。
・ｓｔｒｉｃｔ−ｌ−ｏｂｆｕｓｃａｔｉｏｎ（厳密ｌ難読化）：クエリに対する任意の回答が少なくともｌ個のレコードを含まなければならない。
・ｌ−ｏｂｆｕｓｃａｔｉｏｎ（ｌ難読化）：クエリに対する任意の回答が、クエリが成功し、かつ、データが少なくともｌ個のレコードを含む場合はｌ個のレコード、それ以外は０個のレコードを含む。
【００２４】
ｂｅｅ１１０は、ポリシーを個人データに関連付けるように構成され、例えば、暗号化バインド：ａｔｔｒｉ＝（ｐｒｉｖ＿ａｔｔｒｉ，  ｈ（ｃｌｅａｒＢｅｅＤａｔａｉ））により関連付けられ、ここで、ｈはハッシュ関数（または他の適切な一方向性関数）である。バインドされたポリシーａｔｔｒｉは、好適には個人データと共に格納される。
【００２５】
ｂｅｅ１１０は、個人データｃｌｅａｒＢｅｅＤａｔａｉおよびバインドされたポリシーａｔｔｒｉを、ｂｅｅの暗号鍵Ｋｉｂｅｅを使用して暗号化し、かつ、暗号化されたデータ（｛ｃｌｅａｒＢｅｅＤａｔａｉ｝Ｋｉｂｅｅ，｛ａｔｔｒｉ｝Ｋｉｂｅｅ）を、有利にはクラウド内に配置される「ｈｉｖｅ（蜂の巣）」１２０と呼ばれる記憶装置に出力するようにさらに構成される。
【００２６】
ｂｅｅの鍵Ｋｉｂｅｅに関連付けられる秘密鍵の所有者だけが、暗号化されたデータを復号することができる。システムに柔軟性を与えるためには、ｂｅｅ１１０はまた、プロキシ再暗号鍵Ｋｉｂｅｅ→Ｂｋも生成する。この鍵により、暗号化されたデータの再暗号化が可能となり、ｂｅｅの公開鍵Ｋｉｂｅｅで暗号化される代わりに、いわゆるｂｅｅｋｅｅｐｅｒ（養蜂家）１４０の公開鍵を用いて、プレーンテキストを通過させることなく、暗号化される。プロキシ再暗号鍵についてのさらなる詳細は、非特許文献４に掲載されている。ＥｌＧａｍａｌ暗号化に基づく適切なプロキシ再暗号化スキームは、非特許文献５に記載されている。従って、再暗号化は、信頼できない第３者により実行することが可能となる。好ましい一実施形態において、再暗号鍵Ｋｉｂｅｅ→Ｂｋはｈｉｖｅ１２０に出力される。
【００２７】
Ｈｉｖｅ（蜂の巣）：ｈｉｖｅ１２０は、ｂｅｅ１１０から受信した暗号化されたデータを格納し、暗号化されたデータを再暗号化し、再暗号化されたデータ（｛ｃｌｅａｒＢｅｅＤａｔａｉ｝ＫＢｋ，｛ａｔｔｒｉ｝ＫｉＢｋ）を格納するように構成される装置である。ｈｉｖｅ１２０に対する信頼要件は非常に低く、特に、ｈｉｖｅ１２０は、プロキシ再暗号化の最中に暗号化されていないデータにアクセスすることができないことは理解されるであろう。好ましい実施形態において、再暗号鍵Ｋｉｂｅｅ→Ｂｋはｈｉｖｅ１２０に出力される。
【００２８】
Ｓｃｒｉｐｔ  Ｃｅｒｔｉｆｉｃａｔｉｏｎ  Ａｕｔｈｏｒｉｔｙ（スクリプト認証機関）：スクリプト認証機関１３０は、要求者１５０から受信し、ｂｅｅの個人データを処理するように実行されることとなるデータ処理タスク（「スクリプト」）を評価する責任がある。スクリプト認証機関１３０は、所与のスクリプトが、要求される処理属性に違反しているか、要求される処理属性を満たしているかを検証する。スクリプト１３５の検証が成功すると、スクリプト認証機関１３０は、スクリプト１３５が準拠すべき処理属性を含むデジタル証明書をスクリプト１３５に対して発行する。より正式には、スクリプト認証機関１３０の出力は、｛ｓｃｒｉｐｔ，ｐｒｉｖ＿ａｔｔｒｓｃｒｉｐｔ，Ｋｓｃｒｉｐｔ｝ＫＣＡ−１、すなわち、括弧内のデータに対して鍵ＫＣＡ−１を使用した署名であり、ここで、Ｋｓｃｒｉｐｔは要求者１５０の公開鍵でありＫＣＡ−１はスクリプト認証機関１３０の秘密鍵である。
【００２９】
スクリプト認証機関１３０が、スクリプトが請求される処理属性に準拠しているかをどのように検証するのかは、本発明の範囲を超えている。最も簡単な形式では、機関は技術委員会で構成されてよく、署名を添える前にスクリプトを手動で検査する。技術委員会のメンバーは、部分鍵を使用して署名する署名スキームを使用することが可能であるように、物理的に招集される必要がある。スクリプト認証機関１３０が適切な従来技術のスクリプト分析プログラムを実行することにより、スクリプト分析を自動的に実行することもできることは、当業者に理解されるであろう。
【００３０】
Ｂｅｅｋｅｅｐｅｒ（養蜂家）：ｂｅｅｋｅｅｐｅｒ１４０は、１つまたは複数のスクリプトを要求者１５０から受信する装置であり、ｈｉｖｅ１２０から暗号化または再暗号化されたデータをダウンロードした後に該データにスクリプトを実行する。ｂｅｅｋｅｅｐｅｒ１４０は、好適にはＴＰＭ（ｔｒｕｓｔｅｄ  ｐｌａｔｆｏｒｍ  ｍｏｄｕｌｅ）を使用して実装される。ＴＰＭは、シールドストレージを使用してｂｅｅｋｅｅｐｅｒの秘密鍵Ｋ−１Ｂｋの安全な格納、およびスクリプトの安全な実行環境の設定、を可能にする。
【００３１】
スクリプトの安全な実行環境は、好適にはＴＣＢ（ｔｒｕｓｔｅｄ  ｃｏｍｐｕｔｉｎｇ  ｂａｓｅ）に頼ることにより得られ、いわゆる遅延起動ＴＰＭ機能を使用して起動される（例えば、Ｉｎｔｅｌ社のＳＥＮＴＥＲおよびＡＭＤ社のＳＫＩＮＩＴを使用する。それぞれ非特許文献６および非特許文献７を参照のこと）。遅延起動（ＳＫＩＮＩＴまたはＳＥＮＴＥＲ）は、ＰＣＲ１７の値を０にリセットして、ＴＣＢの測定値（ハッシュ）を用いて拡大させる。ＰＣＲ１７←Ｈ（０‖Ｈ（ＴＣＢ））。この測定値は、正確であれば、ｂｅｅｋｅｅｐｅｒの秘密鍵を開封することができる。Ｕｎｓｅａｌ（Ｃ）→Ｋ−１Ｂｋ（さらに詳細には、非特許文献８を参照のこと）。ｂｅｅｋｅｅｐｅｒの鍵の対は事前に生成されて、封印されている（例えば、ｂｅｅｋｅｅｐｅｒのセットアップ時）。
【００３２】
ＴＣＢは、図２に示す個人データを処理するための方法で、少なくとも以下の動作を実行するように構成される。
（ｉ）Ｓ２０２：暗号化された個人データおよびポリシー（｛ｃｌｅａｒＢｅｅＤａｔａｉ｝Ｋｉｂｅｅ，｛ａｔｔｒｉ｝Ｋｉｂｅｅ）を受け取る。
（ｉｉ）Ｓ２０４：署名されたスクリプトおよび署名された属性（ｓｃｒｉｐｔ，ｐｒｉｖ＿ａｔｔｒｓｃｒｉｐｔ）ＫＣＡを受け取る。
（ｉｉｉ）Ｓ２０６：要求者１５０の公開鍵を受け取る（スクリプトとは別の可能性あり）
（ｉｖ）Ｓ２０８：スクリプト認証機関１３０の公開鍵を使用してスクリプトの署名を検証する。なお、署名の検証が不成功の場合、本方法は終了する。
（ｖ）Ｓ２１０：ｂｅｅｋｅｅｐｅｒの秘密鍵Ｋ−１Ｂｋを開封する。
（ｖｉ）各ｂｅｅの個人データ（ステップＳ２１２）およびスクリプト属性（ステップＳ２１４）のポリシー、すなわちプライバシー属性、を抽出かつ復号し、Ｓ２１６にて、スクリプトのプライバシー属性と比較し、復号されたプライバシー属性を削除する。
（ｖｉｉ）Ｓ２１８：スクリプトが、ｂｅｅのデータにバインドされたプライバシーポシリシーを尊重する場合のみ、ｂｅｅの個人データを復号する。
（ｖｉｉｉ）Ｓ２２０：復号されたデータに対してスクリプトを実行する。
（ｉｘ）Ｓ２２２：スクリプトに含まれる要求者１５０の公開鍵Ｋｓｃｒｉｐｔを使用して、結果を暗号化する。
（ｘ）Ｓ２２４：暗号化された結果を出力する。
【００３３】
ＴＣＢは好適には、任意のデータがクリアーの間は、何れのシステムインタラクションも許可しない。システムインタラクションには、データ部分を画面に表示すること、出力ファイルとは別のリソースに書き込むこと、ネットワークにアクセスすること、が含まれる。このように（また、遅延起動による安全な実行環境を使用することを通じて）データ処理タスクを実行するオペレーティングシステムを危険にさらす強力な攻撃者、または、データ処理タスクを置き換えまたは更新しようとする攻撃者は、個人データにアクセスすることはできない。これを、いくつかの手段により行うことができ、手段には、スクリプトが何れのシステムインタラクションも許可しないことを認証機関によりチェックすること、または、Ｌｉｎｕｘ（登録商標）  ２．６．２３およびそれ以降のバージョンに含まれる、システムインタラクションの処理機能を制限するＳＥＣＣＯＭＰのような外部機構を使用することが含まれる。この機構に関するさらなる詳細は、Ｌｉｎｕｘ  Ｐｒｃｔｌコマンドのｍａｎページ内のＰＲ＿ＳＥＴ＿ＳＥＣＣＯＭＰの記述に見られる。
【００３４】
個人データはｂｅｅｋｅｅｐｅｒの中央メモリに格納するには大きすぎる場合があり、その場合、ＴＣＢは、セッション暗号化チャンクを信頼できない外部の記憶装置に一時的に格納するために使用する対称セッション鍵を取得するように構成される。これは、ＴＣＢにおける暗号化／復号ルーチンにより、または、格納鍵を使用してＴＰＭ＿ＳｅａｌおよびＴＰＭ＿ｕｎｓｅａｌにより、行うことができる。
【００３５】
以下のアルゴリズムは、ｂｅｅｋｅｅｐｅｒのＴＣＢの疑似コードの例である。
【００３６】
2014134799.tif 000003
【００３７】
2014134799.tif 000004
【００３８】
2014134799.tif 000005
【００３９】
//ＫＣＡを使用してスクリプトの署名を検証。
【００４０】
2014134799.tif 000006
【００４１】
2014134799.tif 000007
【００４２】
2014134799.tif 000008
【００４３】
2014134799.tif 000009
【００４４】
2014134799.tif 000010
【００４５】
2014134799.tif 000011
【００４６】
//データのプライバシー属性とスクリプトのプライバシー属性を対比検証する。
【００４７】
2014134799.tif 000012
【００４８】
//属性に互換性があれば、ｂｅｅデータを復号する。
【００４９】
2014134799.tif 000013
【００５０】
//属性がデータに属するかどうかを検証する。
【００５１】
2014134799.tif 000014
【００５２】
2014134799.tif 000015
【００５３】
//復号されたｂｅｅデータをスクリプトの入力データに加える。
【００５４】
2014134799.tif 000016
【００５５】
2014134799.tif 000017
【００５６】
2014134799.tif 000018
【００５７】
2014134799.tif 000019
【００５８】
明確性のため図示されないが、システム内の装置は、適切に機能するために必要なハードウェアおよびソフトウェアの構成要素を備え、例えば、プロセッサ、メモリ、ユーザインターフェース、通信インターフェース、およびオペレーティングシステムなどが含まれる、ことは理解されるであろう。
【００５９】
従って、本発明が、検証かつ制限された機能を有する信頼できる環境以外において、データを暗号化して保持すること、および、データプライバシー属性およびスクリプトプライバシー属性が互換性を有する場合、およびその場合のみ、データを処理すること、を提案するということが分かるであろう。
【００６０】
本発明を使用することを通じて、処理、格納、およびネットワークのセキュリティに関しては、データ所有者に保証を提供することが可能である。処理のセキュリティは、データが所有者により許可される方法でのみ処理されることを意味し、これはプライバシー属性を使用することにより達成される。格納およびネットワークのセキュリティは、データが、認証されたスクリプトを実行する信頼できる部分を除き、システムの何れの部分にもアクセスできないことを意味する。
【００６１】
当業者は、本発明により、プライバシーポリシーが尊重される確実性を増加させる解決策が提供可能であることを理解するであろう。
【００６２】
上記説明おいて開示された各特徴および（必要に応じて）請求項および図面は、単独でまたは任意の適切な組み合わせにおいて提供されてよい。ハードウェアにおいて実装されるものとして記載される特徴はまた、ソフトウェアにおいても実装することができ、その逆も同様である。請求項内に現れる参照番号は単に例示の目的のためのものであり、請求の範囲に対する影響を制限するものではない。
【図１】
2014134799.tif 000020
【図２】
2014134799.tif 000021
【外国語明細書】
2014134799000001.pdf