提高网络软件安全性的方法和系统的制作方法

文档序号:7966884阅读:207来源:国知局
专利名称:提高网络软件安全性的方法和系统的制作方法
技术领域
本发明涉及网络安全领域,特别涉及一种提高网络软件安全性的方法和系统。
背景技术
随着互联网的不断发展和软件编程技术的不断完善,软件种类和数量也不断增长,网络软件就是在此过程中产生的。网络软件是一种通过网络来运行的软件,典型的网络软件系统为C/S架构(客户端/服务器),包括客户端和服务器端两部分,两者通过网络连接来交互信息和数据。例如网络游戏就是一种网络软件,网络游戏需要有专门的运营商对其进行运营,负责服务器端程序的运行和维护,用户通过在客户端输入账号和密码证明自己的身份后才能访问服务器端,用户还需要不断地购买点卡给自己的账号充值以保证其账号的余额足够才能运行网络游戏。现有网络软件的运营方式是由运营商提供有关网络软件运行和维护的服务,运营商授予代理商销售权,代理商负责网络游戏以及相关产品的发行以及销售游戏点卡等业务。
网络软件系统的开发商和运营商要面对的最大问题就是网络安全问题,即如何在网络上确认一个用户的身份——这个用户是否是付费用户,确认这个用户属于哪个权限等级等等。现有的网络身份验证方式主要是在使用网络软件之前由用户输入用户名和密码,只有通过认证的用户才可以使用该网络软件;这种现有技术的缺点是用户名和密码以明文的形式在网络上传输,很容易被恶意分子截获及盗用,会给真正的用户带来损失,网络安全性差。
非对称密钥机制是一种加密密钥与解密密钥各不相同的机制,它采用一对密钥对—公钥和私钥来进行安全控制,当传输数据时,发送方使用公钥加密数据而接收方使用私钥解密该数据;当进行身份验证时,被验证方用私钥对明文签名得到数字签名,然后将数字签名发向验证方,验证方用公钥解密数字签名后与原文进行比较来实现身份验证。
冲击响应机制是利用HMAC(keyed-Hashing Message Authentication Code)-Hash算法进行验证的方式,HMAC-Hash是对Hash算法的加强,是将Hash算法与对称密钥相结合的一种机制,并且每次运算都有随机数据参与,以保证每次认证过程产生的结果数据不同。Hash算法是一种无需密钥参与的单向加密算法,可以将任意长度的数据进行加密生成固定长度的密文,对称密钥是指加密密钥和解密密钥为同一个密钥。
智能密钥装置是一种带有处理器和存储器的小型硬件装置,它可通过计算机的数据通讯接口与计算机连接。智能密钥装置采用PIN码验证用户身份的合法性,在进行身份认证时将智能密钥装置与计算机相连,用户在计算机上输入PIN码,智能密钥装置会自动校验该PIN码的正确性,只有当用户输入的PIN码正确时,才允许用户操作智能密钥装置。智能密钥装置还具有密钥生成功能,并可安全存储密钥和预置加密算法。智能密钥装置与密钥相关的运算完全在装置内部运行,且智能密钥装置具有物理抗攻击的特性,安全性极高,常用的智能密钥装置通过USB接口与计算机相连。
上述两种身份验证机制以及智能密钥装置的安全性较高,但是还都没有应用到网络软件的身份认证中来。

发明内容
为了解决现有网络软件身份认证的安全性不高的问题,本发明提供了一种提高网络软件安全性的方法,具体包括以下步骤步骤A网络软件客户端获取账号信息和/或密钥并保存在智能密钥装置中,网络软件服务器端获取所述账号信息和/或密钥并保存在数据库中;步骤B在所述网络软件客户端运行网络软件时,所述网络软件服务器端利用所述账号信息和密钥对所述网络软件客户端进行身份认证。
所述步骤A具体包括步骤A1在网络软件的客户端连接内置有账号信息的智能密钥装置;步骤A2所述网络软件的客户端程序读取所述智能密钥装置中的账号信息并向所述智能密钥装置发送生成密钥的命令;步骤A3所述智能密钥装置根据接收到的命令生成密钥并返回给所述网络软件客户端程序;步骤A4所述网络软件客户端程序利用其内置的算法和内置的客户端公钥加密所述账号信息和密钥,并将加密后的信息发送给已存有所述账号信息的网络软件服务器端;步骤A5所述网络软件服务器端利用内置的与所述客户端公钥对应的私钥解密收到的加密信息,得到所述账号信息和密钥,在数据库中找到所述账号信息后将所述密钥存入相应的位置。
所述步骤A具体包括步骤A1在网络软件的客户端连接内置有密钥的智能密钥装置;步骤A2所述网络软件的客户端程序向服务器端发送申请账号的请求;步骤A3所述网络软件服务器端接收到所述请求后生成账号保存在数据库中,并将所述账号信息返回给所述网络软件客户端程序;步骤A4所述网络软件客户端程序将收到的账号信息保存在所述智能密钥装置中,并读取所述智能密钥装置的密钥;步骤A5所述网络软件客户端程序利用其内置的算法和内置的客户端公钥加密所述账号信息和密钥,并将加密后的信息发送给所述网络软件服务器端;步骤A6所述网络软件服务器端利用内置的与所述客户端公钥对应的私钥解密收到的加密信息,得到所述账号信息和密钥,在数据库中找到所述账号信息后将所述密钥存入相应的位置。
所述步骤A具体包括步骤A1在网络软件的客户端连接智能密钥装置;步骤A2所述网络软件的客户端程序向服务器端发送申请账号的请求;步骤A3所述网络软件服务器端接收到所述请求后生成账号保存在数据库中,并将所述账号信息返回给所述网络软件客户端程序;步骤A4所述网络软件客户端程序将收到的账号信息保存在所述智能密钥装置中,并向所述智能密钥装置发送生成密钥的命令;步骤A5所述智能密钥装置根据接收到的命令生成密钥并返回给所述网络软件客户端程序;步骤A6所述网络软件客户端程序利用其内置的算法和内置的客户端公钥加密所述账号信息和密钥,并将加密后的信息发送给所述网络软件服务器端;步骤A7所述网络软件服务器端利用内置的与所述客户端公钥对应的私钥解密收到的加密信息,得到所述账号信息和密钥,在数据库中找到所述账号信息后将所述密钥存入相应的位置。
所述步骤A具体包括步骤A1在网络软件的客户端连接智能密钥装置;步骤A2所述网络软件的客户端程序向所述智能密钥装置发送生成中间密钥的命令;步骤A3所述智能密钥装置根据收到的命令生成非对称密钥对,公钥X和私钥Y,并将所述公钥X返回给所述网络软件客户端程序;步骤A4所述网络软件客户端程序利用其内置的算法和内置的客户端公钥加密所述公钥X;步骤A5所述网络软件客户端程序向网络软件服务器端发送申请账号和密钥的请求,并将所述加密后的公钥X也一起发给所述网络软件服务器端;步骤A6所述网络软件服务器端根据所述请求生成账号和密钥并保存在数据库中,并且利用预置的与所述客户端公钥对应的私钥对收到的加密后的公钥X进行解密得到所述公钥X;步骤A7所述网络软件服务器端利用所述公钥X加密所述账号信息和密钥得到密文,并发送所述密文给所述网络软件客户端程序;步骤A8所述网络软件客户端程序收到所述密文后转发给所述智能密钥装置;步骤A9所述智能密钥装置利用所述私钥Y解密所述密文得到所述账号信息和密钥,并将所述账号信息和密钥保存在所述智能密钥装置中。
所述在网络软件的客户端连接智能密钥装置的步骤之后还包括以下步骤所述智能密钥装置验证用户输入的PIN码或用户的生物特征是否正确,如果正确则执行步骤A2,否则提示错误并结束。
所述智能密钥装置中的密钥为非对称密钥对,所述步骤B中所述网络软件服务器端利用所述账号信息和密钥通过非对称密钥机制对所述客户端进行身份认证。
所述智能密钥装置中的密钥为对称密钥,所述步骤B中所述网络软件服务器端利用所述账号信息和密钥通过冲击响应机制对所述客户端进行身份认证。
所述网络软件为网络游戏软件、网上教育软件或媒体点播软件。
所述智能密钥装置为USB接口的智能密钥装置。
所述智能密钥装置存储至少一组账号信息和密钥。
本发明还提供了一种提高网络软件安全性的系统,所述系统包括网络软件客户端、网络软件服务器端和智能密钥装置,所述网络软件客户端包括(1)获取模块,用于获取网络软件身份认证需要的账号信息和/或密钥并保存在所述智能密钥装置中;(2)验证模块,用于利用所述账号信息和密钥向所述服务器端申请身份验证;
所述网络软件服务器端包括(1)获取模块,用于获取网络软件身份认证需要的账号信息和/或密钥并保存在数据库中;(2)验证模块,用于利用所述账号信息和密钥对所述网络软件客户端进行身份验证;所述智能密钥装置包括(1)存储模块,用于存储网络软件身份认证的账号信息和密钥;(2)运算模块,用于根据所述网络软件客户端的获取模块发来的命令生成密钥并发送给所述存储模块或网络软件客户端的获取模块,还用于利用所述存储模块中的密钥进行算法运算以跟所述网络软件客户端的验证模块进行交互来对用户进行身份验证。
所述智能密钥装置还包括验证模块,用于对用户输入的PIN码或生物特征进行验证。
本发明的有益效果是1、由于智能密钥装置是能够防止内部信息被篡改和盗取的安全载体,所以利用智能密钥装置存储用于网络软件身份认证的密钥并且由智能密钥装置进行运算,更安全;2、在一个智能密钥装置中可以存有多组身份认证的账号信息和密钥,用户可以使用一个智能密钥装置进行多个网络软件的身份认证,方便用户和代理商的操作,节省人力和物力。


