web-dev-qa-db-ja.com

Outlookのネイティブサポートがないことを除いて、なぜ電子メールではPGP / MIMEよりもS / MIMEを優先する必要があるのですか?

私の(まだかなり主観的な)観点から、GnuPG/PGPはSSLよりも優れています(より具体的には、S/MIMEよりもPGP/MIMEが優れています。他の分野ではSSLの方が適しています)。 個別の署名と暗号化証明書 およびWeb of Trustへのサブキーのサポートのため CAを盲目的に信頼する -CRLなしで証明書を取り消す機能を含む、またはOCSP。

ただし、S/MIMEとは対照的に、PGP(MIMEかどうか)には追加のユーザー作業が必要で、Outlook≥2010(残念ながらビジネスの世界で広く使用されています)へのシームレスな統合(ThunderbirdのEnigmailなど)にはプラグイン(唯一の使用可能なもの)が必要です私が見つけたものは Outlookプライバシープラグイン で、現在はプレーンテキストPGPのみをサポートしています)。

しかし、この使いやすさの問題とは別に、PGP/MIMEよりもS/MIMEを選択した方がいい理由はありますか?

7
Tobias Kienzler

1つのテクノロジーを他のテクノロジーよりも優先する主な理由is使いやすさ。使用するツールに関係なく、電子メールのセキュリティは、ユーザーがどの程度うまく協力しているかに大きく依存します。電子メールの機密性のほとんどは、データに対して愚かなことを行わず、異常な状況で適切に反応する能力に依存しています。それらが使用するツールが利用可能で、使いやすく、信頼できる場合にのみ、適切なセキュリティが得られます。したがって、S/MIMEとOpenPGPをabstractoで比較することは困難です。

ただし、 PKIモデル については、まだいくつかの区別を付けることができます。 S/MIMEは X.509 に依存しています。これは、制御された信頼で階層型PKIをサポートすることを意図した標準の巨大なものですtrust anchors -の限られたセットからの委任と、短いパスのダウン。 OpenPGPは、分散型の Web of Trust を使用します。 「CAを盲目的に信頼する」という表現は、自分の好みについて多くのことを言いますが、かなり主観的です。

X.509とOpenPGPの動作を見ると、Web of Trustでは誰もがCAであることがわかります。したがって、X.509では一握りのCAに信頼を置きますが、Web of Trustでは信頼を置きます...これは、ほとんどの人がWoTシステムの半分を忘れているためです。真のWoTでは、認証のグラフ(つまり、誰が誰の鍵に署名したか)を相互に関連付ける必要があります。

誰かの公開鍵を検証したい場合(ボブと呼ぶことにしましょう)、あなたからボブにつながるcertification pathを見つける必要があります。このようなパスはあなたの公開鍵(「絶対に」知っている)から始まり、各ステップはパス内の次の個人の公開鍵に対して計算された署名です。 WoTモデルのセキュリティは、manyパスの検証に由来します。これらのパスはすべてユーザーが開始し、Bobで終了しますが、他の個人が2つのパスに共通することはありません。誰もがCAとして機能できる場合、単一のパスは「疑わしい可能性があります」。人々が深夜、大量の飲酒の後援の下で他の人の鍵に署名する場合、すべてのパスが100%信頼できるとは期待できません。ボブのために偽の鍵を偽造しようとする攻撃者は、だまされやすい、または酔っ払った個人を見つける必要があります。 WoTの信条は、「群衆は正しい」ということです。攻撃者は一部の人々を破壊する可能性がありますが、ほとんどの人々は破壊しません。したがって、ボブに通じる多くの有効なパスを見つけることができれば、ボブのキーはおそらく本物であると思われます。

結論として、Web of Trustはhardです。上記の説明では、「few」、「many」、「most」、「probably」というファジー用語を使用しています。特定のレベルのセキュリティを実現するために構築する必要のあるパスの数を推定する方法はわかりません。実際、「セキュリティレベル」を定量化する方法はわかりません。 WoTがまったく機能するかどうかは不明です。 OpenPGP実装は、完全に根拠のない推測である「信頼性のパーセンテージ」を使用する傾向があります。もちろん、実際には、多くのチェーンを再構築するために時間を費やす人はいません。oneチェーンが見つかった場合、すでに幸運です。

