SSL证书基于SSL协议如何工作

1.报错的原因引出SSL证

MySQL为了保证数据传输的安全性时通过SSL连接在网络上进行加密通道的。数据库一般是部署在内网环境的,一般境况下不会开启数据库的SSL。而且高版本(>=8.0.13)的驱动是默认useSLL=true;所以建议JDBC URL配置中明确配置useSSL=false.

在连接MySQL时,如果MySQL的版本在5.7以上时,必须加上useSSL=false,直接通过用户账号和密码进行连接MySQL数据库;当MySQL的版本是5.7以下时则不进行要求,默认使用useSSL=false.

useSSL=false:使用用户账号密码进行连接;

useSSL=true: 一般通过证书进行安全验证,可以下载OpenSSL并创建SSL证书和私钥,要启动SSL连接,MySQL发行版必须具有SSL支持.

OpenSSL:是一个开源的程序套件,该套件由三部分组成:

     libcrypto:具有通用功能的加密库,里面包含众多加密算法

libssl:实现SSL/TSL功能

openssl:多功能的命令行工具,可以实现加密、解密、自建CA(证书授权中心)、创建证书、吊销证书等功能

2.SSL证书基于SSL协议进行工作

要了解什么是SSL证书,首先弄清楚什么是SSL协议,而SSL证书就是遵守SSL协议的一种数字证书,而SSL证书的证明对象是Web服务器,SSL证书由全球信任的证书颁发机构验证服务器身份后进行颁发,以实现对网站身份验证和数据加密传输的效果。

SSL证书如何工作?

浏览器和服务器之间通过SSL握手的方式快速验证和交换密钥,从而实现对传输数据的安全加密。具体工作流程:

  1. 服务器首先将其非对称的公钥副本发送给客户端服浏览器。
  2. 浏览器创建一个对称会话密钥,并使用服务器的非对称公钥将其加密,然后发送给服务器。
  3. 服务器使用非对称私钥对加密会话密钥进行解答以获得对称会话密钥。
  4. 这样就在服务器和浏览器之间构建起了安全通道,通过会话密钥加密和解密所有传输数据,只有浏览器和服务器知道对称会话密钥,并且会话密钥仅用于该特定会话。

SSL证书有哪些作用?

  1. 数据传输加密

  这是网站安装SSL证书的最主要的目的,安装SSL证书后,就可以在客户端浏览器与网站服务器之间建立起一条加密通道,实现对传输数据的加密处理,从而确保用户一些敏感信息不被监听和窃取。

  1. 验证网站信息

  用户在访问网站时经常无法辨认目标网站的真实性,从而可能被引导至虚假、非法网站,进行对个人信息、财产安全造成重大损失。而SSL证书在申请之时,颁发机构会对申请者的身份进行严格审核,从而保证网站所有者与证书申请机构身份信息的一致性,杜绝了钓鱼网站的存在。

  1. 增强用户对网站的信任度

  安装SSL证书后,网站地址栏会显示绿色URL和小锁标志,高级别的SSL证书还会显示组织和企业名称,提升访客对网站的信任度,进而提升网站的访问量和转化量。

  1. 提升网站的搜索排名

  目前主流搜索引擎都先后表示会优先收录使用HTTPS协议的网站,赋予HTTPS网站更高的搜索权重和关键词排名。

  1. 防止流量劫持

  普通的http网站非常容易受到网络攻击,尤其是流量劫持,用户会被恶意引导至其他非法网站,造成流量损失。而安装了SSL证书,可以对网站身份信息进行校验,杜绝钓鱼网站对流量的劫持。

3.对SSL协议的介绍

SSL(Secure Sockets Layer 安全套间层)是一个不依赖于平台和运行程序的协议,位于TCP/IP协议与各种应用层协议之间,为数据通信提高安全支持。

超文本传输协议HTTP协议,被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如银行卡号、密码等支付信息。为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输的安全,HTTPS(443端口)在HTTP(80端口)的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。

Https的工作原理:

  1. 客户端发起HTTPS请求:输入https网址,连接到server的443端口
  2. 服务器的配置:采用HTTPS协议的服务器必须要有一套数字证书(一对公钥和私钥)
  3. 传输证书(公钥)
  4. 客户端解析证书:首先验证公钥是否有效,如果发现异常,就会警告提示证书存在问题,没有问题会生成一个随机值,然后用证书对该随机值进行加密
  5. 传输加密信息:传输的是用证书加密后的随机值,目的是让服务端得到这个随机值,以后客户端和服务端的通信就可以通过这个随机值进行加密解密
  6. 服务端解密信息:服务端用私钥解密后,得到了客户端传过来的随机值,然后把内容通过该值进行对称加密(将信息和私钥通过某种算法混合起来,除非知道是私钥,否则无法获取内容)
  7. 传输加密后的信息:这部分信息是服务端用私钥加密后的信息,可以在客户端被还原
  8. 客户端解密信息

SSL协议体系结构中包含两个协议子层,其中底层是SSL记录协议层,高层是SSL握手协议层。

SSL记录协议层的作用是为高层协议提供基本的安全服务。SSL记录协议针对HTTP协议进行了特别的设计,使得超文本的传输协议HTTP能够在SSL运行。记录封装各种高层协议,具体实施压缩解压缩、加密解密、计算和校验MAC等与安全有关的操作。

SSL握手协议层包括SSL握手协议(SSL HandShake Protocol)、SSL密码参数修改协议(SSL Change Cipher Spec Protocol)和SSL告警协议(SSL Alert Protocol)。握手层的这些协议用于SSL管理信息的交换,允许应用协议传送数据之间相互验证,协商加密算法和生成密钥等。SSL握手协议最主要的作用是协调客户和服务器的状态,使双方能够达到状态的同步。

  • 18
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值