2011-01
29
23:31:48
ニコニコPodder R1.2.4をリリースしました


R1.2.4です。ご報告も頂きましたバグFIX版となります。

■ ブラウザ統合認証において、IEの保護モードを切り替えていたりIE6以前からのアップグレードを行った場合IEでの認証でエラーが発生する場合があった問題を修正

コメント欄でご報告頂いていました。
状況によりIE8などでのブラウザ認証統合が使用できていませんでしたので修正しました。

■ nicoPodder.iniでファイル名パターンを変更した場合に変換エラーになるなど複数の不具合が発生する問題を修正

こちらもコメントで指摘頂いていた点です。

■ iTunes登録部分のコードを全面的に書き直しました。エラー内容もより詳細に表示されるようにした他、iTunesとの連携エラーのハンドリングも強化しました

実はこれまでニコニコPodderのコードはかなり書き直してきているのですが、唯一手を出せず複雑の一途を辿っていたのがiTunes登録関連でした。
まだiTunesへの登録時にエラーが起こる場合があるとのご報告を受け、実際にはiTunes側の問題であるようなのですが、安定版として意宇でリスクもあるのですがこの際ですので全面的に書き直しを行い、より詳細なエラーが表示できるようにしました。
テストは十分に行ったつもりですが、お気づきの点があればお知らせください。
また情報登録のタイミングを変更し、エラーが発生しても再度実行すれば最終的にはできるだけ完了するように変更しました。これにより、実際のエラーは回避できないかも知れなくとも、自動実行などで再トライすれば最終的には完了する可能性は高くなったものと思います。
但し何分当方ではそうしたエラーが出ていないため、これまでお困りの方がいらっしゃればぜひ試して頂いて、これまでとの違いなどご報告頂けると助かります。

以上です。何かありましたらコメント欄までどうぞ

2011-01
24
07:25:54
iPhoneアプリのSSL接続をパケットキャプチャする方法


ブラウザでアクセスするWEBサービスだと、たとえSSL/TLSでセッションが暗号化されていても所詮ピア・ツー・ピア通信なので例えばFirefoxだとFirebugなどでブラウザ側でパケットをキャプチャできます。
でもiPhone(iOS)アプリだとiPhoneにそんなツールが入れられないしキャプチャできない、と思い込んでいませんか?
実は僕もそうだったのですが、この件に関連して可能なキャプチャ方法を見つけたので覚え書きで残しておきます。

但し素人の方法なのでもっと洗練された方法もあるはず。セキュリティクラスタの皆さんにおかれてはよりよい方法をご存じであればぜひTBやコメントなど頂きたく。

なおセキュリティの向上や社会的に正当な目的の下で正しく使用されることを期待してこのエントリーを記載しています。筆者は利用の結果に対して全くの無責任・無保証ですので、あくまで自己責任でご利用下さい。

Continue reading

2011-01
23
02:40:40
続: 楽天銀行アプリのセキュリティについて – プロトコルを解析してみた


結論から書き出すと、結局のところ楽天銀行アプリはUDIDを通常(初期)ログインとクイックログインそれぞれのタイミングでサーバー送出をしていた。この事実からは楽天CERTの説明には不信がある。
さてどうしてくれようというのが現時点な訳だが、まずはどういう仕様で楽天銀行アプリが動作しているのか明らかにしてみよう。楽天CERT担当者からは「即座に悪用できるものではない」との見解ももらっているしまたそもそもリバースエンジニアリングしている訳でもなく公共のインターネットを飛び交っているデータプロトコルについての解説なのだから誰に謀るものでもないだろう。ということで、安心して内容について考察してみる。

Continue reading

2011-01
20
18:52:10
楽天銀行アプリのセキュリティについて


まだ曖昧な部分もあるので書くかどうか迷いはしたのだが、一定の結果には至ったので僕自身が持っている疑問の提示と皆さんへの問いかけという意味を込めて書き連ねてみる。

iPhoneアプリに「楽天銀行アプリ」というものがある。名前通り楽天銀行へログインし自身の取引結果や振り込みなどを行えるアプリだ。
僕自身も楽天銀行には口座を持っているので試してみたのだけど、「あれ?」と思わざるを得ない仕様があった。
簡単に説明すると次のような手順でこのアプリは使用する。

Continue reading

2010-12
31
11:58:17
勝手に添削 – iモードが世界制覇できなかった本当の理由


iモードが世界制覇できなかった本当の理由

事実を正しく指摘してはいるけど、「本当の理由」ではないと思う。

「事実は正しく指摘」しようよ。
結論は、元の中島氏の結論も含めて携帯関係クラスタやらそうした関連記事ではさんざん出ている指摘なので特に異議もないのだけど、その「前振り部分」の事実誤認なのか無知なのか分からないが、事実無根の記述がこんなに短いエントリーなのに三つ(数え方により四つ)もあるよ。
はてブとか読む限り、勘のいい人たちは「何かおかしくね?」とちゃんと気付いてるみたいだけど、言葉のまま信じ切っている人も多いみたいなので、きちんと添削しておく。

ガラケー端末も遙か昔からTCP/IPぐらいサポートしている

