ウイルスメールとアドレス偽造

えー、今まで私はメールにウイルスやらDMが来るのは構わないと思っていましたが、自分のメールアドレスを from 行に書き込み rewind させた上で管理者に送るやつやら、特定のユーザーに送るウイルスなどを見てちょっと考えが変わったような気がします。

そこで、from行の為に本人確認の方法を提案する。
PGP など、本人を確認する方法は沢山ありますが、どうやって公開キーを公開するか?という点で大問題になります。

そこで、こういうのはどうでしょうか?
まず、PGPでもなんでもいいのですが、公開キーを作ります。それをどうやって公開するかというと、DNSを使います。
公開キーは短い情報なので、DNSのレコードに入れても十分転送できます。
つまり、こういう事です。
mori.domain.net TXT "8ecd3e90aced9afe"
foo.domain.net TXT "8ad3dde0ad39af44"
...

まず、中継メーラーは、ドメインとユーザー名を摘出します。
次に、ユーザー名+".user"+ドメイン名 で DNS を検索します。
もしヒットしたら、メールが署名付きで有ることを確認後、署名をダイジェストコードで確認します。
署名があり、署名が確認できた物だけ、rewind したり、受信するようにします。

このようにする事で、大きなデレクトリサービスに公開キーを提出したりする必要がなくなります。

注意点としては、DNS のゾーン転送を禁止させないと、ユーザーのリストが丸見えになります。ちなみに、ユーザー名の当て物が出来るという問題はメーラーでも出来てしまうので問題にならないと思う。
心配ならば、見つからない user-id の場合は嘘の署名を返すようにすれば良いと思う。
また、署名を持たないユーザーの場合は、TXT レコードに "" (空)を入れるという仕様でよいと思う。

この方法で、公開キーの公開がドメイン毎に行えます。
また、DNS を拡張して
foo*.user.domain.net TXT "8ad3dde0ad39af44"
というように、隠し文字が使えるように出来れば、qmail の virtual user にも対応できます。
DNS の付加が心配ならば、user.domain.net を管理する DNS を作ればよいでしょう。

なお、以上のアイデアは、すでに私が公開した方法なので特許等は取れません。自由にRFCやプログラムに使ってください。

http://www.kawabata.com/yoshihiro/blog/PermaLink.aspx/befd41c6-53e9-43e6-9308-206af63a0ece
とりあえず、ここにコメントを書いておいた。