區塊鏈能解決你的文件和數字簽名難題嗎?

雪花又一年發表於2018-04-20

購物訂單看起來是合法的,但它是否全部獲得了正式批准呢?許多律師審閱了這份合同草案,那麼這是最後的版本了嗎?在簽字之前,我們是否可以證明這份重要檔案未被篡改過?我們是否能證明該檔案的兩個版本是完全相同的呢?

區塊鏈或許能夠解決這類關於文件的日常信任問題,特別是對PDF這種使用可移植文件格式建立的資料檔案。區塊鏈技術以其確保金融交易而聞名,包括支援比特幣等新型金融工具。但區塊鏈提高信任的能力可能會成為解決普遍的非財務資訊交換的企業用例,就像這些檔案中使用的那樣。

比利時根特iText Software公司的軟體工程師和PDF專家Joris Schellekens最近在Oracle Code Los Angele上發表了他關於區塊鏈支援的文件的想法。

Oracle Code是在世界各地舉辦的一系列免費活動,旨在將開發者聚集起來,共享新的想法併合作完成它們。

PDF的能力和限制

PDF檔案格式是Adobe Systems(Adobe系統)在20世紀90年代初建立的,作為共享格式豐富的文件的方式,無論是軟體建立或者閱覽還是列印的情況下,其視覺佈局、文字和影像看起來都是一樣的。PDF格式在2008年成為國際標準。

早期,Adobe和其他公司將安全效能應用到PDF檔案中,包括密碼保護、加密和數字簽名。理論上來說,數字簽名需要能夠證明該檔案的建立者,或者至少是加密者。

Schellekens表示,不過,根據所用的雜湊演算法,要破壞這些保護並不難,例如更改資料/時間戳,甚至文件內容。他的公司iText Software推出了一款用於建立和操作PDFs的軟體開發工具包和API介面。

他說:“PDF格式包含了ID元組的概念,或者是不可變的資料序列。這一ID元組包含了檔案建立和修改的時間戳。不過,PDF格式對於建立時如何使用這些工具比較模糊。”

即使在未經修改的PDF檔案中,保護也會應用於整個檔案而不是其中多個部分。想象一下檔案必須得到多方簽名的情況。由於並非全部認證中心都以同等規格儲存他們的金鑰,你可能對真正修改(簽名)檔案的人、時間、序列缺乏信任。或者說,你可能不相信簽名之前並未有人進行過修改。

一個相關挑戰:在數字文件上簽名通常必須是一次一個;PDF規格不允許幾個人同時簽署一份檔案(這在合同審閱和簽名中很常見)然後再進行合併。

區塊鏈有潛力解決這類文件以及其他問題。例如,安特衛普港口正在測試接收船運集裝箱和集在有權訪問這些集裝箱的數字化文件和工作流程的PDF檔案。其記錄儲存在區塊鏈上,如果貨物被盜,港口可以確定最近訪問集裝箱記錄對應的人。

這類用例及、依賴於企業級的量產區塊鏈基礎設施——特別是幫助客戶快速試驗用例以及部署生產的雲系統。Oracle正在計劃釋出一個雲平臺,名為Oracle區塊鏈雲服務,通過區塊鏈服務企業和公共部門組織。

區塊鏈:不可變記錄

區塊鏈是一種相對較新的系統,可以將一組名為“塊(blocks)”的記錄連線到相連結的加密且防篡改的鏈中。區塊鏈的功能中最重要的是已有數十年曆史的雜湊概念,一個用於代表大型、複雜資料(例如已簽名的PDF合約)內容的經過計算的數字。

雜湊可以用於比較兩份資料是否相同——即使你知道了雜湊結果,你也不會擁有資料本身。因此,如果你建立兩個合約PDF版本的雜湊,而雜湊結果並不匹配,說明這兩份PDF檔案並不相同。如果雜湊結果匹配,則它們是完全相同的。(有極小的可能存在兩份不同的PDF檔案擁有相同的雜湊結果。)

區塊鏈如何實現這一點?計算PDF合約原始版本的雜湊並將其雜湊值儲存在區塊鏈的一個區塊中。授權的相關方可以自己進行驗證,通過比較其版本的雜湊與儲存在區塊鏈中的雜湊值,確定PDF合約的副本是否合法。當存在多個副本時,例如擁有不同簽名,相關方可以使用區塊鏈來評估它們的有效性,並通過每個檔案後設資料的相關時間戳來確定其順序。

這裡的優勢在於,區塊鏈儲存了檔案雜湊值的其他資訊,例如準確的資料/時間戳,或者儲存雜湊的人的身份。這使得確認檔案是否是最新版,或者儲存多個包含相同修改時間的檔案版本變得更簡單。這樣,PDF格式的限制得以克服,更確切地說,是通過使用區塊鏈而非PDF後設資料克服了驗證檔案的障礙。

具體來說,區塊鏈強化了與檔案驗證核心相關的現有解決方案,Schellekens表示:

完整性:確保檔案副本與原始檔案擁有完全相同的內容。

可鑑定:證明檔案的建立者和修改者,而PDF無法做到這一點。

不可否認性:一旦每次迭代儲存在區塊鏈上,不允許建立者或修改者否認其行為。

此外,由於檔案驗證是在區塊鏈中而非如PDF的內建安全措施一樣由檔案本身進行,任何人都很難篡改檔案並避免被發現。

最優異之處

當PDF文件的內建安全措施與那些區塊鏈合併後,會產生揚長避短的效果。

無論訪問檔案的計算機、進行建立或閱讀的軟體或者將其列印為文字的印表機是什麼,PDF行業標準規格都能確保其一致性。PDF規格同樣提供加密等安全性,用以新增保護層。

PDF還具有可擴充套件性。它不僅可以容納後設資料,還可以容納用JavaScript編寫的程式程式碼。這讓PDF文件足以容納視覺化佈局、文字、圖形以及程式邏輯、動畫以及可以由合適的程式執行的嵌入資料。

區塊鏈提供了對外的安全效能、時間戳、檔案建立者(或者至少驗證檢查文件的人)的鑑定、不可否認性以及確認文件並未經過篡改。

Schellekens表示:“其中優勢在於,你除了可以在PDF中進行的數字簽名外,還可以在其中新增額外功能,例如時間戳,以及確認是否有人修改了檔案。”

區塊鏈是否適用於每一種PDF檔案的鑑定呢?現在還不行。這一技術仍處於萌芽期,沒有與區塊鏈服務商合作經驗的機構可能不知道如何實施或使用區塊鏈。不過,Schellekens堅信它在鑑定資料記錄方面的價值,因為區塊鏈並不依賴於任何外部權威,例如由第三方認證機構發行的數字證照。

區塊鏈的信任風險也很容易計算,而其他安全措施可能無法做到。

Schellekens說:“區塊鏈有多值得信任?這是區塊鏈最迷人之處:你可以從數學角度證明,一個人要解密你的金鑰或聲稱一個完全匹配你的PDF的雜湊值有多難。通過其他安全措施,你不知道你的安全程度——直到你發現一位員工用USB盜走了金鑰。”

原文釋出時間為:2018-04-04
本文作者:36氪的朋友們
本文來源:36氪,如需轉載請聯絡原作者。


相關文章