在线验证数字证据完整性
上传 ProofSnap 证据包(.zip),即可独立验证 SHA-256 哈希、RSA-4096 数字签名、比特币区块链时间戳,以及依据eIDAS第 910/2014 号条例。证据包可以提交法院,是否采信由受理法院判断。
作者:Radim Motycka,ProofSnap 创始人兼首席工程师 ·
哈希与数字签名在您的浏览器中重新计算,时间戳的核验通过 ProofSnap 的验证服务完成。任何人都可以核验:律师、法官、保险公司和执法机关。 验证源代码为开源。
验证哪些内容
证据验证工具对每个证据包执行六项独立的密码学与取证检查,确认其自取证以来未被改动。
数字签名
RSA-4096 签名核验可以证明清单(manifest)自签名之后没有被改动。
SHA-256 哈希完整性
对证据包中的每个文件进行哈希计算,并与清单比对,以检测任何改动。
区块链时间戳
锚定到比特币区块链的 OpenTimestamps 证明,确认证据在特定时间点已经存在。
欧盟 eIDAS 时间戳
依据欧盟法规 910/2014 的合格电子时间戳,由列入欧盟信任列表的合格信任服务提供商签发。
证据保管链验证
依据ISO/IEC 27037:2012 的指导,数字证据从取证到法庭出示,应当保持记录完整、链条连续的证据保管链。本工具会自动核验保管链的三项记录。
取证日志
防篡改的哈希链,串联从取证开始到证据包创建的每一个事件。每条记录都以密码学方式与前一条相连。
设备完整性
读取取证时记录的浏览器环境检查结果,包括自动化工具与虚拟机的识别情况。
ISO/IEC 27037:2012
保管链记录遵循数字证据识别、收集、获取与保存的国际标准。
如何在线验证数字证据
上传 ZIP 文件,本工具会重新计算每个哈希、检查数字签名,并向外部时间戳服务核验时间戳,证据文件本身不需要上传,只有时间戳文件送交 ProofSnap 的核验服务。
上传证据包
选择或拖放一个 ProofSnap 的 .zip 文件。ZIP 在您的浏览器中解包,只有时间戳文件送交 ProofSnap 的核验服务。
密码学检查
本工具会读取
manifest.json,计算每个文件的 SHA-256 哈希,并使用随附的公钥验证 RSA-4096 数字签名。
时间戳验证
如果存在,则会通过 ProofSnap 的核验服务,向比特币区块链与 eIDAS 时间戳服务核验相应的时间戳。
结果报告
每项检查单独列出通过或未通过,可以连同证据一并提交完整的核验报告。
收到别人发来的证据包,该怎么办
- 不要解压后重新打包。直接把收到的原始 ZIP 拖到上面的验证工具里。重新压缩会改变文件,哈希自然对不上。
- 逐项看结果。清单签名与文件哈希全部通过,说明包内文件自取证以来没有被改动过。
- 缺少某个文件不等于有问题。包内没有 manifest.json.ots 或 manifest.json.tsr,通常是对方所用套餐的差异,不是证据被动过。
- 不放心浏览器工具,可以离线复核。证据包内的 verification/verify.sh 与 verify.ps1 可在本机独立运行,不需要这个页面。
图片被盗用的取证做法,见盗图取证与著作权侵权证据。
常见问题
关于数字证据完整性、法庭可采性以及 ProofSnap 证据验证工具工作原理的常见问题。
- 清单签名:使用随附的公钥验证 manifest.json 上的 RSA-4096 数字签名。
- 文件完整性:计算每个证据文件的 SHA-256 哈希,并与清单比对。
- 取证日志:验证防篡改的哈希链,并与证据保管链文档交叉核对。
- 设备完整性:报告设备完整性评分及任何自动化迹象。
- 区块链时间戳:对照比特币区块链验证 OpenTimestamps 证明(如果存在)。
- 欧盟 eIDAS 时间戳:对照 TSA 验证合格电子时间戳(如果存在)。
-
签名:
openssl dgst -sha256 -verify publickey.pem -signature manifest.sig manifest.json -
哈希:
sha256sum screenshot.jpeg并与 manifest.json 比对 - 区块链:将 manifest.json.ots 上传到 opentimestamps.org
-
eIDAS:
openssl ts -verify -in manifest.json.tsr -data manifest.json -CAfile disig-root.pem
必需文件:
- screenshot.jpeg:网页的整页截图
- metadata.json:URL、时间戳、浏览器信息、TLS 详情
- page.html:页面完整的 HTML 源代码
- evidence.pdf:格式化的证据报告
- domtextcontent.txt:提取出的文本内容
- manifest.json:所有文件的 SHA-256 哈希
- manifest.sig:RSA-4096 数字签名
- publickey.pem:用于签名核验的公钥
- forensic_log.json:防篡改的事件日志
- chain_of_custody.json:依据 ISO/IEC 27037:2012 指导的证据保管链
按套餐可能出现的文件:
- forensic_log_summary.txt:取证日志摘要
- verification/verify.sh 与 verify.ps1:随包附带的离线核验脚本
- manifest.json.ots:OpenTimestamps 区块链证明
- manifest.json.tsr:eIDAS 合格时间戳(Enterprise、Company 或 eIDAS 次数)
- eidas_validation.json:长期核验数据(同上)