一、安全防御
服务端安全
暴力破解 SQL注入攻击 XPath注入攻击 木马上传 撞库攻击 短信炸弹 代码注入攻击 URL重定向 路径便利攻击 用户名枚举攻击 ... ...
通信传输安全
01网络窃听 02重放攻击 03交易鼠篡改 04会话劫持 05中间人攻击
通信传输安全应对
01敏感信息
02数据加密
03证书有效性
04回话安全
三、数据加密传输
加密算法
加密算法:1)单向加密;2)双向加密
1):散列算法的方式生成密文,不可逆,MD5, SHA-1, SHA-2
2): 对称加密、 非对称加密(速度比对称加密慢3个量级)
双向加密:1)对称加密;2)非对称加密
1)同一个密钥可以同时用作信息加密和解密,也称为单密钥加密
2)需要两个密钥:公开密钥(publickey)和私有密钥(privatekey),公钥和私钥是一对,公钥对数据进行加密,只有对应的私钥对数据解密;如果私钥对数据加密,那只有对应的公钥才能解密。 RSA、ECC(椭圆曲线加密算法)
RSA非对称加密:
1)公钥:从私钥中提取产生,可公开给所有人;
2)私钥:通过工具创建,使用者自己留存,必须保证其私密性
发送方式:发送方(接收方给的公钥)把明文和公钥加密,接收方用私钥解密
3)数字摘要:用Hash函数生成摘要(Disest)--->属于单向加密
4)数字签名:私钥+数字摘要,生成数字签名(Signature)
5)数字证书:为公钥做证书认证。(接收者的公钥做认证);证书中心用自己的私钥,对接收者的公钥和一些相关信息一起加密,生成数字证书(Digital Certificate)。1]数字证书,拿CA的公钥解析得到鲍勃的公钥,用公钥去验证数字签名
真实的发送流程:
1)苏珊收到鲍勃的来信后,用CA的公钥解开数字证书,就可以拿到鲍勃真实的公钥了,然后就能证明“数字签名”是否真的是鲍勃签的。
2)CA的公钥是可以公开获取的,可以用于验证数字证书的,一旦验证通过就可以证明证书有效,并且可以得到真实的申请者的公钥和一些相关信息。
3)加密+:数据+单向=数字摘要;数字摘要+密钥=数字签名;公钥+CA私钥=数字证书;
发送信件包含:数据信息+数字签名(数字摘要)+数字证书
解密-:CA公钥-数字签名=发送者的公钥+一些名字信息;发送者的公钥-数字签名=数字摘要+数据本身+可以确认是发送者的签名;数据本身+Hash函数=数据摘要;现在生成的数字摘要?=?原数字摘要(内部附加的)相等就是没有被篡改过。
$(" ?:数据加密后的数字摘要和数据本身是在同一页面分开存放的, 对数据直接进行单向加密生成数字摘要,对数字摘要用私钥加密生成数字签名,苏珊用鲍勃的公钥解密数字签名后如果能得到数字摘要的话就证明是鲍勃的签名没错。然后苏珊得到了数字摘要和数据本身,再对数据本身进行Hash函数,得到的结果和之前解析出的数字摘要对比,一致的话就可以证明数据本身没有改过。")
¥(“ 双拼输入法的优先级,整句输入时> 词组 > 单字,辅助码 ”,“ ”)