Skip to content

hoge+fuga@example.com は「エイリアス」ではない(壁打ちまとめ)

hoge+fuga@example.com は「エイリアス」ではない(まいさん、2026/06/28)

hoge+fuga@example.com のような + 記法は「エイリアス」ではなく subaddress(拡張アドレス) である。 両者は仕組みも経路もセキュリティ特性も異なる、まったくの別物である。

/etc/aliases(本来のエイリアス)subaddress(+記法)
仕組み事前に明示登録された別名対応区切り文字以降を機械的に切り落として本体に合流
必要な権限root / サーバ管理者ユーザー本人のみ(送信側で決めるだけ)
変更コストサーバ設定ファイルの変更が必要即時かつ無制限に使い分け可能
本体アドレスの秘匿性文字列上のつながりを持たない名前を登録できる(本体が割れない)+ より前を見れば本体が機械的にわかる
規格上の位置づけSendmail由来の実装機能「ローカルパートの意味づけは受信側に委ねる」というRFC 5321/5322を背景に、各MTAが慣習的に実装

理解したこと(壁打ちの流れ)

Section titled “理解したこと(壁打ちの流れ)”

Q1. subaddressを知らずに使っていると、何を見誤る?+ より前がそのまま本体のメールボックスになる。 この「隠されていない」事実を知らずに使うと、過信が事故につながる。

Q2. 「本体アドレスがわかる」だけで実害はあるか? → 単発ではほとんどない。 ただし複数サービスで hoge+A@hoge+B@ と使い分けていると、漏洩データセットをまたいで同一の本体アドレスで名寄せ(相関)される。 どのサービスを使っているかという利用実態が割れる。

Q3. 本来のエイリアス(/etc/aliases)ならこの問題を避けられるか? → 避けられる。 エイリアス名を本体と無関係な文字列(例: sushi-chain-alias: hoge)で登録すれば、漏洩しても本体への逆算も名寄せも機械的にはできない。

Q4. それでもなぜ + 記法が使われ続けるのか? → コスト構造が違うから。 エイリアス追加にはサーバ管理者権限と設定変更が必要だが、subaddressはユーザーが自分の裁量で即時かつ無制限に使い分けられる。 利便性とセキュリティ特性のトレードオフになっている。

Q5. なぜRFCは + の意味を規格として固定しなかったのか? → メールは1980年代から多数の独立実装が相互運用してきたシステムだから。 各実装がすでに思い思いの解釈で動いている前提では、後から中央集権的に意味を固定するコストが高すぎる。 RFC 5321/5322は「ローカルパートの意味づけは受信ホストに委ねる」とし、相互運用性の保証だけに専念した。

規格、慣習、観察記録の三層構造

Section titled “規格、慣習、観察記録の三層構造”

この件は一般化すると三つの層に分けてとらえられる。

  • 規格:RFC 5321/5322。相互運用のための最低限の取り決めで、ローカルパートの意味づけには関与しない。
  • 慣習:PostfixやSendmailなど各MTAによる + の採用。変更コストの低さから自然発生し、デファクトスタンダードになった。
  • 観察記録:RFC 5233。後から「だいたいこうなっている」を言葉にしたもので、強制力はない。

すでに分散して運用が始まったシステムに、後から中央集権的に意味を固定するコストは非常に高い。 この構造はメール以外でも繰り返し現れる。 Web標準とブラウザ実装や、HTTPの非標準拡張ヘッダにも同じパターンが見られる。

  • 「呼び方の正確さ」は言葉尻の問題ではなく、運用判断(過信のリスク)に直結する。
  • この三層のフレームは、別の技術領域を学ぶときのメタ視点として再利用できそうだ。