送信ドメイン認証技術解説
電子署名を使うDomainKeysの設定方法
末政 延浩センドメール株式会社
テクニカルディレクター
2006/1/12
今回は電子署名を利用した送信ドメイン認証技術「DomainKeys」について解説する。Sender IDやSPFなどのIPアドレスベースの送信ドメイン認証に比べて、本質的にメール転送に強いという利点があり、長期的には電子署名方式の送信ドメイン認証を利用していくべきであるといわれている。
ただし、Sender IDの導入は送信側ではDNSにSPFレコードを登録するだけで簡単に開始できるのに対して、DomainKeysなどの電子署名方式では送信側でも電子署名を行うメールフィルタを導入する必要があり、やや敷居が高い。
電子署名方式で最も普及しているDomainKeys
DomainKeysは、電子署名を利用した送信ドメイン認証技術の中では最も普及している技術である。DomainKeysは、米Yahoo!が提唱する方式であり、Yahoo!メールやGmailなどで利用されている。RFCのドラフトは以下のURLからダウンロードできる。
| DomainKeysのINTERNET DRAFT http://www.ietf.org/internet-drafts/draft-delany-domainkeys-base-03.txt |
まず、DomainKeysの仕組みを説明する(図1)。電子署名に利用する公開鍵や秘密鍵はOpenSSLなどのツールを利用すれば自分で作成できる。なお、公的なCA(Certificate Authority:認証局)で電子署名された公開鍵の利用については現在検討中となっている。
![]() |
| 図1
DomainKeysの仕組み (1)X.COMではあらかじめ署名に使う公開鍵をDNSサーバにて公開する (2)X.COMのメールサーバは送出メールの本文とヘッダを基に電子署名を付与する (3)メールをY.COMへSMTPで送信する (4)Y.COMのメールサーバは「From:」のドメイン部である X.COMのDNSサーバに公開鍵を問い合わせる (5)X.COMから取得した公開鍵により電子署名を照合して、OKであれば認証成功 |
DomainKeysのヘッダ
メール送信側では、作成した電子署名を「DomainKey-Signature:」ヘッダとして個々のメールに追加する。電子署名の値は選択したヘッダとメールの本文からハッシュ値を作成しそれを基に生成される。受信側ではメールの受信時にこのヘッダを参照して認証処理を実施する。
「DomainKey-Signature:」ヘッダの例を示す。
| DomainKey-Signature: a=rsa-sha1; s=tls; d=sendmail.com; c=nofws; q=dns; h=in-reply-to:references:mime-version:content-type:message-id: content-transfer-encoding:cc:from:subject:date:to:x-mailer:x-ok-sendmail.com; b=hQ/NU8dng9Dkher6Te8xD/Ltt2KdEGCcd1aB+2/cmgNL3BKE9o 4BnYu4BBcWcxDSlrG1LYAC7hGVZi6/NT5TT6d20cfvSy39dWsqb MNRhBJKRX/h5+srjTJWfSpzeThz3lU9hq8ZfrVfJedi8SlKVjseafF0 Yp7m+w7k+MqapU8= |
「b=」に続いているものが電子署名のデータである。ヘッダには電子署名以外にも複数の情報がタグ付きで記録される。タグの一覧について表1に説明する。
|
||||||||||||||||
| 表1 DomainKeys-Signatureヘッダで利用できるタグ |
DomainKeysレコード
送信側では電子署名の照合に利用する公開鍵をDNS上にTXTレコードとして公開しておく。DNS上の公開鍵は例えば次のようになる。
| k1._domainkey.sm-ex.co.jp. 300 INTXT"g=; k=rsa; t=y; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC6xMd6S/.<省略>" |
このTXTレコードには公開鍵以外にも制御用の情報もタグ付きで指定する。利用可能なタグの一覧を表2に示す。
|
||||||||||||||
| 表2 DomainKeysの公開鍵情報で利用できるタグ |
受信側では、「DomainKey-Signature:」ヘッダのdの値が同じメールのヘッダ内にある「From:」か「Sender:」のドメイン部と一致していることを確認できたら、sタグの値(セレクタ)と合わせてDNSクエリを実施する。クエリするFQDN(Fully Qualified Domain Name:完全修飾ドメイン名)は、
| セレクタ._domainkey.ドメイン名 |
となる。例えば、「s=k1」で「d=sm-ex.co.jp」だとすると、
| k1._domainkey.sm-ex.co.jp |
へのTXTレコードのクエリを実施し、公開鍵を取得する。
セレクタを利用することにより1つのドメインで異なる鍵を使い分けることができる。例えば、一定期間で鍵を更新していく場合など、新旧2つの鍵を異なるセレクタを利用して同時に公開することで、移行期間の余裕を設けることができる。
1/4 |
| Index | |
| 電子署名を使うDomainKeysの設定方法 | |
| Page1 電子署名方式で最も普及しているDomainKeys DomainKeysのヘッダ DomainKeysレコード |
|
| Page2 DomainKeysはメールの転送に強い DomainKeysはメーリングリストが苦手 送信サーバと受信サーバにおける注意点 ほかのメール暗号化方式との関係 |
|
| Page3 dk-milterを導入してみよう dk-milterのビルド DomainKeys用の鍵の作成と公開 サイトポリシーの公開 |
|
| Page4 dk-milterの起動とsendmail MTAの設定 認証結果 送信ドメイン認証の今後 |
|
| ドメイン認証技術解説 | |
| Sender ID:送信者側の設定作業 | |
| Sender ID:受信者側の設定作業 | |
| 電子署名を使うDomainKeysの設定方法 |
TechTargetジャパン
- Facebook タイムライン利用時の「鉄則」 (2012/2/9)
ユーザーインターフェイスの変更措置に伴い浮上した、Facebookの「過剰な情報提供」のリスクと対策とは - 無料サービスなら通信内容を記録してもいいの? (2012/1/13)
無料の公衆無線LANサービスが、ユーザーに無断で通信履歴を記録していたことが判明し、話題に - 攻撃はまるでレーザービーム (2011/12/26)
2011年に話題となった標的型攻撃は「人」という弱点ををねらい打ちにしました。では、人に教育さえしておけば防げるものなのでしょうか? - 見せたくないなら「持たせない」が鉄則! (2011/12/15)
逆コンパイル対策で難読化したのに、大事なデータが解析されちゃった? Androidアプリのセキュリティの道は深い
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -

