一种Linux身份认证系统及方法

文档序号:7552813阅读:210来源:国知局
专利名称:一种Linux身份认证系统及方法
技术领域
本发明涉及一种信息安全技术领域,具体地说是一种Linux身份认证系统及方法。
背景技术
Linux操作系统具有多用户、多任务、图形用户界面、网络连接和多应用程序支持,同时具有性价比高和高可靠性等优点,因此越来越受到用户青睐,Linux操作系统下应用程序使用的安全问题成为用户关注的重点。Linux应用程序的访问和使用往往需要身份认证安全要求,传统的应用程序在编写时加入身份认证代码,使用用户名和密码的方式进行用户身份验证,用户名和密码通过软件形式的数据库存储,容易遭到破解,安全性低。USBKey作为用户的身份认证硬件设备已经成为普遍采用的安全访问控制方式,通过USBKey的双因子认证由于要求访问者要拥有访问的认证硬件USBkey,同时还要知晓USBKey PIN码,因此提高了安全性,同时用户PIN码的验证在USBKey内部完成比传统密码验证更安全。可信计算技术通过在计算机主板上接入可信密码模块(TCM,TrustedCryptography Module )来植入安全可信根,TCM具备密码学算法运算器和受保护的内部存储器,内嵌密码学算法,能够为用户提供密码服务来进行身份认证的应用。TCM内部存储器包括非易失性存储器可以保存用户私密信息,并具有完备的内部安全结构保护用户信息。Linux PAM (Linux可插式认证模块)是一组共享库,通过Linux PAM,系统管理员可以自由选择应用程序使用的 认证机制,通过Linux PAM提供的PAM API (应用编程接口),应用程序可以调用PAM提供的认证服务模块,系统管理者可以根据需要给出不同的服务配置和不同的认证方式,基本上无需更改应用程序。

