网络安全概要设计说明书

上传人:ba****u 文档编号:190134645 上传时间:2023-02-26 格式:DOCX 页数:30 大小:313.14KB
收藏 版权申诉 举报 下载
网络安全概要设计说明书_第1页
第1页 / 共30页
网络安全概要设计说明书_第2页
第2页 / 共30页
网络安全概要设计说明书_第3页
第3页 / 共30页
资源描述:

《网络安全概要设计说明书》由会员分享,可在线阅读,更多相关《网络安全概要设计说明书(30页珍藏版)》请在装配图网上搜索。

1、网络安全概要设计说明书1. 引言31.1产品介绍31.2项目背景31.3定义32. 任务概述42.1目标42.2运行环境42.3功能模块概述43. 总体设计53.1总体处理流程53.2总体顺序图63.3总体结构和模块外部设计74. 功能模块设计84.1信息加密传输模块(通信时封装https协议)84.1.1 SSL协议概述84.1.2 SSL协议的规范94.1.3.SSL协议的体系结构94.1.4.SSL工作原理104.1.5.SSL 的实现114.1.6.工作流程144.1.7.SSL提供的服务144.1.8. HTTPS 简介144.1.9. 加密通信154.1.10. 基于SSL的通信过

2、程154.2登录注册页面模块设计164.3生成数字证书模块设计164.3.1. 数字认证164.3.2. 数字签名概述164.3.3. 数据加密技术164.3.4. 非对称密码体制174.3.5. 单向散列函数174.3.6. 数字签名技术实现184.3.7. 数字签名实现身份认证分析194.3.8. 数字签名总体分析194.4订单明细页面模块设计194.5支付页面模块设计194.6信息加密存储模块设计204.6.1. PKI 简介204.6.2. PKI 的运行204.6.3. 公钥基础设施的理论基础224.6.4. 基于RSA的加密设计的特点224.6.5. 基于RSA的加密设计的系统结构

3、234.6.6. RSA算法描述和实现细节234.6.7. 对RSA算法的数字签名254.6.8. 用RSA交换对称的会话密钥254.6.9. 基于RSA的加密设计的安全性分析255.系统接口265.1外部接口265.2内部接口261.引言1.1产品介绍随着各行业信息化建设的飞速发展,政府、企事业单位产生了大量的各类电子文档.在 对这些文档使用和管理的过程中,我们常常会遇到远程传送困难、文档检索不便、安全性差 等问题。为了解决这些问题。实现方便、安全和高效地管理使用电子文档。我们使用SSL安 全机制使用数字证书.建立用户与服务器之间的加密通信,确保所传递信息的安全性。SSL 使用加密技术实现会

4、话双方信息的安全传递,可以实现信息传递的保密性和完整性,并且会 话双方能鉴别对方身份。Internet浪潮把我们的社会带入了全新的信息化时代,也使每个企业都面对着巨大的机 遇和挑战。从生产到销售、从操作到管理、从企业纳税到工商年检,自动化办公、电子政务、 电子商务等一系列网络信息化操作模式已经彻底改变了企业的运作模式。如何充分适应网络 环境、合理利用信息化手段是网络时代企业发展取胜的关键。但在进入互联网角色之后,许 多企业也许会经常遇到这样的困惑:内部管理时怎样在网上确认员工的身份?网上交易时对 方发出的信息是否真实可信?网上纳税时怎样有效地表明企业的身份?等等。由此可见,信任 是每个企业及实

5、体进行各种网上行为的基础,构架一个安全可信的网络环境是各种网上操作 顺利开展的有利保障。数字证书正是这样一种建立网上信任关系、确保网络信息传输安全的 可靠工具。近来,随着电子商务的不断发展,人们对信息安全的要求也越来越高。在网络上,信息 在源与宿的传递过程中会经过其他的计算机。一般情况下,中间的计算机不会监听路过的信 息,但在使用网上银行或者进行信用卡交易的时候有可能被监视,从而导致个人隐私的泄漏。 因此Netscap e公司提出了 SSL(Server Socket Layer)协议,旨在达到在开放网络上安全保密地 传输信息的目的,这种协议在Web上获得了广泛的应用。当Web客户与可。明艮务

6、器进行通信时,通信数据有可能被网络上其它计算机监视。SSL 使用加密技术实现会话双方之间信息的安全传递,这意味着数据从一端发送到另一端时,发 送者先对数据加密,然后再把它发送给接收者。这样,在网络上传输的是经过加密的数据。 如果有入在网络上非法截获了这些数据,由于没有解密的密钥,因此无法获得真正的原始数 据。接收者接收到加密的数据后,先对数据解密,然后再处理。本产品旨在为消费者提供一个安全的网络交易平台,以保证用户网络信息安全。1.2项目背景a. 本系统由网络安全技术项目开发小组开发研制b, 本系统采用BS架构,以WEB应用的形式满足用户的使用需求。目前主要的WEB开发 技术有java平台的J

7、2EE技术1.3定义SSL: Secure Sockets Layer 安全套接层数字签名:数字签名是手写签名和印章的电子替代物,它是一个由签名人的私钥和被签消息计算出来的比特串,可用于消息的完整性认证和消息的源认证,在电子商务和电 子政务系统可用于保证消息的不可否认性和完整性。数字认证:基于数字签名对用户的身份进行确认PKI: PKI作为一组在分布式计算系统中利用公钥技术和X. 509证书所提供的安全服务,企业或组织可利用相关产品建立安全域,并在其中发布密钥和证书。在安 全域内,PKl管理加密密钥和证书的发布,并提供诸如密钥管理(包括密钥更新, 密钥恢复和密钥委托等)、证书管理(包括证书产生

8、和撤销等)和策略管理等。CA:证书机构RA:注册机构2.任务概述2.1目标利用https协议实现web服务器和web客户端之间的数据的加密传输,数字签名认证,加密 存储,实现网络安全通信,实现简单的电子商务流程2.2运行环境WindowsXP/Vista/Windows7,MyEcilipse7以上,tomcat 5.5,SqlServer2005/OracleXE2.3功能模块概述1. 登录注册页面,实现用户的登录和注册,和服务器进行通信使用https协议,在将注册信 息保存到数据库时,对注册信息进行加密传输,web服务器收到数据后进行解密,然后对数 据进行加密存储。2. 生成数字证书,用于

