IM+

iPhone の app「IM+ Lite」を試してみた。と言っても、興味は「サーバに直接つなぐか否か?」だけ。結論は ×。残念ながら別のサーバを介して接続してた。

テスト環境
  1. MacBook Pro の共有で、
    • 共有する接続経路を「Ethernet」
    • 相手のコンピュータが使用するポートを「AirMac」
    にして、iPhone から Wi-Fi で MacBook Pro に接続する。
  2. その状態で en1 を Wireshark で監視する。
テスト結果
  1. IM+ を起動するとまず、igate1.shapeservices.net と sar2.shapeservices.net の名前を索く
  2. sar2 に http で接続し /regServer/registration を GET する
  3. igate1 に接続し(なぜか接続先ポート番号は 443 (HTTPS)なのに SSL は使ってない)、IMEI とか送ってる (符号化されてる風)
  4. すると igate1 がその次に接続する代理サーバの IPアドレス とポート番号を返してくる (「Rdr ip(x.x.x.x m) port(nnnn)」)
  5. もう一度 sar2 の /regServer/registration を GET する (多分、ここまでで IM+ 的セットアップが終了)
  6. 先に取得した代理サーバへ接続する (SSL 等は使っておらず、プロトコルも平文)
  7. 設定した接続情報が代理サーバへ送られる (サーバ名、ユーザ名、パスワード、SSL 使用の有無など。これも平文。符号化はされてる風。)
  8. (代理サーバがログイン後)buddy の情報が平文で送られてくる (SSL 使用の有無に関わらず)
というわけで、
  • パスワードが第三者(IM+ の運用者)のサーバへ送られる
  • SSL されてない
の2点から落第点。(テストに使ったサーバでのパスワードは変更しといた)

しかし、ユーザ名・パスワードを入力させる app は、その扱いがどうなってるか、もっと明記して欲しいものだ…。

posted by say · 2009年03月07日 17:36 · memo