软件登记系统的制作方法

文档序号:6407293阅读:418来源:国知局
专利名称:软件登记系统的制作方法
技术领域
本发明涉及用于软件登记的系统,特别涉及软件可由磁盘、CD ROM等媒体进行转移的场合的装置的改善。
大多商用软件在购置(或许可)时是用磁性媒体,典型的是软磁盘提供的。常常附加在该软件上的安全设施仅仅只是存储在该媒体上的一简单的登记号码。该登记号将标明该软件的某一特定复制件,通常在将该软件装到任何给定计算机时要求安装者必须提供与安装程序无关的这个登记号码。
但是,这样的用于媒体上的软件的分配的简单的安全结构至少有两个缺点(1)在生产加工时,在任何给定媒体上形成的该软件的多个复制件均必须包括一个编程入该媒体的特殊而唯一的号码,(2)一旦在该软件被装在任一给定计算机上后,这种结构即不能防止借助文件传递(不是重新安装)对该软件进行复制。
转让给Tau Systems公司的专利申请WO92/09,160揭示了一种相当复杂的登记系统,其安全措施依赖于欲取得软件许可者必须借助于文件传递从一远程位置得到被许可者希望执行程序的重大基本组成部分。在此WO92/09,160专利中所揭示的这种结构将遇到包括以下各方面的若干缺陷(a)欲成为许可者初始执行的外壳程序必须在外壳程序发行之前在该外壳内部安插有一特点的标志;
(b)外壳程序本身并非一功能程序,就是说,它不包括欲成为许可者想执行的指令码。那个程序必须从远处得到,从而不可避免地要因传递而不便和费时,并可能引起错误;
(c)该现有技术系统表现为需要而且确实有赖于加密措施,以保证从一遥远位置传递的该程序资料不被未经批准地窃取利用;
(d)不清楚的是,对于已经登记的程序整体地从一工作台传送到另一处的情况,该系统是否适宜于继续作用而无须再另外交付登记费。
转让给Pride软件开发公司的美国专利US4,796,220揭示一用于唯一地识别欲执行被转让的软件的工作台的系统。但是US4,796,220没有打算或揭示采用对用户亦即预定的转让者是唯一的并有别于对计算运行到该软件的工作台的识别的信息来作为登记过程的组成部分。
Joshi的美国专利US4.688,169概括地揭示了与US4.796,220相同的原理,其中,它揭示了这样一种计算机软件安全系统,其安全措施依赖于“运行欲被保护软件机器的特定机器识别代码”。同样,该发明亦局限于对该工作台的识别,不存在任何关于用户特定标识与对工作台识别相关连的暗示或企图。
这种结构还不存在以示教模式操作的,从工作台到工作台传递程序复制件的灵活性。
本发明的目的就是为的减少上述缺点。
在此整个说明中,术语“软件”被概括地解释为包括所有可在一个工作台(下面将予定义)执行的所有数字形式数据。例如构成该软件的数字数据,可以是组成适合于在PC等上面操作的字处理程序。该软件例如可以是适合用于在一个CD ROM上的数字数据。该数字数据可以是能再生的信息或是被许可用户的可用的信息。
在此整个说明中,术语“工作台(plateform)”系指与例如一台微处理器或其他能执行数字数据(对此前面已在关于术语“软件”中引用过)的处理器的装置之类的计算装置有关的环境,这些计算装置能对与之相关连的输入和输出装置执行操作。
在某些情况中,该“软件”亦即数字数据本身可以是操作系统环境。典型地,但并不是唯一的是,作为操作系统环境的例子包括Microsoft Dos操作系统,IBM OS/2操作系统或Macintosh系统7的环境。在用ROM的微控制器的简单情况下,该操作系统环境可以是微控制器的微代码,它能使该微控制器执行机器代码。
在这一说明中,“使用方式(Use Mode)”是指通过在工作台的执行来使用数字数据(即软件)以满足出卖者/转让者在该使用方式中执行该数字数据即软件的专利方面的契约。该使用方式用于区别一般称谓的非许可的操作方式(不是指非授权操作方式),例如在本说明中下面将描述的示范方式那样。
一般地说,按本发明的系统被设计成适于在如果而且只有在通过适当的转让手续之后才可在一工作台按一种使用方式运行数字数据亦即软件。具体说,此系统包含有检测已装载数字数据的工作台的组成部分局部或整个地相对于该要保护的软件(即数字数据)在最近被引导或运行中或有效地登记时的工作台参数发生的变化的装置。
该系统依赖于构成欲由该系统保护的数字数据组成部分的数字式数据或代码。该欲保护的数字数据的这部分最好是该数字数据的必备部分,在本说明其他地方被称为代码部分38。该代码部分包括适合于根据予定的被许可者提供的表征该被许可者的信息,产生一个对该数字数据的一个予定的被许可者是唯一的登记的一个算法。
该代码部分中的该算法在许可者或其代理人控制下,在一工作站的远程位置上被加以复制,并且要求在预定被许可者和该许可者或其代理人之间进行通信,以便在该远程地点产生一相匹配的登记号,随后再将其传送给该预定的被许可者作为允许该数字数据按一种使用方式进行被许可的操作的许可证。
最好该代码部分同该数字数据是一整体,并且对所有该数字数据复制件是相同的。正就是这一被预置在该代码部分中的算法(并且在远程位置上被复制)可能提供是“唯一”的一个登记号,如果该预定的许可者提供的作为该算法在工作站中执行时的依据的信息本身是“唯一”的话。
在多个具体最佳形式中,登记号产生算法中总包括有一个序号,这就为该登记号计算处理过程中引进了辅助的唯一性等级。
因此在本发明的一种概括形式中,这里提供了按一种使用方式许可使用数字数据的系统,所说数字数据可在一工作台执行,所说系统包括有本地被许可者唯一ID产生装置以及远程被许可者唯一ID产生装置,所说系统还包括可在所说工作台操作的方式转换装置,该转换装置使得只有在由所说本地许可者唯一ID产生装置产生的一个被许可者唯一ID同由所说远程被许可者唯一ID产生装置产生的一个被许可者唯一ID相匹配时,才可能在所述工作台以所述应用模式下使用所述数字数据。
最好所说系统还包括工作台唯一ID产生装置,其中所说方式转换装置只要在所说工作台唯一ID没有改变的情况下,就将允许在所说工作台随后执行的所说的数字数据中按所说使用方式运行所说数字数据。
最好所说方式转换装置只有在由所说本地被许可者唯一ID产生装置产生的所说被许可者唯一ID不改变时才允许在以后所说数字数据的执行中按所说使用方式操作所说数字数据。
最好所说方式转换装置构成部分所说数字数据。
最好所说远程被许可者唯一ID产生装置由包含有为所说本地被许可者唯一ID产生装置使用来产生所说被许可者唯一ID的算法的软件所组成。
最好由所说本地被许可者唯一ID产生装置使用产生所说被许可者唯一ID的信息包括未来的被许可者的信用卡号,生产日期以及全名和地址。
最好所说工作台唯一ID产生装置使用硬盘信息和/或其他计算机硬件或固体信息,以确定所说工作台唯一ID。
最好所说工作台包括一计算机操作系统环境。
最好所说数字数据包括适合于在所说操作系统环境条件下进行操作的软件程序。
本发明的另一种概括形式,提供了可附设在欲被保护软件上的一安全子程序,即登记装置。所说登记装置根据输入到所说软件的信息产生一安全密码,用以唯一地识别欲在所说软件要装入的计算机上的登记所说软件的用户。
最好所说安全密码是由一登记号算法产生。
最好所说登记号算法将由期望登记的用户所输入的唯一识别该用户的信息,与由被保护软件所运行的环境(例如系统时钟,最近的更新日期,用户名称)所提供的信息产生的序号相组合。
最好所说登记装置在一登记管理机构处复制,以便由管理机构进行检查,该对用户为唯一的信息是否是在由该登记装置产生该安全密码时正确地被输入了。
最好所说登记装置在引导所述软件时检测该欲被保护软件是第一次引导还是后续引导。如果检测到为一后续引导,则对环境和用户细节进行比较,以便确定该程序是复原到示教方式并开始一新用户登记程序,还是一整个方案操作。
最好所说环境细节包括一个或多个磁盘卷名,用户或各计算机,硬盘设置初始化日期,硬件识别符(例如ROM检验和)或其他一些一般非用户可设置在该工作台中的单元。
在本发明的另一概括形式中提供一种控制软件分配的方法,所说方法包括有提供针对所述软件的方式转换装置,该装置适用于所述软件在全部启动模式和部分工作模式即示教方式之间进行转换。所说方法还包括提供登记密码产生装置,它适合于产生对该软件的一预定用户唯一的信息功能的使能密码;只有在登记所说软件时由所说预定用户对所说方式转换装置提供的启动密码和由所说登记密码产生装置产生的所说登记密码完全相匹配时,所说方式转换装置才将所说软件转换成全启动方式。
最好所说启动密码在登记所说软件时,由运行所说登记密码产生装置的复制考贝的第三方传递到所说预定用户。
在本发明的再一概括形式中,提供含有登记代码的数字数据,所说数字数据可在一工作台上执行;所说登记代码包括有可在所说工作台上执行的所说数字数据的一部分;为的是在示教方式和使用方式之间转换所说数字数据。
最好所说登记代码在所说工作台中执行时提供本地被许可者唯一ID产生装置,由此只有在由所说本地被许可者唯一ID产生装置产生的一被许可者唯一ID同由远程被许可者唯一ID产生装置产生的一被许可者唯一ID相匹配时,才能借助于执行所说登记代码,将所说数字数据从所说示教方式转换到所说使用方式。
现在参照附图将详述本发明的实施列,其中

