- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
移动网络安全防护技术
3.2 移动终端可信计算环境
基于安全服务的防护体系能否有效运行的关键在于移动终端的可信计算环境的设计。本文将移动终端的状态分为启动时和启动后两个状态分别进行讨论。启动时建立的可信环境称为静态可信环境,启动后的可信计算环境称为动态可信环境。
关于静态可信的建立方法在很多文献中已有描述,这里再简要介绍一下。移动终端上电后,从可信模块中固化的可信代码启动,硬件的特性保证了这段代码不可能被更改。可信代码首先校验系统装载代码是否完整,若完整就将控制权交给系统装载代码;接着,系统装载代码校验操作系统内核是否完整,若完整就装载操作系统内核;然后,操作系统内核接着对操作系统中的其他部分进行校验;操作系统校验完毕后就被启用;最后再对上层的各个应用程序进行完整性校验,直到所有程序被校验完毕,用户才能使用终端。如果某一个环节没有通过校验,那么就需要恢复之前的配置或重装系统。信任链通过这样的完整性校验从可信代码传递到操作系统,最后再传递给应用软件,就构成了整个系统的静态可信环境。图4为系统启动时的资源结构。可信校验程序附着在程序末尾,负责校验下一段程序的完整性。
从图4可见,为保证系统安全,在静态可信链建立以后,OS内核程序和可信校验程序B不能被破坏,这两部分程序需要靠MTM来保护。因为,在系统启动之后,内核程序需要被运行,而可信检验程序B需要被用来动态检验新启动的应用程序,或者为SSP生成终端的完整性信息。
在系统运行之后,对系统的保护可依赖动态可信机制实现。由于在系统运行之后,随着用户开启的应用的不同,系统的完整性是动态变化的。比如,用户打开浏览器后,浏览器软件被运行,这时,系统中增加了与运行浏览器相关的程序,显然系统完整性发生了变化。如果不能及时正确地更新系统的完整性信息,则可能被恶意软件钻了空子。但要计算动态完整性,必然要耗费系统的计算资源。因此,如何对运行中的系统进行安全保护,是可信计算的难点问题。可信计算要实现以下几个目标:
(1)能够定期对指定程序或区域资源计算其完整性,并汇报给SSP。
(2)能够检查即将安装的程序的合法性,如不合法则不能被安装。
(3)能够检查即将运行的程序的合法性,如不合法则不能被运行。
(4)上述安全机制本身必须是安全的。
(5)上述安全机制应不明显影响系统运行效率。
在上述目标中,目标1是要检查运行中的系统软件或软件资源是否被修改,一旦被修改即能被发现。计算一段代码的完整性通常采用计算其摘要值并与已有摘要值(由SSP提供)相比的方法,也可以采用随机抽取代码位再取其摘要的方法。当代码较长时,后一种方法具有优势。
当移动终端需要安装或运行一个程序时候,不仅需要检查其完整性,还需要验证其合法性。目标2和目标3中程序合法性是通过检查程序是否有SSP授权来验证。该验证过程同样由SSP提供。SSP通过与软件提供商SWP签订合约,并将合法软件的版本及其摘要信息保存在SSP服务器中供移动终端查询。该过程可以用图5所示的流程来描述。
对于目标4,关键是要保护好图4中的可信校验程序B不受破坏,这通常需要专门的硬件。一种有效的保护方法是通过硬件电路实现对可信校验程序B所在的地址空间不能被写入,除非得到MTM的授权许可。这种硬件保护电路可以一并设计在MTM中。
3.3 安全服务器
根据以上阐述,不难理解,安全服务器的两个主要安全服务功能为:
(1)检查移动终端的软件完整性,如不完整,则不允许其接入网络。如移动终端软件完整性受到破坏,表明终端可能已经遭受病毒入侵。如允许其接入网络,则可能会传染其他终端和网络设备。
(2)为移动终端提供软件合法性查询服务。当移动终端需要安装或者运行软件时,首先需要查询该软件是否合法。终端先在本地MTM中查询,如无结果,则将查询申请递交给安全服务器,安全服务器验明终端的身份后将查询结果返回给该终端。
安全服务器的辅助功能还包括:与软件提供商的安全交互,以实现软件安全性审核及合法性信息生成功能;与移动网络运营商的AAA服务器安全交互,以实现身份认证及计费功能;与运营网络的接入网服务器交互功能,以实现基于移动终端完整性的接入控制功能等等。
4 未来的研究方向
随着网络构架和传输协议的日益成熟,未来移动通信安全的研究重点将转移到移动终端上。而由于目前移动终端上的嵌入式平台和嵌入式操作系统的设计初衷都不是专门为移动通信环境服务,因此这方面的安全问题尤为突出。嵌入式系统中程序空间和数据空间一体化的结构,为实现对关键程序的保护增加了难度。因此,有利于保护关键程序安全的嵌入式系统架构是需要进一步研究的问题之一。
类似于TrustZone[19]的域隔离技术,对内存空间的关键位置读写保护是一个很好的思路。操作系统和应用软件装载到内存后,可以通过对CPU访问的内存地址进行监控,控制对关键位置的读写操作。如果能从硬件上来控制读写操作,那么几乎不会影响到系统的运行效率。这种域隔离方案是解决系统实时防护的有效方法,但需要嵌入式操作系统的配合,并提供完整的内存管理的地址信息。因此,针对安全防护的需要,改进系统的结构也是必须研究的内容。
软件平台安全的关键在于操作系统,访问控制是有效的手段,但缺乏足够的理论支撑和安全性测量方法,这也是可信计算技术面临的问题之一。因此在操作系统的安全性研究上,通常侧重在理论指导下构建安全模型,从而增强系统的安全性。
系统软件与应用软件的完整性测量对构建安全体系至关重要。但完整性测量计算量很大,如何设计计算量小且有效的完整性测量算法有实际应用价值。如对软件代码随机抽取比特信息再做摘要,运算量会大幅度下降,但如何抽取和与验证端同步则是需要进一步研究的问题。
1 2 3 4
上一篇:路由器死机掉线问题原因分析
下一篇:基于无线传感器网络的远程智能抄表系统设计(
)