CN108881243B - 基于CPK的Linux操作系统登录认证方法、设备、终端及服务器 - Google Patents

基于CPK的Linux操作系统登录认证方法、设备、终端及服务器 Download PDF

Info

Publication number
CN108881243B
CN108881243B CN201810673064.6A CN201810673064A CN108881243B CN 108881243 B CN108881243 B CN 108881243B CN 201810673064 A CN201810673064 A CN 201810673064A CN 108881243 B CN108881243 B CN 108881243B
Authority
CN
China
Prior art keywords
terminal
cpk
time
password
user identifier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810673064.6A
Other languages
English (en)
Other versions
CN108881243A (zh
Inventor
李维刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jinshang Bochuang Beijing Technology Co ltd
Original Assignee
Jinshang Bochuang Beijing Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jinshang Bochuang Beijing Technology Co ltd filed Critical Jinshang Bochuang Beijing Technology Co ltd
Priority to CN201810673064.6A priority Critical patent/CN108881243B/zh
Publication of CN108881243A publication Critical patent/CN108881243A/zh
Priority to PCT/CN2019/092925 priority patent/WO2020001455A1/zh
Application granted granted Critical
Publication of CN108881243B publication Critical patent/CN108881243B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供一种基于CPK的Linux操作系统登录认证方法、设备、终端及服务器,属于计算机和信息安全技术领域,解决了现有技术中网络攻击Linux操作系统获得访问控制权的问题。所述方法包括获取CPK密钥设备的待认证用户标识,并将所述待认证用户标识发送给所述Linux服务器;获取CPK密钥设备的口令,并将所述口令和终端待签名时间发送给所述CPK密钥设备;接收所述CPK密钥设备发送的签名信息,并将所述签名信息发送给所述Linux服务器,以便所述Linux服务器通过所述签名信息进行登录认证,所述签名信息中包括所述终端待签名时间的数字签名以及所述CPK密钥设备对应的用户标识。本发明实施例适用于登录Linux操作系统的认证过程。

Description

基于CPK的Linux操作系统登录认证方法、设备、终端及服务器
技术领域
本发明涉及计算机和信息安全技术领域,具体地涉及一种基于CPK的Linux操作系统登录认证方法、设备、终端及服务器。
背景技术
随着计算机和网络应用的发展,大量的Linux服务器被部署。而Linux服务器的日常维护和管理都需要管理员登录Linux操作系统。传统的方式中管理员采用用户名和口令作为登录的用户凭证,这种方法存在很多安全风险,如简单口令易被攻击,口令易泄漏,口令不能真正确认用户的身份,口令过于复杂又不容易记忆。
而且现代的网络攻击多以猜测口令、暴力破解口令或网络劫持口令等手段非法获得操作系统的访问控制权,一旦非法获得管理员控制权,则对系统安全是毁灭性的。所以采用静态口令的认证方式,其安全强度是非常有限的,对于承载了企业重要数据的服务器操作系统,增加操作系统的安全性至关重要。
发明内容
本发明实施例的目的是提供一种基于CPK的Linux操作系统登录认证方法、设备、终端及服务器,解决了现有技术中通过网络攻击获得操作系统口令从而得到访问控制权的问题,通过数字签名技术实现了Linux操作系统的登录安全认证。
为了实现上述目的,本发明实施例提供一种基于CPK的Linux操作系统登录认证方法,所述方法应用于终端,所述方法包括获取CPK密钥设备的待认证用户标识,并将所述待认证用户标识发送给所述Linux服务器;获取CPK密钥设备的口令,并将所述口令和终端待签名时间发送给所述CPK密钥设备;接收所述CPK密钥设备发送的签名信息,并将所述签名信息发送给所述Linux服务器,以便所述Linux服务器通过所述签名信息进行登录认证,所述签名信息中包括所述终端待签名时间的数字签名以及所述CPK密钥设备对应的用户标识。
进一步地,所述获取CPK密钥设备的口令,并将所述口令和终端待签名时间发送给所述CPK密钥设备包括:当接收到所述Linux服务器发送的提示输入CPK密钥设备的口令时,显示口令录入界面;获取所述CPK密钥设备的口令,并将所述口令和终端待签名时间发送给所述CPK密钥设备。
进一步地,在所述将所述口令和终端待签名时间发送给所述CPK密钥设备之后,所述方法还包括:当接收到所述CPK密钥设备发送的口令验证错误的通知时,继续显示所述口令录入界面。
相应的,本发明实施例还提供一种基于CPK的Linux操作系统登录认证方法,所述方法应用于CPK密钥设备,所述方法包括:接收终端发送的CPK密钥设备的口令和终端待签名时间;验证所述口令是否正确;当验证所述口令正确时,利用预设私钥对所述终端待签名时间进行数字签名,得到签名信息并将所述签名信息发送给所述终端,以便由所述终端将所述签名信息发送给Linux服务器进行登录认证。
进一步地,所述接收终端发送的终端待签名时间包括:接收所述终端发送的CPK密钥设备的口令和终端待签名时间;验证所述口令,并当验证所述口令正确时,向所述终端发送口令验证正确的通知;当验证所述口令错误时,向所述终端发送口令验证错误的通知。
进一步地,所述利用预设私钥对所述终端待签名时间进行数字签名,得到签名信息包括:根据SIGalice(time)=(s,c)=sign,得到签名数据data={alice,time,sign},其中,SIG为签名函数,alice为所述CPK密钥设备的预设私钥,alice为所述CPK密钥设备对应的用户标识,time为所述终端待签名时间,s为签名码,c为验证码,sign用于标记(s,c)。
相应的,本发明实施例还提供一种基于CPK的Linux操作系统登录认证方法,所述方法应用于Linux服务器,所述方法包括:接收所述终端发送的待认证用户标识,并确定所述待认证用户标识是否存在于所述Linux操作系统的合法用户信息中;当确定所述待认证用户标识存在于所述Linux操作系统的合法用户信息中之后,接收所述终端发送的签名信息,并根据所述签名信息进行登录认证,所述签名信息中包括终端待签名时间的数字签名以及CPK密钥设备对应的用户标识。
进一步地,当确定所述待认证用户标识存在于所述Linux操作系统的合法用户信息中之后,所述方法还包括:向所述终端发送提示输入CPK密钥设备的口令。
进一步地,所述接收所述终端发送的签名信息,并根据所述签名信息进行登录认证包括:接收所述签名信息data={alice,time,sign},其中,alice为所述CPK密钥设备对应的用户标识,time为所述终端待签名时间,sign用于标记(s,c),s为签名码,c为验证码;根据VERALICE(time,s)=c’,得到所述终端待签名时间的验证码c’,其中,VER为验证函数,ALICE为所述CPK密钥设备的预设公钥;验证c与c’是否相同;当c与c’相同时,根据所述终端待签名时间和所述CPK密钥设备对应的用户标识进行登录认证;当c与c’不相同时,确定所述待认证用户标识登录失败。
进一步地,所述根据所述终端待签名时间和所述CPK密钥设备对应的用户标识进行登录认证包括:确定所述Linux操作系统的本地时间与所述终端待签名时间的时间差值;判断所述时间差值是否小于或等于预设时间;当所述时间差值小于或等于所述预设时间时,判断所述CPK密钥设备对应的用户标识是否与所述待认证用户标识一致;当所述CPK密钥设备对应的用户标识与所述待认证用户标识一致时,确定所述待认证用户标识登录成功。
进一步地,所述方法还包括:当所述时间差值大于所述预设时间时,确定所述待认证用户标识登录失败。
进一步地,所述方法还包括:当所述CPK密钥设备对应的用户标识与所述待认证用户标识不一致时,确定所述待认证用户标识登录失败。
相应的,本发明实施例还提供一种终端,所述终端用于执行上述所述的基于CPK的Linux操作系统登录认证方法。
相应的,本发明实施例还提供一种CPK密钥设备,所述CPK密钥设备用于执行上述所述的基于CPK的Linux操作系统登录认证方法。
相应的,本发明实施例还提供一种Linux服务器,所述Linux服务器用于执行上述所述的基于CPK的Linux操作系统登录认证方法。
通过上述技术方案,采用CPK密钥设备和终端待签名时间的软硬件结合认证体系,而且将公钥体制的数字签名技术融入认证过程,实现了基于CPK的安全认证,提升了Linux操作系统的登录安全性,解决了现有技术中通过网络攻击获得操作系统口令从而得到访问控制权的问题。
本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:
图1是本发明实施例提供的基于CPK的Linux操作系统登录认证方法的模块示意图;
图2是本发明实施例提供的一种基于CPK的Linux操作系统登录认证方法的流程示意图;
图3是本发明实施例提供的另一种基于CPK的Linux操作系统登录认证方法的流程示意图;
图4是本发明实施例提供的又一种基于CPK的Linux操作系统登录认证方法的流程示意图;
图5是本发明实施例提供的一种基于CPK的Linux操作系统登录认证方法的流程示意图。
具体实施方式
以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。
本发明实施例是通过数字签名技术实现Linux操作系统的安全认证。其中的数字签名是由CPK组合公钥体制提供的。CPK是基于标识的公钥体制,公钥由标识通过Hash变换和矩阵的组合运算而得到。其中,在椭圆曲线上,G是基点,如果任意整数a是私钥,那么aG=A,A是对应于a的公钥。设:标识是Alice,那么Alice的公私钥分别是:标识通过Hash变换,变为一串随机数序列,将随机数序列当作矩阵的坐标,将32个坐标上的变量分别累加得公、私钥。如:
Figure BDA0001709050500000051
(大写,斜体,表示公钥)
Figure BDA0001709050500000052
(小写,斜体,表示私钥)
由于公钥矩阵(Ri,j)预先设置在Linux服务器中,所以只要知道标识,就可以计算出公钥,而私钥矩阵(ri,j)只存在于密钥中心,私钥在CPK密钥设备中保管。其中,当用户予使用CPK密钥设备进行认证时,用户使用所述CPK密钥设备对应的用户标识向密钥中心申请私钥,从而密钥中心通过安全协议将私钥写入所述CPK密钥设备中。
为了实现本发明实施例,扩展了Linux操作系统的PAM(PluggableAuthentication Modules,可插入认证模块),如图1所示,将CPK安全鉴别模块设置在Linux操作系统的可插入认证模块中。另外,所述CPK安全鉴别模块所依赖的公钥矩阵以及其它配置文件部署在指定的路径,修改Linux操作系统的PAM配置文件,注销原默认认证模块,使得在进行操作系统登录认证时直接使用所述CPK安全鉴别模块进行认证,而且需要将Linux操作系统的Selinux模块设置为开启状态,才能保证只能使用CPK密钥设备方可登录Linux操作系统。
如图1所示,系统认证应用程序接口是要求验证服务的应用程序与提供验证服务的验证机制之间的通信接口,是Linux操作系统中应用程序安全通道的入口。由于Linux操作系统中包括CPK安全鉴别模块,即可实现上层应用层的多个应用程序的安全认证问题,只需要通过接口层的配置就能灵活为某一应用程序增加CPK的安全认证机制。从而在本发明实施例中,不仅支持Linux操作系统的安全登录认证,还可支持多应用程序的安全认证,只需要在配置文件中配置需要实现安全认证的应用程序即可。
另外,本发明实施例中提到的Linux服务器可以是远程服务器,也可以是本地服务器。
实施例一
图2是本发明实施例提供的一种基于CPK的Linux操作系统登录认证方法的流程示意图。如图2所示,所述方法应用于终端,所述方法包括如下步骤:
步骤201,获取CPK密钥设备的待认证用户标识,并将所述待认证用户标识发送给所述Linux服务器;
步骤202,获取CPK密钥设备的口令,并将所述口令和终端待签名时间发送给所述CPK密钥设备;
步骤203,接收所述CPK密钥设备发送的签名信息,并将所述签名信息发送给所述Linux服务器,以便所述Linux服务器通过所述签名信息进行登录认证,所述签名信息中包括所述终端待签名时间的数字签名以及所述CPK密钥设备对应的用户标识。
在本发明实施例中,当用户将CPK密钥设备插入所述终端之后,所述终端即可获取到所述CPK密钥设备的待认证用户标识,从而将所述待认证用户标识发送给所述Linux服务器。
对于步骤202,当接收到所述Linux服务器发送的提示输入CPK密钥设备的口令时,显示口令录入界面;获取所述CPK密钥设备的口令,并将所述口令和终端待签名时间发送给所述CPK密钥设备。
另外,当接收到所述CPK密钥设备发送的口令验证错误的通知时,继续显示所述口令录入界面。
通过本发明实施例,采用CPK密钥设备和口令的双因子认证,即使口令被泄密也没关系,因为没有CPK密钥设备是无法登录Linux操作系统,有效防止网络攻击,使得最常用的网络攻击手段完全失效,解决了现有技术中通过网络攻击获得操作系统口令从而得到访问控制权的问题,实现了基于CPK的安全认证,提升了Linux操作系统的登录安全性。
实施例二
图3是本发明实施例提供的一种基于CPK的Linux操作系统登录认证方法的流程示意图。如图3所示,所述方法应用于CPK密钥设备,所述方法包括如下步骤:
步骤301,接收终端发送的CPK密钥设备的口令和终端待签名时间;
步骤302,验证所述口令是否正确;
步骤303,当验证所述口令正确时,利用预设私钥对所述终端待签名时间进行数字签名,得到签名信息并将所述签名信息发送给所述终端,以便由所述终端将所述签名信息发送给Linux服务器进行登录认证。
其中,当验证所述口令错误时,向所述终端发送口令验证错误的通知。
另外,所述CPK密钥设备内保存有所述CPK密钥设备对应的用户标识的预设私钥,从而在步骤302中可利用所述预设私钥对所述终端待签名时间进行数字签名,得到签名信息,具体为:
根据SIGalice(time)=(s,c)=sign,得到签名数据data={alice,time,sign},其中,SIG为签名函数,alice为所述CPK密钥设备的预设私钥,alice为所述CPK密钥设备对应的用户标识,time为所述终端待签名时间,s为签名码,c为验证码,sign用于标记(s,c)。
通过本发明实施例,利用CPK密钥设备对终端待签名时间进行数字签名之后,得到签名信息,以便Linux服务器对所述签名信息中的终端待签名时间进行验证,即每次登录都会对一个终端待签名时间进行数字签名,解决了现有技术中通过网络攻击获得操作系统口令从而得到访问控制权的问题,实现了基于CPK的安全认证,提升了Linux操作系统的登录安全性。
实施例三
图4是本发明实施例提供的一种基于CPK的Linux操作系统登录认证方法的流程示意图。如图4所示,所述方法应用于Linux服务器,所述方法包括如下步骤:
步骤401,接收所述终端发送的待认证用户标识,并确定所述待认证用户标识是否存在于所述Linux操作系统的合法用户信息中;
步骤402,当确定所述待认证用户标识存在于所述Linux操作系统的合法用户信息中之后,接收所述终端发送的签名信息,并根据所述签名信息进行登录认证,所述签名信息中包括终端待签名时间的数字签名以及CPK密钥设备对应的用户标识。
其中,当确定所述待认证用户标识存在于所述Linux操作系统的合法用户信息中之后,所述Linux服务器向所述终端发送提示输入CPK密钥设备的口令。
对于步骤402,接收所述签名信息data={alice,time,sign},其中,alice为所述CPK密钥设备对应的用户标识,time为所述终端待签名时间,sign用于标记(s,c),s为签名码,c为验证码。然后根据VERALICE(time,s)=c’,得到所述终端待签名时间的验证码c’,其中,VER为验证函数,ALICE为所述CPK密钥设备的预设公钥。之后验证c与c’是否相同,当c与c’相同时,根据所述终端待签名时间和所述CPK密钥设备对应的用户标识进行登录认证,而当c与c’不相同时,确定所述待认证用户标识登录失败。
另外,当c与c’相同时,根据所述终端待签名时间和所述CPK密钥设备对应的用户标识进行登录认证包括:确定所述Linux操作系统的本地时间与所述终端待签名时间的时间差值,并判断所述时间差值是否小于或等于预设时间,当所述时间差值小于或等于所述预设时间时,判断所述CPK密钥设备对应的用户标识是否与所述待认证用户标识一致,当所述CPK密钥设备对应的用户标识与所述待认证用户标识一致时,确定所述待认证用户标识登录成功。即判断本次登录认证开始时,接收到的待认证用户标识是否与所述CPK密钥设备对应的用户标识一致,保证了上述二者为同一用户。
而当所述时间差值大于所述预设时间时,确定所述待认证用户标识登录失败。另外,当所述CPK密钥设备对应的用户标识与所述待认证用户标识不一致时,也确定所述待认证用户标识登录失败。
其中,由于在所述Linux服务器中存储有公钥矩阵,在获得CPK密钥设备对应的用户标识之后,利用公钥矩阵就可以得到所述用户标识对应的预设公钥。
通过本发明实施例,利用CPK密钥设备对终端待签名时间进行数字签名之后,得到签名信息,Linux服务器对所述签名信息中的终端待签名时间进行验证,即每次登录都生成一个终端待签名时间,实现了登录凭证的动态变化,另外,对于终端待签名时间与系统时间的比较,可解决重放攻击的问题。通过数字签名技术实现Linux操作系统的安全认证,解决了静态口令易猜测、可拦截的问题。
实施例四
为了便于理解本发明实施例,下面以终端、CPK密钥设备和Linux服务器之间的信息交互进行说明本发明实施例。图5是本发明实施例提供的一种基于CPK的Linux操作系统登录认证方法的流程示意图。如图5所示,所述方法包括如下步骤:
步骤501,终端获取CPK密钥设备的待认证用户标识,并将所述待认证用户标识发送给所述Linux服务器;
步骤502,所述Linux服务器接收待认证用户标识,并确定所述待认证用户标识是否存在于所述Linux操作系统的合法用户信息中,若是则执行步骤503,若否则返回步骤501;
步骤503,向所述终端发送提示输入CPK密钥设备的口令;
步骤504,所述终端接收所述提示输入CPK密钥设备的口令,显示口令录入界面;
步骤505,所述终端获取所述CPK密钥设备的口令,并将所述口令和终端待签名时间发送给所述CPK密钥设备;
步骤506,所述CPK密钥设备接收所述终端发送的CPK密钥设备的口令和终端待签名时间;
步骤507,验证所述口令是否正确,当验证所述口令正确时执行步骤508,当验证所述口令错误时,向所述终端发送口令验证错误的通知并返回步骤504;
步骤508,所述CPK密钥设备利用预设私钥对所述终端待签名时间进行数字签名,得到签名信息并将所述签名信息发送给所述终端;
步骤509,所述终端接收所述CPK密钥设备发送的签名信息,并将所述签名信息发送给所述Linux服务器;
步骤510,所述Linux服务器接收所述终端发送的签名信息,并对所述签名信息进行验证,当验证通过后执行步骤511,验证未通过则确定所述待认证用户标识登录失败;
步骤511,确定所述Linux操作系统的本地时间与所述终端待签名时间的时间差值;
步骤512,判断所述时间差值是否小于或等于预设时间,若是执行步骤513,若否确定所述待认证用户标识登录失败;
步骤513,判断所述CPK密钥设备对应的用户标识是否与所述待认证用户标识一致,若是确定所述待认证用户标识登录成功,若否确定所述待认证用户标识登录失败。
通过上述实施例,利用数字签名技术实现操作系统的安全认证,解决静态口令易猜测、可拦截的问题。另外,登录时必须提供CPK密钥设备和口令,采用强双因子认证,即使口令泄密也不担心。有效地防止网络攻击,没有CPK密钥设备无法登录,使得常用的网络攻击手段完全失效。本发明实施例还具有高度松耦合性和可扩展性,不仅支持Linux操作系统的登录,还支持多应用程序的登录认证,只需要修改Linux操作系统中的配置文件即可实现应用程序的CPK安全认证,应用程序无需进行代码修改。
相应的,本发明实施例还提供了一种终端,所述终端用于执行上述实施例中应用于终端的所述的基于CPK的Linux操作系统登录认证方法。
相应的,本发明实施例还提供了一种CPK密钥设备,所述CPK密钥设备用于执行上述实施例中应用于CPK密钥设备的所述的基于CPK的Linux操作系统登录认证方法。
相应的,本发明实施例还提供了一种Linux服务器,所述Linux服务器用于执行上述实施例中应用于Linux服务器的所述的基于CPK的Linux操作系统登录认证方法。
以上结合附图详细描述了本发明实施例的可选实施方式,但是,本发明实施例并不限于上述实施方式中的具体细节,在本发明实施例的技术构思范围内,可以对本发明实施例的技术方案进行多种简单变型,这些简单变型均属于本发明实施例的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明实施例对各种可能的组合方式不再另行说明。
本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得单片机、芯片或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
此外,本发明实施例的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明实施例的思想,其同样应当视为本发明实施例所公开的内容。

Claims (14)

1.一种基于CPK的Linux操作系统登录认证方法,其特征在于,所述方法应用于终端,所述方法包括:
获取CPK密钥设备的待认证用户标识,并将所述待认证用户标识发送给Linux服务器,以便所述Linux服务器确定所述待认证用户标识是否存在于所述Linux操作系统的合法用户信息中,所述用户标识为用于生成对应私钥和公钥的标识;
获取CPK密钥设备的口令,并将所述口令和终端待签名时间同时发送给所述CPK密钥设备;
接收所述CPK密钥设备发送的签名信息,并将所述签名信息发送给所述Linux服务器,以便所述Linux服务器通过所述签名信息进行登录认证,所述签名信息中包括所述终端待签名时间的数字签名以及所述CPK密钥设备对应的用户标识。
2.根据权利要求1所述的方法,其特征在于,所述获取CPK密钥设备的口令,并将所述口令和终端待签名时间发送给所述CPK密钥设备包括:
当接收到所述Linux服务器发送的提示输入CPK密钥设备的口令时,显示口令录入界面;
获取所述CPK密钥设备的口令,并将所述口令和终端待签名时间发送给所述CPK密钥设备。
3.根据权利要求2所述的方法,其特征在于,在所述将所述口令和终端待签名时间发送给所述CPK密钥设备之后,所述方法还包括:
当接收到所述CPK密钥设备发送的口令验证错误的通知时,继续显示所述口令录入界面。
4.一种基于CPK的Linux操作系统登录认证方法,其特征在于,所述方法应用于CPK密钥设备,所述方法包括:
将所述CPK密钥设备的待认证用户标识发送给终端,以便所述终端将所述待认证用户标识发送给Linux服务器,并由所述Linux服务器确定所述待认证用户标识是否存在于所述Linux操作系统的合法用户信息中,所述用户标识为用于生成对应私钥和公钥的标识;
接收所述终端同时发送的CPK密钥设备的口令和终端待签名时间;
验证所述口令是否正确;
当验证所述口令正确时,利用预设私钥对所述终端待签名时间进行数字签名,得到签名信息并将所述签名信息发送给所述终端,以便由所述终端将所述签名信息发送给Linux服务器进行登录认证。
5.根据权利要求4所述的方法,其特征在于,在所述验证所述口令之后,所述方法包括:
当验证所述口令错误时,向所述终端发送口令验证错误的通知。
6.根据权利要求4所述的方法,其特征在于,所述利用预设私钥对所述终端待签名时间进行数字签名,得到签名信息包括:
根据SIG alice (time)=(s, c)=sign,得到签名数据data={Alice, time, sign},
其中,SIG为签名函数,alice为所述CPK密钥设备的预设私钥,小写斜体表示,Alice为所述CPK密钥设备对应的用户标识,time为所述终端待签名时间,s为签名码,c为验证码,sign用于标记(s, c)。
7.一种基于CPK的Linux操作系统登录认证方法,其特征在于,所述方法应用于Linux服务器,所述方法包括:
接收终端发送的待认证用户标识,并确定所述待认证用户标识是否存在于所述Linux操作系统的合法用户信息中,所述用户标识为用于生成对应私钥和公钥的标识;
当确定所述待认证用户标识存在于所述Linux操作系统的合法用户信息中之后,向所述终端发送提示输入CPK密钥设备的口令,以便所述终端获取CPK密钥设备的口令,并将所述口令和终端待签名时间同时发送给所述CPK密钥设备;
接收所述终端发送的签名信息,并根据所述签名信息进行登录认证,所述签名信息中包括终端待签名时间的数字签名以及CPK密钥设备对应的用户标识。
8.根据权利要求7所述的方法,其特征在于,所述接收所述终端发送的签名信息,并根据所述签名信息进行登录认证包括:
接收所述签名信息data={Alice, time, sign},其中,Alice为所述CPK密钥设备对应的用户标识,time为所述终端待签名时间,sign用于标记(s, c),s为签名码,c为验证码;
根据VER ALICE (time, s)=c’,得到所述终端待签名时间的验证码c’,其中,VER为验证函数,ALICE为所述CPK密钥设备的预设公钥,大写斜体表示;
验证c与c’是否相同;
当c与c’相同时,根据所述终端待签名时间和所述CPK密钥设备对应的用户标识进行登录认证;
当c与c’不相同时,确定所述待认证用户标识登录失败。
9.根据权利要求8所述的方法,其特征在于,所述根据所述终端待签名时间和所述CPK密钥设备对应的用户标识进行登录认证包括:
确定所述Linux操作系统的本地时间与所述终端待签名时间的时间差值;
判断所述时间差值是否小于或等于预设时间;
当所述时间差值小于或等于所述预设时间时,判断所述CPK密钥设备对应的用户标识是否与所述待认证用户标识一致;
当所述CPK密钥设备对应的用户标识与所述待认证用户标识一致时,确定所述待认证用户标识登录成功。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
当所述时间差值大于所述预设时间时,确定所述待认证用户标识登录失败。
11.根据权利要求9所述的方法,其特征在于,所述方法还包括:
当所述CPK密钥设备对应的用户标识与所述待认证用户标识不一致时,确定所述待认证用户标识登录失败。
12.一种终端,其特征在于,所述终端用于执行权利要求1-3任一项所述的基于CPK的Linux操作系统登录认证方法。
13.一种CPK密钥设备,其特征在于,所述CPK密钥设备用于执行权利要求4-6任一项所述的基于CPK的Linux操作系统登录认证方法。
14.一种Linux服务器,其特征在于,所述Linux服务器用于执行权利要求7-11任一项所述的基于CPK的Linux操作系统登录认证方法。
CN201810673064.6A 2018-06-26 2018-06-26 基于CPK的Linux操作系统登录认证方法、设备、终端及服务器 Active CN108881243B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810673064.6A CN108881243B (zh) 2018-06-26 2018-06-26 基于CPK的Linux操作系统登录认证方法、设备、终端及服务器
PCT/CN2019/092925 WO2020001455A1 (zh) 2018-06-26 2019-06-26 基于CPK的Linux操作系统登录认证方法、设备、终端及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810673064.6A CN108881243B (zh) 2018-06-26 2018-06-26 基于CPK的Linux操作系统登录认证方法、设备、终端及服务器

Publications (2)

Publication Number Publication Date
CN108881243A CN108881243A (zh) 2018-11-23
CN108881243B true CN108881243B (zh) 2021-02-23

Family

ID=64295043

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810673064.6A Active CN108881243B (zh) 2018-06-26 2018-06-26 基于CPK的Linux操作系统登录认证方法、设备、终端及服务器

Country Status (2)

Country Link
CN (1) CN108881243B (zh)
WO (1) WO2020001455A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108881243B (zh) * 2018-06-26 2021-02-23 晋商博创(北京)科技有限公司 基于CPK的Linux操作系统登录认证方法、设备、终端及服务器
CN109815745B (zh) * 2019-01-11 2023-02-17 珠海金山数字网络科技有限公司 一种基于图像签名的应用程序授权方法
CN109977662B (zh) * 2019-03-01 2021-04-02 晋商博创(北京)科技有限公司 基于组合公钥的应用程序处理方法、装置、终端及存储介质
CN111400733A (zh) * 2020-03-13 2020-07-10 中国电力科学研究院有限公司 一种用于嵌入式Linux系统的信息安全防护系统及方法
CN115085968B (zh) * 2022-04-29 2023-08-04 麒麟软件有限公司 一种Linux下基于自定义标签的登录认证方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1889426A (zh) * 2005-06-30 2007-01-03 联想(北京)有限公司 一种实现网络安全存储与访问的方法及系统
CN101938473A (zh) * 2010-08-24 2011-01-05 北京易恒信认证科技有限公司 单点登录系统及单点登录方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050044379A1 (en) * 2003-08-20 2005-02-24 International Business Machines Corporation Blind exchange of keys using an open protocol
CN104243493A (zh) * 2014-10-11 2014-12-24 上海众人科技有限公司 一种网络身份认证方法及系统
CN108881243B (zh) * 2018-06-26 2021-02-23 晋商博创(北京)科技有限公司 基于CPK的Linux操作系统登录认证方法、设备、终端及服务器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1889426A (zh) * 2005-06-30 2007-01-03 联想(北京)有限公司 一种实现网络安全存储与访问的方法及系统
CN101938473A (zh) * 2010-08-24 2011-01-05 北京易恒信认证科技有限公司 单点登录系统及单点登录方法

Also Published As

Publication number Publication date
WO2020001455A1 (zh) 2020-01-02
CN108881243A (zh) 2018-11-23

Similar Documents

Publication Publication Date Title
CN108881243B (zh) 基于CPK的Linux操作系统登录认证方法、设备、终端及服务器
US20190281028A1 (en) System and method for decentralized authentication using a distributed transaction-based state machine
US9094823B2 (en) Data processing for securing local resources in a mobile device
US9736131B2 (en) Secure login for subscriber devices
CN108964885B (zh) 鉴权方法、装置、系统和存储介质
CN110990827A (zh) 一种身份信息验证方法、服务器及存储介质
WO2020041747A1 (en) Methods, apparatuses, and computer program products for frictionless electronic signature management
US20090240936A1 (en) System and method for storing client-side certificate credentials
EP3674938B1 (en) Identifying computing processes on automation servers
US20210073359A1 (en) Secure one-time password (otp) authentication
JP2017152880A (ja) 認証システム、鍵処理連携方法、および、鍵処理連携プログラム
US8051470B2 (en) Consolidation of user directories
KR101436404B1 (ko) 사용자 인증 장치 및 방법
CN112398787B (zh) 邮箱登录验证的方法、装置、计算机设备及存储介质
CN112600831A (zh) 一种网络客户端身份认证系统和方法
CN116996305A (zh) 一种多层次安全认证方法、系统、设备、存储介质及入口网关
CN115987655A (zh) 基于用户身份深度识别的远程接入访问方法、系统及设备
CN114070571B (zh) 一种建立连接的方法、装置、终端及存储介质
CN114553566A (zh) 数据加密方法、装置、设备及存储介质
KR102288445B1 (ko) 단체용 인증모듈의 온보딩 방법, 장치 및 프로그램
Kim et al. Security analysis and bypass user authentication bound to device of windows hello in the wild
CN114679284A (zh) 可信远程证明系统及其存储、验证方法、存储介质
US20200244646A1 (en) Remote access computer security
CN114650175B (zh) 一种验证方法及装置
Kumari et al. Hacking resistance protocol for securing passwords using personal device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant