No.010 特集:2020年の通信・インフラ
連載02 Security of Things(モノのセキュリティ)の時代へ
Series Report

第3回
IoTでは完璧なセキュリティ対策はあり得ない

 

  • 2016.03.31
  • 文/伊藤 元昭

IoT関連機器をサイバー攻撃から守るために、パソコンやスマホ向けのセキュリティとは違った発想での対策が求められている。前回、半導体メーカーなどが提案する、あの手この手の対策を紹介した。ただし、こうした新しい技術を投入したとしても、まだまだ万全とは言えない。解決すべき多くの課題が残っている。セキュリティの基幹技術の刷新や、標準化やユーザーの意識改革など技術開発以外の対策を、同時並行的に進めていく必要がある。今、どのような課題が残され、どのように対処する方向に向かっていくのか。連載最終回は、セキュリティ対策の最前線で起こっている事象を紹介する。

セキュリティ技術の進歩とサイバー攻撃手段の進歩は、永遠に続く "いたちごっこ"であると言われている。しかし実は、現在のセキュリティ技術の延長線上でいくら技術開発しても、近い将来、攻撃側が圧倒的に有利な立場に立つことがハッキリしている。

セキュリティを確保するための基幹技術は、暗号技術である。データを安全にやり取りするため、システムの利用者を認証するため、暗号技術はあらゆるセキュリティ機能の安全性の裏付けになっている。ところが、現在最も多く利用されている暗号技術である公開鍵暗号方式(詳細は連載第2回参照)を無力化してしまう方法が見つかっている。ただし、無力化できることが理論的に証明されている段階であり、実際に無力化するための仕掛けは完成していない。人類を火星に送り込めることは分かっているが、その手段が現在手元にないのと同じような状況と考えればよい。

現状の暗号技術に突然下された"余命宣告"

現在使われている公開鍵暗号は、面白い特徴をもった計算の性質を活用して作られている。例えば、世界初の公開鍵暗号であるRSA暗号*1は、「大きな素数同士を掛け合わせる計算は簡単だが、逆にその数を素因数分解する計算は極めて困難」という性質を利用したものだ(図1)。"3727×7823"が"29156321"であることを計算で求めるのは簡単だが、"29156321"が"3727×7823"であることを簡単に導き出せる人は少ない。50桁の数を2つの素数に分解するためには、およそ140億回の試行錯誤が必要になるという。さらに桁数を増やせば、コンピュータでも素因数分解するのに数百万年掛かるようになる。素数に分解した状態を秘密鍵に、掛け合わせた状態を公開鍵に使うことで、公開鍵から秘密鍵を見つけにくくしている。公開鍵暗号として、楕円曲線暗号*2と呼ぶ方法も使われているが、これもRSA暗号と同様に、片方向での計算は簡単だが、逆方向の計算は難しいという性質を利用したものだ。

RSA暗号の原理の図
[図1] RSA暗号の原理

インターネットでデータをやり取りする上で、とても使い勝手のよい公開鍵暗号なのだが、1994年に大事件が起きた。AT&T社の科学者であるピーター・ショア氏が、光の粒(光子)など非常にミクロな素粒子の性質を応用した量子コンピュータ*3を使えば、数百万年掛かっていた大きな数の素因数分解を数十分で終えることができることを理論的に証明してしまったのだ。同氏の方法は、RSA暗号だけではなく、楕円曲線暗号も解読できる。ただし現時点で実用化されている量子コンピュータでは、"15"を"3×5"へと素因数分解できる能力しかない。RSA暗号などがすぐに無効化される状況ではないが、解法が示されてしまった以上、かなり心許ない状態であることは確かだ。

Copyright©2011- Tokyo Electron Limited, All Rights Reserved.