一种多要素语义验证码及其生成方法与流程

未命名 07-23 阅读:247 评论:0
1.本发明涉及计算机及网络安全
技术领域
:,尤其是涉及一种多要素语义验证码及其生成方法。
背景技术
::2.验证码是一种网络安全技术,它能有效地验证用户的身份,防止恶意攻击和风险事件。验证码在人机交互界面中扮演着重要的角色,广泛应用于网站和app的各种场景,如注册、登录、交易、交互等,对于保护用户账户的安全起到了关键作用。然而,验证码也面临着黑灰产的破解威胁,他们利用各种技术手段进行快速大规模的破解,从而实施批量注册、批量登录、恶意爬虫等违法行为。验证码是一种用于验证用户身份的技术,它可以防止机器人或恶意软件冒充人类进行网络操作。验证码的发展历经了多个阶段,从最初的图形验证码,到后来的行为验证码,再到现在的各种新型验证码,都是为了提高验证码的安全性和用户体验而不断创新的。3.谷歌推出的验证码recaptcha,在国外被广泛使用,其利用在绘制地图时通过车辆拍下的街景图为验证码提供素材,以九宫格的形式呈现。当检测到用户行为异常的时候,要求用户点选九宫格中包含某物体的图片,直至不再出现包含该物体的图片为止,以达到区分人和机器行为的目的。现有的验证码,无论是最常见的滑块验证码,还是文字或图标点选验证码,通常需要一张或多张图片,构成验证码的素材。黑灰产破解各种形式验证码,主要是机器破解和人工打码两种,其中机器破解主要是通过识别图片中的相关验证要素来进行破解。4.现有验证码技术至少面临以下两方面的问题:一是为了防止被黑产爬取图片素材构建图库,进而利用图像匹配进行破解,验证码厂商往往需要不断更新用于验证码的图片素材,而这就需要通过互联网等途经不断搜集图片素材或由设计师不断创造图片,这一过程耗时耗力,限制了图片素材的更新频率,从而限制了验证码的安全性。5.二是随着深度学习技术的发展,人工智能在视觉领域已经能媲美甚至超越人类水平。利用深度学习技术,黑灰产能自动、较为准确地识别图片中的文字或物体,对现有验证码的安全性带来了极大的挑战。技术实现要素:6.针对现有技术存在的问题,本发明的目的在于提出一种多要素语义验证码及利用aigc技术的生成方法,能有效克服现有验证码生产图片素材效率低、基于图片识别的验证码能轻易被深度学习模型破解的缺点。7.为实现上述目的,本发明提供一种多要素语义验证码的生成方法,所述方法包括以下两个环节:s100.图文素材生成;通过图文素材生成模块实现图文素材生成,其中,图文素材包括描述文本库和与描述文本对应的图片库和信息库;s200.语义验证码生成;通过语义验证码生成模块实现语义验证码生成,包括确定多要素语义验证码对应的描述文本,确定目标图片和干扰图片,并将描述文本、目标图片和干扰图片组合成多要素语义验证码。8.进一步,s100中进一步包括以下步骤:s1.生成描述文本库;描述文本包含三个要素:物体、背景和行为;s2.生成描述文本对应的图片库和图片信息库。9.进一步,步骤s1中生成描述文本库的具体实现流程如下:s11.生成物体列表;物体可以包含属性;s12.生成背景列表;背景可以包含属性;s13.生成行为列表;具体行为由动作组成;s14.从上述三个列表中随机组合物体、背景和行为,生成多条描述文本,存储到描述文本库中,存储内容包括描述文本及对应的三个要素。10.进一步,步骤s2具体实现流程如下:s21.遍历或抽取描述文本库中的描述文本;s22.利用ai图片生成模型生成符合该文本描述的任意多张图片;模型生成过程中需要将目标图片的描述文本作为输入;s23.在图片库中存储生成的图片,并在图片信息库中存储图片对应的信息,包括物体、背景、行为、描述文本以及存储路径和生成时间。11.进一步,使用的ai图片生成模型包括但不限于stablediffusion、dall-e、vae或gan。12.进一步,s200中语义验证码生成环节包括以下步骤:s3.确定多要素语义验证码对应的目标图片和描述文本;s4.按预定规则,抽取指定数目的干扰图片;s5.将目标图片、描述文本、干扰图片组合成多要素语义验证码。13.进一步,步骤s4具体实现流程如下:s41.确定干扰图片的数目;s42.确定抽取干扰图片的规则;规则根据验证码的难度需求而设置;s43.在图片信息库中随机选取符合规则的、指定数量的干扰图片。14.进一步,验证码的难度分别低难度和高难度;低难度要求时,要求三个要素之一的“物体”与目标图片不一致;高难度要求时,要求三个要素之一的“物体”与目标图片一致,“背景”和/或“行为”不同。15.进一步,确定验证码的布局为n*m,准备好n*m-1张干扰图片后,和目标图片随机排列成n*m的布局。16.另一方面,本发明提供一种多要素语义验证码,所述多要素语义验证码由根据本发明所述的多要素语义验证码的生成方法所生成,所述多要素语义验证码包含一句文字描述和多张图片,其中多张图片中有且仅有一张目标图片与文字描述相吻合,用户需要根据文字描述选择正确图片,才能通过验证。17.本发明提出的多要素语义验证码及其生成方法的有益效果如下:其一,利用aigc技术让机器自动生成符合文本描述的图片,大大提高了产图的效率,能大幅提高用于验证码的图片素材的更新频率,进而使得黑产进行“图库攻击”的手段失效,提高了验证码的安全性。其二,该多要素语义验证码,要求用户在九宫格中找出符合文本描述的图片,其中文本包含了物体、背景、行为三大要素。破解谷歌的验证码recaptcha,可视为目标检测的任务,仅要求单要素(物体)匹配,现有深度学习技术能轻松解决;而相比之下,该多要素语义验证码要求的是多要素的匹配,只有完全理解图片的语义才能实现,大大提升了黑灰产破解的难度;加之利用aigc自动从文本生成图片,具有随机性和不可逆性,即使训练大语言模型进行破解,也需要大量的算力,大大提升了破解的成本,通常黑灰产不具备这方面的破解能力。附图说明18.图1示出了根据本发明实施例的多要素语义验证码生成方法流程图;图2示出了根据本发明实施例的生成描述文本流程图;图3示出了根据本发明实施例的生成图片素材流程图;图4示出了根据本发明实施例的语义验证码生成流程图;图5示出了根据本发明实施例的多要素语义验证码的示意图。具体实施方式19.下面将结合附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。20.在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。21.在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。22.以下结合图1-图5对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。23.本发明的目的在于提供一种多要素语义验证码及其生成方法,该方法利用aigc(ai-generatedcontent人工智能自动生成内容)技术来高效自动化生产一种具备语义并且更安全的验证码。24.本发明生成的多要素语义验证码包含两个部分:一句文字描述以及多张图片,其中有且仅有一张图片与文字描述相吻合,用户需要根据文字描述选择正确图片,才能通过验证。与传统的图片点选(例如google的recaptcha)验证码仅包含“物体”这一单一要素不同,本发明中利用aigc生成的图片包含多个语义要素。例如,“一只猫躺在屋顶上”,包含了三个要素,第一个是ꢀ“猫”这个物体,第二个是“屋顶上”这个背景,第三个是“躺”这个行为。25.根据本发明实施例的一种多要素语义验证码的生成方法,其主要包含图文素材生成、语义验证码生成两大环节。对应地,通过图文素材生成模块实现图文素材生成,通过语义验证码生成模块实现语义验证码生成。两大环节有先后顺序但相对独立。其中图文素材生成又包括两个子环节:生成描述文本环节和生成图片素材环节,两者有先后顺序但相对独立。26.如图1所示,根据本发明的一种多要素语义验证码及其生成方法,包括如下两个环节:s100.图文素材生成。通过图文素材生成模块实现图文素材生成,其中,图文素材包括描述文本库和与描述文本对应的图片库和信息库;s200.语义验证码生成。通过语义验证码生成模块实现语义验证码生成,包括确定多要素语义验证码对应的描述文本,确定目标图片和干扰图片,并将描述文本、目标图片和干扰图片组合成多要素语义验证码。27.其中s100中进一步包括以下步骤s1-s2:s1.生成描述文本库;s2.生成描述文本对应的图片库和图片信息库。28.具体地,如图2所示,步骤s1中描述文本包含三个要素:物体、背景和行为,生成描述文本库按照以下流程实现:s11.生成物体列表。生成的物体列表中包含至少一种物体,物体可以包含属性,比如“白色的猫”,物体是“猫”,其属性是“白色”。29.s12.生成背景列表。背景可以包含属性,比如“三角形的屋顶”,背景是“屋顶”,其属性是“三角形”。30.s13.生成行为列表。具体行为一般由动作组成,例如“坐”、“躺”、“站”、“跳”等。31.可以以任何方式获取上述物体列表、背景列表和行为列表,包括但不限于:通过大语言模型llm自动生成、从网上搜集或从词典中获取等。32.s14.从上述三个列表中随机组合物体、背景、行为,生成多条描述文本,存储到描述文本库中,存储内容包括描述文本及对应的三个要素。将三个要素组合成文本时,可使用文本模板,亦可使用大语言模型。33.大语言模型(llm)是一种基于深度学习的强大人工智能模型,能够处理自然语言任务并生成与人类语言相似的文本。llm的训练过程通常基于海量的文本数据,通过学习这些数据的模式和规律来提高自然语言的处理能力。训练过程需要大量的计算资源和时间,因为模型参数很多,并且需要进行复杂的优化算法来调整这些参数。34.llm中的提示词技术(prompting)是一种在与模型交互或生成文本时,通过向模型提供特定的提示或指示来引导模型生成特定类型的文本。这种技术可以用于控制llm的输出,使其更加符合特定的需求或语境。35.此外,步骤s14中,还包括对生成的描述文本进行筛选的环节,具体如下:将物体、背景、行为随机组合成一句描述文本后,可能出现三种情况:a.符合现实b.不符合现实,但能画出来c.难以画出来例如,猫在桌子上打瞌睡,符合现实;猫在桌子上跳绳,不符合现实,但能画出来;猫在树上跳绳,难以画出来。36.可以认为,难以画出来的描述文本是不合理的。在随机组合生成描述文本之后,需要经过筛选,剔除这部分不合理的描述文本。其中筛选方式可人工筛选,也可以通过模型筛选。对于模型筛选,本发明提供以下两种方式:第一种:取一批描述文本,进行打标,作为样本训练一个深度学习模型。37.第二种:使用提示词技术,通过llm判断生成的描述文本是否合理。38.如图3所示,对于步骤s2生成描述文本对应的图片库和图片信息库的实现流程如下:s21.遍历或抽取描述文本库中的描述文本。可以把所有已有的描述文本逐一遍历生成图片,若描述文本库中数量较多,也可以抽取一部分描述文本生成图片。39.s22.利用ai图片生成模型生成符合该文本描述的任意多张图片,使用的ai图片生成模型包括但不限于stablediffusion、dall-e、vae、gan等。模型生成过程中需要将目标图片的描述文本作为输入。40.利用aigc生成验证码图片素材的优点就在于能大量生成不重复的图片,从而缩短图片更新的周期。41.描述文本和相应图片是一对多的关系,一个描述文本可生成至少一张对应的图片。如果生成的多张图片质量都合格,则全部存入图片库。生成多张图片能够增加最终呈现的语义验证码的多样性,即使是同一个目标描述文本,不同用户也可能看到不一样的图片。42.s23.在图片库中存储生成的图片,并在图片信息库中存储图片对应的信息,包括物体、背景、行为、描述文本以及存储路径、生成时间等。43.进一步,s200中语义验证码生成环节包括以下步骤s3-s5:s3.确定多要素语义验证码对应的目标图片和描述文本;s4.按预定规则,抽取指定数目的干扰图片;s5.将目标图片、描述文本、干扰图片组合成多要素语义验证码。44.具体地,如图4所示,对于步骤s3,从图片信息库中任意抽取一张目标图片,将这张图片对应的描述文本作为语义验证码对应的描述文本。45.对于步骤s4.按预定规则,抽取指定数目的干扰图片,包括以下流程:s41.确定干扰图片的数目。确定验证码的布局为n*m,准备好n*m-1张干扰图片后,和目标图片随机排列成n*m的布局。记录下目标图片的位置,以便判断用户点选是否正确。如最终验证码以九宫格形式呈现图片,则需要8张干扰图片。46.s42.确定抽取干扰图片的预定规则。预定规则可根据验证码的难度需求而设置,比如低难度时,要求三个要素之一的“物体”与目标图片不一致;高难度时,要求三个要素之一的“物体”与目标图片一致,“背景”和/或“行为”则不同。47.s43.在图片信息库中随机选取符合规则的、指定数量的干扰图片。48.s5.将目标图片、描述文本、干扰图片组合成多要素语义验证码。49.下面根据图5详细介绍本发明的一个具体实施例。50.s100.图文素材生成环节。51.s1.生成描述文本库:s11.提供物体列表:[“猫”],物体的属性为“白色”。[0052]s12.提供背景列表:[“海滩上”,“草地上”,“书架边”],背景的属性均为“无”。[0053]s13.提供具体行为列表:[“站”,“躺”,“玩球”]。[0054]s14.随机组合物体、背景、行为,生成下列文本描述:白色的猫在海滩上站着白色的猫在草地上站着白色的猫在书架边站着白色的猫在海滩上躺着白色的猫在草地上躺着白色的猫在书架边躺着白色的猫在海滩上玩球白色的猫在草地上玩球白色的猫在书架边玩球s2.将上述描述分别输入ai图片生成模型,对每个描述生成验证码所需的多张图片,并存储图片及图片信息。[0055]s200.语义验证码生成环节。[0056]s3.选取目标图片及对应的描述文本,比如从图片库中选择一张“白色的猫在书架边站着”的图片作为目标图片。[0057]s4.选取8张干扰图片,规则是三个要素中任意一个要素与目标图片不一致即可。本例中,选择与目标图片的描述文本不同的其它8个描述文本对应的图片各一张。[0058]s5.将目标图片、描述文本、干扰图片组合,得到如图5所示的多要素语义验证码。[0059]本发明中,语义验证码生成会一直不断进行;生成图片素材每日执行一次。假设每张图片的有效期为7天,一批图片1000张,那么需要每日生成图片素材1000张,第二天替换掉最近过期的1000张;生成描述文本是执行频率最低的。执行一次后,生成的描述文本库可以长时间不变更。如有需要,如根据业务需求,需要补充新的物体、背景、行为(或添加属性),则更新对应的列表后重新执行(可增量进行,如添加n个新的物体,那么物体列表为这n个物体,背景列表、行为列表保持不变)。[0060]本发明中,两大环节s100和s200是相对独立的;s100中,s1和s2也是相对独立的。[0061]根据本发明的一种多要素语义验证码,包含一句文字描述和多张图片,其中多张图片中有且仅有一张目标图片与文字描述相吻合,用户需要根据文字描述选择正确图片,才能通过验证;所述文字描述中包含物体、背景和行为三个要素。[0062]根据本发明的验证码和生成方法,利用aigc(人工智能自动生成内容)技术让机器自动生成符合文本描述的图片,大大提高了产图的效率,能大幅提高用于验证码的图片素材的更新频率,进而使得黑产进行“图库攻击”的手段失效,提高了验证码的安全性。根据本发明的多要素语义验证码,要求用户在九宫格中找出符合文本描述的图片,其中文本包含了物体、背景、行为三大要素。破解验证码recaptcha,可视为目标检测的任务,仅要求单要素(物体)匹配,现有深度学习技术能轻松解决;而相比之下,该多要素语义验证码要求的是多要素的匹配,只有完全理解图片的语义才能实现,大大提升了黑灰产破解的难度;加之利用aigc自动从文本生成图片,具有随机性和不可逆性,即使训练大语言模型进行破解,也需要大量的算力,大大提升了破解的成本,通常黑灰产不具备这方面的破解能力。[0063]本发明流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为表示包括一个或多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,可以实现在任何计算机刻度介质中,以供指令执行系统、装置或设备,所述计算机可读介质可以是任何包含存储、通信、传播或传输程序以供执行系统、装置或设备使用。包括只读存储器、磁盘或光盘等。[0064]在本说明书的描述中,参考术语“实施例”、“示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。此外,本领域的技术人员可以在不产生矛盾的情况下,将本说明书中描述的不同实施例或示例以及其中的特征进行结合或组合。[0065]上述内容虽然已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型等更新操作。当前第1页12当前第1页12
技术特征:
1.一种多要素语义验证码的生成方法,其特征在于,所述方法包括以下两个环节:s100. 图文素材生成;通过图文素材生成模块实现图文素材生成,其中,图文素材包括描述文本库和与描述文本对应的图片库和信息库;s200. 语义验证码生成;通过语义验证码生成模块实现语义验证码生成,包括确定多要素语义验证码对应的描述文本,确定目标图片和干扰图片,并将描述文本、目标图片和干扰图片组合成多要素语义验证码。2.根据权利要求1所述的一种多要素语义验证码的生成方法,其特征在于,s100中进一步包括以下步骤:s1.生成描述文本库;描述文本包含三个要素:物体、背景和行为;s2.生成描述文本对应的图片库和图片信息库。3.根据权利要求2所述的一种多要素语义验证码的生成方法,其特征在于,其中步骤s1中生成描述文本库的具体实现流程如下:s11.生成物体列表;物体包含属性;s12.生成背景列表;背景包含属性;s13.生成行为列表;具体行为由动作组成;s14.从上述三个列表中随机组合物体、背景和行为,生成多条描述文本,存储到描述文本库中,存储内容包括描述文本及对应的三个要素。4.根据权利要求2所述的一种多要素语义验证码的生成方法,其特征在于,步骤s2具体实现流程如下:s21.遍历或抽取描述文本库中的描述文本;s22.利用ai图片生成模型生成符合该文本描述的任意多张图片;模型生成过程中需要将目标图片的描述文本作为输入;s23.在图片库中存储生成的图片,并在图片信息库中存储图片对应的信息,包括物体、背景、行为、描述文本以及存储路径和生成时间。5.根据权利要求4所述的一种多要素语义验证码的生成方法,其特征在于,使用的ai图片生成模型包括但不限于stable diffusion、dall-e、vae或gan。6.根据权利要求1所述的一种多要素语义验证码的生成方法,其特征在于,s200中语义验证码生成环节包括以下步骤:s3.确定多要素语义验证码对应的目标图片和描述文本;s4.按预定规则,抽取指定数目的干扰图片;s5.将目标图片、描述文本、干扰图片组合成多要素语义验证码。7.根据权利要求6所述的一种多要素语义验证码的生成方法,其特征在于,步骤s4具体实现流程如下:s41.确定干扰图片的数目;s42.确定抽取干扰图片的规则;规则根据验证码的难度需求而设置;s43.在图片信息库中随机选取符合规则的、指定数量的干扰图片。8.根据权利要求7所述的一种多要素语义验证码的生成方法,其特征在于,验证码的难度分别低难度和高难度;低难度要求时,要求三个要素之一的“物体”与目标图片不一致;高难度要求时,要求三个要素之一的“物体”与目标图片一致,“背景”和/或“行为”不同。
9.根据权利要求8所述的一种多要素语义验证码的生成方法,其特征在于,确定验证码的布局为n*m,准备好n*m-1张干扰图片后,和目标图片随机排列成n*m的布局。10.一种多要素语义验证码,其特征在于,所述多要素语义验证码由根据权利要求1-9任一项所述的多要素语义验证码的生成方法所生成,所述多要素语义验证码包含一句文字描述和多张图片,其中多张图片中有且仅有一张目标图片与文字描述相吻合,用户需要根据文字描述选择正确图片,才能通过验证。

技术总结
本发明公开了一种多要素语义验证码及其生成方法,包括以下两个环节:S100.图文素材生成;通过图文素材生成模块实现图文素材生成,其中,图文素材包括描述文本库和与描述文本对应的图片库和信息库;S200.语义验证码生成;通过语义验证码生成模块实现语义验证码生成,包括确定多要素语义验证码对应的描述文本,确定目标图片和干扰图片,并将描述文本、目标图片和干扰图片组合成多要素语义验证码。采用本方法的验证码生产图片素材效率高、基于图文的多要素语义匹配难以轻易被模型破解,安全性高。安全性高。安全性高。


技术研发人员:陈龙 陈德蕾 陈树华
受保护的技术使用者:北京顶象技术有限公司
技术研发日:2023.06.15
技术公布日:2023/7/22
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