web-dev-qa-db-ja.com

SHA256証明書が168ビット3DESで暗号化されるのはなぜですか?

社内の電子メールにはS/Mime証明書を使用しています。

証明書の署名アルゴリズムは、すべてSHA256のハッシュを持つSHA256RSAです。公開鍵がRSA(2048ビット)であることを確認しました。

ほとんどの場合、メールは期待どおりにAES256暗号化で暗号化されています。ただし、一部のユーザーのOutlookは168ビット3DESでのみ暗号化します。これらの人々が他の人に送信される電子メールにccされている場合、すべての電子メールは3DESとして受信されます(これは、一部のユーザーの上位レベルで暗号化する意味がないためだと思います他人向けではありません)。これは、すべての証明書が同じCAによって発行されているにもかかわらず、ほとんど同時に発生しています。

現在、この問題に気付いたユーザーはすべてMacユーザーです。ただし、一部はAppleメールおよびその他のMac上のOutlookを使用しているため、偶然の一致である可能性があります。

すべての暗号化がAES256であることを確認するには、何を更新する必要がありますか?

3
Luke

あなたの質問は、証明書やハッシュとは何の関係もないようです。どちらも対称暗号(DESまたはAES)など)をまったく含みません。実際の答えは、各マシンでのOutlook(またはMail.app)の構成方法の問題だけで、それ以上はありません。 Outlook for Macで使用される暗号を制御する方法はわかりませんが、WindowsでのOutlook 2013の手順は次のとおりです。うまくいけば、Macでも同等のものを見つけることができます。

  1. Outlookで、リボンの左側にあるFileタブを開きます。
  2. 表示される左側のサイドバーからOptionsを選択します。
  3. ポップアップ表示される[Outlookオプション]ウィンドウで、左側のサイドバーから_Trust Center_を選択します。
  4. [Microsoft Outlook Trust Center]という見出しの下で、_Trust Center Settings_ボタンをクリックします。
  5. 表示される[セキュリティセンター]ウィンドウで、左側のサイドバーから_E-mail Security_を選択します。
  6. 「暗号化メール」の「設定」ボタンをクリックします。
  7. 表示される[セキュリティ設定の変更]ウィンドウの[証明書とアルゴリズム]見出しで、[暗号化アルゴリズム]ドロップダウンを確認します。まだ設定されていない場合は、AES (256-bit)に設定します。

Outlook for Macユーザーには、次のページが役立つ場合があります。 https://support.office.com/en-us/article/Digital-signing-and-encryption-settings-8A6EB21D-0BEB-4E66- A63A-2D362966CF77 。特に、設定ページにアクセスするための手順を示します。

Outlookアカウントの基本設定画面からこれらの設定にアクセスするには、アカウントを選択し、[詳細設定]をクリックして、[セキュリティ]タブをクリックします。

その後、上記の手順と同様になります([暗号化設定]で、[暗号化アルゴリズム]オプションを見つけて、_AES-256_を選択します)。


