注目の研究テーマ

量子コンピューターの登場で状況が一変? デジタル化社会に欠かせない【暗号】の技術

インターネットなしには成り立たない世の中となり、データを安全にやり取りするために「暗号」技術が広く活用されています。しかし、「量子コンピューター」など技術の進展によって、さらなる新しい暗号が求められています。今回は、量子コンピューター時代を見据えて知っておきたい「暗号」の基本的な技術について解説します。

あらゆるものがデジタル化が進む「Society 5.0」

メールやメッセージ、オンライン授業、ゲーム、通信販売、フリマなど、普段何気なく利用している「インターネット」。これらサービスでは、IDやパスワードはもちろん、第三者には知られてはならない機密情報が大量にやり取りされています。

身の回りのサービスだけではありません。普段意識することはないかもしれませんが、一般的な企業はもちろん、銀行や証券会社などの金融機関も含めて、インターネットは重要な取引に用いられています。電気やガス、水道、医療機関など、生活になくてはならないインフラの管理にもインターネットが活用されはじめています。

来たる「Society 5.0」に向けて政府もデジタル庁を立ち上げ、デジタル化へ本腰を入れ始めました。政府や自治体の手続きなどもオンライン化が進んでおり、インターネットは社会にとってもはやなくてはならない存在です。

もし、インターネット上をやり取りしている重要な機密情報が第三者に漏れてしまうと、どうなるでしょうか。犯罪に悪用されたり、社会インフラが崩壊し、生活にたちまち支障をきたしてしまうおそれもあります。

不特定多数で利用するインターネットにおいて、重要なデータを安全にやり取りするためにかかせない技術こそ「暗号」なのです。

インターネットを支える暗号の技術

ひと口に「暗号」といいますが、どのようなものでしょうか。ざっくりと説明すれば、現在広く利用されている暗号は、一定のルールで文字列を変換し、このルールを知っている者同士が、データを安全にやり取りできるしくみです。

インターネットは、同じネットワーク上で多くの人が通信しています。素のままデータ(暗号化されていないデータ)をやり取りすれば、第三者が中身をのぞき見したり、勝手に内容を書き換えてしまうかもしれません。

例えるならば、インターネットは、不特定多数の大勢が行き来している公道のようなものです。重要な会話を交わせば「ダダ漏れ」となってしまいます。また情報を勝手に変更されてしまうかもしれません。

そこで元のデータを、特定のルールに従い加工して、部外者が読み取っただけでは意味がなさないような文字列にしてしまうことで、秘密のデータとしてやりとりするのです。

通信途中で誰かがデータを覗き見し、都合が良いように改ざん(書き換え)されてしまっても、もし受けとったデータが事前に定められた特定のルールに従っていなければ、そうした変化に気がつくこともできます。そのため、暗号の技術は、秘密裏にデータをやり取りするだけでなく、改ざんされていないことを証明するためにも利用されています。

まさにこのページのデータも暗号されて届けられている

インターネットでウェブサイトを見ると、多くのページでブラウザーのアドレスバーに「錠前」のマークが表示されます。これはウェブサーバーとブラウザー間で暗号通信を行っており、通信内容を第三者に盗聴されることはないことを示しています。

StudyLABO(本サイト)のページもまさに暗号化されていて、今みなさんが表示しているこのページも、サーバーからページを表示するブラウザーまでデータを暗号化してお届けしています。

StudyLABO(本サイト)の場合、通信内容にIDやパスワードなど重要な情報が含まれているわけではありませんが、暗号化することで、第三者が改ざんすることを防ぎ、安全なデータを届けているのです。

昨今、多くのサイトが通信を暗号化しており、データを安全にやり取りできるようになりました。

錠前のマークは、通信の暗号化が行われていることを示しています

不特定多数が参加するインターネットを支える暗号

データを送受信するとき、お互いに決めたルールをもとに暗号化して、安全にデータをやり取りする、とのお話をしました。

鋭い人は「事前にルールを決めた覚えなどないし、これだけ多くのウェブサイトがあり、事前に暗号通信を行うためのルールを共有することなんてできるの?」と疑問に感じたのではないでしょうか。

事前に取り決めなしに暗号を利用する

今回初めてStudy Laboにアクセスした人とも安全に暗号で通信しています。いつ互いにルールを決めたのでしょうか。それに普段インターネットを利用していれば、はじめて訪れるサイトは非常に多くあるでしょう。それでは、端末内部に全世界のウェブサイトに関するルールが網羅されていたのでしょうか。

