网络通信安全基础(加密方式,OpenSSL)
网络通信安全基础: 1、NIST定义的安全通信 具备如下条件: 保密性: 数据保密性 隐私性 完整性: 数据完整性 系统完整性 可用性: 安全攻击: 被动攻击:窃听 主动攻击:伪装成发送或接听者;重放;消息篡改;拒绝服务攻击 安全机制: 加密,数字签名,访问控制,数据完整性,认证交换,流量填充,路由控制,公证 安全服务: 认证 访问控制 数据保密性 连接保密性 无连接保密性 流量保密性 选择保密性 数据完整性服务 不可否任性 密码算法和协议: 对称加密 公钥加密(非对称) 单向加密(提取特征码) 认证协议 Linux os:OpenSSL, gpg(pgp的实现) 常见的加密算法和协议: 对称加密: DES:56位的秘钥,已经被攻破2013年 3DES: AES:高级加密标准,支持128bits 192bits 258bits 512bits Blowfish Twofish IDEA RC6 CASTS 常用AES, Twofish 特性: 1、加密,解密使用同一个秘钥 2、将原始数据分割成固定大小的块,逐个进行加密。 缺陷: 1、通信对象过多,需要秘钥过多 2、秘钥分发,把秘钥传给对方。 公钥加密:(非对称加密),秘钥是成对出现 公钥:公开的 pub key 私钥:自己的,保证私有性 secret key 特点: 用公钥加密的数据,只能用与之配对的私钥解密 作用: (数字签名)身份认证:主要在于发送方是自己想要找的 将数据提取特征码,使用单向加密,用发送方的私钥加密,收到后,用对方公钥解密,查看特征码,同时在用同样的加密算法,看特征码跟发来的是否一致,确保完整性 秘钥交换:用对方的公钥加密一个对称秘钥,发送给对方 数据加密: 常用算法:RSA, DSA,ELGamal 单向加密:只能加密,不能解密,提取特征码 特性:定长输出,雪崩效应 算法: md5:128bits sha1:160bits sha256 sha512 sha384 功能: 数据完整性校验 A B 完成一次通信 ----还有CA B (数据源) A 访问者 1、单向加密,提取数据特征码 2、用自己的私钥,将特征码加密,并加到数据之后 3、对称秘钥,对2中整个文件加密 4、用A 的公钥加密 对称秘钥,并追加到3 后面 A 接受 1、用自己的私钥解密,获取对称密码 秘钥交换协议:IKE 公钥加密:在网上传输密码,是不安全的 DH算法:(deffie hellman),只需要一些数据交互,就额可以知道秘钥 双方选择一个大素数, A:p,g B: p,g 各自生成一个隐私数 A : x ----> p^x%g p^y%g^x = p^xy%g B : y ----> p^y%g p^x%g^y = p^xy%g
为什么要坚持,想一想当初!