CN103136470A - 一种增强Java虚拟机安全的方法 - Google Patents

一种增强Java虚拟机安全的方法 Download PDF

Info

Publication number
CN103136470A
CN103136470A CN2013100794035A CN201310079403A CN103136470A CN 103136470 A CN103136470 A CN 103136470A CN 2013100794035 A CN2013100794035 A CN 2013100794035A CN 201310079403 A CN201310079403 A CN 201310079403A CN 103136470 A CN103136470 A CN 103136470A
Authority
CN
China
Prior art keywords
user side
request
security centre
security
safety
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.)
Granted
Application number
CN2013100794035A
Other languages
English (en)
Other versions
CN103136470B (zh
Inventor
唐大国
季振宇
郑磊
叶俊
李茜
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.)
Wuxi Jiangnan Computing Technology Institute
Original Assignee
Wuxi Jiangnan Computing Technology Institute
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 Wuxi Jiangnan Computing Technology Institute filed Critical Wuxi Jiangnan Computing Technology Institute
Priority to CN201310079403.5A priority Critical patent/CN103136470B/zh
Publication of CN103136470A publication Critical patent/CN103136470A/zh
Application granted granted Critical
Publication of CN103136470B publication Critical patent/CN103136470B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

一种增强Java虚拟机安全的方法,包括:在用户端运行应用时,用户端的安全管理器单元发起向安全中心建立连接请求;安全中心对连接请求进行验证并答复是否建立连接请求,安全中心针对连接请求验证用户端是否具备建立连接安全中心的权限,如果用户端的安全等级符合安全中心的认定,则建立连接请求。在安全中心通过对连接请求的验证从而建立连接的情况下,用户端的安全监测模块将签名后的应用摘要信息发送至安全中心进行认证;安全中心根据接收到的签名后的应用摘要信息对此应用进行认证,并答复是否同意用户端运行应用的请求。在安全中心没有通过对连接请求的验证从而不建立连接的情况下,用户端的安全监测模块执行抛异常处理并退出当前应用。

Description

