1-电子签名

调度侠
• 阅读 1158

[TOC]

1-电子签名

缘起

很早就想写技术文章了,一直拖延至今,刚好又看了一些知识管理的文章,讲到写作的巨大意义:

梳理重构:加深自己对知识点的认识,鞭策每日精进
开放共享:帮到更多有需要的人,让知识产生更大的价值
交个朋友:能认识更多志同道合的小伙伴
 
这么多好处,那就我们就动手吧。从哪里开始呢,最近刚好经手电子签名续费事宜,发现大家对电子签名有很多困惑,而电子签名法及其背后所用的技术事实上构成了电子商务的基础,讲金融科技、讲创新赋能都没办法绕开电子签名。那我们就在这个生机勃勃的5月,从电子签名开始我们的技术之旅吧。

电子签名有法律效力吗?

答案是有,那谁给它的法律效力?人大常委会通过《中华人民共和国电子签名法》给的。

2004年8月28日人大常委会审议通过,2005年4月1日执行。
2015年4月24日人大常委会第一次修正
2019年4月23日人大常委会第二次修正

它在第十四条规定:

可靠的电子签名与手写签名或者盖章具有同等的法律效力。

那么什么又是可靠的电子签名呢?它在第十三条规定:电子签名同时符合下列条件的,视为可靠的电子签名:

(一)电子签名制作数据用于电子签名时,属于电子签名人专有;
(二)签署时电子签名制作数据仅由电子签名人控制;
(三)签署后对电子签名的任何改动能够被发现;
(四)签署后对数据电文内容和形式的任何改动能够被发现。

可靠电子签名的所须条件

上面4个条件简单对应实际纸质合同签署来理解就是:

  1. 专有签名:个人专有标识,类似我们的身份证信息
  2. 真实意愿:电子签名我们是自愿签署
  3. 签名未改:我们的签字和指印没有被改动
  4. 内容未改:我们签署的合同内容没有被改动

可靠电子签名技术支撑

通过数字摘要+数字签名+数字证书的系统组合使用,有效保证可靠电子签名,简单对应:

  1. 专有签名:数字证书(Certificate)
  2. 真实意愿:数字签名(signature)
  3. 签名未改:数字证书(Certificate)
  4. 内容未改:数字摘要(digest)

数字摘要

数字摘要又称数字指纹,原始内容通过Hash运算得到数字摘要,它有几个特征:1、相同的内容每次运算都得到相同的数字摘要;2、不同的内容算出的数字摘要不会相同;3、通过数字摘要无法或极难反推原始内容;4、无论多长的内容运算后的都是很短的定长数字摘要。数字摘要用于校验内容是否有改变,举个例子:

  1. 小明向老许发机密邮件,为了确保邮件内容传输内容不被串改,小明用MD5算法把邮件正文算出数字摘要;
  2. 再把邮件正文+数字摘要一起发给老许;
  3. 老许收到邮件后也用MD5算法把收到的邮件正文算出数字摘要,如果老许算出的数字摘要和邮件收到的摘要一致,就说明邮件没有被篡改。

常用的hash算法有MD5和SHA,我们一般文件传输就用MD5做完整性校验。

数字签名

前面的例子解决了内容不被篡改的问题,但假如有人冒充小明写信怎么办,这时候数字签名就登场了。数字签名实现依靠非对称加密实现。什么是非对称加密呢,加密和解密用同一个钥匙(字符串)的是对称加密,加密和解密用分别用两套不用钥匙(字符串)的交非对称加密。这两套钥匙自己留着的叫私钥,共享给大家的叫公钥,私钥加密的数据只能公钥解密,公钥加密的数据只能私钥解密。换个角度说就是公钥能解密的数据一定是私钥加密的,因为私钥只有小明自己拿着,从而确定是小明发的邮件。总结来讲,用公钥加密+私钥解密可以用来确保传输内容保密;用私钥加密+公钥解密除了确保内容保密外,还能确认发送者身份。接着刚才的例子:

  1. 小明发邮件之前先用自己的私钥加密邮件内容+数字摘要;
  2. 老许用公钥解密,如果能成功解开,就能确认发邮件的一定是小明;
  3. 接着用数字摘要校验内容是否被修改;

数字证书

好像没有问题了,但搞技术的要做到万无一失,让我们再想想,假如小王进入老许的电脑偷偷地把小明的公钥换成了自己的公钥,那小王冒充小明给老许写信,老许就会认为是小明给他写信,根本无法判别。这时候数字证书就登场了。数字证书由权威机构颁发,负责颁发数字证书的系统称为 CA (Certificate Authority)系统,负责管理并运营 CA 系统的机构称为 CA 中心。我们通常所说的CA,是指CA机构,又称为证书授证中心,上海CA、北京CA、CFCA等都是CA机构,国内有大概42家CA机构。

数字证书技术实现上,实际是证书授权机构是对个人数字签名的再数字签名,接着刚才的例子:

  1. 证书授证中心用自己的私钥把小明的公钥加密形成数字证书;
  2. 小明把邮件正文+数字摘要+数字签名+数字证书一起发给老许;
  3. 老许用证书授证中心的公钥解密数字证书,得到小明的公钥;
  4. 老许再用小明的公钥解密数字签名,确认邮件来自小明;
  5. 老许再把正文算出数字摘要,如果和邮件发来的摘要一致,确认内容没被篡改。

至此,可靠电子签名要求的“专有签名”、“真实意愿”、“签名未改”、“签名未改”全部实现。

证书授权中心的公钥怎么保证不被替换呢,这是国家特许的公权机构,通过法律来保证的。不然这个问题就没有终止了。

总结

  1. 数字摘要是将内容通过哈希计算得到一个定长字符串,用于校验内容是否被篡改;
  2. 数字签名用用非对称加密的私钥加密,公钥解密,确认发送者来源;
  3. 数字证书是合同一方数字签名的机构再签名,是证书授权中心对发送者身份的权威确认;
  4. 电子签名更像一个法律名词,对应纸质文件的手写签名。
本文由博客群发一文多发等运营工具平台 OpenWrite 发布
点赞
收藏
评论区
推荐文章
美凌格栋栋酱 美凌格栋栋酱
7个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
一个前端应必备的素养图谱
参加工作五年,从后端转岗前端,除了工作中用到,以及平时浏览的技术文章,并没有系统的学习过。随着对前端了解的增加,也更清晰的认识到了前端的迭代速度。各类脚手架,组件库如雨后春笋。我自己的近期学习也是零散,有可能一个知识点还没吃透,就去看另一个了。正好有机会看到github上的学习路线图。借此机会,自己也系统的学习整理一下,无论是已经了解的,还是未曾了解的,都重新梳理。
捉虫大师 捉虫大师
3年前
《Nacos架构与原理》官方电子书发布啦!
由于我自己本身也是从事服务发现相关研发工作,所以一直比较关注微服务领域的开源项目,像Dubbo、Nacos、Sentinel等等。刚好今天下午看了Nacos官方关于《Nacos架构与原理》这本电子书的发布会(下图是他们宣传的海报)这是Nacos官方出的电子书系列,目前只发布了一本,据说后续还有几本,也可能会出版为实体书。我大概浏览了一下,干货很多,
手把手教大家实现一个电子签名
前言Hi,大家好,我是麦洛,最近在项目中遇到一个需求,需要做个html版的电子签名。周末休息整理下思路,顺便分享出来。😀由于笔者水平有限,文章难免有不当之处,恳请读者不吝赐教并提出意见由于公众号没有留言功能,如何找到我?🙈文章尾部我放置了自己的视频号,大家可以给我留言✌什么是电子签名?来自:百度百科电子签名是指中以电子形式所含、所附用于识别签名人身
Stella981 Stella981
3年前
Linux CA
CA(CertificateAuthority)证书颁发机构主要负责证书的颁发、管理以及归档和吊销。证书内包含了拥有证书者的姓名、地址、电子邮件帐号、公钥、证书有效期、发放证书的CA、CA的数字签名等信息。证书主要有三大功能:加密、签名、身份验证。1.什么是CA认证?CA认证,即CA认证机构,为电子签名相关各方提供真实性、可靠性验证
Wesley13 Wesley13
3年前
IDEA00 IDEA知识点汇总
一、从头搭建IDEA开发环境https://mp.weixin.qq.com/s/6jXHzkU8JfubhDsQJbwl8Q(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fmp.weixin.qq.com%2Fs%2F6jXHzkU8JfubhDsQJbwl8Q)1下
Stella981 Stella981
3年前
Node.js 中使用 ECDSA 签名遇到的坑
文/Fenying最近有个朋友问我关于Node.js下使用ECDSA的问题,主要是使用Node.js的Crypto模块无法校验网络传输过来的签名结果。在踩坑无数后,终于搞清楚了原因。坑0x00:签名输出格式在排除了证书、消息不一致的可能之后,我开始对比使用Node.js签名的结果与网络传输过来的签
Stella981 Stella981
3年前
HTML5新增input标签属性
一.inputtype属性1<formaction""2邮箱<inputtype"email"name""id""<inputtype"submit"value"提交"<br/<br/3手机号码<inputtype"tel"name
Stella981 Stella981
3年前
HTML5+CSS+JS 贪吃蛇demo
我写博客的主要目的就是温习所学的知识,自己以前写的游戏当然不能放过!这款网页版贪吃蛇是大一下册学习网页前端时老师教我们写的,由于那个时候初学网页前端,所以这款游戏是纯原生JavaScript写的,没有使用JQuery。重新看了一遍自己写的代码,大一的我真的太年轻了,一个注释都没有写,幸好这款游戏的逻辑不难,还能看得懂,补了一些注释,对一些细节加深了
Wesley13 Wesley13
3年前
Exchange Server 的OWA 邮件签名大小限制
随着电子邮件的普及应用,五花八门的邮件签名也随着每个人的创意诞生了。作为ExchangeServer的客户端访问方式之一,OWA也同样提供了邮件签名的设置选项。但是,有时用户会发现,当他想在OWA中为自己的邮箱设定一个COOL的邮件签名时,有可能会得到“未保存您的更改,因为电子邮件签名过大。请使用较小的格式。”这样的错误。为什么?原来OWA邮件签名大小也
设计团队管理经验总结
写这篇文章不是说我有多大能耐,只是想总结一下这几年的管理经验。我也拜读了一些企业高管的理念结合自己的实际来写这篇文章。<br前方高能预警,这是一篇很长的文章~希望对还没有形成自己管理体系的设计师有所帮助。不想成为设计总监的设计不是好设计,