一种装入程序,可导致一用户的计算机生成一个中间代码,这个代码是从计算机的系统时钟读取的时间值和一操作系统标识的函数。软件供应者可接收来自该用户的这个中间代码,并产生一个作为该中间代码和用户希望安装的软件的保密产品ID之函数的口令。而后再次执行装入程序时,所述装入程序在用户的计算机中采用相同的数学算法来计算出一个内部密钥。在装入程序提示输入软件供应者的口令之后,将内部密钥与软件供应者的口令作比较。软件供应者的口令和内部生成的口令必须相同,而后才能使装入程序授权执行用户希望安装的软件。(*该技术在2020年保护过期,可自由使用*)
【技术实现步骤摘要】
本专利技术涉及可防止软件被未授权使用的机制,特别是涉及可在一台以上的计算机上防止软件被未授权使用的机制。为防止未经供应者授权而使用软件,迄今已经有了各种安全防护机制。这些安全机制被包括在硬件形式的安全装置中,必须当软件在计算机上运行之前就将这些硬件装置附连于计算机。通常,需运行的软件包括一查询步骤,用以寻找表示硬件已安装完毕的指示。这样的硬件安全装置可确保软件只能在某个时间在一台计算机上执行。然而,这些硬件装置相对较为昂贵,并且需要适应其所连接的各种类型的计算机。其它的安全机制包括若干种软件装置,它们寻找安装该软件的计算机的标识,而不在乎任何硬件装置的存在与否。这样的软件经常需要复杂的算法,以产生一个需运行程序与主机标识的独特关联。这些软件装置还可能需要将其它的硬件装置连接于主机,以建立一个需运行程序与目标计算机的独特关联。美国专利4,683,553揭示了这样的系统,它需要一个读卡器将需运行的程序与主机相关联。本专利技术的目的是,提供一种软件安全机制,它可以仅在产生需运行软件与单个计算机的关联之后,授权执行特定的软件,这种执行方式无需非常复杂的算法或者对目标计算机连接任何附加的装置。本专利技术的上述和其它的目的可以由这样一种装入程序来实现,该程序必须在一用户希望将特定的软件装入一目标计算机时,由该目标计算机成功地执行。该装入程序将使目标计算机读取由需安装该软件的计算机中的内部系统时钟所指示的时间值。该计算机将进一步地读取安装在该计算机内的操作系统软件的一个内部编码标识。计算机将产生一个作为系统时钟时间读数以及操作系统内部编码标识之函数的中间代码。最好是将这样算出来的代码显示给用户。在一较佳实施例中,用户应该可以理解,所显示的代码应该与用户希望安装到计算机中的软件的一个简要说明一起传送给软件供应者。该软件供应者保持有一个用于上述软件的保密的标识(ID)代码。软件供应者可产生一口令,该口令是用户计算机和用于描述所述软件的保密ID代码的函数。通过指令将如此产生的口令传送给用户,以便重新运行装入程序。当装入程序重新运行时,可读取先前存储的由系统时钟指示的时间值以及操作系统的内部编码标识。再一次用以上两个数值计算先前显示给用户的中间代码。计算机利用一数学函数来计算一内部密钥,所述函数与供应者用来计算传送给用户之口令的函数相同。该数学函数是新产生的中间代码以及需安装软件保密的ID代码的函数。对此,需安装软件的保密的ID代码最好是嵌入在该软件中,以便由装入程序读取。接着,装入程序使目标计算机要求用户输入由软件供应者提供的口令。随后,将用户输入的由软件供应者提供的口令与内部计算出来的密钥进行对比,该密钥是借助与软件供应者所采用的数学算法相同的算法来产生的。当内部计算出来的密钥与输入的口令相匹配时,输入程序可授权运行所述特定的软件。为了更好地理解本专利技术,下面将结合附图来进行详细的描述。附图说明图1示出了一操作系统、一装入程序以及一可在装入程序授权之后在计算机上运行的应用程序之间的关系;图2是一装入程序的流程图,该装入程序可授权一具有图1所示操作系统的计算机运行图1所示的应用程序;以及图3是应用软件的供应者所采用的一个计算过程的流程图,该计算过程是用来产生一个进入图2所示装入程序的口令。参见图1,一操作系统10可支持一装入程序12的运行,该装入程序再授权一个应用软件产品14运行。应该理解,操作系统10常驻在一需安装装入程序和应用软件产品的计算机系统中。为了成功地安装和运行应用软件产品,需要由装入程序12来授权应用软件产品14实际运行。现请参见图2,其中示出了装入程序12的流程图。该装入程序起始于步骤20,在该步骤,询问是否有一个起始时间“T”被存储在一系统登记表内。对此,图1所示的操作系统10最好包括一系统登记表,在其中可以找到对操作系统预先限定的各种参数值。应该注意,可从微软公司购得的视窗操作系统中包含这样的系统登记表,该登记表可以被装入程序读取。假设装入系统首次运行,那么在操作系统的登记表中就不会出现起始时间“T”。这将促使处理器运行装入程序,从而沿着“否”路径进行至步骤22。现请参见步骤22,通常建立在操作系统10中或出现在运行该操作系统的计算机中的系统时钟最好是能按秒来阅读。秒数最好是从午夜或中午12:00开始的秒的数量。若系统时钟不直接指示该时间,则最好是由一例程来确定自午夜算起的秒数。在任何情况下,当计算机执行了装入程序的步骤22之后,都将有一个确定的数字来表示从午夜算起的逝去时间。在步骤24,这个按秒读取的时间将作为起始时间“T”存储在操作系统10的系统登记表中。接着,执行该装入程序的计算机将进行至步骤26,并读取操作系统10的标识数字。对此,操作系统10最好是一个具有内部编码的独特标识数字(用于操作系统的特别复制)的视窗操作系统。该操作系统的标识数字将被储存在操作系统的系统登记表中。因此,在步骤26,将操作系统的标识数字储存为OS_ID。接着,执行装入程序的计算机将进行至步骤26,并计算出一个中间代码“IC”。被计算出来的中间代码将是一个函数“f1(OS_ID,T)”。应该理解,特定的数学函数f1(OS_ID,T)几乎可以是两个变量“OS_ID”和“T”的任意限定的数学函数。接着,执行装入程序的计算机将读取应用软件产品14中的一个嵌入的软件产品ID。根据本专利技术,该软件产品ID将是一个赋予由软件供应者所提供的特定软件产品的独特数字。该软件产品ID被存储为“SP_ID”。执行装入程序的处理器将运行至步骤32,在那里计算一变量“KEY(密钥)”的数值。可以将KEY变量看成是函数f2(IC,SP_ID)。应该理解,函数f2(IC,SP_ID)可以是由中间代码“IC”以及软件产品ID,SP_ID的数学算法任意限定的。在执行了步骤32之后,装入程序需要计算机进行至步骤34,在那里询问在操作系统“10”的系统登记表中是否出现一“PASSWORD(口令)”。假设没有口令输入,那么装入程序就需要计算机进行至步骤36,并显示中间代码“IC”。装入程序还将使计算机显示这样的要求,即,用户需以输入口令或取消响应的方式来进行响应。执行装入程序的计算机将进行至步骤38,在那里询问是否有口令输入或者是否选择取消。应该理解,当装入程序被第一次使用时,用户通常会因为没有被提供口令而选择取消。这将促使执行装入程序的计算机进行至中止步骤40。最好是指令一个被授权的用户将出现在用户计算机上的中间代码与安装在该计算机上的特定应用软件产品的简要说明传送至软件供应者。应用软件产品的简要说明最好是例如应用软件产品的题目或者是可以将该特定的应用软件区别于该软件供应者可能提供的其它软件的其它任何信息资料。参见图3,其中示出了一个计算过程的流程图,软件供应者可以响应于从一用户接收到的中间代码以及应用软件说明来采用该计算过程。应该理解,软件供应者可以人工地接收前述的信息,或者可以借助直接通信联系于该用户计算机的计算机系统(因而可以将来自于用户计算机的信息直接联系于软件供应者的计算机)来接收。在任何一种情况下,软件供应者最好是在步骤50采取这样一种方式,即,能证明传来该中间代码的用户实际上是一个已售出应用软件包产品的一个已登记和被授权的用户。如果是,本文档来自技高网...
【技术保护点】
一种用于防止安装在一个其内具有一操作系统的计算机中的计算机程序被未授权使用的方法,所述方法包括如下步骤:在所述计算机中,确定一取决于所述计算机程序首次安装时间的变量值;在所述计算机中,读取一安装在该计算机中的操作系统的标识;在所 述计算机中,计算出一中间代码,该中间代码是取决于计算机程序安装时间的变量以及所读取的所述操作系统标识这两者的数学函数;在所述计算机外,计算出作为中间代码以及计算机程序的保密的、预先赋予的标识这两者的预定数学函数的口令,并将计算出来的口令 输入计算机;在所述计算机中,计算出一个将与外部计算出来的口令相比较的密钥,所述密钥也是按照作为中间代码以及计算机程序的保密的、预先赋予的标识这两者的数学函数来计算的,该数学函数与用来在计算机外部计算口令的函数相同;以及在所述计算机中 ,当所述口令等于密钥时,授权执行具有所述保密的、预先赋予的标识的计算机程序。
【技术特征摘要】
...
【专利技术属性】
技术研发人员:雷蒙德J希格斯,理查德W加曼,
申请(专利权)人:开利公司,
类型:发明
国别省市:US[美国]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。