首页 > > > 基于J2EE的智能小区信息管理系统的安全性研究与应用.pdf

基于J2EE的智能小区信息管理系统的安全性研究与应用.pdf

基于J2EE的智能小区信息管理系统的安全性研究与应用.pdf

上传者: IT金融 2011-10-25 评分1 评论0 下载29 收藏10 阅读量268 暂无简介 简介 举报

简介:本文档为《基于J2EE的智能小区信息管理系统的安全性研究与应用pdf》,可适用于专题技术领域,主题内容包含武汉理工大学硕士学位论文基于JEE的智能小区信息管理系统的安全性研究与应用姓名:王伟申请学位级别:硕士专业:计算机应用技术指导教师:冉春玉摘要智能小符等。

武汉理工大学硕士学位论文基于J2EE的智能小区信息管理系统的安全性研究与应用姓名:王伟申请学位级别:硕士专业:计算机应用技术指导教师:冉春玉20070401摘要智能小区是近年来产生并迅速崛起的止种新型住宅群,它为住户提供了一种更加安全、舒适、方便、快捷和开放的智能化、信息化的生活空间。智能小区管理信息系统,是在一定地域内多个具有相同或不同功能的住宅小区按照统筹的方法分别对其功能进行智能化,充分共享资源,在提供安全、舒适、方便、节能、可持续发展的生活环境的同时,便于统一管理和控制。随着计算机网络技术的快速发展,特别是Web的主流化,使得包括智能小区信息管理系统在内的很多应用系统逐渐由封闭走向开放,所面对的信息资源将越来越依赖于Web环境,导致基于J2EE的网络应用系统所面临着日益复杂的安全管理难题。而传统的信息安全解决方案大多是从系统底层出发,不能够很好的同基于J2EE平台的网络信息系统结合。因此,需要采用一种基于J2EE的安全机制来保证智能小区管理信息系统的安全。本文的研究目标是消除系统的安全隐患,保证信息畅通无阻和安全可靠的传输,提高系统的安全性和健壮性。本文在对传统网络信息安全技术和Java平台基本安全体系的研究基础上,深入地分析和探讨了Java密码学结构(JCA)、Java密码系统扩展(JcE)、Java的验证和授权服务(JAAS)和Java安全套接字扩展(JSSE)等基于J2EE的安全机制。。本文结合智能小区信息管理系统的研究项目,分析了基于J2EE的信息管理系统的安全性特点,设计和实现了系统的安全模块,包括了身份认证模块、权限管理模块、数字签名模块、PGP电子邮件模块和SSL通信模块。在设计和实现过程中,JCA、JCE、JAAS和JSSE的安全特性和技术优势得到了充分体现。通过初步的测试和应用,系统的安全性实现和应用基本上达到了理论设计要求。结果表明,本文阐述的智能小区信息管理系统的安全方案在基于J2EE的网络数据库系统中具有一定的普遍意义,切实可行,具有良好的应用和发展前景。关键字:J2EE,身份认证,数字签名,SSLAbstractWiththedevelopmentofsocialinformationprocess,thepeoplearenotonlyconcernaboutroomarea,naturalenvironmentandtrafficsituationaroundlivingcommunityands0on,butalsoputmoreinterestandattentionontheaspectofoutsideconununication,informationservice,securityguard,estatemanagement.Inordertoadaptthiskindofsocialrequirement,intelligentcommunityraiseatthesamemoment.Theintelligentcommunityinformationmanagementsystem,intellectualizethesRmeordifferentfunctionbuildinginthecertainregionaccordingtotheoverallplanmethod,shareresonrogsfully.Itisveryusefulforprovidingsecurity,comfortable,convenientlivingconditions.Withtherapiddevelopmentofnetworktechnology,applicationsystemisgraduallytransformingitsstatefromisolationto0I脚me鲻,whiletheinformationresourcesthatapplicationsystemfacedependmoreandmoreontheWebenvironment,andthereforeincreasinglycomplicatedsecurityadministrationhasbeA30meatoughproblemderivingfromthenetworkapplicationsystembasedontheJ2EEenterpriseapplicationsystem.Traditionalinformationsecurityschemethatmostlystartshomthebottom啪notcombinedwiththesystembasedonJ2EEplatform.Sotheresearchaimofthispaperistoeliminatethesystem’Ssccuri哆hiddenproblems,ensurethesecllreandunblocktransmissionofinformationinnetwork,improvethesecurityandhalenessofsystem.BasedontheresearchabouttraditionalnetworkinformationsecuritytechnologyandthesecurityarchitectureonJavaplatform,thispaperanalyzedanddiscussed]2EEsecurityarchitecture,includingJavaCryptographicArchitecture(JCA)、JavaCryptographyExtension(JCE)、JavaAuthenticationandAuthorizationService(JAAS)、JavaSecuritySocketExtension(JSSE)andSOon.Thispapercombinedwiththeprojectofintelligentcommunityinformationmanagementsystem,analyzedsecuritycharacteristicanddesignrequirement,designedandimplementedthesecuritymoduleincludingauthenticationmodule、authoritycontrolmodule、signaturemodule、PGPe-mailmoduleandSOon.DuringⅡthedesignandimplement,securitycharacteristicandtechnologyadvantageofJCA、JCE、JAASandJSSEstackedoutamile.Throughinitialtestandapplication,thesecuritymodulesc她meetthebasictheoreticaldesignrequirement.TheresultsoftrialoperationindicatethatusingJ2EEsecuritymechanismtoimplementthesecurityschemeofintelligentcommunityinformationmanagementsystemispracticalandhasgreatapplicationanddevelopmentprospects.Andthisschemeispossibletobeusedabroad.Keywords:J2EE,Authorization,FigureSignature,SSLlII此页若属实.请申请人及导师签名。独创性声明本人声明,所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成果.据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得武汉理工大学或其它教育机构的学位或证书而使用过的材料.与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意.研究生签名:至!盘日期丝:关于论文使用授权的说明本人完全了解武汉理工大学有关保留、使用学位论文的规定,即:学校有权保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部内容,可以采用影印,缩印或其他复制手段保存论文.‘(保密的论文在解密后应遵守此规定)注:请将此声明装订在学位论文的目录前.期2以f武汉理工大学硕士论文第1章绪论1.1课题研究背景和意义建设部颁布的《智能建筑设计标准》GB/T50314-2000中对智能化作了如下描述:“住宅智能化系统设计应体现以人为本的原则,做到安全、舒适、方便。”因此,面向21世纪的智能小区可以概括为:采用高科技智能化手段实现小区快速便捷的现代通信条件、安全舒适的居住环境、高效科学的物业管理三大功能目标111。具体来说,智能化小区是指可以为社区居民提供计算机网络、智能家居、物业服务和管理、电子商务平台、社区服务信息网等全方位信息服务的多媒体综合信息系统,通过这些服务,用户可以实现高速取Interact接入、网上证券期货交易、远程电子视频会议、网上购物、网上教育、网上游戏、家中视频点播等多种功能,还可实现办公家居自动化管理,如家电自动化控制系统、室内安全防护系统、远程抄表收费系统等【2l。智能小区信息管理系统是一个大型集成化的信息系统,它凭借网络的先进性以及多态的表现性,加上各种网络多媒体技术的应用,从而营造出了一个丰富多彩的虚拟社区。不但为小区的管理者与住户建立方便有效的沟通渠道,提高小区的管理、服务质量,而且为小区住户提供了更加全面、周到、快捷的信息服务,提高居民的生活质量131。信息管理系统是以计算机为工具,对信息进行收集、传输、存储以及加工处理、辅助实现事务管理和决策现代化的一种人机交互的智能化计算机系统。信息管理系统的发展与计算机网络技术的发展紧密相关,其体系结构也随着技术和时代的潮流发生了很大的变化,大致经历了三个阶段【4】:第一阶段:主机终端结构(Host/Terminal)、文件服务器结构(File/Server)第二阶段:客户机/服务器模式(Client/Server)第三阶段:浏览器和服务器结构(Browser/Serror)B/S结构将业务逻辑从系统服务和用户界面分离出来,将其作为中间层摆在这二者之间。这时htcmet或Intranet的广泛应用将原有编程模型不易于分布的客户端的缺点暴露出来,同时为了应用开发者可以专注于业务逻辑细节的编武汉理工大学硕士论文程,J2EE技术得到了迅速形成和发展同。J2EE(Java2EnterpdseEdition)规范是Sun公司制定的一个基于Java技术的分布式组件计算平台的规范,在规范定义的平台上可以简单、快速的实现多层结构的基本技术的分布式应用系统。J2EE利用Java2平台来简化诸多与多级企业解决方案的开发、部署和管理相关的复杂问题的体系结构。提供了对各种最新技术EJB、Servlet、JSP、JDBC、CORBA以及XML的全面支持。J2EE提供了一个企业级的计算模型和运行环境,用于开发和部署多层体系结构的应用【q。J2EE是针对Web服务、业务对象、数据访问和消息传送的一组规范,其规范和技术发展更新很快。随着互联网络的快速渗透和软件应用系统功能的日益强大及其复杂程度的提高,安全性呈下降趋势,使得J2EE安全的地位被提升到了一个新的高度。虽然最近两年安全认证中心技术、安全中间件技术得以飞速发展,J2EE组件自身的安全性也有明显加强,确实解决了一定的安全问题,但绝对安全的J2EE系统是不可能实现的。由于Interact网络本身具有的开放性,每一个网络用户在成为网络的受益者的同时,也可能成为网络的破坏者。这导致了Intemet网络的无序化,也使得Internet的网络秩序基本上处于无法可依的状态【7。。因此,需要采用一种基于J2EE的安全机制来保证信息管理系统在网络上的安全性,这就要求采用加密/解密,签名/校验,身份认证,权限控制等手段,结合支持J2EE体系的中间件产品的安全性保障,共同筑就一道安全屏障,提高网络安全性能,把网络安全隐患降低到最小的程度,保证系统和用户的安全。于是基于J2EE的信息管理系统的安全性研究就有着十分重要的意义。1.2国内外研究现状分析目前,世界各国均十分重视信息安全问题。美国政府试图通过官民联手、重点保护的战略,显著提高政府网络系统的安全性,建立可靠互联的信息基础设施,确保国家安全职能。为此,美国启动了包括信息共享计划、确定伙伴关系计划、组建工作机构计划、信息安全教育战略计划、保障政府信息安全计划、完善法律法规计划以及针对基础设施安全的研究开发计划,重点保护美国关键基础设施的安全悼J。在我国,中央领导多次强调要解决好我国的信息安全问题。信息安全现在2武汉理工大学硕士论文已成为我国信息化建设至关重要的基础条件。国家密码管理委员会办公室、国家保密局、公安部等都出台有关政策法规,加强信息安全监管和支持力度。国家计委、科技部、信息产业部、技术监督局等都部署了若干重大项目、产业基地、应用示范、标准规范等工作,旨在加强研究开发、掌握自主知识产权的信息安全技术,我国信息安全技术和产业面临极好的发展机遇。我国科技部对信息安全工作给予了高度重视,在九五后期,紧急启动了863计划信息安全应急计划,部署了信息安全成果产业化基地的建设,成立了国家信息安全工程技术研究中心、国家863计划信息安全基础设施研究中心、国家863计划反计算机入侵和防病毒技术研究中心。十五期间,在基础理论研究、高技术研究、科技攻关以及科技创新基金计划中,全面部署信息安全技术的研究和开发。“国家信息安全应用示范工程”是“十五”国家科技攻关计划重大项目之一9l。信息安全研究对保护国家重要信息系统免受侵害、发展自主知识产权的信息安全技术以及推进信息安全产业化进程等方面,都具有重要的现实意义,是科技部在解决我国信息安全问题方面的重要举措。1.3研究目标和技术路线在信息管理系统的安全性问题上,传统解决方案大多是从系统的底层出发,不能够很好地同基于Web技术尤其是基于J2EE平台的系统结合,无法解决系统传输层和应用层的安全隐患。因此,本文的研究目标是结合J2EE的安全机制,消除系统的安全隐患,提高系统的安全性和健壮性。本系统是基于J2EE的Web应用系统,因此本文先从JAVA的安全机制入手,通过对Java密码学的结构框架(JCA),以及Java加密扩展(JCE)、Java认证和授权服务(JAAS)、Java安全套接字扩展(JSSE)等框架实现技术进行研究,进一步讨论J2EE的网络安全机制在采用B/S模式的Web系统中的应用和实现,从而使系统在跨平台和增加业务逻辑时更能安全有效的运行。本论文是针对智能小区信息管理系统中的安全机制,涉及面广,结构复杂,为了保证系统开发的成功率和生产率,采用软件工程学的生命周期方法学进行开剔101[111。3武汉理工大学硕士论文1.4论文的组织结构第1章简述了课题的研究背景和发展状况以及研究与工作的内容。第2章介绍了密码学以及基本的网络安全技术。第3章介绍了Java安全以及J2EE网络安全机制。第4章阐释了信息管理系统的安全性设计。系统的安全性设计主要有身份认证模块、权限控制模块、数字签名模块、PGP电子邮件模块和SSL传输模块的设计。一第5章信息管理系统的安全实现。针对第四章的设计,详细阐述了身份认证模块、权限控制模块、PGP电子邮件模块、数字签名模块和SSL通信模块的详细实现。第6章全文的总结。4武汉理工大学硕士论文第2章网络信息安全和密码学根据IS0(国际标准化组织)在网络安全标准((IS07498-2)中的定义,网络安全服务分5个层次:身份认证服务、访问控制服务、数据保密服务、数据完整性服务、不可否认服务【121。要进行网络信息安全系统的设计,必须了解网络中信息安全实现的基本原理和实现技术。本章阐释了阿络信息安全基本原理,分析了信息安全中的核心技术一密码技术,介绍了消息摘要和数字签名等其他网络安全技术,并说明只有在应用层的安全才是真正的安全。2.1网络信息安全2.1.1网络信息安全简介随着网络的发展,信息安全的内容也跟着发生变化和扩展。网络由封闭的计算机网络发展为开放的互联网络,网上业务由简单的数据通信,发展为网上的交易。网络信息安全大致经历了三个发展过程:数据安全,系统安全、交易安全【131。数据安全是计算机网络时代的基本安全要求,主要包括与数据安全相关联的技术手段,包括传输数据和存储数据安全,最基础的安全构件是机密性、完整性和访问控制。数据的机密性和完整性可以由算法技术保证,而访问控制则与授权机制结合起来才能起作用。系统安全是开放的互联网络时代最基本安全要求,主要包括与信息系统运行相关的技术手段,包括边界和计算环境安全,最基础的安全构件是保护、探测和响应。所用基本技术是防火墙、VPN加密隧道、IDS入侵检测、防病毒等。交易安全是网络交易时代的最基本安全要求,为交易(Transaction)提供鉴别性证明、负责性证明和审计服务。最基础的安全构件是鉴别性、负责性和审计性。交易安全靠认证系统来保证。认证系统是以交易安全为目的【141。因此Web应用中的安全功能,一般需要满足下列四项功能:机密性:数据不会被未授权的攻击者所窃取。5武汉理工大学硕士论文可认证性:能够确认文件的来源,确实是传送者本人,不是别人伪造的。完整性:文件是真正的原文,并末被无意或是恶意的篡改。不可否认性:发送方在送出文件后,不可否认他曾送出这份文件。2.1.2网络信息安全基本技术1.开放系统互联标准网络中信息安全实现基本技术国际标准化组织在开放系统互联标准(osr)6e定义了7个层次的网络参考模型,它们分别是物理层、数据链路层、网络层、传输层,会话层、表示层和应用层。不同的网络层次之间的功能虽然有一定的交叉,但是基本上是不同的。从安全角度来看各层能提供一定的安全手段,针对不同层次的安全措施是不同的嘲。没有哪个单独的层次能够提供全部的网络安全服务,每个层次都能做出贡献。在物理层,可以在通信线路上采用某些技术,使得搭线偷听变得不容易或容易被检测出。在数据链路层,点对点的链路可以采用通信保密机进行加密和解密。所有的细节可以全部由底层硬件实现,高层根本无法察觉。但是这种方案无法适应需要经过多个路由器的通信信道,因为在每个路由器上都需要进行加密和解密,在这些路由器上会出现潜在的安全隐患,在开放网络环境下并不能确定每个路由器都是安全的。在网络层,防火墙技术被用来控制信息在内外网络边界的流动,它可以确定来自哪些地址的信息,或者禁止访问哪些目的地址的主机。在传输层,这个连接可以是端到端的加密,也就是进程到进程的加密。虽然这些解决方案都有一定的作用,并且有很多人正在试图提高这些技术,但是它们都不能提供一种充分通用的办法来解决身份认证和不可否认问题。要解决这些问题必须在应用层进行。应用层的安全主要是指针对用户身份进行认证并且建立起安全的通信信道。有很多针对具体应用的安全方案,它们能够有效地解决诸如电子邮件、Frrrp等特定应用的安全问题,能够提供包括身份认证、不可否认、数据保密、数据完整性检查乃至访问控制等功能。但是在应用层并没有一个统一的安全方案。2.TCP/IP协议网络中信息安全实现基本技术现在网络中普遍使用TCP/IP协议。TCP/IP分层模型包括物理层、网络接口层、互联网层(也称口层)、传输层(也称TCP层)和应用层。TCP/IP协议本身简单,没有加密、身份认证等安全特性116l。要真正实现网络安全,每个层6武汉理工大学硕士论文次都要做出贡献。对腰层,在口加密传输信道技术方面,坤安全性工作小组IPSEC来制定了球安全协议IPSP和对应的Internet密钥管理协议IKMP的标准。口层是非常适合提供基于主机的安全服务。相应的安全协议可以用来在Intemet上建立安全的口通道和虚拟专用网。对传输层,通过在TCP之上建立一个安全通信层次。传输层网关在两个通信结点之间传递TCP连接并进行控制,这个层次一般称为传输层安全。最常见的传输层安全技术有SSL、SOCKETS和安全RPC等【“。对应用层,口层安全协议能够为网络连接建立安全的通信信道,网络层(传输层)安全协议允许为主机(进程)之间的数据通道增加安全属性,但都无法根据所传送内容不同的安全要求作出区别对待。在应用层采用安全机制可以解决这个难题。这意味着真正的数据通道还是建立在主机(或进程)之间,但却能够区分在同一通道上传输的一个个具体文件的安全性要求。提供应用层的安全服务,实际上是最灵活的处理单个文件安全性的手段。例如,一个电子邮件系统可能需要对要发出的信件的个别段落实施数据签名。较低层的协议提供的安全功能一般不会知道任何要发出的信件的段落结构,从而不可能知道该对哪一部分进行签名。只有应用层是唯一能够提供这种安全服务的层次。3.网络中信息安全技术的实现方法’通过以上分析,要真正实现信息安全技术,在应用层实现是最为方便。然而加入安全功能的应用都会面I临一个主要的问题,就是每个这样的应用都要单独进行相应的修改,甚至对于同一应用使用不同类型的加密算法都需要进行修改。直接修改应用程序或其他协议可能带来应用协议和系统的不兼容性,对用户来说使用起来并不方便。因此,需要有一个通用的安全服务接口,将底层安全服务进行抽象和屏蔽。这就是提供应用层安全的另一条思路,即通过中间件层次实现所有安全服务的功能,通过定义统一的安全服务接口向应用层提供身份认证、访问控制、数据加密等安全服务。可以将中间件层次定位为在传输层与应用层之间的独立层次,与传输层无关。SSL也可以看作是一个独立的安全层次,但是它与TCP/IP紧密捆绑在一起,因此不把它看作是中间件层次【”】。由于应用程序要使用身份认证和密钥分发系统的API,使得应用程序能不作修改就使用不同的身份认证和密钥分发提供的服务。能做到这一点,开发人7武汉理工大学硕士论文员就不必再为增加很少的安全功能而对整个应用程序动大手术了。因此,认证系统设计领域内最主要的进展之一就是制定了标准化的安全API[堋。2.2密码学及其基本体制2.2.1密码及其密码学密码在军事、政治、外交等领域是信息保密的一种不可缺少的技术手段,采用密码技术对信息加密是最常用、最有效的安全保护手段。密码技术和网络协议相结合可发展为以认证、访问控制、电子证书等,因此密码技术被认为是信息安全的核心技术【191。密码是实现秘密通讯的主要手段,是隐蔽语言、文字、图像的特种符号。凡是用特种符号按照通讯双方约定的方法把电文的原形隐蔽起来,不为第三者所识别的通讯方式称为密码通讯。在计算机通讯中,采用密码技术将信息隐蔽起来,再将隐蔽后的信息传输出去,使信息在传输过程中即使被窃取或载获,窃取者也不能了解信息的内容,从而保证信息传输的安全。密码学是研究信息系统安全保密的技术。它包括两个分支:密码编码学和密码分析学。密码编码学是对信息进行编码,实现隐蔽信息的一门学科,而密码分析学是研究分析破译密码的学科,两者相互独立又相互促进。一个密码系统采用的基本工作方式成为密码体制。密码体制从原理上可以分为两大类:对称密钥(SymmetricKey)体制和非对称密钥(AsymmetricKey)体制,或者秘密密钥(SecretKey)体制和公开密钥(Pubic&y)体制【捌。2.2.2对称密钥密码体制对称密码系统在加密及解密时都是使用同一把密钥。其加密解密过程如图2-1所示。此类密码系统的优点为其加解密速度极快,远高于后面将会提到的非对称密钥密码系统。但因其数据加密与解密时是使用同一把密钥,在目前网络通信各方互相无法见面的环境下,如何使通信的各方能够都获得此对称密钥,让通信双方执行正确的加解密,是此类密码系统应用上一大问题。因此,对称密钥密码系统不适合直接应用在大范围的网络上,例如直接用在目前的因特网,就是不可行的,仅密钥分发、认证的问题就使网络使用者很难解决,所以一般会配合非对称密钥密码系统一起运作,结合两种系统的长处,来对数据执行信8武汉理工大学硕士论文息安全的保护。厂]I............_J加密前的明文口I.............一加密后的密文解密后的明文图2-1对称密钥加密解密过程目前较著名的对称密钥密码系统算法有DES、RC4、RC5、IDEA、SAFER、FEAL、Skipjack及目前美国政府公开征求的新一代密码算法(AES)Rijndael等都属于此类密码算法【2ll。2.2.3非对称密钥密码体制非对称密钥系统也就是公开密钥系统,是指任何人均可将加密的公钥公布在网络上或其它可以公开的地方,让所有的人知道。其加密解密过程如图2-2所示。任何人欲传送信息给该接收方时,可将信息使用该接收方所公布的公钥加密之后传送给接收方。当接收方收到此加密后的信息,因为只有接收方拥有与此公钥相对应之“密钥”,才可以将该加密信息解出来。所以公开密钥密码系统可以达到让网络上无法面对面相见的双方,不需要事先通过安全秘密管道交换密钥,即可进行秘密通信。nI............_J加密前的明文厂]1............_J加密后的密文解密后的明文图2-2非对称密钥加密解密过程目前著名的公开密钥密码系统与数字签名算法有Diffie.Hellman密钥交换系统、RSA加密及签名系统、DSA签名系统、EIGamal加密及签名系统、Sclmorr签名系统等【2l】。9武汉理工大学硕士论文2.3网络信息安全相关技术2.3.1消息摘要计算机安全通信过程中,常使用消息摘要和消息验证码来保证传输的数据未曾被第三方修改。消息摘要是对原始数据使用散列函数进行计算得到的结果,它主要检测原始数据是否被修改过。消息摘要与加密不同,加密是对原始数据进行变换,可以从变换后的数据中获得原始数据,而消息摘要是从原始数据中获得一部分信息,它比原始数据少得多,因此消息摘要可以看作是原始数据的指纹l翊。如果消息是M,并且使用了一个(MD),那么就会产生摘要(D),于是就有了MDl(M)l=D1.当后面需要再次确认消息时,消息被散列成为一个新摘要。如果消息中任何数据被修改了,必须产生一个不同的摘要即MD2(M)2--D2.比较两个摘要,如果不同,D2被认为是无效的或被修改过。当今大多数算法都是基于RonRive,st的MD4的。一些算法,如RIPEMD-160在散列计算中变得更复杂,执行时间很长。RonRivest之后设计的MD5算法比RIPEMD.160快很多,因为算法没有RIPEMD.160复杂。在MD5与RIPEMD.160之间是SHA-1,这种算法比RIPEMD.160快,比MD5慢。因此,消息摘要算法有很多选择。SunJDK1.4支持的算法是MD5和SHA-1。2.3.2数字签名国际标准组织0SO)是这样定义数字签名的:附加在数据单元上的一些数据,或是对数据单元所做的密码变换,这种数据变换允许数据单元的接收者用以确认数据单元来源和数据单元的完整性,并保护数据,防止被人伪造123l。数字签名用来保证信息传输过程中信息的完整性和提供信息发送者的身份的准认证。在电子商务中安全、.方便地实现在线支付,而数据传输的安全性、完整性,身份验证机制以及交易的不可抵赖措施等大多通过安全性认证手段加以解决,数字签名可以进一步方便企业和消费者在网上进行电子商务。数字签名是一种重要的消息摘要,它是用自己的私钥进行处理的。加入数字签名和验证的文件传输过程如图2.3所示。10武汉理工大学硕士论文图2-3数字签名过程1.发送方对明文进行一次Hash运算变换,得到消息摘要值。2.利用私有密钥对消息摘要进行加密后得到原始消息的数字签名值,然后随着原始消息一起传送,以此来证明该数据是由签名者签署的发出。3.接收方用发送方的公开密钥对数字签名进行解密变换,得到一个数字签名的明文。发送方的公钥是由一个可信赖的技术管理机构即验证机构发布的。4.接收方将得到的明文通过单向函数进行计算,同样得到一个数字签名。5.将两个数字签名进行对比,如果相同,就可以证明传送过来的原始消息是用签名者的私钥签名的,数据签名后没有被篡改过。验证数字签名同时也确定了签名者的身份,因为只有私钥的持有者才能对数据进行签名,否则无效。数字签名所使用的算法包括Hash函数运算算法、签名算法、验证算法。、Hash函数又称散列算法。Hash函数是一种单向的函数,即只能从输入产生输出,而不能从输出推断出输入瞄11261。最常见的Hash函数有Hash.1(安全Hash算法)、MD5。签名算法和验证算法使用的就是非对称加密算法,一般为RSA和DSA。11武汉理工大学硕士论文2.3.3安全认证认证(Authentication)是指核实真实身份的过程,是防止主动攻击的重要技术。它对于保证开放环境中各种信息系统的安全性有重要作用。安全认证技术是信息安全中使用的主要技术,用于辨别信息的真伪,以及保证信息的保密性和完整性。本文此处只涉及安全认证技术中的口令认证、单向认证和双向认证。1.口令认证安全认证中最常用也是最简单的方法是口令认证。系统为每一个合法用户建立一个用户名/口令,当用户登录系统或使用某项功能时,提示用户输入自己的用户名和口令,系统通过核对用户输入的用户名、口令与系统内己有的合法用户的用户名/D令是否匹配,如与某一项用户名/D令匹配,则该用户的身份得到了认证【韧。2.单向认证单向认证指通信的双方只需要一方被另一方认证。口令认证实际也是一种单向认证,只是这种简单的单向认证还没有与密钥分发相结合。与密钥分发相结合的单向认证主要有两类方案:第一类采用对称密钥加密体制,需要一个可信赖的第三方.通常称为密钥分发中心(KDC)或认证服务器(AS),由这个第三方来实现通信双方的身份验证和密钥分发;另一类采用非公开密钥密码体制,无需第三方参与。3.双向认证双向认证是通信的双方需要互相认证各自的身份。通信双方首先鉴别对方的身份,然后交换会话密钥。双向认证可以用对称密钥加密方法和公开密钥加密方法来实现。这些策略的实现要建立可信的密钥分发中心(KDc),由KDC负责为通信双方产生短期通信所需的会话密钥,并使用主密钥来保护这些密钥的分发。2.3.4数字证书数字证书是认证中心CA(CertificateAuthority)颁发并进行数字签名的数字凭证,它们是数字签名技术的最重要应用领域。数字证书是网络用户的身份证明,相当于现实生活中的个人身份证。数字证武汉理工大学硕士论文书提供了一种系统化、可扩展的、统一的、容易控制的公钥分发方法,是一个防篡改的数据集合,可以证实一个公开密钥和某一最终用户之间的捆绑。为了提供这种捆绑关系,需要一组可信第三方实体来保护用户的身份。这个第三方实体就是认证中心CA,CA向用户颁发含有用户名、公开密钥以及其他身份信息的数字证书。目前最广泛采用的数字证书的标准格式是国际电信联盟(rrU)提出的X.509版本的3格式,如表2-1所示闭。表2-1X.509的证书结构内容说明版本Vx.509:版本号序号证书的序列号:用于标志证书算法识别符AI产生证书算法的标志符参数算法规定的参数发文者是建立和签署文件CA的m超始时间证书的有效期终止时间1.A持证书人名字算法签字用的公钥算法参数算法的参数持证书人公钥证实签字用的公钥数字签字证书所有数据经H运行后CA以私密钥签字认证中心(cA)是数字证书的签发机构,它是公钥基础设施PKI(PublicKeyInfrastructure)的核心,也是网络安全解决方案的关键,是PKI应用中权威的、可信任的、公正的第三方机构[291。CA的核心功能就是发放和管理数字证书一个典型的CA系统如图2-4。武汉理工大学硕士论文图24CA系统结构其中安全服务器面向普通用户,用于提供证书申请、浏览、证书撤销列表以及证书下载等安全服务。CA服务器负责证书的颁发。LDAP服务器提供目录浏览服务,负责将RA服务器传输过来的用户信息及数字证书加入到服务器上。数据库服务器用于CA数据、日志和统计信息的存储和管理。2.3.5安全套接字层协议(SSL)安全套接字层协议(SSL,SecureSocketLayer)是美国lqetscape公司于1996年推出的一种著名的安全协议,保证任何安装了安全套接字的客户和服务器间事务安全的协议,涉及所有TCP/IP应用程序。SSL协议包括SSL记录层协议和SSL会话层协议1301131】。SSL协议主要是使用公开密钥体制和X.509数字证书技术保护信息传输的机密性和完整性。SSL协议工作在传输层之上,为应用程序提供验证和加密机制,是一个建立在TCP/IP协议之上提供客户和服务器双方网络应用安全通讯的开放式协议,如图2-5.ShnTH册NmSSL.TCPIP图2-5SSL协议在网络层次中的位置14武汉理工大学硕士论文SSL传输数据过程包括加密(如图2.6)和解密(如图2.7)。来自上层的数据分层的数据每个分组被压缩的数据密文图2-6加密过程I剧..压缩数据——_厂蕊一1一MAC经过解密的消息解压缩后的分组图2-7解密过程原始数据1.客户端向Server端发送客户端SSL版本号、加密算法设置、随机产生的数据和其他服务器需要用于跟客户端通讯的数据。2.服务器向客户端发送服务器的SSL版本号、加密算法设置、随机产生的数据和其他客户端需要用于跟服务器通讯的数据。另外,服务器还要发送自己的证书,如果客户端正在请求需要认证的信息,那么服务器同时也要请求获得客户端的证书。3.客户端用服务器发送的信息验证服务器身份。如果认证不成功,用户就将得到一个警告,然后加密数据连接将无法建立。如果成功,则继续下一步。4.创建连接所用的预制秘钥,并用服务器的公钥加密(在第二步中传送的服务器证书中得到),传送给服务器。武汉理工大学硕士论文5.如果服务器也请求客户端验证,那么客户端将对用于建立加密连接使用的数据进行签名。把这次产生的加密数据和自己的证书同时传送给服务器用来产生预制秘钥。6.服务器将试图验证客户端身份,如果客户端不能获得认证,连接将被中止。如果被成功认证,服务器用自己的私钥加密预制秘钥,然后执行一系列步骤产生主密钥。7。服务器和客户端同时产生SessionKey之后的所有数据传输都用对称密钥算法来交流数据。8.客户端向服务器发送信息说明以后的所有信息都将用SessionKey加密。至此,它会传送一个单独的信息标示客户端的握手部分已经宣告结束。9.服务器也向客户端发送信息说明以后的所有信息都将用SessionKey加密。至此,它会传送一个单独的信息标示服务器端的握手部分己经宣告结束。10.SSL握手过程就成功结束,一个SSL数据传送过程建立。客户端和服务器开始用SessionKey加密、解密双方交互的所有数据。武汉理工大学硕士论文第3章JAVA安全以及J2EE安全机制3.1JAVA安全体系基于Java跨平台的特性,Java从问世以来得到了人们的广泛认可,并被深入应用到各种开发领域中。作为基础的开发平台,Java平台提供的加密组件接口与安全服务解决方案,开发复杂的企业级分布式应用程序功能十分惊人,J2EE规范及其相应的安全机制进一步扩展了安全方面的功能,因此Java成为了开发Web应用与企业解决方案的首选语言。但因为Java设计成在网络环境下运行,所以最近对Java语言安全性有了更多的考虑13习.最初的Java平台(JDK1.11采用沙箱安全模型(SandboxModel),这种模型的基本思想是:本地的代码是被完全信任的,它可以访问所有重要的系统资源;而从远程机器下载的代码(如Applct)如果被正确署名,则当作本地代码来看待,否则是不被信任的,只能访问沙盒中提供的资源。沙盒安全模型如图3-1所示。平rF一’、私专J虚如囟可用的资源图3-1JDⅪ.1沙盒安全模型由于沙箱安全模型有自身的局限性,如安全策略和实施分离的不彻底性、安全核查的不易扩展性、对本地安装的Applet过于信任以及内部安全机制的脆弱性等,于是引入了一些新的机制,加强Java平台的安全性。这时,本地与远程代码都可以根据可配置策略只限于使用特定资源域。访问域和可配置安全策略使Java平台更加灵活,开发人员不用再区分本地代码和远程代码就可以得到解决安全问题的最佳方案。图3.2是Java2的安全模型。17武汉理工大学硕士论文曲由臼虚拟机可用的资源图3-2JAVA2安全模型新的安全模型中主要部件包括安全策略、访问许可权、保护域、访问控制核查、优先级操作和Java类的加载和实施方案。3.1.1JAVA的许可在Java中所谓的授权或者许可,即是指访问受保护资源的权力。Java.securlty包提供了抽象的Permission类来代表访问资源的权力。可以通过由Permission类派生子类来代表具体的访问权限,如图3.3所示。18武汉理工大学硕士论文许可有某个目标或者某个可选择的操作列表。目标(Target)代表了受保护的系统资源,操作(Action)代表了在资源上进行的访问类型。例如在java.io.FilePermission“CAAUTOEXEC.BAr’,“read,write,execute”中,目标对象是“C:Ⅵlrr0EXEC.BAT'’,操作是读、写和执行。有些许可只有唯一目标。例如,java.1ang.RuntimePermission的目标是“exitVM”,该目标是保护JVM不受那些企图关闭JVM的代码的影响,但没有与这个资源类型相关的操作列表。最后,某些许可可能没有目标。例如在java.security.AllPermission来说,它授予代码完全访问所有系统资源的权限。为了比较许可权限,implies()是每个子类必须实现的重要的方法。该方法返回一个布尔值。例如“aimpliesb”授予一个应用程序a自动授予许可b。授予某些代码AllPermission意味着授予它所有其他的Permission。3.1.2JAVA安全策略Java运行时的安全由安全策略规定。一个安全策略由代码特征(Code.Source)和许可权限(Permission)两部分构成。代码特征是指代码来源、代码签名;许可权限代表了对资源的访问权限,一般包括资源名称和允许的操作权限。Java运行环境内的安全机制可以引用策略,策略内容必须在Policy对象内表达,而Policy对象是Java.security.Policy类的子类的实例化。由于任何人都可以实例化这样的一个对象,因此Policy对象的许多实例可以同时存在。然而,任何时刻都只有一个Policy对象起作用132】。Policy类是一个抽象类,所以Poficy对象是从Policy子类而非Policy类实例化来的。而安全策略由Policy子类来表示,这个子类提供这个Policy类中抽象方法的一个实现。下面为Policy的四个重要方法:publicstaticPolicygetPolicyOpublicstaticvoidsetPolicy(Policypolicy)publicabstractPermissionsgetPermissions(CodeSourcecodesource)publicabstractvoidrefresh0通过调用getPolicy方法可以得到当前安装的Policy对象。这个对象保存着策略的运行代表,这个对象或者在Java启动时实例化,或者当安全策略首次使用时实例化。这个对象随后可以通过调用setPolicy方法来改变。refresh方法使武汉理工大学硕士论文得Policy对象更新或重装当前配置。3.1.3保护域(ProteetionDomain)Java安全模型的核心概念之一就是保护域(ProtectionDomain)。这里的域是指操作环境中要保护的部分,是用来对组件分组或对被保护资源分组的一个抽象概念。域将具有同样权限的类归在一个组里。需要注意的是在Java里对保护域并没有实质性的描述,保护域实际上是将各种技术、API和基本的Java体系结构组合在一起来保护应用程序的一组集合。为使扩展变得容易,JDKI.2允许把许可权赋予保护域,类和对象属于保护域,但不是从被赋予的许可权中继承来的。域受一系列对象的限制,这些对象可通过计算机系统中已被准许的主要实体直接获得,因为,从某方面来说,在JDKl.0中,Java沙盒是一个带有固定边界的保护域,在JDK1.2中,每一个类隶属于一个域。Java维持类和对象到保护域及到它们许可权之前的映射关系。在类被使用之前,从类到它的域的映射仅设置一次,且在Class对象执行的整个时间范围内不变【33】。3.2J2EE基本概念Java2平台企业版(Java2PlatformEnterpriseEdition,J2EE)是一种利用Java2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE不仅巩固了标准版中的许多优点,例如“编写一次、随处运行”的特性、方便存取数据库的JDBCAPI、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对EIB(EnterpriseJavaBeans)、JavaServletAPI、JSP(JavaServerPages)以及XML技术的全面支持1341。J2EE技术大致分为:组件技术、服务技术、通信技术三大类135】。目前成熟的J2EE技术有:表示逻辑的Servlet和JSP,用来数据库访问的JDBC,用来事务管理的JTA,用来对象名字的中央注册的JNDI,用来RMI对象的分布式执行的RMI,实现业务逻辑的EJB,协调分布式执行的JMS。J2EE能提供多层分布式应用模型,重复利用组件,提供统一安全模式,并灵活地控制事务处理。多层分布式应用模型意味着应用逻辑将根据功能分成几个部分,用户可以在相同或不同的服务器上安装由不同应用组件构成的J2EE武汉理工大学硕士论文应用。J2EE的三层结构包括:客户端层、应用服务器层和企业信息系统层Is)。3.3J2EE的安全体系基于J2EE的应用系统的安全性与早期的客户机/服务器模式系统的安全性有着很大的不同。早期的企业应用系统是一个信息相对封闭的信息系统,用户的使用和系统的运行都是在企业网络的内部,网络安全考虑的相对较少,从而系统本身具有很好的封闭性。正是由于企业应用环境的变化,使得为基于J2EE的企业应用提供安全防护的安全策略必须能够适应新环境的安全需求pq。Java安全体系结构主要包括五个部分:Java安全体系结构核心,Java加密体系结构(JCA),Java加密扩展0CE),Java安全套接字扩展(JSSE),Java认证和授权服务(JAm)。Java安全体系结构核心包括字节码验证器,类装入器,安全管理器,访问控制器,权限,策略和保护域。JCA提供了用Java平台进行基本加密功能的工具。Java加密扩展提供了标准服务提供者和应用程序接口模型。JSSE是专门针对SSL协议开发的安全扩展模块,它提供对应不同SSL实现的标准接口。而JAAS则提供验证用户和对用户实现访问控制的接口【期。3.4JAVA认证和授权服务(JAAS)Java认证和授权服务(JavaAuthenticationandAuthorizationService,JAm)是SUN公司为了进一步增强Java安全框架的功能而提供的编程接口,它是JDKl.3的标准扩充并成为JDKl.4的一个组成部分。Java安全框架提供的是基于代码源的存取控制方式,即基于代码从哪里来,谁签署了代码。而JAAS还提供了基于代码运行者的存取控制能力.因此,JAAS是Java安全编程的一个重要补充。随着Intemet的安全问题日益受到重视,JAAS编程接口和安全服务作为J2EEl.3标准的一部分,必将会在Java应用编程中得到更广泛的应用。事实上,很多的J2EE应用服务器,如WeblogicServer,都已采用JAAS作为安全编程的基础ⅢJ。JAAS主要由认证和授权两部分构成。不管Java代码是作为Application,Applet。Bean还是Servlet运行,JAAS认证部分都能提供安全可靠的方法,决定谁可以执行哪些Java代码。JAAS授权部分是对以前Java安全框架的补充,它武汉理工大学硕士论文可以限制某些Java代码执行敏感任务。这种限制除了取决于和Java安全框架相似的代码源外,还取决于被认证者。JAAS认证通过插件的形式工作,这可以使Java应用程序独立于底层的认证技术,应用程序可以使用新的或经过修改的认证技术而不需要修改应用程序本身。应用程序通过实例化一个登录上下文对象来开始认证过程,这个对象根据配置决定采用哪个登录模块,而登录模块决定了认证技术和登录方式,比较典型的登录方式可能是提示输入用户名和口令,还有的可能是读入并核实声音或指纹样本。代码执行者被认证后,JAAS的授权部分就和Java存取控制模型一起保护对敏感资源的访问.在Java中存取控制仅仅基于代码的位置和代码签署者(代码源),而JAAS的存取控制既基

该用户的其他资料

  • 名称/格式
  • 评分
  • 下载次数
  • 资料大小
  • 上传时间

用户评论

0/200
    暂无评论
上传我的资料

相关资料

资料评价:

/ 73
所需积分:0 立即下载
返回
顶部
举报
资料
关闭

温馨提示

感谢您对爱问共享资料的支持,精彩活动将尽快为您呈现,敬请期待!