一種遠程訪問方法、代理服務(wù)器及客戶端的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機技術(shù)領(lǐng)域,具體涉及了一種遠程訪問方法、代理服務(wù)器及客戶端。
【背景技術(shù)】
[0002]OpenStack是一個開源的云計算管理平臺項目,可提供實施簡單、大規(guī)模擴展、豐富、標準統(tǒng)一的云計算管理平臺,其在Nova組件中集成了虛擬網(wǎng)絡(luò)計算機遠程控制(Virtual Network Computer, VNC)功能。用戶在OpenStack環(huán)境下,可以通過Nova組件獲得統(tǒng)一資源定位器(Uniform Resoure Locator, URL)地址,并根據(jù)所述URL地址發(fā)起VNC訪問請求,代理服務(wù)器接收所述VNC訪問請求并對所述請求中的校驗數(shù)據(jù)token進行驗證,如驗證通過,則代理服務(wù)器可允許VNC客戶端進行VNC訪問連接,但在此過程中,由于token信息為明文,而Nova會將token信息存儲于開放的緩存中,因此其很容易被其它非法用戶所獲得,而任意一個非法用戶獲取到token信息就可以通過VNC功能對用戶的虛擬機進行操作,不僅會造成虛擬機的信息泄露,同時多用戶同時進行VNC連接和訪問,也會影響VNC訪問的安全性。
【發(fā)明內(nèi)容】
[0003]本發(fā)明實施例提供一種遠程訪問方法、代理服務(wù)器及客戶端,以期減小信息泄露風險,加強VNC訪問的安全性。
[0004]本發(fā)明實施例第一方面公開了一種遠程訪問方法,包括:
[0005]當代理服務(wù)器接收到目標客戶端發(fā)送的攜帶目標用戶標識的虛擬網(wǎng)絡(luò)計算機VNC訪問請求時,所述代理服務(wù)器獲取與所述目標用戶標識相匹配的密鑰;
[0006]所述代理服務(wù)器采用所述密鑰對隨機數(shù)據(jù)進行加密處理,生成加密數(shù)據(jù)并輸出至所述目標客戶端,以使所述目標客戶端對所述加密數(shù)據(jù)進行解密處理獲得解密數(shù)據(jù);
[0007]所述代理服務(wù)器接收所述目標客戶端發(fā)送的解密數(shù)據(jù);
[0008]所述代理服務(wù)器將所述解密數(shù)據(jù)與所述隨機數(shù)據(jù)進行比對;
[0009]如比對一致,所述代理服務(wù)器允許所述目標客戶端與虛擬機建立VNC訪問連接。
[0010]在本發(fā)明實施例第一方面的第一種可能的實現(xiàn)方式中,所述當代理服務(wù)器接收到目標客戶端發(fā)送的攜帶目標用戶標識的VNC訪問請求時,所述代理服務(wù)器獲取與所述目標用戶標識相匹配的密鑰之前,還包括:
[0011]當代理服務(wù)器接收到目標客戶端發(fā)送的攜帶目標用戶標識的用戶注冊信息時,所述代理服務(wù)器生成與所述目標用戶標識相匹配的密鑰,所述密鑰包括公鑰和私鑰。
[0012]結(jié)合本發(fā)明實施例第一方面的第一種可能的實現(xiàn)方式,在本發(fā)明實施例第一方面的第二種可能的實現(xiàn)方式中,所述代理服務(wù)器采用所述密鑰對隨機數(shù)據(jù)進行加密處理,生成加密數(shù)據(jù)并輸出至所述目標客戶端,以使所述目標客戶端對所述加密數(shù)據(jù)進行解密處理獲得解密數(shù)據(jù),包括:
[0013]所述代理服務(wù)器采用所述公鑰對隨機數(shù)據(jù)進行加密,生成加密數(shù)據(jù);
[0014]所述代理服務(wù)器采用圖形碼規(guī)則對所述加密數(shù)據(jù)進行編碼處理,獲得圖形碼信息并輸出,以使所述目標客戶端掃描并解析所述圖形碼信息獲得所述加密數(shù)據(jù),并從所述代理服務(wù)器獲取所述私鑰后,采用所述私鑰對所述加密數(shù)據(jù)進行解密處理獲得解密數(shù)據(jù)。
[0015]結(jié)合本發(fā)明實施例第一方面或第一方面的第一、二種可能的實現(xiàn)方式,在本發(fā)明實施例第一方面的第三種可能的實現(xiàn)方式中,所述代理服務(wù)器接收所述目標客戶端發(fā)送的解密數(shù)據(jù)之后,還包括:
[0016]如所述解密數(shù)據(jù)與任意一個歷史解密數(shù)據(jù)相同,所述代理服務(wù)器禁止所述目標客戶端與虛擬機建立VNC訪問連接,所述歷史解密數(shù)據(jù)由當前處于VNC訪問連接狀態(tài)的至少一個客戶端所發(fā)送。
[0017]結(jié)合本發(fā)明實施例第一方面的第三種可能的實現(xiàn)方式,在本發(fā)明實施例第一方面的第四種可能的實現(xiàn)方式中,所述代理服務(wù)器將所述解密數(shù)據(jù)與所述隨機數(shù)據(jù)進行比對之后,還包括:
[0018]如比對不一致,所述代理服務(wù)器禁止所述目標客戶端與虛擬機建立VNC訪問連接。
[0019]結(jié)合本發(fā)明實施例第一方面或第一方面的第一、二種可能的實現(xiàn)方式,在本發(fā)明實施例第一方面的第五種可能的實現(xiàn)方式中,所述方法還包括:
[0020]所述代理服務(wù)器查詢處于VNC訪問連接狀態(tài)的至少一個客戶端的連接記錄,所述連接記錄包括:所關(guān)聯(lián)的用戶標識及連接建立時間;
[0021]所述代理服務(wù)器根據(jù)所述至少一個客戶端的連接記錄執(zhí)行安全策略。
[0022]結(jié)合本發(fā)明實施例第一方面的第五種可能的實現(xiàn)方式,在本發(fā)明實施例第一方面的第六種可能的實現(xiàn)方式中,所述代理服務(wù)器根據(jù)所述至少一個客戶端的連接記錄執(zhí)行安全策略,包括:
[0023]所述代理服務(wù)器按照所關(guān)聯(lián)的用戶標識對所述至少一個客戶端進行歸類,獲得至少一個群組,每一個群組中包含至少一個成員客戶端,同一群組中所有成員客戶端所關(guān)聯(lián)的用戶標識相同;
[0024]所述代理服務(wù)器判斷所述至少一個群組中每一個群組包含的成員客戶端數(shù)量是否大于第一閾值;
[0025]若是,所述代理服務(wù)器保持所述虛擬機與大于第一閾值的目標群組中連接建立時間最晚的成員客戶端之間的VNC訪問連接,斷開所述虛擬機與所述大于第一閾值的目標群組中其他成員客戶端之間的VNC訪問連接。
[0026]結(jié)合本發(fā)明實施例第一方面的第六種可能的實現(xiàn)方式,在本發(fā)明實施例第一方面的第七種可能的實現(xiàn)方式中,所述代理服務(wù)器根據(jù)所述至少一個客戶端的連接記錄執(zhí)行安全策略之后,還包括:
[0027]所述代理服務(wù)器判斷執(zhí)行所述安全策略之后處于VNC訪問連接狀態(tài)的所有群組包含的成員客戶端數(shù)量是否大于第二閾值;
[0028]若是,所述代理服務(wù)器向執(zhí)行安全策略之后處于VNC訪問連接狀態(tài)的所有群組包含的成員客戶端發(fā)送多用戶連接提示信息。
[0029]本發(fā)明實施例第二方面公開了一種遠程訪問方法,包括:
[0030]目標客戶端向代理服務(wù)器發(fā)送攜帶目標用戶標識的虛擬網(wǎng)絡(luò)計算機VNC訪問請求,以使所述代理服務(wù)器獲取與所述目標用戶標識相匹配的密鑰,并采用所述密鑰對隨機數(shù)據(jù)進行加密處理,生成和輸出加密數(shù)據(jù);
[0031]所述目標客戶端對所述代理服務(wù)器輸出的加密數(shù)據(jù)進行解密處理獲得解密數(shù)據(jù);
[0032]所述目標客戶端向所述代理服務(wù)器發(fā)送所述解密數(shù)據(jù),以使所述代理服務(wù)器將所述解密數(shù)據(jù)與所述隨機數(shù)據(jù)進行比對;
[0033]如比對一致,所述目標客戶端與虛擬機建立VNC訪問連接以對所述虛擬機進行VNC訪問。
[0034]在本發(fā)明實施例第二方面的第一種可能的實現(xiàn)方式中,所述目標客戶端向代理服務(wù)器發(fā)送攜帶目標用戶標識的VNC訪問請求之前,還包括:
[0035]目標客戶端向代理服務(wù)器發(fā)送攜帶有目標用戶標識的用戶注冊信息,以使所述代理服務(wù)器根據(jù)所述用戶注冊信息生成與所述目標用戶標識相匹配的密鑰,所述密鑰包括公鑰和私鑰。
[0036]結(jié)合本發(fā)明實施例第二方面的第一種可能的實現(xiàn)方式,在本發(fā)明實施例第二方面的第二種可能的實現(xiàn)方式中,所述加密數(shù)據(jù)為所述代理服務(wù)器采用所述公鑰對隨機數(shù)據(jù)進行加密獲得,且所述代理服務(wù)器采用圖形碼規(guī)則對所述加密數(shù)據(jù)進行編碼處理,獲得圖形碼信息并輸出;
[0037]所述目標客戶端對所述代理服務(wù)器輸出的加密數(shù)據(jù)進行解密處理獲得解密數(shù)據(jù),包括:
[0038]所述目標客戶端掃描并解析所述圖形碼信息,獲得所述加密數(shù)據(jù);
[0039]所述目標客戶端從所述代理服務(wù)器獲取所述私鑰,并采用所述私鑰對所述加密數(shù)據(jù)進行解密處理獲得解密數(shù)據(jù)。
[0040]結(jié)合本發(fā)明實施例第二方面或第二方面的第一、二種可能的實現(xiàn)方式,在本發(fā)明實施例第二方面的第三種可能的實現(xiàn)方式中,所述如比對一致,所述目標客戶端與虛擬機建立VNC訪問連接以對所述虛擬機進行VNC訪問之后,還包括:
[0041]當所述目標客戶端接收到所述代理服務(wù)器發(fā)送的多用戶連接提示信息,輸出所述多用戶連接提示信息。
[0042]本發(fā)明實施例第三方面公開了一種代理服務(wù)器,包括:
[0043]獲取單元,用于當接收到目標客戶端發(fā)送的攜帶目標用戶標識的虛擬網(wǎng)絡(luò)計算機VNC訪問請求時,獲取與所述目標用戶標識相匹配的密鑰;
[0044]加密處理單元,用于采用所述密鑰對隨機數(shù)據(jù)進行加密處理,生成加密數(shù)據(jù)并輸出至所述目標客戶端,以使所述目標客戶端對所述加密數(shù)據(jù)進行解密處理獲得解密數(shù)據(jù);
[0045]接收單元,用于接收所述目標客戶端發(fā)送的解密數(shù)據(jù);
[0046]比對單元,用于將所述解密數(shù)據(jù)與所述隨機數(shù)據(jù)進行比對;
[0047]連接建立單元,用于如比對一致,允許所述目標客戶端與虛擬機建立VNC訪問連接。
[0048]在本發(fā)明實施例第三方面第一種可能的實現(xiàn)方式中,所述代理服務(wù)器還包括:
[0049]密鑰生成單元,用于當接收到目標客戶端發(fā)送的攜帶目標用戶標識的用戶注冊信息時,生成與所述目標用戶標識相匹配的密鑰,所述密鑰包括公鑰和私鑰。
[0050]結(jié)合本發(fā)明實施例第三方面的第一種可能的實現(xiàn)方式,在本發(fā)明實施例第三方面的第二種可能的實現(xiàn)方式中,加密處理單元包括:
[0051]加密子單元,用于采用所述公鑰對隨機數(shù)據(jù)進行加密,生成加密數(shù)據(jù);
[0052]編碼子單元,用于采用圖形碼規(guī)則對所述加密數(shù)據(jù)進行編碼處理,獲得圖形碼信息并輸出,以使所述目標客戶端掃描并解析所述圖形碼信息獲得所述加密數(shù)據(jù),并從所述代理服務(wù)器獲取所述私鑰后,采用所述私鑰對所述加密數(shù)據(jù)進行解密處理獲得解密數(shù)據(jù)。
[0053]結(jié)合本發(fā)明實施例第三方面或第三方面的第一、二種可能的實現(xiàn)方式,在本發(fā)明實施例第三方面的第三種可能的實現(xiàn)方式中,所述代理服務(wù)器還包括:
[0054]第一禁止單元,用于如所述解密數(shù)據(jù)與任意一個歷史解密數(shù)據(jù)相同,禁止所述目標客戶端與虛擬機建立VNC訪問連接,所述歷史解密數(shù)據(jù)由當前處于VNC訪問連接狀態(tài)的至少一個客戶端所發(fā)送。
[0055]結(jié)合本發(fā)明實施例第三方面的第三種可能的實現(xiàn)方式,在本發(fā)明實施例第三方面的第四種可能的實現(xiàn)方式中,所述代理服務(wù)器還包括:
[0056]第二禁止單元,用于如比對不一致,禁止所述目標客戶端與虛擬機建立VNC訪問連接。
[0057]結(jié)合本發(fā)明實施例第三方面或第三方面的第一、二種可能的實現(xiàn)方式,在本發(fā)明實施例第三方面的第五種可能的實現(xiàn)方式中,所述代理服務(wù)器還包括:
[0058]查詢單元,用于查詢處于VNC訪問連接狀態(tài)的至少一個客戶端的連接記錄,所述連接記錄包括:所關(guān)聯(lián)的用戶標識及連接建立時間;
[0059]執(zhí)行單元,用于根據(jù)所述至少一個客戶端的連接記錄執(zhí)行安全策略。
[0060]結(jié)合本發(fā)明實施例第三方面的第五種可能的實現(xiàn)方式,在本發(fā)明實施例第三方面的第六種可能的實現(xiàn)方式中,所述執(zhí)行單元包括:
[0061]歸類子單元,用于按照所關(guān)聯(lián)的用戶標識對所述至少一個客戶端進行歸類,獲得至少一個群組,每一個群組中包含至少一個成員客戶端,同一群組中所有成員客戶端所關(guān)聯(lián)的用戶標識相同;
[0062]判斷子單元,用于判斷所述至少一個群組中每一個群組包含的成員客戶端數(shù)量是否大于第一閾值;
[0063]執(zhí)行子單元,用于當所述至少一個群組中每一個群組包含的成員客戶端數(shù)量大于第一閾值時,保持與大于第一閾值的目標群組中連接建立時間最晚的成員客戶端之間的VNC訪問連接,斷開虛擬機與所述大于第一閾值的目標群組中其他成員客戶端之間的VNC訪問連接。
[0064]結(jié)合本發(fā)明實施例第三方面的第六種可能的實現(xiàn)方式,在本發(fā)明實施例第三方面的第七種可能的實現(xiàn)方式中,所述代理服務(wù)器包括:
[0065]數(shù)量判斷單元,用于判斷執(zhí)行所述安全策略之后處于VNC訪問連接狀態(tài)的所有群組包含的成員客戶端數(shù)量是否大于第二閾值;
[0066]發(fā)送單元,用于當執(zhí)行所述安全策略之后處于VNC訪問連接狀態(tài)的所有群組包含的成員客戶端數(shù)量大于第二閾值時,向執(zhí)行安全策略之后處于VNC訪問連接狀態(tài)的所有群組包含的成員客戶端發(fā)送多用戶連接提示信息。
[0067]本發(fā)明實施例第四方面公開了一種客戶端,包括:
[0068]發(fā)送單元,用于向代理服務(wù)器發(fā)送攜帶目標用戶標識的虛擬網(wǎng)絡(luò)計算機VNC訪問請求,以使所述代理服務(wù)器獲取與所述目標用戶標識相匹配的密鑰,并采用所述密鑰對隨機數(shù)據(jù)進行加密處理,生成和輸出加密數(shù)據(jù);
[0069]解密處理單元,用于對所述代理服務(wù)器輸出的加密數(shù)據(jù)進行解密處理獲得解密數(shù)據(jù);
[0070]比對單元,用于向所述代理服務(wù)器發(fā)送所述解密數(shù)據(jù),以使所述代理服務(wù)器將所述解密數(shù)據(jù)與所述隨機數(shù)據(jù)進行比對;
[0071]連接建立單元,用于如比對一致,與虛擬機建立VNC訪問連接以對所述虛擬機進行VNC訪問。
[0072]在本發(fā)明實施例第四方面的第一種可能的實現(xiàn)方式中,所述客戶端還包括:
[0073]所述發(fā)送單元,還用于向代理服務(wù)器發(fā)送攜帶有目標用戶標識的用戶注冊信息,以使所述代理服務(wù)器根據(jù)所述用戶注冊信息生成與所述目標用戶標識相匹配的密鑰,所述密鑰包括公鑰和私鑰。
[0074]結(jié)合本發(fā)明實施例第四方面的第一種可能的實現(xiàn)方式,在本發(fā)明實施例第四方面的第二種可能的實現(xiàn)方式中,所述加密數(shù)據(jù)為所述代理服務(wù)器采用所述公鑰對隨機數(shù)據(jù)進行加密獲得,且所述代理服務(wù)器采用圖形碼規(guī)則對所述加密數(shù)據(jù)進行編碼處理,獲得圖形碼信息并輸出;
[0075]所述解密處理單元包括:
[0076]掃描子單元,用于掃描并解析所述圖形碼信息,獲得所述加密數(shù)據(jù);
[0077]解密處理子單元,用于從所述代理服務(wù)器獲取所述私鑰,并采用所述私鑰對所述加密數(shù)據(jù)進行解密處理獲得解密數(shù)據(jù)。
[0078]結(jié)合本發(fā)明實施例第四方面或第四方面的第一、二種可能的實現(xiàn)方式,在本發(fā)明實施例第四方面的第三種可能的實現(xiàn)方式中,所述客戶端還包括:
[0079]輸出單元,用于當接收到所述代理服務(wù)器發(fā)送的多用戶連接提示信息,輸出所述多用戶連接提示信息。
[0080]本發(fā)明實施例中,當代理服務(wù)器接收到目標客戶端發(fā)送的攜帶目標用戶標識的虛擬網(wǎng)絡(luò)計算機VNC訪問請求時,所述代理服務(wù)器獲取與所述目標用戶標識相匹配的密鑰,并采用所述密鑰對隨機數(shù)據(jù)進行加密處理,生成加密數(shù)據(jù)并輸出至所述目標客戶端,以使所述目標客戶端對所述加密數(shù)據(jù)進行解密處理獲得解密數(shù)據(jù),接收所述解密數(shù)據(jù)并與所述隨機數(shù)據(jù)進行比對,如比對一致,所述代理服務(wù)器允許所述目標客戶端與虛擬機建立VNC訪問連接,通過代理服務(wù)器根據(jù)目標用戶標識獲取密鑰并對隨機數(shù)據(jù)進行加解密處理,從而對目標客戶端進行身份驗證,避免了非法客戶端與虛擬機建立VNC訪問連接,從而減小信息泄露風險,加強VNC訪問的安全性。
【附圖說明】
[0081]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0082]圖1是本發(fā)明實施例公開的一種網(wǎng)絡(luò)構(gòu)架示意圖;
[0083]圖2是本發(fā)明實施例公開的一種遠程訪問方法的流程示意圖。
[0084]圖3是本發(fā)明實施例公開的另一種遠程訪問方法的流程示意圖;
[0085]圖4是本發(fā)明實施例公開的又一種遠程訪問方法的流程示意圖;
[0086]圖5是本發(fā)明實施例公開的又一種遠程訪問方法的流程示意圖;
[0087]圖6是本發(fā)明實施例公開的又一種遠程訪問方法的流程示意圖;
[0088]圖7是本發(fā)明實施例公開的一種代理服務(wù)器的模塊化示意圖;
[0089]圖8是本發(fā)明實施例公開的另一種代理服務(wù)器的模塊化示意圖;
[0090]圖9是本發(fā)明實施例公開的一種代理服務(wù)器的結(jié)構(gòu)示意圖;
[0091]圖10是本發(fā)明實施例公開的一種客戶端的模塊化示意圖;
[0092]圖11是本發(fā)明實施例公開的一種客戶端的結(jié)構(gòu)示意圖;
[0093]圖12是本發(fā)明實施例公開的一種VNC遠程訪問系統(tǒng)的架構(gòu)示意圖。
【具體實施方式】
[0094]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分的實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當屬于本發(fā)明保護的范圍。
[0095]本發(fā)明實施例提供一種遠程訪問方法、服務(wù)器及客戶端,以期減小信息泄露風險,加強VNC訪問的安全性。
[0096]為了便于理解本發(fā)明實施例,下面先對本發(fā)明實施例中所涉及的OpenStack的核心組件Nova和VNC訪問連接的現(xiàn)有技術(shù)實現(xiàn)過程進行說明。OpenStack是一個開源的云計算管理平臺項目,可提供實施簡單、大規(guī)模擴展、豐富、標準統(tǒng)一的云計算管理平臺,其中,計算Nova是OpenStack的核心,可以根據(jù)需要提供虛擬機的服務(wù)器,負責處理工作負載的流程,VNC是Nova提供的用來訪問虛擬機的一項重要功能,用戶可以通過瀏覽器來進行VNC訪問。VNC訪問連接的現(xiàn)有