• 沒有找到結果。

基於區塊鏈之數位鑑識證據監管鏈 - 政大學術集成

N/A
N/A
Protected

Academic year: 2021

Share "基於區塊鏈之數位鑑識證據監管鏈 - 政大學術集成"

Copied!
106
0
0

加載中.... (立即查看全文)

全文

(1)國⽴政治⼤學資訊科學系 Department of Computer Science National Chengchi University. 碩⼠論⽂ Master’s Thesis. 立. 政 治 大. ‧ 國. 學. 基於區塊鏈之數位鑑識證據監管鏈. ‧. io. n. al. y. er. Custody Technology. sit. Nat. A Blockchain Based Digital Forensics Chain of. Ch. engchi. i Un. v. 指導教授:左瑞麟 博⼠ 研究⽣:翁嘉妤 撰 中華民國⼀百零⼋年六⽉ June, 2019 1. DOI:10.6814/NCCU201900212.

(2) 基於區塊鏈之數位鑑識證據監管鏈 摘要 數位鑑識實驗室在受理案件時,鑑識⼈員需使⽤有效的數位鑑識⼯具,依 正確的數位證據監管鏈原則將證據擷取出來,如此才能確保該證據在法律訴訟 過程中具備證據能⼒。然⽽現⾏的蒐證作業多以紙本表單紀錄證據資訊,包 含:數位證據蒐集⼯作表、證據取得清單表以及證據監管鏈表,⽽撰寫、修改 表單紀錄的⼯作相當耗費⼈⼒和物⼒,且移交過程也可能出錯。. 政 治 大. 因此本論⽂針對證據監管鏈表建構出「區塊鏈數位鑑識證據監管鏈平台」. 立. 系統雛形,利⽤以太坊區塊鏈的 ERC 721 代幣標準及 ECQV 隱含式憑證. ‧ 國. 學. (Elliptic Curve Qu-Vanstone Implicit Certificates)的技術改善上述問題。. ‧. 本平台為每張證據監管鏈表發⾏⼀個 ERC 721 不可替換代幣,在鏈上紀. sit. y. Nat. 錄其內容的異動及所有權的移轉,並採⽤ Clique PoA 共識機制同步各參加節. al. er. io. 點的資料,達到證據監管鏈表的完整性認證。此外,所有⽤⼾在加⼊本聯盟鏈. v. n. 前須先向 CA 申請⼀張 ECQV 隱含式憑證做⾝份認證,⽽ ECQV 憑證的容. Ch. engchi. i Un. 量較⼩、⾦鑰安全強度強,適合放在區塊鏈上傳遞以做證據監管鏈表的簽驗 章、加解密達到機敏性及不可否認性。. 關鍵詞:以太坊區塊鏈、數位鑑識、證據監管鏈、智能合約、ERC 721 代幣標 準、PoA Clique 共識機制、ECQV 隱含式憑證. 2. DOI:10.6814/NCCU201900212.

(3) A Blockchain Based Digital Forensics Chain of Custody Abstract When a digital forensics library acceptes a case, the forensics staffs of the library need to collect the evidence by using legal forensics tools according to the proper principle of Digital Forensics Chain of Custody. In this way, we can make sure that the extracted evidence has the evidential effect during the litigation. However, currently the coollecting process is being recorded and modified in paper work including Digital evidence collection worksheet, Incoming Evidence Form, and Chain of Custody Form which requires lots of huam resources and is time consumin.. 政 治 大 digital forensics chain of custody. This platfrom, to some extent, solves the problems 立 Focusing on Chain of Custody Form, this thesis proposes a blockchain based. ‧ 國. 學. mentioned above. The building blocks and the core techniques we used here including the Ethereum blockchain and ECQV implicit certificates.. ‧. In order to attain the data integrity, this platform release ERC 721 non-fungible token for each chain of custody form, recording all modificatory history of. y. Nat. io. sit. ownersship and context. In addition, it adopts the Clique PoA consensus to sync the. n. al. er. data of all nodes on the chain. Furthermore, all the users need to apply for an ECQV. Ch. i Un. v. certificate from CA to athenticate the identification before the participating. engchi. consortium chain. The reasons why we use ECQV certificates are beacuse of its smaller size and more secure of keys comparing with traditional certificates. So that we can put it on the blockchain for transmission, leting users to sign, verify, encrypt and decrypt the chain of custody for the purpose of achieving the data confidentiality and non-repudiation.. Keywords:Ethereum Blockchain, Digital Forensice, Chain of Custody, Smart Contract, ERC 721 Token Standard, Clique PoA (Proof of Authority), ECQV Implicit Certificates. 3. DOI:10.6814/NCCU201900212.

(4) 致謝 這篇論⽂是我⼈⽣中完成的第⼀本著作,我想把它獻給我的⽗親。「親愛 的⽼爸,我終於完成碩⼠學位了,想與您分享這份喜悅!感謝您⼀直以來都⽀ 持我、⿎勵我做任何事情。我永遠都不會忘記您坐在客廳睡著等我回家您才要 進房間的畫⾯和我坐在書桌前搔頭眼⾓餘光偷看⾨縫的您,發現您坐在客廳沙 發也在我的樣⼦。雖然碩⼠放榜那天您先睡了,碩⼠畢業這天您在世界的另⼀ 端享樂,我仍聽得到您的叮嚀與祝福,謝謝您,我愛您!」 感謝媽媽和弟弟的照顧與⽀持,我常常不在家裡,都是您們幫忙分擔家. 治 政 事、照顧饅頭,晚上回家有熱熱的宵夜可以吃是種幸福,愛你們;感謝左瑞麟 大 立 ‧ 國. 學. 教授的指導,教導我密碼及區塊鏈相關的知識、給予我寫作⽅向與建議並⿎勵 我參加 CISC 2019 年的競賽;感謝⼝試委員范俊逸教授、陳宗和教授、陳昱圻. ‧. 教授以及王紹睿教授給予我的寶貴意⾒及回饋;感謝我的⼤學指導⽼師許建隆. sit. y. Nat. 教授引領我踏⼊資安領域;感謝實驗室的同學淑美、依珊、佳萱等⼈在課業上. n. al. er. io. 的陪伴與扶持以及在準備⼝試上的協助;感謝聯宏科技股份有限公司的⽼闆. i Un. v. Jason、Julia 以及同事們培養我在資安領域上的知識與⼈脈;感謝上海商業儲蓄. Ch. engchi. 銀⾏的⾧官及同事在⼯作上幫忙及照顧讓我得以邊⼯作邊唸書。 感謝我的家⼈、貴⼈與朋友們,您們的照顧與陪伴讓我感到⾮常幸運且幸 福,沒有您們我沒有辦法完成碩⼠學位,沒有您們就沒有現在的我,謝謝!. 4. DOI:10.6814/NCCU201900212.

(5) ⽬次 第 1 章 緒論 ......................................................................................................... 10 1-1.. 研究動機 .................................................................................................. 11. 1-2.. 研究⽅法及⽬標 ...................................................................................... 12. 1-3.. 研究貢獻 .................................................................................................. 13. 1-4.. 論⽂架構 .................................................................................................. 17. 第 2 章 研究背景 .................................................................................................. 18 2-1.. 名詞定義 .................................................................................................. 18. (1) 數位鑑識 .................................................................................................. 18 (2) 數位證據 .................................................................................................. 18 (3) 證據監管鏈原則 ...................................................................................... 18. 政 治 大. (4) 證據監管鏈表 .......................................................................................... 19 2-2.. 立. 區塊鏈...................................................................................................... 19. ‧ 國. 學. (1) 區塊鏈聯盟鏈 .......................................................................................... 20 (2) 智能合約 .................................................................................................. 20. ‧. (3) ERC 20 代幣合約標準 ........................................................................... 21 (4) ERC 721 代幣合約標準 ......................................................................... 22 POA CLIQUE 共識機制 ........................................................................... 23. 2-4.. 以太坊 ECDSA 公私鑰及帳⼾位址的關係 ........................................... 26. 2-5.. ECQV 隱含式憑證 ................................................................................. 27. 2-6.. 政府機關(構)資安事件數位證據保全標準作業程序......................... 28. n. al. er. io. sit. y. Nat. 2-3.. Ch. engchi. i Un. v. 第 3 章 區塊鏈數位鑑識證據監管鏈平台系統設計 ............................................ 30 3-1.. 系統概述 .................................................................................................. 30. 3-2.. 平台⾓⾊介紹 .......................................................................................... 31. 3-3.. 聯盟區塊鏈架構設計 .............................................................................. 32. 3-4.. 數位鑑識證據監管鏈平台系統架構 ....................................................... 33. (1) 區塊鏈系統(Blockchain System) ....................................................... 33 (2) 數位證據監管鏈應⽤系統 (Digital Evidence Chain AP System) ......... 34 (3) 應⽤系統連結閘道 (AP Gateway) ......................................................... 34 3-5.. 數位鑑識證據監管鏈平台智能合約說明 ................................................ 35. (1) 部署數位鑑識案件以太坊智能合約(Deploy) .................................... 36 (2) 建⽴證據監管鏈表 ERC721 Token(Create) .................................... 37 (3) 取得證據監管鏈表的 Token ID (GetTokenID)............................... 38 5. DOI:10.6814/NCCU201900212.

