零
百科: 网络安全包含网络设备信息安全软件安全
网络系统的硬件软件及其系统中的数据受到保护, 不因偶然的或者恶意的原因而遭受到破坏更改泄露, 系统连续可靠正常地运行, 网络服务不中断
一 HTTP 的安全性考虑
1. 首部篡改
具有一定保护级别的首部只有 www-Authenticate 和 Authorization
2. 重放攻击
指有人将从某个事务中窃取的认证证书用于另一个事务
缓解问题的方法之一: 让服务器产生的随机数包含根据客户端 IP 地址时间戳资源 Etag 和私有服务器密钥算出的摘要(缺陷: 用客户端的 IP 地址来创建随机数会破坏经过代理集群的传输)
完全避免的方法: 为每个事务使用一个唯一的随机数
3. 多重认证机制
避免方法: 让客户端去选择可用认证方案中功能最强的一个若无法实现, 使用一个只维护最强认证方案的代理服务器(在已知所有客户端都支持所选认证方案的区域中才能采用这种方式)
4. 词典攻击
是典型的密码猜测型攻击方式
解决: 使用复杂的相对难破译的密码和合适的密码过期策略
5. 选择明文攻击
使用已知密钥来计算响应可以简化响应的密码分析过程
变体形式:
预先计算的词典攻击
批量暴力型攻击
防止方法: 配置客户端使用可选的 cnonce 指令, 这样响应就是基于客户端的判断产生的, 而不是用服务器提供的随机数
6. 存储密码
消除方法: 像密码文件中包含的明文密码一样来保护它
确保域名在所在域中是唯一的
7. 恶意代理攻击和中间人攻击
代理为恶意的或容易被入侵
解决方案: 由客户端提供和认证功能有关的可见线索; 对客户端进行配置使其总是使用可用认证策略中功能最强的一种但即使使用最强大的认证策略, 客户端仍很容易被窃听防止这些攻击唯一简便的方式就是 SSL
对于这种攻击, 以下开始介绍 HTTPS 怎么维护安全
二 HTTPS(安全 HTTP)
1. 原理
HTTP 和 HTTPS
HTTPS 比 HTTP 多了一个传输层的密码安全层(SSL/TLS)
大部分困难的编码和解码工作是在 SSL 库中完成的, 所以在 web 客户端和服务器在使用安全 HTTP 时无需过多地修改其协议处理逻辑
2. 数字加密
密码: 对文本进行编码, 使偷窥者无法识别的算法
密钥: 改变密码行为的数字化参数
对称密钥加密系统: 编码解码使用相同的密钥的算法
不对称密钥加密系统: 编码解码使用不同的密钥的算法
公开密钥加密系统: 一种能够使数百万计算机便捷地发送机密报文的系统
数字签名: 用来验证报文未被伪造或篡改的校验和
数字证书: 由一个可信的组织和签发的识别信息
3.HTTPS 细节
若 URL 是 HTTP, 客户端就会打开一条到服务器端口 (80 默认) 的连接, 并向其发送老的 HTTP 命令
若 URL 是 HTTPS, 客户端就会打开一条到服务器端口 (443 默认) 的连接, 然后与服务器握手, 以二进制格式与服务器交换一些 SSL 安全参数, 附上加密的 HTTP 命令
(SSL 是个二进制协议)
在 HTTPS 中, 客户端首先打开一条道 Web 服务器端口 443 的连接, 一旦建立了 TCP 连接, 客户端和服务器就会初始化 SSL 层, 对加密参数进行沟通, 并交换密钥握手完成后, SSL 初始化也完成了, 客户端就可将请求报文发送给安全层了在将这些报文发送给 TCP 之前, 要先对其进行加密
服务器证书: 安全 HTTPS 事务总是要求服务器证书的大部分现代浏览器会对证书进行简单的完整性检查, 并为用户提供进一步彻查的手段(日期检查签名颁发者可信度检测签名检测站点身份检测)
来源: http://www.jianshu.com/p/9ea6ae2c9340