第七章 确保Web安全的HTTPS
1、HTTP的不足
通信使用明文(不加密),内容可能被监听
不验证通信方的身份,因此可能遭遇伪装
无法验证报文的完整性,所以有可能已遭篡改
2、通信加密
1 通信的加密 2 内容的加密
3、通过查看对手的证书(SSL支持,第三方提供),来验证通信方
4、HTTP常用MD5和SHA-1等散列值校验方法来确认文件的数字签名,但是这需要用户亲自检查,浏览器无法自动帮用户检查。SSL提供认证和加密处理及摘要功能。
5、HTTP + 加密 + 认证 + 完整性保护 = HTTPS
6、共享秘钥加密(加密和解密用同一把秘钥)
7、公开秘钥加密(发送秘文的一方利用对方的公开秘钥进行加密处理,对方收到被加密的信息后,利用自己的私有秘钥进行解密)
8、HTTPS采用混合加密机制(在交换秘钥环节使用公开秘钥加密方式,之后的通信交换报文阶段则使用共享秘钥加密方式)
9、数字证书的业务流程:首先,服务器的运营人员向数字证书认证机构提出公开秘钥的申请;数字证书机构在判明提出申请者的身份之后,会对已申请的公开秘钥做数字签名;然后,分配这个已经签名的公开秘钥,并将该公开秘钥放入公钥证书后绑定在一起;服务器会将这份公钥证书发送给客户端,以进行公开秘钥加密方式通信;客户端可使用数字证书认证机构颁发的公开秘钥,对那张证书上的数字签名进行验证,认证通过,证明服务器的公开秘钥是值得信赖的。
第八章 确认访问用户身份的认证
1、认证,只有登陆者本人才知道的信息
1 密码:只有本人知道的字符串信息 2 动态令牌:仅限本人持有的设备内显示的一次性密码 3 数字证书:仅限本人(终端)持有的信息 4 生物认证: 指纹或者虹膜等本人的生理信息 5 IC卡等:仅限本人持有的信息
2、HTTP/1.1使用的认证方式
BASIC认证(基本认证,明文)
DIGEST认证(摘要认证)
SSL客户端认证
FormBase认证(基于表单认证)
3、基于表单验证,会涉及Session管理及Cookie应用
第九章 基于HTTP的功能追加协议
1、消除HTTP瓶颈的SPDY,旨在解决HTTP的性能瓶颈,缩短Web页面的加载时间
2、解决瓶颈的方法
1 Ajax 异步JS达到局部刷新,传输数据变少 2 Comet 一旦服务器有内容更新了,Comet不会让请求等待,直接返回响应,如果没有更新,Comet会将响应置于挂起状态。这是一种延迟应答,模拟实现服务器端向客户端推送的功能。
3、SPDY没有完全改写HTTP,而是在TCP/IP的应用层与运输层之间通过新加会话层的形式运作。同时。考虑到安全性,规定通信中使用SSL。使用SPDY获得以下功能:
多路复用,单一TCP连接,可以无限制处理多个HTTP请求
赋予请求优先级
压缩HTTP首部
推送功能,支持服务器主动向客户端推动数据的功能
服务器提示功能,服务器可以主动提示客户端请求所需的资源,在资源已缓存等情况下,可以避免发送不必要的请求
4、使用浏览器进行双全工通信的WebSocket,WebSocket是建立在HTTP基础上的协议,因此连接的发起方仍是客户端,一旦建立通信连接,不论服务器或者客户端,任意一方都可直接向对方发送报文。(客户端发送HTTP连接握手请求,在Upgrade字段设置为WebSocket协议,通知服务器更新连接协议)
5、期盼已久的HTTP/2.0(7项技术讨论)
1 多路复用 2 TLS义务化 3 协商 4 客户端拉拽 服务端推送 5 压缩 6 流量控制 7 WebSocket
第十章 构建Web内容的技术
1、HTML
2、CGI 指Web服务器在接收到客户端发送来的请求后转给程序的一组机制。在CGI的作用下,程序会对请求内容作出相应的动作。
第十一章 Web的攻击技术
1、为服务器为目标的主动攻击,指攻击者通过直接访问Web应用,把攻击代码传入的攻击方式。
典型的攻击方式有,SQL注入攻击和OS命令注入攻击
2、以服务器为目标的被动攻击,指利用圈套策略执行攻击代码的攻击模式,在被攻击工程中,攻击者不直接对目标Web应用访问发起攻击。
典型的攻击方式有,跨站脚本攻击和跨站请求伪造