电子数据鉴定论文笔记|ECo-Bag,基于哈希树的通用电子证据包

电子数据鉴定论文笔记|ECo-Bag,基于哈希树的通用电子证据包

论文

💡
Han, J., Han, M. L., Lee, S., & Park, J. (2024). ECo-Bag: An elastic container based on merkle tree as a universal digital evidence bag. Forensic Science International: Digital Investigation49, 301725.

论文创新点

  1. 一种新型的基于哈希树(“Merkle tree”)的逻辑证据存储容器。
  2. 在处理搜查得来的电子证据时,在保留数据完整性的同时,提供封存或销毁与案件无关的个人隐私信息的功能。

什么是电子证据包

电子证据包指从不同来源获取的证据的集合汇总,在案件调查过程中提供证据来源记录并保持证据的连续性。

ECo-Bag的设计

设计动机

在电子数据证据获取过程中,会有大量的非案件相关信息也被搜查固定。例如在手机提取的过程中,会有大量的非案件相关、涉及个人隐私的文件、相片及聊天记录等内容,也都被做入了手机阅读器报告、放入了证据盘。一旦放入了证据盘,这些个人隐私的内容无法在保持证据盘完整的情况下删除或封存,也就导致了对个体隐私权的侵犯。

设计理念

在侦查初期、证据收集的阶段,分辨哪些信息是与案件相关与否肯定是不现实,所以理想的情况是,在调查过程中,当调查人员发现与案件无关的个人隐私信息时,有能力将其封存删除(加密)的同时,不影响其他证据的完整性。

ECo-Bag的构成

ECo-Bag其实就是一个以压缩包为容器的证据盘,里面同时存放【证据文件】和【StateInfo文件】即所谓【证据文件的“元数据”】。

它和鉴定流程中常见的压缩证据文件至一个压缩包,并将压缩包复制刻盘的过程几乎一致,但在证据盘中新增了一个元数据文件StateInfo,理解该文件需要先理解的概念如下:

  1. "State Info":存储元数据的文件载体
  2. “Attribute”:State Info 文件中的键值对,记录了每个Item的属性。
  3. “Item”:即证据文件,可以是打的镜像,也可以是取证工具导出的报告或者是二次处理过后的csv等表格文件。

简单来说,StateInfo文件中包含了以下信息:

  1. StateInfo自身文件的哈希(hash)
  2. 基于UUID的唯一标识符(urn)
  3. 记录证据包内更新次数的值(state)
  4. StateInfo文件生成时间(birth)
  5. StateInfo文件更新时间(operated)
  6. 哈希树根所使用的计算函数(function)
  7. 每个证据的信息(items)
    1. 证据类型(type:镜像、文件、二次输出等等)
    2. 证据状态(itemState:正常、删除、加密、压缩)
    3. 证据名称(itemName:证据路径)
    4. 证据哈希(itemHash)
  8. 证据包修改记录(history:记录所有对证据包修改更新的操作及证据包哈希树的根)
StateInfo文件,右侧为经过更新后的证据包的StateIofo文件

内部证据管理的操作类型

  1. Generate:在证据收集完毕后,通过生成操作,生成一个包含证据文件及stateinfo文件的逻辑证据容器。
    1. 生成的“State Info”文件放在压缩包的根目录下
    2. 生成每个证据文件的“meta data”如哈希、路径、状态等。
  2. Update:对证据文件的销毁、加密或压缩等操作。
    1. “Destruction”:对证据文件的永久性删除。
    2. “Sealing”:对证据文件的封存,防止未授权人员查看。
  3. Verify:验证哈希树中特定的证据文件或所有文件的完整性。
    1. “Full mode”:在全验证的模式下,会对证据容器内所有可恢复至“正常”状态下的文件都进行验证
      1. 首先会校验StateInfo内记录的StateInfo文件的哈希,查看StateInfo文件的哈希是否匹配,以确认StateInfo文件未被篡改
      2. 将证据盘内所有文件(包括加密或压缩的文件,但不包括删除文件)恢复至正常状态
      3. 计算哈希树根的值,用于验证证据包内所有文件。
    2. “Preview mode”:在预览模式下,只会对特定的少数几个文件进行验证,减少计算开销的同时保护其他证据。

以上三种证据管理操作中,缺少了补充证据的操作类型,即如果生成了一个证据包后有新证据需要添加进去怎么办,作者给出的方法是套娃,即把旧证据包作为一个证据文件和新证据再一同压缩至新证据包,这就解决了新增证据的问题。

个人理解

  1. 作者在原有证据文件压包的基础上,在根目录下新增了一个StateInfo文件,该文件记录了压缩包内所有证据文件的哈希、路径、名称等信息的同时,基于这些个体文件的哈希利用哈希树生成总哈希根,在修改证据包内的文件时,也会在StateInfo元数据中留存物品状态修改记录等日志。
  2. 新增了在保持原有证据链完整的同时删除或加密证据文件的功能。
  3. 但感觉这一证据容器比较适合长期归档而并非作为证据盘所用。
Yikai Wang

Yikai Wang

Shanghai, China