IGRS與UPnP設備互連的安全機制探討

論文類別:計算機論文 > 計算機理論論文
論文作者: 譚玨 何哲 陳援非
上傳時間:2013/2/1 8:27:00

  摘 要:對IGRS的安全機制、UPnP的安全機制以及IGRS與UPnP基於非安全管道上的互連方法進行了探討研究,提出了一種IGRS與UPnP互連的安全機制,保障它們之間互連的安全性,有效防止網絡中針對非安全互連漏洞的各種攻擊。
  關鍵詞:信息設備資源共享協同服務協議;通用即插即用協議;協議機制;管道;安全互連
  
  Survey on IGRS and UPnP devices security interconnection mechanism
  
  TAN Jue??1,2,HE Zhe?1,CHEN Yuan-fei?1,ZHU Zhen-min?1
  
  (1.Research Center for Pervasive Computing, Institute of Computing Technology, Chinese Academy of Sciences, Beijing 100080, China;?2.College of Information Technology, Xiangtan University, Xiangtan Hunan 411105, China)?Abstract:Through the analysis of IGRS and UPnP security mechanism, this paper put forward a new security mechanism built on the basis of non-security pipes to protect the interconnections of heterogeneous devices.This method successfully protected interconnection from all kinds of network attacks.
  Key words:IGRS; UPnP; protocol mechanism; pipe; security interconnection
  
  隨著計算機技術與通信技術的飛速發展,眾多的信息設備生產商在市場驅動下,開發出了功能多樣和強大的設備和儀器,實現這些異構而多樣化的信息設備互連互通成為信息技術產品的發展趨勢,國際上已有許多標準化組織和企業聯盟在進行相關的技術標準制定工作。其中最具代表性的是信息設備資源共享協同服務(IGRS)和通用即插即用(UPnP)兩大主流信息設備互連互通協議。IGRS組織有會員100多家,UPnP組織的成員達到890家之多,都擁有非常廣泛的末端用戶群。IGRS和UPnP的應用範圍也非常廣泛,在家庭自動化、打印、圖片處理、音頻/視頻娛樂、廚房設備、汽車網絡和公共集會場所等類似網絡中都有應用。實現支持不同標準的設備間的相互識別和互連互通是用戶的一致願望。IGRS設備工作組在制定IGRS基礎協議時,已經對IGRS設備與UPnP設備的基礎互連提出了解決辦法,對於分別支持IGRS協議和UPnP協議的信息設備,可以通過擴展訪問接口描述實現它們之間的互連互通。但是,這兩類設備的互連互通是建立在非安全管道上,存在一定的安全隱患,須尋求一種安全機制保障互連的安全性。本文通過對IGRS和UPnP在非安全管道互連互通機制的分析,提出了一種IGRS和UPnP互連的安全機制。
  
  1 IGRS和UPnP簡介
  1.1 IGRS
  IGRS是為了實現信息技術設備智能互連、資源共享、協同服務而制定的標準,基於“閃聯”標準的設備不僅能夠連接,而且可以使不同的設備共享信息資源和功能資源,並充分地組合利用每個設備的功能,創造出更多更豐富的應用服務。為了便於對網絡中資源的共享使用,IGRS在傳輸層和網絡層也制定了相應的協議標準。“閃聯”標準框架[1]如圖1所示。
  IGRS安全規範定義了其上各個協議中的安全交互機制,包括基於服務的訪問控制機制和相應的身份認證、授權等機制。IGRS定義了兩個不同層次的安全,一層是設備間的安全,即協議中所謂的“管道”;另一層是用戶與服務間的安全,即協議中所謂的“會話”。
  1.2 UPnP
  UPnP是由微軟推出的新一代網絡中間件技術,現在由通用即插即用論壇維護升級,其目標是使家庭網絡(數據共享、通信和娛樂)和公司網絡中的各種設備能通過簡單無縫連接實現廣播網、互聯網、移動設備之間的互連。
  
  UPnP標準框架[2]如圖2所示。UPnP論壇定義了UPnP設備和控制點的安全準則[3,4]。在發現階段,定義了安全設備和安全控制臺相互發現的過程和所需要的安全操作。在描述階段設備生產商可以為設備定義和編寫相關的安全控制臺和安全設備描述文件。在控制、事件、展現三個階段,設置安全會話的密鑰,對交互消息進行加密、解密、執行等操作來確保UPnP控制點與設備的交互安全。如果用戶或者生產廠商需要實施自己的安全擴展,可以在UPnP廠商層次上由生產商自定義和實現。
  
  1.3 UPnP與IGRS的互連
  “閃聯”在IGRS制定之初就考慮到了IGRS設備與UPnP設備的互連問題並進行了可行性分析[5]。
  1)設備間尋址機制 UPnP網絡基於IP尋址,而IGRS協議中設備間的尋址可以由IGRS協議以外的機制來實現。兩個協議均可以共同使用靜態IP、動態DHCP或Auto-IP的尋址方式。
  2)設備/服務發現機制 UPnP的設備/服務發現機制采用SSDP,IGRS的設備/服務發現機制同樣建立在SSDP基礎上。通過SSDP可以實現IGRS與UPnP設備/服務的相互發現。
  3)設備/服務描述機制 UPnP使用XML語法,IGRS也使用XML語法。雖然實現模板不同,但是在IGRS服務描述中加入UPnP描述擴展,使得UPnP設備可以識別IGRS服務;對UPnP服務消息進行解析實現IGRS設備對UPnP服務的識別。
  4)服務訪問控制和調用機制 UPnP的服務調用機制采用SOAP(簡單對象訪問協議)傳送消息,IGRS則定義了基於會話的服務調用機制,同樣支持SOAP。通過各自的標準消息解析和改寫可以實現服務調用。
  5)服務事件與通知機制 UPnP采用GENA(通用事件通知架構)機制實現服務事件與通知機制;IGRS則采用基於管道(安全/非安全)的機制實現,通過不同機制的分析與轉換可以實現事件通知。
  2 IGRS和UPnP各自的安全互連
  2.1 UPnP設備間互連安全機制
  UPnP安全文檔中定義了安全相關的函數和數據結構及相關策略[3,4,6]。其過程分為初始化和安全運行兩個階段。
  
  初始化階段如圖3(a)[7]所示,主要工作包括:a)安全控制臺獲取設備公鑰並通過散列算法對公鑰求取散列值並與設備的安全ID比對,進行身份認證;b)安全控制臺與設備雙方協商,設置安全會話密鑰進行會話,控制點獲得設備的所有權;c)對網絡中的可以訪問和擁有設備的控制點進行指定,編輯設備的訪問控制列表等,通過這些操作對設備指定不同用戶(控制點)的訪問權限。執行了這些操作以後,進入安全運行階段。

  安全運行階段如圖3(b)[7]所示,主要工作包括當初始化階段通過身份驗證及設備權限設置完成以後,進入安全運行階段。安全階段的任務是防止黑客的重放攻擊,雙方進行會話密鑰的協商,協商完成後進行通信和服務調用。
  
  2.2 IGRS設備間互連安全機制
  IGRS設備間的互連較UPnP復雜,IGRS設備間的安全互連過程如圖4所示。
  
  在互連的IGRS設備之間,通過組播宣告其在網絡中的存在後,比較雙方都支持的安全機制算法,根據需要選擇其一作為雙方交互的安全機制。在安全機制選擇中,IGRS支持四種安全機制[8]。IGRS設備1和2的安全身份認證為雙向挑戰/應答過程,需交互的IGRS設備1和2在完成前期相關步驟成功後,相互發送管道創建成功的確認消息;管道成功創建以後,建立IGRS用戶與服務間的會話關系。?
  3 IGRS與UPnP之間存在的互連安全問題分析
  傳統的IGRS設備與UPnP設備在非安全管道上基礎互連,未采用任何安全機制,存在嚴重的安全隱患。其中存在的安全問題如表1所示。
  
  表1 非安全通道互連安全問題
  
  存在問題問題描述解決方法
  設備冒充無認證,身份冒充加入身份認證機制
  消息竊聽攻擊者竊聽互連中通信消息對通信消息進行加密
  消息完整攻擊者對通信消息進行竄改采用數字簽名機制
  拒絕服務網絡中設備無法正常工作多次身份認證失敗後?對設備請求不再響應
  重放攻擊者實施重放攻擊對網絡中的通信消息的序列號更新
  1)安全互連的可行性分析 IGRS與UPnP有互操作的基礎,可以在非安全管道上進行互操作。同樣,改造相關的通信消息模板並對相應的消息和服務調用消息進行擴展,可以實現安全互操作。
  2)安全互連的原則 IGRS和UPnP設備有各自的標準和接口,遵循它們各自的功能和屬性的基礎,對接口進行擴展,避免相同標準下的設備經過擴展和改造以後不能相互識別及訪問的問題。
  3)安全互連的切入點 根據兩個標準的不同定義,找出定義部分的靈活性接口,最大限度地在不改變標準的前提下實現互連的高安全。
  4)安全互連的目標 目前IGRS與UPnP互連只是通過非安全管道對一些服務描述和消息進行簡單改寫,安全程度很低,達不到安全保密性要求。
  在普通互連的基礎上,本文從以下幾個方面考慮,提出了UPnP與IGRS的互連安全機制。這幾個方面的安全要求是最基本的,卻又正是普通互連所缺少的。
  a)認證(authentication)。對持有某個標誌的用戶或設備進行身份鑒別,以確認持有某個標誌的用戶的真實性。非安全管道中雖然存在設備標誌,但是作用僅僅局限於區別不同類型的設備,沒有對設備的身份進行認證。
  b)消息完整性(integrity)。對互連過程中的消息的完整性進行檢查。一般使用消息認證碼(MAC)或者安全散列函數加數字簽名完成。非安全管道的連接中,沒有對消息進行完整性驗證,可能會收到竄改過後的消息。
  c)防止重放攻擊(freshness)。無線環境中的消息很容易被竊聽,即使是有線網絡中也同樣存在相似的問題。因此,需要防止用戶登錄消息、調用服務消息的泄露、防止重放攻擊。在網絡中的IGRS和UPnP設備對於消息的序列號沒有更新機制,很容易被黑客利用普通的重放攻擊漏洞。
  d)訪問控制(authorization)。設備根據管理員的需要建立訪問控制列表,有對用戶訪問設備的行為進行訪問控制的能力。普通互連沒有此種能力對用戶或者設備訪問權限進行?控制。
  e)保密性(secrecy)。消息的內容不應以明文的形式在網絡中傳輸才能有效防止他人的竊聽。具有安全特性的設備應該具有對消息內容進行加密和解密的能力。非安全管道只是簡單的互連,消息的安全加密更加無從談起。
  針對以上五個嚴重的安全問題,普通的非安全管道顯得無能為力,無法滿足人們對於安全性的要求。對於以上幾個問題,應該研究新的機制來改進和提高互連的安全性。
  4 IGRS與UPnP之間互連的安全機制
  在此互連互通的安全機制實現方案中,保留IGRS設備間的安全互連方式,遵循UPnP的安全控制臺和UPnP設備間的UPnP論壇定義的相關安全準則,在這些基礎上建立有效的安全互連機制。這樣做的好處是保持了IGRS和UPnP設備各自的安全標準和接口,不會因為與不同標準設備間的互連而導致不同於各自內部標準的接口和安全策略的設備出現,而導致新的互連問題的產生。此過程中盡量保持設備各自標準的獨立性,其安全互連過程如圖5所示。