一种增强Java虚拟机安全的方法
技术领域
本发明涉及计算技术领域,更具体地说,本发明涉及一种增强Java虚拟机安全的方法。
背景技术
Java语言是一种面向网络的软件技术,由于网络允许数据的共享和分布处理,使得计算机系统具有被入侵的潜在风险,故而Java需要解决其所面临的安全问题。
Java的安全模型称为Java沙箱,Java沙箱侧重于保护终端用户免受从网络上下载的、来自不可靠来源的、恶意程序的侵犯。Java沙箱主要的基本组件有类加载器、class文件校验器、安全管理器等。Java沙箱通过对类加载器、安全策略的定制,可以根据应用本身的性质制定个性化的安全策略。
Java应用一般会利用不同的第三方类库,基于组件进行构建。但是,目前的安全机制对组件和第三方类库管理的不是很完善,Java沙箱对其仅仅在于初始化时进行限制,对组件的运行时没有做更多的安全控制;另外,Java应用通过调用本地共享库,不仅可以利用原有的代码迅速构建应用,而且可以获取更好的平台优势,充分发挥平台所提供的功能。
但是,由于沙箱仅仅对本地共享库的载入进行控制,而不能对共享库本身的一些敏感操作进行安全控制,这容易引起严重的安全问题。
发明内容
本发明所要解决的技术问题是针对现有技术中存在上述缺陷,提供一种融合安全中心与Java沙箱保护的安全机制,以增强Java自身的安全。
根据本发明,提供了一种增强Java虚拟机安全的方法,其包括:在用户端运行应用时,用户端的安全监测模块发起向安全中心建立连接请求;安全中心对连接请求进行验证并答复是否建立连接请求,其中,安全中心针对连接请求验证用户端是否具备建立连接安全中心的权限,如果用户端的安全等级符合安全中心的认定,则建立连接请求。
优选地,所述的增强Java虚拟机安全方法还包括:在安全中心通过对连接请求的验证从而建立连接的情况下,用户端的安全监测模块将签名后的应用摘要信息发送至安全中心进行认证;安全中心根据接收到的签名后的应用摘要信息对此应用进行认证,并答复是否同意用户端运行应用的请求。优选地,所述的增强Java虚拟机安全方法还包括:在安全中心没有通过对连接请求的验证从而不建立连接的情况下,用户端的安全监测模块执行抛异常处理并退出当前应用。
优选地,所述的增强Java虚拟机安全方法还包括:用户端的类加载器单元初始化基础类库,并计算基础类库的签名信息,并将基础类库的签名信息交由安全监测模块发送至安全中心以请求对基础类库的签名信息进行认证;安全中心对从用户端接收到的针对基础类库的签名信息的认证请求进行验证。
优选地,在安全中心对从用户端接收到的针对基础类库的签名信息的认证请求进行验证的步骤中,安全中心确认基础类库是否被修改,其中,通过判断基础类库的签名信息的版本和安全中心的签名信息的版本是否一致来确认基础类库是否被修改。
优选地,所述的增强Java虚拟机安全方法还包括:用户端向安全中心请求分发安全策略文件;安全中心在接收到分发安全策略文件的请求后验证用户端的资格,并据此决定是否发送相关安全策略文件。
优选地,所述的增强Java虚拟机安全方法还包括:用户端向安全中心发送相关共享库的有关认证请求;安全中心在接收到共享库的有关认证请求后对共享库的来源、版本进行认证。
本发明结合安全中心的安全机制在应用初始化和运行时两个阶段对类的安全进行控制,防止可信的类被破坏,保证不可信的类获取规定的权限,保证应用的操作不会突破沙箱的边界;通过安全中心解决使用公共密钥技术时的密码分发。通过统一制定、分发安全策略,保证了安全策略个性化的同时,集中控制应用的基础类库的安全。
本发明结合安全中心,对应用、应用所使用的基础类库、第三方类库和共享的本地类库进行安全认证,保证应用所涉及的类库本身的安全性;通过在和安全中心交互所获取的类的基本信息,在运行时保证类的元信息不能被修改。同时,有效解决在鉴别和认证过程中的公共密钥技术的密码分发问题,有效地增强了Java的安全模型。
附图说明
结合附图,并通过参考下面的详细描述,将会更容易地对本发明有更完整的理解并且更容易地理解其伴随的优点和特征,其中:
图1是根据本发明实施例采用的Java虚拟机的增强型安全机制结构图。
需要说明的是,附图用于说明本发明,而非限制本发明。注意,表示结构的附图可能并非按比例绘制。并且,附图中,相同或者类似的元件标有相同或者类似的标号。
具体实施方式
为了使本发明的内容更加清楚和易懂,下面结合具体实施例和附图对本发明的内容进行详细描述。
本发明分别在初始化和运行时两方面提供安全管理,以全局集中、节点自治的协同方式保证虚拟机的安全。“全局集中”即统一管理安全策略的制定与分发、集中控制应用的基础类库的安全;“节点自治”即融合虚拟机的类载入机制和安全执行控制机制以保证虚拟机安全。
图1是根据本发明实施例采用的增强型安全机制结构图。
如图1所示,本发明实施例采用的Java虚拟机的增强型安全机制结构包括:类加载器单元101、class文件校验器102、安全管理器单元103、基于安全中心的安全执行单元104等。
类加载器单元101提供命名空间和保护域,剔除不可信类,保护可信任类的边界。
class文件校验器102对载入的class文件进行校验,保证class文件的字节流符合class文件格式规范、字节码的语义描述符合Java语言规范的要求、虚拟机的安全运行不会为字节码所影响(如,类型转化是否有效,跳转指令的目标是否有效等)。
安全管理器单元103定义沙箱的边界,保护虚拟机的外部资源,如网络、IO、反射等,不被虚拟机内运行的恶意或有漏洞的代码侵犯,确保Java应用的行为发生在沙箱之中。
作为基于安全中心的安全执行单元的安全监测模块104与安全中心进行交互,保证应用、应用所需基础类库、本地共享库的可信性与有效性。通过安全策略的统一分发,保证对系统资源操作的一致性、可控性。
本发明实施例公开一种增强Java安全机制的方法,换言之,一种增强Java虚拟机安全的方法。该方法结合安全中心,对应用、应用的基础类库、第三方类库、以及共享库等进行管理。分别在应用的初始化和运行时两个阶段对Java安全模型进行增强。
根据本发明实施例增强Java虚拟机安全的方法的包括用户端和安全中心交互流程,其示例的主要步骤如下:
<连接阶段>
首先,在用户端(Java虚拟机)运行应用时,用户端的安全监测模块单元104发起向安全中心建立连接请求。
安全中心对连接请求进行验证并答复是否建立连接请求。具体地说,连接请求需要安全中心验证用户端是否具备建立连接安全中心的权限,如果用户端的安全等级符合安全中心的认定,则建立连接请求。
<应用摘要信息的认证>
在安全中心通过对连接请求的验证从而建立连接的情况下,用户端的安全监测模块104将签名后的应用摘要信息发送至安全中心进行认证。
具体地说,用户端的安全监测模块104依据安全中心的答复决定是否继续后续的步骤。如果安全中心允许建立连接请求,则发送应用摘要信息;否则,抛异常退出。即,在安全中心没有通过对连接请求的验证从而不建立连接的情况下,用户端的安全监测模块104执行抛异常处理并退出当前应用。
安全中心根据接收到的签名后的应用摘要信息对此应用进行认证,并答复是否同意用户端运行应用的请求。
<用户端的基础类库的签名信息的认证>
用户端的类加载器单元101初始化基础类库,并计算基础类库的签名信息,并将基础类库的签名信息交由安全管理器单元103发送至安全中心以请求对基础类库的签名信息进行认证。
安全中心对从用户端接收到的针对基础类库的签名信息的认证请求进行验证。
在上述步骤中,安全中心主要确认基础类库是否被修改,具体地说,通过判断基础类库的签名信息的版本和安全中心的签名信息的版本是否一致来确认基础类库是否被修改。安全中心对认证请求进行确认,如果符合要求(例如,如果基础类库的签名信息的版本和安全中心的签名信息的版本一致),则通过请求认证;如果不能通过请求,则需要将发送过来的相应的基础类库发送回至用户端。
<策略文件的验证>
用户端向安全中心请求分发安全策略文件。安全中心在接收到分发安全策略文件的请求后验证用户端的资格,并据此决定是否发送相关安全策略文件。
<共享库的认证>
用户端向安全中心发送相关共享库的有关认证请求。安全中心在接收到共享库的有关认证请求后需要对共享库的来源、版本进行认证。
由此,本发明上述实施例结合安全中心的安全机制在应用初始化和运行时两个阶段对类的安全进行控制,防止可信的类被破坏,保证不可信的类获取规定的权限,保证应用的操作不会突破沙箱的边界;通过安全中心解决使用公共密钥技术时的密码分发。通过统一制定、分发安全策略,保证了安全策略个性化的同时,集中控制应用的基础类库的安全。
本发明上述实施例结合安全中心,对应用、应用所使用的基础类库、第三方类库和共享的本地类库进行安全认证,保证应用所涉及的类库本身的安全性;通过在和安全中心交互所获取的类的基本信息,在运行时保证类的元信息不能被修改。同时,有效解决在鉴别和认证过程中的公共密钥技术的密码分发问题,有效地增强了Java的安全模型。
此外,需要说明的是,除非特别指出,否则说明书中的术语“第一”、“第二”、“第三”等描述仅仅用于区分说明书中的各个组件、元素、步骤等,而不是用于表示各个组件、元素、步骤之间的逻辑关系或者顺序关系等。
可以理解的是,虽然本发明已以较佳实施例披露如上,然而上述实施例并非用以限定本发明。对于任何熟悉本领域的技术人员而言,在不脱离本发明技术方案范围情况下,都可利用上述揭示的技术内容对本发明技术方案作出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。

