用于存取控制的参数化散列函数的制作方法

文档序号:7570945阅读:183来源:国知局
专利名称:用于存取控制的参数化散列函数的制作方法
技术领域
本发明涉及计算机系统中的存取控制。更具体地说,本发明涉及一种装置和方法,用于识别一个可执行映像的源和使用这一识别来确定允许执行的存取权限级。
计算机系统的安全侵犯可归类为有意的和偶然的。未授权读数据、未授权修改数据和未授权破坏数据属于有意侵犯一类。大多数操作系统提供处理手段来产生其它进程。在这种环境下,可能产生滥用操作系统资源和用户文件的情形。蠕虫和病毒是两种普通的滥用方法。计算机系统的保护依赖它识别要执行的程序源和以可以给该系统造成安全威胁的方式来检验这些程序未被修改的能力。
除检验程序源的真实性之外,还需要保证文件、存储器段、CPU和计算机系统的其它资源仅由从操作系统获得适当授权的进程使用。提供这一保护的理由有几种。最明显的是需要防止恶作剧的、有意的存取限制破坏。需要保证在一个系统中每一活动的程序部分以与使用这些资源规定的政策一致的方式使用系统资源具有更普遍的重要意义。保护通过检测位于部件子系统之间接口处潜伏的错误可以改善可靠性。接口错误的早期检测可以防止健康子系统被另一故障子系统感染。
一个进程通常在一个保护域内运行。该域指定该进程可以访问的资源。每一域定义一组对象和可以就每一对象被调用的操作的类型。对一个对象执行一种操作的能力是一种存取权限。一个域是存取权限的一个集合,每一存取权限通常是一个顺序对<对象名,权限集合>。例如,如果域D有存取权限<文件F,{读,写}>,那么一个在D域执行的进程既可以读也可以写文件F。然而对该对象不应该允许执行任何其它操作。多个域可以不相交或者它们可以共享存取权限。一个进程和一个域之间的关联既可以是静态的,也可以是动态的。因而,限制每一进程可用的保护域是重要的。
因此,需要的是提供一个可执行图像的一种不可伪造的签名的装置和方法,它可以用于识别该可执行映像的源,而不管对该可执行图像有任何修改,以及该可执行图像由操作系统允许的存取权限级或可信度。
本发明公开了一种在计算机系统中存取控制的方法和装置。该存取控制的一个实施例包括一个存储单元。该存储单元存储具有一个签名分量和一个加密的可执行映像的一个数据块。一个分离单元连接到该存储单元。该分离单元接收该数据块,并将签名分量从加密的可执行映像分出来。一个解密单元连接到该分离单元。解密单元接收加密的可执行映像和解密该加密的可执行映像为一个可执行程序。这可以通过运行一个使用签名分量作为密钥的解密算法解密该加密的可执行映像而实现。一个识别单元连接到该解密单元。识别单元接收要使用的可执行程序并识别指定给在可执行程序中的一个识别标记的密钥以计算可执行程序的一个密钥加密的杂散值。一个签名生成单元连接到解密单元。签名生成单元接收可执行程序和使用由识别单元识别的一个存储密钥计算对该可执行程序的一个密钥加密的杂散值。一个检验单元连接到杂散单元。检验单元比较密钥加密的杂散值与签名分量以验证该数据块的源以及确认对该数据块没有进行修改。一个权限分配单元连接到杂散单元。权限分配单元接收用于计算可执行程序的密钥加密杂散值的密钥并根据与该密钥关联的权限分配权限给可执行程序。
本发明的第二实施例公开了计算机系统内的一种存取控制方法。首先接收具有一个签名分量和一个加密的可执行映像的一个数据块。在该数据块收到后,把签名分量从加密的可执行映像分离。接着把可执行映像通过执行一个使用签名分量作为密钥的解密算法解密。识别相应于可执行程序中的一个识别标记的一个组合密钥。该组合密钥被用来计算可执行程序的一个密钥加密的杂散值。在计算出密钥加密的杂散值之后,把该密钥加密的杂散值与签名分量比较来检验该数据块的源。根据预分配给该密钥的权限给可执行程序分配权限。
从下面给出的详细说明和具有各种特征的附图和在本发明中实施的元件,可以充分理解本发明。所述说明和附图并不限制本发明到特定的实施例。它们只是为解释和理解而提供。


