一种防止文件被破解的方法及终端与流程

文档序号:13763327阅读:260来源:国知局
一种防止文件被破解的方法及终端与流程

本发明涉及信息安全领域,尤其涉及一种防止文件被破解的方法及终端。



背景技术:

作为终端用户,往往需要从服务器端下载一些文件来使用。例如,终端用户如果要更换系统字体,就需要下载一个字体文件到本机使用;终端用户如果想要更换系统主题,就需要下载一个主题应用文件到本机使用。但是,目前服务器所下发的付费文件,轻易就被破解了,缺乏安全校验,这样就导致需付费的文件在未经付费的情况下也可正常使用。



技术实现要素:

本发明要解决的技术问题在于,针对现有技术的下载文件易被破解的缺陷,提供一种防止文件被破解的方法及终端,可确保字体文件等经过合法途径应用于授权设备。

本发明解决其技术问题所采用的技术方案是:构造一种防止文件被破解的方法,包括:

终端向服务器发送下载使用许可证的请求;

接收所述服务器根据所述请求返回的使用许可证,所述使用许可证包括授权的设备号、含有加密文件的压缩包;

确定所述压缩包未被修改;

判断所述终端的设备号与所述授权的设备号是否一致,若是,则解密所述加密文件。

优选地,所述使用许可证还包括所述压缩包的数字摘要信息;

所述确定所述压缩包未被修改,包括:

计算接收的所述使用许可证中的压缩包的数字摘要信息;

比较计算获得的数字摘要信息与接收的所述使用许可证中的数字摘要信息是否一致,若一致,则确定所述压缩包未被修改。

优选地,所述压缩包还包括公钥,所述压缩包的数字摘要信息由服务器通过私钥加密生成;

所述确定所述压缩包未被修改,具体包括:

使用所述压缩包中的公钥对接收的所述使用许可证中的压缩包的数字摘要信息进行解密;

计算接收的所述使用许可证中的压缩包的数字摘要信息;

比较计算获得的数字摘要信息与解密后的数字摘要信息是否一致,若一致,则确定所述压缩包未被修改。

本发明还构造一种防止文件被破解的方法,包括:

服务器接收终端发送的下载使用许可证的请求;

根据所述请求向所述终端发送使用许可证,所述使用许可证包括授权的设备号、含有加密文件的压缩包。

优选地,所述根据所述请求向所述终端发送使用许可证之前,所述方法还包括:

确定所述终端为付费设备。

本发明还构造一种防止文件被破解的方法,包括:

终端向服务器发送下载使用许可证的请求;

所述服务器根据所述请求向所述终端返回使用许可证;

所述终端接收所述服务器返回的所述使用许可证,所述使用许可证包括授权的设备号、含有加密文件的压缩包;

所述终端确定所述压缩包未被修改;

所述终端判断自身的设备号与所述授权的设备号是否一致,若是,则解密所述加密文件。

优选地,所述服务器根据所述请求向所述终端返回使用许可证之前,包括:

所述服务器确定所述终端为付费设备。

优选地,所述使用许可证还包括所述压缩包的数字摘要信息;

所述终端确定所述压缩包未被修改,包括:

所述终端计算接收的所述使用许可证中的压缩包的数字摘要信息;

所述终端比较计算获得的数字摘要信息与接收的所述使用许可证中的压缩包的数字摘要信息是否一致,若一致,则确定所述压缩包未被修改。

优选地,所述压缩包的数字摘要信息由服务器通过私钥加密生成;

所述终端确定所述压缩包未被修改,具体包括:

所述终端使用所述压缩包中的公钥对接收的所述使用许可证中的压缩包的数字摘要信息进行解密;

所述终端计算接收的所述使用许可证中的压缩包的数字摘要信息;

所述终端比较计算获得的数字摘要信息与解密后的数字摘要信息是否一致,若一致,则确定所述压缩包未被修改。

本发明还构造一种防止文件被破解的终端,包括:

发送模块,用于向服务器发送下载使用许可证的请求;

接收模块,用于接收所述服务器根据所述请求返回的使用许可证,所述使用许可证包括授权的设备号、含有加密文件的压缩包;

确定模块,用于确定所述压缩包未被修改;

判断模块,用于判断所述终端的设备号与所述授权的设备号是否一致;

