ネットワークスペシャリスト - SE娘の剣 -

ネットワークスペシャリストの試験対策サイトです。
ネスペ試験の合格体験談、合格のコツ、過去問解説、基礎知識などの情報を掲載します。

カテゴリ:10.アプリケーション層(L5〜L7) > 10.9 電子メールのプロトコル

1.送信プロトコル 
SMTP(Simple Mail Transfer Protocol)
英語のとおり、メールを転送するプロトコルである。
このプロトコルには問題点がある。それは、認証をしないこと。皆さんもメールの設定において、POPサーバのユーザ名とパスワードは設定するが、SMTPサーバのユーザ名とパスワードは設定したことがないと思う。つまり、不正な人間が誰でもメールを送れてしまうこと。

→解決策
1) POP before SMTP 
SMTPの前にPOPをする。POPは認証するので、POP認証が終わった一定時間だけ、SMTP
の通信を許可する。

2) SMTP AUTH
・AUTHは認証(Authentication)。POPと同様に、ユーザ名とパスワード認証を行う。
・過去問ではSMTP-AUTHを使ったメールセキュリティ対策として「通常のSMTPとは独立したサブミッションポートを使用して、メールサーバ接続時の認証を行う。(H22春SC午前2問15)」と述べられている。
・過去問ではSMTP-AUTH認証に関して「クライアントがSMTPサーバにアクセスしたときに利用者認証を行い、許可された利用者だけから電子メールを受け付ける(H21春SC午前2問3)」と述べられている。

2.受信プロトコル
POP(Post Office Protocol) 
Post Officeとは郵便局のこと。郵便局のように、郵便(メール)を預かると考えれば、イメージがわくのではないでしょうか。

このプロトコルにも問題点があります。
問題点1)パスワードが平文であること
パスワードが平文なので、盗聴されるとなりすましの危険がある。
→解決策
APOP(AはAuthentication)
パスワードを暗号化する。ただし、メール本文が暗号化されているわけではない。

問題点2)メール管理が大変
メールが大量になるとメール容量が増える。
→解決策
IMAP4(Internet Message Access Protocol ver4)
メール管理がサーバ側で行える。欲しいメールだけを取得できる。
3番目の添付ファイルだけを取得する、なども可能。

1)Client→Server 3way-handshake SYN
2)Client←Server 3way-handshake SYN,ACK
3)Client→Server 3way-handshake ACK
4)Client←Server 220 サーバの準備OK
5)Client→Server HELO ClientPC1 ←自分のホスト名を送る
6)Client←Server 250 OK
7)Client→Server MAIL FROM user1@XXXX.com ←送信者のメールアドレス
8)Client←Server 250 OK
9)Client→Server REPT TO aite@YYYY.com ←宛先のメールアドレス
10)Client←Server 250 OK
11)Client→Server DATA ←メールデータを送るというメッセージ。中身は空
12)Client←Server 354 ←OKです。終わるときは"."を入力してください。
13)Client→Server Message Body ←メールのBody(内容)
14)Client→Server End Of Message ← 最初に指定された"."を入力し、メッセージの終わりを告げる。
15)Client←Server 250 OK
16)Client→Server QUIT ←メールの送信そのものの終了。
17)Client←Server 221 ←了解。終了しますよ。
18)Client→Server 3way-handshake FIN,ACK ※この前にFINパケットが欲しいところだが、キャプチャすると存在しない。上記の221メッセージが代用しているかもしれない。
19)Client←Server 3way-handshake ACK

女性直立
SMTPのシーケンスを以下に書きます。
試験にでるというよりは、イメージを湧かせるためです。

さらりと眺めて置く程度でよいでしょう。
クライアント  ⇒   SMTPサーバ

HELO(クライアントのホスト名を通知)
MAIL FROM(クライアントのメールアドレス)
RCPT TO(宛先のメールアドレス)
DATA(メールヘッダ+メール本文)
QUIT(コネクションの終了)

試しにやってみる。
コマンドプロンプトから、telnet SMTPサーバ名 25(SMTPのポート番号)
smtp1
SMTPのコマンドを実行
smtp2
メールを受信してみると、正しく受信されている。smtp3

 POP3は、電子メールを受信するプロトコルの一つ。普及度合いはかなり高い。APOPやIMAP4などの他のプロトコルもあるが、これらに比べて圧倒的に普及している。Post Officeは郵便局の意味で、メールを郵便(手紙)と考えれば、この名が付いたのも理解できるのではないでしょうか。
  H20秋FE午前問50では、「電子メールシステムで使用されるプロトコルであるPOP3の説明」として,「メールサーバのメールボックスから電子メールを取り出すときに使用するプロトコル」と述べている。
4

POP3は、かなり普及していますよね。
私もPOP3を使っています。
POP3に何か問題でもあるのですか?
まあ、運用でカバーできる範囲だが、いくつか問題というか課題がある。
まずは、過去問(H23NW午後玉2)を見てみたい。
Y社では,PCのフォルダに保存したメールの障害時に備えた対応作業は,社員に任せている。 POP3とIMAP4の違いは,メーラを使っているだけではほとんど意識されない。しかし,J数のPCで同じメールアカウントを使用するときには,違いが分かる。

