一种保护网络用户密码不被盗取的方法和系统的制作方法

文档序号:7852260阅读:204来源:国知局
专利名称:一种保护网络用户密码不被盗取的方法和系统的制作方法
技术领域
本发明属于电脑网络领域。
背景技术
现今互联网发展迅猛,网络出现了很多服务器对客户端的模式,这种模式中通常需要客户输入帐号密码以登录服务器,继而使用服务器提供的服务,服务器中存储了客户的各种信息,客户登录服务器后可以对自己的信息进行修改或使用。因为客户的这些信息中有很多是具有经济或其他价值的,所以就有些不法之徒为了利益的驱使而使用非法手段盗取客户的帐号密码,借以盗取客户有价值的信息(如网上银行存款、网络游戏的虚拟金钱和装备等)。“木马”程序就是这些非法手段中最常见的,不法之徒通过各种方式将“木马”程序植入客户的计算机中并自动运行,“木马”程序运行后会监视客户输入、发送帐号密码的动作,一旦达到“木马”程序的要求,“木马”程序就会将盗得的帐号密码和其他有用信息通过电子信件发送给帐号密码偷盗者。近几年通过这种方法被盗的人越来越多,被盗的财物无法统计。“木马”程序通常很难被发现,运行时没有任何迹象,所以令人防不胜防。为了防止密码被盗,研究人员已经提出了一些保护方法。CN02100841.8专利文件中公布了一种动态密码安全系统和生成动态密码的方法,它包括GSM网络、短信息处理平台、动态密码生成服务器、商家身份验证处理系统和系统维护管理系统,彼此间通过GSM网关进行数据的传输。该发明根据用户的手机号码随机产生一次性动态密码,并以手机短信的形式申请、传送该用于身份验证的动态密码。一定程度上防止因静态密码被他人盗取而给客户造成损失的情况发生。此种方法的最主要的缺点是必须使用手机,同时需要支付短信的费用。CN200410098462.8专利文件中公布了另一种解决办法使用密码表生成器,根据不同的用户分别产生一个随机数组成的动态密码表(简称密码表或表),将表绑定到对应的帐户上,并以纸面或电子的形式提供给用户,再口头或通信约定初始有效码位置。有效码只能用一次,下次用时有效码将变为表中下一个密码,若有效码在表尾,下一个有效码变为表中第一个,即循环使用密码表。这种方法起到一定的防盗作用,但过程比较麻烦,同时存在密码表不在身边就不能使用的情况。CN200410009913.6专利文件中也公布了一种方法,现在市场上的某些已出现的电子产品(如盛大公司的“盛大密保”),就是基于这种方法的产品,它形如BP机,每分钟可以生成一个动态密码。用户在输入原始密码后还需要输入密保生成的密码,因为这个密码每分钟改变一次并且每个密保密码只能使用一次,所以偷盗者偷了这个号码也很难盗取帐号。这样就一定程度上降低了被盗号的危险。但密保的售价通常很贵,购买开通过程复杂,还容易丢失,是用户的多余负担,而且需要携带,如果密保不在手边自己也无法登录自己的帐号。基于以上各点密保不容易大规模推广。