免費論文下載中心 http://www.hi138.com   圖5中,UPnP設備運行安全控制臺實現UPnP設備的安全屬性並且運行相應的消息轉換機制在網絡上虛擬成一個IGRS設備。其中,實線表示的是IGRS消息,長線加點表示的是UPnP轉換成IGRS的消息,虛線表示UPnP安全控制臺與UPnP設備之間的消息。圖5中,虛擬設備是UPnP相關設備(包括安全控制臺)的擴展,它監聽網絡上的IGRS消息並將這些消息轉換為UPnP消息,其自身在網絡中發送的UPnP消息也轉換為IGRS消息發布到網絡中,這樣網絡中的IGRS設備就會發現這些運行在UPnP設備上的虛擬IGRS設備。?
  下面是一些重要的安全相關的服務調用[3,5]:
  a)GetLifeTimeSequenceBase,得到不重復的隨機序列號。
  b)GetAlgorithmsAndProtocols,得到設備支持的算法和協議。
  c)SetSessionKeys,設置會話密鑰。
  d)DecryptAndExecute,執行加密的命令(返回加密的結果)。
  安全互連過程如下:
  a)發現和連接。IGRS設備和虛擬IGRS設備在網絡上宣告自己與發現對方,然後進行TCP連接,準備進入管道創建?階段。
  b)管道的創建。IGRS設備發送管道連接請求,虛擬IGRS設備接收到此消息,轉換為內部UPnP消息,內部安全控制臺調用getPublicKey()取得公鑰,再將消息封裝成IGRS格式以發送IGRS管道創建響應消息。在雙方約定的安全算法選擇過程中,此方案采用RSA公鑰算法。接下來是雙方的身份驗證、消息加密以及消息鑒別的過程。此過程中,為了防止重放攻擊,IGRS設備隨機數產生函數,而虛擬UPnP設備則通過安全控制臺來調用安全服務getLifteTimeSequenceBase(),按照IGRS管道身份認證的方法進行安全身份認證挑戰。當驗證成功後,可以發現設備上提供的服務,但是暫時不能夠調用。在這個過程中,黑客可能會使用拒絕服務攻擊,可以采用帶流量檢測的包過濾或者是XML防火墻[9]。如果多次在較短的間隔內收到來自同一個設備請求並且在這段時間內反復認證失敗,則認為是拒絕服務攻擊,在較長的一段時間內不再響應該設備的任何請求。

  c)會話的創建。IGRS設備發送創建會話請求給虛擬IGRS設備,接收到消息後虛擬IGRS設備調用相關的安全服務getLifeTimeSequenceBase()和setSessionKeys(),獲取安全會話密鑰附在響應消息中發送給IGRS設備。會話創建成功後,進入會話階段。
  d)安全會話。此階段中,虛擬IGRS設備執行對於服務調用中的會話加密消息進行decrypeAndExecute(),同樣,IGRS設備也對接收的虛擬IGRS設備消息進行響應,完成相應的功能調用。
  e)會話的結束。服務調用結束,雙方協商會話結束。此時虛擬IGRS設備通過安全控制臺執行會話密鑰過期的服務調用,註銷過期的密鑰,結束雙方會話。
  f)結束。設備之間管道斷開、設備離線等。
  互連過程安全性分析如下:
  a)TCP連接和發現,發現網絡中的互連設備。在網絡中的設備只能夠被發現,並不能夠調用設備上的服務。客戶和設備必須經過後續相互認證過程才能夠互連,並設計嚴密的安全步驟,保證無法繞過身份認證。
  b)管道創建。在創建過程中,兩端都采用公鑰算法對各自的身份進行挑戰和認證。此過程都有隨機數產生,有效防止黑客的重放攻擊;同時也有效地解決了表1中提到的設備冒充問題;設備間的消息進行加密,阻止不速之客竊聽。
  
  c)會話創建和會話。在會話的創建過程中,調用getLifeTimeSequenceBase()服務,防止再次可能的重放攻擊;同時設置安全會話密鑰,對會話內容進行調用,對服務的調用消息進行加密、解密和執行。中間過程只能得到加密過的消息,沒有密碼無法解密。在安全互連描述中,對頻繁進行請求並認證失敗的設備不予響應,可以有效防止拒絕服務的?攻擊。
  d)結束工作。調用expiredSessionKeys()函數刪除原有的密鑰等一些結尾工作,使得密鑰過期,不能夠在新的會話中再次使用原來的密鑰,進一步增強了密鑰的安全性。
  5 結束語
  在前人關註IGRS和UPnP設備簡單非安全互連的基礎上,本文依照IGRS和UPnP的安全工作原理,參考開源的UPnP庫對UPnP進行改進,實現IGRS與UPnP的安全互連。原來非安全的互連上存在的設備冒充、重放攻擊,互聯網絡中的設備、用戶受到網絡幹擾等問題,在此方案中得到了十分有效的解決。在泛在設備的互連技術項目中,在已經實現了IGRS與UPnP互通協議棧的基礎上進行了安全擴展,實現了預期的認證、完整性、防止重放、訪問控制和保密五大目標。
  本系統也存在需要改進的地方,如公鑰的維護和更新問題;再者,由於IGRS和UPnP都存在組播特性,網絡上的其他計算機可以“聽到”,並發現網絡中無安全特性的設備,如果這個設備被其他安全設備所信任,那麽黑客有可能利用此設備作為跳板來實現對其他設備和服務的攻擊。?
  

