发明内容
本发明所要解决的技术问题是,如何对用户的登陆密码进行检测,从而在判定登陆密码为简单密码时,对用户进行及时提示,以避免简单密码对用户造成的安全隐患。
为此目的,本发明提出了一种密码检测方法,包括:
通过旁路侦听获取登陆请求包,从所述登陆请求包中识别登陆操作的密码;
判断所述密码是否被加密;
若所述密码被加密,则根据第一数据库对所述密码进行匹配,以判断所述密码是否为简单密码;
若所述密码未被加密,则根据第二数据库对所述密码进行匹配,以判断所述密码是否为简单密码。
优选地,在所述判断所述密码是否被加密之前还包括:
判断是否通过所述密码成功登陆,
其中,若通过所述密码成功登陆,则判断所述密码是否被加密。
优选地,所述判断所述密码是否被加密包括:
通过正则表达式判断所述密码是否被加密。
优选地,若所述密码被加密,则判断所述密码是否为简单密码包括:
从所述第一数据库中提取预设加密格式和第一字符关系;
判断所述密码的格式与所述预设加密格式是否相符,以及所述密码中字符的关联关系与所述第一字符关系是否相符;
若所述密码的格式与所述预设加密格式相符,且所述密码中字符的关联关系与所述第一字符关系相符,则判定所述密码为简单密码。
优选地,若所述密码未被加密,则判断所述密码是否为简单密码包括:
从所述第二数据库中提取预设密码格式和第二字符关系;
判断所述密码的格式与所述预设密码格式是否相符,以及所述密码中字符的关联关系与所述第二字符关系是否相符;
若所述密码的格式与所述预设密码格式相符,且所述密码中字符的关联关系与所述第二字符关系相符,则判定所述密码为简单密码。
优选地,还包括:
当判定所述密码为简单密码,则查询所述简单密码对应登陆请求包的发出终端,向所述终端发送提示信息。
本发明还提出了一种密码检测系统,包括:
获取单元,用于通过旁路侦听获取登陆请求包;
识别单元,用于从所述登陆请求包中识别登陆操作的密码;
加密判断单元,用于判断所述密码是否被加密;
简单密码判断单元,用于在判定所述密码被加密时,根据第一数据库对所述密码进行匹配,以判断所述密码是否为简单密码,在所述密码未被加密时,根据第二数据库对所述密码进行匹配,以判断所述密码是否为简单密码。
优选地,还包括:
登陆判断单元,用于判断是否通过所述密码成功登陆,
其中,所述加密判断单元在所述登陆判断单元判定通过所述密码成功登陆时,判断所述密码是否被加密。
优选地,所述加密判断单元用于通过正则表达式判断所述密码是否被加密。
优选地,若所述加密判断单元判定所述密码被加密,
则所述简单密码判断单元包括:
提取子单元,用于从所述第一数据库中提取预设加密格式和第一字符关系;
相符判断子单元,用于判断所述密码的格式与所述预设加密格式是否相符,以及所述密码中字符的关联关系与所述第一字符关系是否相符,若所述密码的格式与所述预设加密格式相符,且所述密码中字符的关联关系与所述第一字符关系相符,则判定所述密码为简单密码。
优选地,若所述加密判断单元判定所述密码未被加密,
则所述简单密码判断单元包括:
提取子单元,从所述第二数据库中提取预设密码格式和第二字符关系;
相符判断子单元,用于判断所述密码的格式与所述预设密码格式是否相符,以及所述密码中字符的关联关系与所述第二字符关系是否相符,若所述密码的格式与所述预设密码格式相符,且所述密码中字符的关联关系与所述第二字符关系相符,则判定所述密码为简单密码。
优选地,还包括:
提示单元,在所述简单密码判断单元判定所述密码为简单密码时,查询所述简单密码对应登陆请求包的发出终端,向所述终端发送提示信息。
根据上述技术方案,至少能够实现:
1、在用户进行登陆操作时检测用户的登陆密码是否为简单密码,并在判定为简单密码时对用户进行提示,由于第一数据库和第二数据库可以实时更新,以应对日益发展的密码破解技术,从而避免用户登陆密码的复杂程度难以应对现有的破解技术,降低密码被破解的概率,进而提高用户账户的安全性;
2、对被加密的密码进行验证,准确地判断被加密的密码是否为简单密码,从而降低被加密的密码遭到破解的概率,提高使用加密密码作为登录密码的账户的安全性;
3、可以根据密码的格式和密码中每个字符之间的关系,准确地判断密码是否为简单密码,进而提示用户修改密码,以避免密码被破解的概率。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,这里所使用的“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(PersonalCommunications Service,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(Personal Digital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global Positioning System,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile InternetDevice,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
本技术领域技术人员可以理解,这里所使用的服务器、云端、远端网络设备等概念,具有等同效果,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云。在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。本发明的实施例中,远端网络设备、终端设备与WNS服务器之间可通过任何通信方式实现通信,包括但不限于,基于3GPP、LTE、WIMAX的移动通信、基于TCP/IP、UDP协议的计算机网络通信以及基于蓝牙、红外传输标准的近距无线传输方式。
本领域技术人员应当理解,本发明所称的“应用”、“应用程序”、“应用软件”以及类似表述的概念,是业内技术人员所公知的相同概念,是指由一系列计算机指令及相关数据资源有机构造的适于电子运行的计算机软件。除非特别指定,这种命名本身不受编程语言种类、级别,也不受其赖以运行的操作系统或平台所限制。理所当然地,此类概念也不受任何形式的终端所限制。
如图1所示,根据本发明一个实施例的密码检测方法,包括:
S1,通过旁路侦听获取登陆请求包,从登陆请求包中识别登陆操作的密码;
优选地,可以通过旁路侦听从交换机获取请求包。
通过旁路侦听的方式,从网站接收交换机的数据,可以借助交换机获取接入该交换机的架设有已知特定网站的服务器即将收到的请求包,无论是通过本机侦听网卡而获取所述的请求包,还是由其他设备侦听网卡获取所述的请求包后汇聚到本机,均能对这些请求包进行集中的后续处理,确定出这些请求包中的登陆密码,然后针对这些登陆密码进行检测,提高了获取密码的全面性,从而提高了密码检测的全面性。
S2,判断密码是否被加密;
S3,若密码被加密,则根据第一数据库对密码进行匹配,以判断密码是否为简单密码;
第一数据库中包含多种加密方式加密后的密码对应的格式,例如通过MD5方式加密的密码,通过RSA方式加密的密码,通过RC5方式加密的密码,每种方式加密的密码都具有相应的格式,并且每种格式都包含一个或多个简单格式,当被加密密码与简单格式匹配,则可以判定该加密密码为简单密码。
其中,第一数据库中包含每种加密方式分别对应的格式,并且第一数据库可以实时更新,以获取最新的密码破解方式,进而更新简单格式的种类,以使得加密密码能够在最新的破解环境下被检测是否为简单密码,以保证检测结果能够应对最新的破解技术,进而提高用户账户的安全性。
S4,若密码未被加密,则根据第二数据库对密码进行匹配,以判断密码是否为简单密码。
第二数据库包括但不仅限于简单密码字典,其中包括简单密码的预设格式,当密码与预设格式相匹配,则判定其为简单密码。
第二数据库还可以包括简单密码库,其中包含简单密码的格式和字符之间的关联关系,当密码的格式预存的格式相符,和/或字符之间的关联关系与预存的字符之间的关联关系相符时,则判定其为简单密码。并且第二数据库可以实时更新,以获取最新的密码破解方式,进而更新预存的格式和预存的字符之间的关联关系,以使得密码能够在最新的破解环境下被检测是否为简单密码,以保证检测结果能够应对最新的破解技术,进而提高用户账户的安全性。
优选地,在判断密码是否被加密(S2)之前还包括:
判断是否通过密码成功登陆,
其中,若通过密码成功登陆,则判断密码是否被加密。
需要输入密码的登陆操作,操作结果主要分为登陆成功和登陆失败两种。对于登陆失败的情况,一般是由于密码输入错误,对于这种情况下输入的密码,则无需对其进行检测。因为账号一般在登陆时会被直接显示,所以较为容易被他人获悉,而密码一般则以特定的符号表示,并不会以明文的方式出现,所以存在攻击者针对某账号的密码进行重复输入,以尝试登陆的情况,也存在账号对应的用户本人输入了错误密码的情况,由于密码输入是错误的,即使判定出其为简单密码也没有意义,因此可以避免对其进行检测,从而减少资源的占用。
优选地,判断密码是否被加密(S2)包括:
通过正则表达式判断密码是否被加密。
通过正则表达式,可以灵活地且快速地判断密码是否被加密。
优选地,若密码被加密,则判断密码是否为简单密码(S3)包括:
从第一数据库中提取预设加密格式和第一字符关系;
判断密码的格式与预设加密格式是否相符,以及密码中字符的关联关系与第一字符关系是否相符;
若密码的格式与预设加密格式相符,且密码中字符的关联关系与第一字符关系相符,则判定密码为简单密码。
预设加密格式和第一字符关系可以实时更新,以保证根据预设加密格式和第一字符关系判断加密字符是否为简单密码的可靠性。
其中,预设加密格式包括每种加密方式对应的简单格式,可以判断加密密码的格式与预设加密格式是否相符,然后判断加密密码中字符的关联关系与第一字符关系是否相符来判定加密密码是否为简单密码,当然,也可以先判断加密密码中字符的关联关系与第一字符关系是否相符,然后判断加密密码的格式与预设加密格式是否相符,当加密密码中字符的关联关系与第一字符关系相符,和/或格式与预设加密格式相符的情况下,判定加密密码为加单密码。
通过多重条件的判定,可以准确地判断加密密码是否为简单密码,从而保障用户账户的安全性。
优选地,若密码未被加密,则判断密码是否为简单密码(S4)包括:
从第二数据库中提取预设密码格式和第二字符关系;
判断密码的格式与预设密码格式是否相符,以及密码中字符的关联关系与第二字符关系是否相符;
若密码的格式与预设密码格式相符,且密码中字符的关联关系与第二字符关系相符,则判定密码为简单密码。
根据本发明的一个实施例,密码为abc163,首先判断其格式(当然也可以先判断其中字符的关联关系),非两端字符包括字符“”,且字符“”后接字符“163”,而字符“163”为网易邮箱后缀,属于简单后缀格式,即密码abc163与预设密码格式相符,进一步判断其中字符的关联关系,在字符“”前为字符“abc”,而字符“a”、“b”、“c”为英文字母中起始的三个字母,三个字符属于简单字符关系,即密码abc163与第二字符关系相符,则判定该密码为简单密码。
若密码为abczh2kso,由于字符“zh2kso”并不属于预设密码格式,虽然字符“abc”属于简单字符关系,但是仍判定其不是简单密码。
若密码为zh2kso163,由于字符“zh2kso”并不属于第二字符关系,虽然字符“163”属于简单后缀格式,但是仍判定其不是简单密码。
需要说明的是,本发明除了可以根据密码的格式以及密码中字符的关联关系两个条件判断密码是否为简单密码,还可以结合其他条件进行判定。
优选地,还包括:
当判定密码为简单密码,则查询简单密码对应登陆请求包的发出终端,向终端发送提示信息。从而针对密码为简单密码的用户终端发出提示,用户终端可以通过图形用户界面查阅提示,并可以根据提示对密码进行具体修改。
如图2所示,根据本发明一个实施例的密码检测系统20包括:
获取单元21,用于通过旁路侦听获取登陆请求包;
识别单元22,用于从登陆请求包中识别登陆操作的密码;
加密判断单元23,用于判断密码是否被加密;
简单密码判断单元24,用于在判定密码被加密时,根据第一数据库对密码进行匹配,以判断密码是否为简单密码,在密码未被加密时,根据第二数据库对密码进行匹配,以判断密码是否为简单密码。
如图3所示,密码检测系统20可以通过旁路侦听的方式,从网站接收交换机的数据,可以借助交换机获取接入该交换机的架设有已知特定网站的服务器即将收到的请求包,无论是通过本机侦听网卡而获取所述的请求包,还是由其他设备侦听网卡获取所述的请求包后汇聚到本机,均能对这些请求包进行集中的后续处理,确定出这些请求包中的登陆密码,然后针对这些登陆密码进行检测,提高了获取密码的全面性,从而提高了密码检测的全面性。
其中网络侧的服务器可以是IDC,即互联网数据中心。用户侧除了包括开发人员、业务人员以及密码检测系统20,还可以包括登陆服务器的用户终端(图中未示出)。
简单的企业网站可能将各个服务器直接接入一个交换机提供服务,密码检测系统20接入该交换机中,更为复杂的,多个服务器可以分别接入不同的交换机来提供服务。安装有本发明的软件的设备,特别是其用于采集交换机数据的功能逻辑部份,而不一定是该软件本身,配置有这一功能逻辑的计算机设备,适宜接入最靠近服务器的交换机处。当然,理论上也可接入这些交换机的上级交换机中。可见,这种架构的形成,是基于网络拓扑原理、是否分布式设计而实施的,理论上并不影响本发明的实现,但却在某种程度上要求本发明实现具有灵活适应性的开放架构。
优选地,还包括:
登陆判断单元25,用于判断是否通过密码成功登陆,
其中,加密判断单元23在登陆判断单元25判定通过密码成功登陆时,判断密码是否被加密。
优选地,加密判断单元23用于通过正则表达式判断密码是否被加密。
优选地,若加密判断单元23判定密码被加密,
则简单密码判断单元24包括:
提取子单元241,用于从第一数据库中提取预设加密格式和第一字符关系;
相符判断子单元242,用于判断密码的格式与预设加密格式是否相符,以及密码中字符的关联关系与第一字符关系是否相符,若密码的格式与预设加密格式相符,且密码中字符的关联关系与第一字符关系相符,则判定密码为简单密码。
优选地,若加密判断单元23判定密码未被加密,
则简单密码判断单元24包括:
提取子单元241,从第二数据库中提取预设密码格式和第二字符关系;
相符判断子单元242,用于判断密码的格式与预设密码格式是否相符,以及密码中字符的关联关系与第二字符关系是否相符,若密码的格式与预设密码格式相符,且密码中字符的关联关系与第二字符关系相符,则判定密码为简单密码。
优选地,还包括:
提示单元26,在简单密码判断单元24判定密码为简单密码时,查询简单密码对应登陆请求包的发出终端,向终端发送提示信息。
综上所述,通过本发明的技术方案,能够对被加密的密码进行验证,准确地判断被加密的密码是否为简单密码,从而降低被加密的密码遭到破解的概率,提高使用加密密码作为登录密码的账户的安全性。
应当注意,在此提供的算法和公式不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解本发明各个方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法和装置解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的网站安全检测设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。