1、Copyright 2008HTTP协议、SSL、cookie、session培训教材2009年1月13日第1页,共17页。2confidentialHTTP协议概述第2页,共17页。3confidentialHTTP协议格式n 请求格式 POST/HTTP/1.0 rn Content-Type:text/xml;charset=UTF-8rnContent-Length:7rnUser-Agent:Jakarta Commons-HttpClient/3.0rnHost:219.148.202.18:9081rnrnABCDEFG第3页,共17页。4confidentialHTTP协议格式
2、n 应答格式HTTP/1.1 200 OKrnContent-Type:text/xml;charset=utf-8rnContent-Length:8rnConnection:closernrnResponse第4页,共17页。5confidentialHTTP头n HTTP的头域包括通用头,请求头,响应头和实体头四个部分。每个头域由一个域名,冒号(:)和域值三部分组成。域名是大小写无关的,域值前可以添加任何数量的空格符,头域可以被扩展为多行,在每行开始处,使用至少一个空格或制表符。第5页,共17页。6confidentialHTTP头请求头n Accept、Accept-Charset、A
3、ccept-Encoding、Accept-Language、Authorization、From、Host、If-Modified-Since、If-Match、If-None-Match、If-Range、If-Range、If-Unmodified-Since、Max-Forwards、Proxy-Authorization、Range、Referer、User-Agent。第6页,共17页。7confidentialHTTP头响应头第7页,共17页。8confidentialHTTP头通用头n Cache-Control、n Connection、n Date、n Pragma、n T
4、ransfer-Encoding、n Upgrade、n Via。第8页,共17页。9confidentialTrunked传输方式HTTP/1.1 200 OKrnServer:Apache/2.2.9(Fedora)rnTransfer-Encoding:chunkedrnrn86brnAbcdefgrn23crnFdjfkdjfkdjfdkfjrn0rn第9页,共17页。10confidentialSSL简介n 安全套接层协议SSL是网景公司(Netscape)提出的基于公钥密码机制的网络安全协议,用于在客户端浏览器软件与Web服务器之间建立一条安全 通道,实现Internet上信息传送
5、的保密性。n 它包括服务器认证、客户认证(可选)、SSL链路上的数据完整性和SSL链路上数据保密性。现在国内外一 些对保密性要求较高的网上银行、电子商务和电子政务等系统大多数是以SSL协议为基础建立的,SSL协议已成为Web安全方面的工业标准。n 目前广泛采用的 是SSL v3版。SSL提供的面向连接的安全性作用,具有以下三个基本功能:(1)连接是秘密的,在初始握手定义会话密钥后,用对称密码(例如用DES)加密数 据。(2)连接是可认证的,实体的身份能够用公钥密码(例如RSA、DSS等)进行认证。(3)连接是可靠的,消息传输包括利用安全Hash函数产生的带 密钥MAC(Message Auth
6、entication Code:报文鉴别码)第10页,共17页。11confidentialSSL 协议层次第11页,共17页。12confidentialSSL协商过程n客 户client端发送Client Hello信息给服务器Server端,Server回答Server Hello。这个过程建立的安全参数包括协议版本,“佳话”标识,加密算法,压缩方法。另外,还交换2个随机数:Client Hello.Random和Server Hello.random.用以计算机“会话主密钥”nHello消息发送完后,Server会发送它的证书和密钥交换信息,如果Server端被认证,它就会请求Clie
7、nt端的证书,在验证以后,Server就发送Hello-done消息以示达成了握手协议,即双方握手接通 nServer请求Client证书时,Client要返回证书或返回“没有证书的指示,这种情况用于单向认证,即客户端不装有证书。然后Client发送密钥交换消息。n服务器Server此时要回答“握手完成“消息(Finished),以示完整的握手消息交换,已经全部完成。n握手协议完成后,Client端即可与Server端传输应用加密数据,应用数据加密一般是用第(2)步密钥协商时确定的对称加/解密密钥。如DES、3DE等等,目前商用加密强度为128位。非对称密钥一般为RAS,商用强度1024位,用
8、于证书的验证。第12页,共17页。13confidentialSSL的应用n单向认证:又称匿名SSL连接,这是SSL安全连接的最基本模式,它便于使用,主要的浏览器都支持这种方式,适合单向数据安全传输应用。在这种模式下 客户端没有数字证书,只是服务器端具有证书,以确认用户访问的是自己要访问的站点。网上 银行的所谓“大众版”就是这种。n 双方认证:是对等的安全认证,这种模式通信双方都可以发起和接收SSL连接请求。通信双方可以利用安全应用程序(控件)或安全代理软件,前者一般适合 于B/S结构,而后者适用于C/S结构,安全代理相当于一个加密/解密的网关,这种模式双方皆需安装证书,进行双向认证。这就是网
9、上银行的B2B的专业版 等应用。n 电子商务中的应用。电子商务与网上银行交易不同,因为有商户参加,形成客户商家银行,两次点对点的SSL连接。客户,商家,银行,都必须具证书,两次点对点的双向认证。第13页,共17页。14confidentialcookie、sessionn Cookie定义 “Cookie是Web服务器保存在用户硬盘上的一段文本。Cookie允许一个Web站点在用户的电脑上保存信息并且随后再取回他。信息的片断以名/值对(name-valuepairs)的形式储存。”n session 定义 session指的就是访问者从到达某个特定主页到离开为止的那段时间的会话上下文。第14页,共17页。15confidentialCookie、session区别n Session是存在服务器端的;而Cookie是存在客户端的!n Session更无需Cookie来支持和不会受浏览器端的配置影响,可记录每个访问者的信息,单独在服务器端,比Cookie安全!n Session是存在内存中的,浏览器关闭他也就“死”了;Cookie是以文档方式存在的,能够修改其“存活”时间。第15页,共17页。Copyright 2008欢迎指正第16页,共17页。Copyright 2008演讲完毕,谢谢观看!第17页,共17页。