一种防止撞库或拖库的方法、系统、装置及可读存储介质与流程

文档序号:14737169发布日期:2018-06-19 20:44阅读:352来源:国知局
一种防止撞库或拖库的方法、系统、装置及可读存储介质与流程

本发明涉及加密领域,特别是涉及一种防止撞库或拖库的方法、系统、装置及可读存储介质。



背景技术:

随着互联网的迅速发展,网络安全事件也频频发生,比如网站被撞库或拖库后泄露用户的个人信息和密码等。在B/S结构的HTTP(Hyper Text Transfer Protocol,超文本传输协议)协议下,密码数据一般是是明文传输,然后保存在服务器端的数据库中的,在传输过程中,非法用户可以直接获取用户的密码数据,即密码明文。在实际应用中,由于多站点共用密码是普遍现象,如果用户用于某一站点的账号密码被窃听,那么该用户用于其他站点的账号密码可能也一并被窃听,从而可能会给用户带来极大的安全隐患。

因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。



技术实现要素:

本发明的目的是提供一种防止撞库或拖库的方法,提高了用户密码在传输过程中的安全性,有效地防止了服务器端被非法用户撞库或拖库;本发明的另一目的是提供一种防止撞库或拖库的系统、装置及可读存储介质。

为解决上述技术问题,本发明提供了一种防止撞库或拖库的方法,包括:

通过第一映射方程得到第一混沌序列,通过第二映射方程得到第二混沌序列;

将所述第一混沌序列和所述第二混沌序列按位与,得到混沌密钥序列;

通过所述混沌密钥序列对明文序列加密,得到密文,并将所述密文传输到服务器。

优选的,所述第一映射方程为二维数理逻辑Logistic映射方程,所述第二映射方程为二维切比雪夫Chebyshev映射方程。

优选的,所述通过所述混沌密钥序列对明文序列加密的过程具体为:

将所述混沌密钥序列和明文序列进行异或处理,以完成对所述明文序列加密。

优选的,所述加密的过程在js文件中进行。

优选的,该方法还包括:

对所述js文件进行压缩处理。

优选的,所述对所述js文件进行压缩处理的过程具体为:

删除所述js文件的代码中的注释和/或跳格符号和/或换行符号。

为解决上述技术问题,本发明还提供了一种防止撞库或拖库的系统,包括:

映射模块,用于通过第一映射方程得到第一混沌序列,通过第二映射方程得到第二混沌序列;

处理模块,用于将所述第一混沌序列和所述第二混沌序列按位与,得到混沌密钥序列;

加密模块,用于通过所述混沌密钥序列对明文序列加密,得到密文,并将所述密文传输到服务器。

优选的,所述第一映射方程为二维数理逻辑Logistic映射方程,所述第二映射方程为二维切比雪夫Chebyshev映射方程。

为解决上述技术问题,本发明还提供了一种防止撞库或拖库的装置,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上述任意一项所述的防止撞库或拖库方法的步骤。

为解决上述技术问题,本发明还提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一项所述的防止撞库或拖库方法的步骤。

本发明提供了一种防止撞库或拖库的方法,包括通过第一映射方程得到第一混沌序列,通过第二映射方程得到第二混沌序列;将第一混沌序列和第二混沌序列按位与,得到混沌密钥序列;通过混沌密钥序列对明文序列加密,得到密文,并将密文传输到服务器。

可见,在实际应用中,采用本发明的方案,将两个不同的混沌序列按位与,得到复杂性更好的混沌密钥序列,在密码数据的传输过程中,通过混沌密钥序列对用户的密码明文进行混沌加密,得到密文,保证了密码数据在传输过程中即使被非法用户获取,也只能获取得到密文,从而提高了用户密码在传输过程中的安全性,有效地防止了服务器端被非法用户撞库或拖库。

本发明还提供了一种防止撞库或拖库的系统、装置及可读存储介质,具有和上述防止撞库或拖库的方法相同的有益效果。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明所提供的一种防止撞库或拖库的方法的步骤流程图;

图2为本发明所提供的一种防止撞库或拖库的系统的结构示意图。

具体实施方式

本发明的核心是提供一种防止撞库或拖库的方法,提高了用户密码在传输过程中的安全性,有效地防止了服务器端被非法用户撞库或拖库;本发明的另一核心是提供一种防止撞库或拖库的系统、装置及可读存储介质。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参照图1,图1为本发明所提供的一种防止撞库或拖库的方法的步骤流程图,包括:

