キョーの学び #1

今日はこれを拝読した。

ipsj.ixsq.nii.ac.jp

 

retoroactive privacyという言葉を初めて知った。

retroactive privacy とはデー タがある一定期間経過すると他人やひいてはメッセージの やり取りをしていた人でさえもデータにアクセスできなく なるという性質のことである. 

 という意味らしい。このような概念の存在は知っていたが、、

 

この論文は「秘密分散」と「ブロックチェイン技術」を用いてretoroactive privacyをもっとセキュアにやろうではないかといったものである。

 

もうちょっと詳しく書く。

背景

retoroactive privacyを実現するうえでは、

- クライアントに削除予定のデータがある場合は端末がオフラインになる可能性がある。

- Trusted Partyがいた場合は指定時刻に削除しなかったりする場合や、検閲が可能である。

 

そして秘密分散を実現するうえでは、

- 以前に提案されていたもの(Vanish)はシビルアタックが可能である。

- シビルアタックを解消したものとしてEphPubがあるが、ノードに強い信頼を要求し、非中央集権ではない。

 

のような背景がある。 (と書かれていた。Vanishとかに関しては今度たぶん、ちゃんと読む。)

 

提案手法

ブロックチェイン*1公開鍵暗号基盤として使用している。競争に勝ってブロックの追加権を得ることができた者は、ブロックに自分の公開鍵の情報をぶち込むらしい。

 

たぶん、計算力を元にして信頼するかどうかを判断することで、シビルアタックが防げるという考えに基づくものである。

 

メッセージの送信者はブロックを取得して、使うノードをランダムに選ぶ。そして、そのノードに鍵を分散保存する。

 

疑問

1. 仮定についての疑問

暗号化に使った鍵 はシェアに分割され, ブロックチェーンネットワーク上の ノードに安全な通信によって送られる. 鍵を預けるのに単 一のサーバーを使わず, ブロックチェーンのノードを用いるのでユーザーが必要とする信頼は分散され, 単一障害点 ともならない.

本当に?

まあでも、論文中ではブロックを追加した人がhonestであるという仮定がある

本研究で提案する手法において送信者は SPV クライアン トとしての機能を有する. SPV クライアントとはフルノー ドのように全てのチェーンをダウンロードせず, ブロック のヘッダーのみをダウンロードするようなクライアント である. SPV クライアントは honest のハッシュパワーが 常に攻撃者に勝っていることを仮定している. つまり, SPV クライアントは最長のチェーンの歴史が常に正しい ということを暗に信頼していることになり, 例えブロック の内容が無効なものであっても正しいチェーンとみなして しまう. したがって送信者は常にブロックチェーンネット ワークから正しいチェーンのヘッダーを受け取ることがで きるという仮定が必要になる.

から、一応、成り立っている*2。でも仮定、おかしくないか?計算能力があってブロックを追加できたとしても、そいつが正直で全く悪意のないノードとは限らないのではないか。悪意持ってるやつも計算力たくさん持ってる可能性は十分にありえる。だから、「計算能力持ってる=信頼にたりる」と安直に等号成立させてはダメだと思う。

 

2. 

インセンティブ設計のなさ

 

インセンティブについて、全く記述がなされていない。本来であれば、パブリックなP2Pネットワークにおいてはインセンティブを考えることが普通ではないのか。この研究の種別は「基礎研究」なのだろうか。「応用研究」の部類に入るのであれば、インセンティブの考慮/設計はすべきである。そうでないと、誰もネットワークに参加しないから。

 

感想

- Dos攻撃を緩和させる対策としてPieceWorkのような方法があると初めて知った。(PieceWorkに美しさを感じた)

- ブロックチェインを公開鍵暗号基盤として利用するのは斬新だと思った。一方でインセンティブが考慮されてなかったり、ブロックチェインである必要性の記述が欲しいなあと思った。

 

チェインである必要はないよね、、、?信頼性を上げるには、ネットワークに参加して、ハッシュパワーを証明したらいいだけだよね。。。「『計算能力持ってる=信頼にたりる』の仮定ヨクワカラナイ」というのが本音であるが。

 

 

嬉しかったのは、最後の

今後の課題として, シェアを受け取ったノードが第三者 にシェアを渡さないような仕組みを考える必要がある. し かし, データを第三者に渡さないことを強制するのは非常 に難しい. したがってシェアを第三者に渡す場合に何らか のペナルティーをノードに対して与える仕組みを考えるこ とが最も自然であるだろう.

の部分である。筆者はこれの解決策を含んだ論文を既に書いている。だから、なんか嬉しかった。「自分が考えてた問題が、こんなところにも問題として出てきてたんだ」といった感じだ。

 

全体としては、けっこう読みやすかった。東大生の書いた文章だからかな?ただ、ン?となる箇所があったので、記事にしてみた。

 

無学の高校生からこんな疑問を呈される東大生ってどんな気持ちなんだろうとか思うけど。また暇なときに何か書きます。

 

暗号を学ぶとき、さらっと流せるような本はこれがベストです(これまで色々な暗号の本を読んできましたが)ので紹介しておきます。

amzn.to

 

*1:計算能力があれば...とか、BitcoinCoreとか言ってるから、想定している合意形成アルゴリズムはPoWか?

*2:実際のところ、honestの定義がなされていないので不明ではあるが、honestを「マジで悪意がカンペキにないノード」として話を進める。