一、背景
数据在网络传输中, 有可能传输过程中有可能被别人恶意获取, 从而造成风险。 采用加密手段, 使得捕获的数据别人也难用利用。
二、 加密的重要特性
完整性(消息不被篡改),保密性(第三方无法解密),可认证性(接收方知道消息是由谁发送的)
三、 分类与区别
3.1 不需要还原解密
MD5是常用的不需要还原的加密算法。它是一种散列运算,对消息进行散列运算,可以获得消息的摘要(Digest,指纹)。所以还原不了原来的数据。保密性好。
3.2 对称加密
就是加密和解密用同一个秘钥。 优点效率高。在传输前需要在网络中告知对方秘钥。如果想实现可认证性n个客户端需要n把钥匙。
3.3 非对称加密
就是加密和解密用同一个秘钥。 优点更加安全。因为在传输前只需要在网络中告知对方公钥, 万一不幸被别人捕获公钥信息也是解不了公钥加密的数据的。
四、 防破解一些方法
常用破解攻击类型:
威胁保密性的攻击:窃听、通信量分析; -- 加密, 加密算法不做通信量一一映射
威胁完整性的攻击:更改、伪装、重放、否认
重放:攻击者能截获双方通信的报文,并开始一遍遍发送 -- 服务记录上一次的状态,每次请求应该状态不一样,一样的拒绝服务, 并且对认证做一些过期策略
否认:通信的双方的某一方发送的,下订单说没下; --- 服务器做一些逻辑验证
威胁可用性的攻击:拒绝服务(DoS) -- 流量隔离,负载均衡器