一种Java程序可信执行环境的构建方法及构建系统技术方案

技术编号:15501399 阅读:127 留言:0更新日期:2017-06-03 22:47
本发明专利技术提供了一种Java程序可信执行环境的构建方法,包括步骤:构建协处理器板卡,协处理器板卡连接主板:协处理器板卡包括协处理器芯片、内存芯片和闪存芯片;主板上插有主处理器、TPM芯片,主处理器、协处理器板卡、TPM芯片相互连接;将每个Java应用的安全性需求等级填到Java应用安全性需求等级配置表中:将Java应用名称和散列值写入协处理器板卡闪存芯片的Java应用度量经验表,根据安全等级分开处理。本发明专利技术在TPM芯片和协处理器板卡的支持下构建Java可信执行环境,使高安全性Java应用在对用户透明的协处理器中隔离执行,通过TPM芯片对协处理器驱动程序和Java应用程序进行度量与验证,使得执行Java应用的安全性得到大大加强。

Construction method and construction system of trusted execution environment for Java program

The present invention provides a method for constructing a Java program, a trusted execution environment comprises the following steps: constructing the co processor board, CO processor board connection motherboard: CO processor board includes a coprocessor chip, memory chips and memory chips; the motherboard is inserted on the main processor and TPM chip, the main processor and Co processor board and TPM chip are connected with each other each Java application; security level needs to fill the Java application security level configuration table: Java application name and hash value Java application written co processor board flash memory chip measurement experience, according to the security level separately. Java build a trusted execution environment in the TPM chip and the processor board under the support of the high security Java application isolation implemented in the coprocessor is transparent to the user, through the TPM chip to the coprocessor driver and Java application of measurement and verification, safety of the implementation of Java application has been greatly enhanced.

