一种密码输入方法及系统的制作方法

文档序号:6558215阅读:154来源:国知局
专利名称:一种密码输入方法及系统的制作方法
技术领域
本发明涉及网络安全应用领域,特别涉及网络安全应用的用户密码输入技术,具体的讲是一种密码输入方法及系统。
背景技术
在网络环境中,各种计算资源(如文件、数据库、应用系统)需要认证机制的保护,以确保这些资源被有权使用的人使用。比如网上银行业务,首先必须在网上银行设置一个个人账户,并设定密码。当通过网络访问该网上银行业务时,需要输入账户名和密码。只有在账户名和密码被确认之后才可以使用网上银行的服务。
然而,在通过互联网获取各式各样的服务,如网上银行、网上购物时,均面临一个问题,那就是,大部分系统都是通过用户名和密码来验证用户的身份,于是出现了多个系统要求同一用户提供密码的情况,因此出于记忆的原因,可能大多数用户会在不同的系统设定同一个好记的密码,这样一旦密码泄露,密码所有者的所有系统便存在被盗用的危险。在现有技术中,对密码的攻击方式有很多,以下例举出几种网络数据流窃听(Sniffer),由于认证信息要通过网络传递,并且很多认证系统的口令是未经加密的明文,攻击者通过窃听网络数据,就很容易分辨出某种特定系统的认证数据,并提取出用户名和密码。对于采用安全套接层(SSL)传输的方式可以认为是安全的,但它职责有限,可确保的是传输层的安全,至于底层的键盘输入,是没办法保护的;认证信息截取/重放(Record/Replay),有的系统会将认证信息进行简单加密后进行传输,如果攻击者无法用第一种方式推算出密码,可以使用截取/重放方式;字典攻击,由于多数用户习惯使用有意义的单词或数字作为密码,某些攻击者会使用人们常用来作为密码的单词、数字等编为字典,然后通过此字典逐个尝试密码的正确性,来攻击系统;穷举尝试(Brute Force),这是一种特殊的字典攻击,它使用字符串的全集作为字典,如果用户的密码较短,很容易被穷举出来;暴力破解,就是针对网上银行这类的系统,不是破解某个用户的密码,而是通过知道用户卡号的生成算法,通过计算机,用某些密码,去穷举多个卡号的方式,来完成破解某些密码的目的;窥探,攻击者利用与被攻击系统接近的机会,安装监视器或亲自窥探合法用户输入口令的过程以得到口令,由于计算机的键盘的固定排列,导致此种方法比较凑效;假系统欺骗,是指通过假冒真实的系统,如最近频繁出现的假网上银行系统,诱使真实系统的用户使用,输入了其用户ID和密码,从而得到用户的ID和密码的方式;社交工程,是指通过社交的方式,接近用户并取得用户的信任,最终从用户得到用户ID和密码,或者攻击者冒充合法用户发送邮件或打电话给管理人员,以骗取用户口令;垃圾搜索,攻击者通过搜索被攻击者的废弃物,得到与攻击系统有关的信息,如果用户将口令写在纸上又随便丢弃,则很容易成为垃圾搜索的攻击对象。
猜测,是指直接猜测用户的密码,通常用户的密码都是一些有意义的单词或生日等,所以这种方式,往往是比较容易凑效的攻击方式,虽然用户可以通过经常更换密码和增加密码长度来保证安全,但这同时也给用户带来了很大麻烦。
总结上述的密码问题,可以看到,易用性和私密性往往是一对矛盾,比如说为了好用,人们通常选用好记的密码,而从系统角度又是不安全的。这种矛盾可以通过表1的对照而一幕了然表1

面对这样的问题,随机分配密码是一种解决方式,但其也解决不了穷举法的攻击,另外键盘的固定排列也容易被人窥视。
为了解决网络的安全登陆的问题,中国专利申请200410028026.3公开了一种安全登陆的方法及系统,其通过激活并显示软键盘,并对软键盘的背景进行图案化处理、对软键盘进行嘈点修饰等,用以防止病毒木马根据用户终端输入密码时的键盘记录对合法用户的帐号和密码进行监听。这样的方法在一定程度上可以防止间谍软件和木马程序,但是,合法用户通过点击软键盘而键入的真实密码会出现在用户终端的内存中,密码攻击者仍可以使用内存扫描等办法窃取合法用户的登录信息,给合法用户造成损失。因此,需要更为安全的密码输入方法。

