« 2007年02月17日 | top | 2007年02月28日 »

2007年02月20日

identicon

identiconというすばらしすぎるアイデアがある。

ドメイン名からidenticonを生成してページの左上に表示するgreasemonkeyスクリプトを教えてもらった。

これを使って、このブログ(ce-lab.net)を見ると以下のようになる。

この模様が気に入らない!
何とかしたい。

同じ気持ちになる人は多いだろう。
模様になってしまうと、こだわりが出てきてしまう。

identiconと同じ機能を保ちながら、見た目の満足感を得る方法はないのだろうか。

identiconに、セキュリティの機能だけを求めるならば、
「自分にとってフィッシングサイトかどうか」だけがわかればよく、
ほかの人が見たときと異なる模様になってもいいので、
模様をつくるアルゴリズムを、自分専用にカスタマイズすればよい。
しかしそれだと、以下の点で問題である。

1そもそも「他の人にどう見えているか」が重要である
2「あの赤色の三角模様のサイト」とか言えなくなる
3プロジェクタを使って画面を共有するときも多く、混乱する

みんな共通の模様になるほうが良いと思う。
お金の価値と同じで、「他にどう見えているか?」
によってそれ自体の価値が決まるのだ。これからidenticonシェア争いが始まるのだろう。

さて、世界共通のidenticonを保ったまま、見た目の満足感を得るにはどうしたらいいか?

例えば、今回使ったidenticonの生成アルゴリズムが生成できる模様の多様性は、
17ビット分しかない。
しかし重要なのはビット数ではない。
模様が直線的な要素のみで構成されているので、人間のパターン認識能力の、
ごく一部しか使っていないのが問題なのだ。そこに限界があるから、
17ビットを24ビットにしても、人間にとっての多様性は増えにくいと考えられる。

- 曲線を使う。
- 多色を使う。
- 立体的な表現を使う。
- 顔のパターンを使い、顔認識細胞のようなものを使う。
- 文字を使う。
- 自然物(葉っぱとか)の模様を使う。
- 実写写真を使う。
- 動画にする。

などといった応用により、脳の別の部分も活用するように改善する。
もし、そうすることで、多様性を10倍、100倍にまずすることができたら、
各ドメイン管理者が、identicon生成エンジンがどの絵を表示すべきかを
選択できると思う。

数字で言うと、

現在:17ビットの多様性をもつ画像を生成:そのまま受け入れる
改善版:20ビットの多様性をもつ画像を生成:8種類の中から選ぶ

といった具合になる。
あまりにも多くから選べると、元のサイトに似た画像が含まれてしまうかもしれないので、
具体的な落としどころとしては、画像をちょっと大きくして曲線と3色ぐらいを使い、
10種類ぐらいから選べるぐらいがちょうどいいかもしれない。

こういうのをイメージしている:
Flickr group: processing

立体的な花を複数自動生成して、ブーケにするとかすると素敵かもしれないなあ。

追記:
トラックバックにもあったが、
「攻撃者が、ドメイン名を狙って取る」が可能になるという穴は、そう簡単には埋まらなそうだ。
みんなが同じidenticonを見るということがなくても、
攻撃者が何千というドメインを取得すれば、コストは上がるが原理的には防げない。
「URLよりはマシ」というものは何かしら可能そうだが、
フィッシングを抜本的に解決というためには使えないだろう。
identiconの用途として、セキュリティは主にはならない気がする。
それでも面白い考え方であることには違いない。

Posted by ringo : 07:56 | TrackBack

« 2007年02月17日 | top | 2007年02月28日 »