【技术实现步骤摘要】
一种Java程序可信执行环境的构建方法及构建系统
本专利技术涉及建立应用程序可信执行环境的
,特别地,涉及一种针对基于Java语言编写的Java应用程序可信执行环境的构建方法。
技术介绍
随着计算机和互联网技术的飞速发展,人类已经进入了“信息时代”。信息系统越来越广泛的应用于政治、经济、教育和军事领域中。然而,系统缺陷、策略漏洞、恶意攻击等问题一直严重威胁着信息系统的安全性。如何有效抵御多种安全威胁,提升信息系统可靠性一直是信息安全领域广泛关注的热点问题。Java技术利用Java虚拟机(JavaVirtualMachine,JVM)实现了平台无关、前端设计语言无关程序设计。这一特性能够有效地为遗留系统的改造接入、异构系统的互连互通提供支持,使得Java技术广泛地应用于各种信息系统构建。IBM、Oracle等知名企业均广泛采用Java技术作为其企业级业务系统构建的核心技术。Google在其云计算服务中部署定制的JVM,为各种采用Python、Java等语言实现的应用提供统一的执行环境。知名手机操作系统Android的核心部分也是基于JVM技术规范实现的Dalvik虚拟机,其应用开发也是采用Java语言。目前,越来越多的软件系统开始直接面向JVM开发,JVM和基于JVM技术规范实现的语言级虚拟机已经成为各种应用运行的基础性平台。随着越来越多的Java应用服务的部署,Java应用程序在软件生命周期中经常遭受到字节码篡改、内存篡改等完整性破坏的威胁。因此,从JVM层次提供有效的信任与安全保障机制具有非常重要的意义。硬件协处理器技术,长期以来一直被广泛地应用于科学计算领域,主要是为了解决主处理器计算能力不足等问题。最典型的协处理器包括早期的浮点运算协处理器,用于数字信号处理的DSP,以及近年来被大量应用于超级计算机的GPU和最新的英特尔MIC处理器等。这些硬件协处理器通常针对特定的应用进行优化,利用硬件加速特定的运算,使其更加适应某些具体的应用领域。近年来随着信息系统对安全性和可用性要求的不断提升,利用协处理器进行加密解密运算提高系统可用性的需求也越来越强,可信计算组织TCG提出的可信平台模块TPM(TrustedPlatformModule,TPM)就是一种安全芯片。协处理器的另外一个优势在于提供良好的隔离性,在协处理器中运行的应用程序相对独立,不受主处理机中的上下文对于构建信息系统的Java应用程序而言,由于共享系统运行环境,应用程序之间的隔离性也是严重影响系统安全的因素,虽然现有的虚拟化技术,包括JVM,都提供了一定程度上的应用隔离能力,但是还是达不到硬件隔离的强度,而针对Java应用及JVM的攻击也越来越多,现有技术难以为Java应用提供一个安全的基础。协处理器是为了解决中央处理器无法执行或执行效率低下的处理工作而开发的处理器。典型的协处理器包括图形/音频处理芯片、外设接口控制器以及代数运算加速芯片等。在信息安全领域,除了各类密码运算加速协处理器外。TPM也可以看成一种协处理器安全芯片,TPM主要功能是提供关键数据的安全存储、采用哈希算法对二进制数据进行度量验证。可信计算组织依托于TPM提出了可信计算平台的基本思想:以TPM为信任根,建立一条信任链,从信任根到硬件平台、到操作系统、再到应用程序,一级度量认证一级,一级信任一级,最终把这种信任扩展到整个计算机系统,从而确保整个系统的可信。在可信平台中,信任根包括:可信度量根(RootofTrustforMeasurement,RTM)、可信存储根(RootofTrustforStorage,RTS)和可信报告根(RootofTrustforReport,RTR)。可信存储根则由平台配置寄存器(PlatformconfigurationRegister,PCR)和存储根密钥(StorageRootKey,SRK)组成。在Java技术出现和发展的早期,由于Java程序执行的效率较低,出现了以PicoJava、MicroJava和JOP为代表的一系列Java协处理器,这些协处理器的主要目标定位于提升Java程序的执行效率和性能。随着Java虚拟机技术的进步以及Java即时编译执行技术的成熟,Java程序的执行效率得到了大幅提升,上述Java协处理器也逐渐退出市场。但是,从可信计算平台技术的发展来看,利用协处理器提升计算机系统的安全性具有一定的可行性和应用前景,目前也尚未存在此类产品。
技术实现思路
本专利技术目的在于提供一种Java程序可信执行环境的构建方法,以解决Java应用程序在发布、加载以及运行过程中可能面临的Java字节码篡改、内存篡改等完整性破坏的威胁,使得计算机系统的Java程序安全性不够的技术问题。为实现上述目的,本专利技术提供了一种Java程序可信执行环境的构建方法,其特征在于,包括步骤:A、构建协处理器板卡,协处理器板卡设置在主板上:所述协处理器板卡包括协处理器芯片、均与协处理器芯片连接的内存芯片和闪存芯片;主板上插有主处理器、TPM芯片,所述主处理器、协处理器板卡、TPM芯片相互连接;B、配置主处理器上部署的Java应用安全性需求等级和协处理器上的Java应用度量经验表:将每个Java应用的安全性需求等级填到Java应用安全性需求等级配置表中:将Java应用名称和散列值写入协处理器板卡闪存芯片中的Java应用度量经验表;C、当判断Java应用有网络通信需求,且未在主处理器中运行过时,TPM芯片获取该Java应用的度量值;若度量值与协处理器读取的Java应用度量经验表中存储的该Java应用的Java应用字节码SHA1散列值相等,则将Java应用加载到协处理器运行的删减版Linux操作系统中执行。优选的,步骤C中,当判断Java应用无网络通信需求,则主处理器直接执行Java应用。优选的,步骤C中,当判断Java应用有网络通信需求,且在主处理器中运行过时,则主处理器与协处理器同步Java应用运行数据,主处理器通过协处理器驱动程序将运行时数据传输给协处理器板卡上的内存芯片,主处理器终止该Java应用运行并转发请求到协处理器,协处理器中的主控程序读取Java应用字节码,并将Java应用字节码提交给TPM芯片,TPM芯片得到Java应用的度量值;若度量值与协处理器读取的Java应用度量经验表中存储的该Java应用的Java应用字节码SHA1散列值相等,则将Java应用加载到协处理器运行的删减版Linux操作系统中执行。优选的,步骤C中,当度量值与协处理器读取的Java应用度量经验表中存储的该Java应用的Java应用字节码SHA1散列值不相等,则向主处理器运行的Linux操作系统报告错误。优选的,步骤B中,所述Java应用度量经验表有N项,每项有2个域,分别为Java应用名称和Java应用字节码SHA1散列值;所述Java应用安全性需求等级配置表有N项,每项有2个域,分别为Java应用名称和安全性需求等级,N是Java应用的个数。优选的,步骤A中,主处理器与TPM芯片相连,主处理器将协处理器驱动程序二进制数据送给TPM芯片,TPM芯片将协处理器驱动程序二进制数据进行计算得到度量值送给主处理器;协处理器板卡与TPM芯片相连,协处理器板卡将Java应用字本文档来自技高网
...
一种Java程序可信执行环境的构建方法及构建系统