发明内容
本发明的目的在于提供一种密码输入方法及系统,以防止木马通过监听键盘或读取用户终端内存而窃取密码。
本发明的技术方案为一种密码输入方法,采用软键盘接受用户密码的输入;组成所述软键盘的每个键均标注有对应的可视信息,所述软键盘中的某个键被点击后在内存中生成与该键的可视信息有编码关系的内存信息,对所述的内存信息进行解码,还原该键的可视信息。
所述的可视信息包括数字、字母、符号、字、词。所述的可视信息还包括背景图案和/或干扰图形。
根据所述的可视信息点击软键盘的对应键将所述的密码输入,在内存中生成与该密码有编码关系的内存密码信息,对所述的内存密码信息进行解码,还原所述的密码。
本发明还提供了一种密码输入方法,在服务器端生成一个软键盘,组成所述软键盘的键为随机排列,每个键均标注有对应的可视信息;为所述的可视信息建立编码关系;将所述的软键盘传送到用户端进行显示;用户根据所述的可视信息点击软键盘的对应键将所述的密码输入,在用户端内存中生成与该密码有所述编码关系的内存密码信息;将所述的内存密码信息传送给所述的服务器端;所述的服务器端根据所述的编码关系对所述的内存密码信息进行解码,还原所述的密码。
组成软键盘的每个键均是服务器端动态生成的图片,所述的图片中包含有符合所述编码关系的信息。
本发明还提供了一种密码输入系统,包括服务器、用户终端,所述的服务器经网络与所述的用户终端相联接;所述的服务器具有软键盘生成单元,用于生成一个软键盘,组成所述软键盘的键为随机排列,每个键均标注有对应的可视信息;编码关系建立单元,用于为所述的可视信息建立编码关系;密码解码单元,用于根据所述的编码关系对接收的内存密码信息进行解码,还原所述的密码;所述的用户终端具有软键盘执行单元,用于将所述的软键盘进行显示,并接受用户根据所述的可视信息点击软键盘的对应键而输入的密码;内存密码信息传送单元,将在用户端内存中生成的与输入的密码有编码关系的内存密码信息传送给所述的服务器。
所述的用户终端还具有鼠标,用于点击所述的软键盘。
本发明的有益效果在于,采用本发明进行密码输入,使得通过算法破解密码的方式不能得逞,即使通过木马得到了用户输入的内存中的密码,也无法还原出真实密码。鼠标点击增加了安全性,用户是通过鼠标点击的方式来输入用户的密码的,避免了键盘输入,可以有效防止木马通过监听键盘窃取密码。通过随机键位隐藏了真实密码,通过动态图片有效防止通过程序分析输入的密码。总之,本发明防止了木马通过监听键盘或读取用户终端内存而窃取密码。


图1为本发明密码输入方法的流程图;图2为根据本发明的密码输入系统框图;图3为本发明的用户进行密码输入的软键盘的示意图。
具体实施例方式
下面结合

