软件权限控制方法、客户端及系统的制作方法

文档序号:7766543阅读:677来源:国知局
专利名称:软件权限控制方法、客户端及系统的制作方法
技术领域
本发明涉及软件权限控制技术领域,尤其涉及一种软件权限控制方法、客户端及系统。
背景技术
软件版权保护尤其是核心软件的版权保护对于公司来讲具有极为重要的意义。目前,大部分公司对核心软件采取的版权保护方式主要有以下两种第一种方式授权码注册使用,该种方式主要是在第一次使用软件时,输入由公司提供的授权码进行注册,在注册成功后,使用者可在有效时间内不受限制的使用软件;第二种方式服务器登录授权使用,该种方式主要是在服务器端先注册好用户的账号与密码,使用者使用时根据账号密码登录使用。但是,以上两种版权保护方式存在以下缺点对于授权码注册方式一般在软件注册成功后,能使用的时间比较长(有效时间太短会导致需要频繁注册,不方便使用),并且使用地点没有受到限制,授权码一般来说也是固定的(也有可能是针对不同计算机由公司指定人负责生成,但这会增加公司对于该软件的管理成本),由此可能会导致核心软件使用范围失去控制,而且授权码一旦被传开,核心软件将会被任意人随便使用。对于服务器登录授权方式每次使用软件都必须输入用户名密码进行登录,对于一个主要用于公司内部的使用频率较高的软件,会增加使用者的使用负担,并且由于只能在固定网络里使用,当公司使用人员偶尔需要到公司网络环境以外的生产现场短时间使用该核心软件时,将无法使用。

发明内容
本发明的主要目的在于提供一种软件权限控制方法、客户端及系统,旨在提高软件使用安全性的同时,方便被授权用户使用。为了达到上述目的,本发明提出一种软件权限控制方法,包括当用户启动客户端时,客户端将本机唯一标志码与设定日期组成的字符串加密后生成授权认证密文;根据所述客户端生成的授权认证密文以及客户端保存在授权认证文件中的授权认证密文,并结合离线认证方式与在线认证方式对客户端软件权限进行控制。优选地,所述设定日期根据系统当前日期及预设规则生成。优选地,所述根据客户端生成的授权认证密文以及客户端保存在授权认证文件中的授权认证密文,并结合离线认证方式与在线认证方式对客户端软件权限进行控制的步骤包括当客户端生成的授权认证密文与客户端保存在授权认证文件中的授权认证密文一致时,认证通过,进入客户端系统;或者
当客户端生成的授权认证密文与客户端保存的授权认证文件中的授权认证密文不一致时,清空本地认证文件;客户端连接认证服务器;向认证服务器发送认证字符串;接收认证服务器返回的加密认证字符串并校对;当校对正确时,将本机唯一标志码与系统当前日期组成的字符串加密后生成授权认证密文,保存到客户端授权认证文件中,并进入客户端系统;否则退出认证程序。优选地,所述认证字符串由系统当前时间与相关身份信息组成并加密。优选地,客户端与认证服务器采用TCP/IP传输协议并通过Socket传输方式传输 fn息ο本发明还提出一种软件权限控制客户端,包括密文生成模块,用于当用户启动客户端时,将本机唯一标志码与设定日期组成的字符串加密后生成授权认证密文;软件权限控制模块,用于根据所述密文生成模块生成的授权认证密文以及客户端保存在授权认证文件中的授权认证密文,并结合离线认证方式与在线认证方式对客户端软件权限进行控制。优选地,所述设定日期根据系统当前日期及预设规则生成。优选地,所述软件权限控制模块包括认证单元,用于当客户端生成的授权认证密文与客户端保存在授权认证文件中的授权认证密文一致时,认证通过,进入客户端系统;文件清空单元,用于当客户端生成的授权认证密文与客户端保存的授权认证文件中的授权认证密文不一致时,清空本地认证文件;连接单元,用于连接认证服务器;发送单元,用于向认证服务器发送认证字符串;接收单元,用于接收认证服务器返回的加密认证字符串并校对;密文生成存储单元,还用于当校对正确时,将本机唯一标志码与系统当前日期组成的字符串加密后生成授权认证密文,保存到客户端授权认证文件中,并进入客户端系统; 否则退出认证程序。本发明还提出一种软件权限控制系统,包括客户端以及认证服务器,其中所述客户端,用于当用户启动客户端时,将本机唯一标志码与设定日期组成的字符串加密后生成授权认证密文;根据所述客户端生成的授权认证密文以及客户端保存在授权认证文件中的授权认证密文,并结合离线认证方式与在线认证方式对客户端软件权限进行控制;所述认证服务器,用于在线认证方式时,接收客户端发送的认证字符串,并将所述认证字符串加密后返回给客户端。优选地,所述客户端包括如上所述的客户端。本发明提出的一种软件权限控制方法、客户端及系统,通过采用在线认证与离线认证两种认证方式相结合的认证方式,有效保护软件的版权问题,并且方便被授权用户对软件的使用。在用户指定的网络环境中,无需注册与登录,可无限制使用软件;在指定环境夕卜,有条件限制使用该软件允许在指定网络环境中正常运行过的软件,在同一计算机上离开该指定网络运行环境运行预定时间,同时有效限制计算机之间对软件的拷贝使用。