解密模块,用于若所述终端的设备号与所述授权的设备号一致,则解密所述加密文件。

实施本发明的技术方案,只有在确定了包含加密文件的压缩包未被修改及终端是授权终端后,才能应用该加密文件。相反,若出现下列至少一种情况都将无法在终端上应用该加密文件:终端未授权、压缩包被修改。因此,可确保加密文件经过合法途径应用于授权设备,保障合法收益。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。附图中:

图1是本发明防止文件被破解的方法一实施例的流程示意图;

图2是本发明防止文件被破解的方法另一实施例的流程示意图;

图3是本发明防止文件被破解的方法另一实施例的流程示意图;

图4是本发明防止文件被破解的终端一实施例的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了确保特定文件经过合法途径应用于授权设备,本发明构造一种防止文件被破解的方法,该方法只有在确定了压缩包未被修改及终端是授权终端后,才能应用该特定文件。相反,若出现下列至少一种情况都将无法在终端上应用该特定文件:终端未授权、压缩包被修改,因此可保障权益。

请参阅图1,图1是本发明防止文件被破解的方法一实施例的流程示意图,该实施例的方法应用于终端中。其中,终端包括但不限于手机、平板电脑、智能手表、智能手环、笔记本电脑、台式电脑、MP3、MP4等。终端的操作系统可包括但不限于Android操作系统、IOS操作系统、Symbian(塞班)操作系统、Black Berry(黑莓)操作系统、Windows Phone操作系统等等。该实施例的防止文件被破解的方法包括:

步骤S11:终端向服务器发送下载使用许可证的请求。

在该步骤中,当用户需要应用加密文件时,例如,需要将系统字体更换成某一付费字体时,就需要从服务器端下载付费的字体文件,此时,用户可触发终端上的实体按键或虚拟按键,以向服务器请求发送该字体文件对应的使用许可证。

步骤S12:接收所述服务器根据所述请求返回的使用许可证,所述使用许可证包括授权的设备号、含有加密文件的压缩包。

关于该步骤,需说明的是,服务器预先使用特定密钥及特定的加密算法对待应用的文件进行加密,加密后的文件格式与原文件保持一致。只有授权的终端才能使用约定好的密钥解密,其他终端无法直接加载使用。服务器然后对该加密文件进行压缩,产生一包含加密文件的压缩包,压缩包格式可以为MTTF。当然,压缩包中还可进一步包括字体特征信息的描述文件。另外,用户在使用前还会向服务器请求授权,例如成功付费,服务器就会将存在付费记录的终端确定为授权的设备,并存储其设备号。当服务器接收到终端所发送的使用许可证的下载请求时,会为当前终端生成使用许可证,该使用许可证书包括压缩包、授权的设备号等相关信息,然后将该使用许可证发送至终端。

步骤S13:确定所述压缩包未被修改。

在该步骤中,终端在收到使用许可证后,首先判断使用许可证中的压缩包在传输过程中是否被恶意修改,在确定了压缩包未被修改后,再执行下一步骤。

步骤S14:判断所述终端的设备号与所述授权的设备号是否一致,若是,则解密所述加密文件。

在该步骤中,在确定了压缩包未被修改后,进一步判断本终端的设备号是否与使用许可证中的授权的设备号一致,只有在本终端的设备号与使用许可证中的授权的设备号一致时,才能确定该加密文件经过合法途径到达合法的终端,然后,终端可使用约定的密钥及解密算法对该加密文件进行解密,并应用该解密后的文件。

在一个具体实施例中,使用许可证还包括所述压缩包的数字摘要信息,该数字摘要信息由服务器根据特定算法,如哈希算法将压缩包的数据计算成一串固定长度的密文。而且,步骤S13包括:

步骤S131:计算接收的所述使用许可证中的压缩包的数字摘要信息。

在该步骤中,终端在收到使用许可证后,首先提取出其中的压缩包的信息,并使用与服务器约定好的哈希算法计算该压缩包的数字摘要信息。

步骤S132:比较计算获得的数字摘要信息与接收的所述使用许可证中的数字摘要信息是否一致,若一致,则确定所述压缩包未被修改。

在该步骤中,需说明的是,由于终端在步骤S131中计算数字摘要信息所采用的哈希算法与服务器计算数字摘要信息采用的哈希算法相同,所以,当压缩包在传输过程中未被修改时,两者所计算的数字摘要信息必然一致。而当压缩包在传输过程中被恶意修改时,两者所计算的数字摘要信息必然不一致,因此可根据两者计算的数字摘要信息是否一致来判断压缩包是否被修改。

