區(qū)塊鏈技術(shù)具備篡改難度高、使用成本低的優(yōu)點,本應(yīng)成為各行各業(yè)的重要助力。然而,各參與方擔(dān)心自己的數(shù)據(jù)外泄,成為區(qū)塊鏈應(yīng)用過程中的主要難題。
在現(xiàn)有技術(shù)中,ABE為這個難題提供了一個可行的解決方案。通過ABE,區(qū)塊鏈中數(shù)據(jù)所有權(quán)將得到有效保護(hù),鏈上數(shù)據(jù)依舊為參與者本人所有,外人無法控制。
作為國內(nèi)外研究的重點領(lǐng)域,計算機界關(guān)于密碼學(xué)的研究熱度一直居高不下。有“計算機諾貝爾獎”之美譽的圖靈獎,其得主大半都是來自于加密領(lǐng)域。
在外界看來,密碼學(xué)同量子力學(xué)一樣,屬于一門高深莫測的學(xué)問。但實質(zhì)上,不同于量子力學(xué)的原理較為復(fù)雜抽象,密碼學(xué)基本原理并不難懂,其問題多可以歸結(jié)為求解一個數(shù)學(xué)求解問題。也就是說,密碼問題,通常是數(shù)學(xué)問題。
ABE、屬性、策略
首先,ABE是什么?
從定義來講,ABE是基于屬性的加密,即(Attribute-Based Encryption)。與RSA、IBE(基于身份加密)等加密方式相比,其最大的不同點是實現(xiàn)了一對多的加解密。也就是說,ABE不需要像其他加密方式那樣,每次加密都必須知道接受者的身份信息,當(dāng)用戶擁有的屬性符合加密者所描述的策略時,用戶就可以解密。
這里提到了屬性一詞。那么,屬性指的是什么呢?
屬性可以理解為一個對象具有的某些特征。舉個例子,Jacky Li是A大學(xué)信息安全學(xué)院的教授,那么“A大學(xué)”,“信息安全學(xué)院”以及“教授”就是ABE中刻畫Jacky Li這個人的多個屬性,多個不同的屬性,可以構(gòu)成不同的屬性集合。在此基礎(chǔ)上,策略實際即是由屬性及它們間關(guān)系所組成的一個邏輯表達(dá)式。
倘若拋開嚴(yán)謹(jǐn)?shù)亩x,用一句話說明ABE公鑰加密算法,其實就是看屬性集合與策略是否匹配密碼要求的一個游戲。
了解數(shù)字貨幣的朋友,對公鑰和私鑰的概念大體不會陌生。用銀行卡作類比的話,我們可以近似的把公鑰理解為銀行卡號,把私鑰理解為銀行卡密碼,用戶通過私鑰來嘗試解密密文。
在ABE中,我們?nèi)趸€這一概念,稱之為公共參數(shù)(public parameter)。屬性集合則被嵌入到私鑰中,如果用戶擁有的屬性可以與密碼要求的策略匹配成功,那么就可以成功解密啦!
來看一個例子
現(xiàn)有一條密文策略規(guī)定:參與X課題 or(信息安全學(xué)院 and A大學(xué)and 教授)。
這條策略表達(dá)的含義是,唯有X課題組的成員或A大學(xué)信息安全學(xué)院的教授才能滿足要求進(jìn)行解密?,F(xiàn)在有三個用戶,分別是A大學(xué)信息安全學(xué)院的Alan教授,A大學(xué)經(jīng)濟管理學(xué)院的Black教授,B大學(xué)參與X課題的Charles教授。
三個用戶中,Alan的屬性集合{計算機學(xué)院,A大學(xué),教授}滿足要求,Charles的屬性{參與X課題}也滿足要求,但是Black的屬性不能滿足要求。所以Alan和Charles解密成功,而Black解密失敗。
KP-ABE 與 CP-ABE
目前,實現(xiàn)ABE的方案主要有CP-ABE(密文策略ABE)和KP-ABE(秘鑰策略ABE)。二者最大的分別在于策略和屬性的匹配方式上。
所謂CP-ABE,指的是策略嵌入在密文中,屬性集合嵌入到密鑰中,當(dāng)且僅當(dāng)屬性能夠滿足策略時可以解密。而KP-ABE是指,策略嵌入到密鑰中,屬性集合嵌入到密文中。
雖然在結(jié)構(gòu)上,二者具有明顯的對偶關(guān)系,但在實際使用中,二者的應(yīng)用場景卻有著明顯的不同。CP-ABE由于策略嵌入密文中,這就意味著,數(shù)據(jù)擁有者可以通過設(shè)定策略去決定擁有哪些屬性的人能夠訪問這份密文,也就相當(dāng)于對這份數(shù)據(jù)做了一個加密訪問控制。
CP-ABE的應(yīng)用場景一般是公有云上的數(shù)據(jù)加密存儲與共享,而KP-ABE的應(yīng)用場景則更加偏向于付費視頻網(wǎng)站、日志加密管理等等。
與區(qū)塊鏈怎么結(jié)合
目前,從宣傳來看,如簽名、加密等技術(shù)與區(qū)塊鏈相結(jié)合,已經(jīng)不是一件很稀奇的事,很多團(tuán)隊都在宣稱將各種新技術(shù)加進(jìn)自己的區(qū)塊鏈產(chǎn)品中。尤其是此前牛市的時候,幾乎一條新技術(shù)結(jié)合的新聞就能帶來一輪猛漲。
但事實上,僅把技術(shù)與區(qū)塊鏈結(jié)合并不困難,問題在于結(jié)合以后究竟有沒有價值呢?
任何新技術(shù)加進(jìn)來之后,其價值最終還是要歸到對鏈本身有所優(yōu)化上,不能加進(jìn)某個新技術(shù)之后,對鏈本身沒什么影響,甚至還拖慢了性能。即便知名度高如以太坊,圍繞著分片技術(shù)進(jìn)行了多次的討論與升級,結(jié)果也始終差強人意。
因此,Trias鏈設(shè)計的重點放在研究其實現(xiàn)難度以及可能存在的問題上,比如共識算法的優(yōu)化、效率的提升、區(qū)塊如何設(shè)計等,重點在于找準(zhǔn)他們的重點場景、真實場景,而非僅僅作為噱頭來展示。
這是很有遠(yuǎn)見的做法。我們常說,“磨刀不誤砍柴工”,在任何一項技術(shù)與區(qū)塊鏈的結(jié)合之前,都要進(jìn)行反反復(fù)復(fù)的探討和可行性驗證,而具體實現(xiàn)已經(jīng)是相對往后的步驟了,倉促上馬的產(chǎn)品,其實際效果很難得以保證。
如某知名大嘴曾站臺的一系列項目,一度搞出金光閃閃的噱頭,但是其產(chǎn)品卻始終不盡如人意,營銷雖好,但瘸了一條腿,跑的終歸快不了。
價值,在于隱私性
目前,Trias正在深化推進(jìn)ABE在各領(lǐng)域的可行性價值研究。Trias認(rèn)為,ABE密碼學(xué)與區(qū)塊鏈結(jié)合的要義在于隱私性。
我們知道,區(qū)塊鏈的一大特點在于數(shù)據(jù)共享,這本是區(qū)塊鏈的一大優(yōu)點。然而,在實際應(yīng)用中,很多參與者的數(shù)據(jù)很涉及機密,數(shù)據(jù)所有者并不樂意把自己的數(shù)據(jù)公開出來。
比如在金融領(lǐng)域。數(shù)據(jù)上鏈可以提高數(shù)據(jù)本身的安全性,也有利于監(jiān)管機構(gòu)從區(qū)塊鏈中調(diào)取數(shù)據(jù)進(jìn)行監(jiān)管,這些我們都知道了。但是為什么金融領(lǐng)域的區(qū)塊鏈應(yīng)用遲遲推進(jìn)不下去呢?一個亟待解決的重要問題是,金融公司本身不愿意將數(shù)據(jù)存在鏈上。因為這些數(shù)據(jù)都是相當(dāng)敏感且重要的,一旦數(shù)據(jù)外泄,會帶來不小的損失。
而ABE則有利于解決這個問題。通過ABE,金融公司可以將自己的數(shù)據(jù)加密后傳到鏈上。由于數(shù)據(jù)全程都是密文,鏈上其他人拿到的都只是亂碼,拿到了也沒有用。
與之相對,金融公司自身可以控制誰能對數(shù)據(jù)進(jìn)行訪問,只需要把數(shù)據(jù)訪問的權(quán)限交給監(jiān)管機構(gòu)和與之有數(shù)據(jù)合作的伙伴即可。
傳統(tǒng)的加密方式是將數(shù)據(jù)加密后,將秘鑰發(fā)送給各個需要訪問數(shù)據(jù)的機構(gòu),這種方式效率雖然比較高,但是一旦秘鑰外泄,無法斷定是哪一個機構(gòu)作為。相比起傳統(tǒng)的加密,ABE的好處很明顯,因為每一個機構(gòu)的屬性不盡相同,其秘鑰也不盡相同,一旦我把秘鑰泄露給外界,很容易就被追查得到。
當(dāng)然,目前外界對ABE了解不多,人們很不愿意去相信不熟悉的東西,這是任何新技術(shù)誕生之后但會面臨的窘境。如何制定相關(guān)標(biāo)準(zhǔn)并讓各行業(yè)從業(yè)者了解到ABE的價值,還需要一段時間去解決。
來源: TRIAS?