メール

情報処理

S/MIMEの仕組みを図解で分かりやすく説明

S/MIMEとは

S/MIME(Secure / Multipurpose Internet Mail Extensions:エスマイム)とは、暗号化技術と電子署名を使った安全に電子メールを送受信するための規格です。

主に銀行のようなセキュリティが重要なメールの送受信で採用されている方式です。

S/MIMEを利用するには、メールの送信者と受信者が S/MIME に対応しているメーラー(メールソフト)を使う必要がありますが、Microsoft社のOutlookやiPhone・iPadのメーラーなど多くのメーラーが対応しています。

スポンサーリンク

S/MIMEと同じように電子メールを暗号化する手法には、電子メールを送信する際に暗号化する  SMTPS や、受信時に暗号化する POP3S(もしくは IMAPS) が存在しています。

SMTPSでのメール暗号化

送信者のメールを管理しているメールサーバに、SMTPSを導入することで送信者と送信者のメールサーバ間の通信を暗号化することができます。

ただし、その先の通信経路は受信者のメールサーバが SMTPS、POP3S(もしくは IMAPS) に対応していないと暗号化されずにメールが平文で送信されてしまいます。

このようにSMTPS、POP3S(もしくは IMAPS)を利用する場合は、両者のメールサーバが対応している必要がありますが、S/MIMEでは、相手のメールサーバの設定に依存することはなく、送信から受信までの通信を全て暗号化することができます。

S/MIMEはどうして必要なの?

メール内容の盗聴(個人情報の漏洩)

メール内容の盗聴

インターネット上での通信は専用機器(※1)を使えば簡単に盗聴することができます。そのため、通信内容を暗号化していないとメールの内容が漏洩してしまう危険性があります。

S/MIMEを使用して通信内容を暗号化することで、仮に通信内容を盗聴されたとしてもメールの内容は暗号化されているため解読することは困難です。

※1:本来はネットワークの問題を解決のために使用する専用機器。

「なりすまし」によるフィッシング詐欺行為

なりすましによるフィッシング詐欺

「なりすまし」とは本家のサイトになりすまして、偽のサイトに誘導し個人情報などを盗み取ったり、盗んだ情報を悪用するなどの行為ことをいいます。フィッシング詐欺とも呼ばれています。

近年では「なりすまし」による偽メールや、偽サイトが本家そっくりに作られることも多く、見た目で見抜くことが難しくなってきています。

S/MIMEでは電子署名を使った「なりすまし」防止、そしてメール内容の「改ざん」防止を行う仕組みが存在しているため、フィッシング詐欺を防ぐ効果が期待できます。

S/MIMEによるメール暗号化の仕組み

ここからは、S/MIMEによるメール暗号化の仕組みを送信者は企業、受信者は契約者のイメージで図解を利用して解説してきます。

[手順1] 共通の秘密鍵を生成

S/MIME暗号化の仕組み手順1

送信者は、送信者と受信者の間で使用する「共通の秘密鍵」を生成します。そして、生成した「共通の秘密鍵」でメールを暗号化します。

ここで登場している鍵は次の通りです。

  • 共通の秘密鍵:送信者側で生成
  • 受信者の秘密鍵:受信者の公開鍵とペアになっている公開してはいけない鍵
  • 受信者の公開鍵:受信者の秘密鍵とペアになっている公開してもよい鍵

[手順2] 共通の秘密鍵を暗号化する

S/MIMEによる暗号化手順2

受信者から公開鍵を入手し「共通の秘密鍵」を「受信者の公開鍵」で暗号化します。

[手順3] 暗号化したメールと「共通の秘密鍵」を送信する

S/MIMEによるメール暗号化の仕組み手順3

暗号化したメールと「共通の秘密鍵」を送信します。

[手順4] 受信者側で「共通な秘密鍵」を復号化する

S/MIMEによるメール暗号化の仕組み手順4

暗号化したメールと「共通の秘密鍵」を受信した受信側は、「受信者の秘密鍵」で「共通の秘密鍵」を復号化します。

これで「共通の秘密鍵」を送信側と受信側で共有することができました。

[手順5] 「共通の秘密鍵」でメールを復号化

S/MIMEによるメール暗号化の仕組み手順5

「共通の秘密鍵」で受信した暗号化されているメールを復号化します。これで受信者はメールの内容を確認することができます。

スポンサーリンク

S/MIMEによる電子署名の仕組み

ここからは、S/MIMEによる電子署名の仕組みを送信者は企業、受信者は契約者のイメージで図解を利用して解説してきます。

[手順1] メールをハッシュ化する

S/MIMEによる電子署名の仕組み手順1

送信側でメールをハッシュ関数と呼ばれる関数でデータを圧縮(ハッシュ化)します。

ここで登場している鍵は次の通りです。

  • 送信者の秘密鍵:送信者の公開鍵とペアになっている公開してはいけない鍵
  • 送信者の公開鍵:送信者の秘密鍵とペアになっている公開してもよい鍵

[手順2] 送信者の秘密鍵で電子署名する

S/MIMEによる電子署名の仕組み手順2

「送信者の秘密鍵」を使いハッシュ化したメールを利用して電子署名をします。

[手順3] 電子署名付きのメールを送信する

S/MIMEによる電子署名の仕組み手順3

「送信者の公開鍵」と「電子署名」付きの暗号化されたメールを送信します。(※メールの暗号化は暗号化の仕組みの通り)

[手順4] 電子署名を検証し、ハッシュ値を取り出す

S/MIMEによる電子署名の仕組み手順4

「送信者の公開鍵」と「電子署名」付きの暗号化されたメールを受信した受信側は、「電子署名」が信頼できる機関から発行されているかを検証します。

そして「電子署名」を「送信者の公開鍵」で復号化してハッシュ値を取り出します。

電子署名 そして 送信者の公開鍵で復号できた事実から「なりすまし」によるメールではないということが判断できます。

[手順5] 受信メールをハッシュ化する

S/MIMEによる電子署名の仕組み手順5

受信側は、暗号化された受信メールを復号化(※メールの復号化は暗号化の仕組みの通り)、そして平文になったメールをハッシュ関数でハッシュ化します。

[手順6] 署名のハッシュ値と比較

S/MIMEによる電子署名の仕組み手順6

電子署名から復号化したハッシュ値と、受信メールをハッシュ化したハッシュ値を比較します。ハッシュ値が同じであれば、メール内容が「改ざん」されていないと判断することができます。

よろしければ記事の評価をお願いします

© 2020 ITを分かりやすく解説