TOPセキュリティ > 暗号技術の基礎(中)

セキュリティ

暗号技術の基礎(中)

2021/12/15

Matthew Tyson InfoWorld

 RSAをはじめ、非対称鍵の仕組みは、一方向関数の考え方を大きく前進させている。別々の役割を持つ2つの鍵を用いるところがポイントだ。公開鍵はメッセージの暗号化に使い、秘密鍵はその復号に使う。

 この仕組みを支える数学は単純ではない。実際、開発に関与していた研究者たち自身、そもそも理論的に実現可能なのかどうか、疑念にかられた時期もあった。だが、こうして実現した公開鍵暗号方式は、現代のインターネットのセキュリティーインフラの土台を支えている。例えば、SSL/TLSのセキュリティーや、電子署名、さらにはビットコインのような暗号通貨にも使われている。

 非対称鍵だからといって、クラッキングが100%不可能なシステムを作れるわけではない。しかし、秘密鍵を知られない限り、暗号を破ることは事実上不可能となる。乱数攻撃やタイミング攻撃など、現実に明るみに出たさまざまな攻撃手法を除けば、公開鍵と秘密鍵のペアを使う手法のセキュリティーは、どれだけ強固なものでも、使われている数値の素因数分解に長い時間がかかるという点が土台となっている。

 計算時間の長さが頼りというのは、あまり安全ではなさそうに思えるかもしれない。だが、公開鍵暗号を支えている素因数分解について解説したBrett Slatkin氏の記事によると、この上なく高度なソリューションを世界最速のコンピューターで動かしたとしても、公開鍵暗号の土台にある数学的問題の解を求めるのは、この世の終わりまで時間がかかる。一方、量子コンピューティングが実用化されると、RSAのような暗号化手法を破るのは、多項式時間で解決可能な問題とされる。これは必ずしも見込み薄の話ではない。とはいえ、そうした可能性を除いて考えれば、現在のアルゴリズムは、実用に耐えうるとみなされている。

 現在の通信では、非対称鍵は安全な通信チャネルを確立するためのハンドシェイクの一種として使われることが多い。非対称鍵を使って確立した通信チャネルで対称鍵を交換するという使い方だ(Webブラウザーに、TLSの接続を確立中というメッセージが表示されている時、その舞台裏では、まさにそのような処理が行われている)。対称鍵の方が処理速度が圧倒的に速いことから、サーバーとクライアントが非対称鍵を使って互いを検証したうえで、対称鍵を受け渡し、その後の通信には対称鍵を使う。土台となる通信路の機密性が確保されていない場合でも、こうした手法を用いることにより、盗聴や改ざんを防止できる。

翻訳:内山卓則=ニューズフロント

↑ページ先頭へ