設問4 〔現在のメールシステムの構成と利用状況〕について, (1)〜(3)に答えよ。
(1)社員に任せている,障害時に備えた対応作業の内容を,30字以内で述べよ。
(2)本文中の下線のときに,POP3で発生する問題を,30字以内で述べよ。

■試験センターの解答例は以下である。
設問4 (1) PCに作成されたフォルダのメールのバックアップ
 (2) 複数のPCから,同じメールを読むことができない。

どちらも、それほど致命的な問題ではないが、IMAP4であれば、メールをサーバ側で管理するので、(1)の問題に対処できる。
また、IMAP4はWebメールのように、メールボックスをサーバに持つので、(2)の問題にも対処できる。

IMAP4の特徴は何か?
3 
それはわかります。
「メールボックスの管理をサーバ側で行うこと」ですね。
でも、なんとなくイメージがわかないんですよ。
実際にやったことがないから。
その通り。メールサーバ側でメールボックスを管理する。POPは自分のPCにメールをダウンロードする必要がある。POPはせいぜい、LISTコマンドを使ってメールの件数とファイルサイズを見るくらいである。
また、IMAP4の4はVersion4のことで、IMAP4とPOPの互換性は無い

実際に設定してみると、イメージがわく。GmailなどのWebメールを利用しているのであれば、IMAP4を設定してみよう。
以下に、おそらく皆さんが設定できるであろうメールの使い方の3パターンを書いた。
POP3
Webメール(HTTPS)
IMAP
である。実際に設定して使ってみることで、違いが分かる。,鉢の操作性の違いはほとんどないこともわかるだろう。
IMAP4_ネットワークスペシャリスト試験
過去問では、IMAP4に関して以下の記述がある。
メールサーバからメールを受信するためのプロトコルで、次の二つの特徴をもつ
(1)メールをメールサーバ上のメールボックスで管理することによって、発信者やタイトルを確認してからメールをダウンロードするかどうかを決めることができる。
(2)文字列などでメールサーバ上のメールボックス内のメッセージ検索ができる。
(H19NW午前 問35より)

電子メールシステムにおいて、利用者端末がサーバ~電子メールを受信するために使用するプロトコルで、選択したメールだけを利用者端末へ送信する機能、サーバ上のメールを検索する機能、メールのヘッダだけを取り出す機能などをもつものはどれか。
(H18SV午前問16より)

過去問(H25春IP問84)ではIMAP4の説明として、「PCで電子メールを読むときに,PCにメールをサーバからダウンロードするのではなくサーバ上で保管し管理する。未読管理やメールの削除やフォルダの振分け状態などが会社や自宅にあるどのPCからも同一に見えるようにできるメールプロトコル」と述べられています。

◆メールデータの移行にはIMAP
また、IMAPはメールデータを移行する際に良く利用される。H21NW午後1問2では、IMAPを利用したメール移行が詳しく述べられている。一部を抜粋する。

IMAPやIMAPSを利用すればASPサーバにメールデータをアップロードできることが分かった。
女性口開き

FTPやHTTP、またはPOPではダメなの?
なぜIMAPなの?
まず、POPは送信機能がないのでできません。
FTPやHTTPでもメールデータをアップロードすることは当然できます。
ただ、メールの移行をIMAPでやったことがある人なら分かると思いますが、IMAPでやるととても便利です。
FTPなどでメールデータをアップロードしようとすると、やっかいです。
メールは受信ボックス、送信ボックス、削除済みなどと複数のボックスに分かれていて、その振り分けを保ったままサーバに送ることは難しい。パソコン間であれば、メールソフトのエクスポート機能とインポート機能を利用すればいい話であるが、受信するメールサーバ側にはそんな機能は普通は持っていない。メールソフトによってエクスポートされる形式が異なるため、ツールを作るのも困難です。
一方IMAPであれば、とても簡単に行えます。IMAPを使ったことが無い人がほとんどかもしれない。メールの移行においては、IMAPを使うことは多い。IMAPには、POPと違ってメールをアップロードする機能がある。例えば、OutlookExpressを利用すれば、既存のメールをIMAPのサーバにドラックアンドドロップで簡単に移行できる。これは言葉では説明しにくいが、とても便利である。
 実際の設定としては、IMAPだからといってPOPと違った特別な設定があるかというと、そうではない。POPの設定と同じである。

POP3では、パスワードを平文で送っている。APOPはAuthenticated POPなので、認証されたPOPという意味である。ちょっと直訳とは離れている気がしないでもないが、パスワードを暗号化して送る。ただし、メール本文は暗号化されない。
女性口開き 

いまどきパスワードを平文ってありあえないですね。
こんなに普及しているのに。
盗聴されないのですか?
確かにそう。パケットキャプチャすれば、他人のメールパスワードがわかる。
社内なら閉ざされているからまだわかる。が、家庭ではプロバイダへの経路はインターネット経由なので、盗聴されたらおしまい。
とはいえ、パスワードどころか、そもそもメール本文も暗号化されていないから、パスワードだけ暗号化してもあまり意味がないけどね。

