公开/公告号CN101051904A
专利类型发明专利
公开/公告日2007-10-10
原文格式PDF
申请/专利权人 成都金山互动娱乐科技有限公司;
申请/专利号CN200710049117.9
发明设计人 周冠强;
申请日2007-05-17
分类号H04L9/32(20060101);
代理机构成都天嘉专利事务所;
代理人徐丰
地址 610041 四川省成都市高新区天府大道南沿线成都高新孵化园科技财富中心3层
入库时间 2023-12-17 19:11:48
法律状态公告日
法律状态信息
法律状态
2010-05-19
授权
授权
2007-12-05
实质审查的生效
实质审查的生效
2007-10-10
公开
公开
技术领域
本发明涉及互联网应用信息安全性处理领域,特别是一种保护网络应用程序使用账号密码进行登陆的方法。
背景技术
随着互联网信息产业的蓬勃发展,基于互联网的应用越来越普遍,如网络游戏、即时聊天软件、网络银行等,而账号密码是目前大多数网络应用程序采用的身份验证手段;为了谋取非法利益,不法分子利用病毒木马等手段盗取他人的账号密码的情况频频发生;此外,不法分子还可以利用网络监测工具截取网络程序登录数据包并用软件方法实施对服务器的诈骗登录,因此有效的保护网络应用程序的账号密码安全性,是发展互联网应用的一个重要课题。
防止键盘记录功能盗窃账号密码,传统方法通常是使用软键盘,即通过鼠标点击图形区域转化成对应键盘输入信息,这种方法存在的主要弊端是病毒和木马可针对特定软件,记录它们使用的软键盘布局,通过截获鼠标点击信息将用户输入的信息还原,从而窃取用户登录的账号密码。另外,对用户来说,使用软键盘的操作比较繁琐,非常不直观。
对于网络监测工具截取登录数据包并用软件方法实施诈骗登录的问题,在一些安全性要求较高的Web应用主要使用安全套接字层,即Security Socket Layer(缩写SSL)保证通信的安全性,如应用于网站服务的HTTPS(HTTP+SSL)。SSL是使用公钥和私钥技术组合的安全网络通讯协议,部署SSL对Web系统的服务器硬件性能要求非常高,在服务器和客户端之间初始化SSL会话和连接的状态信息过程需要处理复杂的握手协议,增加额外的网络负担,用户在使用过程也会有明显的等待时间。此外,专利申请号为03148856.0的中国发明专利申请提供了一种利用一次性随机数进行用户身份认证的方法,用MD5信息摘要算法对待认证数据(账号、密码或者两者组合)和随机数组成的原始信息进行加密,然后发送到服务器端进行验证,而此方法仅能保护账号密码数据的传输,不能防止病毒和木马的盗号行为。
发明内容
本发明为解决上述问题提供了一种保护网络应用程序使用账号密码进行登录的方法,可以有效防止了木马病毒等进程窃取用户输入的账号密码,或者网络监测工具截获登录数据包实行服务器诈骗登录,大大提高了网络应用信息的安全性。
本发明的技术方案如下:
一种保护网络应用程序使用账号密码进行登录的方法,通过客户端密码输入,然后经过服务器端验证进行登陆,其特征在于:客户端设置有通用键盘驱动程序,所述键盘驱动程序内预设有加密私钥和私钥加密模块;同时,服务器端也设置有加密私钥和加密模块,并且与客户端使用的私钥和私钥加密模块一致。
所述具体使用步骤如下:
A、客户端向服务器端发起连接请求,服务器收到连接请求后生成随机数,服务器端保留生成的随机数的记录,并把所述随机数通过网络连接发送到客户端;
B、客户端接收并记录服务器返回的随机数后,激活键盘驱动,接受用户的帐号密码输入;
C、所述键盘驱动程序预设的加密私钥和私钥加密模块对步骤B用户输入的键盘码进行加密,客户端得到加密后的密码信息;
D、客户端分别对用户帐号信息,加密后的用户密码加上从步骤B得到的随机数信息的组合数据进行不可逆的信息摘要加密,然后将账号的摘要信息和密码+随机数组合数据的摘要信息封装成登录数据包发送到服务器端请求验证;
E、服务器端接收到客户端的登录数据包后,分别解析出账号摘要信息和加密后密码+随机数组合数据的摘要信息,通过解析得到的账号摘要信息检索出服务器端存放的账号摘要信息和私钥加密后的密码信息,然后对检索出来的加密密码和服务器端随机数的组合数据执行和客户端一样的信息摘要加密,把生成信息摘要与客户端发送来的加密后密码+随机数组合数据的摘要信息进行比对,即可判断出账号密码的正确性。
所述步骤C中,客户端通过设备驱动程序的交互接口DeviceIoControl激活键盘驱动程序的加密功能,键盘驱动程序在操作系统的驱动底层接收输入的键盘码,通过加密私钥和私钥加密模块对输入键盘码进行加密,把加密后的键盘码放到操作系统应用层,客户端得到的是用户输入密码的加密后信息。私钥加密模块的算法采用数据加密标准(Data Encryptoin Standard,DES)。
所述步骤D中客户端对组合数据进行信息摘要加密采用不可逆的安全哈希算法(Safe Hash Algorithm,SHA)。客户端分别对用户帐号和键盘驱动程序加密过的用户密码+从服务器接收的随机数的组合数据执行信息摘要加密,把SHA(Account)和SHA(Password+RandomWord)的信息摘要数据封装成登录数据包,发送到服务器端进行验证。
本发明的有益效果如下:
本发明可以有效防止运行在操作系统应用层的具有键盘记录功能的木马病毒进程窃取用户输入的账号密码,也可以防止网络监测工具截获含有用户账号密码等信息的登录数据包并用软件方法实施诈骗登录。
附图说明
图1为本发明的流程图
具体实施方式
实施例1
一种保护网络应用程序使用账号密码进行登录的方法,通过客户端密码输入,然后经过服务器端验证进行登陆,客户端设置有通用键盘驱动程序,所述键盘驱动程序内预设有加密私钥和私钥加密模块;同时,服务器端也设置有加密私钥和加密模块,并且与客户端使用的私钥和私钥加密模块一致。
所述具体使用步骤如下:
A、客户端向服务器端发起连接请求,服务器收到连接请求后生成随机数,服务器端保留生成的随机数的记录,并把所述随机数通过网络连接发送到客户端;
B、客户端接收并记录服务器返回的随机数后,激活键盘驱动,接受用户的帐号密码输入;
C、所述键盘驱动程序预设的加密私钥和私钥加密模块对步骤B用户输入的键盘码进行加密,客户端得到加密后的密码信息;
D、客户端分别对用户帐号信息,加密后的用户密码加上从步骤B得到的随机数信息的组合数据进行不可逆的信息摘要加密,然后将账号的摘要信息和密码+随机数组合数据的摘要信息封装成登录数据包发送到服务器端请求验证;
E、服务器端接收到客户端的登录数据包后,分别解析出账号摘要信息和加密后密码+随机数组合数据的摘要信息,通过解析得到的账号摘要信息检索出服务器端存放的账号摘要信息和私钥加密后的密码信息,然后对检索出来的加密密码和服务器端随机数的组合数据执行和客户端一样的信息摘要加密,把生成信息摘要与客户端发送来的加密后密码+随机数组合数据的摘要信息进行比对,即可判断出账号密码的正确性。
实施例2
一种保护网络应用程序使用账号密码进行登录的方法,客户端通过设备驱动程序的交互接口DeviceIoControl激活键盘驱动程序的加密功能,键盘驱动程序在操作系统的驱动底层接收输入的键盘码,通过加密私钥和私钥加密模块对输入键盘码进行加密,把加密后的键盘码放到操作系统应用层,客户端得到的是用户输入密码的加密后信息。私钥加密模块的算法采用数据加密标准(Data EncryptoinStandard,DES)。
实施例3
一种保护网络应用程序使用账号密码进行登录的方法,客户端对组合数据进行信息摘要加密采用不可逆的安全哈希算法(Safe Hash Algorithm,SHA)。客户端分别对用户帐号和键盘驱动程序加密过的用户密码+从服务器接收的随机数的组合数据执行信息摘要加密,把SHA(Account)和SHA(Password+RandomWord)的信息摘要数据封装成登录数据包,发送到服务器端进行验证。
实施例4
一种保护网络应用程序使用账号密码进行登录的方法,首先在用户本地计算机上安装网络应用软件的客户端(如网络游戏客户端、聊天工具客户端等)。该客户端设置有通用键盘驱动程序,所述键盘驱动程序内预设有加密私钥和私钥加密模块;同时,服务器端也设置有加密私钥和加密模块,并且与客户端使用的私钥和私钥加密模块一致。
所述具体使用步骤如下:
A、用户启动网络应用软件的客户端程序,客户端程序初始化过程加载所述的键盘驱动程序;加载完成后,客户端向服务器端发起连接请求,服务器收到连接请求后生成随机数,服务器端保留生成的随机数的记录,并把所述随机数通过网络连接发送到客户端;
B、客户端接收并记录服务器返回的随机数后,进入用户帐号密码输入的界面;
C、当用户准备输入密码的时候,客户端通过设备驱动程序的交互接口DeviceIoControl激活键盘驱动的加密功能。键盘驱动程序在计算机操作系统的驱动底层接收用户输入的键盘码,按照所述的预设加密模块和密钥对步骤B中用户输入键盘码进行加密,把加密后键盘码投放到操作系统应用层,客户端的账号密码输入界面即可获得加密后的用户输入的密码信息;
D、客户端分别对用户帐号,键盘驱动程序加密过的密码信息+从服务器接收的随机数的组合数据,执行不可逆的安全哈希算法(SHA)进行消息摘要加密,把SHA(Account)和SHA(Password+RandomWord)的消息摘要数据一起封装成网络数据包,发送到服务器端进行登录验证;
E、服务器端接收到客户端的登录数据包后,解析出账号和密码的SHA摘要信息;因为信息摘要算法是不可逆的,所以服务器端存放的不是原始的账号密码,而是SHA加密的用户账号和私钥加密的用户密码,利用客户端发送来的账号信息可以检索出服务器端存放在数据库或者文件中的账号和密码。同样,对检索出来的密码和随机数的组合数据进行SHA信息摘要,把摘要信息和客户端发送来的密码摘要信息就行比对,即可验证账号密码的准确性,通过后接受用户登录,否则拒绝登录。
机译: 一种通过对单词进行交织和错误保护,通过从受高度保护的单词派生并指向受保护程度较低的单词的错误定位提示来对多单词信息进行编码的方法,一种对此类信息进行解码的方法,用于对此类信息进行编码和/或解码的设备以及提供此类信息的承运人
机译: “一种通过字词交错错误保护来编码多字信息的方法,其中错误定位线索是从高保护性单词派生而又被定向为低保护性单词,一种对此类信息进行解码的方法,一种对此类信息进行编码和/或解码的设备以及提供了此类信息的媒体。”
机译: 一种通过字交织错误保护来编码多字信息的方法,其中错误定位线索是从高保护性单词派生并被定向为低保护性单词,一种对这种信息进行解码的方法,一种对这种信息进行编码和/或解码的设备以及光学提供了此类信息。