暗号化は最終的に解読される可能性がある

そもそも暗号化とは

インターネットの利用では暗号化が欠かせません。

一般的に通信内容は暗号化されて送受信されています。データ自体はそれぞれの環境でセキュアに守られているので、各データは暗号化されない生のデータが保存されています。しかし、インターネットを経由する通信内容は途中で誰が傍受するかわからないため暗号化されます。

暗号化というのはデータを元の形から、判読できないようにした上で、その判読できないデータを、正規の利用者だけが元の形に出来るようにする事です。

暗号化の方式は、アルファベットを一つずらすのような、人間でも解読できる物、コンピュータのビットの0と1を反転するようなコンピュータ独自の単純な物などから、複雑な計算を行う物など様々な方式があります。

この方式をプロトコルと呼びます。

インターネットでよく使われている暗号化方式はSSL(Secure Sockets Layer)という方式(プロトコル)が使われています。SSLの初期バージョンのSSL 1.0は公開前に脆弱性が発見され、脆弱性を改良したSSL 2.0が1994年に公開されました。

その後、1995年に公開されたSSL 3.0を元にしたTLS 1.0が1999年に公開されました。TLSはTransport Layer Securityの略で、SSLをより強固にした方式で、本来はTLSとすべきですが、一般的にはSSLと呼ばれていることもあります。

このためSSL/TLSやTLS/SSLという表記が現在も使われています。

TLSはその後いくつかの更新され、2018年に公開された1.3が最新版です。

このように、暗号化方式は常に脆弱性が研究され、定期的に新しい方式へと移行しています。

一般に公開されている暗号化方式

Wi-Fiの通信内容は暗号化されているため、電波が傍受されても通信内容が他人に知られてしまう可能性はほぼありません。

ここでキーになるのが暗号化にどのような方式を利用しているかという点です。

Wi-Fiの暗号化方式

1997年 WEP
2002年 WPA
2004年 WPA2
2018年 WPA3

このWi-Fiの規格、暗号化方式等は国際的に仕様が決まっており、誰でもその内容にアクセス可能です。暗号化方式が公開されているという事ですが、解読に時間がかかればかかるほど安全な暗号化方式になります。

Wi-Fiで使われた初期のWEPという方式では、暗号キーが固定など様々な脆弱性が発見されたため、WPAが策定されました。その後、WPAを拡張したWPA2が2004年から使われるようなりましたが、2017年にKRACKという脆弱性が公表されました。

そのため、WPA3というよりセキュアな方式が公開され、新しいWi-Fi機器の多くではWPA3の使用が推奨されています。

このように一般に公開されている暗号化方式の場合は、多くの研究者等が暗号化方式を調べています。もちろん、攻撃者も調べており、既存の脆弱性が発見されたり、新しい手法が発見されれば、よりセキュアな方式が導入されています。

このように世界中で使われており、公開されている機能ほど、より高度な暗号化に変わっています。

独自の暗号化方式の場合

一般に公開されている暗号化方式の場合、多くの研究者などがその方式を研究しているので、新たな脆弱性が発見される可能性が高いです。発見されれば、その脆弱性を塞いだより強固な暗号化方式に変わっていきます。

一方で、特定の企業が独自に非公開で行う暗号化方式があります。

この場合、その暗号化方式自体が公開されていないので、方式自体を解析するところから始まり、脆弱性の発見は困難になります。仮に攻撃者が発見した場合は、その攻撃者が内容を公開しなければ、暗号化方式の強化などにはつながりません。

暗号化方式が公開されている場合、研究者などもその方式を研究する可能性がありますが、攻撃者が先に脆弱性を発見した場合は、その脆弱性から暗号を無かった物として情報を扱えます。

有名なサービスな程、暗号化を解除する価値がある情報が集まっているところほど、研究者の研究対象、攻撃者の攻撃対象になります。一方で、注目されていない、利用者が少ないサービスは研究の対象にもならないし、攻撃者されることもありません。

つまり、一部では有名なサービスだが、独自の暗号化方式を使っていると、研究の対象にはなるが、公開されたサービスに比べると研究者の数が減るため、脆弱性の発見が遅れる可能性があるという事です。

暗号自体はいずれ解読される

どのような方式を使ったとしても暗号自体はいずれ解読される可能性があります。

しかし、1つの方式を解読するのに100年かかったとすると、その情報はその時にはほぼ無価値になります。しかし、5分で解読できれば価値のある情報ですし、3日後でも高い価値を維持しているでしょう。

このように解読に時間がかからない方法が発見されることが脆弱性が発見されるということになり、解読に数十年やそれ以上かかる方式ほど安全という事になります。

しかし技術は常に進歩しており、従来は時間がかかった計算でも今では短時間で解析できる物もあります。

CPUで計算した場合1年かかる方式の場合で考えます。

CPUの能力は1年で10%程向上しています。10年で2倍ほどの向上でしかないので、10年前に1年かかった解読が6ヶ月になります。
しかし、CPUのコア数は増えており10年前に2コアだったのが今では10コアになっている事もあり単純に考えると5倍の能力になるため、365日だったのが36日になります。
最近ではGPUを計算に使う事も増えており、暗号解読のような計算が得意なGPUの場合はCPUの100倍の能力がある場合があります。この場合は365日だったのが3.7日になります。

されに、これを分散して複数のコンピュータで行ったとすると、100台使えば8.5時間になります。

このように10年前に1年かかった計算も、今では8.5時間で解読されてしまう可能性があります。

さらに今後は量子コンピュータというのが一般化する可能性があります。量子コンピュータは現時点で現状のコンピュータの1億倍など圧倒的に高速になると言われています。量子コンピュータをうまく使った場合の高速化例で何でも高速になるわけではありませんが、単純に計算すると、1年かかる計算(3億秒)が3秒になるという事です。

常に最新版を使おう

このように暗号化方式、解析のどちらも常に新しくなっています。

ユーザーが安心して使うには、どちらも新しい物をすぐに利用するという事です。

古い機器、古いOSなどは新しい方式に対応できないことが多いです。