CN1124719C - 用于存取控制的参数化散列函数 - Google Patents

用于存取控制的参数化散列函数 Download PDF

Info

Publication number
CN1124719C
CN1124719C CN96196499A CN96196499A CN1124719C CN 1124719 C CN1124719 C CN 1124719C CN 96196499 A CN96196499 A CN 96196499A CN 96196499 A CN96196499 A CN 96196499A CN 1124719 C CN1124719 C CN 1124719C
Authority
CN
China
Prior art keywords
executable program
signature
unit
key
encryption
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CN96196499A
Other languages
English (en)
Other versions
CN1194072A (zh
Inventor
D·W·奥古史密斯
R·C·劳尔哈瑟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN1194072A publication Critical patent/CN1194072A/zh
Application granted granted Critical
Publication of CN1124719C publication Critical patent/CN1124719C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress

Abstract

公开了计算机系统中一种存取控制的方法和装置。一个存储单元接收具有一个加密的可执行映像和一个签名分量的一个数据块。一个连接到该存储单元的分离单元从该加密的可执行映像中分离所述签名分量。一个连接到分离单元的解密单元使用该签名分量作为一个密钥解密所述加密的可执行映像。这产生一个解密的可执行程序。一个连接到所述解密单元的识别单元定位在解密的可执行程序中的一个识别标记并识别分配给该识别标记的一个组合密钥。一个连接到所述识别单元的签名生成单元使用该组合密钥作为一个密钥对解密的可执行程序执行一个密钥加密的杂散算法。一个连接到签名生成单元的检验单元比较签名分量与计算的密钥加密的杂散值以检验所述数据块的源并判定它是否已被修改。如果该签名与密钥加密的杂散值匹配,那么连接到检验单元的权限分配单元给解密的可执行程序分配一个合适的存取权限,允许它由计算机系统执行。

Description

用于存取控制的参数化散列函数
本发明涉及计算机系统中的存取控制。更具体地说,本发明涉及一种装置和方法,用于识别一个可执行映像的源和使用这一识别来确定允许执行的存取权限级。
计算机系统的安全侵犯可归类为有意的和偶然的。未授权读数据、未授权修改数据和未授权破坏数据属于有意侵犯一类。大多数操作系统提供处理手段来产生其它进程。在这种环境下,可能产生滥用操作系统资源和用户文件的情形。蠕虫和病毒是两种普通的滥用方法。计算机系统的保护依赖于它识别要执行的程序源和检验这些程序未被修改的能力,这种修改可以给该系统造成安全威胁。
除检验程序源的真实性之外,还需要保证文件、存储器段、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-R0M设备、一个快速存储器设备或者其它海量存储设备。海量存储设备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个字节表示为P1。P1与存储在计算单元222中的一个初始矢量(IV)异或,产生一个第一积。初始矢量是与一组要分配给可执行程序的存取权限关联的一个第一组合密钥的一个函数。在P1与IV异或后,加密单元223使用一个第二组合密钥对第一积执行密钥加密算法,产生一个加密的第一积C1。密钥加密算法可以是各种不同的密钥加密算法中的一个,包括前面列出的任何密钥加密算法。计算单元222用表示为P 2的第二个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所示,执行该解密的可执行程序。
在上面的说明中,本发明参考其特定实施例加以说明。然而显然可以对其进行各种修改、变化,而不离开在所附权利要求中叙述的本发明的精神和范围。因此,本说明书及附图应该看作是说明性的,而不是限制性的。
虽然熟悉本技术领域的人在读过上面的说明后可以对本发明进行许多变化或修改,但是应该理解,用图示或说明方式叙述的这些特别的实施例并不打算限制本发明。因此,对特定实施例的细节的参考并不用于限制叙述本发明基本特征的权利要求的范围。

Claims (21)

1.产生一个编码的可执行映像的方法,包括的步骤有:
使用具有分配给一个可执行程序的一组关联的存取权限的第一密钥对该可执行程序执行一个密钥加密的散列函数,生成一个签名分量;
使用该签名分量作为一个第二密钥对所述可执行程序执行一个加密算法。
2.权利要求1所述方法,其中,执行密钥加密的散列函数包括执行一个数据加密标准密码块链算法。
3.一种存取控制方法,包括的步骤有:
从一个数据块中的一个可执行映像中分离一个签名分量;
使用该签名分量解密所述可执行映像为一个可执行程序;
使用一个密钥计算所述可执行程序的一个密钥加密散列值;
通过比较所述签名分量与所述密钥加密的散列值检验所述数据块的源。
4.权利要求3所述方法,进一步包括:在所述可执行程序中寻找一个识别标记,
查找相应于所述识别标记的密钥用以对所述可执行程序执行一个密钥加密的散列函数。
5.权利要求3所述方法,进一步包括根据与所述密钥关联的权限给所述可执行程序分配权限的步骤。
6.一个存取控制器,包括:
一个分离单元,它从一个数据块中的加密的可执行映像中分离一个签名分量,该签名分量由对一个第一可执行程序执行一个密钥加密的散列函数而导出;
一个连接到所述分离单元的解密单元,它用所述签名分量解密该加密的可执行映像为一个第二可执行程序;
一个连接到所述解密单元的签名生成单元,它使用一个密钥计算所述第二可执行程序的一个密钥加密散列值;
一个连接到所述签名生成单元的检验单元,它比较所述密钥加密的散列值与所述签名分量。
7.权利要求6所述存取控制器,其中,所述签名生成单元进一步包括一个密钥存储部件,用于存储由所述签名生成单元使用的密钥。
8.权利要求6所述存取控制器,进一步包括一个连接到所述解密单元的识别单元,它在所述第一可执行程序中识别指定给一个识别标记的密钥,用于计算所述第二可执行程序的加密散列值。
9.权利要求6所述存取控制器,进一步包括连接到所述签名生成单元的一个权限分配单元,它根据与所述密钥关联的权限给所述第二可执行程序分配权限。
10.一个计算机系统,包括:
一条总线;
一个连接到所述总线的存储器;
一个分离单元,它从一个数据块中的一个加密的可执行映像中分离一个签名分量;一个连接到所述分离单元的解密单元,它使用所述签名分量解密所述加密的可执行映像为一个可执行程序;一个连接到所述解密单元的签名生成单元,它使用一个密钥计算所述可执行程序的一个密钥加密散列值;一个连接到所述签名生成单元的检验单元,它比较所述密钥加密的散列值与所述签名分量。
11.一个计算机系统,包括:
一条总线;
一个连接到所述总线的存储器;
一个连接到所述总线的处理器;以及
一个编码器,它使用具有分配给一个可执行程序的一组关联的存取权限的一个第一密钥能够生成一个签名分量;以及使用该签名分量作为一个第二密钥能够加密该可执行程序。
12.根据权利要求11的计算机系统,其中该编码器包括:
一个签名生成单元,它执行一个密钥加密散列函数产生该签名分量;以及
一个连接到该签名生成单元的第一加密单元。
13.根据权利要求12的计算机系统,其中该签名生成单元还包括一个计算单元和一个执行数据加密标准密码块链算法的第二加密单元。
14.一个用于编码一个可执行程序的装置,包括:
一个签名生成单元,它使用具有分配给所述可执行程序的数字信息的一组关联的存取权限的一个第一密钥,生成一个签名分量;以及
一个连接到该签名生成单元的第一加密单元,使用该签名分量作为一个第二密钥对所述可执行程序的数字信息序进行加密。
15.根据权利要求14的装置,其中第一加密单元,使用该签名分量作为第二密钥对可执行程序进行加密。
16.权利要求14所述装置,其中,所述签名生成单元进一步包括一个计算单元和执行一个数据加密标准密码块链算法的第二加密单元。
17.一个译码器,包括
一个解密单元,用于使用一个签名分量将一个加密的可执行程序进行解密,该签名分量是通过一个事先分配有一组存取权限的密钥产生的;以及
用于将该存取权限分配给该解密的可执行程序的电路。
18.根据权利要求17的译码器,其中该电路包括一个权限分配单元,该权限分配单元包括一个将该密钥与该组存取权限相匹配的查找表。
19.根据权利要求18的译码器,还包括:
用于计算该解密的可执行程序的一个密钥加密的散列值的电路。
20.根据权利要求19的译码器,其中用于计算的电路包括:
用于识别该密钥的一个识别单元;以及
用于计算该密钥加密的散列值的一个签名生成单元。
21.根据权利要求19的译码器,还包括:
一个检验电路,它用于检验该密钥加密的散列值是否等价于该签名分量,以及用于当该密钥加密的散列值等价于该签名分量时通知该权限分配单元。
CN96196499A 1995-08-25 1996-07-19 用于存取控制的参数化散列函数 Expired - Lifetime CN1124719C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/519,307 1995-08-25
US08/519,307 US5757915A (en) 1995-08-25 1995-08-25 Parameterized hash functions for access control

Publications (2)

Publication Number Publication Date
CN1194072A CN1194072A (zh) 1998-09-23
CN1124719C true CN1124719C (zh) 2003-10-15

Family

ID=24067740

Family Applications (1)

Application Number Title Priority Date Filing Date
CN96196499A Expired - Lifetime CN1124719C (zh) 1995-08-25 1996-07-19 用于存取控制的参数化散列函数

Country Status (11)

Country Link
US (2) US5757915A (zh)
EP (1) EP0860064B1 (zh)
JP (1) JP4087442B2 (zh)
CN (1) CN1124719C (zh)
AU (1) AU6501196A (zh)
BR (1) BR9610127A (zh)
DE (1) DE69635209T2 (zh)
HK (1) HK1015987A1 (zh)
IL (1) IL123198A (zh)
RU (1) RU2142674C1 (zh)
WO (1) WO1997007657A2 (zh)

Families Citing this family (141)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6157721A (en) * 1996-08-12 2000-12-05 Intertrust Technologies Corp. Systems and methods using cryptography to protect secure computing environments
US20120166807A1 (en) 1996-08-12 2012-06-28 Intertrust Technologies Corp. Systems and Methods Using Cryptography to Protect Secure Computing Environments
EP0826181A4 (en) * 1995-04-11 2005-02-09 Kinetech Inc IDENTIFYING DATA IN A DATA PROCESSING SYSTEM
KR100250803B1 (ko) * 1995-09-05 2000-04-01 다니구찌 이찌로오 데이타 변환장치 및 데이타 변환방법
US6088515A (en) 1995-11-13 2000-07-11 Citrix Systems Inc Method and apparatus for making a hypermedium interactive
JP3747520B2 (ja) * 1996-01-30 2006-02-22 富士ゼロックス株式会社 情報処理装置及び情報処理方法
US5825877A (en) * 1996-06-11 1998-10-20 International Business Machines Corporation Support for portable trusted software
US5778070A (en) * 1996-06-28 1998-07-07 Intel Corporation Method and apparatus for protecting flash memory
AU2003203649B2 (en) * 1996-08-12 2006-03-02 Intertrust Technologies Corporation Systems and methods using cryptography to protect secure computing environments
AU2004240210B2 (en) * 1996-08-12 2008-03-06 Intertrust Technologies Corporation Systems and methods using cryptography to protect secure computing environments
JP3570114B2 (ja) * 1996-10-21 2004-09-29 富士ゼロックス株式会社 データ検証方法およびデータ検証システム
US6253323B1 (en) 1996-11-01 2001-06-26 Intel Corporation Object-based digital signatures
US9219755B2 (en) 1996-11-08 2015-12-22 Finjan, Inc. Malicious mobile code runtime monitoring system and methods
US7058822B2 (en) 2000-03-30 2006-06-06 Finjan Software, Ltd. Malicious mobile code runtime monitoring system and methods
US8079086B1 (en) 1997-11-06 2011-12-13 Finjan, Inc. Malicious mobile code runtime monitoring system and methods
US6021491A (en) * 1996-11-27 2000-02-01 Sun Microsystems, Inc. Digital signatures for data streams and data archives
US6272631B1 (en) * 1997-06-30 2001-08-07 Microsoft Corporation Protected storage of core data secrets
JP3781874B2 (ja) * 1997-09-05 2006-05-31 富士通株式会社 画像指示による電子情報管理装置、秘密鍵管理装置及び方法、並びに、秘密鍵管理プログラムを記録した記録媒体
US6807632B1 (en) * 1999-01-21 2004-10-19 Emc Corporation Content addressable information encapsulation, representation, and transfer
US7110984B1 (en) * 1998-08-13 2006-09-19 International Business Machines Corporation Updating usage conditions in lieu of download digital rights management protected content
DE59908261D1 (de) * 1998-08-19 2004-02-12 Siemens Ag Verfahren, anordnung sowie ein satz mehrerer anordnungen zum schutz mehrerer programme und/oder mehrerer dateien vor einem unbefugten zugriff durch einen prozess
US6320964B1 (en) 1998-08-26 2001-11-20 Intel Corporation Cryptographic accelerator
DE19847943A1 (de) 1998-10-09 2000-04-13 Deutsche Telekom Ag Verfahren zum Generieren von digitalen Wasserzeichen für elekronische Dokumente
US6802006B1 (en) * 1999-01-15 2004-10-05 Macrovision Corporation System and method of verifying the authenticity of dynamically connectable executable images
US6567917B1 (en) * 1999-02-01 2003-05-20 Cisco Technology, Inc. Method and system for providing tamper-resistant executable software
JP4238410B2 (ja) * 1999-04-09 2009-03-18 ソニー株式会社 情報処理システム
US6389537B1 (en) * 1999-04-23 2002-05-14 Intel Corporation Platform and method for assuring integrity of trusted agent communications
EP1055990A1 (en) * 1999-05-28 2000-11-29 Hewlett-Packard Company Event logging in a computing platform
EP1056010A1 (en) 1999-05-28 2000-11-29 Hewlett-Packard Company Data integrity monitoring in trusted computing entity
FI110565B (fi) * 1999-06-08 2003-02-14 Nokia Corp Menetelmä ja järjestelmä puhelinkeskusjärjestelmässä
US6560599B1 (en) * 1999-06-30 2003-05-06 Microsoft Corporation Method and apparatus for marking a hash table and using the marking for determining the distribution of records and for tuning
US7650504B2 (en) * 1999-07-22 2010-01-19 Macrovision Corporation System and method of verifying the authenticity of dynamically connectable executable images
JP2001066986A (ja) * 1999-08-26 2001-03-16 Sony Corp 送信装置および方法、受信装置および方法、通信システム、並びにプログラム格納媒体
US6976165B1 (en) 1999-09-07 2005-12-13 Emc Corporation System and method for secure storage, transfer and retrieval of content addressable information
US6868405B1 (en) * 1999-11-29 2005-03-15 Microsoft Corporation Copy detection for digitally-formatted works
CN1423766A (zh) * 2000-02-17 2003-06-11 通用仪器公司 提供安全控制软件或固件代码下载和接收下载代码的计算装置的安全操作的方法和装置
KR100430147B1 (ko) * 2000-03-15 2004-05-03 인터내셔널 비지네스 머신즈 코포레이션 컴퓨터 액세스 제어
US6760441B1 (en) * 2000-03-31 2004-07-06 Intel Corporation Generating a key hieararchy for use in an isolated execution environment
US20010042204A1 (en) * 2000-05-11 2001-11-15 David Blaker Hash-ordered databases and methods, systems and computer program products for use of a hash-ordered database
US7117371B1 (en) * 2000-06-28 2006-10-03 Microsoft Corporation Shared names
JP2002016596A (ja) * 2000-06-29 2002-01-18 Oki Electric Ind Co Ltd 画像伝送装置及び画像受信装置
US6952477B1 (en) * 2000-07-03 2005-10-04 International Business Machines Corporation Fault intolerant cipher chaining
US7096493B1 (en) * 2000-12-21 2006-08-22 Gary G. Liu Internet file safety information center
US6738932B1 (en) * 2000-12-22 2004-05-18 Sun Microsystems, Inc. Method and system for identifying software revisions from memory images
US6948065B2 (en) 2000-12-27 2005-09-20 Intel Corporation Platform and method for securely transmitting an authorization secret
EP1223696A3 (en) * 2001-01-12 2003-12-17 Matsushita Electric Industrial Co., Ltd. System for transmitting digital audio data according to the MOST method
US20020112163A1 (en) * 2001-02-13 2002-08-15 Mark Ireton Ensuring legitimacy of digital media
GB2372594B (en) * 2001-02-23 2004-10-06 Hewlett Packard Co Trusted computing environment
GB2372592B (en) * 2001-02-23 2005-03-30 Hewlett Packard Co Information system
GB2372595A (en) 2001-02-23 2002-08-28 Hewlett Packard Co Method of and apparatus for ascertaining the status of a data processing environment.
GB2372591A (en) * 2001-02-23 2002-08-28 Hewlett Packard Co Method of investigating transactions in a data processing environment
IL142487A0 (en) * 2001-04-05 2003-09-17 Hexalock Ltd Method and system for protecting data
WO2002084590A1 (en) * 2001-04-11 2002-10-24 Applied Minds, Inc. Knowledge web
US7136840B2 (en) 2001-04-20 2006-11-14 Intertrust Technologies Corp. Systems and methods for conducting transactions and communications using a trusted third party
US7424747B2 (en) * 2001-04-24 2008-09-09 Microsoft Corporation Method and system for detecting pirated content
EP1393170A4 (en) 2001-04-27 2008-07-30 Quinn Inc W FILTER DRIVER FOR DISK FILE IDENTIFICATION, BY CONTENT ANALYSIS
EP1388126B1 (en) * 2001-05-17 2013-03-27 Nokia Corporation Remotely granting access to a smart environment
US20030105961A1 (en) * 2001-11-30 2003-06-05 Peter Zatloukal Avoiding attachment of an ineligible smart interchangeable cover to an electronic device
US7246235B2 (en) * 2001-06-28 2007-07-17 Intel Corporation Time varying presentation of items based on a key hash
US7237121B2 (en) * 2001-09-17 2007-06-26 Texas Instruments Incorporated Secure bootloader for securing digital devices
US7421411B2 (en) * 2001-07-06 2008-09-02 Nokia Corporation Digital rights management in a mobile communications environment
US7925894B2 (en) * 2001-07-25 2011-04-12 Seagate Technology Llc System and method for delivering versatile security, digital rights management, and privacy services
US7036020B2 (en) 2001-07-25 2006-04-25 Antique Books, Inc Methods and systems for promoting security in a computer system employing attached storage devices
GB2378013A (en) * 2001-07-27 2003-01-29 Hewlett Packard Co Trusted computer platform audit system
US8117450B2 (en) * 2001-10-11 2012-02-14 Hewlett-Packard Development Company, L.P. System and method for secure data transmission
KR20030075018A (ko) * 2002-03-15 2003-09-22 주식회사 셈틀로미디어 변조 방지용 소프트웨어 파일 생성 장치와 그 소프트웨어파일의 자가 무결성 검증 방법 및 클라이언트-서버환경에서의 소프트웨어 파일의 자가 무결성 검증 방법
US7844610B2 (en) 2003-12-12 2010-11-30 Google Inc. Delegated authority evaluation system
US8069175B2 (en) 2002-04-10 2011-11-29 Google Inc. Delegating authority to evaluate content
US20030196094A1 (en) * 2002-04-10 2003-10-16 Hillis W. Daniel Method and apparatus for authenticating the content of a distributed database
US20030195834A1 (en) * 2002-04-10 2003-10-16 Hillis W. Daniel Automated online purchasing system
US20030196096A1 (en) * 2002-04-12 2003-10-16 Sutton James A. Microcode patch authentication
US6851056B2 (en) * 2002-04-18 2005-02-01 International Business Machines Corporation Control function employing a requesting master id and a data address to qualify data access within an integrated system
US7089419B2 (en) 2002-04-18 2006-08-08 International Business Machines Corporation Control function with multiple security states for facilitating secure operation of an integrated system
US6715085B2 (en) * 2002-04-18 2004-03-30 International Business Machines Corporation Initializing, maintaining, updating and recovering secure operation within an integrated system employing a data access control function
US7266842B2 (en) * 2002-04-18 2007-09-04 International Business Machines Corporation Control function implementing selective transparent data authentication within an integrated system
US20030217275A1 (en) * 2002-05-06 2003-11-20 Bentley Systems, Inc. Method and system for digital rights management and digital signatures
JP2004013608A (ja) * 2002-06-07 2004-01-15 Hitachi Ltd プログラムの実行および転送の制御
US7243231B2 (en) 2002-07-31 2007-07-10 Intel Corporation Sensory verification of shared data
US7444522B1 (en) * 2002-09-18 2008-10-28 Open Invention Network, Llc Dynamic negotiation of security arrangements between web services
US7765206B2 (en) 2002-12-13 2010-07-27 Metaweb Technologies, Inc. Meta-Web
US8012025B2 (en) * 2002-12-13 2011-09-06 Applied Minds, Llc Video game controller hub with control input reduction and combination schemes
EP1489517B1 (fr) * 2003-04-03 2006-09-06 STMicroelectronics S.A. Protection d'un programme en attente d'exécution dans une mémoire utilisée par un microprocesseur
US7353397B1 (en) * 2003-04-30 2008-04-01 Adobe Systems Incorporated Repurposing digitally signed information
EA015549B1 (ru) * 2003-06-05 2011-08-30 Интертраст Текнолоджис Корпорейшн Переносимая система и способ для приложений одноранговой компоновки услуг
US7272228B2 (en) * 2003-06-12 2007-09-18 International Business Machines Corporation System and method for securing code and ensuring proper execution using state-based encryption
US20050033700A1 (en) * 2003-08-04 2005-02-10 Vogler Dean H. Method and apparatus for creating and rendering an advertisement
US8661559B2 (en) * 2003-08-18 2014-02-25 Riverside Research Institute Software control flow watermarking
US20050055312A1 (en) * 2003-08-18 2005-03-10 Wilson Kelce Steven Software control flow watermarking
US7734932B2 (en) * 2003-11-10 2010-06-08 Broadcom Corporation System and method for securing executable code
US7516331B2 (en) * 2003-11-26 2009-04-07 International Business Machines Corporation Tamper-resistant trusted java virtual machine and method of using the same
US20050131918A1 (en) * 2003-12-12 2005-06-16 W. Daniel Hillis Personalized profile for evaluating content
JP2005346182A (ja) * 2004-05-31 2005-12-15 Fujitsu Ltd 情報処理装置、耐タンパ方法、耐タンパプログラム
US7461268B2 (en) * 2004-07-15 2008-12-02 International Business Machines Corporation E-fuses for storing security version data
WO2006022566A1 (fr) * 2004-07-26 2006-03-02 Stochasto Asa Procede de protection de systemes informatiques contre des virus chiffres et polymorphes
US7712135B2 (en) * 2004-08-05 2010-05-04 Savant Protection, Inc. Pre-emptive anti-virus protection of computing systems
US9313214B2 (en) * 2004-08-06 2016-04-12 Google Technology Holdings LLC Enhanced security using service provider authentication
US8539587B2 (en) 2005-03-22 2013-09-17 Hewlett-Packard Development Company, L.P. Methods, devices and data structures for trusted data
US20060236122A1 (en) * 2005-04-15 2006-10-19 Microsoft Corporation Secure boot
US8521752B2 (en) * 2005-06-03 2013-08-27 Osr Open Systems Resources, Inc. Systems and methods for arbitrary data transformations
US8272058B2 (en) 2005-07-29 2012-09-18 Bit 9, Inc. Centralized timed analysis in a network security system
US7895651B2 (en) 2005-07-29 2011-02-22 Bit 9, Inc. Content tracking in a network security system
US8984636B2 (en) 2005-07-29 2015-03-17 Bit9, Inc. Content extractor and analysis system
JP4901164B2 (ja) * 2005-09-14 2012-03-21 ソニー株式会社 情報処理装置、情報記録媒体、および方法、並びにコンピュータ・プログラム
US8135958B2 (en) * 2005-11-22 2012-03-13 International Business Machines Corporation Method, system, and apparatus for dynamically validating a data encryption operation
US20070180210A1 (en) * 2006-01-31 2007-08-02 Seagate Technology Llc Storage device for providing flexible protected access for security applications
JP5190800B2 (ja) * 2006-02-21 2013-04-24 日本電気株式会社 プログラムの実行制御システム、実行制御方法、実行制御用コンピュータプログラム
US8185576B2 (en) * 2006-03-14 2012-05-22 Altnet, Inc. Filter for a distributed network
US8028166B2 (en) * 2006-04-25 2011-09-27 Seagate Technology Llc Versatile secure and non-secure messaging
US8429724B2 (en) 2006-04-25 2013-04-23 Seagate Technology Llc Versatile access control system
US7539890B2 (en) * 2006-04-25 2009-05-26 Seagate Technology Llc Hybrid computer security clock
US8099629B2 (en) * 2006-07-14 2012-01-17 Marvell World Trade Ltd. System-on-a-chip (SoC) test interface security
US7512748B1 (en) 2006-08-17 2009-03-31 Osr Open Systems Resources, Inc. Managing lock rankings
US8539228B1 (en) * 2006-08-24 2013-09-17 Osr Open Systems Resources, Inc. Managing access to a resource
WO2008058377A1 (en) * 2006-11-13 2008-05-22 Certicom Corp. Compressed ecdsa signatures
US8024433B2 (en) * 2007-04-24 2011-09-20 Osr Open Systems Resources, Inc. Managing application resources
US8386608B1 (en) * 2007-08-03 2013-02-26 Alex Rankov Service scripting framework
US7949693B1 (en) 2007-08-23 2011-05-24 Osr Open Systems Resources, Inc. Log-structured host data storage
US20090064134A1 (en) * 2007-08-30 2009-03-05 Citrix Systems,Inc. Systems and methods for creating and executing files
US8667597B2 (en) * 2008-06-25 2014-03-04 Lockheed Martin Corporation Systems, methods, and products for secure code execution
JP2010191665A (ja) * 2009-02-18 2010-09-02 Sony Corp 情報処理装置、情報処理方法、およびプログラム、並びに記録媒体
WO2011042892A1 (en) * 2009-10-09 2011-04-14 Nokia Corporation Platform security
US8769373B2 (en) 2010-03-22 2014-07-01 Cleon L. Rogers, JR. Method of identifying and protecting the integrity of a set of source data
US9772834B2 (en) * 2010-04-27 2017-09-26 Red Hat, Inc. Exportable encoded identifications of networked machines
US8903874B2 (en) 2011-11-03 2014-12-02 Osr Open Systems Resources, Inc. File system directory attribute correction
US8918881B2 (en) 2012-02-24 2014-12-23 Appthority, Inc. Off-device anti-malware protection for mobile devices
US8713684B2 (en) 2012-02-24 2014-04-29 Appthority, Inc. Quantifying the risks of applications for mobile devices
US10402393B2 (en) * 2012-03-02 2019-09-03 Pure Storage, Inc. Slice migration in a dispersed storage network
US11232093B2 (en) 2012-03-02 2022-01-25 Pure Storage, Inc. Slice migration in a dispersed storage network
FR2992083B1 (fr) * 2012-06-19 2014-07-04 Alstom Transport Sa Calculateur, ensemble de communication comportant un tel calculateur, systeme de gestion ferroviaire comportant un tel ensemble, et procede de fiabilisation de donnees dans un calculateur
US8819772B2 (en) * 2012-06-25 2014-08-26 Appthority, Inc. In-line filtering of insecure or unwanted mobile device software components or communications
US8856519B2 (en) 2012-06-30 2014-10-07 International Business Machines Corporation Start method for application cryptographic keystores
US9106411B2 (en) * 2012-09-30 2015-08-11 Apple Inc. Secure escrow service
US11126418B2 (en) * 2012-10-11 2021-09-21 Mcafee, Llc Efficient shared image deployment
RU2533061C1 (ru) * 2013-06-26 2014-11-20 Закрытое акционерное общество "Научно-производственное предприятие "Информационные технологии в бизнесе" Система контроля доступа к шифруемым создаваемым файлам
US20150039872A1 (en) * 2013-08-05 2015-02-05 Caterpillar Inc. Multiple Signed Filesystem Application Packages
US9830329B2 (en) 2014-01-15 2017-11-28 W. Anthony Mason Methods and systems for data storage
US10491398B2 (en) * 2014-09-12 2019-11-26 Salesforce.Com, Inc. Facilitating dynamic end-to-end integrity for data repositories in an on-demand services environment
US9842062B2 (en) 2015-05-31 2017-12-12 Apple Inc. Backup accessible by subset of related devices
CN108416224B (zh) * 2018-02-13 2019-10-15 北京梆梆安全科技有限公司 一种数据加解密方法及装置
US11055426B2 (en) * 2018-07-16 2021-07-06 Faro Technologies, Inc. Securing data acquired by coordinate measurement devices
US11108545B2 (en) * 2019-05-31 2021-08-31 Advanced New Technologies Co., Ltd. Creating a blockchain account and verifying blockchain transactions

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN86102265A (zh) * 1985-03-04 1986-09-03 约翰·弗兰克制造公司 随机存取存贮器的快速功能测试法及其系统
US5052040A (en) * 1990-05-25 1991-09-24 Micronyx, Inc. Multiple user stored data cryptographic labeling system and method
US5412718A (en) * 1993-09-13 1995-05-02 Institute Of Systems Science Method for utilizing medium nonuniformities to minimize unauthorized duplication of digital information

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2596177B1 (fr) * 1986-03-19 1992-01-17 Infoscript Procede et dispositif de sauvegarde qualitative de donnees numerisees
US5224160A (en) * 1987-02-23 1993-06-29 Siemens Nixdorf Informationssysteme Ag Process for securing and for checking the integrity of the secured programs
US5412717A (en) * 1992-05-15 1995-05-02 Fischer; Addison M. Computer system security method and apparatus having program authorization information data structures
AU683038B2 (en) * 1993-08-10 1997-10-30 Addison M. Fischer A method for operating computers and for processing information among computers
US5343527A (en) * 1993-10-27 1994-08-30 International Business Machines Corporation Hybrid encryption method and system for protecting reusable software components
US5530757A (en) * 1994-06-28 1996-06-25 International Business Machines Corporation Distributed fingerprints for information integrity verification

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN86102265A (zh) * 1985-03-04 1986-09-03 约翰·弗兰克制造公司 随机存取存贮器的快速功能测试法及其系统
US5052040A (en) * 1990-05-25 1991-09-24 Micronyx, Inc. Multiple user stored data cryptographic labeling system and method
US5412718A (en) * 1993-09-13 1995-05-02 Institute Of Systems Science Method for utilizing medium nonuniformities to minimize unauthorized duplication of digital information

Also Published As

Publication number Publication date
CN1194072A (zh) 1998-09-23
JPH11511576A (ja) 1999-10-05
US5940513A (en) 1999-08-17
HK1015987A1 (en) 1999-10-22
RU2142674C1 (ru) 1999-12-10
AU6501196A (en) 1997-03-19
IL123198A0 (en) 1998-09-24
BR9610127A (pt) 1999-10-26
WO1997007657A2 (en) 1997-03-06
EP0860064A2 (en) 1998-08-26
IL123198A (en) 2001-06-14
US5757915A (en) 1998-05-26
EP0860064B1 (en) 2005-09-21
EP0860064A4 (en) 1999-10-06
DE69635209D1 (de) 2006-02-02
JP4087442B2 (ja) 2008-05-21
WO1997007657A3 (en) 1997-04-17
DE69635209T2 (de) 2006-06-22

Similar Documents

Publication Publication Date Title
CN1124719C (zh) 用于存取控制的参数化散列函数
CN100592683C (zh) 来自数字权利管理加密解密器的受保护的返回路径
US20120079281A1 (en) Systems and methods for diversification of encryption algorithms and obfuscation symbols, symbol spaces and/or schemas
EP0983541B1 (en) Method and apparatus for signing and sealing objects
CN103532707A (zh) 用于确定在保护数据时应用的可编程处理步骤的系统和方法
CN1509546A (zh) 一种用于安全发送授权数据的平台和方法
EP1609065A1 (en) Cascading key encryption
US10277391B2 (en) Encryption device, encryption method, decryption device, and decryption method
US8577024B2 (en) Concealing plain text in scrambled blocks
CN114826590B (zh) 一种分组模式加密方法、解密方法及其装置、设备
CN1592190A (zh) 硬件加密引擎和加密方法
CN111988330B (zh) 分布式系统中基于白盒加密的信息安全保护系统和方法
CN110474967B (zh) 块链实验系统及方法
KR20020071274A (ko) Pc기반의 암호칩 및 플래시 메모리를 이용한 유.에스.비보안보조기억장치
US11664976B2 (en) Method and devices for creating redundancy and encryption using Mojette Transform
US20090316905A1 (en) Key exchange through a scramble methodology and system
US7424111B2 (en) System and method of applying parity bits to protect transmitting and receiving data
Sinurat et al. Text Encoding Using Cipher Block Chaining Algorithm
KR20030083326A (ko) 암호화 방법
US20210126768A1 (en) Apparatus and method for encryption
EP1898335A1 (en) Method and system for verifying the equality of a first secret code and a second secret code without revealing the first secret code and the second secret code
CN116881865A (zh) 一种许可证生成方法以及系统
Singh Fortified Multimedia Application
Ri et al. Secure Disk Mixed System
Gunjal et al. Providing Security to Data Backup System using Visual Cryptography

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term

Granted publication date: 20031015

EXPY Termination of patent right or utility model