时间戳服务工作流程:

◆ 用户对文件数据进行Hash摘要处理;

◆ 用户提出时间戳的请求,Hash值被传递给时间戳服务器;

◆ 时间戳服务器对哈希值和一个日期/时间记录进行签名,生成时间戳;

◆ 时间戳数据和文件信息绑定后返还,用户进行下一步电子交易操作。

验证工作流程 

一、用时间戳标记顺序

时间戳服务:time-stamp service
时间戳标记:time-stamp token
可信第三方:trusted third part,TTP
时间戳服务机构:time-stamp authority,TSA

我们知道,对数据做数字签名可以保证其完整性,进行数据源鉴别,提供抗抵赖性,但这些还不够。

比如:假设A和B因为发表了内容完全相同的两篇小说作品,从而产生了著作权归属的争议。在这种情况下,两人都能够出示“自己的”小说的签名,但对解决争端毫无作用,这是因为缺少了判断著作权归属的重要依据——时间先后顺序。

再比如:假设C丢失了自己私钥,于是向CA申请撤销了自己的证书。此后,D声称C与自己签订了一项合同却未依约执行,且经验证,合同的数字签名是用C的私钥签署的,C却表示改签名是自己的私钥丢失后有人冒充所为。已知CA签发的CRL中有证书撤销的时间,在这种情况下,如果能通过合理可靠渠道证明合同所签订时间,从而判定合同签订和证书撤销(私钥失效)的时间,那么问题就迎刃而解了。

在数字业务中,标记一份文档出现的时间或一件事的发生顺序是很有必要的,这就像对原始数据加盖了一枚包含权威时间信息的印章,故被称为“时间戳”。在PKI中,时间戳服务可由第三方提供,并不失去公正性和权威性。

时间戳服务提供的结果称为“时间戳标记”,它将当时的时间(可以是一个代表顺序的数字)和原始数据绑定在一起,需要验证的时候可作为证据证明原始数据在时间戳标明的时间之前已经存在,根据时间的不可重复性,时间戳就可用来判断原始数据出现的(或其代表的时间的发生的)顺序。

二、时间戳原理

结合例子来说明,假设A准备向网站运营者B提交作品,这时A需要向B证明作品完成的时间,这就需要一个满足以下条件的时间戳服务提供者C:

1、时间戳标记中提供的时间信息是“权威”的。这里包含两层意思:C提供的日期和时间是准确的;C只会用当时的真实时间标记,而不会故意标记虚假的信息。简单说来,就是C必须是“可信第三方”。基于X.509 PKI,这点可用C的证书来保证,即相信了签署其证书的CA,也就相信了C。

2、时间戳标记可提供数据来源鉴别以及完整性保护,即B可确信时间戳标记来自C且传输过程中未被篡改,这可依靠数字签名来实现。一般情况下,使用非对称密码技术进行数字签名。

3、时间信息与原文内容绑定在一起,以证明该时间正是C收到A此篇原文的时间。即,时间戳标记中要充分地包含原文的信息,加盖时间戳之后原文不应再有改动,不论是自己做的改动还是别人篡改的。

为了即不透露原文又能抵抗篡改,可以使用杂凑算法。A自己计算原文件的杂凑值并交给C加盖时间戳,在出示时间戳标记的时候,验证者B根据收到的文件计算杂凑值并与时间戳标记中的比较,如果相同则证明与时间戳标记中的时间信息绑定的正是原文件。这样,如果修改原文,哪怕只有一个比特,杂凑值也会有显著的变化,而且其“碰撞自由”(collision-free,或称“抗碰撞”,collision-resistant)的性质可避免他人或A自己在加盖时间戳之后对原始数据的伪造或篡改。

根据以上原理,基于X.509 PKI的时间戳服务过程如下:
1、用户对原始数据做杂凑运算。
2、用户将杂凑值发给TSA

3、TSA将接收时间列在杂凑结果之后,并对整体进行数字签名。

4、TSA将带有数字签名的杂凑值和时间信息发回给用户。

三、时间戳服务机构(TSA)

TSA拥有用于数字签名的私钥和CA签署的数字证书,其证书除了是合法的末端实体证书以外,还必须满足以下两个条件:

1、必须含有Extended Key Usage扩展,并且KeyPurposeId字段等于1.3.6.1.5.5.7.3.8,表明该证书主体可以担任TSA,该密钥可以用于时间戳服务。
2、如果含有Key Usage扩展,则digitalSignature位必须等于1,表明对应的密钥可用作数字签名。

另外,TSA也可以有多个策略,同一个TSA可以根据不同的策略拥有多个签名算法,对应多个有不同安全需求的场景。

用户与TSA的通信过程很简单:
1、用户向TSA发送时间戳请求
2、TSA返回包含时间戳标记或出错信息的时间戳应答。

参考:中宇万通时间戳服务器 - 时间戳服务器 - 北京中宇万通科技股份有限公司

参考:数字证书基础知识:时间戳服务简介,时间戳服务为服务器端和客户端应用提供可信的时间证明

