ゆきのぶ日記 http://www.yukinobu.jp/tdiary/ つらつらと日常を記録しています ゆきのぶ Copyright 2010 ゆきのぶ, copyright of comments by respective authors ゆきのぶ日記 http://www.yukinobu.jp/tdiary/yu.png http://www.yukinobu.jp/tdiary/ http://www.yukinobu.jp/tdiary/?date=20100228#p01 2010-02-28T21:39:20+09:00 iPhoneアプリケーションを出先のWiFiで安全に使えるか調べた(App Store, メール, TwitBird) ゆきのぶ セキュリティ iPhone iPhone を買ってはや数週間。その利便性たるや凄まじいもので、もはや iPhone なしでは生活が困難になりつつある。 通信回線は、自宅では WiFi を使い、出先では 3G もしくは WiFi を使っている。WiFi の方が快適なので積極的に使いたいが、出先の WiFi*1 は通信を覗かれているかも知れず、あまり安心して使えるものではない。VPN がその解決策になることを以前に書いたが、誰にでも実現できるものではないし、別の方法も探っていきたい。 個々のアプリケーションが、暗号を適切に使った通信をしていれば、VPN は考えなくてよくなるので、調べてみた*2。 App Store 決済情報ともダイレクトに繋がっている App Store。通信が安全でないと、iTunes アカウント不正利用*3の原因にもなりかねないが、どうだろう。 ax.init.itunes.apple.com へのリクエスト 最初の通信は ax.init.itunes.apple.com への HTTP GET リクエストだった。サーバからのレスポンスには Content-Encoding: gzip とあ.. iPhoneアプリケーションを出先のWiFiで安全に使えるか調べた(App Store, メール, TwitBird)

iPhone

iPhone を買ってはや数週間。その利便性たるや凄まじいもので、もはや iPhone なしでは生活が困難になりつつある。

通信回線は、自宅では WiFi を使い、出先では 3G もしくは WiFi を使っている。WiFi の方が快適なので積極的に使いたいが、出先の WiFi*1 は通信を覗かれているかも知れず、あまり安心して使えるものではない。VPN がその解決策になることを以前に書いたが、誰にでも実現できるものではないし、別の方法も探っていきたい。

個々のアプリケーションが、暗号を適切に使った通信をしていれば、VPN は考えなくてよくなるので、調べてみた*2

App Store

決済情報ともダイレクトに繋がっている App Store。通信が安全でないと、iTunes アカウント不正利用*3の原因にもなりかねないが、どうだろう。

ax.init.itunes.apple.com へのリクエスト

最初の通信は ax.init.itunes.apple.com への HTTP GET リクエストだった。サーバからのレスポンスには Content-Encoding: gzip とあり、通信回線の細さへの配慮が見られる。

GET /bag.xml?ix=2 HTTP/1.1
Host: ax.init.itunes.apple.com
User-Agent: iTunes-iPhone/3.1.3 (3)
Accept-Language: ********
Cookie: ********
X-Apple-Store-Front: ********
X-Apple-Connection-Type: ********
X-Dsid: ********
X-Apple-Client-Application: ********
Accept: */*
Accept-Encoding: gzip, deflate
Connection: keep-alive

HTTP/1.1 200 OK
Content-Type: text/xml; charset=UTF-8
x-apple-application-site: ********
X-Apple-Partner: ********
Vary: Accept-Encoding
x-webobjects-loadaverage: ********
x-apple-aka-ttl: ********
x-apple-application-instance: ********
x-apple-request-store-front: ********
x-apple-max-age: ********
Content-Encoding: gzip
Cache-Control: max-age=9519
Date: Wed, 24 Feb 2010 15:45:52 GMT
Content-Length: 9369
Connection: keep-alive

(略)
以降の通信は暗号化

その後 TLS セッションが、暗号方式 TLS_RSA_WITH_RC4_128_MD5 にて確立された。この暗号方式は CPU 負荷の観点から有利らしい*4が、電子政府推奨暗号リストにない要素も含まれている。現時点において、この暗号方式が危険とは言えないが、AES を使ってくれても良いんじゃないかと思えてくる。

iPhone と App Store との通信における暗号方式の選定

ともあれ重要な通信は暗号化されているように見えた。証明書の検証については確認していないが、まさか大丈夫だろうと思いたい。その前提で、ひとまず安全と判断したい。

なお、TLS セッション確立後も HTTP 通信は続く。とは言え、確認した範囲では画像の取得にしか使われていなかったので、安全性に影響はなさそうだ。

標準メールアプリ

標準メールアプリについては、設定項目「SSLを使用」を ON にして使用。この設定なら当然 SSL/TLS を使用するだろうと思う。実際に確かめてみた。

imap.softbank.jp との通信(IMAPS)

まずは imap.softbank.jp との IMAPS 通信。これは @i.softbank.jp のメールアドレスで使用するものだ。通信では、まずクライアントが TLS の Client Hello を送信し、この時クライアントは TLS_RSA_WITH_AES_128_CBC_SHA を筆頭に 13 の暗号方式を提示した。次にサーバがServer Hello を返信し、TLS_RSA_WITH_AES_128_CBC_SHA の利用が決まった。以降の通信は暗号化されているので不明。暗号方式は App Store との通信に使っているものより強力に思える。

imap.softbank.jp との通信における暗号方式の選定

mbox.iijmio-mail.jp との通信(POP3S)

次に mbox.iijmio-mail.jp との POP3S 通信。これは IIJmio のセーフティメール で使用するものだ。iPhone との通信方式は先の imap.softbank.jp と同じで、採用された暗号方式も同様。

まとめ

全体的に標準メールアプリは、「SSLを使用」を ON にしている限りは通信が暗号化されるようだ。App Store と同様、証明書の検証については確認していないが、まさか大丈夫だろうと思いたい。その前提で、ひとまず安全と判断したい。

TwitBird Free

ax.init.itunes.apple.com へのリクエスト(更新チェック?)

起動するとまず、App Store と同様に ax.init.itunes.apple.com への HTTP GET リクエストが行われ、次に p19-buy.itunes.apple.com との暗号通信が始まる。この正体はよく判らないが、更新チェックか何かだろうか。

itwitter.nibirutech.com へのリクエスト(利用者管理?)

次に itwitter.nibirutech.com への HTTP POST リクエストがある。

POST /devices.xml HTTP/1.1
Host: itwitter.nibirutech.com
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_5; en-us) AppleWebKit/526.11 (KHTML, like Gecko)
Content-Type: application/x-www-form-urlencoded
Content-Length: 178
Accept: */*
Accept-Language: ja-jp
Accept-Encoding: gzip, deflate
Connection: keep-alive