步骤1:通过第一映射方程得到第一混沌序列,通过第二映射方程得到第二混沌序列;

具体的,混沌密码学是一种新的密码加密算法,具有简单,高效,安全等优点,混沌用于密码学主要依据混沌的基本特性,即随机性,遍历性,确定性和对初始条件的敏感性。本发明中的第一混沌序列和第二混沌序列均为迭代产生的,迭代产生的混沌序列对初始条件敏感,结构复杂,难以分析和预测,可以提供具有良好的随机性、相关性、复杂性的伪随机序列,从而保证本发明的加密效果更好。

步骤2:将第一混沌序列和第二混沌序列按位与,得到混沌密钥序列;

可以理解的是,本发明通过两种不同的混沌模型产生参数可变的混沌序列,并把两组混沌序列按位与,形成一个新的、混沌性能更好的混沌序列,从而得到复杂性更好的混沌密钥。

举例说明按位与的过程,假设混沌序列A为1011001,混沌序列B为0101011,得到的混沌密钥序列即为0001001。

当然,按位与的过程除了可以按上述方法进行,还可以采用其他方法,本发明在此不做限定。

步骤3:通过混沌密钥序列对明文序列加密,得到密文,并将密文传输到服务器。

具体的,用户的密码是以明文序列的方式呈现的,通过根据上述混沌加密方法得到的混沌密钥序列对明文序列进行加密,之后得到的密文更加难以破解,即使在密码数据传输过程中,其中的数据被非法用户获取,也只能得到加密以后的密文,而不是密码明文,从而使密码数据在传输过程中的安全性得到了保障,进而防止了服务器端被非法用户撞库或拖库。

其中,撞库是指非法用户通过收集互联网中已泄露的用户的账号和密码信息,生成对应的字典表,进行批量登陆,从而获得一批可以根据已泄露的账号密码登录的用户,可以理解的是,在实际生活中,很多用户在不同站点使用的是相同的帐号密码,因此非法用户可以通过用户在A站点的账号密码来尝试登录B站点,这就可以理解为撞库攻击。拖库本来是数据库领域的术语,指从数据库中导出数据,也被用来指网站遭到入侵后,非法用户窃取其数据库。采用本发明的方案,在传输过程中就对用户的账号密码进行了加密,且传输并保存到服务器端的数据库的也是密文,从而保证了非法用户不能直接获取到用户的密码明文,有效地防止了非法用户对服务器端撞库或拖库。

具体的,本发明应用于用户注册的实施例的步骤如下,首先用户在客户端进行账号密码注册,由服务器端进行账号验证,若账号已存在则提示该账号已存在,需要用户更改账号重新注册,直至用户注册的账号不存在,然后将用户输入的密码在浏览器端进行混沌加密,生成密文,最后将密文传输到服务器端,并在服务器端的数据库进行保存,可以将注册时生成的密文称为合法密文。

相应的,本发明应用于用户登录的实施例的步骤如下,用户在客户端进行账号密码登录,由服务器进行账号验证,若账号不存在,则提示用户该账号不存在,需要用户更改账号重新登录,若账号存在,将用户输入的密码在浏览器端进行混沌加密,生成密文,并传输到服务器端,将当前密文和合法密文进行匹配,若匹配失败,则提示用户密码错误,重新输入,若密码匹配成功,则跳转到相应页面。

本发明提供了一种防止撞库或拖库的方法,包括通过第一映射方程得到第一混沌序列,通过第二映射方程得到第二混沌序列;将第一混沌序列和第二混沌序列按位与,得到混沌密钥序列;通过混沌密钥序列对明文序列加密,得到密文,并将密文传输到服务器。

可见,在实际应用中,采用本发明的方案,将两个不同的混沌序列按位与,得到复杂性更好的混沌密钥序列,在密码数据的传输过程中,通过混沌密钥序列对用户的密码明文进行混沌加密,得到密文,保证了密码数据在传输过程中即使被非法用户获取,也只能获取得到密文,从而提高了用户密码在传输过程中的安全性,有效地防止了服务器端被非法用户撞库或拖库。

在上述实施例的基础上:

