加密安全基础
安全机制
信息安全防护的目标
保密性 Confidentiality
完整性 Integrity
可用性 Usability
可控制性Controlability
不可否认性 Non-repudiation
安全防护环节
物理安全:各种设备/主机、机房环境
系统安全:主机或设备的操作系统
应用安全:各种网络服务、应用程序
网络安全:对网络访问的控制、防火墙规则
数据安全:信息的备份与恢复、加密解密
管理安全:各种保障性的规范、流程、方法
安全攻击:STRIDE
Spoofing 假冒
Tampering 篡改
Repudiation 否认
Information Disclosure 信息泄漏
Denial of Service 拒绝服务
Elevation of Privilege 提升权限
防火墙的作用是防止企业外部人员攻击企业内部网络 防水墙的作用防止企业内部的安全攻击.
安全算法
算法对外公开,加密密钥不公开
安全加密算法的两个作用:
1. 确保接收到的数据和原数据完全一致,中途没有数据丢失或者被篡改,同时保证其它人员即使接收到加密数据也无法破解
2. 确保发送数据的来源的合法性,数据不是来自不合法的主机
对称加密算法
data明文 加密data密钥key1 传输 解密key2 data明文
key1 和 key2 是相同的
特性:
1、加密、解密使用同一个密钥,效率高
2、将原始数据分割成固定大小的块,逐个进行加密
缺陷:
1、密钥过多 2、密钥分发 3、数据来源无法确认
非对称加密算法
效率比对称加密算法低
每个主机有两个加密字符串分别为公钥和私钥 公钥可以进行公开,私钥不能公开
如果用公钥把数据加密,只能使用对应的私钥解密. 如果用私钥把数据加密,那么只能用相应的公钥把数据解密
用A的公钥把数据加密,只能用A的私钥解密. 用A的私钥把数据加密,只能用A的公钥解密数据
可以实现通信数据的加密和数据来源的确认 主机A发送数据到主机B
B的公钥(A的私钥(data)) 传输 B的私钥(A的公钥(data))
数字证书(用自己的私钥给数据加密)
包含: 1.哈希运算 2.对称加密 3.非对称加密 综合三种加密算法的优势
主机A到主机B
1.在A上对原数据进行单向hash运算得到限定长度的摘要字符串 hash(data)
2.把hash运算得到的摘要用A的私钥在A主机上加密摘要 Sa(hash(data))
3.把加密后的摘要和原数据作为一个整体在A主机上用B的公钥加密成密文 Pb(Sa(hash(data))+data)
4.发送传输
5.在主机B上用B的私钥对密文进行第一次解密得到原数据和被主机A私钥加密的摘要密文
6.在主机B上用A的公钥对摘要密文进行解密,如能解密成功表示数据来源一定是从A主机来的(确定数据来源)
7.在主机B上对原数据进行单向hash运算得到摘要字符串
8.判断用A公钥解密后的摘要字符串和B自己通过对原数据hash运算得到的摘要是否完全相同,如果完全相同则表示数据没有被篡改或者损坏
9.使用文件摘要来进行比较是因为文件内容太大而文件对应的摘要内容却比较短,能大大提高加密和解密的效率.
第二种加密算法
在A主机上 key[ data + Sa { hash(data) } ]+Pb( key )
key 代表对称加密的密钥,对称加密和解密使用的是同一个密钥.对称加密和解密的效率高,适合对大文件数据加密
Sa 代表非对称加密中的A主机的私钥, 加密后的数据将来只能用A的公钥解密 非对称加密安全性比对称加密安全性高,但是效率比其低,适合加密少量数据
hash hash运算加密 把一个大文件用一个固定长度的字符串来唯一标识,用来配合非对称加密
Pb 代表非对称加密中B主机的公钥,加密后的数据只能使用B主机的私钥来解密.
单向散列(哈希)
将任意数据缩小成固定大小的“指纹” (摘要)
每个镜像中都会有一个官方发布的哈希值,当用户从网站上下载完成文件后可以对文件进行哈希运算看结果是否和官方发布一致.
任意长度输入
固定长度输出
若修改数据,指纹也会改变(“不会产生冲突”)
无法从指纹中重新生成数据(“单向”)
功能:数据完整性
常见算式 md5: 128bits、sha1: 160bits、sha224 sha256、sha384、sha512
常用工具 md5sum | sha1sum [ --check ] file
openssl、gpg rpm -V
gpg工具实现对称加密
对称加密file文件 gpg -c file ls file.gpg
在另一台主机上解密file gpg -o file -d file.gpg
gpg工具实现公钥加密
在hostB主机上用公钥加密,在hostA主机上解密
在hostA主机上生成公钥/私钥对 gpg --gen-key
在hostA主机上查看公钥 gpg --list-keys
在hostA主机上导出公钥到wang.pubkey gpg -a --export -o wang.pubkey
从hostA主机上复制公钥文件到需加密的B主机上 scp wang.pubkey hostB:
在需加密数据的hostB主机上生成公钥/私钥对
gpg --list-keys gpg --gen-key
在hostB主机上导入公钥
gpg --import wang.pubkey gpg --list-keys
用从hostA主机导入的公钥,加密hostB主机的文件file,生成file.
gpg gpg -e -r wangxiaochun file
file file.gpg
复制加密文件到hostA主机
scp fstab.gpg hostA:
在hostA主机解密文件
gpg -d file.gpg
gpg -o file -d file.gpg
删除公钥和私钥
gpg --delete-keys wangxiaochun
gpg --delete-secret-keys wangxiaochun
本文来自博客园,作者:不懂123,转载请注明原文链接:https://www.cnblogs.com/yxh168/p/9053406.html