【技术保护点】
一种Java程序可信执行环境的构建方法,其特征在于,包括步骤:A、构建协处理器板卡,协处理器板卡设置在主板上:所述协处理器板卡包括协处理器芯片、均与协处理器芯片连接的内存芯片和闪存芯片;主板上插有主处理器、TPM芯片,所述主处理器、协处理器板卡、TPM芯片相互连接;B、配置主处理器上部署的Java应用安全性需求等级和协处理器上的Java应用度量经验表:将每个Java应用的安全性需求等级填到Java应用安全性需求等级配置表中:将Java应用名称和散列值写入协处理器板卡闪存芯片中的Java应用度量经验表;C、当判断Java应用有网络通信需求,且未在主处理器中运行过时,TPM芯片获取该Java应用的度量值;若度量值与协处理器读取的Java应用度量经验表中存储的该Java应用的Java应用字节码SHA1散列值相等,则将Java应用加载到协处理器运行的删减版Linux操作系统中执行。

【技术特征摘要】
1.一种Java程序可信执行环境的构建方法,其特征在于,包括步骤:A、构建协处理器板卡,协处理器板卡设置在主板上:所述协处理器板卡包括协处理器芯片、均与协处理器芯片连接的内存芯片和闪存芯片;主板上插有主处理器、TPM芯片,所述主处理器、协处理器板卡、TPM芯片相互连接;B、配置主处理器上部署的Java应用安全性需求等级和协处理器上的Java应用度量经验表:将每个Java应用的安全性需求等级填到Java应用安全性需求等级配置表中:将Java应用名称和散列值写入协处理器板卡闪存芯片中的Java应用度量经验表;C、当判断Java应用有网络通信需求,且未在主处理器中运行过时,TPM芯片获取该Java应用的度量值;若度量值与协处理器读取的Java应用度量经验表中存储的该Java应用的Java应用字节码SHA1散列值相等,则将Java应用加载到协处理器运行的删减版Linux操作系统中执行。2.根据权利要求1所述的构建方法,其特征在于,步骤C中,当判断Java应用无网络通信需求,则主处理器直接执行Java应用。3.根据权利要求1所述的构建方法,其特征在于,步骤C中,当判断Java应用有网络通信需求,且在主处理器中运行过时,则主处理器与协处理器同步Java应用运行数据,主处理器通过协处理器驱动程序将运行时数据传输给协处理器板卡上的内存芯片,主处理器终止该Java应用运行并转发请求到协处理器,协处理器中的主控程序读取Java应用字节码,并将Java应用字节码提交给TPM芯片,TPM芯片得到Java应用的度量值;若度量值与协处理器读取的Java应用度量经验表中存储的该Java应用的Java应用字节码SHA1散列值相等,则将Java应用加载到协处理器运行的删减版Linux操作系统中执行。4.根据权利要求1所述的构建方法,其特征在于,步骤C中,当度量值与协处理器读取的Java应用度量经验表中存储的该Java应用的Java应用字节码SHA1散列值不相等,则向主处理器运行的Linux操作系统报告错误。5.根据权利要求1所述的构建方法,其特征在于,步骤B中,所述Java应用度量经验表有N项,每项有2个域,分别为Java应用名称和Java应用字节码SHA1散列值;所述Java应用安全性需求等级配置表有N项,每项有2个域,分别为Java应用名称和安全性需求等级,N是Java应用的个数。6.根据权利要求1所述的构建方法,其特征在于,步骤A中,主处理器与TPM芯片相连,主处理器将协处理器驱动程序二进制数据送给TPM芯片,TPM芯片将协处理器驱动程序二进制数据进行计算...

【专利技术属性】
技术研发人员:张妲
申请(专利权)人:湖南文盾信息技术有限公司
类型:发明
国别省市:湖南,43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1