阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

图解SSL和加密解密

423次阅读
没有评论

共计 4503 个字符,预计需要花费 12 分钟才能阅读完成。

1.SSL 原理

Secure Sockets Layer(安全的套接字层)位于 TCP/IP 协议与各种应用层协议之间,为数据通讯提供安全支持。用于保障在 Internet 上数据传输之安全,利用数据加密技术,可确保数据在网络上之传输过程中不会被截取及窃听。

2.SSL 的会话过程
            SSL 会话主要分为三步:
                      1. 客户端向服务器端索要并验正证书;
                      2. 双方协商生成“会话密钥”;对成密钥
                                    3. 双方采用“会话密钥”进行加密通信;

图解 SSL 和加密解密

3. 加密算法和协议

图解 SSL 和加密解密

3.1 对称加密
    加密和解密使用同一个密钥
常见的加密算法:
    DES、3DES、AES、Blowfish、Twofish、IDEA、RC6、CAST5
特性:
    1、加密、解密使用同一个密钥;
    2、将原始数据分割成为固定大小的块,逐个进行加密;
缺陷:
    1、密钥过多;
    2、密钥分发困难;

3.2 公钥加密
            密钥分为公钥与私钥
公钥:从私钥中提取产生;可公开给所有人;
私钥:通过工具创建,使用者自己留存,必须保证其私密性;

特点:用公钥加密的数据,只能使用与之配对儿的私钥解密;反之亦然;
用途:
数字签名:主要在于让接收方确认发送方的身份;
密钥交换:发送方用对方公钥加密一个对称密钥,并发送给对方;
数据加密:

3.3  单向加密
    提取数据指纹(特征码);只能加密,不能解密;
常见算法:md5、sha1

特性:定长输出、雪崩效应;
功能:完整性;

3.4 密钥交换
    IKE(Internet Key Exchange 互联网密钥交换)
1. 公钥加密
2.DH(Deffie-Hellman 地狱男爵)

4.PKI
    PKI 是 Public Key Infrastructure 的首字母缩写,翻译过来就是公钥基础设施;PKI 是一种遵循标准的利用公钥加密技术为电子商务的开展提供一套安全基础平台的技术和规范

公钥基础设施主要包含以下四个:

签证机构:CA
注册机构:RA
证书吊销列表:CRL
证书存取库

5.openssl 命令

openssl 有众多子命令,基本可分为三类:
            1. 标准命令
            2. 消息摘要命令(dgst 子命令)
            3. 加密命令(enc 子命令)
5.1 对称加密
加密:~]# openssl enc -e -des3 -a -salt -in fstab -out fstab.ciphertext
解密:~]# openssl enc -d -des3 -a -salt -out fstab -in fstab.ciphertext

5.2 单向加密
        ~]# openssl dgst -md5 /PATH/TO/SOMEFILE

5.3 生成用户密码
          ~]# openssl passwd -1 -salt $(openssl rand -hex 5)

5.4 生成随机数
        ~]# openssl rand -hex NUM   
        ~]# openssl rand -base64 NUM

5.5 公钥加密
生成私钥:~]# (umask 077; openssl genrsa -out /PATH/TO/PRIVATE_KEY_FILE NUM_BITS)
提取公钥:~]# openssl rsa -in /PATH/FROM/PRIVATE_KEY_FILE -pubout

6. 构建私有 CA

1. 在 CA 的服务器上生成私钥
[root@ch sysroot]# (umask 077;openssl genrsa -out /etc/pki/CA/private/cakey.pem 4096)

2. 生成自签证书
[root@ch sysroot]# openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 365
 
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:Beijing
Locality Name (eg, city) [Default City]:Beijing
Organization Name (eg, company) [Default Company Ltd]:CH
Organizational Unit Name (eg, section) []:Ops
Common Name (eg, your name or your server’s hostname) []:ch
Email Address []:

3. 为 CA 提供所需的目录及文件
123 [root@ch sysroot]# mkdir  -pv  /etc/pki/CA/{certs,crl,newcerts}
[root@ch sysroot]# touch  /etc/pki/CA/{serial,index.txt}
[root@ch sysroot]# echo  01 > /etc/pki/CA/serial

以上步骤是在 CA 服务器端操作

——————————————————————————–

http 服务器向 CA 请求签署证书

a. 主机生成私钥
[root@localhost ~]# mkdir /etc/httpd/ssl
[root@localhost ~]# cd /etc/httpd/ssl
[root@localhost ssl]# (umask 077; openssl genrsa -out /etc/httpd/ssl/httpd.key 1028)

b. 生成证书签署请求
[root@localhost ssl]# openssl req -new -key /etc/httpd/ssl/httpd.key -out /etc/httpd/ssl/httpd.csr -days 365
 
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:Beijing
Locality Name (eg, city) [Default City]:Beijing
Organization Name (eg, company) [Default Company Ltd]:CH
Organizational Unit Name (eg, section) []:Ops
Common Name (eg, your name or your server’s hostname) []:www.test.com   
Email Address []:
 
Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

c. 将请求通过可靠方式发送给 CA 服务器

[root@localhost ssl]# scp httpd.csr root@172.18.20.4:/tmp/

以上操作是在 http 服务器端操作

——————————————————————————–

4. 在 CA 主机上签署证书
[root@ch tmp]# openssl ca -in /tmp/httpd.csr -out /etc/pki/CA/certs/httpd.crt -days 365
 
Certificate Details:
        Serial Number: 1 (0x1)
        Validity
            Not Before: Mar 26 04:17:02 2016 GMT
            Not After : Mar 26 04:17:02 2017 GMT
        Subject:
            countryName              = CN
            stateOrProvinceName      = Beijing
            organizationName          = CH
            organizationalUnitName    = Ops
            commonName                = www.test.com
 
Certificate is to be certified until Mar 26 04:17:02 2017 GMT (365 days)
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n] y
Write out database with 1 new entries
Data Base Updated

5. 查看证书中的信息
[root@ch tmp]# openssl x509 -in /etc/pki/CA/certs/httpd.crt -noout -serial -subject
serial=01
subject= /C=CN/ST=Beijing/O=CH/OU=Ops/CN=www.test.com

——————————————————————————–

如果 http 服务的私钥丢了,这个时候我们需要吊销证书

(a). 客户端获取要吊销的证书的 serial
[root@localhost ssl]# openssl  x509  -in /etc/pki/CA/certs/httpd.crt  -noout  -serial  -subject
serial=01
subject= /C=CN/ST=Beijing/O=CH/OU=Ops/CN=CH

(2).CA 服务器根据客户提交的 serial 和 subject 信息,对比其与本机数据库 index.txt 中存储的是否一致
[root@ch tmp]# cd /etc/pki/CA/
[root@ch CA]# cat index.txt
V  170326041702Z  01  unknown /C=CN/ST=Beijing/O=CH/OU=Ops/CN=www.test.com

(3).CA 服务器吊销证书
[root@ch CA]# openssl ca -revoke /etc/pki/CA/newcerts/01.pem
Using configuration from /etc/pki/tls/openssl.cnf
Revoking Certificate 01.
Data Base Updated

(4). 生成吊销证书的吊销编号(仅在第一次吊销证书时执行)
[root@ch CA]#  echo  01  > /etc/pki/CA/crlnumber

(5). 更新证书吊销列表
[root@ch CA]# openssl ca -gencrl -out /etc/pki/CA/httpd.crl

查看 crl 文件
[root@ch CA]# openssl crl -in httpd.crl -noout  -text

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-04/130034.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计4503字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19354
评论数
4
阅读量
8228293
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
星哥带你玩飞牛NAS-7:手把手教你免费内网穿透-Cloudflare tunnel

星哥带你玩飞牛NAS-7:手把手教你免费内网穿透-Cloudflare tunnel

星哥带你玩飞牛 NAS-7:手把手教你免费内网穿透 -Cloudflare tunnel 前言 大家好,我是星...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍 前言 在 AI 自动化快速发展的当下,浏览器早已不再只是...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
开发者福利:免费 .frii.site 子域名,一分钟申请即用

开发者福利:免费 .frii.site 子域名,一分钟申请即用

  开发者福利:免费 .frii.site 子域名,一分钟申请即用 前言 在学习 Web 开发、部署...
星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛 NAS-2:飞牛配置 RAID 磁盘阵列 前言 大家好,我是星哥之前星哥写了《星哥带你玩飞牛 ...
支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare 也瘫了连监控都挂,根因藏在哪? 最近两天的互联网堪称“故障...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

  颠覆 AI 开发效率!开源工具一站式管控 30+ 大模型 ApiKey,秘钥付费 + 负载均衡全...
星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

  星哥带你玩飞牛 NAS-16:飞牛云 NAS 换桌面,fndesk 图标管理神器上线! 引言 哈...
开发者福利:免费 .frii.site 子域名,一分钟申请即用

开发者福利:免费 .frii.site 子域名,一分钟申请即用

  开发者福利:免费 .frii.site 子域名,一分钟申请即用 前言 在学习 Web 开发、部署...
星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛 NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手! 作为动漫爱好者,你是否还在为...
告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

  告别 Notion 焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁” 引言 在数字笔记工...