參考文獻


  [1]
  閃聯工作組.閃聯應用白皮書[R].北京:閃聯工作組,2003.
  [2]UPnP Forum.UPnP device architecture 1.0[EB/OL].(2008-10-15)[2009-11-10].http://www.UPnP.org/resources/documents.asp.
  
  [3]UPnP Forum.Security console:1 service template[EB/OL].(2003-11)[2009-11-10].http://www.UPnP.org/resources/documents.asp.
  [4]UPnP Forum.Device security:1 service template[EB/OL].(2003-11)[2009-11-10].http://www.UPnP.org/resources/documents.asp.
  [5]中華人民共和國信息產業部.SJ/T 11310-2005,信息設備資源共享協同服務第一部分:基礎協議[S].北京:閃聯工作組,2005.
  [6]UPnP Forum.UPnP security ceremonies design document v1.0[EB/OL].(2003-10)[2009-11-10].http://www.UPnP.org/resources/documents.asp.
  [7]周雪鳳.數字家庭UPnP標準安全研究[J].科技情況開發與經濟,2007,17(25):1-2.
  [8]廖國威,楊軍,鄧中亮.IGRS基礎協議中的安全機制[J].計算機安全,2006(3):1-3.
  [9] 王佳慧,賀墚.UPnP中的DoS攻擊防禦方案[J].計算機系統應用,2008(8):1-4.

免費論文下載中心 http://www.hi138.com
下载论文

論文《IGRS與UPnP設備互連的安全機制探討》其它版本

計算機理論論文服務

網站聲明 | 聯系我們 | 網站地圖 | 論文下載地址 | 代寫論文 | 作者搜索 | 英文版 | 手機版 CopyRight@2008 - 2017 免費論文下載中心 京ICP备17062730号