掌桥专利:专业的专利平台
掌桥专利
首页

一种密码识别方法、装置、设备及存储介质

文献发布时间:2024-01-17 01:14:25


一种密码识别方法、装置、设备及存储介质

技术领域

本申请涉及数据处理技术领域,尤其涉及一种密码识别方法、装置、设备及存储介质。

背景技术

“输入密码”在日常生活中非常常见,各种软件、手机APP、邮箱、服务器等都要输入密码进入,以保证用户的隐私性以及账号的安全性。由于密码是安全的最后一道屏障,因此密码安全至关重要。人们不断研究密码的各种加密手段,但是保证密码的安全的最直接、最简单的方式还是设置强密码。用户在注册时,软件系统要有能快速检测是否是弱密码的能力。常规的密码检测方法还是匹配是否包括大写字母、小写字母、数字和特殊字符,以及密码长度是否符合要求,但是即使符合要求也会存在容易被破解的情况。例如Admin@12345,包括大写字母、小写字母、数字和特殊符合,似乎满足注册密码要求,但是其实很容易被破解。针对这种若密码,如果使用弱密码字典库进行逐个匹配,不仅校验时间长,而且影响用户体验。

当前在识别弱密码时,是建立一个庞大的弱密码库,然后对密码进行分段匹配以达到识别弱密码的目的,但是该方法不仅效率低而且准确性低。

因此,如何实现对弱密码的高效且准确地识别是值得考虑的技术问题之一。

发明内容

有鉴于此,本申请提供一种密码识别方法、装置、设备及存储介质,用以实现对弱密码的高效且准确地识别。

具体地,本申请是通过如下技术方案实现的:

根据本申请的第一方面,提供一种密码识别方法,包括:

在确认待识别密码满足设定密码格式时,对所述待识别密码进行编码处理,得到密码编码数据;

对所述密码编码数据进行聚类分析处理,以确定所述密码编码数据属于每个聚类中心的概率;

若所述密码编码数据属于弱密码对应的聚类中心的概率超过设定概率阈值时,则确认所述待识别密码为弱密码。

根据本申请的第二方面,提供一种密码识别装置,包括:

编码模块,用于在确认待识别密码满足设定密码格式时,对所述待识别密码进行编码处理,得到密码编码数据;

对所述密码编码数据进行聚类分析处理,以确定所述密码编码数据属于每个聚类中心的概率;

若所述密码编码数据属于弱密码对应的聚类中心的概率超过设定概率阈值时,则确认所述待识别密码为弱密码。

根据本申请的第三方面,提供一种电子设备,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的计算机程序,处理器被计算机程序促使执行本申请实施例第一方面所提供的方法。

根据本申请的第四方面,提供一种机器可读存储介质,机器可读存储介质存储有计算机程序,在被处理器调用和执行时,计算机程序促使处理器执行本申请实施例第一方面所提供的方法。

本申请实施例的有益效果:

本申请实施例提供的密码识别方法、装置、设备及存储介质,在确认待识别密码满足设定密码格式时,对所述待识别密码进行编码处理,得到密码编码数据;对所述密码编码数据进行聚类分析处理,以确定所述密码编码数据属于每个聚类中心的概率;若所述密码编码数据属于弱密码对应的聚类中心的概率超过设定概率阈值时,则确认所述待识别密码为弱密码。由此一来,由于不需要对密码进行分段识别处理,这样不仅实现了快速识别出弱密码的目的,而且也提高了识别结果的准确度,提高了密码识别效率。

附图说明

图1是本申请实施例提供的一种密码识别方法的流程示意图;

图2是本申请实施例提供的一种密码识别装置的结构示意图;

图3是本申请实施例提供的一种实施密码识别方法的电子设备的硬件结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相对应的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

下面对本申请提供的密码识别方法进行详细地说明。

参见图1,图1是本申请提供的一种密码识别方法的流程图,该方法可以应用于需要进行密码识别的电子设备中,电子识别在实施该方法时,可包括如下所示步骤:

S101、在确认待识别密码满足设定密码格式时,对所述待识别密码进行编码处理,得到密码编码数据。

本步骤中,为了识别出弱密码,本申请会先对待识别密码的密码格式进行识别,例如,上述设定密码格式一般为包括大写字母、小写字母、数字和特殊字符等格式。因此,在用户键入待识别密码后,可以对识别待识别密码是否包括大写字母、小写字母、数字和特殊字符,当包括时,则确认待识别密码符合设定密码格式。在此基础上,再对满足设定密码格式的待识别密码进行识别,以识别是否为弱密码。具体来说,可以使用正则表达式对待识别密码进行识别处理,以确认待识别密码是否符合设定密码格式。

基于此,由于本申请是利用密码检测模型对密码进行识别处理,因此,为了能够对待识别密码进行识别,需要先对待识别密码进行编码处理,在得到密码编码数据后,再基于该密码编码数据进行识别处理。

在对待识别密码进行编码处理时,由于密码是由字母、数字、特殊字符组成,故需要对待识别密码进行数字编码,以将待识别密码转换成设定长度范围内的密码编码数据,而密码编码数据中每一位用数字表示,由此就可以得到待识别密码的密码编码数据。例如,上述设定长度范围可以为8-10位,密码中的数字0~9分别用100~109表示,密码中的大写字母A~Z用201~226表示,密码中的小写字母a~z用301~326表示,特殊字符“!”用401表示,特殊字符“@”用402表示,其他特殊字符以此类推,具体可以根据实际情况进行设定。基于上述密码编码方式就可以得到待识别密码的密码编码数据。

此外,为了保证进入密码检测模型的密码编码数据的长度符合模型所要求的输入长度,则可以对长度未达标的密码编码数据进行填充处理,如填充000等等。以最大密码长度为10进行说明,待识别密码为Abcd@1234为例,则使用上述编码方法得到的密码编码数据用向量可以表示成<2,0,1,3,0,2,3,0,3,3,0,4,4,0,2,1,0,1,1,0,2,1,0,3,1,0,4,0,0,0>。

可选地,上述编码方法仅是一种示例,并不构成对本申请所采用的编码方法的限定,实际应用中,也可以采用其他编码方法,具体可以根据实际情况而定。

S102、对所述密码编码数据进行聚类分析处理,以确定所述密码编码数据属于每个聚类中心的概率。

本步骤中,上述聚类分析处理可以为:将待识别密码的密码编码数据输入到聚类分析对应的密码检测模型中,该密码检测模块可以由弱密码的聚类中心对应的检测模型和非弱密码的聚类中心对应的检测模型。然后就可以将密码编码数据分别输入到该密码检测模型中,从而该密码检测模型就可以计算出密码编码数据分别属于弱密码的聚类中心的概率和属于非弱密码的聚类中心的概率。

可选地,另一种实施例中,可以按照下述过程执行步骤S102:将密码编码数据输入到各聚类中心的检测模型中,分别得到所述密码编码数据属于每个聚类中心的概率。

具体地,该密码检测模型可以包括各类弱密码对应聚类中心的检测模型,这样一来,就可以将密码编码数据分别输入到各聚类中心的检测模型,从而各聚类中心的检测模型就可以分别输出密码编码数据属于各个聚类中心的概率,即,待识别密码属于各类弱密码的概率。可选地,该密码检测模型还可以包括非弱密码分类的聚类中心对应的检测模型,这样,还可以得到密码编码数据属于非弱密码的聚类中心的概率,进而可以识别出待识别密码为非弱密码的情形。

S103、若所述密码编码数据属于弱密码对应的聚类中心的概率超过设定概率阈值时,则确认所述待识别密码为弱密码。

本步骤中,由于每个聚类中心对应一个密码分类,因此,在确定出密码编码数据属于各个聚类中心的概率后,就可以识别出密码编码数据属于弱密码对应的聚类中心的概率,然后当该概率超过设定概率阈值时,就可以确认待识别密码属于弱密码。

可选地,当密码检测模型包括各类弱密码的聚类中心的检测模型时,在确定出超出设定概率阈值的概率后,不仅可以识别出该待识别密码属于弱密码,还可以识别出该概率对应的聚类中心所属的弱密码分类。此外,当超过设定概率阈值的概率存在多个时,则可以将选取最大的概率对应的弱密码分类为待识别密码的弱密码类型,或者,将上述多个概率及对应的弱密码分类进行输出显示,以由运维人员来确定待识别密码所属的弱密码分类。

通过实施本申请提供的密码识别方法,在确认待识别密码满足设定密码格式时,对所述待识别密码进行编码处理,得到密码编码数据;对所述密码编码数据进行聚类分析处理,以确定所述密码编码数据属于每个聚类中心的概率;若所述密码编码数据属于弱密码对应的聚类中心的概率超过设定概率阈值时,则确认所述待识别密码为弱密码。由此一来,由于不需要对密码进行分段识别处理,这样不仅实现了快速识别出弱密码的目的,而且也提高了识别结果的准确度,提高了密码识别效率。

