 |

|
 |
S/MIME (Secure Multipurpose Internet Mail
Extensions) は RSA Data Security 社が提案する PKCS (Public Key Cryptography
Standards) という暗号技術標準を利用して MIME
に対してデジタル署名や暗号化を施すための1規格である。
2大ブラウザである NetscapeCommunicator と InternetExplorer
に付随するメーラが S/MIME
に対応したことにより急速に広まった。日本ではその他に S/Goma (オレンジソフト)、魔法便
(NTTエレクトロニクス)、SecureMessenger (株式会社アイフォー)、AT
承認メール (アライドテレシス) などのメーラ/プラグインソフトが対応している。
また S/MIME 対応 InternetFAX (松下電送システム)
が製品化されている。
同様に MIME に対するデジタル署名及び暗号化の規格としては MOSS
(MIME Object Security Services) が RFC 1848
で規定されているが現在はほとんど利用されていない。実装としては
FEAL for EUDORA PRO (NTTアドバンステクノロジ)
というプラグイン製品がある。
その他の暗号化電子メールの規格としては RFC 1421 から 1424
で規定された PEM (Privacy Enhanced Mail)、PGP (Pretty Good Privacy) を MIME
対応した PGP/MIME (PFC 2015) などがある。
PGP では公開鍵に対する信用の輪 (web of trust)
をユーザ自身が形成していく方式に対し PEM 及び S/MIME
では、公開鍵の認証する信用のおける第3者機関である認証局
(Certificate Authority) が公開鍵を保証する。
S/MIME
における公開鍵の配布には認証局のデジタル署名が施された X.509 v3
公開鍵証明書が用いられる。
|
 |
S/MIME は 1995 年に RSA Data Security
社を中心としたベンダーのコンソーシアムの手により生まれた。その後
IETF の S/MIME Working Group で議論され、現在は S/MIME version 2 として RFC
2311 (S/MIME v2 のメッセージ規約)、RFC 2312 (S/MIME v2
における証明書処理の規約) の2つの RFC が標準化された。
これらの RFC では上で紹介したように PKCS
に準拠しているため、同時期に次の3つの仕様が参考文書として公開されている。
RFC 2313 (PKCS#1, RSA 暗号化規約)、RFC 2314 (PKCS#10,
公開鍵証明書を発行要求するためのフォーマット規定)そして RFC
2315 (PKCS#7,
メッセージのデジタル署名と暗号化を施すためのフォーマット規定)
である。
しかしこれらの仕様はすべて Informational RFC であるが Standard RFC
ではない。
その理由として RSA は米国でのパテントが RSA Data Security
社に属しているが、S/MIME v2 は公開鍵暗号方式として RSA
が必須となっている点が挙げられる。
また S/MIME v2 では共有鍵暗号方式としては RC2, RC2/40
(以上、必須)や DES, Triple-DES(EDE3 CBC, 168bits)
が利用され、ハッシュアルゴリズムとしては MD5, SHA-1
のサポートが必須となっている。
このような背景のもと S/MIME Working Group では現在 S/MIME v3
の標準化が進められており、RSA 暗号や 40
ビットの弱い秘密鍵暗号を利用しない方式が採用され Standard RFC
として公開されると言われている。
実際 S/MIME v3 では Diffie-Hellman/DSS
を暗号化、署名アルゴリズムとして SHA-1
をセキュアハッシュ関数として採用する方向で標準化が進められている。
|
 |
RFC 2315 (PKCS#7) では異なる 6
つのコンテンツタイプを規定しているが、S/MIME で利用されるのは
SignedData (デジタル署名)、EnvelopedData (暗号化)、SignedAndEnvelopedData (デジタル署名&暗号化)
の3つである。
RFC 2311 で新たに application/pkcs7-mime, application/pkcs7-signature,
application/pkcs10 の3つの MIME タイプが導入された。
・application/pkcs7-mime は添付ファイルの拡張子を .p7m にすることで
SignedData 及び EnvelopedData タイプの PKCS#7
オブジェクトを送信することができる。
・application/pkcs7-signature は multipart/signed MIME タイプ (RFC 1847)
に入れ子で SignedData タイプの PKCS#7
オブジェクトを組み込む場合に用いられ、拡張子は .p7s となる。
・application/pkcs10 は RFC 2312
に基づいた証明書発行要求フォーマットである PKCS#10
オブジェクトを送信する際に用いられる。その返答には
application/pkcs7-mime で拡張子を .p7c
にしたものが用いられ、公開鍵証明書や CRL を含んだ SignedData
を送信される。
|
図 6
MIME タイプ一覧
|
MIME タイプ
|
拡張子
|
application/pkcs7-mime
|
signedData,
envelpedData
|
.p7m
|
signedData(certs-only)
|
.p7c
|
application/pkcs7-signature
|
.p7s
|
application/pkcs10
|
.p10
|
|
|
 |
 |
|

|
 |

|
 |

|
 |