9、对订单文件的数字认证。3. 订单明细页面,让用户进行下订单,在用户下订单时使用数字签名,是订单具有不可否认 性,同时上传一个订单文件,对订单文件进行加密传输,web服务器收到文件后对文件进行 解密,然后对文件加密存储4. 支付页面,让用户对下的订单进行支付,对支付信息进行加密传输,web服务器接受到 信息后对信息解密,然后对信息进行加密存储。3.总体设计3.1总体处理流程客户打开浏览器用户登陆界面用户注册成功显示支付成功页面支付页面用户登陆下定单订单页面3.2总体顺序图客户端浏览器注册信息W 登录信息w服务器用户注册信息加)数据库密传输用户注册信息加密存储)(成功)订单显示页面主册信息存储结果

10、信息录页面用户登录信息)用户登录信息)(成功)订单显示页面返回登录验证信息(失败)用户登录页面支付信息订单文件加密传输并进行数单文件加密存储) 付页面订单文件存储信息)(成功)用户支(失败)订单显示界面支付信息加密传输支付信息加密传)(成功)支付成功页面 支付结果信息存储登录页面展示模块(注册信息加密传输和存储)业务支撑 或订单页面展示模块(对订单数字签名)支付页面展示模块(支付信息加密传输)数据访问与持久层3.3总体结构和模块外部设计WEB服务器应用层 应用层:系统与用户交互的界面、各功能模块的交互、流程实现。应用层在MVC模型 中包含了表示层与控制层。 业务支撑或业务方法层:为应用层提供业

11、务逻辑接口与实现。从开发的角度来说,应用 层不直接含有业务处理逻辑。对业务的处理由业务支撑或业务方法层提供。该层对业务 逻辑接口提供实现。应用层不需知道实现的细节,应用层以接口调用可以很好的应对实 际业务处理的变更。业务支撑层在MVC模型中为模型层或模型适配。 数据访问与持久层:提供数据库连接、访问、与持久化数据库数据。 数据库:系统业务数据的存储。 WEB服务器是整个应用程序的运行环境,是接受用户HTTPS请求与服务响应的接口。4.功能模块设计4.1信息加密传输模块(通信时封装https协议)4.1.1 SSL协议概述SSL是Secure socket Layer英文缩写,它的中文意思是安全

12、套接层协议,指使用公钥和 私钥技术组合的安全网络通讯协议oSSL协议是网景公司(Netscape)推出的基于WEB应用的 安全协议,SSL协议指定了一种在应用程序协议(如Http、Telenet、NMTP和FTP等)和TCP/IP 协议之间提供数据安全性分层的机制,它为TCP/IP连接提供数据加密、服务器认证、消息完 整性以及可选的客户机认证,主要用于提高应用程序之间数据的安全性,对传送的数据进行 加密和隐藏,确保数据在传送中不被改变,即确保数据的完整性。SSL是一种保证在网络上的两个节点之间进行安全通信的协议oSSL可以用来建立安全的网络 连接,网络通信协议如 HTTP 和I MAP(Int

13、ernet Messaging Application Protocol)都可以采 用SSL机制。人们把采用了 SSL机制的HTIP称为HTTPS协议。HTIP使用的默认端口为80,而HTIPS 使用的默认端口为443。客户端和服务器之间使用https协议进行通信,实现网络数据的加密传输。基于SSL的网 络文档管理系统.通过建立SSL服务器.从用户登录认证和数据传输加密两个方面来保重系 统的安全。SSL位于HITI,P层和TCP层之问。建立了SSL安全机制后.只有SSL允许的客户才能 与SSL允许的Web站点进行通信。用户在登录时向SSL安全服务器提交一个身份认证请求,该 请求通过SSL连接传

14、输到认证服务器.服务器比对用户登录ID、口令、IP地址是否匹配数据 库中存储信息,如果正确。则返回确认消息。启动用户进入系统并赋予相应的权限。用户在 传送文档的过程中,通过SSL安全机制使用数字证书.建立用户与服务器之间的加密通信, 确保所传递信息的安全性。SSL以对称密码技术和公开密码技术相结合,可以实现如下三个通信目标:(1) 秘密性:SSL客户机和服务器之间传送的数据都经过了加密处理网络中的非法窃听 者所获取的信息都将是无意义的密文信息。(2) 完整性:SSL利用密码算法和散列(HASH)函数,通过对传输信息特征值的提取来保证 信息的完整性,确保要传输的信息全部到达目的地,可以避免服务器

15、和客户机之间的信息受 到破坏。(3 )认证性:利用证书技术和可信的第三方认证,可以让客户机和服务器相互识别对方的 身份。为了验证证书持有者是其合法用户(而不是冒名用户),SSL要求证书持有者在握手时 相互交换数字证书,通过验证来保证对方身份的合法性。4.1.2 SSL协议的规范在SSL协议中,所有的传输数据都被封装在记录中。记录是由记录头和长度不为0 的记录数据组成的。所有的SSL通信包括握手消息、安全空白记录和应用数据都使用SSL 记录层。SSL记录协议包括了记录头和记录数据格式的规定。1) SSL记录头格式:SSL的记录头可以是两个或三个字节长的编码。SSL记录头的包含的信息包括:记录 头

