一名学霸眼中的数字签名技术

论坛 期权论坛 期权     
法大大   2019-10-27 13:07   3999   0
········· 正文6000+字,读完约需18分钟 ·········


在上一期的《就凭数字签名,也有证据效力?》中,我的学霸老板梅律大笔一挥,通过“手写签名能证明什么”“电子签名如何能有效替代手写签名 ”“电子签名与数字签名的关系”,一本正经地给数字签名的证据效力这事儿开了个篇。


说完法律法条,不知道技术问题梅律怎么看?


哼,身为一家自带法律科技(Lawtech)基因创业公司的BOSS之一,梅律可不只会专攻律事,跨界论述技术流问题也必须信手拈来好吗。


让你见识下挑战学霸的厉害



于是梅律大笔二挥,轻松应战。




数字签名的证据效力

梅臻律师
法大大联合创始人兼首席法务官,清华大学民商法学硕士,深圳市律师协会业务创新与发展委员副主任,专注于信息网络法律方面的实务和研究。


4


数字签名技术
所谓“数字签名”就是通过某种密码运算生成一系列符号及代码组成电子密码进行签名,来代替书写签名或印章,对于这种电子式的签名还可进行技术验证,其验证的准确度是一般手工签名和图章的验证而无法比拟的。



“数字签名”是目前电子商务、电子政务中应用最普遍、技术最成熟的、可操作性最强的一种电子签名方法。它采用了规范化的程序和科学化的方法,用于鉴定签名人的身份以及对一项电子数据内容的认可。它还能验证出文件的原文在传输过程中有无变动,确保传输电子文件的完整性、真实性和不可抵赖性。





数字签名的原理
在公钥密码学中,密钥是由公开密钥和私有密钥组成的密钥对。数字签名就是用私有密钥进行加密,接收方用公开密钥进行解密。由于公开密钥不能推算出私有密钥,所以公开密钥不会损坏私有密钥的安全,公开密钥无需保密可以公开传播,而私有密钥必须保密。


因此,当某人用其私有密钥加密信息,能够用他的公开密钥正确解密就可以肯定该消息是经过某人签字的,因为其他人的公开密钥不可能正确解密该加密信息,其他人也不可能拥有该人的私有密钥而制造出该加密过的信息。


数字签名并非是书面签名的数字图像化,而是通过密码技术对电子文档进行的电子形式签名。实际上人们可以否认曾对一个文件签过名,且笔迹鉴定的准确率并非100%,但却难以否认一个数字签名。因为数字签名的生成需要使用私有密钥,其对应的公开密钥则用以验证签名,再加上目前已有一些方案,如数字证书,就是把一个实体(法律主体)的身份同一个私有密钥和公开密钥对绑定在一起,使得这个主体很难否认数字签名。

就其实质而言,数字签名是接收方能够向第三名证明接收到的消息及发送源的真实性而采取的一种安全措施,其使用可以保证发送方不能否认和伪造信息。


数字签名的主要方式是:报文的发送方从报文文本中生成一个散列值(或报文摘要)。发送方用自己的私有密钥对这个散列值进行加密来形成发送方的数字签名。然后,这个数字签名将作为报文的附件和报文一起发送给报文的接收方。报文的接收方首先从接收到的原始报文中计算出散列值(或报文摘要),接着再用发送方的公开密钥来对报文附加的数字签名进行解密。如果两个散列值相同,那么接收方就能确认该数字签名是发送方的。




数字签名的作用
数字签名作为维护数据信息安全的重要方法之一,可以解决伪造、抵赖、冒充和篡改等问题,其主要作用体现在以下几个方面:


(1)防重放攻击。如A向B借了钱,同时A写了一张借条给B,当A还钱的时候,肯定要想B索回借条,否则B可能会用借条要求A再次还钱。在数字签名中,如果采用了对签名报文加盖时戳等或添加流水号等技术,就可以有效防止重放攻击。

(2)防伪造。其他人不能伪造对消息的签名,因为私有密钥只有签名者自己知道,所以其他人不可以构造出正确的签名结果数据。

(3)防篡改。数字签名与原始文件或摘要一起发送给接收者,一旦信息被篡改,接收者可通过计算摘要和验证签名来判断该文件无效,从而保证了文件的完整性。

(4)防抵赖。数字签名既可以作为身份认证的依据,也可以作为签名者签名操作的证据。要防止接收者抵赖,可以在数字签名系统中要求接收者返回一个自己签名的表示收到的报文,给发送者或受信任第三方。如果接收者不返回任何消息,此次通信可终止或重新开始,签名方也没有任何损失,由此双方均不可抵赖。

(5)保密性。手写签字的文件一旦丢失,文件信息就极可能泄露,但数字签名可以加密要签名的消息,在网络传输中,可以将报文用接收方的公钥加密,以保证信息机密性。

(6)身份认证。在数字签名中,客户的公钥是其身份的标志,当使用私钥签名时,如果接收方或验证方用其公钥进行验证并获通过,那么可以肯定,签名人就是拥有私钥的那个人,因为私钥只有签名人知道。




数字证书
在网上电子交易中, 商户需要确认持卡人是信用卡或借记卡的合法持有者,同时持卡人也必须能够鉴别商户是否是合法商户,是否被授权接受某种品牌的信用卡或借记卡支付。为处理这些关键问题,必须有一个大家都信赖的机构来发放数字安全证书。


数字证书就是参与网上交易活动的各方(如持卡人、商家、支付网关) 身份的代表,每次交易时,都要通过数字证书对各方的身份进行验证。数字证书是由权威公正的第三方机构即CA中心签发的,它在证书申请被认证中心批准后,通过登记服务机构将证书发放给申请者。

数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。一般情况下证书中还包括密钥的有效时间,发证机关(证书授权中心)的名称,该证书的序列号等信息,证书的格式遵循ITUT X.509国际标准。

一个标准的X.509数字安全证书包含以下一些内容:


(1)证书的版本信息;
(2)证书的序列号,每个证书都有一个唯一的证书序列号;
(3)证书所使用的签名算法;
(4)证书的发行机构名称,命名规则一般采用X.500 格式;
(5)证书的有效期,现在通用的证书一般采用UTC 时间格式;
(6)证书所有人的名称,命名规则一般采用X.500 格式;
(7)证书所有人的公开密钥;
(8)证书发行者对证书的签名。




时间戳
在电子商务交易文件中,时间是十分重要的信息。在书面合同中,文件签署的日期和签名一样均是十分重要的防止文件被伪造和篡改的关键性内容。


数字时间戳服务(DTS:digital imestamp service)是网上电子商务安全服务项目之一,能提供电子文件的日期和时间信息的安全保护。时间戳(timestamp),通常是一个字符序列,唯一地标识某一刻的时间。数字时间戳技术是数字签名技术一种变种的应用,也通常在数字签名系统中被采用。


具有法律的效力的时间戳,是由国家授时中心负责时间的授时与守时监测,因其守时监测功能而保障时间戳证书中的时间的准确性和不被篡改。时间戳(time-stamp)是一个经加密后形成的凭证文档,它包括三个部分:


(1)需加时间戳的文件的摘要(digest);
(2)DTS 收到文件的日期和时间;
(3)DTS 的数字签名。

一般来说,时间戳产生的过程为:用户首先将需要加时间戳的文件用Hash 编码加密形成摘要,然后将该摘要发送到DTS,DTS 在加入了收到文件摘要的日期和时间信息后再对该文件加密(数字签名),然后送回用户。


数字时间戳由认证单位来加具,以DTS 收到文件的时间为依据。正因为上述可信时间戳由国家法定时间源(国家授时中心)来负责保障时间的授时和守时监测,任何机构包括时间戳中心自己不能对时间进行修改,以保障时间的权威,因此具有不可否定的法律效力。




证书授权中心(CA 中心)
1、证书授权中心(Certificate Authority),即CA中心,承担公钥体系中公钥的合法性检验的责任。


CA中心为每个使用公开密钥的客户发放一个数字证书,数字证书的作用是证明证书中列出的客户合法拥有证书中列出的公开密钥。CA中心的数字签名使得攻击者不能伪造和篡改证书。


CA中心负责产生、分配并管理所有参与网上交易的个体所需的数字证书,因此是安全电子交易的核心环节。


2、CA认证的主要工具是CA中心为网上作业主体颁发的数字证书。


CA 架构包括PKI结构、高强度抗攻击的公开加解密算法、数字签名技术、身份认证技术、运行安全管理技术、可靠的信任责任体系等等。


从业务流程涉及的角色看,包括认证机构、数字证书库和黑名单库、密钥托管处理系统、证书目录服务、证书审批和作废处理系统。从CA的层次结构来看, 可以分为认证中心(根CA)、密钥管理中心(KM)、认证下级中心(子CA)、证书审批中心(RA 中心)、证书审批受理点(RAT)等。


CA中心一般要发布认证体系声明书,向服务的对象郑重声明CA 的政策、保证安全的措施、服务的范围、服务的质量、承担的责任、操作流程等条款。

根据PKI(Public Key Infrastructure,即公钥基础设施)的结构,身份认证的实体需要有一对密钥,分别为私钥和公钥。其中的私钥是保密的,公钥是公开的。


从原理上讲,不能从公钥推导出私钥,穷举法来求私钥则由于目前的技术、运算工具和时间的限制而不可能。每个实体的密钥总是成对出现,即一个公钥必定对应一个私钥。公钥加密的信息必须由对应的私钥才能解密;同样,私钥做出的签名,也只有配对的公钥才能解密。


公钥有时用来传输对称密钥,这就是数字信封技术。密钥的管理政策是把公钥和实体绑定,由CA中心把实体(即经实名认证的客户)的信息和实体的公钥制作成数字证书,证书的尾部必须有CA中心的数字签名。


由于CA中心的数字签名是不可伪造的,因此实体的数字证书不可伪造。CA中心对实体的物理身份资格审查通过后,才对申请者颁发数字证书,将实体的身份与数字证书对应起来。由于实体都信任提供第三方服务的CA中心,因此,实体可以信任由CA中心颁发数字证书的其他实体,放心地在网上进行作业和交易。

3、CA中心主要职责是颁发和管理数字证书。其中心任务是颁发数字证书,并履行客户身份认证的责任。


CA中心在安全责任分散、运行安全管理、系统安全、物理安全、数据库安全、人员安全、密钥管理等方面,需要十分严格的政策和规程,要有完善的安全机制。另外要有完善的安全审计、运行监控、容灾备份、事故快速反应等实施措施, 对身份认证、访问控制、防病毒防攻击等方面也要有强大的工具支撑。


CA中心的证书审批业务部门则负责对证书申请者进行资格审查,并决定是否同意给该申请者发放证书,并承担因审核错误引起的、为不满足资格的证书申请者发放证书所引起的一切后果,因此,它应是能够承担这些责任的机构担任;


证书操作部门(Certificate Processor,简称CP)负责为已授权的申请者制作、发放和管理证书, 并承担因操作运营错误所产生的一切后果,包括失密和为没有授权者发放证书等,它可以由审核业务部门自己担任,也可委托给第三方担任。

4、CA为电子商务服务的证书中心,是PKI 体系的核心。


它为客户的公开密钥签发公钥证书、发放证书和管理证书,并提供一系列密钥生命周期内的管理服务。它将客户的公钥与客户的名称及其他属性关联起来,为客户之间电子身份进行认证。


证书中心是一个具有权威性、可信赖性和公证性的第三方机构。它是电子商务存在和发展的基础。认证中心在密码管理方面的作用如下:

(1)自身密钥的产生、存储、备份/恢复、归档和销毁。


从根CA开始到直接给客户发放证书的各层次CA都有其自身的密钥对。CA中心的密钥对一般由硬件加密服务器在机器内直接产生,并存储于加密硬件内,或以一定的加密形式存放于密钥数据库内。加密备份于IC卡或其他存储介质中,并以高等级的物理安全措施保护起来。密钥的销毁要以安全的密钥冲写标准,彻底清除原有的密钥痕迹。


需要强调的是,根CA密钥的安全性至关重要,它的泄露意味着整个公钥信任体系的崩溃,所以CA 的密钥保护必须按照最高安全级的保护方式来进行设置和管理。 

(2)为认证中心与各地注册审核发放机构的安全加密通信提供安全密钥管理服务。


在客户证书的生成与发放过程中,除了有CA 中心外,还有注册机构、审核机构和发放机构(对于有外部介质的证书)的存在。行业使用范围内的证书,其证书的审批控制,可由独立于CA中心的行业审核机构来完成。


CA中心在与各机构进行安全通信时,可采用多种手段。对于使用证书机制的安全通信,各机构 (通信端)的密钥产生、发放与管理维护,都可由CA中心来完成。 

(3)确定客户密钥生存周期,实施密钥吊销和更新管理。


每一张客户公钥证书都会有有效期,密钥对生命周期的长短由签发证书的CA中心来确定。各CA系统的证书有效期限有所不同,一般大约为2~3 年。


密钥更新不外为以下两种情况:一是密钥对到期;二是密钥泄露后需要启用新的密钥对(证书吊销)。


密钥对到期时,客户一般事先非常清楚,可以采用重新申请的方式实施更新。 

采用证书的公钥吊销,是通过吊销公钥证书来实现的。公钥证书的吊销来自于两个方向,一个是上级的主动吊销,另一个是下级主动申请证书的吊销。


当上级CA对下级CA不能信赖时(如上级发现下级CA的私钥有泄露的可能),它可以主动停止下级CA 公钥证书的合法使用。当客户发现自己的私钥泄露时,也可主动申请公钥证书的吊销,防止其他主体继续使用该公钥来加密重要信息,而使非法主体有窃密的可能。


一般而言,在电子商务实际应用中,可能会较少出现私钥泄露的情况,多数情况是由于某个客户由于组织变动而调离该单位,需要提前吊销代表企业身份的该主体的证书。 

(4)提供密钥生成和分发服务。


CA中心可为客户提供密钥对的生成服务,它采用集中或分布式的方式进行。在集中的情形下,CA中心可使用硬件加密服务器,为多个客户申请成批的生成密钥对,然后采用安全的信道分发给客户。也可由多个注册机构(RA)分布生成客户密钥对并分发给客户。 

(5)提供密钥托管和密钥恢复服务。


CA 中心可根据客户的要求提供密钥托管服务,备份和管理客户的加密密钥对。当客户需要时可以从密钥库中提出客户的加密密钥对,为客户恢复其加密密钥对,以解开先前加密的信息。


这种情形下,CA中心的密钥管理器,采用对称加密方式对各个客户私钥进行加密,密钥加密密钥在加密后即销毁,保证了私钥存储的安全性。密钥恢复时,采用相应的密钥恢复模块进行解密,以保证客户的私钥在恢复时没有任何风险和不安全因素。同时,CA 中心也应有一套备份库,避免密钥数据库的意外毁坏而无法恢复客户私钥。 

(6)其他密钥生成和管理、密码运算功能。



CA中心在自身密钥和客户密钥管理方面的特殊地位和作用,决定了它具有主密钥、多级密钥加密密钥等多种密钥的生成和管理功能。


对于为客户提供公钥信任、管理和维护整个电子商务密码体系的CA中心来讲,其密钥管理工作是一项十分复杂的任务,它涉及到CA 中心自身的各个安全区域和部件、注册审核机构以及客户端的安全和密码管理策略。




eID 对于数字签名的意义
1、eID是派生于居民身份证、在网上远程证实身份的证件,即“电子身份证”。



在技术上,eID也是采用PKI(Public Key Infrastructure,公钥基础设施)的密钥对技术,由智能芯片生成私钥,再由公安部门统一签发证书、并经现场身份审核后,再发放给公民。


具体而言,PKI技术是一套Internet安全解决方案,PKI体系结构采用证书管理公钥,通过第三方的可信机构CA,把用户的公钥和用户的其他标识信息捆绑在一起,在Internet 网上验证用户的身份,PKI 体系结构把公钥密码和对称密码结合起来,在Internet 网上实现密钥的自动管理,保证网上数据的机密性、完整性。eID的持证人在使用时自设PIN 码激活证件,并通过通用读卡器通过网络远程向服务机构出示;服务机构通过eID的身份信息服务后台认证eID的有效性并获取相应权限内的信息。

2、eID对冒用、截取、篡改、伪造之防范。


如上文所述,eID采用了PKI、硬证书+PIN 码的技术,通过这些技术可以有效防止在网络上身份信息被截取、篡改和伪造。此外,由于eID是通过密码技术来将个人的身份与后台数据库关联,身份会被唯一认定,理论上很难被假冒。

即使eID不慎遗失也不用担心被冒用。因为,eID由公安部门的网络身份管理中心统一签发,若持证人遗失eID,可即刻向网络身份管理中心挂失,该eID将立刻被冻结或失效。


通常,在没有eID的情况下,如果身份证丢失,因为身份证缺少注销功能,即使挂失补办了,社会上可能还会有两个身份证在流通。而eID具有唯一性,需要联网认证,申领了新的,旧的就自动被注销而无法再使用,因此eID持有者被认定为是可信的。而且由于eID具有PIN 码,别人捡到或盗取后也无法使用。eID本身采用先进密码技术,重要信息在key中物理上就无法被读取,因此无法被破解,从而有效避免被他人冒用。

如果发生网络账号被盗情况,只要eID还在用户手上,就可以立即重置密码,因此账户就没有被盗用买卖的空间了。还可以规定关键操作必须使用eID,如网络上的交易行为必须插入eID,这样即使密码被窃取,也不会造成损失。

3、综上所述,eID实质上是数字签名技术+PIN码的技术的结合体,其在制作时就已经由公安部门进行了实名认证,不需要在使用时再进行实名认证,这弥补了CA证书在颁发和使用时需要进行实名审核的弊端,同时PIN 码技术的采用使身份证所有人成为使用其eID的唯一主体,有效避免了盗用或冒用的发生。


笔者认为,基于颁发机构的权威性和技术的可靠性,随着eID的广泛使用,将可以完全取代现有的CA证书在数字签名系统中的使用。





能看到这里的都是敢于面对知识海洋的真·勇士。既然如此,那我也必须毫无保留地预告下一集也就是最终回啊——


数字签名的法律效力和不适用情况。


对,就这样。




不成熟的小建议
不!容!错!过!
知识如此月圆花好,老板如此让人骄傲,如果你能加入,那真真是不得了。
法大大刚好在校招,要不你戳下图瞧一瞧?毕业第一站,我就要成长快乐!





- END -
我要做企业公号里最亮的星



戳阅读原文浏览法大大2018届校招H5
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:
帖子:
精华:
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP