インターネットを利用する上で今や暗号通信は欠かせない存在だ。Webサイトとのデータ送受信や、無線LANにおいても、盗聴や改ざんを防ぐために、暗号通信は日常的に利用されている。この記事では、暗号技術の基礎や歴史的な変遷に触れた上で、量子コンピューターを含めた今後の技術進展について考察する。
暗号技術に求められる要件
暗号は主に軍事・政治の分野で数千年前から開発・利用されてきた技術だ。近年は、情報通信技術の進展に伴い、データの送受信が日常的に行われるようになり、暗号通信も生活に欠かせないものとなっている。
暗号化とは、端的に言えば第三者が解読できないよう、平文(元のデータ)を暗号文に加工する技術だ。一方、受信者が暗号文を平文に戻す処理は復号と呼ばれる。受信者と送信者のみが通信内容を共有できるのがメリットだ。現代の暗号技術は、一般的に以下の要件を満たすことを目的としている。
1)機密性
閲覧許可のない人には情報を開示しない。第三者による盗聴や傍受を防ぐ。
2)識別
送信者と受信者を識別し、問題なければ通信内容の開示を承認する。
3)完全性
通信内容が改ざんされていないこと。また、改ざんされた場合は、それが検出できることを担保する。
4)規制対応
政府や業界団体によって定められた個人情報保護の要請に対応できる。コストが過剰にならない範囲で、そのリスクに応じて適切な暗号化によりデータを保護するよう、規制が強化されつつある。
暗号化が必要とされる通信状態
データの暗号化による保護は、通信状態・保管状態の双方に対して行う必要がある。保管状態とは、データがデータベースやハードディスクに格納された状態を意味する。暗号化を施しておけば、仮に情報が漏えいした際にも、内容が判別されるリスクを低減できる。なお、通信状態のデータとは、以下のような利用場面が想定される。
1)Webサイトの送受信データ
昨今、ECサイトのように個人情報・決済情報を取り扱うWebサイトでは、通信内容の暗号化が必須となっている。こうした状況を踏まえ、SSL(Secure Sockets Layer)など暗号化通信プロトコルを用いたHTTPS通信が普及してきた。SSL対応しているWebサイトでは、Webブラウザーのアドレスバーに鍵のマークが表示される。Google は検索エンジンの評価基準に暗号化の有無を取り入れるなど、Webサイトの暗号化を後押ししている。
2)VPN(Virtual Private Network)
VPNは仮想的な専用通信回線を構築する技術であり、暗号化によって通信内容を保護している。テレワークの普及に伴い、社外から社内システムへログインするためにVPNを活用する場面も増えた。
3)メール、メッセージアプリ
企業においてはメールで機密情報を扱う場合があるため、送受信の際に暗号化の処理を施す必要がある。先述のSSL技術を用いて「POP over SSL」、「SMTP over SSL」といった設定が用いられる。LINEやFacebook Messengerといったスマートフォン(以下、スマホ)、パソコン向けのアプリでも、端末間のメッセージやチャットの内容を暗号化できる機能を提供している。また、暗号化に加えてハッシュ値を付与した通信を行い、改ざんの検知を試みている。
4)無線LAN
オフィス環境でも、自宅でのテレワークであっても、無線LAN経由でインターネットに接続し、業務を遂行する場面は多い。通信の傍受や不正操作を避けるため、無線LANにも暗号技術が活用されている。
暗号通信技術の変遷
暗号化の主な手法として「共通鍵暗号方式」、「公開鍵暗号方式」が知られている。以下に、その概要を解説する。
1)共通鍵暗号方式
暗号化と復号に同一の鍵を用いるため、対称鍵暗号方式とも呼ばれる。1976年にNBS(アメリカ国立標準局、現在のNIST:米国国立標準技術研究所)が承認したDES(Data Encryption Standard)は、この一種だ。効率的に機密情報が送受信できるようになったことで、当時は画期的な技術とされた。
ただし、復号する鍵を受信者に渡す仕組みに起因して、鍵自体を傍受されるという鍵配送問題が発生した。また、受信者ごとに鍵を生成する必要があり、管理工数が膨らむというデメリットもある。そのため、共通鍵暗号方式は単体で用いるよりも「ハイブリッド方式」にて利用されることが多くなっている。
ハイブリッド方式とは、共通鍵暗号方式と後述する公開鍵暗号方式を併せて利用する方式だ。この場合、共通鍵暗号方式は「処理速度の速さ」という特徴を活かしてデータ本体を暗号化するのに用いられる。そして、鍵自体は公開鍵暗号方式にて暗号化して交換するというものだ。
2)公開鍵暗号方式
暗号化と復号の鍵をセットで生成し、暗号化の鍵のみを一般に公開することから、非対称鍵暗号方式とも呼ばれる。送信者は受信者の公開鍵を取得し、情報を暗号化する。そして、受信者は秘密鍵で復号し、内容を閲覧できる。誰もがアクセスできる公開鍵を使用する前提のため、鍵配送問題は発生しない。
公開鍵暗号方式の代表的なものとして、1977年に発明されたRSA暗号アルゴリズムがある。RSAは素数の積を元に公開鍵を作成し、2つの素数を元に秘密鍵を作成する。
素数の積を計算するのは容易だが、大きな整数を素因数分解して2つの素数を導くのは難しい、という特性を利用しているのが特徴だ。つまり、公開鍵は簡単に作成できるが、秘密鍵を解読するのは困難と言える。
さらに、鍵長を長くするほど、指数関数的に解読は困難になる。安全性を高めるには鍵長を長くしていけば良いが、復号・解読処理に要する時間も考慮する必要があるため、実用的には2,048bitの鍵が用いられるケースが多い。現在もSSLなどの暗号通信で用いられている。
加えて、近年はRSAよりも短い鍵長で高い安全性を確保するよう、ECC(Elliptic Curve Cryptography:楕円曲線暗号)という暗号アルゴリズムも開発された。このアルゴリズムはICカードやブロックチェーンに応用されている。
量子コンピューターが変える暗号通信
強固な暗号アルゴリズムを用いていれば、現代のコンピューターでは暗号の解読はできない。ただし、処理能力が飛躍的に向上し、計算能力に対する前提が変わってしまうと、暗号が解読されてしまう可能性がある。
RSA方式の場合、素因数分解の解析が困難であるという特性に従っているため、「理論的に解読できない」という訳ではなく、「現実的な処理時間では解読が困難」と言われているに過ぎない。例えば、研究が進められている量子コンピューターが実現すると、現在の暗号は破られてしまう可能性が指摘されている。この量子コンピューターは従来の計算機とは異なり、量子の性質を活用して演算を行う。
組み合わせ最適化や素因数分解のような問題では、逐次計算する現代のコンピューターよりも、並列で計算できる量子コンピューターの方が、はるかに高速に計算できると言われている。つまり、量子コンピューターの利用が一般化すると、暗号が短時間で解読されるリスクが高まる点が懸念されているのだ。
米国では、2030年までには2,048bitのRSA暗号を解読可能な量子コンピューターが実現し得る可能性を想定し、対策を検討しているとされる。そのため、RSAに代わる次世代型暗号の研究開発も進められており、耐量子コンピューター暗号(PQC)の開発・移行が計画されている。
また、量子力学を量子鍵の配送に応用する方法も検討されている。共通鍵暗号方式では、受信者へ送付する鍵自体が傍受されるリスクが問題となっていた。ここで量子の性質を応用し、鍵の盗聴が検知できる可能性がある。具体的には、暗号鍵を量子の一種である「光子(光の最小単位)」に載せて送り、観測されると状態が変わるという量子力学の性質を用いて、盗聴が検出できるのだ。
つまり、復号するコンピューターの計算能力によらず、暗号鍵が物理的に盗聴不可能であることが安全性の根拠となる。量子鍵配送には、光ファイバーと専用機器が必要になるが、安定して光子を送受信できるよう、技術開発が進められている。
暗号通信技術に関しては、安全性を高めるよう暗号方式を強固にする技術と、それを解読する技術がせめぎ合い、終わりのない開発競争が続いてきた。通信技術を検討する上では、その時点で最新の技術を考慮に入れて検討することが重要だ。サイバー攻撃や情報漏えいのリスクが高まる中、暗号通信技術の進歩についても適切な理解が求められている。