「タイミング分析攻撃」が暗号システムにとって問題になるのはなぜですか?
私はセキュリティを学ぼうとしていますが、タイミング分析攻撃について質問があります。
タイミング攻撃 は サイドチャネル攻撃 の一種です。正式な観点からは、暗号化アルゴリズム(暗号化システムなど)が入力を受け取り、出力を提供します。攻撃者は2つの値を確認し、これらの値からキーを見つけ出そうとします。ただし、現実的なシステムでは、アルゴリズムは「魔法のように」発生しません。コンピューターまたはその他の回路のどこかで実行する必要があり、攻撃者はこの操作を外部から観察して、追加情報を推測しようとする可能性があります。
タイミング分析(または攻撃)とは、暗号化アルゴリズムが特定の操作を実行するのにかかる時間を測定することです。非公式に、攻撃者は「うーん...アルゴリズムの実行に174ナノ秒かかった」のような「情報に基づく推測」を行おうとしますが、そのキービットが1の場合は、少なくとも176ナノ秒かかったので、キービットは0でした。
タイミング攻撃に対する防御には、キー値や入力データに関係なく常に一定の時間で実行されるようにアルゴリズムの実装を微調整することが含まれます。または、攻撃者がそのような推測を行わないように「ランダム化」します。例えば。 mを計算する代わりに、RSAのコア指数を使用d modn(nはモジュラス、dはプライベート指数) 、実装はランダム値rを法としてnを生成し、次にrを計算しますemodnおよび1/rmodn、そして計算します((m * re)d)*(1/r) modn。これはマスキングと呼ばれます。 RSA計算ごとに新しいrが生成されるため、このプロセスは、攻撃者からのタイミングベースの推測を効果的に防止します。