16、的长度、记录数据的长度、记录数据中是否有粘贴数据。其中粘贴数据是在使用块加 密算法时,填充实际数据,使其长度恰好是块的整数倍。最高位为1时,不含有粘贴数 据,记录头的长度为两个字节,记录数据的最大长度为32767个字节;最高位为0时, 含有粘贴数据,记录头的长度为三个字节,记录数据的最大长度为16383个字节。当数据头长度是三个字节时,次高位有特殊的含义。次高位为1时,标识所传输的 记录是普通的数据记录;次高位为0时,标识所传输的记录是安全空白记录(被保留用于 将来协议的扩展)。记录头中数据长度编码不包括数据头所占用的字节长度。记录头长度为两个字节的 记录长度的计算公式:记录长度= (byte

17、0 ; 0x7f) ; 8) | byte1。其中 byte0、byte1 分别表示传输的第一个、第二个字节。记录头长度为三个字节的记录长度的计算公式: 记录长度= (byte0 ; 0x3f) ; 8) | byte1。其中 byte0、byte1的含义同上。判断是否 是安全空白记录的计算公式:(byte0 ; 0x40) != 0。粘贴数据的长度为传输的第三个字节。2) SSL记录数据的格式:SSL的记录数据包含三个部分:MAC数据、实际数据和粘贴数据。MAC数据用于数据完整性检查。计算MAC所用的散列函数由握手协议中的CIPHER -CHOICE消息确定。若使用MD2和MD5算法,则MA

18、C数据长度是16个字节。MAC 的计算公式:MAC数据= HASH密钥,实际数据,粘贴数据,序号。当会话的客户端发 送数据时,密钥是客户的写密钥(服务器用读密钥来验证MAC数据);而当会话的客户端 接收数据时,密钥是客户的读密钥(服务器用写密钥来产生MAC数据)。序号是一个可以 被发送和接收双方递增的计数器。每个通信方向都会建立一对计数器,分别被发送者和 接收者拥有。计数器有32位,计数值循环使用,每发送一个记录计数值递增一次,序 号的初始值为0。4.1.3.SSL协议的体系结构SSL协议位于TCP/IP协议模型的网络层和应用层之间,使用TCP来提供一种可靠的端到 端的安全服务,它是客户/服务

19、器应用之间的通信不被攻击窃听,并且始终对服务器进行认证, 还可以选择对客户进行认证o SSL协议在应用层通信之前就已经完成加密算法、通信密钥的 协商以及服务器认证工作,在此之后,应用层协议所传送的数据都被加密。SSL实际上是共同 工作的两层协议组成,如图1所示。从体系结构图可以看出SSL安全协议实际是SSL握手协议、SSL修改密文协议、SSL警告协议和SSL记录协议组成的一个协议族:握手协议修改密文协议报警协议SSL记录协议TCPIP图1SSL记录协议为SSL连接提供了两种服务:一是机密性,二是消息完整性。为了实现这两 种服务,SSL记录协议对接收的数据和被接收的数据工作过程是如何实现的呢?

20、SSL记录协 议接收传输的应用报文,将数据分片成可管理的块,进行数据压缩(可选),应用MAC,接着利 用IDEA、DES、3DES或其他加密算法进行数据加密,最后增加由内容类型、主要版本、次要 版本和压缩长度组成的首部。被接收的数据刚好与接收数据工作过程相反依次被解密、验 证、解压缩和重新装配,然后交给更高级用户。SSL修改密文协议是使用SSL记录协议服务的SSL高层协议的3个特定协议之一, 也是其中最简单的一个。协议由单个消息组成,该消息只包含一个值为1的单个字节。该消 息的唯一作用就是使未决状态拷贝为当前状态,更新用于当前连接的密码组。为了保障SSL 传输过程的安全性,双方应该每隔一段时间

21、改变加密规范。SSL告警协议是用来为对等实体传递SSL的相关警告。如果在通信过程中某一方发 现任何异常,就需要给对方发送一条警示消息通告。警示消息有两种:一种是Fatal错误,如 传递数据过程中,发现错误的MAC,双方就需要立即中断会话,同时消除自己缓冲区相应的会 话记录;第二种是Warning消息,这种情况,通信双方通常都只是记录日志,而对通信过程不 造成任何影响。SSL握手协议可以使得服务器和客户能够相互鉴别对方;协商具体的加密算 法和MAC算法以及保密密钥,用来保护在SSL记录中发送的数据。SSL握手协议允许通信实体在交换应用数据之前协商密钥的算法、加密密钥和对客户端进行 认证(可选)的

22、协议,为下一步记录协议要使用的密钥信息进行协商,使客户端和服务器建 立并保持安全通信的状态信息。SSL握手协议是在任何应用程序数据传输之前使用的。SSL 握手协议包含四个阶段:第一个阶段建立安全能力;第二个阶段服务器鉴别和密钥交换;第三 个阶段客户鉴别和密钥交换;第四个阶段完成握手协议。4.1.4.SSL工作原理SSL是对计算机之间整个会话进行加密的协议,采用了非对称密钥和对称密钥两种 加密方式.一个SSL传输过程需要先握手,用公钥加密算法使服务器端和客户端相互验 证,验证成功后产生一个会话密钥,随后使用这个会话密钥和对称密钥算法在通信中 快速地加密、解密数据。在每次SSL会话中服务器都完成一

