送信ドメイン認証技術の歴史-2

DKIM の誕生

メールの送信者情報を認証するための仕組みとして、電子署名を利用する方法があります。日本では判子文化が主流のためにあまり署名は利用されてきませんでしたが、欧米ではサイン文化ですので、その人が確かに記入したことを示す証拠として署名 (サイン) が一般的に利用されています。電子署名とは、電子的、つまり計算機を利用して特定の人や組織が作成したことを明確にわかるようにしたものです。この電子署名を実現するための基盤技術が、公開鍵暗号技術です。技術の詳細はここでは述べませんが、公開鍵暗号では2種類の鍵、秘密鍵と公開鍵を利用します。

電子署名は、公開鍵暗号技術を利用し、秘密鍵の所有者でなければ作成できない 電子署名*1 を生成します。電子署名は、誰でも入手可能な公開鍵を利用して検証することで、署名作成者の身元を確認することができます。電子署名をメールに利用する場合は、メールデータを利用して署名情報を作成することになるので、メールデータの改ざんも検知することができます。つまり、メール配送の途中で誰かがメールの内容を変更したとすれば、メールの電子署名が検証できなくなりますので (署名データが合わなくなる) 、メールデータが途中で改ざんされたか、そもそも正しい署名が付けられていなかったことが推測できます。いずれにしても、正しい送信者が作成したメールデータそのものではないことになります。

この電子署名の技術を利用して、送信者をドメイン単位で認証できるようにしたのが、電子署名方式の送信ドメイン認証技術、DKIM (DomainKeys Identified Mail) です。DKIM は、2007年5月に RFC4871 として公開されました。その後、2011年9月に改定され RFC6376 となり、最終的には2013年6月に STD 76 となりました。つまり、インターネット標準となったわけです。

DKIM も二つの技術、DomainKeys*2 と IIM (Identified Internet Mail) を統合した技術です。当初、IETF の MASS (Message Authentication Signature Standards) WG の場で電子署名技術を使った送信ドメイン認証技術について議論されていましたが、DomainKeys と IIM が統合を目指して新たに DKIM WG の場で議論されることになりました。DKIM の方は、特に混乱もなく無事に最初の RFC4871 が公開されました。

*1

実際には数値で示されたデータ列です。

*2

歴史的な RFC として RFC4870 として公開されています。