顧客と機密データを交換する必要がある場合、OpenPGPを使用しますが、Web of Trustは使用しません。通常の実装ではbind恒久的にインデントするためのキーを使用できるため、OpenPGPを使用します。onceキーが本物である場合、私のソフトウェアはそれを記憶し、その後は安全になります。そのため、お客様と私は、直接会うとき、または電話で鍵の指紋を交換します(これは、なりすましから安全であると想定しています。盗聴はここでは問題になりません)。

このようなバインディングは、S/MIME実装ではサポートされていません。彼らはcouldしますが(証明書の期限切れにより少し難しくなりますが)しません。 X.509に固有ではありません(X.509モデルでは、5分ごとにpossibleで証明書を変更できますが、必須);デプロイされた実装はそのように機能します。上で述べたように、ユーザビリティはPKIモデルに勝るので、それがOpenPGPです。

注:別のコンテキストでは、 [〜#〜] https [〜#〜] はX.509階層に依存します数十のハードコーディングされたトラストアンカーを使用したPKI、および同じ問題がそこでも発生します。たとえば、 Convergence を参照してください。これは、半永久的な方法でサーバーにキーをバインドするという提案です。これは、WoTと同じ「群衆は正しい」マントラに依存しています。それでも、X.509証明書を使用すると、証明書の実際のformatはそうではありません。それは重要です。)

11
Thomas Pornin

Thomas Porninが指摘したように、PGP暗号化メールよりもS/MIMEを選ぶ主な理由は、使いやすさです。 S/MIMEの使いやすさが(現在)PGPよりも優れている理由について詳しく説明します。

S/MIMEとPGPの最大の違いは、S/MIMEがすべてのプラットフォームのほぼすべての電子メールクライアントによる組み込みサポートを享受しているという事実です。一方、PGPでは、ほとんどの場合、追加のソフトウェアをインストールする必要があります。

したがって、追加のソフトウェアをインストールする必要がないため、通信パートナーにS/MIMEを使用させる方がはるかに簡単ですが、すでに使用していて知っているソフトウェアで既存のサポートをセットアップする方法を学ぶだけで済みます。

状況によっては、PGPを使用できない場合があります。

  • ユーザーがコンピューターにソフトウェアをインストールすることは許可されていません(多くの場合、企業では)
  • PGPサポートが電子メールクライアント(iOSデバイスなど)と完全に統合されていない、またはまったく統合されていないため、日常的に使用できない

S/MIMEとPGPの異なる信頼モデルに関しては、一方で、S/MIMEは階層モデルによって制限される必要はありません。

自己署名CAを使用する場合、大きなCAを信頼する必要はありません。もちろん、通信パートナーは自己署名CAを(手動で)信頼する必要がありますが、これは一度だけ行う必要があり、セキュリティの観点からは、あなたが知っている誰かが発行した証明書を信頼する方が安全ではありません。他の誰かによって信頼できると定義されているいくつかのCA?

一方、PGPの信頼の網には、偽のPGPキー、実際には変更できないキー、検証されていないキーなど、よく知られた問題があります。 (keys.openpgp.orgでのキーサーバーの確認のような)これらの問題を克服する試みがあります。 Web of Trustモデルは非常に複雑であり、多くのユーザーは実際にはそれを理解していないか、少なくとも完全には理解していません。

ただし、PGPには使いやすさの面で鍵となるものが1つあります。キーサーバーを使用すると、ユーザーは自動的に別の人のキーを取得してすぐに暗号化に使用できますが、S/MIMEを使用すると、証明書は通常、企業内のディレクトリ(通常はLDAP)からのみ取得できます。しかし、署名された電子メールを使用してS/MIME証明書を交換することは、ほとんどのユーザーにとってそれほど複雑でも要求も多くありません。

最終的に、S/MIMEとPGPのどちらを選択するかは、シナリオによって異なります。私たちは両方を使用していますが、ほとんどの場合、S/MIMEはPGPよりも便利で使いやすいと感じました。

0
not2savvy