IPv6アドレスで表現されるものに人は何を感じるか?
Published: 2010/07/09
「facebook」の「face」
たとえば、こんなのを見て
www.v6.facebook.com has IPv6 address 2620:0:1cfe:face:b00c::3
。。。ふと思ったのですが、
IPv6アドレスって表現力が豊かだなと。見た目の。
IPv4は、
- xxx.xxx.xxx.xxx
- xxx=0〜255
だったわけですが、
IPv6は、
- 使用可能文字 0〜9、a〜f
- xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx
- xxxx=0000〜ffff
になるわけですね。
これだけの文字が使えれば、いろんな表現ができそうだなと。
単純に使用可能な文字だけでも表現力は豊かですが、
いわゆる「leetspeak」とか「hexspeak」みたいな表現方法を利用すればより一層表現の幅が広がります。
若干話はそれますが「heaxspeak」というのは見たことがある方も多いと思いますが、メモリやデータに異常データの目印をつけるときに使うマジックナンバーを見た目にも分かりやすくしたもので、単語表現を広げるために「0」を「O」に、「5」を「S」に読み替えて当て字したりします。
ブルースクリーンに表示される文字列の中で見ることもありますし、linuxやbsdのソースコードでマジックナンバーを検索するといろいろ見つかります。
たとえばWikipediaにある例を一部抜粋するとこんなの。
- 0xBAADF00D ("bad food") ― Microsoft WindowsのLocalAlloc関数の第一引数にLMEM_FIXEDを渡して呼び出してメモリを確保した場合に、ヒープに確保されたメモリが初期化されていないことを表す値として使用されている。
- 0xFEE1DEAD ("feel dead") ― Linuxのrebootシステムコールでマジックナンバーとして使用されている。
- 0xC0ED ("coed") ― Linuxのmountシステムコールでマジックナンバーとして使用されている。
- 0xBADCAB1E ("bad cable") ― Microsoft eVCデバッガにおいて、コネクションが切断されたときにデバッガに返されるエラーコードとして使用されている。
- 0xFEEDFACE ("feed face") ― Mach-Oバイナリのヘッダとして使用されている。また、OpenSolarisのwatchmallocで不正なポインタを示す値として使用されている。
- 0xDEADDEAD ("dead dead") ― Windows NTベースのOSで、専用のキーストロークによって強制的にブルースクリーンを発生させた際のSTOPコードとして使用されている。
「leetspeak」というのはハッカーさんがつかったり、chatでつかったりする文字表現ですね。hackspeakと同じように数字をアルファベットに当て字します。
またそれ以外にも、直接的な文字列表現ではないですが、日本語的にはポケベル時代を思い出させる表現もフル活用できるわけです。
0840 おはよう 0833 おやすみ 141064 821 あいしてるよ はにー 11044 いってよし
で、これらの表現の範囲内でIPv6で使えそうな4文字以下の単語の例としてはこんなのがあります。ストレートなものから中にはちょっとってのもありますが。
01d old 0ff off 11fe life 5107 slot 5ad sad 5eed seed 900d good a11 all b007 boot b19 big ba11 ball bad bad beaf beaf be11 bell be7a beta cafe cafe c001 cool c0ca coca d1e die da7a data da7e date dead dead deb7 debt ec0 eco f00d food face face fa57 fast feed feed feel feel
たとえば/64が割り当てられた場合、
XXXX:XXXX:XXXX:XXXX:****:****:****:****
*の部分に自分の名前が表現できるなら書いても、なにかのメッセージを込めても、復活の呪文を書いてもいいんじゃないかと。
XXXX:XXXX:XXXX:XXXX:900d:face:****:**** XXXX:XXXX:XXXX:XXXX:feel:900d:****:****
フリーダイアルでよく見る特定業界向けなプレミアムな感じの数字の使い方もありかも。
パチンコ屋に
XXXX:XXXX:XXXX:XXXX:0777:0777:0777:**** XXXX:XXXX:XXXX:XXXX:5107:777:****:****
焼肉屋に
XXXX:XXXX:XXXX:XXXX:900d:beef:****:****
とか。
いろいろポジティブな使い方があるんじゃないかと。
という話なんですが、実は一番気になったのXXXXの部分に変な文字列が含まれる形でISPさんなりから割当らてしまった場合はどういうことが起こるんだろうかと。
ネガティブ表現が含まれる場合です。
現実問題としてありえないものも含まれているかもしれませんが、一応例で。
たとえば、自分にアサインされたアドレスがこんなんだったらどうでしょうか?
XXXX:XXXX:XXXX:dead:****:****:****:**** XXXX:XXXX:0a11:dead:****:****:****:****
こんな、ありえないかもしれない例ですが、なんかの予言めいたのとか。
XXXX:2012:0a11:dead:****:****:****:****
先程のポジティブな例とは逆パターンで飲食店に
XXXX:XXXX:0bad:f00d:****:****:****:**** XXXX:XXXX:0bad:cafe:****:****:****:****
焼肉屋に
XXXX:XXXX:0bad:beef:****:****:****:****
ISPさんやってたりするとドメインやメールアドレスなどに使う文字列としては、直接的なものは当然、直接的ではなくても差別的なもの公序良俗に反するものを連想させる単語は使わないようしていると思います。black、white、yellow、pinkなどの色についてはよく言われると思いますが。peachとか果物の名前その他でもいろいろ指摘を受けてしまうと思います。
で、IPv6アドレスは、メールアドレスやドメインに比べて人目に付くものではないものなのかもしれませんが、絶対に有り得ないと思っているものほど奇跡的な確率で問題になることをISPではよく経験します。
先程の例の
焼肉屋に
XXXX:XXXX:0bad:beef:****:****:****:****
CAFEに
XXXX:XXXX:0bad:cafe:****:****:****:****
みたいな例が。
プレミアムなアドレス表現でポジティブな面もあるわけですが、当然表裏一体で、ネガティブな要素があるわけです。
ポジティブな内容や、ネタに出来る人はいいと思うのですが、
気にされる方はかなり気にされるものだと思うのですが、、、
どうしたものでしょう。。。
極端な話、使用禁止アドレスというものを運用上、サービス提供上決めないといけなくなりそうな気がします。が、だとするとかなりアドレスの利用効率は悪くなることになるのでどうしたものでしょう。。。。。
そもそも各NICからISPへの割り当てが「DEAD」含みだったらどうするんでしょうね?
経路上はありますね。。。
で、話は変わって、セキュリティ的な話に無理やり結びつければ、たとえば、ソースアドレスにこんな文字を埋め込んでボットにパケットを送りつけることで命令を伝えられるんじゃないかとかいう妄想も。。。
XXXX:XXXX:XXXX:XXXX:dd05:c0a8:0001:0750:**** 「DDOS 192.168.0.1 TCP 80」的な。。。
その他DDoSの攻撃パケットのソースアドレスが
XXXX:XXXX:XXXX:XXXX:dead:dead:****:****
みたいなのもありかも。
by jyake