(计算机应用技术专业论文)基于安全u盘—pam的身份认证模型的研究与实现.pdf_第1页
(计算机应用技术专业论文)基于安全u盘—pam的身份认证模型的研究与实现.pdf_第2页
(计算机应用技术专业论文)基于安全u盘—pam的身份认证模型的研究与实现.pdf_第3页
(计算机应用技术专业论文)基于安全u盘—pam的身份认证模型的研究与实现.pdf_第4页
(计算机应用技术专业论文)基于安全u盘—pam的身份认证模型的研究与实现.pdf_第5页
已阅读5页,还剩75页未读 继续免费阅读

(计算机应用技术专业论文)基于安全u盘—pam的身份认证模型的研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中文摘要 摘要: 随着计算机技术的飞速发展,身份认证已经成为一个十分重要的研究课题。 本文对现有的身份认证机制及技术进行了分析和研究,利用p a m ( 可插拔认证模 块) 和安全u 盘技术,设计开发了基于p am - 一安全u 盘的身份认证系统。具体的研 究内容包括: 在对p a m ( 可插拔认证模块) 所提供的中央认证机制的研究基础上,利用p a m 使得应用程序与具体的认证机制分离,实现了身份认证机制对应用程序的透明性, 并且极大地提高了系统的通用性与灵活性; 在对安全u 盘应用前景的分析基础上,设计开发了l i n u x 系统下安全u 盘的驱动 程序,实现了对智能卡及u s b 存储器的命令集的支持,使得驱动程序具各易用性 和对普通u s b 存储器的兼容性; 设计开发了认证管理程序,其通过对安全u 盘驱动程序的访问,实现了双因子 认证以及系统和用户问的双向认证,使得模型的安全性进一步提高。 关键词:p a l m 安全u 盘双因子认证双向认证 分类号: j e 塞奎亟太堂亟堂僮论塞 a b 吼r a c r w i t ht h er a p i dd e v e l o p m e n to fc o m p u t e rt e c h n o l o g y , i d e n t i t ya u t h e n t i c a t i o nh a sb e c o m e q u i t ea l li m p o r t a n ts u b j e c tf o rr e s e a r c h b a s e do nt h ea n a l y s i sa n dr e s e a r c ho fi d e n t i t y a u t h e n t i c a t i o nm e c h a n i s m ,i nt h et h e s i sw eu s et h et e c h n o l o g yo fp a m 0 l u g g a b l c a u t h e n t i c a t i o nm o d u l e s ) a n ds e c u r i t yu s bm a s ss t o r a g ed e v i c ee m b e d d e ds m a r tc a r d , a n dd e s i g na ni d e n t i t ya u t h e n t i c a t i o ns y s t e mb a s e do np a ma n ds e c u r i t yu s bm a s s s t o r a g ed e v i c e n i cm a i nc o n t e n t sa r e 髂f o l l o w s : a f t e rt h er e s e a r c ho ft h ec e n t r a la n t h e n t i c a t i o nm e c h a n i s m s u p p l i e db yp a m ,t h em o d e l n s c gp a mt om a k et h ea p p l i c a t i o n ss e p a r a t e dw i t hc e r t a i na u t h e n t i c a t i o nm e c h a n i s m , a n di tm a k e st h ea u t h e n t i c a t i o nm e c h a n i s mh a s 虹a n s p a r e n c yt ot h ea p p l i c a t i o n s k a d d i t i o n ,d u et op a m ,t h em o d e li sa l l - p u r p o s ea n df l e x i b l e ; i nt h et h e s i sw ed e s i g na n di m p l e m e n tt h ed r i v e ro fs e c u r i t yu s bm a s ss t o r a g ed e v i c e u n d e rl i n u x t h ed r i v e rs u p p o r t st h ec o m m a n ds e t so fb o t ht h es m a r tc a r da n dt h eu s b m a s ss t o r a g ed e v i c e s ot h ed r i v e ri se a s yt ou s ea n da l l - p u r p o s et oc o m m o nu s bm a s s s t o r a g ed e v i c e ; w ea l s od e v e l o pt h em a n a g e m e n tp r o g r a mo ft h ea u t h e n t i c a t i o n t h r o u g ht h ea p p , g a st o t h ed r i v e ro fs e c u r i t yu s bm a s ss t o r a g ed e v i c e ,t h ep r o g r a mi m p l e m e n t st h et w o - f a c l o r a u t h e n t i c a t i o na n dt h em u t u a la u t h e n t i c a t i o nb e t w e e nt h eh e s ta n du s e r t h a tm a k e so u r m o d e lh a sh i g h e rs e c u r i t y k e y w o r d s :p a m ,s e c u r i t yu s bm a s ss t o r a g e & v i c e ,t w o - f a c t o ra u t h e n t i c a t i o n , m u t u a ia u t h e n t i c a t i o n c i 。a s s n o : 致谢 本论文的工作是在我的导师韩臻教授的悉心指导下完成的,韩臻教授严谨的 治学态度和科学的工作方法给了我极大的帮助和影响。在此衷心感谢三年来韩臻 教授对我的关心和指导。 刘吉强教授悉心指导我们完成了实验室的科研工作,在学习上和生活上都给 予了我很大的关心和帮助,在此向刘老师表示衷心的谢意 彭双和、唐为民、赵勇博士对于我的科研工作和论文都提出了许多的宝贵意 见,在此表示衷心的感谢。 在实验室工作及撰写论文期间,我的师兄张林对我论文中的研究工作给予了 热情帮助,在此向他表达我的感激之情。 同时感谢与我一起攻读硕士学位的朱圣刚、于海、王凯、毕斐等同学,几年 来的学习交流、友好相处丰富了我的学习和生活。 另外我要感谢我的父母,正是他们的支持和鼓励使我能够安心完成研究生学 业。 最后,我要向近几年来向我提供无私帮助的所有朋友致以最真挚的谢意! 1 绪论 1 1 研究背景 随着信息技术的飞速发展,网络已经深入到我们的生活中,全球信息化已成 为人类发展的大趋势,随之而来的是各行各业信息化进程的加快,计算机网络应 用领域迅速拓宽,企业的成功也越来越依赖各种各样的迅速增长的网络应用。然 而,伴随着这种应用的飞速发展,大量的相关信息被分散到各种分布式系统中, 从而引发了当前及潜在的各种安全问题。在计算机和网络深入千家万户的信息时 代,信息安全已经成为全球性问题,保证用户使用时的安全,正受到日益严峻的 挑战。 国际标准化组织( i s 0 ) 对信息安全的定义为:“为数据处理系统建立和采用 的技术和管理的安全保护,保护计算机硬件、软件和数据不因偶然和恶意的原因 遭到破坏、更改和泄露”。1 1 】对于信息系统来说,其安全方案的实旌应该像一个金 字塔,一个层面必须依赖于另一个层面,如图i - i 所示。1 2 】其中,身份认证是信息 系统对某一个体提供的他,她是谁的证明进行判断的处理过程,它是整个金字塔的 关键组成模块。若不首先采用对用户的身份认证,其余的授权层面、加密层面和 审计层面就会变得毫无意义。 图i - i 安全金孚塔 因此,在很多信息系统中,在尚未确定谁正在试图访问受限制的资源之前, 不会授予其访问权限。只有在其通过身份认证之后,系统才能考虑授予相应的访 问权限。所以说,目前在各种信息系统中,身份认证是确保网络和信息安全的第 一道防护,是存取控制的一个重要方面,因此国内外针对身份认证开展了大量的 研究开发工作。接着我们便对身份认证技术傲简要的介绍。 1 2 身份认证技术简介 认证( a u t h e n t i c a t i o n ) 又称鉴别,是证实某入或某事是否名副其实的过程。它 的思想是通过验证对象的一个或多个参数的真实性,来确认对象是否有效。身份 认证的目标是:比如说,当a l i c e 正在向b o b 证实身份时,“正在截听”的第三方以 后将不能冒充i c e ,也就是说,a l i c e 在没有泄露自己身份的条件下,能以电子的 方式证明自己的身份。一个最常见的身份识别的应用是我们使用带有个人身份识 别号的卡从自动出纳机( a t m ) q a 取款。 现有的身份认证技术主要包括了基于实体的身份认证和基于密码学的身份认 证协议。在这里选出几种认证协议加以简要介绍。 实体身份认证技术有口令认证、动态口令认证、智能卡认证、生物特征认证 等。 u n i x 系统的登录,使用的是基于口令的身份认证。系统将用户输入的i d 和 口令与数据库中的用户信息进行对比,从而确定用户身份。“用户口令一般较短且 容易猜测,因此这种方案不能抵御口令猜测攻击;另外,攻击者可能窃听通信信 道或进行网络窥探( s n i f f i n g ) ,口令的明文传输使得攻击者只要能在口令传输的过 程中获得用户1 :3 令,系统就会被攻破。”1 3 l 因此,口令认证是安全强度非常低的一 种身份认证技术,它无法满足当前信息系统对安全的高要求。 动态口令认证指的是在用户登录系统验证身份的过程中,送入系统的验证数 据是动态变化的。【4 l 具体的认证过程为:在用户登录系统时,他只需输入i d 和当 前的动态口令,接着系统根据用户的标识符计算出该用户的当前口令,与用户输 入的口令进行比较验证,从而完成对用户的身份认证。动态口令身份认证目前主 要包括基于时间同步认证和基于挑战应答方式的非同步认证技术。前者是以用户 登录时间作为随机因素,流逝时间作为变动因子进行认证。【4 j 而基于挑战,应答方 式的非同步认证技术则是在用户登录时,系统随即生成一个信息作为挑战值发给 用户,用户利用事先约定好的函数对自己的秘密信息和随机信息进行计算,并把 计算结果返回给系统,系统用同样的方法做验算邸可验证用户身份。1 5 l 智能卡认证技术是最为安全可靠的认证手段之一。 l 习智能卡一般分为存储卡 和c p u 卡。存储卡是用以存储用户秘密信息,如私钥、口令等。而c p u 卡弥补了 存储卡无法进行运算的缺陷,它除了可以存储信息外更可以利用信息进行计算。 卡一般内置一个微处理器并有相应的r a m 卡和可擦写的e e p r o m ,具有防篡 改和防止非法读取的保护功能,不仅可以存储秘密信息还可以在上面利用秘密 信息计算动态口令具有广泛的应用。 生物特征认证技术是通过入的生物特征来验证个人的身份,提取具有唯一性 2 的生理特性或行为方式作为认证的依据。这种生理特性和行为方式必须具有独立 性,利用现有设备可测量,并易于自动识别,如指纹、虹膜、人脸形状等。这些 特征的唯一性使得生物认证具有非常高的安全性,但是由于受到特征识别传感器 的发展限制,目前采用较多的是指纹识别。 实体身份认证在单机或者局域网中安全性比较高,但是在网络中比较容易被 窃听,为了解决此问题国内外开展了基于密码学的身份认证协议的大量研究。目 前身份认证系统中主要采用的有基于对称密钥算法的身份认证、k e r b e r o s 认证协 议、公钥算法的身份认证、s s l 协议、r a d i u s 协议等等。 对称密钥认证协议主要用在无仲裁认证的情况,通信双方相互信任,并且共 享同一个秘密密钥瞄来完成消息合法性证明的过程。 k e r b e r o s 认证协议是麻省理工学院为a t h a 项目开发的认证服务协议。主要 解决在开放的分布式环境中的工作站访闯网络中分布的服务器上的服务时存在 的认证和授权问题 基于公钥密码系统的数据传送流程是:当用户a 要向用户b 传送数据时首 先用户a 用自己不公开的私钥来签名欲传送给用户b 的数据,再用用户b 所公开 出来的公钥来进行加密最后传送给用户b 。当用户b 收到此加密数据便用自己 的私钥解开数据因为只有用户b 拥有其私钥所以只有用户b 能解密接下来 用户b 取得用户a 的公钥来验证解密后的消息的完整性和合法性。为了防止公钥 被篡改可采用以数字证书为基础的公钥密码系统( c e r t i f i c a t e - b a s e dp u b - ii ck e y e r y p t o s y s t e m ) ,这个密码系统通过可信的第三方( t r u s t e dt h i r dp a r t y t r p l 来保证 公钥的有效性。这就是著名的公钥基础设施( p r 。o 。 ; 1 9 9 4 年n e t s c a p e 公布了s s l ( s e c u r es o c k e tl a y e r ) 协议,实现了加密、认证、 签名等技术,该方案为每个会话产生了一个d e s 密钥,但这种设计对信息保密性 要求很高的电子商务则不太合适。 远程用户拨号认证服务协议r a d i u s ( r e m o t ea u t h e n t i c a t i o nd i a li nu s e r s e r v i c e ) 是由l u c e n t 实验室开发的基于c s 的拨号用户身份认证协议,定义了网 络访问服务器( n e t a c c e s ss e r v e r ,n a s ) 和集中存放认证信息的r a d i u s 服务器 之间传输认证、授权和配置信息的标准。1 5 1 1 3l i n u x 下p a m ( 可插拔认证模块) 简介 从1 2 节我们可以看到,一方面,近年来认证理论和技术得到了迅速发展,越 来越多的新的认证机制被应用到信息系统中,从最简单的通过对静态口令的匹配 3 来确认用户的真实性,到运用对称加密算法的认证协议k c r b e r o s ,再到今天更加安 全的运用数字签名算法的x 5 0 9 认证协议,各种认证协议依靠其自身特有的优势 并存于当前的信息系统中。 另一方面,越来越多的应用程序或服务在运行之前要求对用户进行身份认证。 为了保证计算机系统及网络的安全,并保护用户信息不被其他未授权的用户修改, 操作系统需要在用户登录时对用户进行认证,以确认每个用户的权限。但往往仅 在用户登录时对其进行认证是不够的,我们希望能够在用户请求某些关键服务、 运行某些关键程序之前也对用户进行身份认证,这样,尽管入侵者可能己经获得 对系统存取的权限,但他仍会遇到相应于此程序或服务的附加安全防护的阻拦。 身份认证领域的这些发展变化使得信息系统的安全性不断提高,但应用程序或服 务的开发者也因此面l j 螽着一个棘手的问题,即在开发每个应用程序或服务时,都 要考虑此程序使用何种认证机制,而当系统中引入新的认证机制时,一些系统入 口登录服务如l o # n 、r l o g i n 和t e l n e t 等应用程序就必须改写以适应新的认证机制, 即认证机制的可替换性也变得不易行。为了解决这一问题,开发者便希望能够构 造出一种针对应用程序或服务的中央认证机制,通过使用这种机制,系统管理者 可以通过对其配置文件进行配置,在不修改应用程序的前提下自由选择应用程序 使用的认证机制。在这种需求之下,p a m 应运而生。 1 9 9 5 年s u n 公司的v i p i ns a m a r 和c h a r l i el 丑i 提出了p a m ( p l u g g a b l e a u t h e n t i c a t i o nm o d u l e s ) ,并将其应用在s o l a r i s 系统上。p a m 是一组共享库,使用 这一模块,系统管理者可以自由选择应用程序使用的认证机制,无需重新编译就 可以切换应用程序的认证机制,甚至,不必触动应用程序就可以完全升级系统使 用的认证机制。比如说,应用程序x ,它通过一些接口调用p a m 库,而自己并不 知道使用的验证方法。接着p a m 库读出p a m 配置文件的内容,根据配置文件加 载程序x 需要的模块。这些模块进入某个管理组并且按照配置文件设置的顺序层 叠在一起,它们为应用程序执行各种验证任务。也就是说p a m 框架将应用程序与 具体的认证机制分离,使得系统改变认证机制时,不再需要修改采用认证机制的 应用程序,而只要由管理员配置应用程序的认证服务模块,极大地提高了认证机 制的通用性与灵活性。 然而,目前对于p a m 的应用多数还是应用在用户登录程序l o g i n 中,正如前 面提到,仅在用户登录时对其进行认证是不够的,我们希望能够在用户请求某些 关键服务、运行某些关键程序之前也对用户进行身份认证。因此,有必要对p a m 的认证管理机制进行研究,在应用程序身份认证模型中引入p a m ,增大p a m 的应 用领域,使其不仅仅停留在l o g i n 以及少数系统程序中。 4 1 4 安全u 盘简介 1 4 1 u s b k e y 在身份认证中的优势 伴随着网络系统的飞速发展,电子商务、网上银行和电子政务已经与政府工 作和百姓日常生活密切结合了起来,然而网络是一个虚拟的数字化世界,在电子 商务、政务等网络事务中行为人身份的有效性是进行政务和商务的前提。例如, 电子商务中的交易每一步都需要买卖双方严格认证对方身份,否则将会出现抵赖、 欺诈等行为。目前,伴随着p k i 体系的日趋成熟和逐步推广应用,网络事务中开 始使用数字证书进行身份认证与数字加密。以数字证书为核心的加密技术,可以 对网络上传输的信息进行加密和解密、数字签名和签名验证,确保网上传递信息 的机密性、完整性,以及交易实体身份的真实性、签名信息的不可否认性,从而 保障网络应用的安全性。 传统的密钥对的生成方式是在主机端产生并且存储在主机端,计算机开放的 应用环境给这种方式带来了巨大的安全隐患。例如只要进入存储密钥的计算机系 统就轻易访问私钥,如果非法用户窃取了登陆密码或者黑客通过网络获取对目的 主机的访问权限,私钥就可能泄露;病毒也可能入侵主机,破坏数字证书或签名 私钥,从而导致合法的加解密或数字签名失效。使用具有独立数据处理能力的c i u 型智髓卡存储数字证书和产生私钥是针对上述闯题的解决方案。 u s b k e y 从i c 智能卡技术上发展而来,是结合了现代密码学技术、l c 智能卡 技术和u s b 技术的新一代身份认证产品,是网络用户身份识别和数据保护的良好 载体。其操作系统的标准和智能卡兼容,但是u s b 的通讯方式成为其最大优势。 传统的智能卡需要读卡器作为通信接1 3 ,其串1 2 1 通信方式也限制了数据的传输速 度:而u s b 传输速度远远高于串口。另外,u s b k e y 体形小巧,易于携带;支持热插 拔,使用方便。u s b k e y 的内嵌芯片和芯片操作系统( c o s ) 需要提供私钥的生成、 安全存储和公钥密码算法等功能。由于其具有独立的数据处理能力和良好的安全 性,u s b k e y 成为数字证书和签名私钥的安全载体。由于数字证书包括证书拥有者 的个人信息、证书拥有者的公钥、公钥的有效期、颁发数字证书的c a ,c a 的数 字签名等,所以网上双方经过相互验证数字证书后,即可确认对方身份的合法性。 在进行数字签名时,用来签名的私钥在k e y 中产生并保存在k e y 中,任何情况不 能读出,签名的过程在k e y 中完成,比传统方式下在主机端用私钥实现签名更安 全可靠。 综上,u s b k e y 由于其安全性和易用住,将在p k i 应用的各个领域取代原先 的认证方式得到广泛应用。 5 1 4 2 安全u 盘的出现 在采用u s b 接口的移动存储器的市场前景空前广泛的背景下,研究和开发集 成i c 智能卡的u s b 存储器驱动程序使得u s b 存储器能够更加稳定、安全地工作, 同时使得u s b 存储器具备u s b k e y 可以实现的功能,更好地满足市场和用户的需 求,具有十分重要的实用价值。目前,市场上某些厂家正是看到了这一商机,已 经将u s b k c y 和u s b 存储设备合二为一,生产出了嵌入i c 智能卡( 具有u s b k c y 功能) 的u 盘,本文中我们称之为“安全u 盘”。例如北京交通大学与北京华旗 咨讯科技发展有限公司联合研发的华旗神州盾安全u s b 存储器以及上海天安信信 息科技有限公司研制的u & e k e y 都是这类产品,它们都将f l a s h 闪存和i c 智能卡 功能结合为一体,一方面可以发挥u s b i 【c y 的优势,可进行电子邮件加密、数字 签名,安全证书、安全网络登录和访问s s l 安全网络,为使用者提供身份认证、 身份识别和信息加密服务;另一方面,也具备相当的存储功能,保持了灵活的文 件存储的需要,并且其体积和普通u 盘一般无二,是具有广泛应用前景的新一代 安全移动办公设备。 然而,现有的安全u 盘产品往往只可以在w i n d o w s 系列操作系统中使用,厂 家只提供了w i n d o w s 下的产品驱动,故其不支持l i n u x 操作系统,也就是说我们不 能在l i n u x 下使用它来完成对用户的身份认证等工作,这在l i n u x 使用越来越广泛 的今天,无疑是一个不小的遗憾。 1 5 本文的研究内容和主要工作 从前面两节中我们可以了解到,在身份认证领域内,p a m 和安全u 盘( 含 u s b k c y 功能) 都依靠其自身的优势发挥着不可替代的作用,但它们的应用目前也 存在一定的局限性,即p a m 目前往往仅仅应用于登录程序l o g i n 等系统程序的身 份认证中,在第三方软件中很少使用,而安全u 盘又不支持l i n u x ,鉴于f a m 和 u s b k e y 在身份认证领域都具有独到的优势,研究如何将p a m 和u s b k e y 结合起 来应用到身份认证系统中便具备了较好的应用前景。本文就致力于研究如何将 p a m 和安全u 盘在身份认证中的优势结合起来,同时弥补目前它们应用上的不足, 设计并实现一个基于安全u 盘p a m 的身份认证模型。 本课题是北京交通大学与北京华旗咨讯科技发展有限公司的合作项目华旗 神州盾安全u s b 存储器的研究与开发的延续。集成i c 智能卡的u s b 存储器是 北京华旗咨讯科技发展有限公司设计的集数据存储、身份认证于一体的u s b 移动 存储器。针对该存储器,该项目研究的主要的内容是设计其主机端( 操作系统为 m i c r o s o f tw i n d o w s 系列操作系统) 驱动系统和设备端驱动系统,保证当将该u s b 存储器插入主机之后,主机端驱动可以被正常加载,并确保当用户输入的口令通 过i c 智能卡认证合法后,才能对该存储器进行读写操作 在本课题开始前,该设备的设备端驱动系统和w i n d o w s 操作系统平台上的主 机端驱动已经完成,但l i n u x 系统下驱动程序的设计和开发并没有开始研究。为了 拓展产品市场,同时更好地满足用户的需求,开发能够在l i n u x2 6 x 内核操作系 统下稳定工作的嵌入i c 智能卡u s b 存储器的驱动系统,继而在此基础上结合p a i d 中央认证机制开发前面所提到的身份认证模型就被提上日程。 本课题的主要研究工作可以分为三个部分: 1 ) p a m 在身份认证模型中的应用研究 可插拔认证模块( p a m ) 机制采用模块化设计和插件功能,使得我们可以轻 易地在应用程序中插入新的认证模块或替换原先的组件,两不必对应用程序傲任何 修改,从而使软件的定制、维护和升级更加轻松,因为认证机制与应用程序之间 相对独立。应用程序可以通过p a m a p i 方便的使用p a m 提供的各种认证功能, 而不必了解太多的底层细节。除了p a m 优秀的设计思想,这些优势很大程度得益 于p a m 对外接口的实现。为了能够让p a m 在本模型中更好的发挥作用,需要对 p a m 的设计思想及部分源程序进行研读,从而深入地了解p a m 如何应用于本文提 出的身份认证模型。 2 ) 安全u 盘在i a n u x2 6 1 0 操作系统内核下驱动的设计开发 在深入了解u s b 体系结构、l i n u x2 6 1 0 操作系统内核的基础上,遵循软件开 发的步骤,设计并开发嵌入i c 智能卡u s b 存储器在l i n u x2 6 1 0 操作系统平台上 的驱动系统。该驱动系统使得嵌入i c 卡u s b 存储器可以在l i n u x2 6 1 0 操作系统 平台上正常工作,并需要达到预期的各项技术指标:即插即用、稳定性,对嵌入 i c 卡u s b 存储器基本命令集的支持、格式化和读写。 开发设备驱动程序系统需要了解嵌入l c 智能卡u s b 存储器的工作原理和 l i n u x 操作系统平台下主机驱动程序。在系统的设计与开发过程中,本文完成了以 下几方面的工作: 熟悉嵌入i c 智能卡u s b 大容量存储器的基本命令集,了解硬件设备的工作 原理和模式。 根据设备的具体特点,对此驱动系统的设计和开发进行需求分析,设计出系 统的实现方式、划分系统的功能模块。 按照l i n u x 设备驱动程序开发的步骤和方法,编码实现各个功能模块的功 能。 7 j e 塞窑煎太堂亟堂僮j 金塞 认证管理程序的研究与开发 在安全u 盘的驱动开发完成的基础上,对安全u 盘支持的身份认证协议进行 研究,设计并实现一个认证管理应用程序,它通过安全u 盘的驱动程序来访问安 全u 盘,并且实现双因子认证及双向认证等功能。 8 丕纽的盛佳遮让 2 系统的总体设计 2 1 系统目标 我们以身份认证的理论为基础,利用p a i d 和安全u 盘的相关特性,设计并开 发了基于p a i d 和安全u 盘的身份认证系统,其目的在于从理论和实践两方面来探 讨此身份认证系统在设计和实现中的主要问题,另外考虑到系统的易用性及通用 性,课题研究了以下几方面的问题。 2 , 1 1 身份认证对应用程序的透明性 身份认证对应用程序的透明性是指应用程序的开发人员和使用者无需考虑此 应用程序的具体认证机制等问题,认证机制及协议的选取和相关配置由系统管理 员负责处理。这种透明性使得应用程序的开发人员可以专注于程序的功能本身, 能够构造出一种针对应用程序或服务的中央认证机制,同时也符合软件设计中“高 内聚、低耦合”这一重要思想。 2 1 2 双因子认证 仅通过一个条件来验证一个人身份的技术称为单因子认证。由于只使用一种 条件来判断用户的身份,单因子认证很容易被攻破。双因子认证通过组合两种不 同条件( 如通过密码和芯片组合) 来证明一个人的身份,安全性有了明显提高。 i c 智能卡由专门的厂商通过专门的设备生产,是不可复制的硬件。i c 卡由合 法用户随身携带,登录时必须将i c 卡插入专用的读卡器读取其中的信息,以验证 用户的身份,通过i c 卡硬件不可复制来保证用户身份不会被仿冒。 u s b k e y 作为i c 智能卡与u s b 接口的结合体,具有硬件p i n 码保护,p i n 码 和硬件构成了用户使用u s b k c y 的两个必要因素,即所谓“双因子认证”。用户只 有同时取得了u s b k c y 和用户p i n 码,才可以登录系统,即使用户的p i n 码被泄 漏,只要用户持有的u s b k e y 不被盗取,合法用户的身份就不会被仿冒;如果用 户的u s b k e y 遗失,拾到者由于不知道用户p i n 码,也无法仿冒合法用户的身份。 华旗公司的安全u 盘集u s b k c y 与u s b 存储器的功能于一身,本课题就力图 利用u s b k e y 实现身份认证模型中的双因子认证。用户必须持有自己的安全u 盘 并且知道正确的p i n 码,才能够通过本模型的双因子认证 当安全u 盘或伪安全u 盘插入主机后,模型首先对此硬件进行认证,并将认 9 证结果返回给认证模型,至此完成“因子一”即硬件认证; 若硬件认证无误,认证模型将提示用户输入p i n 码:如若p i n 码无误,则安 全u 盘正确打开;否则模型将提示用户重新输入p i n 码。用户三次输入错误则告 知用户认证失败。至此完成“因子二”即p i n 码认证。 2 1 。3 双向认证 所谓双向认证,即是指在认证过程中双方需要彼此向对方证明自己的身份。 目前,多数身份认证系统仍更多地使用单向认证,即局限于系统对用户的身份认 证。单向认证要求用户向系统证明其身份的合法性,但其无法完成用户对系统的 认证,倘若用户登录到非法主机,认证系统又无法完成用户对系统的合法性认证, 用户的利益很可能受到较大的威胁。因此,在当前安全事件日益增多的情况下, 双向认证已经成为一种趋势。 另外,双因子中的硬件认证确保用户所使用的u 盘是本模型驱动程序所支持 的安全u 盘,p i n 码认证则确保用户是此安全u 盘的合法持有者,然而主机仅通 过双因子认证不能得知此用户的具体身份。因此在完成双因子认证后,认证管理 程序还要利用智能卡所支持的内外部认证命令完成双向认证:即利用内部认证命 令完成主机对安全u 盘持有者的身份认证,以及利用外部认证命令来完成安全u 盘对主机的认证,以确保主机的合法性。 2 1 4 安全u 盘驱动程序的易用性和通用性 本文的研究工作中很重要的一部分便是设计开发l i n u x 系统下安全u 盘的驱动 程序。一个好的软件系统,在其设计过程中,要充分考虑到如何使得最终用户能 够方便地使用,即软件系统的易用性。以f e dh a t 企业版为例,在用户插拔普通 u s b 存储设备时,系统能够自动地加载和卸载通用u s b 存储设备驱动程序。这也 是本模型在设计开发过程中的目标之一,即用户插入安全u 盘后,系统能够自动 地加载安全u 盘的驱动程序而无需用户手动加载。 另外,由于安全u 盘是u s b k e y 和f l a s h 存储器的结合体,安全u 盘的驱动 程序既要完成对u s b k e y 功能的支持,同时需要支持f l a s h 存储器的存储功能。因 此,本模型中的安全u 盘驱动程序可以理解为对通用u s b 存储设备驱动程序在功 能上的扩充,即除了支持存储设备相关命令之外,还要加入对u s b k e y 相关命令 集的支持。因此,本课题力图使得开发出的安全u 盘驱动程序对普通的u s b 存储 设备也具备兼容性,这必然会给系统以及用户带来很大的方便以及操作的透明性。 l o 2 2 系统的设计思想 根据前文所述的系统目标,本文主要围绕身份认证对应用程序的透明性、安 全u 盘驱动程序的设计与开发以及具体认证机制的研究与实现这三个方面来开展 具体的研究实现工作。 2 2 1 系统工作流程与模块划分 本文所研究的身份认证系统流程图如图2 - 1 所示: 图2 - 1 身份认证系统流程图 结合上面的流程图,简单介绍一下模型的工作流程: 1 用户调用某个应用程序,以期得到该程序的服务。 2 应用程序调用后台的p a m 认证模块进行认证工作。 3 p a m 认证模块查找有关应用程序细节的配置文件,该文件告诉p a m :本 应用程序使用何种认证机制。 4 认证管理程序通过安全u 盘驱动程序完成双因子以及系统对安全u 盘的 1 1 j 京变疆太堂亟堂焦论室 内部认证工作。 5 认证管理程序通过安全u 盘驱动程序完成安全u 盘对系统的外部认证工 作。 6 p a m 认证模块将认证结果返回给应用程序 7 认证完成后,应用程序做出两种选择:若认证成功,将所需权限赋予用户, 并通知用户;若认证失败,通知用户并退出应用程序。 同过通过对系统工作流程的分析研究,我们可以从结构上把模型划分为三个 部分:p a m 认证模块、安全u 盘驱动程序以及认证管理程序,本模型的研究设计 工作集中在这三个模块的开发上。 2 2 2 系统各模块设计概述 1 p a m 认证接口 可插拔认证模块( p a m ) 是衔接应用程序与认证管理程序的重要通道,也是 整个模型的重要组成部分。p a m 机制采用模块化设计和插件功能,使得我们可以 轻易地在应用程序中插入新的认证模块或替换原先的组件,而不必对应用程序做任 何修改,从而使软件的定制、维护和升级更加轻松,因为认证机制与应用程序之 间相对独立。应用程序可以通过p a ma p i 方便的使用p a m 提供的各种认证功 能,而不必了解太多的底层细节。 这一模块的工作主要是对p a m 的中央认证机制进行详细研究,具体内容包括: 充分了解p a l m 框架;阅读部分p a m 源码;研究系统管理员通过p a m 配置文件来 制定不同应用程序的不同认证策略;研究应用程序开发者通过在服务程序中使用 p a ma p i 来实现对认证方法的调用;研究如何利用p a ms p i 来开发p a m 服务模 块( 即我们的认证管理程序) 。 2 安全u 盘驱动程序的设计与实现 普通的u s b 移动存储设备插入到主机后,系统构建了一个u s b 移动存储设备 栈,为了实现安全u 盘驱动程序的易用性与通用性,我们同样也尽可能地利用此 设备栈;然而由于安全u 盘除了具备普通的u s b 移动存储设备的功能之外,还嵌 入了智能卡,可以实现u s b k e y 的功能,也就是说安全u 盘所支持的命令可以分 为两大类,即普通的u 盘访问命令以及与智能卡操作相关的命令,因此,主机端 安全u 盘的驱动需要在通用u s bm a s ss t o r a g e 类b u l k - 0 n l y 传输驱动的基础上 增加对智能卡的驱动能力。 为了使得嵌入i c 智能卡的u s b 存储器设备驱动程序可以正常、稳定地工作, 我们将安全u 盘的驱动程序分为以下三个功能模块( 如图2 - 2 ) : 夺驱动程序的注册和卸载模块; 对设备的探测和断开处理模块; 数据传输管理模块。 | 囤囤 二二i 二二二 二:二 数据传输管理模块 i 。j 圈2 - 2 驱动程序功能模块 其中的数据传输管理模块将负责完成对普通f l a s h 存储器命令集以及智能卡命 令集的支持。 3 认证管理模块的设计与实现 认证管理模块作为p a m 的认证服务模块出现在系统中,它通过对安全u 盘的 访问完成了真正的认证工作。 这一模块的功能结构可以分为两大部分,首先是要解决认证管理程序如何同 安全u 盘驱动程序进行通信的问题。本模型中利用l i n u x 系统提供的p r o c 文件系 统完成一些关键数据从认证管理程序到驱动程序的传输,同时利用s c s i 系统提供 的通用编程接口完成对安全u 盘命令的发送及状态的获取工作。 其次是通过对安全u 盘所支持的认证机制的分析研究,实现系统设计目标中 提到的双因子认证以及双向认证等功能。 韭塞銮煎太堂亟主堂僮i 盆奎 3p a m 在身份认证模型中的应用 可插拔认证模块( f a m ) 采用模块化设计和插件功能,使得我们可以轻易地 在应用程序中插入新的认证模块或替换原先的组件,而不必对应用程序做任何修 改,从而使软件的定制、维护和升级更加轻松,因为认证机制与应用程序之间相 对独立。应用程序可以通过p a ma p i 方便的使用p a m 提供的各种认证功能, 而不必了解太多的底层细节。第2 章模型总体设计中的模块划分便清晰的体现出 了p a m 的设计思想,将p a m 引用到本课题的身份认证模型中使得我们的模型设 计非常符合软件设计中“高内聚、低耦合”这一重要思想。 3 1 p a m 框架概览 p a m 即可插拔认证模块,它提供了对所有服务进行认证的中央机制,适用于 l o 咖、远程登录、s t l 等应用程序中。系统管理员通过p a m 配置文件来制定不同应 用程序的不同认证策略;应用程序开发者通过在服务程序中使用p a m a r i ( p a l n) ) 来实现对认证方法的调用;而服务模块的开发者则利用xxxx(pam p a m s p i 来编写模块( 主要是引出一些函数p a r ss mx x 】【 【( ) 供p a m 接口库调用) , 将不同的认证机锖加入到系统中:p a m 接口库( 1 i b p a m ) 则读取配置文件,将应 用程序和相应的p a m 服务模块联系起来。p a m 框架结构如图3 - 1 所示。 由图3 1 可见p a m 为了实现其插件功能和易用性,采用了分层设计思想:让 各认证模块从应用程序中独立出来,然后通过p a ma p i 作为两者联系的纽带,这 样应用程序就可以根据需要灵活地在其中“插入”所需认证功能模块 其中,p a m h 是一个p a r e _ h a n d l e 类型的结构,它是一个非常重要的处理句柄, 是p a m 与应用程序通信的唯一数据结构,也是调用p a m 接口库a p i 的唯一句柄。 另外,如上图所示的服务模块分为a u t h ( 认证管理) 、a c c o u n t ( 账号管理) 、 s e s s i o n ( 会话管理) 、p a s s w d ( 口令管理) 四种类型,各个类型模块的作用简要介 绍如下: 1 1 认证管理伽l l h e n t i c a t i 彻m a n a g e m e n t ) 主要是接收用户名和密码,进而对该用户的密码进行认证。强制用户在开始 服务之前提供认证信息,这个认证信息代表一个口令,这个口令的内容非常广泛, 甚至可以包括硬件板卡或传感器。 图3 - 1p a m 框架结构图 2 ) 帐号管理( a c c o u n tm a n a g e m e n t ) 主要是让程序检查帐户是否被允许登录系统、口令有效期或访问时间的限制 等。典型的用法是基于一天的不同时间段来限制c 许访问某服务。 砷口令管理( p a s s w o r dm a n a g e m e n t ) 主要用于更新用户的认证口令。 4 ) 会话管理( s e s s i o nm a n a g e m e n t ),。 该模块和一系列动作有关,表明服务启动之前和关闭之后所执行的步骤,这 包括记录用户的登录、登出、挂载必需的目录等等。 3 2 在应用程序中使用p a m 认证 在p a m 出现之前,一般的应用程序,在认证用户身份时,它们会将莱种特定 的认证方式编码到程序内部。比如,传统的u n i x 操作系统上的用户登录程序,它 先获得用户的用户名和密码,然后,将用户输入的密码进行计算得到密文,最后, 将得到的密文和e t c s h a d o w 文件中的该用户所在彳亍的第二个字段进行比较,如果 相同,则认证通过,否则,认证失败。这种认证过程的缺点在于,用户无法方便 地去改变登录程序所使用的认证方式( 除非用户自己去修改源代码,然后编译) 。 而如果某个应用程序使用了p a m ,当它需要进行用户认证的时候,只需要把认证 过程简单地交给p a m 模块,然后,由p a m 模块对用户进行认证,p a m 再将认证 的结果返回给应用程序。应用程序并不知道p a m 到底使用了什么方法对用户进行 北瘟窑煎太堂亟堂僮论塞 了认证,这由系统管理员来决定。管理员可以简单地使用s i m p l et r u s t ( p a r ep e r m i t ) 来进行认证,也可以使用非常复杂的认证方式,如网膜认证,声纹认证等,而在 本模型中,我们则使用安全u 盘来进行认证, 如何使应用程序能够方便自如地使用p a m 模块来完成身份认证的功能昵? p a m 提供了一系列的接口供应用程序调用,之后应用程序只需等待p a m 返回的 认证结果即可。 每个使用p a m 认证的应用程序都以p a r es t a r t 开始,p a m _ e n d 结束。p a m 还 提供了p a m _ g e t _ i t e m 和p a ms e ti t e m 共享有关认证会话的某些公共信息,例如用 户名、服务名、密码和会话函数。应用程序在调用了p a m _ s t a r t0 后也能够用这些 a p i 来改变状态信息。实际做认证工作的a p l 函数有六个( 以下将这六个函数简 称为认证a p i ) : 认证管理一包括p a r ea u t h e n t i c a t eo 函数认证用户,p a m _ s e t e r e d0 设置、刷新、 或销毁用户证书。 账号管理包括p a ma c em g m t 0 检查认证的用户是否可以访问他们的账户, 该函数可以实现口令有效期,访问时间限制等。 会话管理一包括p a m _ _ o p c ns e s s i o no 和p a mc l o s e _ s e s s i o no 函数用来管理会 话和记账。例如,系统可以存储会话的全部时间。 1 2 1 令管理包括p a r ec h a u t h o ko 函数用来改变密码。 下面我们完成在一个应用程序中使用p a m 提供的认证接口的实验。由于p a m 的认证机制同应用程序的类型、内容完全无关,我们在这里设计一个最简单的应 用程序: i n t m a i n ( ) i f ( p a r e _ a u t h e n t i c a t e ( a r g u m e n t s )

温馨提示

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

评论

0/150

提交评论