私たちのチームは、SecureRandom を使用して鍵ペアのリストを生成しています (SecureRandom は KeyPairGenerator に渡されます)。次の 2 つのオプションのどちらを使用するかについては、合意できません。
キーペアを生成する必要があるたびに新しいインスタンスを作成する
静的インスタンスを初期化し、それをすべてのキー ペアに使用する
一般的にどのアプローチが優れているか、またその理由は?
追加: 私の直感では、2 番目のオプションの方が安全です。しかし、私の唯一の議論は、疑似ランダム性が現在のタイムスタンプから導出されるという仮定に基づく理論的な攻撃です。誰かがキーペアの作成時間を見て、周囲の時間間隔でタイムスタンプを推測し、可能な疑似乱数シーケンスを計算し、キー素材。
追加: タイムスタンプに基づく決定論に関する私の仮定は間違っていました。それが、Random と SecureRandom の違いです。したがって、答えは次のようになります。セキュリティの観点からは、それほど重要ではありません。