- 1.電子メール
- 2.電子メールのヘッダ
- 3.メールの宛先(To、Cc、Bcc)
- 4.MIME マイム
- 5.Base64
- 6.BASE64によるエンコードとデコードを実演
- 7.メールのエンベローブ、ヘッダ
- 8.メールのフレーム(パケット)構造
1.電子メール
世界中に簡単に、しかもほぼ無料、ほぼリアルタイムに手紙を送れるというのはすごいことだ。
遣隋使は聖徳太子から隋の煬帝(ようだい)への手紙を届けたが、それは大変な航海だったらしい。しかも「日出ずる処の天子」から「日没する処の天子」への手紙という上から目線の手紙であったというエピソード付きである。
さて、くだらない前置きはこれくらいで、ネットワーク試験において、メール関連の問題はそこそこ多いので、きちんと理解しましょう。
まず、概要について説明します。
・電子メールは、メールサーバと、OutlookやThunderbirdなどに代表されるメールクライアント(メールソフト)で構成されます。
・メールは、メールソフトで作成し、SMTPなどのメール送信プトロコルを使って送ります。外部から送信されたメールは、メールサーバのメールボックスに保存されます。利用者は、メールボックスに対して、POP3やIMAPなどのメール受信プロトコルを使ってメールを受信します。
2.電子メールのヘッダ
実際にヘッダを見ることをお勧めします。
Outlook Expressの場合、メッセージを開いたうえで、「ファイル」「プロパティ」「詳細」タブ
内容は以下
・Received:経由したメールSV
・From 差出人
・To 宛先
・Subject タイトル
・Date 送信日付
Receivedはメールが配送されたルートを示している。メールは複数のサーバを経由することが多いので、Receivedは10行くらいになることも多い。
下から上に配送ルートが記載される。一番下が送信側で一番上が受信側。
以下に、Receivedヘッダについて解説を書いてみた。
▼過去問1(H19NW午前 問50)
このネットワークスペシャリスト試験の問題では、ヘッダの解説がされている。
▼過去問2(H18NW午前 問9)
このネットワークスペシャリスト試験の過去問では、ヘッダのContent-MD5フィールドの用途を問われている。
過去問(H18NW午前 問9) |
---|
問9 インターネットにおける電子メールのヘッダに含まれているContent-MD5フィールドの用途として、適切なものはどれか。 ア 電子メール検索の高速化 イ 電子メールに含まれているディジタルデータの著作権保護 ウ 電子メール配信中のデータ損壊の検出 エ 電子メール発信者の認証 |
↓
↓
↓
↓
↓
正解:ウ
事前知識がなくても、MD5という言葉から正解を導いてほしい問題である。MDはMessageDigestのことである。MessageDigestは、何の目的で利用するか?それはデータの完全性を確保するためである。つまり、データ損壊などといった完全性が失われていないかを確認する。
▼過去問3(H25SC春午前2問20)
過去問(H25SC春午前2問20) |
---|
問20 電子メールが配送される途中に経由したMTAのIPアドレスや時刻などの経由情報を, MTAが付加するヘッダフィールドはどれか。 ア Accept イ Received ウ Return-Path エ Via |
↓
↓
↓
↓
↓
正解はイのReceivedである。
では、以下の過去問(H20春SV午後1問1)で掲載されたメールヘッダの例です。これをもとに、メールの経路を書いてみましょう。
後半のFromが差出人のメールアドレス、toが宛先メールアドレス、Subjectがタイトルです。
Recievedは、経由したメールサーバの情報が、順に追記されます。一番上がもっとも新しいメールサーバです。Recieved行のbyで記載されたFQDNが経由したメールサーバです。
Q.以下は、上記のメールの経路を図にしたものです。今回はボット感染したPCがV社に迷惑メールを送信したと考えられます。2つのサーバ(下図のイ、ウ)のFQDNおよび、送信元であるボットのメールアドレス(下図のア)、受信者のメールアドレス(下図のエ)をそれぞれ答えよ。 |
↓
↓
↓
↓
↓
A.ア:naisho-address@○○.jp
イ:smtp01.v-sya.co.jp
ウ:pop01.v-sya.co.jp
エ:tanto@v-sya.co.jp
Q.メールヘッダの情報は、送信者によって詐称できる。エラー時などの返信先であるReturn-path以外にも、詐称されている可能性があるのは(i)~(ⅳ)のどれか。全て答えよ。(設問1(1)) |
↓
↓
↓
↓
↓
A. まず、送信者の情報である(ⅰ)と(ⅳ)は、偽装された可能性があります。送信者が自由に設定できるからです。また、メールヘッダは、自由に書き換えることができます。なので、Recieved行も全て書き換えられている可能性があります。
じゃあ、(ⅰ)~(ⅳ)の全部が詐称されているかもしれないのですね。
はい、そうです。しかし、下から2つ目のRecieved行は、上記の図にあるように、V社の外部メールサーバで付与しています。V社のメールサーバが乗っ取られていない前提であれば、(ⅱ)のIPアドレスは、改ざんの可能性は低くなります。外部メールサーバが受け取ったIPアドレス情報を基に記載しているからです。
また、(ⅲ)の情報も、V社の外部メールサーバが付与しているので、正しいだろう、と想定できます。
正解は(i)と(ⅳ)です。
3.メールの宛先(To、Cc、Bcc)
電子メールの宛先を入力する欄には、To、Cc、Bccの3つがあります。
以下は、Thunderbirdの画面です。
3つの違いに関しては、IPAのサイトの丁寧な解説があるので引用します。
(ご参考)アドレス欄の意味 ・To: メールを送りたい相手のアドレスを入力する。受け取った本人は自分宛のメールと判断できる。 ・Cc: Carbon Copy(カーボン・コピー)の略。参考として同じ内容のメールを送りたい相手のアドレスを入力する。 ・Bcc: Blind Carbon Copy(ブラインド・カーボン・コピー)の略。Ccと同じように、入力したアドレス宛に同じ内容のメールが送信される。ただし、ToやCcに入力したアドレスは、受信メールに表示されるため確認できるが、Bccに入力したアドレスは受信メールに表示されないため、他の誰に送信されているか、受信者にはわからない。 (旧リンク)https://www.ipa.go.jp/security/kojinjoho/user.html |
過去問(H22春IP)をみてみましょう。
過去問(H22春IP) |
---|
問1 電子メールの送信例のうち,受信者への配慮の観点から,最も適切なものはどれか。 ア 会員から抽出した100名のアドレスを一度にあて先(To)に入れて,会員満足度調査のアンケートを電子メールで送った。 イ 自社製品を紹介する大容量の資料を,圧縮せずに電子メールに添付して得意先に送った。 ウ 製品の質問メールへの回答で,その内容を知ってもらいたい複数の顧客のアドレスをCcに入れて返信した。 |
↓
↓
↓
↓
↓
正解
エのBCCです。
4.MIME マイム
従来、電子メールではASCII文字しか利用できなかった。つまり、画像データを送ることができなかった。
そこで、画像データを送れるように、画像などのバイナリデータをASCIIの文字データに変換して送るようにした。この拡張機能がMIMEである。
H22春IP問58では、「電子メールで使用されるMIME (Multipurpose Internet Mail Extensions)」に関して、「画像ファイルなどの添付ファイルを電子メールで送る方法」と述べている。
あれ?
公開鍵暗号方式を用いて,電子メールを暗号化して送る方法では?
それはSecureのSが頭につけられた、S/MIMEである。詳しくは別途記載する。
MIME(Multipurpose Internet Mail Extension)は、Base64というエンコード方式を利用している。
以下のメールヘッダにおいて、朱色部分がMIMEヘッダである。
・・・・・・ Received: from yyyyy1.co.jp [100.200.200.1] by zzzzz1.co.jp with SMTP id xxxxx; Tue, 24 Jul 2007 13:05:50 +0900 Received: from xxx (xxxxx1.co.jp [100.100.100.1]) by yyyyy1.co.jp (Postfix) with ESMTP id xxxx for <user1@network-exam.com>; Tue, 24 Jul 2007 13:05:50 +0900 (JST) From:Network Master<master@network-exam.com> To: user1 <user1@network-exam.com> Subject: dns server Date: Tue, 24 Jul 2007 13:05:49 +0900 Message-ID: <XXXXXX> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-2022-jp" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook, Build 10.0.6822 ・・・・・・ |
5.Base64
(1)なぜBASE64が必要?
メールはもともと7bitのASCII文字で送受信されることを想定していました。なので、日本語文字やら画像は送れません。
いや、添付ファイルに画像をつけて送ることができますよ
はい、ただし、一工夫しています。そのままではバイナリデータを送れないので、Base64というエンコードを用い、文字列に変換して送っています。
(2)BASE64の概要
BASE64では、全てのデータを64個の文字(a-z、A-Z,0-9、+,/)で表す。
なぜ64個?
詳しく説明しますね。画像でも日本語でも、すべて01データです。以下でもう少し補足します。
❶文字
・アルファベットや数字:何らかの文字コード(基本的にはASCIIコード)で2進数にする (※JISコードなどでもアルファベットや数字部分は、ASCII変換でも結果が同じ)
・漢字やひらがなは、2バイト文字であるため、ASCIIコードでは表現できない。なので、JISコードなどの2バイトの文字コードを使って2進数に変換する。※文字コードによって変換結果は異なる。メールで送るときは、文字コードを伝えてあげないと、文字化けする
❷バイナリデータ
画像や音声などのバイナリデータは、011001などと2進数で表されています。そのデータをそのまま使います。
この0と1のデータを変換して、テキストデータにします。
やり方は、01データを6ビットずつに区切ります。6ビットなので、000000~111111の64パターン。だから、64個の文字があれば、すべてのビットパターンを表現できのです。
※厳密にはパディングの=があるので、65個です。パティングは、ちょうど6ビットに収まらなかった場合に=で詰め物をします。
また、暗号化ではありません。元に戻すことも簡単です。
(3)エンコードの実例
たとえば、Helloという文字を送る場合。
「Hello」は8ビット文字として以下のようにあらわされる。
Hello
01001000 ・・・H
01100101 ・・・e
01101100 ・・・l
01101100 ・・・l
01101111 ・・・o
ここで、6ビットに変換する。
010010
000110
010101
101100
011011
000110
1111 ←端数がでるので、最後は0埋めし、111100とする。
変換表に基づき、文字に変換する。
010010 S
000110 G
010101 V
101100 s
011011 b
000110 G
111100 8
SGVsbG8= となる。 ※=はパディング
6ビットで区切り、8ビットの文字に変換するため、データは4/3倍に膨れ上がる。
(4)過去問
過去問(H18SV午後2問2)を紹介する。
過去問(H18SV午後2問2) |
---|
S/MIMEを使用した場合,添付されるバイナリデータは,ASCIIで表現される64種類の文字と特殊用途の“="を使って表現する[ f ]方式に従って,テキストデータに変換される。64種類の情報を表現するために必要なビット数は,[ g ]ビットである。ここで, 1バイトが8ビットで,[ g ]と8の最小公倍数が[ h ]になり,[ h ]ビットは[ i ]バイトである。したがって,[ i ]バイトのバイナリデータから, 4バイトのテキストデータが生成される。 つまり,添付されるテキストデータは,パディング文字や改行文字などを無視すると,バイナリデータの[ j ]倍になる。このことから,調達ファイルのような大量のデータを転送する場合には注意が必要である。 |
↓
↓
↓
↓
↓
正解は、以下。
f:BASE64
g:6
h:24
i:3
j:1.3 ※4/3を四捨五入。
もう一問。
過去問(H18NW午前 問29) |
---|
問29 30kバイトのJPEGファイルを電子メールに添付するとき、実際の転送データはおよそ何kバイトになるか。ここで、添付ファイルはMIME Base64を用いてエンコーディングされるものとする。 |
↓
↓
↓
↓
↓
正解:40kバイト
(5)エンコードデコードのツール
以下のツールを使うと、Base64の変換などがWebで簡単にできる
https://gchq.github.io/CyberChef/
BASE64やハッシュ関数あたりが使えそう
また、rot13を使うと(検索から)、シーザー暗号を指定文字だけずらすことができる。
rot13(シーザー暗号)については、Linuxのコマンドtrでも可能。trの後半の文字列は、〇〇を△△に変換、などの意味だろうが、よくわかっていない。
# echo abc | tr 'n-za-mN-ZA-M' 'a-zA-Z'
nop ←abcを13文字ずらした文字になった。
ハッシュ関数などの演算処理は、opensslコマンドでも可能
ためしにBASE64でエンコードしてみよう
# echo -n abc | openssl base64
YwJj
※echoでパイプで渡している。-nが無いと、最後に改行コードが入ってしまう。
6.BASE64によるエンコードとデコードを実演
❶エンコードしたいファイルを該当場所に置く。
※今回は、Cドライブ直下に、org.txtというファイルを置いた。
❷コマンドプロンプトを管理者で実行する
❸以下のコマンドを実行。とても簡単。
c:\>certutil -encode org.txt result.txt 入力長 = 5 出力長 = 66 CertUtil: -encode コマンドは正常に完了しました。 |
❹作成したファイルを確認する。
※今回は同じ場所(Cドライブ直下)にresult.txtというファイルができている。
-----BEGIN CERTIFICATE----- SGVsbG8= -----END CERTIFICATE----- |
では、別の実験をする。添付ファイルもこれをすれば文字列になる。
であれば、添付ファイルが送れない環境であっても、メール本文に画像をBASE64のエンコードをしてテキスト化して貼り付けて送付し、受信した側でそのテキストをデコードすれば、画像を受け取れるのではないか。ためしにやってみよう。
❶画像ファイルを該当場所に置く
以下の画像を、seeeko.jpgという名でCドライブ直下に置いた
❷先ほどと同じように、コマンドプロンプトからエンコードを実行
c:\>certutil -encode org.txt result.txt 入力長 = 5 出力長 = 66 CertUtil: -encode コマンドは正常に完了しました。 |
ファイルサイズは5kだったものが6kとなっただけで、あまり変わっていない。
以下が、result.txtの中身。
-----BEGIN CERTIFICATE----- /9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAYEBQYFBAYGBQYHBwYIChA KCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC 0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCg oKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARC AB6AFoDAREAAhEBAxEB/8QAHQAAAgMBAQEBAQAAAAAAAAAAAAcF BggEAwEJAv/EAD0QAAECBQIDBQUGBQMFAAAAAAECAwAEBQYRBxIh MVEIE0FhcRQiMkKBUmKRobHBFhcjctElkqIVRHPC8P/EABoBAQADAQEB AAAAAAAAAAAAAAADBAUCAQb/xAAwEQACAgEEAQIDBwQDAAAAAA AAAQIDEQQSITETBUEiUfAUFWGBobHBIyRCkXHR4f/aAAwDAQACEQMR AD8A1TABABAHnMPNS7Dj8w4hpltJWta1YSlIGSSTyAEAZc1P7TzjE+7I2B KMvMsr2rqM2gqS5/40ZHDzPPoOcAKfUXWa9rvdZmlTr9Ipu4BmWkHFN pKk4yoqB3KOevAeEcqcXJxT5R04SUVJrhlv0U1Rr0jq6w9fdXmjKVpnuVGY cw02o47tW34U8U7fDG45jyuyFmXB5wdWVTrxvWMm0BHZGEAEAEAEA EAEAEAZx7YN3zcpTKTZ9LcUh2rEuzRScEtBQCUeilZJ/tjmclCLk/Y6hFzkor 3EcLcp4pLck4gltCgtSwdpUrqTHzX2+7yuxPl/sfS/YalUq2uP5OpaqYhDLS1 yQSzju0qUn3MdOkRJXtuST5775JG6ElFtcddHhWKdJ16U7vvUF1PFtxCgo pP7jyjvT32aWWcce6ONRRXqo4zz7Ma3Z01bnaZVpexb2eKgohqmzjhyQf laUo80nkk+B4dMfS1Wxugpw6Pm7qpUzcJ9mpokIwgAgAgAgAgBd6s6t 29pvKhNQWqcqzidzNPYI3qH2lHkhPmfoDAGQL9uO59S7sauN6RYp6mm ksy6EkhKEAkj4uJOVHjgDyilqNXp4pwm8/gi7p9JqG1OCx+LIxNr1GfVvrN TUfuIJV/gD8IoP1CmpYogX/sFtrzfM6kWXTEjClzKj13gftET9VufSRKvS6V22 eL1lSw96UnJhlfgVYV+mI7j6tPqcU0cS9Kh3CTTIWuUqtyqWnXnVzTcudzb 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 R5vJ5T7+P+MAO6ACACAP/Z-----END CERTIFICATE----- |
❸ここで、この内容をメールで送る。
❹メールを受信する。
そして、同じようにテキストファイルに貼り付ける。
❺同じようにコマンドプロンプトを開き、こんどはデコード(decode)をする
c:\>certutil -decode result.txt seeeko.jpg 入力長 = 6138 出力長 = 4422 CertUtil: -decode コマンドは正常に完了しました。 |
すると、もとの画像ファイルが復元できた。
7.メールのエンベローブ、ヘッダ
メールは、メールヘッダ(SubjectやFromなどの情報)とメール本文からなる。
この点は理解しやすいだろう。加えて、エンベロープというものがある?
エンベロープ(envelope)は、英語の通り、封筒という意味である。手紙に「○○さんへ」と宛先を書いたり、自分の名前を書いた上で封筒に宛名と差出人を書く。そんなイメージをしてほしい。
この処理は、メールソフトが自動で作成するため、ユーザにはわからないかもしれない。試験では、本当にたまに出題され、H23春SC午後Ⅱでも出題されている。
図で書いたほうがわかるので、以下を参照ください。
エンベローブ(封筒) | MAIL FROM:送信元メールアドレス RCPT TO:送信先メールアドレス |
---|---|
メールヘッダ | DATE:時刻 FROM:送信元メールアドレス TO:宛先メールアドレス Subject:題名 ・・・・・ |
メール本文 | こんにちは、来週の会議について、、、、 |
エンベローブがなぜいるのですか?
なくてはいけないの?
エンベローブはSMTP通信において、必須なのである。逆にメールヘッダは不要。なくても通信ができる。
メールが作成されるところをイメージしてもらうといいが、利用者は使いやすいメールソフトでメールを作る。そのときに作られるのがメールヘッダとメール本文である。それを実際に通信するときは、SMTPコマンドで通信するため、エンベローブにメールヘッダの情報がコピーされて、通信される。
過去問(R1秋SC午後Ⅰ問1)では、「エンベロ-プの送信者メールアドレス(以下, Envelope-FROMという)と,メールデータ内のメールヘッダで指定される送信者メールアドレス(以下, Header-FROMという)がある。」とあります。
先の表に記載しましたように、送信されるコマンドも違います。
・Envelope-from → MAIL FROMコマンド
・Header-From → DATAコマンド
※余談ですが、エンベロープFromの情報は、メールヘッダではReturn-Pathに記載される。古いメーリングリストなどでは、メールを転送(送信者→送信者のメールサーバ→メーリングリストのメールサーバ→宛先)する際に、Return-Pathは送信者のままとしていた。すると、宛先からすると、エンベロープFromは送信者のドメインであり、実際に送られてくるのはメーリングリストのサーバからなので、SPFに失敗する。今では、エンベロープFrom(つまりメールヘッダではReturn-Path)には、メーリングリストの管理者に設定するので、SPFは失敗しない)
8.メールのフレーム(パケット)構造
以下は、ネスペ27で書いた内容です。メールのフレーム構造(パケット構造)を理解するのにちょうどいいと思いますので掲載します。
固有名詞などは、この書籍のままです。詳しくは、本書をご確認ください。
「この図において、服部課長のPCから私の携帯にメールを送るとする。このとき、服部課長のPCから出た直後のフレーム構造、パケット構造を書いて欲しい」 |
宛先MACアドレス | 送信元MACアドレス | タイプ | 送信元IPアドレス | 宛先IPアドレス | プロトコル | 送信元ポート番号 | 宛先ポート番号 | データ | FCS |
---|---|---|---|---|---|---|---|---|---|
20000(仮) | ― | ― |
↓
↓
↓
↓
↓
A.服部課長から送られたメールは、社内のメールサーバに送られます。よって、宛先IPアドレスはメールサーバ(10.1.1.25)になります。また、宛先MACアドレスは、L3SWのMACアドレスです。L2のフレームは、ルータなどのL3デバイスを超えられないからです。そして、メール送信はSMTP通信なので、宛先ポート番号は25番です。
正解をまとめると、以下のようになります。
宛先MACアドレス | 送信元MACアドレス | タイプ | 送信元IPアドレス | 宛先IPアドレス | プロトコル | 送信元ポート番号 | 宛先ポート番号 | データ | FCS |
---|---|---|---|---|---|---|---|---|---|
L3SWのMACアドレス | 服部課長のPCのMACアドレス | IPv4 | 192.168.1.101 | 10.1.1.25 | TCP | 20000(仮) | 25 | ― | ― |