国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

密碼應(yīng)用: 從安全通信到數(shù)據(jù)可用不可見*

2024-04-28 07:08:38張秉晟
密碼學(xué)報(bào) 2024年1期
關(guān)鍵詞:密碼學(xué)關(guān)鍵字加密

任 奎, 張秉晟, 張 聰

浙江大學(xué) 網(wǎng)絡(luò)空間安全學(xué)院, 杭州 310007

1 引言

在人類社會的演進(jìn)過程中, 密碼技術(shù)的應(yīng)用歷史悠久.早期的密碼學(xué)技術(shù)作為一門藝術(shù)流傳, 通過手工或簡單機(jī)械的方式實(shí)現(xiàn)信息的替換和置換.在那個(gè)時(shí)代, 密碼技術(shù)主要應(yīng)用于軍事領(lǐng)域, 以確保軍事信息的安全傳輸.隨著19 世紀(jì)中葉電磁波的發(fā)現(xiàn)和應(yīng)用, 全球范圍內(nèi)的信息通訊得以實(shí)現(xiàn), 信息傳輸?shù)膮^(qū)域限制被打破.為了保障信息傳輸?shù)陌踩? 密碼技術(shù)不斷演進(jìn)發(fā)展, 并在第一、第二次世界大戰(zhàn)時(shí)期取得了顯著的應(yīng)用.

20 世紀(jì)中葉起, 隨著計(jì)算機(jī)、互聯(lián)網(wǎng)等技術(shù)興起, 相關(guān)技術(shù)的應(yīng)用日益商業(yè)化和普及化, 并悄然改變了整個(gè)現(xiàn)代社會的生產(chǎn)和生活方式.這促使新的密碼技術(shù)理念與方向產(chǎn)生, 包括香農(nóng)(Shannon)[1]的信息論和Diffie-Hellman (DH)[2]、RSA[3]等公鑰密碼學(xué)的發(fā)展, 因此, 密碼技術(shù)由一種傳統(tǒng)的流傳藝術(shù)蛻變?yōu)閲?yán)謹(jǐn)?shù)目茖W(xué)研究.密碼技術(shù)的應(yīng)用也不再局限于軍事領(lǐng)域, 而是逐步擴(kuò)展到商業(yè)領(lǐng)域, 并滲透到現(xiàn)代社會的各行各業(yè).

90 年代中期, 互聯(lián)網(wǎng)技術(shù)進(jìn)入了全球普及階段, 各地的互聯(lián)網(wǎng)服務(wù)提供商(ISP) 開始提供互聯(lián)網(wǎng)接入服務(wù), 以確保更多人能夠接入互聯(lián)網(wǎng).在那個(gè)時(shí)期, 電子郵件和網(wǎng)頁瀏覽成為最重要的兩項(xiàng)應(yīng)用, 其面臨的主要安全威脅是在網(wǎng)絡(luò)環(huán)境下, 信息傳輸過程中可能被竊取、篡改或泄漏.

以AES[4]、RSA[3]等加密算法為代表的密碼技術(shù), 以及建立在其基礎(chǔ)之上的TLS[5–8]、SSH[9]等安全協(xié)議, 已被集成到OpenSSL[10]、OpenSSH[11]等廣泛部署的開源代碼庫中, 為網(wǎng)絡(luò)環(huán)境下的信息傳輸提供了全面的安全保障.TLS、SSH 等協(xié)議使用對稱加密、公鑰加密等密碼學(xué)技術(shù)在數(shù)據(jù)傳輸過程中建立安全的通信通道, 生成僅通信雙方擁有的會話密鑰, 并有效保護(hù)數(shù)據(jù)免受中間人攻擊.這些密碼學(xué)技術(shù)已廣泛應(yīng)用于各種信息傳輸應(yīng)用領(lǐng)域, 包括但不限于電子郵件、實(shí)時(shí)聊天軟件以及網(wǎng)頁瀏覽等, 以維護(hù)數(shù)據(jù)的機(jī)密性、完整性和消息源的可認(rèn)證性.

隨著3G、4G、5G 等技術(shù)的廣泛普及以及智能手機(jī)、平板電腦等移動終端的迅速發(fā)展, 移動互聯(lián)網(wǎng)技術(shù)已成為信息技術(shù)時(shí)代的中流砥柱, 催生了移動社交、線上辦公、移動支付等一系列新興商業(yè)模式和產(chǎn)業(yè), 深刻改變了人們的生活和工作方式.然而, 由于移動終端的計(jì)算和存儲能力有限, 許多移動應(yīng)用需要依賴云服務(wù)來提供基礎(chǔ)設(shè)施和技術(shù)支持.云端服務(wù)可提供大容量存儲空間, 并支持用戶進(jìn)行SQL 等快速查詢服務(wù).然而其同樣面臨著新的安全威脅, 如云端服務(wù)器被攻陷[12,13]導(dǎo)致的用戶信息泄漏等.因此, 云服務(wù)器需要采用加密技術(shù), 并確保在加密數(shù)據(jù)集上能夠進(jìn)行搜索操作, 以保障數(shù)據(jù)的隱私.

可搜索加密(searchable encryption) 是一種加密技術(shù), 用戶將加密后的數(shù)據(jù)存儲到云端, 云端服務(wù)器在不知道密鑰的情況下提供查詢服務(wù).該技術(shù)既保障了數(shù)據(jù)的安全性又實(shí)現(xiàn)了數(shù)據(jù)的可搜索性.目前,可搜索加密技術(shù)已在多個(gè)產(chǎn)品中得到大規(guī)模部署, 包括Dropbox、亞馬遜云存儲服務(wù)器(Amazon web services, AWS)、Google Drive、MEGA 等, 進(jìn)一步支撐了移動互聯(lián)網(wǎng)的發(fā)展.

區(qū)塊鏈技術(shù)的出現(xiàn), 為互聯(lián)網(wǎng)帶來了全新的發(fā)展模式.與客戶端/服務(wù)器架構(gòu)下的云存儲場景不同, 區(qū)塊鏈技術(shù)以P2P 架構(gòu)為基礎(chǔ)在網(wǎng)絡(luò)中構(gòu)建起去中心化的分布式賬本.各節(jié)點(diǎn)共同存儲數(shù)據(jù)的完整副本,打破了對單一中心化服務(wù)器的信任依賴, 有效避免單點(diǎn)失效、腐敗等問題的發(fā)生.區(qū)塊鏈利用密碼學(xué)哈希函數(shù)、數(shù)字簽名等技術(shù), 實(shí)現(xiàn)了鏈上數(shù)據(jù)的完整性、有效性與不可篡改性.如今, 區(qū)塊鏈已被廣泛應(yīng)用于金融交易、政務(wù)、供應(yīng)鏈等領(lǐng)域, 并推動了Web3.0 生態(tài)的普及.然而, 由于數(shù)據(jù)的公開分布式存儲, 導(dǎo)致其自身存儲與計(jì)算能力有限, 同時(shí)任何鏈上用戶都可以訪問所有信息, 進(jìn)而引發(fā)加密貨幣、電子投票等應(yīng)用場景下的一系列隱私與應(yīng)用局限性問題.因此, 在實(shí)際應(yīng)用中需要采用新的隱私保護(hù)與擴(kuò)容技術(shù), 以維護(hù)用戶隱私并提高鏈上可擴(kuò)展性.

零知識證明(zero-knowledge proof) 是一種廣泛應(yīng)用的密碼學(xué)領(lǐng)域隱私保護(hù)技術(shù).它允許一個(gè)參與方(證明者) 向另一方(驗(yàn)證者) 證明某個(gè)陳述為真, 而無需透露陳述的具體內(nèi)容, 確保用戶數(shù)據(jù)的隱私性和安全性.目前, 零知識證明在區(qū)塊鏈隱私交易貨幣、安全電子投票、Web3.0 下的分布式應(yīng)用產(chǎn)品等方面廣泛部署, 旨在提供加密貨幣的隱私性、電子投票過程的可驗(yàn)證性以及復(fù)雜分布式應(yīng)用場景下的可擴(kuò)展性.

隨著移動互聯(lián)網(wǎng)、物聯(lián)網(wǎng)以及人工智能技術(shù)的迅速發(fā)展, 網(wǎng)絡(luò)空間中的數(shù)據(jù)規(guī)模呈現(xiàn)幾何級增長, 并表現(xiàn)出多樣化、多源化、高速化、高價(jià)值等特征.通過對這些海量數(shù)據(jù)進(jìn)行挖掘和分析, 政府可以實(shí)現(xiàn)對決策的精確把控, 企業(yè)可以實(shí)現(xiàn)對產(chǎn)品的精準(zhǔn)推送.因此, 數(shù)據(jù)已成為我國第五大生產(chǎn)要素, 推動著社會的變革.在大數(shù)據(jù)時(shí)代, 網(wǎng)絡(luò)空間面臨著新的安全威脅, 即數(shù)據(jù)在收集、流通、計(jì)算過程中可能引發(fā)隱私泄漏問題.因此, 數(shù)據(jù)資產(chǎn)擁有者在數(shù)據(jù)出域時(shí)需要采用隱私計(jì)算技術(shù), 以確保數(shù)據(jù)的全生命周期安全.

安全多方計(jì)算(secure multi-party computation) 是一種廣泛應(yīng)用的隱私計(jì)算技術(shù), 允許多個(gè)參與方在不泄漏彼此數(shù)據(jù)的情況下進(jìn)行計(jì)算和數(shù)據(jù)分析.目前, 多方安全計(jì)算中的隱私集合求交(private set intersection) 與隱私信息檢索(private information retrieval)[14,15]技術(shù)已大規(guī)模部署于商業(yè)產(chǎn)品中, 如螞蟻集團(tuán)的隱語[16]、Google 的Private Join and Compute[17]、微軟的APSI[18]和SealPIR[19]等.

本文組織結(jié)構(gòu)如下: 第2 節(jié)介紹常用的密碼學(xué)技術(shù)基礎(chǔ)知識; 第3 節(jié)介紹TLS、SSH 協(xié)議在保障數(shù)據(jù)安全傳輸場景下的應(yīng)用; 第4 節(jié)介紹可搜索加密技術(shù)在云存儲場景下的應(yīng)用; 第5 節(jié)介紹零知識證明技術(shù)在區(qū)塊鏈場景下的應(yīng)用; 第6 節(jié)介紹安全多方計(jì)算在隱私計(jì)算場景下的應(yīng)用; 第7 節(jié)為總結(jié)與展望.

2 背景知識

通常意義上, 密碼學(xué)(cryptology)包含密碼編碼學(xué)(cryptography)和密碼分析學(xué)(cryptanalysis), 其研究方向分支如圖1 所示.本節(jié)聚焦密碼編碼學(xué), 給出多項(xiàng)密碼技術(shù)的形式化定義.

圖1 密碼學(xué)分類Figure 1 Classification of cryptology

2.1 對稱密碼(Symmetric cryptography)

對稱密碼算法[4], 又稱私鑰密碼算法, 其特點(diǎn)為通信雙方使用相同的密鑰進(jìn)行加密與解密操作, 并保證在敵手不知道密鑰的情況下, 無法從密文中推測出有關(guān)明文的任何信息.具體定義如下:

2.2 非對稱密碼(Asymmetric cryptography)

非對稱密碼學(xué)算法[3,20], 又稱公鑰密碼算法, 其特點(diǎn)為通信雙方使用一對密鑰(公鑰, 私鑰), 其中公鑰用于加密信息, 私鑰用于解密信息, 并保證在敵手不知道私鑰的情況下, 無法從密文中推測出有關(guān)明文的任何信息.相比于對稱密碼算法, 通信雙方只需共享彼此的公鑰, 便可在不安全的信道上實(shí)現(xiàn)信息傳輸.具體定義如下:

2.3 消息認(rèn)證碼(Message authentication codes)

消息認(rèn)證碼[21,22]是一種用于保護(hù)信息完整性和真實(shí)性的密碼學(xué)技術(shù).通過生成與密鑰相關(guān)的標(biāo)簽,附加到消息上, 用于確保消息在傳輸過程中沒有被篡改或偽造.具體定義如下:

2.4 數(shù)字簽名(Digital signature)

數(shù)字簽名[23,24]是一種保護(hù)信息真實(shí)性、完整性和不可抵賴性的密碼學(xué)技術(shù).相比于消息認(rèn)證碼, 數(shù)字簽名使用一對密鑰(公鑰, 私鑰), 其中私鑰用于簽名生成, 公鑰用于簽名驗(yàn)證, 并保證敵手在不知道私鑰的情況下, 無法偽造出新的可通過驗(yàn)證的簽名.具體定義如下:

2.5 同態(tài)加密(Homomorphic encryption)

同態(tài)加密算法[25,26]是一類特殊的公鑰加密算法, 其允許在密文狀態(tài)下執(zhí)行某些計(jì)算操作, 可實(shí)現(xiàn)在不泄露明文信息的情況下對其進(jìn)行數(shù)據(jù)處理.其具體定義如下:

當(dāng)前同態(tài)加密算法分類如下:

(1) 部分同態(tài)加密: 僅支持一種特定類型的密文同態(tài)計(jì)算, 如加法或乘法;

(2) 全同態(tài)加密: 支持任意類型的密文同態(tài)計(jì)算.

2.6 密碼協(xié)議(Cryptographic protocol)

密碼協(xié)議又稱安全協(xié)議, 其以密碼算法為基礎(chǔ), 為兩方或兩方以上參與者完成某項(xiàng)特定任務(wù)制定一系列步驟, 旨在提供網(wǎng)絡(luò)環(huán)境下的信息安全服務(wù), 如保密性、完整性、不可否認(rèn)性等.常見的密碼協(xié)議有:

(1) 傳輸層安全協(xié)議(TLS): TLS 協(xié)議用于保護(hù)互聯(lián)網(wǎng)上的數(shù)據(jù)傳輸, 特別是在Web 瀏覽器和服務(wù)器之間的通信.它提供機(jī)密性和完整性, 同時(shí)允許雙方進(jìn)行身份驗(yàn)證.

(2) 安全多方計(jì)算協(xié)議(MPC)[27]: MPC 協(xié)議用于多方數(shù)據(jù)擁有者下的隱私計(jì)算, 保證多個(gè)參與方在共同計(jì)算出某個(gè)函數(shù)結(jié)果的前提下, 不泄露彼此的私有輸入信息.

(3) 零知識證明協(xié)議(ZKP)[28]: ZKP 協(xié)議為一種密碼學(xué)協(xié)議, 其允許一方(證明者) 向另一方(驗(yàn)證者) 證明某一斷言的正確性, 同時(shí)不泄露關(guān)于該斷言的任何信息.

3 密碼學(xué)在安全通信及身份認(rèn)證中的應(yīng)用

20 世紀(jì)中后期, 互聯(lián)網(wǎng)逐漸由最初的軍事和學(xué)術(shù)用途向商業(yè)化和大眾化方向發(fā)展.互聯(lián)網(wǎng)技術(shù)建立起一個(gè)全球性的溝通和信息共享平臺, 吸引越來越多的個(gè)人、組織和國家接入, 使其成為現(xiàn)代社會不可或缺的重要組成部分.

在全球互聯(lián)網(wǎng)發(fā)展的早期, 用戶對互聯(lián)網(wǎng)的使用僅局限于電子郵箱、搜索引擎、文件下載等簡單功能.然而, 由于相關(guān)基礎(chǔ)設(shè)施尚不夠健全, 信息竊取、惡意郵件、中間人攻擊等信息安全問題頻發(fā).在這一背景下, 以密碼學(xué)技術(shù)為基礎(chǔ)的眾多安全協(xié)議快速發(fā)展, 以保障通信過程中的信息安全.

在互聯(lián)網(wǎng)環(huán)境下, 當(dāng)用戶A 向用戶B 傳輸信息時(shí), 數(shù)據(jù)以數(shù)字信號的形式通過介質(zhì)(如網(wǎng)線) 進(jìn)行傳播, 此時(shí)可能存在惡意攻擊者, 通過物理方式竊聽傳輸過程中的數(shù)據(jù), 如圖2 所示.若數(shù)據(jù)以明文形式傳輸,那么攻擊者可輕松獲取敏感信息, 如個(gè)人身份、財(cái)務(wù)數(shù)據(jù)、醫(yī)療記錄等.因此, 對數(shù)據(jù)機(jī)密性的保護(hù)至關(guān)重要, 其強(qiáng)調(diào)在通信過程中, 數(shù)據(jù)只能由合法的通信方獲取, 任何未經(jīng)授權(quán)的第三方均無法獲得有關(guān)傳輸內(nèi)容的任何信息.在這一背景下, 加密算法成為不可或缺的工具, 其核心功能在于將數(shù)據(jù)轉(zhuǎn)化為只有授權(quán)方能夠理解的形式, 進(jìn)而確保即使數(shù)據(jù)泄露也難以被解讀, 即保障了數(shù)據(jù)的機(jī)密性(confidentiality).

圖2 惡意竊聽者示意圖Figure 2 Diagram of malicious eavesdropper

然而, 實(shí)現(xiàn)機(jī)密性并不足以確保信息的安全, 因?yàn)楣粽呖赡軐γ芪倪M(jìn)行惡意篡改, 如直接刪除部分信息, 且接收方可能無法察覺這一惡意行為.因此, 保障數(shù)據(jù)的完整性同樣重要, 其強(qiáng)調(diào)在通信過程中, 任何未經(jīng)授權(quán)的第三方不得對數(shù)據(jù)進(jìn)行非法篡改或偽造.消息認(rèn)證碼(MAC) 技術(shù)旨在解決上述問題, 其使用密鑰為數(shù)據(jù)生成固定長度的標(biāo)識, 并由擁有相同密鑰的另一方進(jìn)行完整性驗(yàn)證.同時(shí), MAC 還保證第三方在不知道密鑰的情況下無法偽造出能夠通過驗(yàn)證的合法標(biāo)識, 即保障了數(shù)據(jù)的完整性(integrity).

