加密、签名、证书的作用及运用场景

作者&投稿:御建 (若有异议请与网页底部的电邮联系)
~

本文主要是简单介绍了常见的加密类型、各自的运用场景、为什么需要数字签名和数字证书、HTTPS涉及到的加密流程等。这里主要从使用者的角度出发,对算法本身不做过多介绍。

对称/非对称加密均属于 可逆加密,可以通过密钥将密文还原为明文

有时候,我们希望明文一旦加密后,任何人(包括自己)都无法通过密文逆推回明文,不可逆加密就是为了满足这种需求。
不可逆加密主要通过 hash算法实现:即对目标数据生成一段特定长度hash值 ;无论你的数据是1KB、1MB、1GB,都是生成特定长度的一个Hash值(比如128bit)。这里大家应该能感受到一点 不可逆 的味道,加密后128bit的hash值显然无法还原出1个G甚至更大的不规则数据的, hash可以看做是原来内容的一个摘要

常见算法:

小明给小红写信:

经过九转十八弯后,信的内容有可能:1. 被窥视 2. 被篡改(冒充小明发送假消息)

小红先 生成对称加密的密钥key1 ,然后通过一个安全的渠道交予小明。
传输数据时,小明 使用key1加密 ,而小红收到后再 使用key1解密
这时候 中间者既看不到原来的内容,也没办法篡改 (因为没有密钥):

【对称加密】实现简单,性能优秀 ,算法本身安全级别高。然而对 密钥的管理 却是个很头疼的问题:一旦密钥交到对方手里,对方对密钥的保管能力 我方是没办法控制 的,一旦对方泄露的话,加密就形同虚设了。
相对而言,【非对称加密】的公钥就没有这个忧虑,因为 公钥 的设计就是为了 可以公开的 ,尽管对方泄露,我方也不会有任何损失。

小红生成一对公私钥,自己持有私钥(pri_key1),将公钥(pub_key1)交予小明。
传输数据时,小明使用 公钥加密 ,小红使用 私钥解密
因为 中间者没有私钥,公钥加密的内容是无法获取的 。此时达到了 防窥视 的效果:

然而因为 公钥是可以公开的 ,如果 中间者知晓公钥 的话,尽管没有办法看到原来的内容,却 可以冒充小明发送假消息

这时小红在想,如果小明发送消息时,能带上 只有他自己才能生成 的数据(字符串),我就能 验证是不是小明发的真实消息 了。
通常这个 能证实身份的数据(字符串) 被称之为 数字签名(Signature)

小明再生成一对公私钥 ,自己持有私钥(pri_key2),将公钥交予小红(pub_key2)。

当小明传输数据时(可能很大),除了公钥加密明文之外,还要带上签名:(1) 对明文做一个hash摘要 (2)对摘要进行私钥加密,加密结果即签名(传输内容=内容密文+签名)

小红收到后:(1) 解密签名获取hash (2)解密内容密文,对解密后的明文进行hash;如果两个hash一致,说明验签通过。

尽管中间者修改了传输内容,但因为签名无法冒认(没有私钥),小红验签失败,自然不会认可这份数据:

通常 非对称加密要做到防窥视和防篡改,需要有两对公私钥 :对方的公钥用于内容加密,自己的私钥用于签名(让对方验证身份)。

因为HTTP协议明文通信的安全问题,引入了HTTPS:通过建立一个安全通道(连接),来保证数据传输的安全。

服务器是 没办法直接将密钥传输到浏览器的 ,因为在 安全连接建立之前,所有通信内容都是明文的 ,中间者可窥视到密钥信息。
或许这时你想到了非对称加密,因为公钥是不怕公开的:

然而在第2步, 中间者可以截取服务器公钥,并替换成了自己的公钥 ,此时加密就没意义了:

为了 防止公钥被假冒,数字证书(digital certificate )便诞生了

当服务器需要告诉浏览器公钥时,并不是简单地返回公钥,而是响应 包含公钥信息在内的数字证书

证书主要包含以下内容:

浏览器通过 【颁发机构的公钥】进行解密验签 ,验签通过即说明证书的真实性,可以放心取 证书拥有者的公钥 了。( 常用CA机构的公钥都已经植入到浏览器里面

数字证书只做一件事: 保证 服务器响应的 公钥是真实的

以上保证了 [浏览器⇒服务器] 是加密的,然而 [服务器⇒浏览器] 却没有(上图第4步);另外一个是 性能问题 ,如果所有数据都使用非对称加密的话,会消耗较多的服务器资源,通信速度也会受到较大影响。
HTTPS巧妙地结合了非对称加密和对称加密,在保证双方通信安全的前提下,尽量提升性能。

HTTPS(SSL/TLS)期望 建立安全连接后,通信均使用【对称加密】
建立安全连接的任务就是让 浏览器-服务器协商出本次连接使用的【对称加密的算法和密钥】 ;协商过程中会使用到【非对称加密】和数字证书。

特别注意的是:协商的密钥必须是不容易猜到(足够随机的):

其中比较核心的是随机数r3(pre-master secret),因为之前的r1、r2都是明文传输的, 只有r3是加密传输 的。至于为什么需要三个随机数,可以参考:

以上是一个比较简单的HTTPS流程,详细的可以参考文末的引用。

参考资料:
[1] 数字证书应用综合揭秘
[2] SSL/TLS协议运行机制的概述
[3] 图解SSL/TLS协议
[4] 《图解HTTP》




简述数据证书的用途与内容
另外,用户可以通过数字签名实现数据的完整性和有效性,只需采用私有密钥对数据进行加密处理,由于私有密钥仅为用户个人拥有,从而能够签名文件的唯一性,即保证:数据由签名者自己签名发送,签名者不能否认或难以否认;数据自签发到接收这段过程中未曾作过任何修改,签发的文件是真实的。 [page] 4.数字证书是如何颁发的?

介绍下代码签名证书的功能是怎样给软件代码进行数字签名?
2. 发布者开发出代码;借助代码签名工具,发布者将使用MD5或SHA算法产生代码的哈希值,然后用代码签名证书私钥对该哈希值签名,从而产生一个包含代码签名和软件发布者的签名证书的软件包;3. 用户的运行环境访问到该软件包,并检验软件发布者的代码签名数字证书的有效性。操作系统或浏览器通过可信根证书列表...

电子商务中如何运用数字签名和证书技术
实验目的:理解数字签名和证书工作原理,熟悉数字签名和证书产品在电子商务中的应用针对自己的案例,通过上网或查阅各种资料的方式,进行以下的实验:比较三种主流数字签名和证书产品的性能价格比、功能、应用范围、使用环境,分析各自的优点、缺点,并着重分析如何在自己的案例企业电子商务中如何运用数字签名和证书技术,写出解决方...

TLS\/SSL数字证书里的指纹算法、签名算法和签名哈希算法各是做什么用...
让签名哈希算法步骤失去真正作用。所以hash值发出前都需要加密,这是为了数据传输更安全上的一道保险锁。签名算法就是为了解密被加密的传递信息的hash指纹 指纹算法 简单来讲就是验证收到的数字证书本身有没有问题。通过指纹算法计算证书hash值(指纹),和证书中给出的指纹比对,确认证书正确。

什么是数字证书?数字证书有哪些类型?
数字证书也必须具有唯一性和可靠性。为了达到这一目的,需要采用很多技术来实现。通常,数字证书采用公钥体制,即利用一对互相匹配的密钥进行加密、解密。每个用户自己设定一把特定的仅为本人所有的私有密钥(私钥),用它进行解密和签名;同时设定一把公共密钥(公钥)并由本人公开,为一组用户所共享,用于...

ssl证书加密是干什么用的?
SSL证书是数字证书(数字证书包括:SSL证书、客户端证书、代码签名证书等)的一种,因为配置在服务器上也称为服务器SSL证书。SSL证书就是遵守SSL协议,由受信任的数字证书颁发机构CA(如:沃通CA)在验证服务器身份后颁发的一种数字证书。SSL证书作用 (1)网站实现加密传输 用户通过http协议访问网站时,浏览器...

数字证书包括哪些内容?
问题二:数字证书包含什么 数字证书使用对象的角度分,目前的数字证书类型主要包括:个人身份证书、 企业或机构身份证书 、 支付网关证书 、服务器证书、企业或机构代码签名证书、 安全电子邮件证书 、 个人代码签名证书 。 个人身份证书 符合 X.509 标准的数字安全证书,证书中包含个人身份信息和个人的公钥,用于标识证书...

SSL证书的作用有哪些?有哪些重要意义?
在网站使用HTTPS协议后,由于SSL证书可以认证服务器真实身份,从而防止钓鱼网站伪造 提高网站搜索排名 通过百度公告的颁布,明确指出搜索引擎在排名上,会优先对待采用HTTPS协议的网站。提高网站访问速度 通过HTTP vs HTTPS对比测试,表明使用了SSL证书的新一代HTTP2协议,其访问网站的速度远远快于使用HTTP协议的...

服务器证书是什么,有什么作用呢~
3)应用领域及其广泛 SSL证书主要用于发送安全电子邮件、访问安全站点、网上招标与投标、网上签约、网上订购、安全网上公文传送、网上办公、网上缴费、网上缴税以及网上购物等安全的网上电子交易活动。一般说来,在网上进行电子商务交易时,交易双方需要使用数字签名来表明自己的身份,并使用数字签名来进行有关的...

数字证书(SSL)的工作原理?
SSL连接始终由客户端启动。在SSL会话开始时,将执行SSL握手。此握手生成会话的加密参数。解释原因:客户端提交https请求 服务器响应客户,并把证书公钥发给客户端 客户端验证证书公钥的有效性 有效后,会生成一个会话密钥 用证书公钥加密这个会话密钥后,发送给服务器 服务器收到公钥加密的会话密钥后,用...

大武口区15873117089: 用案例详细描述数字加密,数字签名和证书的工作原理和用途 -
肥腾京必: 你学过计算机吧?那就好说一些了.恩.加密,在IT术语里是指把原来的数据(是明文)变成加密后的数据(密文).比如 joke 我这里把所有的字母用0-27的数字表示(按字母排序).j就是10,o是15,k是16,e是5,这里写成05,所以joke就变成...

大武口区15873117089: 数字证书的具体作用和使用方法 -
肥腾京必: 数字证书与公钥密码体制紧密相关.在公钥密码体制中,每个实体都有一对互相匹配的密钥:公开密钥(Pubic Key公钥)和私有密钥(Private Key私钥).公开密钥为一组用户所共享,用于加密或验证签名,私有密钥仅为证书拥有者本人所知...

大武口区15873117089: 数字签名是起什么作用? -
肥腾京必: 数字签名,使用数字证书的私钥对数据的摘要加密,以保证数据的完整性、真实性和不可抵赖.进一步了解如何使用的话,你可以了解下GlobalSign

大武口区15873117089: 数字签名是干什么的?有什么用? -
肥腾京必: 数字签名 好比 现实中你的签字数字签名,使用数字证书的私钥对数据的摘要加密,以保证数据的完整性、真实性和不可抵赖.数字签名是用证书和证书私钥对文件做的加密等的运算. 而证书私钥是在持有者手上的,除非你拿到他的证书和证书私钥(如果使用硬件证书,私钥在硬件中,如USBKEY),否则你无法假冒数字签名.2005年中国施行《电子签名法》,确立数字签名的法律地位.

大武口区15873117089: 数字签名 应用 -
肥腾京必: 数字签名(Digital Signature)技术 数字签名技术是不对称加密算法的典型应用.数字签名的应用过程是,数据源发送方使用自己的私钥对数据校验和或其他与数据内容有关的变量进行加密处理,完成对数据的合法“签名”,数据接收方则利用对方的公钥来解读收到的“数字签名”,并将解读结果用于对数据完整性的检验,以确认签名的合法性.数字签名技术是在网络系统虚拟环境中确认身份的重要技术,完全可以代替现实过程中的“亲笔签字”,在技术和法律上有保证.在公钥与私钥管理方面,数字签名应用与加密邮件PGP技术正好相反.在数字签名应用中,发送者的公钥可以很方便地得到,但他的私钥则需要严格保密.

大武口区15873117089: 数字签名的应用例子 -
肥腾京必: 假如现在 Alice 向 Bob 传送数字信息,为了保证信息传送的保密性、真实性、完整性和不可否认性,需要对传送的信息进行数字加密和签名,其传送过程为: 1.Alice 准备好要传送的数字信息(明文); 2.Alice 对数字信息进行哈希运算,得到一...

大武口区15873117089: 谁能说说证书,和签名是什么用途? -
肥腾京必: 意义:手机证书可以理解为:软件的通行证 英文名称:Phone certificate S60 第三版在安全性方面做了比较大的改善,对在系统中安装运行的第三方软件有更为严格的规定.某些软件涉及手机软硬件安全/个人信息安全等方面的操作被做了特别的...

大武口区15873117089: 代码签名证书有哪些作用? -
肥腾京必: 促进软件的下载使用与分发,防止用户下载有害文件 减少错误消息和安全警告,构建品牌的信任关系 保护发行商身份安全 帮助获得系统API访问授权 以上是代码签名证书的主要作用介绍.再具体一下,VeriSign商业性 MPKI(即数字认证业务)行业规范的创始者之一,一直与微软保持良好合作关系.而且它提供最丰富的品种和全球最广泛的平台支持,已经价值12.5万美元的安全保单.并且还能够提供30天无条件退款的试用.可以找他们在国内的合作伙伴天威诚信申请到30天试用的证书.

大武口区15873117089: 数字签名在技术在实际工作中的应用 -
肥腾京必: 数字签名是一种新兴的用来保证信息完整性的安全技术.在数字签名技术出现之前,曾经出现过一种“数字化签名”技术,简单地说就是在手写板上签名,然后将图像传输到电子文档中,这种“数字化签名”可以被剪切,然后粘贴到任意文档上...

大武口区15873117089: 代码签名证书有什么作用? -
肥腾京必: 代码签名证书说简单点就是对网上发布控件、应用程序、驱动程序等实现数字签名,保证程序文件来源真实可靠和内容的完整性.举个简单的例子,你通过网上发布一个程序文件,很可能在传播过程中被某些人植入不良代码,但安装者并不知道...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网