图1是本发明软件权限控制方法一实施例流程示意图;图2是本发明软件权限控制方法一实施例中根据客户端生成的授权认证密文以及客户端保存在授权认证文件中的授权认证密文,并结合离线认证方式与在线认证方式对客户端软件权限进行控制的流程示意图;图3是本发明软件权限控制客户端一实施例结构示意图;图4是本发明软件权限控制客户端一实施例中软件权限控制模块的结构示意图;图5是本发明软件权限控制系统一实施例结构示意图。为了使本发明的技术方案更加清楚、明了,下面将结合附图作进一步详述。
具体实施例方式本发明实施例解决方案主要是将在线认证与离线认证两种认证方式相结合,在提高软件的使用安全性的同时,方便被授权用户的使用。如图1所示,本发明一实施例提出一种软件权限控制方法,包括步骤S101,当用户启动客户端时,客户端将本机唯一标志码与设定日期组成的字符串加密后生成授权认证密文;其中,设定日期根据系统当前日期及预设规则生成,其中,预设规则根据预先设定的客户端软件成功认证后的有效认证期限而设定,该设定日期可以为系统当前日期或系统当前日期减去有效认证期限内的任一日期与系统当前日期之间的间隔时间,具体地,设定日期可以为系统当前日期(比如一次成功认证当天有效),或者设定日期为系统当前日期减去一天、两天或有效认证期限内的任一间隔时间(比如一次成功认证两天、三天或多天之内有效)。在本实施例中,为了实现对客户端软件使用权限的有效控制,在客户端程序根目录下保存有一份授权认证文件(loginstr. dat),当用户启动客户端时,客户端首先进行离线认证,当离线认证没有通过时,再进行在线认证,其中在线认证方式是采用客户端/服务器(C/幻模式,通过客户端发认证码,服务器端返回认证结果的认证方式;客户端是运行在局域网内任意计算机的终端程序,服务程序运行在公司的固定服务器中。离线认证方式是指在客户端系统本地保存有由计算机唯一标志码与系统日期加密组成的授权认证密文,系统登录时首先判断该授权认证密文是否有效,从而决定是可授权进入系统还是需要继续进行在线认证,有效则认证成功,无需再进行在线认证。以一次成功认证当天有效为例,在进行离线认证时,客户端首先将本计算机唯一标志码(磁盘序列号)与系统当前日期组成的字符串加密后生成授权认证密文,以便将该生成的授权认证密文与授权认证文件中的授权认证密文进行校对来实现对客户端软件权限的控制。步骤S102,根据客户端生成的授权认证密文以及客户端保存在授权认证文件中的授权认证密文,并结合离线认证方式与在线认证方式对客户端软件权限进行控制。客户端保存在授权认证文件中的授权认证密文,由计算机唯一标志码与系统当前日期加密组成,在线认证成功后系统会自动生成该密文,供离线认证使用。在离线认证中,当客户端生成的授权认证密文与授权认证文件中的授权认证密文校对一致时认为当天已经通过认证,直接进入客户端系统,如果验证失败,则认为授权认证密文已过期,需要连接认证服务器进行在线认证。在进行在线认证时,首先连接认证服务器,并向服务器发送加密认证字符串,该认证字符串由当前系统时间HH:匪:SS与其他身份信息组成,服务器收到加密认证字符串信息后,将该认证字符串再次加密,返回给客户端,客户端校对返回的数据是否正确,若正确则认为认证成功,并将本机磁盘序列号与系统当前日期组成的字符串加密生成授权认证密文保存到客户端根目录的授权认证文件(loginstr.dat)中,进入客户端系统,否则为认证失败,系统可直接退出或进入功能受限的简单版本。当使用者再次登录客户端时,首先判断授权认证文件中的密文是否为当天已认证的密文,如果是,则直接进入客户端系统,否则为密文已过期,清空本地认证文件,并重新连接认证服务器进行在线认证。在本实施例中,客户端与服务器之间的通讯通过Socket传输方式并采用TCP/IP 传输协议进行信息传输。如图2所示,步骤S102包括步骤S1021,判断客户端生成的授权认证密文与客户端保存在授权认证文件中的授权认证密文是否一致,若是,则进入步骤S1022 ;否则,进入步骤S1023 ;步骤S1022,认证通过,进入客户端系统;步骤S1023,清空本地认证文件,进入步骤S1024 ;步骤S1024,客户端连接认证服务器;步骤S1025,向认证服务器发送认证字符串;步骤S1026,接收认证服务器返回的加密认证字符串并校对;步骤S1027,当校对正确时,将本机唯一标志码与系统当前日期组成的字符串加密后生成授权认证密文,保存到客户端授权认证文件中,进入步骤S1022。当校对不正确时,退出认证程序或进入功能受限的简单版本。在线认证之后,当用户再次登录客户端时,判断授权认证文件中的授权认证密文是否为当天已认证的密文,若是,则认证通过,进入客户端系统;否则,清空本地认证文件, 重新连接认证服务器进行在线认证。在实际应用中,以公司网络环境为例,对于在公司网络环境中使用客户端程序,无需关心如何登录与认证,使用者只需保证所使用的电脑与局域网连接正常,打开客户端程序,程序将自动完成认证后进入系统。如果需要带到公司网络环境外去执行该客户端程序,则需要先在公司网络环境下,成功登录一次该程序(能成功进入系统),则可带到外边使用,该程序成功认证一次后, 当天有效(当天再次登录使用无需重新在线认证)。过了认证当天,程序将需要再次在线认证才能正常使用。当天成功认证过的客户端程序,如果将其拷贝到别的机器中,将需要重新进行在线认证,否则无法正常使用。需要说明的是,对于一次成功认证两天或多天时间有效的情形,在离线认证时,如果客户端生成的授权认证密文与授权认证文件中的授权认证密文校对不一致时,客户端根据预定认证有效天数自动将生成授权认证密文中的系统当前日期减去一天或多天,重新生成新的授权认证密文,当设定日期内所有生成的授权认证密文均与授权认证文件中的授权认证密文校对不一致时,则认证失败,需要重新进行在线认证;若设定日期内有一个重新生成新的授权认证密文与授权认证文件中的授权认证密文校对一致,则认证成功,进入客户端系统。本实施例通过采用在线认证与离线认证两种认证方式相结合的认证方式,有效保护软件的版权问题,并且方便被授权用户对软件的使用。在用户指定的网络环境中,无需注册与登录,可无限制使用软件;在指定环境外,有条件限制使用该软件允许在指定网络环境中正常运行过的软件,在同一计算机上离开该指定网络运行环境运行预定时间,同时有效限制计算机之间对软件的拷贝使用。如图3所示,本发明一实施例提出一种软件权限控制客户端,包括密文生成模块 301以及软件权限控制模块302,其中密文生成模块301,用于当用户启动客户端时,将本机唯一标志码与设定日期组成的字符串加密后生成授权认证密文;其中,设定日期根据系统当前日期及预设规则生成,其中,预设规则根据预先设定的客户端软件成功认证后的有效使用期限而设定,该设定日期可以为系统当前日期或系统当前日期减去有效认证期限内的任一日期与系统当前日期之间的间隔时间,具体地,设定日期可以为系统当前日期(比如一次成功认证当天有效),或者设定日期为系统当前日期减去一天、两天或有效认证期限内的任一间隔时间(比如一次成功认证两天、三天或多天之内有效)。在本实施例中,为了实现对客户端软件使用权限的有效控制,在客户端程序根目录下保存有一份授权认证文件(loginstr. dat),当用户启动客户端时,客户端首先进行离线认证,当离线认证没有通过时,再进行在线认证,其中在线认证方式是采用客户端/服务器(C/幻模式,通过客户端发认证码,服务器端返回认证结果的认证方式;客户端是运行在局域网内任意计算机的终端程序,服务程序运行在公司的固定服务器中。离线认证方式是指在客户端系统本地保存有由计算机唯一标志码与系统日期加密组成的授权认证密文,系统登录时首先判断该授权认证密文是否有效,从而决定是可授权进入系统还是需要继续进行在线认证,有效则认证成功,无需再进行在线认证。以一次成功认证当天有效为例,在进行离线认证时,客户端首先将本计算机唯一标志码(磁盘序列号)与系统当前日期组成的字符串加密后生成授权认证密文,以便将该生成的授权认证密文与授权认证文件中的授权认证密文进行校对来实现对客户端软件权限的控制。软件权限控制模块302,用于根据密文生成模块301生成的授权认证密文以及客户端保存在授权认证文件中的授权认证密文,并结合离线认证方式与在线认证方式对客户端软件权限进行控制。
客户端保存在授权认证文件中的授权认证密文,由计算机唯一标志码与系统当前日期加密组成,在线认证成功后系统会自动生成该密文,供离线认证使用。在离线认证中,当客户端生成的授权认证密文与授权认证文件中的授权认证密文校对一致时认为当天已经通过认证,直接进入客户端系统,如果验证失败,则认为授权认证密文已过期,需要连接认证服务器进行在线认证。在进行在线认证时,首先连接认证服务器,并向服务器发送加密认证字符串,该认证字符串由当前系统时间HH:匪:SS与其他身份信息组成,服务器收到加密认证字符串信息后,将该认证字符串再次加密,返回给客户端,客户端校对返回的数据是否正确,若正确则认为认证成功,并将本机磁盘序列号与系统当前日期组成的字符串加密生成授权认证密文保存到客户端根目录的授权认证文件(loginstr.dat)中,进入客户端系统,否则为认证失败,系统可直接退出或进入功能受限的简单版本。当使用者再次登录客户端时,首先判断授权认证文件中的密文是否为当天已认证的密文,如果是,则直接进入客户端系统,否则为密文已过期,清空本地认证文件,并重新连接认证服务器进行在线认证。在本实施例中,客户端与服务器之间的通讯通过Socket传输方式并采用TCP/IP 传输协议进行信息传输。如图4所示,软件权限控制模块302包括认证单元3021、文件清空单元3022、连接单元3023、发送单元30M、接收单元3025以及密文生成存储单元30 ,其中认证单元3021,用于当客户端生成的授权认证密文与客户端保存在授权认证文件中的授权认证密文一致时,认证通过,进入客户端系统;文件清空单元3022,用于当客户端生成的授权认证密文与客户端保存的授权认证文件中的授权认证密文不一致时,清空本地认证文件;连接单元3023,用于连接认证服务器;发送单元30 ,用于向认证服务器发送认证字符串;接收单元3025,用于接收认证服务器返回的加密认证字符串并校对;密文生成存储单元3(^6,还用于当校对正确时,将本机唯一标志码与系统当前日期组成的字符串加密后生成授权认证密文,保存到客户端授权认证文件中,并进入客户端系统。如图5所示,本发明一实施例提出一种软件权限控制系统,包括客户端501以及认证服务器502,其中客户端501,用于当用户启动客户端501时,将本机唯一标志码与设定日期组成的字符串加密后生成授权认证密文;根据生成的授权认证密文以及该客户端501保存在授权认证文件中的授权认证密文,并结合离线认证方式与在线认证方式对客户端501软件权限进行控制;认证服务器502,用于在线认证方式时,接收客户端501发送的认证字符串,并将所述认证字符串加密后返回给客户端501。在本实施例中,客户端501包括上述实施例中所述的客户端。本发明实施例软件权限控制方法、客户端及系统,通过采用在线认证与离线认证两种认证方式相结合的认证方式,有效保护软件的版权问题,并且方便被授权用户对软件的使用。在用户指定的网络环境中,无需注册与登录,可无限制使用软件;在指定环境外,有条件限制使用该软件允许在指定网络环境中正常运行过的软件,在同一计算机上离开该指定网络运行环境运行预定时间,同时有效限制计算机之间对软件的拷贝使用。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
权利要求
1.一种软件权限控制方法,其特征在于,包括当用户启动客户端时,客户端将本机唯一标志码与设定日期组成的字符串加密后生成授权认证密文;根据所述客户端生成的授权认证密文以及客户端保存在授权认证文件中的授权认证密文,并结合离线认证方式与在线认证方式对客户端软件权限进行控制。
2.根据权利要求1所述的方法,其特征在于,所述设定日期根据系统当前日期及预设规则生成。
3.根据权利要求2所述的方法,其特征在于,所述根据客户端生成的授权认证密文以及客户端保存在授权认证文件中的授权认证密文,并结合离线认证方式与在线认证方式对客户端软件权限进行控制的步骤包括当客户端生成的授权认证密文与客户端保存在授权认证文件中的授权认证密文一致时,认证通过,进入客户端系统;或者当客户端生成的授权认证密文与客户端保存的授权认证文件中的授权认证密文不一致时,清空本地认证文件; 客户端连接认证服务器; 向认证服务器发送认证字符串; 接收认证服务器返回的加密认证字符串并校对;当校对正确时,将本机唯一标志码与系统当前日期组成的字符串加密后生成授权认证密文,保存到客户端授权认证文件中,并进入客户端系统;否则退出认证程序。
4.根据权利要求3所述的方法,其特征在于,所述认证字符串由系统当前时间与相关身份信息组成并加密。
5.根据权利要求3所述的方法,其特征在于,客户端与认证服务器采用TCP/IP传输协议并通过Socket传输方式传输信息。
6.一种软件权限控制客户端,其特征在于,包括密文生成模块,用于当用户启动客户端时,将本机唯一标志码与设定日期组成的字符串加密后生成授权认证密文;软件权限控制模块,用于根据所述密文生成模块生成的授权认证密文以及客户端保存在授权认证文件中的授权认证密文,并结合离线认证方式与在线认证方式对客户端软件权限进行控制。
7.根据权利要求6所述的客户端,其特征在于,所述设定日期根据系统当前日期及预设规则生成。
8.根据权利要求7所述的客户端,其特征在于,所述软件权限控制模块包括认证单元,用于当客户端生成的授权认证密文与客户端保存在授权认证文件中的授权认证密文一致时,认证通过,进入客户端系统;文件清空单元,用于当客户端生成的授权认证密文与客户端保存的授权认证文件中的授权认证密文不一致时,清空本地认证文件; 连接单元,用于连接认证服务器; 发送单元,用于向认证服务器发送认证字符串; 接收单元,用于接收认证服务器返回的加密认证字符串并校对;密文生成存储单元,还用于当校对正确时,将本机唯一标志码与系统当前日期组成的字符串加密后生成授权认证密文,保存到客户端授权认证文件中,并进入客户端系统;否则退出认证程序。
9.一种软件权限控制系统,其特征在于,包括客户端以及认证服务器,其中所述客户端,用于当用户启动客户端时,将本机唯一标志码与设定日期组成的字符串加密后生成授权认证密文;根据所述客户端生成的授权认证密文以及客户端保存在授权认证文件中的授权认证密文,并结合离线认证方式与在线认证方式对客户端软件权限进行控制;所述认证服务器,用于在线认证方式时,接收客户端发送的认证字符串,并将所述认证字符串加密后返回给客户端。
10.根据权利要求9所述的系统,其特征在于,所述客户端包括权利要求6-8中任一项所述的客户端。
全文摘要
本发明涉及一种软件权限控制方法、客户端及系统,其方法包括当用户启动客户端时,客户端将本机唯一标志码与设定日期组成的字符串加密后生成授权认证密文;根据客户端生成的授权认证密文以及客户端保存在授权认证文件中的授权认证密文,并结合离线认证方式与在线认证方式对客户端软件权限进行控制。本发明通过在线认证与离线认证相结合的方式,有效保护软件的版权问题,并且方便被授权用户对软件的使用。在用户指定的网络环境中,无需注册与登录,可无限制使用软件;在指定环境外,有条件限制使用该软件允许在指定环境中正常运行过的软件,在同一计算机上离开该指定网络运行环境运行预定时间,同时有效限制计算机之间对软件的拷贝使用。
文档编号H04L29/06GK102479304SQ20101056097
公开日2012年5月30日 申请日期2010年11月26日 优先权日2010年11月26日
发明者陈斯煜 申请人:深圳市硅格半导体有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1