图1表示在一个计算机系统中实现的一种存取控制器的一个实施例。
图2表示本发明的一个编码单元的一个实施例的方框图。
图3表示怎样使用本发明的编码单元编码一个消息。
图4表示本发明的一个存取控制器的第二实施例的方框图。
图5表示本发明的视频处理系统的第三实施例的方框图。
图6是说明一个编码方法的流程图。
图7是说明在一个计算机系统中用于存取控制的方法的流程图。
本发明叙述了一个新颖的存取控制器单元。在下面详细的说明中,叙述了大量的特定的细节以便彻底理解本发明。然而熟悉本技术领域的人应该理解,可以不要这些特定细节实现本发明。在另外的场合,未详细叙述公知的方法、过程、部件和电路,以便不模糊本发明。
下面的详细说明的某些部分以计算机存储器内对数据位操作的算法和符号表示进行说明。这些算法说明和表示是熟悉数据处理技术领域的人使用的方式,它能对其他熟悉该技术领域的人最有效地表达他们工作的实质。一种算法被认为是导向一个希望结果的一个自身一致的步骤序列。这些步骤是需要物理操作物理量的那些步骤。通常,虽然并非必须,这些物理量是电或磁信号,它们能够被存储、传输、组合、比较或者进行其它操作。在许多场合,主要为公共使用的原因,称这些信号为位、值、元素、符号、字符、术语、数字等被证明是方便的。然而应该牢记,所有这些以及相似的术语是与合适的物理量关联,它们仅仅是应用于这些物理量的方便的标记。除非特别说明,否则从下面的讨论中明显看出,贯穿本发明,使用诸如“处理”或“计算”或“运算”或“判定”或“显示”等术语的讨论指的是一个计算机系统或相似的电子计算装置的动作或处理,这些动作或处理操纵和变换作为在该计算机系统的寄存器和存储器中的物理(电子)量表示的数据为在该计算机系统的存储器或寄存器或其它这样的信息存储、变换或显示装置内的物理量表示的类似的其它数据。
图1以方框图的形式表示本发明的一个实施例的一个计算机系统。该计算机系统包括总线100、键盘接口101、外部存储器102、海量存储设备103、处理器104和显示设备控制器105。总线100连接到显示设备控制器105、键盘接口101、微处理器104、存储器102和海量存储设备103。显示设备控制器105可以连接到一个显示设备上。键盘接口101可以连接到一个键盘上。
总线100可以是一个单总线或者是一个多总线的组合。作为一个例子,总线100可以包括一个工业标准结构(ISA)总线、一个扩展工业标准结构(EISA)总线、一个系统总线、X总线、PS/2总线、一个外围设备部件互连(PCI)总线、一个个人计算机存储器卡国际协会(PCMCIA)总线或其它总线。总线100也可以包括任何这些总线的任一组合。总线100提供计算机系统中部件之间的通信连接。键盘接口101可以是一个键盘控制器或其它键盘接口。键盘接口101可以是专用设备或者可以驻留在其它设备中,例如一个总线控制器或其它控制器中。键盘接口101允许连接一个键盘到该计算机系统和从一个键盘传输信号到该计算机系统。外部存储器102可以包括一个动态随机存取存储器(DRAM)设备、一个静态随机存取存储器(SRAM)设备、或其它存储器设备。外部存储器102存储来自海量存储设备103和处理器104的信息和数据为处理器104使用。海量存储设备103可以是一个硬盘驱动器、一个软盘驱动器、一个CD-ROM设备、一个快速存储器设备或者其它海量存储设备。海量存储设备103给外部存储器102提供信息和数据。
处理器104处理来自外部存储器102的信息和数据,并存储信息和数据到外部存储器102。处理器104还接收来自键盘控制器101的信号并传输信息和数据到显示设备控制器105以便在显示设备上显示。处理器104还传输视频映像到显示控制器以便在显示设备上显示。处理器104可以是一个复杂指令集计算(CISC)微处理器、一个精简指令集计算(RISC)微处理器、一个非常长指令字(VLIW)微处理器或者其它处理器设备。显示设备控制器105允许连接一个显示设备到该计算机系统并作为在显示设备和计算机系统之间的一个接口。显示设备控制器105可以是一个单色显示适配器(MDA)卡、一个彩色图形适配器(CGA)卡、增强图形适配器(EGA)卡、多彩色图形阵列(MCGA)卡、视频图形阵列(VGA)卡、扩展图形阵列(XGA)卡或者其它显示设备控制器。显示设备可以是一个电视机、一个计算机监视器、一个平板显示器或者其它显示设备。显示设备接收来自处理器104经过显示设备控制器105的信息和数据并显示这些信息和数据给该计算机系统的用户。
所述计算机系统还包括存取控制器单元106。存取控制器单元106连接到总线100。与该计算机系统内存取权限关联的一组密钥存储在存取控制器单元106中。每一密钥定义一个程序操作的域。这些密钥还定义一个或者多个组合密钥,用作在一个加密的散列函数中产生一个程序签名的参数。该程序签名进一步用作一个加密密钥来加密可执行程序。
存取控制器单元106从海量存储设备103或者连接到总线100的其它I/O设备接收一个要被处理器104运行的进程。该进程包括一个加密的可执行映像和一个签名分量。在计算机系统执行一个程序之前,存取控制器单元106检验该程序的签名是否从一个已知的组合密钥合法构造。通过检验该进程的签名分量,存取控制器单元106识别该进程的源,检验该进程未被以威胁计算机系统的方式修改,并决定授于该进程存取操作系统的级别。存取控制器单元106然后允许可执行程序以分配给在导出该组合密钥时使用的密钥的权限执行。
图2表示本发明的一个文件编码单元的一个实施例的方框图。文件编码单元210包括签名生成器221和加密单元230。签名生成器221运行以产生要被处理器104执行的一个可执行程序的一个签名。加密单元230使用该签名作为一个密钥加密包含可执行程序的文件。签名生成器221对一个可执行程序的明文执行一个加密密钥散列函数,产生加密的文本。签名生成器221使用由存储在存取控制器单元106中的密钥组成的组合密钥。用于加密散列函数中的每一组合密钥与一组存取权限关联。这些权限在执行前分配给可执行程序。
签名生成器221包括计算单元222和加密单元223。签名生成器221可以使用计算单元222和加密单元223对可执行程序的明文执行任意数目的加密密钥散列功能或者加密算法。这些密钥既可以是私有对称密钥,也可以是公共不对称密钥。其差别是操作系统复制该密钥所需要的保护程度。签名生成器221可以使用诸如Lucifer,Madryga,NewDES,FEAL,REDOC,LOKI,Khufu,Khafre或者IDEA这样通常的算法来为可执行程序生成一个加密密钥杂散值。在本发明的一个实施例中,计算单元222和加密单元223使用数据加密标准(DES)密码块链(CBC)来为可执行程序产生一个加密密钥杂散值。
图3表示当计算单元222和加密单元223使用CBC为可执行程序产生一个密钥杂散值时采取的步骤。链接使用一种反馈机制。先前的块加密的结果反馈到当前块的加密中。换句话说,使用前一块修改下一块的加密。每一加密文本块既依赖于产生它的明文块也依赖于先前的明文块。在CBC中,明文在加密前与先前加密的文本块异或。
在该例子中,编码单元210接收包含具有24字节的一个可执行程序的一个文件。签名生成器221把这24字节文件分成三个8字节的部分。明文的前8个字节表示为方框310中的P1。P1与存储在计算单元222中的一个初始矢量(IV)异或,产生一个第一积。初始矢量是与一组要分配给可执行程序的存取权限关联的一个第一组合密钥的一个函数。在P1与IV异或后,加密单元223使用一个第二组合密钥对第一积执行密钥加密算法,产生一个加密的第一积C1。密钥加密算法可以是各种不同的密钥加密算法中的一个,包括前面列出的任何密钥加密算法。计算单元222用表示为P2的第二个8字节部分与加密的第一积异或,产生一个第二8字节积。加密单元223使用第二组合密钥对该第二积执行一个密钥加密算法,产生一个加密的第二积C2。计算单元222把该加密的第二积与第三8字节部分异或,产生一个第三8字节积。加密单元223使用第二组合密钥对该第三积执行一个密钥加密算法,产生一个第三加密积C3,它用作该可执行程序的一个签名。
签名生成单元221产生可执行程序的一个签名,其为文件中所有字符的一个函数。因此,如果该可执行程序被修改,那么通过重新计算密钥加密的杂散值并将该重新计算的值与原来的签名比较就可能检测出这一修改。
加密单元230通过使用从密钥加密杂散算法产生的签名作为一个密钥执行一个加密算法加密可执行程序。这产生一个加密的可执行映像。可执行程序的加密提供另外的保护级以防止未授权的第三方读取该可执行程序。加密单元230可以使用各种加密算法。加密的可执行映像和签名都作为文件送给一个计算机系统去执行。
图4表示本发明的一个存取控制器的第二实施例的方框图。存取控制单元400包括存储单元410、分离单元420、解密单元430、识别单元440、签名生成单元450、检验单元460和权限分配单元470。
存储单元410接收包括一个加密的可执行映像和一个签名分量的一个数据块。存储单元410可以包括一个DRAM设备、一个SRAM设备或者其它存储设备。存储单元410使用一个指针指示计算机系统所存储的文件是一个可执行映像还是一个可执行程序。该指针指示计算机系统,当存储的文件是一个可执行映像时存储单元410正被作为临时存储设备使用。该指针指示计算机系统,当存储的文件是一个可执行程序时存储单元410被作为可执行空间使用。
分离单元420连接到存储单元410。分离单元420接收从存储单元410来的数据块并从签名分量分离加密的可执行映像。这将允许存取控制单元400单独处理加密的可执行映像和签名分量。
解密单元430连接到分离单元420和存储单元410。解密单元430接收来自分离单元420的以密码文本形式的加密的可执行映像和签名分量。解密单元430使用该签名分量作为解密密钥解密加密的可执行映像。解密单元430变换加密的可执行映像为一个解密的可执行程序。
识别单元440连接到解密单元430和存储单元410。识别单元440从解密单元430接收可执行程序。识别单元440读取在可执行程序中的一个识别标记,获得一个分配给该识别标记的相应组合密钥的标识。这一组合密钥通常是由签名生成单元221使用用以生成该可执行程序的密钥杂散值的同一密钥。在本发明的一个实施例中,识别处理器440包括一个匹配各种识别标记与各种组合密钥的一个查阅表。该组合密钥与授予可执行程序的特定存取权限关联。
签名生成单元450连接到识别单元440和存储单元410。签名生成单元450接收分配给可执行程序的识别标记的组合密钥的标识。签名生成单元450使用由识别单元440接收的组合密钥的标识计算由识别单元440接收的解密的可执行程序的一个密钥加密杂散值。签名生成单元450存储多个对计算机系统分配有特定存取权限的密钥。这些密钥导出多个组合密钥,它们用于编码和解码可执行程序和解密的可执行程序。
检验单元460连接到签名生成单元450和存储单元410。比较单元460从存储单元410接收可执行映像的签名分量,从签名生成单元450接收解密的可执行程序的密钥杂散值。检验单元460比较解密的可执行程序的密钥杂散值与可执行映像的签名分量。如果这两者相同,则检验单元460允许解密的可执行程序由计算机系统执行。如果这两者不同,则检验单元460意识到可执行映像已被修改,而不应该由计算机系统执行。
在本发明的一个实施例中,签名生成单元450不接收用于计算解密的可执行程序的密钥加密的散列函数的一个组合密钥的标识。相反,签名生成单元450使用由在签名生成单元450中存储的密钥的重排列而导出的组合密钥来计算解密的可执行程序的几个密钥加密的杂散值。这些密钥加密的杂散值由检验单元460接收,它判定是否有任何密钥加密的杂散值与原始签名分量匹配。相似地,如果在可执行映像的签名分量和解密的可执行程序的任何计算的密钥加密杂散值之间存在有匹配的话,那么检验单元460允许该解密的可执行程序由计算机系统执行。如果不存在匹配,那么检验单元460意识到可执行映像被修改而不应该由计算机系统执行。
权限分配单元470连接到检验单元460和存储单元410。权限分配单元470接收用作计算匹配密钥加密的杂散值与可执行映像的签名分量所用的组合密钥的标识。当权限分配单元470从检验单元460接收一个信号,指示该解密的可执行程序要由计算机系统执行时,则权限分配单元470运行以分配可用的权限给该程序,这通过识别与用于计算匹配的密钥加密杂散值的特定组合密钥关联的权限而实现。在本发明的一个实施例中,权限分配单元470可以包括一个匹配各种组合密钥与各种存取权限级别的查阅表。在权限分配单元470给解密的可执行程序分配合适的权限后,权限分配单元470移动存储单元410中的指针,指示计算机系统存储单元410被用作一个可执行空间。计算机系统将意识到存储单元410包含一个可执行程序并开始执行该可执行程序。
图5以方框图的形式表示本发明的第四实施例的一个典型的计算机系统。该计算机系统包括总线500,微处理器510,存储器520,数据存储设备530,键盘控制器540和显示设备控制器550。
微处理器510可以是一个复杂指令集计算(CISC)微处理器,一个精简指令集计算(RISC)微处理器或者其它处理器设备。微处理器执行存储在存储器520中的指令或代码和对存储在存储器520中的数据执行操作。计算机系统500进一步包括一个连接在总线515上的数据存储设备530,例如硬盘,软盘或光盘驱动器。显示设备控制器550也连接到总线515。显示设备控制器550允许连接一个显示设备到计算机系统。键盘控制器540允许连接一个键盘到计算机系统以及从键盘传输信号到计算机系统。
存储器520通过总线500连接到微处理器510。存储器520可以是动态随机存取存储器(DRAM),静态随机存取存储器(SRAM)或者其它存储器设备。存储器520可以存储由处理器510执行的指令或代码,它们可以是应用程序、操作系统程序或其它计算机程序的一部分。存储器520包括存储模块521、分离模块522、解密模块523、识别模块524、签名生成模块525、检验模块526和权限分配模块527。存储模块521包括由处理器510以图7所示方式执行的第一多条处理器可执行指令。存储模块521执行类似于图4的存储单元410执行的功能。分离模块522包括由处理器510以图7所示方式执行的第二多条处理器可执行指令。分离模块522执行类似于图4的分离单元420执行的功能。解密模块523包括由处理器510以图7所示方式执行的第三多条处理器可执行指令。解密模块523执行类似于图4的解密单元430执行的功能。识别模块524包括由处理器510以图7所示方式执行的第四多条处理器可执行指令。识别模块524执行类似于图4的识别单元440执行的功能。签名生成模块525包括由处理器510以图7所示方式执行的第五多条处理器可执行指令。签名生成模块525执行类似于图4的签名生成单元450执行的功能。检验模块526包括由处理器510以图7所示方式执行的第六多条处理器可执行指令。检验模块526执行类似于图4的检验单元460执行的功能。权限分配模块527包括由处理器510以图7所示方式执行的第七多条处理器可执行指令。权限分配模块527执行类似于图4的权限分配单元470执行的功能。
图6是表示编码要由一个计算机系统执行的一个可执行程序的方法的流程图。首先如方框601所示接收一个可执行程序。接着如方框602所示接收定义要分配给所述可执行程序的相关权限的一个组合密钥。对所述可执行程序执行一个密钥加密杂散算法。该组合密钥既可以是一个私有对称密钥,也可以是一个公共非对称密钥。这将产生一个密钥加密的杂散值,它用作该可执行程序的一个签名或者指纹。这示于方框603。
接着,使用密钥加密的杂散值作为一个密钥加密该可执行程序。这产生一个可执行映像。这示于方框604。在可执行程序被加密为一个可执行映像后,把该可执行映像和签名分量都送往一个计算机系统去处理和执行。这示于方框605。
图7是表示一个计算机系统中的存取控制方法的流程图。首先,如方框701所示,接收具有一个签名分量和一个可执行映像的一个数据块。如方框702所示从该可执行映像中分离签名分量。使用该签名分量作为密钥解密该可执行映像,这产生一个解密的可执行程序,它示于方框703。
接着,如方框704所示,在解密的可执行程序中定位一个识别标记。识别与该识别标记关联的一个组合密钥,这示于方框705。在方框706使用与该识别标记关联的组合密钥计算该解密的可执行程序的一个密钥加密的杂散值。接着检验数据块的源以及通过比较该数据块中的签名分量与用于解密的可执行程序的计算的密钥加密杂散值判定该数据块是否已被修改,这示于菱形707。如果数据块中的签名分量与计算的密钥加密杂散值不匹配,则不执行该解密的可执行程序。这示于方框708。如果该数据块中的签名分量与计算的密钥加密杂散值匹配,那么给解密的可执行程序分配一个由组合密钥确定的适当的权限。这示于方框709。最后如方框710所示,执行该解密的可执行程序。
在上面的说明中,本发明参考其特定实施例加以说明。然而显然可以对其进行各种修改、变化,而不离开在所附权利要求中叙述的本发明的精神和范围。因此,本说明书及附图应该看作是说明性的,而不是限制性的。
虽然熟悉本技术领域的人在读过上面的说明后可以对本发明进行许多变化或修改,但是应该理解,用图示或说明方式叙述的这些特别的实施例并不打算限制本发明。因此,对特定实施例的细节的参考并不用于限制叙述本发明基本特征的权利要求的范围。
权利要求
1.一种存取控制器,包括一个存储单元,用于存储具有一个签名分量和一个加密的可执行映像的一个数据块;一个连接到所述存储单元的分离单元,用于接收所述数据块和从所述加密的可执行映像中分离所述签名分量;一个连接到所述分离单元的解密单元,用于接收所述加密的可执行映像和解密所述加密的可执行映像为一个可执行程序;一个连接到所述解密单元的签名生成单元,用于接收所述可执行程序和使用一个存储的密钥计算所述可执行程序的一个密钥加密杂散值;一个连接到所述签名生成单元的检验单元,用于比较所述密钥加密的杂散值与所述签名分量以检验所述数据块的源。
2.权利要求1所述存取控制器,其中,所述解密单元从所述分离单元接收所述签名分量并使用所述签名分量作为一个密钥解密所述加密的可执行映像。
3.权利要求1所述存取控制器,其中,所述杂散单元进一步包括一个密钥存储部件,用于存储由所述签名生成单元为计算所述可执行程序的所述密钥加密的杂散值使用的密钥。
4.权利要求1所述存取控制器,进一步包括一个连接到所述解密单元的识别单元,用于接收所述可执行程序,所述识别单元在所述可执行程序中识别一个指定给一个识别标记的组合密钥,以计算所述可执行程序的所述加密杂散值。
5.权利要求1所述存取控制器,进一步包括一个连接到所述杂散单元的权限分配单元,用于接收为计算所述可执行程序的所述密钥加密的杂散值所用的所述组合密钥,所述权限分配单元根据与所述组合密钥关联的权限给所述可执行程序分配权限。
6.编码一个可执行程序的一种设备,包括一个签名生成单元,用于接收一个可执行程序,所述签名生成单元对所述可执行程序执行一个密钥加密的散列函数来产生一个签名分量;连接到所述签名生成单元的第一加密单元,用于加密所述可执行程序,所述加密单元使用所述签名分量作为一个密钥对所述可执行程序执行一个加密算法。
7.权利要求6所述设备,其中,所述签名生成单元进一步包括一个计算单元和一个用于执行一个数据加密标准密码块链算法的第二加密单元。
8.一种存取控制器,包括存储设备,用于存储具有一个签名分量和一个加密的可执行映像的一个数据块;连接到所述存储设备的分离设备,用于接收所述数据块和从所述加密的可执行映像中分离所述签名分量;连接到所述分离设备的解密设备,用于接收所述加密的可执行映像和解密所述加密的可执行映像为一个可执行程序;连接到所述解密设备的签名生成设备,用于接收所述可执行程序和使用一个存储的密钥计算所述可执行程序的一个密钥加密杂散值;连接到所述签名生成设备的检验设备,用于比较所述密钥加密的杂散值与所述签名分量以检验所述数据块的源。
9.一种计算机系统,包括一条总线,用于提供所述计算机系统的部件之间的连接;一个连接到所述总线的显示设备控制器,用于允许连接一个显示设备到所述计算机系统;连接到所述总线、能够存储信息的外部存储器;一个存取控制器,包括一个存储单元,用于存储具有一个签名分量和一个加密的可执行映像的一个数据块;一个连接到所述存储单元的分离单元,用于接收所述数据块和从所述加密的可执行映像中分离所述签名分量;一个连接到所述分离单元的解密单元,用于接收所述加密的可执行映像和解密所述加密的可执行映像为一个可执行程序;一个连接到所述解密单元的签名生成单元,用于接收所述可执行程序和使用一个存储的密钥计算所述可执行程序的一个密钥加密杂散值;一个连接到所述签名生成单元的检验单元,用于比较所述密钥加密的杂散值与所述签名分量以检验所述数据块的源。
10.一种存取控制方法,包括的步骤有接收具有一个签名分量和一个可执行映像的一个数据块;从所述可执行映像中分离所述签名分量;解密所述可执行映像为一个可执行程序;计算所述可执行程序的一个密钥加密杂散值;通过比较所述签名分量与所述密钥加密的杂散值检验所述数据块的源。
11.权利要求10所述方法,其中,解密所述可执行映像是通过使用所述签名分量作为一个密钥执行一个解密算法而实现的。
12.权利要求10所述方法,进一步包括在所述可执行程序中识别一个识别标记和查阅一个相应的组合密钥用以对所述可执行程序执行一个密钥加密的散列函数的步骤。
13.权利要求10所述方法,进一步包括根据与所述组合密钥关联的权限给所述可执行程序分配权限的步骤。
14.产生一个编码的可执行映像的方法,包括的步骤有对一个可执行程序执行一个密钥加密的散列函数,生成一个签名分量;对所述可执行程序执行一个加密算法,其为所述签名分量的一个函数。
15.权利要求14所述方法,其中,通过执行一个数据加密标准密码块链算法实现执行密钥加密的散列函数。
全文摘要
公开了计算机系统中一种存取控制的方法和装置。一个存储单元接收具有一个加密的可执行映像和一个签名分量的一个数据块。一个连接到该存储单元的分离单元从该加密的可执行映像中分离所述签名分量。一个连接到分离单元的解密单元使用该签名分量作为一个密钥解密所述加密的可执行映像。这产生一个解密的可执行程序。一个连接到所述解密单元的识别单元定位在解密的可执行程序中的一个识别标记并识别分配给该识别标记的一个组合密钥。一个连接到所述识别单元的签名生成单元使用该组合密钥作为一个密钥对解密的可执行程序执行一个密钥加密的杂散算法。一个连接到签名生成单元的检验单元比较签名分量与计算的密钥加密的杂散值以检验所述数据块的源并判定它是否已被修改。如果该签名与密钥加密的杂散值匹配,那么连接到检验单元的权限分配单元给解密的可执行程序分配一个合适的存取权限,允许它由计算机系统执行。
文档编号H04L9/32GK1194072SQ96196499
公开日1998年9月23日 申请日期1996年7月19日 优先权日1995年8月25日
发明者D·W·奥古史密斯, R·C·劳尔哈瑟 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1