时间戳原理及应用

TIME:2019-03-15   click: 261 次

在书面合同中,与手写签名一样,签署日期也是一项关键性内容,用来防止文件被伪造和篡改。在电子交易时代,如何确定电子文件的签署日期并避免被篡改是个难题。时间戳技术(TSP)能有效解决电子文件的签署日期问题,通过数字签名技术把电子数据和特定时间绑定在一起,既能准确确定电子文件的签署日期,又能有效避免该日期和文件内容被伪造或修改,事实上是数字签名技术的一种特殊应用。

通过数字签名技术把电子数据和特定时间绑定后的结果叫时间戳,它主要由电子数据的摘要值、特定时间、数字签名3部分内容组成。

书面合同的时间是签署人写上的,但时间戳不是,其中的特定时间和数字签名均由特定机构TSA签署,TSA可理解为可信第三方TP服务机构,有权威性,专门为用户数据签发时间戳。

时间戳产生的过程主要含以下步骤:

用户(时间戳需求方)把电子数据(文件)使用摘要算法计算出摘要值,然后组成时间戳请求包Time StampReq。

用户把请求包TimeStampReq发送给TSA。

TSA接收到请求包Time StampReq。

TSA需验证Time StampReq的时效性,由判断nonce是否重复来避免重放攻击。TSA用私钥对请求包中的摘要进行数字签名后,组成时间戳响应包TimeStampResp。TSA可以拥有多个私钥,针对不同策略、不同算法等,可使用不同的私钥。TSA数字证书的extendedKeyUsage扩展项必须设置为关键扩展项,且必须包含id-kp-time Stamping扩展密钥用途。

TSA将响应包Time StampResp发送给用户。

用户接收到响应包Time StampResp。

用户先判断TimeStampResp中的状态信息,若是错误状态,则表示本次时间戳申请失败;若是正确状态,则验证响应包中各种字段信息和TSA签名是否正确;若字段信息或签名不正确,则拒绝该响应包。用户需借助OCSP或CRL验证TSA证书是否作废或有效。

上一篇:Set协议名词解释 下一篇:Set协议原理