发明内容
本发明的主要目的在于提供一种软件权限控制方法、客户端及系统,旨在提高软件使用安全性的同时,方便被授权用户使用。
为了达到上述目的,本发明提出一种软件权限控制方法,包括:
当用户启动客户端时,客户端将本机唯一标志码与设定日期组成的字符串加密后生成授权认证密文;
根据所述客户端生成的授权认证密文以及客户端保存在授权认证文件中的授权认证密文,并结合离线认证方式与在线认证方式对客户端软件权限进行控制。
优选地,所述设定日期根据系统当前日期及预设规则生成。
优选地,所述根据客户端生成的授权认证密文以及客户端保存在授权认证文件中的授权认证密文,并结合离线认证方式与在线认证方式对客户端软件权限进行控制的步骤包括:
当客户端生成的授权认证密文与客户端保存在授权认证文件中的授权认证密文一致时,认证通过,进入客户端系统;或者
当客户端生成的授权认证密文与客户端保存的授权认证文件中的授权认证密文不一致时,清空本地认证文件;
客户端连接认证服务器;
向认证服务器发送认证字符串;
接收认证服务器返回的加密认证字符串并校对;
当校对正确时,将本机唯一标志码与系统当前日期组成的字符串加密后生成授权认证密文,保存到客户端授权认证文件中,并进入客户端系统;否则退出认证程序。
优选地,所述认证字符串由系统当前时间与相关身份信息组成并加密。
优选地,客户端与认证服务器采用TCP/IP传输协议并通过Socket传输方式传输信息。
本发明还提出一种软件权限控制客户端,包括:
密文生成模块,用于当用户启动客户端时,将本机唯一标志码与设定日期组成的字符串加密后生成授权认证密文;
软件权限控制模块,用于根据所述密文生成模块生成的授权认证密文以及客户端保存在授权认证文件中的授权认证密文,并结合离线认证方式与在线认证方式对客户端软件权限进行控制。
优选地,所述设定日期根据系统当前日期及预设规则生成。
优选地,所述软件权限控制模块包括:
认证单元,用于当客户端生成的授权认证密文与客户端保存在授权认证文件中的授权认证密文一致时,认证通过,进入客户端系统;
文件清空单元,用于当客户端生成的授权认证密文与客户端保存的授权认证文件中的授权认证密文不一致时,清空本地认证文件;
连接单元,用于连接认证服务器;
发送单元,用于向认证服务器发送认证字符串;
接收单元,用于接收认证服务器返回的加密认证字符串并校对;
密文生成存储单元,还用于当校对正确时,将本机唯一标志码与系统当前日期组成的字符串加密后生成授权认证密文,保存到客户端授权认证文件中,并进入客户端系统;否则退出认证程序。
本发明还提出一种软件权限控制系统,包括:客户端以及认证服务器,其中:
所述客户端,用于当用户启动客户端时,将本机唯一标志码与设定日期组成的字符串加密后生成授权认证密文;根据所述客户端生成的授权认证密文以及客户端保存在授权认证文件中的授权认证密文,并结合离线认证方式与在线认证方式对客户端软件权限进行控制;
所述认证服务器,用于在线认证方式时,接收客户端发送的认证字符串,并将所述认证字符串加密后返回给客户端。
优选地,所述客户端包括如上所述的客户端。
本发明提出的一种软件权限控制方法、客户端及系统,通过采用在线认证与离线认证两种认证方式相结合的认证方式,有效保护软件的版权问题,并且方便被授权用户对软件的使用。在用户指定的网络环境中,无需注册与登录,可无限制使用软件;在指定环境外,有条件限制使用该软件:允许在指定网络环境中正常运行过的软件,在同一计算机上离开该指定网络运行环境运行预定时间,同时有效限制计算机之间对软件的拷贝使用。
具体实施方式
本发明实施例解决方案主要是将在线认证与离线认证两种认证方式相结合,在提高软件的使用安全性的同时,方便被授权用户的使用。
如图1所示,本发明一实施例提出一种软件权限控制方法,包括:
步骤S101,当用户启动客户端时,客户端将本机唯一标志码与设定日期组成的字符串加密后生成授权认证密文;
其中,设定日期根据系统当前日期及预设规则生成,其中,预设规则根据预先设定的客户端软件成功认证后的有效认证期限而设定,该设定日期可以为系统当前日期或系统当前日期减去有效认证期限内的任一日期与系统当前日期之间的间隔时间,具体地,设定日期可以为系统当前日期(比如一次成功认证当天有效),或者设定日期为系统当前日期减去一天、两天或有效认证期限内的任一间隔时间(比如一次成功认证两天、三天或多天之内有效)。
在本实施例中,为了实现对客户端软件使用权限的有效控制,在客户端程序根目录下保存有一份授权认证文件(loginstr.dat),当用户启动客户端时,客户端首先进行离线认证,当离线认证没有通过时,再进行在线认证,其中:
在线认证方式是采用客户端/服务器(C/S)模式,通过客户端发认证码,服务器端返回认证结果的认证方式;客户端是运行在局域网内任意计算机的终端程序,服务程序运行在公司的固定服务器中。
离线认证方式是指在客户端系统本地保存有由计算机唯一标志码与系统日期加密组成的授权认证密文,系统登录时首先判断该授权认证密文是否有效,从而决定是可授权进入系统还是需要继续进行在线认证,有效则认证成功,无需再进行在线认证。
以一次成功认证当天有效为例,在进行离线认证时,客户端首先将本计算机唯一标志码(磁盘序列号)与系统当前日期组成的字符串加密后生成授权认证密文,以便将该生成的授权认证密文与授权认证文件中的授权认证密文进行校对来实现对客户端软件权限的控制。
步骤S102,根据客户端生成的授权认证密文以及客户端保存在授权认证文件中的授权认证密文,并结合离线认证方式与在线认证方式对客户端软件权限进行控制。
客户端保存在授权认证文件中的授权认证密文,由计算机唯一标志码与系统当前日期加密组成,在线认证成功后系统会自动生成该密文,供离线认证使用。
在离线认证中,当客户端生成的授权认证密文与授权认证文件中的授权认证密文校对一致时认为当天已经通过认证,直接进入客户端系统,如果验证失败,则认为授权认证密文已过期,需要连接认证服务器进行在线认证。
在进行在线认证时,首先连接认证服务器,并向服务器发送加密认证字符串,该认证字符串由当前系统时间HH:MM: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/S)模式,通过客户端发认证码,服务器端返回认证结果的认证方式;客户端是运行在局域网内任意计算机的终端程序,服务程序运行在公司的固定服务器中。
离线认证方式是指在客户端系统本地保存有由计算机唯一标志码与系统日期加密组成的授权认证密文,系统登录时首先判断该授权认证密文是否有效,从而决定是可授权进入系统还是需要继续进行在线认证,有效则认证成功,无需再进行在线认证。
以一次成功认证当天有效为例,在进行离线认证时,客户端首先将本计算机唯一标志码(磁盘序列号)与系统当前日期组成的字符串加密后生成授权认证密文,以便将该生成的授权认证密文与授权认证文件中的授权认证密文进行校对来实现对客户端软件权限的控制。
软件权限控制模块302,用于根据密文生成模块301生成的授权认证密文以及客户端保存在授权认证文件中的授权认证密文,并结合离线认证方式与在线认证方式对客户端软件权限进行控制。
客户端保存在授权认证文件中的授权认证密文,由计算机唯一标志码与系统当前日期加密组成,在线认证成功后系统会自动生成该密文,供离线认证使用。
在离线认证中,当客户端生成的授权认证密文与授权认证文件中的授权认证密文校对一致时认为当天已经通过认证,直接进入客户端系统,如果验证失败,则认为授权认证密文已过期,需要连接认证服务器进行在线认证。
在进行在线认证时,首先连接认证服务器,并向服务器发送加密认证字符串,该认证字符串由当前系统时间HH:MM:SS与其他身份信息组成,服务器收到加密认证字符串信息后,将该认证字符串再次加密,返回给客户端,客户端校对返回的数据是否正确,若正确则认为认证成功,并将本机磁盘序列号与系统当前日期组成的字符串加密生成授权认证密文保存到客户端根目录的授权认证文件(loginstr.dat)中,进入客户端系统,否则为认证失败,系统可直接退出或进入功能受限的简单版本。
当使用者再次登录客户端时,首先判断授权认证文件中的密文是否为当天已认证的密文,如果是,则直接进入客户端系统,否则为密文已过期,清空本地认证文件,并重新连接认证服务器进行在线认证。
在本实施例中,客户端与服务器之间的通讯通过Socket传输方式并采用TCP/IP传输协议进行信息传输。
如图4所示,软件权限控制模块302包括:认证单元3021、文件清空单元3022、连接单元3023、发送单元3024、接收单元3025以及密文生成存储单元3026,其中:
认证单元3021,用于当客户端生成的授权认证密文与客户端保存在授权认证文件中的授权认证密文一致时,认证通过,进入客户端系统;
文件清空单元3022,用于当客户端生成的授权认证密文与客户端保存的授权认证文件中的授权认证密文不一致时,清空本地认证文件;
连接单元3023,用于连接认证服务器;
发送单元3024,用于向认证服务器发送认证字符串;
接收单元3025,用于接收认证服务器返回的加密认证字符串并校对;
密文生成存储单元3026,还用于当校对正确时,将本机唯一标志码与系统当前日期组成的字符串加密后生成授权认证密文,保存到客户端授权认证文件中,并进入客户端系统。
如图5所示,本发明一实施例提出一种软件权限控制系统,包括:客户端501以及认证服务器502,其中:
客户端501,用于当用户启动客户端501时,将本机唯一标志码与设定日期组成的字符串加密后生成授权认证密文;根据生成的授权认证密文以及该客户端501保存在授权认证文件中的授权认证密文,并结合离线认证方式与在线认证方式对客户端501软件权限进行控制;
认证服务器502,用于在线认证方式时,接收客户端501发送的认证字符串,并将所述认证字符串加密后返回给客户端501。
在本实施例中,客户端501包括上述实施例中所述的客户端。
本发明实施例软件权限控制方法、客户端及系统,通过采用在线认证与离线认证两种认证方式相结合的认证方式,有效保护软件的版权问题,并且方便被授权用户对软件的使用。在用户指定的网络环境中,无需注册与登录,可无限制使用软件;在指定环境外,有条件限制使用该软件:允许在指定网络环境中正常运行过的软件,在同一计算机上离开该指定网络运行环境运行预定时间,同时有效限制计算机之间对软件的拷贝使用。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。