本发明的具体实施方式
,本发明的核心思想是,采用软键盘接受用户密码的输入,其中组成所述软键盘的每个键均标注有对应的可视信息,所述软键盘中的某个键被点击后在内存中生成与该键的可视信息有编码关系的内存信息,对所述的内存信息进行解码,还原该键的可视信息。
所述的可视信息包括0-9的数字、汉语拼音字母或英文字母等、数学符号、汉字、汉字的词组等。所述的可视信息还包括背景图案和/或干扰图形。
用户可以根据所述的可视信息点击软键盘的对应键将所述的密码输入,在内存中生成与该密码有编码关系的内存密码信息,对所述的内存密码信息进行解码,还原所述的密码。
上述的可视信息与内存密码信息的编码关系的建立,可以有多种实施方式,比如通过软键盘中键的排列顺序建立所述的编码关系。也可以采用密码学中的对照表的关系,且这个对照表可以根据用户的不同、时间的不同而变化。也就是说,可以随机为每个特定的个体生成一个唯一对应的对照表。比如生成了一个如下的对应表0 1 2 3 4 5 6 7 8 9v f g h r y d 3 a 0如果用户的密码是013579,那么通过密码软键盘输入013579后,对应的内存密码信息是vfhy30。在根据上述的对应表对内存密码信息vfhy30进行解码,还原出密码013579。
甚至可以采用更特殊的对照表如0123...
ab 04 4d 3s...
如果用户的密码是013,那么通过密码软键盘输入013后,对应的内存密码信息是ab043s。在根据上述的对应表对内存密码信息ab043s进行解码,还原出密码013。
如图3所示为本发明软键盘的示意图,软键盘的每个键上都标注有数字,如果用户的密码是123456,则用户通过点击1、2、3、4、5、6键出入该密码,但此时输入内存的数据并非是密码本身的123456,而是经过编码的数据,假设该经过编码的数据是095762。只有095762被传输到服务器端后,由服务器端翻译为真实的密码123456,才完成密码的输入。
实施例1如图1所示,为一种密码输入方法的流程图。在本实施例中,用户端通过网络与服务器端相联接,其中在一个用户向服务器端发出签到请求后,服务器端受到用户的签到请求,为此用户生成随机排列的软键盘,将键的排列顺序作为编码关系,并将键的排列顺序进行保存。
服务器端向用户端返回签到页面,要求用户输入用户ID及密码;用户通过点击软键盘,输入用户的密码,此时内存中的密码是通过软件盘键的随机顺序转换后的内存密码数据。用户端提交其用户ID和内存密码数据。
服务器端接收到用户的ID和内存密码数据,将此内存密码数据通过保存的随机键盘键的排列顺序进行解码,还原出真实的密码,完成密码输入,并且进行密码验证。
服务器端向用户端返回密码验证的结果。
在上述方法中,采用了随机的键位分布软键盘的排列是随机排列的,且每个用户每次请求均是不同的排列顺序,从理论上讲,如果是只用数字,则重复的概率是10的排列组合(3628800种组合),且还可以加入其它字母减小重复的概率。这样,是没法通过算法的方式破解密码,即使通过木马得到了用户输入的密码,也无法还原出原有真实密码。且从重复概率来说,就按照此密码输入能够通过的概率也是几百万分之一的概率。
在上述方法中可以采用鼠标点击软键盘,由于用户是通过鼠标点击的方式来输入用户的密码的,避免了键盘输入,可以有效防止木马通过监听键盘窃取密码。
在上述方法中可以通过随机键位隐藏真实密码,通过软件盘输入的密码是经由随机键位转换后的密码,这样就避免了用户的真实密码在内存中出现,防止木马通过内存扫描获取用户密码。
在上述方法中可以动态生成键位图片,软键盘中的关键内容,也就是键盘键位排列信息是通过图片的方式表达的,且每个键是独立的图片,由服务器端动态生成,每个图片对应有符合上述编码关系的转换程序,然后传回给客户端,且这一行为是与客户端相关的,也就是说,一个客户端不可能拿到与另一个客户端一样的图片,且加入随机干扰内容,防止通过程序分析用户输入的密码。
上述的可视信息与内存密码信息的编码关系的建立,是通过软键盘中键的排列顺序建立所述的编码关系。也可以采用密码学中的对照表的关系,且这个对照表可以根据用户的不同、时间的不同而变化。也就是说,可以在服务器端随机为每个特定的个体生成一个唯一对应的对照表。比如生成了一个如下的对应表
0 1 2 3 4 5 6 7 8 9v f g h r y d 3 a 0如果用户的密码是013579,那么通过用户终端软键盘输入013579后,对应的内存密码信息是vfhy30。用户终端将内存密码信息vfhy30传回服务器,服务器根据上述的对应表对内存密码信息vfhy30进行解码,还原出密码013579。
甚至可以采用更特殊的对照表,如0123...
ab 04 4d 3s...
如果用户的密码是013,那么通过用户终端密码软键盘输入013后,对应的内存密码信息是ab043s。用户终端将内存密码信息ab043s传回服务器,服务器再根据上述的对应表对内存密码信息ab043s进行解码,还原出密码013。
实施例2如图2所示,为一种密码输入系统的结构框图。在本实施例中,用户端通过网络与服务器端相联接,其中所述的服务器具有软键盘生成单元,用于生成一个软键盘,组成所述软键盘的键为随机排列,每个键均标注有对应的可视信息;编码关系建立单元,用于为所述的可视信息建立编码关系;密码解码单元,用于对接收的内存密码信息进行解码,还原所述的密码;所述的用户终端具有软键盘执行单元,用于将所述的软键盘进行显示,如图3所示的标注有数字的软键盘,并接受用户根据所述的可视信息点击软键盘的对应键而输入的密码;内存密码信息传送单元,将在用户端内存中生成的与输入的密码有编码关系的内存密码信息传送给所述的服务器。
在一个用户向服务器端发出签到请求后,服务器端受到用户的签到请求,为此用户生成随机排列的软键盘,如图3所示的标注有数字的软键盘,并将排列顺序进行保存。
服务器端向用户端返回签到页面,要求用户输入用户ID及密码;用户通过点击软键盘,输入用户的密码,比如3333;此时内存中的密码是通过软件盘随机顺序转换后的内存密码数据,比如6666。用户端向服务器提交其用户ID和内存密码数据6666。
服务器端接收到用户的ID和内存密码数据6666,将此内存密码数据6666通过保存的随机键盘排列顺序进行解码,还原出真实的密码3333,完成密码输入,并且进行密码验证。
服务器端向用户端返回密码验证的结果。
在上述系统中,采用了随机的键位分布软键盘的排列是随机排列的,且每个用户每次请求均是不同的排列顺序,从理论上讲,如果是只用数字,则重复的概率是10的排列组合(3628800种组合),且还可以加入其它字母减小重复的概率。这样,是没法通过算法的方式破解密码,即使通过木马得到了用户输入的密码,也无法还原出原有真实密码。且从重复概率来说,就按照此密码输入能够通过的概率也是几百万分之一的概率。
在上述系统中可以在用户终端采用鼠标点击软键盘,由于用户是通过鼠标点击的方式来输入用户的密码的,避免了键盘输入,可以有效防止木马通过监听键盘窃取密码。
在上述系统中可以通过随机键位隐藏真实密码,通过软件盘输入的密码是经由随机键位转换后的密码,这样就避免了用户的真实密码在内存中出现,防止木马通过内存扫描获取用户密码。
在上述系统中可以动态生成键位图片,软键盘中的关键内容,也就是键盘键位排列信息是通过图片的方式表达的,且每个键是独立的图片,由服务器端动态生成,每个图片对应有符合上述编码关系的转换程序,然后传回给客户端,且这一行为是与客户端相关的,也就是说,一个客户端不可能拿到与另一个客户端一样的图片,且加入随机干扰内容,防止通过程序分析用户输入的密码。
从上述的内容可以看到,如果需要破解通过软键盘输入的密码有如下方式和对应的策略1)偷窥的方式,就是通过偷看用户输入得到密码,通过密码软键盘输入加大了让别人偷窥的可能(鼠标操作会比键盘慢),所以在系统中,通过对图片的处理,来防止偷窥,主要是字体的变形和加入干扰图素,保证在一定距离上是难以辨识软键盘内容的,从而保护不让偷窥。
2)通过木马,得到用户输入的密码,然后通过算法解开密码,从前述可知,需要解开密码必须知道键盘的随机排列顺序(相当于一个10位的密码),所以,如果需要通过算法得到是比较难的(本身都是数字,没有基本特征让你判断是否是正确的解)。
3)还是通过木马,这时,木马必须能够跟踪到用户的输入,同时完整的得到网页内容,包括动态生成的图片(他只出现在浏览器程序的内存中,且没有对应关系),才能完整复原密码。
采用本发明进行密码输入,使得通过算法破解密码的方式不能得逞,即使通过木马得到了用户输入的内存中的密码,也无法还原出真实密码。鼠标点击增加了安全性,用户是通过鼠标点击的方式来输入用户的密码的,避免了键盘输入,可以有效防止木马通过监听键盘窃取密码。通过随机键位隐藏了真实密码,通过动态图片有效防止通过程序分析输入的密码。总之,本发明防止了木马通过监听键盘或读取用户终端内存而窃取密码。
以上具体实施方式
仅用于说明本发明,而非用于限定本发明。
权利要求
1.一种密码输入方法,采用软键盘接受用户密码的输入;其特征在于,组成所述软键盘的每个键均标注有对应的可视信息,所述软键盘中的某个键被点击后在内存中生成与该键的可视信息有编码关系的内存信息,对所述的内存信息进行解码,还原该键的可视信息。
2.根据权利要求1所述的方法,其特征在于,所述的可视信息包括数字、字母、符号、字、词。
3.根据权利要求2所述的方法,其特征在于,所述的可视信息还包括背景图案和/或干扰图形。
4.根据权利要求1所述的方法,其特征在于,根据所述的可视信息点击软键盘的对应键将所述的密码输入,在内存中生成与该密码有编码关系的内存密码信息,对所述的内存密码信息进行解码,还原所述的密码。
5.一种密码输入方法,其特征在于,在服务器端生成一个软键盘,组成所述软键盘的键为随机排列,每个键均标注有对应的可视信息;为所述的可视信息建立编码关系;将所述的软键盘传送到用户端进行显示;用户根据所述的可视信息点击软键盘的对应键将所述的密码输入,在用户端内存中生成与该密码有所述编码关系的内存密码信息;将所述的内存密码信息传送给所述的服务器端;所述的服务器端根据所述的编码关系对所述的内存密码信息进行解码,还原所述的密码。
6.根据权利要求5所述的方法,其特征在于,所述的可视信息包括数字、字母、符号、字、词。
7.根据权利要求6所述的方法,其特征在于,所述的可视信息还包括背景图案和/或干扰图形。
8.根据权利要求5所述的方法,其特征在于,组成软键盘的每个键均是服务器端动态生成的图片,所述的图片中包含有符合所述编码关系的信息。
9.根据权利要求5所述的方法,其特征在于,采用鼠标点击所述的软键盘。
10.一种密码输入系统,包括服务器、用户终端,所述的服务器经网络与所述的用户终端相联接;其特征在于,所述的服务器具有软键盘生成单元,用于生成一个软键盘,组成所述软键盘的键为随机排列,每个键均标注有对应的可视信息;编码关系建立单元,用于为所述的可视信息建立编码关系;密码解码单元,用于根据所述的编码关系对接收的内存密码信息进行解码,还原所述的密码;所述的用户终端具有软键盘执行单元,用于将所述的软键盘进行显示,并接受用户根据所述的可视信息点击软键盘的对应键而输入的密码;内存密码信息传送单元,将在用户端内存中生成的与输入的密码有编码关系的内存密码信息传送给所述的服务器。
11.根据权利要求10所述的系统,其特征在于,所述的可视信息包括数字、字母、符号、字、词。
12.根据权利要求11所述的系统,其特征在于,所述的可视信息还包括背景图案和/或干扰图形。
13.根据权利要求10所述的系统,其特征在于,组成软键盘的每个键均是服务器动态生成的图片,所述的图片中包含有符合所述编码关系的信息。
14.根据权利要求10所述的系统,其特征在于,所述的用户终端还具有鼠标,用于点击所述的软键盘。
全文摘要
本发明提供一种密码输入方法及系统,采用软键盘接受用户密码的输入;组成所述软键盘的每个键均标注有对应的可视信息,所述软键盘中的某个键被点击后在内存中生成与该键的可视信息有编码关系的内存信息,对所述的内存信息进行解码,还原该键的可视信息。以防止木马通过监听键盘或读取用户终端内存而窃取密码。
文档编号G06F21/00GK101064602SQ200610075869
公开日2007年10月31日 申请日期2006年4月24日 优先权日2006年4月24日
发明者钟明昌 申请人:北京易诚世纪科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1