情報処理安全確保支援士(情報セキュリティスペシャリスト)試験に合格するためのサイトです。
過去問を多数引用しながら、基礎知識をしっかり学んでもらうように作ってあります。
また、情報処理安全確保支援士(情報セキュリティスペシャリスト)を楽しく学べるように工夫したいと思います。
カテゴリ:

7.通信の暗号化 > 7.4 メール暗号化

電子メールの暗号化に関しては、IPAのサイトに「電子メールのセキュリティ」と題して記載がある。
このサイトでは、実際の画面を含めて詳しく説明されているので、時間があるときに確認してほしい。
http://www.ipa.go.jp/security/fy12/contents/smime/email_sec.html
11d7b807 

メールの暗号化といえば、確かAPOP、PGP、S/MIMEだったと思います。
違いが良く分かっていませんが。



APOPはメールを受信するときのパスワードを暗号化する仕組みで、メール本文は暗号化されない。
メールを暗号化するのはPGPとS/MIMEだね。
 整理して覚えましょう。

 ここでは、メールの暗号化技術であるPGPとS/MIMEについて説明する。

PGPとS/MIMEの特徴
 PGP(Pretty Good Privacy)とS/MIME(Secure Multipurpose Internet Mail Extensions)は、機密性(メールの暗号化)と完全性(メールの改ざん検知)、真正性(本人であること)を保つために、公開鍵暗号方式を利用したセキュリティ対策である。しかし、Windowsの標準メールソフトであるOutlook Expressで利用できないなどの理由から、日本での普及は遅れている。
 利用手順を簡単に紹介する。
【利用手順】
(i)ソフトのインストール
(ii)公開鍵と、秘密鍵を作成
(iii)公開鍵を相手に渡す。HPで公開してもよい。
(iv) 実際にメールを送受信する。(共通鍵暗号方式と公開鍵暗号方式のメリットを組み合わせたハイブリッド方式が利用される)

1.S/MIMEとは
以下の過去問を見てみよう
問19  インターネットで電子メールを送信するとき、メッセージの本文の暗号化に共通鍵暗号方式を用い、共通鍵の受渡しには公開鍵暗号方式を用いるものはどれか。

ア AES  イ IPsec  ウ MIME  工S/MIME (H22SC春午前Ⅱ)
ヒントは、メール本文も暗号化するということです。
その時点で、PGPかS/MIMEに限定されます。正解はS/MIMEです。
では、メールを暗号化する仕組みであるS/MIMEについて詳しく見て行きましょう。

2.S/MIMEの仕組みと目的
以下の過去問を見て、S/MIMEによって何か実現できるかを確認します。
S/MIMEは、メールの送信者と受信者の間で公開鍵基盤(以下,PKIという)を利用して,送信者が付与した[ a ]を受信者が検証することによって,メールとして転送されるデータの完全性の確保と[ b ]の確認ができる。さらに, PKIは,S/MIMEにおいてメールとして転送されるデータの機密性を確保するためにも利用される。
この問題の正解は以下です。
a ディジタル署名
b 送信者

この問題にありますように、S/MIMEによって、次の3つが実現できます。
①データの完全性 ←ディジタル署名で確認
②送信者の確認 ←ディジタル署名(および証明書)で確認
③機密性の確保 ←暗号化によって実現
情報セキュリティスペシャリスト試験を目指す女性SE
初歩的な質問ですいません。
メールソフト(メーラー)の設定ですが、
普通はSMTPとPOPの設定をしますよね。
S/MIMEを使うときは、どう設定しますか?
通常のSMTPとPOPの設定でよい。S/MIMEは、暗号化したメール本文を、メールの添付ファイルにつけて送ることをイメージすればいいだろう。添付ファイルで送るだけであれば、通常のSMTPやPOPプロトコルで通信できることも納得できると思う。
S/MIMEの流れを図にすると、以下のようになる。
S/MIMEの流れ_情報セキュリティスペシャリスト試験
S/MIMEでメールを暗号化するときの鍵については、以下の記事に記載します。
http://sc.seeeko.com/archives/4314752.html

メールを暗号化する鍵はなんでしょう。
情報セキュリティスペシャリスト試験を目指す女性SE
目的は機密性ですよね。
受信者の公開鍵で暗号化し、それを(受信者しかもたない)受信者の秘密鍵で復号すればいいと思います。
個人的には正解をあげたいが、残念ながら不正解です。
公開鍵暗号化方式では、処理に時間がかかるので、暗号化する鍵を公開鍵暗号化方式で暗号化し、メール本文はその共通鍵で暗号化するのです。受信者には、暗号化した鍵を共通鍵を、受信者の公開鍵で暗号化して送ります。
過去問をみてみましょう。
ここで用いられる非対称暗号(RSA暗号)では,秘密鍵と公開鍵が1対1に対応している。ある秘密鍵を使用して[ c ]した情報は,[ d ]と対を成す[ e ]で復号できる。また,[ e ]を使用して暗号化した場合,[ d ]で復号できる。一般に,非対称暗号は,暗号化するデータ量が多くなると,対称暗号に比べて処理時間が長くなる。効率性の観点から,  S/MMEでは,メールの本文を対称暗号で暗号化し,この暗号化に使用した共通鍵を,非対称暗号で暗号化する。この仕組みによって,送信者が指定した受信者だけがメールを読むことができるので,データ転送の安全性が高まる。(H18SV午後2問2)
この問題の正解は以下です。
c 暗号化
d 秘密鍵
e 公開鍵

