数字签名工作原理

数字签名是指发送方用自己的私钥对数字指纹进行加密后所得的数据,其中包括非对称密钥加密和数字签名两个过程,在可以给数据加密的同时,也可用于接收方验证发送方身份的合法性。采用数字签名时,接收方需要使用发送方的公钥才能解开数字签名得到数字指纹。

数字指纹又称为信息摘要,是指发送方通过HASH算法对明文信息计算后得出的数据。采用数字指纹时,发送方会将本端对明文进哈希运算后生成的数字指纹(还要经过数字签名),以及采用对端公钥对明文进行加密后生成的密文一起发送给接收方,接收方用同样的HASH算法对明文计算生成的数据指纹,与收到的数字指纹进行匹配,如果一致,便可确定明文信息没有被篡改。

数字签名的加解密过程如图1-20所示。甲也要事先获得乙的公钥,具体说明如下(对应图中的数字序号):

图1-20  数字签名的加解密过程示意图

(1)甲使用乙的公钥对明文进行加密,生成密文信息。

(2)甲使用HASH算法对明文进行HASH运算,生成数字指纹。

(3)甲使用自己的私钥对数字指纹进行加密,生成数字签名。

(4)甲将密文信息和数字签名一起发送给乙。

(5)乙使用甲的公钥对数字签名进行解密,得到数字指纹。

(6)乙接收到甲的加密信息后,使用自己的私钥对密文信息进行解密,得到最初的明文。

(7)乙使用HASH算法对还原出的明文用与甲所使用的相同HASH算法进行HASH运算,生成数字指纹。然后乙将生成的数字指纹与从甲得到的数字指纹进行比较,如果一致,乙接受明文;如果不一致,乙丢弃明文。

从以上数字签名的加/解密过程中可以看出,数字签名技术不但证明了信息未被篡改,还证明了发送方的身份。数字签名和数字信封技术也可以组合使用。但是,数字签名技术也还有一个问题,获取到对方的公钥可能被篡改,并且无法发现。

试想一下,如果攻击者一开始就截获了乙发给甲公钥的文件,然后就可用狸猫换太子的方法更改乙的公钥,最终可能导致甲获得的是攻击者的公钥,而非乙的。

具体过程是这样的:攻击者拦截了乙发给甲的公钥信息,用自己的私钥对伪造的公钥信息进行数字签名,然后与使用甲的公钥(攻击者也已获知了甲对外公开的公钥)进行加密的、伪造的乙的公钥信息一起发给甲。甲收到加密信息后,利用自己的私钥可以成功解密出得到的明文(伪造的乙的公钥信息),因为这个信息的加密就是用甲的公钥进行的,并且也可以通过再次进行HASH运算验证该明文没有被篡改。此时,甲则始终认为这个信息是乙发送的,即认为该伪造的公钥信息就是乙的,结果甲再利用这个假的乙的公钥进行加密的数据发给乙时,乙肯定是总解密不了的。此时,需要一种方法确保一个特定的公钥属于一个特定的拥有者,那就是数字证书技术了。因为用户接收到其他用户的公钥数字证书时可以在证书颁发机构查询、验证的。

【经验之谈】许多人分不清非对称密钥加密和数字签名的区别,其实很好理解。非对称加密用的是接收方的公钥进行数据加密的,密文到达对方后也是通过接收方自己的私钥进行解密,还原成明文,整个数据加密和解密过程用的都是接收方的密钥;而数字签名则完全相反,是通过发送方的私钥进行数据签名的,经签名的数据到达接收方后也是通过事先告知接收方的发送方的公钥进行解密,整个数据签名和解密的过程用的都是发送方的密钥。

以上内容摘自刚刚上市的华为官方著作——《华为VPN学习指南》,是国家十三五重点规划图书,是华为官方指定的ICT培训教材!当当网、京东网等书店均可正式购买了!本书配套实战视频课程即将发布,敬请关注本人课程中心:http://edu.51cto.com/lecturer/user_id-55153.html

时间: 2024-10-13 07:55:56

数字签名工作原理的相关文章

HTTPS工作原理

目标读者:理解HTTP协议,对称和非对称加密,想要了解HTTPS协议的工作原理 读完本文,你能明白 什么是HTTPS,TLS(SSL),TLS和HTTPS是什么关系 什么是证书和数字签名,它们是如何传递信任的 HTTPS有什么样的功能,它是如何实现这样的功能的 简介 HTTPS,也称作HTTP over TLS.TLS的前身是SSL,TLS 1.0通常被标示为SSL 3.1,TLS 1.1为SSL 3.2,TLS 1.2为SSL 3.3.本文着重描述TLS协议的1.2版本 下图描述了在TCP/I

