CN1921395A - 提高网络软件安全性的方法和系统 - Google Patents

提高网络软件安全性的方法和系统 Download PDF

Info

Publication number
CN1921395A
CN1921395A CN 200610113194 CN200610113194A CN1921395A CN 1921395 A CN1921395 A CN 1921395A CN 200610113194 CN200610113194 CN 200610113194 CN 200610113194 A CN200610113194 A CN 200610113194A CN 1921395 A CN1921395 A CN 1921395A
Authority
CN
China
Prior art keywords
network software
key
client
account information
steps
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 200610113194
Other languages
English (en)
Other versions
CN1921395B (zh
Inventor
陆舟
于华章
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING CERTIFICATE AUTHORITY
Original Assignee
Beijing Feitian Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Feitian Technologies Co Ltd filed Critical Beijing Feitian Technologies Co Ltd
Priority to CN2006101131941A priority Critical patent/CN1921395B/zh
Publication of CN1921395A publication Critical patent/CN1921395A/zh
Application granted granted Critical
Publication of CN1921395B publication Critical patent/CN1921395B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本发明提供了一种提高网络软件安全性的方法和系统,属于网络安全领域。为了解决现有网络软件身份认证安全性不高的问题,本发明提供了一种提高网络软件安全性的方法,包括网络软件客户端获取账号信息和/或密钥并保存在智能密钥装置中的步骤,网络软件服务器端获取并保存账号信息和/或密钥的步骤,以及服务器端对客户端进行身份认证的步骤;本发明还提供了一种提高网络软件安全性的系统,包括网络软件客户端、网络软件服务器端和智能密钥装置。本发明利用智能密钥装置存储密钥并由智能密钥装置进行运算,更安全,而且在一个智能密钥装置中可以存有多组账号信息和密钥,可以进行多个网络软件的身份认证,方便用户和代理商的操作,节省人力和物力。

Description

提高网络软件安全性的方法和系统
技术领域
本发明涉及网络安全领域,特别涉及一种提高网络软件安全性的方法和系统。
背景技术
随着互联网的不断发展和软件编程技术的不断完善,软件种类和数量也不断增长,网络软件就是在此过程中产生的。网络软件是一种通过网络来运行的软件,典型的网络软件系统为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码或生物特征(如指纹或视网膜)进行验证,只有验证模块的验证通过后,用户才能使用智能密钥装置进行相关的操作。
以上所述的实施例,只是本发明较优选的具体实施方式的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

Claims (13)

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码或生物特征进行验证。
CN2006101131941A 2006-09-19 2006-09-19 提高网络软件安全性的方法 Active CN1921395B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2006101131941A CN1921395B (zh) 2006-09-19 2006-09-19 提高网络软件安全性的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2006101131941A CN1921395B (zh) 2006-09-19 2006-09-19 提高网络软件安全性的方法

Publications (2)

Publication Number Publication Date
CN1921395A true CN1921395A (zh) 2007-02-28
CN1921395B CN1921395B (zh) 2010-11-03

Family

ID=37778980

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006101131941A Active CN1921395B (zh) 2006-09-19 2006-09-19 提高网络软件安全性的方法

Country Status (1)

Country Link
CN (1) CN1921395B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101980234A (zh) * 2010-10-19 2011-02-23 北京深思洛克软件技术股份有限公司 一种生成信息安全设备客户数据的方法
CN102510333A (zh) * 2011-09-30 2012-06-20 飞天诚信科技股份有限公司 一种授权认证方法及系统
CN102571802A (zh) * 2012-01-18 2012-07-11 深圳市文鼎创数据科技有限公司 信息安全设备及服务器远程解锁方法、设备和服务器
CN102592101A (zh) * 2011-12-30 2012-07-18 广东工业大学 一种led显示管理软件安全的方法与系统
CN103237305A (zh) * 2013-03-27 2013-08-07 公安部第三研究所 面向移动终端上的智能卡密码保护方法
CN104092683A (zh) * 2014-07-04 2014-10-08 飞天诚信科技股份有限公司 一种pin码保护方法及系统
CN104579690A (zh) * 2015-01-23 2015-04-29 济南同智伟业软件股份有限公司 云端key系统及使用方法
CN104919778A (zh) * 2013-01-23 2015-09-16 高通股份有限公司 将经加密帐户凭证从第一装置提供到第二装置
CN105072136A (zh) * 2015-09-06 2015-11-18 李宏仲 一种基于虚拟驱动的设备间安全认证方法和系统
CN104125239B (zh) * 2014-08-14 2017-08-25 北京锐安科技有限公司 一种基于数据链路加密传输的网络认证方法和系统
CN108600151A (zh) * 2018-02-28 2018-09-28 华为技术有限公司 一种数据通讯方法、设备及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1195360C (zh) * 2003-03-06 2005-03-30 上海交通大学 用智能卡实现的安全一卡通系统

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101980234A (zh) * 2010-10-19 2011-02-23 北京深思洛克软件技术股份有限公司 一种生成信息安全设备客户数据的方法
CN101980234B (zh) * 2010-10-19 2012-07-11 北京深思洛克软件技术股份有限公司 一种生成信息安全设备客户数据的方法
CN102510333A (zh) * 2011-09-30 2012-06-20 飞天诚信科技股份有限公司 一种授权认证方法及系统
CN102510333B (zh) * 2011-09-30 2014-07-30 飞天诚信科技股份有限公司 一种授权认证方法及系统
CN102592101A (zh) * 2011-12-30 2012-07-18 广东工业大学 一种led显示管理软件安全的方法与系统
CN102571802A (zh) * 2012-01-18 2012-07-11 深圳市文鼎创数据科技有限公司 信息安全设备及服务器远程解锁方法、设备和服务器
CN102571802B (zh) * 2012-01-18 2016-04-13 深圳市文鼎创数据科技有限公司 信息安全设备及服务器远程解锁方法、设备和服务器
US9942750B2 (en) 2013-01-23 2018-04-10 Qualcomm Incorporated Providing an encrypted account credential from a first device to a second device
CN104919778B (zh) * 2013-01-23 2018-05-29 高通股份有限公司 将经加密帐户凭证从第一装置提供到第二装置
CN104919778A (zh) * 2013-01-23 2015-09-16 高通股份有限公司 将经加密帐户凭证从第一装置提供到第二装置
CN103237305B (zh) * 2013-03-27 2016-06-08 公安部第三研究所 面向移动终端上的智能卡密码保护方法
CN103237305A (zh) * 2013-03-27 2013-08-07 公安部第三研究所 面向移动终端上的智能卡密码保护方法
CN104092683A (zh) * 2014-07-04 2014-10-08 飞天诚信科技股份有限公司 一种pin码保护方法及系统
CN104092683B (zh) * 2014-07-04 2017-05-10 飞天诚信科技股份有限公司 一种pin码保护方法及系统
CN104125239B (zh) * 2014-08-14 2017-08-25 北京锐安科技有限公司 一种基于数据链路加密传输的网络认证方法和系统
CN104579690A (zh) * 2015-01-23 2015-04-29 济南同智伟业软件股份有限公司 云端key系统及使用方法
CN104579690B (zh) * 2015-01-23 2018-07-10 济南同智伟业软件股份有限公司 云端key系统及使用方法
CN105072136A (zh) * 2015-09-06 2015-11-18 李宏仲 一种基于虚拟驱动的设备间安全认证方法和系统
CN105072136B (zh) * 2015-09-06 2018-02-09 李宏仲 一种基于虚拟驱动的设备间安全认证方法和系统
CN108600151A (zh) * 2018-02-28 2018-09-28 华为技术有限公司 一种数据通讯方法、设备及系统
CN108600151B (zh) * 2018-02-28 2020-09-08 华为技术有限公司 一种数据通讯方法、设备及系统

Also Published As

Publication number Publication date
CN1921395B (zh) 2010-11-03

Similar Documents

Publication Publication Date Title
CN1921395A (zh) 提高网络软件安全性的方法和系统
CN1271485C (zh) 对网上银行数据进行加密、认证方法
CN100338597C (zh) 信息处理设备和方法
CN1701561A (zh) 基于地址的验证系统及其装置和程序
CN1266875C (zh) 内容发布/接收方法
CN1898624A (zh) 在使用授权证书时维护私密性
CN1934564A (zh) 使用证书撤销列表进行数字权限管理的方法和设备
CN101034424A (zh) 一种数据安全存储系统和装置及方法
CN1703001A (zh) 程序、通信设备、数据处理方法及通信系统
CN1502186A (zh) 在计算机网络中有控制地分发应用程序代码和内容数据
CN1684410A (zh) 加密备份方法以及解密恢复方法
CN101038653A (zh) 验证系统
CN1518825A (zh) 用于交换数据的设备和认证方法
CN1707999A (zh) 证书撤销列表的分布管理
CN1832397A (zh) 电子设备接口间基于公钥证书的认证密钥协商和更新方法
CN1445707A (zh) 从业务提供者设备提供业务到用户设备的业务提供系统
CN1729645A (zh) 保密通信
CN1873652A (zh) 保护数字内容的装置和方法,处理受保护的数字内容的装置和方法
CN1528068A (zh) 用于计算机网络中分布式数据处理的集成式保护的方法与系统
CN1790359A (zh) 使用便携式计算设备作为智能密钥设备的方法和系统
CN1299545A (zh) 使用虚拟专用密钥的用户鉴别
CN1914603A (zh) 访问认证方法、访问认证程序、信息处理单元以及记录介质
CN1596522A (zh) 加密装置、解密装置、密钥生成装置、版权保护系统和密码通信装置
CN101051898A (zh) 无线网络端到端通信认证方法及其装置
CN1547142A (zh) 一种动态身份认证方法和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: FEITIAN CHENGXIN TECHNOLOGIES CO., LTD.

Free format text: FORMER NAME: BEIJING FEITIAN CHENGXIN SCIENCE + TECHNOLOGY CO. LTD.

CP03 Change of name, title or address

Address after: 100085 Beijing city Haidian District Xueqing Road No. 9 Ebizal building B block 17 layer

Patentee after: Feitian Technologies Co.,Ltd.

Address before: 100083, Haidian District, Xueyuan Road, No. 40 research, 7 floor, 5 floor, Beijing

Patentee before: FEITIAN TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right

Effective date of registration: 20230804

Address after: 100080 no.1501, 68 North Fourth Ring Road West, Haidian District, Beijing

Patentee after: BEIJING CERTIFICATE AUTHORITY

Address before: 100085 17th floor, block B, Huizhi building, No.9 Xueqing Road, Haidian District, Beijing

Patentee before: Feitian Technologies Co.,Ltd.

TR01 Transfer of patent right