可选地,基于上述任一实施例,本实施例中可以按照下述方法获得每个聚类中心的检测模型:对弱密码特征库中的弱密码样本进行编码处理,得到弱密码编码样本;利用弱密码编码样本对密度聚类检测模型进行训练处理,得到各聚类中心的检测模型。

具体地,上述密码检测模型可以为密码聚类检测模型,而每个密码聚类检测模型包括各聚类中心的检测模型,每个聚类中心的检测模型可以用于检测一类弱密码,或者检测非弱密码。在此基础上,可以选择大量的弱密码样本构建弱密码特征库,为了能够适应密码聚类检测模型的输入要求,可以对弱密码样本进行编码处理,得到弱密码编码样本;然后利用弱密码编码样本对密码聚类检测模型进行训练,直至迭代次数达到设定次数,或者密码聚类检测模型的损失函数的误差在设定误差范围内,就可以得到每个聚类中心的检测模型。

进一步地,可以按照下述方法执行利用弱密码编码样本对密度聚类检测模型进行训练处理,得到各聚类中心的检测模型的步骤:基于弱密码编码样本确定各聚类中心;针对每个聚类中心,利用属于该聚类中心的弱密码编码样本创建该聚类中心的簇,得到该聚类中心的检测模型。

具体地,弱密码特征库中可以包括各种类型的弱密码样本,然后基于弱密码样本的弱密码编码样本可以分别训练得到各个聚类中心的检测模型。在得到每个分类的聚类中心的检测模型时,可以利用密度聚类算法对该分类对应的弱密码编码样本进行处理,从而创建得到该聚类中心的簇,所得到的簇记为该聚类中心的检测模型。

具体来说,在密码聚类算法中,包括ε邻域、邻域密度阈值、核心对象、直接密度可达、密度可达、密度相连、簇和噪声等特征,而每个特征的含义如下所示:

ε邻域:对象O,以O为中心,ε为半径的空间,参数ε>0,是用户指定每个对象的邻域半径值。

邻域密度阈值(MinPts):对象的ε邻域的对象数量阈值。

核心对象:如果对象O的ε领域的对象数量至少包含MinPts个对象,则该对象是核心对象。

直接密度可达:如果对象p在核心对象q的ε邻域内,则p是从q直接密度可达的。

密度可达:在密度的聚类算法中,p是从核心对象q密度可达的,如果存在对象链,使得p

密度相连:如果存在对象q∈D,使得对象p

簇:一个基于密度的簇是最大的密度相连对象的集合。

噪声:不包含在任何簇中的对象称为噪声。

在此基础上,在确定每个分类的聚类中心时,可以以该聚类中心对应的每个弱密码编码样本为中心,然后以ε邻域为半径来确定属于该弱密码样本的ε邻域范围内的弱密码编码样本的数量,将各个弱密码编码样本确定出的数量进行比较,以确定出数量最多的弱密码编码样本确定为该分类下的聚类中心。

在此基础上,基于该聚类中心和上述密度可达、直接密码可达或密码相连的原则,创建该聚类中心对应的簇,并去除该聚类中心的簇中的噪声,从而得到该聚类中心的检测模型,由此提升了得到的聚类中心的检测模型进行密码识别时识别结果的准确度。

可选地,另一种实施例中,还可以按照下述过程执行基于弱密码编码样本确定各聚类中心的步骤:确定每个检测对象的设定邻域内所包含的弱密码编码样本的密度,上述检测对象属于弱密码编码样本中的至少一个;基于各个检测对象确定的密度,筛选出大于设定密度阈值的密度对应的目标检测对象;将密度最大的目标检测对象确定为聚类中心。

具体来说,针对每个分类的弱密码,可以定义一个数据集,该数据集包括所有参与聚类的弱密码编码样本。为了描述方便,可以将该数据集中的每个弱密码编码样本作为一个检测对象。然后预先定义邻域半径和设定密度阈值。然后统计落入每个检测对象的邻域半径内的其他检测对象的数量,即密度。这样就可以得到各个检测对象下的密度,从而可以筛选出密度大于设定密度阈值的目标检测对象,进而将密度最大的目标检测对象确定为该分类的聚类中心。也就是说,只有满足密度大于设定密度阈值且属于该领域内密度最大的检测对象,才可以为该分类的聚类中心。在此基础上,创建一个以满足上述条件的检测对象为聚类中心的新簇,该簇以其邻域集的核心对象为中心,不断把与其直接密度可达的检测对象吸收进来,经过反复的迭代处理,直到已有的簇不再增长且没有新族出现时为止。在遍历完成后若存在不属于任何簇的检测对象,则该检测对象即为噪声,进行去除处理。由此,提升了密码检测的准确地及高效性。

