JA应用程序的安全性探究

时间:2024-01-31 点赞:45756 浏览:88580 作者原创标记本站原创

本文是一篇参考文献论文范文,关于参考文献方面硕士论文开题报告,关于JA应用程序的安全性探究相关毕业论文参考文献格式范文。适合参考文献及操作系统及代码方面的的大学硕士和本科毕业论文以及参考文献相关开题报告范文和职称论文写作参考文献资料下载。

【摘 要】应用程序安全是一个综合性的课题,它需要在权衡各方面的因素之后,再作出安全策略.首先分析了Ja平台自身的安全机制,包括它的安全策略、认证和授权,之后分析Ja应用程序中的一些缺陷和不足,并提出相应的改进方法.

【关 键 词】JA;安全性

随着Ja技术的发展,安全技术也在各方面进行了完善和改进.Ja安全性不是自运行的,是通过安全管理器来实现安全策略,这个安全管理器没有自动安装在应用程序中.安全策略是基于代码来源的授权,它是根据代码的来源来设置代码可以有哪些权限、可以访问用户的哪些资源,从而保护代码执行者的安全性.Ja安全性是整个Ja语言的有机组成部分,Ja平台本身具有内置且一致的安全特性,如果能够恰当地使用,它可以很好地控制每一个Ja应用程序.

1.JA安全机制

Ja的安全模型是由安全策略、访问许可、保护域、访问控制检查、权限操作以及类加载和解析等部分组成.安全策略和访问许可定义了哪些动作是允许的,而保护域和访问控制检查则提供了执行的功能,权限操作、类加载和解析则对整个保护机制是很有帮助的.

1.1安全策略

Ja运行时环境的安全行为由安全策略来指定,安全策略是一个典型的访问控制矩阵,即什么样的系统资源、用哪种形式、在哪些环境下可以被访问.一个安全策略是从描述运行代码的一系列特征到代码允许的访问许可权限之间的映射.在Ja的安全体系结构中将保护域分为系统保护域与应用保护域.前者对文件系统或网络套接字(socket)等系统资源的访问加以控制.而后者对各种组件或应用程序某部分的访问进行控制,它是针对具体应用程序的.应用保护域使用应用安全(例如,使用AS包或J2EE的容器管理安全机制)增强了当前的安全策略.然而,应用安全通常使用的权限来限制对特权代码的访问.

1.2Ja认证和授权服务(JAAS)

Ja2依赖于安全策略给运行代码授予许可权限,以代码为中心的访问控制方式不同于依赖于代码的各种特性的传统安全措施,它是很合理的.然而,Ja技术被广泛应用于多用户环境中,必须与不同的用户打交道,而且还要基于其身份授予这些用户不同的许可.Ja认证和授权服务(JAAS)可以为用户鉴别和权限分配提供一个标准的编程接口,它被完全集成在J2SE1.4中.这样应用程序可以提供以代码为中心的访问控制,或者以用户为中心的访问控制,以及可以是两者的结合.有了JAAS之后,Ja就能完全提供两个重要的服务:认证(检查用户的合法性)、授权(确认合法用户执行的任务).认证是要确定谁正在运行代码,不管代码是如何运行的.授权是确定用户执行某些动作的权限.在JAAS之前,Ja安全先检查代码来源和谁做的签名,正确后再执行JAAS,从而增强了Ja的安全性.


2.JA缺陷攻击和保护

由于Ja程序可运行在多个平台上,将安全建立在应用级上常常比建立在操作系统上的系统级安全更有效.在Ja应用级别上,有很多技术可以用于保护系统不受攻击,在对应用程序采取好基本的安全措施后,应用程序就不那么好对付了,就可以阻止或预防除了刻意之外的所有攻击.

2.1保护本地存储数据

在本地存储数据的独立应用程序存在一个问题:运行应用程序的用户通常需要读取和写入数据文件,这就意味着他们可以不通过应用程序就可以读取,修改数据.如何防止这种类型的攻击?最简单的办法是将信息存储在更安全的地方,例如放在远程服务器的数据库中.但是,如果一定要求在本地存储信息,又怎么办呢?幸运的是Ja提供了强有力的技术.使用JCE可以容易地加密数据,然后将它放到文件中.由于对称密钥算法比非对称密钥算法快几倍,所以加密时一般采用对称密钥,然而,对称密钥却缺乏公/私钥结合的安全性.所以,在生成加密密钥时,为了安全起见,在密钥中加入口令和盐.加密时输入口令,口令可以由使用者自己确定,解密时只有输入口令才能够得到明文.盐是一个无关的数据序列,它被添加到将要加密的数据中,解密时先将它从明文中去掉.这样就能防止进行加密逆向处理.

2.2防止软件盗版

