にしのクエスト2

情報処理技術者試験と資格学校講師の日常

20221224103753

SMTP

基本
SMTPクライアントを「MUA」、SMTPサーバを「MTA」
といって、このやり取りでメールを送信します。
SMTPではユーザ認証はありません。使用するポートは
25番です。うえるあんのうんぽーつ。

メッセージの構造
エンベローブの中に「ヘッダ(受信者MAIL TOと送信
RCPT TO)」とボディ(本文)がありやす。

MIME
SMTPの機能拡張で、いわゆる「添付ファイル」を送る
ことができます。エンコーディングbase64で行い、
ヘッダで指定します。「S/MIME」はRSA公開暗号方式
でメッセージを暗号化します。

と、ここまではいいんですが。ユーザ認証がないという
ことは、他社からSMTPサーバをおもいっきり悪用され
てしまう可能性があります。よって、その対策をする必
要があるわけです。

POP before SMTP
メールの送信を行う前にPOP3で受信を行い、ユーザが
確かに本人か確認を行う。POP3を受信できたノードに
対して一定期間送信許可する。
が、認証データの暗号化はされていない。ううっ!

SMTP-AUTH
AUTH CRAM MD5を利用して暗号化して認証する。だけ
ど、これに対応したサーバとクライアントが必要
ううむ。


送信ドメイン認証
SPF
IPアドレスSPF情報としてまとめて、DNSで公開する
方法。導入は簡単ですが、正しく偽装(きちんとしたIP
アドレスその対応をされちゃう)だと対処不可能。


DomainKeys
メールサーバがメールに対してデジタル署名を行う。
ヘッダにシグネチャを添付し、公開鍵はTXTレコードへ。
受け取った側はDNSにと会いわせをし、公開鍵を取り出
して署名を検証。
信頼性は高いが、デジタル署名導入の敷居が高い。

メリット:サーバ側で全てやるので負荷が低い
デメリット:送信中にヘッダが変更されたり添付ファイル
      がつくような運用はダメ