加密機制到底是如何運作的呢?
第一,數據在產生時就非對稱加密
這裡採用的是非對稱加密技術,這種加密技術是目前加密領域中,應用比較廣泛且安全性較高的一種加密方式。在CarBlock的生態中,用戶一旦同意挖礦(貢獻數據),那麼他的數據就會用用戶自己的公鑰進行加密後上傳,這就從數據源頭開始保證,確保數據在出來的那刻就已經被安全的處理,防止洩露或者被篡改。因為只有用戶自己的私鑰才能解開加密數據,所以從根本上保證了數據完整性和安全性。
第二,數據在交易中被代理重加密
交易中採用的是代理重加密(Proxy Re-Encryption)技術。代理重加密並不是新的技術,但是卻是非常符合數據交易的模型,這裡有兩點:
1、代理重加密可輕鬆解決1對N的模型。
下面用加密領域常見的幾個人Alice、Bob、Cathy來詳細舉例講講。在以往的安全通訊模型中,如果Alice要把自己的數據安全的給到Bob的話,就需要拿到Bob的公鑰,加密後傳給Bob,Bob就可以用自己的私鑰解開獲得原始數據。但是,如果Alice還希望把數據給Cathy的話,那就得要同樣拿到Cathy的公鑰,做相同的事情。可以看到這種模式是1對1的。這樣無疑增加了Alice的負擔,因為她在加密之前,還不得不把之前加密的數據進行解密。
而代理重加密就很好的解決了這個問題,CarBlock作為中間的代理,儲存的是用戶用自己的公鑰加密後的數據。我們還是以Alice的這個例子來看,如果Bob作為買方,需要Alice的數據的話,那麼Alice唯一要做的只是生成一個代理重加密的秘鑰,對數據進行重加密後,給到Bob,Bob就能用自己的私鑰解開。同樣如果Cathy需要Alice的數據,那麼對Alice的數據進行一次代理重加密即可。
Alice無需解開原來已加密的數據,每次交易只是生成一份新的代理重加密數據。在這裡,CarBlock充分利用了代理重加密1對N的特性,來解決數據交易中的1對N的場景。
2.CarBlock在整個數據交易過程中是不會接觸到原始數據的。
作為數據交易服務的提供方,無論從原則上還是從技術上,都應該做到無法接觸到用戶原始的數據,這樣就真正從底層實現了用戶隱私保護,這個在數據交易中非常重要,因為如果不做到這點,那用戶就會懷疑,數據交易服務的提供商有沒有自己留一份原始數據出售或挪作他用,用戶的數據隱私也得不到徹底的保護。
而使用代理重加密機制的話,數據在流轉的過程中,始終不會有機會被第三方解密,數據只有賣方或者買方透過自己的私鑰才能解開,這樣既保證了數據的完整性,又保證了數據的隱私性。
本文為巴比特資訊授權刊登,原文標題為「【老梁談落地】數據交易在區塊鏈落地的加密機制」