数字签名时间戳服务器的原理相关推荐

  1. 数字签名时间戳服务器的原理 !

    对于成功的电子商务应用,要求参与交易各方不能否认其行为.这其中需要在经过数字签名的交易上打上一个可信赖的时间戳(TimeStamp)从而解决一系列的实际和法律问题 由于用户桌面时间很容易改变,由该时间 ...

  2. 时间戳(时间戳服务器)技术生成原理

    时间戳(时间戳服务器)技术生成原理 时间戳(时间戳服务器)技术生成原理 可信时间戳已成为确立电子数据法律效力的重要技术之一.在全球信息化的大趋势下,以计算机及其网络为依托的电子数据,在证明案件事实的过 ...

  3. 时间戳服务器作用,使用时间戳给医院带来的好处

    时间戳到底有什么作用,如果一个医院使用时间戳会给企业带来什么好处吗?这是很多用户最常问的的一问题.今天山东确信就来个详细的解析. 首先从电子病历说,电子病历缺乏法律的支撑:同原始书面病历相比,电子病历 ...

  4. 政务网时间同步(NTP时钟同步服务器)原理及重要性分析

    政务网时间同步(NTP时钟同步服务器)原理及重要性分析 政务网时间同步(NTP时钟同步服务器)原理及重要性分析 京准电子科技官微--ahjzsz 摘要:随着电子政务的不断发展,许多省份都建立了自己的政 ...

  5. 时钟服务器工作原理,NTP时间服务器工作原理

    文章目录 [隐藏] NTP简介 NTP工作原理 NTP工作模式 NTP简介 NTP(Network Time Protocol, 网络时间协议)是由RFC 1305定义的时间同步协议,用来在分布式时间 ...

  6. 服务器镜像工作原理,镜像服务器的原理是什么,怎么工作的

    镜像服务器的原理是什么,怎么工作的 分类:数据恢复常见问题|最后更新:2018年10月22日 服务器的种类很多,其中镜像服务器是什么您知道吗?它又有着哪些作用了?下面跟随小编一起来探讨下. 镜像服务器 ...

  7. 时间戳服务器显示invalid,signtool签名时间戳失败的解决方法

    作者:梁敏 之前在win7上打包windows程序版本时,偶尔会遇到签名时间戳会失败的场景.之前解决方法一般是多试一次,或者尝试换一个时间戳服务器就可以了. 最近版本提测上线,在使用win7打包版本时 ...

  8. 比特币的服务器作用,比特币白皮书解读-时间戳服务器

    时间戳服务器时干嘛的?不了解区块链我也不知道,既然能写进白皮书里,说明任务还是重大的.看着段落不长,应该好理解一些,心理顿时是不是有些轻松呢 我们先看一下原文 3. 时间戳服务器(Timestamp ...

  9. java 时间戳验证_关于Java:在时间戳服务器上使用时间戳和身份验证对jar进行签名...

    我想使用Java jarsigner工具的时间戳选项-tsa.我想到的时间戳服务需要身份验证.为此,您将获得个性化的软令牌,以在时间戳服务器上标识自己. 我的问题:jarsigner工具支持此身份验证 ...

最新文章

  1. Node.js + Express 4.x + MongoDB 构建登录注册-简易用户管理(四)
  2. 编程中检查IIS7组件的安装情况
  3. Deepin 20关机提示Unattended Upgrades Shutdown的解决方法
  4. 用户虚拟地址转换成物理地址
  5. centos 使用yum 安装出现 File contains no section headers 错误解决方法
  6. Python入门--流程控制语句break
  7. chattr与lsattr命令
  8. springcloud使用LCN分布式事务
  9. 手机论文查重软件哪个靠谱?
  10. 二次规划——学习笔记
  11. 抽奖活动软件 html,APP怎么制作抽奖活动,制作APP抽奖活动有何亮点
  12. RN系列:Android原生与RN如何交互通信
  13. Datawhale | 高级算法梳理第六期 Task3【XGB算法梳理】3天
  14. 安徽工贸职业技术学院计算机比赛,放飞青春,不负韶华!《追梦》——安徽工贸职业技术学院2019年宣传片...
  15. 天龙八部 - 其它 - 手工选择
  16. 使用纯碎的HTML CSS制作多拉A梦(即为CSS画图)
  17. 无线信道参数估计算法
  18. c语言 11 getchar实现大小写字母转换
  19. MySQLdb 使用方法
  20. 动态加载script 加载完成回调事件

热门文章

  1. 史上最全java架构师技能图谱(下)
  2. 非常全面的阿里的Java面试题目,涵盖Java基础+高级+架构
  3. 论文浅尝 - ISWC2021 | 当知识图谱遇上零样本视觉问答
  4. 《程序员修炼之道:从小工到专家》阅读笔记03
  5. Shell命令-磁盘与文件系统之dumpe2fs、dump
  6. python D28 粘包
  7. java EL表达式中${param.name}详细
  8. sqlserver binary varbinary image 的区别
  9. C#表格文字多收缩样式
  10. hibernate映射-单向n-n关联关系