网络安全与加密
网络传输安全
网络传输安全的要求
机密性 -> 明文传输有风险
完整性 -> 被篡改,或在传输过程中损坏
身份验证 -> 会不会伪装成被访问的主机
加密算法
- 单向加密
MD4 MD5 SHA1 SHA192 SHA256 SHA256384 CRC-32:循环冗余校验码单向加密的特点
输入一样:输出必然一样
雪崩效应:输入的一点改变,将会引起特征码的巨大改变
定长输出:无论原始数据多少,结果大小都是相同的
不可逆 - 对称加密
DES(数据加密标准 56bit) 3DES AES(高级数据加密标准 128bit秘钥长度->还有192,256,512) Blowfish - 非对称加密/公钥加密(加密/签名)-> 身份认证(数字签名),数据加密,密钥交换
RSA DSA ElGamal
秘钥成对:公钥§ 私钥(S)
公钥加密的,只能用成对的私钥解密,但公钥很少用来加密数据,因为速度太慢,一般是私钥加密公钥解密
网络密钥交换协议
- 网络密钥交换协议(Internet Key Exchange,IKE)
Diffie-Hellman协议需要在网络中传输四个数:p大素数,g生成数,g^x %p,g^y %p 最终秘钥:g^xy%p
x,y是双方分别生成,不在网络中传输的随机数
数字证书
- 数字证书
在互联网通讯中标志通讯各方身份信息的一个数字认证,人们可以在网上用它来识别对方的身份。 - 证书颁发机构(CA)
是负责发放和管理数字证书的权威机构,并作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。 - 公钥基础设施(Public Key Infrastructure)PKI
PKI体系是计算机软硬件、权威机构及应用系统的结合。用来实现基于公钥密码体制的密钥和证书的产生、管理、存储、分发和撤销等功能。 - 证书保存格式
x509 pkcs12主要包含的信息:公钥及其过期时间,证书的合法拥有者,证书该如何被使用,CA的信息,CA签名的校验码等
实现PKI的协议
TLS/SSL,OpenPGP
SSL
- SSL->TLS (TLSv1 = SSLv3)
安全套接字协议 - HTTPS
HTTPS = HTTP+SSL
FTPS = FTP+SSL笔者这里把SSL理解成位于网络的4.5层的协议,与上层的应用层协议组合,就有了各种应用层安全服务协议
OpenSSL
SSL的开源实现
libcrypto->通用加密库
libssl->TLS/SSL的实现
openssl->多用途命令行工具
如何保证网络传输安全
机密性
- 用加密算法给数据加密
明文 --加密(转换规则)–> 密文
明文 <–解密(转换规则)-- 密文 - 对称加密与非对称加密
加密算法(较固定)+秘钥(保证了机密)
对称加密(加密和解密用同一个秘钥)
->安全性能低
->需要为每个会话维护一个秘钥
非对称加密
安全性能高、只需要维护一组秘钥
完整性
- 用单向加密提取数据特征码
-> 为避免被篡改 ->加密特征码 -> 如何约定该密码(防止被第三方获取密码)-> 秘钥交换(Internet Key Exchange,IKE)
身份验证
- 采用非对称加密,发送方用自己的私钥加密,对方用公钥能解密,就能验证发送方的身份
- 非对称加密,无法避免一开始发送方就是冒充的
通过第三方发证机构(CA),获取数字证书
站点将相关信息提交给CA (站点信息,服务器地址,站点的公钥)-> 提取特征码 -> CA用自己的私钥加密特征码(即数字签名) -> 即:数字证书=数据+数字签名
最终解决方案(即SSL的解决方案)
A是发送方,B是接收方
CA是彼此双方都信任的证书颁发机构,即都有CA的机构数字证书
- A将自己的公钥等信息提交给CA
- 该信息会被提取特征码 -> 保证数据的完整性
- CA用自己的私钥加密特征码
- CA生成数字证书
- A拿到CA为自己做的数字证书
- 通信时,B接收到对方的数字证书
- B通过CA机构证书上的公钥解密A的数字证书的数字签名,能解密,说明该证书确实是认同的机构颁发的 -> 实现了对A的身份验证
- B从A的数字证书中获取到A的公钥
- A生成要发送的业务数据->通过数据提取特征码->用自己的私钥给特征码加密
- A生成一段随机数,作为对称加密的密钥,B通过IKE协议获取对称加密的密钥
- A用该随机数作为对称秘钥加密包含特征码的整个数据
- A用B的公钥为该随机数加密
- B拿到数据->用自己的私钥解密对称秘钥->用获取到的对称秘钥解密剩下的数据->在这些数据中,用A公钥获取特征码 -> 从业务数据中提取特征码并做验证
结合到HTTPS:TCP三次握手->客户端发起请求到服务器端->协商建立SSL会话 -> 上述过程
HTTPS服务器可选择使用单向验证还是双向验证,一般都是单向验证
1. 全库网所有资源均来源于用户上传和网络,如有侵权请发送邮箱联系站长处理!
2. 如果你有好的资源或者原创教程,可以到审核区投稿发布,分享会有钻石奖励和额外收入!
3. 全库网所有的源码、教程等其它资源均源于用户上传发布,如有疑问,可直接联系发布作者处理
4. 如有链接无法下载、失效或广告,请联系全库网管理员核实处理!
5. 通过发布原创教学视频或优质源码资源可以免费获得全库网站内SVIP会员噢
6.全库网管理猿邮箱地址:admin@qkuser.com,我们会在收到您的邮件后三个工作日内完成处理!
7. 如遇到加密压缩包,默认解压密码为"qkuser.com",如遇到无法解压的请联系管理员!
全库网 » 网络安全与加密
2. 如果你有好的资源或者原创教程,可以到审核区投稿发布,分享会有钻石奖励和额外收入!
3. 全库网所有的源码、教程等其它资源均源于用户上传发布,如有疑问,可直接联系发布作者处理
4. 如有链接无法下载、失效或广告,请联系全库网管理员核实处理!
5. 通过发布原创教学视频或优质源码资源可以免费获得全库网站内SVIP会员噢
6.全库网管理猿邮箱地址:admin@qkuser.com,我们会在收到您的邮件后三个工作日内完成处理!
7. 如遇到加密压缩包,默认解压密码为"qkuser.com",如遇到无法解压的请联系管理员!
全库网 » 网络安全与加密