发明内容
本发明的技术任务是针对以上不足之处,提供一种安全性高、减小软件复杂度、有效防止了用户信息泄漏、杜绝了密码被破解的可能性、减少了应用程序开发工作量的一种Linux身份认证系统及方法。本发明解决其技术问题所采用的技术方案是:
一种Linux身份认证系统结合TCM和USBKey设备,应用在计算机上,一种Linux身份认证系统包括:
用户信息获取模块:用于获取用户名和用户USBKey PIN码;
用户信息存储模块:用于调用TCM散列算法计算用户USBKey设备属性信息度量值,并将用户名信息和上述度量值进行绑定存储于TCM非易失性存储器中;
身份认证模块:用于将用户USBKey设备属性信息计算度量值并与TCM非易失性存储器中的度量值进行比对验证,同时传输用户PIN码给用户USBKey设备进行内部验证,最后返回上述两种验证成功或者失败的结果;
USBKey设备:用来作为用户身份认证设备验证访问者身份;
TCM:即可信密码模块,用来存储用户信息和USBKey设备属性信息,内置密码算法提供散列计算密码学服务;
一种Linux身份认证方法,通过TCM散列算法计算用户USBKey设备信息的度量值,TCM非易失性存储器存储用户信息及其用户USBKey设备属性信息度量值实现绑定,用户访问Linux应用程序时既要输入PIN码认证,又要通过TCM对用户USBkey设备属性信息进行度量验证,具体方法分为用户注册步骤和身份认证步骤。所述TCM通过PCIE、LPC接口与计算机的主板相连。所述用户USBKey设备通过USB接口与计算机的主板相连。所述用户USBKey设备属性信息包括USBKey设备VID、PID及序列号。所述TCM散列算法采用SHA1、SHA256、MD5算法以及符合国家相关标准的杂凑密码算法;所述度量值为TCM散列算法对USBKey设备属性信息计算的散列值。所述系统的Linux应用程序为编译运行在计算机的Linux操作系统中的可执行程序;所述身份认证模块为编写的Linux PAM认证服务模块,所述系统的Linux应用程序通过调用计算机的Linux操作系统中的PAM API和配置PAM配置文件来调用身份认证模块。用户注册步骤如下:
(1)、将用户USBKey设备与计算机相连,所述用户信息获取模块获取用户名和PIN码;
(2)、所述用户USBKey设备根据所述获取的PIN码验证用户合法身份,如果合法则执行步骤(3),否则提示错误信息并作异常处理;
(3)、所述用户信息存储模块将所述用户名存储于TCM非易失性存储器中,所述用户信息存储模块读取用户USBKey设备属性信息,所述用户信息存储模块调用TCM散列算法计算所述用户USBKey设备属性信息的度量值,并存储于TCM非易失性存储器中,存储位置位于用户名之后,实现用户名与用户USBKey设备属性信息的注册绑定。身份认证步骤如下:
(1)、将用户USBKey设备与计算机相连,所述用户信息获取模块获取用户名和PIN码;
(2)、所述用户USBKey设备根据PIN码验证用户合法身份,如果合法则执行步骤(3),否则提示错误信息并作异常处理
(3),Linux应用程序启动所述身份认证模块根据所述的获取用户名在TCM非易失性存储器中读取相应用户名位置后的用户USBKey设备属性信息度量值,所述身份认证模块读取USBKey设备属性信息并调用TCM散列算法计算所述用户USBKey设备属性信息度量值,将所述从TCM非易失性存储器中读取的度量值进行对比,如果对比相等则继续执行Linux应用程序,否则停止执行Linux应用程序,提示错误信息并做异常处理。本发明的一种Linux身份认证系统及方法和现有技术相比,有益效果为:
1、通过采用绑定TCM和用户USBKey设备实现硬件增强的多因子认证方式,比传统单纯采用用户名和密码进行软件认证的方式相比大大调高了安全性;
2、采用TCM存储用户名、用户USBKey设备属性信息的度量值,通过TCM散列算法来实现USBKey和TCM结合的身份认证,与传统软件形式数据库存储用户名密码相比,不需要安装数据库软件,减小软件复杂度,用户名和用户身份认证设备私密信息存储在TCM中,受TCM硬件保护,有效防止了用户信息泄漏;
3、认证过程不给用户设置密码,不在硬盘中存储密码,用户只需要输入用户名和PIN码验证,PIN码验证过程在USBKey内部计算完成,计算细节不外泄,杜绝了密码被破解的可倉生;
4、身份认证模块与用户应用程序分开,更改应用程序认证机制时只需要更改LinuxPAM配置文件,不需要更改应用程序源程序,减少了应用程序开发工作量。


