FrontPage  Index  Search  Changes  RSS  Login

[network] Purported Responsible Address in E-Mail Messages (PRA) - SMTP 関連メモ

概要

SMTP を理解していないので、ある程度理解を深めようと思い、RFC などを参考に情報を集めた。

Purported Responsible Address in E-Mail Messages

参考資料

責任を持つはずのアドレス(Purported Responsible Address)

  • 電子メールメッセージに結合される新たな身元(アイデンティティ)を定義する
  • これを PRA(責任を持つはずのアドレス) と呼び、メッセージのヘッダを検証する事で決定される
  • RPA は最も最近にメッセージ配送を開始したエンティティとなるよう設計されている
  • このアルゴリズムの信頼性は、メッセージに含まれているヘッダと同程度となる
    • メッセージに偽装されたか不正確なヘッダが含まれている場合、このアルゴリズムは不正確な結果を返す
    • 『責任を持つ「はず」のアドレス』の由来はここからきている

PRA の決定

  • このアルゴリズムの目的にとって、ヘッダフィールドが空でないという事は、空白以外の文字を含んでいる場合だけに限られる

ステップ 1

  1. メッセージ中の最初の空でない "Resent-Sender" ヘッダを選択する
  2. 該当するヘッダが見つからない場合は、ステップ 2 に進む
  3. 該当する "Resent-Sender" ヘッダの前に空でない "Resent-From" ヘッダがあり
    1. 1 個以上の "Received" ヘッダまたは "Retern-Path" ヘッダが
    2. その "Resent-From" ヘッダの後で該当する "Resent-Sender" ヘッダの前に存在する場合もステップ 2 に進む
  4. その他の場合はステップ 5 に進む

ステップ 2

  1. メッセージ中の最初の空でない "Resent-From" ヘッダを選択する
  2. "Resent-From" ヘッダが 1 個見つかった場合はステップ 5 に進む
  3. その他の場合はステップ 3 に進む

ステップ 3

  1. メッセージ中の空でない "Sender" ヘッダをすべて選択する
  2. 該当するヘッダが存在しない場合はステップ 4 に進む
  3. 該当するヘッダが 1 個だけの場合はステップ 5 に進む
  4. 該当するヘッダが複数の場合はステップ 6 に進む

ステップ 4

  1. メッセージ中の空でない "From" ヘッダをすべて選択する
  2. 該当するヘッダが 1 個だけの場合はステップ 5 に進む
  3. その他の場合はステップ 6 に進む

ステップ 5

  1. 前のステップでメッセージからヘッダが 1 個選択されている
  2. そのヘッダの形式が不正な場合はステップ 6 に進む
  3. その他の場合は、示されている単一のメールボックスを PRA として返す

ステップ 6

  1. メッセージの形式が不正なため、PRA の決定は不可能

セキュリティに関する考察

  • PRA はこれまで検証されてこなかったメッセージヘッダから抽出される
  • 何らかの目的で PRA を用いる場合は、PRA を抽出したもとのヘッダが偽造されたものである可能性や、文法的に不正なものである可能に注意しなければならない(MUST)
  • RFC 4406 では PRA を検証する機構について記述している
Last modified:2009/11/01 17:52:10
Keyword(s):[network] [SMTP]
References: