浏览器证书工作原理(浏览器证书问题怎么解决)

http://www.itjxue.com  2023-02-16 16:32  来源:未知  点击次数: 

请说明为电脑浏览器验证网站SSL证书的原理和过程是什么?

HTTPS是基于SSL安全连接的HTTP协议。HTTPS通过SSL提供的数据加密、身份验证和消息完整性验证等安全机制。为Web访问提供了安全性保证,广泛应用于网上银行、电子商务等领域。

什么是浏览器证书 ?

证书是验证身份的标志,有数字证书相当于有了一个认证标志,很多网站都有数字认证,像淘宝,现金交易时候就会有一个数字证书的验证

1.数字证书基本功能

数字证书,是由证书认证机构签名的包含公开密钥拥有者信息、公开密钥、签发者信息、有效期以及一些扩展信息的数字文件。

从证书的用途来看,数字证书可分为签名证书和加密证书。签名证书主要用于对用户信息进行签名,以保证信息完整性和行为的不可抵赖;加密证书主要用于对用户传送信息进行加密,以保证信息的机密性。以下对数字证书的基本功能进行原理性描述。

身份认证

在各应用系统中,常常需要完成对使用者的身份认证,以确定谁在使用系统,可以赋予使用者何种操作权限。身份认证技术发展至今已经有了一套成熟的技术体系,其中,利用数字证书完成身份认证是其中最安全有效的一种技术手段。

利用数字证书完成身份认证,被认证方(甲)必须先到相关数字证书运营机构申请数字证书,然后才能向应用系统认证方(乙)提交证书,完成身份认证。

通常,使用数字证书的身份认证流程如下图所示:

被认证方(甲),使用自己的签名私钥,对随机数进行加密;

被认证方(甲)将自己的签名证书和密文发送给认证方(乙);

乙验证甲所提供的签名证书的有效期、证书链,并完成黑名单检查,失败则放弃;

有效期、证书链和黑名单验证通过后,乙即使用甲的签名证书对甲所提供的密文进行解密,成功则表明可以接受由甲提交的签名证书所申明的身份。

在上述流程中,步骤3描述的是对证书本身的验证,依次分别验证有效期、证书链和黑名单,某个步骤如果验证失败,则验证流程立即终止,不必再执行下一个验证。同时,有效期、证书链和黑名单的依次验证顺序是最合理的顺序,能够让验证流程达到最佳性能。

通过步骤3的验证后,甲所提交的证书可以得到验证,但这与甲本身是否和该证书所申明的实体相等没有必然联系,甲必须表明其是这个签名证书对应的唯一私钥的拥有者。因此,当步骤4执行成功后,即该签名证书能够解密,则说明甲拥有该私钥,从而完成了对甲所申明身份的认证。

上面具体描述的是单向认证,即只有乙认证甲的身份,而甲没有认证乙的身份。单向认证不是完善的安全措施,诚实可信的用户甲可能会碰到类似“钓鱼网站”的欺骗。因此在需要高度安全的应用环境中,还需要实现双向认证。即乙也需要向甲提供其签名证书,由甲来完成上述验证流程,以确认乙的身份。如下图。

数字签名

数字签名是数字证书的重要应用功能之一,所谓数字签名是指证书用户(甲)用自己的签名私钥对原始数据的杂凑变换后所得消息摘要进行加密所得的数据。信息接收者(乙)使用信息发送者的签名证书对附在原始信息后的数字签名进行解密后获得消息摘要,并对收到的原始数据采用相同的杂凑算法计算其消息摘要,将二者进行对比,即可校验原始信息是否被篡改。数字签名可以完成对数据完整性的保护,和传送数据行为不可抵赖性的保护。

使用数字证书完成数字签名功能,需要向相关数字证书运营机构申请具备数字签名功能的数字证书,然后才能在业务过程中使用数字证书的签名功能。

通常,使用数字证书的签名和验证数字证书签名的流程如图所示:

签名发送方(甲)对需要发送的明文使用杂凑算法,计算摘要;

甲使用其签名私钥对摘要进行加密,得到密文;

甲将密文、明文和签名证书发送给签名验证方乙;

乙一方面将甲发送的密文通过甲的签名证书解密得到摘要,另一方面将明文采用相同的杂凑算法计算出摘要;

