SSL证书如何使用?SSL保障通信安全

由于SSL技术已建立到所有主要的浏览器和WEB服务器程序中,因此,仅需安装数字证书或服务器证书就可以激活功能了。SSL证书主要是服务于HTTPS,部署证书后,网站链接就由HTTP开头变为HTTPS。

SSL把HTTP变为HTTPS

SSL安全证书主要用于发送安全电子邮件、访问安全站点、网上招标与投标、网上签约、网上订购、安全网上公文传送、网上办公、网上缴费、网上缴税以及网上购物等安全的网上电子交易活动。

SSL证书内容实现2个基本功能

1.数据传输加密

我们通常的互联网访问、浏览都是基于标准的TCP/IP协议,内容以数据包的形式在网络上传输。由于数据包内容没有进行加密,任何截获数据包的人都可以取得其中的内容。那么数据包中如果传输的是用户名、密码或其他个人隐私资料就很容易被别人窃取。
SSL可以在用户使用的客户端(如:浏览器)和服务器之间建立一个加密的通道,所有在网络上传输的数据都会先进行加密,当传输到目的地以后再进行解密,这样传输过程中即时数据包被截获,也很难破解其中的内容。

2.服务器身份证明

目前,仿冒网站已经成为互联网使用中的严重威胁,仿冒者可以制作一个与真实网站完全一样的界面,并且采用相似的域名引导用户访问。如:真实的某某网址为wenq6.sg-host.com。而仿冒者使用了一个相似的域名:www.i5seoo.com,在后面加了一个字母o,如果使用者不加注意,很容易上当。一旦在仿冒网站的使用过程中输入了帐号密码等信息,就会被仿冒网站记录,进而被冒用,威胁用户的帐户安全。
SSL服务器证书可以有效地证明网站的真实身份、使用域名的合法性,让使用者可以很容易识别真实网站和仿冒网站。SSL证书在申请的时候都会通过严格的审查手段对申请者的身份进行确认,用户在访问网站的时候可以看到证书的内容,其中包含网站的真实域名、网站的所有者、证书颁发组织等信息。浏览器也会给出相应的安全标识,让访问者可以放心使用。

霜天帮助选择SSL证书类型

1.EV SSL证书——增强型SSL证书

表现形式:绿色地址栏显示公司名称+安全锁+HTTPS,适用于金融证券、银行、第三方支付、网上商城等,重点强调网站安全和品牌可信形象的网站,涉及交易支付、客户隐私信息和账号密码的传输,建议选择显示绿色地址栏的EV SSL证书,更值得用户信赖。

2.OV SSL证书——企业型SSL证书

表现形式:地址栏显示安全锁+HTTPS且SSL证书详情有企业信息,无法仿造;适用于企业官网、商务网站、证券、金融机构等,通过证书颁发机构审查网站企业身份和域名所有权以证明申请单位是一个合法存在的真实实体,用户可以在证书里面看到申请SSL证书的公司名称。

3.DV SSL证书——域名型SSL证书

表现形式:地址栏显示安全锁+HTTPS适用于中小型企业官网、中小型商务网站、电子邮局服务器、个人网站等,10分钟左右就可完成域名验证和快速颁发证书,无需递交纸质文件,仅验证域名管理权,无需人工验证申请单位真实身份,快速签发、价格低廉。
如果在预算充足且对网站加密要求相对较高,更想借此提供公司品牌可信形象的公司可选择最高级别的EV SSL证书;如果要求企业身份认证,且用户可查看企业名字的数字证书,则选择OV SSL证书,如果是资金不足的中小型企业或个人网站,要求只满足加密功能的证书,建议使用DV SSL证书。
霜天提供安全可靠的SSL证书服务,学会在霜天申请SSL证书,从而把网站变为HTTPS访问!
 

Https、SSL/TLS相关知识及wireShark抓包分析

一、网络通信的三大风险

在HTTP协议中,所有报文的发送、接收都是以明文的形式进行的。也就是说,在TCP/IP五层网络模型中,数据直接以明文的形式从应用层(HTTP)发送给传输层(TCP),之间没有任何加密过程,如下图所示:

20191017193644

这将带来以下三大风险:

  • 1、窃听/嗅探风险中间人可以截获客户端、服务器之间的通信数据,一览无遗。
  • 2、数据篡改风险中间人截获数据之后,可以对数据修改之后再发生给对方。
  • 3、身份伪造风险由于网络通信本身的特殊性,通信双方无法具体识别对方的身份,中间人可趁机而入。

那么,针对上面的三大风险,我们有什么样的对策吗?有的。

  • 1、针对窃听/嗅探风险,我们可以对数据使用密码加密算法进行加密,即使中间人截获了我们的数据,由于没有相应的解密密钥,拿到了数据也没法破解。
  • 2、针对篡改风险,我们可以使用相关的数字签名算法,保障数据的完整性。
  • 3、针对身份伪造风险,我们可以通过颁发数字证书来证明对方的身份。

当然了,并不是说HTTP协议本身就一定存在上面的三大风险,我们也可以使用HTTP协议,在数据传输之前对数据进行加密或者数字签名,同样也可以最大程度避免窃听和篡改风险,但是并不能杜绝,因为没有绝对地安全。

二、SSL/TLS协议

SSL/TLS 和 HTTPS 协议联系非常紧密,HTTPS 是在 SSL/TLS 协议基础之上建立起来的。

20191017193653

可以这么理解,HTTPS 中的 S ,指的就是 SSL/TLS 协议本身。

1、发展历史

20191017193658

上面简单总结了关于SSL/TLS协议的发展历程,更加详细的了解,可以参阅维基百科传输层安全性协议 。SSL协议是TLS协议的前身,是SSL协议的改进版本。

2、网络层次

20191017193718

SSL/TLS协议位于应用层和传输层之间,用于对上层数据包加密之后传输,同时进行身份、数据完整性校验。

3、基本原理

简单地讲,SSL/TLS就是同时结合各种密码算法、数字签名算法及数字证书等技术的一套协议,目的就是为了保证通信的安全性。
采用SSL/TLS协议,通信双方建立连接之前需要进行握手,目的是协商出会话密钥,用于后续对通信数据的加解密操作。
加密算法分为两大类:

  • 1、对称加密算法数据加解密使用同一份密钥,加解密速度快,效率高,缺点是密钥的管理难度大,一旦密钥传输泄露,那就没啥用处了。
  • 2、非对称加密算法数据加解密使用公钥和私钥,公钥用于传输,私钥自己保存,安全性较高,但加解密速度偏慢。

而SSL/TLS则结合两者的优缺点,数据包的加密使用对称加密算法,而对称加密算法的密钥采用非对称加密手段协商获取。
常用的对称加密算法有:DES、3DES、Blowfish、IDEA、RC4、RC5、RC6和AES
常用的非对称加密算法有:RSA、ECC(移动设备用)、Diffie-Hellman、El Gamal、DSA(数字签名用)
常用的数字签名算法有:MAC、MD5、SHA1

三、Wireshark抓包分析

下面使用Wireshark抓包工具简单分析下HTTPS协议的握手过程,以访问百度为栗:https://www.ifeng.com

20191017193729

首先我们要知道握手的目的就是为了解决上面的三大风险,即协商出对话密钥,验证数据完整性、身份认证等。
从上图大致可以总结出握手的基本流程:

  • 1、客户端向服务器端发送一个Client Hello
  • 2、服务器端想客户端返回一个Server Hello
  • 3、服务器端向客户端返回一个Certificate
  • 4、服务器端向客户端返回Server key change,Server Hello Done
  • 5、客户端向服务器端发送Client Key Exchange, Change Cipher Spec, Encrypted Handshake Message
  • 6、服务器端向客户端返回Change Cipher Spec, Encrypted Handshake Message

下面具体分析每一步的详细内容:

  • 1、Client Hello中携带了什么信息呢?

Client Hello中携带了当前客户端支持的TLS协议的版本号(Version)、客户端支持的加密套件(Cipher Suites)、一个随机数、客户端支持的压缩算法(Compression Method)

20191017193736
  • 2、Server Hello中又返回了什么信息呢?
20191017193954

第一步客户端告诉服务端我所支持的相关信息,第二步服务端协商返回确定的信息,如确定使用哪种加密套件(Cipher Suites)或压缩方法等。

  • 3、服务器给客户端下发一份证书
20191017204846
  • 4、服务器端返回给客户端相关D-H算法参数
20191017193746

这些参数后期客户端可以算出会话密钥,如果使用的是RSA算法,那么这一步是不需要的。传递完参数之后,告诉客户端服务器端的握手结束(Done)了。

  • 5、Client Key Exchange, Change Cipher Spec, Encrypted Handshake Message

这一步,客户端根据第四步传过来的公钥,生成一个叫预备-主密钥的pre-master key,然后Client Key Exchange将这个预备-主密钥传给服务器端。服务器端结合自己的私钥解出这个预备-主密钥的信息,得到第三个随机数,所以,到目前为止,客户端和服务器都拥有 Random1 + Random2 + Random3
紧接着两边根据D-H算法及第四步传递的相关参数生成一个会话密钥,后续就使用这个密钥进行通信了。可以看出,会话密钥能不能被破解,关键看第三个随机数能不能被破解,而且第三个随机数用wireShark是抓取不到的。

20191017193755

Change Cipher Spec这一步是告诉服务器端后期的通信都会使用我们协商出来的密钥进行通信。
Encrypted Handshake Message是客户端将前面的握手消息生成摘要再用协商好的秘钥加密(对称加密),这是客户端发出的第一条加密消息。服务端接收后会用秘钥解密,能解出来说明前面协商出来的秘钥是一致的。

  • 6、Change Cipher Spec, Encrypted Handshake Message

同第5步,如果服务器端通过D-H算法能够解密摘要,那么服务器端应该告诉客户端说我们之间协商的会话密钥是一致的。
以上是小编对SSL/STL、HTTPS的简单理解,更全面的知识,可自行查阅RFC相关规范文档。由于小编学识尚浅,如有不正确的地方,请指出,谢谢!

链接:https://juejin.im/post/5b9875676fb9a05cef171798

发表评论