在线支付系列【5】支付安全之数字证书 喜欢ヅ旅行 2023-10-09 15:23 6阅读 0赞 > **有道无术,术尚可求,有术无道,止于术。** #### 文章目录 #### * * 公钥信任问题 * 数字证书 * * 颁发流程 * 使用流程 * SSL数字证书 * * HTTPS * SSL/TLS 证书 * 如何申请SSL 证书 * 使用keytool 生成ssl证书 * 通信过程 ### 公钥信任问题 ### 之前我们使用**对称、非对称加密、信息摘要、数字签名**,能实现信息的完整性、加密性。但也存在安全问题。 比如A、B进行通信时,A需要将自己的公钥给对方,以便加密,如果被黑客拦截,并将黑客自己的公钥伪装为A的公钥发送给B,B收到黑客的秘钥后,误以为就是A的公钥,使用黑客的公钥加密数据发送,黑客再次拦截B发送的信息,用黑客的秘钥解密,读取原文内容,再使用A的公钥加密,发送给A。 ![在这里插入图片描述][7cc2995d499e4a23bbef9bf127cfd30f.png] 同样B 发送给A 公钥时,也被拦截,这样黑客都有A、B的公钥,A、B获取的都是黑客的公钥,在通信时,都可以被黑客截取并获取内容,这样是非常不安全的。 ![在这里插入图片描述][24991249c96545a0bdc72fe80ddb625b.png] 以上问题是由于无法知道公钥可否可信任导致,如果第三方公证机构,对公钥进行公证,发送信息前,去机构查询当前公钥的拥有者及其他信息,则可解决这些问题。 ### 数字证书 ### `数字证书`是由**认证机构**(认证权威)颁发,包含公开密钥拥有者信息、公开密钥、签发者信息、有效期以及一些扩展信息的数字文件。 `数字证书`解决公钥的**信任问题**,防止黑客伪造公钥。 ![在这里插入图片描述][dd61a775362b4a0da898718178127b95.png] **数字证书**的格式普遍采用的是**X.509V3**国际标准,一个标准的**X.509**数字证书包含以下一些内容: * 证书的版本信息; * 证书的序列号,每个证书都有一个唯一的证书序列号 * 证书所使用的签名算法 * 证书的发行机构名称,命名规则一般采用X.500格式 * 证书的有效期,通用的证书—般采用UTC时间格式 * 证书所有人的名称,命名规则一般采用X.500格式 * 证书所有人的公开密钥 * 证书发行者对证书的签名 #### 颁发流程 #### **数字证书**的颁发流程如下: 1. 数字证书申请人将申请数字证书所需的数字证书内容信息提供给认证机构 2. 认证机构确认申请人所提交信息的正确性,这些信息将包含在数字证书中 3. 由持有认证机构私钥的签证设备给数字证书加上数字签名 4. 将数字证书的一个副本传送给用户 5. 将数字证书的一个副本传送到数字证书数据库如目录服务,以便公布 ![在这里插入图片描述][9f25ba278316459ba3e7111b23562426.png] #### 使用流程 #### **数字证书**中,最重要的是拥有者的**公钥**和CA 添加的**数字签名**。 使用**数字证书**的发送信息校验流程如下: 1. 小明发送加密信息并携带**CA 机构**颁发的数字证书 2. 小红收到后,去CA机构查询当前证书是否可信 3. 证书可信,使用CA机构公开的公钥,对证书进行验签 4. 验签通过,说明改证书未被篡改 5. 取出小明的公钥,对小明发送的信息进行验签 6. 验签通过,说明小明发送的信息可信 ![在这里插入图片描述][ab25772f489f46a98da3751af4b34f8e.png] ### SSL数字证书 ### #### HTTPS #### `HTTP协议`英文全称是`Hyper Text Transfer Protocol`,翻译为超文本传输协议。 `HTTPS`存在不同于`HTTP` 的默认端口及一个加密/身份验证层(**在 HTTP与 TCP 之间**)。提供身份验证与加密通讯。 **HTTPS协议= HTTP协议 + SSL/TLS协议** ,在`HTTPS`数据传输的过程中,需要用`SSL/TLS`对数据进行加密和解密。 ![在这里插入图片描述][watermark_type_d3F5LXplbmhlaQ_shadow_50_text_Q1NETiBA5LqR54Of5oiQ6ZuoY3Nkbg_size_14_color_FFFFFF_t_70_g_se_x_16] 当用户通过`HTTP`协议访问网站时,客户端与服务器之间传输的数据,如**账号、密码、在线交易记录**等敏感信息都是明文的,这样就会存在诸如信息泄露、窃取、篡改等安全隐患。而在使用`HTTPS`协议进行访问网站,客户端与服务器之间建立起`SSL`加密通道,并给网站加上一把安全锁,从而防止敏感数据被窃听、泄露或篡改,保证网络数据传输的安全,确保通信数据的保密性和完整性。 #### SSL/TLS 证书 #### `SSL证书`是**数字证书**的一种,全称是`Secure Sockets Laye`r,即**安全套接层协议**,是为网络通信提供安全及数据完整性的一种安全协议。`SSL协议`在1994年被`Netscape`发明,后来各个浏览器均支持`SSL`,其最新的版本是3.0。 `TLS的`全称是`Transport Layer Security`,即**安全传输层协议**,建立在`SSL 3.0`协议规范之上,是`SSL 3.0`的后续版本。在`TLS`与`SSL3.0`之间存在着显著的差别,主要是它们所支持的加密算法不同,所以`TLS`与`SSL3.0`不能互操作。虽然`TLS`与`SSL3.0`在加密算法上不同,但是在我们理解`HTTPS`的过程中,我们可以把`SSL`和`TLS`看做是同一个协议。 #### 如何申请SSL 证书 #### `SSL`证书由受信任的数字证书颁发机构`CA`,在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能。 阿里云、腾讯云、华为云都可以直接申请,但是看了下一年要**4000**多大洋。。。 ![在这里插入图片描述][watermark_type_d3F5LXplbmhlaQ_shadow_50_text_Q1NETiBA5LqR54Of5oiQ6ZuoY3Nkbg_size_20_color_FFFFFF_t_70_g_se_x_16] #### 使用keytool 生成ssl证书 #### `keytool`是`JDK`自带的证书工具,当然我们自己生成的不安全,所以浏览器会提示: ![在这里插入图片描述][watermark_type_d3F5LXplbmhlaQ_shadow_50_text_Q1NETiBA5LqR54Of5oiQ6ZuoY3Nkbg_size_16_color_FFFFFF_t_70_g_se_x_16] 使用以下命令就可以生成一个证书: keytool -genkey -alias gateway -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore scg-keystore.p12 -validity 3650 命令参数说明: -genkey 生成秘钥 -alias 别名 -keyalg 秘钥算法 -keysize 秘钥长度 -validity 有效期(天) -keystore 生成秘钥库的存储路径和名称 -keypass 秘钥口令 -storepass 秘钥库口令 -dname 拥有者信息,CN:姓名;OU:组织单位名称;O:组织名称;L:省/市/自治区名称;C:国家/地区代码 执行后如下图: ![在这里插入图片描述][watermark_type_d3F5LXplbmhlaQ_shadow_50_text_Q1NETiBA5LqR54Of5oiQ6ZuoY3Nkbg_size_20_color_FFFFFF_t_70_g_se_x_16 1] 按照提示,依次输入,就可以看到证书了: ![在这里插入图片描述][147d9acab1ac49dcbf3c183d259b9857.png] #### 通信过程 #### ![在这里插入图片描述][3df8f686a5ad4a7497d0eb1b3a4b3a0b.png] 1. 网站向`CA`机构申请数字证书 2. `CA`机构颁发证书给网站,使用私钥对证书进行签名,网站部署证书,提供`HTTPS`访问链接 3. 浏览器发起`HTTPS`请求 4. 网站服务端会将证书响应给浏览器 5. 浏览器保存当前证书,对证书进行检查,验证其合法性 6. 对证书进行验签,操作系统默认会有`CA`机构的公钥,验签通过,取出证书中网站的公钥 7. 浏览器会生成一个随机值对称秘钥(客户端对称秘钥) 8. 浏览器使用网站公钥将客户端对称秘钥加密,并发送网站,网站收到后,使用私钥解密,并保存客户端的公钥 9. 客户端和服务端都保存了对称秘钥,这样,就可以进行加密互相传输数据了 谷歌浏览器输入`https` 网站,可以看到一把`锁`标识,点击这把锁,可以弹出该链接是安全的提示。 ![在这里插入图片描述][6c4f10f202cf49979c1cc010258b250e.png] 点击`该链接是安全的`,再点击`证书有效`。 ![在这里插入图片描述][4e688c6a5db04134b9033d7e849b138d.png] 可以查看到当前网站证书中包含的**基本信息和详细信息**。 ![在这里插入图片描述][ecebc5e1222244d59bc52ff34daf2190.png] [7cc2995d499e4a23bbef9bf127cfd30f.png]: https://img-blog.csdnimg.cn/7cc2995d499e4a23bbef9bf127cfd30f.png [24991249c96545a0bdc72fe80ddb625b.png]: https://img-blog.csdnimg.cn/24991249c96545a0bdc72fe80ddb625b.png [dd61a775362b4a0da898718178127b95.png]: https://img-blog.csdnimg.cn/dd61a775362b4a0da898718178127b95.png [9f25ba278316459ba3e7111b23562426.png]: https://img-blog.csdnimg.cn/9f25ba278316459ba3e7111b23562426.png [ab25772f489f46a98da3751af4b34f8e.png]: https://img-blog.csdnimg.cn/ab25772f489f46a98da3751af4b34f8e.png [watermark_type_d3F5LXplbmhlaQ_shadow_50_text_Q1NETiBA5LqR54Of5oiQ6ZuoY3Nkbg_size_14_color_FFFFFF_t_70_g_se_x_16]: https://img-blog.csdnimg.cn/7c39028ee2b84307a47906afdc9db290.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LqR54Of5oiQ6ZuoY3Nkbg==,size_14,color_FFFFFF,t_70,g_se,x_16 [watermark_type_d3F5LXplbmhlaQ_shadow_50_text_Q1NETiBA5LqR54Of5oiQ6ZuoY3Nkbg_size_20_color_FFFFFF_t_70_g_se_x_16]: https://img-blog.csdnimg.cn/a0289d867f3541fa894e9e712d63049d.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LqR54Of5oiQ6ZuoY3Nkbg==,size_20,color_FFFFFF,t_70,g_se,x_16 [watermark_type_d3F5LXplbmhlaQ_shadow_50_text_Q1NETiBA5LqR54Of5oiQ6ZuoY3Nkbg_size_16_color_FFFFFF_t_70_g_se_x_16]: https://img-blog.csdnimg.cn/b0f0396ba5a646b983bb9b6b208ff7c1.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LqR54Of5oiQ6ZuoY3Nkbg==,size_16,color_FFFFFF,t_70,g_se,x_16 [watermark_type_d3F5LXplbmhlaQ_shadow_50_text_Q1NETiBA5LqR54Of5oiQ6ZuoY3Nkbg_size_20_color_FFFFFF_t_70_g_se_x_16 1]: https://img-blog.csdnimg.cn/720a4a005ee0419086e1d399477f4b78.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LqR54Of5oiQ6ZuoY3Nkbg==,size_20,color_FFFFFF,t_70,g_se,x_16 [147d9acab1ac49dcbf3c183d259b9857.png]: https://img-blog.csdnimg.cn/147d9acab1ac49dcbf3c183d259b9857.png [3df8f686a5ad4a7497d0eb1b3a4b3a0b.png]: https://img-blog.csdnimg.cn/3df8f686a5ad4a7497d0eb1b3a4b3a0b.png [6c4f10f202cf49979c1cc010258b250e.png]: https://img-blog.csdnimg.cn/6c4f10f202cf49979c1cc010258b250e.png [4e688c6a5db04134b9033d7e849b138d.png]: https://img-blog.csdnimg.cn/4e688c6a5db04134b9033d7e849b138d.png [ecebc5e1222244d59bc52ff34daf2190.png]: https://img-blog.csdnimg.cn/ecebc5e1222244d59bc52ff34daf2190.png
相关 在线支付系列【23】支付宝支付接入指南 > 有道无术,术尚可求,有术无道,止于术。 文章目录 前言 接入指南 1. 创建应用 2. 绑定应用 Bertha 。/ 2023年10月09日 15:35/ 0 赞/ 81 阅读
相关 在线支付系列【14】微信支付实战篇之Native支付下单 > 有道无术,术尚可求,有术无道,止于术。 文章目录 Native支付 产品介绍 业务流程图 深藏阁楼爱情的钟/ 2023年10月09日 15:28/ 0 赞/ 342 阅读
相关 在线支付系列【11】微信支付之文档中心介绍 > 有道无术,术尚可求,有术无道,止于术。 文章目录 前言 文档中心 商户 指引文档 叁歲伎倆/ 2023年10月09日 15:28/ 0 赞/ 311 阅读
相关 在线支付系列【7】微信支付接入指引 > 有道无术,术尚可求,有术无道,止于术。 文章目录 接入模式 直连模式 服务商模式 接入指引 柔情只为你懂/ 2023年10月09日 15:26/ 0 赞/ 51 阅读
相关 在线支付系列【6】微信支付产品简介 > 有道无术,术尚可求,有术无道,止于术。 文章目录 微信支付 商户、服务商 行业解决方案 平台开放能力 ゞ 浴缸里的玫瑰/ 2023年10月09日 15:23/ 0 赞/ 46 阅读
相关 在线支付系列【5】支付安全之数字证书 > 有道无术,术尚可求,有术无道,止于术。 文章目录 公钥信任问题 数字证书 颁发流程 使用流程 喜欢ヅ旅行/ 2023年10月09日 15:23/ 0 赞/ 7 阅读
相关 在线支付系列【4】支付安全之数字签名 > 有道无术,术尚可求,有术无道,止于术。 文章目录 信息摘要 摘要算法 数据完整性 数字签名 本是古典 何须时尚/ 2023年10月09日 15:21/ 0 赞/ 95 阅读
相关 在线支付系列【2】支付宝和微信支付发展史 > 有道无术,术尚可求,有术无道,止于术。 文章目录 支付宝 发展史 起步阶段 た 入场券/ 2023年10月09日 15:20/ 0 赞/ 125 阅读
相关 在线支付系列【1】支付演变史 > 有道无术,术尚可求,有术无道,止于术。 文章目录 支付 货币发展史 物物交换 实物货币 港控/mmm°/ 2023年10月09日 15:20/ 0 赞/ 85 阅读
相关 在线支付 1. 在线支付概述 什么是在线支付呢?没错,就是在网上花钱!大家一定有过这样的经历。但是你可能不太了解在线支付的“内情”,下面我们来了解一下! 如果你现在开始经营一个电 迈不过友情╰/ 2022年07月15日 06:27/ 0 赞/ 294 阅读
还没有评论,来说两句吧...