第一篇:统一身份认证(CAS)简单说明与设计方案
统一身份认证(CAS)简单说明与设计方案(转)
1.单点登录概述
所谓单点登录(SSO),只当企业用户同时访问多个不同(类型的)应用时,他们只需要提供自身的用户凭证信息(比如用户名/密码)一次,仅仅一次。SSO解决方案(比如,CAS)负责统一认证用户,如果需要,SSO也可以完成用户的授权处理。可以看出,当企业用户在不同的应用间切换时,他们不用再重复地输入自身的用户凭证了。在实施SSO后,所用的认证操作都将交给SSO认证中心。现有的SSO解决方案非常多,比如微软的MSN Passport便是典型的SSO解决方案,各Java EE容器都提供了自身的专有SSO能力。
2.CAS的总体架构
1.CAS简介
CAS(中央认证服务)是建立在非常开放的协议之上的企业级SSO解决方案。诞生于2001年,在2002年发布了CAS2.0协议,这一新的协议提供了Proxy(代理)能力,此时的CAS2.0支持多层SSO能力。到2005年,CAS成为了JA-SIG旗下的重要子项目。由于CAS2.0版本的可扩展能力不是非常完美,而且他的架构设计也不是很卓越,为了使得CAS能够适用于更多场合,JA-SIG打算开发出同时遵循CAS1.0和CAS2.0协议的CAS3.X版本。
现在的CAS3全面拥抱Spring技术,比如Spring DI容器和AOP技术、Spring Web MVC、Spring Web Flow、Spring Ldap Template等。
通常,CAS3由两部分内容构成:CAS3服务器和CAS客户端。由于CAS2.0协议借助于XML数据结构与客户进行交互,因此开发者可以使用各种语言编写的CAS3客户与服务器进行通信。CAS3服务器采用纯Java开发而成,它要求目标运行环境实现了Servlet2.4+规范、提供Java SE 1.4+支持。如果宿主CAS3服务器的目标Java EE容器仅仅实现了Servlet2.3-规范,则在对CAS3服务器进行少量的改造后,CAS3也能运行其中。
运行时,CAS3服务器仅仅是一个简单的Web应用,使用者只需要将cas.war直接丢到目标Java EE容器后,即完成了CAS3的部署。
2.CAS词汇概念
TGC(ticket-granting cookie)---------受权的票据证明
KDC(Key Distribution Center)----------密钥发放中心
Service ticket(ST)---------服务票据,由 KDC 的 TGS 发放。任何一台 Workstation 都需要拥有一张有效的 Service Ticket 才能访问域内部的应用(Applications)。如果能正确接收 Service Ticket,说明在 CASClient-CASServer 之间的信任关系已经被正确建立起来,通常为一张数字加密的证书
Ticket Granting tieckt(TGT)---------票据授权票据,由 KDC 的 AS 发放。即获取这样一张票据后,以后申请各种其他服务票据(ST)便不必再向 KDC 提交身份认证信息(准确术语是 Credentials)。
authentication service(AS)---------认证用服务,索取 Crendential,发放 TGT
ticket-granting service(TGS)---------票据授权服务,索取 TGT,发放 ST
3.CAS工作原理
CAS的单点登录的认证过程,所用应用服务器受到应用请求后,检查ST和TGT,如果没有或不对,转到CAS认证服务器登录页面,通过安全认证后得到ST和TGT,再重新定向到相关应用服务器,在回话生命周期之内如果再定向到别的应用,将出示ST和TGT进行认证,注意,取得TGT的过程是通过SSL安全协议的。
如果通俗形象地说就是:相当于用户要去游乐场,首先要在门口检查用户的身份(即 CHECK 用户的 ID 和 PASS), 如果用户通过验证,游乐场的门卫(AS)即提供给用户一张门卡(TGT)。
这张卡片的用处就是告诉游乐场的各个场所,用户是通过正门进来,而不是后门偷爬进来的,并且也是获取进入场所一把钥匙。
现在用户有张卡,但是这对用户来不重要,因为用户来游乐场不是为了拿这张卡的而是为了游览游乐项目,这时用户摩天楼,并想游玩。
这时摩天轮的服务员(client)拦下用户,向用户要求摩天轮的(ST)票据,用户说用户只有一个门卡(TGT), 那用户只要把 TGT 放在一旁的票据授权机(TGS)上刷一下。
票据授权机(TGS)就根据用户现在所在的摩天轮,给用户一张摩天轮的票据(ST), 这样用户有了摩天轮的票据,现在用户可以畅通无阻的进入摩天轮里游玩了。
当然如果用户玩完摩天轮后,想去游乐园的咖啡厅休息下,那用户一样只要带着那张门卡(TGT).到相应的咖啡厅的票据授权机(TGS)刷一下,得到咖啡厅的票据(ST)就可以进入咖啡厅
当用户离开游乐场后,想用这张 TGT 去刷打的回家的费用,对不起,用户的 TGT 已经过期了,在用户离开游乐场那刻开始,用户的 TGT 就已经销毁了。
3.CAS的实现原理
由于CAS是基于Cookie的服务,所以它使用了Spring CookieGenerator来生成相应Cookie,下面的代码段摘自与CAS服务器的WEB-INF/中的cas-server.xml配置文件。
class=“org.springframework.web.util.CookieGenerator”>
一旦用户登录到CAS服务器后,可以借助于URL为/cas/logout的地址退出,并且这种logout结果将导致浏览器中已存储的Cookie被销毁掉,即销毁CAS与当前用户间已建立的信任关系(Web SSO会话)。
1.AuthenticationHandler认证处理器
浏览项目的web.xml,可以发现如下内容:
contextConfigLocation
/WEB-INF/applicationContext.xml,/WEB-INF/deployerConfigContext-acegi.xml
org.jasig.cas.web.init.SafeContextLoaderListener
SafeContextLoaderListener实现了SafeContextListener,它借助于ContextLoader-Listener装载Spring DI容器。这样做的原因是因为Spring在通过
ContextLoaderLitener启动时可能出现异常,造成整个CAS不能正常启动,经过SafeContextLoaderListener,则在异常发生时,CAS服务器也可以启动。在deployerConfigContext.xml中,可以看到只定义了一个Bean:
class=“org.jasig.cas.authentication.AuthenticationManagerImpl”>
SimpleTestUsernamePasswordAuthenticationHandler的作用是如果用户名与密码输入一样,则通过系统认证。这个是开发过程中常用的一个handler,但是在开发完毕后应该除去。
AuthenticationManagerImpl负责认证用户,比如一个admin/admin用户是否合法就是它来验证的。AuthenticationManagerImpl对象会借助于他引用的credentialsToPr-incipalResolvers和authenticationHandlers集合完成用户的认证工作。Authentication-Handlers负责完成用户认证,而
credentialsToPrincipalResolvers负责构建认证结果。其中,并不是authenticationHandlers的全部集合都参与到用户认证中,一旦某个AuthenticationHandler成功完成用户的认证,则认证进程就到此为止,进而转到credenti-alsToPrincipalResolvers来构建认证结果。credentialsToPrincipalResolvers的过程也类似于此。
2.CAS的时序图
来自:
第二篇:统一身份认证系统数字化校园建设方案
益教教育科技有限公司——数字化校园建设方案
统一身份认证系统数字化校园建设方案
在数字化校园统一综合管理平台普及前,校园网各个应用系统相互独立存在,登录不同的应用系统都要设置登录密码并进行验证,造成应用系统认证资源的浪费,电子身份信息的重复、造假等弊端。多个应用系统重复认证的弊端日益显露,数字化校园建设方案的不断完善,单点登录技术应运而生,建设安全有序的数字化校园统一身份认证系统得到重视。安全有序的数字化校园统一身份认证系统通过集中身份认证,实现用户只需一次登录认证,就可访问所有相互信任的应用系统,实现对所有被授权的应用系统的无缝访问,保证了用户电子身份信息的唯一性、真实性、权威性。
数字化校园建设方案统一身份认证系统的工作机制
用户通过用户名及密码认证等多种认证方式将用户登录信息传递给各应用服务器。应用服务器在接收到用户提交的信息后。向认证前置机发出认证请求。认证前置机首先确认该应用服务器的应用是否是统一身份认证系统所认可的。如果应用服务器的应用是统一身份认证系统所认可的,则认证前置机与后台的认证服务器进行用户认证信息确认。在通过对用户身份认证的同时返回一个认证令牌给用户;否则,将直接返回失败信息,用户通过认证令牌即可访
益教教育科技有限公司——数字化校园建设方案
问应用系统,并可在其他统一身份认证系统所认可的应用系统间自由切换,无需再次认证。
数字化校园建设方案管理身份认证方案功能:
(1)通过对在校已注册用户身份的认证提高了用户信息的安全系数。
(2)通过身份认证可以对已注册用户信息访问、修改、增加和删除。
(3)该方案是实现一卡通的基础.会给高校的管理带来极大的便利。
以安全有序为目的建设的浙江大学统一身份认证系统
数字化校园建设方案统一身份认证系统建设目的在于构建浙江大学统一的数字身份管理与服务中心,保障学校信息资源的有序应用,确保学校信息资源和服务的安全。统一身份认证系统由身份数据库、身份管理与数据服务、资源管理与访问控制、PKI基础设施、电子签章及其应用等组成,能够向全校范围内所有部门、信息系统提供用户身份数据服务,能够为网上审批、网上支付等应用服务提供数字证书认证,能够为学校整合现有的各种应用系统提供支撑,能够满足师生“单点登录、多点漫游”的需求。
目前可用浙江大学数字化校园统一身份认证系统登录的网站和系统有29个,包括校级OA、益教教育科技有限公司——数字化校园建设方案
部门学院OA、浙大办公网、科研管理系统(人文社科版)、科研管理系统(科技版)、计财查询系统、专业技术职务聘任系统、教职工数据服务系统、现代教务管理系统、本科教学课程中心、设备资产管理系统、消防信息管理系统、邮件系统、网络学术创新门户、网络存储、个人主页系统、学生数据中心、校园卡综合服务、学生一站式服务中心、电子离校单系统、学生公寓网、出国出境、车辆年检用校印、法律事务办理、会议室管理系统、部门公章申请审核、电子签名章申请审核、电子印章管理系统、浙大校历。
第三篇:《知行统一与体验成功》设计方案
《知行统一与体验成功》教学设计方案
[教学内容] 《知行统一与体验成功》是高等教育出版社教材《哲学与人生》第三单元的第七课。《哲学与人生》这门课程,把哲学与人生结合起来,用哲学的基本观点来指导学生树立正确的人生观、世界观和价值观。第三单元的核心内容是“以马克思主义的认识论为指导不断提高人生发展的能力”。《知行统一与体验成功》这节课侧重点是“如何在知行统一中提高人生发展的各种能力”,着重阐述辩证唯物主义的知行统一观,引导学生在知行统一中体验成功。因此,本课在本章节和这门课程的学习中占有重要地位,学习本课为学生今后的健康成长发展奠定了基础。
[教学目标] 认知目标:了解实践和认识的辩证关系,理解提高人生发展能力必须做到知行统一。
情感态度观念目标: 增强学生对知行统一哲学原理的认同,使得中职学生注重实践,善于总结,努力学习,崇尚在知行统一的过程中提高人生发展的能力。
运用目标: 通过教学,帮助学生在学习与生活的实践中,不断探索、及时总结人生发展过程中成功和失败的经验教训。学会以马克思主义的认识论为指导,不断提高人生发展的能力。
[教材重点、难点和关键点] 重点:1.辩证唯物主义知行统一观的基本观点和方法。
2.在知行统一中体验成功。难点和关键点:1.正确对待成功和失败
2.在知行统一中体验成功。
[学情分析]
通过前面知识的学习,学生基本上具备了一定分析问题、理解问题的能力,为学生学好本课奠定了理论基础。
从学生自身情况来看,中等职业学校学生中考成绩不够理想,基础知识薄弱,但同学们思维活跃,求知欲旺盛,爱游戏,爱玩爱唱,在遇到困难的时候不能做到勇敢地去面对。本课的教学对培养学生正确认识事物,掌握科学思维方法,勇于实践,在知行统一中体验成功很有帮助。应在课堂上充分调动学生的学习积极性,激发来自学生主体的学习动力。[教学方法] 根据本课的重点内容和学生的实际情况,坚持德育课“贴近实际、贴近生活、贴近学生”的原则,采用启发式学习模式,借助计算机多媒体手段,选择贴近学生生活实际的多种资源,采取合作探究、情境讨论、案例教学、漫画分析、设问启发等多种教学方法,充分调动学生参与,激发学生的学习热情,使学生真正成为学习的主体。
[教学环境设计及资源准备] 多媒体教室,多媒体课件,投影仪
[教学过程及时间分配]
第一课时
(一)导入新课(3分钟)播放歌曲: 《真心英雄》
在我心中 曾经有一个梦,要用歌声让你忘了所有的痛,灿烂星空 谁是真的英雄平凡的人们给我最多感动,再没有恨 也没有了痛,但愿人间处处都有爱的影踪 用我们的歌 换你真心笑容,祝福你的人生从此与众不同 把握生命里的每一分钟,全力以赴我们心中的梦 不经历风雨 怎么见彩虹,没有人能随随便便成功
设问:“ 不经历风雨,怎么见彩虹”人生道路上必然会遇到失败和挫折,我们应该怎样提高人生发展能力,实现人生的成功呢?
以歌曲为切入点,设置感人情境,调动学生参与课堂的兴趣,引导学生在欣赏之余思考歌曲的内涵并讨论问题,归纳出:人生发展不可能时时处处都顺心如意,当遭遇失败挫折或陷入低谷时,我们应该像歌曲中表达的那样,客观看待成败,认真总结得失,在此基础上知行统一、勇于实践,就一定会取得人生道路上的成功。以此导入新课的学习。
(二)新课教学:(30分钟)
一、坚持实践和认识的统一 1.实践是认识的基础,实践出真知
以小学课本中学过的一个故事引入:某寺庙重修,众僧人划船打捞被洪水冲走的庙门石兽。在庙前的河里找了半天没找到,于是又顺流而下寻出十余里,仍未果。当地一位颇受尊敬的“老学究”恰好经过,他见众僧忙活半天徒劳无获,笑道:石兽掉在河中一定会陷于泥沙之中,而且越陷越深,不可能顺流而下。众僧听后颇为折服,准备下河挖泥。一老河工闻之却不以为然,他建议众僧应该顺流而上再找找,众人皆笑。老河工解释说:流水冲击石兽,会慢慢地在石兽迎水的一面形成沙坑,并逐渐使石兽“倒掷其中”,如此日复一日的反复,必定引导石兽“逆水而上”!众人听了老河工的话,将信将疑,但最后还是按照老河工的方法顺流向上寻找,果不然,僧侣们在河的上游处找到了石兽。
通过师生共同解读,帮助学生理解实践是认识的基础,实践出真知,实践是认识的唯一源泉;实践的发展推动认识的发展。
由于该问题理论性较强,学生理解起来有一定的难度,因此该部分内容以老师讲解为主,充分发挥老师的指导作用。
2.在实践基础上形成的正确认识能更好地指导实践
永动机是一类想象中的不需外界输入能源、能量或在仅有一个热源的条件下便能够不断运动并且对外做功的机械。历史上人们曾经热衷于研制各种类型的永动机,其中包括达芬奇、焦耳这样的学术大家,另外包括一些希望以永动机出名和获利的骗子。在热力学体系建立后,人们通过严谨的逻辑证明了永动机是违反热力学基本原理的设想,从此之后就少有永动机的研究者了。
通过典型事例,帮助学生理解认识是在实践中产生和发展起来的,又要回到实践中去指导实践,在实践基础上形成的正确认识能有效地指导实践。说明在实践基础上形成的正确认识能更好地指导实践,以此帮助学生明确实践与认识的关系。同时强调反对两种片面看法,坚持知行统一。3.认识是在实践基础上不断反复、不断深化的过程
利用教材第66页毛泽东的名言及“从输羊血到输人血”事例引导学生认识人们对事物的正确认识往往需要经过从实践到认识、再从认识到实践的多次反复才能完成。
老师从事例出发,通过对材料的分析、讲解,引发推动学生思考、归纳出辩证唯物论的知行统一观:实践、认识、再实践、再认识,这种形式,循环往复以至无穷,而从实践和认识之每一循环的内容过程,都比较地进到了高一级的程度。同时利用图片形象显示认识发展的过程,加深印象。
4.实践和认识是辩证的统一,认识与实践相结合是马克思主义的一个基本原则 以教材第67页漫画及渔夫的故事为背景,设置问题引导学生思考,回答问题得出结论。
材料1:教材第67页漫画 问题:你赞同谁的观点?为什么?
材料2:有个渔夫有着一流的捕鱼技术,被人们称为“渔王”。可是当他年老时却十分苦恼,因为他三个儿子的捕鱼技术都很糟糕。老渔夫一直不明白为什么自己从孩子小时侯起就手把手地、一点一滴地将所有自己常年积累的经验教给了儿子,可是最终他们的捕鱼技术竟然比不上技术比自己差的那些渔夫的儿子。
问题:渔夫的儿子们为什么技术反而比不上别人?
通过这一组材料,师生共同讨论设置问题,说明不能割裂实践和认识两者之间的关系。马克思主义认识与实践相统一的基本原则要求我们,既要积极参加社会实践,又要在实践中不断总结反思,提高认识水平。
二、在知行统一中提高人生发展能力
1.提高人生发展的能力对实现成功人生具有重要作用
联系学生专业拓展关于能力的知识,引发学生兴趣。
2.人生发展的各种能力是在实践和认识循环往复的过程中不断锻炼提高的结合教材第69页“蓝领专家”孔祥瑞事例,阅读材料,思考、讨论。
问题:说说孔祥瑞是如何在知行统一中不断提高人生发展能力的?
结论:人生发展的各种能力是在实践和认识循环往复中不断锻炼提高的。只有在实践中不断学习,做到知行统一,才能不断提高,走向成功。
(三)课堂小结:(2分钟)
让学生自己总结这节课所学的内容,检验学生对本节课的掌握情况,进一步培养学生的概括能力、口头表达能力和反思能力。
(四)课堂探究:(10分钟)
结合课本76页材料大学生“回炉”材料和图片引导学生思考,近几年,在我国南方某些职业技术学校悄然出现了一些大学生回炉的现象,学有所成的大学生也要回炉,这是为什么?让我们来关注思考:大学生回炉的原因?
在大学生们掀起回炉高潮的同时,各大学校却在积极的搭建平台,鼓励学生融入社会,参与实践,你如何看待这一现象?你有类似的经历吗?
结论:只有参加社会实践,才能真正理解书本知识;如果只读书不实践,就有可能出现眼高手低的理想化,片面化的;就会成为死读书,读死书的书呆子。名言:所以我们在知识的海洋里不仅要采蜜,更要学会酿蜜。
(五)布置作业:
每个中职学生几乎都有自己崇拜的偶像,我们看到的通常是这些名人、明星成功时的辉煌,但未必了解他们艰苦奋斗的过去。请认真查找你的偶像的成长资料,了解他们的成长历程,并结合本节课所学知识分析他或她取得成功的原因,并说一说从中受到的启发。
[教学反思]
在教学过程中,运用多种教学方法和多媒体教学手段,充分发挥学生主体作用,做到了师生互动,生生互动,为学生参与教学活动创造了良好的环境,大部分学生积极参与,努力思考,能很好的完成学习任务。并且通过评价激励学生,帮助他们自信地投入学习,进而自信地步入社会。
选取有说服力又通俗易懂的材料,从分析材料入手,提升哲学理论,再从理论回归到生活实践,指导学生在理解理论的基础上找出与生活的契合点,从而掌握知行统一观的基本观点和方法。
个别内容的节奏把握不到位,可以多留一些空间给学生。还应加大课堂内
容与学生专业的契合度,进一步引起学生们的共鸣。
[板书设计]
一、坚持实践和认识的统一 1.实践是认识的基础
2.认识指导实践
3.认识不断反复、不断深化 4.实践和认识辩证的统一
二、在知行统一中提高人生发展能力1.对实现成功人生具有重要作用
2.在实践和认识循环往复的过程中不
断提高的
3.提高人生发展的能力需要做到知行统一
第四篇:教学设计方案与信息技术运用说明
教学设计方案与信息技术运用说明:
①(看flash)通过看、想这一过程,唤起学生头脑中对四边形的已有认知,有利于加强对知识的理解和对平行四边形和梯形特征的掌握。②三年级上期第三单元《四边形》中,学生已经初步认识平行四边形,在头脑中已初步建立了平行四边形的表象,本节课引导学生通过自主探究平行四边形的特征,从而知道怎样的四边形叫做平行四边形。③(看flash)形象的说明了平行四边形容易变形。
④让学生感受数学就在我们的身边,拉近了数学与生活的距离。⑤(看flash)学生通过自主探索,用自己喜欢的方式表示长方形、正方形、平行四边形、四边形之间的关系,结合展台展示并加以说明,培养学生运用多种方法解决问题的能力,学生的口头表达能力和动手操作能力也得到训练。在分类的基础上,对照平行四边形的概念加以总结,顺势导入对几者关系的总结,得出长方形是特殊的平行四边形,正方形是特殊的长方形,一般四边形都属于四边形。
⑥ 巩固所学知识,让学生体验成功感,培养学生分析、判断能力和空间想像能力。
⑦ 学生经过动手实践、合作交流、反馈练习,本节课的教学目标已基本达到,再引导学生将以前所学的零碎的、不完整的、模糊的信息通过看书讨论,进行整理归纳,使之上升为理性的、完整的真知,学生能清晰明了地正确理解、掌握新的知识。通过总结评价 , 帮助学生梳理知识脉络,反思自己的学习过程,领会学习方法,获得数学学习经验。
第五篇:基于USB_Key的PKI身份认证技术的分析与改进
基于USB Key的PKI身份认证技术的分析与改进
摘要:在当今数字世界中,身份认证技术是各种安全技术的基础。USB Key技术是现在比较流行的基于PKI的强身份认证技术,特别是在网上银行等金融领域。研究了USB Key的典型使用流程,分析了这些流程中的安全威胁,最后着重提出了针对这些风险的安全解决方案,这些方案都是在具体项目得以实施应用,对目前的USB Key使用和开发具有很好的实用和借鉴意义。
关键词:USB智能密码钥匙;公钥密码基础设施;身份认证;数字签名;网上银行
中图分类号:TP393.08 文献标识码:A
Analysis and improvement of PKI identity authentication technology based on USB Key Abstract: Now in digital world, all of security technologies are based on digital identity authentication technology.And the USB Key technology is one of the most popular technologies, which is a strong authentication technology and based on PKI, especially in Internet banking filed.The typical usage flows are researched, the security threats are analyzed.At the last, the solutions are proposed corresponding to these threats, which is applied in practical projects and have great practical and economic value.Key words: USB Key;PKI;Identity authentication;Digital signature;Internet banking 1引言
随着互联网和电子商务的发展,USB Key作为网络用户身份识别和数据保护的“电子钥匙”,正在被越来越多的用户所认识和使用。
USB Key[1,2,3]这个概念最早是由加密锁厂家提出来的,加密锁是用来防止软件盗版的硬件产品,用于识别用户身份。与此同时,随着PKI[45,6]应用的兴起,数字证书[45,6]作为确认用户身份和保护用户数据有效手段越来越被人们所接受。然而数字证书实质上表现为带有用户信息和密钥的一个数据文件,如何保护数字证书本身又成为PKI体系中最薄弱的环节,专门用于存储秘密信息的USB Key就很自然的成为数字证书的最佳载体。利用USB Key来保存数字证书和用户私钥。
每一个USB Key都带有PIN码保护,这样USB Key的硬件和PIN码构成了可以使用证书的两个必要因子,也就是所谓的双因素认证[7]。
随着智能卡[8]技术的发展,智能卡运算能力不断提高,带有智能卡芯片的USB Key可以通过内置的智能卡芯片在Key内部硬件实现DES/3DES、RSA加解密运算,并支持Key内生成RSA密钥对,杜绝了密钥在客户端内存中出现的可能性,大大提高了安全性。
这样,基于智能卡技术和PKI技术的发展形成了目前广泛使用的USB Key身份认证产品。USB Key 基本功能包括:高质量随机数生成,公/私密钥对产生,数字证书下载存储,哈希运算,数字签名/验证,对称加/解密,非对称加/解密等功能。
USB Key是目前所有身份认证技术中认证强度最高的技术,但是使用过程中的漏洞会大大削弱这种优势,其安全形势也不用乐观。USB Key的使用流程
网银[9](Internet Banking,网上银行)等金融领域是目前USB Key应用最广泛最成熟的领域,下面主要以网银案例来介绍USB Key的使用流程,以时序图形式说明。2.1 首次登录流程
用户1.0 插入USB KeyUSB Key客户端网银服务器1.1 虚拟光盘自动运行1.2 客户端启动并进入登录界面1.3 与服务器建立单向SSL安全通道1.4 与客户端建立单向SSL安全通道1.5 提示用户输入相关信息进行用户绑定1.6 用户输入身份证号和授权码1.7 提取相关序号1.8 设备序号和数字证书序号1.9 发送用户信息到服务器1.10 验证用户信息如果成功,则绑定用户身份证号、USB Key序号及数字证书序号1.11 返回绑定结果1.12 提示用户登录成功或失败
图1 首次登录流程图
2.2 普通登录流程
用户2.0 插入USB KeyUSB Key客户端网银服务器2.1 虚拟光盘自动运行2.2 客户端启动并进入登录界面2.3 与服务器建立单向SSL安全通道2.4 与客户端建立单向SSL安全通道2.5 提示用户输入口令2.6 用户输入口令2.7 验证用户口令指令2.8 返回验证结果2.10 提取相关序号2.11 设备序号和数字证书序号2.9 验证失败则提示用户,否则继续2.12 发送用户信息到服务器2.13 验证用户信息2.14 返回验证结果2.15 提示用户登录成功或失败
图2 普通登录流程图 2.3 客户端认证和转账流程
用户USB Key3.0 用户登录成功后,转账客户端网银服务器3.1 与服务器建立双向SSL安全通道3.2 SSL签名请求3.3 SSL签名3.4 与客户端建立双向SSL安全通道3.5 建立失败则提示用户,否则继续3.6 提示用户输入转账信息3.7 输入转入账号和金额3.8 提交转账请求3.10 返回请求结果3.11 提示用户输入USB Key口令3.12 输入用户口令3.13 签名请求3.14 签名值3.15 提交交易签名3.9 验证表单3.16 验证签名3.17 返回验证结果3.18 返回交易结果
图3 客户端认证和转账流程图 USB Key安全性分析及改进方案
3.1 安全风险[10][11]
目前USB Key安全风险有:
USB Key 口令(密码)明文传输,可能被USB监听工具截获;
有的网银系统USB Key只做身份认证,不进行交易签名;或者USB Key签名请求没有校验和客户确认机制,客户在使用网银进行资金操作时,其用户私钥存在被他人远程非法调用并进行交易的可能;
USB Key主控密钥管理不善,存在泄露风险,不法分子可远程调用USB Key进行非法交易签名,进而盗取用户资金。3.2 安全需求:
加强用户交易授权认证。在使用USB Key进行交易授权认证时,应增加客户交易确认手段,如增加向客户发送含有待确认交易信息的短信等第二渠道认证方式,或使用带有确认按键或显示屏的USB Key。
严格USB Key密钥安全管理。要采用加密手段保存和传输USB Key的口令(密码),严格USB Key主控密钥、传输密钥等安全管理,防止不法分子获取USB Key访问控制权,非法调用或修改用户私钥。
加强网上银行客户端的安全保护。在保护键盘输入、防通信明文窃取、防黑客程序跟踪、防内存数据截获、防截取屏幕信息、防“钓鱼”欺骗、防交易数据篡改等多方面对网上银行系统及客户端采取技术加固措施。
3.3 安全改进措施 3.3.1 用户口令安全
用户口令的输入主要有两种:PC端输入和USB Key端输入。
PC端输入包括使用PC键盘和虚拟软键盘,PC键盘输入相对比较容易拦截监听到,而软键盘布局随机排列且不易被拦截到。PC端输入方式口令验证过程的安全性主要靠动态密钥加密用户口令数据。
另外,USB Key配备数字全键盘或可以输入数字的按键,用户口令(包括修改)的输入全部在设备上完成,用户口令不会出现在USB通信中,所以从根本上防止口令被拦截或破解。同时,由于用户口令在设备上输入,外界无法直接向设备发送校验口令指令,有效防止通过远程恶意发送校验口令指令导致设备锁死。
3.3.2 密钥对安全
用户密钥对是在申请证书时在设备内部随机产生的,而不是事先存在或导入的。
用户私钥存放于芯片特殊保护区域,外面无法对其直接操作,并且通过各种手段都无法读出或替换,防止用户私钥被导出、读出或替换,保证用户私钥数据的安全。
所有用户私钥的操作都由用户口令来控制,需用户口令验证通过后才能进行数字签名操作,在操作完成后重置验证口令标志,防止私钥操作被远程劫持。同时,加密私钥操作指令的会话密钥都是一次一密,有效防止签名指令重发攻击。3.3.3 数据通信安全
设备和主机的通信数据很容易被USB监控软件(如:Bushound)获取,保护通信数据的安全,防止敏感信息泄露就显得至关重要。
基本思路:数据通信安全就是要保护主机和设备通信数据,防止数据被截取或篡改。保护通信数据的密钥是动态会话密钥,而不是单纯的静态密钥,这样即使某一段数据被拦截并破解,只要及时协商一个新的会话密钥,即可防止后面的通信被破解。并且,比如签名等比较敏感的指令数据的会话密钥都会用一次协商一次(一次一密)。协商基本流程,如图4所示。
主机设备
1、在设备初始化/格式化时随机产生一个专门用于协商会话密钥RSA密钥对(K)2.“发起协商”会话密钥,并携带主机产生的8字节随机数(Rh)3.返回设备随机数(Rd)和RSA密钥对公钥(Kpub)4.组装会话密钥,并用公钥(Kpub)加密会话密钥5.“协商”会话密钥指令,携带加密的会话密钥6.用私钥(Kpri)解密出会话密钥7.返回协商结果8.加密通信数据
图 4 安全通信的基本流程
1、会话密钥对生成。专门用于协商会话密钥的RSA密钥对(以下简称会话密钥对)在设备初始化/格式化时生成,这个密钥对与用户的密钥对毫无关系,仅用于会话密钥的协商,即使这个密钥对被破解也不会影响到用户的密钥对。会话密钥对随机产生,每个设备都不相同,并且同一个设备每一次格式化的密钥对也不相同。这些措施的目的就是要保障即使一个设备通信被破解也不会影响到别的设备,并且可以防止通信重放攻击。
2、发起协商。协商会话密钥的过程由主机(应用)发起。主机发送“发起协商” 指令,该指令同时携带主机随机产生的8字节随机数(Rh).指令形式如:发起协商指令头+主机产生的8字节随机数(Rh)。
3、返回设备随机数和会话密钥对公钥。当设备收到发起协商指令后,设备首先保存主机产生的8字节随机数(Rh),同时设备也产生8字节的随机数(Rd)。最后设备返回随机数(Rd)和会话密钥对公钥。指令响应形式:设备产生的8字节随机数(Rd)+会话密钥对公钥(Kpub)。
4、组装会话密钥。当主机收到发起协商指令返回后,主机保存设备产生的8字节随机数(Rd)和会话密钥公钥(Kpub)。接着,主机开始组装会话密钥,组装完成后用会话密钥公钥(Kpub)加密会话密钥。组装过程,如图 5 所示:
设备 8字节随机数(Rd)主机 8 字节随机数(Rh)设备右半 4 字节随机数主机左半 4 字节随机数设备左半4字节随机数主机右半4字节随机数RSA 公钥加密会话密钥公钥(Kpub)会话密钥密文
图 5 组装会话密钥
5、协商。主机组装完会话密钥并加密后,通过“协商”指令发送到设备,指令形式如:协商指令头+会话密钥密文。
6、设备解密会话密钥。当设备收到“协商指令” 发送过来的会话密钥密文后,设备使用会话密钥对的私钥(Kpri)解密出会话密钥(SK)。由于在“发起协商” 指令中设备已经获得了主机产生的随机数,所以设备也会自己组装会话密钥(SK’),然后设备比较(SK)和(SK’)是否一致。最后返回协商结果给主机,如图6所示。会话密钥密文8字节设备随机数(Rd)8字节主机随机数(Rh)会话密钥对私钥(Kpri)RSA私钥解密会话密钥(SK)设备右半4字节随机数主机左半4字节随机数设备左半4字节随机数(Rd)主机右半4字节随机数(Rd)比较返回失败相同?更新当前会话密钥返回成功图 6 解密会话密钥
7、返回协商结果,返回协商结果成功或失败。
8、加密通信。会话密钥协商成功后,主机和设备就可以使用刚刚协商的会话密钥来加密通信。一些敏感指令(比如:签名,验证用户口令)需要会话密钥动态变化,一次一密。3.3.4 交易签名安全
交易签名是对敏感交易数据进行签名。在签名运算之前,交易数据(TLV格式)先送到USB Key设备上显示,用户确认后在设备内部进行签名,防止非法程序对所签数据进行篡改。同时,由于内部数据签名之前进行数据填充,有效防止利用非交易签名来伪造交易签名。
签名数据数据检查USB Key内部符合交易数据格式(预定义TLV格式)是交易数据确认(设备LCD显示)数据填充否对填充后数据做哈希运算从设备上验证用户口令对数据哈希值做签名运算签名值
图 7 数据签名流程
从图 7 可以看到,明文数据进入设备后,设备首先检查数据是否是预定义格式的签名数据,如果不是的话,将不在设备上显示,验证用户口令后直接签名,返回签名值;如果符合交易数据格式化的话,首先在设备上显示交易内容,待用户确认后,对交易数据进行特别的内部填充,接着对填充后的数据进行哈希运算获取哈希值,待在设备上验证用户口令后,对数据进行签名并返回签名值。整个流程数据从进入设备到签名,从未出过设备。
由于交易签名数据会在设备内部填充,而非交易签名数据(比如:SSL安全通道签名)不会被填充,外界也无法模拟这个填充过程,所以利用非交易签名来伪造交易签名就无法实现。
同时可以发现,图中的除了数据填充外,其他过程都是标准处理流程,所以下面主要介绍一下数据填充。
数据填充的目的是防止交易签名的伪造,交易数据的填充过程,在设备外面无法完成,因为填充的数据是保密的。数据的填充方式如:填充值+交易签名数据。
填充的关键是填充的数据值。填充数据是在设备初始化/格式化时写入设备的,根据设备序号来派生的,因而每个设备的填充值都不一样;并且派生密钥存在控制卡中,由银行管理员来设置别人无法获取,因而无法得到填充值。
填充值写入设备安全机制,如图8所示:
签名填充值写入及授权使用<
图 8 填充值写入设备机制
填充值是在设备格式化时写入的,此时设备和控制卡之间经过双向认证(遵循 GP 2.1.1 SCP01规范)已建立安全通道,所以填充值明文不会出现在主机内存中,格式化程序也无法获取。结论
我们生活的现实世界是一个真实的物理世界,每个人都拥有独一无二的物理身份。而今我们也生活在数字世界中,一切信息都是由一组特定的数据表示,当然也包括用户的身份信息。而计算机只能识别用户的数字身份,所以计算机给用户的授权也是针对用户数字身份进行的。保证访问者的数字身份与物理身份相对应,就是身份认证管理系统所需要解决的问题。为了保护信息安全,现在有身份认证、授权管理控制、日志审计、防火墙等安全技术。其中身份认证是其他技术的基础。如果用户身份被非法冒用,那么用户的权限也被非法使用,安全审计等就失去意义。本文通过研究当前最流行的基于PKI的USB Key身份认证技术,总结出目前USB Key使用或部署中的一些安全威胁;最后针对这些安全威胁,对每个具体的安全点都提出了实用的安全解决方案,这些方案都在项目或产品中得到应用和检验,具体很好的使用价值和经济价值。
参考文献:
[1]苏正荣.简析USB Key的工作原理及应用[J].中国金融电脑, 2009,(05)[2]杨帆.USB KEY体系研究与技术实现[D]武汉大学, 2004 [3]刘红明.基于SSX45安全芯片的USB Key设计与实现[D]上海交通大学, 2009.[4]Carlisle Adams, Steve Lloyd, Understanding PKI: Concepts, Standards, and Deployment Considerations[M], Addison-Wesley Professional, 2 edition ,November 16, 2002 [5]Jianying Zhou, Meng-Chow Kang,Feng Bao, Hwee-Hwa Pang, Applied Public Key Infrastructure[M], 2005 [6]关振胜,公钥基础设施PKI与认证机构CA[M], 2002 [7]吴永英,邓路,肖道举,陈晓苏.一种基于USB Key的双因子身份认证与密钥交换协议[J]计算机工程与科学, 2007,(05)[8]张鑫,李方伟,潘春兰.一种增强的基于智能卡的远程身份鉴别方案[J]计算机应用, 2009,(04)[9]程宇贤.网上银行身份认证系统的安全性研究[D]上海交通大学, 2010 [10]张轶辉,王昭顺,USB密码钥匙漏洞分析及防御策略的研究 [J],航空计算技术,2007 [11]张锟,颜学龙.USB KEY的体系结构分析及安全策略研究[J]安防科技, 2009,(02)