作为一种优选的实施例,第一映射方程为二维数理逻辑Logistic映射方程,第二映射方程为二维切比雪夫Chebyshev映射方程。

其中,二维数理逻辑Logistic映射方程为λ1,λ2,λ和u均为二维Logistic混沌映射的动力学方程的控制参数,u通常取4,在初始值(xn,yn)=(0.1,0.11)、参数λ1=λ2=0.89时,系统出现混沌现象,二维Logistic混沌映射的部分[x0,y0,λ1,λ2,λ]可作为初始密钥。xn+1和xn表达的是二维数理逻辑Logistic映射方程的函数关系,x可理解为函数变量,并随着u的变化而变化,当u取值在一定范围时,系统出现混沌现象。二维Chebyshev混沌映射方程为xn∈(-1,1),当n≥2时,二维Chebyshev混沌映射进入混沌区域,在无线精度条件下可产生无线长度非周期混沌实值序列,Chebyshev系统的参数分别为x0,y0,n,m,因此[x0,y0,n,m]为二维Chebyshev混沌映射的初始密钥。

作为一种优选的实施例,通过混沌密钥序列对明文序列加密的过程具体为:

将混沌密钥序列和明文序列进行异或处理,以完成对明文序列加密。

具体的,异或加密一般是先得到加密密钥,然后通过加密密钥对密码明文进行加密并储存结果。加密后输出的密文相当于一个完全随机的序列,由上文可知,本发明所提供的混沌密钥序列是随机的、复杂的伪随机序列,如果非法用户得不到混沌密钥序列,那么破译密码几乎是不可能的,且混沌密钥序列的长度每增加一位,通过非法方法破译密码的难度就会增加两倍。

举例说明异或加密的过程,假设密码明文序列为A[1001],混沌密钥序列为B[1010],对A和B做异或,得到的C[0011]即为加密后的密文。

当然,除了可以将混沌密钥序列和明文序列进行异或处理来完成加密,还可以通过其他方式,本发明在此不做限定。

作为一种优选的实施例,加密的过程在js文件中进行。

可以理解的是,通过第一映射方程得到第一混沌序列,通过第二映射方程得到第二混沌序列,将第一混沌序列和第二混沌序列按位与,得到混沌密钥序列,通过混沌密钥序列对明文序列加密,得到密文,这一过程就是加密的过程,上述过程中用到的方法也可以看作为一种混沌加密算法,该混沌加密算法是保存在js文件中的,其中,js即javascript,在实际应用中,javascript由于其自身特性可以减少相应的网络传输。

作为一种优选的实施例,该方法还包括:

对js文件进行压缩处理。

作为一种优选的实施例,对js文件进行压缩处理的过程具体为:

删除js文件的代码中的注释和/或跳格符号和/或换行符号。

具体的,为了进一步提高本发明的加密效果,可以将存放加密算法的js文件进行压缩和混淆,也就是通过删除javascript的代码中所有注释和/或跳格符号和/或换行符号和/或无用的空格,来压缩js文件的大小,同时优化了页面加载速度,也可以通过编码将变量和函数原命名改为毫无意义的命名,如function(a,b,c,e,g)等,从而达到防止非法用户窥视和窃取javascript代码的目的。并且通过压缩js文件的手段来使js文件不断更新,增加了js文件的获取难度,从而增加了非法用户破解密码的时间成本。

请参照图2,图2为本发明所提供的一种防止撞库或拖库的系统的结构示意图,包括:

映射模块1,用于通过第一映射方程得到第一混沌序列,通过第二映射方程得到第二混沌序列;

处理模块2,用于将第一混沌序列和第二混沌序列按位与,得到混沌密钥序列;

加密模块3,用于通过混沌密钥序列对明文序列加密,得到密文,并将密文传输到服务器。

作为一种优选的实施例,第一映射方程为二维数理逻辑Logistic映射方程,第二映射方程为二维切比雪夫Chebyshev映射方程。

相应的,本发明还提供了一种防止撞库或拖库的装置,包括:

存储器,用于存储计算机程序;

处理器,用于执行计算机程序时实现如上述任意一项的防止撞库或拖库方法的步骤。

相应的,本发明还提供了一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述任意一项的防止撞库或拖库方法的步骤。

对于本发明所提供的一种防止撞库或拖库的系统、装置及可读存储介质的介绍请参照上述实施例,本发明在此不再赘述。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1