尽管确信系统的各种安全漏洞都堵死了,但它仍然是易受攻击的,即代码滥用的危险.即使没有应用程序源代码,对于一个技术高超的人来说,也可以采用与开发者原意不同的方式来使用应用程序.因此,必须采用一种机制来防止对软件的盗版,防止无授权的方式复制并使用软件.虽然现实中没有完善的防范措施来对抗软件盗版,但是可通过巧妙地使用JCE,让难于攻击而远离应用程序.其中一个方法是开发一个全面的软件授权策略.以前,这方面的很多机制是使用哈希码或简单的加密方案来传输或确认授权信息.在Ja应用中,这些技术仍然可用.此时我们假定可以向系统所有的合法用户传递一个专门的“钥”,当解密时,它包含了增强授权方法的所有必要信息.

2.3RMI的危险

RMI建立在Ja语言的许多特性之上,它是一种设计非常简单并且灵活的技术,可以实现跨网络的方法调用,但RMI包含默认高级安全机制.然后,通过网络上的客户应用调用远程对象的方法,就会打开很多的安全漏洞.RMI使用明文实现跨网络的方法调用,但是没有进行任何认证.这使得应用暴露给很多可能的危险者,使其允许未认证用户访问他们不应该访问的信息,执行不应该执行的方法调用.为了降低风险,所有使用RMI的程序都必须安装安全管理器,或者除了本地类之外,不能下载作为参数接收的对象类、返回值类、远程方法调用的异常类,这个限制确保下载代码的操作经过一系列安全检查.

2.4EJB安全

在J2EE中EJB是提供的最好特性之一,它有多种不同类型的EJB可以用于实现组件.实体Bean代表持续数据,会话Bean代表与客户端的一次会话,用于为客户端会话管理业务处理,消息驱动Bean允许EJB组件处理异步消息.如果只使用容器提供的标准J2EE安全服务,EJB是最容易保护的一种J2EE组件类型.EJB实现允许容器增强安全性,使用这种安全机制是对于EJB的最好实践.没有这些安全机制,任何远程用户(包括可能的攻击者),只要能够访问EJB服务器并且知道关于远程部署的Bean(不声明为本地Bean)的接口信息,就可以访问服务器并执行远程方法.

3.结束语

安全本身是蕴涵矛盾的问题,任何保证安全的措施其实也是一道无形的屏障,会带来一定的运行效率的损失,同时在开发上也需要加入更加完备的考虑.Ja技术有许多安全特性,而Ja平台通过自身基础来实现一个可靠的平台.如果没有Ja语言自身提供的安全性,那么Ja2的安全模型是不可能实现可信赖特征的.Ja语言规范了类型安全和引用完整的语义,但是如果没有Ja虚拟机提供的执行和保证,Ja语言仍然是不完备的.因此,通过采用各种各样的安全子系统,创建了一个强大的安全体系是十分必要的.

相关论文

Ja程序内存行为探究

本文是一篇对象论文范文,对象相关电大毕业论文,关于Ja程序内存行为探究相关毕业论文范文。适合对象及程序及内存方面的的大学硕士和本科毕业。

土建结构工程安全性探究

本文是一篇建筑结构设计论文范文,建筑结构设计方面有关研究生毕业论文开题报告,关于土建结构工程安全性探究相关学士学位论文范文。适合建筑。

中国刑事诉讼简易程序改革之探究

本文是一篇刑事诉讼论文范文,刑事诉讼类函授毕业论文,关于中国刑事诉讼简易程序改革之探究相关硕士论文范文。适合刑事诉讼及刑事诉讼法及案。

有关建筑结构安全性探究

本文是一篇建筑结构论文范文,关于建筑结构毕业论文模板,关于有关建筑结构安全性探究相关本科毕业论文范文。适合建筑结构及建筑结构设计及结。

Ja语言程序设计

本文是一篇互联网论文范文,互联网类本科论文开题报告,关于Ja语言程序设计相关硕士毕业论文范文。适合互联网及计算机及计算机应用方面的的大。

著作权法对计算机程序的保护探究

本文是一篇计算机程序论文范文,计算机程序有关毕业论文,关于著作权法对计算机程序的保护探究相关毕业论文参考文献格式范文。适合计算机程序。

土建结构工程的安全性探究

本文是一篇工程结构论文范文,关于工程结构硕士毕业论文,关于土建结构工程的安全性探究相关学年毕业论文范文。适合工程结构及建筑结构及土建。

Ja语言程序设计教学改革探析

本文是一篇教学法论文范文,关于教学法函授毕业论文,关于Ja语言程序设计教学改革探析相关毕业论文范文。适合教学法及实践教学及教学改革方面。

JA程序设计语言在高校教学中的探究

本文是一篇计算机论文范文,关于计算机相关毕业论文模板,关于JA程序设计语言在高校教学中的探究相关电大毕业论文范文。适合计算机及课堂教学。