风险提示:理性看待区块链,提高风险意识!

数字签名到底是怎么一回事?

2个回答

外汇哥8星评价

2020-04-24 13:44:48

数字签名到底是怎么一回事?

在漫长的人类历史中,人们一直在寻求一种可以长久保存且不易篡改的凭证,重点在于其唯一性,例如,尚方宝剑、调兵虎符等。这些曾在古代被用作凭证的物件,随着社会的发展进步,逐步被合同、契约等取代,而签名、盖章等则作为具有唯一性的信任背书,就成为这些凭证产生效力的关键,并且具有法律效力。需要进行验证的时候,就能够根据签名来确认一致性。但是只要是实物,就不免会遇到遗失、损毁等问题,合同损毁、字据遗失等都是日常生活中容易出现的状况。随着互联网的诞生,越来越多的场景和信息都迁移到网络之上,有人想把签名这种可靠的方法也应用到互联网中,于是,数字签名应运而生。

在互联网中加入签名”机制,也就形成了数字签名,或称为电子签名,就类似于现实世界中的盖章、签字,是一种在计算机世界中进行实现的技术。数字签名不是指将签名扫描成数字图像,或者用触摸板获取的签名,更不是落款。

基于数字签名的通信机制如下。发送方对待发送的文件进行哈希运算,也就是我们之前讲过的单向散列函数,得到文件的摘要(散列值),也即指纹”,再用自己的私钥对其进行加密,得到摘要的数字签名,之后将该数字签名与文件一同发送给接收方。接收方收到文件后,运用哈希运算计算出原文件摘要,并利用发送方的公钥对其数字签名进行解密得到另一个文件摘要,对比两个文件摘要。如果相同,则表明该文件没有被篡改,能够被信任;如果不同,则说明文件可能被篡改。下图就表示了基于数字签名的通信过程。

数字签名到底是怎么一回事.jpg

在比特币的交易中也运用到了数字签名技术,由转账发起方根据交易信息生成一段防伪造的字符串,通过验证该字符串,证明该交易确实由其发起,同时证明其中的交易信息未被篡改。大致过程如下,首先,利用数字摘要技术将交易信息缩短为固定长度的字符串,然后用发起方的私钥对其进行加密,生成数字签名,然后将交易信息和数字签名一起,广播给矿工,矿工用发起方的公钥进行验证。整个过程就类似于上面讲到的基于数字签名的通信过程。

利用数字签名技术,我们就可以相对可靠地进行信息的传输,既可以识别出篡改和伪装,还可以防止否认。鉴于这一特性,数字签名有很多应用场景,现在为公众熟知不过是沧海一粟,数字货币、企业供应链管理、地产租赁、劳动合同、电子公文、电子病历、旅游租车、金融借贷、数据凭证、物流仓储订单等,这些场景都会用到数字签名,只要人与人、企业与企业之间建立连接,发生商业性关系,就有可能用到数字签名服务。数字签名的价值显而易见,节约成本、提高效率、环保、增强安全性等,而其最本质的价值则是推动万物互联的数字化浪潮。


骑着蜗牛去看戏4星评价

2020-04-24 13:46:49

数字签名除了应用在火热的区块链技术中之外,HTTPS中也有使用,数字签名类似于纸质合同,合同上必须有签名才认为是一份有效的合同,否则它就是没有法律效力的,因为别人可以对内容进行篡改。

数字签名用于证实数据内容的完整性(integrity)和来源(或不可抵赖,non-repudiation)。

一个典型的场景:张三给李四发一个文件,李四怎么知道他接收的文件是张三发的原始文件?

张三可以这样做,先对文件进行摘要处理(又称Hash,常见的哈希算法有MD5、SHA等)得到一串摘要信息,然后用自己的私钥将摘要信息加密同文件发给李四,李四收到加密串和文件后,再用张三的公钥来解密加密串,得到原始文件的摘要信息,与此同时,对接收到的文件进行摘要处理,然后两个摘要信息进行对比,如果自己算出的摘要信息与收到的摘要信息一致,说明文件是张三发过来的原始文件,没有被篡改。否则,就是被改过的。

所谓"数字签名"就是通过某种密码运算生成一系列符号及代码组成电子密码进行签名,来代替书写签名或印章,对于这种电子式的签名还可进行技术验证,其验证的准确度是一般手工签名和图章的验证而无法比拟的。"数字签名"是目前电子商务、电子政务中应用最普遍、技术最成熟的、可操作性最强的一种电子签名方法。它采用了规范化的程序和科学化的方法,用于鉴定签名人的身份以及对一项电子数据内容的认可。它还能验证出文件的原文在传输过程中有无变动,确保传输电子文件的完整性、真实性和不可抵赖性。

数字签名在ISO7498-2标准中定义为:"附加在数据单元上的一些数据,或是对数据单元所作的密码变换,这种数据和变换允许数据单元的接收者用以确认数据单元来源和数据单元的完整性,并保护数据,防止被人(例如接收者)进行伪造"。美国电子签名标准(DSS,FIPS186-2)对数字签名作了如下解释:"利用一套规则和一个参数对数据计算所得的结果,用此结果能够确认签名者的身份和数据的完整性"。按上述定义PKI(Public Key Infrastructino 公钥基础设施)提供可以提供数据单元的密码变换,并能使接收者判断数据来源及对数据进行验证。

PKI的核心执行机构是电子认证服务提供者,即通称为认证机构CA(Certificate Authority),PKI签名的核心元素是由CA签发的数字证书。它所提供的PKI服务就是认证、数据完整性、数据保密性和不可否认性。它的作法就是利用证书公钥和与之对应的私钥进行加/解密,并产生对数字电文的签名及验证签名。数字签名是利用公钥密码技术和其他密码算法生成一系列符号及代码组成电子密码进行签名,来代替书写签名和印章;这种电子式的签名还可进行技术验证,其验证的准确度是在物理世界中对手工签名和图章的验证是无法比拟的。这种签名方法可在很大的可信PKI域人群中进行认证,或在多个可信的PKI域中进行交叉认证,它特别适用于互联网和广域网上的安全认证和传输。