帐号保护的方法及系统
技术领域
本发明涉及网络服务中的帐号,特别涉及帐号保护的方法及系统。
背景技术
随着中国互联网事业的发展,各种个人在线服务应用给人们带来了信息勾通的便利,但也产生了一些问题。现在各种服务应用都会要求创建一个用户名和密码来访问的特定内容,现有的帐号保护系统包括设置在客户端的客户登录单元和设置在服务器端的服务器认证单元,其帐号保护包括以下步骤:(1)当用户输入帐号信息,点击登录按钮进行登录;(2)客户端就与服务器端建立网络连接,并用默认密码加密帐号信息或简单的散列用户密码,将结果发送给服务器认证单元;(3)服务器接收到客户端建立的网络连接,解密数据,提取帐号信息;(4)服务器认证单元查询帐号数据库,并鉴别帐号,根据帐号名与密码确定该帐号是否是合法的服务器存储的帐号,如果是,则判定该帐号有效。而由于网络具有的相对的不安全性,能由于电脑中了木马、病毒等原因丢失帐号,盗用者可以利用盗用的帐号获取利益或信息。因此,目前网络个人帐号的安全问题主要就是盗用问题,但是,目前还没有很好的方法来解决网络个人帐号的安全保证。
发明内容
为了克服现有技术的缺陷和不足,本发明的目的在于提供一种能够提高帐号的安全可靠性的帐号保护的方法及系统。
为了达到上述目的,本发明一种帐号保护的方法,包括以下步骤:
(1)客户端登录单元与服务器认证单元建立网络连接,服务器认证单元认证客户端登录单元发送的帐号信息为有效;
(2)服务器认证单元判断该帐号信息是否绑定客户端验证单元,如果判断结果为否,则步骤结束;如果判断结果为是,则进入步骤(3);
(3)服务器认证单元验证该客户端验证单元的信息是否有效,如果有效,则允许该帐号登录,如果无效,则禁止该帐号登录。
作为本发明的进一步改进,所述步骤(3)具体为:
(31)服务器认证单元产生验证码返回给客户端登录单元;
(32)客户端验证单元使用其内部存储的数字证书的私钥对客户端登录单元收到的验证码进行加密,并将数字证书和加密后的验证码通过客户端登录单元发送给服务器认证单元;
(33)服务器认证单元分别验证数字证书信息和加密后的验证码是否有效,如果有效,则允许该帐号登录,如果无效,则禁止该帐号登录。
作为本发明的进一步改进,步骤(33)中所述服务器认证单元分别验证数字证书信息和加密后的验证码是否有效的方法包括以下三种认证:
(a)服务器认证单元判断收到的数字证书是否是其颁发的;
(b)从帐号的数字证书中提取公钥解密验证码,并校验验证码是否与发送给客户端登录单元的验证码一致;
(c)提取数字证书中的证书序列号并查询是否与在服务器认证单元中存贮帐号的唯一证书序列号一致。
作为本发明的进一步改进,所述的验证码为一个随机数。
作为本发明的进一步改进,所述步骤(33)后还包括:
(4)服务器认证单元产生随机会话密钥,并用客户端验证单元的数字证书的公钥加密会话密钥,将结果发送给客户端登录单元;
(5)客户端验证单元解密结果,服务器认证单元和客户端登录单元都设置该会话密钥为通信密钥,进行通信数据的加解密。
作为本发明的进一步改进,步骤(2)中所述帐号信息绑定客户端验证单元为:
帐号信息与客户端验证单元内部的数字证书进行绑定。
作为本发明的进一步改进,步骤(2)中所述的客户端验证单元为:支持公开密钥体系的智能卡或电子钥匙。
本发明一种帐号保护的系统,包括:客户端登录单元和与其连接的服务器认证单元,所述的系统还包括:
与客户端登录单元连接的客户端验证单元,用于使用其内部存储的数字证书的私钥对客户端登录单元收到的验证码进行加密,并将加密后的验证码和数字证书信息发送给服务器认证单元;
所述的服务器认证单元还包括:
绑定信息验证模块,用于在帐号认证成功后发送验证码给客户端登录单元,并接收、验证客户端验证单元发送的加密后的验证码和数字证书信息。
作为本发明的进一步改进,所述绑定信息验证模块包括:
数字证书验证模块,用于验证数字证书是否是服务器认证模块颁发;
验证码验证模块,用于从帐号的数字证书中提取公钥解密验证码,并校验验证码是否与发送给客户端登录单元的验证码一致;
序列号验证模块,用于提取数字证书中的证书序列号并查询是否与在服务器认证单元中存贮帐号的唯一证书序列号一致。
作为本发明的进一步改进,所述的客户端验证单元为:支持公开密钥体系的智能卡或电子钥匙。
采用上述的方法和系统,在帐号认证成功后,必须通过验证与帐号绑定的唯一的硬件信息有效,客户端才能登录服务器,增加了网络盗窃帐号的难度,并提高了帐号保护的可靠性和安全性。
附图说明
图1为本发明中帐号保护的系统结构图;
图2为本发明中绑定信息验证模块的具体结构图;
图3为本发明中帐号保护的总体流程图;
图4为本发明中帐号保护的优选具体实施的流程图;
图5为本发明中数据通信过程保护帐号安全的流程图。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步详细说明。
如图1所示,为本发明帐号保护的系统结构,包括服务端认证单元、客户端登录单元和客户端验证单元。用户首先在客户端登录单元输入帐号信息(账号名称、密码),并使用默认的密码加密帐号信息提交给服务端认证单元,服务端认证单元接收帐号信息,使用默认密码解密帐号信息,并从数据中取帐号名称与密码,查询帐号与密码是否在服务器后台存贮的帐号信息中存在,确定帐号是服务器合法的帐号后;设置在服务端认证单元的绑定信息验证模块向客户端登录单元发送一个验证码,该验证码可以是一个随机数;客户端登录单元通过使用客户端验证单元内部存储的数字证书的私钥对随机数进行加密,将加密结果连同数字证书发送给服务器认证单元;服务器认证单元中的绑定信息验证模块对接收到的信息进行验证,如果验证通过,则允许该帐号登录;如果验证不通过,则禁止该帐号登录。上述的客户端验证单元可以是电子钥匙或智能卡,客户端登录单元通过PC外部接口或者智能卡读卡器访问、使用客户端验证单元。上述与帐号信息绑定的是客户端验证单元内的数字证书,即一个帐号信息与且仅与一个客户端验证单元内的数字证书唯一对应,利用该客户端验证单元内数字证书的唯一性来防止帐号被盗用,同时也保证了使用的真实性。
如图2所示,上述的绑定信息验证模块作为优选的还包括数字证书验证模块、验证码验证模块和序列号验证模块,分别用于验证数字证书是否是服务器认证模块颁发;从帐号的数字证书中提取公钥解密验证码,并校验验证码是否与发送给客户端登录单元的验证码一致;提取数字证书中的证书序列号并查询是否与在服务器认证单元中存贮帐号的唯一证书序列号一致。采用这样的结构和验证方式能够更进一步的提高帐号保护的可靠性和安全性。
如图3所示,为本发明中帐号保护的总体流程,包括以下步骤:
(301)客户端登录单元与服务器认证单元建立网络连接,并认证客户端登录单元发送的帐号信息为有效;
(302)服务器认证单元判断该帐号信息是否绑定客户端验证单元,如果判断结果为是,则进入步骤(303);如果判断结果为否,则进入步骤(305);
(303)服务器认证单元验证该客户端验证单元的信息是否有效,如果有效,则进入步骤(304);如果无效,则进入步骤(305);
(304)允许该帐号登录,结束;
(305)禁止该帐号登录,结束。
本发明就是在帐号认证成功后,必须通过验证与帐号绑定的唯一的硬件信息有效,客户端才能登录服务器,增加了网络盗窃帐号的难度,并提高了帐号保护的可靠性和安全性。
如图4所示,为本发明帐号保护的方法流程图,包括以下步骤:
(401)用户输入帐号信息;
(402)客户端登录单元与服务器认证单元建立网络连接,并用默认密码加密帐号信息后,将结果发送给服务器认证单元;
(403)服务器认证单元接收客户端建立的网络连接后,使用默认的密码解密数据并提取帐号信息;
(404)服务器认证单元查找帐号数据库,并鉴别帐号,根据帐号名与密码确定该帐号是否是合法的服务器存储的帐号,如果不是,则禁止登录;如果是,则进入步骤(405);
(405)服务器认证单元的绑定信息验证模块产生随机数(防止客户端重发攻击)返回给客户端;
(406)客户端验证单元使用其内部的数字证书的私钥对随机数进行加密,客户端登录单元将数字证书和加密后的验证码发送给服务器认证单元;
(407)服务器认证单元的数字证书验证模块验证收到的数字证书是否是服务器认证模块颁发如果是,则进入步骤(408);如果不是,则禁止用户登录该帐号;
(408)服务器认证单元的验证码验证模块从帐号的数字证书中提取公钥解密验证码,并校验验证码是否与发送给客户端登录单元的验证码一致,如果一致,则进入步骤(409);如果不一致,则禁止用户登录该帐号;
(409)服务器认证单元的序列号验证模块提取数字证书中的证书序列号并查询是否与在服务器认证单元中存贮帐号的唯一证书序列号一致,如果一致,则允许该用户帐号登录,如果不一致,则禁止用户登录该帐号。
上述的步骤(407)、步骤(408)、步骤(409)的三个认证过程是可以任意调换认证顺序的,通过这三步的验证过程就可以很可靠的对用户帐号进行保护。优选的验证码可以选用一个随机数。
作为本发明的更进一步优选,如图5所示,在步骤(409)后还可以优选包括:
(410)服务器认证单元产生随机会话密钥,并用客户端数字证书的公钥加密会话密钥,将结果返回给客户端登录单元;
(411)服务器认证单元设置该会话密钥为与客户端通信的通信密钥;
(412)客户端解密结果,并设置会话密钥为与服务器通信的通信密钥;
(413)客户端与服务器的通信数据的传输都经过会话密钥的加密,并在收到通信数据后利用该会话密钥解密。
步骤(410)到步骤(413)是产生随机的会话密钥作为通信密钥,而没有采用固定的通信密钥,使在数据的通信中的密钥更不容易被破解,增加了盗取帐号的难度,提高了帐号保护的可靠性。
采用上述的帐号保护认证过程,能够得到以下优点:
1.使用了硬件设备的唯一序列号,并以数字证书(在设备申请数字证书的过程中将硬件设备的唯一序列号作为数字证书的证书序列号)为载体保证传输过程中不被篡改;
2.该设备可以支持PKI(Public Key Infrastructure,公开密钥体系,简称PKI)技术,增加了加密算法加密的强度,使网络传输过程中数据的传输更加安全;
3.采用了会话密钥,客户端每次登录生成不同的会话密钥增加密破解加密数据的难度避免了在客户端使用固定的密钥造成数据易破解;
4.帐号登录就必须使用硬件设备增加了网络盗窃帐号后使用的难度。