アカウント名:
パスワード:
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
長期的な見通しやビジョンはあえて持たないようにしてる -- Linus Torvalds
さらに拡散される予感 (スコア:2, おもしろおかしい)
面白がってさらに巧妙に拡散される予感が。
屍体メモ [windy.cx]
Re: (スコア:1)
実は「木の葉を隠すなら森」作戦で、捏造ファイルを流しまくるってだけでは。
Re:さらに拡散される予感 (スコア:1)
同サイズのカスファイルを自動的に捏造・同一ハッシュ偽装して大量に流しまくるツールを作れば
winnyやshareは壊滅するのではないだろうか?
それともそもそもハッシュ偽装するのって無理なの?
Re:さらに拡散される予感 (スコア:2, 興味深い)
データサイズが変わってしまってもよいなら、MD5、SHA0、SHA1
については脆弱性があることがわかっており、技術的に可能だったと思う。
SHA-2については今のところ無理。
ShareはSHA-1を使っているらしいので、同一ハッシュ値のファイルを
大量生産してばらまけば、事実上ダウンロードは困難になるだろうさ。
Re: (スコア:0)
強衝突耐性の突破(ハッシュ値が同一な2つの異なるデータ列を生成できる)に関するものですが、
親コメが言わんとしている攻撃には、
弱衝突耐性の突破(既存のハッシュ値に対して同一なハッシュ値を持つ別のデータ列が生成できる)が必要なので、
技術的にはまだ不可能というのが現状でしょう。
Re:さらに拡散される予感 (スコア:1)
本当にハッシュ値が同一の別のデータ列を生成する必要はないようです。
ファイルを小さなブロックに分割して送受信しているわけですが、
ブロックに付けられているチェックサム的なハッシュ値が一致していないと相手側が受信した時のチェックで即座に破棄されますが、
ファイル全体のハッシュ値が一致しなくなるような不正なブロック(ブロックのハッシュ値は正しい)を受信しても、それがそうであるとチェックされることはなく受け入れられます。
これはブロックを順不同で受信できるようにするためです。
そして、全ブロックが揃ってファイルに書きだそうとした時点で、ようやくハッシュ値が合わないことを検出しますが、どのブロックが不正だったのかはわからないので、全ブロックを破棄します。
すでに持っているブロックと同じものを受信した場合、後から受信したものでローカルに保持したものを上書きするなら、当該のファイルを持っているノードに不正なブロックを送りつければ、削除できるし、もし上書きしないのであれば先手を打って、全ノードに不正なブロックを送りつけて先に保持させておけば、新たなダウンロードを阻止することができるでしょう。
不正なブロックの内容は何でもいいし、そのブロックのハッシュ値は不正なブロックの内容で普通に計算すればいいので、ハッシュ値の衝突なんて難しいことは、やらなくていいのです。
もちろん、悪意のある者が、別のファイルとして新たに共有するのには、対抗できませんが。
Re:さらに拡散される予感 (スコア:1)
CRCのように衝突耐性の低い物なのでしょうか?
ブロックサイズはファイル全体よりかなり小さいでしょうからハッシュの計算も楽でしょうし
ブロック数が多ければそれだけハッシュの衝突のチャンスが増えるので
本格的なハッシュでも力技で不正なブロックを作れるかもしれませんけど。
# Shareネットワークを検索して回って、所持ノードの少ないブロックを持っているノードに対し
# 複数のノードからダウンロード要求を出して他の一般ノードに渡らないようにしながら
# 拡散アップロードとかを利用してキャッシュを無害な物に書き換える・・・
# とかは流石に力技過ぎるだろうとか考えていました (笑)
単なる臆病者の Anonymous Cat です。略してACです。
Re: (スコア:0)
Re:さらに拡散される予感 (スコア:1)
衝突させる必要は無い、というかそもそもブロックのハッシュを別経路で入手しないので比較自体できないのですか。
単なる臆病者の Anonymous Cat です。略してACです。
Re: (スコア:0)
ハッシュで偽装したとしても、「流失したファイル」の流通は止められても、「流失したファイルの中身」の流通は防げないと思うんだけど・・・。ファイルを分割したり、他形式で保存してしまえば意味ないよね。