




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘使用人数逐渐增多、各系统数目增长的情况下,单独子系统的运行方式目前已然没有办法承载高校各项业务,这就驱使在现代的基础上各高校将繁多的业务向管理集成,因此完成数字化校园任务的第一步就是需要实现统一认证系统。目前已有多个高校建立了统一认证系统,用户仅需使用一个有效账号即可高校中具有相应权限的不同业务系统,这大大的提升了用户的效率,同时也有效的提升了高校业务系统的工作效率。同时,在建立统一认证系统的基础之上,需要全面的考量该模式下的系统安全问题,所有的业务系统均可通过一个有效账号进行,在该账号被采用较为安全可靠的移动验证的方式来规避该安全风险。的主要作用就是对信息进行集中,它的特点在于可靠的大量信息,因此作为自动识别信息载体,是最为可靠的实现方式。本文对统一认证系统进行分析和研究,进而得到一种可靠性高、适用LDAP、SSL技术、单点登陆技术和信息技术,重点研究统一认证系统的实现机制。其次,根据高校的需求设计出适合高校的统一认证系统,寻找出可靠的方式将该系统与信息验证的统一认证系统后,基于这种系统实现模式之下存在的可靠性和相关:统一认证 Atpresent,alongwiththeinformationizationteachingwayandmanagementmodeintherisingpopularityofcollegesanduniversities,thiskindofinformationmanagementmodebringsconvenientandefficienttospeedupthepaceoftheconstructionofbusinesssystemincollegesanduniversities,withthenumberofusersandthebusinesssystems,however,dispersedbusinesssystemmanagementmodehasbeenunabletomeettheneedsofmanagementofcollegesanduniversities,whichhavedriveninuniversitiesonthebasisofmoderninformationtechnologywillbeinawiderangeofbusinesstotheintegrationofmanagementintegration,andestablishaunifiedidentityauthenticationsystemisfurtherpromotingthecampuselectronicvirtualization,acceleratetheconstructionofdigitalcampusfirststepofprogress.Therearemanycollegesanduniversitiessetupaunifiedidentityauthenticationsystem,usersonlyneedtouseavalidaccountcanaccessdifferentbusinesssystemincollegesanduniversitieshaveappropriatepermissions,thisgreatlyimprovetheefficiencyoftheuser'saccess,butalsocaneffectivelyenhancetheworkefficiencyofcollegebusinesssystem.Atthesametime,theestablishmentofaunifiedidentityauthenticationsystem,onthebasisofneedcomprehensiveconsiderationinthismodethesystemsecurityproblem,allbusinesssystemscanbeaccessedthroughavalidaccount,theaccountisstolen,theuseroftherelatedbusinessdatasecurityproblemcannotgeteffectivesafeguard,adoptthemarketatpresentisrelativelysafeandreliableauthenticationwaytocircumventthesecurityrisks.Twodimensionalbarcodeasanewtypehighdensity,largecapacityofinformationstoragetechnology,isallkindsofhighreliabilityinformationstorage,carryingandautomaticallyrecognizedthemostidealmethod.Inthispaper,theunifiedidentityauthenticationsystemforysisandresearch,andthengetahighreliabilityandapplicabilityofthesystemdesignscheme.Firstofall,thestudyofthemaintechnologyintheimplementationscheme,detailstherealizationoftheidentityauthenticationmechanism,ysestheLDAPdirectory,SSLtechnology,singlesign-ontechnologyandqrcodeinformationtechnology,focusonunifiedidentityauthenticationsystemcertificationprocess.Second,designedaccordingtotherequirementsoftheunifiedidentityauthenticationsystemforcollegesanduniversities,lookingforareliablewayofthesystemcombiningwithqrcodeinformationstorage,unifiedidentityauthenticationsystemsecurityissuesthatexistintheaccount.Finally,throughtheimplementationofunifiedidentityauthenticationsystembasedonauthentication,basedonthissystemtorealizethereliabilityunderthemodeofmarketingandrelatedcollegesanduniversitiessomeoftheproblems,putsforwardthefurtherresearchdirection.:Unifiedauthentication;Two-dimensionBarcode;SSL;目第1章引 研究背 本课题研究意 本课题主要研究内 结构及章节安 第2章相关技术概 统一认证技 2.1.1认证概 2.1.2认证分 统一认 单点登录技 单点登录概 单点登录实现方 SSL技 SSL协议体系结 SSL协议分 概 QR码编 识 第3章解决方案及技术研 会话技 第4章基于移动验证的统一认证的系统设 系统设计思想及目 系统设计目 系统研究重 系统功能设 系统业务流程设 移动验证模块业务流 统一验证模块业务流 第5章系统的应用方 开发环境构 开发环境 服务器环 数据库选 模块详细设计与实 单点登录模块实 用户认证服务模块实 移动验证模块实 第6章总结与展 研究成 完善与展 致 参考文 第1章引言随着高校信息化工作的进展,高校开始建设网络环境下的应用系统,多年来网络应用开发技术的不断发展和变化,各种系统实现的功能越来越全面,种类越来越多,校园网中子系统数目增多,用户数量呈现增长趋势。用户信息在应用服务系统间不能正常共享造成了很大的麻烦,首先不能为用户提供统一界面进行登录,当用户申请要变更用户信息时,必须在每个应用系统服务器中进行变更,并且这个变更只能采用人工进行,工作量非常大。其次用户的个人信息单独分散在各应用系统中,要想得到全体人员的完整的很难办到[1]不同应用服务系统中同一用户相关信息也可能会不一致,有可能会产生。当出现人员有变动时,因不调整其在各个服务系统中的权限有可能会留下安全隐患。另外,各服务系统中的用户信息的成本极高,协调较麻烦,效率低下。再次,校园里都拥有了针对本部门业务的应用系统,然而由于各个部门开发水平和力度不一致,不同的子系统负责的工作不同,拥有的数据源也是各有区别,实现的功能也是各个子系统所独有的,一些功能在多[2]的产品自身的使用频率和校园中不同部门之间的业务不互通,这就导致子系统之间的数据没有办法通用共享,用户对子系统的体验好感大大降低。将分割开来的信息资源整合起来统一管理,高校中各个分系统依托该统一数据交换平台进行业务操作,数据交换平台负责为不同的业务系统分发数据并实时对上传数据进行更新,这种做法很好的解决了分系统之间相互孤立的情况,方便管理。然而随之而来的就是高校系统安全的问题,须对其进行严格的管理。随着部网络等问题。建立统一认证平台也就是整合了单独的子系统,同时范的或存在的加密方法在各系统中被使用。在此基础之上,即可实现一次登陆多个分系统的模式,省去了用户多次输入账号的繁琐程序。然而在某一用户的账号遗失或的情况下,该模式无法保证该账户在各个分系统上的安全性,即意味着一个账号用情况下,各个分系统都将会安全隐患。这种情况下我们采用识别来鉴定使用者的进行安全认然而还有一些子系统之间的业务步骤是有部分,例如系统和教务系目前随着信息化进程的深入,建立一个统一认证系统,对高校众多的户在系统时,仅需要进行一次认证,在认证成功之后,将会拥有权限对接入该系统平台的其他系统进行。这种模式首先为用户提供了很大的方便,用户仅需要记住一个认证账号即可多个系统,其次对高校而言,仅需将以前开发的系统按照规定接入平台即可实现统一认证,提供了高效的系统整合方案,另外,该平台的建立有利于管理员进行统一管理。还有由于对用另外,基于现有的统一验证模式之下,分析该模式中的安全隐患,在账号用或遗失的情况下能够保证用户在分系统中信息的安全性。在目前市场上,通过模式陆者已经在各种业务场景中被广泛应用,该业务逻辑框架稳定、安全[5]分析该验证模式的业务逻辑模式,整理该模式下的通讯方式,得到合理的系统设计方案,保证整个系统的性。现阶段各个高校的均拥有基于本部门的业务操作系统,不同的系的系统都需对学生和老师设置专有的账号、和基本资料,这种设计的弊端换平台,对高校各个的系统数据进行整合,对子系统进行统一管理。在此基础之上本课题着重研究对于该统一数据交流平台的认证问题,采用统一认证登录数据交流平台,从具体的技术实施层面进行研究,提出解决方案,解决高校信息管理过程中的数据孤岛问题,同时保证数据交互时的信息环境。考虑到该种设计模式账号或将会引起的权限安全问题,本课题依托于统一数据交换平台的统一验证,对其技术路线,架构设计进 信息技术设计出适合本系统的移动验证方式,研究的编码方式,采用可靠性高的编码形式嵌入用户识别信息并进行加密设计并实现一个基于移动验证的统一认证体系,该体系能实现多平台统一登录,采用 进行统一认证,高整个系统平台的安全性可靠性, 第1章引言2 第3章基于移动验证的统一认证的系统设4实现过程,给出实现过程中的代码内容。52统一认证技认证即是通过利用提供的信息进行比对分析,进而判断用户是否合法。那么统一认证就是针对多个不同系统设置的识别用户是否合法 认证是一个完整系统的实现前提,只有在具备了合理的认证方式之后,系统中信息的安全才具有保障,它是以理论作为前提,结合其他方式对用户的识别机制[7]设计这种模式的主要作用在于鉴别网络中使用人的真实,防止网络上有些人进行信息窃取和活动。简单的认证就是用户名和的认证模式,这也是大多数系统采用的简单的认证方式,通过输入用户名进行比对。随着系统对于安全性要求的提高,目前出现了移动口令认证、认证以及手势认证等多种认证方式[8]。大的方面可以讲认证方式分为署名认证和非署名认证方式两种[9]署名认证指的是在双方进行通讯之前首先需要进行实体信息的交互,中使用到的数字认证以及普遍用到的口令等方式均属于署名认证方式。另外一从实用性来讲,建立统一认证系统具有一定的实际意义。一方面,它是客户端的决策控制参数,在统内部把计算机和用户连接起来并进行验证。每一个系统都拥有不同的结构框架,但在信息和资源配置方面都是以统一认证作为基础的[1]。另一方面,系统审计日志会记录有关安全风险信息,同时保存用户,操作者必须提交正确的验证信息。1、认证的方机运行模式[2]。认证指的是对用户进行验证的活动,认证系统对比分析用户是否准确有效,最开始采用这种技术主要是为了解决没有经过的行为,也就是认证行为。目的在于确认核实用户信息合法有效,或者识别防御用户侵入系统,从而保证网络信息资源安全2、认证的原考虑到和,一般来说要考虑以下因素可用性即有效性:通过认证的用户可以进行数据,在过程中其他性:系统中的数据信息只有在经过认证之后的角色才可以进行操验证:通过认证得到用户的标识,系统中数据的录入等操作必针对系统设计的安全控制必须遵循以上的几个原则。验证、是实现统一认证系统必须的两个部分,验证主要负责用户的信息比对,而则是对资源的控制。3、的概就是通过某种方式将和秘钥进行一一对应形成某种[14]。一般的形式为的CA(Authority)即颁发人给对象的公钥、公共密钥来哈希值,并验证数据。用户可以使用和相应的私钥来证明自己的。作为国际标准之一的X.509是现在通用的数字的标准格式,这个标准已经在今天很多的应用中使用,如PKI,SET和SSL,PGP等[15]。、X.509使用对验证的过程包括:双向认证、三向认证、单向的验证只对原始信息的和完整性提供保护。只有当用户使私钥并签署了时间戳、“现时”和目标才执行单向验证[16]。接收人可以通过证,所以即是双向验证允许发送方验证目标,目标将发送一个回复给发件人,来签名而且只有对应的私钥或发件人的私钥可以这个答复而“现时”必须是份验证。除了双向认证之外,发送答复目标发送的一个响应,在这里只需2.1.2认证分对象。因此也就意味着系统对用户的表达方法各不相同[19]。认证就是验证用户的过程。认证是信息系统的首道关口,用户在采用各类认证提供用户信息后,首先由认证系统对用户信息进行认证工作,通过对用户输入的信息与数据库比对来判断用户是否可以于该用户的资源[20]。数据库内的信息根据用户的业务功能需要由系统管理员给以设置。检测机制实时检测是否有行为,审计服务根据审计要求记录用户的相关行为。由此可见认证在整个安全系统是最基本、最重要的安全服务,它用户名方用户名是最常见也是最简单的认证方法。这种方式是以用户设定前最常用的一种认证方式[22]。然而实际上,由于大部分用户为了防止遗忘,通常会设置哪些方便记忆但又容易被他人猜到的有意义的字符串作为,这就存在着诸多安全隐患极易造成。这种认证方式在的网络环境中存在着诸多弊端,在密码不遗失的情况下每次登陆都需要将进行传输,现在的各种键盘和密码技术使得该种认证方式变得不再可靠。ICIC卡是一种内置了认证的电子卡片,卡内的中包含与指定用户份相关的认证信息[23]。用户在登录系统时必须将IC卡插入到与系统连接的专用读卡设备中,并其中的相关认证数据,以验证用户的。虽然采用IC卡认证的安全性得到了很大的提高,但是由于从IC卡中读取的数据是固定不变的,通过网络技术还是能方便的在信息的传输过程中得到验证信息,因此这种方式还是存在着根本性的安全隐患[24]。动态口令技术是一种可以按照一些设定的特征变量动态改变用户,并且随机生成的使用的安全技术[25]。它通过生成执行设定的算法,根据当前特征变量的值生成使用。使用时只需要将当前生成并显示给用户的新输入到客户端用户界面,即可实现的确认,而且采用一次一密的方式,也能根本上保证用户的安全性。但是这种方式也存的不相同,引起合法用户都无法登录的问题。生物特征认证是指采用每个人唯一的生物特征来验证用户的技术,因为它直接使用人的物理特征来识别每一个人的真实,而每个人的生物特征完全不同,因此它是最可靠的认证方式之一,不过,生物特征认证是以生别的技术难点,比如声音识别技术在人由于特殊情况下发生变化后能否USBKey基于USBKey的认证提供了一种用户私钥(或者)存放介质,与统一认证系统结合的认证方式,它采用软件和硬件共同使用、一次一密的强双因子认证模式[27]。用一种内置智能卡的硬件设备,通过在内的密钥或数字来实现对用户的认证。有两种应用模式:一是PKI体系统一认应用层面,在实际操作过程中,单点登录成为了这一领域的研究内容。目前对统一认证技术的研究应用最广泛的技术是自由规范和公司的PportPsport技术实际上是一种b公司控制的统筹式的单一登录服务[28]由(Libertyine是一个由、rle、S、ricnExprs等众多国际厂商和研究机构联合支持的认证技术,目的是为了实现一个具有联合的、开放的、单一识别的解决方案,为企业的认证服务提供技术规范与商业指南。与的集中认证方式不同是它运用一种称之为认证的机制,即中的提供者能相互独立存在,避免了因单点故障而导致整个系统的瘫痪。该协议的SL(SurityrtionrkupLnguge,安全断言标记语言。SL是一个L框架,可以用来传输安全。被用于在不同的安全域之间交换认证和数据解决b服务安全和单点登(ingleignonSS)等重要问题[29]。统一认证系统作为一种用户集成认证管理系统,通过对用户和提供验证通行证的方式,实现各应用系统的用户权限管理,建立所有子系统的统一认证管理,从而提高整个认证系统的运行效率,确保信息认证真实有效。各应用系统都具备相应的保存和权限管理功能,认证服务器建立在用户信息统一数据库上,统一管理各子系统的用户,从而简统一认证基本流进行统一认证时:用户请求应用系统。应用系统通过统一端口进行用户认证,并把由安全验证传输到统一认证系统。自动生成统一认证系统登录界面并进行用户,如果用户没有,其信息会由认证系统统一数据库进行[29]。用户经过统一认证成功登录后会自动生成一个客户端保存信息,同时支持用户自由登录其他子系统。统一认证系统操作程序步骤,具体见图2.1。图2.1统一认证系统结构检查用户的标识,在用户信息数据库中如检查用户名已经存在,则返回信息,并要求用户进行重新;在信息数据库中的标记用户的为了确保安全的用户信息数据库不能直接用户,而是使用加密的密文辨识用户的。同时,在认证服务器服务数据库中各应用系统的L和私钥;户口令并,用户输入的比较,以验证用户的;将应用程序服务器的L和密钥发送到认证服务器上的客户端并生成用户标识,包括用户名、用户、登录时间、应用程序服务器的L和密钥的哈希函数值等;通过客户端的应用服务器登录时间、URL、密钥和他们的标统一认证模(1)认证组件模统一认证系统下的账号,该种模式下的主要模块是各个子系统。其工作模2.2所示。图2.2认证组件模式工作流册账号来登录子系统A。当子系统A接收到用户发送的账户后将其和该站点的唯一标识一起发送统一认证模块等待认证登录。当统一认证模块接收到发送来的信息之后,首先根据站点标识查看子系统是否接入统一认证系统,然后在用户数据中心中对子系统发送过来的用户账户进行比对匹配。站点的权限令牌,之后该用户将使用该令牌子系统直到会话过期。统一认证服务是该模式的主体。当用户登录统一认证服务之后,在认证通过的情况下即可接入该统一认证系统的所有子系统,该模式2.3所示:图2.3用户某个接入统一认证模块的子系统时,将令牌一起发送统一在令牌被验证合法的情况下,用户可直接子系统,子系统向统一认证模块返回结果。为了高效性,子系统可以直接将自身的令牌发送给用户,用户下一次可直接持有该令牌子系统。信任模在如今的网络环境中,系统的将注意力放在安全性与可靠性层面,对于系统而言,怎样避免的和针对系统验证的是一个系统开发之前首要需要解决的问题,数据的修改或丢失对于系统的所有者而言是严—认证模块的认证。统一认证模块相当于所有接入子系统的安全提供安全认证保障提供安全认证保障[30]2.4图2.4信任模式工作流接到请求之后统一认证模块创建一个session,将通过认证之后与该会话问接入统一认证模块的子系统。这个过程中用户并不是直接将请求发送给子系统的,而是通过了统一认证模块进行跳转。统一认证模块首先通过子系统的唯一标识ID检索到子系统的地址,再检查该子系统是否接入了统一认证模块。却确定该子系统接入了统一认证模块之后,就将请求转发到子系统,当接入的子系统拥有自己的认证模块,那么请求中包含的信息与子系统的认证的信息进行关联判定。子系统将认证结果返回给统一认证模块,再由统一认证模块将这种模方式的优点在于将统一认证模块作为认证的唯一接口,为了防止和一些网络,仅需要重点加强统一认证模块的安全防单点登(SS的意思是指用户通过一次认证即可多个需要进行认证的系统。SSO可以集中管理用户,每个系统取决于信任关系而进行用户身份认证31]。管理员只需要在数据库中对用户账户操作,因此提高了系统的安全性同时方便管理一般SSO模型包括用户提供人以及服务提供ntrokr基于SL和基于Gteay的实现[32]teay的解决方案的处理方式是为众多子系统提供一个类似门的安全装置,所有的请求都需要通过们的处理和转发,而在门上可以设置一些安全防护配置保障系统安全,所有子系统通过门来接入外部网络基于nt的方案就是提供一个中间为不同的rokr则是将认证和账号管理集中在一起进行操作管理。SL是一个L框架,可以用来传输安全,它能够不同的域来进行认证信息传输和权限信息交目前单点登录的产品主要有:SUN公司的OpenSSO耶鲁大学开发的CAS(CentralAuthenticationService,认证服务),的.NetPassport,BEAWebLogic,SAMLOpenSAML[i8]CAS已经是一个可靠该方案的主要由服务器、浏览器和网络应用构成,当用户子系统时必须经过CAS服务器的认证,网络应用主要负责url请求的过滤、重定向和的系统繁多意味着用户需要多次输入账号进行验证才能这也要求用户必须记住多个账号,而单点登录技术使得用户能够登录一次多个系统无需单独进行数据实现认证,这种集中管理的模式方便管理员对各个系统的和数据及时更新,同时也提高了系统的开发效率。Agent的所谓的人实际上就是实现分布式计算,它能够在分布式系统或者一些息[34]。另外人能够通过自身的状态并且检测网络环境,针对某个实体根据基于人的单点登录解决方案的实现过程中,认证模块作为一个中nt的一个典型的单点登录解决方案就是SS。基于人实现的单点登录方案能够支持不同平台系统的接入,对于系统的管理也可分开设置,它特有的应急处理方式也使得它能够快速然而该方式的实现需要服务器、客户端添加程序,这种方式增加了服务器性能消耗,另外浏览器端的用户凭证也有遗失的安全问题。基于Broker的在基于经纪人的单点登录方案中,服务器统一进行认证,认证通过之后凭证,它是将用户账号信息和认证过程统一在服务器中实现。这种模式图2.5录系统。另外基于经纪人的单点登录要求每一个的用户都必须输入信息进行验证才能接入的系统,因此一些用户无法对系统进行[35]。基于SAML的基于SL的单点登录首先由客户端向认证服务器发送一个符合SL规L作为请求,在服务器经过处理之后返回一个相同格式的信息。SLSPSL的规范由几个部分构成:SLrtion,SLPrtotol,SLbinding等。在使用SL中就存在一些安全。一旦乙方出现了安全问题,信息之后,那么另一个站点的数据信息也同样会受到[36]为了保障基于SL的通讯,SSL.509协议。为了能够保障两个站点之间不会发生,还可以采用来防止这种情况的发生。SAML的规范包含有和协议、绑定和概要、安全和隐私注意事项和一致性程序规范。和协议主要负责定义格式,包含断言中涉及的三种属性的和认证中的请求、查询和响应时的协议。绑定和概要说明了SAML请求/响应消息映射到标准通信协议的规则,以及在通信协议嵌入或抽取SAML声SSLSSL技术普遍采用的是公开秘钥的技术,其提供的服务主要包含三个方面:信息的加密服务、信息的完整性服务、信息的相互认证服务。SSL协议可以为通信双方提供信息的服务及两者的认证服务。SSL协议是位于TCP/IP模SSLSSL2.6SSL记录协议(SSLRecordProtocol):这是在TCP协议基础之上的为上Protocol础之上,在进行数据交互之前用来确认上方的协议,它的功能主要包括两SSL协议的实现需要握手协议、SSL修改密文协议、SSLSSL记录协议组成的一个协议集合协同作业来完SSLSSLSSL记录协议能够保障在建立的SSL连接互数据的性和完整性。SSLSSL协议传输的数据都是写入记录中进行传输的。SSL记录协议同时也定义了记录头和记录中数据的格式[38]SSL通讯需要经过SSL记录层、记录协议封装的上层握手协议、协议和修改密文协议。SSLTCP、UDP等协议的上层协议,它可以对一些协议进行封装。进行分组组合、压缩解压SSL2.7增加SSLSSL协
图2.7SSLSSL协议是在双方进行数据交互过程中,如果任何一方发生了异常情Fatal错误,当数据交互过程中任何一方发现物理地址有误,那么此时发送一个fatal错误同时关闭连接并且将所有的会话记录清空。Warning消息,这种情况下连接将会继续保持,双方只会在日志中记录当SSL了双方传输数据的安全需要在一定的时间内更换SSL加密协议属于SSL特定协议的其中一个当双方完成了握手协议之后客户端需要通知服务器端之后传送的数据使用之前商定的加密并且只能用于其对应的秘钥才能,同时协调客户端的相关模块也根据协调的和秘钥处理信息[40]。SSLSSLSSL连接时进行数据交互,该协议是被封装商加密算法和秘钥等途径来确认双方[41]。建立加密SSL据。的长度和宽度上均可以写入二进制数据,因此二维条码的数据容量二维条形码可以分为很多总类,按照排列方式可以分为堆叠式和矩阵式。不同种类的的编码和的方式都是不同的。QR下图2.8是一个标准的 的结构图图2.8 一个码字序列。这个码子序列就完整的表示了中写入数据的内容[43]。纠错级别和分块之后的码字序列得到纠错码字,将其添加到数据码字序列的尾掩摸:利用掩模图形平均分配到符号编码区域,使得图形中的黑目前市面上使用的许多APP均支持扫描,通过移动设备的头对条码定位:条码定位包括预处理、定位、角度纠正、特征值提取等多个步骤首先需要找到二维条码的区域相当于使用P进行扫描时聚焦 然后不同的条码具有不同的结构特征,需要根据特征对条码符号进行下一步的处理[45]。条码分割: 在经过边缘检测之后的边界并不是完整的,只有经过进一步的修正才可以其中的数据,在数据之前需要分割出一个完整的条码区域。它的基本步骤就是从符号的小区域开始,这个小区域可以称为为了修正条码的边界需要加长这个区域的范围使得该范围能够包含二维条码中的所有点。然后可以使用凸壳计算出结果然后准确分割得到整个数据[46]。译码。译码时一般是采用激光进行识别或者通过CCD识别器进行识别,在完成网络采样之后根据设置的阈值来分配黑色和白域[47]。一般情况下使制的序列值,再对得到的序列值进行纠错和译码整理之后,根据条码的逻辑编ASCII码,这第3章解决方案及技术研会话技HTTP协议是属于后者,该协议在客户进行简单的资源请求时是完全可以胜任的,然而当涉及到实时的用户的状态,及时的用户在服务器中状态的情况下,简单的无连接协议是无法实现的。所谓的会话技本课题是在统一认证的基础之上采用移动 信息进行认证,认证成功之后即可多个不同系统。在以上的过,客户端与web客户端进行第一步交互时,需要在第二部与服务器进行交互时携带第一步web客户端的信息,即在扫描 得服务器端能够通过信息找到具体的会话并在之后的步骤中对该会话进行相在浏览器与服务器之间建立连接,进行数据时,两者之间是通过会话器接收到请求之后创建一个会话,即session,该session具备唯一标识符,即sessionId,当在会话的有效期内浏览器需要另外一个资源时,需要将sessionIdsessionIdsessionIdsessionId来标识浏览器与服务器之间的会sessionId以下是使用sessionId当静态资源时,由于无需编译,因此不会产生sessionId当用户打开一个页面进行的时候,服务器根据收到的请求为该页面自动分配一个session会话,并通过sessionId作为该会话的唯一标识符,上文提到在浏览器第二次资源是,所发送的请求头部将会加上:sessionIdsessionId来找到该会话。进行数据。这种机制针对的是session没有被掉的情况。在使用的浏览器中,部分浏览器是支持打开多个页面的,这种情况下,如果在同一个浏览器中多个页面中同一个页面,此时建立的会话标eionId为不同的。web页面进行不同的响应,当用户扫描了页面显示的后,web页面做出相应的反馈,此时需要jax在服务器端接收到发送来的请求之后进行相应的响应,响应的同时关闭连接。但是其中的大部分请求是无用的,这就造成了服务器资源的浪费,占用了大量带宽,造成系统的性能下降。OpenOpenOpenOpenOpenConnectionConnection连接,而是持续住该连接,直到下一个请求收到,响应完成后才关闭连接。这种模式的优点是在空闲时段不会频繁的请求数据,因此损耗的资源较少。另一方面,在服务器保持连接的过会消耗资源,返回数据的顺序没有保证,不方便后期的管理。下图OpenOpenOpenOpenOpenConnectionConnection
图3.1在浏览器数据是发送请求之后即进入持续等待状态这种情况之下iframesrc属性,在属性中设置为长连接的请求,服务Websocket:html5websocket技术的目的就是为了能够使b/s架构的系统具备类似c/s架构软件的实时信息处理能力。这种技术目前正在javascript请求服务器websockettcp进行数ajax技术来长时第4章基于移动验证的统一认证的系统设繁琐程序以及这种机制所形成的信息孤岛,在深化现代化教学过,要求高建立统一认证系统,使得高校系统的用户群体能够通过该认证系统的操作。对统一认证的工作原理和过程进行分析,发现在用户账号的情较强的移动验证方式来解决该,采用QR 种方式有效的解决了账号安全,同时在不影响原有系统工作效率的前提之用户扫 ,递交登陆请用户经过统一认证可对多个系统进行本课题的实现主要依托于java语言来实现移动验证的客户端是以roid平台为基础进行编码实现。同时,为了高校能够统一管理信息数据,建立一个统一信息数据中心,行信息匹配过查阅该信息数据中心,对账号信息进行验证。本课题中所涉及到的主要在于 陆时b和服务器端之间的数据交互,客户端与服务器之间的实时信息交互,对于以上的问题本课题采用长连接的通讯机制目前有很多方式来实现b和服务器之间的长连接客户端轮询、flah的okt、基于html5的webokt,以上三种方式均能实现长连接,然而客户端轮询机制造成的时间差导致了服务器负载的浪费,flah的okt目前而言不是所有浏览器支持并且在安全方面考虑部分对其有个系统的可靠性和普适性,本课题采用js来实现长连接,最终能够使得系本课题是在针对高校实现的基于移动验证的统一认证系统采用QR二维码、统一认证、单点登录等技术来实现一个可靠性高、实用性强的应用览器,打开了多个页面,当用户使用移动设备扫描了某页面上的,服务器端需要知道对众多页面中的哪一个页面进行操作,下一步的响应应该针对某一个具体页面。在将移动验证与统一认证系统整合的过,需要全面的上的之后,web页面端需要知道用户已经扫描,可以进行后续的流程。选web页面和服务器的通CAS,该方案是企业级的单点登录解决方案,同时,CAS的端支持多种客户端,包括java、.net、php等,这在很大程度本课题是针对校园网大环境设计的统一认证系统,在该之下,发性较高,因此在系统设计过需要考虑到至少2万的用户数目,同时在系5秒以内。之下进行统一认证功能的接入。一认证系统实现技术能够保障平台的可靠性,进而为高校信息数据提供了体现系统性能优势,方便在日后平台升级过保际先进水平。院院
图4.1web客户端,两者负web客户端的标识,再将用户与设备绑定的唯一标识传输给服务器进行验证,再根据服务器用户信息的验证结单点登录模块的实现能够保证用户在登录系统进行认证之后,能够对所有该权限管理模块的主要职能是为用户分配资源,可以按照用户和角色将会按照之前分配好的角色信息来处理用户的请求,通过以上的过程,基本实现了对用户、角色、权限和资源的统一分配和管理。块,此时由Ticket-granting生成serviceticket发给用户并且将连接重定向至A站点,此时用户端的带有票据,因此不用跳转直接发送验证票据即登录第一次的A站点第一次子系统中的另一站点此时用户的客户端没有票据同时session中也没有消息,因此跳转至认证,然后认证模块从用户客户端的请求中得到ticket并验证。在用户在此之前的A站点时,此时客户端传递的请求中没有票据了,直接允许用户对站点再次进行。模块的业务流程以及统一验证的业务流程,在统一验证模块下又涉及314 网页登2314 网页登2、绑定56陆服
图4.2 统一认证登录页面在页面中服务器会自动为该页面分配一个会话并用sessionId唯一的标识该会话,在得到sessionId的情况下生成与之对应的QR 与sessionId是一一对应的关系并且两者都是唯一存在的。在第一步中已经获取了该页面唯一的信息,即该页面的sessionId标识,用户通过移动设备对页面中显示的进行扫描,扫描完成之后移动客longpooling来保web客户端发送信息通知页面本地浏览器绑定地的浏览器需要将该票据写入浏览器中,在之后用户资源过,所有的请求都将带有参数。系统进行。它的整体架构如下图4.3所示:统 认证登录界教家图4.3统一认证整体结统一认证系统的目的就是将分布在高校内部的各个不同异构系统的认证工作集中在一起,统一进行验证处理,通过一个公用的认证系统统一管理和验证用户的。通过统一认证系统认证的用户将会获得一个系统颁发的,使用该,用户可以在与统一认证系统有接口对接的系统之间自由的数据,不需要不同子系统时多次输入账号信息。因此设计统一认证系统需要基本实现的功能在于首先实现一个方便的、跨平台的单点登录认证中心,其次,实现统一认证能有效提高系统的易用性和实用性提高用户体验度,增加系统率,也有效规避了多接口导致的安全。本文是基于耶鲁大学的开源项目CAS来实现一种可靠性高的单点登录方法,许多企业利用它来建立自己的单点登录平台,这也意味着其具备成架的客户端支持非常多的客户端,这一点对于高校系统统一认证系统的实现从结构上而言,CAS包含有两个部分,这两个部分负责了单点登录的主要工作。CASServer证工作。CAS客户端则是进行url过滤,在用户发送请求的时候,根据其的url判定是否含有认证票据,并分情况进行处理,下图4.4展示了CAS图4.4CAS以上的CAS认证流,客户端的职责就是检查http请求中的票据进行访问url地址的过滤,在没有发现票据的情况下即说明该用户没有登录系统,此时客户端就需要重新将请求url定向至初始页面。在上图的第三步中,当用户将认证至认证服务器,当认证通过的情况下,认证服务器将会随机生成一个相当长度、唯一、不可的服务票据并且将其缓存,以便将来发送请求时用到。之后系统自动重定向到服务器所在的认证地址,为客户端的浏览器设置一个T,客户端在拿到了新产生的票据之后接着将会进行上图中第五、六步的操作验证,客户端与服务器端进行核实,确保票据的。在以上的过,所有的信息交互都采用第二章中提到的SSL协议以确保服务票据与TGC的安全。另外需要提到的是,CAS还提供模式,即章中提到的单点登录的认证模式,这为更为高级、复杂的验证场景实现提供C/SB/S模式一般不会采5本课题中在统一验证系统平台接入的系统有多种不同的架构,目前高B/Sweb系统,一般都是采用三层架前较为稳定、安全的模式。本课题是基于Javaweb应用系统,Myeclipse作为Eclipse一个功能强大的插件,集成了许多扩展功能。J2EE的开发环境和数据库整合在了一起,利用该软件,可以进Myeclipse8.5版本。等版本。TomcatJavaJDK就可以使用,不需要考虑操作系同时,Tomcatservletjsp引擎和一些扩展功能。具备先进的本课题针对的是高校系统的统一认证系统的实现,在本文第三章中提其对于数据的速度是选择数据库一个非常重要的标准。它作为微软一款优的,SQLServer2008提供了两种对用户进行验证的模式。它提多情况下的数据需求。综合能和安全性两点,本课题采用的是SQLServer2008数据库。构建统一认证平台中最为重要的实现就是单点登录模块下图5.1是单点登录过的用户进行单点登录时的时序图:图5.1用户业务系统,业务系统设置的过滤配置发现用户尚未登录,这种情况下将用户的url重定向至认证服务器的登陆端,同时在重定向的url参数中当用户浏览器接收到票据后,根据目标地址重新业务系统,此并给用户相应的权限。否是的,此时业务系统将会将向认证服务器发送请求确认接收到的票据凭范围初始请求的业务系统,当识别失败时,又将连接重定向至登录验证界JDBC,由于用户的认证信息大多保存在数据库中,因此需要配置数据库连接接口来进行数据信息的认证C认证方法支持多种数据库SLSrvr、yqlrleB2.xml,:<beanid="TestdataSource"class="org.springframework.jdbc.datasource.D<property<value>com.<property<propertyid代表的数据源名称,在之后的认证模块设置中需要调用。此处配CAS认证支持三种模式的认证方法,以下是其认证的机制和对该模式进行protectedfinalbooleanthrowsAuthenticationExceptionfinalStringusername=finalStringpassword=tryfinalConnectionc=.getConnection(username,DataSourceUtils.releaseConnection(c,this.getDataSource());}catch(finalSQLExceptione)}}<propertyname="dataSource"ref="TestdataSource"<propertyvalue="selectpasswordfromAccountwherelower(userName)=lower(?)"<beanid="SearodeSearchDatabaseAuthenticationHandler" ="false"singleton="true"lazy-init="default" <property<property<property<propertyname="dataSource"ref="casDataSource"(3)配使用的加密方法,在deployerConfigContext.xml文件中我们可以为具体的类配置一个property,指定加密器类。<propertyname="passwordEncoder"CAS的初始解决方案中,以下的四个页面是必不可少的,每个页面都有casGenericSuccess.jsp:在用户没有目的地址时显示的页casLoginView.jsp:casLogoutView.jsp:<beanid="viewResolver"<property<value>SSL将机器A加入Btrust图5.2AB分开部署在不同的机器上时,需要在每个业务系统中需要添加过滤配置来无认证的,此处修web.xml<filter-name>CASFilter</filter- <filter-name>CASFilter</filter-单点登录成功之后即通过服务器端认证之后,会将发送至浏览器客Session,我们需要在各个业务系统中获取登录用户的信息,CAS的Filter已经做好了处理,在登录成功后,就可以直接从Session的属性中获取,方法如下:验证信息使用的是用户名、获取到的用户移端号码来进行匹配验证如之前章节所述,首先将获得的用户名信息,这里得到的用户名信息为明文传送,在数据中心进行查询,得到其在数据中心中相匹配的移动端号码,将从数据中心得到的移动端号码来与传送过来的信息进行比对,如果两者相同,则认为认证通过,反之,如果两者不相同则视为认证未通过[5]。在上述信息中,用户名为明文在数据中心中用户的移动端号码是通过3DES加密之后保存在数据中心中,在服务器得到客户端传送过来的用户信息时,其中的用户标识,即用户移动端号码也是加密之后进行传送的,因此两个数据进行比对时需要先票据之后才可对该系统中的其他站点进行,因此用户需要将服务器发送的票据在本地,这相当于一个令牌。服务器端在验证通过之后会创建一个session来用户的登陆信息,系统通过检索该信息来保持用户的登陆状态,对于该session时以一个唯一标识进行标记,在以后用户登录时,不用每一次登录请求都对数据中心提取信息进行匹配,可以直接通过唯一标识值来查找session是否存在,同时查看该session是否有效。同时在客户端,该sessionId的值也会在中,由服务器发送至览器客户端。之后客户端对成员站点发送请求时,也要将该sessionId一同用户在认证中心登录成功之后,重定向至初始的成员站点,成员站点移动验证模块的功能实现主要包含着三个功能模块,用户客户端,浏览器客户端以及服务器端,三个模块各自负责实现不同的功能,通过模块之间的通讯进行数据传送,客户端负责的主职能是在对 进行扫描之后获取用户唯一标识信息,将信息传送至服务器进行验证。该模块中浏览器的主要职能是获取 ,实时的与服务器进行交互,将执行结果显示至页面上,与用户进行交互。服务器的职能则是上一节中提到的认证,将移动端发送的唯一标识信息进行比对得到验证结果据以上所述可以得到下图5.3中的流程图: 图5.3StringstrPhoneNum=phoneMgr.getLine1Number();三、获取页面的生成必须包含有页面的sessionId页面之后,该页面有唯一的标识,当用户扫描了该页面的之后,后续步QRcode扩展功能,它webhttp.createServer(function(req,res){varURL=url.parse(req.url);varuuid4=UUID.create();varsessionId=uuid4.toString();if(PATH=="/qrcodeimage"){varsessionId=URL.query;if(typeof(sessionId)!="undefined"){generateQRCode(sessionId,req,res);}elseconsole.log("no}}elseif(PATH=="/"){generateIndex(sessionId,req,res);}}).listen(8888,在web服务器的代码中,我们8080端口,并对url做分析,如url为/generateIndex方法,这个方法返回欢迎页面。如果qrcodeimage页面则调用生成方法,该方法负责生成,此处的generateQRCode()方法实现如下所示:functiongenerateQRCode(sessionId,req,res){res.writeHead(200,{'Content-Type':QRCode.draw(sessionId,function(err,canvas){}用户在首页的时候,服务器创建sessionId,并将这个ID作为创建二维码的参数,而服务器再根据这个参数创建响应的,页面和是在用户接入统一认证的站点时,通过sessionId生成信息显示在登录页面,该中包含了浏览器sessionId值以及服务器端的地址,其5.4所示:图5.4Activity,分别是扫描和zbarjava使用cnativelibrary,zxingsessionIdstrPhoneNumPreviewCallbackpreviewCb=newPreviewCallback()publicvoidonPreviewFrame(byte[]data,Cameracamera){Camera.Parametersparameters=camera.getParameters();Sizesize=parameters.getPreviewSize();Imagebarcode=newImage(size.width,size.height,"Y800");intresult=scanner.scanImage(barcode);StringqrcodeString=null;if(result!=0){previewing=false;SymbolSetsyms=scanner.getResults();for(Symbolsym:syms){qrcodeString=}}if(qrcodeString!=null){Intentintent=newIntent();intent.putExtra("qrcodestring",qrcodeString);intent.putExtra("strPhoneNum",strPhoneNum);}}将获取到的sessionId和strPhoneNum传送给第二个Activity,当第二个Activity启动的时候,此时说明用户已经扫描成功,需要通知服务器用户已经扫privatefinalstatichttpsessionId和strPhoneNum。5.5图5.5在用户扫描了页面上的5.6图5.6服务器端的任务非常繁多,既要与客户端进行交互,也要与浏览器端5.7产生产生Long使用数 进图5.7http.createServer(function(req,res)//parsevarurl_parts=url.parse(req.url);varpath=url_parts.pathname;varuuid4=UUID.create();var_sessionId=uuid4.toString();if(path=='/'){}elseif(path=='/poll')//}elseif(path=='/qrcodeimage') 的请求,参数为}elseif(path=='/moblogin')}elseif(path=='/scanned'){}elseif(path=='/confirmed'){}elseres.writeHead(200,'Content-Type':'text/html;charset=UTF-}}).listen(9999,3DES对该唯一标识进行加密,将加密之后的信息到redis中以备之后验证在首页模块需要处理的是为页面添加sessionId,当用户首次系统首页if(path=='/')varsessionId=if(typeof(sessionId)=="undefined"||sessionId==""){res.writeHead(200,{
'Refresh':'0;url=/?'+'Content-Type':'text/html;charset=UTF-}elsegenerateIndex(sessionId,req,}} 面章节进行了阐述,此处不再说明Longpollingif(path=='/poll')//varsessionId=url_parts.query;varsessionObj={'sessionId':sessionId,'res':resconsole.log('added'+}在longpolling维持情况之下,处理已扫描和确认登录功能的实现,是通过varpoll=function()$.getJSON('/poll?SESSIONID',function(response){varcmd=response.cmd;if(cmd=='scanned'){}elseif(cmd=='pclogin')varusername=response.username;}}varpclogin=function(username)$('#output').text(':'+username+',您已成功登录}varscanned=function()}了该,因此实时得将页面状态进行跳转。如图5.8所示:图5.8在用户扫描完信息之后,客户端也点击确认登录系统之后,系统将会根据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025光伏发电项目安装合同范本(定制)
- 充电业务增容与安装项目
- 画册印刷宣传合同协议
- 猪场消纳地合同协议
- 生牛乳购销合同协议
- 甲乙双方履行协议合同模板
- 百世快递代理点合同协议
- 瑜伽馆合作协议合同协议
- 环保水处理合同协议
- 电缆工程安装合同协议
- 2024辽宁沈阳水务集团有限公司招聘20人笔试参考题库附带答案详解
- 建筑工地物业服务合同模板7篇
- 《计算机发展史》课件
- 2025年安徽芜湖市阳光电力维修工程有限责任公司招聘笔试参考题库附带答案详解
- 人教版英语七年级下册知识讲义Unit 1 section A (教师版)
- 快开门式压力容器操作人员培训
- 2024-2025学年统编版语文八年级上册期末易错题:现代文阅读(记叙文)(含答案)
- 手术分级管理制度
- 2025年江苏宿迁经济技术开发区人力资源有限公司招聘笔试参考题库附带答案详解
- 2025-2030年中国聚氨酯产业市场风险评估规划研究报告
- 学校食堂每日食品安全检查记录台账(日管控)
评论
0/150
提交评论