PQC(対量子暗号)のことなんか一ミリも知らない俄かがUSBセキュリティキーとパスキーのことを馬鹿でもわかるように解説してみる


If we think of a web service as a door to our workshop, we can think of a passkey as the key to that door, and we can think of a USB security key as a vault where the passkey can be stored. If we utilize PQC technology, both the web service and the key must support PQC compatibility.


USBセキュリティキー及びパスキーは、どちらもフィッシング耐性の高い次世代認証技術:FIDO(Fast IDentity Online)に基づいた、パスワードに代わる認証手段のことである。FIDOってのは、パスワードを使わず生体認証(顔・指紋など)やセキュリティキーを用いて安全・高速にログインできる、オンライン認証の国際標準規格のこと。で、ここで肝要なのが、USBセキュリティキーとパスキー両者の違いだ。

ズバリ言うと、パスキーは「ログインのための情報」のことである。つまり、パスキーとは、パスワードの代わりとなる、暗号化されたデジタルキーのことである。対してUSBセキュリティキーは該当する「パスキーの入れ物」のことである。パスキーを物理的なハードウェア(スウェーデンのYubiKeyなどがメーカとして知られる)の中に隠して持ち運ぶものであり、二つを組み合わせることで最強のログインセキュリティが実現する。

つまり、USBセキュリティキーとパスキーを組み合わせることで、「物理的にそのフィジカルキーを持っていないと絶対にログインできない」という高いセキュリティが実現するのだ。逆にそのフィジカルキーであるUSBセキュリティキーを紛失するとヤバいことになる。紛失した場合、別のログイン手段(スマホの指紋認証、バックアップコードなど)で、紛失したキーの登録を削除・無効化する必要がある。物理キーには通常PINが設定されているため、直ちに悪用されるリスクは低い…だが、紛失時の無効化は必須である。

さて、USBセキュリティキーとパスキーを組み合わせる手法を上記のように考えたが、必ずしもパスキーは物理キーの中に入ってなければいけないというわけではない。例えば、iPhoneのFace ID/Androidの指紋認証/MacのTouch IDというようなパスキーの技術を派用したものは数多くあり、単体でも堅固なセキュリティを実現できる。つまり、Webサービスのアカウント=家のドアとすると、パスキー=ドアを開ける鍵であり、USBセキュリティキー=鍵を絶対コピーされない特殊金庫である。

耐量子性の観点から言うとどうだろうか?この特殊金庫の中に入っているパスキーの合鍵を量子コンピューターで作られると、セキュリティは破られることとなる。ここで重要なのが、耐量子暗号:PQC(Post-Quantum Cryptography)である。ただ、YubikeyなどがPQCに対応していても、我々が利用するWEBサービス側など受け取り側がPQCに対応してないと、鍵の持つ耐量子性は発揮できない。こちらの鍵の事情と、あちら(ネットワーク側)の鍵の事情が合致して、初めてPQCはその本領を発揮するのである。

現時点では、暗号解読と暗号そのものの技術が劇的に進歩しているがため、その最先端のテクノロジーについていくのはかなり難しいところがあるのも事実である。例えば、例として挙げたYubikeyはそのファームウェアはアップデートが基本的にできない仕様になっている。これはYubico側がYubikeyのセキュリティに最大限配慮した結果である。ファームウェアがアップデート可能だと、そのファームウェア自体が改竄されたとき、重大なセキュリティ侵害が起こる可能性が残るため…だと言われている。

…と書いてみたが、解説が微妙なところはご指摘お願いします<(_ _)>