发明名称 动态连结的可执行模组之使用的保护系统与方法
摘要 一电脑系统含有一程式模组验证器(verifier)与至少第一和第二个程式模组。每一个程式模组包括一数位式签字与一可执行的程序。第一个程式模组更包括对第二个程式模组的程序呼叫,对程式模组验证器的程序呼叫,其中该验证器在逻辑上,被放在第一个程式模组中,以便在对第二个程式模组的程序呼叫执行前被执行,以及当对程式模组验证器的程序呼叫产生从模组验证器传回一验证拒绝时,阻止对第二个程式模组的程序呼叫的执行。第二个程式模组包括一可执行的程序,于回应第一个程式模组对第二个程式模组的程序呼叫时被执行,对程式模组验证器的程序呼叫,在逻辑上被放在第二个程式模组中,以便在第二个程式模组中的可执行程序执行完成前被执行,以及当程式模组验证器传回对第一个程式模组的验证拒绝时,阻止可执行程序完成执行之指令。程式模组验证器,藉由核对任何被指定的程式模组之真确性,并传回一验证确认或拒绝,以回应程序呼叫。当程式模组验证器核对一程式模组之真确性失败时,呼叫的程式模组丢出一例外并提早终止执行。本发明是关于限制可执行模组的系统与方法,以致于每个可执行模组只有当其他可执行模组的真确性被核对后,才可动态连结至其他可执行模组。
申请公布号 TW378304 申请公布日期 2000.01.01
申请号 TW085112575 申请日期 1996.10.15
申请人 阳光微电脑系统有限公司 发明人 查尔斯.麦曼尼斯
分类号 G06F9/06 主分类号 G06F9/06
代理机构 代理人 林志刚 台北巿南京东路二段一二五号七楼
主权项 1.一种电脑系统,包括:(A)一程式模组验证器,其中,该验证器被组态为:藉由核对任何特定的程式模组的真确性与传回一验证确认或拒绝,以回应对该程式模组验证器的程序呼叫;(B)第一个程式模组;以及(C)第二个程式模组;上述的第一或第二个程式模组其中之一包含对另一个该第一或第二个程式模组的程序呼叫;至少前述的第一或第二个程式模组其中之一包含:一对该程式模组验证器的程序呼叫,用以核对另一个该第一或第二个程式模组的真确性;以及当对该程式模组验证器的上述程序呼叫,产生一从该程式模组验证器传回的验证拒绝之时,用以提前终止该程式模组的执行之指令。2.如申请专利范围第1项所述之电脑系统,上述第一个程式模组包含第一个数位式签名与第一个可执行程序;上述第二个程式模组包含第二个数位式签名与第二个可执行程序;上述程式验证器模组包含:回应要求验证指定的该第一与第二程式模组之一的程序呼叫的指令;验证方法如下:(A1)在该指定的程式模组中,用一对应的解码关键词,对该数位式签名解码,(A2)根据一预定的讯息摘要函数,产生至少一部份该指定的程式模组之讯息摘要,(A3)当上述被解码的数位式签名符合该讯息摘要时,传回一验证确认,(A4)当上述被解码的数位式签名不符合该讯息摘要时,传回一验证拒绝。3.如申请专利范围第1项所述之电脑系统,上述第一个程式模组包含对上述第二个程式模组的一程序呼叫;该第二个程式模组包含:(C1)回应上述对第二个程式模组的程序呼叫而被执行的一可执行程序;(C2)在逻辑上被放在该第二个程式模组中,以便在上述可执行程序执行前被执行的一程序呼叫;与(C3)当对上述程式模组验证器的程序呼叫,产生由该程式模组验证器传回的验证拒绝时,用以防止上述可执行程序的执行之指令。4.如申请专利范围第3项所述之电脑系统,其中,上述防止该第二可执行程序完成执行之指令包含:当对上述程式模组验证器的程序呼叫,产生由该程式模组验证器传回的验证拒绝时,提前终止该第二个程式模组执行之指令。5.如申请专利范围第1,2,3或4项所述之电脑系统,该第一个程式模组包含:对该第二个程式模组的一程序呼叫;在逻辑上被放在该第一个程式模组中,以便在对该第二个程式模组的该程序呼叫执行前被执行的一程序呼叫;与当对上述程式模组验证器的程序呼叫,产生由该程式模组验证器传回的验证拒绝时,用以防止上述对该第二个程式模组的程序呼叫的执行之指令。6.一种连结程式模组的方法,由下列步骤所组成:(A)在从第一个程式模组对第二个程式模组做程序呼叫之前,核对该第二个程式模组的真确性;(B)一旦验证该第二个程式模组的真确性成功后,从该第一个程式模组对该第二个程式模组做上述程序呼叫;而且(C)一旦验证该第二个程式模组的真确性失败后,防止从该第一个程式模组对该第二个程式模组做上述程序呼叫。7.如申请专利范围第6项所述之方法,更包含:(D)在回应由该第一个程式模组的程序呼叫,该第二个程式模组内的一程序执行完成之前,核对该第一个程式模组的真确性;(E)一旦验证该第一个程式模组的真确性成功后,完成执行该第二个程式模组内的程序以产生一结果,并传回该结果至该第一个程式模组;而且(F)一旦验证该第一个程式模组的真确性失败后,防止该第二个程式模组内的该程序完成执行。8.如申请专利范围第7项所述之方法,该步骤(D)包含:在该第一个程式模组中,用一对应的解码关键词,对该第一数位式签名解码;根据该预定的讯息摘要函数,产生至少一部份该第一程式模组之讯息摘要;当该被解码的数位式签名符合该讯息摘要时,验证确认该第一个程式模组之真实性;当该被解码的数位式签名不符合该讯息摘要时,验证拒绝该第一个程式模组之真实性。9.如申请专利范围第6,7或8项所述之方法,其中,步骤(C)包含:提前终止该第一个程式模组的执行。10.如申请专利范围第6,7或8项所述之方法,其中,上述第一个程式模组包含第一个数位式签名,且上述第二个程式模组包含第二个数位式签名;前述步骤(A)包含:在该第二个程式模组中,用一对应的解码关键词,对该第二数位式签名解码;根据预定的讯息摘要函数,产生至少一部份该第二程式模组之讯息摘要;当该被解码的数位式签名符合该讯息摘要时,验证确认该第二个程式模组之真实性;当该被解码的数位式签名不符合该讯息摘要时,验证拒绝该第二个程式模组之真实性。11.如申请专利范围第6,7或8项所述之方法,上述步骤(A)包含:对一受委托的程式模组验证器作程序呼叫,该程式模组验证器藉由核对该第二个程式模组的真实性,以及传回一验证确认或拒绝给该程序呼叫,以回应该程序呼叫。图式简单说明:第一图结合本发明之电脑系统的方块图。第二图为使用本发明的较佳实施例,典型的程序呼叫执行的〝时间线〞代表图。第三图为在一较佳实施例中,使用对两个连结软体相互验证彼此的真实性方法之流程图。
地址 美国