System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于PAM进行身份认证的实现方法及系统技术方案_技高网

一种基于PAM进行身份认证的实现方法及系统技术方案

技术编号:43014228 阅读:0 留言:0更新日期:2024-10-18 17:19
本发明专利技术公开一种基于PAM进行身份认证的实现方法及系统。该方法包括:注册程序将应用参数、用户名、智能密钥设备返回的凭证信息和用户公钥保存在认证文件中;在PAM配置文件首行写入认证操作指令;用户登录时已加载的PAM解析PAM配置文件中首行的认证操作指令得到控制标记、认证文件路径和认证程序路径,根据认证程序路径加载认证程序;当认证接口被调用时认证程序读取认证文件路径下的认证文件,登录用户与认证文件中的用户名匹配则发送认证指令给智能密钥设备,根据控制标记对合法的认证响应进行处理并通过PAM将处理结果返回。通过PAM实现对用户身份的认证,可在无网环境中使用,方便安全。

【技术实现步骤摘要】

本专利技术涉及信息安全领域,尤其涉及一种基于pam进行身份认证的实现方法及系统。


技术介绍

1、身份认证是操作系统安全的重要机制之一,系统通过认证机制来鉴别用户身份,将认证机制作为用户进入系统的判断条件,是防止恶意用户进入系统的第一道门槛。近年来认证理论和技术得到了迅速发展,产生了各种认证机制,如口令机制(即口令加密后发送给接收方,接收方解密后与原口令进行对比)。但是这种加密方式过于单一,在一个服务中用户的帐号口令泄露会涉及到多个服务的安全性,故为了增强系统的安全性,陆续出现了许多其他的身份鉴别机制,如指纹认证、usb认证、fido设备等,具有这些身份鉴别机制的硬件设备应运而生。但是这些硬件设备无法直接与linux系统设备或苹果系统设备进行通讯,现有的pam(英文全称:pluggable authentication modules,中文全称:可插拔认证模块)具有扩展功能,但是如何使用pam解决linux系统设备或苹果系统设备与这些硬件设备进行通信来实现身份认证是亟待解决的问题。


技术实现思路

1、本专利技术的目的是为了克服现有技术的不足,提供一种基于pam进行身份认证的实现方法及系统。

2、第一方面,本专利技术实施例提供了一种基于pam进行身份认证的实现方法,包括注册过程和认证过程,所述注册过程包括:

3、步骤s1:当注册程序运行过程中注册接口被调用时,所述注册程序解析传入的参数得到认证方式和用户名;

4、步骤s2:所述注册程序从智能密钥设备中获取认证方式,判断获取的认证方式与解析得到的所述认证方式是否一致,是则执行步骤s3,否则报错;

5、步骤s3:所述注册程序根据生成的第一随机数和所述用户名生成应用参数,根据所述第一随机数和所述应用参数生成注册指令,将所述注册指令发送给所述智能密钥设备;

6、步骤s4:当所述注册程序接收到所述智能密钥设备返回的注册响应时,对所述注册响应进行解析,并将解析得到的凭证信息和用户公钥、所述应用参数、所述用户名保存在认证文件中;

7、在所述步骤s4之后还包括:在pam配置文件首行写入认证操作指令,所述认证操作指令包括:控制标记、认证文件路径和认证程序路径;

8、所述认证过程包括:

9、步骤r1:当认证程序中的认证接口被所述pam调用时,所述认证程序读取认证文件路径下的认证文件,判断当前登录的用户名与所述认证文件中的用户名是否一致,是则根据查找到的认证文件中的凭证信息和应用参数、生成的第二随机数生成认证指令,将所述认证指令发送给所述智能密钥设备,执行步骤r2,否则报错;

10、步骤r2:所述认证程序接收到所述智能密钥设备返回的认证响应后,如认证响应中包含验证成功信息时所述认证程序对所述认证响应中的签名数据进行验证,如验证成功则给所述pam返回包含成功信息的认证结果,执行步骤r3,如验证失败则给所述pam返回包含失败信息的认证结果,执行步骤r3,如认证响应中包含验证失败信息时给所述pam返回包含失败信息的认证结果,执行步骤r3;

