Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Privacy on Blockchain

Avatar for Osuke Osuke
November 13, 2019

Privacy on Blockchain

Avatar for Osuke

Osuke

November 13, 2019
Tweet

More Decks by Osuke

Other Decks in Technology

Transcript

  1. プライバシー問題 • 第三者が検証可能なデータとしてブロックチェーンを扱いたいが、個人に紐付く データは隠したい。 • 監査性(検証可能性)とプライバシーのトレードオフ • 監査性 ◦ アリスが

    持っている状態を全員で合意 ◦ アリスがボブに 送る状態遷移を全員で合意 • プライバシー ◦ 秘匿性:残高 ・送金額 を隠したい ◦ 匿名性:送り手アリス・受け手ボブを隠したい
  2. プライバシー問題 • 秘匿性の欠如 ◦ トランザクションのデータを誰でも見ることができる ◦ のようなイメージ ▪ 送信データを隠す ◦

    例)アリス ボブに 送金 ▪ というデータが誰でも見ることが可能 ◦ データを暗号化して送る手法? ▪ 送られてきた暗号文が を暗号化したデータであるかもしれない ▪ 完全性を持たせる方法が別途必要
  3. プライバシー問題 • 匿名性の欠如 ◦ トランザクションが誰から誰に送られたのか見ることができる ◦ のようなイメージ ▪ 階層的に暗号化を施すオニオンルーティングをベースに アドレスを隠す

    ◦ 例)アリス ボブに 送金 ▪ ブロックチェーン上の全ての状態を全員が見ることができる ▪ 注)アドレスを暗号化することは意味ない • 仮名としてのアドレス値が一意に変わるだけ ▪ トランザクションの を断ち切る必要性
  4. ゼロ知識証明とは • インプットとなるデータを明らかにせずに、ある関数の結果に を持たせる暗 号学的手法 • において ◦ を明らかにせずに、 が

    のハッシュ値であることを証明 ◦ 例えば、 が負の値ではないこと、 にあることを証明 証明者 CreateProof(x, y) 検証者 Verify(Proof, y)
  5. を算術回路をベースに、 で記述する • 上のアセンブリ言語のようなイメージ • 上の線型結合で表現 ◦ ◦ ・ ・

    ◦ 定数、 変数 • 例えば、 の 操作 ◦ 愚直にやると だが、線型結合を工夫し に可能             
  6. • 通常の とコストモデルが大きく異なる ◦ ビット演算は高コスト、楕円曲線上の演算は低コスト ◦ 例) よりも の方が低コスト ▪

    ▪ • などにより多項式へエンコードし、 で検証可能な証明を生成 • 効率の良い は という強い仮定に基づく • 効率よく汎用な を証明するために ◦ 通常、 時のパラメタを用いると の を破ることが可能 ◦ や などによる解決策
  7. • ◦ する値 ◦ 乱数 ◦ 、 :楕円曲線上の • ◦

    送り手が を指定し を生成、送信 • ◦ 送り手が と を明らかにすることで受け手が答え合わせ • 秘匿性:受け手はコミットされた値を知りえない • 拘束性:送り手が異なる値を公開しても成功しない • ゼロ知識証明と相性がいい ◦ 比較的小さい計算コストで、 に制限を与えられる
  8. • https://github.com/monero-project/monero • • 秘匿性 ◦ ▪ 秘匿性、束縛性 ◦ ▪

    ゼロ知識証明の一種で をもたらす • 匿名性 ◦ リング署名 ▪ メンバー公開鍵のうちの1つに対応する秘密鍵により署名 ▪ 送り手の匿名化 ◦ ステルスアドレス ▪ 送り手指定の新しいアドレスを受け手のアドレスに。 ▪ 受け手の匿名化
  9. • 二重支払いを防ぐためにコミットメントに対し、 かつ な を管理。 • コミットメントが消費されるたびに に追加。 • 同じ

    が2つあるということは同じコミット メントを 回消費しようとしていること。 Nullifier Set
  10. • 生成コミットメントと消費コミットメントの が暗号学的に断ち切られている ので送金時の秘匿性・匿名性が保証される • ゼロ知識証明( により、一連の計算に を与える • 新しいコミットメントの生成

    ◦ コミットメントと暗号文の生成は正しいか ◦ 受け手だけが消費できるコミットメントか ◦ • コミットメントの消費 ◦ コミットメントがマークルツリーに属しているか ◦ 送り手が所有しているコミットメントか ◦ 正しく を生成しているか ◦
  11. 匿名性 • 送り手、受け手の他にダミーとなるデータを加えることで識別困難に。 アドレスデータ [Address1, .... Address n], 暗号化送金額 [Enc(0),...,

    Enc(3), .., Enc(-3),.. Enc(0)] • 証明の検証 • 送り手、受け手、ダミーアドレス全て の暗号化残高をアップデート トランザクション オンチェーン
  12. • マルウェアなどを用いた機密情報の流出を防ぐ ◦ 秘密鍵、パスワード、 • 脅威モデル ◦ メモリ破壊 ▪ 不正なメモリ書き換え、操作

    ◦ システムソフトウェアからの攻撃 ▪ ◦ コールブート攻撃 ▪ 強制的な揮発遅延による メモリの読み取り • 一方で、サイドチャネル攻撃 には弱い ◦ 物理的な特性を外部から測定 https://www.usenix.org/system/files/conference/atc17/atc17-tsai.pdf
  13. • 正当な であるか認証するための機能 ◦ が製造した なのか? ◦ 脆弱性はないか? ◦ の比較

    実行プログラムの比較 • が認証 • が生成する を に送信 ◦ : (ハッシュ値) ▪ 実行環境と 内プログラム • をレスポンス ◦ 証明書で認証 IAS ISV
  14. ブロックチェーンと • ( )と ( )の性質を応用 • 、 などのプロジェクト •

    例えば、状態遷移を行う を 上で実行することで状態を秘匿化 • ネットワークに参加する マシンは互いに することで正当性を保証