https://www.informationsecurity.com.tw/Seminar/2024_PaloAlto/
https://www.informationsecurity.com.tw/Seminar/2024_PaloAlto/

觀點

量子電腦問世後的密碼學主力戰場「後量子加密技術」

2021 / 10 / 08
編輯部
量子電腦問世後的密碼學主力戰場「後量子加密技術」
密碼學這門學問對於多數的人來說可能並不是那麼熟悉,但現在構築我們的資訊世界基礎的其實就是密碼學,小到我們生活中的娛樂與通信,像是電子信件的收發、在社群網站上發文、線上消費時要用的電子支付,大到國家保護、商業資訊防護,像是銀行的資料防護系統,甚至到現在很活躍的區塊鏈技術,這些技術的核心都要仰賴密碼學為基礎去做發展。

現代密碼學是數學、電機、資訊的結合應用,其中包含了大量的資訊原理,以及數學理論,所以也可以說是數學在實務應用上的分支,隨著科技的發展,人類計算機的算力不斷的提升,相關的應用也持續在發展。

不過近年來量子運算 (Quantum computing) 技術的快速進展,也開始對現今使用的加密與解密系統帶來衝擊。其實早在1994年彼得.秀爾(Peter Williston Shor)這位數學家提出的量子質因數分解演算法(Shor演算法或是Shor公式)時,就宣告了只要人類能夠使用量子電腦,將可以快速突破RSA這種我們目前生活中的主流演算法(RSA為發明此演算法的三位科學家姓氏的第一個字)。

時至今日,不管是google的「Sycamore」還是IBM的「IBM Q System One」甚至是中國科學技術大學的「九章」,都在告訴我們量子電腦的應用在可預見的未來是會出現的,為了應對量子跳躍性的計算能力,世界上也展開了次世代資安技術的研究與規格制定,這其中以基於密碼學為發展基礎的後量子密碼學 (Post-Quantum Cryptography, PQC) 以及以量子技術為基礎的量子密鑰分發 (Quantum Key Distribution,QKD)為目前較有名的加密方式。

不過由於QKD目前在開發上還有很多問待解決,美國國家安全局(NAS)目前並不建議使用這種加密系統,所以這次主題將集中在PQC的討論上,我們就請到台大數學系的陳君明教授,和我們談談究竟PQC怎麼從眾多加密方式中脫穎而出,而PQC領域現在發展的狀況又是如何呢?
 

早在40年前就開始的後量子密碼學,最近開始進入到大眾的視野中