11、步骤r3:所述pam根据控制标记对接收到的认证结果进行处理得到身份验证结果,将所述身份验证结果返回给操作系统或应用程序;

12、所述步骤r1之前还包括:当用户登录所述操作系统或应用程序时获取当前登录的用户名并加载对应的pam,所述pam解析对应的pam配置文件中首行的认证操作指令得到所述控制标记、所述认证文件路径和认证程序路径,根据所述认证程序路径加载所述认证程序。

13、第二方面,本专利技术实施例提供了一种基于pam进行身份认证的实现系统,包括注册模块、认证模块和pam模块,所述注册模块包括:

14、接收解析单元,用于当注册程序运行过程中注册接口被调用时,解析传入的参数得到认证方式和用户名;

15、获取判断单元,用于从智能密钥设备中获取认证方式,判断获取的认证方式与解析得到的所述认证方式是否一致,是则触发第一生成发送单元,否则报错;

16、所述第一生成发送单元,用于根据生成的第一随机数和所述用户名生成应用参数,根据所述第一随机数和所述应用参数生成注册指令,将所述注册指令发送给所述智能密钥设备;

17、解析保存单元,用于当接收到所述智能密钥设备返回的注册响应时,对所述注册响应进行解析,并将解析得到的凭证信息和用户公钥、所述应用参数、所述用户名保存在认证文件中;

18、所述系统还包括写入模块,用于在pam配置文件首行写入认证操作指令,所述认证操作指令包括:控制标记、认证文件路径和认证程序路径;

19、所述认证模块包括:

20、读取判断单元,用于当认证程序中的认证接口被所述pam模块调用时,读取认证文件路径下的认证文件,判断当前登录的用户名与所述认证文件中的用户名是否一致,是则触发第二生成发送单元,否则报错;

21、所述第二生成发送单元,用于根据查找到的认证文件中的凭证信息和应用参数、生成的第二随机数生成认证指令,将所述认证指令发送给所述智能密钥设备;

22、接收验证返回单元,用于接收到所述智能密钥设备返回的认证响应后,如认证响应中包含验证成功信息时所述认证程序对所述认证响应中的签名数据进行验证,如验证成功则给所述pam模块返回包含成功信息的认证结果,如验证失败则给所述pam模块返回包含失败信息的认证结果,如认证响应中包含验证失败信息时给所述pam模块返回包含失败信息的认证结果;

23、所述pam模块,用于根据控制标记对所述认证结果进行处理得到身份验证结果,将所述身份验证结果返回给操作系统或应用程序;

24、所述系统还包括获取加载模块,用于当用户登录所述操作系统或应用程序时获取当前登录的用户名并加载对应的pam模块;

25、所述pam模块还用于解析对应的pam配置文件中首行的认证操作指令得到所述控制标记、所述认证文件路径和认证程序路径,根据所述认证程序路径加载所述认证程序。

26、第三方面,本专利技术实施例又提供一种电子设备,所述电子设备包括至少一个处理器、存储器及存储在所述存储器上并可被所述至少一个处理器执行的指令,所述至少一个处理器执行所述指令以实现前述的基于pam进行身份认证的实现方法。

27、第四方面,本专利技术实施例又提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,当所述计算机程序在电子设备上运行时,使得所述电子设备执行前述的基于pam进行身份认证的实现方法。

28、第五方面,本专利技术实施例又提供一种芯片系统,包括芯片,所述芯片与存储器耦合,用于执行所述存储器中存储的计算机程序,以执行前述的基于pam进行身份认证的实现方法。

29、本专利技术与现有技术相比,具有以下优点:在本专利技术技术方案中,通过pam使苹果系统设备或linux系统设备均可直接与智能密钥设备进行通讯,进而实现登录系统或使用app(应用程序)时对用户身份进行认证,本文档来自技高网...

【技术保护点】

