web-dev-qa-db-ja.com

暗号化方法が、可能なものではなく、壊れていないものによって選択されるのはなぜですか?

特定の暗号暗号または暗号化方法を使用する必要があるかどうかについて、途方もない時間、労力、および議論があることに気づきました。

this リンクでは、一部の人々は、国防総省のセキュリティクリアランスのレベルごとに少なくとも特定の暗号がどのように必要とされるかについて説明します。彼らは、情報の重要性のために、各暗号がどのようにある程度の強度で構築されているかについて詳しく説明します。

最終的には、「優先度の低いアイテム」のSHA-128証明書のようなものに触れることさえ推奨されているため、安全でないと宣言されたら、いつか戻ってすべてを変更する必要があります。 (セキュリティコミュニティはほとんどの人がそうしないことを知っています)

安全性については多くの議論があります。ただし、私たちには、特定の合理的な方法が他の方法よりも強力であることに同意する能力があります 特定の方法が最も安全なものとしてveracryptに公然と選択された場合

私の質問

業界の新しい管理者やエンジニアに次のアプローチで教えられるのに、なぜ暗号化方法があるのですか。

「私たちが聞いたところによると、このリストは今のところ使用しても問題ないようです。これらのリストは壊れており、今のところ問題ありませんが、約4年後にアップグレードする必要があります。新しいリストを作成するための推奨事項があります。セキュリティ基準のレベルですが、今のところ、セキュリティの達人にそれについて心配させます。」

の代わりに:

「あなたが忙しいことを知っているので、これは私たちが今日持っている最も強力な実用的なオプションです。これは数学が機能するすべての場所で実行され、私たちが思いついた最も堅実なソリューションです。だから、それを使用してください。業界まで他に何も考えないでくださいより良いものがあると判断しました。より弱いものを使用しているものを見つけた場合は、それを改善します。それができない場合は、それを移動します。それ以外の場合は、最良のオプションに固執するだけでなく、結果に対処するときに私たちのところに来ないでください。他のものを使用しても問題ないと判断したときに、セキュリティコミュニティから公然と手渡された」と語った。

2
codykochmann

簡単な答えは、それはそれほど単純ではないということです。

これにはいくつかの理由があります。

まず、次の概念について説明します。

「可能なことではなく、壊れていないことは何ですか?」

情報理論的に安全なアルゴリズム以外では、すべてのアルゴリズムは、セマンティックセキュリティの概念として「まだ壊れていない」というカテゴリに分類されます。これには、デジタル署名の非対称アルゴリズムやTLSでの鍵交換など、(現在使用されている)優れた耐量子性の代替品がないシステムのクラス全体が含まれます。鍵交換や署名などの問題に対する量子耐性アルゴリズムが存在しないわけではありません...それらを実際に使用できるかどうかはまだわかりません。場合によっては、実際に合理的であることを確認するために十分な調査を行っています。安全です。したがって、「可能なこと」は、ハイパースケールシステムの世界でさえ、実用的というよりも学術的です。

その点で、パフォーマンス。ハイパースケールシステムの世界でさえ、最大のプレーヤーにとってさえ、パフォーマンスは重要です。たとえば、Googleはミリ秒を短縮し、サービスを提供できる同時セッションの数を増やす方法を常に模索しています。Googleは、自分のサーバーだけでなく、クライアントが搭載しているハードウェアにも関心を持つ必要があります。もう一方の端は、最新のラップトップ、15年前のローエンドのデスクトップ、スマートフォン、または基本的なWebブラウザを備えた8年前のフィーチャーフォン、またはWeb以外のシステムの場合は低-パワーエンベデッドデバイス、またはコンピューティングリソースがほとんどないスマートカード。

その点で、互換性。 Matijaが 別の答え で述べたように、最新のx64プロセッサとソフトウェアでさえ、それらにスローされたアルゴリズムを簡単に処理できます。暗号システムで理解できないアルゴリズムを実装できます。それらのシステムの消費者。

コメントのSEJPM によって指摘された追加の考慮事項は、認証と政治です。一部のシステム実装者は、アルゴリズムを選択することすらできません。たとえば、FIPS認定システムは、FIPSアルゴリズムのみを実装できます。これらのアルゴリズムの実装だけでなく、実装自体もFIPS認定である必要があります。多くの米国政府システム一方、ロシアのシステムでは、独自の標準アルゴリズムであるGOSTを実装する必要がある場合があります。したがって、より優れたアルゴリズムが存在するシナリオでも(FIPSの場合、これは理論ではなく現実です)、そうではありません。規制上の理由によるオプション。

これらすべての問題に対処するために、さまざまなオプションがあり、それらのオプションにはさまざまな長所と短所があります。特定の用途では、「最も安全な」オプションを選択する際のトレードオフを慎重に検討する必要があります。主観的であり、これらのトレードオフの影響に関する個々の意見に頼らずに測定することはしばしば不可能です。そして、これまで見てきたように、パフォーマンスと互換性の要件により、セキュリティ自体有効です名目上最適に機能するシステム全体を作成するために行うトレードオフ。

3
Xander

要するに、互換性。確かに、最新のTLSでのみ最も安全な暗号のみを選択し、より長い期間安全にすることができますod時間。ただし、半分その時、インターネット上の人々はあなたにまったく連絡をとることができませんでした。

それはあなたにとっては問題ないかもしれません(たとえば、私が自分専用に使用しているサーバーでは、まさにそれを行います)。他の用途では、顧客の数パーセントを失うこと(たとえば、まだサポートされていないWindows XPを使用している顧客など)は受け入れられず、より弱い暗号をサポートします。たとえそれがより多くの仕事をしたとしても、もう少し時間が使用する解決策です。

1
Matija Nalis

私はあなたがこれらの原則を内面化していないという印象を受けます:

  1. セキュリティはリスクとコストのトレードオフに関するものであり、これらのトレードオフはユーザーとアプリケーションによって異なります。
  2. セキュリティシステムはその最も弱いリンクよりも強力ではありません—そして古い暗号はしばしば最も弱いリンクではありません。

他の人が言及した例を使用すると、オンライン小売業者がパブリックHTTPSサーバーで受け入れられている暗号スイートを厳しくすると、古いソフトウェアを使用している顧客からの収益を放棄します。ここで行われるべき判断の呼びかけがあります。

別の考慮事項:新しい暗号化を使用するように古いソフトウェアをアップグレードすると、コストがかかり、エラーが発生しやすく、他の拡張機能とリソースを奪い合います。そして#2は、これらの競合する拡張機能のいくつかは、古いが壊れていない暗号よりもリスクが高いであるセキュリティバグの修正である可能性があることを示しています。

ただし、newプロジェクトでは、開始時に利用可能なbest推奨暗号を常に使用することを推奨するのが標準的な方法であることに注意してください。たとえば、今日の暗号技術者は一般に、SHA-1ではなくすべての新しいプロジェクトでSHA-2を使用するように人々に指示しています。

1
Luis Casillas