アカウント名:
パスワード:
クラウドサーバでデータの平均値を求めたいとする。データをクラウドにアップロードして、平均値を求めるプログラムを実行して、結果をダウンロードする。
ただこれだと、クラウドからデータが流出する危険があるので、そういうことが起こらないと信用できるクラウドサービスしか使えない。
そこで、秘密の値Xを用意して、データを全部X倍するという、すごいあんごうか、をしてからクラウドにアップロードする。平均値を求めると、X倍された平均値が求まる。それをダウンロードしてからXで割ることで復号すると、欲しかった平均値が求まる。
秘密の数値Xはクラウドサービス提供者に渡す必要が無い。自分以外の誰も見れないように厳重に管理する。自分の管理外に出るデータは全部、秘密の数値Xで暗号化されているので、それらが流出しても、元データは復元できない。この方法なら、クラウド業者がうっかりやらかしても、産業スパイが紛れ込んでてもデータ流出の被害は無い。
例えば、通販サイトを運営するのにAmazonのクラウドを使って大丈夫? こっそりデータを抜かれたりしない? という心配はありえる。今現在は、Amazonみたいな最大手がそんなしょおもない犯罪に手を出さないだろうとか、もしそうなっても裁判で十分な損害賠償金を引っ張り出せるはずとかで、まあ、多分、そういう心配は杞憂なわけで、クラウドサービスの信頼というのは社会通念とか契約とかをベースに成り立ってる。それを完全に技術の話にしてしまって、誰が提供しているんだかさっぱり分からないクッソ安い怪しいクラウドサービスでも安心して使えるようにしよう、というのが、極端な話、このネタの目標。
もちろんこの例みたいに、X倍してXで割る、なんて安易な方法だとそこまで安全にはならないし、平均値ぐらいパソコンで求めろよという話になる。暗号方式をちゃんとした十分に頑丈な暗号方式にした上で、平均値よりももっと複雑な計算もできるようにしよう、というのが、この手の秘密計算技術の話。どれぐらい頑丈な暗号で、どれぐらい複雑な計算をさせられるか、という限界を広げる研究がずっとされてる。
「ものすごく簡単に」っていうのは推敲の程度のことかな?
そのサービスで流出させたけど、暗号化されてたので無問題!->複合処理も同じクラウドに乗せてたので流出しました、まで見えた。
数年前に発表を聞いた限りだと実用化まで程遠いという印象だったな。しかし秘密計算だけで発表者が集まるのかなと他人事ながら心配になった。
作業者に平値AとBのXORを計算させたいが、AとBは秘密にしたい場合。
暗号鍵Kを決め、XORをとり暗号値aとbを計算する。暗号値aとbを作業者に渡し、XORを計算させる。その答えはAとBのXORと同じである。 a ⊕ b = ( A ⊕ K ) ⊕ ( B ⊕ K ) = A ⊕ B
みたいな感じ?(この場合、計算結果は知られてしまうが)
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
皆さんもソースを読むときに、行と行の間を読むような気持ちで見てほしい -- あるハッカー
ものすごく簡単に言うと (スコア:2, 参考になる)
クラウドサーバでデータの平均値を求めたいとする。
データをクラウドにアップロードして、平均値を求めるプログラムを実行して、結果をダウンロードする。
ただこれだと、クラウドからデータが流出する危険があるので、そういうことが起こらないと信用できるクラウドサービスしか使えない。
そこで、秘密の値Xを用意して、データを全部X倍するという、すごいあんごうか、をしてからクラウドにアップロードする。
平均値を求めると、X倍された平均値が求まる。
それをダウンロードしてからXで割ることで復号すると、欲しかった平均値が求まる。
秘密の数値Xはクラウドサービス提供者に渡す必要が無い。自分以外の誰も見れないように厳重に管理する。
自分の管理外に出るデータは全部、秘密の数値Xで暗号化されているので、それらが流出しても、元データは復元できない。
この方法なら、クラウド業者がうっかりやらかしても、産業スパイが紛れ込んでてもデータ流出の被害は無い。
例えば、通販サイトを運営するのにAmazonのクラウドを使って大丈夫? こっそりデータを抜かれたりしない? という心配はありえる。
今現在は、Amazonみたいな最大手がそんなしょおもない犯罪に手を出さないだろうとか、
もしそうなっても裁判で十分な損害賠償金を引っ張り出せるはずとかで、まあ、多分、そういう心配は杞憂なわけで、
クラウドサービスの信頼というのは社会通念とか契約とかをベースに成り立ってる。
それを完全に技術の話にしてしまって、誰が提供しているんだかさっぱり分からないクッソ安い怪しいクラウドサービスでも安心して使えるようにしよう、というのが、極端な話、このネタの目標。
もちろんこの例みたいに、X倍してXで割る、なんて安易な方法だとそこまで安全にはならないし、平均値ぐらいパソコンで求めろよという話になる。
暗号方式をちゃんとした十分に頑丈な暗号方式にした上で、平均値よりももっと複雑な計算もできるようにしよう、というのが、この手の秘密計算技術の話。
どれぐらい頑丈な暗号で、どれぐらい複雑な計算をさせられるか、という限界を広げる研究がずっとされてる。
Re:ものすごく簡単に言うと (スコア:1)
「ものすごく簡単に」っていうのは推敲の程度のことかな?
Re:ものすごく簡単に言うと (スコア:1)
そのサービスで流出させたけど、暗号化されてたので無問題!
->複合処理も同じクラウドに乗せてたので流出しました、まで見えた。
Re: (スコア:0)
数年前に発表を聞いた限りだと実用化まで程遠いという印象だったな。
しかし秘密計算だけで発表者が集まるのかなと他人事ながら心配になった。
Re: (スコア:0)
作業者に平値AとBのXORを計算させたいが、AとBは秘密にしたい場合。
暗号鍵Kを決め、XORをとり暗号値aとbを計算する。
暗号値aとbを作業者に渡し、XORを計算させる。その答えはAとBのXORと同じである。
a ⊕ b = ( A ⊕ K ) ⊕ ( B ⊕ K )
= A ⊕ B
みたいな感じ?(この場合、計算結果は知られてしまうが)