1.一种基于PAM进行身份认证的实现方法,其特征在于,包括注册过程和认证过程,所述注册过程包括:

2.如权利要求1所述的基于PAM进行身份认证的实现方法,其特征在于,所述步骤S3中的所述注册程序根据生成的第一随机数和所述用户名生成应用参数包括:所述注册程序生成预设长度的第一随机数,根据预置的第一数据、第二数据、所述用户名和所述第一随机数组成结构体,根据所述结构体通过第一接口生成预设长度的应用参数。

3.如权利要求2所述的基于PAM进行身份认证的实现方法,其特征在于,所述根据所述结构体通过第一接口生成预设长度的应用参数包括:根据所述结构体中的所述第一数据和所述第二数据通过第一接口中的第一函数生成第一部分数据,根据所述结构体中的所述用户名和所述第一随机数通过第一接口中的第二函数生成第二部分数据,根据所述第一部分数据和所述第二部分数据生成应用参数。

4.如权利要求1所述的基于PAM进行身份认证的实现方法,其特征在于,还包括:

5.如权利要求4所述的基于PAM进行身份认证的实现方法,其特征在于,所述步骤A1中的判断是否符合注册条件包括:p>

6.如权利要求4所述的基于PAM进行身份认证的实现方法,其特征在于,所述步骤A2中的所述智能密钥设备根据所述第一随机数、所述应用参数、保存的用户私钥生成凭证信息包括:所述智能密钥设备生成用户密钥对并保存,对所述第一随机数和所述用户密钥对中的用户私钥进行异或运算得到第一中间值,对所述第一中间值、所述应用参数和设备标识进行拼接得到第一拼接值,使用所述用户私钥根据第一预设算法对所述第一拼接值进行加密生成第一密文,使用第二预设算法对所述第一密文进行MAC计算得到第一MAC值,将所述第一密文与所述第一MAC值进行拼接得到凭证信息。

7.如权利要求4所述的基于PAM进行身份认证的实现方法,其特征在于,所述步骤A2中的所述根据所述凭证信息生成第一签名数据包括:将第一预设值、所述应用参数、所述第一随机数、所述凭证信息、用户密钥对中的用户公钥进行拼接得到第二拼接值,使用第三预设算法和内置的设备私钥对所述第二拼接值进行签名得到第一签名结果,对所述第一签名结果进行编码得到第一签名数据。

8.如权利要求4所述的基于PAM进行身份认证的实现方法,其特征在于,所述智能密钥设备根据保存的用户公钥、所述凭证信息和所述第一签名数据生成注册响应包括:将第二预设值、保存的用户公钥、所述凭证信息的长度、所述凭证信息、设备证书、所述第一签名数据进行拼接得到注册响应。

9.如权利要求1所述的基于PAM进行身份认证的实现方法,其特征在于,还包括:

10.如权利要求9所述的基于PAM进行身份认证的实现方法,其特征在于,所述步骤B1中的判断是否符合认证条件包括:

11.如权利要求10所述的基于PAM进行身份认证的实现方法,其特征在于,所述步骤B14包括:所述智能密钥设备对保存的所述第一随机数和用户私钥进行异或运算得到第一验证中间值,对所述第一验证中间值、所述应用参数和所述设备标识进行拼接得到第一验证拼接值,使用所述用户私钥根据第一预设算法对所述第一验证拼接值进行加密生成第一验证密文,使用第二预设算法对所述第一验证密文进行MAC计算得到第一验证MAC值,判断所述第一验证MAC值与所述凭证信息中的第一MAC值是否一致,是则验证成功,执行步骤B16,否则验证失败,给所述认证程序返回包含验证失败信息的认证响应。

12.如权利要求9所述的基于PAM进行身份认证的实现方法,其特征在于,所述步骤B2包括:所述智能密钥设备将所述应用参数、第二预设值、签名计数器的值和所述第二随机数进行拼接得到待签名数据,使用保存的用户私钥根据第四预设算法对所述待签名数据进行签名得到第二签名结果,对所述第二签名结果进行编码得到第二签名数据。

