已阅读5页,还剩56页未读, 继续免费阅读
(计算机应用技术专业论文)基于j2me平台的移动应用系统的安全性研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 在信息社会中,随着移动通信技术的发展和移动终端的日益普及,以及软、硬件性 能的不断提升,使得移动应用的领域不断扩张,而人们在充分使用移动应用所带来的便 利的同时,对应用的安全性也提出了更高的要求。j 2 m e 以其跨平台、易于移植、占用 空间小的绝对优势成为移动应用开发平台的主流,并提供了很多用以支持移动应用软件 的开发的a p i 。然而没有可用于满足应用安全需求的a p i ,比如加密解密a p i 、签名及 验证a p i 等,从而使得在开发中满足应用的安全需求变得迫在眉睫。 为了满足应用的安全需求,移动应用开发人员必须能够在应用程序级访问加密算 法。本文的主要工作就是在j 2 m e 平台上采用加密解密技术,以提高j 2 m e 平台对移动 应用安全性的支持。 首先对j 2 m e 的体系结构以及m i d p 程序开发进行了概述,并介绍了移动应用中的 安全问题。其次系统地探讨了无线移动应用的安全机制和安全模式的有效性,特别是深 入剖析了各种加密算法,将b o u n c yc a s t l e 加密工具包引入到j 2 m e 开发工具包中,为客 户端提供了密码术算法,从而提高j 2 m e 平台对移动应用安全性支持的方案。另外,简 要介绍了保证无线网络安全的机制与技术措施。接下来对目前j 2 m e 平台对应用安全性 的支持做了详细的分析。通过在基于m i d p 2 0 的移动应用中使用与h t t p 摘要认证相似 的认证方法以及加密技术,得出了j 2 m e 平台对应用安全性支持力较差的结论:使用 h t t p 协议会带来一些安全问题,移动信息设备存在潜在的安全威胁等。 最后,向j 2 m e 平台移植了一种新型的加密算法一混沌加密算法。并给出了混沌加 密算法在j 2 m e 平台上的设计方案,实现了仿真效果。 关键词:j 2 m e ;移动应用:安全;混沌加密算法 大连交通大学1 二学硕十学位论文 a b s t r a c t i nt h ei n f o r m a t i o ns o c i e t y ,w i t ht h ed e v e l o p i n go fm o b i l ec o m m u n i c a t i o n t e c h n o l o g ya n d t h ei n c r e a s i n gp o p u l a r i t yo fm o b i l et e r m i n a l s a sw e l l 弱t h er i s i n go fh a r d w a r ea n ds o f t w a r e p e r f o r m a n c e ,i tm a k e se x p a n d i n go ft h ef i e l do fm o b i l ea p p l i c a t i o n s a tt h es a m et i m e ,w h e n p e o p l em a k ef u l lu s eo ft h ec o n v e n i e n c eo fm o b i l ea p p l i c a t i o n s ,t h e ya l s op u tf o r w a r dh i g h e r r e q u i r e m e n t sf o ra p p l i c a t i o ns e c u r i t y 。a sm a i nd e v e l o p m e n tp l a t f o r mo fm o b i l ea p p l i c a t i o n , j 2 m et a k e su pt h ea b s o l u t es u p e r i o r i t yb e c a u s eo fc r o s s - p l a t f o r m ,e a s y t o t r a n s p l a n t ,l i t t l e s p a c eo c c u p i e da n dp r o v i d e sm a n ya p i st os u p p o r ts o f t w a r ed e v e l o p m e n to fm o b i l e a p p l i c a t i o n h o w e v e r ,t h e r ew a sn oa p it h a tc a nb eu s e dt om e e tt h es e c u r i t yn e e d so ft h e a p p l i c a t i o n s ,s u c ha se n c r y p t i o na n dd e c r y p t i o na p i ,s i g na n dv e r i f ya p ia n ds oo n , w h i c h m a k e si ti m m i n e n tt om e e ts e c u r i t yr e q u i r e m e n to f a p p l i c a t i o n i no r d e rt om e e tt h es e c u r i t yn e e d so ft h ea p p l i c a t i o n ,d e v e l o p e r so fm o b i l ea p p l i c a t i o n m u s tb ea b l et oa c c e s st oc r y p t o g r a p h i ca l g o r i t h m si nt h ep r o g r a ml e v e l t h et a s ko ft h i sp a p e r i st ou s eo ft h ee n c r y p t i o na n dd e c r y p t i o nt e c h n o l o g i e sb a s e do nj 2 m e p l a t f o r mf o ri m p r o v e t h es u p p o r tt os e c u r i t yo fm o b i l ea p p l i c a t i o n s f i r s t l y i tg i v e sag e n e r a l o v e r v i e wo ft h ea r c h i t e c t u r eo fj 2 m ea n dt h em i d p p r o g r a m m i n ga n di n t r o d u c e st h es e c u r i t yo fm o b i l ea p p l i c a t i o n s s e c o n d l y ,s y s t e m a t i c a l l y e x p l o r et h es e c u r i t ym e c h a n i s m sa n dt h ee f f e c t i v e n e s so fs e c u r i t ym o d e li nw i r e l e s sm o b i l e a p p l i c a t i o n s p a r t i c u l a r l ym a d ea ni n d e p t ha n a l y s i so fav a r i e t yo fe n c r y p t i o na l g o r i t h m s ,a n d i n t r o d u c e dt h eb o u n c yc a s t l ec r y p t o g r a p h i ct o o l k i ti n t r o d u c e di n t ot h ej 2 m ed e v e l o p m e n t t o o lp a c k a g e i tp r o v i d e st h ec r y p t o g r a p h ya l g o r i t h mf o rt h ec l i e n ts oa st oe n h a n c et h e s u p p o r tt os e c u r i t yo ft h em o b i l ea p p l i c a t i o n i na d d i t i o n , i tb r i e f l yi n t r o d u c e dt h a te n s u r e w i r e l e s sn e t w o r ks e c u r i t ym e c h a n i s m sa n dt e c h n i c a lm e a s u r e s t h e n ,t h e r ei sad e t a i l e d a n a l y s i so ft h ec u r r e n tj 2 m ep l a t f o r mf o rt h es u p p o r tt os e c u r i t yo fm o b i l ea p p l i c a t i o n s b y u s i n g s i m i l a ra u t h e n t i c a t i o nm e t h o d st oh t t p d i g e s t a u t h e n t i c a t i o na n de n c r y p t i o n t e c h n i q u e si nm o b i l ea p p l i c a t i o n sb a s e do nm i d p 2 0 w ed r a ws o m ec o n c l u s i o n st h a tj 2 m e p l a t f o r mh a sl e s ss u p p o r t i v ef o rt h ea p p l i c a t i o ns e c u r i t y :t h eu s eo fh t t pp r o t o c o lw o u l d b r i n gs o m es e c u r i t yi s s u e s ,m o b i l ei n f o r m a t i o nd e v i c ee x i s t sp o t e n t i a ls e c u r i t yt h r e a t sa n ds o o n f i n a l l y ,an e wt y p e o fe n c r y p t i o na l g o r i t h m - c h a o t i c e n c r y p t i o na l g o r i t h m w a s t r a n s p l a n t e dt ot h ej 2 m ep l a t f o r m w h a t sm o r e g i v eac h a o t i ce n c r y p t i o na l g o r i t h mb a s e d o nj 2 m e p l a t f o r md e s i g np l a na n dr e a l i z et h es i m u l a t i o nr e s u l t k e yw o r d s :j 2 m e ;m o b i l ea p p l i c a t i o n ;s e c u r i 好 ;c h a o se n c d p t i o n 大连交通大学学位论文独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作 及取得的研究成果。尽我所知,除了文中特别加以标注和致谢及参考 文献的地方外,论文中不包含他人或集体已经发表或撰写过的研究成 果,也不包含为获得太董交通太堂或其他教育机构的学位或证书而 使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在 论文中作了明确的说明并表示谢意。 本人完全意识到本声明的法律效力,申请学位论文与资料若有不 实之处,由本人承担一切相关责任。 学位论文作者签名:房伟 日期: 加7 年l 工月h 日 大连交通大学学位论文版权使用授权书 本学位论文作者完全了解太羹銮通太堂有关保护知识产权及保 留、使用学位论文的规定,即:研究生在校攻读学位期间论文工作的 知识产权单位属太董銮通太堂,本人保证毕业离校后,发表或使用 论文工作成果时署名单位仍然为太董塞通太堂。学校有权保留并向 国家有关部门或机构送交论文的复印件及其电子文档,允许论文被查 阅和借阅。 本人授权太蓬塞通太堂可以将学位论文的全部或部分内容编入 中国科学技术信息研究所中国学位论文全文数据库等相关数据库 进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论 、 又。 ( 保密的学位论文在解密后应遵守此规定) 学位论文作者签名:房伶 日期:妒7 年2 月j 牛日 学位论文作者毕业后去向: s - 作单位: 通讯地址: 申。子信箱: 导师张雨( 善艾 日期:加叼年j f 2 片7 牛日 电话: 邮编: 第一章绪论 第一章绪论 1 1 课题研究背景 随着移动通信技术的发展和移动终端的日益普及,以及软、硬件性能的不断提升, 使得移动应用的领域不断扩张,新的商业模式不断涌现。基于j 2 m e 的j a v a 程序在移动 应用上仍然保持了其跨平台、易于移植、占用空间小、安全性好的特点。由于j 2 m e 应 用的广泛使用,移动应用开发已经成长为一个相当大的市场,来自第三方提供者的j 2 m e 类库和组件也变得容易得到,这些类库和组件使得j 2 m e 的开发者能够比较容易的将相 关技术移植到手机行业中,相应的,它也为j 2 m e 投资商提供了大量的开发者来源。这 种良性循环必将极大地促进j 2 m e 的发展。 现在,移动应用已开始逐渐渗透到人们生活、工作的各个领域,短信、彩铃、音乐 下载、移动视频、手机游戏、手机支付、位置服务等丰富多彩的移动应用迅速发展。通 过移动通信,人们可以在自己方便的时候,利用移动电话和p d a ( 个人数字助理) 查找、 选择和购买所需的商品和服务【l 】。相对于传统的网络应用模式,移动应用以其突破了时 间和空间的限制,具有灵活、便捷、高效的优点,真正实现了在任何时间、任何地点获 取网络服务目标的特性深刻地影响人类的生活及工作方式。由此可以肯定的是,移动应 用将会替代传统网络应用成为移动终端设备的主流,进行移动应用系统的开发将会成为 今后的一个热点。而随着移动应用系统从时髦的口号逐渐变成现实,人们在充分使用移 动应用所带来的便利的同时,对应用的安全性也提出了更高的要求。尤其在提供移动支 付、移动银行等服务的移动电子商务领域内,安全性己被放在了首要的位置,直接影响 到各项业务的顺利开展。i n t e m e t 和无线通信这两大技术领域正在日新月异的高速发展, 而这两者也正相互渗透、相互融合,安全问题的保障,其结果必将是任何人在任何地方 都可以得到其想要的任何服务。 事实上,安全性问题一直以来都是移动应用系统中倍受注目的问题,由于无线设备 的内存和计算能力有限,因此有线网络的安全技术手段不完全适用于无线设备。同时考 虑到无线信号的可截取本质,使得无线系统的数据极易受到攻击,所以必须考虑采用一 些安全有效的方法尽可能的减少无线网络中的不安全因素。因此,在促进移动应用快速 发展的各种技术手段中,安全技术起到了至关重要的作用,移动领域内的研究也越来越 多的集中到了移动安全方面。这就为我们提出了一个紧迫的研究课题:在现有的网络发 展环境下进行移动应用系统的开发,构造高效安全的移动应用系统。 火连交通大学t 学硕十学位论文 1 2 研究的目的和意义 随着j 2 m e 与w e b 服务技术的结合,新的w e b 服务规范提出标准化和集成使用x m l 消息传递作为新的安全解决方案( 如k e r b e r o s 认证和授权、数字证书、数字签名和公私 钥加密) 。遗憾的是由于x m l 所有那些额外标记,使得x m l 对于有限的无线网络带宽 而言显得相当庞大。另外,x m l 对移动设备处理能力的要求,对于现有的大部分移动 设备来说不得不谨慎使用【2 j 。 尽管j 2 m e m i d p 2 0 规范当中提出了对h t t p s 安全通信协议的强制性支持。但是, 它并不能很好的满足移动环境下的商务应用安全需要,也不能在目前市面上大量支持 m i d p i 0 规范的j 2 m e 移动终端上部署使用。 就目前的移动设备和无线网络带宽实际情况,我们需要寻求新的安全解决方案,要 求它能够在当前支持j 2 m e m i d p 的移动设备上方便部署和实现,并且能够为移动商务 应用提供相对高级和灵活的安全措施。 从以下几点我们可以分析得出开发移动应用系统的安全性更具有意义,从而使得起 总体设计更为科学: ( 1 ) 移植性强,使用j 2 m e 技术开发的程序,可以经过简单的修改以后,在不同厂 商的手机上运行; ( 2 ) 开发速度快; ( 3 ) 技术入门快,由于j a v a 语言相当地普及,而对于有一定j a v a 语言基础的人来说, 学习j 2 m e 技术的门槛很低,所以j 2 m e 技术的普及速度很快,优势很明显,很适合用 来开发手机终端的软件; ( 4 ) 成本较低,它无需上网设备,只需一台普通手机即可; ( 5 ) 自由度更大,用户能随时随地使用,不受互联网网络限制。 其实2 0 0 6 年3 月份,一款俄罗斯的手机病毒已经足以给所有的手机用户敲响警钟, 作为第一款基于j 2 m e 技术的手机病毒,它的意义就如第一款基于s y m b i a n 的c a b i r 病 毒一样,象征的是一个可能的j 2 m e 病毒层出不穷的时代的到来。所以对j 2 m e 安全体 系结构的研究,意义重大。 1 3 国内外研究动态 国内对于j 2 m e 安全的研究最早出现在2 0 0 3 年【3 】,起初的研究只是针对j 2 m e 内建 的一些安全机制,仅仅从理论角度对j 2 m e 安全的有关问题进行了探讨,并且其研究对 象也有失偏颇或者说有些过时,比如对己经被s u n 抛弃的k s s l 协议的安全性的探讨【4 】。 随着研究的深入,国内也开始关注j 2 m e 安全的系统性研究,出现了一些基于p k i 基础 2 第一章绪论 设施构建的j 2 m e 应用层安全模型【5 。基于p k i 基础设施构建的安全模型虽然在保证 安全性方面做了很大的提高,但是p k i 客户端复杂的配置以及对设备性能的高要求始终 制约着模型的具体应用。 国外对于j 2 m e 安全方面的研究相对要早一些,并且比较全面,主要是从系统的角 度来研究整个移动应用的安全解决方案。如爱立信公司的移动电子商务解决方案( m o b i l e e - p a y ) ,它将移动通信网络、i n t e m e t 、在线支付和安全技术有机地结合起来,为移动电 子商务提供了一个完整可靠的解决方案,m o b i l ee p a y 的安全系统主要设计用于金融服 务,因此它保证了移动电子交易的安全。惠普公司的v i r t u a lv a u l t 产品能支持端到端的 加密数据传送和基于证书的认证,可以提供军用级的安全性。 j 2 m e 是一门方兴未艾的技术,在国外,正是由于j 2 m e 适应诸如g s m 、c d m a 和 g p r s 等不同的网络操作环境,同时又能满足各种开发应用的需要,现在越来越多的手 机生产、制造商开始把眼光瞄向j 2 m e 技术。j 2 m e 在我国还处于不断的发展之中,相 对于国外,特别是我们的近邻日本韩国,它在我国的发展还只能说是在萌芽阶段,但是 它的发展前途是不可估量的。 1 4 研究内容 本文主要研究了本文的任务就是研究如何提高j 2 m e 平台对移动应用安全性支持, 具体组织形式如下: 第一章:绪论 主要介绍论文的研究背景,研究现状,研究内容和意义,组织形式。 第二章:j 2 m e 体系结构及移动应用的安全需求 主要研究j 2 m e 体系结构及关键技术,首先介绍了移动应用的主流开发平台j 2 m e 平台的有关知识。包括c d c 和c l d c 、m i d p 、j a v a 虚拟机等。并对移动应用的安全 需求进行了分析。 第三章:无线移动应用系统的安全性探讨 介绍与j 2 m e 移动应用相关的安全技术基础,包括常用的一些安全基础工具( 比如, 加解密技术,数字签名等) ,在此基础上,给出提高j 2 m e 平台对应用安全性支持的方案。 第四章:j 2 m e 平台对应用安全支持的分析 对j 2 m e 平台对应用安全性的支持做了详细的分析。包括j 2 m e 安全体系结构, j 2 m e 安全传输协议h t t p s ,并分析指出h t t p s 在移动应用环境中存在的缺点和不足。 第五章:移动应用安全中一种新型加密算法的分析设计 火连交通大学下学硕十学位论文 进一步解决j 2 m e 平台的安全性支持问题。在j 2 m e 平台中设计更适用于移动应用 的安全加密算法一混沌加密算法。本文给出设计方案,并实现了仿真结果。 最后对本文研究内容作出了总结与展望。 4 第二章j 2 m e 体系结构及移动应片j 的安全需求 第二章j 2 m e 体系结构及移动应用的安全需求 j 2 m e ( 目p :j a v a 2m i c r oe d i t i o n ) 是j a v a 2 的一个组成部分,与j 2 s e 、j 2 e e 并称。根 据s u nm i c r o s y s t e m si n c 的定义:j 2 m e 是一种高度优化的j a v a 运行环境, 针对市面上 的大量消费类电子设备。j 2 m e 是一个专门面向小型设备应用的“简易”平台。它所面 向的设备类型非常多,包括移动电话、个人数字辅助设备( p d a ) 、网络电话、数字电视 上的机顶盒、自动娱乐系统、导航系统、网络交换以及家用自动电器等等。为了支持品 种繁多的设备类型,j 2 m e 采用了模块化的、可升级的技术体系架构。 2 1j 2 m e 体系结构 j 2 m e 主要适用于小型嵌入式设备,这些设备与p c 或是服务器设备相比没有统一 的硬件标准、外观与操作方式,其功用也是千差万别的,所以j 2 m e 采用配置层 ( c o n f i g u r a t i o n ) 、简表层( p r o f i l e ) 和可选包的模块化体系结构来满足开发者的需求。 配置是提供给最大范围设备使用的最小类库集合,在配置中同时包含j a v a 虚拟机 ( k v m ) 。简表是针对一系列设备提供的开发包集合。简表层在配置层之上,它扩展了配 置层的功能,提供了适应于特定类型设备的a p i ,在配置层之上可以选择合适的一个或 多个简表。在j 2 m e 中还有一个重要的概念:可选包( o p t i o n a lp a c k a g e ) ,它是针对特定 设备提供的类库,比如:某些设备是支持蓝牙的,针对此功能,j 2 m e 中制定了 j s r 8 2 ( b l u e t o o t ha p i ) 提供了对蓝牙的支持。j 2 m e 的体系结构如图2 1 所示【8 】: 可选包( o p t i o n a lp a c k a g e l 简表( p r o f i l e ) 配置( c o n f i g u r a t i o n ) j a v a 虚拟机 主机操作系统 图2 1j 2 m e 运行环境的体系结构 f i g 2 1j 2 m ea r c h i t e c t u r eo fo p e r a t i n ge n v i r o n m e n t 大连交通人学t 学硕十学位论文 ( 1 ) j 2 m e 配置( c o n f i g u r a t i o n ) 由于移动设备厂商很多,而且功能和具体接口都不相同,j 2 m e 要支持的硬件平台 有很大差异,其中有比较高端的设备,例如,电视机的机顶盒、网络电视等;也有比较 低端的,像手机、寻呼机等。因此为了满足不同硬件开发要求,j 2 m e 在开发的通用性 方面是通过一个特殊的配置文件来实现的。j 2 m e 将不同的设备进行分类,形成了一定 的规范,不同设备的开发需要遵循这些规范,又可以通过配置文件根据自身的情况灵活 地选取需要的开发环境进行开发。每个配置为一组通用设备提供最小的j a v a 平台,这些 配置文件就是对具体的硬件类型进行配置,方便j 2 m e 辨认不同的设备。到目前为止, j 2 m e 存在两种配置: 连接受限设备配置( c l d c ) 用于内存有限的1 6 位或3 2 位设备。这些设备的内存 在1 2 8 5 1 2 k b 之间,处理器速度较慢,通常是靠电池给设备供电,并且网络连接通常表 现为间歇性连接,而且带宽有限。c l d c 为这些设备定义了一个的小型的j a v a 平台。 c l d c 同时还是用于开发绘图工具应用程序的配置。 连接设备配置( c d c ) 用于要求内存超过2 m b 的3 2 位体系结构,是为处理能力较 强、内存空间更大、联网能力更出色的设备设计的。其内存可以为r a m 、r o m 或是 f l a s h 闪存,其虚拟机支持j a v a 2 虚拟机的全部功能。 图2 2 描述了c d c 和c l d c 之间的关系,同时该图也揭示了它们与整个j 2 s ea p i 的关系。c d c 是加上一些额外类的j 2 s e 的子集。同样,也可以看到c l d c 是c d c 的 子集。 ( 2 ) 简表( p r o f i l e ) 图2 2j 2 s e 、c d c 和c l d c 之间的关系 f i g 2 2t h er e i m i o no f j 2 s e 、c d ca n dc l d c 6 第二章j 2 m e 体系结构及移动应用的安全需求 c d c 和c l d c 仅仅是对各类设备中最具共性的配置提供了基本的功能集合。但是, 实际应用中,不同的设备之前存在着很大的差异。因此,在c o n f i g u r a t i o n 的基础上,又 定义了p r o f i l e 的概念。 简表为消费相同电子设备的不同生产商提供了标准化的j a v a 类库。同一类设备中的 所有设备都必须实现p r o f i l e 所定义的特征,并且设备上的程序只使用这个特定p r o f i l e 所提供的功能。这样通过这个p r o f i l e 就可以方便地在同一类设备之间进行移植。新的设 备只要支持这个p r o f i l e 就可以直接使用基于这个p r o f i l e 之上的所有应用。 目前j 2 m e 领域里使用最广泛的是移动信息设备简表( m i d p ) ,它主要是针对手机和 其他双向移动通信设备而设计的,这点我们会在后面重点讲解。 ( 3 ) 可选包( o p t i o n a lp a c k a g e ) 除了配置和简表之外,在j 2 m e 规范之中还定义了厂商选择性实现( 可选包) 。可选 包是指架设于简表之上,扩展了简表的一套a p i ,不局限于单个设备类别或设备家族的 通用程序库,例如:一套用于地理定位的a p i 可能适用于多个类别的设备,技术上也不 会局限于单个简表。可选包是简表演化过程中的重要角色,在为新技术和新特性开发 a p i 的时候,这些新的a p i 在开始的时候就会作为可选包出现。而当这些a p i 成熟的时 候,就会被集成进简表。在程序开发中,程序员也可根据厂商提供的这些可选包开发出 具有特别响应功能的应用程序 9 1 。 ( 4 ) j 2 m e 虚拟机( j v m ) j a v a 程序是以边解释边执行的方式运行的,所以的j a v a 程序都会编译成为二迸制 代码,并运行在j a v a 虚拟机上。j 2 m e 针对的设备主要是嵌入式和消费类的设备,因为 这些设备内存和处理器的限制,所以j 2 m e 所包含的类库也比较小一些,相对于j 2 s e 的类库来说,做了些剪裁,虚拟机的功能也相对简单。 在j 2 m e 中有两类虚拟机:c v m ( c o m p a c tv i r t u a lm a c h i n e ,c 虚拟机) 与k v m ( k i l o v i r t u a lm a c h i n e ,k 虚拟机) 。虚拟机层( v i r t u a lm a c h i n e ) 基于宿主操作系统,按照某一种 配置,实现了j a v a 虚拟机。c d c 配置对应的虚拟机是c v m ,c l d c 配置对应的虚拟机 是k v m 。这两类虚拟机都是j v m 的子集,在功能上都是j v m 的缩减版。这两类虚拟 机的适用范围并不相同,简单地说,c v m 的功能比k v m 功能更为强大。开始的时候, c v m 代表c o m p a c tv i r t u a lm a c h i n e ,但是后来s u n 的工程师认为这有可能与k v m 相混 淆,因此现在c 并不代表特定的含义。c v m 除了支持标准j 2 s e 虚拟机的所有特性外, 还支持许多嵌入式系统需要的特性,更适合于在资源限制条件下运行,移植性很强【l m l l 】。 7 人连交通火学工学硕+ 学位论文 2 1 1k v m k v m 是一个专门为小型、资源受限设备所设计的紧凑的、便携的j a v a 虚拟机。并 且是用于c l d c 配置的虚拟机。它由s u n 实验室的s p o t l e s s 项目发展而来。c l d c 和 m i d p 运行于k v m 之上。k v m 中的k 是k i l o 的简写,意思是千字节,意味着它的内 存容量是以千字节来衡量的。k v m 实现所需的最小总内存空间大约是1 2 8 k b ,包括运 行虚拟机、最小的库、运行j a v a 应用程序所需的堆( h e a p ) 空间。 作为运行在资源有限设备上的虚拟机,k v m 具有以下几个特点: 体积很小,其标准版本大概只有4 0 k 左右; 动态使用内存; 极高的移植性。 设计c l d c 虚拟机的目的是实现j a v a 编程语言所有的重要特点,且能在只有几百k 字节可用内存的有限资源设备上运行i l 引。k v m 的设计目标是: 具有静态的内存( 4 0 8 0 r a l 3 ) ; 移植性强; 模块化和可定制化; 尽可能的完善且快捷。 因为k v m 和j v m 的目标设备不同,k v m 在实现上受到硬件设备的限制,k v m 是模块化的,也就是说,它是由模块构建的,当某个模块实现了预先设定的目标后,就 可以很容易地把这一模块卸载。可选的模块包括:大的数据类型( 1 0 n g 、f l o a t 和d o u b l e ) 、 多维数组、类文件验证等。因此k v m 与j v m 在以下几方面不同:不支持浮点数;不 支持类实例的销毁;有限的错误处理机制;不支持用户定义的类装载器;不支持j n i ; 不支持映射;不支持线程组和守护线程;不支持弱引用。 k v m 是用c 语言实现的,只要有c 编译器,它就可以方便的移植到各种平台上。 虚拟机采用了直接的字节码解释器,有各种不同的编译标志和选项来帮助移植工作,并 增强空间的优化。 大多数k v m 源代码对所有实现都是通用的,这些相对较小的与机器和平台再次相 关的代码被分割成少数几个文件,对于新的或修改过的文件版本必须针对每次移植进行 再次编译。另外还必须实现相对较少的几个运行时函数,目的是在k v m 和底层本地操 作环境之间提供必须的接口,以进行初始化、终止化、堆栈分配与收回、重大错误报告、 事件处理、当前时间等操作1 3 埘】。 8 第二章j 2 m e 体系结构及移动应用的安全需求 2 1 2j 2 m e 配置 j 2 m e 把设备分为两类:一种是连接设备( c o n n e c t e dd e v i c e ) ,一种是有限连接设备 ( c o n n e c t e dl i m i t e dd e v i c e ) 。前一种对应于那些有电源的,电力充裕,较大的设备,如: 电视机,冰箱等。后一种对应于主要使用电池,小型的设备,如:手机,p d a 等。 ( 1 ) c l d c c l d c 的目标是为了资源受限且具有网络接入能力的设备提供一个标准化的、高度 可移植的、小内存容量的j a v a 应用程序开发平台。2 0 0 0 年5 月,j a v ac o m m u n i t y p r o c e s s ( j c p ) 公布了c l d c l 0 规范( 即j s r 3 0 ) 。 c l d c 由两部分组成,分别是为应用程序提供的最小j a v a 语言类库和适合运行在资 源受限设备上的虚拟机。虚拟机运行在目标操作系统上,对下层的硬件提供必要的兼容 和支持,核心类库提供操作系统所需要的最小的软件需求。 c l d c 为上层简表提供了如下支持【1 5 1 : j a v a 语言规范的核心特性; j a v a 虚拟机规范的核心特性; j a v a 核心类库,包括j a v a 1 a n g ,j a v a u t i l 木和j a v a i o 枣; 通用连接框架; 安全特性; 国际化支持。 看到上述特性,我们必须澄清一个概念是:c l d c 只是j 2 s e 的一个子集。c l d c 中类库大致分为两类:其中核心类库都是从j 2 s e 中继承而来的,并且进行了适当的裁 减以适合移动终端设备的内存和处理器。主要包括3 个包:j a v a 1 a n g 母,j a v a u t i l 木和 j a v a i o 拿。另外一类是c l d c 特有的类,即通用连接框架g c f ( g e n e r i cc o n n e c t i o n f r a m e w o r k ) 的特殊包- j a v a x m i c r o e d i t i o n i o ,用来扩展移动设备的网络特性。 c l d c 的安全结构主要有两部分组成:底层虚拟机的安全和应用程序层的安全。 c l d c 要求j a v a 虚拟机能够识别和拒绝无效的和非法的类文件。预校验阶段通常在开发 者编写和编译完后,但还没有下载到设备之前,在开发平台上完成。在运行时,虚拟机 的运行时验证器组件使用预验证器产生的附加的s t a c k m a p 属性项来执行实际的类文件 验证工作。 c l d c 的预审核机制: 在移动信息设备中,j a v a 虚拟机的一个关键要求就是底层虚拟机的安全性。一个运 行在虚拟机之上的应用,决不能对所在设备或者虚拟机本身造成伤害。在一个标准的 j a v a 虚拟机实现里,这种限制是通过类文件检查器来保证的。这个检查确保字节代码和 9 大连交通人学j r 学硕十学位论文 存储在类文件里的其他项不包含非法的指令、不以非法的顺序执行,而且不包含对j a v a 对象内存( 对象栈) 之外的无效内存地址或者内存区域的引用。一般来讲,类文件检查器 的角色是保证加载入虚拟机中的类文件不能以虚拟机规范允许范围之外的方式执行。 类文件检查器的操作分为两个阶段,如图2 3 所示: 通过预审ii 目标设 核的字节i王垫至! 旦,i 备审核 码c l a s s i 标设备 i执行 图2 3c l d c l ) ( 5 ) m i d p 的开发流程与工具 m i d p 程序开发的步骤依次为编写源程序、编译、混淆( 可选) 、预审核、编写清单 文件、打包、在模拟器上测试和调试、编写j a d 描述文件、将j a r 文件下载到目标机 器中运行。其过程如图2 6 所示: 图2 6m i d p 程序开发流程 f i g 2 6m i d pp r o g r a md e v e l o p m e n tp r o c e s s 编译即将源文件( j a v a 文件) 编译成类文件( c l a s s 文件) ,类文件中存储了j a v a 类的字 节码,每个类对应一个类文件。混淆的目的有两个:一是防止他人将程序非法地反汇编, 从而得到程序的源代码;二是混淆过程可以减小c l a s s 文件的大小,这对于具有较少资 源的小型设备来说,具有特别的意义。经混淆后得到的仍是类文件,这一步骤对程序执 1 4 第二章j 2 m e 体系结构及移动府用的安全需求 行并没有影响,所以是可选的。出于安全性的考虑,在传统的j a v a 程序执行前,须先在 本地经过字节码审核器的验证,以防止程序在传送过程中遭到损坏或恶意修改。通过预 审核后,类文件还须打包成j a r 文件才可安装执行【l9 1 。下载m i d l e ts u i t e 到手机运行有 两种方式:一是通过手机厂商提供的软件和连接线或红外线等方式,直接将手机与p c 相连,然后将程序下载到手机上;二是通过o t a ( o v e rt h ea i r ) 方式,即通过互联网, 从服务器上下载。 j 2 m e 的开发工具大抵分为两类:一类为专门的j 2 m e 开发工具,这一类开发工具 主要是s u n 推出的j a v aw i r e l e s st o o l k i t ( w t k ) ;另一类为能够进行j 2 m e 开发的j a v a 开发工具,包括j b u i l d e r 、e c l i p s e 、n e t b e a n s 和i n t e l l i j 等。其中,w t k 、e c l i p s e 和n e t b e a n s 可免费获得和使用。 ( 6 ) m i d p 用户界面 用户界面( u s e ri n t e r f a c e ) 是用户对程序的直观印象,同时也是交互的主要媒介。 a w t s w i n g 是目前在j 2 s e 平台上广泛使用的标准g u i 类库,但是它们不能适应小型 设备的资源特性。为此,j 2 m e 重新开发了一套用户界面类库,即i a v a x m i c r o e d i t i o n i c d u i 。 它由两部分的a p i 组成:高级( h i 曲1 e v e l ) a p i 和低级( 1 0 w 1 e v e l ) a p i 。s c r e e n 和c a n v a s 类分别是高级a p i 和低级a p i 的源头。l c d u i 包的具体结构如图2 7 所示1 2 。 图2 7i c d u i 包结构 f i g 2 7t h es t r u c t u r eo fl c d u ip a c k a g e 大连交通人学t 学硕士学位论文 d i s p l a y 类用于管理屏幕的显示,它负责将各个界面显示内容映射到实际硬件设备 的屏幕。d i s p l a y a b l e 类是一个抽象类,是所有可以单独在屏幕上显示的组件的父类。 d i s p l a y a b l e 对象可以由一个标题、一个t r i c k e r 对象、o 个或多个c o m m a n d 对象已经相 关的l i s t e n e r 。显示在屏幕上的内容和用户之间的交互方式由其子类定义。 c o m m a n d l i s t e n e r 接口类定义了一种与用户交互的方式,当应用程序需要接收用户命令 时,启动该接口的实例,一旦用户发出了己经注册过的命令,程序将自动激活对应的处 理方法。 2 2 移动应用的安全需求 2 2 1 移动应用系统的安全需求 无线移动应用的安全应确保双方的合法权益所涉及的内容不受非法入侵者的侵害, 通常主要涉及以下几个方面的内容: ( 1 ) 数据的机密性( c o n f i d e n t i a l i t y ) 移动应用应该对主要信息进行加密处理,防止对信息的非法操作( 对信息的非法存 取、窃取、篡改) ,以避免非法用户获取和解读原始数据。移动应用信息直接代表着个 人、企业或国家的商业机密,而移动应用建立在开放的网络环境上。因此,要预防非法 的信息存取和信息被非法窃取。 防止合法或隐私数据为非法用户所获得,通常使用加密的手段实现,从而确保交易 过程中只有交易的双方才能唯一知道交易的内容。 ( 2 ) 完整性( i n t e g r i t y ) 数据输入时的意外差错或欺诈行为,数据传输过程中信息丢失、信息重复或息传送 的次序差异可能会导致贸易各方信息的差异。保持贸易各方信息的完整性是移动应用的 基础。因此,要预防对信息的随意生成、修改和删除,同时要防止数据传送过程中信息 的丢失和重复并保证信息传送次序的统一。移动应用系统应该提供对数据进行完整性验 证的手段。完整性要求保证数据的一致性,防止数据被非授权建立、修改和破坏。完整 性一般可通过提取信息消息摘要的方式来获得。确保交易他方或非法入侵者不能对交易 的内容进行修改。 ( 3 ) 鉴另l j ( a u t h e n t i c a t i o n ) 移动应用系统应该提供通信双方进行身份鉴别的机制,确定要进行交易的贸易方正 是进行交易所期望的贸易方是保证电子商务顺利进行的关键。交易双方是可以信任的, 即确保服务间的相互身份认证,防止欺诈行为的产生。 1 6 第二章j 2 m e 体系结构及移动应用的安全需求 在传统的纸面贸易中,贸易双方通过在交易合同、契约或贸易单据等书面文件上手 写签名或印章来鉴别贸易伙伴,确定合同、契约、单据的可靠性并预防抵赖行为的发生。 在无纸化的移动应用系统方式下,通过手写签名和印章进行贸易方的鉴别已是不可能 的。因此,要在交易信息的传输过程中为参与交易的个人、企业或国家提供可靠的标识。 一般可以通过数字签名和数字证书相结合的方式实现用户身份的鉴别。 ( 4 ) 不可否
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026中医师定期考核试题题库(含答案)
- 2026年医师定期考核口腔科测试题库含答案解析版
- 2026年新《煤矿安全规程》培训考试题库(附答案)
- 2026年妇产科工作计划及总结
- 2026年检车站考试题库及参考答案
- 2026年殡葬服务从业人员考试题库及答案
- 2025年饲料和饲料添加剂生产企业从业人员法规考试试题库附答案
- 2025年公务员遴选考试公文写作真题及答案解析
- 表格软件课件
- 2025-2026年苏教版高三物理测验卷
- GB/Z 270-2026安全与韧性业务连续性管理体系业务连续性策略指南
- 2026年医疗废物分类及处理培训考试试题(附答案)
- GB/T 48315-2026鲁班工坊运行质量评估指南
- 2026年健康科普大赛基础测试题含答案
- 八年级物理上册期末《声现象》6大易错题专项训练
- 2026年内蒙古自治区中考生物试卷(含答案及解析)
- 冷轧硅钢及金属制品深加工项目可行性研究报告模板拿地申报
- 2026年4月自考04184线性代数(经管类)试题及答案含评分参考
- 贵州省2023年普通高中学业水平合格性考试数学试卷及答案
- 装饰工程计算培训
- 校运会裁判知识培训内容
评论
0/150
提交评论