專利名稱:一種設備映射的方法、控制終端和被控制終端的制作方法
技術領域:
本發明屬于通信領域,尤其涉及一種設備映射的方法、控制終端和被控制終端。
背景技術:
電視游戲是一種用來娛樂的交互式多媒體,通常是指使用電視作為顯示器來玩的電子游戲,游戲通常可以利用連接至電視的游戲手柄來操控,其中電視是被控制終端,游戲手柄是控制終端。游戲手柄通常會包含多個按鈕和操縱桿,每一個按鈕和操縱桿都會被賦予特定的功能,通過按下這些按鈕或轉動操縱桿,操作者可以控制電視屏幕上的影像。然而,電視游戲需要專門的游戲手柄(即控制終端)才能使用,因此不具有通用性。
發明內容
本發明所要解決的技術問題在于提供一種設備映射的方法,旨在解決電視游戲需要專門的控制終端才能使用,不具有通用性的問題。第一方面,提供一種設備映射的方法,所述方法包括:被控制終端通過遠程控制協議RCP數據報文發送設備枚舉請求消息給控制終端,以請求獲得控制終端所支持的設備類型列表;被控制終端接收控制終端通過RCP數據報文發送的包含支持的設備類型列表的響應消息;被控制終端根據所述支持的設備類型列表生成與所述支持的設備類型列表中的設備類型對應的虛擬設備, 以將控制終端支持的設備映射到被控制終端;被控制終端通過RCP數據報文發送設備數據請求消息給控制終端;被控制終端接收控制終端通過RCP數據報文發送的包含控制終端的待映射設備生成的設備數據的響應消息;被控制終端將所述設備數據提供給所述虛擬設備,再由所述虛擬設備提供給上層應用。第二方面,提供一種被控制終端,所述被控制終端包括RCP數據報文發送模塊、RCP數據報文接收模塊和處理器,其中,所述RCP數據報文發送模塊通過遠程控制協議RCP數據報文發送設備枚舉請求消息給控制終端,以請求獲得控制終端所支持的設備類型列表;所述RCP數據報文接收模塊接收控制終端通過RCP數據報文發送的包含支持的設備類型列表的響應消息;所述處理器根據所述支持的設備類型列表生成與所述支持的設備類型列表中的設備類型對應的虛擬設備,以將控制終端支持的設備映射到被控制終端;所述RCP數據報文發送模塊通過RCP數據報文發送設備數據請求消息給控制終端;所述RCP數據報文接收模塊接收控制終端通過RCP數據報文發送的包含控制終端的待映射設備生成的設備數據的響應消息;所述處理器將所述設備數據提供給所述虛擬設備,再由所述虛擬設備提供給上層應用。第三方面,提供一種設備映射的方法,所述方法包括:控制終端接收被控制終端通過RCP數據報文發送的設備枚舉請求消息;控制終端獲取支持的設備類型列表;控制終端通過RCP數據報文將包含所述支持的設備類型列表的響應消息發送給被控制終端,以由被控制終端根據所述支持的設備類型列表生成與所述支持的設備類型列表中的設備類型對應的虛擬設備,以將控制終端支持的設備映射到被控制終端;控制終端接收被控制終端通過RCP數據報文發送的設備數據請求消息;控制終端獲取控制終端的待映射設備生成的設備數據;控制終端通過RCP數據報文將包含所述設備數據的響應消息發送給被控制終端,以由被控制終端將所述設備數據提供給所述虛擬設備,再由所述虛擬設備提供給上層應用。第四方面,提供一種控制終端,所述控制終端包括RCP數據報文發送模塊、RCP數據報文接收模塊和處理器,其中,所述RCP數據報文接收模塊接收被控制終端通過RCP數據報文發送的設備枚舉請求消息;
所述處理器獲取支持的設備類型列表;所述RCP數據報文發送模塊通過RCP數據報文將包含所述支持的設備類型列表的響應消息發送給被控制終端,以由被控制終端根據所述支持的設備類型列表生成與所述支持的設備類型列表中的設備類型對應的虛擬設備,以將控制終端支持的設備映射到被控制終端;所述RCP數據報文接收模塊接收被控制終端通過RCP數據報文發送的設備數據請求消息;所述處理器獲取控制終端的待映射設備生成的設備數據;所述RCP數據報文發送模塊通過RCP數據報文將包含所述設備數據的響應消息發送給被控制終端,以由被控制終端將所述設備數據提供給所述虛擬設備,再由所述虛擬設備提供給上層應用。在本發明中,由于被控制終端接收控制終端通過RCP數據報文發送的包含所述支持的設備類型列表的響應消息后,被控制終端根據所述支持的設備類型列表生成與所述支持的設備類型列表中的設備類型對應的虛擬設備,以將控制終端支持的設備映射到被控制終端;被控制終端接收控制終端通過RCP數據報文發送的包含所述設備數據的響應消息后,被控制終端將所述設備數據提供給所述虛擬設備,再由所述虛擬設備提供給上層應用。因此能將控制終端上的某個設備映射到被控制終端上,被控制終端將該映射的設備作為自己本身的設備進行使用,因此該設備映射的方法具有通用性,與被控制終端的上層應用無關,且接口統一,方便調用,具有良好的擴展性,適應控制終端各種可能增加的設備。
圖1是本發明實施例一提供的設備映射的方法的流程圖。圖2是本發明實施例二提供的設備映射的方法的流程圖。圖3是本發明實施例三提供的被控制終端的功能模塊框圖。圖4是本發明實施例四提供的控制終端的功能模塊框圖。
具體實施例方式為了使本發明的目的、技術方案及有益效果更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。為了說明本發明所述的技術方案,下面通過具體實施例來進行說明。本發明具體實施例涉及控制終端和被控制終端,其中控制終端具有待映射設備,用于將待映射設備生成的設備數據發送給被控制終端;被控制終端用于將控制終端的待映射設備映射到被控制終端中。
實施例一:請參閱圖1,本發明實施例一提供的設備映射的方法包括以下步驟:S101、被控制終端通過遠程控制協議(Remote Control Protocol, RCP)數據報文發送設備枚舉請求消息給控制終端,以請求獲得控制終端所支持的設備類型列表;在本發明實施例一中,控制終端所支持的設備類型包括觸摸屏、音頻設備、振動器、傳感器、GPS等信息輸入設備。S102、控制終端接收被控制終端通過RCP數據報文發送的設備枚舉請求消息后,控制終端獲取支持的設備類型列表;S103、控制終端通過RCP數據報文將包含所述支持的設備類型列表的響應消息發送給被控制終端;S104、被控制終端接收控制終端通過RCP數據報文發送的包含所述支持的設備類型列表的響應消息后,被控制終端根據所述支持的設備類型列表生成與所述支持的設備類型列表中的設備類型對應的虛擬設備,以將控制終端支持的設備映射到被控制終端;S105、被控制終端通過RCP數據報文發送設備數據請求消息給控制終端;S106、控制終端接收被控制終端通過RCP數據報文發送的設備數據請求消息后,控制終端獲取控制終端的待映射設備生成的設備數據;S107、控制終端通過RCP數據報文將包含所述設備數據的響應消息發送給被控制終端;S108、被控制終端接收控制終端通過RCP數據報文發送的包含所述設備數據的響應消息后,被控制終端將所述設備數據提供給所述虛擬設備,再由所述虛擬設備提供給上層應用;在本發明實施例一中,RCP數據報文包括RCP報頭和RCP數據,RCP報頭包括報文類型、命令類型和數據長度,報文類型包括請求報文和響應報文,命令類型包括設備枚舉命令、設備參數命令和設備數據命令,所述設備枚舉請求消息中的報文類型是請求報文,命令類型是設備枚舉命令,所述包含所述支持的設備類型列表的響應消息的報文類型是響應報文,命令類型是設備枚舉命令,所述設備數據請求消息中的報文類型是請求報文,命令類型是設備參數命令,所述包含所述設備數據的響應消息的報文類型是響應報文,命令類型是設備數據命令。在本發明實施例一中,S108之后,所述方法還可以包括以下步驟:當被控制終端的上層應用使用完虛擬設備后,被控制終端注銷所述虛擬設備;被控制終端通過RCP數據報文向控制終端發送注銷設備的請求消息;控制終端接收被控制終端通過RCP數據報文發送的所述注銷設備的請求消息后,注銷所支持的設備向被控制終端映射,并通過RCP數據報文向被控制終端返回注銷結果的響應消息。在本發明實施例一中,由于被控制終端接收控制終端通過RCP數據報文發送的包含所述支持的設備類型列表的響應消息后,被控制終端根據所述支持的設備類型列表生成與所述支持的設備類型列表中的設備類型對應的虛擬設備,以將控制終端支持的設備映射到被控制終端;被控制終端接收控制終端通過RCP數據報文發送的包含所述設備數據的響應消息后,被控制終端將所述設備數據提供給所述虛擬設備,再由所述虛擬設備提供給上層應用。因此能將控制終端上的某個設備映射到被控制終端上,被控制終端將該映射的設備作為自己本身的設備進行使用 ,因此該設備映射的方法具有通用性,與被控制終端的上層應用無關,且接口統一,方便調用,具有良好的擴展性,適應控制終端各種可能增加的設備。實施例二:請參閱圖2,本發明實施例二提供的設備映射的方法是在本發明實施例一提供的設備映射的方法中的SlOl前增加以下步驟:S201、控制終端通過RCP數據報文向全局域網的被控制終端發送廣播請求消息,所述廣播請求消息用于查找合適的被控制終端;S202、被控制終端接收控制終端通過RCP數據報文發送的所述廣播請求消息后,通過RCP數據報文向控制終端發送響應消息;S203、控制終端接收被控制終端通過RCP數據報文發送的響應消息后,通過RCP數據報文向被控制終端發送認證請求信息,請求控制連接;S204、被控制終端接收控制終端通過RCP數據報文發送的認證請求信息后,對所述認證請求信息進行認證,認證成功后通過RCP數據報文向控制終端發送響應消息。在本發明實施例二中,S203具體為:控制終端接收被控制終端通過RCP數據報文發送的響應消息后,隨機生成第一數據X,使用第一共享密鑰Ks對第一數據X進行加密,將加密之后的第一數據X和控制終端的唯一標識符通過RCP數據報文向被控制終端發送認證請求信息,所述第一共享密鑰Ks是控制終端和被控制終端共享的密鑰;所述認證請求信息中的報文類型是請求報文,命令類型是認證命令,RCP數據部分前4字節為控制終端的唯一標識符,余下部分為共享密鑰。在本發明實施例二中,S204具體為:被控制終端接收控制終端通過RCP數據報文發送的認證請求信息后,使用第一共享密鑰Ks對加密之后的第一數據X進行解密得到第一數據X,然后使用第一共享密鑰Ks對第一數據X+D進行加密,其中D為控制終端和被控制終端約定的固定值;同時,隨機生成第二數據Y,使用第一共享密鑰Ks對第二數據Y進行加密,將加密之后的第二數據Y、加密之后的第一數據X+D和被控制終端的唯一標識符通過RCP數據報文向控制終端發送響應消息;所述響應消息中的報文類型是響應報文,命令類型是認證命令,RCP數據部分前4字節為被控制終端的唯一標識符,后4字節為加密之后的第一數據X+D,最后4字節為加密之后的第二數據Y。在本發明實施例二中,S204之后,所述方法還包括以下步驟:S205、控制終端接收被控制終端通過RCP數據報文發送的響應消息后,使用第一共享密鑰Ks對加密之后的第二數據Y和加密之后的第一數據X+D進行解密,計算出第一數據X+第二數據Y的值,然后再使用第一共享密鑰Ks對計算的結果進行加密;S206、控制終端將加密后的計算的結果通過RCP數據報文向被控制終端發送請求消息;所述請求信息中的報文類型是請求報文,命令類型是認證命令,RCP數據部分前4字節為控制終端的唯一標識符,后4字節為加密后的第一數據X+第二數據Y的值。S207、被控制終端接收控制終端通過RCP數據報文發送的請求消息后,使用第一共享密鑰Ks對數據進行解密,然后驗證計算結果是否正確,若計算結果正確,則隨機生成第二共享密鑰Ka,并使用第一共享密鑰Ks對第二共享密鑰Ka進行加密;S208、被控制終端將加密之后的第二共享密鑰Ka和被控制終端的唯一標識符通過RCP數據報文向控制終端發送響應消息,其中,所述第二共享密鑰Ka是控制終端和被控制終端共享的用于本次對話的密鑰;所述響應消息中的報文類型是響應報文,命令類型是認證命令,RCP數據部分前4字節為被控制終端的唯一標識符,后4字節為加密的第二共享密鑰Ka。在S208之后,所有RCP數據報文的RCP數據部分都經過第二共享密鑰Ka進行加
LU O在本發明實施例二中,在`本發明實施例一提供的設備映射的方法中的所述控制終端接收被控制終端通過RCP數據報文發送的所述注銷設備的請求消息后,注銷所支持的設備向被控制終端映射,并通過RCP數據報文向被控制終端返回注銷結果的響應消息的步驟后還增加以下步驟:S209、控制終端完成對被控制終端的操作后,控制終端通過RCP數據報文向被控制終端發送退出請求信息;S2010:被控制終端接收所述退出請求信息后,清理相應的資源,并通過RCP數據報文向控制終端發送響應消息。在本發明實施例二中,RCP數據報文的具體格式可以如表I所示:
RCP報頭|RCP數據表I其中,RCP報頭格式可以如表2所示:
VerTypeCmd ErrorCode
Length
Digest
表2各字段的意義如下:Ver =RCP 的版本;Type:報文類型,可分為2類,包括:A、請求報文,宏定義為:REQUEST ;B、響應報文,宏定義為:REPLY ;Cmd:命令類型,可分為4類,包括:A、認證命令B、設備枚舉命令C、設備參數命令D、設備數據命令
ErrorCode:錯誤類型,可分為2類,包括:A、命令執行成功,宏定義為:0K ;B、命令執行錯誤,宏定義為:ERR0R ;Length:數據長度,不包括報頭;Digest:對整個數據報文計算校驗和。其中,RCP數據報文的報文分為四種類型:TYPE_AUTH:認證報文。當進行認證時,數據字段的第一個字節將作為AUTH_PHASE,標記當前所進行的認證階段。后續字節根據認證交互階段的描述,用對應階段的數據進行填充。TYPE_DEV_LIST:設備枚舉報文。當進行設備枚舉時,返回的設備列表包在數據字段依次列出每一個設備。每兩個設備信息之間由字符’ \0’分隔。TYPE_DEV_PARA:設備參數報文。當進行設備參數請求時,返回的數據報文在數據段第一個字節標明設備類型,在其后的字節按照指定的設備參數數據結構填充設備參數。TYPE_DEV_DATA:設備數據報文。當返回設備數據時,返回的數據報文在數據段第一個字節標明設備類型,在其后的字節按照指定的設備數據數據結構填充。RCP數據字段:數據長度:RCP通過報頭的Length字段來確定數據字段的長度,同時,在每個數據的尾部都會填充不多于8個字節的’ \0’字符,以確保數據長度為8的整數倍。2.數據校驗:在數據段的內容全部準備完畢之后,將會把報頭的Digest字段置為全0,然后對整個數據報文進行校驗,算法與IP校驗和一致。3.數據格式:若無特殊說明,所有數據格式都是二進制數據,直接對應各項數據結構。各項數據結構的字節序均采用網絡字節序。
4.數據加密:在認證階段,RCP的數據字段是明文傳輸的。但在認證成功之后,RCP的所有數據交互將使用認證協商出來的密鑰進行加密,以確保安全。在本發明實施例二中,由于在認證成功之后,所有RCP數據報文的RCP數據部分都經過協商出來的第二共享密鑰Ka進行加密,因此可以防止網絡偵聽、重放攻擊、口令字猜測、跟蹤地址攻擊等,從而保證了控制終端和被控制終端之間的通信安全。實施例三:請參閱圖3,本發明實施例三提供的被控制終端包括:RCP數據報文發送模塊11、RCP數據報文接收模塊12和處理器13,其中,RCP數據報文發送模塊11通過遠程控制協議RCP數據報文發送設備枚舉請求消息給控制終端,以請求獲得控制終端所支持的設備類型列表;RCP數據報文接 收模塊12接收控制終端通過RCP數據報文發送的包含支持的設備類型列表的響應消息;處理器13根據所述支持的設備類型列表生成與所述支持的設備類型列表中的設備類型對應的虛擬設備,以將控制終端支持的設備映射到被控制終端;RCP數據報文發送模塊11通過RCP數據報文發送設備數據請求消息給控制終端;RCP數據報文接收模塊12接收控制終端通過RCP數據報文發送的包含控制終端的待映射設備生成的設備數據的響應消息;處理器13將所述設備數據提供給所述虛擬設備,再由所述虛擬設備提供給上層應用。本發明實施例三中,所述處理器13將所述設備數據提供給所述虛擬設備,再由所述虛擬設備提供給上層應用之后,還包括:當被控制終端的上層應用使用完虛擬設備后,處理器13注銷所述虛擬設備;RCP數據報文發送模塊11通過RCP數據報文向控制終端發送注銷設備的請求消息,以由控制終端注銷所支持的設備向被控制終端映射。本發明實施例三中,所述RCP數據報文發送模塊11通過遠程控制協議RCP數據報文發送設備枚舉請求消息給控制終端之前,還包括:RCP數據報文接收模塊12接收控制終端通過RCP數據報文發送的用于查找合適的被控制終端廣播請求消息;RCP數據報文發送模塊11通過RCP數據報文向控制終端發送響應消息;RCP數據報文接收模塊12接收控制終端通過RCP數據報文發送的認證請求信息;處理器13對所述認證請求信息進行認證,認證成功后RCP數據報文發送模塊11通過RCP數據報文向控制終端發送響應消息。本發明實施例三中,所述處理器13對所述認證請求信息進行認證,認證成功后RCP數據報文發送模塊11通過RCP數據報文向控制終端發送響應消息具體為:對于接收到的控制終端通過RCP數據報文發送的認證請求信息,處理器13使用第一共享密鑰Ks對加密之后的第一數據X進行解密得到第一數據X,然后使用第一共享密鑰Ks對第一數據X+D進行加密,其中D為控制終端和被控制終端約定的固定值;同時,隨機生成第二數據Y,使用第一共享密鑰Ks對第二數據Y進行加密,RCP數據報文發送模塊11將加密之后的第二數據Y、加密之后的第一數據X+D和被控制終端的唯一標識符通過RCP數據報文向控制終端發送響應消息,其中所述認證請求信息包含加密之后的第一數據X和控制終端的唯一標識符,所述第一共享密鑰Ks是控制終端和被控制終端共享的密鑰;本發明實施例三中,所述處理器13對所述認證請求信息進行認證,認證成功后RCP數據報文發送模塊11通過RCP數據報文向控制終端發送響應消息之后,還包括:RCP數據報文接收模塊12接收控制終端通過RCP數據報文發送的請求消息;其中,所述請求消息包含加密后的計算的結果,所述加密后的計算的結果是指控制終端使用第一共享密鑰Ks對加密之后的第二數據Y和加密之后的第一數據X+D進行解密,計算出第一數據X+第二數據Y的值,然后再使用第一共享密鑰Ks對計算的結果進行加密后的計算的結果;處理器13使用第一共享密鑰Ks對數據進行解密,然后驗證計算結果是否正確,若計算結果正確,則隨機生成第二共享密鑰Ka,并使用第一共享密鑰Ks對第二共享密鑰Ka進行加密;RCP數據報文發送模塊11將加密之后的第二共享密鑰Ka和被控制終端的唯一標識符通過RCP數據報文向控制終端發送響應消息,之后,所有RCP數據報文的RCP數據部分都經過第二共享密鑰Ka進行加密,其中,所述第二共享密鑰Ka是控制終端和被控制終端共享的用于本次對話的密鑰。在本發明實施例三中,RCP數據報文包括RCP報頭和RCP數據,RCP報頭包括報文類型、命令類型和數據長度,報文類型包括請求報文和響應報文,命令類型包括設備枚舉命令、設備參數命令和設備數據命令,所述設備枚舉請求消息中的報文類型是請求報文,命令類型是設備枚舉命令,所述包含所述支持的設備類型列表的響應消息的報文類型是響應報文,命令類型是設備枚舉命令,所述設備數據請求消息中的報文類型是請求報文,命令類型是設備參數命令,所述包含所述設備數據的響應消息的報文類型是響應報文,命令類型是設備數據命令。
在本發明實施例三中,由于被控制終端的RCP數據報文接收模塊接收控制終端通過RCP數據報文發送的包含所述支持的設備類型列表的響應消息后,被控制終端的處理器根據所述支持的設備類型列表生成與所述支持的設備類型列表中的設備類型對應的虛擬設備,以將控制終端支持的設備映射到被控制終端;被控制終端的RCP數據報文接收模塊接收控制終端通過RCP數據報文發送的包含所述設備數據的響應消息后,被控制終端的處理器將所述設備數據提供給所述虛擬設備,再由所述虛擬設備提供給上層應用。因此能將控制終端上的某個設備映射到被控制終端上,被控制終端將該映射的設備作為自己本身的設備進行使用,因此該設備映射的方法具有通用性,與被控制終端的上層應用無關,且接口統一,方便調用,具有良好的擴展性,適應控制終端各種可能增加的設備。且由于在認證成功之后,所有RCP數據報文的RCP數據部分都經過協商出來的第二共享密鑰Ka進行加密,因此可以防止網絡偵聽、重放攻擊、口令字猜測、跟蹤地址攻擊等,從而保證了控制終端和被控制終端之間的通信安全。實施例四:請參閱圖4,本發明實施例四提供的控制終端包括:RCP數據報文發送模塊21、RCP數據報文接收模塊22和處理器23,其中,
RCP數據報文接收模塊22接收被控制終端通過RCP數據報文發送的設備枚舉請求消息;處理器23獲取支持的設備類型列表;RCP數據報文發送模塊21通過RCP數據報文將包含所述支持的設備類型列表的響應消息發送給被控制終端,以由被控制終端根據所述支持的設備類型列表生成與所述支持的設備類型列表中的設備類型對應的虛擬設備,以將控制終端支持的設備映射到被控制終端;RCP數據報文接收模塊22接收被控制終端通過RCP數據報文發送的設備數據請求消息;處理器23獲取控制終端的待映射設備生成的設備數據;RCP數據報文發送模塊21通過RCP數據報文將包含所述設備數據的響應消息發送給被控制終端,以由被控制終端將所述設備數據提供給所述虛擬設備,再由所述虛擬設備提供給上層應用。在本發明實施例四中,所述RCP數據報文發送模塊21通過RCP數據報文將包含所述設備數據的響應消息發送給被控制終端,以由被控制終端將所述設備數據提供給所述虛擬設備,再由所述虛擬設備提供給上層應用之后,還包括:RCP數據報文接收模塊22接收被控制終端通過RCP數據報文發送的注銷設備的請求消息; 處理器23注銷所支持的設備向被控制終端映射;RCP數據報文發送模塊21通過RCP數據報文向被控制終端返回注銷結果的響應消
肩、O在本發明實施例四中,所述RCP數據報文接收模塊22接收被控制終端通過RCP數據報文發送的設備枚舉請求消息之前,還包括:RCP數據報文發送模塊21通過RCP數據報文向全局域網的被控制終端發送廣播請求消息,所述廣播請求消息用于查找合適的被控制終端;RCP數據報文接收模塊22接收被控制終端通過RCP數據報文發送的響應消息;RCP數據報文發送模塊21通過RCP數據報文向被控制終端發送認證請求信息,請求控制連接,以由被控制終端對所述認證請求信息進行認證,認證成功后通過RCP數據報文向控制終端發送響應消息。在本發明實施例四中,所述RCP數據報文發送模塊21通過RCP數據報文向被控制終端發送認證請求信息,請求控制連接具體為:處理器23隨機生成第一數據X,使用第一共享密鑰Ks對第一數據X進行加密,RCP數據報文發送模塊21將加密之后的第一數據X和控制終端的唯一標識符通過RCP數據報文向被控制終端發送認證請求信息,所述第一共享密鑰Ks是控制終端和被控制終端共享的密鑰。在本發明實施例四中,所述被控制終端對所述認證請求信息進行認證,認證成功后通過RCP數據報文向控制終端發送響應消息之后,還包括:RCP數據報 文接收模塊22接收被控制終端通過RCP數據報文發送的響應消息后,處理器23使用第一共享密鑰Ks對加密之后的第二數據Y和加密之后的第一數據X+D進行解密,計算出第一數據X+第二數據Y的值,然后再使用第一共享密鑰Ks對計算的結果進行加密;RCP數據報文發送模塊21將加密后的計算的結果通過RCP數據報文向被控制終端發送請求消息,以由被控制終端生成第二共享密鑰Ka,其中,所述第二共享密鑰Ka是控制終端和被控制終端共享的用于本次對話的密鑰。在本發明實施例四中,RCP數據報文包括RCP報頭和RCP數據,RCP報頭包括報文類型、命令類型和數據長度,報文類型包括請求報文和響應報文,命令類型包括設備枚舉命令、設備參數命令和設備數據命令,所述設備枚舉請求消息中的報文類型是請求報文,命令類型是設備枚舉命令,所述包含所述支持的設備類型列表的響應消息的報文類型是響應報文,命令類型是設備枚舉命令,所述設備數據請求消息中的報文類型是請求報文,命令類型是設備參數命令,所述包含所述設備數據的響應消息的報文類型是響應報文,命令類型是設備數據命令。在本發明實施例四中,由于控制終端的RCP數據報文發送模塊通過RCP數據報文將包含所述支持的設備類型列表的響應消息發送給被控制終端,以由被控制終端根據所述支持的設備類型列表生成與所述支持的設備類型列表中的設備類型對應的虛擬設備,以將控制終端支持的設備映射到被控制終端;控制終端的RCP數據報文發送模塊通過RCP數據報文將包含所述設備數據的響應消息發送給被控制終端,以由被控制終端將所述設備數據提供給所述虛擬設備,再由所述虛擬設備提供給上層應用。因此能將控制終端上的某個設備映射到被控制終端上,被控制終端將該映射的設備作為自己本身的設備進行使用,因此該設備映射的方法具有通用性,與被控制終端的上層應用無關,且接口統一,方便調用,具有良好的擴展性,適應控制終端各種可能增加的設備。且由于在認證成功之后,所有RCP數據報文的RCP數據部分都經過協商出來的第二共享密鑰Ka進行加密,因此可以防止網絡偵聽、重放攻擊、口令字猜測、跟蹤地址攻擊等,從而保證了控制終端和被控制終端之間的通信安全。本領域普通技術人員可以理解實現上述實施例方法中的全部或部分步驟是可以通過程序來指令相關的硬件來完成,所述的程序可以存儲于一計算機可讀取存儲介質中,所述的存儲介質,如R0M/RAM、磁盤、光盤等。以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內所作 的任何修改、等同替換和改進等,均應包含在本發明的保護范圍之內。
權利要求
1.一種設備映射的方法,其特征在于,所述方法包括: 被控制終端通過遠程控制協議RCP數據報文發送設備枚舉請求消息給控制終端,以請求獲得控制終端所支持的設備類型列表; 被控制終端接收控制終端通過RCP數據報文發送的包含支持的設備類型列表的響應消息; 被控制終端根據所述支持的設備類型列表生成與所述支持的設備類型列表中的設備類型對應的虛擬設備,以將控制終端支持的設備映射到被控制終端; 被控制終端通過RCP數據報文發送設備數據請求消息給控制終端; 被控制終端接收控制終端通過RCP數據報文發送的包含控制終端的待映射設備生成的設備數據的響應消息; 被控制終端將所述設備數據提供給所述虛擬設備,再由所述虛擬設備提供給上層應用。
2.如權利要求1所述的方法,其特征在于,所述被控制終端將所述設備數據提供給所述虛擬設備,再由所述虛擬設備提供給上層應用之后,所述方法還包括: 當被控制終端的上層應用使用完虛擬設備后,被控制終端注銷所述虛擬設備; 被控制終端通過RCP數據報文向控制終端發送注銷設備的請求消息,以由控制終端注銷所支持的設備向被控制終端映射。
3.如權利要求1所述 的方法,其特征在于,所述被控制終端通過遠程控制協議RCP數據報文發送設備枚舉請求消息給控制終端之前,所述方法還包括: 被控制終端接收控制終端通過RCP數據報文發送的用于查找合適的被控制終端廣播請求消息; 被控制終端通過RCP數據報文向控制終端發送響應消息; 被控制終端接收控制終端通過RCP數據報文發送的認證請求信息; 被控制終端對所述認證請求信息進行認證,認證成功后通過RCP數據報文向控制終端發送響應消息。
4.如權利要求3所述的方法,其特征在于,所述被控制終端對所述認證請求信息進行認證,認證成功后通過RCP數據報文向控制終端發送響應消息具體為: 對于接收到的控制終端通過RCP數據報文發送的認證請求信息,被控制終端使用第一共享密鑰Ks對加密之后的第一數據X進行解密得到第一數據X,然后使用第一共享密鑰Ks對第一數據X+D進行加密,其中D為控制終端和被控制終端約定的固定值;同時,隨機生成第二數據Y,使用第一共享密鑰Ks對第二數據Y進行加密,將加密之后的第二數據Y、加密之后的第一數據X+D和被控制終端的唯一標識符通過RCP數據報文向控制終端發送響應消息,其中所述認證請求信息包含加密之后的第一數據X和控制終端的唯一標識符,所述第一共享密鑰Ks是控制終端和被控制終端共享的密鑰; 所述被控制終端對所述認證請求信息進行認證,認證成功后通過RCP數據報文向控制終端發送響應消息之后,所述方法還包括: 被控制終端接收控制終端通過RCP數據報文發送的請求消息;其中,所述請求消息包含加密后的計算的結果,所述加密后的計算的結果是指控制終端使用第一共享密鑰Ks對加密之后的第二數據Y和加密之后的第一數據X+D進行解密,計算出第一數據X+第二數據Y的值,然后再使用第一共享密鑰Ks對計算的結果進行加密后的計算的結果; 被控制終端使用第一共享密鑰Ks對數據進行解密,然后驗證計算結果是否正確,若計算結果正確,則隨機生成第二共享密鑰Ka,并使用第一共享密鑰Ks對第二共享密鑰Ka進行加密; 被控制終端將加密之后的第二共享密鑰Ka和被控制終端的唯一標識符通過RCP數據報文向控制終端發送響應消息,之后,所有RCP數據報文的RCP數據部分都經過第二共享密鑰Ka進行加密,其中,所述第二共享密鑰Ka是控制終端和被控制終端共享的用于本次對話的密鑰。
5.一種被控制終端,其特征在于,所述被控制終端包括RCP數據報文發送模塊、RCP數據報文接收模塊和處理器,其中, 所述RCP數據報文發送模塊通過遠程控制協議RCP數據報文發送設備枚舉請求消息給控制終端,以請求獲得控制終端所支持的設備類型列表; 所述RCP數據報文接收模塊接收控制終端通過RCP數據報文發送的包含支持的設備類型列表的響應消息; 所述處理器根據所述支持的設備類型列表生成與所述支持的設備類型列表中的設備類型對應的虛擬設備,以將控制終端支持的設備映射到被控制終端; 所述RCP數據報文發送模塊通過RCP數據報文發送設備數據請求消息給控制終端;所述RCP數據報文接收模塊接收控制終端通過RCP數據報文發送的包含控制終端的待映射設備生成的設備數據的響應消息; 所述處理器將所述設備數據提供給所述虛擬設備,再由所述虛擬設備提供給上層應`用。
6.—種設備映射的方法,其特征在于,所述方法包括: 控制終端接收被控制終端通過RCP數據報文發送的設備枚舉請求消息; 控制終端獲取支持的設備類型列表; 控制終端通過RCP數據報文將包含所述支持的設備類型列表的響應消息發送給被控制終端,以由被控制終端根據所述支持的設備類型列表生成與所述支持的設備類型列表中的設備類型對應的虛擬設備,以將控制終端支持的設備映射到被控制終端; 控制終端接收被控制終端通過RCP數據報文發送的設備數據請求消息; 控制終端獲取控制終端的待映射設備生成的設備數據; 控制終端通過RCP數據報文將包含所述設備數據的響應消息發送給被控制終端,以由被控制終端將所述設備數據提供給所述虛擬設備,再由所述虛擬設備提供給上層應用。
7.如權利要求6所述的方法,其特征在于,所述控制終端通過RCP數據報文將包含所述設備數據的響應消息發送給被控制終端,以由被控制終端將所述設備數據提供給所述虛擬設備,再由所述虛擬設備提供給上層應用之后,所述方法還包括: 控制終端接收被控制終端通過RCP數據報文發送的注銷設備的請求消息; 控制終端注銷所支持的設備向被控制終端映射; 控制終端通過RCP數據報文向被控制終端返回注銷結果的響應消息。
8.如權利要求6所述的方法,其特征在于,所述控制終端接收被控制終端通過RCP數據報文發送的設備枚舉請求消息之前,所述方法還包括:控制終端通過RCP數據報文向全局域網的被控制終端發送廣播請求消息,所述廣播請求消息用于查找合適的被控制終端; 控制終端接收被控制終端通過RCP數據報文發送的響應消息; 控制終端通過RCP數據報文向被控制終端發送認證請求信息,請求控制連接,以由被控制終端對所述認證請求信息進行認證,認證成功后通過RCP數據報文向控制終端發送響應消息。
9.如權利要求8所述的方法,其特征在于,所述控制終端通過RCP數據報文向被控制終端發送認證請求信息,請求控制連接具體為: 控制終端隨機生成第一數據X,使用第一共享密鑰Ks對第一數據X進行加密,將加密之后的第一數據X和控制終端的唯一標識符通過RCP數據報文向被控制終端發送認證請求信息,所述第一共享密鑰Ks是控制終端和被控制終端共享的密鑰; 所述被控制終端對所述認證請求信息進行認證,認證成功后通過RCP數據報文向控制終端發送響應消息之后,所述方法還包括: 控制終端接收被控制終端通過RCP數據報文發送的響應消息后,使用第一共享密鑰Ks對加密之后的第二數據Y和加密之后的第一數據X+D進行解密,計算出第一數據X+第二數據Y的值,然后再使用第一共享密鑰Ks對計算的結果進行加密; 控制終端將加密后的計算的結果通過RCP數據報文向被控制終端發送請求消息,以由被控制終端生成第二共享密鑰Ka,其中,所述第二共享密鑰Ka是控制終端和被控制終端共享的用于本次對話的密鑰。
10.一種控制終端,其特征在于,所述控制終端包括RCP數據報文發送模塊、RCP數據報文接收模塊和處理器,其 中, 所述RCP數據報文接收模塊接收被控制終端通過RCP數據報文發送的設備枚舉請求消息; 所述處理器獲取支持的設備類型列表; 所述RCP數據報文發送模塊通過RCP數據報文將包含所述支持的設備類型列表的響應消息發送給被控制終端,以由被控制終端根據所述支持的設備類型列表生成與所述支持的設備類型列表中的設備類型對應的虛擬設備,以將控制終端支持的設備映射到被控制終端; 所述RCP數據報文接收模塊接收被控制終端通過RCP數據報文發送的設備數據請求消息; 所述處理器獲取控制終端的待映射設備生成的設備數據; 所述RCP數據報文發送模塊通過RCP數據報文將包含所述設備數據的響應消息發送給被控制終端,以由被控制終端將所述設備數據提供給所述虛擬設備,再由所述虛擬設備提供給上層應用。
全文摘要
本發明適用于通信領域,提供了一種設備映射的方法、控制終端和被控制終端。該方法包括被控制終端通過RCP數據報文發送設備枚舉請求消息給控制終端;被控制終端接收控制終端發送的包含支持的設備類型列表的響應消息;被控制終端根據支持的設備類型列表生成與支持的設備類型列表中的設備類型對應的虛擬設備;被控制終端通過RCP數據報文發送設備數據請求消息給控制終端;被控制終端接收控制終端發送的包含控制終端的待映射設備生成的設備數據的響應消息;被控制終端將設備數據提供給虛擬設備,再由虛擬設備提供給上層應用。本發明能將控制終端上的某個設備映射到被控制終端上,被控制終端將該映射的設備作為自己本身的設備進行使用,因此該方法具有通用性。
文檔編號H04L12/58GK103248562SQ20131015225
公開日2013年8月14日 申請日期2013年4月27日 優先權日2013年4月27日
發明者文羽中, 劉長冬, 陳祥春 申請人:深圳市普聯技術有限公司