輕量加密、同態加密與區塊鏈:新世代密碼學的三大聖杯
撰文/陳奕廷(史丹佛大學應用物理系博士班)
大數據蒐集與輕量密碼學
大數據是機器學習的必要條件。人的時間和精力有限,若讓人來蒐集數據,有太多資訊會被忽略掉。物聯網 ( Internet of things, IoT ) 正能解決這個問題。當今與網路相連的裝置通常只有手機和電腦,而物聯網的概念是將所有的裝置都連成一個網路,以期能更有效地掌控並分析資訊,減少不必要的浪費和消耗。舉例來說:如果家中燈泡、冷氣、冰箱等家電的使用資訊,能透過物聯網收集、記錄,並利用人工智慧分析,便能依據使用需求設計出更省電的運作方式,甚至更好的家庭配電模式,提升發電廠效率。
但水能載舟亦能覆舟,物聯網若遭有心人士惡意駭入,將會是一場難以想像的災難。如果家內的冷氣被惡意開啟也許只是徒增困擾;但如果有人惡意將整個城市的所有電器同時開啟,則可能造成發電廠過載、電網癱瘓,甚至影響國家安全,因此,加密通訊異常重要。但許多物聯網裝置的尺寸非常小,無論計算資源或電池壽命皆有限,無法完全滿足通訊加密所需。於是一套不同於電腦通訊的物聯網裝置加密協定、一套「輕量加密」 ( Lightweight Cryptography ) 卻又不在安全性上妥協的密碼學,有其必要性。
隱私問題與同態加密
除了惡意駭客外,個人資料的蒐集與隱私也是大數據的一大爭議。就算使用大數據的機構恪守倫理規範,個資仍有可能流入有心人士手中。常見的情況,是當一般機構沒有足夠運算能力進行大數據分析時,常如圖一A所示,向第三方租借如Amazon Web Service、 Google Cloud Platform等雲端計算資源。計算完成後包含隱私資料在內的大數據,是否妥善刪除是一大疑問。
同態加密 ( Homomorphic Encryption ) 是一能解決大數據隱私問題的方法。如圖二B所示,工程師在上傳數據前先將數據進行加密。為了對資料進行運算 ( f ),工程師對加密後的資料進行對應的同態運算 ( g )。g的作用是在資料被加密的狀態下對資料做f運算,最後下載並解密得到目標函數f(x) 結果。透過這樣的架構,上傳到雲端做計算的資料總是被預先加密過的,即使資料沒有在事後被妥善刪除,也沒有人能閱讀資料內容。這個領域對未來人工智慧的發展非常重要,但目前仍處於研究階段。IBM今年發表了一篇論文[參2],將同態加密速度提升75倍,但相較於直接運算還是慢上許多。
信任與區塊鏈
然而並非所有資料都適合同態加密。例如銀行在處理與顧客間交易時,需要驗證顧客的銀行帳戶確實有足夠的資金進行交易,所以個人的經濟資料不能對銀行保密。這些資料在銀行內部可說是一覽無遺,理論上也能被竄改。我們不顧這些疑慮而仍然使用銀行服務的原因,在於我們信任銀行,用信任來彌補安全性上的疑慮。我們相信:儘管銀行有能力竄改資料,他們不會這樣做。但是再有信用的銀行也可能有倒閉的一天,若要獲得絕對的安全性,不能只依靠信任。
區塊鏈 ( blockchain ) 於焉誕生。其原理是將所有帳戶交易分散儲存在區塊鏈中。每個人都有一份區塊鏈,所以不需要信任任何個人或銀行。當完成交易時,交易的內容會被加密並且上傳到區塊鏈,形成一個新的區塊。協助新區塊加密的人可以獲得獎勵,也就是比特幣等加密貨幣 ( 俗稱挖礦 )。若一個駭客想要竄改區塊鏈上的資訊,如圖二,他可以製造一個假的分支(圖中分支2)。但是製造新的區塊需要龐大的計算資源,只要這位駭客沒有整個系統50%以上的計算資源,他製造區塊的速度永遠比其他誠實使用者還要慢。以比特幣為例,系統會選擇最長的區塊鏈作為正統,所以真實的分支1會被選用,偽造的分支2則會被淘汰。在如此的防偽機制下,資訊一旦被放在區塊鏈上便難以遭到竄改。
區塊鏈目前仍是積極開發中的領域,由於其龐大的經濟價值,發展的速度比輕量密碼學和同態加密更加快速。但是區塊鏈的交易速度與交易量仍有待改進。在安全性上,若單一駭客擁有系統50%以上的計算力,便能進行「51%攻擊」,竄改區塊鏈上的資訊,這部分疑慮仍有待研究。
參考資料
- K. McKay, L. Bassham, M. Turan and N. Mouha, “Report on Lightweight Cryptography“, NIST, 2018.
- S. Halevi and V. Shoup, “Faster Homomorphic Linear Transformations in HElib”, IACR Cryptology, 2018.
(本文由教育部補助「AI報報─AI科普推廣計畫」執行團隊編譯)