Linux安全与加密

Linux安全与加密

安全

安全目标

保密性 Confidentiality

完整性 Integrity

可用性 Usability

可控性 Controlability

不可否定性 Non-repudiation

常见攻击

假冒 Spoofing

篡改 Tampering

否认 Repudiation

信息泄露 Information Disclosure

拒绝服务 Denial of Service

提权 Elevation of Privilege

防护手段

物理安全:各种设备/主机、机房环境

系统安全:主机或设备的操作系统

应用安全:各种网络服务、应用程序

网络安全,对网络访问的控制、防火墙规则

数据安全:信息的备份与恢复、加密解密

管理安全:各种保障性的规范、流程、方法

防护原则

使用成熟的系统

限制输入的数据

最小权限

减少外部接口

缺省使用安全模式

明确安全事项

检查入口

从攻击角度思考

从制度上保护系统

加密

加密算法

对称

加密解密的密钥相同

将原数据分割成固定大小的数据块逐个加密

效率高,但密钥过多,密钥分发没有安全保障,数据来源无法确定

非对称

加密解密的密钥不相同,密钥成对出现

公钥加密私钥解密

私钥加密公钥解密

公钥是公开的可以使用私钥推算

私钥为私有密钥无法利用公钥推算

加密性强,确定数据来源,密钥分发安全

效率低

单向

加密不可逆,用于校验数据

哈希算法 具有雪崩性,输出长度相同,加密结果唯一

sha512sum 文件 加密计算文件特征码

密码交换

密钥交换:IKE ( lnternet Key Exchange )

公钥加密:用目标的公钥加密对称密钥

DH(Deffie-Hellman):生成对称(会话))密钥,由惠特菲尔德·迪菲(Bailey Whitfield Diffie)和

马丁·赫尔曼(Martin Edward Hellman)在1976年发表

DH实现过程:

A: g,p协商生成公开的整数g,大素数p

B: g,p

A:生成隐私数据:a (a<p),计算得山g^a%p,发送给B

B:生成隐私数据:b,(b<p),计算得出g^b%p,发送给A

A:计算得出[(g^b%p)a]%p = g^ab%p,生成为密钥

B:计算得出[(g^a%p)b] %p = g^ab%p,生成为密钥

证书

逻辑

image.png

KPI Public Key Infrastructure公共密钥加密体系

签证机构:CA (Certificate Authority)

注册机构:RA

证书吊销列表:CRL

证书存取库:

X.509:定义了证书的结构以及认证协议标准

版本号

序列号

签名算法

颁发者

有效期限

主体名称

证书类型

证书授权机构的证书

服务器证书

用户证书

获取证书方法:

自签名的证书:自已签发自己的公钥
使用证书授权机构:

生成证书请求(csr)

将证书请求csr发送给CA

CA签名颁发证书

(在申请CA时,CA服务器上会生成一对申请用户的公钥和私钥,在申请的证书中加入CA的私钥加密用户的公钥)

gpg工具

文件加密解密

加密
gpg -c 文件名
解密
gpg -d 文件名  输出加密文件内容到屏幕

gpg -o 新文件名 -d 要解密文件名  输出加密文件内容到指定文件中

生成非对称加密密钥

gpg --gen-key 生成密钥对存放在/root下
列出已有公钥
gpg --list-keys
加密文件
gpg -e(加密)-r(密钥)公钥/私钥文件名 要加密的文件
导出公钥
gpg -a --export -o 公钥文件
导入公钥
gpg --import 公钥文件
解密文件
gpg -d 文件名  自动匹配密钥
删除密钥
删除公钥
gpg --delete-keys 密钥名
删除私钥
gpg --delete-secret-keys 密钥名

安全协议SSL/TLS

功能

机密性

认证

完整性

重放保护

HTTPS工作流程

1.客户端发起HTTPS请求

用户在浏览器里输入一个https网址,然后连接到服务器的443端口

2服务端的配置

采用HTTPS协议的服务器必须要有一套数字证书,可以自己制作,也可以向组织申请。区别就是自

己颁发的证书需要客户端验证通过,才可以继续访问,而使用受信任的公司申请的证书则不会弹出

提示页面。这套证书其实就是一对公钥和私钥

3.传送服务器的证书给客户端

证书里其实就是公钥,并且还包含了很多信息,如证书的颁发机构,过期时间等等

4.客户端解析验证服务器证书

这部分工作是有客户端的TLS来完成的,首先会验证公钥是否有效,比如∶颁发机构,过期时间等

等,如果发现异常,则会弹出一个警告框,提示证书存在问题。如果证书没有问题,那么就生成一

个随机值。然后用证书中公钥对该随机值进行非对称加密

5.客户端将加密信息传送服务器

这部分传送的是用证书加密后的随机值,目的就是让服务端得到这个随机值,以后客户端和服务端

的通信就可以通过这个随机值来进行加密解密了

6.服务端解密信息

服务端将客户端发送过来的加密信息用服务器私钥解密后,得到了客户端传过来的随机值

7.服务器加密信息并发送信息

服务器将数据利用随机值进行对称加密,再发送给客户端

8.客户端接收并解密信息

客户端用之前生成的随机值解密服务段传过来的数据,于是获取了解密后的内容

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。