現(xiàn)代加密方式已經(jīng)嵌入無數(shù)的數(shù)字系統(tǒng)和組件,成為保護(hù)數(shù)據(jù)安全性和隱私相關(guān)的必要工具。但是密碼學(xué)現(xiàn)在最大的限制,在于需要處理和分析敏感數(shù)據(jù)的時(shí)候必須進(jìn)行解密。然而,包括醫(yī)療、法律、制造商、金融和在線選舉等在內(nèi),有大量的領(lǐng)域需要對(duì)數(shù)據(jù)進(jìn)行分析處理;如果能不使用加密密鑰就直接對(duì)數(shù)據(jù)進(jìn)行分析,就能達(dá)成目標(biāo)的同時(shí),還能確保數(shù)據(jù)的隱私性。
這就產(chǎn)生了同態(tài)加密的概念。同態(tài)加密使用基于格加密的算法來隱藏輸入值、中值、輸出值,甚至函數(shù)本身可以讓任何沒有密鑰的人進(jìn)行計(jì)算。換而言之,同態(tài)加密可以直接使用于加密數(shù)據(jù)。
盡管說全同態(tài)加密(FHE)才誕生了十年多,伴隨強(qiáng)大算力的計(jì)算機(jī)和更好的算法,使得全同態(tài)加密得以落地。
繞過解密
同態(tài)加密的想法能追溯到1978年。那個(gè)時(shí)候,幾個(gè)MIT的研究人員設(shè)計(jì)了一種能夠加密情況下,進(jìn)行在單一數(shù)學(xué)計(jì)算(通常是乘法或者加法)的框架。這個(gè)概念在2009年得以實(shí)現(xiàn),由Craig Gentry,在斯坦福的博士畢業(yè)論文中,設(shè)計(jì)了第一個(gè)全同態(tài)加密機(jī)制。
Gentry的設(shè)計(jì)只是一個(gè)起步。在過去十多年中,隨著云計(jì)算、物聯(lián)網(wǎng)的發(fā)展,第三方數(shù)據(jù)分享需求日益增多,而安全隱患也越來越多,從而進(jìn)一步推動(dòng)了同態(tài)加密的發(fā)展,誕生了一些更強(qiáng)大的同態(tài)加密算法。如今,同態(tài)加密圈的參與者包括IBM、微軟、美國(guó)國(guó)防部高級(jí)研究計(jì)劃局,以及一些創(chuàng)業(yè)公司等。
微軟研究院的高級(jí)密碼學(xué)家Josh Benaloh認(rèn)為,直接在加密后的數(shù)據(jù)上進(jìn)行計(jì)算有非常大的收益,因?yàn)檫@種計(jì)算方式能讓數(shù)據(jù)計(jì)算進(jìn)行外包,又能避免數(shù)據(jù)泄露的風(fēng)險(xiǎn)。
同態(tài)加密的落地領(lǐng)域十分廣泛。舉例而言,如果一個(gè)企業(yè)想證明他們有足夠的資源處理某個(gè)項(xiàng)目,或者他們需要給一個(gè)外部公司或者政府部門提交數(shù)據(jù)進(jìn)行審計(jì);同態(tài)加密能夠基于提交的敏感財(cái)務(wù)信息判斷其是否合規(guī),而不需要將原有的數(shù)據(jù)進(jìn)行呈現(xiàn)。
當(dāng)和區(qū)塊鏈結(jié)合的時(shí)候,同態(tài)加密未來可以融入新的智能合同、工作協(xié)議、分?jǐn)偨Y(jié)算等現(xiàn)在尚無法實(shí)現(xiàn)的東西。它可以讓區(qū)塊鏈中的成員更靈活、安全地分享數(shù)據(jù),包括在鏈上加入或者移除某個(gè)成員等。
這些收益不止在于商業(yè)層面。同態(tài)加密還能讓個(gè)人提交自身的基因數(shù)據(jù)來識(shí)別自身的風(fēng)險(xiǎn)因素,而不需要泄露這個(gè)人的真實(shí)身份。
同態(tài)加密還支持下一代的網(wǎng)絡(luò)安全功能。比如,可以通過簡(jiǎn)潔、無交互的快速加密驗(yàn)證方式,進(jìn)行“零知識(shí)”證明代碼中不含有錯(cuò)誤,從而實(shí)現(xiàn)在不顯示產(chǎn)權(quán)代碼的前提下開發(fā)沒有漏洞的軟件。
隱私問題
同態(tài)加密還能使數(shù)據(jù)的所有者對(duì)數(shù)據(jù)有更強(qiáng)、更顆?;目刂?,意味著數(shù)據(jù)所有者能基于數(shù)據(jù)的使用方,按需對(duì)數(shù)據(jù)的接入權(quán)限進(jìn)行許可、拒絕和限制。
同態(tài)加密技術(shù)對(duì)大數(shù)據(jù)環(huán)境尤其適合,因?yàn)榇髷?shù)據(jù)環(huán)境會(huì)需要涉及大量的云端計(jì)算能力,還要保持其中數(shù)據(jù)的隱私性。
Gentry表示:“云端可以對(duì)加密的數(shù)據(jù)進(jìn)行處理,甚至使用的函數(shù)本身都是被加密的——這樣云端除了數(shù)據(jù)的體量之外,對(duì)數(shù)據(jù)一無所知。”
以微軟的ElectionGuard為例,能讓公民確認(rèn)自己的選票是否被計(jì)入,而不需要影響整個(gè)選票池的安全和隱私性。每個(gè)投票都被加密,并且分配了一個(gè)獨(dú)特的識(shí)別碼。選票會(huì)被計(jì)入,但是每個(gè)人的身份依然會(huì)被隱藏,且不可見。該平臺(tái)尚處試點(diǎn)階段,目標(biāo)是產(chǎn)生可驗(yàn)證、安全、可審計(jì)的投票結(jié)果。
另一方面,開源項(xiàng)目Microsoft SEAL則提供了一個(gè)代碼庫(kù),供使用者直接運(yùn)用同態(tài)加密,而不需要自己開發(fā)復(fù)雜的數(shù)學(xué)公式。該平臺(tái)能處理所有加密后的實(shí)數(shù)加法運(yùn)算與乘法運(yùn)算,可以通過API被各類環(huán)境調(diào)用。IBM也開發(fā)了一款名為HElib的免費(fèi)開源同態(tài)加密代碼庫(kù)。兩個(gè)平臺(tái)都能通過GitHub發(fā)行。
同態(tài)加密還有多久?
盡管說同態(tài)加密領(lǐng)域已經(jīng)有了很大的突破,但是如果要將同態(tài)加密引入業(yè)務(wù)流之中,依然還有大量的工作要做。其中的一個(gè)問題就是性能。在落地中,現(xiàn)有的算法都需要極高的算力上限,意味著加密數(shù)據(jù)所使用的計(jì)算時(shí)間會(huì)相比未加密數(shù)據(jù)高出數(shù)倍之久。在Benaloh看來,需要的算力之大,使得在落地實(shí)踐上極其困難。
同態(tài)加密在某些領(lǐng)域的效果尤為明顯。很多時(shí)候,該技術(shù)會(huì)被微調(diào)以適應(yīng)特別的需求。暫時(shí)來看,開發(fā)能夠適應(yīng)大范圍現(xiàn)實(shí)工作中任務(wù)的同態(tài)加密軟件也才剛剛浮現(xiàn)出曙光。
“如果要讓全同態(tài)加密技術(shù)在大部分目的中變得可行,需要改進(jìn)算法以減少算力消耗。”Benaloh提到,“我們需要進(jìn)一步改良算法,從而使他們更易于進(jìn)行全同態(tài)加密。”
不過,同態(tài)加密的未來似乎很光明,有不少專家認(rèn)為這項(xiàng)技術(shù)能得到廣泛運(yùn)用,在未來數(shù)年就能對(duì)業(yè)界引起巨大影響。
數(shù)世點(diǎn)評(píng):
我們一直在說,安全會(huì)影響業(yè)務(wù)的進(jìn)程——這一點(diǎn)在數(shù)據(jù)上也不例外。加密后的數(shù)據(jù)固然更加安全,但是使用起來卻需要經(jīng)過解密、再加密的過程,中途還可能存在數(shù)據(jù)泄露的風(fēng)險(xiǎn)。同態(tài)加密在理念上能解決“解密、再加密”的多余過程,但是暫時(shí)來看無論是算法本身,還是對(duì)算力的需求依然不夠成熟。但是,不可否認(rèn)的是,同態(tài)加密是未來密碼學(xué)領(lǐng)域的一大方向,而我們國(guó)家也需要有更多的數(shù)學(xué)家,去研發(fā)屬于我們國(guó)家的同態(tài)加密算法。