CN112311806B - 一种地理信息认证验证码的生成方法 - Google Patents
一种地理信息认证验证码的生成方法 Download PDFInfo
- Publication number
- CN112311806B CN112311806B CN202011234898.0A CN202011234898A CN112311806B CN 112311806 B CN112311806 B CN 112311806B CN 202011234898 A CN202011234898 A CN 202011234898A CN 112311806 B CN112311806 B CN 112311806B
- Authority
- CN
- China
- Prior art keywords
- verification code
- latitude
- longitude
- user
- picture
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
- H04L63/0838—Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Instructional Devices (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种地理信息认证验证码的生成方法,所述方法包括根据用户请求的IP地址获取用户访问所在实际地理位置的经纬度信息,根据预设的规则选取相应的地图验证码图片,并将选取的地图验证码图片返回给用户进行用户地址圈选操作,用户完成圈选操作后将图片发送给验证服务器,验证服务器根据完成圈选的图片进行分析计算与用户发出请求获取到的地点经纬度进行对比。本发明能有效的区分人机用户,极大降低了机器通过图像识别技术和人工智能技术进行验证码破解的可能性。
Description
技术领域
本发明涉及计算机技术领域,其中主要涉及网站维护、网站人机识别、网站图像验证码领域。特别是涉及一种以人为逻辑判断为主的验证码的实现方法。
背景技术
验证码作为一种人机区分的重要技术,已成为网站防护领域重要的防护手段。网站通过验证码可区分人机访问,极大降低了网络爬虫带来的安全风险,比如通过自动化脚本进行批量注册账号、通过自动化登录脚本进行非用户主体登录、通过批量脚本实现恶意刷单影响网站环境、通过网络爬虫脚本暴力抢票对数据服务器进行过度施压、通过网络爬虫技术制作数据镜像盗取网站数据等等。基于目前的技术市面上主流的验证码主要有:
(1)图像验证码。通过数字、字母和中文的选择组合,通过计算机视觉技术将字符进行一定的扭曲、对图片进行添加线条干扰等生成图形验证码。虽然这种方式可通过代码批量生成图片,减低人工处理和筛选成本的同时,不断更新图片库增强安全性,但是基于深度学习和神经网络发展,目前可以通过神经网络模型训练识别的方式对验证码图片进行读取识别。
(2)语音验证码。语音验证码的实现基本原理与字符型验证码十分相似,不同的是语音验证码将字符内容的载体从图片替换成了音频。这一类验证码同样可通过神经网络训练识别的方式进行破解。
(3)行为验证码。行为验证码是一种新型的验证码,通过在普通的图片验证码的基础上通过鼠标的点选拖动操作加入了人为逻辑的判断。这一类验证码通过人为的交互极大的提高了网站的安全性。但由于这一类验证码生成的过程比较复杂、图片精度要求较高,需要大量的人工筛选处理,同时这一类验证码难以通过代码的形式批量生成,图片库存有限,难度较大的验证码可通过穷举法进行暴力破解。
(4)动态验证码。通过图像复合帧技术将原先静态的验证码图片转换成动态的GIF验证码。这一类验证码无法通过将图片筛选出单独的一张静态图片进行深度学习模型识别,需要每帧图片进行计算对比,找出动态变化的字母或数字部分然后进行深度学习模型。动态验证码从技术上加大了验证码的破解难度,同样也降低了用户的体验,用户往往需要多次反复的查看GIF图片才能得到验证码的实际结果。
发明内容
在对市面上的验证码存在难以兼顾网络安全性和用户体验的问题,许多验证码往往在升级破解难度的同时增加了用户访问难度,从而降低了用户的体验好感程度。本发明提出了一种地理信息认证验证码的生成方法。本发明在不影响用户体验的前提下提出了一种破解难度更高、验证码图片库维护成本更低的验证码方案。
一种地理信息认证验证码的生成方法,包括以下步骤:
1)根据用户网络请求的源IP的地址获取用户发出网络请求所在位置实际的地理位置信息,并记录实际位置经度lon1和纬度lat1。
2)由于通过用户访问的IP地址获取实际地理信息存在一定的误差,所以需要将图片进行一定比例的缩小,预设缩小比例的范围在每厘米范围在 500m~1000m之间,并通过随机数的方式生成缩小比例A。同时生成用户发出请求的实际地理位置的经纬度点在地图验证码上的横向分布百分比B和纵向分布百分比C,其中横向分布百分比和纵向分布百分比C同样采用随机数的方式生成,其中横向分布百分比B的波动范围在地图验证码图片宽度的30%~70%之间,纵向分布百分比的波动范围在地图验证码图片高度的40%~60%之间。
3)由于预设的地图验证码图片的长L和宽W属于固定值,通过地图验证码图片的缩放比例A、用户访问实际位置经纬度点在地图验证码图片中的横向分布百分比B和纵向分布百分比C、用户访问的实际位置经度lon1和纬度lat1、地图验证码图片长度L和地图验证码图片宽度W得到地图验证码图片中心的实际位置的经度lon2和纬度lat2,并根据地图验证码图片的实际中心位置经度 lon2和纬度lat2,地图验证码图片缩放比例为A截取长度L、宽度为W的地图验证码图片,并对地图验证码图片进行颜色预处理操作,方便后续的地图验证码验证计算。同时计算出地图验证码图片的左上顶点位置的经度lon’和纬度 lat’。
4)记录地图验证码图片的缩放比例A和地图验证码图片左上顶点所代表的的实际经度lon’和纬度lat’,并将地图验证码图片转换为base64字符串的形式返回给用户客户端,等待用户进行地图验证码圈选操作。
5)待用户完成验证码圈选操作后,地图验证码验证服务器接收用户操作识别圈选的地图验证码图片,为了防止用户通过恶意圈选的方式对地图验证码图片校验的服务器进行过度施压,比如进行多次圈选图片、对地图验证码图片进行画笔覆盖增加图像处理的计算难度等等。本发明通过描绘圈像素的覆盖度、描绘圈范围占比计算进行地图验证码预判断处理,判断描绘圈像素的覆盖度、描绘圈范围占比是否符合相应的阈值,如果描绘圈像素的覆盖度大于预设描绘圈覆盖度阈值、描绘圈范围占比大于预设描绘圈范围占比阈值则用户此次识别认证操作验证不通过并返回验证失败信息给用户,反之进行进一步判断。其中关于描绘圈覆盖度阈值和描绘圈范围占比阈值,在经过多次试验后在不影响用户正常体验的前提下将预设描绘圈覆盖度阈值设为3%,将描绘圈范围占比阈值设为10%。
6)通过图像识别技术找出用户返回的整张地图验证码图片中最大的描绘圈,并将此描绘圈设为有效描绘圈,同时将有效描绘圈中心所在图片中的位置,根据之前记录下来的地图验证码图片的缩放比例A,地图验证码图片左上顶点代表的实际位置经度lon’和纬度lat’计算出校验的地图验证码图片的有效描绘圈中心点所代表的实际位置经度lon4和纬度lat4。
7)通过将最终校验的地图验证码图片中的有效描绘圈中心所代表的实际经度lon4和纬度lat4与用户发出请求的实际地址的经度lon1和纬度lat1 进行对比计算,通过勾股定理估算得到两个经纬度直线距离度数。若两者的差异在预设的差异阈值内则返回验证通过,否则验证不通过。其中两点的经纬度距离阈值为0.0138°
附图说明
图1为本发明实施例公开的一种地理信息认证验证码的生成方法验证码生成流程图。
图2为本发明实施例公开的一种地理信息认证验证码的生成方法验证码结果认证的流程图。
图3为本发明实施例公开的一种地理信息认证验证码的实例地图验证码图片。
图4为本发明实施例公开的一种地理信息认证验证码的实例完成正确圈选的地图验证码图片。
图5为本发明实施例公开的一种地理信息认证验证码的实例完成描绘圈像素覆盖度超出阈值的圈选地图验证码图片。
图6为本发明实施例公开的一种地理信息认证验证码的实例完成描绘圈范围占比超出阈值的圈选地图验证码图片。
具体实施方式
以下结合附图实例对本发明进一步详细描述。
1)用户访问页面,并进入了验证码验证页面发出获取地图验证码请求至地图验证码服务服务器。地图验证码服务器获取用户请求的IP地址183.159.155.203,并通过现有的IP库获取该用户的访问时所处的实际地理位置经纬度的经度为lon1=120.272798°,纬度为lat1=30.313762°。
2)随机生成地图验证码缩放比例A=500(图片每厘米代表500米),以及随机生成横向分布百分比B=20%,纵向分布百分比C=60%。
3)通过地图验证码缩放比例A,横向分布百分比B,纵向分布百分比C,用户请求实际位置经度lon1,用户请求实际位置纬度lat1,并根据长度L(预设长度为15cm),宽度W(预设宽度为8cm)计算得到地图验证码的中心位置经度lon2、纬度lat2和地图验证码左上顶点的经度lon’、纬度lat’。
lon2=360°/31544206*(0.5-B)*L*A+lon1
lat2=360°/40030173*(0.5-C)*W*A+lat1
lon’=360°/31544206*(0-B)*L*A+lon1
lat’=360°/40030173*(0-C)*W*A+lat1
4)根据计算得到的地图验证码图片中心位置的经度lon2、纬度lat2、地图验证码图片缩放比例A,截取长为L宽为W的地图验证码图片,并对图片进行预处理操作,将图片上所有像素RGB为(255,0,0)的点RGB改为(230,0,0) 如图3所示生成的地图验证码图片。记录地图验证码图片左上顶点的经度 lon’和纬度lat’。并把生成好的验证码图片以base64字符串的形式返回给请求的用户发出请求的客户端,等待用户完成地点圈选提交给地图验证码校验服务器进行验证。
5)用户完成圈选地图验证码图片操作后,向服务器提交已完成的地图验证码图片,并以base64字符串的形式返回给地图验证码结果校验的服务器,进行地图验证码结果的校验工作。
6)通过用户提交的已完成地图验证码图片圈选工作的图片计算描绘圈像素的覆盖度若描绘圈像素覆盖度大于3%,则判断为机器操作,并返回验证错误的信息给用户,反之进行下一步操作。由于在发送用户使用的客户端的地图验证码图片已经过颜色预处理操作,描绘圈像素覆盖度计算是通过描绘圈颜色的像素计算,筛选出所有RGB为(255,0,0)的点作为描绘圈的像素,并将所有描绘圈的像素除以地图验证码图片总像素为描绘圈像素覆盖度,具体的计算公式如下:
描绘圈像素覆盖度=所有描绘圈的像素/地图验证码图片总像素*100%
7)填补并找出用户描绘的最大描绘圈,计算描绘圈所占的面积占据整张验证码图片的比例,若该比例大于10%,则判断为机器操作,返回验证错误信息给用户,反之进行下一步操作。其中将所有RGB为(255,0,0)的像素独立出来生成一个新的图层进行处理,并将新图层进行二值化操作进行计算。先通过图像处理技术将所有的描绘圈补全,并通过计算所有描绘圈的面积排序筛选出面积最大的描绘圈最为最终的有效描绘圈。
8)通过地图验证码图片缩放比例A和地图验证码图片左上顶点的经度 lon’和左上纬度lat’,计算有效描绘圈中心点代表的实际经度lon4和实际纬度lat4。
9)将有效描绘圈中心点代表的实际经度lon4和实际纬度lat4,与用户发出请求的实际位置的经度lon1和实际位置的纬度lat1进行距离计算对比,若两点的距离小于预设阈值则返回验证通过信息,并进行进一步的访问操作,反之直接返回验证错误信息给用户。其中距离计算采用勾股定理估算的方式进行估算,将两点的经度相减得到的值进行平方运算并加上两点纬度相减得到的值进行平方运行,并将两个平方运算得到的和进行开方运算得到估算的相差度数绝对值,具体计算公式如下:
距离度数=((lat4-lat1)^2+(lon4-lon1)^2)^0.5。
Claims (4)
1.一种地理信息认证验证码的生成方法,其特征在于:
步骤1,通过用户发出请求所在实际地理位置的经纬度信息,根据验证码图片的缩放比例A、用户请求经纬度点在验证码图片中的横向分布百分比B和纵向分布百分比C生成验证码图片,具体的:
通过地图验证码缩放比例A,横向分布百分比B,纵向分布百分比C,用户请求实际位置经度lon1,用户请求实际位置纬度lat1,并根据长度L,宽度W计算得到地图验证码的中心位置经度lon2、纬度lat2和地图验证码左上顶点的经度lon’、纬度lat’;根据计算得到的地图验证码图片中心位置的经度lon2、纬度lat2、地图验证码图片缩放比例A,截取长为L宽为W的地图验证码图片;
步骤2,记录验证码图片的左上顶点经纬度信息,地图缩放比例A返回生成的验证码图片至客户端;
步骤3,将验证码图片在用户的客户端展示,并通过用户鼠标点击拖动的方式圈出用户人为判断的所在地点所在验证码图片中的位置,生成校验的验证码图片;
步骤4,对校验的验证码图片进行判断,根据描绘圈像素的覆盖度、描绘圈范围占比进行预判断,如果描绘圈像素的覆盖度大于预设覆盖度阈值、描绘圈范围占比大于预设描绘圈范围占比阈值则验证不通过;
步骤5,通过将校验的验证码图片的最大圈点中心所代表的经纬度与用户请求的地址经纬度进行对比,若两者的差异在预设的差异阈值内则返回验证通过,否则验证不通过。
2.如权利要求1所述的地理信息认证验证码的生成方法,其特征在于:步骤1中截取缩放比例A为验证码图片每厘米范围在500m~1000m之间,所述的预设目标点位置分布其中横向分布百分比B在图片的宽度的30%~70%之间,纵向分布百分比C在图片高度的40%~60%之间。
3.如权利要求1所述的地理信息认证验证码的生成方法,其特征在于:步骤4中的圈点像素的覆盖度为用户在目标验证码图片上通过描绘添加的像素总和与目标验证码图片总像素的占比,预设的覆盖度阈值为3%,所述的圈点中心为对用户通过鼠标点击拖动描绘生成的一个封闭图形的内圈计算的到的计算中心,所述的圈点范围占比为对用户通过鼠标描绘生成的一个封闭图形的外圈所包括的图片范围与整张目标验证码图片的占比预设圈点范围占比阈值为10%。
4.如权利要求1所述的地理信息认证验证码的生成方法,其特征在于:校验的验证码图片的圈点中心所代表的经纬度与用户请求地址经纬度对比的特征在于,权利要求1步骤5)通过步骤2中记录的图片左上顶点经纬度,地图缩小比例A,校验的验证码图片圈点中心所在的位置反推计算出校验的验证码图片的圈点中心所代表的经纬度,并将反推校验的验证码图片的圈点中心所代表的经纬度与用户请求的地址经纬度进行距离计算,如果计算的距离在预设的经纬度距离阈值内则验证通过,否则验证不通过;其中经纬度距离为两点的实际经纬度的直接距离纬度,经纬度距离阈值为0.0138°。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011234898.0A CN112311806B (zh) | 2020-11-08 | 2020-11-08 | 一种地理信息认证验证码的生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011234898.0A CN112311806B (zh) | 2020-11-08 | 2020-11-08 | 一种地理信息认证验证码的生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112311806A CN112311806A (zh) | 2021-02-02 |
CN112311806B true CN112311806B (zh) | 2022-09-20 |
Family
ID=74326398
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011234898.0A Active CN112311806B (zh) | 2020-11-08 | 2020-11-08 | 一种地理信息认证验证码的生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112311806B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113611014B (zh) * | 2021-07-08 | 2023-07-21 | 国家电网有限公司技术学院分公司 | 一种基于区块链的五防锁具管理方法 |
CN113593090B (zh) * | 2021-07-30 | 2023-07-18 | 国家电网有限公司技术学院分公司 | 一种基于区块链的变电站五防蓝牙锁具系统 |
CN114726595B (zh) * | 2022-03-24 | 2023-09-29 | 中科吉芯(昆山)信息科技有限公司 | 一种利用时空信息认证人机身份的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102360409A (zh) * | 2011-09-29 | 2012-02-22 | 北京百度网讯科技有限公司 | 一种生成验证码的方法、验证的方法及其装置 |
CN107994994A (zh) * | 2017-11-24 | 2018-05-04 | 深圳中兴网信科技有限公司 | 图像验证码验证方法、系统、服务器及终端 |
US10078431B1 (en) * | 2013-02-01 | 2018-09-18 | Nextdoor.Com, Inc. | Social networking based on nearby neighborhoods |
CN109977649A (zh) * | 2019-02-13 | 2019-07-05 | 平安科技(深圳)有限公司 | 图片验证码生成方法、装置、存储介质和计算机设备 |
CN111523106A (zh) * | 2020-04-22 | 2020-08-11 | 韩珍 | 基于汉字拆分的输入验证方法 |
-
2020
- 2020-11-08 CN CN202011234898.0A patent/CN112311806B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102360409A (zh) * | 2011-09-29 | 2012-02-22 | 北京百度网讯科技有限公司 | 一种生成验证码的方法、验证的方法及其装置 |
US10078431B1 (en) * | 2013-02-01 | 2018-09-18 | Nextdoor.Com, Inc. | Social networking based on nearby neighborhoods |
CN107994994A (zh) * | 2017-11-24 | 2018-05-04 | 深圳中兴网信科技有限公司 | 图像验证码验证方法、系统、服务器及终端 |
CN109977649A (zh) * | 2019-02-13 | 2019-07-05 | 平安科技(深圳)有限公司 | 图片验证码生成方法、装置、存储介质和计算机设备 |
CN111523106A (zh) * | 2020-04-22 | 2020-08-11 | 韩珍 | 基于汉字拆分的输入验证方法 |
Non-Patent Citations (1)
Title |
---|
基于行为的安全验证码生成及验证方案研究;张艳等;《信息安全研究》;20200205(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112311806A (zh) | 2021-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112311806B (zh) | 一种地理信息认证验证码的生成方法 | |
Salehi-Abari et al. | On purely automated attacks and click-based graphical passwords | |
Miniukovich et al. | Quantification of interface visual complexity | |
CN101923702B (zh) | 一种图片验证码的生成方法 | |
US8510814B2 (en) | Method and apparatus for network authentication of human interaction and user identity | |
CN113159147B (zh) | 基于神经网络的图像识别方法、装置、电子设备 | |
Wu et al. | Modified data-driven framework for housing market segmentation | |
EP2569727B1 (en) | Overlay human interactive proof system and techniques | |
CN102957682A (zh) | 一种用于基于验证安全等级提供图片验证码的方法与设备 | |
CN103312512A (zh) | 一种图片验证码的生成方法及装置、身份验证方法及装置 | |
CN104025106A (zh) | 验证码提供方法和程序 | |
CN102360409B (zh) | 一种生成验证码的方法、验证的方法及其装置 | |
CN110503102A (zh) | 车辆识别码检测方法、装置、计算机设备和存储介质 | |
Reiker et al. | Modelling reactive case detection strategies for interrupting transmission of Plasmodium falciparum malaria | |
CN103514393A (zh) | 一种三维验证码的实现方法 | |
WO2016045225A1 (zh) | 基于鼠标行为的密码容错方法 | |
CN102930519A (zh) | 基于非局部均值的sar图像变化检测差异图生成方法 | |
CN109426828A (zh) | 点云分类方法、装置、设备及存储介质 | |
CN109035285A (zh) | 图像边界确定方法及装置、终端及存储介质 | |
CN111125672A (zh) | 一种图像验证码的生成方法及装置 | |
Guo et al. | Verifying in the Dark: Verifiable Machine Unlearning by Using Invisible Backdoor Triggers | |
CN113190310B (zh) | 基于随机位置对象语义识别的验证码设计方法 | |
CN105678157B (zh) | 一种基于应用环境识别的数据产权保护系统和方法 | |
Jiang et al. | Application of intelligent education using interactive modeling in higher ideological and political education platform | |
CN108255807A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 310019 room 808, floor 8, building 1, No. 8 and 10, Jiuhe Road, Shangcheng District, Hangzhou, Zhejiang Applicant after: Zhejiang youshuzhi Technology Co.,Ltd. Address before: 310000 room 808, 8 / F, building 4, No. 9, Jiuhuan Road, Jianggan District, Hangzhou City, Zhejiang Province Applicant before: HANGZHOU YOUSHU FINANCE INFORMATION SERVICES CO.,LTD. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |