この文章は内輪向けにさっと書いたものを、読んでみていくらか一般的なことかなと思いこちらに掲載してみたものです。事実誤認が含まれる可能性も多分にあることをご了承ください。
sidebar.jp で実験してて、ほとんど害を感じていなかったわけですが、最近解ってきたことも踏まえて、整理してみます。
メイルアドレスのみで認証するシステムには少なくとも以下の問題がありました。
1.メイルを受信できない場所で認証ができない
2.メイルアドレスが無効になった(到達性がなくなった)場合にそのアカウントは完全に使用不能になる
3.メイル盗聴による成りすましの可能性
これ(特に1,2)を回避するには、メイル到達性以外の本人確認手段を併用するしかありません。
a:他の個人情報を入力しておいてもらい、メイルアドレス到達性がなくなった場合の本人確認情報とする
b:メイルアドレスをユーザ識別に用いるが、認証手段として、メイルを受信することに加えて、ユーザが設定したパスワード認証もサポートする
c:メイル認証に加えて、パスワードリマインダ相当の仕組みを導入する
d:USB token/生態認証など
e:他に何かよい本人確認手段はないか…?
a はこちらが保持する情報量が本人確認の確かさに影響します。しかし、正しいとされる情報量の基準が存在しないため、どれだけやっても確実とは言い切れません。持ちたくない個人情報を持たなければならないという問題もあります。また、1のケースにはまったく役に立ちません。
b だと POP3 パスワードを設定する人が続出しそうというのが問題です。パスワードを忘れた際にはメイル認証が使えます。両方の手段が使えなくなった場合はアウトです。
b は a の特殊系ともいえるので、中間案が考えられます。
c のパスワードリマインダ(秘密の質問)はこれにあたります。
世の中のパスワードリマインダは個人情報も集めた上で実施してたりするのでなんだかなぁと思うわけですが、これも、個人情報だけでは本人確認として不適切であるという証拠といえるかもしれません。
しかし、パスワードリマインダはどうしても(推測可能性の面で)パスワードより脆弱になるので、この認証が通っても、登録メイルアドレスにパスワードを送る程度のことしかしません。この認証だけで本人確認とするのは危険ということになります。
d のキーボード以外の入力デバイスを用いた認証というのも最近は現実的になりつつあります。USB-token のほか、指紋認証を供えたノートパソコンもあるくらいで。でもこれはネット越しの認証に使うのは危険すぎ、且つ普及度の点でまだまだ一般的な方法にはできません。
これらのデバイスに対して charrange & response 形式をネット越しにサポートできるようになったら、そして利用者が十分に増えたら有力かも。
まぁ、現状最も使われているのは結局 b なわけで、当面は b 方式の問題点が出ないように注意書きするくらいしかないのかもしれません。
(以下余談)
ところで、3 の問題点(メイル盗聴)を回避するにはメイルを暗号化するしかないのですが、受信者側が暗号化メイルのための鍵ペアを持っていないことが多いので厄介です。リレーポイント間で暗号化通信を行えるようにして、最後は POP3 パスワードを暗号解除キーとして APOP で取り出すようなプロトコルが実装できれば不完全とはいえだいぶ違うのですが…。
エンドポイント間の暗号化は、各SMTPサーバが公開鍵を宣言する(*)か、SSL 等でトンネリングするか、でしょうか。このあたり、最近どういう方向になろうとしているのか追いかけていないのですが…。
本当は送り先メイルアドレスごとに公開鍵があればいいだけですけど。
ユーザが鍵ペアを持てないでいるのは、鍵作成ソフトなどは無料で存在するのに、リポジトリが有料だったり(S/MIME)、手順が MUA で統合されていなかったり(PGP)するからなので、例えば国が証明書リポジトリを運用するとかすると、任意サービスが個々のユーザ向けに暗号化メイルを送れるようになるのかもしれません。
