验证码的个性化改进
电子商务的诞生虽然是由技术推动的,但是对企业而言,技术所搭建的平台只能作为一个好的工具,而最重要的是在经营中如何更好地理解和运用它们。近年来在国外颇为得宠的“关系营销”,就是一种在网络时代行之有效的营销方式。关系营销强调企业与顾客之间的互动,力求建立稳定、兼顾双方利益的长期合作关系。
因此,你必须提供给用户最高的可信度和安全度,使他们相信您的网站是真实可信的,同时确保用户通过网站浏览器和其他设备发送给你的信息能够被严格保密并有效地被接收。目前,不少企业网站为了这个目的都运用了验证码技术。
关系营销中的验证码技术
简单地来说,验证码就是网站为了防止用户利用机器人自动注册、登录、灌水而采用的一种网络编程安全技术。
实质上,所谓的验证码,是通过网站编程实现的一项简单的功能,它就是将一串随机产生的数字或符号,生成一幅图片, 图片里加上一些干扰象素(防止OCR),由用户肉眼识别其中的验证码信息,输入表单提交网站验证,验证成功后才能使用某项功能。图形验证码越多干扰色,程序越难把字码认出来。通常用的干扰色都有: 随机文字颜色,随机颜色底纹,随机文字位置,随机文字大小,随机背景花纹,还可以加上一些雪花的效果。验证码的运行机制是在需要用户通过填写表单与服务器交互时,在随机产生验证码的同时生成一个Session,然后通过表单递交数据与Session中保存的验证码进行比较,正确即验证码通过,否则出错提示。
也许你会问,为何要用图片显示验证码?这是因为某些猜解工具可以从客户端html文件中的源码读取页面,所以直接用文本做验证码并不安全,而图形的验证码则需要捕捉图像之后再进行处理,安全性相对较高。
也许你又会问,既然有可能读取页面,那么,Session中的验证码信息不也一样可能被盗取吗?不要忘记Session是一个私有变量,而html是程序的产物,而不是程序的本身,他们没可能在html中窥见程序的过程,就好像你无法知道一个乘积数值是由哪两个特定的数相乘得来的一样。网站在服务器计算出验证码,再根据验证码来选择图片给客户端,除非攻击者注册了几万次,把所有符号中每一个符号的几种图片都看过,并知道每个图片的文件名,他们就有可能用程序去计算验证码了。可是一旦遇到动态生成图片名的,那他们就没指望了。因为html中唯一和验证码有关系的就是显示验证码的图片名。举例说,有个1.gif的图片,如果算到有1这个符号,我们却把1.gif 复制成 1435793874.gif再让网页嵌入这个图片,攻击者就无机可乘了。
网站运用验证码技术保证登录安全,就等于在用户账号密码验证之外多加了一道严密的封锁墙,可防止穷举算法竞猜获取用户账号密码,而论坛上发帖的验证码与其工作原理相似,并且不需要进行密码验证。验证码技术所处的网络安全层次以及用户登录安全流程如图所示。
验证码技术现存的问题
道高一尺,魔高一丈,新的问题总在不断地出现,随着人们对验证码破解方法的研究与探索,验证码自身也出现了不少漏洞。
1. 验证码图片上虽有噪音点(指验证码图片上的斑点),但此噪音是固定的,不是随机的,很容易识别。现在发展的验证码识别技术,可以很简单地完成图文识别,达到百分之百的准确。利用此技术,可以在论坛嵌入恶意代码,甚至植入病毒,盗取点击者的机密信息等,操作简单而又针对性,即使识别验证码的过程比较慢,但基本上不防碍发信息的效率。有专家预测,如果论坛系统维护者对这些问题视若无睹,那么这一论坛网络应用将成为未来最大的网络病毒传播和滋生的源头。
2. 验证码是由脚本程序生成的,但很多时候生成算法又不够复杂,导致其验证图片上面的数字完全可以由产生它的链接地址直接计算得出。
3. 很多用户在实际应用中都会遇到验证码无法显示,或是验证码显示不完全的情况,导致不能登录,消息发送失败,甚至不能够买产品或服务。
4. 给显示验证码的图片添加杂点,这虽然给识别程序带来了极高的代价,但同时也给用户肉眼识别造成了不少障碍,很多用户投诉,注册或登录一些网站用到的验证码,有的根本看不清楚,有的甚至连基本形状也猜想不到。
个性化的改进方案
上述问题大多都可以通过技术解决: 要增强安全性,并将验证码功能投入商业应用,则可以增加干扰参数,干扰参数每加一,穷举法的代价提高约100×100倍; 适当设定杂点几率以有效降低软件识别正确率;自由设定验证码位数,甚至可以自己修改字库,包括宽度、高度等,使得识别程序要付出的代价足够高。
然而,降低了用户的便利性这个严重的缺陷就不能运用纯技术的方法解决了。一个完美的关系营销,是绝对不会以牺牲客户的便利性来换取网络安全性的。可以预测,像这种安全措施对于电子商务而言并不科学,长此以往,必将引起用户的极大反感,特别是要求用户输入中英文和数字混排的验证码,即使安全性大大提高,可客户的便利性就大打折扣了。据目前网上的一些调查,越来越多的客户对这种以验证码登录或发帖表示厌烦,有的甚至表示极大的反感。
针对验证码的种种问题以及实现的相关功能,下面谈一种可能的解进方案:
第一道防线——判断灌水机
很多网站直接使用验证码的方法来防止垃圾信息的侵入,但是这种方法让访问者的感受大打折扣。为了防止攻击而给用户带来留言和注册的不便,有违新一代关系营销的原则。
通过用户留言或注册的过程研究,可采取以下方法初步隔绝灌水机恶意访问:
用户发帖或提交注册表单直接POST数据给最终处理数据的程序(比如叫 add.asp )的可能性为零,就是说,如果从 add.asp 中无法得到来路,则一定是灌水机无疑。另外,用户从进入填写留言的页面到点击提交按钮必定是有时间差的,因为用户需要打字,而灌水机程序一般不会等待这个时间。因此,可以用下面的方法判断灌水机:
1.当用户进入填写页面时,记住当时的时间。
2. 在处理用户提交数据的程序中,先判断是否有来路信息,没有来路信息的一定是垃圾信息。
3. 如果有来路信息,则判断用户进入时间和现在的时间差,如果太小,则仍然判断为垃圾信息。
对于杜绝恶意猜解盗取用户账号和密码,则可以借鉴于Google的实现方案,在注重安全的同时,还尽量考虑到了用户使用的方便性。Google往网站中添加了一个计数器,记录登录次数,常规情况下无须验证,一旦登录错误次数超过10 次,才弹出验证图片。
第二道防线——个性化的验证码
针对第一道防线可能存在的缺陷与失误(比如说用户程序可以伪造数据来路,阻碍程序判断垃圾信息),这里进一步提供网站的第二道防线解决方案 ——个性化的验证码。
图 验证码技术所处的网络安全层次以及用户登录安全流程
按照目前安全技术的功能代价比,验证码仍然是防止网络攻击比较适合的解决方案,然而对于它扼杀了用户便利性的缺陷,我们可以做出一定的改善,既能够降低它的繁琐性,又可以增添它的趣味性,更具个性化,也更吸引用户。
举例说,我们可以把验证码做成色彩鲜艳,能清楚分辨的一幅动物图片(例如小猫),随机给出三到十个可供选择的答案(猫、狗、猪、马、鸡、熊……),其中仅包括一个正确答案,然后让用户手工选择正确答案(可通过软件盘的方式输入,也可以直接鼠标点击答案输入)。因为即使物体图片我们一看就能说出其名称,这种人类最简单的思维转换是计算机所不具有的,即使程序能非常精确的识别出图形形状,可是它不可能实现从物体模样到名称的转换。另外对于不同行业的网站,图片类型可以不一样,图片类型也可以有多组,这样可以提高竞猜开销。验证码的内容还能与企业或其销售的产品相关,这样,不同的网站就有属于自己的个性化的验证码机制。要注意的是,这种验证码机制,既要有趣味,有意思,同时也要顾及到用户的便利性。问题答案对于机器和程序来说,要求足够大的竞猜开销; 而对于用户而言,只要亲眼目睹了,就肯定能极其容易地识别出来,否则就会对正常登录的用户造成不必要的麻烦。(CCW)
- 1VoIP的电源支持
- 2小心拨号连接欺骗
- 3预测未来的五种攻击手段
- 4企业信息资源管理的五个基础标准
- 5身份认证与管理:下一个安全部署重点
- 6虚拟存储价值待考量
- 72005年安全性领域纵览
- 8个人计算机的日常安全防范
- 9Foxmail十大安全隐患解决方法
- 10OA中实现一些基本的基本的通讯功能:聊天等
- 113G无线数据业务平台面临的八大技术问题
- 12中间件新的应用需求
- 13十种类型现场总线的体系结构
- 14用围棋理论指导布线施工
- 15安全服务的迷途
- 16灾难恢复第一步:应灾文档
- 17网络安全:企业“终端坏死症”的七个迹象
- 18应用基础是SOA还是SOBA
- 19Linux商业应用现状
- 20数据库管理系统(DBMS)
- 21为企业寻找反间谍助手
- 22中小连锁零售企业信息化优势一念之间
- 232005年存储领域暴雨来临前片刻的宁静
- 24Linux系统管理技巧大荟萃
- 25谈项目管理和软件测试过程(二)
- 26信息系统科学预测的“水晶球”
- 27如何配置VLAN基础架构
- 28加强外包的安全策略
- 29在线支付遇安全杀手 最终用户成攻击薄弱点
- 30沈阳OA软件的个人办公的优势是什么?