Claims (7)

1.一种增强Java虚拟机安全的方法,其特征在于包括:
在用户端运行应用时,用户端的安全监测模块发起向安全中心建立连接请求;
安全中心对连接请求进行验证并答复是否建立连接请求,其中,安全中心针对连接请求验证用户端是否具备建立连接安全中心的权限,如果用户端的安全等级符合安全中心的认定,则建立连接请求。
2.根据权利要求1所述的增强Java虚拟机安全的方法,其特征在于还包括:
在安全中心通过对连接请求的验证从而建立连接的情况下,用户端的安全监测模块将签名后的应用摘要信息发送至安全中心进行认证;
安全中心根据接收到的签名后的应用摘要信息对此应用进行认证,并答复是否同意用户端运行应用的请求。
3.根据权利要求1所述的增强Java虚拟机安全的方法,其特征在于还包括:在安全中心没有通过对连接请求的验证从而不建立连接的情况下,用户端的安全监测模块执行抛异常处理并退出当前应用。
4.根据权利要求2所述的增强Java虚拟机安全的方法,其特征在于还包括:
用户端的类加载器单元初始化基础类库,并计算基础类库的签名信息,并将基础类库的签名信息交由安全监测模块发送至安全中心以请求对基础类库的签名信息进行认证;
安全中心对从用户端接收到的针对基础类库的签名信息的认证请求进行验证。
5.根据权利要求4所述的增强Java虚拟机安全的方法,其特征在于,在安全中心对从用户端接收到的针对基础类库的签名信息的认证请求进行验证的步骤中,安全中心确认基础类库是否被修改,其中,通过判断基础类库的签名信息的版本和安全中心的签名信息的版本是否一致来确认基础类库是否被修改。
6.根据权利要求1或2所述的增强Java虚拟机安全的方法,其特征在于还包括:用户端向安全中心请求分发安全策略文件;安全中心在接收到分发安全策略文件的请求后验证用户端的资格,并据此决定是否发送相关安全策略文件。
7.根据权利要求1或2所述的增强Java虚拟机安全的方法,其特征在于还包括:用户端向安全中心发送相关共享库的有关认证请求;安全中心在接收到共享库的有关认证请求后对共享库的来源、版本进行认证。
CN201310079403.5A 2013-03-12 2013-03-12 一种增强Java虚拟机安全的方法 Active CN103136470B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310079403.5A CN103136470B (zh) 2013-03-12 2013-03-12 一种增强Java虚拟机安全的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310079403.5A CN103136470B (zh) 2013-03-12 2013-03-12 一种增强Java虚拟机安全的方法

Publications (2)

Publication Number Publication Date
CN103136470A true CN103136470A (zh) 2013-06-05
CN103136470B CN103136470B (zh) 2015-08-12

Family

ID=48496287

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310079403.5A Active CN103136470B (zh) 2013-03-12 2013-03-12 一种增强Java虚拟机安全的方法

Country Status (1)

Country Link
CN (1) CN103136470B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106778239A (zh) * 2015-11-24 2017-05-31 阿里巴巴集团控股有限公司 用于提高Java沙箱安全性的方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1900941A (zh) * 2006-04-28 2007-01-24 傅玉生 一种基于软件身份认证技术的计算机安全保护方法
CN101385034A (zh) * 2006-02-24 2009-03-11 诺基亚公司 应用检验
CN101615230A (zh) * 2009-08-07 2009-12-30 浪潮电子信息产业股份有限公司 一种文件可信执行和可信保护的方法
CN102651060A (zh) * 2012-03-31 2012-08-29 北京奇虎科技有限公司 一种漏洞检测的方法和系统
CN102831338A (zh) * 2012-06-28 2012-12-19 北京奇虎科技有限公司 一种Android应用程序的安全检测方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106721377A (zh) * 2016-11-17 2017-05-31 重庆市家云孔雀养殖有限公司 一种养殖产蛋孔雀的配合饲料及制备方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101385034A (zh) * 2006-02-24 2009-03-11 诺基亚公司 应用检验
CN1900941A (zh) * 2006-04-28 2007-01-24 傅玉生 一种基于软件身份认证技术的计算机安全保护方法
CN101615230A (zh) * 2009-08-07 2009-12-30 浪潮电子信息产业股份有限公司 一种文件可信执行和可信保护的方法
CN102651060A (zh) * 2012-03-31 2012-08-29 北京奇虎科技有限公司 一种漏洞检测的方法和系统
CN102831338A (zh) * 2012-06-28 2012-12-19 北京奇虎科技有限公司 一种Android应用程序的安全检测方法及系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106778239A (zh) * 2015-11-24 2017-05-31 阿里巴巴集团控股有限公司 用于提高Java沙箱安全性的方法及装置
WO2017088682A1 (zh) * 2015-11-24 2017-06-01 阿里巴巴集团控股有限公司 用于提高Java沙箱安全性的方法及装置
CN106778239B (zh) * 2015-11-24 2019-10-29 阿里巴巴集团控股有限公司 用于提高Java沙箱安全性的方法及装置
US11113387B2 (en) 2015-11-24 2021-09-07 Alibaba Group Holding Limited Method and apparatus for improving security of Java sandbox

Also Published As

Publication number Publication date
CN103136470B (zh) 2015-08-12

Similar Documents

Publication Publication Date Title
US11416415B2 (en) Technologies for secure device configuration and management
US10956321B2 (en) Secure management of operations on protected virtual machines
US10193926B2 (en) Apparatuses, methods and systems for a secure resource access and placement platform
EP1955516B1 (en) Network access control for many-core systems
CN1997955B (zh) 提供可信平台模块的安全虚拟化的方法和装置
US9288058B2 (en) Executing compliance verification or remediation scripts
US20100024016A1 (en) Method and apparatus for protection domain based security
CN104318182A (zh) 一种基于处理器安全扩展的智能终端隔离系统及方法
US11113366B2 (en) Cryptographic mechanisms for software setup using token-based two-factor authentication
US20200145419A1 (en) Secure accelerator device pairing for trusted accelerator-to-accelerator communication
Strackx et al. Salus: Kernel support for secure process compartments
CN104021335A (zh) 基于可扩展密码服务框架的密码服务方法
Jung et al. A secure platform model based on ARM platform security architecture for IoT devices
Yao et al. Building Secure Firmware
Dorjmyagmar et al. Security analysis of samsung knox
CN103136470A (zh) 一种增强Java虚拟机安全的方法
Fournaris et al. From hardware security tokens to trusted computing and trusted systems
Härtig et al. Lateral thinking for trustworthy apps
Santos Improving trust in cloud, enterprise, and mobile computing platforms
Khurshid et al. ShieLD: Shielding Cross-zone Communication within Limited-resourced IoT Devices running Vulnerable Software Stack
Umar et al. Trusted Execution Environment and Host Card Emulation
Vuillermoz Analysis of TEE technologies as trust anchors
Oh et al. Taaas: Trustworthy authentication as a service based on trusted path
Jung et al. An architecture for virtualization-based trusted execution environment on mobile devices
Zhu et al. Investigating TrustZone: A Comprehensive Analysis

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