ハッキングに対する最も有効な対抗措置は、攻撃者に「これは不可能だ」と認識させることです。
それには、秘密鍵を大量に束ねることができるSchnorr集約署名を用いることで、どんなにサイドチャネル攻撃を試みても全く成功しない環境を構築することなどが重要です。攻撃者に初めから不可能だと思わせることで、攻撃を断念させ、安全性を高めることが可能となります。
5000個の秘密鍵を3秒以内で署名できる場合、実用範囲内であると判断しています。さらに、この方法にはトランザクション手数料が高額になるといったデメリットが一切存在しません。そうですね……、ペーパーウォレットにすると5002枚に増加してしまう点が唯一のデメリット(^^;です。しかし、この点も通常のウォレットバックアップで十分に対処可能であり、問題ありません。
サイドチャネル攻撃とは?
サイドチャネル攻撃(Side-Channel Attack)は、暗号アルゴリズムそのものの数学的な弱点を突くのではなく、システムが暗号操作を実行する際に漏れ出る情報を利用して秘密情報を取得する攻撃手法です。この種の攻撃は、システムが動作中に発生する物理的な特性や動作パターンを解析することで実行されます。ハッカーが好みそうな手法ですよね。マルウェアなどに入られると、これをやられます。
主なサイドチャネル攻撃の手法
- 電力消費解析(Power Analysis) 電力消費解析は、デバイスが暗号操作を行う際の電力消費の変動を観察し、これを解析する手法です。代表的なものに、簡易電力解析(SPA: Simple Power Analysis)と差分電力解析(DPA: Differential Power Analysis)があります。特にDPAは、暗号操作中の微細な電力変動を統計的に分析することで、秘密鍵などの重要情報を抽出する強力な手法です。
- 電磁放射解析(Electromagnetic Emissions Analysis) デバイスが動作する際に放射される電磁波を解析する手法です。電磁放射には、暗号操作の進行状況や内部状態に関する情報が含まれている場合があり、これを利用して秘密情報を取得します。
- 時間解析(Timing Analysis) 暗号操作の実行にかかる時間の変動を解析する手法です。暗号アルゴリズムの特定の処理が他の処理よりも長くかかる場合、その時間差を利用して内部状態や秘密鍵を推測します。例えば、鍵の特定のビットが1であるか0であるかによって処理時間が異なる場合、この時間差を解析することで鍵のビットパターンを推測できます。
このような攻撃手法のうち、ブロックチェーン暗号通貨で特に注意となるのは、時間解析(Timing Analysis)です。この推測手法は防ぐ必要があります。詳しくは次回です。