【特集】S/MIMEでセキュアな電子メール環境をつくる!
〜実は危ない電子メール、安全性を実現するS/MIMEの詳細解説〜
澤野弘幸
オレンジソフト
2001/5/30
| 2. S/MIMEの仕組み |
メールでのセキュリティの必要性、そして代表的な2つの通信方式S/MIMEとPGPの仕組みと違いについて、ご理解いただけたでしょうか? 本章では、S/MIMEの仕組みについてさらに踏み込んで解説していきます。
| 2.1 S/MIMEを使った、メールメッセージの形式 |
S/MIMEのメールメッセージ作成の手順は下記のようになります。
(1) メールメッセージをMIME化します。つまり、通常のメールのヘッダ部のうち、あて先や送信元のメールアドレスを除いたものをつけます
(2) MIME化したメッセージを入力として署名データまたは暗号文データを作成します。このデータのフォーマットはRFC2315 "PKCS #7 : Cryptographic Message Syntax Version 1.5" で決まっています
|
(3) 署名データ、暗号データはバイナリのファイルと同じです。画像データやワープロの文章を送るように、このファイルをメールの添付ファイルにします
(4) RFC2311 "S/MIME Version 2 Message Specification"で決まっているメールのヘッダ情報を付けて、S/MIMEメールのでき上がりです
| 2.2 電子署名と検証の仕組み |
電子署名のPKCS #7形式のデータは、下の表のような構成になっています。
|
|||||||||||||||||
肝心なのは太字のところです。そのほかの部分も大事ですが、今回は説明を省きます。検証することは2つあります。
- 署名者の証明書の識別子から、署名に使われた私有鍵に対応する公開鍵証明書が分かります。その公開鍵証明書は上記の表のように添付されてくる場合のほか、ディレクトリサーバなどから取得する場合もあります。検証することは、その公開鍵証明書が本物かどうか
- その公開鍵を使って、暗号化されたダイジェストを復号したものと、受け取ったメッセージ本文からダイジェストを作成したものとを比較して、一致しているか
また、上記の表のようにメッセージ本文をこの中に含むタイプと、分離しているタイプの2つがあります。それぞれ、出来上がったメールメッセージの形も違ってきます。下記にその例を紹介します。前者がメッセージ本文を中に含んでいるタイプ、後者が外に分離しているタイプです。分離しているタイプでは、PGPでも使われる、multipart/signedという形式になっています。S/MIME対応のメーラでは、アイコンの表示で電子署名が付いていることが分かるようになっています。
![]() |
| 例1 メッセージ本文をPKCS#7データに含むタイプ |
![]() |
| 例2 電子署名をつけたメールの例(分離しているタイプ) |
| 2.3 暗号化の仕組み |
暗号化のPKCS #7形式のデータは、下の表のような構成になっています。
|
|||||||||||||
まず、メーラは受信者の証明書の識別子を見て、自分の証明書と一致するものを探します。証明書があれば、その部分の暗号化されたデータを復号することで、秘密鍵が分かります。その秘密鍵を使って、暗号文を共通鍵暗号方式で復号するのです。
でき上がったメールメッセージは以下のようになります。
![]() |
| 例3 暗号化メールの例 |
| 2.4 証明書の取得方法 |
証明書の取得には、幾つかの方法がとられているようです。
(1) Webサイトにアクセス
商用の認証サービスを提供していたり、自社内で認証局を運営している場合なら、認証局の機能を持ったソフトウェアが稼働しているサーバにアクセスして、Webブラウザの中で私有鍵、公開鍵を作成することができます。作成した私有鍵は手元のHDDの中に保管しておき、公開鍵は名前やメールアドレスなどと一緒に認証局に送信します。認証局では規定に沿って本人確認が済むと、証明書を発行します。
(2) 電子メールで送信
認証局によっては、電子メールでの証明書発行要求を受け付けるサービスを行っています。その場合は、作成した公開鍵は名前やメールアドレスなどと一緒に添付ファイルにして、電子メール経由で認証局に送ります。
(3) 証明書署名要求のデータ
(1) (2)で認証局に送っているデータは、下の表のような形式になっています。
|
|||||||||||||
認証局では、このようなデータを受け付けて、認証局の方針に沿って本人確認を行い、問題がなければ、証明書を発行することになります。表中の「Challenge password」について、詳細は省きますが、 証明書を破棄するときに必要になるパスワードです。
(4) 私有鍵と証明書の保管と移動
でき上がった私有鍵と証明書は大事なものなので、バックアップをとっておいた方がよさそうです。ところが、製品のベンダごとに独自の形式で内部的に管理しているので、そのままでは共用ができません。そこで便利なのが、私有鍵と証明書とを合わせてファイルにまとめる仕様、PKCS#12です。この形式のファイルでエクスポートして、別の製品でインポートすればいいわけです。これにより、異なるベンダ間の製品で私有鍵と証明書とを共用することができます。
![]() |
| 例4 Outlook Expressでの証明書のエクスポートの例。「証明書/個人」の「エクスポート」ボタンをクリックすると、証明書のエクスポートウィザードが起動する(画面をクリックすると拡大表示します) |
| 2.5 電子署名から見たPKI |
(1) 証明書の形式
公開鍵証明書のフォーマットは、X.509と呼ばれる仕様で決まっています。X.509にもバージョンがあり、現在使われている証明書はほとんどが1996年に出たバージョン3です。2001年に入ってX.509
エディション4というのも発表されましたが、証明書自体はバージョン3のままです。
バージョン3からは、拡張属性と呼ばれるものが使えるようになり、自由度が高まった結果、現実的な運用に適するものになりました。バージョン3の拡張属性については、また後ほど解説します。
バージョン3のフォーマットは、下記のようになっています。
|
|||||||||||||||||||||
詳細は省きますが、「名前」はX.500のディレクトリサービスにおけるDNと呼ばれるものにあてはまります。「電子メールアドレス」は、X.500のRDNと呼ばれる名前付けの識別子としては存在しませんが、別に識別子を定義して、このDNの中に入れています。
(2) X.509 拡張属性
下記の表のようになっています。
|
||||||
「解釈必要フラグ」とは、「アプリケーションが証明書を扱う際に、このフィールドの意味をきちんと解釈して処理をすべきか」どうかを示します。フィールドとしては以下のようなものがあります。
|
CRLとは、破棄された証明書のシリアル番号が載っているリストのことです。CRLの詳細については、連載:PKI基礎講座 第5回「証明書の有効性」を参照してください。
(3) 鍵使用法(KeyUsage)
ビットのON/OFFで公開鍵の使用目的を示します。RSAの公開鍵で電子署名と暗号化とを同時に使うのであれば、0と2のビットがONになります。
(4) NetscapeCertType
ビットのON/OFFで公開鍵を使用するアプリケーションを示します。SSL用の証明書とか、S/MIME用の証明書など、分かりやすいですね。
ActiveXやJavaアプレットに付いている証明書は3のビット、Object SigningがONになっているのが分かるでしょう。今年の3月ごろに問題となった、ベリサインが誤って第三者に発行してしまったマイクロソフトのActiveX用の証明書も、このビットが立っていたのだと思います。
| 2.6 ほかの人の公開鍵証明書の集め方 |
(1) ディレクトリサーバへアクセス
商用の認証サービスを提供している会社では、同時に、ディレクトリサービスも提供しているため、そこから探してくることが可能です。また、認証局を構築するためのソフトウェアでも、ディレクトリサービスを提供するソフトウェアとセットになっていることが多いようです。
(2) Webサイトの検索サービスを使う
ディレクトリサーバと同様に、Webサイトで検索のサービスも提供されているようです。
(3) 電子署名に添付されてくる
電子署名のデータ形式のオプションですが、証明書を添付して送ることもできます。
(4) エクスポートした証明書ファイルをもらう
| 拡張子cer | 1つの証明書のみ |
| 拡張子 p7c/p7b |
複数の証明書を格納できます。従って、証明書パス上の認証局の証明書を含めることもできます |
| 「メーラごとのS/MIMEの設定」
へ |
| Index | |
| 【特集】 S/MIMEでセキュアな電子メール環境 | |
| 1.
メールになぜセキュリティが必要か? 電子メールのリスク リスクを回避する方法 暗号の分類 電子署名と暗号化の手順 公開鍵をいかにして信頼するのか S/MIMEとPGPの使い道 |
|
| 2. S/MIMEの仕組み S/MIMEを使った、メールメッセージの形式 電子署名と検証の仕組み 暗号化の仕組み 証明書の取得方法 電子署名から見たPKI ほかの人の公開鍵証明書の集め方 |
|
| 3.
メーラでのS/MIMEの利用方法 Outlook Express Netscape Messenger Orangesoft Winbiff |
|
ホワイトペーパー(TechTargetジャパン)
- この脆弱性対策エンジンは“永遠に完成しない” (2010/3/9)
パターンファイルに頼らず防御する「要の技術」は、いまも完成にはいたっていない。その理由とは―― - Gumblarがあぶり出す 「空虚なセキュリティ対策」 (2010/3/1)
ガンブラーの脅威は、組織の構造や外部委託問題をあぶり出します。そのセキュリティ対策、建前論になっていませんか? - 決済アプリのセキュリティ基準、PA-DSSとは (2010/2/24)
“ペイメントアプリケーション”のセキュリティ基準を定めたPA-DSS。厳密に定められた14の要件を、PCI DSSと対比させつつ解説します - 「鍵は“J”の中にあるよ」CTF by ダークナイト解答編 (2010/2/22)
ダークナイトからの挑戦状、いかがだっただろうか。WiresharkにNetworkMiner、WinRARを駆使し、“J”に隠された秘密を解き明かせ!
|
|
スキルアップ/キャリアアップ(JOB@IT)
スポンサーからのお知らせ
- - PR -
| 「いつかは壊れるサーバ」そんな故障に 迅速で安価に手軽に対応する方法とは? New! |
| 「特権ユーザー」の事件を防げ! 万能権限を持つユーザーの管理方法とは? New! |
| 仮想環境の構築とデータ保護の特効薬?! 実績と信頼性の高いパッケージで安心運用 |
| 仮想環境のバックアップもこれまでどおり 「まるごと取ってまるごと戻す」簡単運用 |
| おばかアプリ選手権、第4弾開催中!! ムダにカッコよくてくだらない作品求ム! |
| 社内ファイルサーバを“クラウド”に統合 VPN直結「クラウド型ストレージ」を紹介 |
| その数、なんと400台以上! グループ内 サーバの「統合管理」によるメリットは? |
| 美人!? まあまあ? 気になる いやし系!! PV急増で「美人時計」がとった手段とは? |
| 進化を続ける富士通ストレージETERNUS DX 製品開発者の自信を裏付けるものとは何か |
| 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |
- - PR -
お勧め求人情報