以PKI为基础的CA工作原理及 加密、解密过程

             以PKI为基础的CA工作原理及  加密.解密过程   PKI(Public Key Infrastructure ) 即"公钥基础设施",是一种遵循既定标准的密钥管理平台,它能够为所有网络应用提供加密和数字签名等密码服务及所必需的密钥和证书管理体系.简单来说,PKI就是利用公钥理论和技术建立的提供安全服务的基础设施.PKI技术是信息安全技术的核心,也是电子商务的关键和基础技术. 一个典型.完整.有效的PKI 应用系统至少应具有以下五个部分: 1) 认证中心CA

HTTPS详解二:SSL / TLS 工作原理和详细握手过程

HTTPS 详解一:附带最精美详尽的 HTTPS 原理图 HTTPS详解二:SSL / TLS 工作原理和详细握手过程 在上篇文章HTTPS详解一中,我已经为大家介绍了 HTTPS 的详细原理和通信流程,但总感觉少了点什么,应该是少了对安全层的针对性介绍,那么这篇文章就算是对HTTPS 详解一的补充吧.还记得这张图吧. HTTPS 和 HTTP的区别 显然,HTTPS 相比 HTTP最大的不同就是多了一层 SSL (Secure Sockets Layer 安全套接层)或 TLS (Transp

Android ListView工作原理完全解析(转自 郭霖老师博客)

原文地址:http://blog.csdn.net/guolin_blog/article/details/44996879 在Android所有常用的原生控件当中,用法最复杂的应该就是ListView了,它专门用于处理那种内容元素很多,手机屏幕无法展示出所有内容的情况.ListView可以使用列表的形式来展示内容,超出屏幕部分的内容只需要通过手指滑动就可以移动到屏幕内了. 另外ListView还有一个非常神奇的功能,我相信大家应该都体验过,即使在ListView中加载非常非常多的数据,比如达到

LVS集群之工作原理

  首先我们要了解LVS的工作机制: LVS里Director本身不响应请求,只是接受转发请求到后方,Realservers才是后台真正响应请求. LVS 工作原理基本类似DNAT,又不完全相像,它是一种四层交换,默认情况下通过用户请求的地址和端口来判断用户的请求,从而转发到后台真正提供服务的主机,而判断这种请求的是通过套接字来实现,所以四层就可以实现. 而且这个转发的过程对用户而言是透明的(简单的讲,就是用户访问DR的IP,而DR转发给RSS,而用户不知道这个过程) LVS的工作模式: 1.D

47 监控系统基础及zabbix介绍、zabbix工作原理及安装配置、zabbix on CentOS7、zabbix配置

02    zabbix工作原理及安装配置 配置环境 node1192.168.1.120CentOS6.7 node2192.168.1.121CentOS6.7 1.安装配置zabbix #安装前准备 [[email protected] ~]#yum -y install mysql-server mysq [[email protected] ~]# mysql mysql> CREATE DATABASE zabbix CHARACTER SET utf8; mysql> GRANT

inode工作原理及软连接与硬链接

 inode工作原理及软连接,硬链接 inode: 在linux文件系统中,不管什么类型的文件,保存在磁盘分区中时,系统都会分配一个编号,叫做索引节点index node,简称inode inode里面存储了文件的很多参数: 文件类型,权限.UID,GID,属主,属组 链接数(指向这个文件名路径名称个数) 该文件的大小和不同的时间戳 指向磁盘上文件的数据指针 .... 在 Linux 中,元数据中的 inode 号(inode 是文件元数据的一部分但其并不包含文件名,inode 号即索引节点号)

quarze的工作原理

quartz的工作原理 http://lavasoft.blog.51cto.com/62575/181907/ 几种定时任务的比較 http://blog.sina.com.cn/s/blog_6940cab30101a5pv.html

Java虚拟机工作原理详解

原文地址:http://blog.csdn.net/bingduanlbd/article/details/8363734 一.类加载器 首先来看一下java程序的执行过程. 从这个框图很容易大体上了解java程序工作原理.首先,你写好java代码,保存到硬盘当中.然后你在命令行中输入 [java] view plaincopy javac YourClassName.java 此时,你的java代码就被编译成字节码(.class).如果你是在Eclipse IDE或者其他开发工具中,你保存代码