• 1.摘要
  • 2.基本信息
  • 3.原理
  • 3.1.简单的时间戳协议
  • 3.2.线性链接协议
  • 3.3.树型协议
  • 3.4.二进制协议
  • 3.5.线索认证树协议
  • 3.6.分布式协议
  • 4.时间戳系统的组成
  • 5.时间戳的产生和颁发
  • 6.时间戳的格式
  • 7.时间戳的管理
  • 8.安全
  • 9.参考资料

时间戳

一份数据在特定时间点存在的可验证的数据

时间戳是使用数字签名技术产生的数据,签名的对象包括了原始文件信息、签名参数、签名时间等信息。时间戳系统用来产生和管理时间戳,对签名对象进行数字签名产生时间戳,以证明原始文件在签名时间之前已经存在1

可信时间戳是由联合信任时间戳服务中心签发的一个电子凭证,用于证明电子数据文件自申请可信时间戳后内容保持完整、未被更改。可信时间戳接入核准书的颁发,标志着可信时间戳在档案领域规范化应用已经开始,并将起到电子档案和档案数字化副本内容防篡改、保障档案的法律凭证的作用。根据《电子签名法》有关数据电文原件形式的要求,申请了可信时间戳认证的电子文件、电子档案或纸质档案的数字化副本等可视为法规规定的原件形式2

基本信息

  • 中文名

    时间戳1

  • 外文名

    Timestamp1

  • 可信时间戳

    由联合信任时间戳服务中心签发的一个电子凭证2

  • 组成部分

    包括三个部分1

  • 函数中

    时间表示方式2

  • 安全

    物理安全与软件安全1

  • 管理

    时间戳的管理1

原理

时间戳的主要目的在于通过一定的技术手段,对数据产生的时间进行认证,从而验证这段数据在产生后是否经过篡改。所以时间戳服务的提供者必须证明服务中使用的时间源是可信的,所提供的时间戳服务是安全的。下面介绍最常见的几种时间戳协议,并对各个协议的原理进行分析。

简单的时间戳协议

在使用时间戳服务时,所涉及到的角色一般有以下几种:提供时间戳服务的机构(Time-Stamping Authoritor),申请时间戳服务的用户(Subscriber)和时间戳证书的验证者(Relying Party)。时间戳机构的主要职责是为一段数据申请时间戳证书,证明这段数据在申请时间戳证书的时间点之前真实存在,在这个时间点之后对数据的更改都是可以追查的,这样就可以防止伪造数据来进行欺骗。证书持有者把需要申请时间戳证书的数据发送给时间戳机构,时间戳机构将生成时间戳证书发送给证书持有者。在需要证明该数据未被篡改时,证书持有者展示数据所对应的时间戳证书,时间戳证书的验证者来验证它的真实性,而从确认该数据是否经过篡改。

最基本的时间戳协议的工作流程如下;申请时间戳服务的用户将需要认证的数据传输给时间戳服务的提供者;时间戳服务的提供者将经过认证后的时间戳证书返还给用户。

简单时间戳协议

简单时间戳协议的工作流程如右图所示:用户将需要认证的数据传输给时间戳机构,数据经过Hash运算得到 m=Hash(M),时间戳机构将 m 和收到数据的时间 t 一起进行数字签名,然后将生成的时间戳证书 Sign(m,t)返还给用户。在需要验证时间戳证书时,首先验证时间戳证书 Sign(m,t)是否为时间戳机构签发的,其次验证 m 是否为用户数据经过Hash 运算得到的结果。如果两项验证中有任何一项不通过,就证明用户的数据经过了篡改;如果都通过,说明用户的数据在时间 t 之后没有进行过任何修改。这个方法通过对数据进行 Hash 运算,保护了用户数据的隐私,在另一方面也减少了时间戳机构的存储容量,为时间戳机构削减了成本。

线性链接协议

线性链接协议是为了解决时间戳机构必须完全信任这一问题而提出的。

这个协议的设计思想是为了建立起时间戳证书之间的紧密联系,像链表一样将用户申请的时间戳证书按照顺序链接起来。时间戳机构将收到的数据的Hash值用链表链接起来,把第n组数据的时间戳证书链表链接到第n-1组数据的时间戳证书链表之后。

为了验证时间戳机构是否存在欺骗行为,机构设定一个固定的时间,通过不同渠道将最近通过的时间戳证书列表公布出来。任何人都可以通过时间戳机构公布的证书列表来验证时间戳链表的有效性,从而确定时间戳机构是否公正可靠。

线性链接协议

右图给出了8个数据的时间戳链表的结构示意图,通过这种方法,时间戳机构将不同用户的时间戳证书按照申请服务的顺序链接起来,从而得到了一条完整的时间戳证书链接。一方面,时间戳机构就可以通过完整的时间戳证书链接来确认两个数据申请时间戳服务的先后顺序;另一方面,由于用户的时间戳证书中会包含前一个用户申请时间戳证书时的部分信息,而时间戳机构也无法决定用户申请时间戳服务的次序,所以即便时间戳机构与用户相互串通,也无法改变整个时间戳证书链接中用户证书的位置。

树型协议

树型协议

树型协议是线性链接协议的优化协议,这个协议把时间戳证书链接分解成很多小的组。在每组中,时间戳服务的使用者可以向TSA提出时间戳证书申请。可以通过建立一棵树型结构实现整个流程,其中树型结构的叶子是使用者的时间戳证书申请,TSA使用一个安全的Hash函数来计算树型结构中的节点值。树型结构如右图所示。

树型协议减少了时间戳机构中时间戳证书的存储数量。要验证Hni是否是在第n轮中申请的时间戳证书,只需要验证能否通过Hni推算出Ni。同时此协议还可以防止对时间戳证书的篡改,用户要同TSA互相串通,才可能对第n组中的某个时间戳证书进行篡改。但第n组的信息包含在了n+1组的时间戳中,所以可以通过n+1组的时间戳审查第n组的时间戳是否正确。

但是树型协议也有它自己的问题。树型协议不能验证同组中两个时间戳证书的相对次序,因为同组的时间戳证书都是在第n组结束时发布,但他们却不是同时被时间戳机构收到的。所以树型协议无法确定同一组中时间戳证书的正确顺序。除非绝对相信TSA能够保持同一组时间戳的正确次序或者减少每一组内的数据个数,但如果个数太少,系统的效率就会随之降低。同线性链接协议相同,如果待验证的时间戳证书与参考的时间戳证书中存在的时间戳证书较多时,可用性就会大大降低。

二进制协议