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

时间戳服务工作流程:

◆ 用户对文件数据进行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返回包含时间戳标记或出错信息的时间戳应答。
 

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/496110.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android x86 笔记本卡屏,笔记本死机卡屏怎么办

笔记本死机卡屏的解决方法:首先按住键盘上ctrlaltdel,弹出任务管理器;然后在弹出任务管理器中选择explorer.exe;接着右键点击explorer.exe,在弹出菜单中选择“结束进程”;最后输如explorer.exe即可。首先&a…

【读书笔记】《框架设计(第2版)CLR Via C#》中两个比较有趣的知识点

本季度公司要求阅读《框架设计(第2版)CLR Via C#》这本书,由于前两个月一直很忙,也没有时间阅读,偶尔阅读也是很晚回家以后临睡前拿起这经典之作读那么一个小节。最近利用周末可以说一鼓作气的看了大半本,感…

8个最高效的Python爬虫框架,你用过几个?

From:https://segmentfault.com/a/1190000015131017 1.Scrapy Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。。用这个框架可以轻松爬下来如亚马逊商品信…

300+Jquery, CSS, MooTools 和 JS的导航菜单资源

如果你是网站前端开发人员,那么对你来说,也许做一个漂亮导航菜单会很得心应手。本文要为大家总结各种导航菜单的资源,以便让大家的网站前端开发的工作更方便更快速,只要选择现成的例子就可以应用于自己的网站了。本文收集的这些资…

轻量级分布式任务调度平台 XXL-JOB

From:https://www.cnblogs.com/xuxueli/p/5021979.html github 地址 及 中文文档地址:https://github.com/xuxueli/xxl-job 《分布式任务调度平台XXL-JOB》 一、简介 1.1 概述 XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发…

畅玩4c刷android 9.0,华为畅玩4C电信版 CyanogenMod 13.0_Android_6.0.1 【HRT_chiwahfj】

本帖最后由 chiwah渔夫 于 2016-9-9 22:31 编辑【基本信息】ROM名称:华为畅玩4C电信版 CyanogenMod 13.0_Android_6.0.1ROM大小:617M适配版本:CyanogenMod 13.0_android_6.0.1测试机型:华为畅玩4C电信版作者简介:HRT团…

可以叫板Google的一个搜索引擎 —— DuckDuckGo

From:https://blog.csdn.net/inter_peng/article/details/53223455 作为习惯了使用Google进行资料查询的我来说,如果没有Google,真的感觉很难受。纵使找了一些可以翻墙的软件,但无奈还是经常不稳定,总是时断时续的。Bi…

小米鸿蒙1001小米鸿蒙,小米高管早就放下狠话!愿意使用鸿蒙2.0系统:那其他厂商呢?...

【9月14日讯】相信大家都知道,自从华为鸿蒙OS系统2.0版本正式发布以后,由于华为消费者业务CEO余承东正式确认:“华为手机在12月开始适配鸿蒙OS系统,明年所有华为手机全面启用鸿蒙OS系统。” 这也意味着国产智能手机厂商也将彻底的…

WCF中的管道——管道类型

管道是所有消息进出WCF应用程序的渠道。它的职责是以统一的方式编制和提供消息。管道中定义了传输、协议和消息拦截。管道以层级结构的形式汇总,就创建了一个管道栈。管道栈以分层的方式进行通信并处理消息。例如,一个管道栈可以使用一个TCP协议管道和一…

android德州扑克计算器,学界 | 一台笔记本打败超算:CMU冷扑大师团队提出全新德扑AI Modicum...

原标题:学界 | 一台笔记本打败超算:CMU冷扑大师团队提出全新德扑AI Modicum选自arXiv参与:路、晓坤CMU 冷扑大师团队在读博士 Noam Brown、Tuomas Sandholm 教授和研究助理 Brandon Amos 近日提交了一个新研究:德州扑克人工智能 M…

神器 | 百度云资源搜索

From:https://blog.csdn.net/qq_21492635/article/details/81109247 直接上神器 该网页没有做自适应,也没有专门的手机站点,因此建议电脑使用。也可下载桌面客户端(仅支持windows),稳定不卡,速度…

html前端如何缓存页面,Nuxt中如何做页面html缓存

Nuxt是一款基于Vue的服务端渲染SSR框架在Nuxt框架的API中,有一个叫 serverMiddleware 的服务端中间件,我们可以利用它在返回首屏html前做一些缓存的处理在这之前我们需要了解一个叫LRU的算法,LRU是一种缓存淘汰算法,用链表存储数据…

Google 和 bing 都无法替代的10大深网搜索引擎

From:https://blog.csdn.net/ejinxian/article/details/74081716 当我们想要搜索某些内容时,我们第一个想到的就是打开Google、百度或必应这类的搜索引擎。但针对有些内容,却是这些常规搜索引擎无法获取到的,那就是隐藏在深网的内…

植树节html5游戏,植树节活动

活动概述活动时间:3月10日至3月13日(以实际版本内活动日期为准)活动介绍:一年一度的植树节活动开始了,小伙伴们拿起小铲子,小水桶,今天勤劳来种树,明天不用吸雾霾!快来邀请你的小伙伴一同参与活动吧,开开心…

Swagger 注解~用于Controller

Api 用于类;表示标识这个类是swagger的资源 tags–表示说明 value–也是说明,可以使用tags替代但是tags如果有多个值,会生成多个list Api(value"用户controller",tags{"用户操作接口"}) RestController public class Us…

大黄蜂(HORNET):比Tor更快更安全的匿名网络

From:https://blog.csdn.net/lee_sire/article/details/50357234 你一定听说过Tor洋葱路由技术,它提供了强大的匿名网络访问功能,以此成为互联网用户、政治活动家、以及记者躲避有关部门限制监控的方法。但Tor最受人诟病的是它蜗牛般的网络连…

HTML在前端开发中起到的作用,什么是字符串,web前端开发里起到什么作用

观察某宝商品数据,有一个东西叫服务器>>>>js的作用重要作用之一>>>>交互>>>>人机交互(事件)>>>>服务器交互(ajax);服务器交互,数据处理方式json>>>>>要把它转化成字符串操作。字符串操作…

Swagger 注解~用于方法

ApiOperation 用于方法;表示一个http请求的操作 value用于方法描述 notes用于提示内容 tags可以重新分组(视情况而用)ApiParam 用于参数,字段说明;表示对参数的添加元数据(说明或是否必填等) na…

如何使用Linux匿名上网-四大法宝

From:https://www.linuxprobe.com/linux-anonymity-internet.html 导读 信息时代给我们的生活带来极大便利和好处的同时也带来了很大的风险。一方面,人们只要点击几下按钮,就能基本上访问已知存在的全部信息和知识;另一方面,要是这…

怎么改HTML表单数据,form设置的数据怎么添加到table

如图: 是一个form表单,在顶部输入数据点击新增,怎么把数据插入到下面的表格中,并显示。页面代码:编辑跳转表单的代码:showEditForm(text) >{const data_save this.props.signal.data_save.dataconst da…