陳君明教授表示,在過去幾十年來的加密算法主要是以質因數分解(RSA)與離散對數問題(DSA.ECC...)為安全基礎下去設計,直到目前為止也都是如此,但就像前面說的1994年Shor演算法(shor's Algorithm)的出現,就已經預知了量子電腦的出現將可以快速突破這類利用特定「群」來設計的演算法。不過雖然說量子電腦在破解RSA有非常大的優勢,但他能發揮優勢的也只是在這樣特定的領域,所以科學家們為了要防禦量子電腦在未來造成的衝擊便開始往PQC的方向走,而數學專業的陳教授也剛好就是在這個時期觸到密碼學,原本就不希望數學的專才侷限在純數學的領域的關係,便順水推舟的往密碼學方向做發展。

PQC一開始的出現並不完全是為了要防禦量子電腦的攻擊(畢竟當時也還沒發明出量子電腦),他比較像是科學家們為了要加強我們的公鑰加密系統去做的研究,說的簡單一點,就是數學家們不斷的在開發數學工具(演算法)來讓我們的加密系統可以有更好的防護效果,而PQC是其中一個大分支,直到近期量子電腦的出現PQC才開始變得更主流。至於原本前面談到的RSA, ECC......過去主流的演算法也因此開始變得較為沉寂,畢竟未來會被破解的機會比較大,研究者們自然比較不會往這些舊的加密領域做太多投入。

PQC如何對抗量子電腦?

在談到如何對抗量子電腦前,我們必須先了解量子電腦到底強在哪裡。在大眾的想法中量子電腦聽起來非常厲害,應該是運算能力比我們目前使用的傳統電腦強上非常非常多的新形態電腦,但這樣的說法其實只說對了一半,量子電腦強大的是他在解特定種類的數學問題時,可以有極為強大的運算能力(百萬倍以上),也就是說量子電腦在做特定的事情上非常厲害,但在這些事情之外,量子電腦基本上並不會比傳統電腦更有優勢。

而PQC就是繞過量子電腦優勢去設計的加密演算法,「嚴格來說,利用代數結構的特性,來讓量子電腦無法發揮他的優點」陳君明教授和我們說明道,但了解了PQC之所以能防禦量子運算的原因後,你大概就會發現,其實PQC並不是一種單純的演算法,而是「繞開量子電腦算力優勢」這種策略下出現的演算法的總稱。

目前美國國家標準技術研究院 (NIST) 已於2016年啟動了後量子密碼學標準化流程,並向世界公開徵求演算法,經由透明且嚴謹的程序來篩選出適合的國家標準,說的簡單一點,做為PQC領域領頭羊的NIST,會先提供一個演算法的基本規則,讓大家投稿自己的演算法,接著公開這些算法讓大家去互相破解,逐步篩選出夠強的演算法,就像提供一個演算法的PK擂台,留下夠強的演算法進入下一輪篩選,2017年通過初審的的演算法有69組,進入第二輪(2019)的有26組,晉級第三輪(2020)的有7組勝選組和8組敗部組,而NIST也將在2022到2024年經由競賽的結果,來公布國家標準的草案。

「這些數學工具(演算法)基本上都不太一樣,其中lattice是比較被看好的算法,不過真的要說誰最強並不準」陳君明教授和我們說明道,在演算法的驗證過程中,要去證明一個算法是安全的其實不太可能辦到,反之我們要證明他不安全是相對容易的,所以在密碼學領域中,能夠經過千錘百鍊留下來的算法更能證明自己的安全性,同時也比較能受到大家的信任。

所以在今年底或明年初,NIST將會公布獲選的演算法,彼時就會知道未來將由哪種算法來代表PQC領域帶著世界繼續前進。

PQC這麼早就有了為什麼到現在才開始用呢?

PQC的好處是不需要使用到量子力學(技術與設備條件較為嚴苛),僅使用現有的傳統電腦套用函數庫,即可完成加密系統的運作且能防禦量子運算的威脅。那你可能會問,如果PQC這種解法這麼好用,為什麼到近年才開始成為顯學呢?當然前面有說到量子電腦的出現推了PQC一把,但實際上PQC有一個比較明顯的問題,那就是加密使用的金鑰非常巨大。前面有說到現行使用的大宗加密方式有RSA和ECC等方法,他們的大小約為2048bit上下,算是比較小的,運算上較為便利。但 PQC 的金鑰可能會大上千倍以上,這樣在存儲與運算上需要的門檻也就會有所提升。所以以過去十幾二十年前硬體存儲能力與算力的水平還不夠強的情況下,PQC這樣的加密方式在實用上是比較麻煩的,但到了現代我們硬體有了大幅度的提升,配合上演算法的優化,PQC的使用就沒有像過去那麼麻煩了,換句話說,現在PQC能走上時代舞台某個程度上也是水到渠成的結果。

PQC將如何進入我們的生活

在文章的開頭有說到,密碼學在我們的生活中是構築資訊世界的基礎,現在要將舊的算法轉換為新的算法肯定會有轉換的過渡期,也正因為密碼系統的應用面實在太廣了,所以要更新現行的公鑰加密系統會是一個非常浩大的工程。舉例來說,最近一次大規模更換算法約在2000年左右,當時美國決定採用AES算法,各大相關企業光是將部分加密方式採用新的方法就花了近十年的時間去做調整,同理,陳教授認為,這次要轉換為PQC系統所需要花費的時間可能也要十年以上,但這並不代表PQC就難以執行或是還要很久才派上用場,反之可以做更靈活的應用,最簡單的方法便是將原本的資訊做風險分級,分級最高的就使用PQC來做加密,而風險分級較低的就使用原始的加密方式去做分配就是一個比較實用的做法。隨著NIST的相關標準的完善,許多大企業也開始跟進PQC的使用,像J.P. Morgan在近期也已經在未來的時程表上標示準備開始導入PQC系統,也隨著越來越多的單位開始使用PQC加密系統,相應的PQC技術與相關產品也會應運而生。

你我都正在參與這場後量子密碼時代的揭幕,你可以不知道PQC背後的複雜數學原理,但我推薦各位讀者務必認識一下,當大家都在說量子電腦多強多猛的時候,世界上早就有一群科學家準備好PQC這張盾,來面對接下來量子運算的衝擊。

本文轉載自科技大觀園。