2012-07-12 11 views
8

私はこの記事をちょうどRSA keys under 1024 bits are blockedと読んでいます。私の.NETソフトウェアでは、私は384bitの鍵を大量に使っています。私のプログラムは、RSACryptoServiceProviderを使用してMachineKeyStoreからキーを生成/格納/読み取ることができますか?それとも、パッチを出すように強制されますか?.Net:2012年8月以降もRSAキーは機能しますか?

+0

後、小さなキーサイズで、私はこのことを気づかせるためのおかげで機能し続けるようです。 – ericosg

+0

おそらくあなたは困っているでしょう(このパッチではなく、次のパッチのいずれか)。しかし、あなたの現在のコードには最初のところに欠陥があります:384ビットのRSAキーはWEAKです。 1024ビットはマイクロソフトのパッチを待つことはありません。 –

+0

数日でデスクトップコンピュータの384ビットのキーをクラックさせる可能性があります。それとも、週だった。 – Wug

答えて

0

これはコメントに出てくる質問に対する推奨回答です。

クライアントの認証に対称方式を使用する方法があります。私は現在、一般的なRSA署名方式を使用していると仮定しています。メッセージスキームは、公開鍵で検証できるクライアントの秘密鍵で署名されています。

おそらく、永続キーの交換を実行してから、非対称キーではなくそのキーでメッセージダイジェストを暗号化することができます。メッセージを送信した人が誰でも秘密鍵を知っていることは保証されますが、メッセージがクライアントかサーバーによって送信されたかどうかを確認する方法はありません(どちらもキーを知っているので)。クライアントが認証中にサーバーにチャレンジした場合、中間攻撃で人を防ぐのに役立ちます(ただし、クライアントはサーバーの公開鍵をローカルに埋め込む必要があります)。

+0

私はあなたの提案を感謝しますが、それは最初の質問とは関係ありません。 2012年8月までにすべてのユーザーにアップグレードを促すという大変な作業になるので、コードや暗号化方式を変更しないでください。さらに、システムは電子メールのように分散型であるため、クライアントは公開鍵の固定リストを保存することができず、メッセージの横に転送する必要があります。彼らは特定のキーをホワイトリストに入れることを選択できるので、別のメッセージを受信するたびに以前と同じ送信者からのものであることが保証されます。 – Muis

0

RSAは、まずは選択肢。 DSAおよびECDSAは、RSAよりもはるかに大きな強度で、より短い署名を生成する。ただし、DSAまたはECDSAのどちらも、RSA 384の署名検証の速度に近づくことはありません。

ただし、キーを使用し続ける必要がある場合は、Microsoft暗号化APIを使用しないようにコードを変更する必要があります。たとえば、C#を使用している場合はBouncycastle C#ライブラリを使用できます。最後に、これについてMicrosoftに苦情を申し立てることができます。私はそれが何か良いことはないだろうが、あなたはいつも試みることができます。

+0

私の主な苦情は、彼らがこの急変を起こす前に1ヶ月しか発表していないことです。私はほぼ50万人のユーザーが拠点を置いており、自動更新機能はないので、パッチが当たってしまう前に誰もがアップグレードされていることを確認する方法はありません。 – Muis

+0

@Joshua聞いています。 –

+0

ECDSAを使用した場合、鍵の生成、さらに重要なのはシグネチャの作成が、同様の強さのRSA鍵と比較してはるかに高速であることに注意してください。したがって、プロトコルと、最も有益なシステム全体に依存します。 –

4

私は、Microsft(クルト・L・ハドソン)から回答を得て、この更新プログラムにはのみchainbuilding影響を与えなければならないので、RSACryptoServiceProviderがすごい2012年8月

+0

リンクされた記事によると、SSLとS/MIME(別名CMS)を含むチェーンビルド機能を使用するものはすべて影響を受けます。小さなキーサイズの他のユーザーは、使用するプロトコルと機能を確認する必要があります。 –

関連する問題