发明内容
本发明完全能够取代以上方法来保护用户的帐号密码,安全性更高,不需用户另外购买硬件,而且,因为使用的是纯软件的方法不存在携带、丢失的问题,可以随时使用。具体方法是在需要的环境设置一个交互系统,这个系统是由服务端和客户端组成的,服务端存有包括用户(客户端使用者)的“原始密码”等用户信息,用户通过客户端登录服务器时,不直接提交用户“原始密码”,而是提交选取“原始密码”中的数据通过一定的算法计算出的“替代密码”,服务端根据“替代密码”的正误决定用户是否可以登录服务器。这样,“木马”只能拦截算法和“替代密码”,只要算法达到一定的要求,用算法和“替代密码”无法逆推“原始密码”,而系统会在每次用户登录时改变“替代密码”的生成方法,使客户端每次登录服务端的“替代密码”均不相同。这样,“木马”等程序即使盗得“替代密码”也无法获得“原始密码”或通过“替代密码”登录服务端。需要注意的是运算方法越复杂进行可逆运算就越困难,但也会使客户的操作复杂程度增加,所以应该选取运算方法较简单而又不容易被逆向破解的方法。为了使安全性更高,更容易使用,同时宜采用以下方法随机提取原始密码中的部分数据参与计算,这样,即使被逆推出参与运算的所有数据,得到的也不是一个完整的密码;选取出的算法可以用一个数学公式来表示和发送,使用户目的明确、操作简单;计算出“替代密码”后只输入部分,服务器也仅验证此部分的正误,使“木马”程序盗得输入数据后也很难利用进行逆向破解。
具体实施例方式实施例1如网上银行系统,在用户申请帐号时银行可以要求用户的“原始密码”必须使用10位的数字,帐号是银行指定的卡号。服务端预置多种(可能是几万种或更多)对“原始密码”的算法,等待使用时随机选取。用户登录时,填写帐号发送给服务端后,银行的服务端随机选取一种算法发送给客户端。比如说算法为取用户密码的第1,3,5,7位的和再乘上第9位,为了使用户目的明确、操作简单可以直接发送公式(1位+3位+5位+7位)*9位,假设原来的密码是1234567890的十位密码,用前面的公式计算就是(1+3+5+7)*9=144,则客户输入“144”就可以通过服务端的验证。可以说这基本上是不可逆的算法,因为这是一个多元方程,逆运算的结果将是有很多组数字的组合。客户登录一次后,下一次客户再登陆时,服务器发送的公式就可能变成(2位+4位+8位)*(6位+7位)了。每次登陆算法都不一样,则算出的“替代密码”也不一样了,这样,“木马”等程序即使盗得“替代密码”也无法通过“替代密码”登录服务端。而且因为没有使用原始密码的所有数据,即使被逆推出参与运算的所有数字,得到的也不是一个完整的密码。本例中服务端也完全可以根据实际需要改变对用户设置密码位数的要求。另外服务端预置的算法是可以按一定规则生成的程序,如随机选择密码中的几个数据、随机选择几个运算符组成公式的程序。
实施例2 例1中的计算出的输入密码“144”只有3位,如果算法简单还可能出现1位2位的情况,这种情况下是容易被猜到的,那么3位之内的最多猜1000次可以碰到正确的,当然实际上服务端可以设置错一次就拒绝通过并改变算法,但仍有1/1000分之一的几率被猜到的,解决的方法是可以优化算法以使结果的位数增多,加大安全性。可以使用“逻辑加”等算法比如公式[(1位+3位+5位+7位)*9位逻辑加(2位+4位)]上例中的结果就变成了1446,变为4位了(逻辑加是指位数上的填加,如1逻辑加1为11,2逻辑加3为23等等)。如果使结果达到5位以上就更不容易被猜到了。这个例子使用的运算比较多,实际上可以用较少的计算就可以达到接近的效果的。关键是算法的设计和选择。应该说此种方法已经非常安全了,但存在一个非常小的隐患,如果经常使用同一台电脑,而此电脑又中了“木马”程序。可能会出现同一密码的运算过程被多次拦截而最终使“木马”程序取得解“多元方程组”的足够数据,虽然难度极大,但还是存在微小的可能,解决的方法是计算得到“替代密码”后不全部输入,而是输入部分,本例中,服务端可以要求输入4位结果中的3位,比如输入结果中的1,2,4位,这一不确定因素会使解“多元方程组”的难度极大的增加。另外,可以再用“替代密码”使用本法继续计算另外的“替代密码”,安全性就更高了,但过程变的相对复杂了。
实施例3 在上面的各个例子中,除数字外,各种字母字符都可以做密码使用,但要事先定义他们的数值,比如定义A=11 B=12等等,使他们能够用来计算,但计算过程会相对麻烦。
实施例4 以上的例子也可以和传统的密码输入配合使用。如可以使用2个或多个密码,比如第1密码用传统方法,完整输入,正确后在进行第2密码的输入,第2密码使用本发明方法。当然2个密码的顺序也可以颠倒,即第1密码用本发明的方法,通过验证后输入第2密码。
权利要求
1.一种用于保护网络用户信息安全的方法及系统,特别是一种保护网络用户密码不被盗取的方法和系统,包括通过用户的“原始密码”实现信任的服务端和客户端,其特征为用户(客户端使用者)通过客户端登录服务端时,不直接提交用户需要保护的“原始密码”,而是提交选取该“原始密码”中的数据通过一定的算法计算出的“替代密码”;系统会在每次登录时自动改变“替代密码”的算法,使客户端每次登录服务端的“替代密码”均不相同。
2.根据权利要求1所述的保护网络用户密码不被盗取的方法和系统,其特征为提取“原始密码”中的数据的方式是将“原始密码”任意分解成多个数据并随机指定这些数据中的1个或多个。
3.根据权利要求1所述的保护网络用户密码不被盗取的方法和系统,其特征为计算出“替代密码”的算法是已确定的多种或非已确定的但可以按一定规则生成的。
4.根据权利要求1所述的保护网络用户密码不被盗取的方法和系统,其特征为计算出“替代密码”后,用户根据已得到的要求有选择的提交“替代密码”的中的一部分到服务端验证。
5.根据权利要求1所述的保护网络用户密码不被盗取的方法和系统,其特征为这种算法是加、减、乘、除,逻辑加,根、幂等各种数学算法及他们的组合运算。
6.根据权利要求1所述的保护网络用户密码不被盗取的方法和系统,其特征为这种算法可以用一个数学公式来表示。
7.根据权利要求1所述的保护网络用户密码不被盗取的方法和系统,其特征为计算出“替代密码”的算法由服务端生成,使用时发送给客户端。
8.根据权利要求1所述的保护网络用户密码不被盗取的方法和系统,其特征为计算出“替代密码”的算法由客户端生成,使用时发送给服务端。
9.根据权利要求1所述的保护网络用户密码不被盗取的方法和系统,其特征为客户端的“原始密码”预先设置为数字,英文字母及其他可用于密码的字符,并被定义为可以运算的单位(给不同的字符赋不用的值)。
10.根据权利要求1所述的保护网络用户密码不被盗取的方法和系统,其特征为,这种方法和系统在实际应用中和传统的密码输入方法配合使用。
全文摘要
一种保护网络用户密码不被盗取的方法和系统,包括通过密码取得信任的服务端和客户端。用户(客户端的使用者)通过客户端登录服务端时,不提交用户的“原始密码”,而是部分提交提取“原始密码”中的部分数据通过一定的算法计算出的“替代密码”,算法达到了一定的规范,通过“替代密码”即无法逆推出完整的“原始密码”,并且系统会在用户每次登录时自动改变“替代密码”的算法,使客户端每次登录服务端的“替代密码”均不相同。这样,“木马”等程序即使盗得“替代密码”也无法获得“原始密码”或通过“替代密码”登录服务端。本方法安全性高,使用简单,成本低廉,可广泛应用于需要帐号密码登录服务器的环境。
文档编号H04L9/14GK1835435SQ20061007129
公开日2006年9月20日 申请日期2006年4月3日 优先权日2006年4月3日
发明者吴铁生 申请人:吴铁生
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1