23、次使用服务器专有密钥的操 作和一次使用客户公开密钥的操作。在客户端和服务器进行SSL通信前,假设双方都拥有一份数字证书。当SSL客户和 服务器首次开始通讯时,它们就协议版本、加密算法的选择、是否验证对方及公钥加密技术的应用进行协商以产生共享的密钥,这一处理过程由握手协议完成。客户端首次发出客户问候消息,服务器收到之后或者发出客户服务器问候消息,或 者发生终止性的错误。客户和服务器的问候消息产生了下列属性:协议版本号、对话标 识符、加密套接字及压缩方法,而且产生了两个随机数并且相互交换。在问候消息之后, 若要求验证身份,服务器将发出其证书。另外,如果需要的话 服务器将发出一个 Server Ke

24、y Exchange消息。如果这个服务器已经被认证,它将向客户端请求证书。客户发送Server Key Exchange报文,构造报文的方法如下:生成该次通信用的密钥Key ; 客户用自己的RSA私钥签名;再附上客户的证书。客户验证了服务器的身份;同时,服 务器验证了客户的身份。验证身份之后,分发该次通信用的加密密钥Key。客户和服务器 验证该次通信用的加密密钥Key的正确性以后,握手过程结束,客户端和服务端之间就建 立了一个安全连接,可以开始交换应用层数据了。4.1.5.SSL的实现以Tomcat服务器为例实现SSL的应用。Tomcat既可以作为独立的Servlet容器,也可 以作为其他HT

25、YP服务器附加的Servlet容器。如果Tomcat在非独立模式下工作,通常不必 配置SSL,而由它所属的HTTP服务器来实现和客户的SSL通信。Tomcat和HITP服务器之 间的通信无需采用加密机制,HTTP服务器将解密后的数据传给Tomcat,并把Tomcat发来的 数据加密后传给客户。如果Tomcat作为独立的Java Web服务器,则可以根据安全需要为Tomcat配置SSL,它 包含两个步骤:准备安全证书、配置Tomca t的SSL连接器(Connector)。(1)SSL 和 Tomcat配置Tomcat来利用secure sockets仅仅在它作为一个独立的web服务器时才有必要

26、。 当Tomcat主要作为在另外一个web服务器,如Apache或Microsoft IIS,后面Servlet/JSP 容器运行时,通常有必要把主要的web服务器配置来处理与用户的SSL连接。通常,这个服 务器会对所有的SSL-相关的功能进行交涉,然后再把对Tomcat容器的请求解密后传递过 去。同样,Tomcat会返回明码的回应,这个回应将被加密后才被送到用户浏览器。在这样 的环境下,Tomcat知道与主要web服务器和客户的交流是通过一个安全连接才发生的(因为 你的程序需要询问这些情况),但是它本身并没有参与加密和解密。(2)产生 KeystoreTomcat现在只支持JKS或PKCS1

27、2格式的keystores. JKS格式是Java的标准 KeyStore格式,它可以用Java的keytool来产生。这个工具在Java的bin目录里。 PKCS12格式时互联网的标准,可以用OpenSSL和微软的Key-Manager来修改。使用OpenSSL把一个现存的被你自己CA签署的认证书输入到PKCS12 keystore里面, 你会执行象这样的一个命令:openssl pkcs12 -export -in mycert.crt -inkey mykey.key -out mycert.p12 -name tomcat -CAfile myCA.c -caname root -ch

28、ain要从头开始产生一个新的keystore,包含一个自签的认证书,从一个终端命令行执行下面的命令:视窗如下:这个命令会在用户的home directory产生一个叫做 .keystore 的新文件。要指 定一个不同的位置(location)或文件名,在上面所示的keytool命令里添加-keystore 参数,后面紧跟着你的keystore文件的全部路径名。你还需要把这个新的位置在server.xml配置文件中反映出来,这在后面将有描述。例如: 视窗在执行这个命令后,你首先被要求出示keystore密码Tomcat使用的默认密码是 changeit (全都是小写字母),如果你愿意,你可以指定

29、你自己的密码。你还需要在server.xml配 置文件里指定自己的密码,这在以后会有描述。下一步,你会被要求出示关于这个认证书的一般性信息,如公司,联系人名称,等等。这些 信息会显示给那些试图访问你程序里安全网页的用户,以确保这里提供的信息与他们期望的 相对应。最后,你会被要求出示密钥(key)密码,也就是这个认证书所特有的密码(与其它的储存在同 一个keystore文件里的认证书不同)。你必须在这里使用与keystore密码相同的密码。(目 前,keytool会提示你按ENTER键会自动帮你做这些)。如果一切顺利,你现在就拥有了一个可以被你的服务器使用的有认证书的keystore文件。(3)

30、配置SSL连接器把你 的 secure socket 配置在 $CATALINA_HOME/conf/server.xml 文件里, $CATALINA_HOME代表你在其中安装Tomcat 5的目录。一个例子是SSL连接器的Connector 元素被包括在和Tomcat 一起安装的缺省server.xm l文件里。它看起来象是这样:!-有一些额外的选项被用来配置SSL协定。依赖于你早先怎样配置你的keystore,你也许需 要添加或更改下列属性值:属性描述clientAuth如果你想要Tomcat要求所有的SSL客户在使用这个socket时出示用 户认证书,把这个值设定为true。如果你想要

31、Tomcat要求出示用 户认证书,但是如果没有认证书也可以,就把这个值设定为want。keystoreFile如果你产生的keystore文件不在Tomcat期望的默认地方(一个叫 做.keystore的文件在Tomcat运行的主目录),就添加这个属性。 你可以指定一个绝对路径名称,或者一个由$CATALINA_BASE环境变 量而派生的相对路径名称keystorePass如果你使用一个不同的keystore(以及认证书)密码,而不、是Tomcat 期望的密码(就是changeit),添加这个元素。keystoreType如果使用一个PKCS12 keystore的话,就添加这个element

