2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

Shareの暗号解析、技術的な情報

1 :仕様書無しさん:2007/01/30(火) 15:06:22
P2PソフトShareの暗号を解析,ネットワーク可視化システムを開発

4. 第1ステージ - Helloパケット

 送信パケットは、send()ソケット関数にて送出される前に、
最終的に必ずRC6方式で暗号化されます。RC6暗号化ルーチンには、
RC6キーと元データを入力。ビットローテートやXOR演算を繰り返しながら
元データを暗号化して行きます。暗号キーは復号キーと共通です。

 RC6キーを保持するバッファの長さは256バイトであり、
RC6のキーセットの手順に則って生成されます。生成手順は
ステージによって異なりますが、第1ステージでは、
以下のような手順となっています。

(1) 対象ノードのポート番号(WORD値 = 2バイト)から、
20バイトのSHA-1ハッシュを生成
(2) 得られた20バイトのハッシュを元に、RC6キーセットの
手順に則ってキーを生成

 つまり、第1ステージでは対象ノードのポート番号(WORD値=2バイト)から一意に
RC6キーが決定されるという事になります。ポート番号からSHA-1ハッシュを得るには、
Microsoft CSP (Cryptographic Service Provider)の Cryptography Functions を利用すると便利です。
ShareもCryptography Functionsを利用してハッシュを計算しています。

CryptCreateHash(hProv, CALG_SHA1, 0, 0, &hHash);
CryptHashData(hHash, (UCHAR *)&wPort, 2, 0);
memset(pHashData,0,sizeof(HashData));
dwLenHash=0x14;
CryptGetHashParam(hHash,HP_HASHVAL,pHashData,&dwLenHash,0);

続きは以下より
http://itpro.nikkeibp.co.jp/article/Watcher/20070122/259207/

2 :仕様書無しさん:2007/01/30(火) 17:32:38
2ゲット

3 :仕様書無しさん:2007/01/30(火) 18:29:44
RC暗号化がやぶられた!

というレスがほしいのだろうか

4 :仕様書無しさん:2007/01/30(火) 20:04:11
破られてないじゃん.

つか、Share のプロトコル自体が不特定多数のサーバントにつながる仕様なんだから、
バイナリ解析されれば互換クライアントも不特定多数の Share につながるのは当たり前...

バイナリにどれだけ解析耐性があるかが勝負であって、暗号強度は必要最低限を満たしてさえいれば、それ以上は上げても無駄.

5 :3:2007/01/30(火) 21:49:16
マジレスイクナイ

3 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)