一种认证方法、装置、设备及介质与流程

文档序号:30419031发布日期:2022-06-15 12:27阅读:48来源:国知局
一种认证方法、装置、设备及介质与流程

1.本发明涉及数据处理技术领域,尤其涉及一种认证方法、装置、设备及介质。


背景技术:

2.linux系统因为开源、稳定、高性能的特点,在服务器操作系统领域占用很高的市场份额。然而数量庞大的用户群体由于各种原因导致系统运维水平千差万别,水平参差不齐,非常多的linux用户为了运维的便利把服务器直接开放到公网上,这相当于把信息系统的根基直接暴露在各种黑产、灰产的攻击风险之下。因此,有必要提升linux系统在应用场景下的系统登录环节的安全性。
3.现有技术中,使用传统的静态口令进行登录,然而现有技术中,为了便于记忆,静态密码多为有规律特征的符号,因此易被猜测和破解,并且黑客可以直接从网络或者电话线上拦截静态密码,如果是非加密方式进行传输,静态口令可以轻易被获取,并且linux系统内部工作人员可通过合法授权取得用户密码而非法使用。


技术实现要素:

4.本发明提供了一种认证方法、装置、设备及介质,用以解决现有技术中登录系统时存在的安全性问题。
5.第一方面,本发明实施例提供了一种认证方法,所述方法包括:
6.若接收到共享密钥的发送指令,则根据所述发送指令中携带的目标账户,将共享密钥发送给所述目标账户;
7.接收所述目标账户发送的登录指令,根据接收所述登录指令的第一时间、目标账户以及所述共享密钥,生成第一动态口令;
8.若所述第一动态口令与所述登录指令携带的第二动态口令匹配,则确定所述目标账户通过认证。
9.第二方面,本发明实施例提供了一种认证方法,所述方法包括:
10.接收共享密钥;
11.接收动态口令生成指令,根据预先保存的目标账户、所述共享密钥以及接收到所述动态口令生成指令时的第二时间,生成第二动态口令;
12.发送携带所述目标账户及所述第二动态口令的登录指令。
13.第三方面,本发明实施例提供了一种认证装置,所述装置包括:
14.发送模块,用于若接收到共享密钥的发送指令,则根据所述发送指令中携带的目标账户,将共享密钥发送给所述目标账户;
15.生成模块,用于接收所述目标账户发送的登录指令,根据接收所述登录指令的第一时间、目标账户以及所述共享密钥,生成第一动态口令;
16.确定模块,用于若所述第一动态口令与所述登录指令携带的第二动态口令匹配,则确定所述目标账户通过认证。
17.第四方面,本发明实施例提供了一种认证装置,所述装置包括:
18.接收模块,用于接收共享密钥;
19.处理模块,用于接收动态口令生成指令,根据预先保存的目标账户、所述共享密钥以及接收到所述动态口令生成指令时的第二时间,生成第二动态口令;
20.发送模块,用于发送携带所述目标账户及所述第二动态口令的登录指令。
21.第五方面,本发明实施例提供了一种电子设备,所述电子设备至少包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序时执行上述任一所述认证的步骤。
22.第六方面,本发明实施例提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时执行上述任一所述认证的步骤。
23.由于在本发明实施例中,若接收到共享密钥的发送指令,则将共享密钥发送至发送指令携带的目标账户,并且当接收到目标账户发送的登录指令,则根据时间、目标账户以及共享密钥生成第一动态口令,如果第一动态口令与登录指令携带的第二动态口令相匹配,则确定目标账户通过认证,由于在认证时,若时间、目标账户以及共享密钥任一存在不同,则生成的动态口令不同,因此可以有效的提升linux系统在应用场景下的系统登录环节的安全性。
附图说明
24.为了更清楚地说明本技术的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
25.图1为本发明实施例提供了一种认证方法过程示意图;
26.图2为本发明实施例提供了一种认证方法过程示意图;
27.图3为本发明实施例提供的一种认证装置结构示意图;
28.图4为本发明实施例提供的一种认证装置结构示意图;
29.图5为本发明实施例提供的一种电子设备。
具体实施方式
30.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本技术保护的范围。
31.为了提高认证时的安全性,本发明实施例提供了一种认证方法、装置、设备及介质。
32.实施例1:
33.图1为本发明实施例提供了一种认证方法过程示意图,该过程包括以下步骤:
34.s101:若接收到共享密钥的发送指令,则根据所述发送指令中携带的目标账户,将共享密钥发送给所述目标账户。
35.本发明实施例提供的认证方法应用于电子设备,该电子设备可以是pc或服务器等
智能设备。
36.为了进行认证,本发明实施例中基于共享密钥进行加密,因此如果接收到共享密钥的发送指令,并且为了准确地发送共享密钥,在发送指令中携带有目标账户,电子设备将共享密钥发送至该目标账户。
37.并且在本发明实施例中,将共享密钥发送给目标账户可以通过网络或其他方式进行发送,具体的如何进行发送在此不做限制。
38.s102:接收所述目标账户发送的登录指令,根据接收所述登录指令的第一时间、目标账户以及所述共享密钥,生成第一动态口令。
39.为了进行认证,当接收到目标账户发送的登录指令后,电子设备获取接收到该登录指令时的第一时间、以及发送登录指令的目标账户,并且根据第一时间、目标账户以及保存的共享密钥,生成第一动态口令。
40.s103:若所述第一动态口令与所述登录指令携带的第二动态口令匹配,则确定所述目标账户通过认证。
41.为了进行认证,登录指令中携带有第二动态口令,其中,第二动态口令是基于与第一动态口令生成采用的算法相同的算法生成的,因此基于生成的第一动态口令与登录指令中携带的第二动态口令进行判断时,判断第一动态口令与第二动态口令是否匹配,若匹配的话,则确定所述目标账户通过认证。其中第一动态口令与第二动态口令是否相匹配,可以是是否相一致,因为第一动态口令和第二动态口令在计算时分别根据第一时间以及第二时间计算,第一时间是接收到登录指令的时间,第二时间是接收到动态口令生成指令的时间,由于在本发明实施例中,客户端是在接收到动态口令生成指令后,生成第二动态口令,并发送携带第二动态口令的登录指令至电子设备,因此如果在不考虑网络延迟的情况下,一般认为第一时间与第二时间是一致的,如果目标账户和共享密钥不存在问题,则认为生成的第一动态口令与第二动态口令是匹配的,如果目标账户和共享密钥存在问题,则第一动态口令与第二动态口令不匹配。
42.由于在本发明实施例中,若接收到共享密钥的发送指令,则将共享密钥发送至发送指令携带的目标账户,并且当接收到目标账户发送的登录指令,则根据时间、目标账户以及共享密钥生成第一动态口令,如果第一动态口令与登录指令携带的第二动态口令相匹配,则确定目标账户通过认证,由于在认证时,若时间、目标账户以及共享密钥任一存在不同,则生成的动态口令不同,因此可以有效的提升linux系统在应用场景下的系统登录环节的安全性。
43.实施例2:
44.为了进行认证,在上述实施例的基础上,在本发明实施例中,所述根据所述发送指令中携带的目标账户,将共享密钥发送给所述目标账户之前,所述方法包括:
45.接收共享密码生成指令,生成共享密钥并保存。
46.由于在本发明实施例中,基于共享密钥生成第一动态口令及第二动态口令,因此为了保证认证的安全性,在接收到针对目标账户的共享密钥生成指令后,生成共享密钥并进行保存。若再接收到针对目标账户的共享密钥生成指令,则重新针对该目标账户随机生成共享密钥,并对针对目标账户保存的共享密钥进行更新。
47.为了进行认证,在上述各实施例的基础上,在本发明实施例中,所述根据接收所述
登录指令的第一时间、目标账户以及所述共享密钥,生成第一动态口令包括:
48.基于杂凑sm3摘要算法,根据接收所述登录指令的第一时间、目标账户以及所述共享密钥,生成第一动态口令。
49.在本发明实施例,第一动态口令是基于sm3摘要算法生成的,并且生成第一动态口令,根据接收登录指令的第一时间、目标账户以及共享密钥生成,目标账户若不相同,则生成的第一动态口令一定不相同,共享密钥若不相同,则生成的第一动态口令也一定不相同,然而基于sm3摘要算法进行动态口令生成时,时间存在细微的误差,生成的口令可能相同,因此若接收到登录指令的第一时间与接收到动态口令生成指令的第二时间存在细微的误差,则并不影响生成的第一动态口令,其中第一时间与第二时间存在细微的误差指的是第一和第二的时间间隔在一定的误差范围内,并不是指任意两个时间都可能会生成相同的第一动态口令,因此在本发明实施例中允许接收到登录指令的第一时间与接收到动态口令生成指令的第二时间存在一定的误差。
50.为了准确地进行认证,在上述各实施例的基础上,在本发明实施例中,所述接收所述目标账户发送的登录指令之后,所述根据接收所述登录指令的第一时间、目标账户以及所述共享密钥,生成第一动态口令之前,所述方法包括:
51.根据预先保存的具有分享所述共享密钥权限的账户的信息,判断所述目标账户是否具有分享所述共享密钥的权限;
52.若是,则执行后续操作。
53.由于并不是每个目标账户都具有分享共享密钥权限的账户的信息,因此在本发明实施例中,预先保存有具有分享共享密钥权限的账户的信息,并且所有具有分享共享密钥权限的账户也就是具有登录权限的账户,在接收到携带目标账户的登录指令之后,判断该目标账户是否为具有分享共享密钥权限的账户,若是的话,才可以进行后续操作。若否,则认证失败。
54.并且本发明实施例中,是基于linux系统登录进行认证,因此通过电子设备中一次性(otp)动态认证模块进行第一动态口令的生成以及共享密钥的生成,其中otp动态认证模块是按照pam标准开发的,可以直接嵌入linux登录系统认证过程中,代替linux系统自带的静态口令认证模块,otp动态认证模块自身有密钥管理功能。
55.实施例3:
56.图2为本发明实施例提供了一种认证方法过程示意图,该过程包括以下步骤:
57.s201:接收共享密钥。
58.本发明实施例提供的认证方法应用于客户端。
59.为了进行认证,客户端会基于共享密钥进行加密,并基于共享密钥产生第二动态口令,因此在本发明实施例中客户端会接收电子设备发送的共享密钥,并且在接收到共享密钥之后进行保存。并基于接收到的共享密钥,生成第二动态口令实现认证。
60.s202:接收动态口令生成指令,根据预先保存的目标账户、所述共享密钥以及接收到所述动态口令生成指令时的第二时间,生成第二动态口令。
61.为了进行认证,客户端会基于接收到的动态口令生成指令生成第二动态口令,便于进行认证,在本发明实施例中当接收到动态口令生成指令后,获取接收到动态口令生成指令的第二时间、客户端预先保存有目标账户以及电子设备发送的该目标账户的共享密
钥,根据第二时间、目标账户以及共享密钥,生成第二动态口令。
62.s203:发送携带所述目标账户及所述第二动态口令的登录指令。
63.在生成第二动态口令之后,客户端向电子设备发送携带目标账户及第二动态口令的登录指令。
64.在本发明实施例中,为了进行认证,该客户端可以是otp认证动态应用程序(app),并且otp认证动态app内置与otp认证模块同样的算法,可以根据第二时间、目标账户以及共享密钥准确地生成第二动态口令,也就是说otp认证动态app同样具有密钥管理功能。
65.为了准确地进行认证,在上述各实施例的基础上,在本发明实施例中,所述根据预先保存的目标账户、接收到的所述共享密钥以及接收到所述动态口令生成指令时的第二时间,生成第二动态口令包括:
66.基于杂凑sm3摘要算法,根据预先保存的目标账户、所述共享密钥以及接收到所述动态口令生成指令时的第二时间,生成第二动态口令。
67.在本发明实施例,第二动态口令是基于sm3摘要算法生成的,并且生成第二动态口令,根据接收登录指令的第二时间、目标账户以及共享密钥生成,目标账户若不相同,则生成的第二动态口令一定不相同,共享密钥若不相同,则生成的第二动态口令也一定不相同,然而sm3摘要算法中时间存在细微的误差,生成的口令可能相同,因此若接收到动态口令生成指令的第二时间与接收到的登录指令的第一时间存在细微的误差,则并不影响生成的第二动态口令,其中第二时间存在细微的误差指的是时间间隔在一定的误差范围内,并不是指任意两个时间都可能会生成相同的第二动态口令,因此在本发明实施例中允许接收到动态口令生成指令的第二时间与接收到登录指令的第一时间存在一定的误差。
68.实施例4:
69.图3为本发明实施例提供的一种认证装置结构示意图,该装置包括:
70.发送模块301,用于若接收到共享密钥的发送指令,则根据所述发送指令中携带的目标账户,将共享密钥发送给所述目标账户;
71.生成模块302,用于接收所述目标账户发送的登录指令,根据接收所述登录指令的第一时间、目标账户以及所述共享密钥,生成第一动态口令;
72.确定模块303,用于若所述第一动态口令与所述登录指令携带的第二动态口令匹配,则确定所述目标账户通过认证。
73.在一种可能的实施方式中,所述装置还包括:处理模块304,用于接收共享密码生成指令,生成共享密码并保存。
74.在一种可能的实施方式中,所述生成模块302,具体用于基于杂凑sm3摘要算法,根据接收所述登录指令的第一时间、目标账户以及所述共享密钥,生成第一动态口令。
75.在一种可能的实施方式中,所述装置还包括:判断模块305,用于根据预先保存的具有分享所述共享密钥权限的账户的信息,判断所述目标账户是否具有分享所述共享密钥的权限;若是,则执行后续操作。
76.图4为本发明实施例提供的一种认证装置结构示意图,该装置包括:
77.接收模块401,用于接收共享密钥;
78.处理模块402,用于接收动态口令生成指令,根据预先保存的目标账户、所述共享密钥以及接收到所述动态口令生成指令时的第二时间,生成第二动态口令;
79.发送模块403,用于发送携带所述目标账户及所述第二动态口令的登录指令。
80.在一种可能的实施方式中,所述处理模块402,具体用于基于杂凑sm3摘要算法,根据预先保存的目标账户、所述共享密钥以及接收到所述动态口令生成指令时的第二时间,生成第二动态口令。
81.实施例5:
82.在上述各实施例的基础上,本发明实施例还提供了一种电子设备,如图5所示,包括:处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信。
83.所述存储器503中存储有计算机程序,当所述程序被所述处理器501执行时,使得所述处理器501执行如下步骤:
84.若接收到共享密钥的发送指令,则根据所述发送指令中携带的目标账户,将共享密钥发送给所述目标账户;
85.接收所述目标账户发送的登录指令,根据接收所述登录指令的第一时间、目标账户以及所述共享密钥,生成第一动态口令;
86.若所述第一动态口令与所述登录指令携带的第二动态口令匹配,则确定所述目标账户通过认证。
87.在一种可能的实施方式中,所述根据所述发送指令中携带的目标账户,将共享密钥发送给所述目标账户之前,所述方法包括:
88.接收共享密码生成指令,生成共享密码并保存。
89.在一种可能的实施方式中,所述根据接收所述登录指令的第一时间、目标账户以及所述共享密钥,生成第一动态口令包括:
90.基于杂凑sm3摘要算法,根据接收所述登录指令的第一时间、目标账户以及所述共享密钥,生成第一动态口令。
91.在一种可能的实施方式中,所述接收所述目标账户发送的登录指令之后,所述根据接收所述登录指令的第一时间、目标账户以及所述共享密钥,生成第一动态口令之前,所述方法包括:
92.根据预先保存的具有分享所述共享密钥权限的账户的信息,判断所述目标账户是否具有分享所述共享密钥的权限;
93.若是,则执行后续操作。
94.在上述各实施例的基础上,本发明实施例还提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信。
95.接收共享密钥;
96.接收动态口令生成指令,根据预先保存的目标账户、所述共享密钥以及接收到所述动态口令生成指令时的第二时间,生成第二动态口令;
97.发送携带所述目标账户及所述第二动态口令的登录指令。
98.在一种可能的实施方式中,所述根据预先保存的目标账户、接收到的所述共享密钥以及接收到所述动态口令生成指令时的第二时间,生成第二动态口令包括:
99.基于杂凑sm3摘要算法,根据预先保存的目标账户、所述共享密钥以及接收到所述
动态口令生成指令时的第二时间,生成第二动态口令。
100.由于上述电子设备解决问题的原理与通信方法相似,因此上述电子设备的实施可以参见方法的实施,重复之处不再赘述。
101.上述电子设备提到的通信总线可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
102.通信接口502用于上述电子设备与其他设备之间的通信。
103.存储器可以包括随机存取存储器(random access memory,ram),也可以包括非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
104.上述处理器可以是通用处理器,包括中央处理器、网络处理器(network processor,np)等;还可以是数字指令处理器(digital signal processing,dsp)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
105.实施例6:
106.在上述各实施例的基础上,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有可由处理器执行的计算机程序,当所述程序在所述处理器上运行时,使得所述处理器执行时实现如下步骤:
107.若接收到共享密钥的发送指令,则根据所述发送指令中携带的目标账户,将共享密钥发送给所述目标账户;
108.接收所述目标账户发送的登录指令,根据接收所述登录指令的第一时间、目标账户以及所述共享密钥,生成第一动态口令;
109.若所述第一动态口令与所述登录指令携带的第二动态口令匹配,则确定所述目标账户通过认证。
110.在一种可能的实施方式中,所述根据所述发送指令中携带的目标账户,将共享密钥发送给所述目标账户之前,所述方法包括:
111.接收共享密码生成指令,生成共享密码并保存。
112.在一种可能的实施方式中,所述根据接收所述登录指令的第一时间、目标账户以及所述共享密钥,生成第一动态口令包括:
113.基于杂凑sm3摘要算法,根据接收所述登录指令的第一时间、目标账户以及所述共享密钥,生成第一动态口令。
114.在一种可能的实施方式中,所述接收所述目标账户发送的登录指令之后,所述根据接收所述登录指令的第一时间、目标账户以及所述共享密钥,生成第一动态口令之前,所述方法包括:
115.根据预先保存的具有分享所述共享密钥权限的账户的信息,判断所述目标账户是否具有分享所述共享密钥的权限;
116.若是,则执行后续操作。
117.在上述各实施例的基础上,本发明实施例还提供了一种计算机可读存储介质,所
述计算机可读存储介质内存储有可由处理器执行的计算机程序,当所述程序在所述处理器上运行时,使得所述处理器执行时实现如下步骤:
118.接收共享密钥;
119.接收动态口令生成指令,根据预先保存的目标账户、所述共享密钥以及接收到所述动态口令生成指令时的第二时间,生成第二动态口令;
120.发送携带所述目标账户及所述第二动态口令的登录指令。
121.在一种可能的实施方式中,所述根据预先保存的目标账户、接收到的所述共享密钥以及接收到所述动态口令生成指令时的第二时间,生成第二动态口令包括:
122.基于杂凑sm3摘要算法,根据预先保存的目标账户、所述共享密钥以及接收到所述动态口令生成指令时的第二时间,生成第二动态口令。
123.由于上述提供的计算机可读取介质解决问题的原理与音视频数据分享方法相似,因此处理器执行上述计算机可读取介质中的计算机程序后,实现的步骤可以参见上述其他实施例,重复之处不再赘述。
124.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
125.本发明是参照根据本发明的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
126.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
127.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
128.显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1