為了確保發(fā)送方和預(yù)期的接受方在通信時(shí)所傳輸信息的安全, 必須同時(shí)保障數(shù)據(jù)的機(jī)密性和完整性,但這仍不足以實(shí)現(xiàn)信息安全.由于在互聯(lián)網(wǎng)通信中, 彼此陌生的用戶A 與用戶B 進(jìn)行交互時(shí), 可能存在惡意的中間人C, 其偽裝成A 和B 與雙方協(xié)商密鑰, 使得A 與B 誤以為其正在與對方正常通信.該情況下, 惡意中間人可以輕松實(shí)現(xiàn)隱私竊取、篡改數(shù)據(jù)等惡意行為, 且通信雙方難以察覺.因此, 在互聯(lián)網(wǎng)通信中對通信雙方進(jìn)行身份認(rèn)證至關(guān)重要, 即實(shí)現(xiàn)通信的真實(shí)性.基于數(shù)字簽名技術(shù)的數(shù)字證書方案實(shí)現(xiàn)了身份認(rèn)證與密鑰交換, 可有效解決上述問題.該方案建立在證書頒發(fā)機(jī)構(gòu)(CA) 作為可信第三方的基礎(chǔ)上.在證書頒發(fā)過程中, CA 采用數(shù)字簽名技術(shù), 運(yùn)用其簽名私鑰對服務(wù)器公鑰、身份信息、證書有效期等信息進(jìn)行簽名, 從而生成數(shù)字證書.在驗(yàn)證階段, 客戶端在信任該CA 的前提下, 使用CA 的簽名公鑰對服務(wù)器提供的數(shù)字證書進(jìn)行驗(yàn)證, 以確保正在與預(yù)期的目標(biāo)建立連接, 而非惡意網(wǎng)站.由于數(shù)字簽名技術(shù)確保只有擁有簽名私鑰的一方才能生成有效簽名, 任何一方擁有驗(yàn)證公鑰都可以進(jìn)行有效性驗(yàn)證.因此, 數(shù)字簽名技術(shù)為數(shù)字證書提供了完整性以及數(shù)據(jù)源認(rèn)證的保障, 即實(shí)現(xiàn)了通信的可認(rèn)證性(authenticity).

基于互聯(lián)網(wǎng)通信中數(shù)據(jù)機(jī)密性、完整性和可認(rèn)證性的需求, 綜合運(yùn)用加密算法、消息驗(yàn)證碼和數(shù)字簽名等技術(shù)的多種安全通信協(xié)議(如SSL/TLS、SSH 等) 應(yīng)運(yùn)而生, 為互聯(lián)網(wǎng)安全通信提供有效解決方案.

SSL (secure sockets layer)[29]協(xié)議由Netscape[30]公司開發(fā), 于1995 年3 月首次部署在Netscape的Navigator 1.1 瀏覽器上, 為客戶端和服務(wù)器之間的網(wǎng)絡(luò)通信提供了數(shù)據(jù)加密與身份認(rèn)證的功能.由于SSL 協(xié)議易受到BEAST[31,32]攻擊和CRIME[33,34]攻擊, 其自身經(jīng)過多次升級優(yōu)化, 以使用更安全的加密算法.1999 年, SSL 更新并改名為TLS (transport layer security)[5,7,35–37], 本質(zhì)上TLS 是SSL 的后續(xù)增強(qiáng)版本.SSL/TSL 協(xié)議家族是一個(gè)標(biāo)準(zhǔn)并有多種實(shí)現(xiàn), 其中OpenSSL 開源軟件庫[38]最為著名.OpenSSL 最初是為SSL 協(xié)議而開發(fā)的, 用于加密網(wǎng)絡(luò)通信, 但后來也擴(kuò)展了支持其他加密和安全相關(guān)的功能.應(yīng)用程序可以使用OpenSSL 來進(jìn)行安全通信、避免竊聽, 同時(shí)確認(rèn)另一端連接者的身份.

TLS 傳輸協(xié)議位于不安全的TCP/IP[39]等底層網(wǎng)絡(luò)通信協(xié)議之上, 為多種上層應(yīng)用提供服務(wù), 包括HTTP、SMTP[40]等.例如, HTTPS (HTTP over TLS)[41,42]構(gòu)建在TLS 協(xié)議之上, 為HTTP 協(xié)議增加了安全性, 已廣泛應(yīng)用于萬維網(wǎng)服務(wù)器, Chrome[43,44]、Internet Explorer[45,46]等常見瀏覽器都支持HTTPS 協(xié)議.Fortinet Networks[47]公司的一份報(bào)告指出, 截至2018 年第三季度, HTTPS 流量已占據(jù)互聯(lián)網(wǎng)流量的72.2%, 并持續(xù)增長[48].

TLS 協(xié)議中綜合使用加密算法、消息認(rèn)證碼、數(shù)字簽名技術(shù), 同時(shí)實(shí)現(xiàn)了網(wǎng)絡(luò)通信中的三大核心需求: 數(shù)據(jù)機(jī)密性、完整性和可認(rèn)證性.其具體執(zhí)行過程可分為兩部分: 握手協(xié)議與記錄協(xié)議, 其中握手協(xié)議主要進(jìn)行身份認(rèn)證與共享密鑰的協(xié)商, 記錄協(xié)議保證通信數(shù)據(jù)的機(jī)密性與完整性, 如下所示.

SSH (secure shell)[9]協(xié)議同樣是一類加密互聯(lián)網(wǎng)協(xié)議, 與TLS 應(yīng)用場景不同, 其主要用于實(shí)現(xiàn)與服務(wù)器或計(jì)算機(jī)的安全遠(yuǎn)程登錄和數(shù)據(jù)傳輸.

在SSH 協(xié)議出現(xiàn)之前, 常用的遠(yuǎn)程連接協(xié)議是Telnet[49]和Rlogin[50].Telnet 和Rlogin 協(xié)議使用基于口令的身份驗(yàn)證方式, 只要知曉正確的用戶名和口令, 就可以登錄到遠(yuǎn)程主機(jī).然而, Telnet 和Rlogin 協(xié)議缺乏針對中間人攻擊的有效保護(hù)機(jī)制.SSH 協(xié)議引入了公鑰加密技術(shù)對用戶進(jìn)行身份驗(yàn)證,可防止口令被猜測或被中間人截獲, 從而提高遠(yuǎn)程登錄時(shí)的系統(tǒng)安全性.

OpenSSH[11,51]是SSH 協(xié)議的一種免費(fèi)開源實(shí)現(xiàn), 被廣泛部署于Linux[52,53]的眾多發(fā)行版中, 且SSH 服務(wù)器端守護(hù)進(jìn)程sshd 通常默認(rèn)啟動.與TLS 協(xié)議類似, SSH 協(xié)議中使用公鑰加密算法來實(shí)現(xiàn)服務(wù)器遠(yuǎn)程登錄中的核心需求: 用戶的合法身份驗(yàn)證和信息保密, 如下所示.

4 密碼學(xué)在云存儲中的應(yīng)用

在電子信息技術(shù)的發(fā)展推動下, 智能手機(jī)、筆記本電腦、平板電腦等移動終端產(chǎn)品相繼問世, 移動互聯(lián)網(wǎng)快速崛起.移動互聯(lián)網(wǎng)技術(shù)作為信息技術(shù)時(shí)代的主力軍, 催生了移動社交、手機(jī)購物、移動支付等功能, 極大改變了人們的生活工作方式.

由于移動終端本地存儲資源受限, 以及云計(jì)算技術(shù)的蓬勃發(fā)展, 越來越多的用戶選擇將本地的數(shù)據(jù)遷移到云端服務(wù)器中, 以節(jié)省本地?cái)?shù)據(jù)管理開銷和系統(tǒng)維護(hù)開支.然而, 在云存儲模式下, 用戶數(shù)據(jù)可能包含敏感機(jī)密信息, 數(shù)據(jù)外包也面臨著潛在的隱私風(fēng)險(xiǎn)[54], 如云端服務(wù)器管理員竊取用戶信息[55]、黑客非法入侵泄露用戶隱私[56]等.因此, 我們希望云存儲技術(shù)可以滿足以下兩大要求: 一是安全性, 數(shù)據(jù)在云端以密文的形式存儲, 在確保完整性[57]的同時(shí)提供隱私保障; 二是可搜索性, 服務(wù)器需要為加密文件提供高效的查詢功能.若使用傳統(tǒng)的加密方式, 如使用256 位的AES 加密算法對數(shù)據(jù)進(jìn)行加密后再上傳至云端,數(shù)據(jù)庫中的文件均以密文的形式存儲, 可以很好地滿足安全性要求.但當(dāng)用戶想要在云端數(shù)據(jù)庫中查詢包含某個(gè)關(guān)鍵字的文件時(shí), 將面臨如何在密文上進(jìn)行搜索的難題, 用戶需要從服務(wù)器上下載所有文件并一一解密, 開銷大、效率低, 即無法滿足高效功能性要求.由于傳統(tǒng)的加密方式無法同時(shí)滿足以上兩大需求, 可搜索加密技術(shù)[58]應(yīng)運(yùn)而生.其使用場景如圖3 所示.

圖3 可搜索加密使用場景Figure 3 Usage scenarios of searchable encryption

可搜索加密方案涵蓋三個(gè)主要角色: 可信的數(shù)據(jù)所有者、被授權(quán)搜索的用戶集合以及半可信的服務(wù)器.每個(gè)角色都有特定的任務(wù)和職責(zé):

