1.前言
USB外部串行总线标准广泛应用于规范电脑与外部设备的连接和通讯,可以连接打印机、扫描仪、移动硬盘、外置光软驱等设备。在传统的架构中,USB移动存储设备可以通过操作系统内核进行管理。在虚拟化架构下,为了满足不同用户的计算需求,一个虚拟化平台上可能同时运行多个虚拟机,这些虚拟机共享同一个硬件平台,由虚拟机控制器进行统一管理。
虚拟化的本质是对物理设备的共享,平台上的多个虚拟机共享一套物理资源。虚拟化架构下的物理外设接口是属于整个平台的资源,不属于任何一个虚拟机。由于虚拟化平台缺乏相关机制来辨别USB设备所属虚拟机,因此当虚拟机用户将USB存储设备连接到平台时,设备可能被没有使用权限的用户访问。
当前,还没有针对虚拟化平台下多虚拟机共存的特点而设计的USB存储设备访问控制系统。本文的主要工作是分析USB接口驱动系统和虚拟化平台的工作原理,研究基于身份认证的虚拟化USB接口访问控制机制,通过屏蔽非授权用户保护虚拟化平台中USB数据的安全。
2.USB驱动系统
2.1 Linux系统USB驱动
USB通用串行总线是最复杂的外部设备接口标准之一,提供了串行I/O,动态设备配置和通用设备连接,USB具有传输速度快(USB1.1是12Mbps, USB2.0是480Mbps)、使用方便、支持热插拔、连接灵活、独立供电等特点,可以连接鼠标、打印机、扫描仪、移动硬盘、数码相机等几乎所有的外部设备。
Linux系统下的USB驱动系统由三个层次的驱动模块构成:
(1)USB功能驱动是针对具体设备的驱动,根据不同USB设备的特点编写的,如USB存储介质驱动、USB人机交互设备驱动以及USB扫描驱动。当应用程序或者其他设备驱动向USB设备发出I/O请求时,USB功能驱动将这些I/O请求转换成一系列的USB命令,然后将它们以USB请求块URB(USB Request Block)的形式提交给USB核心驱动。
(2)USB核心驱动程序同时为上层的USB功能驱动和下层的USB主机控制器驱动提供了通用的接口,其主要功能是[第一论文网专业提供代写论文和论文代写服务,欢迎您的光临lunwen.1kejiAN.com]动态地配置和管理USB设备,当一个新的USB设备连接到系统总线时,首先由核心驱动程序开始对设备进行枚举,从而获取特定设备信息,加载该设备相应的功能驱动。
(3)USB主机控制器驱动是用于控制USB主机控制器的驱动,当USB主机控制器驱动从USB核心驱动接收到URB后,会将它们分割成更小的请求片,连接到不同的帧列表中,然后交给主机控制器芯片完成具体的I/O事务。
2.2 虚拟化架构USB驱动
虚拟化架构下的USB驱动系统采用的是前后端分离的设备驱动模型。设备驱动分为前端和后端两部分,前端驱动位于用户虚拟机中,相当于虚拟的驱动程序,作为后端驱动的代理其主要功能是负责和后端驱动通信,不需要接触具体硬件细节。后端位于特权管理域中,是某种类型的USB设备驱动,如USB存储介质驱动、USB人机交互设备驱动以及USB扫描驱动等,主要负责操作物理主机控制器和设备。前后端驱动通过共享内存的方式进行通信。
前端驱动负责监听用户的USB请求,并在虚拟机操作系统中建立一个虚拟的USB设备树。当收到用户的USB请求后,前端驱动通过内存映射的方式将用户的USB请求发送到后端驱动,后端驱动在接收到前端驱动的USB请求后,创建URB并将URB传输给物理设备。后端驱动完成物理主机控制器和设备操作,并将物理设备分配到客户虚拟机的虚拟USB设备树中。USB请求执行完成之后,后端驱动会将USB的执行的状态通过共享内存返回给前端驱动。客户虚拟机透明地操纵虚拟控制器,与操纵实际的主机控制器一样。
3.USB访问控制系统
基于虚拟化平台USB驱动系统的特点,本文设计了一种适应于虚拟化架构的USB设备访问控制系统,用以解决虚拟化平台上USB存储设备的数据安全问题,保障USB存储设备在虚拟化平台上安全使用。
3.1 系统组成
访问控制系统的设计以虚拟化架构的USB驱动系统为基础,以模块的形式集成在虚拟化架构的USB驱动系统中。
访问控制系统由访问接口模块、用户及设备信息管理模块、加密模块和USB接口管理模块四部分组成。
(1)访问接口模块是系统中其他模块的数据输入输出的接口,负责接收客户虚拟机设备连接程序发送的消息。
(2)用户及设备信息管理模块负责管理用户与设备之间的映射关系,其记录格式是:(虚拟机ID,设备ID,密钥),虚拟机ID用于区分同一硬件平台上运行的多个虚拟机,设备ID表示接入硬件平台的USB外部设备,密钥与设备ID绑定,作为虚拟机有权使用设备的唯一凭证。
(3)加密模块中含有一个随机密钥生成器,对有新的设备加入时,加密模块会设备生成一个随机密钥并与设备ID绑定,作为设备信息的唯一标识。该密钥会返回给用户及设备信息管理模块存储,由用户及设备信息管理模块分配给授权使用的客户虚拟机,作为客户虚拟机中使用USB设备的凭证。
(4)USB接口管理模块的功能主要是控制各个虚拟机的虚拟USB接口,它提供了一组虚拟USB主机控制器和接口操作函数,包括查询空闲接口,设备接入,设备断开,接口遍历,检查USB主机控制器状态等。
3.2 工作模式
访问控制系统位于虚拟机管理域中,具有最高特权级,负责对各虚拟机的设备访问权限进行管理。当有新的USB设备接入虚拟机平台时,虚拟机控制器用随机生成的密钥,对设备进行加密,密钥与设备ID绑定,作为客户虚拟机有权使用设备的唯一凭证。被授权使用USB设备的客户虚拟机,被管理域分配与该设备绑定的密钥。
4.结束语
本文针对虚拟化平台下USB接口的特点,提出了虚拟化平台USB接口访问控制系统,对试图连接到客户虚拟机的USB存储设备的用户进行身份认证,屏蔽非法的用户使用USB存储设备的请求,对保证USB设备中重要隐私数据的安全重要意义。但是对于控制系统本身的安全性分析不足,没有考虑控制系统本身的安全防护问题,再下一步的工作中,针对虚拟机架构的特点,应提出对USB设备中数据的加解密机制,进一步提高隐私数据的安全性。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:基于虚拟化架构的USB访问控制的相关策略
本文网址:http://www.toberp.com/html/consultation/10839615339.html