皆さんも薄々感じているであろうが、APOPはあまり普及してない。
その理由は以下であろう。
 APOPに対応していない
 ・POPサーバとメールソフトの両方がAPOPに対応している必要がある。
 ・APOPに対応しているメールソフトはBeckey!。OutlookやOutlookExpressは未対応。
 ▲札ュリティがそれほど向上しない。
 ・メールのパスワードだけという中途半端な暗号化
 ・セキュリティ上の脆弱性があるということで、POP3SやWEBメールによるHTTPS通信が推奨されている。
 http://www.ipa.go.jp/security/vuln/200704_APOP.html

APOPはパスワードのみ暗号化されるが、POP通信そのものをSSLで暗号化するのがPOP3Sである。httpに対するhttpsと同じ位置づけで、POP3に対するSSL対応がPOP3Sである。
ポート番号は995。

H21NW午後1問2の穴埋めにて、ポート番号995のプロトコルを問う出題があった。

メールソフトは対応しているものが多いが、メールサーバ側ではそれほど普及していないのが現実だと思う。
以下がメールソフト(WindowLiveメール)
pop3S

女性悩み
はじめにおわびしますが。
情報処理試験では午前でさえもPGPが問われていない(と思う)ので、試験にはでないかも。
IPAの記述がわかりやすいので、参考に。
http://www.ipa.go.jp/security/fy12/contents/smime/email_sec.html
【特徴】
・メールの暗号、改ざん検知などのセキュリティを保つために使われる。
・日本での普及は遅れている。
・OutlookExpressなどでは使えない。
・専用ソフト(商用)やBecky!などで利用することが多いだろう。

【利用手順】
.愁侫箸離ぅ鵐好函璽
公開鍵と、秘密鍵を作成
8開鍵を相手に渡す。HPで公開してもよい。
ぜ尊櫃縫瓠璽襪鯀受信する。
公開鍵と秘密鍵を組み合わせて送受信する。
【送り方】
通常はメーラが処理する内容であるが、試験対策というか、内容を理解するために以下の質問をします。
1.盗聴されないように送るには?
どの鍵をどのように使う?
2.改ざんがされていないことを確かめるには?
どの鍵をどのように使えばよいでしょうか?
加えて、この方式では別のセキュリティ対策になります。
それは?
A.否認防止です。

S/MIMEは、メールを暗号化する技術である。
過去問(H18SV午後2問2)にて、内容を確認する。
S/MIMEは,メールの送信者と受信者の間で公開鍵基盤(以下,PKIという)を利用して,送信者が付与した[ a ]を受信者が検証することによって,メールとして転送されるデータの完全性の確保と[ b ]の確認ができる。さらに, PKIは,S/MIMEにおいてメールとして転送されるデータの機密性を確保するためにも利用される。ここで用いられる非対称暗号(RSA暗号)では,秘密鍵と公開鍵が1対1に対応している。ある秘密鍵を使用して[ c ]した情報は,[ d ]と対を成す[ e ]で復号できる。また,[ e ]を使用して暗号化した場合,[ d ]で復号できる。一般に,非対称暗号は,暗号化するデータ量が多くなると,対称暗号に比べて処理時間が長くなる。効率性の観点から,S/MIMEでは,メールの本文を対称暗号で暗号化し,この暗号化に使用した共通鍵を,非対称暗号で暗号化する。この仕組みによって,送信者が指定した受信者だけがメールを読むことができるので,データ転送の安全性が高まる。
女性笑顔 

過去問の問題文って基礎を理解するのにちょうどいいですね。
基本的なことが整理されています。
上記の正解は以下である。
a ディジタル署名
b 送信者
c 暗号化
d 秘密鍵
e 公開鍵

また、IPAのサイトにS/MIMEに関する詳しい記載がある。
http://www.ipa.go.jp/security/fy12/contents/smime/email_sec.html

実際の画面キャプチャーつきなので、お勧め。ぜひご覧ください。


PGPにおいて、公開鍵は正しいという保証はない。
整理すると
S/MIME
CAが署名することによって、保証される。
「国が許可しているベリサインが署名しているから大丈夫だろう。」
PGP
信じるしかない。だれも保証しない。
PGPでは互いに署名しあう。PGPで互いに署名しあうサイトも存在し、こまかなルールが決められている。私が信頼する○○さんが署名している△△さんの証明書だから信頼しようという考え。「友達の友達は皆友達」ですね。

ふつうはフィンガープリントを広く配布することで、公開鍵の信頼性を高めている。

■フィンガープリント
直訳すると「指の印刷」とでも言うのであろうか。「指紋」を意味しているのかな。
フィンガープリントとは、ハッシュ値である。
デジタル署名における署名部分と同じ。

「公開鍵」         「フィンガープリント」
AAAAAAAAAAAAAAAAAAA →     aaa

PGPにおいて公開鍵が信頼できなければ、すべてのセキュリティが崩れる。
そこで、フィンガープリントをメールの署名に入れるなどして広く公開しておけば、
公開鍵をハッシュ化し、フィンガープリントと一致することで正しさを証明できる。

このページのトップヘ