? 數(shù)據(jù)所有者: 數(shù)據(jù)所有者是對特定數(shù)據(jù)具有合法所有權(quán)或控制權(quán)的實(shí)體, 其目標(biāo)是將一組文檔以及相關(guān)的關(guān)鍵字存儲在云存儲服務(wù)器上.為了在將來能夠便捷地檢索這些數(shù)據(jù), 數(shù)據(jù)所有者必須以一種特殊的方式對文檔和關(guān)鍵字進(jìn)行加密.一旦完成加密過程, 數(shù)據(jù)所有者將加密后的文檔上傳到云服務(wù)器.

? 數(shù)據(jù)用戶: 數(shù)據(jù)用戶是經(jīng)過授權(quán)的實(shí)體, 他們希望能夠搜索包含特定關(guān)鍵字的文檔.為了執(zhí)行搜索操作, 用戶必須向服務(wù)器提交查詢關(guān)鍵字的陷門(通常是加密的查詢請求).搜索之后, 服務(wù)器將包含該關(guān)鍵字的文檔返回給用戶.數(shù)據(jù)用戶的任務(wù)包括生成正確的陷門以進(jìn)行安全搜索, 以及接收和解密服務(wù)器返回的搜索結(jié)果.

? 服務(wù)器: 服務(wù)器是中間實(shí)體, 負(fù)責(zé)執(zhí)行搜索任務(wù).當(dāng)服務(wù)器從用戶處接收到查詢關(guān)鍵字的陷門時(shí),它需要在不泄露明文信息的情況下搜索加密的數(shù)據(jù), 并將相關(guān)文檔返回給用戶.服務(wù)器必須嚴(yán)格遵守協(xié)議, 確保用戶的隱私和數(shù)據(jù)的安全性.服務(wù)器被視為誠實(shí)的, 這意味著它不會故意違反協(xié)議,但仍可能分析收到的數(shù)據(jù)以提供搜索服務(wù).

可搜索加密的底層技術(shù)包括屬性保護(hù)加密算法[59]、同態(tài)加密算法、oblivious RAM 訪問模式(ORAM)、功能加密、對稱可搜索加密算法(symmetric searchable encryption, SSE), 這些技術(shù)的安全性和效率比較如圖4 所示.其中對稱可搜索加密技術(shù)采用對稱加密算法完成高效的搜索過程, 實(shí)現(xiàn)了效率與安全性的權(quán)衡, 因此與其他技術(shù)相比更適合處理云存儲系統(tǒng)中大規(guī)模數(shù)據(jù)的情境, 并得到更加廣泛的關(guān)注與應(yīng)用.如今流行的云存儲工具Dropbox、亞馬遜云存儲服務(wù)器AWS、Google Drive、MEGA 等都提供了加密數(shù)據(jù)庫功能.AWS 在其中大規(guī)模部署了可搜索加密技術(shù), 該技術(shù)可以在不暴露明文的情況下, 將數(shù)據(jù)進(jìn)行加密后存儲到云端, 然后對密文進(jìn)行查詢, 在滿足安全性的同時(shí), 高效地實(shí)現(xiàn)功能性.其簡易流程如下所示:

在對稱可搜索加密中, 用戶持有索引私鑰KI和文檔私鑰KD.加密存儲階段, 用戶對文件進(jìn)行關(guān)鍵詞提取, 使用密鑰KI、文檔集合D和關(guān)鍵詞列表搜索含有關(guān)鍵字w的文檔時(shí), 用戶為KI和關(guān)鍵字w生成陷門token(w) 發(fā)送至服務(wù)器.服務(wù)器利用token(w) 與I運(yùn)行搜索算法得到文檔索引, 并將包含w的加密文檔集合返回.在整個(gè)查詢過程中, 關(guān)鍵字w與返回文件的內(nèi)容對服務(wù)器是不可見的.

SSE 的研究始于對單一關(guān)鍵字的搜索, 并逐漸擴(kuò)展到多關(guān)鍵字搜索、合取查詢和析取查詢等更復(fù)雜的搜索操作.

? 單關(guān)鍵字搜索[60]: 算法允許用戶在加密的數(shù)據(jù)集合中查找包含特定關(guān)鍵字的文檔, 而無需解密整個(gè)數(shù)據(jù)集.這些算法通常在效率和安全性之間進(jìn)行權(quán)衡, 以確保高效搜索同時(shí)保持?jǐn)?shù)據(jù)的隱私.其中一些經(jīng)典的單關(guān)鍵字SSE 方案包括函數(shù)[61]以及基于倒排索引的方法[62].

? 多trapdoor 關(guān)鍵字搜索: 隨著應(yīng)用需求的增加, 研究開始關(guān)注多關(guān)鍵字SSE, 其允許用戶執(zhí)行更為復(fù)雜的搜索, 如同時(shí)搜索多個(gè)關(guān)鍵字, 從而提高了搜索的實(shí)用性.多關(guān)鍵字SSE 的研究除針對查詢本身外[61], 還包括如何處理多關(guān)鍵字查詢過程中的隱私保護(hù)問題[63,64].

? 模糊關(guān)鍵字搜索: 在先前的可搜索加密方案中, 缺乏對于細(xì)微文字差異或格式錯(cuò)誤的容忍性, 導(dǎo)致方案在云計(jì)算環(huán)境下的適用性不足, 模糊關(guān)鍵詞檢索旨在解決此類問題.在模糊關(guān)鍵詞檢索方案中[65], 通過構(gòu)造模糊關(guān)鍵詞集, 用戶可在查詢時(shí)更加寬松地匹配關(guān)鍵詞, 以便捕捉到與實(shí)際關(guān)鍵詞相似但可能包含細(xì)微變化或錯(cuò)誤的文檔.

? 合取查詢和析取查詢: 合取查詢[62]允許用戶執(zhí)行多個(gè)關(guān)鍵字的“與” 操作, 而析取查詢[63]允許執(zhí)行“或” 操作.這使得用戶可以執(zhí)行更復(fù)雜的邏輯查詢, 例如查找同時(shí)包含多個(gè)關(guān)鍵字的文檔,或者查找包含任何一個(gè)關(guān)鍵字的文檔.這種擴(kuò)展增加了SSE 的應(yīng)用范圍, 使其可以應(yīng)用于更廣泛的場景.

SSE 方案因其突出的搜索效率而被廣泛使用,近年來的研究方向有對SSE 功能性的提升,如支持布爾查詢的方案[66,67]、支持關(guān)鍵字排序搜索的方案[68–70]以及加入審計(jì)方對外包數(shù)據(jù)完整性的認(rèn)證[71–73];對安全性的提升, 如實(shí)現(xiàn)后量子的可搜索加密方案; 以及對效率的提升, 如引入多種索引結(jié)構(gòu)(正排索引[74]、倒排索引[75]、雙向索引[76]等), 引入多種搜索方式(Bloom 過濾器[77,78]、并行搜索[79]等).權(quán)衡功能性、安全性和效率, 找到新的平衡點(diǎn), 對于改進(jìn)優(yōu)化SSE 方案有著重要意義[80].

未來, SSE 技術(shù)將為數(shù)據(jù)隱私和高效數(shù)據(jù)檢索提供更多解決方案.隨著新的應(yīng)用場景的出現(xiàn), 如邊緣計(jì)算[81]、物聯(lián)網(wǎng)[82]等, SSE 技術(shù)也將面臨更多的挑戰(zhàn)和機(jī)遇.

5 密碼學(xué)在區(qū)塊鏈中的應(yīng)用

隨著信息技術(shù)的發(fā)展, 互聯(lián)網(wǎng)出現(xiàn)了兩種主要的應(yīng)用架構(gòu).一種是客戶端/服務(wù)器(C/S) 架構(gòu), 其中數(shù)據(jù)主要存儲在服務(wù)器上, 客戶端僅通過與其進(jìn)行交互來獲取數(shù)據(jù), 百度、亞馬遜等互聯(lián)網(wǎng)巨頭以及本文第4 節(jié)介紹的云存儲場景均基于該架構(gòu).另一種是對等網(wǎng)絡(luò)(P2P) 架構(gòu), 在這種架構(gòu)下沒有中心服務(wù)器,彼此連接的計(jì)算機(jī)處于平等地位.然而, 由于P2P 架構(gòu)缺乏認(rèn)證性、真實(shí)性等安全性保障, 因此僅用于簡單的文件共享等, 并未得到廣泛應(yīng)用.

區(qū)塊鏈技術(shù)的出現(xiàn), 為P2P 網(wǎng)絡(luò)帶來了全新的發(fā)展機(jī)遇.其利用密碼學(xué)技術(shù)與共識算法, 在P2P 網(wǎng)絡(luò)中構(gòu)建起分布式賬本系統(tǒng), 其中數(shù)據(jù)不再集中存儲于單一中心服務(wù)器或數(shù)據(jù)庫, 而是分散存儲于網(wǎng)絡(luò)中的多個(gè)節(jié)點(diǎn)上, 每個(gè)節(jié)點(diǎn)都擁有完整的賬本副本.區(qū)塊鏈顛覆了過去許多行業(yè)對中心化節(jié)點(diǎn)的信任依賴,從而避免了單點(diǎn)失效、腐敗等問題.