乙对比两个摘要,如果相同,则可以确认明文在传输过程中没有被更改,并且信息是由证书所申明身份的实体发送的。

如果需要确认甲的身份是否和证书所申明的身份一致,则需要执行身份认证过程,如前一节所述。

在上述流程中,签名私钥配合杂凑算法的使用,可以完成数字签名功能。在数字签名过程中可以明确数据完整性在传递过程中是否遭受破坏和数据发送行为是签名证书所申明的身份的行为,提供数据完整性和行为不可抵赖功能。数字证书和甲的身份的确认,需要通过身份认证过程明确。

数字信封

数字信封是数字证书另一个重要应用功能,其功效类似于普通信封。普通信封在法律的约束下保证只有收信人才能阅读信的内容;数字信封则采用密码技术保证了只有规定的接收人才能阅读“信件”的内容。

数字信封中采用了对称密码机制和公钥密码机制。信息发送者(甲)首先利用随机产生的对称密钥对信息进行加密,再利用接收方(乙)的公钥加密对称密钥,被公钥加密后的对称密钥被称之为数字信封。在传递信息时,信息接收方要解密信息时,必须先用自己的私钥解密数字信封,得到对称密钥,才能利用对称密钥解密所得到的信息。通过数字信封可以指定数据接收者,并保证数据传递过程的机密性。

使用数字证书完成数字信封功能,需要向相关数字证书运营机构申请具备加密功能的数字证书,然后才能在业务过程中使用数字证书的数字信封功能。

通常,数字信封和数字信封拆解的流程如图所示:

信息发送方(甲)生成对称密钥;

甲使用对称密钥对需要发送的信息执行加密,得到密文;

甲使用信息接收方(乙)的加密证书中的公钥,加密对称密钥,得到数字信封;

甲将密文和数字信封发送给乙;

乙使用自己的加密私钥拆解数字信封,得到对称密钥;

乙使用对称密钥解密密文,得到明文。

在上述流程中,信息发送方(甲)对用于加密明文信息的对称密钥使用接收方(乙)的加密证书进行加密得到数字信封,利用私钥的唯一性保证只有拥有对应私钥的乙才能拆解数字信封,从而阅读明文信息。据此,甲可以确认只有乙才能阅读信息,乙可以确认信息在传递过程中保持机密。

https数字证书验证原理

数字证书是Https实现安全传输的关键,它是由权威的CA机构颁布。如上图 GeoTrust 便是一个CA机构。证书的主要内容包含如下几点:公钥、证书发布机构、证书持有者、证书有效期、签名算法、 指纹 和 指纹算法 。

在网络传输中,要想实现自己的数据能够安全的传输,需要对请求数据进行加密。这样即使被数据包被截取,数据也不会被泄漏。

该证书是 CA机构 颁发给 申请者 的。

在网络传输中,若直接传输对称加密的秘钥。请求被拦截后,密钥也会泄露,造成信息泄露。所以HTTPS首先采取非对称加密方式,将公钥传输给浏览器。同时还会携带一些其他信息(这些信息组成证书)。

如下图所示,证书中 使用者 字段包含的内容时 *.csdn.net ,这个字段可以让浏览器供浏览器进行验证。(浏览器可以判定是否是目标服务器发送的证书,而非三方服务器发送的证书)。

服务器将该证书发送给浏览器的。

浏览器内置 CA机构 为 自己颁发的证书 。即 根证书 。

谷歌浏览器:设置--高级--管理证书---受信任的根证书颁发机构

根证书是浏览器内置的。 根证书中携带的是CA的根公钥。 而根私钥是绝对保密的 。

CA机构颁发给申请者的CA证书中,存在一个 指纹 属性,该属性可以理解为证书身份的唯一标识。

指纹: 证书信息经过指纹算法sha1计算出hash值,然后使用 根密钥 进行加密。

https的工作原理和流程

HTTPS在传输数据之前需要客户端(浏览器)与服务端(网站)之间进行一次握手,在握手过程中将确立双方加密传输数据的密码信息。TLS/SSL协议不仅仅是一套加密传输的协议,TLS/SSL中使用了非对称加密,对称加密以及HASH算法。握手过程的简单描述如下:

1.浏览器将自己支持的一套加密规则发送给网站。

2.网站从中选出一组加密算法与HASH算法,并将自己的身份信息以证书的形式发回给浏览器。证书里面包含了网站地址,加密公钥,以及证书的颁发机构等信息。

3.获得网站证书之后浏览器要做以下工作:

a) 验证证书的合法性(颁发证书的机构是否合法,证书中包含的网站地址是否与正在访问的地址一致等),如果证书受信任,则浏览器栏里面会显示一个小锁头,否则会给出证书不受信的提示。

b) 如果证书受信任,或者是用户接受了不受信的证书,浏览器会生成一串随机数的密码,并用证书中提供的公钥加密。

c) 使用约定好的HASH计算握手消息,并使用生成的随机数对消息进行加密,最后将之前生成的所有信息发送给网站。

4.网站接收浏览器发来的数据之后要做以下的操作:

a) 使用自己的私钥将信息解密取出密码,使用密码解密浏览器发来的握手消息,并验证HASH是否与浏览器发来的一致。

b) 使用密码加密一段握手消息,发送给浏览器。

5.浏览器解密并计算握手消息的HASH,如果与服务端发来的HASH一致,此时握手过程结束,之后所有的通信数据将由之前浏览器生成的随机密码并利用对称加密算法进行加密。

这里浏览器与网站互相发送加密的握手消息并验证,目的是为了保证双方都获得了一致的密码,并且可以正常的加密解密数据,为后续真正数据的传输做一次测试。另外,HTTPS一般使用的加密与HASH算法如下:

非对称加密算法:RSA,DSA/DSS

对称加密算法:AES,RC4,3DES

HASH算法:MD5,SHA1,SHA256

其中非对称加密算法用于在握手过程中加密生成的密码,对称加密算法用于对真正传输的数据进行加密,而HASH算法用于验证数据的完整性。由于浏览器生成的密码是整个数据加密的关键,因此在传输的时候使用了非对称加密算法对其加密。非对称加密算法会生成公钥和私钥,公钥只能用于加密数据,因此可以随意传输,而网站的私钥用于对数据进行解密,所以网站都会非常小心的保管自己的私钥,防止泄漏。

TLS握手过程中如果有任何错误,都会使加密连接断开,从而阻止了隐私信息的传输。正是由于HTTPS非常的安全,攻击者无法从中找到下手的地方,于是更多的是采用了假证书的手法来欺骗客户端,从而获取明文的信息,但是这些手段都可以被识别出来。

HTTPS网站 | SSL证书的工作原理 ?

HTTPS也称之为SSL证书,网站部署SSL证书是一种数字证书,主要是给予网站HTTPS安全协议加密传输与信任的功能。

https证书即是SSL证书,SSL证书的作用:

1、网站数据安全加密

网站部署SSL证书之后,网站实现HTTPS加密,保护网站数据安全,避免网站上的隐私数据(信用卡号、密码等)信息被窃取篡改。另外,还可以验证网站的真实性,树立可信赖的企业形象,辨别钓鱼网站,向客户证明网站是值得信赖的合法网站。

2、消除“不安全”提示

谷歌等主流浏览器对未安装SSL证书的网站会提示“不安全”的红色警告信息,大力鼓励网站安装SSL证书进行HTTPS加密,网址前显示绿色安全小锁表示安全。

3、有利于SEO优化,提升网站排名

百度、谷歌等搜索引擎已公开表示对安装SSL证书的网站的友好态度,优先展示HTTPS网站,这对于SEO来说是一个非常好的机会,适用于所有需要SEO提升流量的网站。

4、小程序、APP上架的必要条件

小程序开发和APP都需要HTTPS接口,需要SSL证书保证安全。

5、信息等级保护

SSL证书可帮助信息安全等级保护测评,助力企业等保合规

SSL证书由受信任的证书颁发机构(CA)颁发,CA机构的根证书必须置入浏览器系统的根证书库中,才能使证书受信任。如果不受信任,浏览器将向最终用户显示证书有问题的安全警告。此类消息会导致用户对网站缺乏信心,从而可能失去潜在的客户并影响销售业绩。

(责任编辑:IT教学网)

更多

推荐浏览器文章