在一个具体实施例中,进一步地,服务器在生成压缩包的数字摘要信息后,还使用私钥对该数字摘要信息进行加密。同时,在向终端发送的使用许可证中,压缩包中还含有公钥,且该公钥与私钥是一对密钥对。而且,此时,步骤S13包括:

步骤S133:使用所述压缩包中的公钥对接收的所述使用许可证中的压缩包的数字摘要信息进行解密。

在该步骤中,需说明的是,由于压缩包中的公钥与服务器对数字摘要信息进行加密所采用的私钥是一对密钥对,因此,终端在使用该公钥对所接收的使用许可证中的数字摘要信息进行解密,即可获得数字摘要信息的明文。

步骤S134.计算接收的所述使用许可证中的压缩包的数字摘要信息。

在该步骤中,终端在收到使用许可证后,首先提取出其中的压缩包的信息,并使用与服务器约定好的哈希算法计算该压缩包的数字摘要信息。

步骤S135.比较计算获得的数字摘要信息与解密后的数字摘要信息是否一致,若一致,则确定所述压缩包未被修改。

在该步骤中,需说明的是,由于终端在步骤S134中计算数字摘要信息所采用的哈希算法与服务器计算数字摘要信息采用的哈希算法相同,所以,当压缩包在传输过程中未被修改时,两者所计算的数字摘要信息必然一致。而当压缩包在传输过程中被恶意修改时,两者所计算的数字摘要信息必然不一致,因此可根据两者计算的数字摘要信息是否一致来判断压缩包是否被修改。

关于以上实施例,需说明的是,并不限定步骤S133和步骤S134的先后关系,只需保证这两个步骤在步骤S135之前即可。在其它实施例中,也可先执行步骤S134,再执行步骤S133。

请参阅图2,图2是本发明防止文件被破解的方法另一实施例的流程示意图,该实施例的方法应用于服务器中,其中,服务器可以是付费字体的服务器,也可以是应用主题的服务器。该实施例的防止文件被破解的方法包括:

步骤S21:服务器接收终端发送的下载使用许可证的请求。

在该步骤中,当用户需要应用加密文件时,例如,需要将系统字体更换成付费字体时,就需要从服务器端下载付费的字体文件,此时,用户可触发终端上的实体按键或虚拟按键,以向服务器请求发送使用许可证,服务器就可接收到终端所发送的下载使用许可证的请求。

步骤S22:根据所述请求向所述终端发送使用许可证,所述使用许可证包括授权的设备号、含有加密文件的压缩包。

在该步骤中,需说明的是,服务器预先使用特定密钥及特定的加密算法对待应用的文件进行加密,加密后的文件格式与原文件保持一致。只有授权的终端才能使用约定好的密钥解密,其他终端无法直接加载使用。服务器然后对该加密文件进行压缩,产生一包含加密文件的压缩包,压缩包格式MTTF。当然,压缩包中还可进一步包括字体特征信息的描述文件。另外,用户在使用前还会向服务器请求授权,例如成功付费,服务器就会将存在付费记录的终端确定为授权的设备,并存储其设备号。当服务器接收到终端所发送的使用许可证的下载请求时,会为当前终端生成使用许可证,该使用许可证书包括压缩包、授权的设备号等相关信息,然后将该使用许可证发送至终端。当终端接收到该使用许可证后,只有在确认压缩包未被修改,以及该终端的设备号与授权的设备号一致时,才会对压缩包中的加密文件进行解密。

在步骤S21和步骤S22之间,或者说,在根据所述请求向所述终端发送使用许可证之前,还可进一步包括:

步骤S23:确定所述终端为付费设备。

在该步骤中,服务器在向终端发送使用许可证前,需先确认该终端是否为付费设备,只有在该终端为付费设备,即,存在付费记录时,才会向该终端发送使用许可证,这样可进一步保证只有合法的付费终端才能应用该加密文件。

