SSL(Secure Sockets Layer)是一种安全传输协议,用于在网络上实现加密通信和身份验证。它最初由Netscape公司开发,用于保护Web传输的数据安全性,后来演变为TLS(Transport Layer Security)标准,成为其继任者。
主要功能和特点:
-
加密数据传输:
SSL使用加密算法对数据进行加密,确保传输过程中数据的保密性,防止被窃听或篡改。 -
身份验证:
SSL能验证通信双方的身份。服务器可以使用数字证书证明其身份的真实性,而客户端也可以验证服务器的身份。 -
数据完整性:
SSL提供数据完整性保护,使用消息认证码(MAC)来检测数据是否在传输过程中被篡改。 -
协商加密算法:
在SSL握手阶段,客户端和服务器协商使用的加密算法和密钥长度,以确保双方使用最适合的安全配置。 -
版本演进:
SSL的发展经历了几个版本,从SSL 1.0到SSL 3.0,然后发展为TLS 1.0、TLS 1.1、TLS 1.2和最新的TLS 1.3。每个新版本都修复了旧版本中发现的安全漏洞,并改进了协议的效率和安全性。 -
应用范围:
SSL/TLS广泛应用于Web浏览器和Web服务器之间的安全通信,例如HTTPS(HTTP over SSL/TLS),以及用于安全地传输电子邮件、即时通讯和其他应用程序协议。
SSL握手过程:
SSL握手过程是客户端和服务器之间建立安全连接的过程,包括以下主要步骤:
-
客户端Hello:
客户端向服务器发送一个Hello消息,包含其支持的SSL/TLS版本、加密算法列表和其他配置信息。 -
服务器Hello:
服务器从客户端Hello消息中选择SSL/TLS版本和加密算法,并返回一个Hello消息作为响应。 -
证书验证:
如果服务器需要验证身份(通常是在HTTPS中),服务器将发送其数字证书给客户端。客户端使用已知的CA根证书验证服务器证书的真实性。 -
密钥交换:
客户端生成一个随机的对称加密密钥,使用服务器的公钥加密该密钥,并发送给服务器。服务器使用自己的私钥解密该密钥。 -
加密通信:
双方使用协商的对称密钥进行加密和解密通信数据,保证数据的安全性和完整性。 -
完成握手:
SSL握手过程完成后,客户端和服务器可以开始安全地传输数据。
SSL/TLS协议在网络通信中扮演着关键的角色,帮助保护用户数据的隐私和安全,广泛应用于互联网上的安全通信中。
| 实验环境 |
|---|
| Centos6.5 |
首先安装openssl的包
Yum install mod* -y

配置网卡:

切换到/etc/httpd/conf.d/目录下

然后开始生成证书。
首先生成一份私钥。通过rsa公钥进行身份验证,使用3des算法进行加密。密钥长度为2048位
具体命令:openssl genrsa -des3 -out server.key 2048

生成一份证书申请。
Openssl - new -key server.key -out server.csr

最后生成证书。
命令:openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt 
修改SSL配置文件,保存该证书配置。
Ssl证书配置文件(/etc/httpd/conf.d/ssl.conf)
修改如下:
ServerName 本地IP:443
SSLCertificateFile 证书位置
SSLCertificateKeyFile 私钥位置
重启APACHE服务器。

这里可以看到我们可以通过https来访问该站点

抓包验证ssl搭建成功。

400

被折叠的 条评论
为什么被折叠?