解決すべきこと:証明書は、バルク暗号化に使用される対称暗号とは関係ありません。ここでは3つのタイプの暗号プリミティブが使用されていますが、それらのどれも他のものとは何の関係もありません。

  • 非対称暗号(この場合、2048ビットRSA)。これらには、キーのペア、公開キーをすべての人に見せ、対応する秘密キーを許可しない誰もが見ます。公開鍵を持っている人はだれでもメッセージを暗号化して、自分(秘密鍵の所有者)だけがメッセージを復号化でき、公開鍵を持っている人なら誰でも、秘密鍵を使用してメッセージに署名したことを確認できます。ただし、これらの暗号は計算コストが非常に高いため、通常は短い文字列(メッセージの対称キーまたはメッセージ/証明書のハッシュダイジェスト)のみを暗号化または署名します) 。暗号化によりprivacy/confidentiality(秘密鍵の所有者のみが提供メッセージを読むことができます)。署名により、認証(秘密鍵の所有者のみがその署名を作成できた)およびintegrity(メッセージが改ざんされている場合、署名は正しく検証されないため、メッセージが改ざんされていないことが確認された場合)。これらは次の目的で使用されます:
    • 証明書のハッシュに署名するCA(認証局)(受信者が証明書があなたのものであることを知っており、だれもあなたの鍵を偽装していないことを保証するため)
    • メッセージのハッシュに署名するメッセージ送信者(そのため、受信者はあなたがメッセージを送信し、改ざんされていないことを知っています)
    • メッセージと共に送信するバルク暗号化キーを暗号化します(このキーは通常、メッセージごとにランダムに生成され、プレーンテキストで交換されることはありません)。
  • 対称暗号(168ビット3DESまたは256ビットAESなど)。これらは、暗号化される実際のメッセージ本文(および添付ファイル)に使用されます。それらは高速ですが、暗号化と復号化の両方に同じキーが使用されるため(つまり、対称的です)、世界中で安全に共有できる公開キーはありません。 。したがって、特定のメッセージの対称鍵は、非対称暗号化によって保護されて送信されます。これらは、機密性のみを提供します。
    • 多くの対称暗号は、ブロック暗号と呼ばれるタイプです(これには、AES、DES、Blowfishな​​ど、すべての形式が含まれます)。ブロック暗号は、固定長ブロックで機能します。 1ブロックより長いメッセージで使用するには、操作モード;を使用します。これらのいくつかは他よりも安全です。ブロックサイズの正確な倍数ではないメッセージを安全に暗号化するには、パディングを使用します。
    • パディングにより、暗号化されたデータ(またはciphertext)の単純な改ざんを検出できるようになりますが、熟練した攻撃者がこの検出をバイパスするのは簡単です。また、パディングは常に使用されるとは限りません。暗号化するデータは、ブロックサイズの正確な倍数になる場合があるためです(たとえば、ハードディスクセクター)。したがって、完全性を提供するためにパディングだけを信頼すべきではありません。
    • 同様に、最も一般的な操作モード(CBCまたはCTR)では整合性が提供されません。 CBCモードでブロック暗号を使用して暗号化されたデータを改ざんすると、復号化されたデータに攻撃者が制御する変更が加えられる可能性がありますが、それ以上のデータは破損します。ただし、一部の操作モード(GCMなど)では、復号化時に整合性も保証されます。対称鍵を持っている相手が1人だけの場合、これらのモードでも認証が提供されます(メッセージは鍵の別の所有者から送信されたことがわかります)。機密性、整合性、および認証を提供するアルゴリズムは認証された暗号化と呼ばれます。
    • 対称ストリーム暗号も存在します(RC4のように、悪用可能な弱点が発見されるまで広く使用されていました)。これらはブロックサイズがなく、パディングも必要なく、通常は非常に高速です。ただし、これらは機密性を提供するだけであり、整合性と認証を提供するために他のプリミティブと組み合わせる必要があります。
  • ハッシュ関数、SHA-256(SHA2ファミリーのメンバー)のように、一方向暗号化とも呼ばれます。ハッシュアルゴリズムは、(証明書やメッセージなど)が改ざんされていないことを示すために使用できる(非対称署名に適した)digestsと呼ばれる短いコードを生成するために使用されます。安全なハッシュアルゴリズムに共通するいくつかのプロパティを次に示します。
    • プリイメージ攻撃への耐性。つまり、ハッシュダイジェストを使用しても、このダイジェストを生成するためにハッシュされた元のデータを生成することはできません。
    • 耐衝突性。特定のメッセージ(電子メールや証明書など)とそのダイジェスト(信頼できる署名の作成に使用されたものなど)については、同じダイジェストを生成する2番目のメッセージを見つけることは現実的ではありません。

1つのプリミティブの選択は、別のプリミティブとは関係ありません。 MD5ハッシュ(暗号化されていない)の512ビットRSA(超脆弱)署名を使用して署名されたが、その人へのメッセージを暗号化するために使用できる4096ビットRSAキーを含む誰かの証明書を持つことができます。証明書の署名を信頼することはできませんが、とにかく証明書のソースを信頼する場合は、その強力なRSAキーを使用できなかった理由はありません。信じられないほど弱いDES(56-bit)暗号を使用するか、256ビットAESを使用して、その人へのメッセージを暗号化できます;どちらの場合も、以下によって保護された対称暗号鍵を送信しますその4096ビットのRSA鍵。

プリミティブの潜在的な組み合わせは多数あります(非対称暗号と対称暗号、ハッシュ関数、必要に応じて鍵交換アルゴリズム、必要に応じて操作モード、必要に応じてパディングアルゴリズム)。 TLSで使用するために、いくつかの人気のあるものが " cipher suites "という名前でグループ化されています。この用語は、S/MIMEでは一般的に使用されません(そして、一時鍵などのTLSの使用可能な機能の一部は、電子メールなどの非同期通信では使用できません)。ただし、プリミティブのセットを組み合わせて、複数のタイプの攻撃に対して強力なセキュリティを提供するという考えは、依然として重要です。

6
CBHacking