13.如权利要求9所述的基于PAM进行身份认证的实现方法,其特征在于,所述智能密钥设备根据签名计数器的值、所述第二签名数据和验证成功信息生成认证响应包括:所述智能密钥设备将按键标识、签名计数器的值、第二签名数据和验证成功信息进行拼接得到认证响应。

14.如权利要求1所述的基于PAM进行身份认证的实现方法,其特征在于,所述步骤R2中的所述认证程序对所述认证响应中的签名数据进行验证包括:所述认证程序对所述认证响应进行解析得到按键标识、签名计数器的值和第二签名数据,对所述第二签名数据进行解码得到解码数据,使用所述认证文件中的用户公钥对所述解码数据进行解密得到解密结果,根据所述认证文件中的应用参数、第二预设值、所述签名计数器的值、所述第二随机数生成验证数据,对所述验证数据进行哈希计算得到哈希结果,...

【技术特征摘要】

1.一种基于pam进行身份认证的实现方法,其特征在于,包括注册过程和认证过程,所述注册过程包括:

2.如权利要求1所述的基于pam进行身份认证的实现方法,其特征在于,所述步骤s3中的所述注册程序根据生成的第一随机数和所述用户名生成应用参数包括:所述注册程序生成预设长度的第一随机数,根据预置的第一数据、第二数据、所述用户名和所述第一随机数组成结构体,根据所述结构体通过第一接口生成预设长度的应用参数。

3.如权利要求2所述的基于pam进行身份认证的实现方法,其特征在于,所述根据所述结构体通过第一接口生成预设长度的应用参数包括:根据所述结构体中的所述第一数据和所述第二数据通过第一接口中的第一函数生成第一部分数据,根据所述结构体中的所述用户名和所述第一随机数通过第一接口中的第二函数生成第二部分数据,根据所述第一部分数据和所述第二部分数据生成应用参数。

4.如权利要求1所述的基于pam进行身份认证的实现方法,其特征在于,还包括:

5.如权利要求4所述的基于pam进行身份认证的实现方法,其特征在于,所述步骤a1中的判断是否符合注册条件包括:

6.如权利要求4所述的基于pam进行身份认证的实现方法,其特征在于,所述步骤a2中的所述智能密钥设备根据所述第一随机数、所述应用参数、保存的用户私钥生成凭证信息包括:所述智能密钥设备生成用户密钥对并保存,对所述第一随机数和所述用户密钥对中的用户私钥进行异或运算得到第一中间值,对所述第一中间值、所述应用参数和设备标识进行拼接得到第一拼接值,使用所述用户私钥根据第一预设算法对所述第一拼接值进行加密生成第一密文,使用第二预设算法对所述第一密文进行mac计算得到第一mac值,将所述第一密文与所述第一mac值进行拼接得到凭证信息。

7.如权利要求4所述的基于pam进行身份认证的实现方法,其特征在于,所述步骤a2中的所述根据所述凭证信息生成第一签名数据包括:将第一预设值、所述应用参数、所述第一随机数、所述凭证信息、用户密钥对中的用户公钥进行拼接得到第二拼接值,使用第三预设算法和内置的设备私钥对所述第二拼接值进行签名得到第一签名结果,对所述第一签名结果进行编码得到第一签名数据。

8.如权利要求4所述的基于pam进行身份认证的实现方法,其特征在于,所述智能密钥设备根据保存的用户公钥、所述凭证信息和所述第一签名数据生成注册响应包括:将第二预设值、保存的用户公钥、所述凭证信息的长度、所述凭证信息、设备证书、所述第一签名数据进行拼接得到注册响应。

9.如权利要求1所述的基于pam进行身份认证的实现方法,其特征在于,还包括:

10.如权利要求9所述的基于pam进行身份认证的实现方法,其特征在于,所述步骤b1中的判断是否符合认证条件包括:

11.如权利要求10...

【专利技术属性】
技术研发人员:陆舟
申请(专利权)人:飞天诚信科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1