はじめに
最近、学会で色々な暗号方式が提案されていて、暗号は現代暗号から次のステップに進みつつある。今一度「古典暗号」と「現代暗号」を取り上げ、それに対して「次世代暗号」がどういった暗号の世界をつくるかみてみようと思う。
古典暗号と現代暗号
古典暗号はアルゴリズムが隠すべき値となっている暗号のことである。シーザー暗号やエニグマといった古代から用いられた暗号では、アルゴリズムがたちまちバレると暗号文を解読することができる暗号方式であった。
古典暗号に対して現代暗号は秘密鍵が隠すべき値となっている暗号のことである。EAS、RSA、BLSといったいわゆる秘密鍵暗号方式と公開鍵暗号方式のすべてが当てはまる。暗号アルゴリズムが敵対者にバレたとしても秘密の値さえバレなければある安全であると言える(安全性の定義はアルゴリズムによることを注意)。このパラダイムにより暗号は一般へと普及し、いまではWi-Fiの接続からインターネットの利用まで欠かせないものとなった。
現代暗号の課題
現代暗号はたしかに革新的であったが、同時に鍵管理問題が浮上した。秘密鍵の扱いをユーザーに委ねるため、扱いを間違えるとたちまち安全性が無になる。同じパスワードを使いまわしたり、誕生日などの推測しやすいパスワードを設定するユーザーの鍵管理への無頓着さより、定められた鍵管理の方式を守ることは到底不可能に近い。また企業も同様に、暗号を正しく実装することは困難さを極め、運用ミスによるハッキングは未だに後を絶たない。
次世代暗号
次世代暗号を「鍵管理が不要な暗号」と定義し、それを実現する方法を考察する。
1. 脳内バックアップ
頭の中で唱えたパスワードを脳波によって読み取り、それをもとに暗号文や署名を生成する。これにより、人々は6桁のパスワードを頭の中に保存しておけばよい。これはパスワードでなく特定の言葉でもよい。
脳波には、睡眠時などの特定のシチュエーションを検出できることも知られており、これにより睡眠時に読み取ることはできないという制約を加えることで、第三者による鍵の奪取を回避することができる。
理想としては、脳波センサーで鍵を読み取るよりも、脳内で暗号文を生成し、暗号文を脳波センサーで読み取ることである。
課題としては、思い浮かべた数字と脳波が必ずしも一致するかどうか不明である点、別の数字を思い浮かべたときに同じ脳波を発してしまう可能性がある点、脳波センサーを必要とする点などが挙げられる。また、その脳波センサーを信頼する必要があることから、TEE/Enclaveなどの技術との併用も重要となる。
これはなにも空想の話ではなく、SCIS2023では東京工業大学・尾形わかは教授が「暗号のための脳機能拡張」の提案研究を発表している。
2. 秘密鍵分散
秘密鍵をたとえば3つのシェアに分割する。それぞれ、パスワード、生体認証、クラウドアクセスによって認証することで、復号(reconstruct)せずに暗号文や署名を生成する。これにより、ユーザーはたとえ鍵を1つ漏洩してしまったとしても暗号文を破られることがなくなる。
この方式は閾値暗号として1990年代からすでに研究されており、シャミア秘密共有などの方式が存在する。ただ、Malicious Securityにおけるパフォーマンスが不十分であることや、シェアの保存場所の最適解が存在しないことが課題として挙げられる。