はてなにはずいぶんとお世話になったので、はてなポイントで寄付をした。ポイントの購入の画面に行き、クレジットカードでポイントを購入して、はてなダイアリー日記にある「はてなダイアリー運営費捻出のための寄付にご協力ください」のリンクから寄付をした。一度に1000ポイントまでしか送信できないが、何回でも送信できる。5パーセントの手数料が別途かかるのと、残ポイントが300ポイントを下回るような送信はできないので、必要なポイント購入額を事前に計算しておいた方がよい。
はてなは時々止まることがあるし、はてなダイアリーが資源確保に見合うだけの収益を得られているとは思えなかったので寄付をしたい気持ちになったが、これは個人的な印象であって、本当に寄付が必要な状況なのかどうかはわからない。(などと書くのは無粋か。)自分が受けた恩恵に見合うと思える額を寄付した。
ちなみに、私が5月にWeb日記を始めるにあたってはてなを選んだ経緯は、まずは自分でシステムを設置しようと思ったが、個人の立場で書くことが重要であるため勤務先の資源を使うことを避け、しかしながら契約している接続プロバイダのWebページサービスではCGIを使えないため、自宅サーバを確保するしかなかった。面倒なのと時間がなかったのでそれを諦め、tdiary.netを使いたかったが募集が終わっていたので、はてなを使うことになった。
以前から気になっていたのがここのアクセス制御の弱さだ。致命的ではなく、対策方法はそう単純ではないため対応してもらえない可能性があるので、また悪意ある者には既にわかりきったことであろうから、ここに書くことにする。5月12日の日記に頂いたコメントによれば、「はてなダイアリーへの要望」というキーワードをこのように本文中に書いておくと、運営者の目にも触れるらしい。
はてなにログインすると、「rk」という名前のcookieが発行される。その内容は、
rk=e3ver6k2e587nuyiu6o38rjwww84m3といったように30文字のランダムっぽい文字列となっている(上の値は架空のもの)。有効期限は10年間と指定されている。
この30文字をキーとしてセッション追跡(アクセス制御)が行われているわけだが、この30文字は、ログアウトしてログインし直しても、再び同じ値のキーが指定される。ログインを越えて不変の値であるので、これは「セッションID」ではない。
パスワードを変更した後、再ログインしてみても、同じ値のキーが使われる。したがって、パスワードを暗号化やハッシュしたものなどでもない。
実は、この30文字は、最初にユーザ登録したときに「仮登録のご案内」として送られてくるメールの、
下記URLに接続してユーザー登録を完了させてください。 http://www.hatena.ne.jp/register?mode=register&mail=...&randomkey=e3ver6k2e587nuyiu6o38rjwww84m3の下線部と同じ値になっている(上の値は架空のもの)。
どうやら、ユーザ登録した直後に生成されたランダムキー(もしくはアカウント名を暗号化したものかもしれない)が、永久に認証用として使われているようだ。
ということは、一度この値を盗まれるともうどうしようもなくなるということだ。パスワードを変更しても乗っ取られる状態は続いてしまう。アカウントを放棄するしかない。
この安全レベルは、はてなの当初の「人力検索サイト」のサービスでは、それなりに妥当なものだったかもしれないが、はてなダイアリーにとっては、ちょっと不十分であるように思える。
解決方法にはいろいろ考えられるが、標準的な方法は、セッションIDを使うことだ。ログイン時に、新たにランダムな文字列(セッションID)を生成して、cookieにセットし、そのIDからユーザを検索できる管理表をサーバ側で管理する。ブラウザからのアクセスがあると、cookieとしてセッションIDが送られてくるので、それを元にユーザを検索して、ユーザごとの処理を実行する。
ただ、この改善が、現行システムの都合で簡単ではない可能性がある。その場合に、とりあえずの対処として、(本当にこのシステムでうまく実現できるかどうかはわからないが、)現在使用している30文字のランダムキーをログインの度に変更してしまう方法が考えられる。
ユーザの自衛策としては、
ことなどが挙げられる。
以前に書いたように、リンク元表示は350件程度を超えるとそれ以上追加されなくなるのだが、最近、この日記では、2日ほどでそれが埋まってしまうペースになってきた。やむを得ず、空っぽの日記を書いて別の日にリンク元を収集しては消すということを繰り返している。せっかく見に来ていただいても空っぽで申し訳ないところだ。
リンク元を埋め尽くすURLの大半はアンテナであり、それらをリンク元表示に含めない機能が欲しいところだ。以前書いたように、とりあえず、はてなアンテナを含めない機能は簡単に実現できるだろう。
さらにd.hatena.ne.jpも外せる機能が欲しい。はてなダイアリー内からのリンクは別のところにリストされるので外しても困らない(アクセス件数は不明になるが)。一方で、日記ページ上にアンテナモジュールを設置している方からのジャンプがリンク元表示に記録されることで、リンクされていない日記がリンク元として表示されるのが邪魔になっている。
さらに、パワーユーザ向けに、排除するURLのパターンを正規表現で登録できるようにすることもそう難しくはないと考えられる。
をを、東浩紀さんからリンクされているぞ。東さんとは近々お会いする予定があって楽しみだ(何なのかはしばらく内緒)。そもそもこの日記を始めた当初、情報自由論への感想を述べることを最終ゴールとして必要な論点を積み重ねていたのだった。結局その後、言いたいことを別の形で述べてしまったため、そこに達しなかった。後日それを書きたいと思う。