app=TwitBirdFree&UDID=********&device_token=********&version=2.4&usernames=********

HTTP/1.1 200 OK
Date: Sun, 28 Feb 2010 00:44:37 GMT
Server: Mongrel 1.1.5
Status: 200
ETag: ********
X-Runtime: 79
Cache-Control: private, max-age=0, must-revalidate
Content-Type: application/xml; charset=utf-8
Content-Length: 17
Via: 1.1 iTwitter.nibirutech.com
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive

Device Registered

これも正体はよく判らないが、通信先が twitter.com のドメインではないので、Twitter との通信ではないように思える。nibirutech.com につい調べてみると、どうやら TwitBird を作っている会社のドメインらしい。リクエストボディ内のパラメータ名から推測すると、作者による利用者管理か何かのように見える。

パラメータに usernames があるが、ここには筆者の Twitter アカウント名が含まれていた。TwitBird 作者からすると、どの Twitter ユーザがいつ TwitBird を使用しているのか、管理できていることになる。同時に、WiFi の提供者からすると、WiFi 利用者の Twitter アカウントが判ることになる。

UDID や device_token パラメータには、数字が含まれていたが、数字が何を意味するのかは判らない。

twitter.com との通信は暗号化

itwitter.nibirutech.com との通信以降は twitter.com との通信が暗号方式 TLS_RSA_WITH_AES_128_CBC_SHA にて行われる。

twitter.com との通信における暗号方式の選定

まとめ

TwitBird は、Twitter との通信を暗号化して行うようだ。証明書の検証については確認していないが、まさか大丈夫だろうと思いたい。その前提で、ひとまず twitter.com との通信に関しては安全と判断したい。

まとめ

今回調べた 3 つのアプリケーションについては、出先の WiFi でも、とりあえず安全に使うことができると判断した。とは言え、調べていないアプリケーションの数は膨大だし、今回調べたアプリケーションも今後とも安全という保証はない。なので、今後とも、ちょくちょく調べていこうと思う。

*1 出先の Wifi として意図しているものは、たとえば下記。

  • livedoor Wireless や BBモバイルポイント などの、公衆無線 LAN サービス
  • IT 系イベントの会場などで主催者が用意してくれるアクセスポイント
  • その他、自分の管理下にないアクセスポイント

*2 先行調査: 高木浩光@自宅の日記 - 公衆無線LANで使うと危ないiPod touchアプリに注意 など

*3 例えば iTunesのアカウント不正利用に関する一例

*4 InfoQ: HTTPSコネクションの最初の数ミリ秒 より