在區(qū)塊鏈技術(shù)的設(shè)計(jì)與應(yīng)用中, 為確保鏈上數(shù)據(jù)完整性與不可篡改性, 利用哈希函數(shù)抗碰撞的特性,將鏈上數(shù)據(jù)組織為一個(gè)個(gè)固定大小的區(qū)塊, 每個(gè)區(qū)塊包含前一個(gè)區(qū)塊的哈希值.基于該結(jié)構(gòu), 當(dāng)惡意用戶試圖篡改區(qū)塊上信息時(shí), 不僅會影響當(dāng)前區(qū)塊的哈希值, 還會導(dǎo)致后續(xù)所有區(qū)塊的哈希值改變, 從而導(dǎo)致整個(gè)區(qū)塊鏈斷裂.而輕量級節(jié)點(diǎn)只需存儲最后一個(gè)區(qū)塊的哈希值, 便可確保整個(gè)區(qū)塊鏈上信息的完整性.

經(jīng)過十多年的快速發(fā)展, 區(qū)塊鏈技術(shù)如今已在金融、政務(wù)、供應(yīng)鏈管理等多個(gè)領(lǐng)域取得了廣泛的部署和落地應(yīng)用, 不僅改變了傳統(tǒng)領(lǐng)域的工作方式, 還為新興行業(yè)帶來了全新的機(jī)遇與解決方案.然而, 由于區(qū)塊鏈自身的去中心化本質(zhì)意味著數(shù)據(jù)分布式存儲于全球的多個(gè)節(jié)點(diǎn)上, 這使得任何人都可以訪問區(qū)塊鏈上的信息, 從而導(dǎo)致一系列隱私與安全問題.此外, 區(qū)塊鏈自身的存儲與計(jì)算能力有限, 無法滿足日益復(fù)雜的應(yīng)用需求.因此, 實(shí)現(xiàn)鏈上匿名性、不可鏈接性以及可擴(kuò)展性對于實(shí)現(xiàn)區(qū)塊鏈廣泛應(yīng)用與發(fā)展至關(guān)重要.密碼學(xué)環(huán)簽名、零知識證明技術(shù)為上述問題提供了解決方案.

5.1 加密貨幣的隱私性

在以Bitcoin[83]為代表的加密貨幣交易過程中, 發(fā)送者使用自己的私鑰創(chuàng)建一筆交易, 其中包括目標(biāo)地址、交易金額等信息, 連同其公鑰廣播給區(qū)塊鏈各節(jié)點(diǎn).區(qū)塊鏈節(jié)點(diǎn)需驗(yàn)證交易的有效性, 包括檢查發(fā)送者是否有足夠的資金執(zhí)行交易, 以及簽名是否有效.若驗(yàn)證通過則等待將該交易打包進(jìn)區(qū)塊中.盡管在上述場景下, 用戶的社會身份與公鑰對應(yīng)的數(shù)字身份分離, 但由于交易細(xì)節(jié)是公開的, 隨著交易過程的不斷積累, 惡意的攻擊者可依靠外界信息將數(shù)字身份與其社會身份關(guān)聯(lián)[84,85].在此背景下, 基于零知識證明技術(shù)的匿名交易協(xié)議Zerocash[86]被提出, 并發(fā)展為Zcash 數(shù)字貨幣產(chǎn)品.在Zcash 的交易過程中, 發(fā)送者可在不透露所擁有確切余額、地址等詳細(xì)交易信息的情況下, 使用零知識證明技術(shù)向區(qū)塊鏈節(jié)點(diǎn)證明交易的有效性, 如交易金額與輸出金額一致、交易方擁有支配交易金額的私鑰等.傳統(tǒng)數(shù)字貨幣與匿名貨幣的對比見圖5.

圖5 傳統(tǒng)數(shù)字貨幣與匿名貨幣Figure 5 Traditional digital currencies and anonymous currencies

繼Zcash 之后, Monero 也是一種基于密碼學(xué)技術(shù)實(shí)現(xiàn)的隱私貨幣產(chǎn)品.其使用環(huán)簽名技術(shù)對交易信息進(jìn)行簽名以實(shí)現(xiàn)交易發(fā)送方的不可追蹤.環(huán)簽名[87]是一類特殊的數(shù)字簽名, 允許一個(gè)組中的任意成員以組的名義創(chuàng)建簽名而不泄漏其自身身份.因此, 基于環(huán)簽名等密碼學(xué)技術(shù)可以實(shí)現(xiàn)加密貨幣的匿名交易,即, 確保交易雙方的身份不被泄漏.

同時(shí), 為隱藏交易金額, Monero 使用了零知識證明技術(shù), 在交易過程中對“輸出金額與輸入金額一致” 這一斷言進(jìn)行證明.對外, 由于交易金額在隱私保護(hù)過程中存在模運(yùn)算, 需對其進(jìn)行范圍證明以防止負(fù)數(shù)的產(chǎn)生, Monero 最初使用環(huán)簽名解決這一需求, 后改用零知識證明技術(shù)以提高證明效率.此外,Grin、Beam 等區(qū)塊鏈隱私貨幣項(xiàng)目近年來也得到廣泛關(guān)注,其均使用基于零知識證明等密碼技術(shù)的Mimblewimble 協(xié)議實(shí)現(xiàn)高效的隱私保護(hù).當(dāng)前基于零知識證明的主要加密貨幣產(chǎn)品如表1 所示.

表1 基于零知識證明的加密貨幣產(chǎn)品應(yīng)用Table 1 Application of cryptocurrency products based on zero-knowledge proofs

5.2 區(qū)塊鏈可驗(yàn)證分布式?jīng)Q策

區(qū)塊鏈上的決策一般都需要民主的投票表決.除匿名貨幣外, 密碼學(xué)技術(shù)在區(qū)塊鏈電子投票領(lǐng)域也得到廣泛應(yīng)用.相較于傳統(tǒng)的中心化電子投票系統(tǒng), 基于區(qū)塊鏈的去中心化電子投票可保證選票內(nèi)容的不可篡改、不可偽造以及選舉過程的公開透明.然而, 為了確保各選票的合法性, 投票者必須首先通過身份驗(yàn)證程序來證明其有資格行使投票權(quán).由于區(qū)塊鏈上的信息是公開的, 任何人都可以將選票與身份認(rèn)證信息相關(guān)聯(lián), 從而核實(shí)其所投的選項(xiàng).為在選票匿名的前提下實(shí)現(xiàn)結(jié)果的可驗(yàn)證性, 零知識證明技術(shù)起到關(guān)鍵作用.該技術(shù)允許投票者在不泄露任何個(gè)人信息的前提下, 證明投票過程合法.同時(shí), 公眾可獨(dú)立地對投票過程和結(jié)果進(jìn)行檢驗(yàn).如今, 區(qū)塊鏈電子投票系統(tǒng)蓬勃發(fā)展[88–90].愛沙尼亞政府于2005 年采用基于零知識證明的區(qū)塊鏈投票系統(tǒng), 保證了選民的隱私以及選票的有效性, 進(jìn)而激勵(lì)更多的公民參與到地方選舉與大選中.Zhang 等人[91]提出了第一個(gè)區(qū)塊鏈財(cái)政系統(tǒng), 其核心部件是分布式的、端到端可驗(yàn)證、通用可組合安全的投票協(xié)議.Votem[92]是一個(gè)端到端可驗(yàn)證的投票系統(tǒng), 允許用戶使用移動設(shè)備投票, 并且使用區(qū)塊鏈來安全地廣播選票以及計(jì)票信息等.Snapshot[93]是一個(gè)著名的去中心化自治組織(DAO) 投票平臺, 它使用IPFS[94]來存儲提案和選票, 使投票過程可以安全地在鏈下進(jìn)行.零知識證明被廣泛應(yīng)用于上述電子投票系統(tǒng)中, 以提高投票系統(tǒng)的安全性和可信度.

5.3 Web3 下的鏈上可擴(kuò)展性

隨著區(qū)塊鏈技術(shù)的發(fā)展, Web3.0 概念得到廣泛普及.在這一全新的網(wǎng)絡(luò)生態(tài)系統(tǒng)中, 互聯(lián)網(wǎng)內(nèi)容生產(chǎn)者不再依賴于中心服務(wù)器進(jìn)行交互, 信息價(jià)值將以更加公平的方式直接反饋給內(nèi)容生產(chǎn)者.在此背景下,多種“分布式+” 模式的生態(tài)應(yīng)用得到廣泛研究與實(shí)踐.以分布式金融(decentralized finance, DeFi)[95]為例, 其在區(qū)塊鏈網(wǎng)絡(luò)的基礎(chǔ)上通過穩(wěn)定幣、交易所、借貸提供更加復(fù)雜的金融服務(wù), 同時(shí)與傳統(tǒng)金融相比實(shí)現(xiàn)了低成本、點(diǎn)對點(diǎn)的價(jià)值轉(zhuǎn)移等特性.此外, 基于DeFi 的思想, 通過與游戲、社交等領(lǐng)域結(jié)合, 涌現(xiàn)出GameFi[96]、SocialFi[97]等多種分布式應(yīng)用產(chǎn)品(DApp).然而, 由于傳統(tǒng)區(qū)塊鏈系統(tǒng)自身容量與處理速度有限, 難以滿足日益增長的應(yīng)用需求.為此, 以zk-rollup[98]為代表的區(qū)塊鏈二層擴(kuò)容方案可有效解決上述困境.其通過將原本的鏈上計(jì)算轉(zhuǎn)移到鏈下的方式提高區(qū)塊鏈吞吐量, 同時(shí)使用密碼學(xué)零知識證明技術(shù)驗(yàn)證鏈下計(jì)算的有效性.在該場景下, 方案通常只關(guān)注零知識證明技術(shù)為論斷提供高效證明的功能, 而不強(qiáng)調(diào)證明自身的“零知識性”.當(dāng)前, 基于零知識證明的鏈上擴(kuò)容方案已廣泛部署于Curve[99]、Sushiswap[100]等眾多DApp 產(chǎn)品及服務(wù)中, 相關(guān)應(yīng)用產(chǎn)品如表2 所示.

