新型密码-DQ密码的设计
扫描二维码
随时随地手机看文章
随着电子商务和电子政务的兴起,网络信息安全成为当前重要研究课题。密码是一种重要信息安全技术,身份认证是网络信息安全的第一道关口,而传统的用户名和密码的认证存在诸多风险,采用动态密码的身份认证系统得到了普遍认可。这里提出了一种基于动态密码和密码信息分离的身份认证的构架。
2 设计基础
2.1 动态密码
通常的身份认证技术是利用密码及签名技术实现的。动态密码就是将原先静态的密码变成动态的,即密码时刻以一定的规则进行变化。目前网络银行普遍采取的密码卡就是动态密码的一种。认证时,用户根据提示,比如,第N行,第M个数字,输入密码卡上的数字。每次认证时,服务器给出的提示都是不同的,所以即便有人盗窃其中一次的密码,由于密码的变动性,仍然无法登录账户。
2.2 输入与密码信息分离
密码学在现代信息社会具有特殊的重要性。大多数密码系统要求用户输入全部的密码,而其密码的输入系统都准确无误地表达用户密码信息。这使得木马或黑客可以轻而易举地盗取用户的所有密码信息。密码卡的出现,在某种意义上实现了用户部分输入密码信息,使得用户输入与密码信息分离。
而传统密码盗窃是因为用户每次登录的准确表达输入密码信号为黑客和木马提供机会,一个记录输入和发送便可以产生一个木马。如果能够把用户的输入与密码信息分离,这样就大大增强了密码体系的安全性。这种从物理层面的分离是任何黑客或木马不可超越的。
2.3 人工识别
由于用户每次登陆使用密码时,都是自动手动操作,因此利用人工识别判断图片,几乎无需增加任何成本。但对于盗号者而言,一旦盗取需要人工识别,与之前的机器直接盗取,这将极大增加难度和成本。
3 设计过程
3.1 方案流程
利用动态密码,输入与密码信息分离,以及人工识别技术,给出一种安全有效的密码认证方案,其流程图如图l所示。
3.2 密码生成函数
首先根据用户名u,从数据库中调出用户名u相对应的全码Acode=(a1 a2 a3 a4 a5 a6)并从全码中随机抽出1~4个字符。这里以3个字符为例,再从全码字符之外随机抽出4~7个字符,作为干扰码。共从两个码中抽出8个字符,所以这里取5个干扰码Dcode=(dm1 dm2 dm3 dm4 dm5)。
从全码Acode中抽出3个字符,与干扰码中的字符一起随机排列,加上提示码1到8,组成示码:
其中,全码字符对应的提示码为随机口令Lcode=[2 5 8]。
将示码图像化,形成示码图片。服务器接收用户登录信息后,使用密码生成函数F=f(u),调出用户名DQ对应的全码whu029,在其中随机抽出3个字符w02,在whu029之外任意选择5个字符mlove作为干扰码。w02和干扰码mlove一起随机排列v12ewmoo,再加上提示码12345678形成示码。
其中,2w0所对应的(3 5 7)为此次的随机口令。
服务器形成并传递示码Seode图片。用户看到其中的2w0是自己设置的全码中的字符,就输入对应的357此时即登录成功。倘若输入错误或者超时服务器记录非法尝试一次,记录超过三次就启动保护措施。
3.3 密码生成函数和部分密码
示码生成函数F=f(u)构造是由有用信息码(key-word)和干扰码(side-word)组成。Key-word从用户第一次注册信息中的密码中随机抽取的部分密码组成。
(1)抽取用户注册密码whu029,函数F随机抽取2~4个字母(数字),如“w02”,此时key-word便为“w02”,然后函数F再从除whu之外的字母和除029之外数字中随机抽取4~6个字母或数字,如“mlove”,此时molve便构成干扰码。至此完成示码字母(数字)抽取过程;即:关键码(kev-word)为w02;干扰码(side-word)为mlove。
(2)组成对已经选出的关键码和干扰码进行排列组成示码显示信息:并标有
对应的数字顺序,便于用户输入。同时服务机确定此时的登录密码为“3 5 7”。
(3)图片化 将上面完成的示码以图片形式表示。此时完成DQ码构造全过程,将图片化的示码传递给用户端即可进行后续登录操作。
4 效果分析
4.1 key-word动态化作用
服务机提供的动态关键码使用户每次输入的密码只能反应全码(注册时的6位全码)的一部分,即使被他人盗取登录过程,盗取者也无法获得全部密码信息,因此不能根据下一次服务机提供的示码正确输入。
4.2 side-word干扰码作用
(1)使得示码能够隐藏透露的密码信息示码中必定包含关键码,它是用户登录的有用指导信息,而干扰码的出现则是让示码中的字母(数字)信息减少其统计规律,从而让盗取者无法通过大量次数获取示码信息的而获得全码信息。例如:用户密码whu029为6个字母。而总的字符为24个英文字母和10个数字。以key-word个数3,示码个数8为例,在一次示码里,单个关键字母出现的概率为3/6,即为O.5;其他干扰字母单个出现概率为(8—3)/(34—6),约为0.17。
由此看到干扰码对隐藏关键码的统计规律具有一定作用,特别在非法尝试次数不能超过3次,盗取者无法通过3次的示码显示统计关键码信息。
(2)引入干扰码干扰码的引入使得示码中关键码的排列随机化,用户输入的数字序列信息同样随机化,因此,加强输入与密码的分离性以及输入本身的不可预知性。
4.3 图片的作用
可使机器无法识别普通的图片处理技术,若要读取图片信息,必须人工参与。即便木马程序能够盗取图片信息,机器也无法读取图片信息。这使得破解过程一定要有人工参与:先通过木马记录用户的输入数字序列,然后木马截取图片,再由盗取者通过该数字序列辨识出对应于图片上的字母,得到一次登录的key-word信息。木马想获取全部密码信息需要记录用户多次登录过程(多达4—6次),需要很长时间用户才会在该台机器(中木马病毒)上累计登录4~6次,这样盗取者则需要很长时间才能获取用户的全部密码信息;而用户在利用这段时间定期杀毒或采取其他措施能够有效查杀木马,则可终止盗取。
DQ码能够有效防止密码盗取。输入数字序列与密码信息的分离使木马记录用户鼠标键盘操作无意义;截取图片难度大,还可通过其他方法(例如:登录状态时禁用剪贴板,印张技术等)防止木马盗取图片;需要人工参与破解过程,增大了盗取难度;由于引入动态密码,一次盗取无法获取全部密码信息。盗取者需用更长时间来获取用户全部信息,这样有
利于病毒查杀。
5 应用
(1)ATM应用 目前,很多用户在ATM机上输入密码时,被偷窥而导致密码被盗。而这种DQ认证结构使得盗窃者难以获取全部的密码信息,并要识别模糊处理的示码图片,又要同时记录输入。更重要的是,密码是一次性的。
(2)网上银行银行电子化离不开信息安全技术,传统密码盗取即为木马病毒盗取,而采用DQ码则能够加强密码盗窃难度,木马除了记录用户输入外还能截取示码图片.并通过人工识别才能盗窃密码;只有当用户累计登录一定次数,木马才能记录全部信息,这样才能有利于木马病毒的查杀。
6 结论
在实例的全码为6个,每次给出3个key—word,原本只需由机器盗取一次用户登录过程信息即可完成的盗密过程,现在不仅需要人工参与,而且平均需用登录2—7次才可以完成盗取密码。如果每次给出的key—wod数目不定,所需次数更多。人工参与的新型DQ认证密码设计需多次盗取用户登录过程信息才能完成密码盗窃,这使盗密成本大大增加。因此,该种DQ认证密码设计能够有效防止密码被盗。
DQ认证结构的核心在于人本算法,在一个3x3方阵中,用户注册时任意指定2个或3个方格,登录时,服务器显示9个空位随机填满1~9处理的图片,用户将自己所指定方格中的数字相加,再将输入结果,作为登录密码。
由于一个数字可能有多种相加方法构成,所以可逆变得复杂。不仅图片人工识别涉及到人本计算,而且相加也涉及人本计算。相加是不可逆,而且更复杂。因此,这种DQ认证结构由于采用人本算法,迫使密码盗窃者进行人工破解,极大增加盗窃密码的成本,大大增强了密码的安全性。