S/MIMEのメールが出来上がる様子を、次の図で確認してください。
①メール本文を、共通鍵を使って暗号化します。
②受信者の公開鍵で、共通鍵を暗号化します。これにより、共通鍵は受信者しか復号することができません。
こうやって作成された「暗号化されたメール本文」と「暗号化された共通鍵」がメールに付けられて、S/MIMEのメールが出来上がります。

S/MIMEによる暗号_情報セキュリティスペシャリスト試験

情報セキュリティスペシャリスト試験を目指す女性SE

作成した共通鍵は、受信者の公開鍵だけでなく、
自分(送信者)の公開鍵でも暗号化して添付しているとか?
そうだね。受信者の公開鍵だけだと、受信者しか読めない。そうしないと、そのメールを自分自身がよめないからね。

参考URL
S/MIMEの仕組みはここが詳しい。
http://www.ipa.go.jp/security/pki/072.html

過去問を解いてみましょう。
問41 手順に示す電子メールの送受信によって得られるセキュリティ上の効果はどれか。
 〔手順〕
(1)送信者は、電子メールの本文を共通鍵暗号方式で暗号化し(暗号文)、その共通鍵を受信者の公開鍵を用いて公開鍵暗号方式で暗号化する(共通鍵の暗号化データ)。
(2)送信者は、暗号文と共通鍵の暗号化データを電子メールで送信する。
(3)受信者は、受信した電子メールから取り出した共通鍵の暗号化データを、自分の秘密鍵を用いて公開鍵暗号方式で復号し、得た共通鍵で暗号文を復号する。
ア 送信者による電子メールの送達確認
イ 送信者のなりすましの検出
ウ 電子メールの本文の改ざんの有無の検出
エ 電子メールの本文の内容の漏えいの防止
 (H22秋FE午前)
では、アから順に、なぜ正解かなぜ不正解かを確認しましょう。
かならずご自身で考えてください。

アの「送信者による電子メールの送達確認」というのは、受信者にメールが届いたどうかを確認するという意味。メールが届いたかを「送信者」が確認することはできません。
イの「送信者のなりすましの検出」ですが、これはできるかもしれませんね。よく考えましょう。
なりすましを確認するのは受信者ですね。受信者の行動は(3)のみになります。ところが、今回使っているのは受信者の公開鍵しか使っていません。送信者の公開鍵や秘密鍵を使っていれば、複号することで、本人かの確認ができたのですが、今回はダメですね。
ウの「電子メールの本文の改ざんの有無の検出」はハッシュ値を比較するなどをしなければいけません。
今回の正解はエです。電子メールの本文を暗号化していますので、「内容の漏えいの防止」ができます。

また、この問題をよく見ればわかりますが、S/MIMEにおけるメール本文の暗号化は公開鍵方式ではありません。共通鍵です。なぜそうするかというと、時間がかかってしかたがないからです。

PGPとS/MIMEの違いは、利用するソフトウェアの違い以外に、公開鍵の正当性の保証方法が異なる。
メールの暗号化技術公開鍵の正当性を保証する方法
S/MIMECA(認証局)が署名することによって、保証される。
PGP互いに署名しあう
S/MIMEは後ほど解説するPKIの仕組みを利用し、CA(認証局)の署名にて正当性を確認する。

PGPは「信用の輪(Web of Trust)」にて確認する。
「私が信頼する○○さんが署名している△△さんの証明書だから信頼しよう」という考え方である。
11d7b807

PGPの信頼の輪って、現実的に可能なんですか?
なんか机上の空論というか、現実性が無い気がします。



確かに、日本ではそれほど普及しているとは言いがたいね。
でも、現実的には運用されている。
例えば、互いに署名しあうサイトが存在する。それ以外には、フィンガープリントを広く配布することで、公開鍵の信頼性を高めている。フィンガープリントをメールの署名に入れるなどして広く公開しておけば、公開鍵をハッシュ化してフィンガープリントと一致するかで正当性を確認できる。

5

銀行から署名付きのメールが来ました。これってS/MIMEですか?
メールは暗号化されていない気がしますが…
成子ちゃんの公開鍵を銀行が入手していないから、暗号化されたS/MIMEではない。
でも、署名だけでもS/MIMEという。
こう考えればいい。
S/MIMEには①署名、②暗号、③署名と暗号の3パターンのメールを送れると。
実際、WindowsLiveメールの画面だと、「暗号化」と「デジタル署名」のボタンがそれぞれつけられている。
mail
情報処理技術者試験では、「暗号化メール」と「署名付きメール」という2つの区別をしています。H24春IP問56では、「S/MIMEを利用して暗号化したメールを送信する場合の条件のうち」、H25春IP問60では、「S/MIMEを利用して署名付きメールを送信する場合の条件のうち」という記載があります。