此外,本实施例提供的密码特征库可以动态进行更新,当有新类型的弱密码时,则可以构造或者爬取该新类型的弱密码样本,然后更新密码特征库;同时,利用该更新后的密码特征库按照上述提供的训练方法训练得到新类型对应的聚类中心的检测模型。由此,可以保证弱密码的及时识别,在确认待识别密码为弱密码时,提示使用者及时修改,进而保证了使用者的相关信息的安全性。

基于同一发明构思,本申请还提供了与上述密码识别方法对应的密码识别装置。该密码识别装置的实施具体可以参考上述对密码识别方法的描述,此处不再一一论述。

参见图2,图2是本申请一示例性实施例提供的一种密码识别装置,包括:

编码模块201,用于在确认待识别密码满足设定密码格式时,对所述待识别密码进行编码处理,得到密码编码数据;

分析模块202,用于对所述密码编码数据进行聚类分析处理,以确定所述密码编码数据属于每个聚类中心的概率;

识别模块203,用于若所述密码编码数据属于弱密码对应的聚类中心的概率超过设定概率阈值时,则确认所述待识别密码为弱密码。

本实施例提供的上述密码识别装置中,在确认待识别密码满足设定密码格式时,对所述待识别密码进行编码处理,得到密码编码数据;对所述密码编码数据进行聚类分析处理,以确定所述密码编码数据属于每个聚类中心的概率;若所述密码编码数据属于弱密码对应的聚类中心的概率超过设定概率阈值时,则确认所述待识别密码为弱密码。由此一来,由于不需要对密码进行分段识别处理,这样不仅实现了快速识别出弱密码的目的,而且也提高了识别结果的准确度,提高了密码识别效率。

可选地,上述分析模块202,具体用于将所述密码编码数据输入到各聚类中心的检测模型中,分别得到所述密码编码数据属于每个聚类中心的概率。

可选地,基于上述实施例,本实施例提供的密码识别装置,还包括:

模型训练模块(图中未示出),用于对弱密码特征库中的弱密码样本进行编码处理,得到弱密码编码样本;利用弱密码编码样本对密度聚类检测模型进行训练处理,得到各聚类中心的检测模型。

进一步地,上述模型训练模块(图中未示出),具体用于基于弱密码编码样本确定各聚类中心;针对每个聚类中心,利用属于该聚类中心的弱密码编码样本创建该聚类中心的簇,得到该聚类中心的检测模型。

进一步地,上述模型训练模块(图中未示出),具体用于确定每个检测对象的设定邻域内所包含的弱密码编码样本的密度,所述检测对象属于弱密码编码样本中的至少一个;基于各个检测对象确定的密度,筛选出大于设定密度阈值的密度对应的目标检测对象;将密度最大的目标检测对象确定为聚类中心。

基于同一发明构思,本申请实施例提供了一种电子设备,该电子设备可以为任何场景中需要进行身份识别的设备。如图3所示,上述电子设备包括处理器301和机器可读存储介质302,机器可读存储介质302存储有能够被处理器301执行的计算机程序,处理器301被计算机程序促使执行本申请任一实施例所提供的密码识别方法。此外,该电子设备还包括通信接口303和通信总线304,其中,处理器301,通信接口303,机器可读存储介质302通过通信总线304完成相互间的通信。

上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

上述机器可读存储介质302可以为存储器,该存储器可以包括随机存取存储器(Random Access Memory,RAM)、DDR SRAM(Double Data Rate Synchronous DynamicRandom Access Memory,双倍速率同步动态随机存储器),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

对于电子设备以及机器可读存储介质实施例而言,由于其涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

上述装置中各个单元/模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元/模块可以是或者也可以不是物理上分开的,作为单元/模块显示的部件可以是或者也可以不是物理单元/模块,即可以位于一个地方,或者也可以分布到多个网络单元/模块上。可以根据实际的需要选择其中的部分或者全部单元/模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

相关技术
  • 一种漆面识别方法、装置、存储介质及电子设备
  • 一种氨氮的识别方法、装置、存储介质及设备
  • 一种总磷的识别方法、装置、存储介质及设备
  • 一种溶解氧的识别方法、装置、存储介质及设备
  • 一种氨氮的识别方法、装置、存储介质及设备
  • 密码识别方法、装置、计算机设备和存储介质
  • 账号密码重置风险识别方法、装置、设备及存储介质
技术分类

06120116074744