データに対してリモートでアルゴリズムを実行し、回答が改ざんされていないことを確認する


8

私はこの特定のコンピューティング/暗号/データベースの問題について何年も考えてきましたが、すでに解決策があるかどうか知りたいだけです。正直なところ、この問題がどの分野に属しているかはわかりません。

一言で言えば、人物Aはデータのリストを持ち、別の人物(B)はこのリストの各アイテムにスコアを与え、これらすべてのスコアを合計してリスト全体の総合スコアを提供するアルゴリズムを持っています。データが非常に安全に保たれるように(できれば人物Aを離れないように)、データリストでアルゴリズムを実行して、人物Bがアルゴリズムが適切に実行され、改ざんされていないことを確認するにはどうすればよいでしょうか。

ここに例があります:アンナとボブは大きな村に住んでいます。アンナは自分のコンピューターに、村で行ったすべての良いことと悪いことのリストを持っています。ボブは、そのようなリストの非常に単純なスコアリングアルゴリズムを作成しました。これは、リストの各項目で実行され、スコアを与え、これらすべての数値を加算して、アンナに最終スコアを与えます。このスコアにより、ボブはアンナが村のコミュニティにとってどれほど有益であり、ボブの意見に固有のものであるかを知ることができます。(これは実際に私が作りたいシステムなので、これは単なる例ではありません)

しかし、アンナはボブに彼女のリストを与えることを望んでいません。ボブはそこに潜在的に恥ずかしい情報にアクセスできるからです(誰もが自分のクローゼットにスケルトンを持っています)。ただし、ボブは嘘をついてボブにスコアが非常に高いのでボブが彼女を助ける可能性が高いと伝えるため、ボブは自分でアルゴリズムを実行することをアンナに信頼していません。

私がすでに考えたいくつかの解決策がありますが、すべて問題があります:

A.ランダムな人物を見つけてデータを取得し、アルゴリズムを実行してスコアを送り返しますが、このランダムな人物がアンナを知らず、アンナを助けたり、データのコピーを作成したりして、後で試すのは難しい場合があります。それをたどってアンナを脅迫します。

B.アンナにアルゴリズムを実行させますが、たとえば、イベントを1と評価する代わりに、チェックコードをスコアにエンコードして1.0000000000797と評価します。これにより、ボブが後でこれをチェックコードとして使用して、指定されているかどうかを確認できます。スコアは正しいです。ただし、このチェックはボナによって誤用され、アンナが何をしたかを示すこともできます。また、アンナがボブのアルゴリズムを実行するにはフルアクセスが必要であることを考えると、このようなシステムはリバースエンジニアリングが簡単で、アンナが正しいチェックコードで誤ったスコアを出すことができると想像できます。

C.村は、そのようなデータとアルゴリズムを取得して一緒に実行するための安全なサーバーを作成します。ただし、AnnaとBobはどちらも、これを実行するのに十分なほど信頼しておらず、データのコピーを作成したり、スコアを変更したりすることはありません。また、私はこれがP2Pシステムであることを望みます。


ボブのスコアリングアルゴリズムが、たとえば、アンナがリストにあるすべてのことを実行したか、実行していないかのバイナリ表現である場合はどうでしょうか。(したがって、1 * <dannaは1を実行しました> + 2 * <dannaは2を実行しました> + 4 * <dannaは3を実行しました> ...)次に、ボブは出力の出力に基づいて、アンナのデータにアクセスできます。スコアリングアルゴリズム。
TLW

1
準同型暗号化はここで何らかの役割を果たすのだろうか?それは逆の問題をある程度解決します-それは、他のいくつかのシステムに、それが使用している値を学習することなくデータの計算をさせることができます。
アランウルフ

@TLW私はあなたが言っていることを理解しているかどうか完全にはわかりません...この状況で誰がアルゴリズムを実行していて、それでも最終値が傍受されたり改ざんされていないことをどのように確認できますか?
ロビンA

回答:


9

暗号化コミュニティでは、このタスクは委任された計算、または検証可能な委任として知られています。サーバー(「クラウド」)に処理を任せたいが、クラウドが実際に計算を実行したことの証明をクラウドに与えたい(そして、ランダムな出力を出力せず、逃げ出しただけではない)あなたのお金で)。

私の頭の上のポインタは、「計算の委任:マグルのインタラクティブな証明」です(Goldwasser、Kalai、およびRothblum、J。ACM(62)、2015)。他の解決策がおそらく存在します、中を見てください。


1

一般に要件に適合する準同型暗号化の新しいフィールドがあります。

準同型暗号化は、暗号文で計算を実行できるようにする暗号化の形式であり、暗号化された結果を生成します。これは、復号化されると、平文で実行された操作の結果と一致します。

処理エンティティは暗号文について「何も」を知ることができず、ランダムデータとしてのみ表示され、計算を破壊するだけであり、クライアントは破壊されたデータ/計算を検出/防御する何らかの方法を必要とします。これは、メッセージダイジェストフォールトトレラントコンピューティングで実行できます。

準同型暗号化は、理論的に可能であることが最近明らかになっただけで、概念段階にあり、実際にはあまり実装されていないように見えますが、最終的には機能として表示される可能性があります(たとえば、他の標準サービスと同様)仮想化)の標準化された大規模な計算クラスター(Amazon ECCgoogle計算エンジンなど)


これは、尋ねられた質問には答えません。準同型暗号化では、(それ自体では)Bがアルゴリズムが適切に実行され、データが改ざんされていないことを確認できません。準同型暗号化は完全性ではなく機密性のみを保証しますが、問題は完全性についてです。
DW

質問は約ある「リモートでデータにアルゴリズムを実行する」である存在意義準同型暗号の、直接技術のアドレスを計算したメッセージダイジェスト&フォールトトレラントを改ざんの余分な懸念と一緒に解答アドレス。
vzn '18年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.