• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      面向CNN的區(qū)塊鏈可信隱私服務(wù)計(jì)算模型

      2022-07-02 06:27:20李海生鐘瓊慧田明宇
      電子學(xué)報(bào) 2022年6期
      關(guān)鍵詞:同態(tài)服務(wù)端公鑰

      丁 毅,沈 薇,李海生,鐘瓊慧,田明宇,李 潔

      (1. 北京物資學(xué)院信息學(xué)院,北京 101149;2. 北京工商大學(xué)農(nóng)產(chǎn)品質(zhì)量安全追溯技術(shù)及應(yīng)用國(guó)家工程實(shí)驗(yàn)室,北京 100048;3. 北京工商大學(xué)計(jì)算機(jī)學(xué)院,北京 100048)

      1 引言

      當(dāng)前,人類(lèi)社會(huì)已經(jīng)步入了移動(dòng)互聯(lián)網(wǎng)時(shí)代,智能計(jì)算、移動(dòng)便捷以及隱私安全成為重要的發(fā)展趨勢(shì). 如何能在保護(hù)用戶(hù)隱私信息的前提下,加強(qiáng)移動(dòng)終端的計(jì)算能力,提高高智能計(jì)算服務(wù)體驗(yàn),是一個(gè)亟待解決的問(wèn)題.

      在這種背景下,利用云服務(wù)來(lái)完成人工智能計(jì)算的模式出現(xiàn)了,它既可解決邊緣設(shè)備計(jì)算力不足的問(wèn)題,又可發(fā)揮移動(dòng)特性. 以基于卷積神經(jīng)網(wǎng)絡(luò)(Convolu?tional Neural Network,CNN)的圖像分類(lèi)為場(chǎng)景,探索新模式應(yīng)用的關(guān)鍵技術(shù),目前面臨著以下兩個(gè)方面的挑戰(zhàn).

      (1)用戶(hù)隱私保護(hù)是應(yīng)用的重要前提.2018年歐盟制定的《通用數(shù)據(jù)保護(hù)條例》[1](General Data Protection Regulation,GDPR)提出加強(qiáng)對(duì)個(gè)人數(shù)據(jù)在隱私和安全方面的保護(hù). 用戶(hù)終端數(shù)據(jù)涉及大量用戶(hù)信息,將其直接發(fā)送到云端缺乏安全保障,具有泄露風(fēng)險(xiǎn). 云服務(wù)商也容易過(guò)度使用這些數(shù)據(jù)或私自銷(xiāo)售,謀取利益[2]. 用戶(hù)數(shù)據(jù)隱私保護(hù)是安全計(jì)算外包模式的基本要求[3].

      (2)傳統(tǒng)云服務(wù)是由云供應(yīng)商控制和維護(hù)的,包括服務(wù)和權(quán)益規(guī)則,以及交易和服務(wù)數(shù)據(jù),缺乏有效的共同參與和管理機(jī)制,約束力和透明度不足,出現(xiàn)糾紛難于追責(zé). 同時(shí),容易產(chǎn)生大的云服務(wù)商壟斷、小的云服務(wù)商難以生存的現(xiàn)象,不利于市場(chǎng)良性發(fā)展和資源的有效整合.

      為了應(yīng)對(duì)上述挑戰(zhàn),本文研究面向CNN 的區(qū)塊鏈可信隱私服務(wù)計(jì)算模型. 以典型應(yīng)用為場(chǎng)景,利用同態(tài)加密技術(shù),在保護(hù)用戶(hù)隱私的前提下,有效利用計(jì)算資源為邊緣設(shè)備提供算力服務(wù),智能合約和區(qū)塊鏈可加強(qiáng)服務(wù)權(quán)益管理的公開(kāi)透明.

      2 相關(guān)工作

      本節(jié)從同態(tài)計(jì)算、云計(jì)算隱私保護(hù)、卷積神經(jīng)網(wǎng)絡(luò)隱私保護(hù)等方面展開(kāi)分析.

      (1)同態(tài)加密技術(shù)

      1978年Rivest首次提出同態(tài)加密的概念,即對(duì)密文進(jìn)行運(yùn)算的結(jié)果與對(duì)明文進(jìn)行相應(yīng)運(yùn)算的結(jié)果是等效的. 無(wú)需解密,通過(guò)處理密文即可獲得需要的計(jì)算結(jié)果,這是數(shù)據(jù)隱私保護(hù)的重要手段,具有重要意義[4~6].

      2009 年Gentry[7]提出了基于理想格的全同態(tài)加密方案,復(fù)雜度高的限制造成密文數(shù)據(jù)擴(kuò)張問(wèn)題不能有效解決,影響實(shí)際應(yīng)用.Van Dijk 等人[8]使用基本的模運(yùn)算設(shè)計(jì)了同態(tài)加密方案(Dijk Gentry Halevi Vaiku?tanathan,DGHV),該方案是對(duì)文獻(xiàn)[7]整數(shù)上的全同態(tài)加密算法的改進(jìn),使計(jì)算復(fù)雜度降低、效率提高、易于實(shí)現(xiàn),一次加密1 bit的數(shù)據(jù),其公鑰加密方案的安全性依賴(lài)“近似最大公約數(shù)”問(wèn)題.

      Coron 等人[9]針對(duì)DGHV 方案公鑰尺寸過(guò)大的問(wèn)題,提出一種基于平方公鑰壓縮的CMNT(Coron Man?dal Naccache Tibouchi)公鑰優(yōu)化方案. 其思想是使用公鑰集合中非初始元素的2k個(gè)公鑰可生成k2個(gè)公鑰,壓縮公鑰尺寸. 首先將2k個(gè)公鑰平均分成兩組,然后分別從兩組公鑰中隨機(jī)選擇一個(gè)公鑰對(duì)應(yīng)相乘,再乘以隨機(jī)數(shù),并運(yùn)算處理生成新的公鑰,進(jìn)而完成加密操作.

      另外,文獻(xiàn)[10]改進(jìn)了文獻(xiàn)[8]的方案,使其一次可以加密2 bit 的數(shù)據(jù). 孫霓剛等人[11]進(jìn)一步改進(jìn)了DGHV 算法,將明文空間由1 bit 擴(kuò)展到nbit,提出一次可以加密nbit數(shù)據(jù)的方案,降低了加密次數(shù). 為了清晰說(shuō)明,本文將這種算法稱(chēng)為N-DGHV. N-DGHV 算法通用性強(qiáng),適合服務(wù)計(jì)算隱私保護(hù)場(chǎng)景,但仍存在公鑰存儲(chǔ)空間過(guò)多的問(wèn)題. 因此,本文在N-DGHV 算法的基礎(chǔ)上,對(duì)公鑰進(jìn)行壓縮優(yōu)化,并加以實(shí)現(xiàn).

      (2)云計(jì)算隱私保護(hù)研究

      傳統(tǒng)的云計(jì)算模式中,終端數(shù)據(jù)以明文的形式傳輸?shù)皆贫诉M(jìn)行計(jì)算,用戶(hù)隱私無(wú)法得到保障,存在安全隱患[12].

      云計(jì)算的數(shù)據(jù)隱私保護(hù)解決方案主要有訪問(wèn)控制、數(shù)據(jù)加密、安全外包、安全多方計(jì)算等[13],都是基于數(shù)據(jù)加密理論展開(kāi)的. 蔣瀚等人[14]提出了安全多方計(jì)算方法來(lái)解決云計(jì)算隱私保護(hù)問(wèn)題,該方法需要多方參與計(jì)算,且通信頻繁,不適合本文客戶(hù)端資源有限的應(yīng)用場(chǎng)景. 文獻(xiàn)[15]使用基于混淆方法的隱私管理器來(lái)管理云端和用戶(hù)終端的數(shù)據(jù),保護(hù)數(shù)據(jù)隱私,但重在加密管理,未深入研究密文的智能計(jì)算等工作.

      在云計(jì)算場(chǎng)景中,隨著數(shù)據(jù)量的增大,頻繁的加解密操作會(huì)造成計(jì)算資源的浪費(fèi),能夠直接對(duì)密文進(jìn)行計(jì)算操作顯得尤為重要.

      同態(tài)加密技術(shù)以其良好的密文可操作性,成為解決云計(jì)算隱私保護(hù)問(wèn)題的重要技術(shù),也成為重要發(fā)展和應(yīng)用方向[16,17]. 而文獻(xiàn)[18]也提出同態(tài)加密技術(shù)在處理大量數(shù)據(jù)時(shí)效率不高. 本文正是致力于探索該技術(shù)適合智能計(jì)算應(yīng)用場(chǎng)景的解決方案.

      (3)卷積神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)隱私保護(hù)相關(guān)研究

      卷積神經(jīng)網(wǎng)絡(luò)是深度學(xué)習(xí)的重要分支,計(jì)算復(fù)雜度高,被廣泛應(yīng)用于人臉識(shí)別、語(yǔ)音識(shí)別等領(lǐng)域[19]. 卷積神經(jīng)網(wǎng)絡(luò)的隱私保護(hù)工作可在不同階段進(jìn)行,分別是訓(xùn)練階段和預(yù)測(cè)階段. 在訓(xùn)練階段,需要各參與方提供各自的數(shù)據(jù)來(lái)完成模型訓(xùn)練工作,這些數(shù)據(jù)可能包含隱私信息. 在預(yù)測(cè)階段,終端用戶(hù)待預(yù)測(cè)數(shù)據(jù)、服務(wù)器端訓(xùn)練好的特征模型都有隱私保護(hù)的需求. 本文主要針對(duì)卷積神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)階段展開(kāi)工作,使用同態(tài)加密技術(shù).

      Dowlin 等人[20]于2016 年提出CryptoNets 神經(jīng)網(wǎng)絡(luò)模型,使用同態(tài)加密算法實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)階段的隱私數(shù)據(jù)保護(hù). 為了保證同態(tài)加密的正確性,此方案化簡(jiǎn)了預(yù)測(cè)方法,使用平方函數(shù)實(shí)現(xiàn)激活層. Cha?banne 等人[21]使用低次多項(xiàng)式逼近激活函數(shù)來(lái)加強(qiáng)同態(tài)加密計(jì)算效率. 文獻(xiàn)[22]在CryptoNets 基礎(chǔ)上優(yōu)化,同時(shí)提出云端雙服務(wù)器協(xié)同模式使加同態(tài)算法支持CNN 各層模型,提高效率. 文獻(xiàn)[23,24]則提出將兩方計(jì)算技術(shù)(混淆電路)與同態(tài)加密相結(jié)合的解決方案,同態(tài)加密處理CNN 線性部分,而兩方計(jì)算則處理非線性部分.

      目前,這一領(lǐng)域并不成熟,仍舊存在加密計(jì)算開(kāi)銷(xiāo)大、智能算法不適用、管理模式不清晰等問(wèn)題,還遠(yuǎn)不能被廣泛應(yīng)用,需要更多實(shí)踐去探索應(yīng)用方法和模式.

      (4)其他相關(guān)研究

      區(qū)塊鏈具有分布式管理、難以篡改的特點(diǎn)[25],可被廣泛應(yīng)用于醫(yī)療、交通、農(nóng)業(yè)等多個(gè)領(lǐng)域. 智能合約通常是運(yùn)行于區(qū)塊鏈上的公開(kāi)透明的計(jì)算代碼. 本文利用區(qū)塊鏈存儲(chǔ)服務(wù)數(shù)據(jù),并設(shè)計(jì)智能合約權(quán)益評(píng)估模型,公開(kāi)透明并自動(dòng)執(zhí)行,加強(qiáng)交易的可信度.

      聯(lián)邦學(xué)習(xí)技術(shù)是2016 年被提出的,該技術(shù)在保證數(shù)據(jù)隱私安全的前提下,用來(lái)完成高效智能計(jì)算工作.聯(lián)邦學(xué)習(xí)的過(guò)程是將用戶(hù)數(shù)據(jù)在本地計(jì)算,并將結(jié)果傳輸?shù)椒?wù)器參與聚合計(jì)算,從而起到保護(hù)隱私數(shù)據(jù)的目的[26]. 然而,聯(lián)邦學(xué)習(xí)模式數(shù)據(jù)提供者在本地進(jìn)行模型訓(xùn)練,對(duì)終端環(huán)境的算力要求較高. 因此,本文依據(jù)應(yīng)用場(chǎng)景,選取同態(tài)加密方法展開(kāi)研究工作.

      3 可信隱私服務(wù)計(jì)算模型

      為了提高云服務(wù)環(huán)境下卷積神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)服務(wù)質(zhì)量,本文從安全、隱私和可信3個(gè)方面考慮,研究可信隱私服務(wù)計(jì)算模型. 該模型使用非對(duì)稱(chēng)的公鑰加密、私鑰解密機(jī)制來(lái)加強(qiáng)數(shù)據(jù)的安全性,避免被惡意截取;同時(shí),通過(guò)密文傳輸,利用同態(tài)加密的特點(diǎn)在服務(wù)端進(jìn)行密文計(jì)算,將密文結(jié)果反饋用戶(hù),整個(gè)計(jì)算過(guò)程全密態(tài),保護(hù)數(shù)據(jù)提供者隱私信息;最后使用區(qū)塊鏈和智能合約技術(shù)完成云服務(wù)計(jì)算過(guò)程的記錄,并進(jìn)行自動(dòng)權(quán)益分配,保證服務(wù)過(guò)程不可篡改,公開(kāi)透明,從而增強(qiáng)服務(wù)計(jì)算模型的可信度.

      3.1 可信隱私服務(wù)計(jì)算架構(gòu)

      可信隱私服務(wù)計(jì)算架構(gòu)如圖1所示,主要可分為用戶(hù)端、模型提供端、云服務(wù)器端3 類(lèi)角色,圍繞計(jì)算、加密、可信權(quán)益等工作運(yùn)轉(zhuǎn).

      (1)用戶(hù)端

      用戶(hù)端是服務(wù)計(jì)算的使用者,擁有數(shù)據(jù)以及公私鑰生成器. 用戶(hù)端要向云服務(wù)端提出需求,請(qǐng)求服務(wù),并取得相應(yīng)權(quán)限(如認(rèn)證、開(kāi)通賬戶(hù)),進(jìn)而開(kāi)始整個(gè)服務(wù)流程. 首先,用戶(hù)端生成公私鑰,并將公鑰發(fā)送給云服務(wù)端,如圖1中①所示;其次,在本地將數(shù)據(jù)通過(guò)公鑰加密,密文上傳云服務(wù)端,如圖1 中④所示;再次,用戶(hù)端得到云服務(wù)端提供的密文運(yùn)算結(jié)果及分類(lèi)標(biāo)簽,如圖1中⑤所示,并在本地通過(guò)私鑰解密進(jìn)而得到最終結(jié)果;最后,用戶(hù)端收到云服務(wù)端的權(quán)益分配結(jié)果,并提交服務(wù)費(fèi)用,如圖1中⑥所示.

      (2)模型提供端

      首先,模型提供端需要從云服務(wù)端獲取加密公鑰(由用戶(hù)端提供給云服務(wù)端),如圖1中②所示;其次,模型提供端將訓(xùn)練好的預(yù)測(cè)模型使用公鑰加密后提供給云服務(wù)端,同時(shí)需要提供分類(lèi)標(biāo)簽(無(wú)須加密,各個(gè)分類(lèi)在結(jié)果向量中的順序),如圖1 中③所示;最后,計(jì)算服務(wù)完成后,模型提供端獲得權(quán)益分配結(jié)果,取得相應(yīng)費(fèi)用,如圖1中⑦所示.

      (3)云服務(wù)端

      云服務(wù)端提供強(qiáng)大的計(jì)算資源和模型服務(wù),完成用戶(hù)端的請(qǐng)求. 首先,云服務(wù)端接收用戶(hù)端公鑰,并將其發(fā)送給模型提供端加密預(yù)測(cè)模型,如圖1中①與②所示. 其次,若使用云服務(wù)端自有的預(yù)測(cè)模型,則直接加密. 否則,云服務(wù)端接收模型提供端的加密模型以及用戶(hù)端提供的加密數(shù)據(jù),如圖1 中③和④所示,進(jìn)行密文的卷積神經(jīng)網(wǎng)絡(luò)計(jì)算,將密文結(jié)果返回給用戶(hù)端. 隱私服務(wù)計(jì)算過(guò)程完畢. 此外,在計(jì)算過(guò)程中,云服務(wù)端計(jì)算資源使用及服務(wù)提供情況,連同云提供商信息提交區(qū)塊鏈存證,并使用區(qū)塊鏈智能合約實(shí)現(xiàn)權(quán)益計(jì)算模型并自動(dòng)執(zhí)行,分配云服務(wù)端、用戶(hù)端、模型提供端各自的費(fèi)用和收益. 通常是用戶(hù)端付費(fèi),云服務(wù)端和模型提供端獲利.

      圖1 可信隱私服務(wù)計(jì)算架構(gòu)圖

      如圖1 所示,實(shí)際中存在多個(gè)云服務(wù)商,提供不同的模型和服務(wù). 數(shù)據(jù)擁有者計(jì)算資源不足,選擇合適的云服務(wù)商并借助其算力獲得預(yù)測(cè)結(jié)果,但又要保護(hù)數(shù)據(jù)隱私. 模型提供者(也可以是云服務(wù)商)在保護(hù)模型內(nèi)容的前提下分享模型并獲利,同態(tài)加密技術(shù)在此流程中起到保護(hù)數(shù)據(jù)和模型隱私的作用. 另外,這種模式下,可信的運(yùn)行環(huán)境和權(quán)益管理機(jī)制是破除壟斷、提高服務(wù)質(zhì)量的重要保證,區(qū)塊鏈和智能合約技術(shù)恰能發(fā)揮作用. 計(jì)算資源使用、服務(wù)提供情況以及云服務(wù)商信息都存證區(qū)塊鏈系統(tǒng),不可篡改,智能合約計(jì)算權(quán)益分配的規(guī)則透明公開(kāi)、自動(dòng)執(zhí)行,并且可查詢(xún)、追責(zé). 另外,模型提供者參與計(jì)算過(guò)程同樣存證區(qū)塊鏈系統(tǒng). 這樣,可達(dá)到模型權(quán)屬清晰、服務(wù)權(quán)責(zé)透明、權(quán)益公平可信的效果. 同時(shí),還存在一個(gè)監(jiān)管單位的角色,監(jiān)管單位可查看全部存證數(shù)據(jù)和使用規(guī)則,有效約束不良行為.

      3.2 預(yù)測(cè)服務(wù)隱私計(jì)算模型

      在此應(yīng)用場(chǎng)景中,系統(tǒng)和用戶(hù)可根據(jù)需求選擇不同的同態(tài)加密算法. 本文同態(tài)加密是通過(guò)改進(jìn)NDGHV 算法來(lái)實(shí)現(xiàn)的,這里稱(chēng)為ON-DGHV(Optimized N-DGHV)算法. DGHV 算法的明文空間是{0,1}(二進(jìn)制表示). N-DGHV 算法通過(guò)將加密算法的隨機(jī)數(shù)乘2變換為乘2n,解密算法的模2 變成模2n,實(shí)現(xiàn)明文空間由1 bit 擴(kuò)大到nbit,減少了加密次數(shù). 進(jìn)一步,ONDGHV使用平方公鑰壓縮方法縮減公鑰尺寸,減少公鑰的存儲(chǔ)空間. 此算法是面向整數(shù)的同態(tài)加密算法,將明文加密進(jìn)行密文計(jì)算,會(huì)給智能計(jì)算的性能、精度乃至正確性帶來(lái)挑戰(zhàn). 該模型努力探索適合該同態(tài)算法的CNN預(yù)測(cè)方法,運(yùn)行流程如圖2所示.

      圖2 卷積神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)服務(wù)計(jì)算模型流程圖

      模型數(shù)據(jù)包括用戶(hù)端提供的數(shù)據(jù)矩陣D和模型提供端提供的模型M(模型M包括卷積核K、卷積偏移量b1、全連接矩陣W和全連接偏移量b2).

      模型組件可分為4個(gè)功能模塊,具體如下.

      (1)同態(tài)加密模塊:對(duì)用戶(hù)端的原始數(shù)據(jù)矩陣D使用公鑰進(jìn)行加密得到D′,對(duì)模型提供端提供的模型M使用公鑰進(jìn)行加密得到M′(加密后的模型M′包括卷積核K′、卷積偏移量b1′、全連接矩陣W′及全連接偏移量b2′).

      (2)卷積神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模塊:加密后的模型M′和同態(tài)加密后的數(shù)據(jù)矩陣D′成為卷積神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模塊的輸入. 進(jìn)一步,卷積神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模塊各層次的關(guān)系和功能操作如圖3 所示. 卷積核K′和數(shù)據(jù)矩陣D′作為卷積層的輸入,在卷積層利用卷積核K′對(duì)數(shù)據(jù)矩陣D′進(jìn)行卷積計(jì)算,得到一組線性輸出conv;conv在激活層使用激活函數(shù)完成非線性映射操作,為了適應(yīng)同態(tài)密文要求,這里激活函數(shù)使用平方函數(shù)進(jìn)行計(jì)算,生成密文數(shù)據(jù)acti;然后將acti 通過(guò)池化層進(jìn)行加和池化[20],完成數(shù)據(jù)壓縮,減少數(shù)據(jù)量,以簡(jiǎn)化計(jì)算的復(fù)雜度,進(jìn)而輸出數(shù)據(jù)pool;最后將數(shù)據(jù)pool 和全連接矩陣W′放入全連接層進(jìn)行矩陣乘法,將上層的特征映射到樣本空間來(lái)實(shí)現(xiàn)分類(lèi),所有類(lèi)別中值最大的一類(lèi)即為CNN的識(shí)別結(jié)果,表現(xiàn)為密文結(jié)果C. 為了保護(hù)數(shù)據(jù)模型的隱私性,該模型根據(jù)需求可增加一個(gè)保護(hù)機(jī)制. 那就是將密文C中各個(gè)元素都加上一個(gè)隨機(jī)數(shù)r的密文態(tài)(r盡量選取較小的數(shù),使用同一加密算法),隨機(jī)數(shù)的密文可表示為Cr,加和之后得到C′(也就是Lock(C)函數(shù)),即C′=Cr+C,隨后將C′連同分類(lèi)標(biāo)簽(各個(gè)分類(lèi)在結(jié)果向量中的順序)發(fā)送給用戶(hù)端.

      從圖3中可知,卷積層、激活層和池化層、全連接層各層之間存在前后級(jí)聯(lián)關(guān)系,前一層的輸出作為后一層的輸入,是一個(gè)有機(jī)整體,共同完成密文數(shù)據(jù)的計(jì)算,有效提取數(shù)據(jù)特征,完成預(yù)測(cè)功能.

      圖3 卷積神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模塊各層次關(guān)系示意圖

      (3)解密模塊:用戶(hù)利用私鑰對(duì)獲得的密文結(jié)果C′進(jìn)行解密得到T′,根據(jù)分類(lèi)標(biāo)簽獲得max(T′)對(duì)應(yīng)的分類(lèi)結(jié)果,max(T′)是分類(lèi)標(biāo)簽中的最大值,即預(yù)測(cè)結(jié)果.由于加密算法滿(mǎn)足加法同態(tài)性,且最終是根據(jù)結(jié)果向量中元素的數(shù)值大小判斷分類(lèi)結(jié)果,因此即使卷積神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模塊的結(jié)果加了Cr隨機(jī)數(shù),對(duì)最終的分類(lèi)結(jié)果沒(méi)有影響. 然而,這樣會(huì)影響分類(lèi)概率,云端可根據(jù)需求設(shè)置,解密模塊同樣對(duì)于密文C適用.

      另外,如圖2 所示,該模型還存在一個(gè)可信權(quán)益管理模型,在模型提供端提供模型后用智能合約進(jìn)行存證;記錄云服務(wù)端的服務(wù)明細(xì);根據(jù)權(quán)益評(píng)估模型對(duì)用戶(hù)端、模型提供端和云服務(wù)端進(jìn)行權(quán)益分配. 整個(gè)流程主要由數(shù)據(jù)和模型的數(shù)據(jù)流以及權(quán)益交易流兩個(gè)信息流組成,相輔相成,涉及模型各個(gè)環(huán)節(jié),協(xié)同工作.

      模型輸入輸出及算法涉及各個(gè)模塊,具體如下.

      (1)同態(tài)加密模塊

      同態(tài)加密模塊輸入:用戶(hù)端的原始數(shù)據(jù)矩陣D. 模型提供端提供的模型M.

      同態(tài)加密模塊輸出:原始數(shù)據(jù)矩陣D加密后的密文矩陣D′及加密后的模型M′(分別在用戶(hù)端和模型提供端).

      同態(tài)加密模塊涉及的核心函數(shù)描述如下.

      (a)GenKey(·):密鑰生成函數(shù). 輸出用戶(hù)的私鑰SK,公鑰集合PK={pkf,pk0,pk1,…,pk2k-1},下標(biāo)k為正整數(shù).

      (b)Encrypt(PK,D),Encrypt(PK,M):加密函數(shù).輸入公鑰集合PK,將PK 中的非初始的2k(即pk0,pk1,…,pk2k-1)個(gè)公鑰平均分成兩組,然后分別從兩組公鑰中各隨機(jī)選擇一個(gè)公鑰相乘,重復(fù)這個(gè)過(guò)程a(0

      (2)卷積神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模塊

      卷積神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模塊輸入:加密后的數(shù)據(jù)矩陣D′和加密后的模型M′.

      卷積神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模塊輸出:返回給用戶(hù)端的結(jié)果矩陣C′=[c′1,c′2,…,c′i]和分類(lèi)標(biāo)簽l={l1,l2,…,li}.

      卷積神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模塊涉及的算法描述如下.

      (b)激活層

      Activate(conv):平方函數(shù). 激活層的作用是為CNN提供非線性特征,常用的激活函數(shù)(如ReLU,Sigmoid等)需要最大值、除法、指數(shù)等運(yùn)算,不適合使用同態(tài)加密方法密文的加和乘法實(shí)現(xiàn). 本文選用CryptoNets[20]使用的平方函數(shù)方法加以取代,計(jì)算結(jié)果為acti.

      (c)池化層

      Pooling(acti):池化層主要的作用是下采樣,對(duì)輸入的特征圖進(jìn)行壓縮,進(jìn)一步減少參數(shù)數(shù)量,簡(jiǎn)化網(wǎng)絡(luò)計(jì)算復(fù)雜度,提取主要特征. 池化的方法很多,為了更好的支持同態(tài)加密計(jì)算,這里采用加和池化的方法[20],得到結(jié)果pool.

      (d)全連接層

      Connect(pool,W′):全連接層作用是將上層的特征映射到樣本空間,從而實(shí)現(xiàn)分類(lèi).W′為全連接矩陣,將池化層的輸出pool 矩陣轉(zhuǎn)換成向量,即可把全連接層視為矩陣乘法,從而計(jì)算C=W′*pool+b2 得到結(jié)果向量C.C中的值代表分類(lèi)標(biāo)簽l={l1,l2,…,li}中對(duì)應(yīng)類(lèi)別的數(shù)值(數(shù)值越高,則預(yù)測(cè)結(jié)果是該類(lèi)別的可能性越大),為密文.

      (e)安全處理

      Lock(C):生成隨機(jī)數(shù)r(選擇盡量小的數(shù)),加密得到密文形成Cr,利用Cr對(duì)全連接得到的結(jié)果向量C進(jìn)行加密得到C′再發(fā)送給用戶(hù),從而使用戶(hù)不會(huì)得到原始的模型輸出結(jié)果,減少模型參數(shù)泄露的風(fēng)險(xiǎn). 云端可根據(jù)實(shí)際需求設(shè)置輸出原始結(jié)果,這一部分為可選項(xiàng).

      (3)解密模塊

      解密模塊輸入:云服務(wù)端返回的密文結(jié)果向量C′(C同樣適用)和分類(lèi)標(biāo)簽l.

      解密模塊輸出:卷積神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)分類(lèi)結(jié)果T.

      解密模塊涉及的算法描述如下.

      (a)Decrypt(C′,SK):解密函數(shù).C′=[c′1,c′2,…,c′i]為云服務(wù)端返回的密文結(jié)果向量. 利用私鑰SK 進(jìn)行解密得到明文結(jié)果向量T′=[t′1,t′2,…,t′i].

      (b)T=p(max(T′),l):max(T′)為集合T′中的最大值,即分類(lèi)結(jié)果的數(shù)值. 分類(lèi)標(biāo)簽l和向量T′存在一一映射的關(guān)系,T=p(max(T′),l)代表max(T′)在l中的映射,即為卷積神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)分類(lèi)結(jié)果.

      3.3 預(yù)測(cè)服務(wù)權(quán)益評(píng)估模型

      傳統(tǒng)服務(wù)計(jì)算的權(quán)益規(guī)則由云供應(yīng)商(云服務(wù)端)制定,缺乏透明度和公共約束力,這樣,云供應(yīng)商的權(quán)利過(guò)大,服務(wù)使用者(用戶(hù)端和模型提供端)的權(quán)益得不到有效保證,進(jìn)而不愿意參與云端服務(wù)計(jì)算. 因此,本模型設(shè)計(jì)基于智能合約的權(quán)益計(jì)算模型來(lái)進(jìn)行權(quán)益分配,此過(guò)程由區(qū)塊鏈智能合約自動(dòng)執(zhí)行并進(jìn)行數(shù)據(jù)的存儲(chǔ). 一方面,在模型提供端提供模型時(shí),智能合約對(duì)模型的所屬權(quán)進(jìn)行記錄存證,保證模型提供端的權(quán)益. 另一方面,智能合約計(jì)算權(quán)益分配,模型提供端和云服務(wù)端根據(jù)權(quán)益分配的結(jié)果獲取相應(yīng)的收益,而用戶(hù)端通常向云服務(wù)端提供相應(yīng)的費(fèi)用,收益規(guī)則公開(kāi)透明,保證過(guò)程可追溯、權(quán)益評(píng)估真實(shí)可信.

      以卷積神經(jīng)網(wǎng)絡(luò)的圖像分類(lèi)場(chǎng)景為例,結(jié)合傳統(tǒng)云服務(wù)的計(jì)費(fèi)思路,可設(shè)計(jì)智能合約的基礎(chǔ)權(quán)益分配方法,如表1 所示. 從模型、資源使用、數(shù)據(jù)角度考慮,具體參數(shù)包括模型準(zhǔn)確度、使用時(shí)長(zhǎng)、服務(wù)費(fèi)、存儲(chǔ)容量、收益等.

      表1 權(quán)益評(píng)估計(jì)算參數(shù)表

      (1)模型提供端

      模型提供端的收益依賴(lài)其提供的模型的準(zhǔn)確度,分為3 個(gè)標(biāo)準(zhǔn),即小于80%、80%~95%、大于95%,能夠獲得的收益分別為x1,x2,x3.(x1

      (2)云服務(wù)端

      3.4 實(shí)現(xiàn)方法

      上述的卷積神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)計(jì)算模型是以O(shè)NDGHV算法為加解密基礎(chǔ)的,這里重點(diǎn)描述該算法的設(shè)計(jì)與實(shí)現(xiàn). 為了表述清晰,部分符號(hào)表達(dá)和前文概述有所調(diào)整.

      (1)同態(tài)加密模塊

      這一模塊的工作是生成密鑰對(duì)、加密明文m. 生成私鑰SK 時(shí),需要保證|m+2nr′ |r′時(shí),生成區(qū)間[0,qf)的隨機(jī)整數(shù)qi,j(0≤i≤1,0≤j≤(k-1)),計(jì)算pki,j=ri,j+SK×qi,j(0≤i≤1,0≤j≤(k-1)). 生成密鑰對(duì)算法如算法1所示.

      算法1 生成密鑰對(duì)輸入:明文m,m的比特(位)數(shù)n,正整數(shù)k(公鑰包含的元素個(gè)數(shù)為2k+1)輸出:私鑰SK,加密公鑰PK 1.function GenKey(m,n,k)2. generate random positive integer numberr′3. do 4.generate random large prime number x 5. while|m+2nr′|≥x/2 6. SK ←x 7. generate random positive odd number qf 8. pkf=qf×SK 9. put pkf into PK 10. for i from 0 to 1 step 1 11.for j from 0 to k-1 step 1 12.do 13.generate random positive integer number ri,j 14.while ri,j ≤r′15.do 16.generate random integer number qi,j 17.while qi,j<0 or qi,j ≥qf 18.pki,j ←ri,j+SK×qi,j 19.put pki.j into PK 20.end for 21. end for 22. return SK,PK 23.end function

      得到公鑰后,下面以明文為正整數(shù)或零為例對(duì)加解密過(guò)程進(jìn)行描述,負(fù)整數(shù)的處理方法類(lèi)似,只是需要依據(jù)求模操作在不同編程語(yǔ)言中的具體含義來(lái)加以處理. 加密過(guò)程是首先將PK 中的非初始元素的2k個(gè)公鑰平均分成兩組,每組元素個(gè)數(shù)為k,然后分別從兩組公鑰中各隨機(jī)選擇一個(gè)公鑰相乘,重復(fù)進(jìn)行a(0

      算法2 數(shù)據(jù)加密輸入:明文m,位數(shù)為n,公鑰PK,正整數(shù)k(公鑰包含的元素個(gè)數(shù)為2k+1)輸出:加密密文c 1.function Encrypt(PK,m,k)2. do 3.generate random positive integer number a 4. while a>k2 5.sum ←0 6. for i from 0 to a-1 step 1 7.do 8.generate random positive integer number e1 9.generate random positive integer number e2 10.while e1>k or e2>k 11. generate random positive integer number b 12. sum ←sum+PK[0][e1]*PK[1][e2]*b 13. end for 14. generate random positive integer number r 15. c=(m+2n×r+2n×sum)mod pkf 16. return c 17.end function

      (2)解密模塊

      對(duì)于正整數(shù)的密文結(jié)果c,用戶(hù)可使用私鑰SK 對(duì)c根據(jù)T=(cmod SK)mod 2n公式進(jìn)行解密得到明文結(jié)果T. 負(fù)整數(shù)密文解密的處理方法類(lèi)似.

      另外,關(guān)于基于同態(tài)加密的CNN 智能計(jì)算,不管是加密過(guò)程還是密文計(jì)算過(guò)程,都會(huì)涉及大量的循環(huán)計(jì)算,因此可以使用并行化提高效率,推動(dòng)密文計(jì)算的實(shí)際應(yīng)用.

      4 實(shí)驗(yàn)與分析

      本節(jié)對(duì)隱私服務(wù)計(jì)算模型進(jìn)行實(shí)驗(yàn)分析,主要分為算法對(duì)比和密文預(yù)測(cè)分析兩部分. 實(shí)驗(yàn)環(huán)境是使用Dell PowerEdge R740 服務(wù)器,CPU 是Intel Xeon Silver 4116@2,內(nèi)存64 GB,固態(tài)硬盤(pán)960 GB,機(jī)械硬盤(pán)3.6 TB,使用Python語(yǔ)言開(kāi)發(fā).

      4.1 算法對(duì)比實(shí)驗(yàn)

      實(shí)驗(yàn)主要將本文使用的ON-DGHV 算法與NDGHV 算法以及CMNT 算法(1 bit)進(jìn)行比較.3 種算法都使用非對(duì)稱(chēng)同態(tài)加密,實(shí)驗(yàn)從加密數(shù)據(jù)的個(gè)數(shù)和位數(shù)兩個(gè)方面展開(kāi)工作.

      (1)加解密數(shù)據(jù)個(gè)數(shù)相同,位數(shù)不同

      實(shí)驗(yàn)對(duì)象為10 000 個(gè)數(shù)據(jù),設(shè)定為常見(jiàn)的十進(jìn)制數(shù),改變數(shù)據(jù)位數(shù),分別設(shè)計(jì)為1,4,7 和10 位,測(cè)試指標(biāo)是加密和解密時(shí)間. 不同位數(shù)的10 000個(gè)數(shù)(數(shù)據(jù)是隨機(jī)生成的)要進(jìn)行50 次實(shí)驗(yàn)并將測(cè)試指標(biāo)的平均值作為結(jié)果,見(jiàn)圖4 和圖5. 為了清晰表述,兩個(gè)圖均分為(a)和(b)兩個(gè)子圖,子圖(a)是三種算法的變化對(duì)比,而子圖(b)則是兩類(lèi)DGHV 算法的時(shí)間對(duì)比. 隨著數(shù)據(jù)位數(shù)的增多,ON-DGHV 和N-DGHV 算法的加/解密時(shí)間變化幅度都較小,基本保持不變,且當(dāng)橫坐標(biāo)(位數(shù))大于等于4 時(shí),加/解密的時(shí)間明顯小于CMNT 算法.ONDGHV 和N-DGHV 算法一次可以加/解密nbit 數(shù)據(jù)(實(shí)際應(yīng)用中需要預(yù)處理得到n),可直接對(duì)十進(jìn)制數(shù)(nbit)進(jìn)行一次加/解密處理,而CMNT 算法一次只能加/解密1 bit數(shù)據(jù)(只支持0 與1 的加密),需將十進(jìn)制數(shù)據(jù)轉(zhuǎn)化為二進(jìn)制,然后逐位進(jìn)行加/解密操作,因此當(dāng)數(shù)據(jù)位數(shù)較多時(shí)耗時(shí)更明顯. 也就是說(shuō),CMNT加/解密時(shí)間依賴(lài)數(shù)據(jù)位數(shù),呈類(lèi)線性關(guān)系.

      圖4 加密時(shí)間隨數(shù)據(jù)位數(shù)變化對(duì)比圖

      圖5 解密時(shí)間隨數(shù)據(jù)位數(shù)變化對(duì)比圖

      另外,ON-DGHV 是在N-DGHV 算法的基礎(chǔ)上,使用了平方公鑰壓縮方法對(duì)公鑰空間進(jìn)行縮減,因此ONDGHV比N-DGHV加密算法耗時(shí)會(huì)增多,但是通過(guò)實(shí)驗(yàn)可得知區(qū)別不是很大,是可以接受的.

      (2)加解密數(shù)據(jù)位數(shù)相同,個(gè)數(shù)不同

      設(shè)定數(shù)據(jù)位數(shù)不變,都是5 位的十進(jìn)制數(shù),加密數(shù)據(jù)個(gè)數(shù)(隨機(jī)生成)分別是1000,10 000,100 000 和1 000 000,經(jīng)過(guò)50 次實(shí)驗(yàn)求得測(cè)試指標(biāo)的平均值. 測(cè)試指標(biāo)仍舊是加/解密時(shí)間. 實(shí)驗(yàn)結(jié)果如圖6 和圖7 所示,同樣,為了清晰展示,兩圖又分別劃分為(a)和(b)兩個(gè)子圖,用來(lái)表示三種算法以及兩類(lèi)DGHV 算法的對(duì)比. 可以看出,三種算法的加/解密時(shí)間都隨加密數(shù)據(jù)個(gè)數(shù)的增加而增加,但是ON-DGHV 和N-DGHV 算法增長(zhǎng)相對(duì)緩慢,CMNT算法增長(zhǎng)明顯.

      圖6 加密時(shí)間隨數(shù)據(jù)個(gè)數(shù)變化對(duì)比圖

      圖7 解密時(shí)間隨數(shù)據(jù)個(gè)數(shù)變化對(duì)比圖

      對(duì)ON-DGHV 與N-DGHV、CMNT 算法進(jìn)行比較,總結(jié)如表2 所示,可知ON-DGHV 算法由于支持多位(bit)加密,加/解密的效率較高,同時(shí)使用公鑰壓縮方法使公鑰空間減少,占據(jù)存儲(chǔ)資源少,符合本文隱私保護(hù)服務(wù)應(yīng)用場(chǎng)景.

      表2 同態(tài)加密算法對(duì)比表

      4.2 密文預(yù)測(cè)分析實(shí)驗(yàn)

      本節(jié)基于numpy 庫(kù)[27]實(shí)現(xiàn)前文提到的卷積神經(jīng)網(wǎng)絡(luò)計(jì)算模型,可分為以下8 個(gè)部分:圖像加密、模型加密、卷積層、激活層、池化層、全連接層、加隨機(jī)數(shù)、解密. 這里使用ON-DGHV 加密算法進(jìn)行實(shí)驗(yàn),并選用常見(jiàn)的MNIST 手寫(xiě)數(shù)據(jù)測(cè)試集[28]. 該數(shù)據(jù)集是用于識(shí)別手寫(xiě)數(shù)字(圖像分類(lèi))的,每個(gè)圖片大小是28×28×1,即尺寸為28×28 的灰度圖,卷積核個(gè)數(shù)為6,步長(zhǎng)為1.這里首先通過(guò)MNIST測(cè)試集中的60 000張圖片訓(xùn)練模型,然后對(duì)10 000 張樣本圖片進(jìn)行預(yù)測(cè)操作,分別完成明文及密文預(yù)測(cè)(設(shè)置好支持預(yù)測(cè)圖片數(shù)值的加密位數(shù)參數(shù)n)兩類(lèi)計(jì)算,再求各個(gè)圖片預(yù)測(cè)準(zhǔn)確度的平均值,得到明文是98.25%,密文是98.16%,密文對(duì)圖片分類(lèi)準(zhǔn)確度的影響較小. 進(jìn)而分析明文和密文關(guān)于CNN各層的執(zhí)行時(shí)間占比平均值,如表3 所示,可以看出,密文計(jì)算對(duì)卷積層和全連接層的影響較為明顯.

      表3 明密文CNN各層執(zhí)行時(shí)間占比對(duì)比表

      進(jìn)一步,分析密文計(jì)算整體各部分的執(zhí)行情況,如圖8 所示,最后兩步操作,加隨機(jī)數(shù)和解密,由于時(shí)間占比過(guò)小,在圖中合并為一類(lèi). 分析實(shí)驗(yàn)結(jié)果,密文計(jì)算增加的功能,即圖像加密、模型加密、加隨機(jī)數(shù)和解密占比41.9%. 其中,模型加密耗時(shí)最多,為38.4%,是對(duì)卷積層和全連接層參數(shù)的加密操作. 密文計(jì)算各層共占比58.1%,其中卷積層和全連接層則占比達(dá)到54.4%. 從上述分析可知,卷積層和全連接層對(duì)密文計(jì)算效率影響大,這是后續(xù)應(yīng)用中性能優(yōu)化的重點(diǎn)部分.

      圖8 密文卷積預(yù)測(cè)模型各部分時(shí)間占比圖

      5 結(jié)論

      本文研究面向CNN 的區(qū)塊鏈可信隱私服務(wù)計(jì)算模型,使用ON-DGHV 同態(tài)加密算法和區(qū)塊鏈技術(shù),以求加強(qiáng)服務(wù)計(jì)算中數(shù)據(jù)的安全、隱私保護(hù)和可信性,具有以下特點(diǎn).

      (1)提供了一套服務(wù)計(jì)算的解決方案,改善了服務(wù)計(jì)算和數(shù)據(jù)隱私保護(hù)之間的矛盾,在享受云服務(wù)計(jì)算便捷性的同時(shí),保護(hù)用戶(hù)隱私安全,有助于資源、數(shù)據(jù)的有效整合,以及推動(dòng)新技術(shù)的應(yīng)用和發(fā)展.

      (2)探索同態(tài)加密和密文智能計(jì)算方法,并進(jìn)行實(shí)踐,尋求隱私服務(wù)計(jì)算的應(yīng)用可行性.

      (3)區(qū)塊鏈和智能合約技術(shù)貫穿業(yè)務(wù)全過(guò)程,加強(qiáng)服務(wù)和交易的可信性. 模型共享、服務(wù)等過(guò)程上鏈存證,權(quán)益評(píng)估智能合約化,可增加規(guī)則透明度,權(quán)責(zé)可追溯,權(quán)益可保障,增強(qiáng)隱私計(jì)算服務(wù)的實(shí)用性. 同時(shí),數(shù)據(jù)隱私保護(hù)技術(shù)也可增強(qiáng)區(qū)塊鏈和智能合約的安全性,擴(kuò)展其應(yīng)用范圍.

      本研究還在初步探索階段,主要針對(duì)基礎(chǔ)的同態(tài)加密算法、CNN 模型及數(shù)據(jù)集展開(kāi)工作,后續(xù)還需要研究更多的加密和智能計(jì)算模型,實(shí)踐更多的場(chǎng)景,根據(jù)場(chǎng)景研究提高準(zhǔn)確度和效率的方法,并進(jìn)一步挖掘區(qū)塊鏈技術(shù)的融合機(jī)制,以求推動(dòng)更深入、更廣泛的應(yīng)用.

      猜你喜歡
      同態(tài)服務(wù)端公鑰
      關(guān)于半模同態(tài)的分解*
      拉回和推出的若干注記
      一種基于混沌的公鑰加密方案
      云存儲(chǔ)中基于相似性的客戶(hù)-服務(wù)端雙端數(shù)據(jù)去重方法
      新時(shí)期《移動(dòng)Web服務(wù)端開(kāi)發(fā)》課程教學(xué)改革的研究
      在Windows Server 2008上創(chuàng)建應(yīng)用
      一種基于LWE的同態(tài)加密方案
      HES:一種更小公鑰的同態(tài)加密算法
      SM2橢圓曲線公鑰密碼算法綜述
      基于格的公鑰加密與證書(shū)基加密
      松原市| 正蓝旗| 米泉市| 涿州市| 土默特左旗| 武胜县| 灌南县| 昔阳县| 酉阳| 繁昌县| 名山县| 高碑店市| 绥德县| 清涧县| 青阳县| 安阳县| 潜江市| 阜宁县| 鄂温| 伊吾县| 清涧县| 青阳县| 巫山县| 沅陵县| 晋宁县| 子洲县| 仁怀市| 修武县| 江川县| 富顺县| 邻水| 拜泉县| 乌海市| 潜山县| 南通市| 法库县| 贵州省| 高碑店市| 宜昌市| 苏尼特左旗| 无极县|