32、。有效的 值是 JKS 和 PKCS12 osslProtocol要在这个socket上被使用的加密/解密协定。如果你在使用Sun的 JVM,我们不提倡更改这个值。据报道,TLS协定的IBM,s 1.4.1实 现与一些通用的浏览器不兼容。如果是这样,就使用value SSL。ciphers这个socket允许使用的由逗号分隔开的加密密码列单。默认的情况 下,任何可用的密码都允许被使用。algorithm可用的X509算法。默认是Sun的实现(SunX509)。对于IBMJVMs, 你应该使用值IbmX509o对于其他卖主,查阅JVM文档资料来找正 确的值。truststoreFiletrust

33、storePass用来验证用户认证书的TrustStore文件访问TrustStore的密码。默认值就是keystorePass的值truststoreType如果你在使用与KeyStore不同格式的TrustStore,添加这个兀素。合 法的值是JKS和PKCS12okeyAlias如果keystore里面有多个key,你可以为用这个选项为加入的key 起一个名字。如果没有指定名字,使用时keystore内的第一个key 将会被使用。经过以上配置之后,SSL连机器就配置好了。重起Tomcat服务器,用户就可以通过HTTPS 安全地与该服务器进行通信了,其默认端口为443。4.1.6.SSL工

34、作流程服务器认证阶段:1)客户端向服务器发送一个开始信息“ Hello ”以便开始一个新的会话连接;2)服务器根据客户的信息确定是否需要生成新的主密钥,如需要则服务器在响应 客户的“ Hello ”信息时将包含生成主密钥所需的信息;3)客户根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加 密后传给服务器;4)服务器恢复该主密钥,并返回给客户一个用主密钥认证的信息,以此让客户认 证服务器。用户认证阶段:在此之前,服务器已经通过了客户认证,这一阶段主要完成对客户的认证。经认证 的服务器发送一个提问给客户,客户则返回(数字)签名后的提问和其公开密钥,从而 向服务器提供认证。4.1.7

35、.SSL提供的服务SSL协议提供的服务主要有:1)认证用户和服务器,确保数据发送到正确的客户机和服务器;2)加密数据以防止数据中途被窃取;3)维护数据的完整性,确保数据在传输过程中不被改变。4.1.8.HTTPS 简介HTTPS (全称:Hypertext Transfer Protocol over Secure Socket Laye),是以安全为目 标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础 是SSL,因此加密的详细内容就需要SSL。它是一个URI scheme (抽象标识符体系), 句法类同http:体系。用于安全的HTTP数据传输htt

36、ps:URL表明它使用了 HTTP,但HTTPS 存在不同于HTTP的默认端口(HTTPS使用的默认端口为443)及一个加密/身份验证层 (在HTTP与TCP之间)。这个系统的最初研发由网景公司进行,提供了身份验证与加 密通讯方法,现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。限制它的安全保护依赖浏览器的正确实现以及服务器软件、实际加密算法的支持. 一种常见的误解是“银行用户在线使用https:就能充分彻底保障他们的银行卡号不被偷 窃。”实际上,与服务器的加密连接中能保护银行卡号的部分,只有用户到服务器之间 的连接及服务器自身。并不能绝对确保服务器自己是安全的,这点甚至已被攻击者利

37、用, 常见例子是模仿银行域名的钓鱼攻击。少数罕见攻击在网站传输客户数据时发生,攻击 者尝试窃听数据于传输中。商业网站被人们期望迅速尽早引入新的特殊处理程序到金融网关,仅保留传输码 (transaction number)。不过他们常常存储银行卡号在同一个数据库里。那些数据库和服 务器少数情况有可能被未授权用户攻击和损害。4.1.9 .加密通信当Web客户与Web服务器进行通信时,通信数据有可能被网络上其它计算机监视。 SSL使用加密技术实现会话双方之间信息的安全传递,这意味着数据从一端发送到另一 端时,发送者先对数据加密,然后再把它发送给接收者。这样,在网络上传输的是经过 加密的数据。如果有入

38、在网络上非法截获了这些数据,由于没有解密的密钥,因此无法 获得真正的原始数据。接收者接收到加密的数据后,先对数据解密,然后再处理。采用 SSL的通信过程如图3所示:图3.基于SSL的加密通信4.1.10.基于SSL的通信过程当Web客户采用HTTPS协议访问安全的Web站点时,Web站点将自动向客户发送它 的安全证书。在Web客户与Web服务器进行SSL握手的阶段,采用非对称加密方法传递 数据,由此来建立一个安全的会话,接下来将采用对称加密方法传递实际的通信数据, 以下是通信过程:(1) 用户浏览器将自己的SSL版本号、加密设置参数、与Session有关的数据以及 其他一些必要信息发送到服务器

39、。(2) 服务器将自己的SSL版本号、加密设置参数,与Session有关的数据以及其他 一些必要信息发送给浏览器,同时发送给浏览器的还有服务器的证书。如果服务器的SSL 需要验证客户身份,还会发出请求要求浏览器提供用户证书。(3) 客户端检查服务器证书,如果检查失败,就提示不能建立SSL连接。如果成功, 那么继续下一步骤。(4) 客户端浏览器为本次会话生成预备主密码(pre. master secret),并将其用服 务器公钥加密后发送给服务器。(5) 如果服务器要求鉴别客户身份,客户端还要再对另外一些数据签名后并将其与 客户端证书一起发送给服务器。(6) 如果服务器要求鉴别客户身份,则检查签

40、署客户证书的CA是否可信。如果不在 信任列表中,结束本次会话。如果检查通过,服务器用自己的私钥解密收到的预备主密 (pre. master-secret),并用它通过某些算法生成本次会话的主密码(master-secret) o(7) 客户端与服务器均使用此主密码(master-secret)生成本次会话的会话密钥(对 称密钥)。在双方SSL握手结束后传递任何消息均使用此会话密钥。这样做的主要原因 是对称加密比非对称加密的运算量低一个数量级以上,能够显著提高双方会话时的运算速度。(8) 客户端通知服务器此后发送的消息都使用这个会话密钥进行加密,并通知服务 器客户端已经完成本次SSL握手。(9)

