第670号コラム:辻井 重男 理事・顧問(中央大学 研究開発機構 機構フェロー・機構教授)
題:「暗号の安全性と量子ストリーム暗号―Y00をご存じですか」
初めに ― 本文で訴えたいこと
どの専門分野も分かり難いものですが、現代暗号もその一つです。「量子コンピュータが実用化されると、現在、社会基盤となっている暗号が解読されてしまう」という話題が、新聞などのメディアを賑わわせていますが、暗号に関わる方に誤解されるような記述もありますので、簡単に全体像を描いてみたいと思います。素人にも分かり易く、初歩的なことから説明します。
Ⅰ. 暗号の目的・用途と方式
暗号の用途から簡単に説明しましょう。暗号は常に社会的要請から生まれています。数千年の昔から1970年頃まで、暗号と言えば、送りたい情報を秘匿するのが目的でした。用途は、主に軍事や外交でした。敵に解読されないように秘密情報を届けるため、送信者と、遠くにいる受信者(味方)との間で共通の鍵を共有する必要があります。現在、共通鍵暗号と呼んでいますが、公開鍵暗号が発明される1970年代までは、味方同士で共通の鍵を持つことは当たり前なので、共通鍵暗号という言葉はなかったようです。公開鍵暗号は、自分だけが所有する秘密鍵と、その秘密鍵に対応して、多数の人に共通に使って貰うための公開鍵の2種類の鍵から成り立っています。公開鍵の中に秘密鍵が数学的に埋め込まれています。情報化・デジタル化の時代になると、手書き署名に代って、「この文章は、自分が書いたことに相違ない」というデジタル的な証明が必要になります。これを電子署名と呼びます。1970年代後半、アメリカで、電子署名を目的として、公開鍵暗号が生まれました。公開鍵暗号は、人に限らず、何百臆に上るモノ(IoT)の真正性保証に不可欠な認証手段になっています。
実は、1990年代になって分かったことですが、1970年代前半に、イギリスの諜報機関が、公開鍵暗号を発明していたことが公にされました。発明の動機は、電子署名ではなく、共通鍵暗号の鍵を白昼堂々と送ることでした。第2次大戦中、鍵配送に苦労したのが動機でした。芸者ワルツの文句ではありませんが、
「気強く、暗号送った夜は、更けて気になる鍵の盗難。
遠く聴こえる不穏な噂、鍵の苦労が身に沁みたのよ」
という次第です。暗号鍵を確実に安全に送れる手段があったら、第1次・第2次大戦の戦況は随分変わっていたでしょう。
このように、公開鍵暗号には、認証・署名、及び、共通鍵暗号の鍵配送という2つの大きな用途があります。公開鍵暗号で、平文データ自体を秘匿伝送することも原理的には出来ますが、共通鍵暗号に比べて、伝送速度が著しく遅いので、情報伝送の自体には、余り使われていません。
後で説明する量子暗号については、鍵配送用のBB84暗号ばかりが、メディアなどで取り上げられ、共通鍵暗号に対応するY00量子暗号が一向に話題とならないのが国策上困ったことだというのが、本文を書き始めた理由です。通常の共通鍵暗号と異なり、Y00量子暗号は、暗号文自体が盗聴されないという優れた特徴を持っており、日米が先導して研究して来ましたが、最近は中国も実用化研究を始めたようで、日本も急がねばなりません。では、本題に入りましょう。
図1 暗号の分類
Ⅱ. 耐量子コンピュータ暗号
素因数分解や離散対数問題などの数学的解読困難性に依拠しているRSA暗号や楕円曲線暗号等の公開鍵暗号が、10年以内に解読される程、量子コンピュータの実用化が速いとは予想できませんが、今から設置する暗号方式が、20年~30年で解読されては困りますから、早めに備えておく必要があります。
#RSA暗号は、素因数分解の困難性(6887=71×97, 6887 を公開して、71 と87を秘密にする。4桁を2桁の2つの素数に分解?中学生でも解けるではないか。そこで、スーパーコンピュータを1年回しても解けないように、約600桁(2048ビット)の合成数を公開鍵としている。
(1)量子コンピュータの実用化に耐えられる暗号の種類は?
耐量子コンピュータ暗号には、理論分野的には、大きく分けて2種類あります。数理暗号と量子暗号です。
数理暗号とは、1.で述べたような、数理的・数学的に解くことが難しい暗号で、Ⅰ. に述べたように、共通鍵暗号と公開鍵暗号があります。量子現象は利用しないので、量子力学的知識は全く不要です。
量子暗号とは、量子現象を利用する暗号です。私は、数理暗号系の研究者でして、量子力学的知識はありませんが、Y00量子暗号の国際的先導者である廣田修先生に教わりながら、全体像を概観してみます。
(2)BB84 量子暗号
検索すると、「BB84は、チャールズ・ベネット(Bennett)とジャイルス・ブラザード(英語版)(Brassard)によって1984年に提案された、暗号学的な、量子通信を利用する鍵配送プロトコルである。二人の頭文字と発表年からBB84と呼ばれ、初めて提案された具体的な量子暗号のプロトコルとして有名である。」と出て来ます。
BB84 量子暗号に使われる信号は光子で、それを1個ずつ送る必要があるため実装が難しい暗号技術です。人間が他人に見られると表情を変える様に、光子自身は観測されると状態が変化します。この量子現象を利用すると盗聴者を検知できるので、それを原理として暗号機能を実現しようとしたものです。しかし、光子1個ずつ送る途中で、多くの光子が消去するので、データ自体を送ることは出来ず、乱数しか送れないので、鍵配送専用です。
2021年5月5日の日本経済新聞の1面トップに、「中国は、北京と上海の間に2千kmに及ぶ量子暗号の通信網を構築している」と掲載されています。廣田氏によれば、中継間隔は40km, 通信速度は 50 k bits とのことです。
(3)Y00 量子暗号
廣田氏によれば、「Y-00暗号は「盗聴者に暗号文を傍受させない」ことを特長とする光通信向けの暗号で、暗号文として超多値変調信号(4096値が一般的)を用い、それらの信号を受信した際に発生する量子雑音による信号値に対するマスク効果を利用する。Y-00暗号ではスロット毎に4096値の超近接した強度変調信号の一つが暗号文としてランダムに送信される。盗聴者は暗号文を受信するために、それらを識別する必要がある。しかし、量子雑音効果によって信号は正確に識別できない。これは、盗聴者が暗号文を正確に受信できない状況になっていることを意味している。玉川大学の実験では、4096値の変調信号(変調速度:1.5 Gb/s)を用いた。通信距離は1,000kmで40km毎に合計25個の光増幅器で増幅中継する構成を用いた。この原理は米国Northwestern大学のYuen教授が2000年からのDARPA(国防高等研究計画局)プロジェクトにおいて提案されたもの」です。
Yuen と友人の廣田 修氏(玉川大学名誉教授・中央大学研究開発機構 機構教授)はYuenと連携し、Y00 量子暗号の研究を始め、独自の方式を考案し、加藤研太郎玉川大学教授等と共に、実用化研究を続けて来ました。大雑把に言うと次のような方式です。
デジタル伝送と言うと、送信信号を1、0系列に変換して送るというのが普通です。つまり、1time slot 毎に1ビットですが、0, 1, 2, 3 のいずれか、つまり、2ビットを送ってはどうでしょうか。雑音が余り大きくなければ、その方が伝送速度は大きく出来ますね。昔の話で恐縮ですが、光通信が普及する前の同軸ケーブルの時代、私は、このような多値伝送方式の開発をNECでやっていました。同軸ケーブルは、信号の有無に関らず、白色雑音がありますが、SN比(信号対雑音比)は大きいので、伝送効率を上げるため多値伝送を開発したわけです。
Y00量子暗号は、
1)高速なデータ伝送が出来る、
2)暗号文自体が盗聴されないという高度な安全性を持っている、
という特徴があります。説明しましょう。
1)通常の光通信のように、基底帯域で一旦、サブ・キャリアで変調してから、光の周波数帯へ再度変調するのではなく、データで、光波を直接変調します。従って、高速なデータ伝送が出来ます。これが、Y00量子暗号の第1の特徴です。
2)BB84量子暗号と違って、time slot当たり大量の光子が伝送されますが、それに伴って、小さいながらも量子雑音が発生します。白色雑音と異なり信号依存性の雑音です。Y00量子暗号は、この量子雑音が、正規受信者には邪魔にならず、盗聴者は、その量子雑音のため、誤った暗号文を受信するので、それらから正しい平文データを復号できないように工夫した方式です。
上に述べた同軸ケーブルの場合は、多値伝送を伝送効率の向上に利用しましたが、Y00量子暗号は、安全性向上にも使います。どうすれば良いでしょうか。盗聴者に対しては、多値伝送、正規の受信者にとっては、2値伝送として如何?上手いことを考えたものだと感心しています。以下に簡単に説明しましょう。
多値数は、比較的大きく、例えば、4096値、つまり、スロット当たり12ビットとします。0と1のデータを送る2値の通信基底を2048個準備します。入力としての0と1のデータ系列はその都度、送受信者間で共有される擬似乱数系列でランダムに選択される2つの通信基底によって送信されます。擬似乱数を知らない盗聴者はスロット毎に4096値の内の一つが送られているように見えます。正規受信者は擬似乱数系列で選択された通信基底で送られてくる信号に対する2値判定閾値を同じ擬似乱数系列でスロット毎に定めます。送りたい平文は、スロット毎に1 または 0 ですので、暗号文を介さず平文が出力されます。スローモーションで受信機をみれば、普通の2値の光通信の2値判定閾値がスロット毎に上下にランダムに行ったり来たりしているように見えます。
正規受信者の1か0かの判定には、量子雑音効果が全く影響しないように設計されており、エラーなしで復号できます。盗聴者はスロットの閾値を知りませんので、1,0 の判定は出来ず、暗号文である4096値の光信号を識別することになります。その時は量子雑音効果が最大になるように設計されています。その結果、非常に大事なことですが、量子雑音の為、盗聴者は暗号文が正しく入手出来ないことになっていることに注目ください。
数理暗号の場合、暗号文を解読できなくても、暗号文を得るだけで、正当でない行為が実行出来る場合があります。例えば、暗号文が、平文に比例するような方式(エルガマル暗号)を使って競争入札するとしましょう。A社が、100万円で入札するという平文を暗号化して送るとします。競争会社Bは、その暗号文を得るだけで、A社が100万円だということを知らなくても、A社の暗号文を1.01倍して入札すれば、1パーセント高い価格で、競争入札に勝つことが出来ます。これは、一つの例ですが、暗号文自体を盗まれないことは、大事なことなのです。
(4)安全な暗号とは ― 大阪城落城に喩えれば
暗号の安全性には、いろいろなレベルがあります。平文が全部解読されて、暗号文が破られたという定義もあり、2048ビットの内、1ビットでも解読されたら、その暗号は破られたとする定義する場合もあります。攻撃のレベルも様々です。
大阪城に喩えれば、秀頼・淀君が自決して初めて落城したと考える場合もあれば、城の瓦1枚飛ばされても落城と考える場合もある、ということです。攻撃のレベルには、槍と刀、鉄砲、大砲などがあります。大阪方は、冬の陣で何故敗れたか。直接的には、家康が外国から仕入れた大砲の弾が、淀君の近くに墜ちたからでしょう。
公開鍵暗号については、IND-CCA2 が最も強い攻撃に対して、最も安全性の高い方式と定義されています。
IND = Indistinguishability;
1ビットも解読されない。城の瓦1枚飛ばされない。
CCA2= Chosen Cipher Text Attack 2;
解きたい暗号文以外は、どの暗号文に対する平文でも教えてくれる復号器を利用できる。大阪城自体ではないが、同じ構造の城を使って、何度でも攻撃シミュレーションが出来る。
数理暗号では、このように精緻な安全性理論が構成されていますが、実装するのも大変です。これに対して、Y00量子暗号は、量子現象を利用して暗号文自体が盗聴されないように構成された高速ストリームですので、共通鍵暗号も含めた数理暗号と安全性・効率性の比較をしてみてはどうでしょうか。
日本発の技術が、国内では注目されず、海外で先に実用化される悪例を重ねないようにしましょう。
余談
昭和17年、日本軍、マレー半島を進撃中の逸話
ある日本兵;何だ、それは?
イギリス軍捕虜;ヤジ(八木)アンテナだと聞いている。
電子情報通信学会初代会長、八木秀次博士等の発明した、八木・宇田アンテナも英国に、先に実用化されていた。
(5)Y00量子暗号のサイバーセキュリティ総合科学的利点
暗号理論屋さん達は、暗号理論の枠内で、数学的に安全性証明をして、自己満足している傾向があります。学会論文の査読でも、アイディアは良くても少しでも理論的欠陥があると、採択されません。
しかし、サイバーセキュリティ総合科学の視点からは、三止揚・MELT-UPを図らねばなりません。
Management, Ethics, Law and Technologyを総合的に活用して、自由の拡大、公共性・安全性の確保、個人の権利・プライバシィの互いに矛盾相克しがちな3つの価値の均衡を高度化する必要があります。(というと、自由って何ですか?と言われますが、「情報処理・活用による利便性・効率性の向上」ということにしておきましょう。)
サイバーセキュリティ総合科学の視点からは、暗号理論も、Managementに統括されるべきでしょう。
さて、平文をm, 暗号文をc, 乱数をK, 公開の関数をF( )としましょう。Y00 なら c=m +F(K) 暗号文c 自体を盗れないので、仮に乱数Kが漏洩しても、多重防御で、mは盗聴されません。管理の負担が楽になりました。
サイバーセキュリティ総合科学の視点からY00量子暗号万歳ですね。
(6)Y00量子暗号の利用分野
beyond 5G, 6G, IOWN, ゼロトラストネットワークなどによって、今後、ネットワークは大きく変貌するでしょう。任意の端末間で、随時、鍵共有が安全に適応的に共有できる鍵共有システムが、アドイン研究所(株)の佐々木社長、鈴木氏らにより開発されています。こうした背景の中で、暗号文自体が盗聴されないという優れた利点を持つY00の普及が期待されます。
【著作権は、辻井氏に属します】