下面结合附图对本发明进一步说明。附图1为一种Linux身份认证系统的结构框 附图2为一种Linux身份认证方法的用户注册步骤流程 附图3为一种Linux身份认证方法的身份认证步骤流程图。
具体实施例方式下面结合附图和具体实施例对本发明作进一步说明。实施例1:
如图1所示,本发明的一种Linux身份认证系统及方法,一种Linux身份认证系统结合TCM和USBKey设备,应用在计算机上,一种Linux身份认证系统包括:
用户信息获取模块:用于获取用户名和用户USBKey PIN码;
用户信息存储模块:用于调用TCM散列算法计算用户USBKey设备属性信息度量值,并将用户名信息和上述度量值进行绑定存储于TCM非易失性存储器中;
身份认证模块:用于将用户USBKey设备属性信息计算度量值并与TCM非易失性存储器中的度量值进行比对验证,同时传输用户PIN码给用户USBKey设备进行内部验证,最后返回上述两种验证成功或者失败的结果;
USBKey设备:用来作为用户身份认证设备验证访问者身份;
TCM:即可信密码模块,用来存储用户信息和USBKey设备属性信息,内置密码算法提供散列计算密码学服务;
一种Linux身份认证方法,通过TCM散列算法计算用户USBKey设备信息的度量值,TCM非易失性存储器存储用户信息及其用户USBKey设备属性信息度量值实现绑定,用户访问Linux应用程序时既要输入PIN码认证,又要通过TCM对用户USBkey设备属性信息进行度量验证,具体方法分为用户注册步骤和身份认证步骤。所述TCM通过PCIE、LPC接口与计算机的主板相连。所述用户USBKey设备通过USB接口与计算机的主板相连。所述用户USBKey设备属性信息包括USBKey设备VID、PID及序列号。所述TCM散列算法采用SHA1、SHA256、MD5算法以及符合国家相关标准的杂凑密码算法;所述度量值为TCM散列算法对USBKey设备属性信息计算的散列值。所述系统的Linux应用程序为编译运行在计算机的Linux操作系统中的可执行程序;所述身份认证模块为编写的Linux PAM认证服务模块,所述系统的Linux应用程序通过调用计算机的Linux操作系统中的PAM API和配置PAM配置文件来调用身份认证模块。
用户注册步骤如下:
(1)、将用户USBKey设备与计算机相连,所述用户信息获取模块获取用户名和PIN码;
(2)、所述用户USBKey设备根据所述获取的PIN码验证用户合法身份,如果合法则执行步骤(3),否则提示错误信息并作异常处理;
(3)、所述用户信息存储模块将所述用户名存储于TCM非易失性存储器中,所述用户信息存储模块读取用户USBKey设备属性信息,所述用户信息存储模块调用TCM散列算法计算所述用户USBKey设备属性信息的度量值,并存储于TCM非易失性存储器中,存储位置位于用户名之后,实现用户名与用户USBKey设备属性信息的注册绑定。身份认证步骤如下:
(1)、将用户USBKey设备与计算机相连,所述用户信息获取模块获取用户名和PIN码;
(2)、所述用户USBKey设备根据PIN码验证用户合法身份,如果合法则执行步骤(3),否则提示错误信息并作异常处理
(3),Linux应用程序启动所述身份认证模块根据所述的获取用户名在TCM非易失性存储器中读取相应用户名位置后的用户USBKey设备属性信息度量值,所述身份认证模块读取USBKey设备属性信息并调用TCM散列算法计算所述用户USBKey设备属性信息度量值,将所述从TCM非易失性存储器中读取的度量值进行对比,如果对比相等则继续执行Linux应用程序,否则停止执行Linux应用程序,提示错误信息并做异常处理。实施例2:
本发明结合TCM和USBKey设备,提供了一种Linux身份认证系统,参见图1,所述系统包括:
1、用户信息获取模块:用于获取用户名和用户USBKey PIN码。2、用户信息存储模块:用于调用TCM散列算法计算用户信息和用户USBKey设备属性信息度量值,并将用户信息和上述度量值进行绑定存储于TCM非易失性存储器中。3、身份认证模块:用于将用户USBKey设备属性信息计算度量值并与TCM非易失性存储器中的度量值进行比对验证,同时传输用户PIN码给USBKey设备进行内部验证,最后返回上述两种验证成功或者失败的结果。4、USBKey设备:用来作为用户身份认证设备验证访问者身份。5、TCM:即可信密码模块,用来存储用户信息和USBKey设备属性信息,内置密码算法提供散列计算等密码学服务。本发明还提供了一种Linux身份认证方法,通过TCM散列算法计算用户USBKey设备信息的度量值,TCM非易失性存储器存储用户信息及其用户USBKey设备属性信息度量值实现绑定,用户访问Linux应用程序时既要输入PIN码认证,又要通过TCM对用户USBkey设备属性信息进行度量验证,具体方法分为用户注册步骤和身份认证步骤。一种Linux身份认证系统需要将TCM通过PCIE、LPC等接口与计算机主板相连,Linux应用程序为编译运行在Linux操作系统中的可执行程序,用户注册步骤是通过编写的包括用户信息获取模块和用户信息存储模块的可执行程序来完成。参见图2,—种Linux身份认证方法的用户注册步骤如下:
步骤IlOl:首先将用户USBKey设备与计算机相连,具体方法为通过USB接口与计算机主板相连; 步骤1102:用户信息获取模块获取用户名和PIN码,用户名和PIN码用户通过软件界面接口输入;
步骤1103:用户USBKey设备根据所述获取的PIN码验证用户合法身份,如果合法则执行步骤1104,否则提示错误信息并作异常处理;
步骤1104:用户信息存储模块将用户名存储于TCM非易失性存储器中;
步骤1105:用户信息存储模块读取用户USBKey设备属性信息,用户USBKey设备属性信息包括用户USBKey设备VID、PID及序列号;
步骤106:用户信息存储模块调用TCM散列算法计算用户USBKey设备属性信息的度量值,并存储于TCM非易失性存储器中,存储位置位于用户名之后TCM散列算法采用SHA1、SHA256、MD5算法以及符合国家相关标准的杂凑密码算法。USBKey设备属性信息的度量值为TCM散列算法对用户USBKey设备属性信息计算的散列值。—种Linux身份认证方法身份认证步骤是通过按照Linux PAM规定接口编写的身份认证模块即Linux PAM认证服务模块来完成,Linux应用程序通过调用PAM API和配置PAM配置文件来调用身份认证模块。参见图3,—种Linux身份认证方法的身份认证步骤如下:
步骤VlOl:首先将用户USBKey设备与计算机相连,具体方法为通过USB接口与计算机主板相连;
步骤V102:用户信息获取模块获取用户名和PIN码,用户名和PIN码用户通过软件界面接口输入;
步骤V103:用户USBKey设备根据所述获取的PIN码验证用户合法身份,如果合法则执行步骤V104,否则提示错误信息并作异常处理;
步骤V104 =Linux应用程序启动身份认证模块根据所述的获取用户名在TCM非易失性存储器中读取相应用户名位置后的USBKey设备属性信息度量值;
步骤V105:身份认证模块读取用户USBKey设备属性信息,用户USBKey设备属性信息包括USBKey设备VID、PID及序列号;
步骤V106:身份认证模块调用TCM散列算法计算用户USBKey设备属性信息度量值,USBKey设备属性信息包括USBKey设备VID、PID及序列号,TCM散列算法采用SHA1、SHA256、MD5算法以及符合国家相关标准的杂凑密码算法。USBKey设备属性信息的度量值为TCM散列算法对USBKey设备属性信息计算的散列值;
步骤V107:身份认证模块从TCM非易失性存储器中读取的度量值与计算所得的度量值进行对比,如果对比相等则继续执行Linux应用程序,否则停止执行Linux应用程序,提示错误信息并做异常处理。本发明的一种Linux身份认证系统及方法,除说明书所述的技术特征外,均为本专业技术人员的已知技术。
权利要求
1.一种Linux身份认证系统及方法,其特征在于一种Linux身份认证系统结合TCM和USBKey设备,应用在计算机上,一种Linux身份认证系统包括: 用户信息获取模块:用于获取用户名和用户USBKey PIN码; 用户信息存储模块:用于调用TCM散列算法计算用户USBKey设备属性信息度量值,并将用户名信息和上述度量值进行绑定存储于TCM非易失性存储器中; 身份认证模块:用于将用户USBKey设备属性信息计算度量值并与TCM非易失性存储器中的度量值进行比对验证,同时传输用户PIN码给用户USBKey设备进行内部验证,最后返回上述两种验证成功或者失败的结果; USBKey设备:用来作为用户身份认证设备验证访问者身份; TCM:即可信密码模块,用来存储用户信息和USBKey设备属性信息,内置密码算法提供散列计算密码学服务; 一种Linux身份认证方法,通过TCM散列算法计算用户USBKey设备信息的度量值,TCM非易失性存储器存储用户信息及其用户USBKey设备属性信息度量值实现绑定,用户访问Linux应用程序时既要输入PIN码认证,又要通过TCM对用户USBkey设备属性信息进行度量验证,具体方法分为用户注册步骤和身份认证步骤。
2.根据权利要求1所述的一种Linux身份认证系统及方法,其特征在于所述TCM通过PCIE、LPC接口与计算机的主板相连。
3.根据权利要求1所述的一种Linux身份认证系统及方法,其特征在于所述用户USBKey设备通过USB接口与计算机的主板相连。
4.根据权利要求1所述的一种Linux身份认证系统及方法,其特征在于所述用户USBKey设备属性信息包括USBKey设备VID、PID及序列号。
5.根据权利要求1所述的一种Linux身份认证系统及方法,其特征在于所述TCM散列算法采用SHA1、SHA256、MD5算法以及符合国家相关标准的杂凑密码算法;所述度量值为TCM散列算法对USBKey设备属性信息计算的散列值。
6.根据权利要求1所述的一种Linux身份认证系统及方法,其特征在于所述系统的Linux应用程序为编译运行在计算机的Linux操作系统中的可执行程序;所述身份认证模块为编写的Linux PAM认证服务模块,所述系统的Linux应用程序通过调用计算机的Linux操作系统中的PAM API和配置PAM配置文件来调用身份认证模块。
7.根据权利要求1所述的一种Linux身份认证系统及方法,其特征在于用户注册步骤如下: (1)、将用户USBKey设备与计算机相连,所述用户信息获取模块获取用户名和PIN码; (2)、所述用户USBKey设备根据所述获取的PIN码验证用户合法身份,如果合法则执行步骤(3),否则提示错误信息并作异常处理; (3)、所述用户信息存储模块将所述用户名存储于TCM非易失性存储器中,所述用户信息存储模块读取用户USBKey设备属性信息,所述用户信息存储模块调用TCM散列算法计算所述用户USBKey设备属性信息的度量值,并存储于TCM非易失性存储器中,存储位置位于用户名之后,实现用户名与用户USBKey设备属性信息的注册绑定。
8.根据权利要求1所述的一种 Linux身份认证系统及方法,其特征在于身份认证步骤如下:(1)、将用户USBKey设备与计算机相连,所述用户信息获取模块获取用户名和PIN码; (2)、所述用户USBKey设备根据PIN码验证用户合法身份,如果合法则执行步骤(3),否则提示错误信息并作异常处理 (3) ,Linux应用程序启动所述身份认证模块根据所述的获取用户名在TCM非易失性存储器中读取相应用户名位置后的用户USBKey设备属性信息度量值,所述身份认证模块读取USBKey设备属性信息并调用TCM散列算法计算所述用户USBKey设备属性信息度量值,将所述从TCM非易失性存储器中读取的度量值进行对比,如果对比相等则继续执行Linux应用程序,否则停止执行Linux应用程序,提示错误信息并做异常处理。
全文摘要
本发明公开了一种Linux身份认证系统及方法,属于信息安全技术领域,一种Linux身份认证系统包括用户信息获取模块、用户信息存储模块、身份认证模块、USBKey设备、TCM;一种Linux身份认证方法,通过TCM散列算法计算用户USBKey设备信息的度量值,TCM非易失性存储器存储用户信息及其用户USBKey设备属性信息度量值实现绑定,用户访问Linux应用程序时既要输入PIN码认证,又要通过TCM对用户USBkey设备属性信息进行度量验证,具体方法分为用户注册步骤和身份认证步骤。本发明安全性高、减小软件复杂度、有效防止了用户信息泄漏、杜绝了密码被破解的可能性、减少了应用程序开发工作量。
文档编号H04L9/32GK103200008SQ20131006346
公开日2013年7月10日 申请日期2013年2月28日 优先权日2013年2月28日
发明者赵斌, 冯磊 申请人:山东超越数控电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1