图1是本发明实施例一智能密钥装置和服务器端获取账号和密钥的过程流程图;图2是本发明实施例一进行网络软件身份认证的过程流程图;图3是本发明实施例二智能密钥装置和服务器端获取账号和密钥的过程流程图;图4是本发明实施例二进行网络软件身份认证的过程流程图;图5是本发明实施例三智能密钥装置和服务器端获取账号和密钥的过程流程图;图6是本发明实施例四智能密钥装置和服务器端获取账号和密钥的过程流程图;图7是本发明实施例五一种提高网络软件安全性的系统示意图;图8是本发明实施例六一种提高网络软件安全性的系统示意图。
具体实施例方式
下面结合附图和具体实施例对本发明作进一步说明,但不作为对本发明的限定。
本发明中的网络软件客户端程序在用户购买时就已经加入了访问智能密钥装置的功能,因此当智能密钥装置连接计算机后,客户端程序能够与智能密钥装置交互,通过客户端程序使智能密钥装置与网络软件服务器端能够建立关联。
在本发明中网络软件客户端程序中会内置算法和客户端公钥,用来对身份认证的密钥进行加密,网络软件服务器端会内置与客户端公钥对应的私钥,用来对加密的身份认证密钥进行解密。
实施例一在本实施例中网络软件的运营商预先在服务器端为用户建立身份认证的账号信息,并将账号信息保存在服务器端的数据库中,再利用写入工具将网络软件的标识和账号信息写入智能密钥装置中;运营商还可以将账号信息通过安全的途径发放给代理商,代理商利用写入工具将网络软件的标识和账号信息写入智能密钥装置中,用户从代理商处购买的智能密钥装置中就存有网络软件的标识和账号信息。身份认证密钥由智能密钥装置在网络软件客户端生成,网络软件服务器端用非对称密钥机制或冲击响应机制对网络软件客户端进行身份认证。
参见图1,本发明提供了一种提高网络软件安全性的方法,首先执行以下初始化步骤步骤101将智能密钥装置连接到计算机,建立计算机与智能密钥装置的连接;步骤102网络软件客户端程序访问智能密钥装置,用户输入PIN码;步骤103智能密钥装置验证用户输入的PIN码,如果验证失败则执行步骤104,否则执行步骤105;步骤104提示错误并结束;步骤105网络软件客户端程序根据该网络软件的标识读取智能密钥装置中该网络软件对应的账号信息;步骤106网络软件客户端程序向智能密钥装置发送生成身份认证密钥的命令;步骤107智能密钥装置根据网络软件客户端发送来的命令生成密钥并保存,并将该密钥返回给网络软件客户端程序,在本实施例中该身份认证密钥是非对称密钥对,即一个私钥用于签名,一个公钥用于验证;步骤108网络软件客户端程序利用其内置的算法和内置的客户端公钥加密智能密钥装置中的账号信息和密钥,并将加密后的信息发送给网络软件服务器端;步骤109网络软件服务器端利用内置的与客户端公钥对应的私钥解密收到的加密信息,得到网络软件身份认证的账号信息和密钥,在服务器端的数据库中找到该账号信息后将密钥存入相应的位置。
通过以上步骤在客户端和服务器端均保存有进行网络软件身份认证需要的账号信息和密钥,当用户登录网络软件时,使用非对称密钥机制或冲击响应机制,通过智能密钥装置与网络软件服务器端进行身份认证,认证通过后才能运行网络软件。由于本实施例中智能密钥装置生成的密钥是非对称密钥对,所以网络软件服务器端对用户采用非对称密钥机制的身份验证方法,参见图2,具体过程如下步骤201在客户端运行网络软件程序;步骤202在计算机上连接智能密钥装置,网络软件客户端程序访问智能密钥装置,用户输入PIN码;步骤203智能密钥装置验证用户输入的PIN码,如果验证失败则执行步骤204,否则执行步骤205;步骤204提示错误并结束;步骤205网络软件客户端程序申请登录服务器端;步骤206网络软件服务器端向网络软件客户端发送身份验证请求,且向网络软件客户端程序发送一个随机字符串;步骤207网络软件客户端程序将收到的随机字符串转发至智能密钥装置;步骤208智能密钥装置利用其内置的算法和事先生成的非对称密钥对中的私钥来签名该随机字符串得到数字签名,并将该数字签名和该非对称密钥对所对应的账号信息一起返回给网络软件客户端程序;步骤209网络软件客户端程序将收到的数字签名和账号信息发送给网络软件服务器端;步骤210网络软件服务器端根据收到的账号信息查找数据库,找到该账号信息对应的非对称密钥对中的公钥,并利用该公钥来解密该数字签名,得到随机字符串后,与步骤206中所发送的随机字符串做比较,如果一致则验证成功,用户可以使用该网络软件并可以对网络软件服务器端的数据和资源等进行访问,否则提示验证失败并结束。
上述步骤107中智能密钥装置生成的密钥也可以是对称密钥即加密和解密为同一个密钥,那么当用户登录网络软件时,网络软件服务器端对用户就会采用冲击响应机制的身份验证方法来进行验证。
实施例二在本实施例中网络软件的运营商或代理商不用对智能密钥装置作任何处理,用户可以通过任意途径购买内置有身份认证密钥的智能密钥装置,该密钥是对称密钥即加密和解密为同一个密钥。用户可以在网络软件客户端通过网络向运营商服务器端申请账号,服务器端建立账号后发送给客户端,用户将其保存在智能密钥装置中。
参见图3,本发明还提供了另外一种提高网络软件安全性的方法,首先执行以下初始化步骤步骤301将智能密钥装置连接到计算机,建立计算机与智能密钥装置的连接;步骤302网络软件客户端程序访问智能密钥装置,用户输入PIN码;步骤303智能密钥装置验证用户输入的PIN码,如果验证失败则执行步骤304,否则执行步骤305;步骤304提示错误并结束;步骤305网络软件客户端程序向服务器端发送申请身份认证账号的请求;步骤306网络软件服务器端根据该请求建立账号并保存在数据库中,并将账号信息返回给网络软件客户端程序;步骤307网络软件客户端程序将收到的账号信息保存在智能密钥装置中;步骤308网络软件客户端程序向智能密钥装置发送获取身份认证密钥的命令;步骤309智能密钥装置将其预置的身份认证密钥即对称密钥返回给网络软件客户端程序;步骤310网络软件客户端程序利用其内置的算法和内置的客户端公钥加密身份认证密钥和账号信息,并将加密后的信息发送给网络软件服务器端;步骤311网络软件服务器端用内置的与客户端公钥对应的私钥解密收到的加密信息,得到账号信息和身份认证密钥,网络软件服务器端在数据库中查找到该账号信息后,将身份认证密钥保存在相应的位置。
通过以上步骤在客户端和服务器端均保存有进行网络软件身份认证需要的账号信息和密钥,由于本实施例中智能密钥装置中预置的密钥是对称密钥,所以网络软件服务器端对用户采用冲击响应机制的身份验证方法,参见图4,具体过程如下步骤401在客户端运行网络软件程序;步骤402网络软件客户端程序访问智能密钥装置,用户输入PIN码;步骤403智能密钥装置验证用户输入的PIN码,如果验证失败则执行步骤404,否则执行步骤405;步骤404提示错误并结束;步骤405网络软件客户端程序申请登录服务器端;步骤406网络软件服务器端向网络软件客户端发送身份验证请求,且向网络软件客户端程序发送一个随机字符串;
步骤407网络软件客户端程序将收到的随机字符串转发至智能密钥装置;步骤408智能密钥装置利用预置的对称密钥和HMAC-Hash算法处理上述随机字符串得到客户端运算结果,并通过网络软件客户端程序将该客户端运算结果和该对称密钥对应的账号信息一起返回给网络软件服务器端;步骤409网络软件服务器端根据收到的账号信息查找数据库,找到该账号信息对应的对称密钥后,用该对称密钥和HMAC-Hash算法处理上述发送给客户端的随机字符串,得到服务器端运算结果;步骤410网络软件服务器端程序将服务器端运算结果和客户端运算结果相比较,如果一致则验证成功,网络软件服务器端允许客户端程序对网络软件服务器端的数据和资源等进行访问,否则提示验证失败并结束。
实施例一中的验证过程如果采用冲击响应机制,其过程同本实施例中的步骤401至步骤410。本实施例中当用户购买的智能密钥装置中保存的密钥为非对称密钥对时,网络软件服务器端对用户就会采用非对称密钥机制的身份验证方法来进行验证,其过程与实施例一中的步骤201至步骤210相同,在此不再赘述。
实施例三在本实施例中网络软件的运营商或代理商不用对智能密钥装置作任何处理,用户可以通过任意途径购买智能密钥装置,智能密钥装置中既没有账号信息也没有身份认证密钥。用户可以在网络软件客户端通过网络向运营商服务器端申请账号,服务器端建立账号后发送给客户端,用户将其保存在智能密钥装置中。身份认证密钥由智能密钥装置在网络软件客户端生成,如果生成的密钥为非对称密钥对则网络软件服务器端采用非对称密钥机制对用户进行身份验证,如果生成的密钥为对称密钥则网络软件服务器端采用冲击响应机制对用户进行身份验证。
参见图5,本发明还提供了另外一种提高网络软件安全性的方法,首先执行以下初始化步骤步骤501将智能密钥装置连接到计算机,建立计算机与智能密钥装置的连接;步骤502网络软件客户端程序访问智能密钥装置,用户输入PIN码;步骤503智能密钥装置验证用户输入的PIN码,如果验证失败则执行步骤504,否则执行步骤505;步骤504提示错误并结束;步骤505网络软件客户端程序向服务器端发送申请身份认证账号的请求;
步骤506网络软件服务器端根据该请求建立账号并保存在数据库中,并将该账号信息返回给网络软件客户端程序;步骤507网络软件客户端程序将收到的账号信息保存在智能密钥装置中;步骤508网络软件客户端程序向智能密钥装置发送生成身份认证密钥的命令;步骤509智能密钥装置根据网络软件客户端发送来的命令生成密钥,并将该密钥返回给网络软件客户端程序;步骤510网络软件客户端程序利用其内置的算法和内置的客户端公钥加密智能密钥装置中的账号信息和密钥,并将加密后的信息发送给网络软件服务器端;步骤511网络软件服务器端利用内置的与客户端公钥对应的私钥解密收到的加密信息,得到网络软件身份认证的账号信息和密钥,在服务器端的数据库中找到该账号信息后将密钥存入相应的位置。
步骤509中生成的身份认证密钥如果是非对称密钥对,则网络软件服务器端对用户采用非对称密钥机制的身份验证方法,具体过程同实施例一中的步骤201至步骤210;如果是对称密钥,则网络软件服务器端对用户采用冲击响应机制的身份验证方法,具体过程同实施例二中的步骤401至步骤410,在此就不再赘述。
实施例四在本实施例中网络软件的运营商或代理商不用对智能密钥装置作任何处理,用户可以通过任意途径购买智能密钥装置,智能密钥装置中既没有账号信息也没有身份认证密钥。用户可以在网络软件客户端通过网络向运营商服务器端申请账号和密钥,服务器端建立账号并生成与此账号对应的密钥,然后发送给客户端,用户将其保存在智能密钥装置中。服务器端生成的密钥如果为非对称密钥对则网络软件服务器端采用非对称密钥机制对用户进行身份验证,如果为对称密钥则网络软件服务器端采用冲击响应机制对用户进行身份验证。
参见图6,本发明还提供了另外一种提高网络软件安全性的方法,首先执行以下初始化步骤步骤601将智能密钥装置连接到计算机,建立计算机与智能密钥装置的连接;步骤602网络软件客户端程序访问智能密钥装置,用户输入PIN码;步骤603智能密钥装置验证用户输入的PIN码,如果验证失败则执行步骤604,否则执行步骤605;步骤604提示错误并结束;步骤605网络软件客户端程序向智能密钥装置发送生成密钥的命令,该密钥是用于服务器端在传输身份认证密钥之前进行加密,在客户端收到身份认证密钥之后进行解密;步骤606智能密钥装置根据收到的命令生成非对称密钥对,公钥X和私钥Y,并将其中的公钥X返回给网络软件客户端程序;步骤607网络软件客户端程序利用其内置的算法和内置的客户端公钥加密上述公钥X,并发送给服务器端;步骤608网络软件客户端程序向服务器端发送申请账号和获取身份认证密钥的请求;步骤609网络软件服务器端根据该请求建立账号并生成与此账号对应的密钥,并将它们保存在数据库中,并且网络软件服务器端利用预置的与客户端公钥对应的私钥对收到的加密后的公钥X进行解密得到公钥X;步骤610网络软件服务器端利用上述解密后得到的公钥X加密生成的账号信息和对应的密钥得到密文,并发送该密文给网络软件客户端;步骤611网络软件客户端程序收到密文后转发给智能密钥装置;步骤612智能密钥装置利用步骤606中生成的私钥Y解密该密文得到明文,即账号信息和对应的密钥,并将该账号信息和对应的密钥保存在智能密钥装置中。
步骤609中生成的身份认证密钥如果是非对称密钥对,则网络软件服务器端对用户采用非对称密钥机制的身份验证方法,具体过程同实施例一中的步骤201至步骤210;如果是对称密钥,则网络软件服务器端对用户采用冲击响应机制的身份验证方法,具体过程同实施例二中的步骤401至步骤410,在此就不再赘述。
在上述实施例一至实施例四中均可以不执行智能密钥装置验证用户输入PIN码的步骤;另外智能密钥装置验证用户输入PIN码的步骤也可以由验证用户的生物特征的方式进行替换,如指纹识别或视网膜识别等等。
上述所有实施例中的智能密钥装置可以存储一组账号信息和密钥,也可以存储多组账号信息和密钥,当存储有多组账号信息和密钥时,用户可以使用一个智能密钥装置进行多个网络软件的身份认证。
实施例五参见图7,本发明还提供了一种提高网络软件安全性的系统,系统包括网络软件客户端、网络软件服务器端和智能密钥装置,网络软件客户端包括(1)获取模块,用于获取网络软件身份认证需要的账号信息和/或密钥并保存在智能密钥装置中,当智能密钥装置中保存有账号信息时,只需获取密钥即可,当智能密钥装置中保存有密钥时,只需获取账号信息即可,如果智能密钥装置中既无账号信息又无密钥则两个都要获取;(2)验证模块,用于利用网络软件客户端的获取模块得到的账号信息和密钥向服务器端申请身份验证;网络软件服务器端包括(1)获取模块,用于获取网络软件身份认证需要的账号信息和/或密钥并保存在数据库中,当服务器端保存有账号信息时,只需获取密钥即可,当服务器端保存有密钥时,只需获取账号信息即可,如果服务器端既无账号信息又无密钥则两个都要获取;(2)验证模块,用于利用网络软件服务器端的获取模块得到的账号信息和密钥对网络软件客户端进行身份验证;智能密钥装置包括(1)存储模块,用于存储网络软件身份认证账号信息和密钥;(2)运算模块,用于根据网络软件客户端的获取模块发来的命令生成密钥并写入存储模块,还用于利用所述存储模块中的密钥进行算法运算以跟所述网络软件客户端的验证模块进行交互来对用户进行身份验证,此处的交互是指利用存储模块中的密钥处理网络软件客户端的验证模块发来的随机字符串,然后将处理的结果返回给网络软件客户端的验证模块;当采用非对称密钥机制进行身份认证时,用存储模块中的密钥签名随机字符串得到数字签名返回给网络软件客户端的验证模块;当采用冲击响应机制进行身份认证时,用存储模块中的密钥和HMAC-Hash算法运算随机字符串得到客户端运算结果返回给网络软件客户端的验证模块。
实施例六参见图8,与实施例五不同的是智能密钥装置的运算模块在根据网络软件客户端的获取模块发来的命令生成密钥后,不仅写入存储模块中还返回给网络软件客户端的获取模块。
实施例五中的网络软件客户端的获取模块获取密钥是从智能密钥装置的存储模块获取,而本实施例中的网络软件客户端的获取模块获取密钥是从智能密钥装置的运算模块获取,其他内容均与实施例五相同,在此就不再赘述。
为了进一步提高安全性,还可以在智能密钥装置中增加验证模块,用于对用户输入的PIN码或生物特征(如指纹或视网膜)进行验证,只有验证模块的验证通过后,用户才能使用智能密钥装置进行相关的操作。
以上所述的实施例,只是本发明较优选的具体实施方式
的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
权利要求
1.一种提高网络软件安全性的方法,其特征在于,所述方法包括以下步骤步骤A网络软件客户端获取账号信息和/或密钥并保存在智能密钥装置中,网络软件服务器端获取所述账号信息和/或密钥并保存在数据库中;步骤B在所述网络软件客户端运行网络软件时,所述网络软件服务器端利用所述账号信息和密钥对所述网络软件客户端进行身份认证。
2.根据权利要求1所述的提高网络软件安全性的方法,其特征在于,所述步骤A具体包括步骤A1在网络软件的客户端连接内置有账号信息的智能密钥装置;步骤A2所述网络软件的客户端程序读取所述智能密钥装置中的账号信息并向所述智能密钥装置发送生成密钥的命令;步骤A3所述智能密钥装置根据接收到的命令生成密钥并返回给所述网络软件客户端程序;步骤A4所述网络软件客户端程序利用其内置的算法和内置的客户端公钥加密所述账号信息和密钥,并将加密后的信息发送给已存有所述账号信息的网络软件服务器端;步骤A5所述网络软件服务器端利用内置的与所述客户端公钥对应的私钥解密收到的加密信息,得到所述账号信息和密钥,在数据库中找到所述账号信息后将所述密钥存入相应的位置。
3.根据权利要求1所述的提高网络软件安全性的方法,其特征在于,所述步骤A具体包括步骤A1在网络软件的客户端连接内置有密钥的智能密钥装置;步骤A2所述网络软件的客户端程序向服务器端发送申请账号的请求;步骤A3所述网络软件服务器端接收到所述请求后生成账号保存在数据库中,并将所述账号信息返回给所述网络软件客户端程序;步骤A4所述网络软件客户端程序将收到的账号信息保存在所述智能密钥装置中,并读取所述智能密钥装置的密钥;步骤A5所述网络软件客户端程序利用其内置的算法和内置的客户端公钥加密所述账号信息和密钥,并将加密后的信息发送给所述网络软件服务器端;步骤A6所述网络软件服务器端利用内置的与所述客户端公钥对应的私钥解密收到的加密信息,得到所述账号信息和密钥,在数据库中找到所述账号信息后将所述密钥存入相应的位置。
4.根据权利要求1所述的提高网络软件安全性的方法,其特征在于,所述步骤A具体包括步骤A1在网络软件的客户端连接智能密钥装置;步骤A2所述网络软件的客户端程序向服务器端发送申请账号的请求;步骤A3所述网络软件服务器端接收到所述请求后生成账号保存在数据库中,并将所述账号信息返回给所述网络软件客户端程序;步骤A4所述网络软件客户端程序将收到的账号信息保存在所述智能密钥装置中,并向所述智能密钥装置发送生成密钥的命令;步骤A5所述智能密钥装置根据接收到的命令生成密钥并返回给所述网络软件客户端程序;步骤A6所述网络软件客户端程序利用其内置的算法和内置的客户端公钥加密所述账号信息和密钥,并将加密后的信息发送给所述网络软件服务器端;步骤A7所述网络软件服务器端利用内置的与所述客户端公钥对应的私钥解密收到的加密信息,得到所述账号信息和密钥,在数据库中找到所述账号信息后将所述密钥存入相应的位置。
5.根据权利要求1所述的提高网络软件安全性的方法,其特征在于,所述步骤A具体包括步骤A1在网络软件的客户端连接智能密钥装置;步骤A2所述网络软件的客户端程序向所述智能密钥装置发送生成中间密钥的命令;步骤A3所述智能密钥装置根据收到的命令生成非对称密钥对,公钥X和私钥Y,并将所述公钥X返回给所述网络软件客户端程序;步骤A4所述网络软件客户端程序利用其内置的算法和内置的客户端公钥加密所述公钥X;步骤A5所述网络软件客户端程序向网络软件服务器端发送申请账号和密钥的请求,并将所述加密后的公钥X也一起发给所述网络软件服务器端;步骤A6所述网络软件服务器端根据所述请求生成账号和密钥并保存在数据库中,并且利用预置的与所述客户端公钥对应的私钥对收到的加密后的公钥X进行解密得到所述公钥X;步骤A7所述网络软件服务器端利用所述公钥X加密所述账号信息和密钥得到密文,并发送所述密文给所述网络软件客户端程序;步骤A8所述网络软件客户端程序收到所述密文后转发给所述智能密钥装置;步骤A9所述智能密钥装置利用所述私钥Y解密所述密文得到所述账号信息和密钥,并将所述账号信息和密钥保存在所述智能密钥装置中。
6.根据权利要求1至5任一权利要求所述的提高网络软件安全性的方法,其特征在于,所述在网络软件的客户端连接智能密钥装置的步骤之后还包括以下步骤所述智能密钥装置验证用户输入的PIN码或用户的生物特征是否正确,如果正确则执行步骤A2,否则提示错误并结束。
7.根据权利要求1所述的提高网络软件安全性的方法,其特征在于,所述智能密钥装置中的密钥为非对称密钥对,所述步骤B中所述网络软件服务器端利用所述账号信息和密钥通过非对称密钥机制对所述客户端进行身份认证。
8.根据权利要求1所述的提高网络软件安全性的方法,其特征在于,所述智能密钥装置中的密钥为对称密钥,所述步骤B中所述网络软件服务器端利用所述账号信息和密钥通过冲击响应机制对所述客户端进行身份认证。
9.根据权利要求1所述的提高网络软件安全性的方法,其特征在于,所述网络软件为网络游戏软件、网上教育软件或媒体点播软件。
10.根据权利要求1所述的提高网络软件安全性的方法,其特征在于,所述智能密钥装置为USB接口的智能密钥装置。
11.根据权利要求1所述的提高网络软件安全性的方法,其特征在于,所述智能密钥装置存储至少一组账号信息和密钥。
12.一种提高网络软件安全性的系统,其特征在于,所述系统包括网络软件客户端、网络软件服务器端和智能密钥装置,所述网络软件客户端包括(1)获取模块,用于获取网络软件身份认证需要的账号信息和/或密钥并保存在所述智能密钥装置中;(2)验证模块,用于利用所述账号信息和密钥向所述服务器端申请身份验证;所述网络软件服务器端包括(1)获取模块,用于获取网络软件身份认证需要的账号信息和/或密钥并保存在数据库中;(2)验证模块,用于利用所述账号信息和密钥对所述网络软件客户端进行身份验证;所述智能密钥装置包括(1)存储模块,用于存储网络软件身份认证的账号信息和密钥;(2)运算模块,用于根据所述网络软件客户端的获取模块发来的命令生成密钥并发送给所述存储模块或网络软件客户端的获取模块,还用于利用所述存储模块中的密钥进行算法运算以跟所述网络软件客户端的验证模块进行交互来对用户进行身份验证。
13.根据权利要求12所述的提高网络软件安全性的系统,其特征在于,所述智能密钥装置还包括验证模块,用于对用户输入的PIN码或生物特征进行验证。
全文摘要
本发明提供了一种提高网络软件安全性的方法和系统,属于网络安全领域。为了解决现有网络软件身份认证安全性不高的问题,本发明提供了一种提高网络软件安全性的方法,包括网络软件客户端获取账号信息和/或密钥并保存在智能密钥装置中的步骤,网络软件服务器端获取并保存账号信息和/或密钥的步骤,以及服务器端对客户端进行身份认证的步骤;本发明还提供了一种提高网络软件安全性的系统,包括网络软件客户端、网络软件服务器端和智能密钥装置。本发明利用智能密钥装置存储密钥并由智能密钥装置进行运算,更安全,而且在一个智能密钥装置中可以存有多组账号信息和密钥,可以进行多个网络软件的身份认证,方便用户和代理商的操作,节省人力和物力。
文档编号H04L29/06GK1921395SQ20061011319
公开日2007年2月28日 申请日期2006年9月19日 优先权日2006年9月19日
发明者陆舟, 于华章 申请人:北京飞天诚信科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1