CN114239013A - 一种访问请求的验证方法和相关装置 - Google Patents
一种访问请求的验证方法和相关装置 Download PDFInfo
- Publication number
- CN114239013A CN114239013A CN202111537041.0A CN202111537041A CN114239013A CN 114239013 A CN114239013 A CN 114239013A CN 202111537041 A CN202111537041 A CN 202111537041A CN 114239013 A CN114239013 A CN 114239013A
- Authority
- CN
- China
- Prior art keywords
- encryption algorithm
- access request
- client
- algorithm
- server
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种访问请求的验证方法和相关装置,其中,访问请求的验证方法包括:当获取到客户端发送的访问请求时,获取所述访问请求对应的目标加密算法,其中,所述目标加密算法是动态变化的预设加密算法,所述预设加密算法的输出相同;发送所述目标加密算法至所述客户端,使得所述客户端基于所述目标加密算法生成校验参数;对所述客户端发送的所述校验参数进行校验,得到所述访问请求的访问验证结果。解决了现有用于生成校验参数的算法逻辑易被攻击者破解,攻击者通过破解的算法可以自由构造不同的校验参数,使得攻击者通过验证,进而攻击服务器的技术问题。
Description
技术领域
本申请涉及网络安全领域,尤其涉及一种访问请求的验证方法和相关装置。
背景技术
随着网络技术的发展,网络安全已成为一个日益关注的问题,尤其将网络作为基础设施的互联网企业,对网络安全有着更高的要求。然而,网络攻击可以在没有得到授权的情况下获取计算机数据,使企业遭受严重损失。
攻击者在访问服务器时,需要通过参数校验才可从服务器获取数据,然而现有用于生成校验参数的算法逻辑易被攻击者破解,攻击者通过破解的算法可以自由构造不同的校验参数,使得攻击者通过验证,进而攻击服务器。
因此,提供一种可靠的访问请求的验证方法是本领域技术人员亟待解决的技术问题。
发明内容
本申请提供了一种访问请求的验证方法和相关装置,解决了现有访问服务器时用于生成校验参数的算法逻辑易被攻击者破解,攻击者通过破解的算法可以自由构造不同的校验参数,使得攻击者通过验证,进而攻击服务器技术问题。
有鉴于此,本申请第一方面提供了一种访问请求的验证方法,应用于服务器,所述方法包括:
当获取到客户端发送的访问请求时,获取所述访问请求对应的目标加密算法,其中,所述目标加密算法是动态变化的预设加密算法,所述预设加密算法的输出相同;
发送所述目标加密算法至所述客户端,使得所述客户端基于所述目标加密算法生成校验参数;
对所述客户端发送的所述校验参数进行校验,得到所述访问请求的访问验证结果。
可选地,当获取到客户端发送的访问请求时,获取所述访问请求对应的目标加密算法,其中,所述目标加密算法是动态变化的加密算法,所述预设加密算法的输出相同,具体包括:
当获取到客户端发送的访问请求时,获取所述访问请求对应的预设加密算法,所述预设加密算法的输出相同;
将所述预设加密算法的变量名进行调整,得到所述目标加密算法。
可选地,当获取到客户端发送的访问请求时,获取所述访问请求对应的预设加密算法,所述预设加密算法的输出相同,具体包括:
当获取到客户端发送的访问请求时,确定必要加密算法和必要干扰算法,所述必要加密算法的输出相同;
将所述必要加密算法和所述必要干扰算法混合,生成所述预设加密算法。
可选地,当获取到客户端发送的访问请求时,确定必要加密算法和必要干扰算法,具体包括:
当获取到客户端发送的访问请求时,从若干初始加密算法中随机选取初始加密算法作为必要加密算法、从若干初始干扰算法中随机选取初始干扰算法作为必要干扰算法,所述若干初始加算法的输出相同。
可选地,所述若干初始加密算法的配置过程包括:
获取基础加密算法;
将所述基础加密算法加盐加参,得到若干调整加密算法;
将所述调整加密算法中输出相同的调整加密算法作为所述初始加密算法。
可选地,所述基础加密算法包括:MD5算法和RSA算法。
本申请第二方面提供了一种访问请求的验证方法,应用于客户端,所述方法包括:
发送访问请求至服务器,使得所述服务器确定所述访问请求对应的目标加密算法,其中,所述目标加密算法是动态变化的预设加密算法,所述预设加密算法的输出相同;
基于所述服务器发送的所述目标加密算法,生成校验参数;
发送所述校验参数至所述服务器,使得所述服务器对所述校验参数进行校验,得到所述访问请求的访问验证结果。
本申请第三方面提供了一种服务器,包括:
获取单元,用于当获取到客户端发送的访问请求时,获取所述访问请求对应的目标加密算法,其中,所述目标加密算法是动态变化的预设加密算法所述预设加密算法的输出相同;
发送单元,用于发送所述目标加密算法至所述客户端,使得所述客户端基于所述目标加密算法生成校验参数;
校验单元,用于对所述客户端发送的所述校验参数进行校验,得到所述访问请求的访问验证结果。
本申请第四方面提供了一种客户端,包括:
第一发送单元,用于发送访问请求至服务器,使得所述服务器确定所述访问请求对应的目标加密算法,其中,所述目标加密算法是动态变化的预设加密算法,所述预设加密算法的输出相同;
生成单元,用于基于所述服务器发送的所述目标加密算法,生成校验参数;
第二发送单元,用于发送所述校验参数至所述服务器,使得所述服务器对所述校验参数进行校验,得到所述访问请求的访问验证结果。
本申请第五方面提供了一种验证系统,包括:服务器和客户端;
所述客户端,用于发送访问请求至所述服务器;
所述服务器,用于获取所述访问请求对应的目标加密算法,并将所述目标加密算法发送至所述客户端,其中,所述目标加密算法是动态变化的预设加密算法,所述预设加密算法的输出相同;
所述客户端,还用于基于所述目标加密算法生成校验参数,并发送所述校验参数至所述服务器;
所述服务器,还用于对所述校验参数进行校验,得到所述访问请求的访问验证结果。
从以上技术方案可以看出,本申请具有以下优点:
本申请中访问请求的验证方法,当服务器获取到客户端发送的访问请求时,获取访问请求对应的目标加密算法,其中,目标加密算法是动态变化的预设加密算法,且预设加密算法的输出相同,接着发送目标加密算法至客户端,使得客户端基于目标加密算法生成校验参数,然后对客户端发送的校验参数进行校验,得到访问请求的访问验证结果。本申请中设置动态变化的目标加密算法,且这些动态变化的目标加密算法的输出相同,这样攻击者访问服务器时,每次对应的目标加密算法不同,使得攻击者难以获取目标加密算法的逻辑,也无法进行攻击,从而解决了现有用于生成校验参数的算法逻辑易被攻击者破解,攻击者通过破解的算法可以自由构造不同的校验参数,使得攻击者通过验证,进而攻击服务器的技术问题。
附图说明
为了更清楚地说明本申请实施例中的技术方法,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例中一种访问请求的验证方法的实施例一的流程示意图;
图2为本申请实施例中一种访问请求的验证方法的实施例二的流程示意图;
图3为本申请实施例中初始加密算法的输出说明图;
图4为本申请实施例中一种访问请求的验证方法的实施例三的流程示意图;
图5为本申请实施例中一种服务器的实施例的结构示意图;
图6为本申请实施例中一种客户端的实施例的结构示意图;
图7为本申请实施例中一种验证系统的实施例的结构示意图;
图8为本申请实施例中一种验证系统中目标加密算法的获取过程示意图。
具体实施方式
针对背景技术中提到的技术问题,申请人在研究现有技术后发现,现有用于生成校验参数的算法逻辑易被破解是因为用于生成校验参数的加密算法是固定的,长时间以后,攻击者易可以通过反向工程推出加密算法中的逻辑,在获取加密算法中的算法逻辑后,可以通过该算法逻辑构造校验参数,从而实施攻击。基于此,发明人首先尝试在生成校验参数的加密算法中添加干扰算法,但是由于干扰算法也是固定的,时间一长加密算法中的算法逻辑还是易被推断,服务器还是会被攻击。
有鉴于此,本申请实施例提供了一种访问请求的验证方法和相关装置,解决了现有用于生成校验参数的算法逻辑易被攻击者破解,攻击者通过破解的算法可以自由构造不同的校验参数,使得攻击者通过验证,进而攻击服务器的技术问题。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应理解,本申请应用于访问请求的验证系统。请参阅图7,图7为本申请实施例中一种验证系统的实施例的结构示意图。如图7所示,该验证系统包括服务器702和客户端701,客户端701要访问服务器702时,发送访问请求至服务器702,接着由服务器702对客户端701的访问请求进行基于校验参数的验证,得到该访问请求对应的访问验证结果。
本申请设计了一种访问请求的验证方法,该方法可以是在上述验证系统中的服务器实现。具体在客户端访问服务器时,客户端发送访问请求到服务器后,服务器会将用于生成校验参数的加密算法发送至客户端,接着客户端将生成的校验参数发送至服务器,服务器在获取到检验参数后,会基于校验参数对客户端的访问请求进行验证。由于上述过程中生成校验参数的目标加密算法是动态变化的,且这些动态变化的目标加密算法的输出相同,这样攻击者每次访问服务器时,对应的目标加密算法是不同的,使得攻击者难以获取目标加密算法的逻辑,也无法进行攻击,从而解决了现有用于生成校验参数的算法逻辑易被攻击者破解,攻击者通过破解的算法可以自由构造不同的校验参数,使得攻击者通过验证,进而攻击服务器的技术问题。
为了便于理解,请参阅图1,图1为本申请实施例中一种访问请求的验证方法的实施例一的流程示意图。
本实施例中一种访问请求的验证方法,应用于服务器,该方法具体包括:
步骤101、当获取到客户端发送的访问请求时,获取访问请求对应的目标加密算法,其中,目标加密算法是动态变化的预设加密算法,预设加密算法的输出相同。
具体地,上述客户端是指与服务器对应,为用户提供本地服务的程序,例如邮箱客户端、音乐客户端等。客户端可以是部署在移动终端上的,也可以是部署在计算机端上的,本实施例中对此不作具体限定。
可以理解的是,本实施例中的客户端可以是正常用户对应的客户端,也可以是攻击者用于实施攻击的客户端。但是无论上述的客户端对应何种主体,其需要访问服务器时,都需要通过服务器的验证。且对于服务器而言,在对服务器进行验证时无法确定访问请求是正常用户发出的还是攻击用户发出的,故服务器也是对所有的访问请求进行本实施例中的访问请求验证方法。
其中,客户端的访问请求可以是用户点击客户端上的按钮后触发的,也可以是打开客户端的同时,客户端处于数据加载需求自动触发的,本实施例中对此不做具体限定。
目标加密算法是虽然是动态变化的,但是预设加密算法的输出相同。这样攻击者在对服务器进行攻击时,每次对应的目标加密算法其实是不同的,但是由于输出相同,会使得攻击者错误的认为目标加密算法是相同的,在进行加密算法的逻辑破解时,难以破解,进而无法获取到准确的目标加密算法,也就无法实施攻击。
步骤102、发送目标加密算法至客户端,使得客户端基于目标加密算法生成校验参数。
当服务器在确定用于生成校验参数的目标加密算法后,会将该目标加密算法发送至客户端,客户端获取到目标加密算法便可基于该目标加密算法生成校验参数。
如前述步骤101的描述,预设加密算法的输出是相同的,这样即使目标加密算法是动态变化的,但是目标加密算法的输出也是相同的,这样通过目标加密算法后生成的校验参数是相同的,对于攻击者而言,由于目标加密算法的输出相同,使得攻击者认为目标加密算法是固定不变的,故攻击者会使用固定加密算法的逻辑推断方法,但是实质的目标加密算法是动态变化的,使得攻击者通过固定加密算法的逻辑推断方法难以推断出动态变化的加密算法的算法逻辑。
其中,对于校验参数的生成是基于目标加密算法中的算法逻辑实现的,不同的目标加密算法其对应的算法逻辑就不同,本实施例中不再一一进行赘述。
步骤103、对客户端发送的校验参数进行校验,得到访问请求的访问验证结果。
客户端在基于目标加密算法生成校验参数后,发送校验参数至服务器,服务器会对检验参数进行验证,得到该校验参数对应的验证结果,也即上述的访问请求对应的访问验证结果。
具体地,对于校验参数的校验过程可以是:服务器中预设有用于验证的验证基准(预设参数),在获取到校验参数后,会将校验参数和预设参数进行对比,若校验参数和预设参数相同,则说明校验参数通过了验证,此时的访问验证结果为验证成功,若校验参数和预设参数不相同,则说明检验参数未通过验证,此时的访问验证结果为验证失败。可以理解的是,上述校验参数的验证过程仅仅是一种示意性的举例说明,本领域技术人员还可以设置为其他的校验方式,本实施例中不再一一赘述和限定。
本实施例中访问请求的验证方法,当服务器获取到客户端发送的访问请求时,获取访问请求对应的目标加密算法,其中,目标加密算法是动态变化的预设加密算法,接着发送目标加密算法至客户端,使得客户端基于目标加密算法生成校验参数,然后对客户端发送的校验参数进行校验,得到访问请求的访问验证结果,即本申请中通过动态变化的加密算法生成校验参数,这样攻击者难以获取加密算法的逻辑,也无法进行攻击,从而解决了现有用于生成校验参数的算法逻辑易被攻击者破解,攻击者通过破解的算法可以自由构造不同的校验参数,使得攻击者通过验证,进而攻击服务器的技术问题。
以上为本申请实施例提供的一种访问请求的验证方法的实施例一,以下为本申请实施例提供的一种访问请求的验证方法的实施例二。
请参阅图2,图2为本申请实施例中一种访问请求的验证方法的实施例二的流程示意图。
本实施例中的一种访问请求的验证方法,应用于服务器,该方法具体包括:
步骤201、当获取到客户端发送的访问请求时,获取访问请求对应的预设加密算法,其中,预设加密算法的输出相同。
由实施例一中的描述可以知道,目标加密算法是动态变化的预设加密算法,在将预设加密算法进行动态变化之前,首先获取用于进行动态变化的预设加密算法。
可以理解的是,在一种实施方式中,上述预设加密算法是预先设置好的,即服务器中已经存储有预先配置好的预设加密算法,每当服务器在获取到客户端发送的访问请求时,便可直接从配置好的预设加密算法中获取。
在另一种实施方式中,预设加密算法是即用即生成的,即每当服务器获获取到访问请求时,才去生成预设加密算法。在该种实施方式中,预设机密算法的获取过程具体包括:
当获取到客户端发送的访问请求时,获取访问请求对应的预设加密算法,具体包括:
当获取到客户端发送的访问请求时,确定必要加密算法和必要干扰算法,其中必要加密算法的输出相同;
将必要加密算法和必要干扰算法混合,生成预设加密算法。
需要说明的是,上述必要加密算法是用于生成校验参数的加密算法,而干扰算法是用于混淆视线的干扰算法,通过加密算法和干扰算法生成的加密算法会进一步“迷惑”攻击者,即通过必要加密算法和必要干扰算法生成的预设加密算法会进一步“迷惑”攻击者,进一步增大攻击者破解生成校验参数的目标加密算法的算法逻辑。
具体地,算法是一系列的调用栈,因此在将必要加密算法和必要干扰算法混合时,会在必要加密算法和必要干扰算法中,打通调用栈,以实现二者的相互调用,在将必要加密算法和必要干扰算法调用后,混合二者便可得到预设加密算法。
需要说明的是,步骤201中获取的预设加密算法可以是固定的,这样经步骤202的动态变化过程以后,目标加密算法还是动态变化的预设加密算法,也可以步骤201获取到的预设加密算法已经是动态变化的,这样再经步骤202的动态变化,使得目标加密算法的变化更大,增大了攻击者的破解难度。
具体地,由于前述预设加密算法是由必要加密算法和必要干扰算法混合后生成的,对于固定的预设加密算法的获取过程可以是:预先配置固定的必要干扰算法和必要加密算法,这样在获取到访问请求时,混合固定的必要干扰算法和必要加密算法后,得到的预设加密算法也是固定的。
而对于动态变化的预设加密算法可以是设置动态变化的必要加密算法和必要干扰算法,这样生成的预设加密算法也是动态变化的,具体的,上述动态变化的预设加密算法的获取过程可以是:
当获取到客户端发送的访问请求时,从若干初始加密算法中随机选取初始加密算法作为必要加密算法、从若干初始干扰算法中随机选取初始干扰算法作为必要干扰算法,其中,若干初始加密算法的输出相同。
上述方式中,通过随机抽取的方式确定必要加密算法和必要干扰算法,如此通过上述二者生成的预设加密算法也是随机的、动态变化的。需要说明的是,上述若干初始加密初始算法构成了必要加密算法池,上述若干干扰算法构成了必要干扰算法池。至于具体必要加密算法和必要干扰算法的数量可以是一个,也可以是多个,例如5个或者10个等,本实施例中对此不做具体限定。
必要加密算法是对若干初始加密算法中进行随机选取后得到的,而对于若干初始加密算法的配置过程包括:
获取基础加密算法;
将基础加密算法加盐加参,得到若干调整加密算法;
将调整加密算法中输出相同的调整加密算法作为初始加密算法。
其中,基础加密算法包括但不限于:MD5算法和RSA算法。可以理解的是,此处基础加密算法还可以是其他现有的一些加密算法,本实施例中不再一一限定和赘述。
可以理解的是,所谓加盐也就是加点“佐料”。其基本想法是:当用户首次提供密码时(通常是注册时),由服务器自动往这个密码里撒一些“佐料”,然后再散列。而当用户登录时,服务器为用户提供的代码撒上同样的“佐料”,然后散列,再比较散列值,已确定密码是否正确。其中,上述的“佐料”也即“Salt值”,这个值是由服务器随机生成的,并且只有服务器知道。这样,即便两个用户使用了同一个密码,由于服务器为它们生成的salt值不同,他们的散列值也是不同的。即便黑客可以通过自己的密码和自己生成的散列值来找具有特定密码的用户,但这个几率也很小(密码和salt值都得和黑客使用的一样才行)。具体地,对于本实施例中基础加密算法的加盐可以是在基础加密算法中添加服务器随机生成的值。
对于对基础加密算法进行加参,也即对基础加密算法中添加参数,这个参数同样只有服务器知晓。
在对基础加密算法加盐加参后,其中有一部分基础加密算法的输出是相同的,故本实施例中将该部分的基础加密算法作为初始加密算法。如图3所示,可以理解的是,输出相同指的是这些算法经过5-10个流程算法后生成的值仍是相同的。
可以理解的是,若干初始加密算法可以是由多个基础加密算法,各自进行加盐加参后得到的,也可以是由多个基础加密算法进行互相调用后实现的。例如:将MD5算法和RSA算法混合,也可得到初始加密算法,对应的,混合方式或者混合参数不同,对应的得到的初始加密算法也不同。
步骤202、将预设加密算法的变量名进行调整,得到目标加密算法。
在得到预设加密算法后,将预设加密算法的变量名进行调整,便可得到动态变化的预设加密算法,也即本实施例中的目标加密算法。可以理解的是,在调整时,可以是将预设加密算法中的所有变量名进行调整,也可以是只调整部分变量名,本实施例中对此不做具体限定。具体的调整方式可以是随机调整,也可以是按照预设规则调整,例如设置好某个变量的所有可用变量名和调整顺序,在调整时按照该调整顺序对该变量进行变量名的调整。
步骤203、发送目标加密算法至客户端,使得客户端基于目标加密算法生成校验参数。
通过多套算法协作来保证最后生成的校验参数相同,而攻击者就会认为每个流程中的每套算法的计算方式和结果都是相同,会让攻击者找不到固定的流程去破解目标加密算法中的算法逻辑。
步骤204、对客户端发送的校验参数进行校验,得到访问请求的访问验证结果。
可以理解的是,步骤204的描述和实施例一中步骤103的描述相同,具体可以参见上述步骤103的描述,在此不再赘述。
本实施例中访问请求的验证方法,当服务器获取到客户端发送的访问请求时,获取访问请求对应的目标加密算法,其中,目标加密算法是动态变化的预设加密算法,接着发送目标加密算法至客户端,使得客户端基于目标加密算法生成校验参数,然后对客户端发送的校验参数进行校验,得到访问请求的访问验证结果,即本申请中通过动态变化的加密算法生成校验参数,这样攻击者难以获取加密算法的逻辑,也无法进行攻击,从而解决了现有用于生成校验参数的算法逻辑易被攻击者破解,攻击者通过破解的算法可以自由构造不同的校验参数,使得攻击者通过验证,进而攻击服务器的技术问题。
以上为本申请实施例提供的一种访问请求的验证方法的实施例二,以下为本申请实施例提供的一种访问请求的实施例三。
请参阅图4,图4为本申请实施例中一种访问请求的验证方法的实施例三的流程示意图。
本实施例中的一种访问请求的验证方法,应用于客户端,该方法具体包括:
步骤401、发送访问请求至服务器,使得服务器确定访问请求对应的目标加密算法,其中,目标加密算法是动态变化的预设加密算法。
步骤402、基于服务器发送的目标加密算法,生成校验参数。
步骤403、发送校验参数至服务器,使得服务器对校验参数进行校验,得到访问请求的访问验证结果。
本实施例中的访问请求验证方法,当服务器获取到客户端发送的访问请求时,获取访问请求对应的目标加密算法,其中,目标加密算法是动态变化的预设加密算法,接着发送目标加密算法至客户端,使得客户端基于目标加密算法生成校验参数,然后对客户端发送的校验参数进行校验,得到访问请求的访问验证结果,即本申请中通过动态变化的加密算法生成校验参数,这样攻击者难以获取加密算法的逻辑,也无法进行攻击,从而解决了现有用于生成校验参数的算法逻辑易被攻击者破解,攻击者通过破解的算法可以自由构造不同的校验参数,使得攻击者通过验证,进而攻击服务器的技术问题。
以上为本申请实施例提供的一种访问请求的验证方法的实施例三,以下为本申请实施例提供的一种服务器的实施例。
请参阅图5,图5为本申请实施例中一种服务器的实施例的结构示意图。
本实施例中的一种服务器具体包括:
获取单元501,用于当获取到客户端发送的访问请求时,获取访问请求对应的目标加密算法,其中,目标加密算法是动态变化的预设加密算法;
发送单元502,用于发送目标加密算法至客户端,使得客户端基于目标加密算法生成校验参数;
校验单元503,用于对客户端发送的校验参数进行校验,得到访问请求的访问验证结果。
具体地,获取单元501具体包括:
获取子单元,用于当获取到客户端发送的访问请求时,获取访问请求对应的预设加密算法,预设加密算法的输出相同;
调整子单元,用于将预设加密算法的变量名进行调整,得到目标加密算法。
具体地,获取子单元具体包括:
确定子子单元,用于当获取到客户端发送的访问请求时,确定必要加密算法和必要干扰算法,必要加密算法的输出相同;
混合子子单元,用于将必要加密算法和必要干扰算法混合,生成预设加密算法。
进一步地,确定子子单元,具体用于当获取到客户端发送的访问请求时,从若干初始加密算法中随机选取初始加密算法作为必要加密算法、从若干初始干扰算法中随机选取初始干扰算法作为必要干扰算法,其中,若干初始加密算法的输出相同。
具体地,若干初始加密算法的配置过程包括:
获取基础加密算法;
将基础加密算法加盐加参,得到若干调整加密算法;
将调整加密算法中输出相同的调整加密算法作为初始加密算法。
具体地,基础加密算法包括:MD5算法和RSA算法。
本实施例中的服务器,当服务器获取到客户端发送的访问请求时,获取访问请求对应的目标加密算法,其中,目标加密算法是动态变化的预设加密算法,接着发送目标加密算法至客户端,使得客户端基于目标加密算法生成校验参数,然后对客户端发送的校验参数进行校验,得到访问请求的访问验证结果,即本申请中通过动态变化的加密算法生成校验参数,这样攻击者难以获取加密算法的逻辑,也无法进行攻击,从而解决了现有用于生成校验参数的算法逻辑易被攻击者破解,攻击者通过破解的算法可以自由构造不同的校验参数,使得攻击者通过验证,进而攻击服务器的技术问题。
以上为本申请实施例提供的一种服务器的实施例,以下为本申请实施例提供的一种客户端的实施例。
请参阅图6,图6为本申请实施例中一种客户端的实施例的结构示意图。
本实施例中的客户端具体包括:
第一发送单元601,用于发送访问请求至服务器,使得服务器确定访问请求对应的目标加密算法,其中,目标加密算法是动态变化的预设加密算法;
生成单元602,用于基于服务器发送的目标加密算法,生成校验参数;
第二发送单元603,用于发送校验参数至服务器,使得服务器对校验参数进行校验,得到访问请求的访问验证结果。
本实施例中当服务器获取到客户端发送的访问请求时,获取访问请求对应的目标加密算法,其中,目标加密算法是动态变化的预设加密算法,接着发送目标加密算法至客户端,使得客户端基于目标加密算法生成校验参数,然后对客户端发送的校验参数进行校验,得到访问请求的访问验证结果,即本申请中通过动态变化的加密算法生成校验参数,这样攻击者难以获取加密算法的逻辑,也无法进行攻击,从而解决了现有用于生成校验参数的算法逻辑易被攻击者破解,攻击者通过破解的算法可以自由构造不同的校验参数,使得攻击者通过验证,进而攻击服务器的技术问题。
以上为本申请实施例提供的一种客户端的实施例,以下为本申请实施例提供的一种验证系统的实施例。
请参阅图7,图7为本申请实施例中一种验证系统的实施例的结构示意图。
本实施例中的验证系统具体包括:客户端701和服务器702
客户端701,用于发送访问请求至服务器702;
服务器702,用于获取访问请求对应的目标加密算法,并将目标加密算法发送至客户端701,其中,目标加密算法是动态变化的预设加密算法;
客户端701,还用于基于目标加密算法生成校验参数,并发送校验参数至服务器702;
服务器702,还用于对校验参数进行校验,得到访问请求的访问验证结果。如图8所示,本实施例中验证系统对于目标加密算法的确定过程如下:
1、搭建生成加密参数初始加密算法(可以是在MD5、RSA、base64等基础加密算法的基础上加盐加参,混合加密原材料得到的),需要保证无论经过5-10个流程算法后的生成的值是相同的。通过多套算法协作来保证最后生成的值都会相同的,而攻击者就会认为每个流程中的每套算法的计算方式和结果都是相同的,也即计算方式相同,使得攻击者找不到固定的流程去破解算法。
2、服务器每从客户端接收一次访问请求,则从上述若干个初始加密算法中随机抽取得到必要加密算法,并打通调用栈,再从上万个干扰算法中随机选取干扰算法作为必要干扰算法,将必要干扰算法与必要加密算法混合在一起,以生成预设加密算法。
3、服务器每从客户端接收一次访问请求,就涉及一轮变量名更迭,根据预设规则(可以是相同的规则)替换本轮用于生成校验参数的预设加密算法那中的所有变量,得到目标加密算法,以保证每轮更迭生成的目标算法的变量名都不同,这样就使得攻击者在每轮更迭算法后,都要面对新的变量名,且每轮的目标算法的逻辑之间均不同,所以使得攻击者难以找到破解入口,最终达到防范攻击者试图破解参数的行为。
本实施例中当服务器702获取到客户端701发送的访问请求时,获取访问请求对应的目标加密算法,其中,目标加密算法是动态变化的预设加密算法,接着发送目标加密算法至客户端701,使得客户端701基于目标加密算法生成校验参数,然后对客户端701发送的校验参数进行校验,得到访问请求的访问验证结果,即本申请中通过动态变化的加密算法生成校验参数,这样攻击者难以获取加密算法的逻辑,也无法进行攻击,从而解决了现有用于生成校验参数的算法逻辑易被攻击者破解,攻击者通过破解的算法可以自由构造不同的校验参数,使得攻击者通过验证,进而攻击服务器702的技术问题。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或检测设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或检测设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read-OnlyMemory,英文缩写:ROM)、随机存取存储器(英文全称:RandomAccessMemory,英文缩写:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种访问请求的验证方法,其特征在于,应用于服务器,所述方法包括:
当获取到客户端发送的访问请求时,获取所述访问请求对应的目标加密算法,其中,所述目标加密算法是动态变化的预设加密算法,所述预设加密算法的输出相同;
发送所述目标加密算法至所述客户端,使得所述客户端基于所述目标加密算法生成校验参数;
对所述客户端发送的所述校验参数进行校验,得到所述访问请求的访问验证结果。
2.根据权利要求1所述的访问请求的验证方法,其特征在于,当获取到客户端发送的访问请求时,获取所述访问请求对应的目标加密算法,其中,所述目标加密算法是动态变化的加密算法,所述预设加密算法的输出相同,具体包括:
当获取到客户端发送的访问请求时,获取所述访问请求对应的预设加密算法,所述预设加密算法的输出相同;
将所述预设加密算法的变量名进行调整,得到所述目标加密算法。
3.根据权利要求2所述的访问请求的验证方法,其特征在于,当获取到客户端发送的访问请求时,获取所述访问请求对应的预设加密算法,所述预设加密算法的输出相同,具体包括:
当获取到客户端发送的访问请求时,确定必要加密算法和必要干扰算法,所述必要加密算法的输出相同;
将所述必要加密算法和所述必要干扰算法混合,生成所述预设加密算法。
4.根据权利要求3所述的访问请求的验证方法,其特征在于,当获取到客户端发送的访问请求时,确定必要加密算法和必要干扰算法,具体包括:
当获取到客户端发送的访问请求时,从若干初始加密算法中随机选取初始加密算法作为必要加密算法、从若干初始干扰算法中随机选取初始干扰算法作为必要干扰算法,其中,所述若干初始加密算法的输出相同。
5.根据权利要求4所述的访问请求的验证方法,其特征在于,所述若干初始加密算法的配置过程包括:
获取基础加密算法;
将所述基础加密算法加盐加参,得到若干调整加密算法;
将所述调整加密算法中输出相同的调整加密算法作为所述初始加密算法。
6.根据权利要求5所述的访问请求的验证方法,其特征在于,所述基础加密算法包括:MD5算法和RSA算法。
7.一种访问请求的验证方法,其特征在于,应用于客户端,所述方法包括:
发送访问请求至服务器,使得所述服务器确定所述访问请求对应的目标加密算法,其中,所述目标加密算法是动态变化的预设加密算法,所述预设加密算法的输出相同;
基于所述服务器发送的所述目标加密算法,生成校验参数;
发送所述校验参数至所述服务器,使得所述服务器对所述校验参数进行校验,得到所述访问请求的访问验证结果。
8.一种服务器,其特征在于,包括:
获取单元,用于当获取到客户端发送的访问请求时,获取所述访问请求对应的目标加密算法,其中,所述目标加密算法是动态变化的预设加密算法,所述预设加密算法的输出相同;
发送单元,用于发送所述目标加密算法至所述客户端,使得所述客户端基于所述目标加密算法生成校验参数;
校验单元,用于对所述客户端发送的所述校验参数进行校验,得到所述访问请求的访问验证结果。
9.一种客户端,其特征在于,包括:
第一发送单元,用于发送访问请求至服务器,使得所述服务器确定所述访问请求对应的目标加密算法,其中,所述目标加密算法是动态变化的预设加密算法,所述预设加密算法的输出相同;
生成单元,用于基于所述服务器发送的所述目标加密算法,生成校验参数;
第二发送单元,用于发送所述校验参数至所述服务器,使得所述服务器对所述校验参数进行校验,得到所述访问请求的访问验证结果。
10.一种验证系统,其特征在于,包括:服务器和客户端;
所述客户端,用于发送访问请求至所述服务器;
所述服务器,用于获取所述访问请求对应的目标加密算法,并将所述目标加密算法发送至所述客户端,其中,所述目标加密算法是动态变化的预设加密算法,所述预设加密算法的输出相同;
所述客户端,还用于基于所述目标加密算法生成校验参数,并发送所述校验参数至所述服务器;
所述服务器,还用于对所述校验参数进行校验,得到所述访问请求的访问验证结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111537041.0A CN114239013A (zh) | 2021-12-13 | 2021-12-13 | 一种访问请求的验证方法和相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111537041.0A CN114239013A (zh) | 2021-12-13 | 2021-12-13 | 一种访问请求的验证方法和相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114239013A true CN114239013A (zh) | 2022-03-25 |
Family
ID=80756542
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111537041.0A Pending CN114239013A (zh) | 2021-12-13 | 2021-12-13 | 一种访问请求的验证方法和相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114239013A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114897478A (zh) * | 2022-06-06 | 2022-08-12 | 壹沓科技(上海)有限公司 | 一种数据处理方法、装置、设备和存储介质 |
-
2021
- 2021-12-13 CN CN202111537041.0A patent/CN114239013A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114897478A (zh) * | 2022-06-06 | 2022-08-12 | 壹沓科技(上海)有限公司 | 一种数据处理方法、装置、设备和存储介质 |
CN114897478B (zh) * | 2022-06-06 | 2023-12-22 | 壹沓科技(上海)有限公司 | 一种数据处理方法、装置、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220094673A1 (en) | Cryptographic security functions based on anticipated changes in dynamic minutiae | |
EP3481029B1 (en) | Internet defense method and authentication server | |
CN106797371B (zh) | 用于用户认证的方法和系统 | |
US8984649B2 (en) | Method and system for authenticating user access to a restricted resource across a computer network | |
KR101486782B1 (ko) | 무한 중첩된 해시 체인들에 의한 1회용 패스워드 인증 | |
CN110493207B (zh) | 一种数据处理方法、装置、电子设备和存储介质 | |
CN112989426B (zh) | 授权认证方法及装置、资源访问令牌的获取方法 | |
CN110177124B (zh) | 基于区块链的身份认证方法及相关设备 | |
CN109981576B (zh) | 密钥迁移方法和装置 | |
US20210241270A1 (en) | System and method of blockchain transaction verification | |
WO2016188335A1 (zh) | 用户数据的访问控制方法、装置及系统 | |
CN110430167B (zh) | 临时账户的管理方法、电子设备、管理终端及存储介质 | |
CN111444499A (zh) | 用户身份认证方法及系统 | |
CN106453321A (zh) | 一种认证服务器、系统和方法及待认证终端 | |
CN114239013A (zh) | 一种访问请求的验证方法和相关装置 | |
JP2018536931A (ja) | 傍受防止認証および暗号化システムならびに方法 | |
CN111147235B (zh) | 对象访问方法、装置、电子设备及机器可读存储介质 | |
Assiri et al. | Homomorphic password manager using multiple-hash with PUF | |
CN113343278B (zh) | 一种防御csrf攻击的登录请求校验方法及装置 | |
CN107172106B (zh) | 安全信息交互方法和系统 | |
GB2587000A (en) | Method of testing and improving security in a password-based authentication system | |
CN107455003B (zh) | 一种用户身份认证方法及服务器 | |
CN115941186B (zh) | 抗量子破解的多凭证验证方法、装置及非易失性存储介质 | |
CN114598478B (zh) | 数据加密的方法、装置、电子设备和存储介质 | |
CN111898112B (zh) | 一种基于区块链技术的知识产权交易平台 |
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 |