表2 基于零知識證明的隱私保護(hù)產(chǎn)品應(yīng)用Table 2 Application of privacy-preserving products based on zero-knowledge proofs

6 密碼學(xué)在專用安全多方計(jì)算中的應(yīng)用

隨著互聯(lián)網(wǎng)、云計(jì)算、人工智能等技術(shù)的快速興起, 數(shù)據(jù)已從靜態(tài)存儲的“信息資源” 轉(zhuǎn)變?yōu)槔^土地、勞動力、資本、技術(shù)后的第五大生產(chǎn)要素.通過對海量數(shù)據(jù)的分析計(jì)算, 企業(yè)可實(shí)現(xiàn)對產(chǎn)品的精準(zhǔn)推送、政府可實(shí)現(xiàn)對決策的精確把控, 實(shí)現(xiàn)數(shù)據(jù)價(jià)值的開發(fā)利用.然而, 數(shù)據(jù)要素往往含有用戶或企業(yè)的敏感信息, 在共享與計(jì)算過程中面臨著隱私泄露、數(shù)據(jù)濫用等風(fēng)險(xiǎn).針對該隱私保護(hù)問題, 我國出臺了《網(wǎng)絡(luò)安全法》、《數(shù)據(jù)安全法》、《個(gè)人信息保護(hù)法》等法律法規(guī), 標(biāo)志著我國在保障個(gè)人隱私與數(shù)據(jù)安全上進(jìn)入有法可依、依法建設(shè)新階段.

在大數(shù)據(jù)時(shí)代下, 如何在遵守政策法規(guī)與保護(hù)數(shù)據(jù)安全的同時(shí), 實(shí)現(xiàn)數(shù)據(jù)的流通與資源整合始終是一大挑戰(zhàn).近年來, 在政策支持與技術(shù)發(fā)展的雙重驅(qū)動下, 隱私計(jì)算技術(shù)高速發(fā)展, 并在數(shù)據(jù)流通的實(shí)踐應(yīng)用中發(fā)揮重要作用.以螞蟻集團(tuán)推出的隱私計(jì)算框架隱語SecretFlow 為例(如圖6), 其綜合了多方安全計(jì)算、聯(lián)邦學(xué)習(xí)、可信執(zhí)行環(huán)境等關(guān)鍵技術(shù), 以保障跨組織協(xié)作計(jì)算時(shí)原始數(shù)據(jù)和計(jì)算結(jié)果的隱私性.其中專用多方安全計(jì)算(包含零知識證明、隱私集合求交、隱私信息檢索等) 以密碼學(xué)為基礎(chǔ), 在聯(lián)合營銷、聯(lián)合個(gè)人征信、醫(yī)療數(shù)據(jù)采集等場景有著重要應(yīng)用.

圖6 “隱語” 開源隱私計(jì)算平臺架構(gòu)Figure 6 “SecretFlow” open-source privacy computing platform architecture

6.1 零知識證明技術(shù)

零知識證明最早由Goldwasser、Micali 和Rackoff[28]于1985 年提出,其對交互式證明系統(tǒng)的零知識性進(jìn)行了精確定義.然而, 早期的證明系統(tǒng)在性能上有所缺陷, 且僅支持特定類型的證明, 因此始終停留在理論層面.直至2010 年, Groth[101]提出零知識證明的關(guān)鍵性理論, 推動了其實(shí)用性研究.經(jīng)過近十年的技術(shù)發(fā)展,當(dāng)前零知識證明技術(shù)可分為三種主流算法: (1)零知識的簡潔非交互式知識論證(zk-SNARKs);(2) 零知識的可擴(kuò)展透明知識論證(zk-STARKs); (3) Bulletproofs.其技術(shù)對比如表3 所示.

表3 零知識證明技術(shù)對比Table 3 Comparison of zero-knowledge proof techniques

zk-SNARKs 概念最早由Bitansky 等人[102]于2012 年提出.2016 年, Parno 等人[103]提出更加高效的Pinocchio 協(xié)議, 成為zk-SNARKs 工程實(shí)現(xiàn)的關(guān)鍵里程碑.之后, 如Groth16[104]、Sonic[105]、Plonk[106]等一系列協(xié)議被提出, 著力于優(yōu)化其實(shí)際性能以及對可信設(shè)置的依賴.同時(shí), 由于zk-SNARKs基于橢圓曲線群上的加密方案, 無法抵抗量子攻擊, 因此近年來針對zk-SNARKs 的后量子安全研究也在進(jìn)行[107,108].目前, zk-SNARKs 已成為區(qū)塊鏈領(lǐng)域最廣泛使用的一類零知識證明方案.除5.1 節(jié)介紹的數(shù)字貨幣產(chǎn)品外, 基于Marlin 技術(shù)[109]的代幣POND、基于Plonk 技術(shù)[106]的代幣ZKSpace 以及智能合約擴(kuò)容產(chǎn)品UniSync 等眾多產(chǎn)品均得到廣泛關(guān)注.值得一提的是, 由于Marlin、Plonk 等零知識證明技術(shù)底層的密碼學(xué)理論基礎(chǔ)—代數(shù)群模型被Zhang 等人[110]證偽, 相關(guān)產(chǎn)品安全性目前不得而知.

zk-STARKs 最早由Ben-Sasson 等人[111]于2018 年提出, 是一類無需可信設(shè)置的零知識證明技術(shù),其具有可擴(kuò)展性, 既證明過程所消耗的時(shí)間與輸入大小呈線性相關(guān), 但證明大小相較于zk-SNARKs 要高數(shù)千倍.同時(shí), 該類證明僅依賴于抗碰撞的哈希函數(shù), 因此能夠?qū)崿F(xiàn)后量子安全.

Bulletproofs 由Bünz 等人[112]于2018 年提出, 其兼顧了zk-SNARKs 和zk-STARKs 的優(yōu)點(diǎn), 可在無可信設(shè)置的前提下生成遠(yuǎn)小于zk-STARKs 的證明, 但需要更長的證明和驗(yàn)證時(shí)間.該技術(shù)當(dāng)前主要應(yīng)用于5.1 節(jié)中所述的范圍證明場景下.

6.2 隱私集合求交技術(shù)的應(yīng)用范例

在數(shù)字營銷領(lǐng)域, 計(jì)算廣告轉(zhuǎn)化率是評估在線廣告投放效果的主要方法.該指標(biāo)反映了在所有廣告受眾中, 有多少用戶最終訪問了商品頁面并完成購買行為, 進(jìn)而幫助商家評估廣告投放的效果、支付相應(yīng)報(bào)酬.在此場景下, 商家擁有購買該產(chǎn)品的所有用戶信息集合, 而廣告投放者擁有所有觀看該產(chǎn)品廣告的用戶信息集合, 商家需要計(jì)算兩集合之間的交集, 以便進(jìn)行精確的廣告轉(zhuǎn)化率計(jì)算.然而, 各集合均是雙方各自的商業(yè)數(shù)據(jù)資產(chǎn), 無法直接提供給彼此.

隱私集合求交協(xié)議(PSI) 可解決上述困境, 同時(shí)在基因檢測、聯(lián)系人發(fā)現(xiàn)、近鄰檢測等場景下也有廣泛應(yīng)用[113–115].該技術(shù)允許參與方在不公開私有數(shù)據(jù)集合的前提下, 安全地計(jì)算出集合的交集.從實(shí)現(xiàn)技術(shù)看, 隱私集合求交技術(shù)可以分為: (1) 基于公鑰密碼的PSI; (2) 基于不經(jīng)意傳輸?shù)腜SI; (3) 基于混淆電路的PSI.

(1) 基于公鑰密碼的PSI

