基于虚拟化架构的USB访问控制研究
【 摘 要 】 虚拟化架构下的多个虚拟机共享同一个硬件平台,这会给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: 913775405(普刊)
蒋老师联系QQ: 867306987(核心)
刘老师联系QQ: 271374912(核心)
联系电话:18015016272
17327192284
投稿辅导投稿邮箱:zgqkk365@126.com
期刊推荐
- 《课程教育研究》 旬刊 国家级
- 《网络空间安全》(信息安全与技术)月刊 国
- 《价值工程》旬刊 国家级 科技统计源期刊
- 《高教论坛》 月刊 省级
- 《法制与社会》旬刊 省级
- 《中国教育学刊》月刊 14版北大核心
- 《语文建设》 旬刊 14版北大核心
- 《中国绿色画报》 月刊 国家级
- 《社科纵横》季刊 社科类优秀期刊
- 《求索》月刊 14版北大核心期刊
- 《财会月刊》旬刊 14版北大核心
- 《艺术品鉴》 月刊 省级
- 《中华建设》月刊 国家级 建设类优秀期刊
- 《教学与管理》旬刊 北大核心
- 《当代经济》 旬刊 省级
- 《新课程研究》旬刊 省级 教育类优秀学术期
- 《文教资料》 旬刊 省级
- 《学术界》 月刊 双核心
- 《吉林教育》旬刊 省级 教育类学术期刊
- 《中国农业资源与区划》 月刊 14版北大核心
- 《继续教育研究》月刊 北大核心期刊
- 《财经界(学术版)》半月刊 国家级
- 《电影评介》半月刊 14版北大核心
- 《公路交通科技》 月刊 北大核心
- 《新闻传播》月刊 省级 新闻类优秀期刊