2007-07-27 スキャンティ・システム―その2―
「スキャンティ・システム」とは,某掲示板の投稿文を統計分析するツールの開発名です。
名前の由来を少々。「スキャンティ(<英>scanties)」とは婦人用のきわどい下着のことです。これまで私が手掛けていた製品の開発名には,「ロリエ」「サラサーティ」「エリス」などがあります。「スキャンティ」という名前は,それらよりも表層にあるもの,人の心を惑わす力があるものという願いを込めてつけました。いつものことですが,真面目に考えているわけではありません(なぞ)。
さて,今回はスキャンティ・システムの全体計画をお話します。このシステムの開発はおおまかに,みっつの段階(STEP1,STEP2,STEP3)に分けることができます。
STEP1
情報を整理する準備。(STEP1の内容は実装済みです。)
- データクローラ ― データ取得。掲示板の更新頻度を算出し,取得頻度を調節する
- データベース ― 情報を整理,索引付けする
- データベース・クライアント ― データベースを操作するための簡単なアプリケーション
STEP2
現象の全体像を把握する。
- 位置情報 ― おさかんスポットの場所(緯度,経度)を事前に登録し,場所から投稿文を検索できるようにする
- 洗練化 ― 投稿文に含まれる伏せ字を除去し,検索精度を高める
- 視覚化 ― 時間・空間の関係を図にする。いわゆる「おさかん予報」
STEP3
全体から個へ。特定個人の行動を統制する。
- 個体識別 ― 携帯電話の機種,IPアドレス,語彙,改行の癖などを元に個体識別番号を生成する
- 誘導弾 ― 掲示板上に仮想人物を出現させ,意図した時間,場所に対象人物を誘い込む
- パスワード解析 ― 投稿文に掛けられた削除パスワードを解析する。障害となる投稿(おもに誘導弾を暴露する内容)を撤去するために使う
――上記の中で,私がいちばん面白そうだなと思うのがパスワード解析です。これはSHA-1(ハッシュ関数)の総当りです。業界の人なら察しがつくと思いますが,SHA-1の解析は困難です。いくら高速なコンピュータを駆使しても,現実的な時間では解けないと言われています。ところで解けない理由は,出力から入力を推測できないからです。でもパスワードは常にデタラメな文字列というわけではありません。入力に統計的な偏りがあるとしたら,どうでしょうか。「偏り」を把握できていれば,施行回数を減らせるような気がします。
そのような統計的な偏りを調べる方法のひとつが,過去にお話した「ミカちゃん計画」なのです。ミカちゃんって,いつものようにふざけた名前ですが実力も未知数です。ミカちゃんの話は別の機会にでも。