基于公鑰密碼的PSI 方案包括基于Diffie-Hellman 密鑰交換的PSI 方案和基于RSA 盲簽名的PSI方案.前者由Meadows[14]提出, 當(dāng)前仍然是PSI 的主流實(shí)現(xiàn).以聯(lián)合營銷場景為例, 如圖7, 商家隨機(jī)選取一正整數(shù)a, 分別將所有購買者信息xi進(jìn)行哈希后計(jì)算H(xi)a發(fā)送給廣告投放者; 該投放者隨機(jī)選取一正整數(shù)b, 分別將所有投放用戶信息yj進(jìn)行哈希后計(jì)算H(yj)b, 同時(shí)將所有接收到的H(xi)a進(jìn)行計(jì)算得(H(xi)a)b, 一并發(fā)送給商家; 商家首先將接收到的H(yj)b進(jìn)行計(jì)算得到(H(yj)b)a, 并與(H(xi)a)b進(jìn)行比較從而得出最終的交集信息.根據(jù)哈希函數(shù)的抗碰撞性, 當(dāng)且僅當(dāng)xi=yj時(shí)(H(xi)a)b與(H(yj)b)a相等.該方案基于離散對數(shù)困難問題, 在效率方面, 其計(jì)算開銷與通信成本呈線性關(guān)系.1999年, Huberman 等人[116]又基于橢圓曲線對此進(jìn)行了改進(jìn), 在安全性和高效性上有了更好的提升.“隱語”隱私計(jì)算平臺實(shí)現(xiàn)了自研的基于ECDH 的三方PSI 協(xié)議, 但該協(xié)議會泄露兩方交集的大小.后來, De Cristofaro 等人[15]提出了具有線性復(fù)雜度的PSI 協(xié)議, 該協(xié)議基于整數(shù)分解困難問題, 在參與方數(shù)據(jù)集大小相差較大時(shí)有著更好的效率表現(xiàn)[117].

圖7 基于Diffie-Hellman 密鑰交換的PSI 協(xié)議Figure 7 PSI protocol based on Diffie-Hellman key exchange

(2) 基于不經(jīng)意傳輸?shù)腜SI

不經(jīng)意傳輸(oblivious transfer, OT) 是多方安全計(jì)算中最為常見的原語, 由Rabin[118]在1981 年提出.自2003 年IKNP 方案[119]提出OT 擴(kuò)展的概念后, OT 的性能大大提升并廣泛應(yīng)用.后續(xù)大量論文基于IKNP 方案在簡化協(xié)議流程、減小存儲開銷、降低通信復(fù)雜度方面進(jìn)一步改進(jìn)和優(yōu)化[120].

2013 年, Dong 等人[121]提出了首個(gè)基于OT 的PSI 方案.該方案結(jié)合了布隆過濾器[122](Bloom filter, BF) 和混淆布隆過濾器[121](garbled Bloom filter, GBF), 在存儲開銷和計(jì)算開銷方面相較于基于DH 密鑰交換的PSI 協(xié)議有著顯著優(yōu)勢.2016 年, Kolesnikov 等人[123]基于批處理技術(shù)提升了協(xié)議效率.2018 年, Pinkas 等人[124]結(jié)合布谷鳥哈希方案[125]對協(xié)議的通信開銷進(jìn)行了進(jìn)一步優(yōu)化.2019 年,Orrù 等人[126]結(jié)合cut-and-choose 技術(shù), 實(shí)現(xiàn)首個(gè)惡意敵手模型下的安全PSI 協(xié)議.基于OT 擴(kuò)展技術(shù), Freedman 等人[127]在2005 年提出不經(jīng)意偽隨機(jī)函數(shù)(oblivious pseudorandom function, OPRF)的概念, 并由此構(gòu)造出高效的PSI 方案.2017 年, Kolesnikov 等人[128]基于OPRF 首次提出了不經(jīng)意可編程偽隨機(jī)函數(shù)(oblivious programmable pseudorandom function, OPPRF) 的概念.OPPRF 可以使用發(fā)送方的輸入對OPRF 的密鑰進(jìn)行編程, 從而在密鑰與發(fā)送方的私有集合元素間建立聯(lián)系.2020 年,Chase 等人[129]提出了多點(diǎn)不經(jīng)意偽隨機(jī)函數(shù)(multi-point OPRF, mOPRF) 和帶權(quán)多點(diǎn)OPRF, 實(shí)現(xiàn)半誠實(shí)敵手模型下的安全PSI 協(xié)議.Rindal 等人[130]提出了一種基于Vector-OLE 和PaXoS 數(shù)據(jù)結(jié)構(gòu)的OPRF 構(gòu)造并將其用于從OPRF 實(shí)現(xiàn)PSI 的標(biāo)準(zhǔn)轉(zhuǎn)換.這是迄今為止任何已發(fā)表的PSI 協(xié)議(無論是半誠實(shí)還是惡意) 中速度最快、開銷最低的方案.

(3) 基于混淆電路的PSI

除上述介紹的專用協(xié)議外, PSI 還可以通過通用混淆電路方法實(shí)現(xiàn).由于任意函數(shù)均可以轉(zhuǎn)換為布爾電路, 因此混淆電路可以計(jì)算任何功能函數(shù), 在PSI 協(xié)議變體(PIS-C[131]、Threshold PSI[132,133]) 的構(gòu)造上發(fā)揮著重要作用.

2012 年, Huang 等人[134]基于Yao 混淆電路[27], 實(shí)現(xiàn)了首個(gè)半誠實(shí)安全的PSI 協(xié)議.基于混淆電路的PSI 協(xié)議主要面臨的問題是: 功能函數(shù)的電路設(shè)計(jì)復(fù)雜、門電路數(shù)量多、電路深度大, 因此研究人員針對通信開銷進(jìn)行了改進(jìn)與優(yōu)化.2015 年, Pinkas 等人[135]針對GMW 協(xié)議減少其OT 次數(shù), 使用置換哈希的方法對Huang 的方案進(jìn)行優(yōu)化, 并應(yīng)用電路進(jìn)行隱私成員測試, 使得計(jì)算速度提升五倍, 且電路深度不再與集合大小相關(guān).2018 年, Pinkas 等人[136]引入布谷鳥哈希技術(shù)將隱私集合求交問題轉(zhuǎn)化為隱私成員測試, 將協(xié)議計(jì)算通信開銷降低為接近線性級別.2019 年, Pinkas 等人[137]又在此基礎(chǔ)上結(jié)合OPRF 技術(shù), 將通信復(fù)雜度降低為與集合大小呈線性級別.2022 年, Chandran 等人[138]構(gòu)造的PSI 協(xié)議基于批處理OPPRF 實(shí)現(xiàn), 計(jì)算通信開銷均具有線性復(fù)雜度.

6.3 隱私信息檢索技術(shù)的應(yīng)用范例

在金融領(lǐng)域, 建立健全的信用評估體系是優(yōu)化金融資源配置、降低交易成本的至關(guān)重要的一環(huán).在個(gè)人征信方面, 貸款機(jī)構(gòu)需要從多維度進(jìn)行評估計(jì)算, 以了解其個(gè)人信貸能力.但僅依賴于機(jī)構(gòu)自身掌握的信用記錄無法實(shí)現(xiàn)對申請人的精確征信畫像, 為此, 貸款機(jī)構(gòu)需融合其它金融機(jī)構(gòu)或非金融機(jī)構(gòu)信息, 如個(gè)人資產(chǎn)、商品購買情況等, 實(shí)現(xiàn)全面、精準(zhǔn)、實(shí)時(shí)的評估.

然而貸款機(jī)構(gòu)直接查詢會泄露申請人身份, 其他機(jī)構(gòu)直接共享數(shù)據(jù)也會使其喪失商業(yè)競爭力.隱私信息檢索協(xié)議(PIR) 可有效解決上述困境, 該技術(shù)允許查詢方在不公開被查詢者的前提下實(shí)現(xiàn)信息搜索.執(zhí)行協(xié)議后, 貸款機(jī)構(gòu)可從其他數(shù)據(jù)提供方中準(zhǔn)確查詢申請人的相關(guān)信息, 從而實(shí)現(xiàn)更全面的資產(chǎn)評估, 同時(shí)被查詢方不會獲知有關(guān)貸款機(jī)構(gòu)查詢的任何信息.除上述聯(lián)合個(gè)人征信外, 隱私信息檢索技術(shù)在標(biāo)簽查詢、信息核驗(yàn)、名單查詢等場景有著廣泛應(yīng)用[139,140].當(dāng)前隱私信息檢索協(xié)議可以根據(jù)服務(wù)器數(shù)量、實(shí)現(xiàn)技術(shù)、查找方式做出如圖8 所示的分類.

圖8 PIR 協(xié)議分類Figure 8 Classification of PIR protocols

從服務(wù)器數(shù)量上看, PIR 可以分為單服務(wù)器PIR[141–151]和多服務(wù)器PIR[152–162].多服務(wù)器方案有著更好的魯棒性和更高的效率, 但需要更強(qiáng)的假設(shè), 即假設(shè)多個(gè)服務(wù)器間不會合謀設(shè)法獲取用戶信息.

從實(shí)現(xiàn)技術(shù)上看, PIR 可以基于不經(jīng)意傳輸OT 和同態(tài)加密來實(shí)現(xiàn).

(1) 基于不經(jīng)意傳輸?shù)腜IR

基于IKNP 方案[119]的OT 擴(kuò)展技術(shù), Kolesnikov 等人[123]實(shí)現(xiàn)了1-out-of-∞OT.2019 年,D?ttling 等人[163]提出了Rate-1 OT, 為PIR 協(xié)議提供了可行性構(gòu)造.2021 年, Chase 等人[164]提出了分?jǐn)偛呗? 顯著降低了Rate-1 OT PIR 的通信開銷.

(2) 基于同態(tài)加密的PIR

