區塊鏈技術如何保護行車數據不被篡改?
本文轉載自公眾號“讀芯術”(ID:AI_Discovery)
從目前來看,對于行車數據以及其他數據的掌控,汽車公司和用戶之間存在著一定的逆差,用戶往往不能完全了解自己汽車的數據信息,鑒定起來也很艱難。對于和飛機黑匣子一樣重要的行車數據,應該努力做到公平,透明,可信,區塊鏈技術或許能夠助其一臂之力。
一、如何保證“數據”的絕對安全?
1.汽車的數據儲存在哪里?
當前行車數據,會被存儲在汽車電腦內的程序存儲器和臨時存儲器內。前者廠家擁有最高權限,里面的數據保證車子正常運作,后者保存不同車主駕駛習慣的數據,用以提升駕駛體驗。而日常的駕駛數據在傳統汽車中,是很難存在車內的。因此,行車記錄儀和返廠檢查非常必要。
從以上不難看出,用戶對行車記錄儀的數據有著掌控權,而其他行車數據都由廠方檢查和公布,數據雙方并不公開共享。廠方檢測完車體后,可以進行“有選擇地公布數據”,這種行為不僅不安全,對用戶也極不友好。同時,雙方存放數據時會用到數據庫,屆時也會存在數據損壞、數據后期被修改等問題。若使用數據庫的同時配有防御機制較差,還容易遭受注入攻擊等,導致用戶數據泄漏,甚至被篡改刪除。
2.對稱加密技術:最簡單,但很危險
如果要保證數據的安全性,就需要為數據加把鎖。給數據加上鎖的方式,就是加密的過程。當下有兩種加密方式:對稱加密和非對稱加密。
對稱加密的核心,便是“約定”:即參與加密信息交流的所有人統一約定一個加密方式。這種加密方式是可逆的,比如,規定只傳數字時,所有的原文轉位密文的方式是“加五”,則可倒推解密方式就是每個數字減五。這樣的加密方式必然會存在一些漏洞:一是容易被查出規律,如通過文本中的重復字符即可猜測加密方式;二是規定本身不安全,即如何保證討論的加密方式不被別人知道,如果你和一百個人共同使用一個密鑰進行密文傳輸,只要其中一個人的密鑰被盜竊了,那么整體加密的信息將都被破解。因此目前使用的一些對稱加密方式,如DES,AES等,都有著極為復雜的加密轉換過程。
非對稱加密過程,有公鑰和私鑰,公鑰所有人都可見,私鑰僅自己持有。即就算知道了大家都可見的公鑰,也無法破解密文,因為由公鑰加密的密文只有對應的私鑰能破解;同理,由私鑰加密的密文只有對應的公鑰能破解。同時,這種加密方法能保證不受任何人干擾,生產出僅自己可以獲得的私鑰。當然,存在強行破解的概率,以現在的密鑰長度和加密復雜程度,強行破解時間需要用上全世界的電腦一起算上三千萬年,約等于無法破解。這種加密算法應用非常廣泛,比如數字簽名等。
3.非對稱加密技術:將鑰匙握在自己手里
在了解的非對稱加密技術之后,我們可以簡單說一下區塊鏈以及它為什么安全。以區塊鏈中的數字簽名為例,它的主要原理是私鑰加密,公鑰解密。具體來說,假如我們有一串文本P“The quick brown fox jumps over a lazy dog.”由A的私鑰(private key)加密,生成的文本叫E,則我們可以表示為:E = (P,Private of A)。要解密這個密文,只能用A的公鑰,則我們可以得到:D = (E,Public Of A)。也就意味著,能夠通過公鑰A解密的內容,一定是A發布的,這樣我們就能準確找到的發布人,這樣發布人的可信度、發布時間等信息就能得到確認。如果A發布了他的密文,并且經過檢驗后該密文確屬A發布,之后B結合A發布的密文,添加自己數據發布了屬于B的加密方式的密文,我們會發現,之前A的數據被永久封存在B的加密內容中了。如果這個鏈不斷的衍生,C加密了B,D加密了C,則原來的數據會被一直保留。
那么,是否可以更改最初或其中任意一環的數據呢?答案是:不可能——
首先,現有的密文輸出格式恒定,不會隨著數據內容多少的變化改變輸出長度。也就是說,區塊內數據記錄完成之后,礦工會對當前區塊內容打包,計算出當前區塊內所有數據的哈希值,并將這個哈希值記錄在下一個區塊的頭部。保證了記錄到區塊上的數據的完整性,一旦數據被篡改,重新驗算哈希值進行比對,就可以發現數據是否被篡改。
另外,因為數據會在之后的每一個節點備份,原文內容有一點點不同,哪怕是一個符號一個字母,都會對后面的密文產生極大的改變。即便有人能更改一兩個節點的數據,也很難做到對之后所有節點的數據進行同步更改。再者,區塊的獲取也絕非易事,比特幣有時會按全網10分鐘算力得出結果來作為一個區塊,這種區塊自身帶有一串認證,這種認證可看作x = 5 是 x + 2 = 7 的唯一解一樣。而某個團隊要仿造這種認證,需要有超過全網一定算力的能力,這幾乎是不可能實現的。同時,為了預防這種可能,比特幣的區塊鏈會更改運算難度,減少拜占庭將軍問題產生。
因此,我們能夠得出區塊鏈擁有無法仿造區塊,無法篡改區塊內容,對所有人都可見的特點。上鏈后的信息,對任何想要查看的人,都有著透明,公開,不可篡改的特點。
二、區塊鏈重新塑造汽車數據安全性
1.汽車數據、官方數據、品牌數據一手抓
回到行車數據信任問題,怎樣能將行車數據和區塊鏈結合呢?
在萬物聯網時代,汽車可以定時將自身收集到的數據上傳,上傳的數據經壓縮后上鏈,之后上傳的數據則被放在下一個區塊內,由于區塊鏈的特性,這一串數據都無法被偽造,篡改,刪除。
同時,在萬物聯網時代,汽車本身不一定會是唯一數據提供方。汽車行駛過的路段可配備數據采集器,附近一同行駛的汽車也可以提供該車的行駛細節。海量的數據在鏈上公開透明可信,隨時可抓取做數據分析,獲得詳細行車記錄和分析。
由于版本更替,很多品牌的車會做細節上的更新。各品牌的車可單獨成立一個區塊,下一次更新則會加在原先區塊后,因為區塊鏈透明公開、不可篡改的特點,以往每次的細節調整包括發展流程都會被顧客知曉。對于單個汽車而言,它的信息也可以上鏈,如出廠時間,配件信息等。于是這樣的車,從新鮮出爐到壽終正寢,信息一直是透明可查詢的,用戶和廠方之間的信息壁壘可以得到有效緩解。
2.理論簡單,現實骨感
需注意的是,區塊鏈的上鏈過程,并不是理論上那么簡單。為了防偽,區塊鏈用了算力博弈。曾經有掌控大量算力來偽造區塊的雙花攻擊案例,但這種攻擊方式在全局算力提升以及其他預防機制介入后,基本不存在了。但是,區塊鏈需要網絡。一個機器能離線計算卻不能實時獲取區塊鏈上的信息或上傳自己的數據,是無法成為區塊鏈的一環的。在車載上使用區塊鏈,也意味著:在一個新的嵌入式系統中加入區塊鏈廣播、計算和提交,同時確保極端環境下傳播接收和計算的穩定性。在滿足這種需求的情況下,還要保證硬件成本可控,并且該類區塊鏈操作不能過度影響能耗,除此之外各種抗壓測試也不能少。
那么,真的存在這樣的嵌入式車載系統和穩定的上鏈技術嗎?
三、購買、保養、續航,區塊鏈重構汽車使用經歷
1. 區塊鏈技術保證交易過程公開透明
并非僅僅在汽車出事后,它的數據才會被用。在日常生活中,如二手車交易時,區塊鏈技術是汽車的數字護照。比如,在二手車市場中,買方和賣方往往會進行如下交流:“行駛里程是多少?撞過沒?有沒有泡過水,有沒有定期保養?”甚至買方會試上一段路來確保車輛質量。同時,賣方也會提防買方是否在忽悠自己。存在這種現象的原因,都是因為沒有很好的技術方法驗證汽車狀況,所以雙方都會謹慎博弈。
、如果使用區塊鏈技術,不僅可以查看汽車的以往里程數,還能查看汽車的檢修保養記錄,甚至可以通過記錄查看該車在另一個鏈,如保養方面的歷史數據,以此避免購買時遇到信息不透明等問題。同樣的,如果橫向對比汽車品牌給出的數據,便能獲得更多對比數據,加以人工智能等技術扶持,給出一份“值不值”的報告。類似的技術最近已初具雛形,比如奇瑞技術將區塊鏈技術植入車內,車內數據會定時上傳上鏈,包括車輛信息和電池信息等,方便車主自行查閱。
2. 汽車的一生,都記錄在它的鏈內
在汽車的其他相關方面,區塊鏈也有一定的應用場景。如利用區塊鏈技術進行供應鏈驗證。解決車體問題,如車體部件損壞等是,可能常遭遇汽車廠方和部件提供方的踢皮球。區塊鏈為供應鏈的跟蹤和文檔記錄做出了改革,汽車零部件的周轉之路在區塊鏈的協作下,更易于操縱和查控。
3.減少續航過程中的難題,車主輕松上路
在未來,新能源汽車的充電問題也無法避免。目前的混合動力車就經常遇到因沒有在充電運營商注冊而難以充電的難題。區塊鏈技術通過分散充電網絡和電力供應商的智能合約,就可以解決這種問題。通過車內區塊鏈錢包和區塊鏈網絡,向充電樁的區塊鏈錢包充值。這個過程是P2P的,不需要過多的手續。并且所有過程都具有區塊鏈的特點:公開透明可查詢不可篡改。車主可以做到簡單充電,放心充電。