41、 本次握手过程结束,会话已经建立。在接下来的会话过程中,双方使用同一个 会话密钥分别对发送以及接收的信息进行加密、解密。4.2登录注册页面模块设计实现用户的登录,以及用户的注册把注册信息传给web服务器,客户端界面和服务器之间 使用https协议进行通信,通信时实现数据的加密传输。4.3生成数字证书模块设计4.3.1.数字认证认证技术是计算机网络安全中的一个重要方面。通过认证可以达到通信双方的信任,从 而实现更好的网络通信。利用认证技术中的身份认证技术,用数字签名实现身份认证。认证(Authentication)机制分为消息认证与身份认证两种。消息认证用于保证信息的完整 性与抗否认性,身份认证

42、则用于鉴别用户身份。身份认证技术是实现网络安全的重要机制之 一。在安全的网络通信中通信双方必须通过某种形式的身份验证来证明身份以实现不同用户 的访问控制。在网络通信应用日益广泛的今天,从某种意义上说,认证技术可能比信息加密 本身更加重要。因为很多通信内容本身并不需要保密,但是要求双方通过身份认证来达到一 种互相信任的关系。4.3.2 .数字签名概述日常生活中,我们常把在书面文件上签名作为确认文件的一种手段。签名的作用有两点, 一是因为自己的签名难以否认,从而可以确认文件已经签署的事实,即保证文件的不可否认 性;二是因为签名不易仿冒,从而可以确定文件是由签名人确认的,从而确定文件的来源, 也即确

