Siriのプロトコル、解明される
2011年11月16日 18:37
あるAnonymous Coward 曰く、 iOSおよびAndroid向けアプリを開発する仏ApplidiumがiPhone 4Sの音声認識システムSiriのプロトコル解析を行ったそうだ(Applidium、TechCrunch、本家/.)。
Siriは入力された音声をAppleのサーバーに送信、サーバー側で解析を行う仕組みで動作するが、Applidiumはこのやり取りに使われるプロトコルを解明したとのこと。テストではiPhone 4S以外のクライアントから音声を送信してレスポンスを受け取ることに成功しており、理論的にはどのような端末からもSiriにアクセスできるという。ただし、利用には端末に固有なIDを要するため現実的には難しいとのこと。
Applidiumの開発者らは、まずプロキシーサーバを立ててHTTPトラフィックを解析したそうだ。しかしこれではSiri関連のデータは取得できなかったそうだ。そこでtcpdumpでネットワーク通信全般を調査したところ、SiriはTCPのポート443を使い、17.174.4.4(guzzoni.apple.comというドメインに紐付けられている)に対しリクエストを送信していることを突き止めたという。
このサーバーへの通信にはHTTPSが使われていたため、今度は偽のHTTPSサーバとDNSサーバを立ててiPhone 4Sに偽サーバへ通信させてリクエストの解析を行ったという。その後データの圧縮方法を探し当て(zlibを使っていた)、復元データを更に解析していったとのこと。
開発者らは最終的にはiPhone 4Sを通さずに音声データを送りSiriと会話することに成功したとのことだ。端末とAppleのサーバ間では大量のデータのやり取りが行われているそうで、やりとりには端末固有のIDを要するとのこと。なお、Applidiumではこのプロトコルについて理解を深めるためのツール群を公開している。
スラッシュドットのコメントを読む | テクノロジー | mainpage | アップル
関連ストーリー:
Siriが語る、パーソナルアシスタントになるまでの物語 2011年11月09日
Siriが「女性の声」で話す理由 2011年10月24日
Siri、その人気のためサーバー接続の問題が発生 2011年10月21日
iPhone 4S、さっそく分解される 2011年10月15日