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