期刊库

教育   经济   科技   财会   管理   
医学   法学   文史   工业   建筑   
农学   水利   计算机   更多>>
 首 页    论文大全   论文精品    学术答疑    论文检测    出书咨询    服务流程    诚信通道    关于我们 

基于虚拟化架构的USB访问控制研究

人气指数: 发布时间:2014-05-28 16:27  来源:http://www.zgqkk.com  作者: 田楠
分享到:

 

  【 摘 要 】 虚拟化架构下的多个虚拟机共享同一个硬件平台,这会给USB外部设备的使用带来安全隐患。当虚拟机用户将USB存储设备连接到平台时,设备可能被没有使用权限的虚拟机访问,造成设备中重要隐私数据失泄密。本文基于虚拟化架构平台提出了一种USB设备安全访问机制,通过身份认证技术,阻止非授权虚拟机使用USB设备,保证USB设备中数据的机密性。

  【 关键词 】 虚拟化;USB;访问控制;机密性

  1 前言

  USB外部串行总线标准广泛应用于规范电脑与外部设备的连接和通讯,可以连接打印机、扫描仪、移动硬盘、外置光软驱等设备。在传统的架构中,USB移动存储设备可以通过操作系统内核进行管理。在虚拟化架构下,为了满足不同用户的计算需求,一个虚拟化平台上可能同时运行多个虚拟机,这些虚拟机共享同一个硬件平台,由虚拟机控制器进行统一管理。

  虚拟化的本质是对物理设备的共享,平台上的多个虚拟机共享一套物理资源。虚拟化架构下的物理外设接口是属于整个平台的资源,不属于任何一个虚拟机。由于虚拟化平台缺乏相关机制来辨别USB设备所属虚拟机,因此当虚拟机用户将USB存储设备连接到平台时,设备可能被没有使用权限的用户访问。

  当前,还没有针对虚拟化平台下多虚拟机共存的特点而设计的USB存储设备访问控制系统。本文的主要工作是分析USB接口驱动系统和虚拟化平台的工作原理,研究基于身份认证的虚拟化USB接口访问控制机制,通过屏蔽非授权用户保护虚拟化平台中USB数据的安全。本文的组织结构如下:第2章对Linux系统下的USB驱动系统和虚拟机架构下的USB驱动系统进行分析;第3章提出了安全访问控制系统的模型和工作原理,介绍了设计思路及各模块的功能;第4章对全文工作进行总结。

  2 USB驱动系统

  2.1 Linux系统USB驱动

  USB通用串行总线是最复杂的外部设备接口标准之一,提供了串行I/O,动态设备配置和通用设备连接,USB具有传输速度快(USB1.1是12Mbps, USB2.0是480Mbps)、使用方便、支持热插拔、连接灵活、独立供电等特点,可以连接鼠标、打印机、扫描仪、移动硬盘、数码相机等几乎所有的外部设备。

  Linux系统下的USB驱动系统由三个层次的驱动模块构成,如图1所示。

  (1)USB功能驱动是针对具体设备的驱动,根据不同USB设备的特点编写的,如USB存储介质驱动、USB人机交互设备驱动以及USB扫描驱动。当应用程序或者其他设备驱动向USB设备发出I/O请求时,USB功能驱动将这些I/O请求转换成一系列的USB命令,然后将它们以USB请求块URB(USB Request Block)的形式提交给USB核心驱动。

  (2)USB核心驱动程序同时为上层的USB功能驱动和下层的USB主机控制器驱动提供了通用的接口,其主要功能是动态地配置和管理USB设备,当一个新的USB设备连接到系统总线时,首先由核心驱动程序开始对设备进行枚举,从而获取特定设备信息,加载该设备相应的功能驱动。

  (3)USB主机控制器驱动是用于控制USB主机控制器的驱动,当USB主机控制器驱动从USB核心驱动接收到URB后,会将它们分割成更小的请求片,连接到不同的帧列表中,然后交给主机控制器芯片完成具体的I/O事务。

  2.2 虚拟化架构USB驱动

  虚拟化架构下的USB驱动系统采用的是前后端分离的设备驱动模型。设备驱动分为前端和后端两部分,前端驱动位于用户虚拟机中,相当于虚拟的驱动程序,作为后端驱动的代理其主要功能是负责和后端驱动通信,不需要接触具体硬件细节。后端位于特权管理域中,是某种类型的USB设备驱动,如USB存储介质驱动、USB人机交互设备驱动以及USB扫描驱动等,主要负责操作物理主机控制器和设备。前后端驱动通过共享内存的方式进行通信。系统的工作模式如图2所示。

  前端驱动负责监听用户的USB请求,并在虚拟机操作系统中建立一个虚拟的USB设备树。当收到用户的USB请求后,前端驱动通过内存映射的方式将用户的USB请求发送到后端驱动,后端驱动在接收到前端驱动的USB请求后,创建URB并将URB传输给物理设备。后端驱动完成物理主机控制器和设备操作,并将物理设备分配到客户虚拟机的虚拟USB设备树中。USB请求执行完成之后,后端驱动会将USB的执行的状态通过共享内存返回给前端驱动。客户虚拟机透明地操纵虚拟控制器,与操纵实际的主机控制器一样。

  3 USB访问控制系统

  基于虚拟化平台USB驱动系统的特点,本文设计了一种适应于虚拟化架构的USB设备访问控制系统,用以解决虚拟化平台上USB存储设备的数据安全问题,保障USB存储设备在虚拟化平台上安全使用。

  3.1 系统组成

  访问控制系统的设计以虚拟化架构的USB驱动系统为基础,以模块的形式集成在虚拟化架构的USB驱动系统中,系统组成如图3所示。

  访问控制系统由访问接口模块、用户及设备信息管理模块、加密模块和USB接口管理模块四部分组成。

  (1)访问接口模块是系统中其他模块的数据输入输出的接口,负责接收客户虚拟机设备连接程序发送的消息。

  (2)用户及设备信息管理模块负责管理用户与设备之间的映射关系,其记录格式是:(虚拟机ID,设备ID,密钥),虚拟机ID用于区分同一硬件平台上运行的多个虚拟机,设备ID表示接入硬件平台的USB外部设备,密钥与设备ID绑定,作为虚拟机有权使用设备的唯一凭证。

  (3)加密模块中含有一个随机密钥生成器,对有新的设备加入时,加密模块会设备生成一个随机密钥并与设备ID绑定,作为设备信息的唯一标识。该密钥会返回给用户及设备信息管理模块存储,由用户及设备信息管理模块分配给授权使用的客户虚拟机,作为客户虚拟机中使用USB设备的凭证。

  (4)USB接口管理模块的功能主要是控制各个虚拟机的虚拟USB接口,它提供了一组虚拟USB主机控制器和接口操作函数,包括查询空闲接口,设备接入,设备断开,接口遍历,检查USB主机控制器状态等。

  3.2 工作模式

  访问控制系统位于虚拟机管理域中,具有最高特权级,负责对各虚拟机的设备访问权限进行管理。当有新的USB设备接入虚拟机平台时,虚拟机控制器用随机生成的密钥,对设备进行加密,密钥与设备ID绑定,作为客户虚拟机有权使用设备的唯一凭证。被授权使用USB设备的客户虚拟机,被管理域分配与该设备绑定的密钥。图4演示了访问控制系统的工作模式,设备1接入虚拟机平台,管理域用随机生成的密钥6对设备进行加密,然后将密钥分配给授权使用该设备的客户虚拟机1,客户虚拟机1获得了解密密钥因此能够正常使用设备。

  4 结束语

  本文针对虚拟化平台下USB接口的特点,提出了虚拟化平台USB接口访问控制系统,对试图连接到客户虚拟机的USB存储设备的用户进行身份认证,屏蔽非法的用户使用USB存储设备的请求,对保证USB设备中重要隐私数据的安全重要意义。但是对于控制系统本身的安全性分析不足,没有考虑控制系统本身的安全防护问题,再下一步的工作中,针对虚拟机架构的特点,应提出对USB设备中数据的加解密机制,进一步提高隐私数据的安全性。


    期刊库(http://www.zgqkk.com),是一个专门从事期刊推广、投稿辅导的网站。
      本站提供如何投稿辅导,寻求投稿辅导合作,快速投稿辅导,投稿辅导格式指导等解决方案:省级投稿辅导/国家级投稿辅导/核心期刊投稿辅导//职称投稿辅导。


      【免责声明】本文仅代表作者本人观点,与投稿辅导_期刊发表_中国期刊库专业期刊网站无关。投稿辅导_期刊发表_中国期刊库专业期刊网站站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。

     
    QQ在线咨询
    投稿辅导热线:
    180-1501-6272
    微信号咨询:
    fabiaoba-com
    咨询电话:18015016272 投稿邮箱:zgqkk365#126.com(#换成@)
    本站郑重声明:文章只代表作者观点, 并不意味着本站认同。所载文章、数据仅供参考,使用前请核实,风险自负。
    部分作品系转载,版权归原作者或相应的机构   若某篇作品侵犯您的权利,请来信告知.版权:周口博闻教育咨询有限公司 
    Copyright © 2005-2023 . 期刊库 版权所有