CN112364332B - 一种基于语义转换的安全图形验证码的实现方法 - Google Patents
一种基于语义转换的安全图形验证码的实现方法 Download PDFInfo
- Publication number
- CN112364332B CN112364332B CN202011248989.XA CN202011248989A CN112364332B CN 112364332 B CN112364332 B CN 112364332B CN 202011248989 A CN202011248989 A CN 202011248989A CN 112364332 B CN112364332 B CN 112364332B
- Authority
- CN
- China
- Prior art keywords
- verification code
- semantic conversion
- verification
- platform
- security
- 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.)
- Active
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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/36—User authentication by graphic or iconic representation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Document Processing Apparatus (AREA)
Abstract
本发明公开了一种基于语义转换的安全图形验证码的实现方法,包括建立安全验证码语义转换矩阵的方法、基于语义转换的安全验证码使用方法以及对验证码平台安全进行增强的方法;本发明并非通过增加验证码的复杂度来增强验证码的可靠性,对用户友好,在没有大幅增加人工识别点选难度的同时,显著提高了机器识别、解析的难度,提高了图形验证码的安全性,针对验证码平台的安全进行了增强,有效降低了通过穷举方式进行破解的可能性。
Description
技术领域
本发明涉及安全验证码实现技术领域,具体涉及一种基于语义转换的安全图形验证码的实现方法。
背景技术
全自动区分计算机和人类的图灵测试(Completely Automated Public Turingtest to tell Computers and Humans Apart,简称CAPTCHA),俗称验证码,是一种区分用户是计算机还是人的公共全自动程序。通过使用验证码辨别登录操作是人还是机器人,能有效降低破解密码、批量注册用户、批量投放广告、发送垃圾邮件等恶意行为的通过率。
尽管目前已经有诸多可替代的用户身份验证方案,比如人脸认证、指纹认证和虹膜认证等,但是这些认证存在可部署性差、不可撤销且存在隐私泄露等风险。图形验证码由于便于辨识、操作简单、易于推广、维护成本低,仍然是一种被广泛使用的认证方式。
目前比较常见的验证码包括输入式验证码、滑动式验证码、点选式的图形验证码等。为了提升验证码的安全性,通常采用对文本进行变形、在图片中增加干扰项、增加图形的复杂性等技术手段。但是,验证码复杂度的提高,给真正的业务系统使用者也带来了不便。使用者往往出现辨别失误,验证环节耗时增加,业务系统的使用友好度降低。
相比较而言,点选式的图文验证码较前两者安全性更高,目前使用更为普遍。现有的点选式验证码通常要求用户根据提示文字,在验证码图片中寻找匹配内部按照顺序进行点选,发生漏点、错点或者顺序错误均会导致验证失败。随着图像识别、模式匹配、机器学习等新技术的发展,计算机有可能完成文字信息的识别,进而完成验证码的破解。
发明内容
针对现有技术存在的问题,本发明提供一种基于语义转换的点选式安全图形验证码的实现方法,如果图像验证码的提示内容(源信息)和点选内容(目标信息)不一致,人可以借助语义转换提示信息,通过理解语义,快速实现源与目标的匹配,完成点选操作;而计算机即使能识别出相关文字,也无法快速完成语义转换、无法完成源与目标的关联,也就无法完成点选操作。
为了达到上述目的,本发明采用如下技术方案:
一种基于语义转换的安全图形验证码的实现方法,包括建立安全验证码语义转换矩阵的方法、基于语义转换的安全验证码使用方法以及对验证码平台安全进行增强的方法;
所述建立安全验证码语义转换矩阵的方法,具体如下:
步骤1、建立验证码源表ST;
验证码源表ST用于存储大量的图形验证码Mi;
1)因为要便于用户识别并进行语义转换,所以验证码源表ST中的图形验证码Mi内容以常用的字、词语或短句为主,避免采用生僻词语、生僻短句;
2)图形验证码Mi按照包含字数长度依次排列,长度约定为:M1≤M2≤M3...≤Mn;
3)记录图形验证码Mi的类型即词性,便于进行分类检索。
步骤2、建立语义转换规则表Rn
序号 | 语义转换方式 | 符号表示 | 语义表述 |
1 | 同义 | R<sub>1</sub> | 相同 |
2 | 反义 | R<sub>2</sub> | 相反 |
3 | 上义 | R<sub>3</sub> | 包含 |
4 | 下义 | R<sub>4</sub> | 被包含 |
5 | 总分 | R<sub>5</sub> | 组成 |
6 | 同属异类 | R<sub>6</sub> | 同类 |
... | ... | ... | ... |
N | 扩展规则 | R<sub>n</sub> | ... |
其中,语义转换规则决定了源验证码和目标验证码的转换关联方式;语义转换的复杂度约定为:R1≤R2≤R3...≤Rn。
步骤3、建立语义转换矩阵Tm
其中,M’mn0~M’mnn是基于语义转换规则表Rn对应源验证码Mm生成的目标验证码数组。
所述基于语义转换的安全验证码使用方法,具体如下:
步骤1、业务客户端请求连接,客户端的验证码插件向验证码平台发起一个连接请求;
步骤2、验证码平台响应并创建一个新的SessionID,根据随机选择算法Ar从验证码源表ST中任意读取一个图形验证码Mi;同时,根据语义转换规则Ri选中M’in0~M’inn数组,再根据随机选择算法Ar选择其中一个元素M’i。同时根据随机选择算法Ar选出与Mi类型不同的Mj对应M’jn0~M’jnn数组中的干扰项M’j,由于Mi和Mj类型不同,确保M’i与M’j不会出现语义混淆。生成验证码元组{Mi,Ri,M’i,M’j};
步骤3、验证码平台将验证码元组{Mi,Ri,M’i,M’j}合成验证码图片Ci,记录M’i的位置信息Li;
步骤4、验证码平台将验证码图片Ci和SessionID一并返回给客户端;
步骤5、客户端的验证码插件显示验证码图片Ci,用户通过语义转换规则Ri的提示信息在图片中找到M’i,点击选择后将位置信息序列化并加密后得到二进制的验证信息Si;
步骤6、客户端将用户名Ui、密码信息Pi发送至业务服务器,将{Si,SessionID}发送至验证码平台;
步骤7、验证码平台解密二进制的验证信息Si后与位置信息Li进行比对,将比对结果返回给业务服务器进行后续的处理;
步骤8、业务服务器返回最终的登录结果给客户端。
所述对验证码平台安全进行增强的方法,具体如下:
步骤1、验证码平台设定连续验证错误次数上限Emax;
步骤2、验证码平台记录连续验证错误次数Ei,如果Ei≥Emax,选择长度更长的验证码Mi+1或选择复杂度更高的语义转换规则Ri+1,并记录客户端IP指纹信息;
步骤3、定期更新语义转换矩阵Tm内容,降低机器穷举破解的可能性。
总体而言,本发明所提供的技术方案与现有技术相比,具有以下优点:
1)不是通过增加验证码的复杂度来增强验证码的可靠性,对用户友好。
2)在没有大幅增加人工识别点选难度的同时,显著提高了机器识别、解析的难度,提高了图形验证码的安全性。
3)针对验证码平台的安全进行了增强,有效降低了通过穷举方式进行破解的可能性。
附图说明
图1为本发明提供的建立安全验证码语义转换矩阵的流程图。
图2为本发明提供的基于语义转换的安全验证码使用方法流程图。
图3为本发明提供的对验证码平台进行安全增强策略流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明提供了一种基于语义转换的安全图形验证码的实现方法,主要包括建立安全验证码语义转换矩阵的方法、基于语义转换的安全验证码使用方法以及对验证码平台安全进行增强的方法。
如图1所示,建立安全验证码语义转换矩阵方法如下:
S11、建立验证码源表ST;
验证码源表ST用于存储大量的图形验证码Mi;
1)因为要便于用户识别并进行语义转换,所以验证码源表ST中的图形验证码Mi内容以常用的字、词语或短句为主,避免采用生僻词语、生僻短句;
2)图形验证码Mi按照包含字数长度依次排列,长度约定为:M1≤M2≤M3...≤Mn;
3)记录图形验证码Mi的类型(名词、动词、形容词、副词等),便于进行分类检索。
S12、建立语义转换规则表Rn
序号 | 语义转换方式 | 符号表示 | 语义表述 |
1 | 同义 | R<sub>1</sub> | 相同 |
2 | 反义 | R<sub>2</sub> | 相反 |
3 | 上义 | R<sub>3</sub> | 包含 |
4 | 下义 | R<sub>4</sub> | 被包含 |
5 | 总分 | R<sub>5</sub> | 组成 |
6 | 同属异类 | R<sub>6</sub> | 同类 |
... | ... | ... | ... |
N | 扩展规则 | R<sub>n</sub> | ... |
其中,语义转换规则决定了源验证码和目标验证码的转换关联方式;语义转换的复杂度约定为:R1≤R2≤R3...≤Rn。
S13、建立语义转换矩阵Tm
其中,M’mn0~M’mnn是基于语义转换规则表Rn对应源验证码Mm生成的目标验证码数组。
如图2所示,所述基于语义转换的安全验证码使用方法包括以下实施步骤:
S21、业务客户端请求连接,客户端的验证码插件向验证码平台发起一个连接请求;
S22、验证码平台响应并创建一个新的SessionID,根据随机选择算法Ar从验证码源表ST中任意读取一个图形验证码Mi;同时,根据语义转换规则Ri选中M’in0~M’inn数组,再根据随机选择算法Ar选择其中一个元素M’i。同时根据随机选择算法Ar选出与Mi类型不同的Mj对应M’jn0~M’jnn数组中的干扰项M’j,由于Mi和Mj类型不同,确保M’i与M’j不会出现语义混淆。生成验证码元组{Mi,Ri,M’i,M’j};
S23、验证码平台将验证码元组{Mi,Ri,M’i,M’j}合成验证码图片Ci,记录M’i的位置信息Li;
S24、验证码平台将验证码图片Ci和SessionID一并返回给客户端;
S25、客户端的验证码插件显示验证码图片Ci,用户通过语义转换规则Ri的提示信息在图片中找到M’i,点击选择后将位置信息序列化并加密后得到二进制的验证信息Si;
S26、客户端将用户名Ui、密码信息Pi发送至业务服务器,将{Si,SessionID}发送至验证码平台;
S27、验证码平台解密二进制的验证信息Si后与位置信息Li进行比对,将比对结果返回给业务服务器进行后续的处理;
S28、业务服务器返回最终的登录结果给客户端。
如图3所示,对验证码平台安全进行增强的方法包括如下步骤:
S31,验证码平台设定连续验证错误次数上限Emax;
S32,验证码平台记录连续验证错误次数Ei,如果Ei≥Emax,选择长度更长的验证码Mi+1或选择复杂度更高的语义转换规则Ri+1,并记录客户端IP指纹信息;
S33,定期更新语义转换矩阵Tm内容,降低机器穷举破解的可能性。
Claims (1)
1.一种基于语义转换的安全图形验证码的实现方法,其特征在于:包括建立安全验证码语义转换矩阵的方法、基于语义转换的安全验证码使用方法以及对验证码平台安全进行增强的方法;
所述建立安全验证码语义转换矩阵的方法,具体如下:
步骤1、建立验证码源表ST;
验证码源表ST用于存储大量的图形验证码Mi;
1)因为要便于用户识别并进行语义转换,所以验证码源表ST中的图形验证码Mi内容以常用的字、词语或短句为主,避免采用生僻词语、生僻短句;
2)图形验证码Mi按照包含字数长度依次排列,长度约定为:M0≤M1≤M2...≤Mm;
3)记录图形验证码Mi的类型即词性,便于进行分类检索;
步骤2、建立语义转换规则表
其中,语义转换规则决定了源验证码和目标验证码的转换关联方式;语义转换的复杂度约定为:R1≤R2≤R3...≤Rn;
步骤3、建立语义转换矩阵Tm
其中,M’mn0~M’mnn是基于语义转换规则Rn对源验证码Mm生成的目标验证码数组;
所述基于语义转换的安全验证码使用方法,具体如下:
步骤1、业务客户端请求连接,客户端的验证码插件向验证码平台发起一个连接请求;
步骤2、验证码平台响应并创建一个新的SessionID,根据随机选择算法Ar从验证码源表ST中任意读取一个图形验证码Mi;同时,根据语义转换规则Ri选中M’ii0~M’iin数组,再根据随机选择算法Ar选择其中一个元素M’i,,同时根据随机选择算法Ar选出与Mi类型不同的Mj对应M’ji0~M’jin数组中的干扰项M’j,由于Mi和Mj类型不同,确保M’i与M’j不会出现语义混淆,生成验证码元组{Mi,Ri,M’i,M’j};
步骤3、验证码平台将验证码元组{Mi,Ri,M’i,M’j}合成验证码图片Ci,记录M’i的位置信息Li;
步骤4、验证码平台将验证码图片Ci和SessionID一并返回给客户端;
步骤5、客户端的验证码插件显示验证码图片Ci,用户通过语义转换规则Ri的提示信息在图片中找到M’i,点击选择后将位置信息序列化并加密后得到二进制的验证信息Si;
步骤6、客户端将用户名Ui、密码信息Pi发送至业务服务器,将{Si,SessionID}发送至验证码平台;
步骤7、验证码平台解密二进制的验证信息Si后与位置信息Li进行比对,将比对结果返回给业务服务器进行后续的处理;
步骤8、业务服务器返回最终的登录结果给客户端;
所述对验证码平台安全进行增强的方法,具体如下:
步骤1、验证码平台设定连续验证错误次数上限Emax;
步骤2、验证码平台记录连续验证错误次数Ei,如果Ei≥Emax,选择长度更长的验证码Mi+1或选择复杂度更高的语义转换规则Ri+1,并记录客户端IP指纹信息;
步骤3、定期更新语义转换矩阵Tm内容,降低机器穷举破解的可能性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011248989.XA CN112364332B (zh) | 2020-11-10 | 2020-11-10 | 一种基于语义转换的安全图形验证码的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011248989.XA CN112364332B (zh) | 2020-11-10 | 2020-11-10 | 一种基于语义转换的安全图形验证码的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112364332A CN112364332A (zh) | 2021-02-12 |
CN112364332B true CN112364332B (zh) | 2023-01-31 |
Family
ID=74508623
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011248989.XA Active CN112364332B (zh) | 2020-11-10 | 2020-11-10 | 一种基于语义转换的安全图形验证码的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112364332B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116451207A (zh) * | 2023-06-15 | 2023-07-18 | 北京顶象技术有限公司 | 一种多要素语义验证码及其生成方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103942486A (zh) * | 2013-01-17 | 2014-07-23 | 上海博路信息技术有限公司 | 一种图像阵列的验证码 |
CN106340049A (zh) * | 2015-07-15 | 2017-01-18 | 中国传媒大学 | 一种基于动画语义的验证码产生方法 |
CN107609389A (zh) * | 2017-08-24 | 2018-01-19 | 南京理工大学 | 一种基于图像内容相关性的验证方法及系统 |
CN108123806A (zh) * | 2017-12-19 | 2018-06-05 | 重庆亚凡科技有限公司 | 提问式图片验证码的生成方法 |
CN110119441A (zh) * | 2019-05-16 | 2019-08-13 | 厦门商集网络科技有限责任公司 | 基于汉字结构的文字点选验证码识别与填入方法 |
CN111079438A (zh) * | 2019-12-04 | 2020-04-28 | 北京声智科技有限公司 | 身份验证方法、装置、电子设备及存储介质 |
CN111523105A (zh) * | 2020-04-15 | 2020-08-11 | 闽南科技学院 | 基于语义理解的交互式图片验证方法 |
-
2020
- 2020-11-10 CN CN202011248989.XA patent/CN112364332B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103942486A (zh) * | 2013-01-17 | 2014-07-23 | 上海博路信息技术有限公司 | 一种图像阵列的验证码 |
CN106340049A (zh) * | 2015-07-15 | 2017-01-18 | 中国传媒大学 | 一种基于动画语义的验证码产生方法 |
CN107609389A (zh) * | 2017-08-24 | 2018-01-19 | 南京理工大学 | 一种基于图像内容相关性的验证方法及系统 |
CN108123806A (zh) * | 2017-12-19 | 2018-06-05 | 重庆亚凡科技有限公司 | 提问式图片验证码的生成方法 |
CN110119441A (zh) * | 2019-05-16 | 2019-08-13 | 厦门商集网络科技有限责任公司 | 基于汉字结构的文字点选验证码识别与填入方法 |
CN111079438A (zh) * | 2019-12-04 | 2020-04-28 | 北京声智科技有限公司 | 身份验证方法、装置、电子设备及存储介质 |
CN111523105A (zh) * | 2020-04-15 | 2020-08-11 | 闽南科技学院 | 基于语义理解的交互式图片验证方法 |
Non-Patent Citations (1)
Title |
---|
验证码技术的攻防对策研究;王斌君等;《计算机应用研究》;20130515(第09期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112364332A (zh) | 2021-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9600648B2 (en) | Methods and apparatuses for controlling access to computer systems and for annotating media files | |
US11847199B2 (en) | Remote usage of locally stored biometric authentication data | |
US8347370B2 (en) | Multi-channel multi-factor authentication | |
US20090309698A1 (en) | Single-Channel Multi-Factor Authentication | |
US20090276839A1 (en) | Identity collection, verification and security access control system | |
US20080066167A1 (en) | Password based access including error allowance | |
US20050216768A1 (en) | System and method for authenticating a user of an account | |
US9189603B2 (en) | Kill switch security method and system | |
US20090235178A1 (en) | Method, system, and computer program for performing verification of a user | |
Jakobsson et al. | Rethinking passwords to adapt to constrained keyboards | |
CN109086600A (zh) | 密码生成和认证系统 | |
CN112364332B (zh) | 一种基于语义转换的安全图形验证码的实现方法 | |
Marasco et al. | Biometric multi‐factor authentication: On the usability of the FingerPIN scheme | |
WO2023092345A1 (zh) | 身份认证方法、装置、终端、存储介质及程序产品 | |
Alnfiai et al. | Tapcaptcha: non-visual captcha on touchscreens for visually impaired people | |
WO2010055159A2 (en) | Completely automatic public turing test to tell computers and humans apart (captcha) based on a multiple of different captcha methods | |
Yazdi | Probabilistic context-free grammar based password cracking: attack, defense and applications | |
TWI447657B (zh) | Identification Method of Reverse Human Machine Identification Code Based on Chinese Font Structure | |
US11888880B1 (en) | Systems and methods for detecting keyboard characteristics | |
CN116383788A (zh) | 身份验证方法及装置 | |
US20230171242A1 (en) | Secure account login and authentication | |
CN117675337A (zh) | 一种基于鼠标行为的用户认证方法、装置及电子设备 | |
Pitchay et al. | An investigation on Jawi CAPTCHA based security for login authentication and authorization: Is it an alternative solution? | |
Huang | Exploratory Analysis of Password and Login Security Methods | |
CN116246638A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |