基于ssl的公共安全通道在实名认证系统中应用的研究毕业论文(编辑修改稿)内容摘要:

7 页 共 41 页 物理保护一直到数学方式的算法加密,都可以让非授权人对数据不可存取或阅读。 机密性是保证信息安全的最基本和最直接的需求。 (nonrepudiation)。 不可否认性用于阻止一个实体对其以前的行为或动作进行否认。 如在电子商务交易中,一个用户可能对其所签署的数字合同或订购的货物进行否认,以达到欺诈的目的。 在密码学中,一般采用数字签名和可信的第三方的方式来提供不可否认服务。 (authentication)。 认证性是同身份相关联的一项服务,用于确认实体就是他所声明的。 认证一般分为两种 :实体身份认证和数据来源认证。 实体身份识别可以确定通信双方的真实身份,以产生一个加密和解密所使用的会话密钥或建立一个安全通信信道。 数据来源认证用于确认数据是否来在他所 声称的某个实体,而不是由其他人假冒或伪造的。 事实上,如何保证信息的安全传输涉及到整个计算机网络安全体系中的很多方面,它们之间不是彼此孤立的,而是相互依赖、相互影响的。 因此,我们有必要对计算机网络安全及其体系结构有一个整体的认识。 数据加密技术 信息安全技术的核心是密码,信息加密是保障信息安全的最基本、最核心的技术措施和理论基础。 SSL 协议的核心是一系列的加密、解密和认证等过程。 要研究 SSL 协议,我们必须对现代数据加密的一些技术有最基本的了解。 加密技术 数据加密的基本思想是 :通过对信息进 行置换和转换将所传输的内容变成一些不规则的数据,来伪装需要保护的信息,使非授权者不能了解被保护信息的内容。 那些需要隐藏的信息称为明文,进行置换和转换的算法称为加密算法,明文被置换后的结果称为密文,由明文产生密文的过程叫做加密。 解密是和加密相反的过程,它将密文数据转换为明文。 加密和解密算法的操作通常是在一组密钥控制下进行的,分别称为加密密钥和解密密钥。 一个加密系统采用的基本工作方式称为密码体制,密码体制的基本要素是密码算法和密钥。 一个数据加密 /解密系统如图 21 所示: 第 8 页 共 41 页 图 21 密码系统示意图 根据加密密钥和解密密钥是否相同或本质上等同,即是否可以从一个容易的推出另一个,可将现有的密码体制分为两种 :一种是对称密钥体制 (私钥密码体制 ),另一种是非对称密钥体制 (公钥密码体制 )。 信息安全技术除了包括信息的保密外,还涉及到信息的可靠性。 加密技术可以防止信息被无关的第三方解密或读取,即被动式的攻击,但不能防止第三方对信息的伪造和篡改,即主动式的攻击。 单项 HASH 函数是解决信息可靠性、防止信息被伪造和篡改的一种有效体制。 图 2图 2图 24分别说明了上面讨论的三种基本密码技术。 图 22 对称秘要加密技术 图 23 非对称密钥加密技术 第 9 页 共 41 页 图 24 单向 HASH 函数 对称密钥加密技术 对称密钥加密技术,也称为单钥加密技术,即加密密钥和解密密钥是相同的。 密钥必须特殊保管。 对称密钥加密技术的特点是,保密强度高,计算开销时间少,处理速度快,适合大文件加 /解密。 缺点是密钥分发和管理困难。 对称密钥加密过程如上图 22。 根据对明文的加密方式的不同,又可将私钥密码体制分为两类 :一类是分组密码 (block ciphers),在这类体制中,先将明文分组 (每组 含有多个字符 ),然后逐组地进行加密。 另一类是流密码 (stream ciphers),在这类体制中,明文按字符逐位地被加密。 公钥密码体制大都是分组密码,一般不再按明文的加密方式对其进行分类。 我们通常所说的分组密码特指私钥分组密码。 流密码是用一个时变的变换对单个明文字符进行操作,它一次将 1比特明文变化为 1比特密文的算法。 分组密码在一个密钥的控制之下对固定的位数的分组进行加密,其密钥的位数和这个固定的位数大致相等,而流密码使用尽可能长的密钥,由于长的密钥的存储,分配都很困难,因此,采用一个较 短的密钥来控制某种算法来产生出长的密钥。 产生流密码的最简单方法通常称之为二元加法流密码。 对于流密码方式,它有很多优点。 它的密钥序列是随机变化的,而且每个密钥只使用一次。 由于这种方式允许用户自己改变加密序列的大小,这样总可以找到一个分组大小使得不用填充明文,这样就可以充分的利用有限的网络带宽。 流密码几乎总是比分组密码快,通常使用的代码也比分组密码少得多。 对于分组密码,可以重复使用密钥。 流密码则更像一次一密,流密码密钥只使用一次。 选择分组密码是因为它是标准的。 换句话说,没有哪种更好。 若需要重复使用密钥,就使 用第 10 页 共 41 页 分组密码。 如果必须保证互用性,那么最好用 AES。 否则,就使用流密码算法。 分组密码是用一个固定的变换对一个比较大的明文数据进行操作,它是许多密码系统中最突出也是最重要的成分。 以分组密码为基础,可以构造伪随机数生成器、流密码、 MAC和安全 HASH函数。 分组密码对数据分组进行操作。 当将大量数据交给这种算法来加密或解密时,它将明文分解为多个分组,然后独立地对每个分组进行操作。 通常,每个分组有 8到 16字节。 有时需要加密的信息的长度不是明文长度的整数倍,此时就需要对明文信息进行填充 (padding)后才能加密,解密完成后应去掉填充位。 (1) RC5 RC5也是由 Ronald Rivest开发,并公布于 1994年。 RCS允许用户自定义密钥长度,数据分组长度,以及加密的迭代次数。 该算法既适合于硬件实现,又适合于软件实现,速度非常快。 (2) RC2 RC2是一个分组加密算法,最初由 Ronald Rivest开发,作为商业秘密归 RSA Data Security公司所有, RC是 Rivest Ciphers首字母的缩写。 它是一个很强的 加密算法, RC2的商业版本允许使用从 1直到 2048位的密钥。 (3) DES DES是 Data Encryption Standard(数据加密标准 )的缩写,它由美国国家标准协会(National Institute of Standards and Technology, NIST)以及 IBM公司于 70年代发布的。 美国己经在 1998年 12月停止使用 DES,并用 AES(Advanced Encryption Standard)作为新的加密标准。 非对称密钥加密技术 非对称密钥加密技术也称公钥加密技术。 公钥体制于 1976年由 Whitfield Diffie和Martin Hellman提出,这一体制的出现在密码学史上是划时代的事件,它为解决计算机通信网络中的安全提供了新的理论和技术基础,也是 PKI发展的理论基础。 这一体制的最大特点是采用两个密钥将加密和解密分开 :每个用户都有两个密钥,一把公开密钥和一把私有密钥,前者用于加密,后者用于解密。 传统私钥密码体制中令人头疼的密钥分发问题转变为一个性质完全不同的“公开钥匙分发”问题,因此,非对称密码技术的特点是便于密钥管理和分发,第 11 页 共 41 页 便于通信加密和数字签名。 缺点是处理速度较慢,特别是加密大文件时,计算开销 要大。 常用的公钥密码算法 : (1) DSA Digital Signature Algorithm(数字签名算法 )是由 NSA(National Security Agency,美国国家安全局 )开发,被 NIST采用并作为联邦信息处理标准 (F工 PS,Federal Information Processing Standards)。 虽然 DSA也可以用于加密,但它通常仅用作数字签名。 (2) RSA 著名的 RSA加密算法是由 MIT的 Ronald Rivest和 Adi Shamir教授,以及 USC的 Leonard Adleman教授联合开发的, RSA就是以他们的名字的首字母命名。 RSA可用作加密信息,也可用作数字签名。 RSA加密算法的密钥长度可以是任意长度。 (3)DiffieHellman DiffieHellman算法是一个在公共信道上制作和交换共享密钥的算法。 通信双方约定一些通用的数值,然后每一方建立一个密钥,将密钥数学变形后交换。 于是通信双方可以各自建立会话密钥,而攻击者很难破解这个密钥。 这个算法通常被用作密钥交换的基础,密钥可以是任意长度,越长的密钥越安全。 SSL协议概述 Secure Sockets Layer(安全套接字层,简称 SSL)协议是由 Netscape公司为制定数据安全性所开发的通信协议。 1995年, Netscape公司提出了 SSL2. 0之后,很快就成为一个事实上的标准,并为众多的厂商所采用。 1996年, Netscape公司发布了 SSL3. 0,该版本增加了对除了RSA算法之外的其他算法的支持和一些安全特性,并且修改了前一个版本中一些小的问题,相比 SSL2. 0更加成熟和稳定。 1999年 1月 IETF基于 SSL协议发布了 (Transport Layer Security)版本, Netscape公司宣布支持该开放的标准。 SSL协议向基于 TCP/IP的客户 /服务器应用程序提供了客户端和服务器的鉴别、数据完整性、及信息机密性等安全措施。 该协议通过在应用程序进行数据交换前交换 SSL初始握手信息来实现有关安全特性的审查。 在 SSL握手信息中采用了 DES, MD5等加密技术来实现机密性和数据完整性,并采用 X. 509的数字证书实现鉴别。 该协议已成为事实上的工业标准,并被广泛应用于 Inter和 Intra的服务器产品和客户端产品中。 如 Netscape公司、微软公司、 IBM公司等领导 Inter/Intra网络产品的公司已在使用该协议。 第 12 页 共 41 页 第三 章 SSL 在实名认证系统中应用的总体 设计 技术选型 开发环境 语言: Java 核心技术: SpringMVC、 tuscany(sca)、 ajax、 SSL 开发工具: Eclipse 、 tomcat 、 术语和定义、缩略语 用户身份的一种凭证,登录应用系统的介质,类似于银行的 u盾。 第 13 页 共 41 页 WebService技术是为了适应分布式计算环境下提供的一种 web对象访问技术。 : API 应用程序接口( Application Program Interface),简称应用接口 B/S 浏览器 /服务器 C/S 客户端 /服务器 4. SSL 接口 jar 包 第 14 页 共 41 页 技术架构 组件层控制层通 用 A c t i o n表现层数据层服务层D A O代 理 W E B 服 务 ( w e b s e r v i c e )业 务 服 务J s p J s自 定 义 标 签S e r l e t定 制 A c t i o n文 件 系 统U I 组 件组 件 服 务组 件 工 厂 说明: 一、 表现层: 负责界面展现,提供人机数据交换,通常情况是将页面数据使用 Ajax技术提交给通用 Action,并接收返回结果进行处理。 当发生特定请求处理 或上传文件时,提交给定制 Action; 表现层不能直接访问访问业务服务,或组件服务(特定 UI 组件除外)。 二、 控制层: 负责接收界面请求,并提交给代理 web 服务( Webservice)进行处理,同时从 Webservice 接收返回结果,并返回给请求页面;定制 Action 处理通用 action无法处理的页面请求; 三、 服务层: 服务层是对业务逻辑功能的实现,服务层分为两部分,其一是代理web 服务( Webservice) ,其二是业务功能实现。  代理 web 服务( Webservice):服务层对外提供统一、唯一的 Webservice 服务,由一个代理服务类实现,由代理服务类路由到具体的业务功能实现类。  业务 服务 :实现特定业务逻辑功能。  组件服务:系统各组件保持一定的独立性,降低耦合性,将组件包装成服务第 15 页 共 41 页 组件,统一发布使用。 组件服务由 Service 和组件工厂组成,组件工厂负责具体实现。 四、 数据层: 完成数据的存储和文件的生成。  DAO: 完成数据库存取操作; 文件系统: 完成文件生成操作; 核心开发设计 核心部分的目的:是提供一个公共服务 ( Webservice) 即代理服务,实现系统表现层到业务逻辑功能实现的路由转换和数据的交互。 同时,公共服 务 ( Webservice) 还需根据业务逻辑功能实现的配置要求,进行用户安全验证和请求数据验证。 在核心部分还将提供一个公用的 action 即代理 action,目的是缩减开发量,减少 action的数量。 交互的数据格式如下:  表现层请求数据格式 ,由表现层实现数据封装,并提交给公共服务 Xml 格式 解释说明 ?xml version= encoding。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。