それに複数の人が同時にアクセスした場合を考えると問題はさらに深まり、謎が生じます。アクセスした人が同じルールで暗号化していれば、暗号化した内容は他の人に解読されてしまいます。同じウェブサイトであっても、アクセスする全員が異なるルールで暗号化しなければなりません。

同時に数十から数百万人が利用しているサイトもあります。ウェブサイトが数十億あり、アクセスする人ごとに異なる暗号が必要であると思うと、事前にルールを共有するというのは、あまりに気が遠くなる話です。

こうした問題を解決し、安全な通信を実現しているところがインターネットで利用している暗号のすごいところです。

実は通信するそれぞれで事前に暗号化を行うルールを共有しなくとも暗号通信を実現できる「公開鍵暗号」というしくみを利用しているのです。

事前にカギを公開する「公開鍵暗号」

「公開鍵暗号」の特徴は、なんといっても暗号化に用いる「カギ」をあらかじめ広く公開する点にあります。「え? カギを公開してしまったら、それこそダダ漏れじゃないの?」と思うでしょう。

カギを公開している人と安全に通信したい人は、この「公開鍵」を用いてデータを暗号化するのですが、ポイントは「公開鍵」を用いたところで、誰も暗号化されたデータをもとのデータに戻す「復号」が行えない点にあります。暗号と復号では「異なるカギ」が必要となるのです。

復号は「公開鍵」に対応した「秘密鍵」でのみ行えます。そのため、「公開鍵」を公開した人にだけ秘密のメッセージを送ることが可能なのです。

最初に「公開鍵暗号」で連絡を取り、「今後はこのカギを使おう」と取り決めてしまえば、以降はお互いのみ知る「カギ」によって安全に通信することができます。

世界から不特定多数が参加する「インターネット」の世界がこれだけ発展したのは、「公開鍵暗号」のおかげといっても過言ではありません。逆にいえば、公開鍵暗号を解読できる技術が登場すれば、機密情報が漏れてしまったり、インフラが停止してしまうなど社会に大きな影響を及ぼします。

「量子コンピューター」で安全が崩れる?

公開鍵は、秘密鍵を持っていなければ解読できないと説明しました。これは少し正確ではありません。厳密にいえば「解読するには、世界でもっとも高性能なコンピューターを使っても膨大な時間がかかるため、可能性はゼロに等しい」つまり、解読は不可能ということです。

公開鍵暗号のひとつは、素因数分解が難しいという数学的な性質を用いています。スーパーコンピューターと呼ばれる世界最高峰のコンピューターであっても解くためには膨大な時間が必要であり、実質上「安全」であるとみなされています。

とはいえ、技術は日々どんどんと進化しています。公開鍵暗号も、コンピューターの処理能力の向上にあわせて、より解読が難しくなるようカギに用いる文字列の長さを長くすることで安全を確保してきました。

しかし、「量子コンピューター」の登場で状況がガラッと変わったのです。量子コンピューターは従来のコンピューターとは異なり、「素因数分解」を効率的、つまり高速に解くことが可能なのです。

世界を変える夢の技術!【量子コンピューター】は何に使える? 大学で研究できる?最近ニュースなどで「量子コンピューター」という言葉を、よく耳にするようになりました。この量子コンピューターとはいったいどのようなものなの...

「暗号」はネットワーク時代に必要不可欠な技術

2022年の時点で、量子コンピューターはインターネットで日常的に利用されている公開鍵暗号を解読できるほどの処理能力を備えていません。

しかし、研究が進められており、今後計算能力が向上すれば、現状の「公開鍵暗号」では安全を確保できなくなってしまう可能性があります。

インターネットを利用しない社会は、もはや現実的ではありません。解読できるようになってからでは手遅れです。

そのため今後もインターネットを安全に利用できるよう、量子コンピューターであっても用意に解読が行えない新たな「耐量子計算機暗号」の研究が進められています。

地道な研究がインターネットを支えている

コンピューター技術の進展により、より難しい計算が容易となれば、社会的な課題をコンピューターに計算させて解決させるなど、より豊かな世界につながる一方、暗号の安全性が脅かされるという、イタチごっこのような関係は、今後もしばらくは続いていくでしょう。

またインターネットにおける公開鍵暗号に代わるものとはなりませんが、1度きりのカギを毎回安全に送ることでどれほど高性能な計算機であっても解読が不可能である「量子暗号」といった技術も登場しています。

現在の社会において必要不可欠な暗号技術は盛んに研究が行われています。興味があるのであれば大学では数学や情報工学の分野を目指すと良いでしょう。