首页 / 专利库 / 软件 / 软件 / 计算机软件防盗版加密方法

计算机软件防盗版加密方法

阅读:327发布:2021-09-18

专利汇可以提供计算机软件防盗版加密方法专利检索,专利查询,专利分析的服务。并且本 发明 涉及一种计算机 软件 防盗 版加密方法,与计算机机型无关且使用简便, 保密性 好,成本低。其主要原理是对程序编号a0检验是否登记过,如没有登记过,则利用程序编号a0计算出参数数据b1,并与用户提供的参数数据b0进行比较,如一致,则用户和软件公司分别用随机数据c0和程序编号a0计算出密匙数据d0和d1并比较是否一致,如一致,则软件安装成功,如不一致,则中断操作。,下面是计算机软件防盗版加密方法专利的具体信息内容。

1、一种计算机软件防盗版加密方法,其特征在于:利用反馈式版权确认 来实现对软件的防盗版加密保护,所述的版权确认过程包括以下步骤:
软件安装开始后,程序输出程序编号a0、参数数据b0、随机数据c0;
用户将程序编号a0、参数数据b0、随机数据c0传送给软件公司;
软件公司的计算机系统的确认用户软件版权的程序用程序编号a0,并使用 软件公司定义的版权识别计算方法A计算出另一组参数数据b1,然后与用户传 送过来的参数数据b0比较是否一致,并检查程序编号a0是否在软件公司的程序 编号数据库中登记过,如b0与b1一致,且a0没有登记过,则版权确认的过程 继续进行,如不然,则输出给用户相应的信息,并中断版权确认过程;
软件公司的版权确认程序用程序编号a0和用户程序传送过来的随机数据 c0,使用软件公司定义的解密方法B计算出密匙数据d1,并输出给用户;
用户程序用程序编号a0和随机数据c0,使用软件公司定义的解密算法计算 出另一组密匙数据d0,并检查算出来的密匙数据d0与从软件公司的程序传送过 来的密匙数据d1是否相同,如相同,则版权确认成功,如不相同,则中断操作, 程序结束版权确认的过程。
2、如权利要求1所述的方法,其特征在于:用户程序作版权确认成功后 对用户软件文件进行加密处理,并制作重新安装软件用的钥匙软盘
3、如权利要求1或2所述的方法,其特征在于:所述的软件安装成功后, 它采用以下方法来防止采用以直接拷贝的方式安装和运行软件:
如果是非操作系统软件,启动运行时,向操作系统询问操作系统的编号, 并与安装过程中已经记录的操作系统的编号进行比较,或检查机器特征码与在 安装过程中记录在软件中的机器特征码是否一致,如一致,则正常启动运行, 如不一致,则中断操作;
如果是操作系统软件,在启动运行时,操作系统检查机器特征码是否与在 安装过程中记录在操作系统软件中的机器特征码是否一致,如一致,则正常启 动运行,如不一致,则中断操作。

说明书全文

发明涉及计算机软件的加密方法,特别是涉及一种计算机软件的反馈式 版权确认的防盗版加密方法。

对计算机软件进行加密处理,以防止非法拷贝和使用,是保护软件版权的 有效办法,目前,软件加密的基本方法有如下几种:软盘加密法,插卡加密法, 软件狗加密法,密码加密法和隐蔽代码法等,但加密防盗版效果都不太理想。 中国发明专利“计算机软件加密保护方法及装置”公开日1995年6月14日, 公开号CN1103728A,申请号94104399.1就公开了一种软件加密保护方法,采 用以下步骤:初始值A0及加密关键数据B、D、E分别存入计算机侧的计算机 软件中和专用计算器的ROM中,由计算机侧首先获得一随机数Xn,将Xn送入 专用计算器,由加密算法F1获得Yn,再将Yn送入计算机,由解密算法F2获 得Xn′,计算机软件比较Xn与Xn′,一致时可运行受保护的计算机软件,否则停 机。一个专用计算器配合一套受保护的计算机加密软件使用。由于软件的正常 功能最终都由主机完成,软件代码最终都要进入主机存储器,从而有可能被截 获解密的可能,因此达不到软件保护的目的,而且采用专用计算器,使得软件 加密成本增高,不便于操作。

本发明的目的是提供一种保密强度高,成本低,不依赖于具体计算机机型 的便于操作的计算机软件防盗版加密方法

本发明的方案是按以下步骤实现的:

利用反馈式版权确认来实现对软件的防盗版加密保护,所述的版权确认的 过程包括以下步骤:

软件安装开始后,程序输出程序编号a0,参数数据b0,随机数据c0;

用户将程序编号a0、参数数据b0、随机数据c0传送给软件公司;

软件公司的计算机系统的确认用户软件版权的程序用程序编号a0,并使用 软件公司定义的版权识别计算方法A计算出另一组参数数据b1,然后与用户传 送过来的参数数据b0比较是否一致,并检查程序编号a0是否在软件公司的程序 编号数据库中登记过,如b0与b1一致,且a0没有登记过,则版权确认的过程 继续进行,如不然,则输出给用户相应的信息并中断版权确认过程;

软件公司的版权确认程序用程序编号a0和用户程序传送过来的随机数据 c0,使用软件公司定义的解密算法B计算出密匙数据d1,并输出给用户;

用户程序用程序编号a0和随机数据c0,使用软件公司定义的解密算法计算 出另一组密匙数据d0,并检查算出来的密匙数据d0与从软件公司的程序传送过 来的密匙数据d1是否相同,如相同,则版权确认成功,如不相同,则中断操作, 程序结束版权确认的过程。

作为本发明的改进,本发明采用的方法,还可以在版权确认成功后,对用 户软件文件进行加密处理,并制作重新安装软件用的钥匙软盘。

作为本发明的改进,本发明采用的方法,还可以在软件安装成功后,采用 以下方法来防止采用以直接拷贝的方式安装和运行软件;

如果是非操作系统软件,启动运行时,向操作系统询问操作系统的编号, 并与在安装过程中已经记录的操作系统的编号进行比较,或检查机器特征码与 在安装过程中记录在软件中的机器特征码是否一致,如一致,则正常启动运行, 如不一致则中断操作;

如果是操作系统软件,在启动运行时,操作系统检查机器特征码是否与安 装过程中记录在操作系统软件中的机器特征码是否一致,如一致,则正常启动 运行,如不一致,则中断操作。

本发明改革了计算机软件的防盗版加密方法,由于本发明是采用反馈式版 权确认的方法来保护计算机软件,在第一次安装运行时,可以和软件公司进行 互相交换数据,软件公司还对软件的编号进行检查是否进行过登记,所以只要 安装过一次,以后非法拷贝安装盘就不能进行正常的安装使用,同时,在安装 成功后,软件在安装过程中,就自动记录了机器的自身特有的信息,在每次运 行使用时,都要检查是否程序被非法拷贝到另一台微机上使用,从而真正彻底 地实现了对软件的保护,在降低成本的同时,也保护了计算机软件产品的研制 者和计算机软件的合法使用者的利益,而且由于采用版权确认的方法,所以它 不依赖具体的计算机机型,而且便于操作。

下面将结合附图实施例对本发明作进一步详细说明:

图1为本发明的版权确认流程图

如图1所示,安装程序或正式运行的程序给出这套软件程序编号a0,确认 版权用的参数数据b0和随机数据c0;a0、b0、c0通过通讯线路用自动或手动的 方式送到软件公司的计算机系统中,自动方式是针对软件公司的计算系统和客 户的计算机连网,这时用户程序自动登录软件公司的服务器,然后把相应的数 据传输过去,手动方式是对非连网的用户和计算机软件公司,可以通过电话等 方式相互传输数据或以口头告知的方式将数据传递过去。