以下も参照いただきたい。
http://www.ipa.go.jp/security/pki/072.html

c2f058cb
メールを暗号化して送るのは面倒ですよね。
パスワードを別メールで送ったりとか。
もっといい方法はないのですか?



最近だと、システムで自動的に暗号化し、数分後に自動でパスワードを送る仕組みがある。
S/MIMEなどを使い、お互いしか知らない鍵を用いて暗号化通信をすべきである。
IPsecも鍵が第三者に分からないようにDHの仕組みを活用しているしね。
ただ、残念ながらS/MIMEは普及していない。各人が自分の証明書を持ち、相手には自分の公開鍵証明書を持ってもらう必要があるからね。メールはオープンな仕組みが受けているから、お互いの証明書を持ち合う文化が普及するには時間がかかるかもしれない。
929c854c

でも最近、金融機関からのメールはS/MIMEなのか知りませんが、証明書がついたものが来ています。
私は金融機関に証明書を送ってませんが、暗号化通信ができているのでは?


いや、あれは暗号化はされていない。認証だけ。
「私は本当の金融機関ですよ」ということを保証している。
dcf52feb
思うんですけど、
メールにおいて、メール交換する全ての相手の公開鍵証明書を持つなんて、なんか不可能じゃないですか?
そもそも、自分の公開鍵証明書も持っていないですし。


そうなんだ。はっきりいってS/MIMEやPGPは普及していない。
ただ、何かがきっかけで普及するかもしれない。
仕組みとしては、①個々のパソコンで管理する、②ディレクトリサーバなどのより一元管理する、方法がある。
①の場合は、パソコンで直接管理するのであるが、メーラーの設定で、メールを送るときに自動で自分で自分の公開鍵証明書を送る設定ができる。これを各人が設定しておけば、メールをやり取りする中で、自動で証明書が蓄積されていく。
②は企業内のメールの場合、社内のディレクトリサーバでアドレス帳および証明書を管理しておけばよい。広くインターネットでこの仕組みを使うのは難しいかもしれないが。

H22SC春午後Ⅰ問3に以下の記述がある。
F部長:S/MIMEは、各求人企業が「デジタル証明書」を用意するために認証サービスを年間契約することなどが必要である。コストが掛かるから難しいだろう。
Z主任:各求人企業が自社で、「デジタル証明書」を発行する方法は、採用できないのでしょうか。
F部長:①各求人企業が自社で発行したものは、当社では「デジタル証明書」として受け入れられない。
Z主任:当社で認証局システムを構築して、求人企業の各利用者分も含めて「デジタル証明書」を発行するのはどうでしょうか。
F部長:その場合、導入コストに加えて、運用コストも必要だ。
Z主任:それでは、PGPはどうでしょうか。
F部長:PGPは、自社で鍵の生成システムを用意できるとしても、クライアントPCの「電子メール」ソフトが対応していないことが多く、操作手順が複雑になるので、一般の利用者には使いにくいだろう。

私が使ってみたところの所感を。
・証明書はベリサインのものを購入した。1年間で3150円であった。これが高いか安いかの議論はあろうが、(私をふくめて)個人の人なら「もったいない」と感じるだろう。
・機密データをやりとりするには、とても便利である。解読される可能性はかなり低いし、互いに証明書をもっていれば、メーラが自動で暗号化などの処理をしてくれる。デフォルトの設定で暗号を有効にしておけば、証明書を持ち合っている人とは自動で暗号化され、そうでない人には平文で送られる。ファイルにパスワードをつけて、それを送り、パスワードを別途送るという作業に比べたら格段に楽だ。それに、ファイルにパスワードをつけても、本気を出せば解読される。
・先日、パソコンがクラッシュした。すると、証明書も秘密鍵もクラッシュしてしまう。新しい証明書を発行してもらうことになるのだが、過去の暗号化されたメールが読めない。これは痛い。

という感じで、デメリットもあり、なかなか普及しないのかもしれない。

STARTTLSは、SMTPやPOP3などで利用できる暗号化技術です。
情報セキュリティスペシャリスト試験を目指す女性SE 

SMTP通信の暗号化であれば、SMTP over SSLがありますね。
はい。どちらもTLS(SSL)による暗号化です。以下は、Thunderbirdのメール設定画面ですが、セキュリティの設定で、セキュリティ設定として、STARTTLSとSSL/TLSが選択できます。
starttls
 
さて、STARTTLSの特徴は、SMTP over SSL(465)やPOP3 over SSL(995)と違って、ポート番号を従来のSMTP(25)やPOP3(110)をそのまま利用できることです。
そして、通信相手と暗号化通信ができると確認した上で、ポート番号を変えずに暗号化通信を行います。過去問(H28NW午後Ⅰ問1)では、STARTTLSに関して、「接続時に平文で通信を開始して,途中で暗号化通信に切替える方式」と述べています。
これであれば、相手がSTARTTLSに対応していなければ、通常のSMTPやPOP3で通信を行うことができます。

このページのトップヘ