**先週の人気講座ランキング**
〜CCNA編〜
| ◆ | TomcatやJBossなどAPサーバ環境に関する 情報を集約! “業務”用APサーバ大百科 New! |
| ◆ | 一気に解説! 最新のクラスタストレージ 「RAIDを超えたストレージ基準」……など New! |
| ◆ | クラウド的ユーザー体験の変化は脅威か? 仮想化技術を使いこなす運用管理術を紹介 New! |

| ◆ | 上司や部下、部署内メンバーとの情報共有 を“ガラッ”と変えるコラボツールとは? New! |
| ◆ | おばかアプリ選手権、第4弾開催中!! ムダにカッコよくてくだらない作品求ム! |
| ◆ | 社内ファイルサーバを“クラウド”に統合 VPN直結「クラウド型ストレージ」を紹介 |

| ◆ | Twitterのアカウントはなぜ突破された? メールによる新手の攻撃手法とその対策 |
| ◆ | もう仮想化のお試しフェイズは終わりだ! Hyper-V 2.0が基幹システムも仮想化 |
| ◆ | 美人!? まあまあ? 気になる いやし系!! PV急増で「美人時計」がとった手段とは? |

| ◆ | クライアント企業から求められる人材 ⇒IT技術と経営戦略を併せ持つ「戦略家」 |
| ◆ | .NET編集長が実践する「技術情報検索術」 サンプル・コードを簡単に探す“技”は? |
| ◆ | 業務効率と情報セキュリティ対策を両立! 手間なく確実に機密情報を守る方法とは? |

| ◆ | 進化を続ける富士通ストレージETERNUS DX 製品開発者の自信を裏付けるものとは何か |
| ◆ | 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |

| ◆ | 【CTC事例】約30の基幹システムを統合! 膨大なバッジジョブを制御した方法は? |
| ◆ | 仮想化すればコストは削減できるか? 仮想化に必要な「3つの視点」を解説する |
| ◆ | その数、なんと400台以上! グループ内 サーバの「統合管理」によるメリットは? |











