S/MIME
PGP とは異なり、CA によって証明書を発行し、公開鍵の正当性を検証するために、必ず CA が必要
共通鍵暗号と公開鍵暗号およびハッシュ関数を利用し、電子証明書によってメールの暗号化とデジタル署名の付与を実現
画像、音声などのバイナリファイルを送信するための規格である MIME を拡張子たもの
- 添付ファイルを含めて暗号可能
X.509 使用
暗号メールと署名メールがあり、暗号と署名の両方を同時に行なうことも可能
PKCS(Public Key Cryptography Standard) に従って暗号化、ディジタル署名を行なうことで、電子メールの機密性と完全性を高めることができる
暗号メールの手順
- メールの暗号化に使用する共通鍵を生成する
- 生成した共通鍵を用いてメール本文を暗号化する
- 受信者の公開鍵で生成した共通鍵を暗号化する
- メール本文と公開鍵で暗号化した共通鍵を併せて送信する
- 受信者はまず自分の秘密鍵で共通鍵を復号する
- 復号した共通鍵を使用してメール本文を復号する
署名メールの手順
- 送信者の公開鍵、秘密鍵を使用
- 手順
- メール本文のメッセージダイジェストを、ハッシュ関数を用いて生成
- 送信者の秘密鍵を用いてメッセージダイジェストに対し署名を行なう
- メール本文、署名、送信者の電子証明書を併せて送信する
- 受信者は電子証明書の発行元である CA を信頼した上で、電子証明書に含まれている送信者の公開鍵で署名からメッセージダイジェストを復号する
- メール本文からメッセージダイジェストを生成し、署名から得られたメッセージダイジェストと一致するか検証
暗号メールと署名メールの比較
- 暗号メール
- 暗号化(署名)
- 受信者の公開鍵(共通鍵経由)
- 復号
- 受信者の秘密鍵(共通鍵経由)
- 暗号化(署名)
- 署名メール
- 暗号化(署名)
- 送信者の秘密鍵
- 復号
- 送信者の公開鍵
- 暗号化(署名)
- 暗号メール
機能
- 認証
- X.509 証明書を利用し、署名を行った人の認証を実子
- 機密性
- メールを暗号化することで、メールの盗聴や漏洩を防ぐ
- 否認防止
- 送信者しか署名を行えないことから、メールを送信した事実を否認することを防止
- 完全性
- 署名によりメール本文が、送信時と比較して改ざんされていないことを受信者が検証することができる
- 認証