官术网_书友最值得收藏!

2.3 非對稱加密實現了身份驗證,解決信任問題

區塊鏈也被稱為信任鏈,通過身份認證建立對現代商業至關重要的信任關系。在前面的章節中,我們提到,區塊鏈用密碼學方法解決了信任問題,并實現了安全和不可更改的特性。

在區塊鏈的分布式網絡里,節點之間進行通信并達成信任,通過數字簽名實現身份的確認以及信息真實性、完整性的驗證。所以,數字簽名的作用有二,一是確定消息是由發送方簽名并發送出來的,二是確認消息的完整性。數字簽名的完成過程涉及哈希算法、非對稱加密等加密技術,這些加密技術是區塊鏈實現信任的基礎。

區塊鏈技術中的哈希算法

區塊鏈的數字簽名在加密時所涉及的兩個核心技術分別是哈希算法和非對稱加密。

哈希算法,通常也被稱作散列函數。它可以把任意長度的明文二進制數據通過散列函數算法,變換成較短的固定長度的二進制數據,這個二進制值就被稱為哈希值。區塊鏈技術的代表—比特幣所使用的哈希算法是SHA-256,其安全性非常高。

哈希算法擁有以下特點:

正向快速:通過哈希算法能在有限時間和有限資源內,將任意長度的明文快速計算出哈希值。

逆向困難:給定若干哈希值,在現有計算條件下,有限的時間內幾乎無法通過哈希算法逆推出明文。

雪崩效應:哪怕原始輸入信息修改一丁點兒,通過哈希算法計算得到的哈希值就會有很大的不同。所以,數據是否被篡改過,是否完整,都可以通過它的哈希值進行檢驗。

長度一致:長度不一樣的信息經過散列計算后,長度是一致的。

避免沖突:不同的明文,通過散列計算后不會得到相同的哈希值,避免發生沖突,如圖2-7所示。

圖2-7 內容更改后,哈希值完全改變

哈希算法在區塊鏈技術中的應用主要有以下幾個優勢:第一,加密私鑰,保證密鑰安全。第二,驗證數據區塊,形成唯一的交易ID。哈希值是一段固定長度且極其緊湊、數據唯一的數值表示形式,可作為區塊ID,并實現數據驗證功能。第三,實現工作量證明。哈希函數的難題友好性構成了基于工作量證明(Proof of Work,PoW)的共識算法的基礎。通過哈希算法計算得出的符合特定要求的哈希值,可以作為共識算法中的工作量證明。

哈希算法在日常的應用中也比較常見,比如我們在驗證下載的文件是否完整時,哈希值就是一個驗證手段。我們下載的文件哪怕有一個字節不一樣,也會得出不一樣的哈希值。另外,我們在進行網站注冊時設置的密碼,一般也會通過哈希算法計算后進行密文存儲,而不會用明文存儲,以防止數據庫泄露。驗證時,用戶輸入的密碼在通過哈希算法計算后和數據庫里的哈希值進行對比來確定身份。這兩個功能就分別是哈希算法對數據完整性驗證和用戶身份驗證的應用。

什么是非對稱加密

非對稱加密是對加密和解密過程的一種描述。

加密,是通過一種算法,對原始的明文信息進行轉換,轉換而成的密文信息是一組隨機數。解密,是密文信息的接收者通過密鑰進行解密,從而還原得到原始明文再進行閱讀。密鑰就是加密和解密過程中的那把鑰匙。

如果加密和解密使用同一把鑰匙,那就是對稱加密。對稱加密的好處在于加密和解密的速度快,但是對稱算法的安全性依賴于密鑰,泄露密鑰就意味著任何人都可以對其發送或接收的消息進行解密,所以密鑰的保密性至關重要。

非對稱加密的密鑰有兩把:一把叫公鑰;一把叫私鑰。其中公鑰可以公開,私鑰則具有私密性。通信時,發送方利用公鑰對信息進行加密,接收方通過私鑰對信息進行解密,反之亦然。因為加密與解密用的是兩把不同的密鑰,所以這種算法也被稱為非對稱加密算法。

非對稱加密在通信前不需要先同步私鑰,避免了在同步私鑰過程中被黑客盜取信息的風險。例如,銀行頒發給個人用戶的私鑰就存儲在個人的U盾里。非對稱加密算法一般比較復雜,執行時間相對較長,好處在于無密鑰的分發問題。

非對稱密碼系統的安全性基于一些困難的數學問題,比如,基于大整數的因式分解問題、橢圓曲線問題等數學問題,也就是說,密碼的解密過程要遠遠比驗證答案費時。分解質因數做起來很難,但如果給出幾個素數求它們的乘積,那就簡單多了。這就是一個典型的不對稱算法。事實上,基于大整數的因式分解問題的密碼學算法即是RSA加密算法的基本原理,而橢圓曲線密碼學算法(Elliptic Curve Cryptography,ECC)則屬于非對稱加密算法。

區塊鏈中的非對稱加密技術解決了身份驗證問題

非對稱加密技術除了可以保護明文和密鑰,另一個重要用途就是進行身份驗證,使分布式存儲系統得以實現。在區塊鏈系統中沒有中心節點來確認用戶的身份,各個單一節點是對等的,都要向全網公示自己的身份。所以,用戶在公示身份的同時不能把密鑰向所有人公開,如果有人擁有你的私鑰,則完全可以頂替你的身份。

于是,我們需要這樣一種機制,能夠讓我們在不公開私鑰的前提下,公示自己的身份。也就是說,盡管別人不知道我所擁有的私鑰,但是他知道我擁有這一把鑰匙。

非對稱加密可以實現對密文接收者的身份驗證。發送者通過公鑰對明文進行加密,這個密碼只有擁有相應私鑰的人才能解開。那么只要接收者把這道題解開了,別人就能通過答案來驗證他是否是私鑰的擁有者。

在區塊鏈的交易過程中,全網絡的任何人都可以參與密文交易的驗證,只有當特定的人通過解密證明了自己時,他發起的新交易才會得到全網的傳播和確認。一般人雖然解不開難題,但如果某人給出了正確的答案,所有人都能快速驗證這一解答是否正確。

在區塊鏈中,非對稱加密的重要應用就是數字簽名—保證內容的真實性和合法性,保證區塊里的任何數據都沒有經過篡改。整個簽名過程如圖2-8所示,哈希算法和非對稱加密都在其中有相應應用。

圖2-8 區塊鏈消息傳輸過程中的加密和解密過程

圖2-8描述了密碼算法在區塊鏈消息傳輸過程中的應用。在消息內容的基礎上,發信人首先對這個消息做哈希運算,形成區塊摘要;然后用私鑰對摘要進行加密,形成簽名。接著,收信人也要對消息進行哈希運算,然后用相應的公鑰解密數字簽名,再對比兩個哈希值。如果兩個值相同,就代表這個消息是發信人本人發出的而且沒有被篡改過。

非對稱加密技術在醫療健康應用中的意義

在區塊鏈技術中,所有的規則事先都以數學算法的形式進行規范,人們完全不需要知道交易的對方是誰,更不需要求助中心化的第三方機構來為交易進行背書,只需要信任數學算法就可以建立互信。實質上是算法在為人們創造信用,達成共識背書。在現有的區塊鏈系統中,根據實際應用需求已經衍生出多私鑰加密技術,以滿足多重簽名等更為靈活和復雜的場景。

醫療保健生態系統是復雜的,有多個利益相關者,他們在信息系統中有非常復雜的交互動作。在醫療健康領域中,要解決數據共享和隱私之間的矛盾,挖掘醫療健康數據的潛在價值,對醫療健康從業者來說是一個非常大的挑戰。醫療信息和數據的權限管理至關重要,但這一過程必須足夠簡單、成本更低,才能解決效率低下的現狀。

盡管建立中心化數據庫在技術上可能更簡單,但是具有隱私最大化算法的分布式區塊鏈網絡可以最大化確保數據處理的安全性,符合HIPAA(《美國健康保險流通與責任法案》)、機密性和其他監管及道德層面的要求。

創建安全和可信的護理記錄

信任是醫療機構為患者提供醫療服務的基礎。患者需要信任醫療機構人員提供了適當的醫療照護,醫護人員需要相信患者誠實地執行了醫囑。醫療區塊鏈項目可以通過非對稱加密手段為醫患提供身份驗證服務。

在醫患雙方的身份驗證成功后,相關項目可以立即按事先編輯的智能合約執行。區塊鏈技術的應用可以提高醫療處方的執行效率和保險的賠付效率。醫生在為患者開處方時,將處方藥品記錄在區塊鏈上,患者可以實時查看自己的藥方以及公開透明的藥物價格。當患者出現死亡或者發生醫療事故等異常情況時,鏈上任何知道該事實的可信方可以將該信息添加到系統中,從而提高記錄的準確性和可信度。

雖然許多不同的工具可以定期對用戶進行身份驗證,但醫護人員還必須確保用戶的身份證明是正確的,并在特定時間點反映用戶的狀態。這對醫療保健服務提供者尤其重要,因為圍繞解決醫療行為中的欺詐、浪費和濫用等問題,已成為系統提供者和付費者最為關注的問題。此外,如果有不準確的醫療記錄,患者可能會質疑提供給他們的醫療服務的可信度和價值。

醫療健康記錄等敏感數據泄露的風險非常高。區塊鏈的身份識別和治理規則,可以預先定義用戶的訪問權限和控制權限,以確保醫療健康記錄的隱私級別與透明度,并確保只有有資格的參與方才能看到必要的數據。

記錄病人的授權意見

對于患者的醫療信息記錄共享,最為關鍵的是要獲得患者的同意。這是醫療信息數據共享必須遵守的底線和規則。

通過在不可更改的區塊鏈信息中捕獲患者的同意授權語句,可以保證醫療保健專業人員放心地使用這些數據。此外,患者還可以在進行手術或接受護理行為前,添加知情同意書—區塊鏈會安全地保存這些授權信息。醫護人員可以根據這些指示采取行動,區塊鏈技術可以根據身份驗證后的授權信息,提供醫療健康記錄的訪問控制決策,以確保系統遵從患者的意愿。

主站蜘蛛池模板: 大理市| 天全县| 平武县| 乌拉特中旗| 东辽县| 兴国县| 临沂市| 罗平县| 铜川市| 搜索| 班戈县| 凉山| 阳春市| 丽水市| 平陆县| 麦盖提县| 谢通门县| 托里县| 鹤岗市| 柏乡县| 利辛县| 温泉县| 宣化县| 互助| 新余市| 鄂温| 周宁县| 基隆市| 汉中市| 珠海市| 高陵县| 阿图什市| 涞源县| 长兴县| 乐平市| 神农架林区| 来宾市| 玛纳斯县| 巴林右旗| 宁河县| 富锦市|