安全和加密

1.墨菲定律
墨菲定律:一种心理学效应,是由爱德华·墨菲(Edward A. Murphy)提出的,原话:如果有两种或两种以上的方式去做某件事情,而其中一种选择方式将导致灾难,则必定有人会做出这种选择
主要内容:
任何事都没有表面看起来那么简单
所有的事都会比你预计的时间长
会出错的事总会出错
如果你担心某种情况发生,那么它就更有可能发生

2.安全机制
信息安全防护的目标
保密性 Confidentiality
完整性 Integrity
可用性 Usability
可控制性 Controlability
不可否认性 Non-repudiation
安全防护环节
物理安全:各种设备/主机、机房环境
系统安全:主机或设备的操作系统
应用安全:各种网络服务、应用程序
网络安全:对网络访问的控制、防火墙规则
数据安全:信息的备份与恢复、加密解密
管理安全:各种保障性的规范、流程、方法

3.安全
安全攻击: STRIDE
Spoofing 假冒
Tampering 篡改
Repudiation 否认
Information Disclosure 信息泄漏
Denial of Service 拒绝服务
Elevation of Privilege 提升权限

4.安全设计基本原则
使用成熟的安全系统
以小人之心度输入数据
外部系统是不安全的 防火墙
最小授权 防水墙(内部防数据泄露,审计,控制)
减少外部接口
缺省使用安全模式
安全不是似是而非
从STRIDE思考
在入口处检查
从管理上保护好你的系统

5.安全算法
常用安全技术
认证
授权
审计
安全通信
密码算法和协议
对称加密
公钥加密
单向加密
认证协议

6.对称加密算法
对称加密:加密和解密使用同一个密钥
DES:Data Encryption Standard,56bits
3DES:
AES:Advanced (128, 192, 256bits)
Blowfish,Twofish
IDEA,RC6,CAST5
特性:
1、加密、解密使用同一个密钥,效率高
2、将原始数据分割成固定大小的块,逐个进行加密
缺陷:
1、密钥过多
2、密钥分发传输难
3、数据来源无法确认

7.非对称加密算法 公钥和私钥
公钥加密:密钥是成对出现
公钥:公开给所有人;public key
私钥:自己留存,必须保证其私密性;secret key
特点:用公钥加密数据,只能使用与之配对的私钥解密;反之亦然
功能:
数字签名:主要在于让接收方确认发送方身份
对称密钥交换:发送方用对方的公钥加密一个对称密钥后发送给对方
数据加密:适合加密较小数据
缺点:密钥长,加密解密效率低下
算法:
RSA(加密,数字签名)
DSA(数字签名)
ELGamal

8.非对称加密
基于一对公钥/密钥对
•用密钥对中的一个加密,另一个解密
实现加密:
•接收者
生成公钥/密钥对:P和S
公开公钥P,保密密钥S
•发送者
使用接收者的公钥来加密消息M
将P(M)发送给接收者
•接收者
使用密钥S来解密:M=S(P(M))
加解密过程示例:
A—>B
A: 用B.Pub key 加密—>B
B:用B.secret key 解密

非对称加密
实现数字签名:
•发送者
生成公钥/密钥对:P和S
公开公钥P,保密密钥S
使用发送者的私钥S加密消息M
发送给接收者S(M)
•接收者
使用发送者的公钥来解密M=P(S(M))
结合签名和加密
分离签名
数字签名过程示例:
A—>B
A: 先用A.secret key 加密(签名)=>再用B.pub key加密,发送给—>B
B:先用B.secret key 解密=>再用A.pub jey 去掉签名解密还原数据

对称和非对称加密算法性能对比
算法 源文件大小 加密后大小 加密时间 解密时间
对称DES 1G 2G 4min 8min
非对称RSA 1G 1G 1min 64hour
所以非对称不适合加密大容量数据,因为解密太费时间了。
综合二者特点,可以组合使用:
1.用对称加密算法加密 源数据 本身
2.用hash、单列算法hash->digest
3.通过比较digest确认data完整性

10.单向散列 hash 哈希算法
将任意数据缩小成固定大小的“指纹”-也就是hash(data)=digest摘要
•任意长度输入,固定长度输出
•若修改data,digest也会改变(“不会产生冲突”)
•无法从digest逆推出data(“单向不可逆”)
功能:数据完整性
常见算法hash
md5: 128bits、sha1: 160bits、sha224 、sha256、sha384、sha512
常用工具
•md5sum | sha1sum [ --check ] file
•openssl、gpg
gpg -o f1 -d fstab.gpg
•rpm -V
示例:
md5sum f1.txt
sha1sum /dev/sr0 等一会算出hash值,跟官网上发布的一样就是原版ISO

11.数字签名

12.密钥交换
密钥交换:IKE( Internet Key Exchange )
公钥加密:
DH (Deffie-Hellman):生成会话密钥,由惠特菲尔德·迪菲(Bailey Whitfield Diffie)和马丁·赫尔曼(Martin Edward Hellman)在1976年发表
参看:https://en.wikipedia.org/wiki/Diffie–Hellman_key_exchange
DH:
A: g,p 协商生成公开的整数g, 大素数p
B: g,p
A:生成隐私数据 :a (a<p ),计算得出 g^a%p,发送给B
B:生成隐私数据 :b,计算得出 g^b%p,发送给A
A:计算得出 [(gb%p)a] %p = g^ab%p,生成为密钥
B:计算得出 [(ga%p)b] %p = g^ab%p,生成为密钥

g=5 p=23 a=4 b=3
{ {53%23}4}23%

应用程序:RPM
文件完整性的两种实施方式
被安装的文件
•MD5单向散列
•rpm --verify package_name (or -V)
发行的软件包文件
•GPG公钥签名
•rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat*
•rpm --checksig pakage_file_name (or -K)

使用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:

使用gpg工具实现公钥加密
在需加密数据的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

使用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

13.中间人攻击

14.CA和证书
PKI: Public Key Infrastructure
签证机构:CA(Certificate Authority)
注册机构:RA
证书吊销列表:CRL
证书存取库:
X.509:定义了证书的结构以及认证协议标准
版本号
序列号
签名算法
颁发者
有效期限
主体名称
主体公钥
CRL分发点
扩展信息
发行者签名

证书获取
证书类型:
证书授权机构的证书
服务器
用户证书
获取证书两种方法:
•使用证书授权机构
生成签名请求(csr)
将csr发送给CA
从CA处接收签名
•自签名的证书
自已签发自己的公钥

15.安全协议
SSL: Secure Socket Layer,TLS: Transport Layer Security
1995:SSL 2.0 Netscape
1996: SSL 3.0
1999: TLS 1.0
2006: TLS 1.1 IETF(Internet工程任务组) RFC 4346
2008:TLS 1.2 当前使用
2015: TLS 1.3
功能:机密性,认证,完整性,重放保护
两阶段协议,分为握手阶段和应用阶段
握手阶段(协商阶段):客户端和服务器端认证对方身份(依赖于PKI体系,利用数字证书进行身份认证),并协商通信中使用的安全参数、密码套件以及主密钥。后续通信使用的所有密钥都是通过MasterSecret生成。
应用阶段:在握手阶段完成后进入,在应用阶段通信双方使用握手阶段协商好的密钥进行安全通信

SSL/TLS

Handshake协议:包括协商安全参数和密码套件、服务器身份认证(客户端身份认证可选)、密钥交换
ChangeCipherSpec 协议:一条消息表明握手协议已经完成
Alert 协议:对握手协议中一些异常的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值