TWI734554B - 基於區塊鏈系統之多媒體資料流防篡改裝置、方法及介質 - Google Patents
基於區塊鏈系統之多媒體資料流防篡改裝置、方法及介質 Download PDFInfo
- Publication number
- TWI734554B TWI734554B TW109123635A TW109123635A TWI734554B TW I734554 B TWI734554 B TW I734554B TW 109123635 A TW109123635 A TW 109123635A TW 109123635 A TW109123635 A TW 109123635A TW I734554 B TWI734554 B TW I734554B
- Authority
- TW
- Taiwan
- Prior art keywords
- frame data
- data
- multimedia
- frame
- blockchain system
- Prior art date
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
一種基於區塊鏈系統之多媒體資料流防篡改裝置、方法及電腦可讀存儲介質,所述方法包括:讀取多媒體資料流並對多媒體資料流進行解碼得到依序排列之多個幀資料;對多個幀資料中之起始幀資料進行雜湊運算得到起始幀資料之雜湊值;將起始幀資料之雜湊值拼接至其下一幀資料之前方,並對下一幀資料進行雜湊運算,得到起始幀資料之下一幀資料之雜湊值;重複上述計算過程直至計算得到多個幀資料中之結束幀資料之雜湊值;根據預設篩選規則從多個幀資料中選定至少一目標幀資料,並將該至少一目標幀資料之雜湊值、編號及多媒體ID上傳至區塊鏈系統。
Description
本發明涉及區塊鏈技術領域,尤其涉及一種基於區塊鏈系統之多媒體資料流防篡改裝置、方法及電腦可讀存儲介質。
區塊鏈是分散式資料存儲、點對點傳輸、共識機制、加密演算法等電腦技術之新應用模式,採用共識機制作為區塊鏈系統中實現不同節點之間建立信任、獲取權益之數學演算法。
現今生活中使用到大量之監視設備與錄影、錄音裝置,必要時可於法庭上作為呈堂證供,但音視頻證據容易被偽造,且不容易證明證據採集之時間性。目前已經有人提出採用區塊鏈來存儲錄製得到之音視頻檔,然錄製之音視頻檔往往資料量較大,導致資料處理效率較低,且不能確保錄製之音視頻檔被快速儲存至區塊鏈,導致無法快速取得音視頻檔之內容與時間證明。
有鑑於此,有必要提供一種基於區塊鏈系統之多媒體資料流防篡改裝置、方法及電腦可讀存儲介質,其將多媒體檔之相關資訊快速儲存至區塊鏈系統,及時獲得多媒體檔之內容與時間證明。
本發明一實施方式提供一種基於區塊鏈系統之多媒體資料流防篡改方法,所述區塊鏈系統包括多個節點,所述方法包括:讀取多媒體資料流並對所述多媒體資料流進行解碼,以得到所述多媒體資料流中依序排列之多個幀資料;對多個所述幀資料中之起始幀資料進行雜湊運算,得到所述起始幀資料之雜湊值;將所述起始幀資料之雜湊值拼接至所述起始幀資料之下一幀資料之前方,並對所述起始幀資料之下一幀資料進行雜湊運算,得到所述起始幀資料之下一幀資料之雜湊值;重複將當前幀資料之雜湊值拼接至所述當前幀資料之下一幀資料之前方並對所述當前幀資料之下一幀資料進行雜湊運算之步驟,直至計算得到多個所述幀資料中之結束幀資料之雜湊值;根據預設篩選規則從多個所述幀資料中選定至少一目標幀資料;及將所述至少一目標幀資料之屬性資訊上傳至所述區塊鏈系統;其中,所述屬性資訊包括:幀資料之雜湊值、幀資料之編號、多媒體ID。
本發明一實施方式提供一種基於區塊鏈系統之多媒體資料流防篡改裝置,所述裝置包括處理器及記憶體,所述記憶體上存儲有複數電腦程式,所述處理器用於執行記憶體中存儲之電腦程式時實現如下步驟:讀取多媒體資料流並對所述多媒體資料流進行解碼,以得到所述多媒體資料流中依序排列之多個幀資料;對多個所述幀資料中之起始幀資料進行雜湊運算,得到所述起始幀資料之雜湊值;將所述起始幀資料之雜湊值拼接至所述起始幀資料之下一幀資料之前方,並對所述起始幀資料之下一幀資料進行雜湊運算,得到所述起始幀資料之下一幀資料之雜湊值;重複將當前幀資料之雜湊值拼接至所述當前幀資料之下一幀資料之前方並對所述當前幀資料之下一幀資料進行雜湊運算之步驟,直至計算得到多個所述幀資料中之結束幀資料之雜湊值;根據預設篩選規則從多個所述幀資料中選定至少一目標幀資料;及將所述至少一目標幀資料之屬性資訊上傳至所述區塊鏈系統;其中,所述屬性資訊包括:幀資料之雜湊值、幀資料之編號、多媒體ID。
本發明一實施方式提供一種電腦可讀取存儲介質,所述電腦可讀取存儲介質存儲有多條指令,多條所述指令可被一個或者多個處理器執行,以實現如下步驟:讀取多媒體資料流並對所述多媒體資料流進行解碼,以得到所述多媒體資料流中依序排列之多個幀資料;對多個所述幀資料中之起始幀資料進行雜湊運算,得到所述起始幀資料之雜湊值;將所述起始幀資料之雜湊值拼接至所述起始幀資料之下一幀資料之前方,並對所述起始幀資料之下一幀資料進行雜湊運算,得到所述起始幀資料之下一幀資料之雜湊值;重複將當前幀資料之雜湊值拼接至所述當前幀資料之下一幀資料之前方並對所述當前幀資料之下一幀資料進行雜湊運算之步驟,直至計算得到多個所述幀資料中之結束幀資料之雜湊值;根據預設篩選規則從多個所述幀資料中選定至少一目標幀資料;及將所述至少一目標幀資料之屬性資訊上傳至所述區塊鏈系統;其中,所述屬性資訊包括:幀資料之雜湊值、幀資料之編號、多媒體ID。
與習知技術相比,上述基於區塊鏈系統之多媒體資料流防篡裝置、方法及電腦可讀存儲介質,可對錄製產生之多媒體資料流進行即時解碼並進行雜湊運算,進而可快速獲取多媒體檔之時間證明與內容證明,且僅是將多媒體檔中之指定幀資料之屬性資訊上傳至區塊鏈系統,同樣實現確保多媒體檔不被篡改,減輕區塊鏈系統之網路負擔,減少上傳至區塊鏈系統之資料量。
請參閱圖1,為本發明區塊鏈系統較佳實施例之架構示意圖。
區塊鏈系統1包括區塊鏈網路及區塊鏈。所述區塊鏈網路包括多個節點。電子設備(如:電腦、手機等)可與任意一節點進行通信,進而實現將需儲存之資訊上傳至區塊鏈系統1進行存儲。所述節點可是公開節點或者私有節點,節點之間可藉由公認之NTP(Network Time Protocol,網路時間協定)服務同步系統時間。
圖1示出了區塊鏈網路包括四個節點(節點A、節點B、節點C、節點D),但不以四個節點為限,更多之節點於圖1中未示出。
可理解的是,每一節點可基於共識機制對區塊進行記帳,任意一節點向區塊鏈網路廣播資訊或者區塊時,其他節點均能接收到,並對接收到之區塊進行驗證。於對該區塊驗證藉由之節點數於整個區塊鏈網路總節點數中之佔比大於預設閾值時,則確定為區塊鏈網路對該區塊驗證藉由,所有節點可對該區塊進行記帳。
請參閱圖2,為本發明基於區塊鏈系統之多媒體資料流防篡改裝置較佳實施例之示意圖。
所述多媒體資料流防篡改裝置100包括記憶體10、處理器20以及存儲於所述記憶體10中並可於所述處理器20上運行之多媒體資料流防篡改程式30。所述處理器20執行所述多媒體資料流防篡改程式30時實現多媒體資料流防篡改方法實施例中之步驟,例如圖5所示之步驟S500~S510。或者,所述處理器20執行所述多媒體資料流防篡改程式30時實現多媒體資料流防篡改程式實施例中各模組之功能,例如圖3中之模組101~104。
所述多媒體資料流防篡改程式30可被分割成一個或多個模組,所述一個或者多個模組被存儲於所述記憶體10中,並由所述處理器20執行,以完成本發明。所述一個或多個模組可是能夠完成特定功能之一系列電腦程式指令段,所述指令段用於描述所述多媒體資料流防篡改程式30於所述多媒體資料流防篡改裝置100中之執行過程。例如,所述多媒體資料流防篡改程式30可被分割成圖3中之讀取模組101、運算模組102、篩選模組103、上傳模組104。各模組具體功能參見下圖3中各模組之功能。
本領域技術人員可理解,所述示意圖僅是多媒體資料流防篡改裝置100之示例,並不構成對多媒體資料流防篡改裝置100之限定,可包括比圖示更多或更少之部件,或者組合某些部件,或者不同之部件,例如所述多媒體資料流防篡改裝置100還可包括網路接入設備、匯流排等。
所稱處理器20可是中央處理單元(Central Processing Unit,CPU),還可是其他通用處理器、數位訊號處理器 (Digital Signal Processor,DSP)、專用積體電路 (Application Specific Integrated Circuit,ASIC)、現成可程式設計閘陣列 (Field-Programmable Gate Array,FPGA) 或者其他可程式設計邏輯器件、分立門或者電晶體邏輯器件、分立硬體元件等。通用處理器可是微處理器或者所述處理器20亦可是任何常規之處理器等,所述處理器20可利用各種介面與匯流排連接多媒體資料流防篡改裝置100之各個部分。
所述記憶體10可用於存儲所述多媒體資料流防篡改程式30與/或模組,所述處理器20藉由運行或執行存儲於所述記憶體10內之電腦程式與/或模組,以及調用存儲於記憶體10內之資料,實現所述多媒體資料流防篡改裝置100之各種功能。所述記憶體10可包括高速隨機存取記憶體,還可包括非易失性記憶體,例如硬碟機、記憶體、插接式硬碟機,智慧存儲卡(Smart Media Card, SMC),安全數位(Secure Digital, SD)卡,快閃記憶體卡(Flash Card)、至少一個磁碟記憶體件、快閃記憶體器件、或其他非易失性固態記憶體件。
圖3為本發明多媒體資料流防篡改程式較佳實施例之功能模組圖。
參閱圖3所示,多媒體資料流防篡改程式30可包括讀取模組101、運算模組102、篩選模組103、上傳模組104。於一實施方式中,上述模組可為存儲於所述記憶體10中且可被所述處理器20調用執行之可程式化軟體指令。可理解的是,於其他實施方式中,上述模組亦可為固化於所述處理器20中之程式指令或固件(firmware)。
讀取模組101用於讀取多媒體資料流並對所述多媒體資料流進行解碼,以得到所述多媒體資料流中依序排列之多個幀資料。
於一實施方式中,所述讀取模組101可從一指定存儲區讀取該多媒體資料流並可對讀取到之多媒體資料流進行解碼,以得到所述多媒體資料流中依序排列之多個幀資料。比如,所述讀取模組101對讀取到之多媒體資料流進行解碼得到依序排列之第一幀資料至第N幀資料,第一幀資料為所述多媒體資料流之起始幀資料,第二幀資料為所述起始幀資料之下一幀資料,以此類推,第N幀資料為所述多媒體資料流之結束幀資料,N為大於1之正整數。
於一實施方式中,所述多媒體資料流可是經過編碼處理之視頻資料流程、音訊資料流程。所述幀資料可是圖像幀或音訊幀。
可理解,具備錄音或錄影功能之電子設備於實際運用過程中,一般均是即時錄製產生多媒體資料流,並藉由MPEG(Moving Picture Experts Group,動態圖像專家組)或H.264編碼技術對錄製產生之多媒體資料流進行即時編碼與壓縮,以降低最終生成之多媒體檔之存儲容量。為使得錄製之多媒體資料流之資訊能即時上傳至區塊鏈系統1,當電子設備將即時編碼之多媒體資料流存儲於該指定存儲區,於多媒體檔還未生成之前,所述讀取模組101藉由Pipe方式(管道通信方式)讀取存儲於該指定存儲區之已經經過編碼處理之多媒體資料流,並對該多媒體資料流進行即時解碼,以得到讀取之多媒體資料流中依序排列之多個幀資料。所述讀取模組101藉由Pipe方式讀取之多媒體資料流可是當前存儲於該指定存儲區之部分或者全部多媒體資料流。
可理解,由於習知之具備錄音或錄影功能之電子設備於對多媒體資料流進行編碼壓縮生成多媒體檔之過程中可能會造成內容失真,因此所述讀取模組101讀取之多媒體資料流不是電子設備錄製產生之原始資料流程,而是讀取之經過編碼後之資料流程,進而使得未來於對多媒體檔進行解碼驗證時,可取得一致之 Hash 值進行比對。
於一實施方式中,該指定存儲區可是當前進行錄音或錄影之電子設備之記憶體,或者雲端記憶體。所述多媒體資料流防篡改裝置100可藉由有線或無線方式與電子設備或雲端記憶體進行通信,以使得所述讀取模組101可從該指定存儲區讀取所述多媒體資料流。
所述運算模組102用於對多個所述幀資料中之起始幀資料進行雜湊運算,得到所述起始幀資料之雜湊值,再將所述起始幀資料之雜湊值拼接至所述起始幀資料之下一幀資料之前方,並對所述起始幀資料之下一幀資料進行雜湊運算,得到所述起始幀資料之下一幀資料之雜湊值。
所述運算模組102還用於重複將當前幀資料之雜湊值拼接至所述當前幀資料之下一幀資料之前方並對所述當前幀資料之下一幀資料進行雜湊運算之步驟,直至計算得到多個所述幀資料中之結束幀資料之雜湊值。
於一實施方式中,當解碼得到依序排列之多個幀資料時,所述運算模組102可依序對每一幀資料進行雜湊運算,直至運算得到每一幀資料之雜湊值。
請參閱圖4,示意出了所述運算模組102對每一幀資料進行雜湊運算之運算方法。假設對所述多媒體資料流進行解碼得到依序排列之2N+1個幀資料Frame 0~Frame 2N,起始幀資料為幀資料Frame 0,結束幀資料為幀資料Frame 2N。所述運算方法包括:步驟a). 所述運算模組102對起始幀資料Frame 0進行雜湊運算,得到起始幀資料Frame 0之雜湊值Hash 0;步驟b). 所述運算模組102將起始幀資料Frame 0之雜湊值Hash 0添加至幀資料Frame 1之前方,然後對幀資料Frame 1進行雜湊運算,得到幀資料Frame 1之雜湊值Hash 1;步驟c). 重複步驟b之運算方法直至將幀資料Frame 2N-1之雜湊值Hash 2N-1添加至結束幀資料Frame 2N之前方,然後對結束幀資料Frame 2N進行雜湊運算,得到結束幀資料Frame 2N之雜湊值Hash 2N。
可理解,對起始幀資料Frame 0進行雜湊運算是指對起始幀資料Frame 0之資料進行雜湊運算,對幀資料Frame 1進行雜湊運算是指對包含幀資料Frame 1之資料及雜湊值Hash 0之資料集進行雜湊運算,對結束幀資料Frame 2N進行雜湊運算是指對包含結束幀資料Frame 2N之資料及雜湊值Hash 2N-1之資料集進行雜湊運算。
可理解,所述運算模組102可採用習知之圖像幀或音訊幀之雜湊運算方法來實現對幀資料進行雜湊運算。比如,採用音訊感知雜湊演算法或視頻感知雜湊演算法。
篩選模組103用於根據預設篩選規則從多個所述幀資料中選定至少一目標幀資料。
於一實施方式中,由於多媒體資料流之資料量一般比較大,而解碼得到之幀資料之數量會更大,若將每一幀資料之屬性資訊均上傳至區塊鏈系統1進行儲存,可能會對區塊鏈網路造成過高之負擔。所述篩選模組103可根據預設篩選規則從多個所述幀資料中選定至少一目標幀資料,以便後續僅將目標幀資料之屬性資訊上傳至區塊鏈系統1進行儲存。
於一實施方式中,所述預設篩選規則可根據實際需求進行設定,比如所述預設篩選規則可是定義每間隔m個幀資料為所述目標幀資料,m小於2N,此時起始幀資料Frame 0、幀資料Frame m、幀資料Frame 2m等為所述目標幀資料。比如,m=5,對多媒體資料流進行解碼得到101幀資料,則目標幀資料為{ Frame 0、Frame 5、Frame 10、…、Frame 95、Frame 100}。所述預設篩選規則還可是採用H.264編碼規範所述定義之關鍵幀(Key Frame),即所述篩選模組103可根據H.264編碼規範確定多個所述幀資料中所包含之關鍵幀資料,並將確定之關鍵幀資料定義為所述目標幀資料。
上傳模組104用於將所述至少一目標幀資料之屬性資訊上傳至所述區塊鏈系統1。
於一實施方式中,所述屬性資訊可包括:幀資料之雜湊值、幀資料之編號、多媒體ID。所述多媒體ID可是多媒體資料流之ID或多媒體檔之ID,多媒體ID可唯一地表徵讀取模組101讀取到之多媒體資料流之身份資訊。比如,多媒體ID為ABC,所述目標幀資料包括幀資料Frame 0、幀資料Frame m、幀資料Frame 2m,則幀資料Frame 0之屬性資訊為{Hash 0,Frame 0,ABC},幀資料Frame m之屬性資訊為{Hash m,Frame m,ABC},幀資料Frame 2m之屬性資訊為{Hash 2m,Frame 2m,ABC}。當確定目標幀資料時,所述上傳模組104可將所述目標幀資料之屬性資訊上傳至所述區塊鏈系統1,以實現將所述目標幀資料之屬性資訊保傳至所述區塊鏈系統1。
可理解,上傳模組104並不需要將即時錄製得到之多媒體資料流上傳至區塊鏈系統1來確保多媒體檔不被篡改,而僅是將幀資料之屬性資訊上傳至所述區塊鏈系統1,同樣實現確保多媒體檔不被篡改,減輕區塊鏈網路之負擔,且僅是將資料幀中之目標幀資料之屬性資訊上傳至所述區塊鏈系統1,進一步減輕了區塊鏈網路負擔。
於一實施方式中,當所述目標幀資料之屬性資訊被上傳至所述區塊鏈系統1時,所述區塊鏈系統1可接收到所述目標幀資料之屬性資訊之儲存請求,所述區塊鏈系統1可控制每一節點對所述儲存請求進行驗證。所述驗證可包括確認儲存請求確實是由用戶發起以及確認本次儲存請求之真實性。
舉例而言,所述區塊鏈系統1包括四個節點A~D,多媒體資料流防篡改裝置100使用使用者之區塊鏈位址來接入所述區塊鏈系統1,所述區塊鏈系統1可控制每一節點A~D對所述儲存請求進行驗證。
當一節點對所述儲存請求驗證藉由時,該節點會廣播驗證藉由消息至所述區塊鏈系統1,進而其他節點可接收到該節點廣播之驗證藉由消息。
舉例而言,節點A對所述儲存請求驗證藉由後,節點A會廣播驗證藉由消息至區塊鏈系統1,其他節點B-D可接收到節點A廣播之驗證藉由消息,節點A同樣亦可接收到其他節點B-D廣播之驗證藉由消息。
於一實施方式中,當所述節點接收到超過第一預設數量之驗證藉由消息時,表明區塊鏈網路對所述儲存請求達成共識,所述節點可對本次儲存請求產生之區塊進行記帳。
舉例而言,當節點A接收到超過第一預設數量之驗證藉由消息時,表明區塊鏈網路對所述儲存請求達成共識,節點A可對本次儲存請求產生之區塊進行記帳,進而所述目標幀資料之屬性資訊被儲存至節點A。當節點B接收到超過第一預設數量之驗證藉由消息時,節點B可對本次儲存請求產生之區塊進行記帳,進而所述目標幀資料之屬性資訊被儲存至節點B。
於一實施方式中,該第一預設數量可根據具體使用之共識機制進行設定。比如所述第一預設數量可是2/3總節點數量。
於一實施方式中,為得到儲存至區塊鏈系統1之屬性資訊所對應之多媒體資料流之採集時間之時間證明。當區塊鏈系統1接收到所述目標幀資料之屬性資訊之儲存請求時,所述區塊鏈系統1可將當前系統時間之時間戳記添加至所述目標幀資料之屬性資訊中,所述時間戳記載有當前系統時間,該系統時間為區塊鏈系統1接收到所述目標幀資料之屬性資訊之儲存請求之時間。此時,幀資料Frame 0之屬性資訊為{Hash 0,Frame 0,ABC,時間戳記}。
於一實施方式中,當區塊鏈網路中之節點於進行共識時,還檢查屬性資訊中之時間戳記來確認屬性資訊不是非法資訊。當所述節點接收到超過所述第一預設數量之驗證藉由消息時,還判斷所述節點之當前系統時間是否大於所述時間戳記所記錄之時間,若所述節點之當前系統時間大於所述時間戳記所記錄之時間,則所述節點儲存所述目標幀資料之屬性資訊,若所述節點之當前系統時間小於所述時間戳記所記錄之時間,則將所述目標幀資料之屬性資訊視為非法資訊,不對所述目標幀資料之屬性資訊進行儲存。舉例而言,當節點A接收到超過第一預設數量之驗證藉由消息時,表明區塊鏈網路對所述儲存請求達成共識,節點A還判斷當前系統時間是否大於所述時間戳記所記錄之時間,若當前系統時間大於所述時間戳記所記錄之時間,則節點A可對本次儲存請求產生之區塊進行記帳,進而所述目標幀資料之屬性資訊被儲存至節點A,若當前系統時間小於所述時間戳記所記錄之時間,所述目標幀資料之屬性資訊被視為非法資訊不進行區塊打包。
於一實施方式中,區塊鏈系統1包含之多個節點還可是一個主節點與多個從節點,可藉由節點間之區塊同步方式來進行區塊記帳,當節點之間取得共識後,還藉由判斷區塊同步時間是否大於所述時間戳記所記錄之時間,來檢查所述時間戳記。
於一實施方式中,假設一多媒體檔A之資料流程中之目標幀資料之屬性資訊已被上傳至區塊鏈系統1,若需要對多媒體檔A進行驗證,可採取以下步驟來進行驗證:i). 對多媒體檔A進行解碼得到所述多媒體檔A中依序排列之多個幀資料,並採用上述之幀資料之雜湊運算方式來計算得到每一幀資料之雜湊值;ii). 根據多個待校驗幀資料(即目標幀資料)之編號及多媒體檔A之ID從所述區塊鏈系統1中提取時間戳記及與多個所述待校驗幀資料對應之雜湊值;iii). 判斷對多個所述待校驗幀資料進行雜湊運算得到之雜湊值與從區塊鏈系統1中提取到之多個所述待校驗幀資料之雜湊值是否相同;iv). 若運算得到之多個雜湊值與提取到之多個雜湊值均相同,則判定多媒體檔A未被篡改,並且可將從區塊鏈系統1中提取到之時間戳記所記錄之時間作為多媒體檔A之錄製時間證明。
可理解,於上述驗證過程中,當多媒體檔A之某一偵資料被竄改、刪除或插入時,於該幀資料之後之雜湊值就會發生變化,進而該幀資料之後之目標幀資料之雜湊值會與區塊鏈系統1上儲存之雜湊值不同,使得多媒體檔具有不可竄改之依據。
舉例而言,由監控攝像頭即時取得畫面與聲音並傳遞至編碼器透過 H.264編碼協定進行編碼並儲存至指定存儲區B1,並且產生一個 UUID1作為監控影像之ID。同時多媒體資料流防篡改程式30從該存儲區B1即時讀取多媒體資料流,並對取得之多媒體資料流進行解碼,解碼後得到多個依序排列之幀資料,並透過上述所提及之幀資料之雜湊值運算方法進行雜湊計算得到每一幀資料之雜湊值,再將指定幀資料之屬性資訊:{UUID1、幀資料之編號、幀資料之雜湊值}上傳至區塊鏈系統1,區塊鏈系統1可將時間戳記添加至該指定幀資料之屬性資訊得到{UUID1、幀資料之編號、幀資料之雜湊值、時間戳記},再對屬性資訊:{UUID1、幀資料之編號、幀資料之雜湊值、時間戳記}進行共識與記帳。
未來當監控影像UUID1需要進行驗證時,從記憶體中提取監控影像UUID1,並解碼器對監控影像UUID1進行解碼後取得監控影像UUID1中之每一幀資料,並透過上述所提及之幀資料之雜湊值運算方法進行雜湊計算得到每一幀資料之雜湊值,進而可獲得多個指定幀資料之雜湊值,再藉由{UUID1、幀資料之編號}至區塊鏈系統1中提取先前所記錄之該多個指定幀資料之雜湊值與「時間戳記」,當區塊鏈上記錄之該多個指定幀資料之雜湊值與計算得到之多個指定幀資料之雜湊值均相符時,表示監控影像UUID1未經變更,同時區塊鏈系統1上之時間戳記可成為監控影像UUID1之錄製時間證明。
圖5為本發明一實施方式中多媒體資料流防篡改方法之流程圖。根據不同之需求,所述流程圖中步驟之順序可改變,某些步驟可省略。
步驟S500,讀取多媒體資料流並對所述多媒體資料流進行解碼,以得到所述多媒體資料流中依序排列之多個幀資料。
於一實施方式中,可從一指定存儲區讀取該多媒體資料流並可對讀取到之多媒體資料流進行解碼,以得到所述多媒體資料流中依序排列之多個幀資料。比如,對讀取到之多媒體資料流進行解碼得到依序排列之第一幀資料至第N幀資料,第一幀資料為所述多媒體資料流之起始幀資料,第二幀資料為所述起始幀資料之下一幀資料,以此類推,第N幀資料為所述多媒體資料流之結束幀資料,N為大於1之正整數。
於一實施方式中,所述多媒體資料流可是經過編碼處理之視頻資料流程、音訊資料流程。所述幀資料可是圖像幀或音訊幀。
可理解,具備錄音或錄影功能之電子設備於實際運用過程中,一般均是即時錄製產生多媒體資料流,並藉由MPEG(Moving Picture Experts Group,動態圖像專家組)或H.264編碼技術對錄製產生之多媒體資料流進行即時編碼與壓縮,以降低最終生成之多媒體檔之存儲容量。為使得錄製之多媒體資料流之資訊能即時上傳至區塊鏈系統1,當電子設備將即時編碼之多媒體資料流存儲於該指定存儲區,於多媒體檔還未生成之前,藉由Pipe方式(管道通信方式)讀取存儲於該指定存儲區之已經經過編碼處理之多媒體資料流,並對該多媒體資料流進行即時解碼,以得到讀取之多媒體資料流中依序排列之多個幀資料。藉由Pipe方式讀取之多媒體資料流可是當前存儲於該指定存儲區之部分或者全部多媒體資料流。
可理解,由於習知之具備錄音或錄影功能之電子設備於對多媒體資料流進行編碼壓縮生成多媒體檔之過程中可能會造成內容失真,因此讀取之多媒體資料流不是電子設備錄製產生之原始資料流程,而是讀取之經過編碼後之資料流程,進而使得未來於對多媒體檔進行解碼驗證時,可取得一致之 Hash 值進行比對。
於一實施方式中,該指定存儲區可是當前進行錄音或錄影之電子設備之記憶體,或者雲端記憶體。
步驟S502,對多個所述幀資料中之起始幀資料進行雜湊運算,得到所述起始幀資料之雜湊值。
步驟S504,將所述起始幀資料之雜湊值拼接至所述起始幀資料之下一幀資料之前方,並對所述起始幀資料之下一幀資料進行雜湊運算,得到所述起始幀資料之下一幀資料之雜湊值。
步驟S506,重複將當前幀資料之雜湊值拼接至所述當前幀資料之下一幀資料之前方並對所述當前幀資料之下一幀資料進行雜湊運算之步驟,直至計算得到多個所述幀資料中之結束幀資料之雜湊值。
於一實施方式中,假設對所述多媒體資料流進行解碼得到依序排列之2N+1個幀資料Frame 0~Frame 2N,起始幀資料為幀資料Frame 0,結束幀資料為幀資料Frame 2N。每一幀資料之雜湊值之運算方法包括:步驟a). 對起始幀資料Frame 0進行雜湊運算,得到起始幀資料Frame 0之雜湊值Hash 0;步驟b). 將起始幀資料Frame 0之雜湊值Hash 0添加至幀資料Frame 1之前方,然後對幀資料Frame 1進行雜湊運算,得到幀資料Frame 1之雜湊值Hash 1;步驟c). 重複步驟b之運算方法直至將幀資料Frame 2N-1之雜湊值Hash 2N-1添加至結束幀資料Frame 2N之前方,然後對結束幀資料Frame 2N進行雜湊運算,得到結束幀資料Frame 2N之雜湊值Hash 2N。
可理解,對起始幀資料Frame 0進行雜湊運算是指對起始幀資料Frame 0之資料進行雜湊運算,對幀資料Frame 1進行雜湊運算是指對包含幀資料Frame 1之資料及雜湊值Hash 0之資料集進行雜湊運算,對結束幀資料Frame 2N進行雜湊運算是指對包含結束幀資料Frame 2N之資料及雜湊值Hash 2N-1之資料集進行雜湊運算。
可理解,可採用習知之圖像幀或音訊幀之雜湊運算方法來實現對幀資料進行雜湊運算。比如,採用音訊感知雜湊演算法或視頻感知雜湊演算法。
步驟S508,根據預設篩選規則從多個所述幀資料中選定至少一目標幀資料。
於一實施方式中,由於多媒體資料流之資料量一般比較大,而解碼得到之幀資料之數量會更大,若將每一幀資料之屬性資訊均上傳至區塊鏈系統1進行儲存,可能會對區塊鏈網路造成過高之負擔。可根據預設篩選規則從多個所述幀資料中選定至少一目標幀資料,以便後續僅將目標幀資料之屬性資訊上傳至區塊鏈系統1進行儲存。
於一實施方式中,所述預設篩選規則可根據實際需求進行設定,比如所述預設篩選規則可是定義每間隔m個幀資料為所述目標幀資料,m小於2N,此時起始幀資料Frame 0、幀資料Frame m、幀資料Frame 2m等為所述目標幀資料。比如,m=5,對多媒體資料流進行解碼得到101幀資料,則目標幀資料為{ Frame 0、Frame 5、Frame 10、…、Frame 95、Frame 100}。所述預設篩選規則還可是採用H.264編碼規範所述定義之關鍵幀(Key Frame),即可根據H.264編碼規範確定多個所述幀資料中所包含之關鍵幀資料,並將確定之關鍵幀資料定義為所述目標幀資料。
步驟S510,將所述至少一目標幀資料之屬性資訊上傳至所述區塊鏈系統。
於一實施方式中,所述屬性資訊可包括:幀資料之雜湊值、幀資料之編號、多媒體ID。所述多媒體ID可是多媒體資料流之ID或多媒體檔之ID,多媒體ID可唯一地表徵讀取到之多媒體資料流之身份資訊。比如,多媒體ID為ABC,所述目標幀資料包括幀資料Frame 0、幀資料Frame m、幀資料Frame 2m,則幀資料Frame 0之屬性資訊為{Hash 0,Frame 0,ABC},幀資料Frame m之屬性資訊為{Hash m,Frame m,ABC},幀資料Frame 2m之屬性資訊為{Hash 2m,Frame 2m,ABC}。當確定目標幀資料時,可將所述目標幀資料之屬性資訊上傳至所述區塊鏈系統1,以實現將所述目標幀資料之屬性資訊保傳至所述區塊鏈系統1。
上述基於區塊鏈系統之多媒體資料流防篡裝置、方法及電腦可讀存儲介質,可對錄製產生之多媒體資料流進行即時解碼並進行雜湊運算,進而可快速獲取多媒體檔之時間證明與內容證明,且僅是將多媒體檔中之指定幀資料之屬性資訊上傳至區塊鏈系統,同樣實現確保多媒體檔不被篡改,減輕區塊鏈網路之負擔,減少上傳至區塊鏈系統之資料量。
綜上所述,本發明符合發明專利要件,爰依法提出專利申請。惟,以上所述者僅為本發明之較佳實施方式,本發明之範圍並不以上述實施方式為限,舉凡熟悉本案技藝之人士爰依本發明之精神所作之等效修飾或變化,皆應涵蓋於以下申請專利範圍內。
1:區塊鏈系統
10:記憶體
20:處理器
30:多媒體資料流防篡改程式
101:讀取模組
102:運算模組
103:篩選模組
104:上傳模組
100:多媒體資料流防篡改裝置
圖1是本發明一實施方式之區塊鏈系統之架構示意圖。
圖2是本發明一實施方式之多媒體資料流防篡改裝置之功能模組圖。
圖3是本發明一實施方式之多媒體資料流防篡改程式之功能模組圖。
圖4是本發明一實施方式之多媒體資料流中之每一幀資料之雜湊值之計算原理示意圖。
圖5是本發明一實施方式之多媒體資料流防篡改方法之流程圖。
Claims (10)
- 一種基於區塊鏈系統之多媒體資料流防篡改方法,所述區塊鏈系統包括多個節點,所述方法包括: 讀取多媒體資料流並對所述多媒體資料流進行解碼,以得到所述多媒體資料流中依序排列之多個幀資料; 對多個所述幀資料中之起始幀資料進行雜湊運算,得到所述起始幀資料之雜湊值; 將所述起始幀資料之雜湊值拼接至所述起始幀資料之下一幀資料之前方,並對所述起始幀資料之下一幀資料進行雜湊運算,得到所述起始幀資料之下一幀資料之雜湊值; 重複將當前幀資料之雜湊值拼接至所述當前幀資料之下一幀資料之前方並對所述當前幀資料之下一幀資料進行雜湊運算之步驟,直至計算得到多個所述幀資料中之結束幀資料之雜湊值; 根據預設篩選規則從多個所述幀資料中選定至少一目標幀資料;及 將所述至少一目標幀資料之屬性資訊上傳至所述區塊鏈系統; 其中,所述屬性資訊包括:幀資料之雜湊值、幀資料之編號、多媒體ID。
- 如請求項1所述之基於區塊鏈系統之多媒體資料流防篡改方法,其中所述預設篩選規則包括: 將多個所述幀資料中每間隔m個幀之幀資料作為所述目標幀資料,其中m為正整數;或 將多個所述幀資料中之關鍵幀資料作為所述目標幀資料。
- 如請求項1所述之基於區塊鏈系統之多媒體資料流防篡改方法,其中所述將所述至少一目標幀資料之屬性資訊存儲至所述區塊鏈系統之步驟包括: 當接收到所述目標幀資料之屬性資訊之儲存請求時,控制每一所述節點對所述儲存請求進行驗證; 當所述節點對所述儲存請求驗證藉由時,廣播驗證藉由消息至所述區塊鏈系統;及 當所述節點接收到超過第一預設數量之驗證藉由消息時,儲存所述目標幀資料之屬性資訊。
- 如請求項3所述之基於區塊鏈系統之多媒體資料流防篡改方法,其中每一所述節點還進行系統時間同步,所述方法還包括: 當接收到所述目標幀資料之屬性資訊之儲存請求時,將所述區塊鏈系統之當前系統時間之時間戳記添加至所述目標幀資料之屬性資訊中。
- 如請求項4所述之基於區塊鏈系統之多媒體資料流防篡改方法,其中所述當所述節點接收到超過所述第一預設數量之驗證藉由消息時,儲存所述目標幀資料之屬性資訊之步驟包括; 當所述節點接收到超過所述第一預設數量之驗證藉由消息時,判斷所述節點之當前系統時間是否大於所述時間戳記所記錄之時間;及 若所述節點之當前系統時間大於所述時間戳記所記錄之時間,則儲存所述目標幀資料之屬性資訊。
- 如請求項5所述之基於區塊鏈系統之多媒體資料流防篡改方法,還包括: 若所述節點之當前系統時間小於所述時間戳記所記錄之時間,則不對所述目標幀資料之屬性資訊進行儲存。
- 如請求項5所述之基於區塊鏈系統之多媒體資料流防篡改方法,還包括: 對待校驗多媒體檔進行解碼得到所述待校驗多媒體檔中依序排列之多個幀資料; 對多個所述幀資料中之至少一待校驗幀資料進行雜湊運算,得到所述至少一待校驗幀資料之雜湊值; 根據每一所述待校驗幀資料之編號及所述待校驗多媒體資料流之ID從所述區塊鏈系統中提取所述時間戳記及與每一所述待校驗幀資料對應之雜湊值; 判斷對每一所述待校驗幀資料進行雜湊運算得到之雜湊值與從所述區塊鏈系統中提取到之每一所述待校驗幀資料之雜湊值是否均相同; 若均相同,則判定所述待校驗多媒體檔未被篡改,並將所述時間戳記所記錄之時間作為所述待校驗多媒體檔之錄製時間證明。
- 如請求項1所述之基於區塊鏈系統之多媒體資料流防篡改方法,其中所述讀取多媒體資料流之步驟包括: 當電子設備將當前持續記錄之多媒體資料流壓縮並存儲至指定存儲區時,採用Pipe方式從所述指定存儲區讀取當前存儲之部分或全部多媒體資料流。
- 一種基於區塊鏈系統之多媒體資料流防篡改裝置,所述裝置包括處理器及記憶體,所述記憶體上存儲有複數電腦程式,所述處理器用於執行記憶體中存儲之電腦程式時實現如請求項1至8中任一項所述之基於區塊鏈系統之多媒體資料流防篡改方法之步驟。
- 一種電腦可讀取存儲介質,所述電腦可讀取存儲介質存儲有多條指令,多條所述指令可被一個或者多個處理器執行,以實現如請求項1至8中任一項所述之基於區塊鏈系統之多媒體資料流防篡改方法之步驟。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109123635A TWI734554B (zh) | 2020-07-13 | 2020-07-13 | 基於區塊鏈系統之多媒體資料流防篡改裝置、方法及介質 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109123635A TWI734554B (zh) | 2020-07-13 | 2020-07-13 | 基於區塊鏈系統之多媒體資料流防篡改裝置、方法及介質 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI734554B true TWI734554B (zh) | 2021-07-21 |
TW202203628A TW202203628A (zh) | 2022-01-16 |
Family
ID=77911356
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109123635A TWI734554B (zh) | 2020-07-13 | 2020-07-13 | 基於區塊鏈系統之多媒體資料流防篡改裝置、方法及介質 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI734554B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI237974B (en) * | 2001-06-13 | 2005-08-11 | Corrent Corp | Security association data cache and structure |
US20160112200A1 (en) * | 2014-10-17 | 2016-04-21 | 21, Inc. | Cryptographic hashing circuitry having improved scheduling efficiency |
US20160292672A1 (en) * | 2015-03-31 | 2016-10-06 | Nasdaq, Inc. | Systems and methods of blockchain transaction recordation |
CN109886687A (zh) * | 2019-02-28 | 2019-06-14 | 矩阵元技术(深圳)有限公司 | 一种基于区块链实现安全多方计算的结果验证方法及系统 |
-
2020
- 2020-07-13 TW TW109123635A patent/TWI734554B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI237974B (en) * | 2001-06-13 | 2005-08-11 | Corrent Corp | Security association data cache and structure |
US20160112200A1 (en) * | 2014-10-17 | 2016-04-21 | 21, Inc. | Cryptographic hashing circuitry having improved scheduling efficiency |
US20160292672A1 (en) * | 2015-03-31 | 2016-10-06 | Nasdaq, Inc. | Systems and methods of blockchain transaction recordation |
CN109886687A (zh) * | 2019-02-28 | 2019-06-14 | 矩阵元技术(深圳)有限公司 | 一种基于区块链实现安全多方计算的结果验证方法及系统 |
Non-Patent Citations (1)
Title |
---|
Osamah Ibrahem Khalaf等人, "A New Algorithm on Application of Blockchain Technology in Live Stream Video Transmissions and Telecommunications," International Journal of e-Collaboration, Volume 16, Issue 1, January-March 2020. (網址:https://www.researchgate.net/publication/337843486_A_New_Algorithm_on_Application_of_Blockchain_Technology_in_Live_Stream_Video_Transmissions_and_Telecommunications) * |
Also Published As
Publication number | Publication date |
---|---|
TW202203628A (zh) | 2022-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11755693B1 (en) | Authentication of encrypted media based on immutable ledgers | |
US10176309B2 (en) | Systems and methods for authenticating video using watermarks | |
TWI682662B (zh) | 影像防篡改方法、影像拍攝設備及影像驗證方法 | |
US20160379330A1 (en) | Method and apparatus for protecting digital photos from alteration | |
US8683601B2 (en) | Audio/video identification watermarking | |
US20120078864A1 (en) | Electronic data integrity protection device and method and data monitoring system | |
CN112584231B (zh) | 视频直播方法、装置、cdn网络的边缘设备和用户终端 | |
US11599570B2 (en) | Device and method to render multimedia data stream tamper-proof based on block chain recording | |
TWI734554B (zh) | 基於區塊鏈系統之多媒體資料流防篡改裝置、方法及介質 | |
CN112235600B (zh) | 视频数据及视频业务请求的处理方法、装置及系统 | |
CN110661805B (zh) | 数据处理方法、装置、存储介质和客户端 | |
CN112003925A (zh) | 基于区块链的物联网数据存储方法和物联网系统 | |
CN115914578A (zh) | 一种基于区块链的办案全流程化管理方法及系统 | |
US11683180B1 (en) | Protecting digital media with nested hashing techniques | |
Igarashi et al. | Photrace: A blockchain-based traceability system for photographs on the internet | |
CN111064717B (zh) | 数据编码方法、数据解码方法以及相关终端、装置 | |
JP4728136B2 (ja) | コンテンツ配信システムおよびコンテンツ配信方法 | |
CN114430488A (zh) | 一种视频编码和视频解码的方法及装置 | |
KR102275868B1 (ko) | 비디오 데이터의 위/변조 방지 장치 및 방법 | |
Gehani et al. | Veil: A system for certifying video provenance | |
US20240054507A1 (en) | Content management system, content generation apparatus, content management method, control method for contents generation apparatus, and storage medium storing content management program | |
CN108885878B (zh) | 用于在数据流中嵌入数据的改进方法、装置和系统 | |
CN116702218B (zh) | 小程序中三维模型的渲染方法、装置、终端及存储介质 | |
JP2016096411A (ja) | 特徴量生成装置、特徴量生成方法、特徴量生成プログラム及び改竄検出システム | |
CN114827671B (zh) | 一种基于硬件指纹的流媒体加密传输方法 |