(6) (4) 設定證據監管鏈表 Token 的特徵值(SetTokenURI) ...................... 39 (5) 取得證據監管鏈表 Token 的特徵值(TokenURI) ........................... 40 (6) 取得 Token 持有者的 Account Address(OwnerOf) ...................... 41 (7) 將 Token 授權給指定 Account(Approve) ...................................... 42 (8) 將 Token 傳送給指定 Account(Transfer) ...................................... 43 3-6.. 數位鑑識證據監管鏈平台 WEB SERVICE API 說明 .............................. 44. (1) API URL 說明 ........................................................................................ 44 (2) API 欄位格式說明 ................................................................................. 44 (3) 取得 Node 資訊(GetNodeInfo) .......................................................... 45 (4) 傳送證據監管鏈表(TransferEvidenceChain) ................................... 45 (5) 接收證據監管鏈表(ReceiveEvidenceChain) ..................................... 50 3-7.. 數位鑑識證據監管鏈平台資料庫設計.................................................... 51. 政 治 大 案件資料表(ForensicsCase) ............................................................... 52 立. (1) 資料庫欄位格式說明 .............................................................................. 52 (2). ‧ 國. 學. (3) 證據資訊資料表(ForensicsEvidence) ................................................ 52 (4) 證據監管鏈資料表(ForensicsEvidenceChain) .................................. 53. (5) 節點資料表(ForensicsNodeInfo) ....................................................... 54. ‧. 3-8.. 數位鑑識證據監管鏈平台作業流程 ....................................................... 55. y. Nat. (1) 註冊新⽤⼾ .............................................................................................. 56. sit. (2) 產⽣證據監管鏈表 .................................................................................. 58. al. er. io. (3) 傳送證據監管鏈表 .................................................................................. 59. v. n. (4) 接收證據監管鏈表 .................................................................................. 63. Ch. engchi. i Un. 第 4 章 區塊鏈數位鑑識證據監管鏈平台應⽤系統操作說明 ............................ 67 4-1.. 執⾏環境 .................................................................................................. 67. 4-2.. 系統⾴⾯導覽 .......................................................................................... 68. 4-3.. 註冊新⽤⼾ .............................................................................................. 69. 4-4.. 查詢及產⽣證據監管鏈表 ....................................................................... 77. 4-5.. 查詢及傳送證據監管鏈表 ....................................................................... 81. 4-6.. 接收證據監管鏈表 .................................................................................. 91. 第 5 章 結論及未來研究⽅向 .............................................................................. 98 第 6 章 附件 ......................................................................................................... 99 6-1. 政府機關(構)資安事件數位證據保全標準作業程序......................... 99. 第 7 章 參考⽂獻 ................................................................................................ 105 6. DOI:10.6814/NCCU201900212.

(7) 圖次 圖 2-1:THE ERC 20 TOKEN STANDARD INTERFACE ............................................ 21 圖 2-2:THE ERC 721 TOKEN STANDARD INTERFACE .......................................... 22 圖 2-3:CLIQUE POA 簽發區塊機會均等 ............................................................. 22 圖 2-4:CLIQUE POA 難度計算 ............................................................................. 22 圖 2-5:以太坊 USER ACCOUNT 產製的流程 ....................................................... 22 圖 3-1:聯盟區塊鏈架構設計................................................................................ 32 圖 3-2:區塊鏈數位鑑識證據監管鏈平台系統架構 ............................................. 33 圖 3-3:數位鑑識證據監管鏈平台資料庫 ERD 圖 ............................................. 51 圖 3-4:數位鑑識證據監管鏈平台作業流程⽰意圖 ............................................. 55 圖 3-5:數位鑑識證據監管鏈平台四⼤作業流程 ................................................. 55. 政 治 大 圖 3-7:產⽣證據監管鏈表流程圖 立 ........................................................................58. 圖 3-6:註冊新⽤⼾流程圖 ................................................................................... 56. ‧ 國. 學. 圖 3-8:傳送證據監管鏈表流程圖 ........................................................................ 60 圖 3-9:接收證據監管鏈表流程圖 ........................................................................ 64 圖 4-1(左上):作業系統系統資訊 .................................................................... 68. ‧. 圖 4-2(右上):蒐證單位節點............................................................................ 68. y. Nat. 圖 4-3(左下):數位鑑識實驗室節點 ................................................................ 68. sit. 圖 4-4(右下):AUTHORITY NODES .................................................................... 68. er. io. 圖 4-5:系統⾴⾯導覽 ........................................................................................... 69. al. iv n C 圖 4-7:註冊新⽤⼾ STEP2-2................................................................................. 74 hengchi U STEP2-1................................................................................. 74. 圖 4-8:註冊新⽤⼾. STEP2-3................................................................................. 75. 圖 4-9:註冊新⽤⼾. STEP2-4................................................................................. 75. n. 圖 4-6:註冊新⽤⼾. 圖 4-10:註冊新⽤⼾. STEP2-5............................................................................... 75. 圖 4-11:註冊新⽤⼾. STEP3-1............................................................................... 76. 圖 4-12:註冊新⽤⼾. STEP3-2............................................................................... 76. 圖 4-13:產⽣證據監管鏈表. STEP1 ...................................................................... 77. 圖 4-14:產⽣證據監管鏈表. STEP2 ...................................................................... 78. 圖 4-15:產⽣證據監管鏈表. STEP3 ...................................................................... 78. 圖 4-16:產⽣證據監管鏈表. STEP4 ...................................................................... 79. 圖 4-17:異動未送出的證據監管鏈表 STEP1........................................................ 79 圖 4-18:異動未送出的證據監管鏈表. STEP2 ....................................................... 80. 7. DOI:10.6814/NCCU201900212.

(8) 圖 4-19:異動未送出的證據監管鏈表. STEP3 ....................................................... 80. 圖 4-20:異動未送出的證據監管鏈表. STEP4 ....................................................... 81. 圖 4-21:異動未送出的證據監管鏈表. STEP4 ....................................................... 81. 圖 4-22:查詢證據監管鏈表. STEP1 ...................................................................... 82. 圖 4-23:查詢證據監管鏈表. STEP2 ...................................................................... 82. 圖 4-24:新增證據監管鏈表資訊. STEP3............................................................... 83. 圖 4-25:新增證據監管鏈表資訊. STEP4............................................................... 83. 圖 4-26:新增證據監管鏈表資訊. STEP5............................................................... 84. 圖 4-27:新增證據監管鏈表資訊. STEP6............................................................... 84. 圖 4-28:傳送證據監管鏈表資訊. STEP1............................................................... 85. 圖 4-29:傳送證據監管鏈表資訊. STEP2............................................................... 85. 圖 4-30:傳送證據監管鏈表資訊. STEP3............................................................... 86. 圖 4-31:傳送證據監管鏈表資訊. 立. 圖 4-32:傳送證據監管鏈表資訊. 治 政 4............................................................... 86 大 STEP. STEP5............................................................... 87. 圖 4-34:傳送證據監管鏈表資訊. STEP6............................................................... 88. 圖 4-35:傳送證據監管鏈表資訊. STEP7............................................................... 88. 圖 4-36:傳送證據監管鏈表資訊. STEP8............................................................... 89. 圖 4-37:傳送證據監管鏈表資訊. STEP9............................................................... 90. 圖 4-38:傳送證據監管鏈表資訊. STEP10 ............................................................. 90. 圖 4-39:傳送證據監管鏈表資訊. STEP11 ............................................................. 91. y. sit. io. er. Nat. al. ‧. ‧ 國. STEP6............................................................... 87. 學. 圖 4-33:傳送證據監管鏈表資訊. STEP2............................................................... 92 iv n C 圖 4-41:接收證據監管鏈表資訊 h STEP3............................................................... 93 engchi U. n. 圖 4-40:接收證據監管鏈表資訊 圖 4-42:接收證據監管鏈表資訊. STEP4............................................................... 93. 圖 4-43:接收證據監管鏈表資訊. STEP5............................................................... 94. 圖 4-44:接收證據監管鏈表資訊. STEP5............................................................... 94. 圖 4-45:接收證據監管鏈表資訊. STEP6............................................................... 94. 圖 4-46:接收證據監管鏈表資訊. STEP7............................................................... 95. 圖 4-47:接收證據監管鏈表資訊. STEP8............................................................... 96. 圖 4-48:接收證據監管鏈表資訊. STEP9............................................................... 97. 圖 4-49:接收證據監管鏈表資訊. STEP10 ............................................................. 97. 8. DOI:10.6814/NCCU201900212.