请参阅图3,图3是本发明防止文件被破解的方法另一实施例的流程示意图,该实施例的方法应用于包括服务器及多个终端的系统中,其中,服务器可以是付费字体的服务器,也可以是应用主题的服务器。终端包括但不限于手机、平板电脑、智能手表、智能手环、笔记本电脑、台式电脑、MP3、MP4等。终端的操作系统可包括但不限于Android操作系统、IOS操作系统、Symbian(塞班)操作系统、Black Berry(黑莓)操作系统、Windows Phone操作系统等等。该实施例的防止文件被破解的方法包括:

步骤S31:终端向服务器发送下载使用许可证的请求。

在该步骤中,当用户需要应用加密文件时,例如,需要将系统字体更换成付费字体时,就需要从服务器端下载付费的字体文件,此时,用户可触发终端上的实体按键或虚拟按键,以向服务器请求发送使用许可证。

步骤S32:所述服务器根据所述请求向所述终端返回使用许可证。

在该步骤中,需说明的是,服务器预先使用特定密钥及特定的加密算法对待应用的文件进行加密,加密后的文件格式与原文件保持一致。只有授权的终端才能使用约定好的密钥解密,其他终端无法直接加载使用。服务器然后对该加密文件进行压缩,产生一包含加密文件的压缩包,压缩包格式MTTF。当然,压缩包中还可进一步包括字体特征信息的描述文件。另外,用户在使用前还会向服务器请求授权,例如成功付费,服务器就会将存在付费记录的终端确定为授权的设备,并存储其设备号。当服务器接收到终端所发送的使用许可证的下载请求时,会为当前终端生成使用许可证,该使用许可证书包括压缩包、授权的设备号等相关信息,然后将该使用许可证发送至终端。

步骤S33:所述终端接收所述服务器返回的所述使用许可证,所述使用许可证包括授权的设备号、含有加密文件的压缩包。

步骤S34:所述终端确定所述压缩包未被修改。

在该步骤中,终端在收到使用许可证后,首先判断使用许可证中的压缩包在传输过程中是否被恶意修改,在确定了压缩包未被修改后,再执行下一步骤。

步骤S35:所述终端判断自身的设备号与所述授权的设备号是否一致,若是,则解密所述加密文件。

在该步骤中,在确定了压缩包未被修改后,进一步判断本终端的设备号是否与使用许可证中的授权的设备号一致,只有在本终端的设备号与使用许可证中的授权的设备号一致时,才能确定该加密文件经过合法途径到达终端,然后,终端可使用约定的密钥及解密算法对该加密文件进行解密,并应用该解密后的文件。

优选地,在步骤S31和步骤S32之间,即所述服务器根据所述请求向所述终端返回使用许可证之前还可进一步包括:

步骤S36:所述服务器确定所述终端为付费设备。

在该步骤中,服务器在向终端发送使用许可证前,需先确认该终端是否为付费设备,只有在该终端为付费设备,即,存在付费记录时,才会向该终端发送使用许可证,这样可进一步保证只有合法的付费终端才能应用该加密文件。

在一个具体实施例中,使用许可证还包括所述压缩包的数字摘要信息,该数字摘要信息由服务器根据特定哈希算法将压缩包的数据计算成一串固定长度的密文。而且,步骤S34具体包括:

步骤S341:所述终端计算接收的所述使用许可证中的压缩包的数字摘要信息。

在该步骤中,终端在收到使用许可证后,首先提取出其中的压缩包的信息,并使用与服务器约定好的哈希算法计算该压缩包的数字摘要信息。

步骤S342:所述终端比较计算获得的数字摘要信息与接收的所述使用许可证中的压缩包的数字摘要信息是否一致,若一致,则确定所述压缩包未被修改。

在该步骤中,需说明的是,由于合法的终端在步骤S341中计算数字摘要信息所采用的哈希算法与服务器计算数字摘要信息采用的哈希算法相同,所以,当压缩包在传输过程中未被修改时,两者所计算的数字摘要信息必然一致。而当压缩包在传输过程中被恶意修改时,两者所计算的数字摘要信息必然不一致,因此可根据两者计算的数字摘要信息是否一致来判断压缩包是否被修改。

在再一个具体实施例中,进一步地,服务器在生成压缩包的数字摘要信息后,还使用私钥对该数字摘要信息进行加密。同时,在向终端发送的使用许可证中,压缩包中还含有公钥,且该公钥与私钥是一对密钥对。而且,此时,步骤S34具体包括:

步骤S343:所述终端使用所述压缩包中的公钥对接收的所述使用许可证中的压缩包的数字摘要信息进行解密。

在该步骤中,需说明的是,由于压缩包中的公钥与服务器对数字摘要信息进行加密所采用的私钥是一对密钥对,因此,终端在使用该公钥对所接收的使用许可证中的数字摘要信息进行解密,即可获得数字摘要信息的明文。

步骤S344:所述终端计算接收的所述使用许可证中的压缩包的数字摘要信息。

在该步骤中,终端在收到使用许可证后,首先提取出其中的压缩包的信息,并使用与服务器约定好的哈希算法计算该压缩包的数字摘要信息。

步骤S345:所述终端比较计算获得的数字摘要信息与解密后的数字摘要信息是否一致,若一致,则确定所述压缩包未被修改。

在该步骤中,需说明的是,由于合法的终端在步骤S341中计算数字摘要信息所采用的哈希算法与服务器计算数字摘要信息采用的哈希算法相同,所以,当压缩包在传输过程中未被修改时,两者所计算的数字摘要信息必然一致。而当压缩包在传输过程中被恶意修改时,两者所计算的数字摘要信息必然不一致,因此可根据两者计算的数字摘要信息是否一致来判断压缩包是否被修改。

关于以上实施例,需说明的是,并不限定步骤S343和步骤S344的先后关系,只要保证这两个步骤在步骤S345之前即可。在其它实施例中,也可先执行步骤S344,再执行步骤S343。

图4是本发明防止文件被破解的终端一实施例的结构示意图,该实施例的终端包括但不限于手机、平板电脑、智能手表、智能手环、笔记本电脑、台式电脑、MP3、MP4等。终端的操作系统可包括但不限于Android操作系统、IOS操作系统、Symbian(塞班)操作系统、Black Berry(黑莓)操作系统、Windows Phone操作系统等等。该实施例的防止文件被破解的终端包括:发送模块11、接收模块12、确定模块13、判断模块14和解密模块15。

发送模块11用于向服务器发送下载使用许可证的请求。

具体地,当用户需要应用加密文件时,例如,需要将系统字体更换成付费字体时,就需要从服务器端下载付费的字体文件,此时,用户可触发终端上的实体按键或虚拟按键,以向服务器请求发送使用许可证。

接收模块12用于接收所述服务器根据所述请求返回的使用许可证,所述使用许可证包括授权的设备号、含有加密文件的压缩包。

需说明的是,服务器预先使用特定密钥及特定的加密算法对待应用的文件进行加密,加密后的文件格式与原文件保持一致。只有授权的终端才能使用约定好的密钥解密,其他终端无法直接加载使用。服务器然后对该加密文件进行压缩,产生一包含加密文件的压缩包,压缩包格式MTTF。当然,压缩包中还可进一步包括字体特征信息的描述文件。另外,用户在使用前还会向服务器请求授权,例如成功付费,服务器就会将存在付费记录的终端确定为授权的设备,并存储其设备号。当服务器接收到终端所发送的使用许可证的下载请求时,会为当前终端生成使用许可证,该使用许可证书包括压缩包、授权的设备号等相关信息,然后将该使用许可证发送至终端。

确定模块13用于确定所述压缩包未被修改。

具体地,确定模块13在确定压缩包是否被修改时,可通过所接收的压缩包的数字摘要信息与本地所计算的压缩包的数字摘要信息是否一致来判断,也可通过压缩包中内置的发送时间与压缩包的接收时间是否一致来判断。

判断模块14用于判断所述终端的设备号与所述授权的设备号是否一致。

需说明的是,若本终端为合法的授权终端,则其判断模块14的判断结果必然为一致;若本终端为非法的终端,例如,无相应的付费记录,则其判断模块14的判断结果必然为不一致。

解密模块15用于若所述终端的设备号与所述授权的设备号一致,则解密所述加密文件。

需说明的是,若本终端为合法的授权终端,则其解密模块15使用与服务器约定好的密钥对该加密文件进行解密即可获得文件的明文,进而可在该终端上应用该文件。若本终端为非法的终端,则其解密模块15就无法将该加密文件解密成明文,进而无法在该终端上应用该文件。

最后需说明的是,本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例设备中的模块或单元可以根据实际需要进行合并、划分和删减。另外,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何纂改、等同替换、改进等,均应包含在本发明的权利要求范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1