Ipsec顾名思义就是ip security,ip安全,主要应用于ip包传输的安全,也就是网络层的安全传输,
IPSec提供了两种安全机制:认证(采用ipsec的AH)和加密(采用ipsec的ESP)。
AH协议为IP通信提供数据源认证、数据完整性和反重播保证,它能保护通信免受篡改,但不能防止窃听,适合用于传输非机密数据。AH的工作原理是在每一个数据包上添加一个身份验证报头。此报头包含一个带密钥的hash散列(可以将其当作数字签名,只是它不使用证书),此hash散列在整个数据包中计算,因此对数据的任何更改将致使散列无效--这样就提供了完整性保护。
·Next Header(下一个报头): 识别下一个使用IP协议号的报头,例如,Next Header值等于"6",表示紧接其后的是TCP报头。
·Length(长度): AH报头长度。
·Security Parameters Index (SPI,安全参数索引): 这是一个为数据报识别安全关联的 32 位伪随机值。SPI 值 0 被保留来表明"没有安全关联存在"。
·Sequence Number(序列号):从1开始的32位单增序列号,不允许重复,唯一地标识了每一个发送数据包,为安全关联提供反重播保护。接收端校验序列号为该字段值的数据包是否已经被接收过,若是,则拒收该数据包。
·Authentication Data(AD,认证数据): 包含完整性检查和。接收端接收数据包后,首先执行hash计算,再与发送端所计算的该字段值比较,若两者相等,表示数据完整,若在传输过程中数据遭修改,两个计算结果不一致,则丢弃该数据包。
ESP为IP数据包提供完整性检查、认证和加密,可以看作是"超级 AH", 因为它提供机密性并可防止篡改。
·Security Parameters Index (SPI,安全参数索引):为数据包识别安全关联。
·Sequence Number(序列号):从1开始的32位单增序列号,不允许重复,唯一地标识了每一个发送数据包,为安全关联提供反重播保护。接收端校验序列号为该字段值的数据包是否已经被接收过,若是,则拒收该数据包。 ESP报尾字段包括:
·Padding(扩展位):0-255个字节。DH算法要求数据长度(以位为单位)模512为448,若应用数据长度不足,则用扩展位填充。
·Padding Length(扩展位长度):接收端根据该字段长度去除数据中扩展位。
·Next Header(下一个报头):识别下一个使用IP协议号的报头,如TCP或UDP。
ESP认证报尾字段:
·Authentication Data(AD,认证数据): 包含完整性检查和。完整性检查部分包括ESP报头、有效载荷(应用程序数据)和ESP报尾。见图四。
二、SSL/TLS
(1)连接是保密的:对于每个连接都有一个唯一的会话密钥,采用对称密码体制(如DES、RC4等)来加密数据;
(2)连接是可靠的:消息的传输采用MAC算法(如MD5、SHA等)进行完整性检验;
(3)对端实体的鉴别采用非对称密码体制(如RSA、DSS等)进行认证。
握手过程分为4个阶段:
(1)初始化逻辑连接,客户方先发出ClientHello消息,服务器方也应返回一个ServerHello消息,这两个消息用来协商双方的安全能力,包括协议版本、随机参数、会话ID、交换密钥算法、对称加密算法、压缩算法等。
(2)服务器方应发送服务器证书Certificate(包含了服务器的公钥等)和服务端会话密钥(Serverkeyexchange),如果服务器要求验证客户方,则要发送CertificateRequest消息。最后服务器方发送ServerHelloDone消息,表示hello阶段结束,服务器等待客户方的响应。
(3)如果服务器要求验证客户方,则客户方先发送客户端证书Certificate消息,然后产生客户端会话密钥,并用服务器的公钥加密,封装在ClientKeyExchange消息中,如果客户方发送了自己的证书,则再发送一个数字签名CertificateVerify来对证书进行校验。
(4)客户方发送一个ChangeCipherSpec消息,通知服务器以后发送的消息将采用先前协商好的安全参数加密,最后再发送一个加密后的Finished消息。服务器在收到上述两个消息后,也发送自己的ChangeCipherSpec消息和Finished消息。至此,握手全部完成,双方可以开始传输应用数据。
SSL记录协议从高层接收到数据后要经过分段、压缩和加密处理,最后由传输层发送出去。在SSL协议中,所有的传输数据都被封装在记录中,SSL记录协议规定了记录头和记录数据的格式。
每个SSL记录包含以下信息:(1)内容类型:指SSL的高层协议;(2)协议版本号:指所用的SSL协议版本号,目前已有2.0和3.0版本;(3)长度:指记录数据的长度,记录数据的最大长度为16383个字节;(4)数据有效载荷:将数据用SSL握手阶段所定义的压缩方法和加密方法进行处理后得到的结果;(5)MAC:MAC在有效数据被加密之前计算出来并放入SSL记录中,用于进行数据完整性检查,若使用MD5算法,则MAC数据长度是16个字节。SSL记录协议采用了RFC2104中关于HMAC结构的修正版,在HASH函数作用之前将一个序号放入消息中,以抵抗各种形式的重传攻击,序号是一个32位的递增计数器
第一条 标的技术的内容、形式和要求(包括应达到的技术指标、成果提交方式等):
建立一个基于INTERNET的山西省外商投诉VPN,利用山西省投资促进局现有的宽带线路及内网资源,配置VPN服务器,并自主开发相应的隧道技术、数据加密、身份认证等方面的应用软件,实现虚拟专用网,使全省各市投诉分支机构能通过公网,以VPN方式访问山西省外商投诉网,进行保密数据传输及网上投诉服务。
开发好的VPN应方便实用,采用智能卡进行身份验证,VPN上网速度与公网相当,线路稳定可靠,应有友好的后台维护界面,并充分考虑将来的业务发展。
成果提交包括可执行程序、开发源代码及书面维护文档。