(9) 表次 表 2-1:政府機關(構)資安事件數位證據保全標準作業程序證據監管鏈表... 29 表 3-1:系統開發、測試環境................................................................................ 30 表 3-2:部署數位鑑識案件以太坊智能合約(DEPLOY).................................... 36 表 3-3:建⽴證據監管鏈表 ERC721 TOKEN(CREATE) ................................... 37 表 3-4:取得證據監管鏈表的 TOKEN ID (GETTOKENID) ............................. 38 表 3-5:設定證據監管鏈表 TOKEN 的特徵值(SETTOKENURI) ..................... 39 表 3-6:取得證據監管鏈表 TOKEN 的特徵值(TOKENURI) ........................... 40 表 3-7:取得 TOKEN 持有者的 ACCOUNT ADDRESS(OWNEROF) .................. 41 表 3-8:將 TOKEN 授權給指定 ACCOUNT(APPROVE) .................................... 42 表 3-9:將 TOKEN 傳送給指定 ACCOUNT(TRANSFER) .................................. 43 表 3-10:API URL 說明 ....................................................................................... 44. 政 治 大 N I )...................................................... 45. 表 3-11:API 欄位格式說明 ................................................................................. 44. 立. 表 3-12:取得 NODE 資訊(GET. ODE NFO. ‧ 國. 學. 表 3-13:傳送證據監管鏈表(TRANSFEREVIDENCECHAIN) ............................. 45 表 3-14:接收證據監管鏈表(RECEIVEEVIDENCECHAIN) ................................ 50 表 3-15:資料庫欄位格式說明.............................................................................. 52. ‧. 表 3-16:案件資料表(FORENSICSCASE)........................................................... 52. y. Nat. 表 3-17:證據資訊資料表(FORENSICSEVIDENCE) ........................................... 52. sit. 表 3-18:證據監管鏈資料表(FORENSICSEVIDENCECHAIN)............................. 53. er. io. 表 3-19:節點資料表(FORENSICSNODEINFO) .................................................. 54. al. iv n C 表 4-2:註冊新⽤⼾ STEP1-1................................................................................. 70 hengchi U n. 表 4-1:系統⾴⾯導覽 ........................................................................................... 69. 表 4-3:註冊新⽤⼾. STEP1-2................................................................................. 71. 表 4-4:註冊新⽤⼾. STEP1-3................................................................................. 71. 表 4-5 註冊新⽤⼾. STEP1-4.................................................................................... 72. 表 4-6:註冊新⽤⼾. STEP1-5................................................................................. 74. 9. DOI:10.6814/NCCU201900212.

(10) 第 1 章 緒論 隨著電腦及網際網路發展,許多⽣活⼤⼩事都可以在網路處理,如:網路 銀⾏、⾏動⽀付、網路拍賣、視訊、網路電話等。相對的,許多的網路犯罪也 隨之發⽣。因此如何擷取數位證據,讓數位證據具證據能⼒、證明⼒;依據正 確的鑑識流程、使⽤有效⼯具,確保證據的完整性及正確性;依正確的數位證 據監管鏈原則,將證據擷取出來已成為現今必須⾯對的重要課題。. 政 治 大 ,⽬的在於使⾏政機關於資安事件調查時,能有效保全及使⽤數位證 立. ⾏政院於民國 104 年訂定政府機關(構)資安事件數位證據保全標準作業 程序[5]. ‧ 國. 學. 據,俾執⾏⼈員於執⾏數位證據識別、蒐集、擷取、封緘及運送作業時有所依 循。相關作業程序概述如下:. ‧. (1) 數位證據識別:記錄⼈員應維護現場完整,避免改變數位證據原始狀態,判斷. y. Nat. al. er. io. sit. 與案情相關之數位證物,視現場狀況以錄影、拍照或其他⽅式記錄現場。. n. (2) 電腦設備或儲存媒體蒐集:系統於可關機情況下,應封緘完整電腦設備及儲存. Ch. engchi. i Un. v. 媒體,若為無法中斷服務之伺服主機系統等,應在上級機關或鑑識單位的監督 下,進⾏嚴謹的資料轉錄,並將其數位證據蒐集結果填寫於「數位證據蒐集⼯ 作表(電腦設備)」或「數位證據蒐集⼯作表(儲存媒體)」。 (3) 揮發性與邏輯性資料擷取:數位證據保全⼈員應考量事件類型及現場狀況後, 擷取揮發性資料(如記憶體中的資料)及系統邏輯性資料(如作業系統資訊、 網路狀態及執⾏程序資訊等) 。擷取資料完畢後,應產⽣相對應之雜湊運算值 及擷取資訊記錄之報表,經執⾏⼈員與事件發⽣單位主管簽名。 (4) 數位證據封緘:應確實清點數位證據,每⼀項數位證據應分別填寫⼀張「證據 10. DOI:10.6814/NCCU201900212.

(11) 監管鏈表」 ,並固定⾄對應之證據收集容器或公⽂袋上。數位證據於封緘前應 妥善包裝並考量其保護措施,以避免靜電或運送過程中發⽣碰撞與震動等。數 位證據攜出機關前應填列「證據取得清單」並交由在場相關⼈員確認及簽章。 (5) 數位證據運送:證據運送過程中應符合證據監管鏈要求,無被篡改等不當⾏為 發⽣之可能性,並於每⼀交接過程中其交接流程應記錄明確,交付⼈員與接收 ⼈員應填寫「證據監管鏈表」 ,詳載交件⼈、收件⼈、⽇期時間及⽬的等資訊, 以⽰負責。 此外,於法庭呈現的證據是否符合證據監管鏈原則之要求是⾮常重要的,. 政 治 大 對於易被竄改或改變的證據,完善的證據監管鏈是必須的。本研究著重於數位 立 ‧ 國. 學. 證據監管鏈的紀錄、維護及傳遞,利⽤以太坊區塊鏈技術去中⼼化、完整性及 不可否認性的特性,結合 ECQV 隱含式憑證,建構區塊鏈數位鑑識證據監管. ‧. 鏈平台系統。此外,針對證據監管鏈表的完整性保護, 2019 年 Auqib Hamid. y. Nat. io. sit. Lone 和 Roohie Naaz Mir 兩位學者採⽤ Hyperledger 區塊鏈亦提出了⼀套解決. n. al. er. ⽅法[10],然⽽以太坊區塊鏈為第⼆⼤的開源區塊鏈平台,因此本論⽂採⽤之。. 1-1. 研究動機. Ch. engchi. i Un. v. 在訴訟過程中,證物扮演決定判決結果的關鍵⾓⾊,檢警調單位對於數位 證據的「證據能⼒」以及「證據⼒」要求⼗分嚴謹,唯有先符合「證據能⼒」 的數位證據,才能進⼀步到法庭檢視其「證據⼒」[2][3]。⽽數位證據的「證據能 ⼒」包含,蒐證的程序是否符合數位鑑識的原則,攸關該項數位證據是否可以 作為法庭證據之⽤。這也是法律訴訟時,兩造雙⽅⾸先會提出質疑的環節。因 此,如何讓數位證據的提出過程都具有證據能⼒,將會是提出數位證據佐證時 ⾸要考慮的關鍵因素。 11. DOI:10.6814/NCCU201900212.

(12) 數位鑑識實驗室在受理案件後,案件負責⼈會到現場取得證物清單、記錄 證物基本資訊。舉例來說,光是⼀顆硬碟,從誰⼿上收來、硬碟特⾊、⼤⼩、 序號等,所有資訊都要寫進數位證據蒐集⼯作表、證據取得清單表;接著建⽴ 證據監管鏈表單、出⼊庫管理等表格,在每次交接證物都得詳實記錄;不只如 此,每個證物都有好幾個副本,光是修改表單紀錄的⼯作相當耗費⼈⼒和物 ⼒,且移交過程也可能出錯。 本論⽂希望能應⽤以太坊區塊鏈及 ECQV 憑證的技術改善現⾏紙本證據 監管鏈表維護耗時、耗⼒且移交過程易出錯的問題。預期將證據監管鏈表單內. 治 政 容放⼊區塊鏈中,使證據監管鏈表無法竄改達到完整性,並利⽤區塊鏈共識機 大 立 ‧ 國. 學. 制同步各參加節點的資料,若某參加節點系統故障可透過其他節點還原資料, 達成去中⼼化的紀錄證據監管鏈,配合 ECQV 隱式憑證做資料的機敏性、節. ‧. 點的⾝份認證以及證據監管鏈不可否認性的驗證。. sit. y. Nat. 若本應⽤能串連鑑識單位及司法體系,包含:蒐證單位、鑑識實驗室、司. n. al. er. io. 法院、調查局、檢察官、刑事局等,就確保證據監管鏈從調查到訴訟結束,都 能維持證據監管鏈原則。. Ch. engchi. i Un. v. 1-2. 研究⽅法及⽬標 本研究欲建構⼀個「數位鑑識證據監管鏈平台」,以以太坊區塊鏈技術為 基礎,利⽤區塊鏈的特性發⾏具不可否認性、不可竄改性、節點資料同步的數 位鑑識證據監管鏈合約,配合 ECQV 隱含式憑證,做節點的實名制的⾝份識 別,⼜利⽤ ECQV 隱含式憑證簽章資料量⼩、⾦鑰強度可受信任的特性,平 台統將 ECQV 憑證及憑證持有者對證據監管鏈做數位簽章的簽章值放在鏈 上,達到證據監管鏈紀錄的不可否認性,亦能降低區塊鏈上的資料量。 12. DOI:10.6814/NCCU201900212.

(13) 本平台採⽤以太坊 PoA Clique 共識演算法,因爲 PoA Clique 共識演算法 能讓現⾏節點控制新節點的加⼊及其權限,避免算⼒較強的節點控制整個區塊 鏈,⼜ PoA Clique 是依靠指定的授權節點及排定的挖礦順序負責產⽣區塊,且 產⽣新區塊的時間也能透過創世區塊設定,因此能減少挖礦時間、降低挖礦的 能源成本。 為了能精確追蹤各證據監管鏈的所有權及所有權的移轉,本平台採⽤ ERC721 Token 智能合約紀錄證據監管鏈, ERC721 為處理「不可替換資產」 的以太坊代幣標準,在 ERC721 標準下,能將資產(即證據監管鏈表)轉為唯. 治 政 ⼀的、獨特的 256 位元代幣,⽽這種代幣可以透過區塊鏈上的智能合約追蹤, 大 立 ‧ 國. 學. 從⽽建⽴數位化資產。. 本平台數位證據監管鏈表的設計及傳遞作業乃依據中華民國 104 年 8 ⽉ 4. ‧. ⽇⾏政院院臺護字第 1040036611 號函訂定發布的政府機關(構)資安事件數位. sit. y. Nat. 證據保全標準作業程序[5]。此外,本平台將證據監管鏈表的傳遞分為鏈上及鏈. n. al. er. io. 下資料傳遞,鏈上的資料傳遞透過以太坊 POA Clique 共識演算法達到節點資料. i Un. v. 收斂同步,⽽ ECQV 憑證及簽章值的變化紀錄在 ERC721 Token 的附加資訊. Ch. engchi. 中,結點間的通訊協定採 Web3 RPC;⽽鏈下的資料傳遞採⽤ RESTful Web Service JSON 格式,參加機構依據本論⽂ API 連線規格做資料的組成、正規 化、HASH、加解密及簽驗章,API 連線採⽤ HTTPS 通訊協議。. 1-3. 研究貢獻 「數位鑑識證據監管鏈平台」採⽤以太坊區塊鏈技術來改善現⾏數位鑑識 相關單位在撰寫、傳遞證據監管鏈遇到的問題,如:紙本的撰寫耗時耗⼯、遞 交過程容易出錯、不易於法庭上證明表單的正確性與真實性等問題。 13. DOI:10.6814/NCCU201900212.

(14) 將每份證據監管鏈表視為⼀個唯⼀的、獨特的「不可替換資產」,發⾏ ERC721 代幣做證據監管鏈表的內容異動紀錄以及所有權的移轉紀錄。此外, 為了增加區塊產⽣的速度以及降低挖礦資源,改採⽤ PoA Clique 共識機制做節 點資料同步,也能有效控制各節點的權限避免多數決控制區塊鏈。 在平台安全性⽅⾯,本研究使⽤ X.800[9] 和 RFC 2828 [16]定義的五個安全 服務來探討「數位鑑識證據監管鏈平台」的安全性設計。五個安全服務包含資 料機密性(Data Confidentiality)、資料完整性(Data Integrity)、認證 (Authentication)、不可否認性(Nonrepudiation)、存取控制(Access [12][20]. control). 立. 學. 資料機密性(Data Confidentiality)為避免資料在未授權的狀況下即洩漏。. ‧ 國. 在傳送⽅要傳送證據監管鏈表給接收⽅前,傳送⽅需先向接收⽅發出. ‧. 請求取得接收⽅的 ECQV 憑證和 Node Address ,收到後,傳送⽅從. sit. y. Nat. ECQV 憑證和 CA 的憑證資訊計算出接收⽅的 ECDSA 公鑰,再隨機產. io. ⽣ AES Session Key ,以 Session Key 加密證據監管鏈表本⽂後,再以接. n. al. er. Ø. 。. 政 治 大. i Un. v. 收⽅的公鑰加密 Session Key。接收⽅收到被加密的證據監管鏈表,會以私. Ch. engchi. 鑰解密 AES Session Key ,再以 Session Key 解密證據監管鏈表本⽂。即 證據監管鏈表在鏈下的傳輸都是有加密的,符合資料機敏性。 此外,在鏈上的資料只存放持有者對證據監管鏈表的簽章值以及其憑 證,證據監管鏈表中的機敏資訊並不會因為區塊鏈分散式帳本的特性暴露 給其他⾮相關的節點。 在資料傳輸保護⽅⾯,本平台在鏈下的資料傳遞採⽤ HTTPS 加密通 訊協定,因此傳收雙⽅的資料均在加密的通道中傳遞。. 14. DOI:10.6814/NCCU201900212.

(15) Ø. 資料完整性(Data Integrity):在確保收到的資料和授權實體送出的內容完 全⼀致,即資料沒被更改、插⼊其他資料、刪除或重播。 傳送⽅在鏈下傳送證據監管鏈表給接收⽅前,會先將證據監管鏈表本 ⽂做 SHA 256 雜揍運算後再加密,接收⽅解密資料後,需驗證雜揍值, 確認資料的完整性後才做接下來的商業邏輯。⽽在鏈上的資料,⼀但被礦 ⼯寫⼊鏈上即會同步給鏈上的其他節點產⽣⼀個交易區塊,新⽣成的交易 區塊會包含前⼀個區塊頭的雜湊值,使得每個交易區塊塊塊相連,進⽽達 到資料難以竄改。. 治 政 本平台為每⼀份證據監管鏈表發⾏⼀個 ERC 大721 代幣,將代幣持有 立 ‧ 國. 學. 者對證據監管鏈表的簽章值及其簽章所使⽤的憑證儲存在代幣的 Token 特 徵值(Token Metadata)中,⽽代幣所有權的移轉過程以及代幣特徵值的改. ‧. 變都會被記錄在區塊鏈上,無法竄改。. 認證(Authentication):要確保通訊的實體是它⾃⼰所宣稱的⾝份。. sit. y. Nat. io. 任⼀個新⽤⼾在加⼊本平台的聯盟鏈前,均須向指定的 CA 申請⼀張. n. al. er. Ø. i Un. v. ECQV 憑證,申請完後以該憑證所產⽣的 ECDSA ⾦鑰到區塊鏈節點上建. Ch. engchi. ⽴⼀個節點帳號(User Account),讓該憑證及⾦鑰對綁定⽤⼾的以太坊帳 號。 另⼀⽅⾯,若欲驗證某⽤⼾⾝份,除了驗證 ECQV 憑證資訊外,亦 得透過 ECQV 憑證產⽣⽤⼾的 ECDSA 公鑰,⽽ ECDSA 公鑰能經運算 ⽽得其節點的帳號位址(User Account Address),便能進⼀步認證⽤⼾的節 點帳號。 在證據監管鏈表的傳收⽅⾯,傳收送⽅在送出證據監管鏈表前,會先 發出請求向接收⽅取得憑證;接收⽅在接收證據監管鏈表前,亦可在證據 15. DOI:10.6814/NCCU201900212.

(16) 監管鏈表 ERC 721 的 Token 特徵值中取得傳送⽅的憑證。雙⽅驗證憑證 無誤後,可再由該憑證確認對⽅的節點帳號,⾝份認證無誤後,才會進⾏ 接下來的商業邏輯。 本平台採⽤ ECQV 隱含式憑證作⾝份認證的原因為:相較於⼀般憑 證, ECQV 憑證不包含公鑰和 CA 的憑證鏈,容量較⼩,因此很適合放 在資源有限的區塊鏈上做傳遞。此外,由 CA 所發⾏的 ECQV 隱含式憑 證,其產⽣的⾦鑰對被定義在與 CA 相同的橢圓群上,因此憑證持有者公 私鑰的⾦鑰強度和 CA ⾦鑰強度相同,較不易有弱⾦鑰的狀況發⽣。 Ø. 治 政 不可否認性(Nonrepudiation):為使參與部分或整個通訊的實體不能否認 大 立 ‧ 國. 學. 其參與通訊的⼀種保護。. 在證據監管鏈表 ERC 721 代幣建⽴時或是在接收者接收代幣後,需. ‧. 在代幣的 Token 特徵值 中寫⼊代幣持有者對整份證據監管鏈做簽章的簽. sit. y. Nat. 章值,⽽該簽章值會被記錄在區塊鏈中無法竄改。此外,以太坊區塊鏈的. n. al. er. io. 運作本⾝也使⽤簽章值作為交易識別,達到不可否認性。 Ø. i Un. v. 存取控制(Access control):在防⽌未授權卻使⽤資源,即此項服務控管誰. Ch. engchi. 能存取資源、在何種情況可存取,以及允許存取哪些資源。 在 ERC 721 代幣合約標準中規範,只有代幣的持有者才能執⾏ Approve(授權)和 SetTokenURI(設定 TokenMetadata)函式;只有被授 權者或是代幣持有者才能執⾏ Transfer(移轉)函式。因此,⾮證據監管 鏈表代幣持有者或被授權者是無法改變證據監管鏈表代幣所有權的,但其 能執⾏ TokenURI(查看 TokenMetadata)和 OwnerOf(查詢代幣的持有 者)函式查看代幣的現狀。. 16. DOI:10.6814/NCCU201900212.

(17) 1-4. 論⽂架構 在接下來的章節中,第⼆章會介紹本研究的研究背景,包含名詞解釋以及 本應⽤關的法律規範;第三章將說明「區塊鏈數位鑑識證據監管鏈平台」的系 統設計,包含系統架構、智能合約及 Web Service API 的説明、系統資料庫的 設計以及平台作業流程的說明;第四章為本研究平台的操作流程的說明,包含 註冊⽤⼾以及查詢、產⽣、傳送、接收證據監管鏈表的操作說明;第五章則是 結論及未來研究⽅向;第六章為附件;第七章為參考⽂獻。. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. 17. DOI:10.6814/NCCU201900212.

(18) 第 2 章 研究背景 2-1. 名詞定義 (1) 數位鑑識 應⽤嚴謹的程序及科技的⽅法去處理數位資訊設備相關鑑識⼯作,即在法令 規範下,利⽤科學驗證的⽅式來調查數位證據,包含數位證據的還原、擷取、 分析的過程及還原事件原貌,以認定事實之數位資料,讓其可作為法庭訟訴之 依據[1]。. 立 ‧ 國. 學. (2) 數位證據. 政 治 大. 就數位證據之型態,有廣義與狹義之差別,廣義的數位證據包含我們常⾒之. ‧. 電腦、顯⽰器、印表機、掃描機、光碟、隨⾝碟等,可作為數位資料存取、輸. y. Nat. io. sit. 出之⼯具均包含在數位證據之概念中。狹義的⾒解不包括硬體設備,⽽係指電. er. 腦儲存媒體中任何⾜以證明犯罪構成要件或關聯之數位資料,為物理證據之⼀. al. n. iv n C 種,包括有⽂字、圖⽚、聲⾳、影像等型態,具有可無限無差異複製、原始作 hengchi U 者不易確定、資料完整性不易驗證等性質,其以數位⽅式儲存於電腦儲存媒體 上,換⾔之,就是在電腦儲存媒體上以數位⽅式儲存⽽可供佐證犯罪之資料。. (3) 證據監管鏈原則 指數位證據識別、蒐集、擷取、封緘及運送作業過程中,應確保證據完整性 與⼀致性,避免數位證據遭受竄改等不當⾏為之發⽣。. 18. DOI:10.6814/NCCU201900212.

(19) (4) 證據監管鏈表 在數位證據封緘時,應確實清點數位證據,每⼀項數位證據應分別填寫⼀張證 據監管鏈表,並固定⾄對應之證據收集容器或公⽂袋上。 在數位證據運送時,證據運送過程中應符合證據監管鏈原則,無被篡改等不當 ⾏為發⽣之可能性,並於每⼀交接過程中其交接流程應記錄明確,交付⼈員與 接收⼈員應填寫證據監管鏈表,詳載交件⼈、收件⼈、⽇期時間及⽬的等資 訊,以⽰負責。. 2-2. 區塊鏈 區塊鏈. [17]. 治 政 是⼀個分散式的帳本系統,採⽤密碼技術來確保交易的正確性, 大 立 ‧ 國. 學. 不同的區塊鏈技術採⽤不同的共識機制。區塊鏈的技術包含分布儲存、點對點 傳輸、共識機制、加密算法等等不同技 術的集合和應⽤,被認為是⼀個可以信. ‧. 賴的消除中間⼈的資訊傳輸技術。. sit. y. Nat. 最早使⽤區塊鏈這個技術的例⼦即是⽐特幣的交易系統(Andreas M.. n. al. er. io. Antonopoulos, 2014)[6][14],⽐特幣參與者們集體維護⼀個具時序性的分散式帳. i Un. v. 本系統。其中的每⼀個區塊網路之參與者都是⼀個節點,⼀套完整的帳本因為. Ch. engchi. 這些節點⽽得以保存,帳本中記錄了所有的歷史帳⼾訊息,任何⼀個節點要發 起⼀個交易⾏為都需要將交易⾏為訊息傳遞到區塊網路中其他的每⼀個節點, 如此可以確保保存於所有節點上的帳本能精確地更新且驗證這⼀筆交易⾏為。 區塊鏈有三個特點: Ø. 交易識別確認:使⽤公開⾦鑰驗證機制,確認這筆交易的真實性,屬於 可驗證的匿名制,保留貨幣交易的特性。. Ø. 資料無法篡改:使⽤「區塊」與「鏈結」確保交易資料無法篡改。其中 「區塊」主要是利⽤計算條件雜湊(Conditional hash)之困難來保護資 19. DOI:10.6814/NCCU201900212.

(20) 料,⽽「鏈結」主要是區塊與區塊之間利⽤前區塊雜湊(Previousblock hash)鏈結起來,由於篡改區塊內的交易資料已經很困難,區塊與區塊 之間⼜被鏈結起來,等於篡改⼀個區塊要把所有的區塊都⼀起篡改,因 此在合理的時間內根本不可能。 Ø. 節點資料同步:使⽤分散式拓樸保留總困難指數⾼的分⽀,刪除困難指 數低的分⽀最後達成節點資料同步。. (1) 區塊鏈聯盟鏈 聯盟鏈(Consortium Blockchain)即共識過程受到⼀些預選節點控制的區塊. 治 政 鏈。多個由不同實體(如企業、銀⾏等)分別控制的節點組成⼀個聯盟,區塊 大 立 ‧ 國. 學. 鏈上⾯的記帳權限由聯盟規則制定,這些節點共同組成⼀個授權網路。網路中 的區塊鏈和節點狀態的改變都由聯盟中的各節點達成共識所決定。. ‧. 聯盟鏈運⾏在由特定成員組成的聯盟所控制的授權網路上,聯盟中的每個成. sit. y. Nat. 員控制著網路中的⼀個或多個節點,每個節點可根據其⾝份進⾏交易發送、區. n. al. er. io. 塊產⽣、區塊驗證、狀態更新等操作。授權網路要求對每個節點的⾝份進⾏驗. i Un. v. 證,並且有⼀定的進⼊機制,以確保控制每個節點的實體均為聯盟中的成員之. Ch. engchi. ⼀,這也意味著網路中的節點之間可以互相信任。 (2) 智能合約 智能合約為區塊鏈上⼀個包含合約程式碼和儲存空間的虛擬帳⼾,智能合約 的⾏為由合約程式碼控制,⽽智能合約的帳⼾儲存了合約的狀態。在以太坊平 台上,智能合約的程式碼運⾏在以太坊虛擬機(EVM)中,每個節點上都包含 ⼀個以太坊虛擬機,當節點需要打包或驗證區塊時,便將交易相關的可執⾏程 式碼送⼊ EVM 中執⾏,執⾏的結果更新了以太坊帳⼾的狀態並記錄在區塊鏈 上。 20. DOI:10.6814/NCCU201900212.

(21) Solidity 是⼀種撰寫智能合約的⾼階語⾔,在以太坊平台上,⽤ Solidity 編 寫的智能合約可以被編譯成字節碼在 EVM 上執⾏。使⽤ Solidity 語⾔編寫智 能合約能避免直接編寫以太坊虛擬機器底層的程式碼,增加合約程式碼的可讀 性也較易維護[4]。. (3) ERC 20 代幣合約標準 ERC 20 代幣合約標準規定了⼀個以太坊代幣合約所需實現的函數功能和事 件紀錄。該標準滿⾜了代幣作為數字資產需具備的⼀些基本功能和需要,如代. 治 政 幣名稱、代幣轉帳、本帳⼾中允許鏈上第三⽅使⽤的代幣限額等。 ERC 20 的 大 立 ‧ 國. 學. 出現為以太坊上的代幣合約提供了⼀個標準化的⽅案,也對以太坊上數字資產 的實現進⾏了⼀定的規範。ERC 20 標準使得種類繁多的代幣能夠被更多的去. ‧. 中⼼化應⽤(DApp)、交易所等兼容。. sit. y. Nat. ERC 20 標準介⾯(The ERC20 Token Standard Interface)⾃ 2015 年提出. n. al. er. io. 以來,在以太坊開發社團的協商下,逐步確定為圖 2-1 的 11 個標準介⾯:. Ch. engchi. i Un. v. 圖 2-1:The ERC 20 Token Standard Interface. 21. DOI:10.6814/NCCU201900212.

(22) (4) ERC 721 代幣合約標準 除了現⾏最為通⽤的 ERC 20 標準,⽬前有許多⼈在此基礎上不段提出功 能更多元的代幣合約標準,如:ERC 721、ERC 223、ERC 644 以及 ERC 677 等。本論⽂主要介紹 ERC 721 代幣合約標準。 ERC 721 代幣合約標準[19]規定了⼀種不可取代的代幣(Non-fungible Token, NFT)的合約介⾯。此類代幣的最⼩單位為 1 ,其最重要的特點為每⼀ 個代幣都是獨⼀無⼆的,每個代幣擁有各⾃的 _tokenID 編號,並且可以附上 各⾃的特徵值,使得每個代幣都是不可取替代(Non-fungible)的。 ERC 721. 治 政 代幣合約標準的介⾯(The ERC 721 Token Standard大 Interface)如下: 立 ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. 圖 2-2:The ERC 721 Token Standard Interface ERC 721 標準繼承了 ERC 20 標準的⼀些基本功能介⾯,如:name()、 symbol()、totalSupply()、balanceOf() 以及事件 Transfer()、Approve()等,並在 ⼀些函數,如 transfer()、approve() 中加⼊了 _tokenID ⽤以指定特定的代幣。. 22. DOI:10.6814/NCCU201900212.

(23) 除此之外,ERC 721 還新增了⼀些功能參數。其中,ownerOf() 和 tokenOfOwnerByIndex() 分別為根據代幣的 ID 查詢該代幣的持有者,以及根 據持有者及其索引查詢所持有的 TokenID; ERC 20 中的 transferFrom() ⽅法 被更改為 takeOwnership(),在限額 approve 允許的條件下,交易發起⽅ msg.serder 呼叫該函是可以將特定 _tokenID 的代幣讓他⼈移轉制⾃⼰的帳⼾ 中;tokenMetadata() 函式⽤於查看代幣的附加資料等,可根據代幣的 ID 查詢 到⼀個 URL 格式的字串,其中包含該代幣的名稱、圖像和描述等相關訊息。. 2-3. PoA Clique 共識機制. 立. 政 治 大. ‧ 國. 學. 在 Ethereum 官⽅的共識機制是使⽤ PoW,Miner 必須靠使⽤算⼒去解決 密碼學問題來取得寫帳權,但 PoW 機制在私有鏈或聯盟鏈上並不是⼀個經濟. ‧. 的共識機制,私有鏈的維運者必須花費多餘的算⼒來維持私有鏈的運作。⽽. Nat. sit. y. Proof of Authority(PoA)思維是直接指定哪些節點有寫帳權,其他節點透過演. n. al. er. io. 算法確認如果是被授權的節點打包 Block 則判定 Block 有效。. i Un. v. Go ethereum 在 2017 年 4 ⽉發佈的 1.6 版實作了 Ethereum EIPs #225 的. Ch. engchi. Clique 共識機制,⽽ Clique 共識機制是由 Péter Szilágyi 所提出,其概念即網 絡中的每⼀個區塊是由某⼀個認證節點進⾏認證的,其他節點僅需要驗證認證 訊息來判斷該區塊是否合法。 Clique 的節點可以分為兩類:認證節點及⾮認證節點,認證節點具有為⼀ 個區塊簽名的權利,可以對應 PoW 算法中的礦⼯節點;⾮認證節點不具簽名 的權利,是區塊鏈網絡中的普通同步節點,兩者的⾓⾊可以相互轉換。 每⼀個認證節點,可以利⽤本地節點的私鑰對⼀個區塊的數據進⾏簽名,並 將產⽣的簽章值放置在區塊頭中;其他節點在接收到該區塊後,利⽤簽章值和 23. DOI:10.6814/NCCU201900212.

(24) 區塊數據反解出簽章節點的公鑰,並截取出相應的節點地址,若該節點地址在 本地節點所維護的認證節點列表中,且該區塊通過所有共識相關的檢測,則認 為該區塊是合法的;否則就認為接收到了⼀個惡意區塊。 為了使產⽣區塊的負載(或說是機會)對於每個認證節點盡量均等,同時避 免某些惡意節點持續出塊,Clique 規定每⼀個認證節點在連續的 SIGNER_LIMIT 個區塊中,最多只能簽發⼀個區塊,⽰意圖如圖 2-3。也就是 說,每⼀輪中,最多只有 SIGNER_COUNT - SIGNER_LIMIT 個認證節點可以 參與區塊簽發。這樣設計的⽬的是在保證好節點的個數⼤於壞節點的前提下,. 治 政 好節點最少的個數為 SIGNER_LIMIT(⼤於 50%),壞節點最多的個數為 大 立 SIGNER_COUNT - SIGNER_LIMIT(⼩於 50%)。⼀個節點在. ‧ 國. 學. SIGNER_LIMIT 這個時間窗⼝內最多只能簽發⼀個區塊,這就使得惡意節點在. ‧. 不超過 50% 的情況下,從理論上無法⼀直掌握區塊的簽發權。. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. 圖⽚來源:https://ethfans.org/posts/Clique-Consensus-Algorithm. 圖 2-3:Clique PoA 簽發區塊機會均等 在以太坊中,每個節點都會維護⼀條難度總值最⼤的區塊鏈作為主鏈,在其 他分⽀鏈上的區塊成為叔區塊(uncle)。為了相容於現有的架構,Clique 中同. 24. DOI:10.6814/NCCU201900212.

(25) 樣有難度值這個概念,每個節點在簽發時都會判斷本節點是不是本輪的 inturn 節點,若是 inturn 節點,則該節點產⽣的區塊難度為 2,否則為 1,⽽每⼀輪 僅有⼀個節點為 inturn 節點,判斷是否為 inturn 的節點的⽅法為,將本地維 護的認證節點按照字典序排序,若當前區塊號 mod 認證節點個數等於該節 點,則該節點為 inturn 節點。此設計的⽬的為使得區塊鏈能夠朝著某⼀個⽅向 進⾏收斂,⽰意圖如圖 2-4。. 立. 政 治 大. ‧. ‧ 國. 學 sit. y. Nat. al. er. io. 圖⽚來源:https://ethfans.org/posts/Clique-Consensus-Algorithm. n. 圖 2-4:Clique PoA 難度計算. Ch. engchi. i Un. v. Clique 算法每⼀輪出塊的間隔時間是可配置的,假設每⼀輪出塊的時間配 置為 5 秒,那麼每個認證節點在完成⼀個區塊的簽名流程後,會計算當前區塊 的時間戳,計算⽅式為⽗區塊的時間加上 5 秒,並且延遲⾄該時間才向外廣播 區塊。但是在⼀輪區塊競賽中,網絡中會多個認證節點可以參與簽發區塊,為 了避免網絡擁堵以及不必要的區塊鏈重組,在每個節點完成簽發,分發區塊之 前,採⽤⾮ inturn 節點延遲分發策略,⾮ inturn 節點隨機延遲 rand(SIGNER_LIMIT)*500ms 的時間,⽽ inturn 節點不增加額外的延遲時間。. 25. DOI:10.6814/NCCU201900212.

(26) 2-4. 以太坊 ECDSA 公私鑰及帳⼾位址的關係 根據 ETHEREUM: A SECURE DECENTRALISED GENERALISED TRANSACTION LEDGER [13],以太坊的 User Account 位址乃由該帳⼾的 SECP 256k1 curve ECDSA 公鑰做 Keccak hash 後取右邊 160 bits ⽽得,⼜ ECDSA 的公鑰乃由私鑰乘上基點 G 產⽣的曲線上的點。因此,可以⽤⼾的私 鑰計算出其以太坊帳⼾位址作為⽤⼾⾝份驗證的⽅法。 下圖 2-3 為以太坊以 ECDSA 公鑰產製 User Account 的流程:. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. 圖⽚來源:https://www.royalfork.org/2017/12/10/eth-graphical-address/. 圖 2-5:以太坊 User Account 產製的流程. 26. DOI:10.6814/NCCU201900212.

(27) 2-5. ECQV 隱含式憑證 ECQV( Elliptic Curve Qu-Vanstone )隱含式憑證由 Daniel 等⼈於 2001 年 提出[8][11][18],為⽬前眾多系統及標準使⽤的隱式憑證。隱式憑證不像傳統憑證 包含公鑰,⽽是包含公鑰的重建數據,計算後產⽣公鑰,透過驗證公鑰驗證⾝ 分的合法性,⽽⾝分則是透過正確的溝通來確認。因為憑證內不包含驗證機構 的簽章值及簽發者的憑證鏈,因此容量較⼀般憑證⼩,能降低⾦鑰交換的資料 傳輸量亦能節省憑證的儲存空間,適⽤於資源受限的系統環境[10][15]。此外, ECQV 隱含憑證的⾦鑰產⽣被定義在與 CA 相同的橢圓群上,因此⽤⼾的⾦. 治 政 鑰強度 CA 的⾦鑰強度相同,能降低弱⾦鑰被攻擊的⾵險。 大 立. ‧. ‧ 國. 學. 下圖 2-4 為 ECQV 憑證的申請流程:. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. 圖 2-6:ECQV 憑證的申請流程 27. DOI:10.6814/NCCU201900212.

(28) 2-6. 政府機關(構)資安事件數位證據保全標準作業程序 ⾏政院於 102 年 12 ⽉ 25 ⽇函頒「⾏政院於國家資通訊安全發展⽅案(102 年⾄ 105 年)」中明確指定法務部於 103 年制定數位證據保全標準作業程序規 範。其執⾏要點略以:1. 訂定符合證據能⼒的數位證據保全標準作業程序。2. 推動所屬各機關依標準作業程序進⾏數位證據保全。據此,法務部於 103 年著 ⼿訂定政府機關(構)資安事件數位證據保全標準作業程序草案,於 103 年 12 ⽉ 函報⾏政院。104 年 8 ⽉ 4 ⽇⾏政院院臺護字第 1040036611 號函訂定政府機關 (構)資安事件數位證據保全標準作業程序,全⽂共七點。本程序訂定⽬的為. 治 政 使各級政府機關(構)於執⾏資安事件調查時能有效保全及運⽤數位證據,及執⾏ 大 立 ‧. ‧ 國. 件 5-1。. 學. ⼈員於執⾏數位證據識別、蒐集、擷取、封緘及運送作業時有所依循。全條⽂⾒附. 本論⽂證據監管鏈的作業流程及證據監管鏈表表單設計乃依據該辦法所設. y. sit. n. al. er. io. 管鏈表表單:. Nat. 計,下表 2-1 為政府機關(構)資安事件數位證據保全標準作業程序[5]證據監. Ch. engchi. i Un. v. 28. DOI:10.6814/NCCU201900212.

(29) 表 2-1:政府機關(構)資安事件數位證據保全標準作業程序證據監管鏈表. 證據監管鏈表 證據資訊 機關名稱 事件編號. 證據名稱. 證據編號. 蒐集⽇期. 現場鑑識⼈員. 攝影記錄⼈員. 證據描述 : 儲存媒體序號 : __________________________. 證據監管鏈紀錄. 治 政 部⾨/接收⼈員 大. 部⾨交付⼈員. 立. ⽬的. 學 ‧. ‧ 國 io. sit. y. Nat. n. al. er. ⽇期/時間. Ch. engchi. i Un. v. 29. DOI:10.6814/NCCU201900212.

(30) 第 3 章 區塊鏈數位鑑識證據監管鏈平台系統設計 3-1. 系統概述 區塊鏈數位鑑識證據監管鏈平台乃以以太坊區塊鏈技術為基礎,建構出⼀ 個數位鑑識證據監管鏈平台聯盟鏈。利⽤區塊鏈不可否認、不可竄改、節點資 料同步的特性,開發數位鑑識證據監管鏈智能合約,再配合 ECQV 隱含式憑 證,做各節點的實名制的⾝份識別。本平台的共識演算法採⽤ PoA Clique 共. 政 治 大 挖礦時間、降低挖礦能源成本。 立. 識演算法,該演算法不僅能讓現⾏節點控制新節點的加⼊及其權限,亦能加速. ‧ 國. 學. 此外,為了能精確追蹤各證據監管鏈的所有權及所有權的移轉,平台採⽤ ERC721 Token 標準發⾏證據監管鏈表 Token ,在 Token 的特徵值中儲存證. ‧. 據監管鏈表持有者的憑證及其對證據監管鏈表做簽章的簽章值,⽽ Token 所有. y. Nat. io. sit. 權的移轉及 Token 特徵值內容的異動紀錄即儲存在區塊鏈上無法竄改且共享。. n. al. 機構透過本論⽂訂定的 API. er. ⽽鏈下的證據監管鏈表本⽂的傳遞採⽤ RESTful Web Service JSON 格式,參加. iv n C 連線規格做資料的組成、加解密、簽驗章及傳 hengchi U. 收。 本系統開發、測試環境及說明如表 3-1。 表 3-1:系統開發、測試環境 項⽬. 名稱. ⽤途. 來源. 作業系統. Windows 7 (64 bits). -. -. Java SE Development Kit 8. https://www.oracle.co m/technetwork/java/ja vase/downloads/index. html. 網⾴後端開發 Web Server 運⾏環境. 開發套件 go-ethereum Geth. 以太坊區塊鏈鏈運⾏環. v1.8.6. 境. https://geth.ethereum. org/downloads/. 30. DOI:10.6814/NCCU201900212.

(31) java.security. 密碼運算(橢圓曲線演. Java JDK1.8 內建. javax.crypto. 算法加/解密、簽/驗. Java JDK1.8 內建. bouncycastle jdk. 章、HASH…). v15on-1.54. 發⾏ ECQV 憑證. https://www.bouncyca stle.org/. web3j v3.4.0. 介接 Java 與以太坊區塊 https://github.com/we b3j/web3j. 鏈節點. 函式庫. 整合 JAVA 及智能合約 https://github.com/goo. Java Object 與 JSON. Google Gson. gle/gson. 格式間的轉換. https://jquery.com/. Bootstrap 4. 網⾴前端開發. https://getbootstrap.co m/. Apache Tomcat 8.5. 立 SQLite v3.10.0. 治 參加單位鏈下的資料傳 政 大. https://tomcat.apache. org/download-80.cgi. 遞. https://sqlitebrowser.o rg/. 儲存證據監管鏈資料. 學. 資料庫. 網⾴前端開發. ‧. ‧ 國. Web Server. jQuery 3.3.1. 3-2. 平台⾓⾊介紹. Nat. sit. y. 本國數位證物鑑識實驗室的組織架構可依刑事案件及民事案件來加以分. n. al. er. io. 類。屬於刑事案件之數位證物鑑識⼯作應由刑事警察局刑事鑑識中⼼負責;屬. Ch. i Un. v. 於民事案件之數位證物鑑識⼯作,可委由⾏政院資通安全會報指導成⽴電腦鑑. engchi. 識實驗室來處理。刑事局鑑識中⼼應成⽴數位證物組,專司數位證物現場蒐 證、保存、擷取、分析之任務。下轄三個⼩組,⼀組專司各警察機關、調查 局、地檢署、法院所函發之數位證物鑑定事項,另⼀組為刑案現場蒐證組,依 各單位需求協助刑案現場數位證物之蒐證,第三組則為科技研發組,專司研究 新的科技產品以協助刑事案件的偵辦。 本研究依據本國鑑識實驗室組織架構將平台⾓⾊概分為受查單位、蒐證單 位、數位鑑識實驗室、各級法院、警察單位,並假設上述五個單位均有部署區 塊鏈數位鑑識證據監管鏈系統,合成以太坊的 PoA 聯盟鏈。在鏈上,五個⾓ 31. DOI:10.6814/NCCU201900212.

(32) ⾊個別管理⼀個以太坊節點,各節點下能建⽴多個⼀般帳⼾及⼀個負責產⽣區 塊的 Authority 帳⼾。在鏈下,五個⾓⾊間透過 RESTful Web Service 交換訊 息。. 3-3. 聯盟區塊鏈架構設計 本研究假設參與區塊鏈證據監管鏈的各單位均採⽤ Web3 RPC 做為鏈上的 通訊協定,⽽鏈下的通訊協定採⽤ Web Service API。每個參加單位都需執⾏⾄ 少⼀個以太坊節點同步鏈上資料,並佈建區塊鏈應⽤系統做鏈下的證據監管鏈. 治 政 資料傳收及保存,結合成以太坊的聯盟鏈。此外,各參加單位的負責⼈在加⼊ 大 立 ‧ 國. 學. 節點前須向 CA 申請 ECQV 隱含式憑證,申請完後以該憑證的 ECDSA ⾦鑰 對在節點上註冊以太坊使⽤者帳號,註冊完後,申請⼈便使⽤數位鑑識證據監. ‧. 管鏈平台。聯盟區塊鏈架構設計⽰意圖如下圖 3-1。. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. 圖 3-1:聯盟區塊鏈架構設計. 32. DOI:10.6814/NCCU201900212.

(33) 3-4. 數位鑑識證據監管鏈平台系統架構 區塊鏈數位鑑識證據監管鏈平台的系統架構如圖 3-2 所⽰,由「區塊鏈系 統」、「數位證據監管鏈應⽤系統」以及「應⽤系統連結閘道」三個主要部分 相互⽀援組成。. 立. 政 治 大. ‧. ‧ 國. 學 sit. y. Nat. n. al. er. io. 圖 3-2:區塊鏈數位鑑識證據監管鏈平台系統架構. Ch. engchi. i Un. v. (1) 區塊鏈系統(Blockchain System). 區塊鏈系統為區塊鏈機制運作的主系統,負責區塊的組建、鏈結以及智能合 約的部署、遞送等⼯作。本系統採⽤ PoA Clique 共識演算法,將製作好的區 塊,透過 Web3 RPC 通訊協定,遞送到所有參加單位的區塊鏈系統中,以確保 資訊即時同步。. 33. DOI:10.6814/NCCU201900212.

(34) (2) 數位證據監管鏈應⽤系統 (Digital Evidence Chain AP System) 數位證據監管鏈應⽤系統為 Web Server 應⽤系統,對外提供 RESTful Web Service API 透過 HTTPS 與其他參加單位做鏈下資料的傳收,對內負責處理與 證據監管鏈作業流程、證據監管鏈表資料儲存、密碼運算等相關事務,詳細作 業流程⾒第 3-8 章數位鑑識證據監管鏈平台作業流程。另⼀⽅⾯,數位證據監 管鏈應⽤系統提供內部使⽤者介⾯供⽤⼾做證據監管鏈智能合約的建⽴、傳 遞、接收以及證據監管鏈歷史資料查詢,詳細介⾯操作⾒第 4 章區塊鏈數位鑑. 治 政 識證據監管鏈平台應⽤系統操作說明。 大 立 ‧ 國. 學. 理論上,在本數位證據監管鏈應⽤系統中,所有參加單位(即節點)的應. ⽤系統作業流程應該都相同。. ‧ sit. y. Nat. (3) 應⽤系統連結閘道 (AP Gateway). n. al. er. io. 因數位證據監管鏈應⽤系統要開放外部的使⽤者連線,在安控作業的考量. i Un. v. 下,就必須透過 DMZ 區的應⽤系統連結閘道,才能連結使⽤內部網路的數位 證據監管鏈應⽤系統。. Ch. engchi. 34. DOI:10.6814/NCCU201900212.

(35) 3-5. 數位鑑識證據監管鏈平台智能合約說明 本研究的聯盟鏈採⽤以太坊區塊鏈,⽤⼾端採⽤ go-ethereum 套件,共識 演算法為 Clique PoA ,智能合約的開發語⾔為 solidity 。因應證據監管鏈表 唯⼀性、不可分割的特性,採⽤ ERC721 Token 標準開發智能合約紀錄證據監 管鏈表所屬權的轉換。乃⼀個數位鑑識案件即建⽴⼀個智能合約,該智能合約 發⾏的每個 ERC721 Token 即代表該數位鑑識案件的⼀張證據監管鏈表。舉例 來說,若⼀個數位鑑識案件有三張證據監管鏈表,就須在區塊鏈上建⽴⼀個智 能合約,⽤該智能合約產⽣三個 ERC721 Token 。. 治 政 此外,為了讓以 Java 開發的數位證據監管鏈應⽤系統能調⽤以太坊智能 大 立 ‧ 國. 學. 合約,本研究透過 web3j 函式庫作為 Java 應⽤系統及 solidity 智能合約通訊 的媒介,使應⽤系統能透過 web3j 函式庫做智能合約的部署及智能合約函式的. ‧. 調⽤。. sit. y. Nat. 函式庫的介⾯乃依 ERC721 Token 標準介⾯設計,包含:部署智能合約. n. al. er. io. (Deploy)、發⾏ ERC721 Token(Create)、取得 TokenID(GetTokenID)、. i Un. v. 設定 Token 的特徵值(SetTokenURI)、取得 Token 的特徵值. Ch. engchi. (TokenURI)、查詢 Token 的持有者(OwnerOf)、授權 Token (Approve)、Token 所有權移轉(Transfer)。以下說明本研究數位鑑識證據 監管鏈平台的智能合約函式功能及介⾯:. 35. DOI:10.6814/NCCU201900212.

(36) (1) 部署數位鑑識案件以太坊智能合約(Deploy) 表 3-2:部署數位鑑識案件以太坊智能合約(Deploy) 函式名稱. deploy. 功能說明. 部署數位鑑識案件以太坊智能合約. web3j interface 參數說明 參數名稱. String. contractAddress. 立. 說明 已部署的數位鑑識案件智能合約位. 址 政 治 大 範例程式. 學 ‧. io. sit. y. Nat. n. al. er. Out. 資料型態. ‧ 國. In/Out. Ch. engchi. i Un. v. 36. DOI:10.6814/NCCU201900212.

(37) (2) 建⽴證據監管鏈表 ERC721 Token(Create) 表 3-3:建⽴證據監管鏈表 ERC721 Token(Create) 函式名稱. create 1. 建⽴證據監管鏈表 ERC721 Token. 功能說明. 2. ⼀個數位鑑識案件部署⼀個智能合約,⼀個智能合約下可建⽴ 多個證據監管鏈表 Token. web3j interface. 參數名稱. String. tokenName. TransactionRecei pt. tr. 說明 證據監管鏈表名稱(案件編號 +證據編號) 執⾏本交易(Transcation)的. ‧. Nat. 資料. n. al. er. io. {"caseID":"20180923C001", "evidenceID":"20180923C001-001"}. y. tokanName 參數範例. sit. Out. 立. 學. In. 資料型態. ‧ 國. In/Out. 政 治 大 參數說明. C h 範例程式 U n i engchi. v. 37. DOI:10.6814/NCCU201900212.

(38) (3) 取得證據監管鏈表的 Token ID (GetTokenID) 表 3-4:取得證據監管鏈表的 Token ID (GetTokenID) 函式名稱. getTokenID. 功能說明. 取得證據監管鏈表的 Token ID. web3j interface 參數說明 說明. 證據監管鏈表名稱(案件編號+證 治 政 據編號) 大. String. tokenName tokenID 立. BigInteger. 證據監管鏈表 ERC721 Token ID. 學. 範例程式. ‧ y. Nat. io. sit. Out. 參數名稱. n. al. er. In. 資料型態. ‧ 國. In/Out. Ch. engchi. i Un. v. 38. DOI:10.6814/NCCU201900212.

(39) (4) 設定證據監管鏈表 Token 的特徵值(SetTokenURI) 表 3-5:設定證據監管鏈表 Token 的特徵值(SetTokenURI) 函式名稱 功能說明. setTokenURI 1. 設定證據監管鏈表 Token 的特徵值 (憑證及簽章) 2. 僅 Token 的持有者才能對該 Token 執⾏ setTokenURI. web3j interface. 參數說明. tokenID 立. 說明. 證據監管鏈表 ERC721 Token ID 證據監管鏈表 ERC721 Token 的特 徵值. tokenMetaData. 本研究的 Token 特徵值為 ECQV. ‧. 憑證及以私鑰對證據監管鏈表. y. Nat. JSON 物件做 ECDSA 簽章的簽 章值,以 HEX 編碼. io. tokenMetaData 參數範例. sit. String. 學. In. BigInteger. 政 治 大. 參數名稱. er. In. 資料型態. ‧ 國. In/Out. n. al {"ECQVCert":"MFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE/bgTe1Q85VRa3j iv n Ch lz6lnXC43gYG8DbG8cOvnfre3D4J3AfKXWjRwBpKRZxqanhINdp0yVXSTRHH engchi U r4QY89nvf54g==", "signature":"30460221008960802B5E81E1C2F421BC7CAF4777EECA80748DC0 2C255202F06A5910841362022100A822A77D27ADAE37CA5A041AC42C5E44E B94C2D8FAAF0C5DF4BF96A9197C1F16"} 範例程式. 39. DOI:10.6814/NCCU201900212.

(40) (5) 取得證據監管鏈表 Token 的特徵值(TokenURI) 表 3-6:取得證據監管鏈表 Token 的特徵值(TokenURI) 函式名稱. tokenURI. 功能說明. 取得證據監管鏈表 Token 的特徵值 (憑證及簽章). web3j interface 參數說明 參數名稱. BigInteger. 證據監管鏈表 ERC721 Token ID 治 政 證據監管鏈表 大 ERC721 Token 的. tokenID. String. 特徵值. tokenMetaData. 本研究的 Token 特徵值為 ECQV. 學. ‧ 國. 立. 憑證及以私鑰對證據監管鏈表. ‧. JSON 物件做 ECDSA 簽章的簽 章值,以 HEX 編碼. Nat. 範例程式. io. sit. Out. 說明. y. In. 資料型態. n. al. er. In/Out. Ch. engchi. i Un. v. 40. DOI:10.6814/NCCU201900212.

(41) (6) 取得 Token 持有者的 Account Address(OwnerOf) 表 3-7:取得 Token 持有者的 Account Address(OwnerOf) 函式名稱. ownerOf. 功能說明. 取得證據監管鏈表 Token 持有者 Account Address. web3j interface 參數說明 In/Out. 資料型態. In. BigInteger. 說明. 證據監管鏈表 ERC721 Token ID 治 政 Token 大 持有者的 Ethereum Node tokenOwnerAddr User Account 位址 立 tokenID. String. 學. 範例程式. ‧. ‧ 國 io. sit. y. Nat. n. al. er. Out. 參數名稱. Ch. engchi. i Un. v. 41. DOI:10.6814/NCCU201900212.

(42) (7) 將 Token 授權給指定 Account(Approve) 表 3-8:將 Token 授權給指定 Account(Approve) 函式名稱 功能說明. approveTokenWithMetadata 1. Token 的持有者將 Token 授權給指定 Account 2. 僅 Token 的持有者才可能對該 Token 執⾏ Approve. web3j interface 參數說明 資料型態. 參數名稱. 說明 治 政 Token 大 接收⽅的 Ethereum userAccount. In. String. In. BigInteger. tokenID. TransactionRecei pt. tr. 證據監管鏈表 ERC721 Token ID. 執⾏本交易(Transcation)的. ‧. ‧ 國. Node User Account 位址. 學. 資料. io. sit. Nat. 範例程式. n. al. er. Out. 立. y. In/Out. Ch. engchi. i Un. v. 42. DOI:10.6814/NCCU201900212.

(43) (8) 將 Token 傳送給指定 Account(Transfer) 表 3-9:將 Token 傳送給指定 Account(Transfer) 函式名稱 transferTokenWithMetadata 1. 在接收者取得授權後,Token 的持有者將 Token 傳送給接收 功能說明. 者;或接收者傳送 Token 給⾃⼰ 2. 僅 Token 的持有者或授權持有 Token 的使⽤者才可能對該 Token 執⾏ Transfer. web3j interface. 立. 參數名稱. String. toAccountAddr. In. BigInteger. TransactionRecei pt. n. al. Node User Account 位址 證據監管鏈表 ERC721 Token ID. 執⾏本交易(Transcation). tr. Ch. Token 接收者的 Ethereum. er. io. Out. tokenID. Node User Account 位址. y. In. Token 持有者的 Ethereum. ‧. fromAccoutAddr. 學. String. Nat. In. 說明. sit. 資料型態. ‧ 國. In/Out. 治 政 參數說明 大. i Un. v. 的資料. e 範例程式 ngchi. 43. DOI:10.6814/NCCU201900212.

(44) 3-6. 數位鑑識證據監管鏈平台 Web Service API 說明 本研究的數位證據監管鏈應⽤系統採⽤ Tomcat Web Server 搭建,對內提 供 GUI 介⾯讓使⽤者透過瀏覽器操作數位證據監管鏈的相關應⽤,將於第 4 章做系統操作說明;對外提供 RESTful Web Service API,以 JSON 資料格式 透過 HTTPS 通訊協定與其他參加單位做鏈下資料的傳收,⽽⽂字編碼⽅式為 UTF-8。 RESTful Web Service API 包含:取得 Node 資訊(GetNodeInfo)、傳送證 據監管鏈表(TransferEvidenceChain)、接收證據監管鏈表. 治 政 (ReceiveEvidenceChain),以下說明本 Web Service 大API 的傳收內容及範例: 立 API 接⼝ URL. ‧. ‧ 國. 表 3-10:API URL 說明. API 1 GetNodeInfo. 學. (1) API URL 說明. https://{URL}/GetNodeInfo.service. HTTP Method. POST. Nat. POST. 3 ReceiveEvidenceChain. POST. https://{URL}/ReceiveEvidenceChain.service. n. al. er. io. sit. y. 2 TransferEvidenceChain https://{URL}/TransferEvidenceChain.service. (2) API 欄位格式說明. Ch. engchi. i Un. v. 表 3-11:API 欄位格式說明 格式. 說明. string. ⽂數字及特殊字元格式. int. 純數字格式. date. ⽇期格式,即 yyyy/MM/dd. date+time. ⽇期 + 時間格式,即 yyyy/MM/dd HH:mm:ss. []. JSON 陣列格式. Object. JSON 物件格式. 44. DOI:10.6814/NCCU201900212.

(45) (3) 取得 Node 資訊(GetNodeInfo) 表 3-12:取得 Node 資訊(GetNodeInfo) GetNodeInfo 功能說明 取得證據監管鏈接收⽅的憑證及Node資訊 欄位 格式 允許空值 說明 GetNodeInfo Request apAccount string 否 傳送⽅帳號(同 ECQV 憑證申請名稱) GetNodeInfo Response apAccount string 否 接收⽅帳號(同 ECQV 憑證申請名稱) ECQVCert string 否 接收⽅的 ECQV 憑證,以 Base64 編碼 nodeUserAddress string 否 接收⽅ Ethereum 節點 User Account Address signature string 否 以接收⽅私鑰對 apAccount 欄位值做 ECDSA 簽章,以 Hex 編碼 GetNodeInfo Request 範例 {"apAccount":"User1"}. 立. 政 治 大. ‧ 國. 學. ‧. GetNodeInfo Response 範例 {"ECQVCert":"MFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE/bgTe1Q85VRa3jlz 6lnXC43gYG8DbG8cOvnfre3D4J3AfKXWjRwBpKRZxqanhINdp0yVXSTRHHr4Q Y89nvf54g==", "apAccount":"User2APCert", "nodeUserAddress":"0xf9a6fb91d0e257651c97035ff0bbcf04a035792f", "signature":"3046022100F658E012067C4CB293230D41407438149D88378BA5909 C061C448B17D70F5A66022100DFD082F954EDEF2ECF2810FDB83864410E909C 1B22126CD2A9CE358BAA0F5A81"}. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. (4) 傳送證據監管鏈表(TransferEvidenceChain) 表 3-13:傳送證據監管鏈表(TransferEvidenceChain) 功能說明 欄位 caseID evidenceID encConext. TransferEvidenceChain 傳送⽅將證據監管鏈表加密後傳給接收⽅ 格式 允許空值 說明 TransferEvidenceChain Request string 否 案件編號 string 否 證據編號 string 否 以 sessionKey 加密的 「證據 監管鏈表」本⽂ (context) , 45. DOI:10.6814/NCCU201900212.

(46) Object string. 否 否. string. 否. int. 否. Object string string date+time string string string string string. 否 否 否 否 否 否 否 否 否. evidenceChain [] dataAndTime date+time recoveredBy string receivedBy string purposeOfTransfer string ContactInfo Object corporateName string corporateCode string contactName string contactPhone string contactEmail string approveBlockNo int. 否 否 否 否 否 可 可 可 可 可 可 否. Nat. io. n. al. transferBlockNo. contextHash. Ch. engchi. int. 否. string. 否. ‧. ‧ 國. 立. 政 治 大. 學. evidenceInfo organization subject receiveDate onSiteForensics recoder serialNumber description evidenceMac. y. tokenID. sit. senderNodeAddr. er. context contractAddr. 以 Hex 編碼 演算法為 AES 128 CBC mode,PKCS#5 padding 「證據監管鏈表」本⽂ 數位鑑識案件 Ethereum 智能 合約位址 傳送⽅Ethereum 節點 User Account Address 證據監管鏈表 ERC 721 token 唯⼀識別碼 證據資訊 受查機關名稱 證據名稱 搜集⽇期及時間 現場鑑識⼈員 攝影記錄⼈員 證據媒體序號 證據描述 「證據資訊」,經正規化再以 SHA-256 計算出 Hash 值, 以 Hex 編碼 證據監管紀錄 ⽇期及時間 部⾨交付⼈員 部⾨接收⼈員 ⽬的 傳送⽅聯絡資訊 傳送⽅公司名稱 傳送⽅公司統編 傳送⽅聯絡⼈姓名 傳送⽅聯絡電話 傳送⽅聯絡電⼦郵件 「證據監管鏈表」ERC721 token approve 的 Transaction block number 若尚未 approve 初始值為 -1 「證據監管鏈表」ERC721 token transfer 的 Transaction block number 若尚未 transfer 初始值為 -1 「證據監管鏈表」本⽂,經正 規化再以 SHA-256 計算出 Hash 值,以 Hex 編碼. i Un. v. 46. DOI:10.6814/NCCU201900212.

(47) 案件註記 「證據監管鏈表」本⽂加密訊 息,以 Hex 編碼 sessionKeyInfo Object 否 sessionKey 加密資訊 encryptedKey string 否 以接收⽅的公鑰加密的 sessionKeyInfo 密⽂,以 Hex 編碼 加密演算法為 ECIES iv string 否 對稱式加密的 Initial Vector, 以 Hex 編碼 ECQVCert string 否 傳送⽅的 ECQV 憑證,以 Base64 編碼 TransferEvidenceChain Response statusCode int 否 回應代碼,"0000"代表成功, 其他代碼表⽰失敗 statusMessage string 否 回應代碼說明,"OK"表⽰成 功,其他表⽰失敗 TransferEvidenceChain Request 範例 {"caseID":"20180923C001", "encConext":"1D319A152BA9828974C572BF2EE7DE037866F178A49F2438D6C0 B0A42831CD6DA800373C893BEB660B54B0A0EF7DEE73AA980D11440FCFFA6 41A86242F1DA843FF15169002DDEDE55A30808232A41A0548841F4460147A810 1CD9E49AE561E1D7F6A2A0868FFEC55F782D19C584FF9BE58B1F9F559B0C0D 0D54531446BE3A19C63AE7C7407C84A8F20874960DF5406AEB31F3A6F43AFC 090EEB99811EE7618466D5F03259D99BFE13E75D9DCEE3B27D2ACE189BF94C 009BDD1F6E2F7C3BDD54DAA5F2D224D0FD1BC6CED5D8196B917CE3750220 6172D999869636704A2C08F30109DF63D2C7497F237A93E5986477B6C6512D7A B8569192EFD0BC318F293519532BF0C778184671F1216584204E42F280A4CEC47 62A40A093357009E008B54C5A522553AB86D0DC233D77206E5D4F07467AD173 2CDB4EF14AD1D24785DDB6C8C2158E30C0ABE8C82AD71AD6FFF65DFE4BF A5D3FE9EECFC58D8043355DEFF4198CB4EB5D086619C3B46BD5F308B8B66A 46B01724543BDDEC6283082232E846FE4A83CA3C90410B1860C26612CEE261F AC80B84FD1F6184FAAE356E48F7246F642C0C00B30768F8EA818B258D6D710 A95A21CD7311D24667B3D3236DD0834F09290DFAA81C02BB8CA832DFC2904 91C1DEB793DEA07555B692D97708CCCD604F2D5C70F0BED4C6182892CAE0B EE4F86C1246C0049DDEEDEAB13145F043E7A99A36EFDB050907E7704BD29C 7DC0E6B2889C7C4480D6CAF289959A755B81E938E9A55F884D3006E2050FCC C345516D0EB3177E2854BE14E07047E8C7AFC1B90A450B37F08330318E3C7E6 E8FE779C24BD4A69195080C94937D4DBDE78D2FAE447D37B0A4ECD0214E7A 55C15E9CB7BB410BDD353590F458FD5F885215BBAF36E32E6ED4B527B7B01E 79ACB53DB71BD2ADF6AD6F3A4BBB6096C6DB22DAB605552281BE271F5822 189EE344065F1F2F4858FB1107482FC0D1FE14D143E7D512D7985F08A8AAB81 D5F03F759EDE42C2B758348F01CA462C0E7292DB0EFCC2EF1E7B5893CCE8B 3FFC205A67F67AC4685765FE847B87E0DD47EDF37F9441749BE70FFAE5563A5 C0C73F654DFF3ABD3D8B6326C8707F77D8D1DF8F2604BBEA2C9D0E8A9ED5 note enveloped. 可 否. string string. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. 47. DOI:10.6814/NCCU201900212.

參考文獻

相關文件

按區域統計之繳納物業轉移印花稅的住宅單位每平方米平均成交價(不包括中間移轉及尚待重估價值的樓宇單

按區域及樓宇建成年份統計之住宅單位平均成交價(不包括中間移轉及尚待重估價值的樓宇

經技檢中心場地評鑑合格後,申請經費結報之支出憑證,應依政府支出憑證處理要點規

對於每一個重數為 的特徵值,求一組有k個線性.

對任意連續函數,每個小區間上的取樣點 x 都選擇在函數最 大值與最小值發生的點。如下圖,淺色方塊的高度都挑選小

2.核對該場地懸掛之評鑑合格崗位 數證明文件,如發現場地、崗位 數或崗位配置不符時,應立即反

八、地方政府所提之實施計畫內容應包含名稱、目的、辦理單位、現況分

八、地方政府所提之實施計畫內容應包含名稱、目的、辦理單位、現況分