抗抵赖给出了一种避免实体抵赖它的行为的机制,从技术上确保实体认可它的行为,因实体的所有行为仅可出现在它被信任后,因此可借助时间戳标记与数字签名来对实体的所有行为进行审计。通过把实体的所有行为与时间绑定数字签名,让它不能抵赖它的行为。
利用单纯的数字签名方式达不到抗抵赖作用,因为签名说明签名者对数据或行为进行了确认,但不能说明他什么时间进行了确认,因此还一定要实施可信的第三方进行事件发生时间的证明,即需要用到时间戳服务。
简单地说,时间戳服务是对一段数据进行时间标识,并签名时间标记。在RFC3161中对时间戳协议进行了说明,实际上,可信时间徽服务是用户权威时间源与电子数据的哈希值的结合,在这个基础上借助时间戳服务中心(TSA)进行数字签名,得到不能伪造的时间戳数据。
为了达到抗抵赖效果,对原始数据的签名包括两部分,一是实体对数据的签名,二是时间戳服务中心对数据的签名。这两部分签名分别使用了PKCS#7和CMS的签名数据结构,实际使用中,还需要把这两部分数据组合成一个数据,使数据的管理和使用更方便。根据RFC361规范建议,一股把时间裁数据作为PKCS#7的一个属性,即PKCS#7签名数据中包含时间戳。
在实际应用中,经常使用签名和时间戳签名要发布的软件,这样用户安装软件时,就可以验证软件的可信性。一般使用专用签名工具实现带时间戳的签名。