技术

记录如何运作,写给想看机制的人。

这一页不是必读内容。本站其余部分用平实的话说明记录能做什么,这一页点出机制的名字,而安全页面列出各项控制措施。

$ openssl ts -verify -in deal_8821.tsr -data evidence_pack.zip
Verification: OK

在一份真实证据包上跑出来的时间戳核验。这是审阅者亲自执行的动作,而不是一张请人相信的截图。

证据优先
e4b1f2…9c07ad…53fe21… ✓ 由独立第三方加盖时间戳✓ 已签名

记录是在审阅者自己的机器上核验的。

证据包用免费的通用工具,在审阅者自己的机器上核验。审计师或裁判机构向一份记录所要的,无非完整性、归属与时间这三样,而这次核验把它们确定得很窄:文件未被改动,它们来自其所声称的来源,并且在所述时刻已经存在,因为时间戳来自一家独立机构。至于这份记录是否满足某一特定的法律标准,仍然是律师的问题;完整性与日期不依赖任何人的说法,而整个核验过程也不需要 Exedra Gate 的任何许可。

  • 按顺序串链。此后若有任何改动、插入或次序调换,记录本身就会显示出来。
  • 独立加盖时间戳。由一台不属于我们的时钟确定何时,采用通用工具早已能够核验的 RFC 3161 格式。设计上失败即关闭:在要求加盖时间戳的场合,没有有效的时间戳就没有证据包,因为系统拒绝生成一份自己无法证明的记录。
  • 生成时签名:是谁生成的,以及它是完整的,在交易结束数年之后仍可离线核验。
一份记录,从行为到审阅者

行为在发生的当下被记录下来,由 Exedra Gate 为其生成指纹。每一条目都带着前一条目的指纹,因此一旦发生改动、插入或次序调换,链就对不上了。证据包的内容列入一份清单并在生成时签名,从而确定是谁生成的以及它是完整的。随后,已签名的证据包由一家不属于 Exedra Gate 的机构按 RFC 3161 格式加盖时间戳,正是这一步确定了它在何时已经存在。证据包就此闭合,并且失败即关闭:在要求加盖时间戳的场合,没有有效的时间戳就根本不会有证据包。数年之后,任何审阅者都可以用免费的通用工具离线跑完七项独立核验。哈希链能检测出事后的改动,但并不阻止它。

这三枚指纹就是本节顶部印出的那三枚,因为这是同一份记录,而不是第二个例子。最后一行所确定的事情既窄又可核验:文件未被改动,并且在那一刻已经存在。哈希链可检测篡改,而我们并不声称它能阻止篡改。
核验工具,点名

exedragate-verify

一页文字若反复说「可离线核验」,就该把那个真正执行核验的东西交给读者。它有名字。exedragate-verify 是一个独立的命令行核验工具,针对导出的证据包跑七项独立核验:从头到尾重算哈希链、生成时签名、独立时间戳、证据包的内部一致性、它自身的生成事件、每一项行为的归属,以及把 PDF 与证据包清单对照。它不建立任何网络连接,时间戳机构的信任锚就打包在其中。可按需索取,对客户和对来核查客户的人一视同仁;而且时间戳用标准 OpenSSL 同样可以核验,因此没有任何一环依赖我们的工具。

确切的机制,逐一点名 → 安全

◲ Visual · coming soon 证据包核验 evidence-verify
这条链实际上做了什么

每一条目都带着前一条目的指纹,因此一旦发生改动、插入或次序调换,链就对不上了。条目一:一项行为被记录,指纹为 e4b1f2。条目二带着前一条目的指纹和它自己的指纹 9c07ad。条目三带着前一条目的指纹和它自己的指纹 53fe21。随后证据包由一家独立机构加盖时间戳并在生成时签名,因此审阅者可以离线确认它未被改动,并且在那一刻已经存在。哈希链能检测出事后的改动,但并不阻止它。

在中间改动、插入或调换任何东西,指纹就对不上,记录会把它显示出来。这是检测,不是阻止。哈希链可检测篡改,而我们并不声称它能阻止篡改。

超越记忆。

安全,逐项点名

点出机制的名字,而不是堆形容词。

租户隔离 在每一张按租户划分的表上启用 Postgres 行级安全。隔离由数据库强制执行,而不是由应用程序。
强身份验证 登录需要一部手机,而不只是一个密码:目前使用身份验证器应用,移动端签名已采用与设备绑定的通行密钥。不使用短信或邮件一次性验证码,那是监管机构正在逐步淘汰的通道。
失败即关闭的证据 在要求加盖时间戳的场合,没有有效的时间戳就没有证据包。系统拒绝生成一份自己无法证明的记录。
个人数据保护 在工程设计上支持 GDPR、瑞士修订后的数据保护法以及其他区域制度下的义务,其中包括被列入筛查的个人所享有的更正权。
可离线核验 证据包用通用工具即可核验,与 Exedra Gate 的服务器无关。
什么进入这份记录,什么不进入 文件、签名与文件访问记录属于密码学记录的一部分。各方之间的消息不属于,我们也不把它们描述为证据。
数据存放地 今天可用的是本区域内的托管云。本司法管辖区内部署与主权云部署,作为一次实施项目来界定范围并交付。

这些机制背后的公开文件。

每一条都点出上文某一机制所实现的那份文件,以及发布该文件的机构。点出某一框架的名字,意味着本平台是按照该框架公布的要求来设计的。它并不意味着 Exedra Gate 获得了任何机关的牌照、监管或背书。

  • EU / CH GDPR 与修订后的瑞士联邦数据保护法 租户隔离在数据库层面强制执行,保留期限已明确规定,更正某条记录也有书面流程。 条例 (EU) 2016/679;联邦数据保护法,SR 235.1
  • EU eIDAS 高级电子签名要件(第26条) 签名与签名人及文件唯一绑定,因此其中任何一方此后发生改动都能被检测出来。属于高级 (advanced) 一级,并非合格电子签名。 条例 (EU) 第910/2014号,第26条
  • IETF RFC 3161 时间戳 记录上的时间来自独立机构,而不是来自我们。它可作为证据采纳,用以说明文件在何时已经存在。 Time-Stamp Protocol (TSP), RFC 3161
  • IRTF / NIST Ed25519 与 SHA-256 均为公开算法,因此并不信任我们的人也可以用通用工具核验证据包。 Edwards-Curve Digital Signature Algorithm (EdDSA), RFC 8032; Secure Hash Standard (SHS), FIPS 180-4
  • W3C WCAG 2.1 AA 使用 axe 逐页对照该标准进行审查,这正是公共部门或机构采购评审所要求的。 Web Content Accessibility Guidelines 2.1,AA 级

点出一个框架的名字意味着什么 →

◲ Visual · coming soon 审阅者眼中的审计轨迹 tech-audit-trail
词汇,逐个定义。
上文用到的每一个术语,都在安全页面上以一句话逐个定义,旁边还有合规负责人会去核对的各项控制措施,以及审阅者可独立执行的核验命令。