« RSSやAtomベースのニュース検索エンジン:FeedsFarm.com | メイン | IEBlog »
2004年07月25日
MovableTypeでAtom APIが動かない理由
MovableType3.0の新機能という触れ込みでAtom APIが紹介されてきましたけれど、機能として実装されてはいるが、現在の所動くとは言えないというのが結論となります。
念のため、なぜMovableTypeでAtom APIが使えない(かも知れない)理由を書いておきます。MT3.0でAtom APIを試そうという奇特な方がいらっしゃるかもしれませんので...観測気球のtsupoさんとか、tsupoさんとか、tsupoさんとか(あれ?笑)
ネックとなるのはMTの認証です。TypePadのAtom API仕様書等すでに公開されているように、WSSEの認証を用います。
WSSEの場合、素のパスワードをサーバーに送信するのではなく、以下のようにして作成してPasswordDigestと呼ばれるものを作成し、nonce と timestampと共にサーバーに送信します。
Base64(SHA1(nonce + timestamp + password))
サーバー側では、受け取ったnonce + timestampとすでに保持しているpasswordを元に、クライアントと同様にPasswordDigestを生成してそれが送られてきたPasswordDigestと一致するかどうかをチェックします。同じPasswordとnonce、timestampからは同じPasswordDigestが生成されるはずですから、同じだったらOK、違ったらパスワードが違いますエラーです。
とここまでは一応確認で、すでに一般情報なのでOKだと思います。
それで、クライアントとサーバーが同じPasswordDigestを作成するには両者が同じPasswordを知っていなければなりません。ところがMovableTypeの場合、Passwordを素のまま保存するような事はなく、セキュリティを考慮してPasswordを暗号化してサーバーに保存します。この暗号化(Unixで一般的なCrypt)は、一方方向の暗号化で元に復帰させる事ができません。となると、MovableTypeがクライアントから送られてきたPasswordDigestと比較するとき、素のPasswordが分かりませんと比較のしようがありません。MovableTypeのソースを変更してPasswordの値を見て見ると暗号化されたものが使われているのがわかると思います。これでは幾ら試しても認証をパス出来るわけがありません。
現在の所Atom APIの仕様は0.3のドラフト、IETFの01だとしてもこれでは仕様違反です。MovableType側から見ると、共有サーバーにインストールされる事が多いMTではPasswordは素で保存しない方がセキュリティ的に安全である。WSSEの方法を実現するには、このポリシーを変更する事になり、そうすると今まで他の処理でも暗号化していた意味がなくなってしまう。という状況。
Atom自体の仕様もまだ流動的なのでなんとか別の方法もサポートできないか、積極的に提案できないか... という所で模索しているが、中々上手くいかず立ち往生しているような状態みたいです。
Atom APIをサポートと言いつつ関連文書、情報を一切公開できずにいるのはそういう背景のためかもしれません。
実際の所、WordPressも似た状況に立たされているという話です。
個人的な感想では、
・こういうのは公式にサポートしているとは言えない気がする。
・どうせなら「Atom API非対応」で構わないと思う、XML-RPCの実装がちゃんとしているのだから。
・上記のような状況でもある程度状況説明含めた文書があっても良かったのではないか。(だってここまで調べるの大変だったんだもん、世界中探しても情報ないから...)
という所。
関連情報:
http://www.movabletype.org/support/index.php?act=ST&f=29&t=41904&s=480ccec46c84af01c0459d7e655bda7b
http://www.imc.org/atom-syntax/mail-archive/msg05562.html
Update:
MTのAtom API 認証用トークン
投稿者 BlogWrite担当 : 2004年07月25日 13:30
トラックバック
このエントリーのトラックバックURL:
http://www.witha.jp/b/mt-tb-hate-spam.cgi/119
このリストは、次のエントリーを参照しています: MovableTypeでAtom APIが動かない理由:
» Re: MovableTypeでAtom APIが動かない理由 from 観測気球
Movable Type 3.0 の Atom API は使えないんですね。orz [続きを読む]
トラックバック時刻: 2004年07月26日 10:15