WAP1.0の前世紀ならいざ知らず、少なくともiモードはその登場時からTCP/IPベースの携帯端末だった。 小飼氏が言っているのはその10年も昔のWAP1.0と取り違えたような話だ。
というよりWAP1.0のプロトコル・ゲートウェイ的なダサイ実装が嫌だったのでそもそも独自にiモードをTCP/IPベースにして開発した、というのは有名な話だ。
この端末からゲートウェイからもちろん外部のインターネットまで通信層をTCP/IPでデザインするというというアーキテクトはその後のWAP2.0へそのまま踏襲された(つまり現在世界的に見ても『IPアドレスが割り振られない』携帯端末はまず存在しない)。
そもそもガラケーでも問題なくSSLが出来ている(完全なピア・ツー・ピアという意味)時点でTCP/IPをサポートできていないはずが 無いのだが。
なおこれはEZWebやYahoo!ケータイでも(初期にはWAP1.0な時代があったかも知れないが、そこの歴史は僕には分からない。識者の教示を求む)同じことだ。

参考: WAP2.0で何が変わったのか

別にiPhoneだからと言って「グローバルIP」とは限らない

あいまいな論の文章なので判断しにくいのだけど、小飼氏の論やツイートを見ると「iPhoneにはグローバルIPが振られ、外部からも自由にアクセスされ得る」から「終端として主導権を握れる」のが他の端末との大きな違いとなった、とも読める。つまりグローバルIPを自由に使える点が重要だったという意味だろうか(正直こうしてまとめていても僕にはよく分からない)。
仮にそうだとして、日本ではソフトバンクのいわゆる「panda-world.ne.jp」と呼ばれる「iPhone専用網」でサービスされておりここではグローバルIPが割り振られる。IPがグローバルかプライベートかは通常は分からないが、JailBreakしていれば自機のIPが把握できるアプリもある。
しかし世界的にはそんなキャリアだけではない。
例えばこちらの資料をみれば一目瞭然だ。世界的にはグローバルIPを使用するキャリア、 プライベートIPを使用するキャリア(つまりキャリアグレードNATを導入しているキャリア)が混在している。

APN Settings for iPhone 3G | The iPhone User Guide

これらの国ではiPhoneの他の機種に対する魅力は無いのだろうか。ノキアは悠々自適なビジネス環境を生きているか。そんなことは無い。
更に言えば、そもそもスマートフォン網だのガラケー網などと分かれている(アクセスポイントが分けられている)国の方が珍しいので、従来の携帯端末でもグローバルIPが割り振られる場合も同様にある。
「日本のガラパゴス現象」を主題にしているのは理解しているが、しかしその論では「海外においてもiPhoneがスマート」になっている理由付けにはならないだろう。
論理的帰結として、iPhoneはまたはスマートフォンとはそうした「外的要因」からは分離されたところにその存在意義や魅力があると考えるべきだろう。

なお僕には詳細は分からないのだが、「そもそもiモードにも外部接続を受け付ける仕組みはあるよ?」という指摘もある。

定額データ料金はiPhone以前からずっと存在している

これまたあいまいな文章なので判断しにくいが、「iPhoneは定額データ(=常時接続)が無ければこれほど浸透しなかった」は自明としても「定額データを導入したからiPhoneが浸透した」なら成り立たない。既に多くの人が理解するようにiPhone以前の何年も前からガラケーで定額データは一般的だったからだ。
今に始まった経緯では無いのだから「iPhone『だけ』を特別なものにした」論の論拠としては甚だ疑問だし、では何故ガラケー(やその他従来端末)がiPhoneになれなかったかの論としては成り立っていない。

ガラケーがiPhoneになれなかった訳もしくはキャリアがiPhoneを企画できなかった理由

このブログでは、あるいはTwitterでも散々ツイートしているし長くなる話なのでかなり簡単にまとめるが、僕自身は「肝」はいわゆる固有端末ID(uid, X-UP-SUBNO、X-JPHONE-UIDなど)をベースにしたモバイルECが想像以上に成功しそれ以外の方向性に舵を切る必然性がキャリア・メーカーともに無くなったからだと思っている。つまり「イノベーションのジレンマ」かも知れないし、中島・小飼両氏の「結論」も別に異議はない。それ故にキャリアはメーカーを飼い慣らす(実は飼い慣らしたかったのはユーザーだろうが)必要があったしメイドにもならざるを得なかった(つまり両氏の「結論」は「結果論」)、というのが本質論だと思っている。
もし興味があるのなら以下の以前のエントリーも参照して欲しい。

日本のケータイWEBはどうしてこんな仕様になったのか
結局SIMロック論議もオープンプラットフォーム構想も端末IDの話に尽きるのかも知れないなぁ
Appleは本当に垂直統合なのか – 日本の携帯キャリアとの違い
ガラケー機能は須くクラウドを目指せ

ともあれ。エンジニアたる者、事実に立脚せず思い込みだけで論陣を張るなど以ての外だし、知らないことは知らないでよいのではないか。その上で知りたいのなら(議論したいのなら)きちんと新たに学べばいいだけだ。これはネットだけでなくリアルにおいても「技術屋」としては最低限の矜持である。

ROCA,  the mere engineer.