アクセスキーによる閲覧制限とその限界
EmiriSystemでは、日記の閲覧を一部の人に制限するためにアクセスキー(旧名公開パスワード)という方式を採用しています。これは、日記の持ち主が任意の文字列を設定し、その文字列を知っている人だけが日記を閲覧できるというものです。具体的にはアクセスキーが設定されているページにアクセスすると下図のような画面が現れ、ここに正しいアクセスキーをいれた場合のみページが開きます。なお、このアクセスキーは閲覧に使用したパソコンに保存され以後はアクセスキーの入力は不要になります。


アクセスキーのフォーム

しかしながら、この方式には不安があります。例えばアクセスキーを知らせた人がまた別の人に知らせてしまうかもしれないということです。つまり、日記の持ち主は潜在的にアクセスキーを知っている人がどれくらいいて、実際にだれが日記を閲覧できているかを把握する手段がないのです。そのため、ときどきアクセスキーを変更して閲覧制限をリセットするしかありませんでしたが、アクセスキーを変更するとまた閲覧して欲しい人にはすべて再通知する必要がありました。

ワンタイムパスワードによるアクセスキーの拡散防止
ワンタイムパスワードは上記のような問題を部分的にでも解決するためにemiri7より導入しました。日記の持ち主が管理画面で「アクセスキーとワンタイムパスワードを組み合わせる」を選択すると、日記の持ち主はワンタイムパスワードを発行できるようになります。ワンタイムパスワードは、数字や文字が羅列されたもので一度でも利用されるか一週間を経過すると無効になります。アクセスキーとワンタイムパスワードを組み合わせた閲覧制限の手順は以下です。

  1. ワンタイムパスワードを発行する
  2. アクセスキーとワンタイムパスワードの組合せを閲覧して欲しい人に知らせる。
  3. 日記のページを開くと下図のようなフォームが現れるので一週間以内に通知されたアクセスキーとワンタイムパスワードを入力するとページが開く。
  4. 一度使われた上記のパスワードは無効になる。


アクセスキーとワンタイムパスワードのフォーム

もし、アクセスキーとワンタイムパスワードを知らされた人がアクセスキーやワンタイムパスワードを他の人に教えたとしてもワンタイムパスワードはすでに無効になっていますからページの閲覧はできません。
なお新たにアクセスキーとワンタイムパスワードによる閲覧制限を始めたとしても一度正しいアクセスキーを知らせている人に対しては効果はありません。あくまで日記の閲覧制限自体はアクセスキーですので、アクセスキーをすでにPCに保存している人は閲覧可能状態のままです。すべての人をワンタイムパスワードと組み合わせてアクセスキーの再配布を行いたい場合は一度アクセスキーを変更する必要があります。

ワンタイムパスワードの限界
ワンタイムパスワードは、アクセスキーの入力が有効かどうかを認証するものです。一方ページ閲覧の可不可はアクセスキーで制御しています。したがって、もし高度なプログラム技術を用いて直接Cookieを偽装するなどの悪意のある方法をとればワンタイムパスワードがなくてもアクセスキーだけでも閲覧できる可能性があります。しかし、あなたがアクセスキーを知らせた人とつながっている人達にそのようなことまでして日記を覗こうとするような人はいないことを信じましょう。あなたのお友達や親戚の範囲ならばアクセスキーの拡散という問題に対してワンタイムパスワード制が十分効果的ではないかと思っています。

 

Google AdSenseによるPR