首页> 外国专利> Apparatus and method for performing verifiable programs with possibility for the use of not - verify measuring results programs from familiar sources

Apparatus and method for performing verifiable programs with possibility for the use of not - verify measuring results programs from familiar sources

机译:用于执行可验证程序并有可能不使用的设备和方法-从熟悉的来源验证测量结果程序

摘要

A computer system includes a program executer that executes verifiable architecture neutral programs and a class loader that prohibits the loading and execution of non-verifiable programs unless (A) the non- verifiable program resides in a trusted repository of such programs, or (B) the non-verifiable program is indirectly verifiable by way of a digital signature on the non-verifiable program that proves the program was produced by a trusted source. In the preferred embodiment, verifiable architecture neutral programs are Java bytecode programs whose integrity is verified using a Java bytecode program verifier. The non- verifiable programs are generally architecture specific compiled programs generated with the assistance of a compiler. Each architecture specific program typically includes two signatures, including one by the compiling party and one by the compiler. Each digital signature includes a signing party identifier and an encrypted message. The encrypted message includes a message generated by a predefined procedure, and is encrypted using a private encryption key associated with the signing party. A digital signature verifier used by the class loader includes logic for processing each digital signature by obtaining a public key associated with the signing party, decrypting the encrypted message of the digital signature with that public key so as generate a decrypted message, generating a test message by executing the predefined procedure on the architecture specific program associated with the digital signature, comparing the test message with the decrypted message, and issuing a failure signal if the decrypted message digest and test message digest do not match.
机译:一种计算机系统,包括执行可验证体系结构中立程序的程序执行程序和禁止加载和执行不可验证程序的类加载器,除非(A)不可验证程序驻留在此类程序的受信任存储库中,或者(B)不可验证程序可以通过不可验证程序上的数字签名间接验证,以证明该程序是由受信任的源产生的。在优选实施例中,可验证体系结构中性程序是Java字节码程序,其完整性是使用Java字节码程序验证器来验证的。不可验证程序通常是在编译器的帮助下生成的特定于体系结构的编译程序。每个特定于体系结构的程序通常都包含两个签名,其中一个由编译方签名,一个由编译方签名。每个数字签名都包括签名方标识符和加密的消息。加密的消息包括通过预定义过程生成的消息,并使用与签名方关联的私有加密密钥进行加密。类加载器使用的数字签名验证器包括以下逻辑:通过获取与签名方关联的公钥,使用该公钥对数字签名的加密消息进行解密以生成解密消息,生成测试消息来处理每个数字签名通过在与数字签名关联的特定于体系结构的程序上执行预定义的过程,将测试消息与解密消息进行比较,如果解密消息摘要和测试消息摘要不匹配,则发出失败信号。

著录项

相似文献

  • 专利
  • 外文文献
  • 中文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号