软件公司的计算机系统或服务器的确认用户软件版权的程序用程序编号a0 并使用软件公司定义的版权识别方法A计算出另一组参数数据b1,并将计算出 来的参数数据b1与用户程序传递过来的参数数据b0作比较,判断是否一致,如 不一致,则输出相应出错信息,结束版权确认过程;如一致,则软件公司的版 权确认程序检查用户程序传送过来的程序编号a0是否在软件公司的程序编号数 据库中登记过。如已登记过,则输出相应登记过的信息,同时结束版权确认过 程,如没有登记过,软件公司的版权确认程序认为这套软件是这家软件公司出 版的并且还没有进行过版权确认以后,将认为这套软件有权作版权确认,然后, 软件公司的版权确认程序用程序编号a0和用户传送过来的随机数据c0并使用软 件公司定义的解密计算方法B计算出密匙数据d1。计算方法包括数学的或非数 学的以及数学和非数学组合的计算公式及计算方法,也包括软件公司定义的数 据库对应表格,然后对这套软件的程序编号进行登记和记录。密匙数据d1及相 应的回复信息作为反馈信息输出给用户的计算机系统正在运行的并在进行版权 确认的这套软件里。在软件进行版权确认的过程里,要保证这套软件一直在用 户的计算机系统里运行,并且一直保持版权确认的状态。如果软件公司的反馈 信息是密匙数据d1,密匙数据将输入到用户的计算机里的正在运行的程序中, 用户程序使用这套软件的程序编号a0和随机数据c0,并以这套软件里的利用软 件公司定义的计算方法编写的计算程序计算出另一组密匙数据d0,这个计算方 法和在软件公司的计算机系统或服务器里的第一组密匙数据用的计算方法是完 全一样的,程序将核对这两组密匙数据,如果完全一样,程序就认为版权确认 成功,程序将在这套软件上及硬盘上的其他地方作版权确认已成功并且软件可 以正常运行的标记信息并记录一些相应的信息,如果还没有完成安装可以继续 完成安装,然后制作重新安装用的钥匙盘,以后这套软件就可以在这台计算机 上顺利的运行使用和重新安装,而不再需要通过通讯线路进行版权确认了。

如果软件公司的服务器给出的不是密匙数据,而是这套软件不是软件公司 出版的软件(参数数据不正确),或这套软件的程序编号已登记确认过等信息, 或送到这套软件里的密匙数据和这套软件计算出来的密匙数据不一致,程序将 认为版权确认未成功,程序将做出重新输入密匙数据或重新作版权确认或退出 安装或退出运行等相应的处理,显示出相应的提示信息。

一套软件只能做一次版权确认,因为其程序编号具有唯一性,只能使用一 次。没有经过版权确认,软件不能正常的完成安装或安装后不能正常的运行使 用,软件销售商在售出软件时对用户的姓名及电话进行登记,并定期将这些信 息传送给软件公司,以便于软件公司对产品的销售和软件的版权确认进行管 理。

软件版权确认成功后,程序将在这套软件的某个或几个文件里作软件版权 确认已成功并可正常运行的标记信息,并记录这个计算机系统的操作系统的编 号。也可以将这些信息记录在新建的文件中。当非操作系统的其他软件程序启 动运行时,需要向操作系统询问操作系统的编号,并与软件文件中存储的操作 系统的编号作比较,以检查软件是否已被拷贝到另一个计算机系统中,如果操 作系统的编号正确,并且软件文件中存储的软件版权确认已成功并可正常运行 等的标记信息也都完整并且正确,软件将完成启动的过程并正常的运行。如果 程序发现操作系统的编号不正确,或者软件版权确认已成功并可正常运行等的 标记信息不完整或不正确,软件程序将停止启动并退出运行。

如果所安装的软件是操作系统,还需要把这个计算机系统的机器特征码记 录在操作系统的软件中。