43、认发送文件人的身份。在网络通信中,通常也使用类似这种签名的方式,来实现发送消息者身份的认证,以及 防止发送消息者对所发送消息的抵赖,这种身份认证的方式就是数字签名(DigitalSignature)。 要实现数字签名,需要用到一些加密技术的知识。下面简单介绍所用到的相关内容。4.3.3 .数据加密技术所谓数据加密技术,就是指通过一定的变换方式,将用户要发送的数据加以变换,从而 使未授权用户即使得到这些改变后的数据,也无法知道其真实内容。而授权用户则可以通过 一定的方式再将数据变换成原先的形式,进而得到所需要的数据。一般的数据加密模型如图 1所示。明文X用加密算法E和加密密钥K得到密文Y=EK(

44、x)。发送消息以密文的形式进 行发送。到了接收端,利用解密算法D和解密密钥K,解出明文DK(Y)=DK(EK(x)=X。在消息的发送过程中,可能有入侵者获取消息,但他们所获取的是密文,我们的加密算 法要求在没有密钥的情况下,即使知道加密算法,也无法解密密文,从而不能得到明文。因 此,密钥管理在加密技术中起到至关重要的作用。在现代的加密技术中,加密算法通常都是 公开的,但是密钥却是保密的,通常都是通过一定的安全通道来进行密钥的传输的。4.3.4.非对称密码体制根据加密时和解密时所用到的密钥的相同与否,加密技术分为对称密码体制和非对 称密码体制。其中对称密码体制中加密密钥和解密密钥是同一个密钥,因

45、而要对密钥加 以绝对的保护,一旦密钥泄露,则整个加密系统无安全性可言。现在常用的对称密码体 制有 DES(USFederDataEncryptionStandard),三重 DES, IDEA(InternationalDataEncryptionA1. gorithm)等。菲对称密码体制又称公开密钥密码体制。公钥密码体制,是指加密密钥和解密密钥 使用不同密钥的加密技术。其中一个密钥可以公布于众,称为公钥;而另一个密钥必须 保密,称为私钥。至于是用公钥加密私钥解密,还是反之,则要根据实际的应用来确定。 但是有一点是必须要保证的,就是用一个密钥加密,则一定能够用另一个密钥解密。现 在广泛使用的非

46、对称密码加密技术主要有RSA(RivestShamirAdelman)、椭圆曲线算 法等。4.3.5 .单向散列函数单向散列函数,又称为Hash函数,利用该函数可以对消息取摘要,而且可以证明 对不同的消息所取得的摘要也完全不同。利用hash函数可以保证传输消息的完整性, 因为攻击者任何一点对消息的改变,都会使其利用hash所取得的摘要有所不同,接收 方只要对接收到的消息再利用hash函数取摘要,与所接收到的消息摘要加以比较,就 可以知道所接收到的消息是否在传输的过程中被攻击者加以修改。常用的hash函数有 MD5(MessageDigestAlgorithm5)、SHA(SecureHashA

47、lgorithm)等。4.3.6 .数字签名技术实现正如前面所提到的,数字签名具有和手书签名一样的功能,可以用来防止网上电子 信息因容易修改而被人破坏或作伪,或冒用别人的名义发送信息,或者在发出或收到信 息后又加以否认等情况发生。数字签名并不是使用“手书写签名”类型的图形标志,因为这样极易复制。为此, 数字签名另辟蹊径,采用了双重加密的方法来实现加密文件的防伪与防赖。其原理及处 理过程如下:(1) 使用单向散列函数将发送文件加密产生数字摘要;(2) 发送方用自己的私钥对摘要再加密,这样就形成了数字签名;(3) 将原文和加密的摘要同时传给对方;(4) 接收方用发送方的公共密钥对摘要解密,同时对收

48、到的文件用同样的单向散列 函数加密产生又一摘要;(5) 将解密后的摘要和收到的文件在接受方重新产生的摘要相互对比。如果两者一 致,则说明是发送方签名的文件,而且传送过程中信息没有被破坏和篡改,否则要么不 是发送方签的名,要么信息已失去其安全性及保密性。图2说明了数字签名的过程。图2数字签名的过程4.3.7 .数字签名实现身份认证分析为什么用这种数字签名机制就可以实现身份认证呢?在数字签名中,使用了非对称密码体制。被认证方用私钥对摘要进行加密,而认证方用 公钥进行解密。因为私钥是保密的,除了被认证方外其他人并不知道,因此,认证方认为所 接收到加密消息一定是从被认证方发送过来的,否则其他人并不会用

49、被认证方的私钥进行加 密。因而可以确定消息发送者的身份。为什么要用hash函数取摘要呢?因为常用的非对称密码体制如RSA,由于其算法非常复 杂,使得他的工作效率非常低。如果我们要发送的文件很大,那么就需要比较长的时间才能 完成加密和解密的工作。而取得的摘要是发送文件的一个压缩,比原文件要小了很多,因此 可以比较快地实现加密和解密。另外,用hash函数取摘要还可以防止消息在发送的过程中 被人为地修改和破坏。因为根据hash函数的原理,对于消息的任何一个小的修改,都会使 所得的摘要有所不同。接收方在比较解密后的摘要和用hash函数生成的摘要后,就知道所 接收文件是否在传输的过程中被修改,这也实现了

50、认证的另一方面一一消息认证。4.3.8 .数字签名总体分析随着计算机网络技术研究和应用的发展,网络安全已经成为人们所关注的焦点。如 何在网络的虚拟世界里实现通信双方的相互信任,这是网络安全研究者一直在探索的问题。 认证方案的选择必须以系统需求和安全性能为出发点,结合各认证技术的利弊,减少身份认 证机制和信息认证机制中的计算量和通信量,而同时又能提供较高的安全性能。利用数字签 名实现认证方案,有效地解决了目前种种身份认证方法存在的不足,提高了系统的安全强度 和等级。但是数字签名技术也并非绝对完美。由于数字签名中要用到公钥加密技术,而加密技术 中最关键的问题之一就是密钥的保护问题。在公钥加密技术中

51、,对于私钥的保护至关重要, 若私钥被泄露,则数字签名就失去了其意义。因此,在实现数字签名的同时,还需要设计一 定的机制来实现私钥的保护。4.4订单明细页面模块设计显示商品的订单信息,并且能够让用户下订单。下订单时上传订单文件并用生成的数字 证书进行数字签名认证。4.5支付页面模块设计使用户能够对用户的订单信息进行支付,并将支付信息上传给web服务器4.6信息加密存储模块设计4.6.1. PKI 简介PKI作为一组在分布式计算系统中利用公钥技术和X. 509证书所提供的安全服务,企业 或组织可利用相关产品建立安全域,并在其中发布密钥和证书。在安全域内,PKl管理加密 密钥和证书的发布,并提供诸如

52、密钥管理(包括密钥更新,密钥恢复和密钥委托等)、证书管 理(包括证书产生和撤销等)和策略管理等。PKI产品也允许一个组织通过证书级别或直接交 叉认证等方式来同其他安全域建立信任关系。这些服务和信任关系不能局限于独立的网络之 内,而应建立在网络之间和Internet之上,为电子商务和网络通信提供安全保障,所以具有 互操作性的结构化和标准化技术成为PKI的核心PK I在实际应用上是一套软硬件系统和安全 策略的集合,它提供了一整套安全机制,使用户在不知道对方身份或分布地很广的情况下, 以证书为基础,通过一系列的信任关系进行通讯和电子商务交易一个典型的PKI系统包括PKI 策略、软硬件系统、证书机构C

53、A、注册机构RA、证书发布系统和PKI应用等。1. PK I安全策略建立和定义了一个组织信息安全方面的指导方针,同时也定义了密码系统 使用的处理方法和原则。它包括一个组织怎样处理密钥和有价值的信息,根掘风险的级别定 义安全控制的级别。2. 证书机构CA是PKI的信任基础,它管理公钥的整个生命周期,其作用包括:发放证书、 规定证书的有效期和通过发布证书废除列表(CRL)确保必要时可以废除证书。3. 注册机构RA提供用户和CA之间的一个接口,它获取并认证用户的身份,向CA提出证书 请求。它主要完成收集用户信息和确认用户身份的功能。这里指的用户,是指将要向认证中 心(即CA)申请数字证书的客户,可以

54、是个人,也可以是集团或团体、某政府机构等。注册管 理一般由一个独立的注册机构(即RA)来承担。它接受用户的注艇申请,审查用户的申请资格, 并决定是否同意CA给其签发数字证书。注册机构并不给用户签发证书,而只是对用户进行资 格审查。因此,RA可以设置在直接面对客户的业务部门,如银行的营业部、机构认识部门等。 当然,对于一个规模较小的PIG应用系统来说,可把注册管理的职能由认证中心CA来完成, 而不设立独立运行的RA。但这并不是取消了PICA的注册功能,而只是将其作为CA的一项功能 而已。PKI国际标准推荐由一个独立的RA来完成注册管理的任务,可以增强应用系统的安全。4. 证书发布系统负责证书的发

55、放,如可以通过用户自己,或是通过目录服务。目录服 务器可以是一个组织中现存的,也可以是PKI方案中提供的。5. PKI的应用非常广泛,包括在web服务器和浏览器之间的通讯、电子邮件、电子数据 交换(EDI)、在Internet上的信用卡交易和虚拟私有网(VPN)等。一个简单的PKI系统包括证书机构CA、注册机构RA和相应的PKI存储库。CA用于签发并管 理证书;RA可作为CA的一部分,也可以独立,其功能包括个人身份审核、CRL管理、密钥产 生和密钥对备份等:PKI存储库包括LDAP目录服务器和普通数据库,用于对用户申请、证书、 密钥、CRL和日志等信息进行存储和管理,并提供一定的查询功能。4.

56、6.2. PKI的运行PKI的运行模型采用X. 509标准PKIX1. 署名用户向证明机构(CA)提出数字证书申请;2. CA验明署名用户身份,并签发数字证书;3. CA将证书公布到证书库中;4. 署名用户对电子信件数字签名作为发送认证,确保信件完整性,不可否 认性,并发送给依赖方;5. 依赖方接收信件,用署名用户的公钥验证数字签名,并到证书库查明署 名用户证书的状态和有效性;6. 证书库返回证书检查结果。证书机构CA3:王书庭L112rJ署名用户依或为4PKI中证书生命周期管理的各个阶段分别为:初始化阶段、颁发阶段、取消阶段、证书 过期和证书撤销。1. PKI初始化:PKl支持的服务之前,它

57、们必须初始化以进APKI。初始化由以下几步组 成:终端实体注册、密钥对产生、证书创建和密钥/证书分发、证书分发和密钥备份。2. 密钥/证书的颁发阶段:一旦私钥和公钥证书已经产生并适当地分发,密钥/证书生命周期管理的颁发阶段即开始。这个阶段包括:证书检索,远程资料库的证书检索;证书验证,确定一个证书的有效性(包括证书路径的验证);密钥恢复,当不能正常访问密钥资料时,MCA或信任第三方处恢复;密钥更新,当一个合法的密钥对将过期时,进行新的公/私钥的自动产生和相应证 书的颁发。3. 密钥/证书的撒消阶段密钥/证书生命周期管理以取消阶段来结束。此阶段包括如下内容:证书过期:证书生命周期的自然结束;证书

58、撤销:宣布一个合法证书(及其相关私有密钥)不再有效:密钥历史:维持一个有关密钥资料的记录(一般是关于终端实体的),以便被过期的密钥 资料所加密的数据能够被解密;密钥档案:出于对密钥历史恢复、审计和解决争议的考虑所进行的密钥资料的安全第三 方储存。4.6.3 .公钥基础设施的理论基础信息的保密性是信息安全的一个重要方面。保密的目的是防止第三方通过监听、非法截 取等手段非法获取机密信息,丽加密是保护机要信息的一个重要手段。所谓加密,就是用数 学方法重新组织数据,使得除了合法的接受者外,任何其他人要想恢复原先的“消息”(将 原先的消息称作“明文”)或读懂变化后的“消息”(将变化后的消息称为“密文”)

59、都是非 常困难的。通常,我们把将密文恢复成明文的过程称作解密。加密和解密操作分别是在一组 密钥控制下进行的,它们被分别称为加密密钥和解密密钥。根据加密密钥和解密密钥在性质 上的差异,可以将密码体制分为两类:对称密钥体制和公钥体制。加密密钥和解密密钥相同 或本质相同的体制被称为对称密钥加密体制。这种加密算法运算速度快,适合于加解密传输 中的信息。其中最为著名的对称密钥算法是美国的数据加密标准(DES算法)。该标准由IBM 公司研制,美国商业部所属的国家标准局(NBS )于1977年正式批准并作为美国联邦信息处理 的标准。虽然美国已经宣布这种算法不再作为美国加密的标准,但这种算法已经广泛应用于 世

60、界各地(包括中国)的商业中。对称密钥密码体制的缺陷是通信双方在进行通信前必须通过 一个安全信道事先交换密钥,这在网络应用中是不现实的,而且对称密钥体制无法保证信息 的不可抵赖。公钥体制的提出则从技术上解决了这些问题。所谓公钥体制就是加密密钥和解密密钥不 相同,并且从其中一个很难推断出另一个。这样,我们可以将其中一个密钥公开(称为公钥), 另一个密钥由用户自己保存(称为私钥)。假如某人(Bob)想和另一个人(Alice)通信,只要Bob 能找到Alice的公钥,用Alice的公钥将信息加密,传递给Alice,然后Alice用自己的私钥解 密信息。这样即使加密后的信息误传递给他人,或被他人截获,也

61、不用担心信息的泄露。同 样的道理,Alice若想向Bob证实信息是自己发送的,那么他只需将信息用自己的私钥加密, 然后传递给Bob,Bob用Alice的公钥解密信息,若能够被解开,则证明该信息是Alice发送的, 而且事后这条信息也是不可抵赖的,因为只有Alice才能加密信息,其他人(包括Bob)是无法 伪造这条信息的,尽管他们能读懂这条信息。从上面假想的通信模式可以看出,公钥密码体 制可以使通信双方无须事先交换密钥就可以建立安全通信。公钥密码体制可用于身份认证、 数字签名和密钥交换。公钥体制一般是建立在某些己知的数学难题之上,是计算机复杂性理 论发展的必然结果。最为典型的代表是RSA公钥密码

62、体制RSA算法是Rivest、Shamir和Adleman 于1977年提出的第一个完善的公钥密码体制,其安全性是基于分解大整数的困难性。在RSA 体制中使用了这样一个基本事实:到目前为止,无法找到一个有效的算法来分解两个大素数 之积。4.6.4.基于RSA的加密设计的特点1. 系统很容易扩充。当需要增加一个服务器(share Server)时,只需对此服务器进行一次 私钥的分发,并通知所有签名计算单元(Combiner)。增加Combiner也是容易的,只需传送正 确的Combiner的数据就可以了。所有过程都由密钥中心(Key Center )来完成。2. 攻击一个组件并不能得到私钥。在t-k方案中,即使在全部掌握所有的Share Server时, 也不能得到认证机构的私钥。掌握小于t台

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!