ツッコミを入れる

]]>
http://www.yukinobu.jp/tdiary/?date=20091002#c01 2009-10-03T01:49:36+09:00 2009-10-02のツッコミ[1] (たいちょー) たいちょー 塩くらい振ってから焼きなはれwwww http://www.yukinobu.jp/tdiary/?date=20090901#c02 2009-09-03T08:08:43+09:00 2009-09-01のツッコミ[2] (ゆきのぶ) ゆきのぶ ありがとうございます(^^) 風景の色合いは、ホワイトバランス調整とピクチャーコントロールで何とかしています。 http://www.nikon-image.com/jpn/event/special/pcs/picture/landscape.htm 晴れた日に、適切な設定で撮るのが一番綺麗ですね。色味は自然の恵みです。 風景の色合いは、ホワイトバランス調整とピクチャーコントロールで何とかしています。
http://www.nikon-image.com/jpn/event/special/pcs/picture/landscape.htm

晴れた日に、適切な設定で撮るのが一番綺麗ですね。色味は自然の恵みです。]]>
http://www.yukinobu.jp/tdiary/?date=20090901#c01 2009-09-03T01:35:41+09:00 2009-09-01のツッコミ[1] (しん) しん すご~、写真上手~。色味が美しい。こんなに綺麗に撮れたことなし・・・ http://www.yukinobu.jp/tdiary/?date=20090322#c11 2009-04-09T16:08:09+09:00 2009-03-22のツッコミ[11] (でれでれ) でれでれ レンズがあれば、本体など心配するなかれぇ〜 レンズ命ですよぉ〜 レンズ命ですよぉ〜]]> http://www.yukinobu.jp/tdiary/?date=20090322#c10 2009-03-26T22:11:40+09:00 2009-03-22のツッコミ[10] (ゆきのぶ) ゆきのぶ 本体が型落ちになってもスキルが上がるさ! http://www.yukinobu.jp/tdiary/?date=20090322#c09 2009-03-26T13:38:57+09:00 2009-03-22のツッコミ[9] (たいちょー) たいちょー 最新型を買っても半年で型落ちになることを知ってる俺は勝ち組(爆 http://www.yukinobu.jp/tdiary/?date=20090322#c08 2009-03-22T10:12:45+09:00 2009-03-22のツッコミ[8] (ゆきのぶ) ゆきのぶ ぜひぜひ買っちゃいましょ♪ 型落ちを狙うときは、即断即決が良いと思いますよ。細かく比較検討すると、私のように最新型を狙いたくなるかも知れないので。 型落ちを狙うときは、即断即決が良いと思いますよ。細かく比較検討すると、私のように最新型を狙いたくなるかも知れないので。]]> http://www.yukinobu.jp/tdiary/?date=20090322#c07 2009-03-22T05:27:19+09:00 2009-03-22のツッコミ[7] (たいちょー) たいちょー ウチの周りも最近多い。Canonが2台。俺ももう少ししたら買おうかなw型落ちで良いしw http://www.yukinobu.jp/tdiary/?date=20090322#c06 2009-03-22T02:40:30+09:00 2009-03-22のツッコミ[6] (ゆきのぶ) ゆきのぶ (・∀・)人(・∀・)ナカーマ 桜いいですね〜。美しく撮ってみたいです。 通勤圏内に六義園があるので、そこ狙おうかな〜。 桜いいですね〜。美しく撮ってみたいです。
通勤圏内に六義園があるので、そこ狙おうかな〜。]]>
http://www.yukinobu.jp/tdiary/?date=20090322#c05 2009-03-22T02:32:05+09:00 2009-03-22のツッコミ[5] (こばっと) こばっと 実は持っています。 来週末は桜が咲いてるかもしれず、写真撮るには良い季節ですね。 来週末は桜が咲いてるかもしれず、写真撮るには良い季節ですね。]]> http://www.yukinobu.jp/tdiary/?date=20090322#c04 2009-03-22T02:15:48+09:00 2009-03-22のツッコミ[4] (ゆきのぶ) ゆきのぶ ありがとうございます。 単焦点レンズは、そのうち是非欲しいですね。 こばっとさんも、実はガンレフ使いなのですか? 単焦点レンズは、そのうち是非欲しいですね。
こばっとさんも、実はガンレフ使いなのですか?]]>
http://www.yukinobu.jp/tdiary/?date=20090322#c03 2009-03-22T02:10:56+09:00 2009-03-22のツッコミ[3] (こばっと) こばっと 購入おめでとうございます! 個人的にはコンデジとの違いが一番感じられる単焦点レンズがお勧めです。 個人的にはコンデジとの違いが一番感じられる単焦点レンズがお勧めです。]]> http://www.yukinobu.jp/tdiary/?date=20090322#c02 2009-03-22T01:46:54+09:00 2009-03-22のツッコミ[2] (ゆきのぶ) ゆきのぶ ありがっとー! くまうしさんはガンレフ使ってたりします? くまうしさんはガンレフ使ってたりします?]]> http://www.yukinobu.jp/tdiary/?date=20090322#c01 2009-03-22T01:45:37+09:00 2009-03-22のツッコミ[1] (くまうし) くまうし ガンレフ購入オメ!