这些信息可以使用一些特殊的不易被非授权者解密的方式写入文件中。程 序设计人员在设计这些加密程序时,可以在这些信息及存储这些信息的文件中 掺入大量的随机数据,并用数学的及非数学的方法对这些信息进行变换。所谓 在这些信息中掺入随机数据,是指用一些程序产生的随机数据与这些信息数据 进行计算,将计算的结果作为加密的信息存储在加密数据文件中,并将这些随 机数据也存储在加密数据文件的某些地址中。还可以在这些信息的存储的地址 信息中掺入大量的随机数据,并用数学的及非数学的方法对这些信息的存储的 地址信息进行变换,所谓在这些信息的存储的地址信息中掺入随机数据,是指 用一些程序产生的随机数据与一些其他的数据进行计算,将计算的结果作为这 些信息存储的地址,然后将这些随机数据存储在某些地址中,所谓用数学的及 非数学的方法对这些信息的存储的地址信息进行变换,是指对存储在这些文件 中的一些数据用数学的及非数学的方法进行计算变换,将计算变换后的数据作 为存储这些信息的地址。以使非授权者不能对这些信息存储的地址及存储的方 式进行解密及对这些信息作修改。在操作系统运行时,将检查正在运行的计算 机机器特征码与安装过程中记录的机器特征码是否一致,如一致,则正常启动 运行,如不一致,则中断操作。

在软件第一次安装或第一次正式运行进行版权确认成功后,程序会制作及 输出一张重新安装软件用的钥匙软盘,该软盘上的内容可以备份到硬盘上,当 用户需要使用软件的安装盘对软件进行重新安装时,需要使用这张钥匙软盘。

在软件进行安装或安装后作正式运行时,程序需要询问用户是否是第一次 安装或是否是第一次正式运行,如果用户回答是,程序将会作版权确认如果用 户回答不是,那么程序将会提示用户装入重新安装软件用的钥匙软盘,程序将 会读取钥匙软盘上的信息,然后检查上面的信息是否完整与正确,如果完整并 且正确程序将完成安装并对软件作版权确认成功后对软件文件的处理工作。以 后这套软件就又可以在这台计算机上正常的运行使用了。如果钥匙软盘上的信 息不完整或不正确,软件将作如退出安装等的工作,并不作版权确认成功后对 软件文件的处理工作,软件将不能正常的运行和使用。

在程序制作钥匙软盘时,会提示用户装入一张空余空间足够的软盘,通常 用户将使用软件安装盘里的那张记录有软件的程序编号和作版权确认用的参数 数据的软盘。程序可以将需要写入的信息记录在一个或多个文件里。需要写入 的信息包括这台计算机系统的操作系统的编号,这套软件的程序编号,及用于 识别钥匙软盘的标记信息。这些信息可以使用一些特殊的不易被非授权者解密 的方式写入文件中。程序设计人员在设计这些加密程序时,可以在这些信息及 存储这些信息的文件中掺入大量的随机数据,并用数学的及非数学的方法对这 些信息进行变换,还可以在这些信息的存储的地址信息中掺入大量的随机数 据,并用数学的及非数学的方法对这些信息的存储的地址信息进行变换,以使 非授权者不能对这些信息存储的地址及存储的方法进行解密及对这些信息作修 改。

这项软件加密技术可以实现采用非正常的以直接拷贝的方式安装软件后, 软件不能正常的运行使用的效果。

为了防止非授权的使用者以直接拷贝的方式安装和运行软件,需要对每个 计算机系统的操作系统进行编号。非操作系统的其他软件程序可以使用研制操 作系统的软件公司定义的标准的命令或标准的过程来向操作系统询问操作系统 的编号。研制操作系统的软件公司需要在操作系统的软件中对操作系统的编号 进行特殊方式的编码和作特殊的处理,在安装操作系统时可以提供大量的随机 数据在操作系统的软件里,程序设计人员在设计这些加密程序时,可以在操作 系统的编号及存储操作系统的编号的软件中掺入大量的随机数据,并用数学的 及非数学的方法对操作系统的编号进行变换。所谓有在操作系统的编号中掺入 随机数据,是指用一些程序产生的随机数据与操作系统的编号进行计算,将计 算的结果作为加密的信息存储在操作系统的软件的加密数据文件中,并将这些 随机数据也存储在加密数据文件中的某些地方。还可以在操作系统的编号的存 储的地址信息中掺入大量的随机数据,并用数学的及非数学的方法对操作系统 的编号的存储的地址信息进行变换,所谓在操作系统的编号的存储的地址信息 中掺入随机数据,是指用一些程序产生的随机数据与一些其他的数据进行计 算,将计算的结果作为操作系统的编号存储的地址,然后将这些随机数据存储 在某些地址中,所谓用数学的及非数学的方法对操作系统的编号的存储的地址 信息进行变换,是指对存储在操作系统的软件中的一些数据用数学的及非数学 的方法进行计算变换,将计算变换后的数据作为存储操作系统的编号的地址。 以使非授权者无法识别操作系统的编号的存储的地址与方式和改变操作系统的 编号。