图1是表明一预定登记用户和在按本发明的第一实施例保护媒体上的软件的登记管理机构之间关系和相互作用的示意图;
图2a,2b,2c是在登记软件期间按本发明的第一实施例的用户应遵循的程序流程图各个分段;
图3是按本发明第二实施列的可供选择的引导过程的流程图;
图4是按本发明第三实施例的有关图2a,2b,2c程序的个人信息对话逻辑框图;
图5按本发明第四实施例的系统的示意图;
图6是图5中第四实施例针对CDROM驱动器的实施;
图7是与图6解码器逻辑框图有关的逻辑流程图;
图8是按本发明的第五实施例的一般化系统的方块图;
图9是表示对图8的系统产生一登记号即一具体例子的方块图;以及图10是包括图8的一般化系统的一具体例子的第六实施例的示意图。
应理解的是,在其各种实施例中,本发明在于由控制对数字代码/软件的使用许可来保护数字代码/软件。多种实施例均要求至少部分地借助于电子硬件实现的硬件工作台和一远程登记站。
欲加以保护的代码/软件至少需要与本发明各种实施例适用的某些配合。该配合对于所有欲加以保护的代码/软件的复制件可以是通用的。
1、第一实施例参照图1和图8,按本发明实施例的系统被设计成适合于允许数字数据39即软件能按一使用方式在一工作台31上运行,只要而且只有在经过一适当的许可转让程序之后。在具体形式中,该系统包括有检测已经装载有数字数据39的工作台31的部分与在当欲加以保护的软件即数字数据例如说被最新引导或运行中或有效地登记的工作台参数相比,部分或整个发生了变化的装置。
此系统依赖于构成被系统保护的数字数据的组成部分的数字数据即代码38。该数字数据的这部分最好是欲被保护数字数据的重要组成部分,在本说明的其他地方称之为代码部分38。该代码部分38包括一种适合于根据由预定被许可者所提供的、表征该被许可者是唯一的登记号66或本地被许可唯一ID或登记密码的算法。在该例中,产生登记号的该本地许可唯一ID发生器为在工作台31执行代码38。
在该代码部分中的该算法在许可者或其代理人控制下,在工作台67的一远程位置被加以复制,且需要在该预定被许可者和该许可者或其代理人之间进行通信,以便在该远程地点产生一匹配的记号,即使能密码,用于随后传送给该预定被许可者作为许可该数字数据39按一种使用方式运行的许可证。
在该例中,执行工作台67上复制的代码部分为产生远程被许可者唯一ID的措施。
方式转换装置为对还附加进行本地和远程产生的登记号的比较的该代码部分的执行。
最好该代码部分38同数字数据是整体,并且对于所有数字数据的复制件可以是相同的。正就是插入该代码部分中的这一算法(并且在远程位置上被复制)可能提供是“唯一”的一个登记号,如果该预定的被许可者提供的在工作台执行该算法作为依据的信息本身是“唯一”的话。
总之,在各具体优选方式中均在登记号码产生算法中包括有一序号(如下述)它将附加唯一性等级引入到登记号码算法处理过程中。
具体参见图1,由按本发明第一实施例保护的数字数据构成的一程序被记录在磁盘10上。
作为该磁盘10上软件组成部分的是一登记和重新登记子程序,它只要在由此第一实施例的装置保护的程序引导时即执行。
参考图1和图2a,2b,2c,安全的程序的操作将在这样一种假设上进行描述,即在磁盘10上由登记子程序保护子程序还没有在工作台进行登记即是第一次被装载。
该未来的新用户11将磁盘10插入用户的PC12,以便由它读出。
作为软件安装程序的组成部分,起动登记程序导致一系列对话逻辑框显示在用户PC 12的显示器13上。当检查确认该软件先前没有在PC 12上被登记过时,显示一对话逻辑框A(图2a),它向用户提供选择,是观看该软件的示教(通常具有如保存和/或禁止打印的特征),还是建议对软件进行授权许可登记(此时,所有该软件特征均可为该用户利用)。
如果选择登记这一项,亦即如果该用户采用登记而放弃示教模式,则在显示器13上显示交互对话逻辑框B(图2a),它提供一张表格(储存在磁盘10上作为登记等程序部分),该表格例如提供软件发行公司的名称和联系号码以及其他的一般产品信息。
在显示许可细节(框B1)进行登记的期间用户发出同意指示后,该用户在填满该登记对话逻辑框C之后(下面详述)即可与登记中心接触。在选择“连续”之后,登记子程序起动产生安全密码的第一步骤。该安全密码对软件的当前复制件以及其运行环境的某些特征将是唯一的。
如图2b所示产生安全密码的第一步骤包括产生实时系统序号,和在本例中还有软件最新修改日期以及该计算机环境的其他信息。该序号经加密和重新安排,而后在显示器13上登记对话逻辑框中表现一个数字。
该登记对话逻辑框C(图2b)揭示用户对其为唯一的细节,(例如包括姓名,公司,地址,州名,联系号码),以及可成为由该登记后程序保护的软件的登记用户所需交付的财务项目(例如Mastercard)即公司账户号码细节)。这个对该用户是唯一的信息通过登记号码算法14(用符号表示在图1中),该登记号码算法14根据对该用户唯一的信息连同以前产生的该序号一起产生一登记号码即安全密码。该登记号码即安全密码并不由PC12来促成其对PC12的用户成为可用的。
一个相同的登记号码算法14保存在登记管理机构PC15上。作为登记程序的一整体部分,该未来新用户11将由该用户在用对该用户是唯一的信息连同由该用户的算法产生的序号一道,传送到该登记管理机构16。该管理登记机构将该信息送到该登记管理机构PC15,在此,登记号码算法14将产生与由用户PC12产生的相同的登记号码即安全密码,只要由该未来新用户11传送到该登记管理机构的细节同在用户PC上已输入的细节相匹配。该用户能随意地由电子方法将该信息传送到该登记管理机构,例如可用传真或调制调解器或调谐电话。
在登记中的最后一步(图2c),该登记管理机构16将登记管理机构PC15产生的登记号码提供给用户。用户11将该登记号码输入的登记号码是否同计算的登记号码匹配。如果两者相匹配,则为有效登记,而由该登记子程序提供对由其保护的软件的完整运行方案进行访问。如果不匹配并且不存在有可供选择的文件(此文件储存该用户细节),则在用户PC12的显示器上出现一对话逻辑框D(图2c),为未来新用户11提供检测他/她的细节或转换由该登记程序保护的软件的示教方式的机会。
同样,该登记管理机构PC15能对PC12提供用电子装置如调制介调通信产生的登记号码。
下面将清楚看到,对未来新用户11并非显而易见的是,对由该登记子程序保护的软件的完整。方案进行解锁的此登记号码事实上是由保存在磁盘上的一个算法产生的,并且它构成所希望访问的软件部分。
按这种方式,以上概述的登记子程序保证由未来新用户在他/她的用户PC12上输入的是完全相同于由登记管理机构16记录的那些细节。同样很明显,该程序并不要求包含被保护软件复制件的每一个磁盘上的登记号码。每一复制件均具有存放在它上面完全相同的登记号码算法。仅在根据由该未来新用户11提供的细节进行登记时才产生一唯一登记号码即“安全密码”。
此登记子程序通常在被保护软件的任一复制件引导时起作用。在这种情况下,登记子程序在引导时检测什么样的登记细节目前存在用于那个具体的软件复制件。如果无任何细节存在,则认为该PC是在由新配置的磁盘进行引导,登记为首次进行。该登记程序在这一情况下分别如图2a,2b和2c所示。
在登记细节存在的情况下,该登记程序检测若干予期为对于该被保护软件的运行环境是唯一的参数。在此实施例中,被检查的参数是硬盘卷名,用户姓名,计算机名,用户口令,以及硬盘初始日期(不是一般用户可对Apple Macintosh计算机进行组态的)。该登记子程序然后针对由软件正在运行的计算机的操作环境取得的相层细节检验这些参数。
如果指定的这些细节的组合是匹配的,则认定该正运行中的软件复制件是经过恰当授权和登记的,因而允许对该软件作充分的访问。
按这种方式,十分适宜于在用户之间互相提供经安全子程序保护的软件复制件。该附加在欲被保护软件的安全子程序根据它操作环境作出决定是否需要附加登记弗。如果由该登记子程序确定是这种情况,则该登记子程序具有提供一个新登记号码作为一个被授权的登记程序部分的能力,在这之前,该被保护的软件转到示教方式。
2、第二实施例(自动重新登记)按照第二实施例,适合于在最初引导和随后的引导情况下进行检测的更理想子程序表示在图3的流程图表中。
该程序采用了为适应若干情况的冗余度,这些情况可以是,包含当前的应用据之被授权的信息的关键文件可能已被删除掉,或者在随后的引导中不存在这一文件。
与第一实施例的区别在于在登记软件的当时产生一个关键文件”,并且同时还产生一复制的关键文件。该复制关键文件被安排为储存在计算机上与该被保护程序分开的位置处。对于Apple Macintosh计算机的情况,该复制关键文件可储存在该“系统文件夹”中。
无论是该关键文件(随同软件储存)还是该复制的关键文件均被加密,而且两者包含相同的信息。所包含的信息包括1、包括序号的用户登记细节;
2、计算机的环境细节;以及3、由安全子程序保护的将进行登记或已经登记的应用程序的细节。
参考图3,每当该被保护的应用程序引导时,该登记程序就进行检验,以确定在被保护的应用程序的关键文件中,是否存在有登记细节。如果他们存在的话,该登记子程序即在关键文件的存贮内容和环境之间作比较,以确定环境是否已由该关键文件所存储内容发生了变化。如果无变化被检测出来,则该被保护的应用程序即可作正常运行。
如果在该关键文件中无登记细节存在,或者上面指出的在该关键文件内容和该应用程序之间的比较表明不相匹配,则图3的重新登记子程序即寻找在该环境中的复制关键文件的存在。如果复制关键文件存在,包含在那个复制关键文件中的信息即被复制到该应用程序的关键文件,并且如前述在关键细节和应用程序的环境之间将进行比较。如果这种比较结果是肯定的,则该被保护的应用程序即可正常运行。如果这种比较表明为否定的,则该被保护的应用程序只允许由登记程序按示教方式运行。如果根本不存在有复制关键文件,并且该内部关键文件(如果存在的话)带来一否定结果,则被保护的应用程序仅允许按示教方式运行。
由于被保护的应用程序不大可能因错误原因导致按示教方式运行,就这一意义上来说,这一装置改善登记子程序的耐用性能。
3 第三实施例-跟踪系统参考图4,它表示图2b的对话逻辑框C的改进形式,它包括增加了逻辑框21中的“your user number”项。
在当一未来新用户输入他/她的细节到组成对话逻辑框C的其他逻辑框中时,用户有可能将用户号码输入到逻辑框21。此用户号是由登记管理机构16作为对那个具体的登记用户是唯一的号码提供的。如果逻辑框21具有扦进到它里面的用户码细节,则当对被保护应用程序进行下一次复制时,该登记子程序将该用户号码细节从逻辑框21传送到“Last user number”逻辑框22。如果而且只有想登记下一个复制件的人员将他们的用户号码输入逻辑框21,在被保护的应用程序构成下一复制件时,才进行同样的传送。如果他们不是这样,则在逻辑框22中将照旧保持最近的用户号码细节。按此方式,树结构形式的登记管理机构即可采用一种跟踪系统,在此均由其直系根据输入到逻辑框21和22的当前的以及先前的用户号码来识别任一给定的复制件。
4、自行排序在一具体实施例中,可以利用一被称为“自行排序”的过程来产生能给用户/被许可者显示的序号50,如图4中所示。
此序号50是由使用输入到算法的一随机或伪随机号码进行掩饰的,该算法在作为该软件的初始登记过程部分的首次引导时,产生该序号。例如该序号在由该自行排序过程产生时能够由构成该登记软件部分的一随机号码子程序产生,或者能由该登记软件31用在设置该软件的工作台能作很宽范围的变化的数据来产生,例如在该工作台的一个时间参照。由自行排序过程产生的这个序号50可以是对该登记算法所要求的一个由其产生登记号码的输入。显然这样确定的并显示给用户的序号50然后将被要求传送到登记管理机构,用作对登记管理机构的登记号码产生算法的输入。
将会看到,这样产生的序号50在每一个欲被保护的软件要运行的工作台,并且构成被确定的且只有在登记时才能被确定的该登记算法的一个随机化输入。
5、第五实施例参照图5,它表示一微处理器30的示意图,该微处理器适合于在一操作系统即一工作台条件下,例如Microsoft Dos或MaciNtosh系统7下运行。该工作台31允许采用相当高水平的指令,来使得微处理器30同,例如键盘32,监视器33,相声器34,存储器35以及磁盘或CD ROM盘这样的输入/输出装置交互作用。
作为例子,由一段指令代码即数字数据37组成的字处理程序被复制到磁盘36。
该数字数据37包括有登记代码部分38以及使用代码部分39。
该数字数据37的安排使得在当微处理器30试图依靠操作系统即工作台31来首次执行该数字数据37时,构成登记代码部分38的数字数据首先被促成如前述那样照本发明第一实施例那样执行。构成登记代码部分38的数字数据的执行协同操作系统即工作台31组成一个方式转换器,此转换器将只允许微处理器30按示教方式执行数字数据37的使用代码部分39,除非并且直到涉及参照一外部登记管理机构的登记首先成功完成为止。这一登记过程如前所述参照第一实施列。
该数字数据37,例如能组成一字处理程序,像Wordperfect公司提供的Wordperfect5.1。该登记代码部分38同构成该字处理程序的数字数据37是整体。登记代码部分38包括如前述关于本发明其他实施例那样用来计算登记号码的算法。
可以理解的是该登记代码部分38实际上是形成被保护/登记的软件即数字数据37的一部分,以及该数字数据37对所产生的字处理程序的所有复制件将是或可能是相同的。该登记代码部分38使得可能在数字数据37和被授权即许可使用该数字数据37的个体之间,借助初始执行由登记代码部分38构成的数字数据的一复制件来形成唯一的链接。
参照图6和7,将描述第五实施例的具体的实现。
具体参照图6,一解码器51被插在从CD唱机52中的CD到一数字/模拟转换器53的数据通道中。数模转换器53是一器件,利用它将保存在CDROM54上的数字编码音乐或视频信息转换成适合于在目前大量生产的TV(频频)或hi-fi装置(音频)上再现的模拟形式。解调器51为执行数字数据37的工作台的组成部分,包含有解释数字数据37的代码部分38的措施,这样实施的该登记系统,使得仅仅只有在完成了参照前述诸实施例的登记程序之后,才可能在工作台以一使用方式执行数字数据37,更具体说,该数字数据37的使用代码部分。
该登记代码部分38能包括有对无须许可即可在工作台执行的CD54上的数字数据的平衡子集的预检或示教。
该解码器51包括LCD显示器55和键板56,藉比,被许可者为进行登记程序可通过键板56输入信息,以及通过LCD显示器55接收信息。
此外一灵巧卡片(SRAM)57可由解码器51接收,用于解码器51的完成或修改操作。
参照图7,在将CD插入CD唱机后的登记程序如下所述。用户操作放音键,解码器51由CD54读出其上的数字数据37的代码部分38,并执行该代码,以确定该数字数据对该工作台是否已被许可。如果未被许可,即经由数模转换器53传送示教方式,而用户即按图7流程图中指示的方式确定是否登记成为数字数据37的被许可者。
6、第六实施例参照图8,它表示按本发明另一实施例的一系统的方块图,它可对照有关图1的早先综合说明。
图8说明的系统按有关前述实施例的一般描述的方式进行操作,如在图中概述的那样。在图4说明的方块C的情况下,并参照图9,产生唯一用户识别符的算法既被驻留作为数字数据37中的登记代码部分38,与使用代码部分39连成整体在本地工作台31执行,也作为附加到数据库程序62的远程算法61,用于在远程工作台63上执行。
在该实施例中,此算法借助附加序号50结合软件产品名64,用户信息65以及上述用户识别符22,以产生登记号码66。
如在前讨论的那样,所有要包括的项目,即项目50,64,65和22必须由予定的被许可者传送到远程被许可者唯一ID产生器67,由此,算法61促使产生同本地产生的登记号码完全匹配的登记号码66。当方式转换器68验证为匹配时,方式转换器68就允许在全用户程序39的工作台31上执行。
在允许执行该全程序前,方式转换器68还将检验工作台ID69是否已经与由工作台唯一ID产生器70提供于它的发生了变化。
在该实施例中,序号50由两部分组成,即系统信息71和可改变的关键部分72。可改变关键部分72具有说明书中先前描述的自行排序特性,而且在该实施例中,它是在进行工作台31登记时,由引用一可改变的工作台参数产生的,在这种情况下,虽然是引用的系统时间信息,但其它可改变的参数亦能使用在不同的实施例中。
系统信息71包括有识别构成将执行用户程序的工作台31的硬件,例如CPU号码(在可能时)或者与所用固件相关的唯一参数的信息。该系统信息还能随意地包括系统结构信息,例如存储器量,处理器型号等。
因此,将要指出,序号50将显示给定的被许可者,像图4中的每个逻辑框C那样,屏幕上出现的是与工作台31或者用户程序39没有明显连系的极为随机的变量。
但是,当该序号50被传送到远程被许可者唯一ID产生器67时,与产生包含可变关键部分72和系统信息71的序号的算法互补的第二算法能“解码”或换句话说能除掉可变关键部分72,以便在该环境许可的希望时使用系统信息71。
不管系统信息71是否被利用,按这种方式产生的序号50对产生登记号码66的算法总提供一个输入,该登记号码66表现为一个明显变化的参数,由此而使得此软件登记系统更难以甚至不可能“破解”。
7 第七实施例图10示意图说明应用例如实现图6中的CD装置或图8图9更一般化装置的本发明的基本的实施硬件。
在本实施例中,一个在媒体82上的数字代码81的未来用户80,在其于工作台83上执行前首先将媒体82插进工作台83中的合适的数字代码读出装置(例如软盘驱动器或CDROM驱动器)。
用户80将客户信息C直接提供给本地编码/解码器84和本地加法器85。
此外由媒体82导出的(一般通过工作台83)或通过中介用户(由小人符号表示)得到的产品信息P亦提供到编码/解码器84以及加法器85。
最后由工作台83导出的一序号S直接或通过中介用户80送到编码/解码器84以及加法器85。
加法器85行使一个本地被许可者唯一ID产生装置的功能,将客户信息C,产品信息P以及序号S进行组合(相加)以提供在这里标示为Y的一本地被许可者唯一ID。
编码/解码器84将序号S,客户信息C和产品信息P,通过调制解调器86,87经由共公电话转换网络,送到远程编码/解码器88,该编码/解码器88再将信号S,C和P送到远程加法器的输入端。远程加法器89以相加将这些信息组合起来(由此来起远程被许可者唯一ID产生装置作用),以便提供在这里表示成X的相加输出,该输出代表一个被许可者唯一ID,即启动密码。如果输入到加法器85和89的S,C和P是相同的,则此启动密码将和本地被许可者唯一ID即登记密码或登记号码Y完全匹配。
表示为X的被许可者唯一ID通过编码/解码器以及调制解调器84,86,87,88发回到比较器90,如果X等于Y,该比较器90输出一个高信号。这个情况相当于在远程位置由远程被许可者唯一ID产生装置(通常为一加法器89)产生的被许可者唯一ID同本地被许可者唯一ID相匹配。
在媒体82上的数字代码81由被指定的示教部分D的代码连同被指定为使用部分U的代码一齐构成。这里也可有指定为O的其他类型代码。
数字代码81在工作台83(例如一台微处理器或一台主要以硬件为基础的专用放音装置,如CD驱动器)上执行,此时该代码被送到通过由第一门电路91和第二门电路92连同继电器93所组成的一个方式转换器。
第一门电路91激励继电器93,以便允许执行D型代码,而不能执行任何其他类型例如U型代码。
第二门电路92,只有比较器90的输出为高电平使继电器闭合(这就是说X等于Y,或者说本地被许可者唯一ID同由加法器89构成的远程被许可者唯一ID产生装置产生的被许可者唯一ID相匹配),才使得能执行任何类型的代码。
比较器90同门91,92以及继电器93一起构成一种具体形式的方式转换器,即转换装置机构,它适合于识别并允许在工作台执行各种代码,例如类型D和U代码。
上述既可在专用电子硬件设备中应用,也可借助较通用的数字计算装置,例如微处理器等,来控制数字代码的使用。
以上仅描述本发明的某些实施例,对熟练的专业人员来说显然能够加以改型而不脱离本发明的思想与范围。
权利要求
1.一种许可数字数据按一应用模式执行的登记系统,所述数字数据可在一工作台上执行,所述系统包括有本地被许可者专用(唯一的)ID产生装置和远地被许可者专用ID产生装置,所述系统还包括有可在所述工作台上操作的模式转换装置,所述转换装置使得只有在由所述本地被许可者专用ID产生装置产生的被许可者专用ID与所述远地被许可者专用ID产生装置产生的被许可者专用ID相匹配时,才允许所述数字数据在所述工作台以所述应用模式使用。
2.权利要求1所述的系统,其中所述本发被许可者专用ID产生装置以执行一登记算法来生成所述本地被许可者专用ID,该执行过程是按所述算法来对信息进行组合;所述信息唯一地专用说明欲以所述应用模式执行所述数字数据的预定被许可者。
3.权利要求2所述的系统,其中所述模式转换装置只有在由所述本地被许可者专用ID产生装置所产生的所述被许可者专用ID没有发生变化时才允许在所述数字数据的后续执行中以所述应用模式运行所述数字数据。
4.权利要求3所述的系统,其中所述本地被许可者专用ID产生装置在当于所述工作台上执行时构成所述数字数据的组成部分。
5.权利要求4所述的系统,其中所述模式转换装置在当于所述工作台上执行时构成所述数字数据的组成部分。
6.权利要求5所述的系统,其中所述远地被许可者专用ID产生装置构成在一工作台上执行的,包含有为所述本地被许可者ID产生装置用来产生所述被许可者专用ID的算法的软件。
7.权利要求5所述的系统,其中被所述本地被许可者专用ID产生装置用来产生所述被许可者专用ID的信息为至少包括有付款细节、联系细节及名称之一的预期被许可者细节。
8.权利要求1所述的系统,还进一步包括有工作台专用ID产生装置,其中所述模式转换装置只存在所述工作台专用ID没有变化时才允许在所述工作台上按着执行所述数字数据中以所述应用模式运行所述数字数据。
9.权利要求8所述系统,其中所述工作台专用ID产生装置在当于所述工作台上执行时构成所述数字数据的组成部分。
10.权利要求9所述系统,其中工作台专用ID产生装置利用硬盘或其它工作台信息来决定所述工作台专用ID。
11.权利要求1所述系统,其中所述工作台构成一计算机操作系统环境。
12.权利要求11所述系统,其中所述数字数据构成一适宜于在所述操作系统环境下运行的软件程序。
13.一可附加到欲被保护的软件的安全子程序亦即登记装置,所述登记装置根据输入到所述软件的信息产生一安全密码,所述安全密码唯一地专用识别欲在要装载所述软件的计算机上进行所述软件登记的用户。
14.权利要求13所述登记装置,其中所述安全密码由一登记号码算法产生。
15.权利要求14所述登记系统装置,其中所述登记号码算法由一预期的登记用户所输入的唯一地专用于该用户的信息与根据欲被保护软件的运行环境所提供的信息产生的序号加以组合。
16.权利要求13所述的登记装置,其中所述登记装置在一登记管理机构被加以复制,以便为该登记管理机构用来检验在当安全装置产生该登记密码时专用于该用户的信息的正确输入。
17.权利要求13所述的登记装置,其中所述登记装置是在引导所述软件时检验欲加以保护软件是首先引导还是后续的引导,如果检测到为一后续引导则将环境和用户细节加以比较;以决定将程序变成一示教模式并开始一新的用户登记过程,还是作完全方式运行。
18.权利要求17所述的登记装置,其中所述环境细节包括一个或多个通常用户不能在工作台上构成的单元内容。
19.一种控制软件分配的方法,所述方法包括提供与所述软件相关的模式转换装置,适用以将所述软件在一完全使能模式和一部分使能模式、即示教模式之间进行转换;所述方法还包括提供适用于产生一登记密码的登记密码产生装置,所述登记密码为对该软件的一预定用户是唯一的信息的一个函数;所述模式转换装置只有在所述预定用户在进行所述软件的登记时提供给所述模式转换装置的启动密码与所述登记密码完全匹配时才将所述软件转换为完全使能模式。
20.权利要求19所述的方法,其中所述登记密码也是所述软件安装环境一个函数。
21.权利要求19所述的方法,其中所述启动密码在进行所述软件登记时被传送给所述予定的用户;所述启动密码由一操作所述登记密码产生装置的复制拷贝的第三方产生。
22.结合有登记代码的数字数据,所述数字数据可在一工作台上执行;所述登记代码构成可在所述工作台上操作以便使所述数字数据能在一示教模式和一应用模式之间转换的所述数字数据的一个组成部分。
23.权利要求22所述数字数据,其中所述登记代码在当于所述工作台上执行时提供本地被许可者专用ID产生装置,由此,只有当由所述本地被许可者专用ID产生装置所产生的被许可者专用ID相匹配时,所述数字数据才可能以所述示教模式转换到所述应用模式。
24.权利要求22所述数字数据,其中所述登记代码整体地结合到所述数字数据。
25.一结合有远地被许可者专用ID产生装置的远地登记站,所述登记站构成用于许可数字数据以一应用模式执行的登记系统的组成部分,所述数字数据可在一工作台上执行,所述系统包含有本地被许可者专用ID产生装置和远地被许可者专用ID产生装置,所述系统还包含有可在所述工作台运行的模式转换装置,所述转换装置只有在由所述本地被许可者专用ID产生装置所产生的被许可者专用ID与所述远地被许可者专用ID产生装置产生的被许可者专用ID相匹配时才允许在所述工作台上以所述应用模式利用所述数字数据。
26.一为使数字数据能以一应用模式执行的数字数据登记方法,所述方法包括一预定被许可者操作一登记系统以许可以一应用模式执行数字数据,所述数字数据可在一工作台上执行,所述系统包括有本地被许可者专用ID产生装置和远地被许可者专用ID产生装置,所述系统还包含有可在所述工作台操作的模式转换装置,所述转换装置只有在由所述本地被许可者专用ID产生装置所产生的被许可者专用ID与由所述远地被许可者专用ID产生装置所产生的被许可者专用ID相匹配时才允许在所述工作台上以所述应用模式利用所述数字数据。
27.承载权利要求22的数字数据的媒体即一传播媒体。
28.承载权利要求1的登记系统所述本地被许可者专用ID产生装置的媒体即一传播媒体。
29.承载适用于在一工作台上执行以提供权利要求1的登记系统的所述远地被许可者专用ID产生装置的代码的媒体或一传播媒体。
30.一远程登记站,包含有构成权利要求1的登记系统组成部分的所述远地被许可者专用ID产生装置。
全文摘要
许可数字数据按一应用模式执行的登记系统,该数字数据可在一工作台(12)上执行,该系统包括一包含一在工作台/PC(12)上执行的登记算法(14)的本地被许可者专用ID产生装置,及一包含在工作台/PC(15)上执行的登记算法(14)的一复制件的远地被许可者专用ID产生装置,该系统还包括可在工作台(12)上操作的模式转换装置,该装置使得只有在由装置(14,12)产生的ID与由装置(14,15)产生的ID匹配时才允许所述数字数据在所述工作台(12)上使用。
文档编号G06F21/24GK1103186SQ9311409
公开日1995年5月31日 申请日期1993年9月21日 优先权日1992年9月21日
发明者里克·贝利亚·理查森 申请人:尤尼洛克(新加坡)私人有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1