网络安全技术项目设计说明书网络安全概要设计说明书1.引言ﻩ311产品介绍 312项目背景ﻩ31.3定义 32.任务概述ﻩ42.1目标 42.2运行环境 423功能模块概述ﻩ43.总体设计 531 总体处理流程 532 总体顺序图ﻩ63.3 总体结构和模块外部设计ﻩ74.功能模块设计 841信息加密传输模块(通信时封装https协议)ﻩ84.1.1 SSL协议概述ﻩ841.2 SSL协议的规范 94.13.SSL协议的体系结构ﻩ94.1.4SSL工作原理ﻩ104SSL的实现ﻩ114.1.6工作流程 144SSL提供的服务 144.1.8HTTPS简介 144加密通信 15410.基于SSL的通信过程 1542登录注册页面模块设计 164.3生成数字证书模块设计ﻩ164数字认证 164数字签名概述ﻩ164数据加密技术ﻩ164非对称密码体制ﻩ174.35.单向散列函数ﻩ174.3数字签名技术实现ﻩ184.3.7数字签名实现身份认证分析 194.3数字签名总体分析ﻩ194.4订单明细页面模块设计ﻩ1945支付页面模块设计 194.6信息加密存储模块设计ﻩ204.6.1PKI简介 204.6.2。
PKI的运行 2046.3.公钥基础设施的理论基础 224.64.基于RSA的加密设计的特点ﻩ2246.5.基于RSA的加密设计的系统结构 234.6RSA算法描述和实现细节ﻩ2346.7.对RSA算法的数字签名 254.6用RSA 交换对称的会话密钥 254基于RSA的加密设计的安全性分析 255.系统接口 265.1 外部接口ﻩ265.2 内部接口ﻩ261.引言1.1产品介绍 随着各行业信息化建设的飞速发展,政府、企事业单位产生了大量的各类电子文档.在对这些文档使用和管理的过程中,我们常常会遇到远程传送困难、文档检索不便、安全性差等问题为了解决这些问题.实现方便、安全和高效地管理使用电子文档我们使用SSL安全机制使用数字证书.建立用户与服务器之间的加密通信,确保所传递信息的安全性SSL使用加密技术实现会话双方信息的安全传递,可以实现信息传递的保密性和完整性,并且会话双方能鉴别对方身份ﻩ Internet浪潮把我们的社会带入了全新的信息化时代,也使每个企业都面对着巨大的机遇和挑战从生产到销售、从操作到管理、从企业纳税到工商年检,自动化办公、电子政务、电子商务等一系列网络信息化操作模式已经彻底改变了企业的运作模式。
如何充分适应网络环境、合理利用信息化手段是网络时代企业发展取胜的关键.但在进入互联网角色之后,许多企业也许会经常遇到这样的困惑:内部管理时怎样在网上确认员工的身份?网上交易时对方发出的信息是否真实可信?网上纳税时怎样有效地表明企业的身份?等等由此可见,信任是每个企业及实体进行各种网上行为的基础,构架一个安全可信的网络环境是各种网上操作顺利开展的有利保障.数字证书正是这样一种建立网上信任关系、确保网络信息传输安全的可靠工具ﻩ近来,随着电子商务的不断发展,人们对信息安全的要求也越来越高.在网络上,信息在源与宿的传递过程中会经过其他的计算机一般情况下,中间的计算机不会监听路过的信息,但在使用网上银行或者进行信用卡交易的时候有可能被监视,从而导致个人隐私的泄漏因此Netscape公司提出了SSL(Server Socket Layer)协议,旨在达到在开放网络上安全保密地传输信息的目的,这种协议在Web上获得了广泛的应用 当Web客户与Web服务器进行通信时,通信数据有可能被网络上其它计算机监视SSL使用加密技术实现会话双方之间信息的安全传递,这意味着数据从一端发送到另一端时,发送者先对数据加密,然后再把它发送给接收者。
这样,在网络上传输的是经过加密的数据如果有入在网络上非法截获了这些数据,由于没有解密的密钥,因此无法获得真正的原始数据接收者接收到加密的数据后,先对数据解密,然后再处理ﻩ本产品旨在为消费者提供一个安全的网络交易平台,以保证用户网络信息安全1.2项目背景a. 本系统由网络安全技术项目开发小组开发研制b. 本系统采用BS架构,以WEB应用的形式满足用户的使用需求.目前主要的WEB开发技术有java平台的J2EE技术1.3定义SSL:Secure Sockets Layer 安全套接层数字签名:数字签名是手写签名和印章的电子替代物,它是一个由签名人的私钥和被签消息 ﻩ 计算出来的比特串,可用于消息的完整性认证和消息的源认证,在电子商务和电 ﻩﻩ 子政务系统可用于保证消息的不可否认性和完整性数字认证:基于数字签名对用户的身份进行确认PKI:PKI作为一组在分布式计算系统中利用公钥技术和X.509证书所提供的安ﻩ全服务,企业或组织可利用相关产品建立安全域,并在其中发布密钥和证书在安 全域内,PKl管理加密密钥和证书的发布,并提供诸如密钥管理(包括密钥更新, 密钥恢复和密钥委托等)、证书管理(包括证书产生和撤销等)和策略管理等。
CA:证书机构RA:注册机构2.任务概述21目标利用https协议实现web服务器和web客户端之间的数据的加密传输,数字签名认证,加密存储,实现网络安全通信,实现简单的电子商务流程2.2运行环境WindowsXP/Vista/Windows7,MyEcilipse7以上,tomcat 5.5,SqlServer2005/OracleXE2.3功能模块概述1.登录注册页面,实现用户的登录和注册,和服务器进行通信使用https协议,在将注册信 息保存到数据库时,对注册信息进行加密传输,web服务器收到数据后进行解密,然后对数据进行加密存储2.生成数字证书,用于对订单文件的数字认证3.订单明细页面,让用户进行下订单,在用户下订单时使用数字签名,是订单具有不可否认性,同时上传一个订单文件,对订单文件进行加密传输,web服务器收到文件后对文件进行解密,然后对文件加密存储4.支付页面,让用户对下的订单进行支付, 对支付信息进行加密传输,web服务器接受到信息后对信息解密,然后对信息进行加密存储3.总体设计3.1 总体处理流程3.2 总体顺序图 33 总体结构和模块外部设计WEB服务器数据访问与持久层应用层支付页面展示模块(支付信息加密传输)订单页面展示模块(对订单数字签名)登录页面展示模块(注册信息加密传输和存储)数字证书生成模块业务支撑 或业务方法数据库l 应用层:系统与用户交互的界面、各功能模块的交互、流程实现。
应用层在MVC模型中包含了表示层与控制层l 业务支撑或业务方法层:为应用层提供业务逻辑接口与实现.从开发的角度来说,应用层不直接含有业务处理逻辑对业务的处理由业务支撑或业务方法层提供该层对业务逻辑接口提供实现应用层不需知道实现的细节,应用层以接口调用可以很好的应对实际业务处理的变更.业务支撑层在MVC模型中为模型层或模型适配l 数据访问与持久层:提供数据库连接、访问、与持久化数据库数据l 数据库:系统业务数据的存储l WEB服务器是整个应用程序的运行环境,是接受用户HTTPS请求与服务响应的接口4.功能模块设计 41信息加密传输模块(通信时封装https协议)41 SSL协议概述SSL 是Secure socket Layer英文缩写,它的中文意思是安全套接层协议,指使用公钥和私钥技术组合的安全网络通讯协议SSL协议是网景公司(Netscape)推出的基于 WEB应用的安全协议,SSL协议指定了一种在应用程序协议(如Http、Telenet、NMTP和FTP等)和TCP/IP协议之间提供数据安全性分层的机制,它为TCP/IP连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证,主要用于提高应用程序之间数据的安全性,对传送的数据进行加密和隐藏,确保数据在传送中不被改变,即确保数据的完整性。
SSL是一种保证在网络上的两个节点之间进行安全通信的协议SSL可以用来建立安全的网络连接,网络通信协议如HTTP和IMAP(Internet Messaging Application Protocol)都可以采用SSL机制人们把采用了SSL机制的HTIP称为HTTPS协议HTIP使用的默认端口为80,而HTIPS使用的默认端口为443. 客户端和服务器之间使用https协议进行通信,实现网络数据的加密传输基于SSL的网络文档管理系统.通过建立SSL服务器.从用户登录认证和数据传输加密两个方面来保重系统的安全SSL位于H1TI'P层和TCP层之问建立了SSL安全机制后.只有SSL允许的客户才能与SSL允许的Web站点进行通信用户在登录时向SSL安全服务器提交一个身份认证请求,该请求通过SSL连接传输到认证服务器.服务器比对用户登录ID、口令、IP地址是否匹配数据库中存储信息,如果正确则返回确认消息启动用户进入系统并赋予相应的权限用户在传送文档的过程中,通过SSL安全机制使用数字证书.建立用户与服务器之间的加密通信,确保所传递信息的安全性.SSL 以对称密码技术和公开密码技术相结合,可以实现如下三个通信目标:(1)秘密性: SSL客户机和服务器之间传送的数据都经过了加密处理,网络中的非法窃听者所获取的信息都将是无意义的密文信息。
2)完整性: SSL利用密码算法和散列(HASH)函数,通过对传输信息特征值的提取来保证信息的完整性,确保要传输的信息全部到达目的地,可以避免服务器和客户机之间的信息受到破坏3)认证性:利用证书技术和可信的第三方认证,可以让客户机和服务器相互识别对方的身份为了验证证书持有者是其合法用户(而不是冒名用户), SSL要求证书持有者在握手时相互交换数字证书,通过验证来保证对方身份的合法性.41.2 SSL协议的规范 在SSL协议中,所有的传输数据都被封装在记录中记录是由记录头和长度不为0的记录数据组成的所有的SSL通信包括握手消息、安全空白记录和应用数据都使用SSL记录层.SSL记录协议包括了记录头和记录数据格式的规定. ﻫ 1) SSL记录头格式: ﻫ SSL的记录头可以是两个或三个字节长的编码SSL记录头的包含的信息包括:记录头的长度、记录数据的长度、记录数据中是否有粘贴数据其中粘贴数据是在使用块加密算法时,填充实际数据,使其长度恰好是块的整数倍最高位为1时,不含有粘贴数据,记录头的长度为两个字节,记录数据的最大长度为32767个字节;最高位为0时,含有粘贴数据,记录头的长度为三个字节,记录数据的最大长度为16383个字节。
当数据头长度是三个字节时,次高位有特殊的含义次高位为1时,标识所传输的记录是普通的数据记录;次高位为0时,标识所传输的记录是安全空白记录(被保留用于将来协议的扩展) 记录头中数据长度编码不包括数据头所占用的字节长度.记录头长度为两个字节的记录长度的计算公式:记录长度=((byte[0] ; 0x7f) 〈;〈; 8)) | byte[1]其中byte[0]、by。