每个计算机系统的操作系统都有自己的编号。当非操作系统的其他软件程 序启动运行时,需要向操作系统询问操作系统的编号,并与软件文件中存储的 操作系统的编号作比较,以检查软件是否已被拷贝到另一个计算机系统中。如 果操作系统的编号正确,并且其他的标记信息也都完整并且正确,软件将完成 启动的过程并正常的运行。如果程序发现操作系统的编号不正确,或其他的标 记信息不完整或不正确,将认为软件换了一个计算机系统,软件程序将停止启 动并退出运行。

当用户需要对非操作系统的其他软件进行重新安装时。程序将会提示用户 装入重新安装软件用的钥匙软盘,并读取钥匙软盘上的信息,然后程序将向操 作系统询问操作系统的编号,并与钥匙软盘上的操作系统的编号进行比较,以 检查软件是否是被安装到另一个计算机系统中。如果操作系统的编号正确,并 且钥匙软盘上的其他信息也都完整与正确,程序将完成安装并对软件作版权确 认成功后对软件文件的处理工作。

上述软件的版权确认的过程也可以用于操作系统,操作系统只能通过使用 安装程序正常的安装并进行版权确认成功后才能正常的运行使用,由于一套操 作系统的软件只能在一个计算机系统上安装和运行使用,这样就能实现每个计 算机系统的操作系统都有自己的唯一的编号。操作系统的编号可以使用版权确 认时使用的程序编号,也可以使用操作系统的软件给出的其他的编号。

当用户的计算机系统的软件系统遭到意外破坏,并且操作系统软件也受到 破坏时,或用户更换了计算机系统的硬件,或用户更换了计算机系统时,或者 由于其他原因用户需要重新安装操作系统时,用户经过研制操作系统的软件公 司的特别准许,可以再一次从研制操作系统的软件公司获得安装操作系统软件 时作版权确认用的密匙数据,也就是再作一次操作系统的软件的版权确认,可 以对用户的操作系统进行重新安装,并使用用户原来的安装软件和程序编号及 参数数据。

这样用户原来操作系统的编号仍然保持没有改变,而用户的其他的非操作 系统的软件可以用各软件的重新安装用的钥匙软盘进行重新安装。

为了防止以直接拷贝的方式安装和运行操作系统的软件,以及为了防止以 直接拷贝的方式改变操作系统的编号,可以使用机器特征码的方式对操作系统 的软件进行加密。这个机器特征码可以使用计算机系统的硬盘的硬盘分区表中 的每台计算机特有的特征数据及硬盘的硬盘分区表的写入时间,或使用将这些 数据进行一些计算处理后得到的数据。

这个机器特征码也可以使用给在每个计算机系统的硬件系统如CPU或计 算机系统的主板上的装BIOS的ROM等中作编号的方式,可以在每个计算机 系统的CPU中或装BIOS的ROM中的程序中增加一个查询CPU或ROM的编 号的指令及不同的编号。可以在CPU的芯片中增加一个小型的可编程只读存 储器PROM,用来存储该CPU芯片的编号,并设置一个防止对该PROM中的 内容及该CPU的编号进行改写的安全位,在CPU芯片制作的最后,可将CPU 的编号写入这个PROM中,并对安全位进行编程,以防止非授权者改变CPU 的编号。这样就可使每个CPU或每个计算机主板及每个计算机系统的硬件系 统都有自己的唯一的编号。在安装操作系统和作操作系统的版权确认成功后程 序将在这套软件的某个或几个文件里作软件版权确认已成功并可正常运行的标 记信息,并记录这个计算机系统的机器特征码,也可以将这些信息记录在新建 的文件中。在每次启动和运行操作系统时,操作系统检查机器特征码是否正确, 以检查是否换了一个计算机系统,如果机器特征码正确,并且其他的标记信息 也都完整并且正确,操作系统将完成启动的过程并正常的运行,用户将可以正 常的使用,如果机器特征码不正确,或者其他标记信息不完整或不正确,操作 系统的程序将认为是换了一个计算机系统,操作系统将停止启动并退出运行。

使用机器特征码后,在用户重新安装操作系统时,也可以使用重新安装用 的钥匙软盘的方式,操作系统的软件作版权确认成功后可以制作重新安装操作 系统的软件用的钥匙软盘,重新安装操作系统用的钥匙软盘中可以记录有机器 特征码,以及操作系统的编号和操作系统的软件作版权确认时用的程序编号, 以及识别钥匙软盘用的标识信息等。这些数据信息以与上述非操作系统的软件 制作重新安装用的钥匙软盘的加密的方法类似的加密的方式存储。当重新安装 操作系统时,程序将检查钥匙软盘的信息是否完整与正确,如果完整并且正确, 程序将完成安装并对操作系统的软件作版权确认成功后对操作系统的软件的处 理工作。以后这操作系统的软件就又可以在这台计算机上正常的运行使用了。 如果钥匙软盘上的信息不完整或不正确,软件将作如退出安装等的工作,并不 作版权确认成功后对操作系统的软件的处理工作,操作系统的软件将不能正常 的运行和使用。

非操作系统的其他软件也可以使用机器特征码的方式对其软件进行加密, 其加密的方法与使用操作系统的编号对其软件进行加密的方法相类似。

对运行时需要使用光盘驱动器等外部设备的软件程序的处理。

如果这一套软件在运行时需要使用光盘等外部存储器驱动器,可以先用上 述软件版权确认的方式将光盘驱动器的驱动,光盘信息的读写、处理、显示、 输出等软件程序安装到硬盘上,然后在运行这些程序时运行光盘上的软件。

作版权确认和软件进行加密的程序软件由两部分组成。一部分装在给用户 的软件里,这部分软件将装到用户的计算机系统里,一部分装在软件公司的计 算机系统中。

装到用户的计算机系统里的软件包括作版权确认和对软件进行加密的程序 软件和存放每套软件的程序编号和相应的确认版权用的参数数据的文件。在软 件作版权确认时,作版权确认和对软件进行加密的程序软件将读取后面这个文 件里的软件的程序编号和相应的确认版权用的参数数据,并对软件进行版权确 认及软件的加密工作。软件的研制者按照上面所述的版权确认的过程,版权确 认成功后对软件文件的加密处理过程,程序的启动和运行过程,一套软件的重 新安装软件用的钥匙软盘的制作及使用过程,为了防止采用以直接拷贝的方式 安装和运行软件所采取的软件加密技术,对运行时需要使用光盘驱动器等外部 设备的软件程序的处理等技术方法的过程编写相应的对软件作版权确认和对软 件进行加密的程序软件,并制作存放每套软件的程序编号和相应的确认版权用 的参数数据的文件。这部分程序软件可以放在软件的安装软件中,也可以放在 正式运行的软件里。

装在软件公司的计算机系统中的软件包括确认用户的软件的版权的软件, 这部分软件包括一个记录有用户软件的程序编号的版权登记情况的数据库。软 件公司使用这部分软件对用户的软件进行版权确认。这部分软件按照上面所述 的版权确认的过程进行编写。

在制作每套软件的安装盘时,软件的安装软件文件的大部分可以都是一样 的,每套软件的大部分可以作成一样的拷贝,在制作的最后,增加一个作版权 确认用的文件,这个文件记录的信息为每套软件的程序编号和相应的确认版权 用的参数数据,这个文件的格式可以采用普通的文本文件的格式,这个文件可 以存储在一张软盘上。

高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