1.前言
USB外部串行總線標準廣泛應用于規(guī)范電腦與外部設備的連接和通訊,可以連接打印機、掃描儀、移動硬盤、外置光軟驅(qū)等設備。在傳統(tǒng)的架構(gòu)中,USB移動存儲設備可以通過操作系統(tǒng)內(nèi)核進行管理。在虛擬化架構(gòu)下,為了滿足不同用戶的計算需求,一個虛擬化平臺上可能同時運行多個虛擬機,這些虛擬機共享同一個硬件平臺,由虛擬機控制器進行統(tǒng)一管理。
虛擬化的本質(zhì)是對物理設備的共享,平臺上的多個虛擬機共享一套物理資源。虛擬化架構(gòu)下的物理外設接口是屬于整個平臺的資源,不屬于任何一個虛擬機。由于虛擬化平臺缺乏相關(guān)機制來辨別USB設備所屬虛擬機,因此當虛擬機用戶將USB存儲設備連接到平臺時,設備可能被沒有使用權(quán)限的用戶訪問。
當前,還沒有針對虛擬化平臺下多虛擬機共存的特點而設計的USB存儲設備訪問控制系統(tǒng)。本文的主要工作是分析USB接口驅(qū)動系統(tǒng)和虛擬化平臺的工作原理,研究基于身份認證的虛擬化USB接口訪問控制機制,通過屏蔽非授權(quán)用戶保護虛擬化平臺中USB數(shù)據(jù)的安全。
2.USB驅(qū)動系統(tǒng)
2.1 Linux系統(tǒng)USB驅(qū)動
USB通用串行總線是最復雜的外部設備接口標準之一,提供了串行I/O,動態(tài)設備配置和通用設備連接,USB具有傳輸速度快(USB1.1是12Mbps, USB2.0是480Mbps)、使用方便、支持熱插拔、連接靈活、獨立供電等特點,可以連接鼠標、打印機、掃描儀、移動硬盤、數(shù)碼相機等幾乎所有的外部設備。
Linux系統(tǒng)下的USB驅(qū)動系統(tǒng)由三個層次的驅(qū)動模塊構(gòu)成:
(1)USB功能驅(qū)動是針對具體設備的驅(qū)動,根據(jù)不同USB設備的特點編寫的,如USB存儲介質(zhì)驅(qū)動、USB人機交互設備驅(qū)動以及USB掃描驅(qū)動。當應用程序或者其他設備驅(qū)動向USB設備發(fā)出I/O請求時,USB功能驅(qū)動將這些I/O請求轉(zhuǎn)換成一系列的USB命令,然后將它們以USB請求塊URB(USB Request Block)的形式提交給USB核心驅(qū)動。
(2)USB核心驅(qū)動程序同時為上層的USB功能驅(qū)動和下層的USB主機控制器驅(qū)動提供了通用的接口,其主要功能是[第一論文網(wǎng)專業(yè)提供代寫論文和論文代寫服務,歡迎您的光臨lunwen.1kejiAN.com]動態(tài)地配置和管理USB設備,當一個新的USB設備連接到系統(tǒng)總線時,首先由核心驅(qū)動程序開始對設備進行枚舉,從而獲取特定設備信息,加載該設備相應的功能驅(qū)動。
(3)USB主機控制器驅(qū)動是用于控制USB主機控制器的驅(qū)動,當USB主機控制器驅(qū)動從USB核心驅(qū)動接收到URB后,會將它們分割成更小的請求片,連接到不同的幀列表中,然后交給主機控制器芯片完成具體的I/O事務。
2.2 虛擬化架構(gòu)USB驅(qū)動
虛擬化架構(gòu)下的USB驅(qū)動系統(tǒng)采用的是前后端分離的設備驅(qū)動模型。設備驅(qū)動分為前端和后端兩部分,前端驅(qū)動位于用戶虛擬機中,相當于虛擬的驅(qū)動程序,作為后端驅(qū)動的代理其主要功能是負責和后端驅(qū)動通信,不需要接觸具體硬件細節(jié)。后端位于特權(quán)管理域中,是某種類型的USB設備驅(qū)動,如USB存儲介質(zhì)驅(qū)動、USB人機交互設備驅(qū)動以及USB掃描驅(qū)動等,主要負責操作物理主機控制器和設備。前后端驅(qū)動通過共享內(nèi)存的方式進行通信。
前端驅(qū)動負責監(jiān)聽用戶的USB請求,并在虛擬機操作系統(tǒng)中建立一個虛擬的USB設備樹。當收到用戶的USB請求后,前端驅(qū)動通過內(nèi)存映射的方式將用戶的USB請求發(fā)送到后端驅(qū)動,后端驅(qū)動在接收到前端驅(qū)動的USB請求后,創(chuàng)建URB并將URB傳輸給物理設備。后端驅(qū)動完成物理主機控制器和設備操作,并將物理設備分配到客戶虛擬機的虛擬USB設備樹中。USB請求執(zhí)行完成之后,后端驅(qū)動會將USB的執(zhí)行的狀態(tài)通過共享內(nèi)存返回給前端驅(qū)動。客戶虛擬機透明地操縱虛擬控制器,與操縱實際的主機控制器一樣。
3.USB訪問控制系統(tǒng)
基于虛擬化平臺USB驅(qū)動系統(tǒng)的特點,本文設計了一種適應于虛擬化架構(gòu)的USB設備訪問控制系統(tǒng),用以解決虛擬化平臺上USB存儲設備的數(shù)據(jù)安全問題,保障USB存儲設備在虛擬化平臺上安全使用。
3.1 系統(tǒng)組成
訪問控制系統(tǒng)的設計以虛擬化架構(gòu)的USB驅(qū)動系統(tǒng)為基礎,以模塊的形式集成在虛擬化架構(gòu)的USB驅(qū)動系統(tǒng)中。
訪問控制系統(tǒng)由訪問接口模塊、用戶及設備信息管理模塊、加密模塊和USB接口管理模塊四部分組成。
(1)訪問接口模塊是系統(tǒng)中其他模塊的數(shù)據(jù)輸入輸出的接口,負責接收客戶虛擬機設備連接程序發(fā)送的消息。
(2)用戶及設備信息管理模塊負責管理用戶與設備之間的映射關(guān)系,其記錄格式是:(虛擬機ID,設備ID,密鑰),虛擬機ID用于區(qū)分同一硬件平臺上運行的多個虛擬機,設備ID表示接入硬件平臺的USB外部設備,密鑰與設備ID綁定,作為虛擬機有權(quán)使用設備的唯一憑證。
(3)加密模塊中含有一個隨機密鑰生成器,對有新的設備加入時,加密模塊會設備生成一個隨機密鑰并與設備ID綁定,作為設備信息的唯一標識。該密鑰會返回給用戶及設備信息管理模塊存儲,由用戶及設備信息管理模塊分配給授權(quán)使用的客戶虛擬機,作為客戶虛擬機中使用USB設備的憑證。
(4)USB接口管理模塊的功能主要是控制各個虛擬機的虛擬USB接口,它提供了一組虛擬USB主機控制器和接口操作函數(shù),包括查詢空閑接口,設備接入,設備斷開,接口遍歷,檢查USB主機控制器狀態(tài)等。
3.2 工作模式
訪問控制系統(tǒng)位于虛擬機管理域中,具有最高特權(quán)級,負責對各虛擬機的設備訪問權(quán)限進行管理。當有新的USB設備接入虛擬機平臺時,虛擬機控制器用隨機生成的密鑰,對設備進行加密,密鑰與設備ID綁定,作為客戶虛擬機有權(quán)使用設備的唯一憑證。被授權(quán)使用USB設備的客戶虛擬機,被管理域分配與該設備綁定的密鑰。
4.結(jié)束語
本文針對虛擬化平臺下USB接口的特點,提出了虛擬化平臺USB接口訪問控制系統(tǒng),對試圖連接到客戶虛擬機的USB存儲設備的用戶進行身份認證,屏蔽非法的用戶使用USB存儲設備的請求,對保證USB設備中重要隱私數(shù)據(jù)的安全重要意義。但是對于控制系統(tǒng)本身的安全性分析不足,沒有考慮控制系統(tǒng)本身的安全防護問題,再下一步的工作中,針對虛擬機架構(gòu)的特點,應提出對USB設備中數(shù)據(jù)的加解密機制,進一步提高隱私數(shù)據(jù)的安全性。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務領(lǐng)域、行業(yè)應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業(yè)務領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.oesoe.com/
本文標題:基于虛擬化架構(gòu)的USB訪問控制的相關(guān)策略
本文網(wǎng)址:http://www.oesoe.com/html/consultation/10839615339.html