1998 年, Stern 等人[165]首次將同態(tài)加密技術(shù)應(yīng)用于PIR 方案.以聯(lián)合個(gè)人征信為例, 如圖9, 查詢者可將待查詢信息對應(yīng)序號的密文設(shè)置為Enck(1), 其余設(shè)置為Enck(0), 一并發(fā)送給被查詢方.被查詢方將各序號對應(yīng)的消息與接收到的密文相乘后, 求和即可得到查詢信息對應(yīng)的密文.將該密文發(fā)送給查詢方進(jìn)行解密, 即可得到對應(yīng)信息.2001 年, Damg?rd 和Jurik[145]提出了基于Paillier[26]半同態(tài)加密算法的PIR.隨著格上Ring-LWE 困難問題[166]的提出, Gentry[25]證明了全同態(tài)加密在理論上的可能性.基于此, XPIR[148]將基于Ring-LWE 的全同態(tài)加密方案應(yīng)用于PIR, 使得Paillier 中的模冪運(yùn)算轉(zhuǎn)化成矩陣、多項(xiàng)式乘法, 計(jì)算復(fù)雜度大大降低, 但通信復(fù)雜度表現(xiàn)較差.微軟基于SEAL 同態(tài)庫構(gòu)建的SealPIR 方案[149]進(jìn)一步對查詢方查詢開銷進(jìn)行優(yōu)化, 由單個(gè)密文代替查詢向量, 大大減小了通信開銷.此外, SealPIR 還提出了概率批處理技術(shù)構(gòu)建多查詢PIR 方案, 降低來自同一查詢方的批處理請求計(jì)算成本.在OnionPIR 方案[150]和Spiral 方案[151]中, 通過引入全同態(tài)算法R-GSW[167], 結(jié)合BFV 算法[168], 組合使用全同態(tài)方案以平衡噪聲增長和計(jì)算復(fù)雜度, 減小通信復(fù)雜度.

圖9 基于同態(tài)加密的PIR 協(xié)議Figure 9 PIR protocol based homomorphic encryption

從查詢方式來看, 除傳統(tǒng)的索引PIR 外, 還衍生了關(guān)鍵字PIR[169].在關(guān)鍵字PIR 中, 查詢方查詢由一個(gè)關(guān)鍵字組成, 而非數(shù)據(jù)庫中的索引地址.2005 年, Freedman 等人[127]提出了單服務(wù)器下基于加性同態(tài)的關(guān)鍵詞PIR 協(xié)議.Olumofin 和Goldberg[170]通過B+ 樹和完美哈希函數(shù)的方式將索引PIR 轉(zhuǎn)化為關(guān)鍵字PIR.2018 年, Chen 等人[171]引入了全同態(tài)加密方案, 對單一關(guān)鍵字查詢做出改進(jìn), 可以支持多個(gè)關(guān)鍵字的查詢.此后Cong 等人[172]對該協(xié)議的參數(shù)進(jìn)行了優(yōu)化, 減小了通信開銷.此外, Angel 等人[149]為支持關(guān)鍵詞PIR, 將索引到關(guān)鍵字映射的Bloom 過濾器表示發(fā)送給用戶, 并引入布谷鳥哈希技術(shù)對多查詢進(jìn)行了優(yōu)化.

7 總結(jié)與展望

密碼學(xué)在經(jīng)歷流傳藝術(shù)到嚴(yán)謹(jǐn)科學(xué)的蛻變后, 其應(yīng)用場景由軍事領(lǐng)域拓寬到現(xiàn)代生活的各行各業(yè).本文以信息技術(shù)的發(fā)展為脈絡(luò), 分別介紹了密碼學(xué)在互聯(lián)網(wǎng)發(fā)展不同時(shí)期的典型應(yīng)用.在全球互聯(lián)網(wǎng)初步發(fā)展階段,以電子郵件和網(wǎng)頁瀏覽為代表的網(wǎng)絡(luò)通信面領(lǐng)著信息竊取、篡改與泄露的風(fēng)險(xiǎn).開源代碼庫OpenSSL 在TLS 安全協(xié)議的基礎(chǔ)上綜合了AES、RSA 等密碼算法, 為信息在互聯(lián)網(wǎng)中的通信提供了機(jī)密性、完整性和認(rèn)證性.同時(shí), SSH 協(xié)議作為另一類加密互聯(lián)網(wǎng)協(xié)議, 可以為互聯(lián)網(wǎng)通信提供一個(gè)具有機(jī)密性和認(rèn)證性的安全快速通道.在移動互聯(lián)網(wǎng)快速崛起階段,隨著3G、4G、5G 技術(shù)普及, 智能手機(jī)、平板電腦等移動終端迅速發(fā)展.鑒于移動終端資源受限, 許多移動應(yīng)用需要依賴云服務(wù)提供基礎(chǔ)設(shè)施和技術(shù)支持.為應(yīng)對云端數(shù)據(jù)庫被攻陷的潛在威脅, 以對稱可搜索加密為代表的加密數(shù)據(jù)庫技術(shù)應(yīng)運(yùn)而生, 廣泛運(yùn)用于AWS、Dropbox 等, 為云存儲提供了隱私保護(hù).為應(yīng)對基于P2P 網(wǎng)絡(luò)的去中心化全新計(jì)算范式中通信的隱私性和可驗(yàn)證性難以兼具的問題, 以零知識證明為代表的密碼技術(shù)大規(guī)模部署, 為區(qū)塊鏈中的匿名性、不可鏈接性提供了技術(shù)支持, 在匿名交易, 去中心化存儲領(lǐng)域得到廣泛應(yīng)用.在大數(shù)據(jù)資源共享時(shí)代,數(shù)據(jù)要素的流通可以實(shí)現(xiàn)數(shù)據(jù)價(jià)值的開發(fā)利用, 但其在收集、流通、計(jì)算過程中也面臨新的隱私泄露問題.為保障數(shù)據(jù)安全、實(shí)現(xiàn)數(shù)據(jù)跨域流通“可用不可見”, 多方安全計(jì)算、隱私集合求交、隱私信息檢索等隱私計(jì)算技術(shù)大規(guī)模部署于螞蟻集團(tuán)的隱語平臺, 在金融、政務(wù)等領(lǐng)域有廣泛應(yīng)用.

近年來, 隨著計(jì)算機(jī)技術(shù)的快速發(fā)展與數(shù)字經(jīng)濟(jì)的規(guī)模大幅增長, 密碼學(xué)應(yīng)用也面臨著諸多新的挑戰(zhàn):

第一, 隨著量子計(jì)算能力的提高, 傳統(tǒng)密碼系統(tǒng)安全性受到威脅.為應(yīng)對該挑戰(zhàn), 當(dāng)前學(xué)術(shù)界和工業(yè)界積極探索部署后量子密碼算法, 完成后量子密碼算法標(biāo)準(zhǔn)化工作, 以保障量子計(jì)算時(shí)代的數(shù)據(jù)安全.

第二, 當(dāng)前密碼學(xué)相關(guān)技術(shù)的性能無法滿足通信帶寬等資源限制下海量數(shù)據(jù)的傳輸與計(jì)算需求, 仍有待提高.因此, 針對不同應(yīng)用場景, 對密碼算法在原理上的設(shè)計(jì)優(yōu)化、軟件層面上的并行化處理以及硬件實(shí)現(xiàn)上結(jié)合FPGA 的硬件加速, 對于密碼學(xué)在現(xiàn)實(shí)應(yīng)用的落地實(shí)現(xiàn)有重要意義.

第三, 結(jié)合不同應(yīng)用場景的細(xì)化需求, 將密碼技術(shù)與計(jì)算機(jī)技術(shù)等多類技術(shù)融合從而實(shí)現(xiàn)多方面性能的優(yōu)化, 是未來研究的一大趨勢.例如, 將基于密碼學(xué)的安全多方計(jì)算技術(shù)與聯(lián)邦學(xué)習(xí)、可信執(zhí)行環(huán)境等技術(shù)相結(jié)合, 打破單一技術(shù)的瓶頸限制, 提升性能.

猜你喜歡
密碼學(xué)關(guān)鍵字加密
履職盡責(zé)求實(shí)效 真抓實(shí)干勇作為——十個(gè)關(guān)鍵字,盤點(diǎn)江蘇統(tǒng)戰(zhàn)的2021
成功避開“關(guān)鍵字”
圖靈獎(jiǎng)獲得者、美國國家工程院院士馬丁·愛德華·海爾曼:我們正處于密鑰學(xué)革命前夕
一種基于熵的混沌加密小波變換水印算法
密碼學(xué)課程教學(xué)中的“破”與“立”
認(rèn)證加密的研究進(jìn)展
矩陣在密碼學(xué)中的應(yīng)用
基于ECC加密的電子商務(wù)系統(tǒng)
基于格的公鑰加密與證書基加密
基于用戶反饋的關(guān)系數(shù)據(jù)庫關(guān)鍵字查詢系統(tǒng)
咸阳市| 方山县| 长岛县| 泰来县| 大姚县| 新郑市| 北京市| 安吉县| 郁南县| 东丽区| 池州市| 年辖:市辖区| 建平县| 泗洪县| 沭阳县| 石景山区| 洪洞县| 枣强县| 盘山县| 武清区| 晋宁县| 福鼎市| 清原| 云梦县| 台东市| 松江区| 普定县| 常州市| 深泽县| 高要市| 洛扎县| 柳林县| 沙洋县| 沐川县| 无极县| 临汾市| 绥中县| 玉环县| 文成县| 中超| 新兴县|