文章摘要: 特別是區塊鏈、量子通訊、雲端計算、物聯網等新應用中圖3 BB84 量子通訊協議 傳送方 Alice 隨機產生一系列隨機數(初始金鑰)
原標題:【網安智庫】新應用中的密碼關鍵技術
密碼是網路安全的核心技術和基礎支撐,是保護國家的戰略性資源,在傳統想信息系統中,例如電力、居民身份證、防偽稅控、社保、金融中發揮著巨大的作用。移動網際網路時代的到來,密碼凸顯了越來越重要的作用,特別是區塊鏈、量子通訊、雲端計算、物聯網等新應用中,密碼發揮著關鍵作用。
>>> 區塊鏈中的密碼關鍵技術<<<
區塊鏈是一種按照時間順序將資料區塊以順序相連的方式組合成的一種鏈式數據結構,並以密碼學方式保證的不可篡改和不可偽造的分散式賬本,利用塊鏈式數據結構來驗證與儲存資料、利用分散式節點共識演算法來生成和更新資料、利用密碼學的方式保證數據傳輸和訪問的安全、利用由自動化指令碼程式碼組成的智慧合約來程式設計和運算元據的一種全新的分散式基礎架構與計算正規化。區塊鏈是分散式資料儲存、點對點傳輸、共識機制、加密演算法等計算機技術的新型應用模式,作為構造信任的機器,可能改變社會價值傳遞的方式。
區塊鏈的一個重要基礎就是利用密碼技術保障數據傳輸、數字簽名的安全性和雜湊函式的單向性。例如其重要應用——數字貨幣中就使用了雜湊鏈實現區塊之間連結,對雜湊值提出要求實現挖礦機制及困難調整;利用公鑰機制實現交易的抗抵賴,只使用公鑰,不使用證書,實現交易的匿名,採用 Hash 二叉樹結構實現交易合法性的快速檢查,如圖 1 所示,採用環簽名非交換零知識證明實現交易的不可跟蹤。
圖1 區塊數據結構
雜湊演算法實現鏈式結構
數字貨幣中,每一個區塊除了包含交易及其簽名、時間戳等,還包含有前一個區塊的雜湊值,並且本區塊也產生一個雜湊值,這樣就能保證該區塊在鏈中不被篡改(除非將該區塊及後續所有區塊均篡改,但因為區塊釋出在全網上,不可能同時篡改多個節點),為激勵使用者共同維護賬本,在一些區塊鏈中(例如比特幣)設計了 POW(工作量證明)機制,保障通過有難度的挖礦,獲得獎勵和交易手續費,同時,爲了保證產生區塊頻率,通過調整難度係數,使得大約每十分鐘產生一個區塊,其設計的難題是:通過一個隨機數的調整使得本區塊雜湊值(目標雜湊值)符合特定條件,例如小於 2n(即雜湊值高位有連續 256-n 個零),根據產生前2016 個區塊(約兩週)時間與兩週時間比例,調整 n 值就能夠改變區塊產生時間。
通過雜湊二叉樹(Merkle 根)結構實現少量儲存,快速查詢交易完整性
區塊鏈中交易為達到可追溯目標,採用雜湊二叉樹方式實現,將所有交易作為葉子形成一個二叉樹,父節點為下一級兩個子節點的雜湊值,如圖 1 所示。對交易 i 的完整性查詢,只需要計算其兄弟節點聯合雜湊值,父節點及其兄弟節點聯合雜湊值,層層追溯,直至計算根節點(所有交易的聯合雜湊值),這個值稱為Merkle 根,如果與鏈上儲存的 Merkle 根一致,則交易為合法未被篡改交易。
只使用公鑰而不是證書機制,實現交易的匿名
每次交易使用者都自行產生一對公私鑰,而不是用固定的,與自己身份繫結的公私鑰,實現交易的匿名,但該機制無法實現交易的不可跟蹤。
採用環簽名非交換零知識證明實現交易的不可跟蹤
爲了實現交易的不可跟蹤,一些區塊鏈採用了環簽名機制 ,如圖 2 所示,實現非互動的零知識證明,從而保證交易的不可跟蹤。
圖2 環簽名機制
設 Ek 為對稱密碼,金鑰為 k=H(m, L)
gi 為公開置換
(1)計算 yi=gi (xi) 容易
(2)而只有知道陷門才能計算 xi=g-1i (yi)
簽名實現:
(1) 隨機產生 v, x1,…, xs-1,xs+1, …, xr
(2) 求解 ys,使得 Ek(… Ek(Ek (v ⊕ y1) ⊕ y2)…)=v
(3) 使用陷門計算 xs=gs-1(ys)
例如,將若一個或幹個交易定義為x1,…, xr中的元素至少要有一個隨機數,即上述 xs。
從 x 計算 y 簡單,所以驗證 x 對應的 y,以及 Ek(… Ek(Ek (v ⊕ y1) ⊕ y2)…)=v 很容易,但生成則需要知道陷門。
具體計算方式:
Ek(…Ek(Ek(v ⊕ y1) ⊕ y2)…⊕ ys=dk(…dk(v ⊕yr) ⊕ yr-1)… ⊕ ys+1) 求出 ys, 再 通 過 陷 門 求出 xs。
區塊鏈技術的發展對密碼提出了新的挑戰,從雜湊鏈、雜湊二叉樹,到環簽名技術,都是密碼協議在新技術中的重要應用。
>>> 量子通訊的密碼關鍵技術<<<
目前主流的量子通訊有單光子方案、連續光子方案、測量裝置無關通訊,還有其他例如量子直接通訊、隱形傳態等技術。而最成熟的是 BB84 協議。BB84 協議可利用量子的偏振及其不可克隆、(非相同基)測不準原理,協議如圖 3 所示。
圖3 BB84 量子通訊協議
傳送方 Alice 隨機產生一系列隨機數(初始金鑰),再隨機生成一組基,將隨機數製備到這組基上,傳送給 Bob,Bob 隨機產生一組測量基,對接收到的光子進行測量,完成測量後公佈自己的基,Alice 告訴 Bob 哪些是正確的基,Bob 扔掉錯誤基,再進行保密放大即可實現金鑰的協商。
我國在量子通訊領域已經走在世界的前列,但是目前量子通訊還存在一些問題,需要較長時間來解決。
(1) 經典通道與量子通道的互動會形成資訊洩漏點,例如隨機數的產生與傳輸、協商前共享引數的分發、協商後金鑰的分發。
(2) 單光子產生安全性是一個風險點,比如如何實現抗分束攻擊,為抵抗該類攻擊,一般採用預共享資料加誘騙態方式,這樣對首次通訊的雙方增加了困難。單光子探測器難度比較大,因為畢竟只能接收一個光子,有時候外界其他的光子進來了會誤認為是傳送的光子,這樣就會出現暗計數。
(3) 單光子衰減很大,目前點對點通訊舉例大約 100 公里,超過這個距離就需要中繼,而中繼實際必須落地,相當於變成了三方通訊或多方通訊。這種對中繼的可信安全要求也給量子通訊帶來困難,要求有很強的訪問控制策略、許可權管理、以及物理安全防護。如果要形成量子通訊網路則困難呈指數上升,特別是非群組通訊組網,如何實現可信中繼成為亟待解決的問題。
(4) Bob 測量以後應該廣播公開自己的基,但很多工程實現中經常只和 Alice 點對點通訊,這樣 Bob 和 Eve 就沒有差別了,非廣播形成了新的安全隱患,儘管可以通過預共享金鑰解決,但預共享金鑰又反過來給組網帶來了更大的困難。
(5) 量子通信系統很脆弱,只要檢測到監聽則通訊終端,健壯性不如傳統網路。
量子通訊、量子技術是高精尖技術,其成熟不是一蹴而就,由於量子通訊理論上具備資訊理論安全,將其逐步完善,將會成為對抗量子計算的重要利器。
>>> 移動網際網路及雲端計算下密碼新形態<<<
移動網際網路和物聯網的興起,特別是手機等移動智慧終端的普及,密碼由傳統的硬體形態變得更加多樣化,一是移動端形態、計算能力、安全防護能力差別很大且不是系統可以掌控的(例如智慧在手機上裝應用軟體)。二是很多資料都在雲端,如何保證雲端資料安全和隱私保護,並且雲端不一定有確定的位置,例如內容分發網路 CDN,如何實現金鑰的安全分發成為新的難題。
(1) 演算法白盒化或將敏感資料祕密共享,利用混淆等技術,在 TEE 或者 SE 環境中實現安全計算。
爲了在軟體環境中不洩露金鑰,一般都採用多種機制共同防護,一是使用白盒密碼,將金鑰隱藏,或是將金鑰分成不同的成分,通過協同計算實現密碼運算。二是將演算法中關鍵步驟和資料加以混淆,例如操作混淆和替換、控制流扁平化不透明、函式混淆、程式碼隨機指令等方式,加大軟體逆向工程困難,三是在安全模組 SE 或者可信執行環境 TEE 中執行敏感操作,與其他應用形成物理 / 邏輯隔離。
(2) 通過虛擬機器技術、祕密共享技術、同態演算法和嚴格的內部審計實現雲端安全計算環境。
一是採用同態演算法實現雲端資料的密態計算和密態查詢;如果因為效率等其他原因,不便採用同態演算法的,由於雲端計算虛擬機器的隔離不是物理意義上的隔離,密碼邊界防護需加強,特別是內部審計已經變成了依靠雲端自身的安全審計。
二是雲端提供的服務不同,密碼防護能力需求也不同,安全計算、安全儲存較為容易實現密碼防護;批量資料的代簽代驗優於單個數據的代簽代驗,但是代簽存在私鑰託管,無法抗抵賴的風險;租戶與雲端是否需要安全通道,如需要,則安全通訊向雲端遷移難度很大,效率很低。
縱觀資訊時代的發展,從 PC 機到網際網路再到移動網際網路,乃至物聯網時代的到來,人們的互動越來越便利,正在從物理世界向電子世界(網際網路世界,虛擬世界)遷移。社交、資訊、遊戲、購物、出行、工作都發生了重要的改變。如何解決虛擬世界的信任機制,是虛擬世界能否走向繁榮的關鍵一步,密碼是解決機器信任的最後保障,新時代,新需求給密碼帶來了新的機遇和挑戰,也將帶來更多新的機遇和挑戰。
作者 >>>
李智虎,男,北京郵電大學碩士,國家密碼管理局副調研員,專業從事密碼學理論及密碼工程研究。
(本文選自《資訊保安與通訊保密》2018年第五期)
網 絡 強 國 建 設 的 思 想 庫 —— 安 全 產 業 發 展 的 情 報 站 —— 創 新 企 業 騰 飛 的 動 力 源
···························································返回搜狐,檢視更多
責任編輯: