您的位置首页>企业动态>

数字签名技术的原理是什么?数字签名技术原理介绍

导读大家好,我是极客范本期栏目编辑小范,现在为大家讲解以上问题。1导言为了保证数据传输的安全性,我们不得不采用加密技术、数字签名、身份
大家好,我是极客范本期栏目编辑小范,现在为大家讲解以上问题。

1导言

为了保证数据传输的安全性,我们不得不采用加密技术、数字签名、身份认证、密钥管理、防火墙、安全协议等一系列安全技术。其中,数字签名是实现网上交易安全的核心技术之一,可以保证信息传输的保密性、数据交换的完整性、发送信息的不可否认性、交易者身份的确定性。

2数字签名的概念

数字签名在ISO 7498-2标准中被定义为:“附加到数据单元的某些数据,或数据单元的加密转换,它允许数据单元的接收者确认数据单元的来源和完整性,并保护数据不被其他人(如接收者)伪造”。

数字签名要实现的功能是我们普通手写签名要实现的功能的扩展。签署书面文件有两个主要功能。第一,我很难否认自己的签字,从而确认文件已经由我本人签字的事实;第二,因为你的签名不容易被别人模仿,所以证实了文件是真实的。使用数字签名,这些功能也可以完成:

(1)确认信息由签名人发送;

(2)确认信息自签收后未被修改;

(3)签名人不能否认信息是他自己发送的。

数字签名的技术基础是公钥密码。首先介绍了公钥密码和RSA公钥密码的基本思想。

3公钥密码技术

公钥密码也称为非对称/Jn密码。相反的是对称加密技术。对称加密技术是发送方和接收方使用相同的密钥进行加密/解密,双方必须保证这个公共密钥的安全性。

其中,加密转换使用的密钥与解密转换使用的密钥完全相同,必须以安全的方式将该密钥告知解密方。大家熟悉的DES加密标准是一种对称加密技术。1976年,Diffie和Hellman在一篇名为《密码学的新方向》的文章中提出了一个新思路,即不仅加密算法本身可以公开,加密密钥本身也可以公开。这就是公钥密码系统。其中使用的密钥被分解成一对:公钥和私钥。只要私钥保密,公钥就可以发送到互联网(如网站黄页)等公共场所,供他人查询下载。

4数字签名的实现方法

基于公钥密码的数字签名方法有很多,如RSA签名、DSA签名和椭圆曲线数字签名算法(ECDSA)。下面详细分析了RSA签名。

(1)发送方使用摘要算法从消息中生成128位哈希值(称为消息摘要);

(2)发送方用RSA算法和自己的私钥对哈希值进行加密,生成摘要密文,即为发送方的数字签名;

(3)将加密的数字签名作为消息的附件与消息一起发送给接收者:

(4)接收方使用相同的摘要算法从接收的原始消息中计算128位的哈希值;

(5)消息的接收方用RSA算法和发送方的公钥对附加在消息上的数字签名进行解密;

(6)如果两个哈希值相同,那么接收者可以确认消息是由发送者签名的。

最常用的摘要算法叫做MD5(消息摘要5),它的作者是R.L .

Rivest是RSA公钥密码系统中的r。MD5使用单向Hash函数将任意长度的“字节串”转换为128位的哈希值,是一种不可逆的字符串转换算法。换句话说,即使您看到了MD5算法的描述及其实现的源代码,也无法将MD5的哈希值转换回原始字符串。这个128位的哈希值也被称为数字指纹。就像人的指纹一样,它成为验证信息身份的“指纹”。

数字签名如何完成类似手写签名的功能?如果消息在网络传输过程中被修改,接收方收到消息后会使用相同的摘要算法计算不同的消息摘要,保证接收方能够判断消息从签名到收到是否被修改。如果发送方A想让接收方误认为该消息是发送方B签名发送的,由于发送方A不知道发送方B的私钥,当接收方用发送方B的公钥解密发送方A加密的消息摘要时,会得到不同的消息摘要,保证接收方可以判断该消息是否是指定的签名人发送的。同时可以看出,当两个哈希值相同时,发送方B无法否认消息是通过其签名发送的。

在上面的签名方案中,消息以明文生成。所以没有保密功能。如果消息包含无法泄露的信息,则需要在传输之前对其进行加密。具有安全机制的RSA签名的整个过程。

(1)发送方选择对称加密算法(如DES)和对称密钥对报文进行加密;

(2)发送方用接收方的公钥和RSA算法对步骤1中的对称密钥进行加密,并将加密后的对称密钥附加到密文上;

(3)发送方使用摘要算法从步骤2中的秘密文本中获取消息摘要,然后用RSA算法和发送方的私钥对消息摘要进行加密,这是发送方的数字签名;

(4)将第三步得到的数字签名封装在第二步的密文中,通过网络发送给接收者;

(5)接收方利用RSA算法和发送方的公钥对接收到的数字签名进行解密,得到消息摘要;

(6)接收方使用相同的抽象算法从接收的消息中提取秘密

文中计算出一个报文摘要;

  (7)如果第5步和第6步的报文摘要是相同的,就可以确认密文没有被篡改,并且是由指定的发送方签名发送的;

  (8)接收方使用RSA算法和接收方的私钥解密出对称密钥;

  (9)接收方使用对称加密算法(比如DES)和对称密钥对密文解密,得到原始报文。

  5 数字签名在电子商务中的应用

  下面用一个使用SET协议的例子来说明数字签名在电子商务中的作用。SET协议(Secure Electronic Transaction,安全电子交易)是由VISA和MasterCard两大信用卡公司于1997年联合推出的规范。

  SET主要针对用户、商家和银行之间通过信用卡支付的电子交易类型而设计的,所以在下例中会出现三方:用户、网站和银行。对应的就有六把“钥匙”:用户公钥、用户私钥;网站公钥、网站私钥;银行公钥、银行私钥。

  这个三方电子交易的流程如下:

  (1)用户将购物清单和用户银行账号和密码进行数字签名提交给网站:

  用户账号明文包括用户的银行账号和密码。

  (2)网站签名认证收到的购物清单:

  (3)网站将网站申请密文和用户账号密文进行数字签名提交给银行:

  网站申请明文包括购物清单款项统计、网站账户和用户需付金额。

  (4)银行签名认证收到的相应明文:

  从上面的交易过程可知,这个电子商务具有以下几个特点:

  (1)网站无法得知用户的银行账号和密码,只有银行可以看到用户的银行账号和密码;

  (2)银行无法从其他地方得到用户的银行账号和密码的密文;

  (3)由于数字签名技术的使用,从用户到网站到银行的数据,每一个发送端都无法否认;

  (4)由于数字签名技术的使用,从用户到网站到银行的数据,均可保证未被篡改。

  可见,这种方式已基本解决电子商务中三方进行安全交易的要求,即便有“四方”、“五方”等更多方交易,也可以按SET 议类推完成。

  6 结语

  数字签名还需要相关法律条文的支持,所以需要引起立法机构对数字签名技术的重视,加快立法脚步,制定相关法律,为数字签名技术提供法律上的支持。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。