TW202044086A - 檔案驗證方法、檔案驗證系統與檔案驗證伺服器 - Google Patents
檔案驗證方法、檔案驗證系統與檔案驗證伺服器 Download PDFInfo
- Publication number
- TW202044086A TW202044086A TW108116661A TW108116661A TW202044086A TW 202044086 A TW202044086 A TW 202044086A TW 108116661 A TW108116661 A TW 108116661A TW 108116661 A TW108116661 A TW 108116661A TW 202044086 A TW202044086 A TW 202044086A
- Authority
- TW
- Taiwan
- Prior art keywords
- hash value
- file
- verification
- hash
- electronic
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2145—Inheriting rights or properties, e.g., propagation of permissions or restrictions within a hierarchy
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一種檔案驗證方法、檔案驗證系統與檔案驗證伺服器,檔案驗證方法包括下列步驟。依據多個第一電子檔案的多個第一雜湊值建立樹型資料結構。將樹型資料結構的第一根雜湊值儲存至區塊鏈的區塊中。針對第一電子檔案其中之一,產生包括區塊的區塊資訊、第一雜湊值其中之一與樹型資料結構的至少一第一非終端雜湊值的驗證資料。依據驗證資料驗證第二電子檔案。
Description
本發明是有關於一種檔案驗證方法,且特別是有關於一種應用區塊鏈技術的檔案驗證方法、檔案驗證系統與檔案驗證伺服器。
電子檔案具有易被竄改、刪除而不被查覺的風險。因而,目前已有將電子檔案儲存於區塊鏈(block chain)的構想,以確保資料不被竄改。區塊鏈技術由密碼學、數學、演算法及經濟模型所組成,結合點對點的網路關係,並採用分散式共識演算法,來解決傳統分散式資料庫的同步問題,是近代整合跨領域技術的重大突破。紀錄至區塊鏈裡的資訊是不容易偽造和無法篡改的。
然而,區塊鏈上每個區塊的區塊儲存空間是有限的。若將龐大的檔案資料分拆而寫入至多個區塊,十分浪費儲存資源以及運算資源,將耗費龐大的成本,是不切實際的作法。因而,如何利用區塊鏈的特性作到確保資料安全性是本領域人員關心的議題。
有鑑於此,本發明提出一種檔案驗證方法、檔案驗證系統與檔案驗證伺服器,其可以低成本以及高安全性的方式來驗證電子檔案的正確性。
本發明提供一種檔案驗證方法,所述方法包括下列步驟。依據多個第一電子檔案的多個第一雜湊值建立樹型資料結構。將樹型資料結構的第一根雜湊值儲存至區塊鏈的區塊中。針對第一電子檔案其中之一,產生包括區塊的區塊資訊、第一雜湊值其中之一與樹型資料結構的至少一第一非終端雜湊值的驗證資料。依據驗證資料驗證第二電子檔案。
本發明提供一種檔案驗證系統,其包括記憶體、通訊介面,一或多個處理器。記憶體用以儲存資料,而通訊介面用以連接一區塊鏈平台。所述處理器耦接記憶體以及通訊介面,經配置以執行下列步驟:依據多個第一電子檔案的多個第一雜湊值建立樹型資料結構;將樹型資料結構的第一根雜湊值儲存至區塊鏈的區塊中;針對第一電子檔案其中之一,產生包括區塊的區塊資訊、第一雜湊值其中之一與樹型資料結構的至少一第一非終端雜湊值的驗證資料;以及依據驗證資料驗證第二電子檔案。
本發明提供一種檔案驗證伺服器,其包括記憶體、通訊介面與處理器。記憶體用以儲存資料,而通訊介面用以連接一區塊鏈平台。所述處理器耦接記憶體以及通訊介面,經配置以執行下列步驟:依據多個第一電子檔案的多個第一雜湊值建立樹型資料結構;將樹型資料結構的第一根雜湊值儲存至區塊鏈的區塊中;以及針對第一電子檔案其中之一,產生包括區塊的區塊資訊、第一雜湊值其中之一與樹型資料結構的至少一第一非終端雜湊值的驗證資料。
基於上述,於本發明的實施例中,依據多個第一電子檔案的多個第一雜湊值建立樹型資料結構,而對應至這些第一電子檔案的第一根雜湊值儲存於區塊鏈之中,以確保第一根雜湊值不會被竄改。此外,第一電子檔案各自對應的驗證資料也將基於樹狀資料結構而產生,以依據所產生的驗證資料與區塊鏈所記錄的第一根雜湊值來驗證第二電子檔案的正確性,從而判斷第二電子檔案是否為竄改第一電子檔案其中之一而產生的偽造檔案。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
本發明的部份實施例接下來將會配合附圖來詳細描述,以下的描述所引用的元件符號,當不同附圖出現相同的元件符號將視為相同或相似的元件。這些實施例只是本發明的一部份,並未揭示所有本發明的可實施方式。更確切的說,這些實施例只是本發明的專利申請範圍中的方法、系統與伺服器的範例。
圖1是依據本發明一實施例所繪示的檔案驗證系統的示意圖。首先圖1先介紹系統的所有構件以及配置關係,詳細功能將配合圖2一併揭露。
請參照圖1,檔案驗證系統10包括使用者端裝置110、檔案驗證伺服器120,以及區塊鏈平台130。使用者端裝置110包括記憶體111、處理器112以及通訊介面113,其例如是個人電腦、筆記型電腦、伺服器電腦、平板電腦、智慧型手機等具備儲存能力的電子裝置。檔案驗證伺服器120包括記憶體121、處理器122以及通訊介面123,其可藉由網路提供檔案驗證服務給使用者端裝置110的用戶。換言之,使用者端裝置110經由網路連接至檔案驗證伺服器120,讓用戶可使用檔案驗證伺服器120提供的檔案驗證服務。
記憶體111、121用以儲存資料檔案與軟體元件,其可以例如是任意型式的固定式或可移動式隨機存取記憶體(random access memory,RAM)、唯讀記憶體(read-only memory,ROM)、快閃記憶體(flash memory)、硬碟或其他類似裝置、積體電路及其組合。
通訊介面113、123可以是支援任何有線連接或是無線通訊標準的無線網路通訊晶片、天線等電子元件,用以使檔案驗證伺服器120與使用者端裝置110可經由網路與其它裝置或是平台進行連線。
處理器112、122分別用以控制使用者端裝置110與檔案驗證伺服器120的構件的作動,並可執行記憶體111、121所記錄的軟體元件,其可以例如是中央處理單元(central processing unit,CPU)或是其他可程式化之一般用途或特殊用途的微處理器(microprocessor)、數位訊號處理器(digital signal processor,DSP)、可程式化控制器、特殊應用積體電路(application specific integrated circuits,ASIC)、可程式化邏輯裝置(programmable logic device,PLD)或其他類似裝置、積體電路及其組合。
區塊鏈平台130經由網路連接使用者端裝置110與檔案驗證伺服器120。區塊鏈平台130具有分散的多個運算節點裝置,區塊鏈平台130中的每一運算節點裝置透過網路彼此連接。區塊鏈平台130中的運算節點裝置共同維護一區塊鏈,此區塊鏈可用以記錄不可被竄改的資料。區塊鏈可視為一個去中心化的分散式資料庫,透過這些運算節點裝置集體維護,而讓區塊鏈裡面的資料更可靠。舉例而言,區塊鏈平台130可以是以太坊(Ethereum)區塊鏈平台。於一實施例中,使用者端裝置110或檔案驗證伺服器120可將欲儲存的資料傳送至區塊鏈平台130,而區塊鏈平台130將依據區塊鏈技術把收到的資料記錄至區塊鏈之中。此外,使用者端裝置110與檔案驗證伺服器120也可依據區塊鏈平台130提供的區塊索引而自區塊鏈取得無法被竄改的資料。
圖2是依據本發明一實施例所繪示的檔案驗證方法的流程圖,而圖2的流程適用於圖1的檔案驗證系統10。以下將以前述圖1的實施例來搭配圖2進行說明。
請同時參照圖1與圖2,於步驟S201,檔案驗證伺服器120的處理器122依據多個第一電子檔案的多個第一雜湊值建立樹型資料結構。詳細而言,檔案驗證伺服器120可收集到多個第一電子檔案各別的第一雜湊值。此些第一電子檔案可以是文件檔案、影像檔案、聲音檔案或視訊檔案等等,本發明對於第一電子檔案的類型並不加以限制。這些第一電子檔案可儲存於使用者端裝置110與連接至檔案驗證伺服器120的其他使用者端裝置。或者,這些第一電子檔案也可儲存於一雲端資料庫之中。
承上述,這些第一雜湊值可透過對此些第一電子檔案個別進行雜湊處理產生。雜湊處理是依據雜湊演算法而將第一電子檔案轉換為由字母和數字組成的字串的一種資料單向轉換操作,雜湊演算法可以是訊息摘要演算法第五版(Message-Digest Algorithm 5,MD5)、安全雜湊演算法-1(Secure Hash Algorithm-1,SHA1)或安全雜湊演算法-256(Secure Hash Algorithm-256,SHA256)等等。於本發明的實施例中,第一雜湊值的產生可由使用者端裝置110、檔案驗證伺服器或其他線上工具提供裝置來執行,本發明對此並不限制。在檔案驗證伺服器120收集或產生多個第一電子檔案的多個第一雜湊值之後,檔案驗證伺服器120將基於這些第一雜湊值建立一個樹型資料結構。上述的樹型資料結構可以是二元結構的墨克樹(Merkle tree),或是依據其他規則而建立的樹型資料結構。具體而言,檔案驗證伺服器120是將這些第一雜湊值作為樹型資料結構中的葉片節點,而基於重複執行雜湊處理而產生位於中介層的非終端節點,並最終產生位於頂層的根節點,從而建立出完整的樹型資料結構。換言之,樹型資料結構中的葉片節點、非終端節點與根節點都是基於雜湊處理而產生的雜湊值。
於步驟S202,檔案驗證伺服器120的處理器122將樹型資料結構的第一根雜湊值儲存至區塊鏈的區塊中。詳細而言,檔案驗證伺服器120將第一根雜湊值的上傳至區塊鏈平台130,致使區塊鏈平台130依據所接收的第一根雜湊值產生一個區塊,並將此區塊串接至區塊鏈中。此外,在將第一根雜湊值儲存至區塊鏈的區塊中之後,區塊鏈平台130將記錄有第一根雜湊值之區塊的區塊資訊發送至檔案驗證伺服器120。區塊資訊可包括區塊高度(Block Height)、交易識別碼(Transaction ID),以及時間戳記等等。
接著,於步驟S203,檔案驗證伺服器120的處理器122針對第一電子檔案其中之一,產生包括區塊的區塊資訊、第一雜湊值其中之一與樹型資料結構的至少一第一非終端雜湊值的驗證資料。具體而言,在獲取區塊資訊後,檔案驗證伺服器120可針對各個第一電子檔案產生對應的驗證資料。為了於驗證階段計算出用以作為驗證憑證的第二根雜湊值,各個第一電子檔案的驗證資料需包括第一雜湊值其中之一與樹型資料結構的至少一第一非終端雜湊值。
舉例而言,圖3以樹型資料結構為二元結構的墨克樹為例進行說明。圖3是依據本發明一實施例所繪示的產生驗證資料的示意圖。請參照圖3,在對第一電子檔案F1~F4進行雜湊處理之後,檔案驗證伺服器120可取得第一電子檔案F1~F4的第一雜湊值Hash1、Hash2、Hash3、Hash4,並據以建立樹型資料結構T1。
樹型資料結構T1包括作為葉片節點的第一雜湊值Hash1、Hash2、Hash3、Hash4、作為非終端節點的第一非終端雜湊值Hash12、Hash34,以及作為根節點的第一根雜湊值Hash1234。其中,第一非終端雜湊值Hash12是對串連第一雜湊值Hash1、Hash2而產生的字串進行雜湊處理而產生。第一非終端雜湊值Hash34是對串連第一雜湊值Hash3、Hash4而產生的字串進行雜湊處理而產生。第一根雜湊值Hash1234是對串連第一非終端雜湊值Hash12、Hash34而產生的字串進行雜湊處理而產生。第一根雜湊值Hash1234位於樹型資料結構T1的頂層Lv3;第一非終端雜湊值Hash12、Hash34位於樹型資料結構T1的中介層Lv2;第一雜湊值Hash1、Hash2、Hash3、Hash4位於樹型資料結構T1的底層Lv1。
在產生關聯於第一電子檔案F1~F4的第一根雜湊值Hash1234之後,檔案驗證伺服器120將第一根雜湊值Hash1234儲存至區塊鏈BC1的區塊B1中,並自區塊鏈平台130取得區塊B1的區塊資訊BI1。
接著,檔案驗證伺服器120可依據區塊資訊BI1與樹型資料結構T1內的雜湊值而針對第一電子檔案F1~F4分別產生對應的驗證資料。像是,在針對第一電子檔案F2產生驗證資料PP1時,依據樹型資料結構T1的結構,檔案驗證伺服器120可取得與第一電子檔案F2的第一雜湊值Hash2相鄰之第一電子檔案F1的第一雜湊值Hash1。此外,依據樹型資料結構T1的結構,檔案驗證伺服器120的處理器122自樹型資料結構T1的至少一中介層Lv2中的每一者取出至少一第一非終端雜湊值Hash34。於此,當針對第一電子檔案F2產生驗證資料時,所取出的第一非終端雜湊值Hash34與第一電子檔案F2的第一雜湊值Hash2位於樹型資料結構T1的不同支路上。最後,檔案驗證伺服器120可組合第一雜湊值Hash1、第一非終端雜湊值Hash34與區塊資訊BI1來產生第一電子檔案F2的驗證資料PP1。相似的,其他第一電子檔案F1、F3、F4也可依據相同的方式而產生。基於前述說明可知,每個第一電子檔案F1~F4都有自己的驗證資料,而這些驗證資料並非儲存整個樹型資料結構的所有節點資料。
然而,圖3係以4個第一電子檔案F1~F4與具有一層中介層L2的樹型資料結構T1為例進行說明,但本發明對於第一電子檔案的數目與中介層的數目並不限制。可知的,於其他實施範例中,驗證資料可能包括更多的第一非終端雜湊值。
回到圖2的流程,最後,於步驟S204,使用者端裝置110的處理器112依據驗證資料驗證第二電子檔案。具體而言,當使用者端裝置110企圖驗證第二電子檔案的內容是否相同於第一電子檔案其中之一的內容時,使用者端裝置110可依據驗證資料中的雜湊值與第二電子檔案的第二雜湊值計算出第二根雜湊值。此外,使用者端裝置110可依據驗證資料中的區塊資訊自區塊鏈平台130取得區塊鏈所記錄的第一根雜湊值。如此一來,藉由比較第一根雜湊值與第二根雜湊值,使用者端裝置110可判斷第二電子檔案是否通過驗證。倘若第二電子裝置是竄改第一電子檔案而產生,則第二根雜湊值將相異於區塊鏈所記錄的第一根雜湊值。
然而,需說明的是,步驟S204也可由檔案驗證伺服器120的處理器122來執行。亦即,在具備檔案驗證伺服器120所產生之驗證資料的情況下,第二電子檔案的驗證動作可由使用者端裝置110、檔案驗證伺服器120或其他裝置來執行,本發明對此並不限制。
需說明的是,於本發明的一實施例中,這些第一電子檔案也可先經過加密處理,而第一雜湊值是對加密後的第一電子檔案進行雜湊處理而產生。如此,可確保第一電子檔案的機密性。此外,當樹型資料結構為二元結構的二元樹型資料結構時,若第一電子檔案的數量不等於2n
(n為正整數)時,即第一雜湊值的數量不等於2n
,檔案驗證伺服器120將依據第一電子檔案的第一雜湊值與至少一冗餘補值建立二元樹型資料結構。請參照圖3,假設第一電子檔案F4不存在的話,檔案驗證伺服器120需要設定一個冗餘補值來彌補不存在的第一雜湊值Hash4,從而建立二元樹型資料結構。冗餘補值例如數字與/或字母組合而成的預設字串。
此外,於本發明的一實施例中,多個第一電子檔案可分別儲存於多個使用者端裝置之中,檔案驗證伺服器120可於一預設時段(例如12小時、24小時等等)內收集多個第一雜湊值。換言之,檔案驗證伺服器120可每隔一預設時段就依據目前收集到的第一雜湊值來建立一個樹型資料結構。接著,檔案驗證伺服器120可發送驗證資料至使用者端裝置,致使使用者端裝置可藉由驗證資料對第二電子檔案進行驗證。
以下說明使用者端裝置110驗證第二電子裝置的細節。圖4是依據本發明一實施例所繪示的驗證第二電子裝置的細部流程圖,而圖4的流程適用於圖1的檔案驗證系統10。以下將以前述圖1的實施例來搭配圖4進行說明。
請參照圖1與圖4,於步驟S401,使用者端裝置110的處理器112依據驗證資料中的區塊資訊而自區塊鏈取得第一根雜湊值。具體而言,使用者端裝置110可自檔案驗證伺服器120下載驗證資料,並依據驗證資料內的區塊資訊查詢塊鏈而取得無法被竄改的第一根雜湊值。於步驟S402,使用者端裝置110的處理器112對第二電子檔案進行雜湊處理而產生第二雜湊值。將被驗證的第二電子檔案可能是原始的第一電子檔案,也可能是有心人士擅自竄改第一電子檔案而產生的偽造檔案。使用者端裝置110可使用線上公開工具而對第二電子檔案進行雜湊處理,以產生第二電子檔案的第二雜湊值。
接著,於步驟S403,使用者端裝置110的處理器112依據驗證資料中的至少一第一非終端雜湊值、第一雜湊值其中之一與第二雜湊值進行雜湊處理而產生第二根雜湊值。具體而言,使用者端裝置110將依據驗證資料中對應於不同資料結構層的雜湊值與第二電子檔案的第二雜湊值產生第二根雜湊值。詳細而言,使用者端裝置110的處理器112串連第二電子檔案的第二雜湊值與驗證資料中的第一雜湊值而產生第一字串,並對第一字串進行雜湊處理而產生第二非終端雜湊值。接著,使用者端裝置110的處理器112串連驗證資料中的至少一第一非終端雜湊值與第二非終端雜湊值而產生第二字串,並對第二字串進行雜湊處理,從而產生第二根雜湊值。
於步驟S404,使用者端裝置110的處理器112比較第二根雜湊值與儲存於區塊鏈的第一根雜湊值,據以驗證第二電子檔案。可知的,若第二電子檔案的內容相異於用以產生驗證資料之第一電子檔案的內容,則第二根雜湊值將相異於區塊鏈所記錄的第一根雜湊值。
詳細而言,於子步驟S4041,使用者端裝置110的處理器112判斷第二根雜湊值是否相同於第一根雜湊值。若是,於子步驟S4042,使用者端裝置110的處理器112判定第二電子檔案通過驗證。換言之,若第二根雜湊值相同於第一根雜湊值,代表第二電子檔案的內容相同於原始第一電子檔案的內容,則使用者端裝置110可判定第二電子檔案正確而通過驗證。若否,於子步驟S4043,使用者端裝置110的處理器112判定第二電子檔案未通過驗證。換言之,若第二根雜湊值不相同於第一根雜湊值,代表第二電子檔案的內容是竄改第一電子檔案而產生,則使用者端裝置110可判定第二電子檔案不正確而未通過驗證。
圖5是依據本發明一實施例所繪示的驗證第二電子裝置的示意圖。圖5中的驗證操作系對應於圖3裡的範例。需先說明的是,於圖5的情境中假設第二電子檔案F5是正確的,即第二電子檔案F5的內容相同於圖3所示的第一電子檔案F2。當使用者端裝置110欲驗證第二電子檔案F5是否正確,使用者端裝置110對第二電子檔案F5進行雜湊處理而產生第二雜湊值Hash2。接著,使用者端裝置110自驗證資料PP1取出第一雜湊值Hash1,並串連第一雜湊值Hash1與第二雜湊值Hash2而生成第一字串,並對第一字串進行雜湊處理而產生第二非終端雜湊Hash12。接著,使用者端裝置110的處理器112串連驗證資料中的至少一第一非終端雜湊值Hash34與第二非終端雜湊值Hash12而產生第二字串,並對第二字串進行雜湊處理,從而產生第二根雜湊值Hash1234。由於第二電子檔案F5是正確的,因此驗證階段依據驗證資料PP1產生的第二根雜湊值Hash1234將相同於區塊鏈BC1所儲存的第一根雜湊值Hash1234。藉此,使用者端裝置110可判定第二電子檔案F5是正確而通過驗證。
圖6是依據本發明一實施例所繪示的驗證第二電子裝置的示意圖。圖6中的驗證操作系對應於圖3裡的範例。需先說明的是,於圖6的情境中假設第二電子檔案F5是竄改圖3所示的第一電子檔案F2而產生的。當使用者端裝置110欲驗證第二電子檔案F5是否正確,使用者端裝置110對第二電子檔案F5進行雜湊處理而產生第二雜湊值Hash5。接著,使用者端裝置110將依據第二雜湊值Hash5以及驗證資料PP1中的第一雜湊值Hash1與第一非終端雜湊值Hash34進行雜湊運算而產生第二根雜湊值Hash1534。由於第二電子檔案F5是不正確的,因此驗證階段依據驗證資料PP1產生的第二根雜湊值Hash1534將不相同於區塊鏈BC1所儲存的第一根雜湊值Hash1234。藉此,使用者端裝置110可判定第二電子檔案F5是不正確而未通過驗證。
圖7為依據本發明一實施例的應用檔案驗證方法之情境的流程圖。請參照圖7,於步驟S701,網頁瀏覽器140可獲取使用者端裝置110所儲存的第一電子檔案。於步驟S702,網頁瀏覽器140可透過線上公開工具對第一電子檔案進行雜湊處理而獲取第一雜湊值。於步驟S703,網頁瀏覽器140將第一雜湊值上傳至檔案驗證伺服器120。於步驟S704,檔案驗證伺服器120依據於一預設時段內收集到的多個第一雜湊值建立樹型資料結構。於步驟S705,檔案驗證伺服器120將樹型資料結構的第一根雜湊值發送至區塊鏈平台130。於步驟S706,區塊鏈平台130將第一根雜湊值寫入區塊鏈的區塊中。於步驟S707,區塊鏈平台130將區塊的區塊資訊發送給檔案驗證伺服器120。於步驟S708,檔案驗證伺服器120依據樹型資料結構與區塊資訊產生第一電子檔案的驗證資料。於步驟S709,檔案驗證伺服器120透過網頁瀏覽器140將驗證資料發送至使用者端裝置110。
於驗證階段,於步驟S710,網頁瀏覽器140可獲取使用者端裝置110企圖驗證的第二電子檔案。於步驟S711,網頁瀏覽器140可透過線上公開工具對第二電子檔案進行雜湊處理而獲取第一雜湊值。於步驟S712,使用者端裝置110將驗證資料中的雜湊值依序傳遞至網頁瀏覽器140,而藉由重複進行的雜湊處理產生第二根雜湊值。於步驟S713,使用者端裝置110依據區塊資訊查詢區塊鏈。於步驟S714,使用者端裝置110自區塊鏈平台130取得第一根雜湊值。於步驟S715,使用者端裝置110比對第一根雜湊值與第二根雜湊值而驗證第二電子檔案。
綜上所述,於本發明的實施例中,對應多個電子檔案的根雜湊值將記錄於區塊鏈中,可大幅節省建立區塊鏈所需耗費的儲存資源與運算資源,從而降低成本。因此,當要驗證電子檔案的正確性時,可依據區塊鏈取得的根雜湊值與已儲存之樹型資料結構內的雜湊值來進行驗證,從而判斷電子檔案是否有經過竄改。如此一來,本發明可以低成本以及高安全性的方式來驗證並且確保電子檔案的正確性。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
10:檔案驗證系統
110:使用者端裝置
120:檔案驗證伺服器
130:區塊鏈平台
111、121:記憶體
112、122:處理器
113、123:通訊介面
BC1:區塊鏈
B1:區塊
PP1:驗證資料
BI1:區塊資訊
T1:樹型資料結構
F1~F4:第一電子檔案
F5:第二電子檔案
Lv3:頂層
Lv2:中介層
Lv1:底層
140:網頁瀏覽器
S201~S204、S401~S404、S4041~S4043、S701~S715:步驟
圖1是依據本發明一實施例所繪示的檔案驗證系統的示意圖。
圖2是依據本發明一實施例所繪示的檔案驗證方法的流程圖。
圖3是依據本發明一實施例所繪示的產生驗證資料的示意圖。
圖4是依據本發明一實施例所繪示的驗證第二電子裝置的細部流程圖。
圖5是依據本發明一實施例所繪示的驗證第二電子裝置的示意圖。
圖6是依據本發明一實施例所繪示的驗證第二電子裝置的示意圖。
圖7是依據本發明一實施例所繪示的檔案驗證方法的流程圖。
S201~S204:步驟
Claims (20)
- 一種檔案驗證方法,包括: 依據多個第一電子檔案的多個第一雜湊值建立一樹型資料結構; 將該樹型資料結構的第一根雜湊值儲存至一區塊鏈的一區塊中; 針對該些第一電子檔案其中之一,產生包括該區塊的區塊資訊、該些第一雜湊值其中之一與該樹型資料結構的至少一第一非終端雜湊值的驗證資料;以及 依據該驗證資料驗證一第二電子檔案。
- 如申請專利範圍第1項所述的檔案驗證方法,其中依據該驗證資料包驗證該第二電子檔案的步驟包括: 對該第二電子檔案進行雜湊處理而產生一第二雜湊值; 依據該驗證資料中的該至少一第一非終端雜湊值與該些第一雜湊值其中之一以及該第二雜湊值進行雜湊處理而產生一第二根雜湊值;以及 比較該第二根雜湊值與儲存於該區塊鏈的該第一根雜湊值,據以驗證該第二電子檔案。
- 如申請專利範圍第2項所述的檔案驗證方法,其中比較該第二根雜湊值與儲存於該區塊鏈的該第一根雜湊值,據以驗證該第二電子檔案的步驟包括: 判斷該第二根雜湊值是否相同於該第一根雜湊值; 若是,判定該第二電子檔案通過驗證;以及 若否,判定該第二電子檔案未通過驗證。
- 如申請專利範圍第2項所述的檔案驗證方法,其中依據該驗證資料包驗證該第二電子檔案的步驟更包括: 依據該驗證資料中的該區塊資訊而自該區塊鏈取得該第一根雜湊值。
- 如申請專利範圍第2項所述的檔案驗證方法,其中依據該驗證資料中的該至少一第一非終端雜湊值、該些第一雜湊值其中之一與該第二雜湊值進行雜湊處理而產該第二根雜湊值的步驟包括: 串連該第二電子檔案的該第二雜湊值與該驗證資料中的該些第一雜湊值其中之一而產生第一字串,並對該第一字串進行雜湊處理而產生一第二非終端雜湊值;以及 串連該驗證資料中的該至少一第一非終端雜湊值與該第二非終端雜湊值而產生第二字串,並對該第二字串進行雜湊處理,從而產生該第二根雜湊值。
- 如申請專利範圍第1項所述的檔案驗證方法,其中該區塊資訊包括區塊高度(Block Height)、交易識別碼(Transaction ID),以及時間戳記。
- 如申請專利範圍第1項所述的檔案驗證方法,其中該些第一電子檔案分散儲存於多個使用者端裝置之中,而所述方法更包括: 於一預設時段內收集該些第一雜湊值;以及 發送該驗證資料至該些使用者端裝置其中之一。
- 如申請專利範圍第1項所述的檔案驗證方法,其中依據該些第一電子檔案的該些第一雜湊值建立該樹型資料結構的步驟包括: 依據該些第一電子檔案的該些第一雜湊值與至少一冗餘補值建立二元樹型資料結構。
- 如申請專利範圍第1項所述的檔案驗證方法,其中針對該些第一電子檔案其中之一,產生包括該區塊的區塊資訊、該些第一雜湊值其中之一與該樹型資料結構的該至少一第一非終端雜湊值的驗證資料的步驟包括: 依據該樹型資料結構的結構,自該樹型資料結構的至少一中介層中的每一者取出該至少一第一非終端雜湊值,其中該至少一第一非終端雜湊值與該些第一電子檔案其中之該一的第一雜湊值位於該樹型資料結構的不同支路上。
- 一種檔案驗證系統,包括: 記憶體,用以儲存資料; 通訊介面,用以連接一區塊鏈平台; 一或多個處理器,耦接該記憶體以及該通訊介面,經配置以: 依據多個第一電子檔案的多個第一雜湊值建立一樹型資料結構; 將該樹型資料結構的第一根雜湊值儲存至一區塊鏈的一區塊中; 針對該些第一電子檔案其中之一,產生包括該區塊的區塊資訊、該些第一雜湊值其中之一與該樹型資料結構的至少一第一非終端雜湊值的驗證資料;以及 依據該驗證資料驗證一第二電子檔案。
- 如申請專利範圍第10項所述的檔案驗證系統,其中所述處理器更經配置以: 對該第二電子檔案進行雜湊處理而產生一第二雜湊值; 依據該驗證資料中的該至少一第一非終端雜湊值、該些第一雜湊值其中之一與該第二雜湊值進行雜湊處理而產生一第二根雜湊值;以及 比較該第二根雜湊值與儲存於該區塊鏈的該第一根雜湊值,據以驗證該第二電子檔案。
- 如申請專利範圍第11項所述的檔案驗證系統,其中所述處理器更經配置以: 判斷該第二根雜湊值是否相同於該第一根雜湊值; 若是,判定該第二電子檔案通過驗證;以及 若否,判定該第二電子檔案未通過驗證。
- 如申請專利範圍第11項所述的檔案驗證系統,其中所述處理器更經配置以: 依據該驗證資料中的該區塊資訊而自該區塊鏈取得該第一根雜湊值。
- 如申請專利範圍第11項所述的檔案驗證系統,其中所述處理器更經配置以: 串連該第二電子檔案的該第二雜湊值與該驗證資料中的該些第一雜湊值其中之一而產生第一字串,並對該第一字串進行雜湊處理而產生一第二非終端雜湊值;以及 串連該驗證資料中的該至少一第一非終端雜湊值與該第二非終端雜湊值而產生第二字串,並對該第二字串進行雜湊處理,從而產生該第二根雜湊值。
- 如申請專利範圍第10項所述的檔案驗證系統,其中該區塊資訊包括區塊高度(Block Height)、交易識別碼(Transaction ID),以及時間戳記。
- 如申請專利範圍第10項所述的檔案驗證系統,其中所處理器更經配置以: 於一預設時段內收集該些第一雜湊值。
- 如申請專利範圍第10項所述的檔案驗證系統,其中所處理器更經配置以: 依據該些第一電子檔案的該些第一雜湊值與至少一冗餘補值建立二元樹型資料結構。
- 如申請專利範圍第10項所述的檔案驗證系統,其中所處理器更經配置以: 依據該樹型資料結構的結構,自該樹型資料結構的至少一中介層中的每一者取出該至少一第一非終端雜湊值,其中該至少一第一非終端雜湊值與該些第一電子檔案其中之該一的第一雜湊值位於該樹型資料結構的不同支路上。
- 一種檔案驗證伺服器,包括: 記憶體,用以儲存資料; 通訊介面,用以連接一區塊鏈平台; 處理器,耦接該記憶體以及該通訊介面,經配置以: 依據多個第一電子檔案的多個第一雜湊值建立一樹型資料結構; 將該樹型資料結構的第一根雜湊值儲存至一區塊鏈的一區塊中;以及 針對該些第一電子檔案其中之一,產生包括該區塊的區塊資訊、該些第一雜湊值其中之一與該樹型資料結構的至少一第一非終端雜湊值的驗證資料。
- 如申請專利範圍第19項所述的檔案驗證伺服器,其中所述處理器更經配置以: 於一預設時段內收集該些第一雜湊值;以及 發送該驗證資料至一使用者端裝置,致使該使用者端裝置藉由該驗證資料驗證一第二電子檔案。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108116661A TWI715036B (zh) | 2019-05-15 | 2019-05-15 | 檔案驗證方法、檔案驗證系統與檔案驗證伺服器 |
US16/543,644 US11361110B2 (en) | 2019-05-15 | 2019-08-19 | File verification method, file verification system and file verification server |
EP19194749.8A EP3739493B1 (en) | 2019-05-15 | 2019-08-30 | File verification method, file verification system and file verification server |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108116661A TWI715036B (zh) | 2019-05-15 | 2019-05-15 | 檔案驗證方法、檔案驗證系統與檔案驗證伺服器 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202044086A true TW202044086A (zh) | 2020-12-01 |
TWI715036B TWI715036B (zh) | 2021-01-01 |
Family
ID=67810544
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108116661A TWI715036B (zh) | 2019-05-15 | 2019-05-15 | 檔案驗證方法、檔案驗證系統與檔案驗證伺服器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11361110B2 (zh) |
EP (1) | EP3739493B1 (zh) |
TW (1) | TWI715036B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI773161B (zh) * | 2021-03-02 | 2022-08-01 | 雲想科技股份有限公司 | 數位簽章私鑰驗證方法 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022261649A2 (en) * | 2021-06-08 | 2022-12-15 | Artema Labs, Inc | Composite cryptographic systems with variable configuration parameters and memory bound functions |
CN113505155B (zh) * | 2021-07-06 | 2023-05-12 | 中国联合网络通信集团有限公司 | 基于区块链网络的交易信息检索方法和检索装置 |
CN115632877B (zh) * | 2022-12-01 | 2023-04-07 | 成都九洲电子信息系统股份有限公司 | 一种大规模pcap数据正确性验证方法、系统及存储介质 |
CN117150576B (zh) * | 2023-10-30 | 2024-02-09 | 易签链(深圳)科技有限公司 | 一种区块链电子印章的智能验证系统及方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6785815B1 (en) * | 1999-06-08 | 2004-08-31 | Intertrust Technologies Corp. | Methods and systems for encoding and protecting data using digital signature and watermarking techniques |
US7428751B2 (en) * | 2002-12-05 | 2008-09-23 | Microsoft Corporation | Secure recovery in a serverless distributed file system |
JP2005032130A (ja) * | 2003-07-10 | 2005-02-03 | Sony Corp | データ管理装置、およびデータ管理方法、並びにコンピュータ・プログラム |
US9075529B2 (en) * | 2013-01-04 | 2015-07-07 | International Business Machines Corporation | Cloud based data migration and replication |
KR102059688B1 (ko) * | 2015-01-13 | 2019-12-27 | 한국전자통신연구원 | 사이버 블랙박스 시스템 및 그 방법 |
US10535063B2 (en) * | 2015-03-13 | 2020-01-14 | First Data Corporation | Systems and methods for securing digital gift cards with a public ledger |
US10740732B2 (en) * | 2015-05-20 | 2020-08-11 | Ripple Luxembourg S.A. | Resource transfer system |
WO2017019201A2 (en) * | 2015-06-29 | 2017-02-02 | PeerNova, Inc. | Cryptographic assurances of data integrity for data crossing trust boundaries |
US10425428B2 (en) * | 2015-08-20 | 2019-09-24 | Guardtime Sa | Verification lineage tracking and transfer control of data sets |
US20170075877A1 (en) * | 2015-09-16 | 2017-03-16 | Marie-Therese LEPELTIER | Methods and systems of handling patent claims |
US20180331832A1 (en) * | 2015-11-05 | 2018-11-15 | Allen Pulsifer | Cryptographic Transactions System |
US10157295B2 (en) * | 2016-10-07 | 2018-12-18 | Acronis International Gmbh | System and method for file authenticity certification using blockchain network |
EP3593487B1 (en) | 2017-03-10 | 2021-04-28 | Visa International Service Association | Compact recordation protocol |
US10938567B2 (en) * | 2017-09-12 | 2021-03-02 | Kadena Llc | Parallel-chain architecture for blockchain systems |
TWI648680B (zh) * | 2017-12-01 | 2019-01-21 | 鯨鏈科技股份有限公司 | 智能合約系統、合約制訂方法與電腦可讀取儲存裝置 |
-
2019
- 2019-05-15 TW TW108116661A patent/TWI715036B/zh active
- 2019-08-19 US US16/543,644 patent/US11361110B2/en active Active
- 2019-08-30 EP EP19194749.8A patent/EP3739493B1/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI773161B (zh) * | 2021-03-02 | 2022-08-01 | 雲想科技股份有限公司 | 數位簽章私鑰驗證方法 |
Also Published As
Publication number | Publication date |
---|---|
US11361110B2 (en) | 2022-06-14 |
EP3739493A1 (en) | 2020-11-18 |
TWI715036B (zh) | 2021-01-01 |
US20200364373A1 (en) | 2020-11-19 |
EP3739493B1 (en) | 2023-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI715036B (zh) | 檔案驗證方法、檔案驗證系統與檔案驗證伺服器 | |
US11501533B2 (en) | Media authentication using distributed ledger | |
TWI737392B (zh) | 電腦實現的用於由區塊鏈網路的區塊鏈節點在可信賴執行環境tee中處理區塊鏈資料的方法、通信共享區塊鏈資料的系統及用於通信共享區塊鏈資料的裝置 | |
US11240042B2 (en) | Merkle signature scheme tree expansion | |
US9591068B2 (en) | Updating error recovery information in a dispersed storage network | |
US11582042B2 (en) | Industrial data verification using secure, distributed ledger | |
CN109889505B (zh) | 数据持有性验证方法及终端设备 | |
JP7126174B2 (ja) | ブロックチェーンおよびオフチェーン装置の連携のための検証システムおよび方法 | |
CN109831487B (zh) | 分片文件验证方法及终端设备 | |
US20170031760A1 (en) | Validating stored encoded data slice integrity in a dispersed storage network | |
CN110647503A (zh) | 一种分布式存储方法及装置 | |
CN107220559B (zh) | 一种针对不可篡改文件的加密存储方法 | |
CN108377272B (zh) | 一种管理物联网终端的方法及系统 | |
KR102363271B1 (ko) | 에러 정정 코드에 기초한 공유 블록체인 데이터 저장의 데이터 보안 | |
TW202111568A (zh) | 可信賴執行環境中基於錯誤校正編碼的共享區塊鏈資料儲存 | |
US20210303633A1 (en) | Shard hashing | |
KR20210045353A (ko) | 인코딩된 블록체인 데이터의 인덱싱 및 복구 | |
CN114880697A (zh) | 基于区块链的数据指纹生成方法、装置和存储介质 | |
CN111339551B (zh) | 数据的验证方法及相关装置、设备 | |
JP7159348B2 (ja) | 誤り訂正符号に基づく動的なブロックチェーンデータの記憶 | |
JP2024509486A (ja) | 不変(fixity)データ処理 | |
CN111367923A (zh) | 数据处理方法、装置、节点设备及存储介质 | |
US10506045B2 (en) | Memory access using deterministic function and secure seed | |
CN112100683A (zh) | 文件验证方法、文件验证系统与文件验证伺服器 | |
WO2023221772A1 (zh) | 基于区块链网络的数据处理方法及相关产品 |