本發(fā)明屬于數(shù)據(jù)安全領(lǐng)域,涉及保密數(shù)據(jù)輸入的方法,特別涉及一種使用虛擬現(xiàn)實(shí)設(shè)備實(shí)現(xiàn)保密數(shù)據(jù)輸入的方法及系統(tǒng)。
背景技術(shù):
目前涉及到保密信息輸入(如密碼輸入)的場(chǎng)景中,多數(shù)是使用專用的保密信息輸入轉(zhuǎn)置來(lái)實(shí)現(xiàn)。這些保密信息輸入裝置包括物理的密碼鍵盤,軟件的密碼輸入控件等各種形式,而這些輸入裝置均存在其物理輸入端被人加裝監(jiān)控轉(zhuǎn)置,或者除保密信息輸入者之外的其他人員可以直接站在輸入者身邊偷窺等可能導(dǎo)致輸入過(guò)程泄密的危險(xiǎn),以及輸入者為盡量避免泄密而采取各種身體遮擋措施等導(dǎo)致輸入過(guò)程體驗(yàn)差的問(wèn)題。
經(jīng)檢索發(fā)現(xiàn),申請(qǐng)日為:2015.12.09,申請(qǐng)?zhí)枮椋?01510909292.5的中國(guó)發(fā)明專利公開了一種采集密碼系統(tǒng)及采集密碼方法,該方法試圖使用虛擬現(xiàn)實(shí)技術(shù)來(lái)實(shí)現(xiàn)密碼的采集,并提高密碼的安全性,且可以增強(qiáng)采集密碼系統(tǒng)的智能化程度。但該申請(qǐng)方案至少存在三個(gè)保密問(wèn)題沒有解決:
第一個(gè)保密問(wèn)題可稱為體態(tài)泄密。其具體表現(xiàn)為,采用虛擬現(xiàn)實(shí)技術(shù)實(shí)現(xiàn)保密信息輸入時(shí),還是需要通過(guò)指取設(shè)備、傳感器等技術(shù),再配合輸入者的體態(tài)變化來(lái)完成對(duì)虛擬現(xiàn)實(shí)顯示屏幕中的輸入元素的選擇。此時(shí),非輸入者完全可以通過(guò)肉眼觀察輸入者的體態(tài)變化來(lái)推測(cè)輸入者在虛擬現(xiàn)實(shí)場(chǎng)景中所做出的選擇。
第二個(gè)保密問(wèn)題可稱為硬件旁路泄密。其具體表現(xiàn)為,虛擬現(xiàn)實(shí)設(shè)備的光學(xué)鏡頭和顯示屏之間存在一定的空間,攻擊者可以在光學(xué)鏡頭和顯示屏之間的空間內(nèi)植入一個(gè)微型攝像頭,同步錄制輸入者輸入過(guò)程的虛擬場(chǎng)景畫面信息,然后傳遞給非輸入者,造成保密數(shù)據(jù)泄密。
第三個(gè)保密問(wèn)題可稱為軟件旁路泄密。其具體表現(xiàn)為,如HTV VIVE等運(yùn)行于PC平臺(tái)的高性能虛擬現(xiàn)實(shí)設(shè)備,可以通過(guò)運(yùn)行Steam VR Monitor等軟件,讓非輸入者通過(guò)監(jiān)視屏幕觀察到輸入者在虛擬現(xiàn)實(shí)場(chǎng)景中所進(jìn)行的所有操作;而其他基于Android系統(tǒng)的低性能虛擬現(xiàn)實(shí)設(shè)備,由于Android系統(tǒng)的開放性,存在被惡意攻擊者root系統(tǒng)后,加裝監(jiān)視軟件,盜取輸入者在虛擬現(xiàn)實(shí)場(chǎng)景中保密信息的輸入畫面,以及監(jiān)控保密數(shù)據(jù)在虛擬現(xiàn)實(shí)設(shè)備內(nèi)部存儲(chǔ)和運(yùn)算的過(guò)程數(shù)據(jù),進(jìn)而使保密數(shù)據(jù)泄密。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決的技術(shù)問(wèn)題之一,在于提供一種使用虛擬現(xiàn)實(shí)設(shè)備實(shí)現(xiàn)保密數(shù)據(jù)輸入的方法,通過(guò)該方法來(lái)確保輸入虛擬現(xiàn)實(shí)設(shè)備的保密數(shù)據(jù)的安全性,降低保密數(shù)據(jù)被竊取的風(fēng)險(xiǎn)。
本發(fā)明是這樣實(shí)現(xiàn)技術(shù)問(wèn)題之一的:一種使用虛擬現(xiàn)實(shí)設(shè)備實(shí)現(xiàn)保密數(shù)據(jù)輸入的方法,所述方法包括如下步驟:
步驟1、對(duì)虛擬現(xiàn)實(shí)設(shè)備進(jìn)行硬件旁路以及軟件旁路檢測(cè),且一旦檢測(cè)到存在旁路風(fēng)險(xiǎn),則立即清除內(nèi)部的密鑰信息以及所有參與保密運(yùn)算的信息,并結(jié)束流程;若檢測(cè)到不存在旁路風(fēng)險(xiǎn),則進(jìn)入步驟2;
步驟2、將虛擬現(xiàn)實(shí)設(shè)備輸入場(chǎng)景中的輸入元素或者輸入元素中的輸入值進(jìn)行重新定位,對(duì)輸入者選擇的所有輸入元素中的輸入值進(jìn)行加密處理生成一加密結(jié)果值,并輸出加密結(jié)果值;
在執(zhí)行步驟2的同時(shí),繼續(xù)對(duì)虛擬現(xiàn)實(shí)設(shè)備進(jìn)行硬件旁路以及軟件旁路檢測(cè),直到執(zhí)行完該步驟2后才停止檢測(cè),且在檢測(cè)的過(guò)程中,一旦檢測(cè)到存在旁路風(fēng)險(xiǎn),則立即停止執(zhí)行該步驟2,并清除內(nèi)部的密鑰信息、所有參與保密運(yùn)算的信息以及已生成的所有保密數(shù)據(jù)。
進(jìn)一步地,所述步驟1具體包括:
步驟11、在虛擬現(xiàn)實(shí)設(shè)備的外周設(shè)置一層屏蔽層,且通過(guò)監(jiān)聽或者輪詢的方式檢測(cè)屏蔽層的信號(hào)是否發(fā)生變化,如果是,則在存儲(chǔ)器中記錄存在硬件旁路風(fēng)險(xiǎn),并進(jìn)入步驟12;如果否,則直接進(jìn)入步驟12;
步驟12、通過(guò)監(jiān)聽或者輪詢的方式檢測(cè)存儲(chǔ)器中是否記錄存在硬件旁路風(fēng)險(xiǎn),如果是,則清除內(nèi)部的密鑰信息以及所有參與保密運(yùn)算的信息,并結(jié)束流程;
如果否,則啟動(dòng)虛擬現(xiàn)實(shí)設(shè)備中的各個(gè)檢測(cè)點(diǎn)進(jìn)行軟件環(huán)境檢測(cè),判斷是否存在軟件旁路風(fēng)險(xiǎn),且如果存在軟件旁路風(fēng)險(xiǎn),則清除內(nèi)部的密鑰信息以及所有參與保密運(yùn)算的信息,并結(jié)束流程;
如果不存在軟件旁路風(fēng)險(xiǎn),則使虛擬現(xiàn)實(shí)設(shè)備中的各個(gè)檢測(cè)點(diǎn)進(jìn)行相互檢測(cè),且當(dāng)任意一個(gè)檢測(cè)點(diǎn)檢測(cè)到任一其它檢測(cè)點(diǎn)不工作時(shí),則視為存在軟件旁路風(fēng)險(xiǎn),此時(shí)清除內(nèi)部的密鑰信息以及所有參與保密運(yùn)算的信息,并結(jié)束流程;若各個(gè)檢測(cè)點(diǎn)均正常工作,則進(jìn)入步驟2。
進(jìn)一步地,所述步驟11具體包括:
步驟111、在虛擬現(xiàn)實(shí)設(shè)備的外周設(shè)置一層屏蔽層,且該屏蔽層由電信號(hào)閉合通路集合、光信號(hào)閉合通路集合、光信號(hào)變化檢測(cè)集合中的一種或多種組合形成;
步驟112、通過(guò)監(jiān)聽或者輪詢的方式檢測(cè)屏蔽層的信號(hào)是否發(fā)生變化,如果是,則在存儲(chǔ)器中記錄存在硬件旁路風(fēng)險(xiǎn),并進(jìn)入步驟12;如果否,則直接進(jìn)入步驟12;其中,所述存儲(chǔ)器為掉電后內(nèi)容易失的存儲(chǔ)器,且該存儲(chǔ)器內(nèi)存儲(chǔ)的內(nèi)容為以下三類中的一類:
第一類:無(wú)數(shù)據(jù),存儲(chǔ)器在掉電后,重新上電時(shí)存儲(chǔ)的內(nèi)容即為無(wú)數(shù)據(jù);
第二類:有數(shù)據(jù)且為初始數(shù)據(jù),所述初始數(shù)據(jù)為虛擬現(xiàn)實(shí)設(shè)備出廠時(shí),通過(guò)廠家的核心控制密鑰與虛擬現(xiàn)實(shí)設(shè)備中芯片的唯一序列號(hào)共同生成的加密數(shù)據(jù);
第三類:有數(shù)據(jù)且為風(fēng)險(xiǎn)記錄數(shù)據(jù),所述風(fēng)險(xiǎn)記錄數(shù)據(jù)為屏蔽層信號(hào)發(fā)生變化時(shí)寫入的硬件旁路風(fēng)險(xiǎn)數(shù)據(jù);
且若存儲(chǔ)器內(nèi)存儲(chǔ)的內(nèi)容為第一類或第三類,則說(shuō)明存在旁路風(fēng)險(xiǎn);若存儲(chǔ)器內(nèi)存儲(chǔ)的內(nèi)容為第二類,則正常。
進(jìn)一步地,在所述步驟12中,所述“啟動(dòng)虛擬現(xiàn)實(shí)設(shè)備中的各個(gè)檢測(cè)點(diǎn)進(jìn)行軟件環(huán)境檢測(cè),判斷是否存在軟件旁路風(fēng)險(xiǎn)”具體為:
如果虛擬現(xiàn)實(shí)設(shè)備為基于PC環(huán)境的虛擬現(xiàn)實(shí)設(shè)備,則設(shè)置對(duì)軟件環(huán)境進(jìn)行保護(hù),并啟動(dòng)各個(gè)檢測(cè)點(diǎn)對(duì)軟件環(huán)境進(jìn)行防旁路檢測(cè),其中,設(shè)置對(duì)軟件環(huán)境進(jìn)行保護(hù)的內(nèi)容為:通過(guò)磁盤保護(hù)限制在操作系統(tǒng)上加裝其它軟件;對(duì)軟件環(huán)境進(jìn)行防旁路檢測(cè)的內(nèi)容包括:通過(guò)數(shù)字簽名驗(yàn)證虛擬現(xiàn)實(shí)設(shè)備的核心驅(qū)動(dòng)和接口庫(kù)是否屬于官方發(fā)布的、通過(guò)虛擬現(xiàn)實(shí)設(shè)備的核心驅(qū)動(dòng)和接口庫(kù)檢測(cè)虛擬現(xiàn)實(shí)場(chǎng)景的監(jiān)控窗口是否未被開啟、以及通過(guò)系統(tǒng)接口檢測(cè)軟件是否未處于被調(diào)試狀態(tài),且如果檢測(cè)結(jié)果均為是,則判定為不存在軟件旁路風(fēng)險(xiǎn);如果檢測(cè)結(jié)果出現(xiàn)否,則判定為存在軟件旁路風(fēng)險(xiǎn);
如果虛擬現(xiàn)實(shí)設(shè)備為基于Android環(huán)境的虛擬設(shè)備,則設(shè)置對(duì)軟件環(huán)境進(jìn)行保護(hù),并啟動(dòng)各個(gè)檢測(cè)點(diǎn)對(duì)軟件環(huán)境進(jìn)行檢測(cè),其中,設(shè)置對(duì)軟件環(huán)境進(jìn)行保護(hù)的內(nèi)容為:通過(guò)設(shè)備廠家對(duì)操作系統(tǒng)和各應(yīng)用程序進(jìn)行數(shù)字簽名;對(duì)軟件環(huán)境進(jìn)行檢測(cè)的內(nèi)容包括:在Bootloader加載操作系統(tǒng)之前檢測(cè)操作系統(tǒng)的數(shù)字簽名是否合法、在操作系統(tǒng)加載各應(yīng)用程序之前檢測(cè)各應(yīng)用程序的數(shù)字簽名是否合法、以及通過(guò)系統(tǒng)接口檢測(cè)各應(yīng)用程序是否未處于被調(diào)試狀態(tài),且如果檢測(cè)結(jié)果均為是,則判定為不存在軟件旁路風(fēng)險(xiǎn);如果檢測(cè)結(jié)果出現(xiàn)否,則判定為存在軟件旁路風(fēng)險(xiǎn)。
進(jìn)一步地,所述步驟2具體包括:
步驟21、啟動(dòng)虛擬現(xiàn)實(shí)設(shè)備的保密數(shù)據(jù)輸入功能,將虛擬現(xiàn)實(shí)設(shè)備輸入場(chǎng)景中的輸入元素或者輸入元素中的輸入值進(jìn)行重新定位,且在重新定位時(shí),使用隨機(jī)數(shù)算法隨機(jī)生成定位位置;
步驟22、在重新定位后的輸入場(chǎng)景中選擇輸入元素,且每確定選擇一個(gè)輸入元素后,均將該選擇的輸入元素所對(duì)應(yīng)的輸入值存放到臨時(shí)緩存中;在選擇完所有輸入元素后,從臨時(shí)緩存中讀取所有輸入值,并使用加密算法對(duì)讀取的所有輸入值進(jìn)行加密生成一加密結(jié)果值,其中,加密算法采用對(duì)稱加密算法或非對(duì)稱加密算法中的任意一種算法或者二者的組合算法;加密完成后,清除臨時(shí)緩存中緩存的所有未加密的輸入值,并將加密結(jié)果值存放到臨時(shí)緩存中;
步驟23、輸出加密結(jié)果值,并清除緩存在臨時(shí)緩存中的加密結(jié)果值。
本發(fā)明要解決的技術(shù)問(wèn)題之二,在于提供一種使用虛擬現(xiàn)實(shí)設(shè)備實(shí)現(xiàn)保密數(shù)據(jù)輸入的系統(tǒng),通過(guò)該系統(tǒng)來(lái)確保輸入虛擬現(xiàn)實(shí)設(shè)備的保密數(shù)據(jù)的安全性,降低保密數(shù)據(jù)被竊取的風(fēng)險(xiǎn)。
本發(fā)明是這樣實(shí)現(xiàn)技術(shù)問(wèn)題之二的:一種使用虛擬現(xiàn)實(shí)設(shè)備實(shí)現(xiàn)保密數(shù)據(jù)輸入的系統(tǒng),所述系統(tǒng)包括環(huán)境守護(hù)模塊以及保密數(shù)據(jù)采集模塊;
所述環(huán)境守護(hù)模塊,用于對(duì)虛擬現(xiàn)實(shí)設(shè)備進(jìn)行硬件旁路以及軟件旁路檢測(cè),且一旦檢測(cè)到存在旁路風(fēng)險(xiǎn),則立即清除內(nèi)部的密鑰信息以及所有參與保密運(yùn)算的信息,并結(jié)束流程;若檢測(cè)到不存在旁路風(fēng)險(xiǎn),則進(jìn)入所述保密數(shù)據(jù)采集模塊;
所述保密數(shù)據(jù)采集模塊,用于將虛擬現(xiàn)實(shí)設(shè)備輸入場(chǎng)景中的輸入元素或者輸入元素中的輸入值進(jìn)行重新定位,對(duì)輸入者選擇的所有輸入元素中的輸入值進(jìn)行加密處理生成一加密結(jié)果值,并輸出加密結(jié)果值;
在執(zhí)行所述保密數(shù)據(jù)采集模塊的同時(shí),繼續(xù)對(duì)虛擬現(xiàn)實(shí)設(shè)備進(jìn)行硬件旁路以及軟件旁路檢測(cè),直到執(zhí)行完該保密數(shù)據(jù)采集模塊后才停止檢測(cè),且在檢測(cè)的過(guò)程中,一旦檢測(cè)到存在旁路風(fēng)險(xiǎn),則立即停止執(zhí)行該保密數(shù)據(jù)采集模塊,并清除內(nèi)部的密鑰信息、所有參與保密運(yùn)算的信息以及已生成的所有保密數(shù)據(jù)。
進(jìn)一步地,所述環(huán)境守護(hù)模塊包括硬件防侵入單元、軟件環(huán)境檢測(cè)單元以及互檢單元;
所述硬件防侵入單元,用于在虛擬現(xiàn)實(shí)設(shè)備的外周設(shè)置一層屏蔽層,且通過(guò)監(jiān)聽或者輪詢的方式檢測(cè)屏蔽層的信號(hào)是否發(fā)生變化,如果是,則在存儲(chǔ)器中記錄存在硬件旁路風(fēng)險(xiǎn),并進(jìn)入所述軟件環(huán)境檢測(cè)單元;如果否,則直接進(jìn)入所述軟件環(huán)境檢測(cè)單元;
所述軟件環(huán)境檢測(cè)單元,用于通過(guò)監(jiān)聽或者輪詢的方式檢測(cè)存儲(chǔ)器中是否記錄存在硬件旁路風(fēng)險(xiǎn),如果是,則清除內(nèi)部的密鑰信息以及所有參與保密運(yùn)算的信息,并結(jié)束流程;
如果否,則啟動(dòng)虛擬現(xiàn)實(shí)設(shè)備中的各個(gè)檢測(cè)點(diǎn)進(jìn)行軟件環(huán)境檢測(cè),判斷是否存在軟件旁路風(fēng)險(xiǎn),且如果存在軟件旁路風(fēng)險(xiǎn),則清除內(nèi)部的密鑰信息以及所有參與保密運(yùn)算的信息,并結(jié)束流程;
如果不存在軟件旁路風(fēng)險(xiǎn),則使虛擬現(xiàn)實(shí)設(shè)備中的各個(gè)檢測(cè)點(diǎn)進(jìn)行相互檢測(cè),且當(dāng)任意一個(gè)檢測(cè)點(diǎn)檢測(cè)到任一其它檢測(cè)點(diǎn)不工作時(shí),則視為存在軟件旁路風(fēng)險(xiǎn),此時(shí)清除內(nèi)部的密鑰信息以及所有參與保密運(yùn)算的信息,并結(jié)束流程;若各個(gè)檢測(cè)點(diǎn)均正常工作,則進(jìn)入所述保密數(shù)據(jù)采集模塊。
進(jìn)一步地,所述硬件防侵入單元包括防侵入硬件子單元以及防侵入硬件檢測(cè)子單元;
所述防侵入硬件子單元,用于在虛擬現(xiàn)實(shí)設(shè)備的外周設(shè)置一層屏蔽層,且該屏蔽層由電信號(hào)閉合通路集合、光信號(hào)閉合通路集合、光信號(hào)變化檢測(cè)集合中的一種或多種組合形成;
所述防侵入硬件檢測(cè)子單元,用于通過(guò)監(jiān)聽或者輪詢的方式檢測(cè)屏蔽層的信號(hào)是否發(fā)生變化,如果是,則在存儲(chǔ)器中記錄存在硬件旁路風(fēng)險(xiǎn),并進(jìn)入所述軟件環(huán)境檢測(cè)單元;如果否,則直接進(jìn)入所述軟件環(huán)境檢測(cè)單元;其中,所述存儲(chǔ)器為掉電后內(nèi)容易失的存儲(chǔ)器,且該存儲(chǔ)器內(nèi)存儲(chǔ)的內(nèi)容為以下三類中的一類:
第一類:無(wú)數(shù)據(jù),存儲(chǔ)器在掉電后,重新上電時(shí)存儲(chǔ)的內(nèi)容即為無(wú)數(shù)據(jù);
第二類:有數(shù)據(jù)且為初始數(shù)據(jù),所述初始數(shù)據(jù)為虛擬現(xiàn)實(shí)設(shè)備出廠時(shí),通過(guò)廠家的核心控制密鑰與虛擬現(xiàn)實(shí)設(shè)備中芯片的唯一序列號(hào)共同生成的加密數(shù)據(jù);
第三類:有數(shù)據(jù)且為風(fēng)險(xiǎn)記錄數(shù)據(jù),所述風(fēng)險(xiǎn)記錄數(shù)據(jù)為屏蔽層信號(hào)發(fā)生變化時(shí)寫入的硬件旁路風(fēng)險(xiǎn)數(shù)據(jù);
且若存儲(chǔ)器內(nèi)存儲(chǔ)的內(nèi)容為第一類或第三類,則說(shuō)明存在旁路風(fēng)險(xiǎn);若存儲(chǔ)器內(nèi)存儲(chǔ)的內(nèi)容為第二類,則正常。
進(jìn)一步地,在所述軟件環(huán)境檢測(cè)單元中,所述“啟動(dòng)虛擬現(xiàn)實(shí)設(shè)備中的各個(gè)檢測(cè)點(diǎn)進(jìn)行軟件環(huán)境檢測(cè),判斷是否存在軟件旁路風(fēng)險(xiǎn)”具體為:
如果虛擬現(xiàn)實(shí)設(shè)備為基于PC環(huán)境的虛擬現(xiàn)實(shí)設(shè)備,則設(shè)置對(duì)軟件環(huán)境進(jìn)行保護(hù),并啟動(dòng)各個(gè)檢測(cè)點(diǎn)對(duì)軟件環(huán)境進(jìn)行防旁路檢測(cè),其中,設(shè)置對(duì)軟件環(huán)境進(jìn)行保護(hù)的內(nèi)容為:通過(guò)磁盤保護(hù)限制在操作系統(tǒng)上加裝其它軟件;對(duì)軟件環(huán)境進(jìn)行防旁路檢測(cè)的內(nèi)容包括:通過(guò)數(shù)字簽名驗(yàn)證虛擬現(xiàn)實(shí)設(shè)備的核心驅(qū)動(dòng)和接口庫(kù)是否屬于官方發(fā)布的、通過(guò)虛擬現(xiàn)實(shí)設(shè)備的核心驅(qū)動(dòng)和接口庫(kù)檢測(cè)虛擬現(xiàn)實(shí)場(chǎng)景的監(jiān)控窗口是否未被開啟、以及通過(guò)系統(tǒng)接口檢測(cè)軟件是否未處于被調(diào)試狀態(tài),且如果檢測(cè)結(jié)果均為是,則判定為不存在軟件旁路風(fēng)險(xiǎn);如果檢測(cè)結(jié)果出現(xiàn)否,則判定為存在軟件旁路風(fēng)險(xiǎn);
如果虛擬現(xiàn)實(shí)設(shè)備為基于Android環(huán)境的虛擬設(shè)備,則設(shè)置對(duì)軟件環(huán)境進(jìn)行保護(hù),并啟動(dòng)各個(gè)檢測(cè)點(diǎn)對(duì)軟件環(huán)境進(jìn)行檢測(cè),其中,設(shè)置對(duì)軟件環(huán)境進(jìn)行保護(hù)的內(nèi)容為:通過(guò)設(shè)備廠家對(duì)操作系統(tǒng)和各應(yīng)用程序進(jìn)行數(shù)字簽名;對(duì)軟件環(huán)境進(jìn)行檢測(cè)的內(nèi)容包括:在Bootloader加載操作系統(tǒng)之前檢測(cè)操作系統(tǒng)的數(shù)字簽名是否合法、在操作系統(tǒng)加載各應(yīng)用程序之前檢測(cè)各應(yīng)用程序的數(shù)字簽名是否合法、以及通過(guò)系統(tǒng)接口檢測(cè)各應(yīng)用程序是否未處于被調(diào)試狀態(tài),且如果檢測(cè)結(jié)果均為是,則判定為不存在軟件旁路風(fēng)險(xiǎn);如果檢測(cè)結(jié)果出現(xiàn)否,則判定為存在軟件旁路風(fēng)險(xiǎn)。
進(jìn)一步地,所述保密數(shù)據(jù)采集模塊包括元素重定位單元、保密數(shù)據(jù)運(yùn)算單元以及結(jié)果值輸出單元;
所述元素重定位單元,用于啟動(dòng)虛擬現(xiàn)實(shí)設(shè)備的保密數(shù)據(jù)輸入功能,將虛擬現(xiàn)實(shí)設(shè)備輸入場(chǎng)景中的輸入元素或者輸入元素中的輸入值進(jìn)行重新定位,且在重新定位時(shí),使用隨機(jī)數(shù)算法隨機(jī)生成定位位置;
所述保密數(shù)據(jù)運(yùn)算單元,用于在重新定位后的輸入場(chǎng)景中選擇輸入元素,且每確定選擇一個(gè)輸入元素后,均將該選擇的輸入元素所對(duì)應(yīng)的輸入值存放到臨時(shí)緩存中;在選擇完所有輸入元素后,從臨時(shí)緩存中讀取所有輸入值,并使用加密算法對(duì)讀取的所有輸入值進(jìn)行加密生成一加密結(jié)果值,其中,加密算法采用對(duì)稱加密算法或非對(duì)稱加密算法中的任意一種算法或者二者的組合算法;加密完成后,清除臨時(shí)緩存中緩存的所有未加密的輸入值,并將加密結(jié)果值存放到臨時(shí)緩存中;
所述結(jié)果值輸出單元,用于輸出加密結(jié)果值,并清除緩存在臨時(shí)緩存中的加密結(jié)果值。
本發(fā)明具有如下優(yōu)點(diǎn):1、通過(guò)將輸入場(chǎng)景中的輸入元素或者輸入元素中的輸入值進(jìn)行重新定位,即采用隨機(jī)算法進(jìn)行隨機(jī)排布,這樣當(dāng)非輸入者在外部觀察輸入者的體態(tài)變化時(shí),就不能推測(cè)出輸入者在虛擬現(xiàn)實(shí)場(chǎng)景中所做出的具體選擇,可以有效解決非輸入者通過(guò)觀察輸入過(guò)程的體態(tài)變化而導(dǎo)致保密信息泄露的問(wèn)題;2、虛擬現(xiàn)實(shí)設(shè)備的外周設(shè)置一層屏蔽層,并實(shí)時(shí)以監(jiān)聽或者輪詢的方式檢測(cè)屏蔽層的信號(hào)情況,當(dāng)出現(xiàn)電信號(hào)變化時(shí),就自動(dòng)永久禁止保密數(shù)據(jù)輸入程序的運(yùn)行,可以確保虛擬現(xiàn)實(shí)設(shè)備不會(huì)被硬件旁路;3、對(duì)于基于PC環(huán)境的虛擬現(xiàn)實(shí)設(shè)備,通過(guò)軟件技術(shù)手段,如進(jìn)程監(jiān)控、磁盤保護(hù)等技術(shù),禁止監(jiān)控軟件和虛擬現(xiàn)實(shí)保密數(shù)據(jù)輸入軟件同時(shí)運(yùn)行,可以有效避免在虛擬現(xiàn)實(shí)場(chǎng)景中的操作過(guò)程被監(jiān)視軟件旁路獲取。對(duì)于基于Android環(huán)境的虛擬設(shè)備,通過(guò)Bootloader對(duì)操作系統(tǒng)的真實(shí)性和完整性進(jìn)行數(shù)字簽名認(rèn)證,可以確保操作系統(tǒng)沒有被篡改;再由操作系統(tǒng)對(duì)應(yīng)用軟件及應(yīng)用軟件環(huán)境進(jìn)行真實(shí)性和完整性數(shù)字簽名認(rèn)證,可以確保實(shí)現(xiàn)保密數(shù)據(jù)輸入的應(yīng)用軟件沒有被篡改,有利于確保整個(gè)輸入環(huán)境的安全。
附圖說(shuō)明
下面參照附圖結(jié)合實(shí)施例對(duì)本發(fā)明作進(jìn)一步的說(shuō)明。
圖1為本發(fā)明使用虛擬現(xiàn)實(shí)設(shè)備實(shí)現(xiàn)保密數(shù)據(jù)輸入的方法的執(zhí)行流程圖。
圖2為本發(fā)明使用虛擬現(xiàn)實(shí)設(shè)備實(shí)現(xiàn)保密數(shù)據(jù)輸入的系統(tǒng)的結(jié)構(gòu)框圖。
圖3為本發(fā)明中保密數(shù)據(jù)采集模塊的結(jié)構(gòu)框圖。
圖4為本發(fā)明中環(huán)境守護(hù)模塊的結(jié)構(gòu)框圖。
具體實(shí)施方式
請(qǐng)參照?qǐng)D1所示,一種使用虛擬現(xiàn)實(shí)設(shè)備實(shí)現(xiàn)保密數(shù)據(jù)輸入的方法,在使用時(shí),虛擬現(xiàn)實(shí)設(shè)備需要與終端進(jìn)行連接,以實(shí)現(xiàn)保護(hù)數(shù)據(jù)的輸入,所述方法包括如下步驟:
步驟1、對(duì)虛擬現(xiàn)實(shí)設(shè)備進(jìn)行硬件旁路以及軟件旁路檢測(cè),且一旦檢測(cè)到存在旁路風(fēng)險(xiǎn),則立即清除存儲(chǔ)在虛擬現(xiàn)實(shí)設(shè)備內(nèi)部的密鑰信息以及所有參與保密運(yùn)算的信息(因?yàn)楹罄m(xù)要對(duì)用戶的輸入值進(jìn)行對(duì)稱或非對(duì)稱加密,因此虛擬現(xiàn)實(shí)設(shè)備內(nèi)必然存儲(chǔ)有密鑰信息以及參與保密運(yùn)算的信息,此時(shí)需要將這些信息全部清除掉,以免造成密鑰信息泄露),并結(jié)束流程;若檢測(cè)到不存在旁路風(fēng)險(xiǎn),則進(jìn)入步驟2;
由于竊聽設(shè)備和監(jiān)視軟件都比較隱秘,比較不容易被人發(fā)現(xiàn),通過(guò)先對(duì)虛擬現(xiàn)實(shí)設(shè)備進(jìn)行旁路風(fēng)險(xiǎn)檢測(cè),可以有效防止虛擬現(xiàn)實(shí)設(shè)備被安裝上竊聽設(shè)備和監(jiān)視軟件等,以確保輸入的保密數(shù)據(jù)、密鑰信息等不被竊取。
所述步驟1具體包括:
步驟11、在虛擬現(xiàn)實(shí)設(shè)備的外周設(shè)置一層屏蔽層,且通過(guò)監(jiān)聽或者輪詢的方式檢測(cè)屏蔽層的信號(hào)是否發(fā)生變化(在實(shí)施時(shí),如果虛擬現(xiàn)實(shí)設(shè)備被拆開或者被鉆上孔,就會(huì)破壞到屏蔽層,此時(shí)屏蔽層的信號(hào)就會(huì)發(fā)生變化),如果是,則在存儲(chǔ)器中記錄存在硬件旁路風(fēng)險(xiǎn),并進(jìn)入步驟12;如果否,則直接進(jìn)入步驟12;
步驟12、通過(guò)監(jiān)聽或者輪詢的方式檢測(cè)存儲(chǔ)器中是否記錄存在硬件旁路風(fēng)險(xiǎn),如果是,則清除存儲(chǔ)在虛擬現(xiàn)實(shí)設(shè)備內(nèi)部的密鑰信息以及所有參與保密運(yùn)算的信息,并結(jié)束流程,即自動(dòng)永久禁止保密數(shù)據(jù)輸入程序的運(yùn)行;
如果否,則啟動(dòng)虛擬現(xiàn)實(shí)設(shè)備中的各個(gè)檢測(cè)點(diǎn)進(jìn)行軟件環(huán)境檢測(cè),判斷是否存在軟件旁路風(fēng)險(xiǎn),且如果存在軟件旁路風(fēng)險(xiǎn),則清除已產(chǎn)生的所有保密數(shù)據(jù),并結(jié)束流程;
如果不存在軟件旁路風(fēng)險(xiǎn),則使虛擬現(xiàn)實(shí)設(shè)備中的各個(gè)檢測(cè)點(diǎn)進(jìn)行相互檢測(cè),且當(dāng)任意一個(gè)檢測(cè)點(diǎn)檢測(cè)到任一其它檢測(cè)點(diǎn)不工作時(shí),則視為存在軟件旁路風(fēng)險(xiǎn),此時(shí)清除存儲(chǔ)在虛擬現(xiàn)實(shí)設(shè)備內(nèi)部的密鑰信息以及所有參與保密運(yùn)算的信息,(例如在檢測(cè)點(diǎn)3檢測(cè)到檢測(cè)點(diǎn)5不執(zhí)行互檢工作時(shí),就視為存在軟件旁路風(fēng)險(xiǎn)),并結(jié)束流程;若各個(gè)檢測(cè)點(diǎn)均正常工作,則進(jìn)入步驟2。
所述步驟11具體包括:
步驟111、在虛擬現(xiàn)實(shí)設(shè)備的外周設(shè)置一層屏蔽層,且該屏蔽層由電信號(hào)閉合通路集合、光信號(hào)閉合通路集合、光信號(hào)變化檢測(cè)集合中的一種或多種組合形成;
步驟112、通過(guò)監(jiān)聽或者輪詢的方式檢測(cè)屏蔽層的信號(hào)是否發(fā)生變化,如果是,則在存儲(chǔ)器中記錄存在硬件旁路風(fēng)險(xiǎn),并進(jìn)入步驟12;如果否,則直接進(jìn)入步驟12;其中,所述存儲(chǔ)器為掉電后內(nèi)容易失的存儲(chǔ)器,且該存儲(chǔ)器內(nèi)存儲(chǔ)的內(nèi)容為以下三類中的一類:
第一類:無(wú)數(shù)據(jù),存儲(chǔ)器在掉電后,重新上電時(shí)存儲(chǔ)的內(nèi)容即為無(wú)數(shù)據(jù),在具體實(shí)施時(shí),供電中斷就會(huì)同步導(dǎo)致存儲(chǔ)器掉電,并使存儲(chǔ)器內(nèi)的數(shù)據(jù)丟失;
第二類:有數(shù)據(jù)且為初始數(shù)據(jù),所述初始數(shù)據(jù)為虛擬現(xiàn)實(shí)設(shè)備出廠時(shí),通過(guò)廠家的核心控制密鑰與虛擬現(xiàn)實(shí)設(shè)備中芯片的唯一序列號(hào)共同生成的加密數(shù)據(jù);廠家的核心控制密鑰是由虛擬現(xiàn)實(shí)設(shè)備廠家生成的,由虛擬現(xiàn)實(shí)設(shè)備廠家建立行政管控體系進(jìn)行統(tǒng)一管理,以保證該核心控制密鑰不會(huì)被泄漏,當(dāng)存儲(chǔ)器內(nèi)的數(shù)據(jù)一旦丟失了,就只能返廠才可以恢復(fù)初始數(shù)據(jù);
第三類:有數(shù)據(jù)且為風(fēng)險(xiǎn)記錄數(shù)據(jù),所述風(fēng)險(xiǎn)記錄數(shù)據(jù)為屏蔽層信號(hào)發(fā)生變化時(shí)寫入的硬件旁路風(fēng)險(xiǎn)數(shù)據(jù);
且若存儲(chǔ)器內(nèi)存儲(chǔ)的內(nèi)容為第一類或第三類,則說(shuō)明存在旁路風(fēng)險(xiǎn);若存儲(chǔ)器內(nèi)存儲(chǔ)的內(nèi)容為第二類,則正常;即在實(shí)施過(guò)程中,只有存儲(chǔ)器內(nèi)存儲(chǔ)的是第二類數(shù)據(jù)才是正常的,如果是第一類或第三類數(shù)據(jù),則說(shuō)明存在旁路風(fēng)險(xiǎn),此時(shí)就需要清除所有保密數(shù)據(jù),并返回虛擬現(xiàn)實(shí)設(shè)備廠家恢復(fù)初始數(shù)據(jù),清除危險(xiǎn)后才可以繼續(xù)使用。
在所述步驟12中,所述“啟動(dòng)虛擬現(xiàn)實(shí)設(shè)備中的各個(gè)檢測(cè)點(diǎn)進(jìn)行軟件環(huán)境檢測(cè),判斷是否存在軟件旁路風(fēng)險(xiǎn)”具體為:
如果虛擬現(xiàn)實(shí)設(shè)備為基于PC環(huán)境的虛擬現(xiàn)實(shí)設(shè)備(例如HTC VIVE等),則設(shè)置對(duì)軟件環(huán)境進(jìn)行保護(hù),并啟動(dòng)各個(gè)檢測(cè)點(diǎn)對(duì)軟件環(huán)境進(jìn)行防旁路檢測(cè),其中,設(shè)置對(duì)軟件環(huán)境進(jìn)行保護(hù)的內(nèi)容為:通過(guò)磁盤保護(hù)限制在操作系統(tǒng)上加裝其它軟件,即通過(guò)磁盤保護(hù)來(lái)預(yù)防和阻止攻擊者植入監(jiān)聽軟件等;對(duì)軟件環(huán)境進(jìn)行防旁路檢測(cè)的內(nèi)容包括:通過(guò)數(shù)字簽名驗(yàn)證虛擬現(xiàn)實(shí)設(shè)備的核心驅(qū)動(dòng)和接口庫(kù)是否屬于官方發(fā)布的、通過(guò)虛擬現(xiàn)實(shí)設(shè)備的核心驅(qū)動(dòng)和接口庫(kù)檢測(cè)虛擬現(xiàn)實(shí)場(chǎng)景的監(jiān)控窗口是否未被開啟、以及通過(guò)系統(tǒng)接口檢測(cè)軟件是否未處于被調(diào)試狀態(tài),且如果檢測(cè)結(jié)果均為是,則判定為不存在軟件旁路風(fēng)險(xiǎn);如果檢測(cè)結(jié)果出現(xiàn)否,則判定為存在軟件旁路風(fēng)險(xiǎn);
如果虛擬現(xiàn)實(shí)設(shè)備為基于Android環(huán)境的虛擬設(shè)備,則設(shè)置對(duì)軟件環(huán)境進(jìn)行保護(hù),并啟動(dòng)各個(gè)檢測(cè)點(diǎn)對(duì)軟件環(huán)境進(jìn)行檢測(cè),其中,設(shè)置對(duì)軟件環(huán)境進(jìn)行保護(hù)的內(nèi)容為:通過(guò)設(shè)備廠家對(duì)操作系統(tǒng)和各應(yīng)用程序進(jìn)行數(shù)字簽名,以方便加載時(shí)可以進(jìn)行合法性驗(yàn)證;對(duì)軟件環(huán)境進(jìn)行檢測(cè)的內(nèi)容包括:在Bootloader加載操作系統(tǒng)之前檢測(cè)操作系統(tǒng)的數(shù)字簽名是否合法、在操作系統(tǒng)加載各應(yīng)用程序之前檢測(cè)各應(yīng)用程序的數(shù)字簽名是否合法、以及通過(guò)系統(tǒng)接口檢測(cè)各應(yīng)用程序是否未處于被調(diào)試狀態(tài),且如果檢測(cè)結(jié)果均為是,則判定為不存在軟件旁路風(fēng)險(xiǎn);如果檢測(cè)結(jié)果出現(xiàn)否,則判定為存在軟件旁路風(fēng)險(xiǎn)。
步驟2、將虛擬現(xiàn)實(shí)設(shè)備輸入場(chǎng)景中的輸入元素或者輸入元素中的輸入值進(jìn)行重新定位,對(duì)輸入者選擇的所有輸入元素中的輸入值進(jìn)行加密處理生成一加密結(jié)果值,并輸出加密結(jié)果值;
在執(zhí)行步驟2的同時(shí),繼續(xù)對(duì)虛擬現(xiàn)實(shí)設(shè)備進(jìn)行硬件旁路以及軟件旁路檢測(cè)(具體檢測(cè)過(guò)程與步驟1相同,這里就不再重復(fù)進(jìn)行描述),直到執(zhí)行完該步驟2后才停止檢測(cè),且在檢測(cè)的過(guò)程中,一旦檢測(cè)到存在旁路風(fēng)險(xiǎn),則立即停止執(zhí)行該步驟2,并清除內(nèi)部的密鑰信息、所有參與保密運(yùn)算的信息以及已生成的所有保密數(shù)據(jù),因?yàn)樵趫?zhí)行步驟2的過(guò)程中,用戶會(huì)選擇一些輸入值(即密碼)輸入,在檢測(cè)到存在風(fēng)險(xiǎn)時(shí),就需要將這些輸入值清除,以確保密碼不被竊取。
所述步驟2具體包括:
步驟21、啟動(dòng)虛擬現(xiàn)實(shí)設(shè)備的保密數(shù)據(jù)輸入功能,將虛擬現(xiàn)實(shí)設(shè)備輸入場(chǎng)景中的輸入元素或者輸入元素中的輸入值進(jìn)行重新定位,且在重新定位時(shí),使用隨機(jī)數(shù)算法隨機(jī)生成定位位置;通過(guò)將輸入場(chǎng)景中的輸入元素或者輸入元素中的輸入值進(jìn)行重新定位,隨機(jī)排布,例如,將上一次輸入值為9的輸入元素重定位為輸入值為3的輸入元素,也可以將輸入值0重定位為輸入值4等等,使本次輸入場(chǎng)景中的輸入元素或者輸入元素中的輸入值與上一次不一致,這樣當(dāng)非輸入者在外部觀察輸入者的體態(tài)變化時(shí),就不能推測(cè)出輸入者在虛擬現(xiàn)實(shí)場(chǎng)景中所做出的具體選擇,有利于確保輸入過(guò)程的安全;
步驟22、在重新定位后的輸入場(chǎng)景中選擇輸入元素,且每確定選擇一個(gè)輸入元素后,均將該選擇的輸入元素所對(duì)應(yīng)的輸入值存放到臨時(shí)緩存中;在選擇完所有輸入元素后,從臨時(shí)緩存中讀取所有輸入值,并使用加密算法對(duì)讀取的所有輸入值進(jìn)行加密生成一加密結(jié)果值,其中,加密算法采用對(duì)稱加密算法或非對(duì)稱加密算法中的任意一種算法或者二者的組合算法;加密完成后,清除臨時(shí)緩存中緩存的所有未加密的輸入值,并將加密結(jié)果值存放到臨時(shí)緩存中,以等待輸入者將加密結(jié)果值輸出;
步驟23、輸出加密結(jié)果值,并清除緩存在臨時(shí)緩存中的加密結(jié)果值,即輸入者只能獲取一次加密結(jié)果值,而無(wú)法進(jìn)行再次獲取。
請(qǐng)參照?qǐng)D2至圖4所示,一種使用虛擬現(xiàn)實(shí)設(shè)備實(shí)現(xiàn)保密數(shù)據(jù)輸入的系統(tǒng),在使用時(shí),虛擬現(xiàn)實(shí)設(shè)備需要與終端進(jìn)行連接,以實(shí)現(xiàn)保護(hù)數(shù)據(jù)的輸入,所述系統(tǒng)包括環(huán)境守護(hù)模塊1以及保密數(shù)據(jù)采集模塊2;
所述環(huán)境守護(hù)模塊1,用于對(duì)虛擬現(xiàn)實(shí)設(shè)備進(jìn)行硬件旁路以及軟件旁路檢測(cè),且一旦檢測(cè)到存在旁路風(fēng)險(xiǎn),則立即清除存儲(chǔ)在虛擬現(xiàn)實(shí)設(shè)備內(nèi)部的密鑰信息以及所有參與保密運(yùn)算的信息(因?yàn)楹罄m(xù)要對(duì)用戶的輸入值進(jìn)行對(duì)稱或非對(duì)稱加密,因此虛擬現(xiàn)實(shí)設(shè)備內(nèi)必然存儲(chǔ)有密鑰信息以及參與保密運(yùn)算的信息,此時(shí)需要將這些信息全部清除掉,以免造成密鑰信息泄露),并結(jié)束流程;若檢測(cè)到不存在旁路風(fēng)險(xiǎn),則進(jìn)入所述保密數(shù)據(jù)采集模塊2;
由于竊聽設(shè)備和監(jiān)視軟件都比較隱秘,比較不容易被人發(fā)現(xiàn),通過(guò)先對(duì)虛擬現(xiàn)實(shí)設(shè)備進(jìn)行旁路風(fēng)險(xiǎn)檢測(cè),可以有效防止虛擬現(xiàn)實(shí)設(shè)備被安裝上竊聽設(shè)備和監(jiān)視軟件等,以確保輸入的保密數(shù)據(jù)、密鑰信息等不被竊取。
所述環(huán)境守護(hù)模塊1具體包括硬件防侵入單元11、軟件環(huán)境檢測(cè)單元12以及互檢單元13;
所述硬件防侵入單元11,用于在虛擬現(xiàn)實(shí)設(shè)備的外周設(shè)置一層屏蔽層,且通過(guò)監(jiān)聽或者輪詢的方式檢測(cè)屏蔽層的信號(hào)是否發(fā)生變化(在實(shí)施時(shí),如果虛擬現(xiàn)實(shí)設(shè)備被拆開或者被鉆上孔,就會(huì)破壞到屏蔽層,此時(shí)屏蔽層的信號(hào)就會(huì)發(fā)生變化),如果是,則在存儲(chǔ)器中記錄存在硬件旁路風(fēng)險(xiǎn),并進(jìn)入所述軟件環(huán)境檢測(cè)單元;如果否,則直接進(jìn)入所述軟件環(huán)境檢測(cè)單元12;
所述軟件環(huán)境檢測(cè)單元12,通過(guò)監(jiān)聽或者輪詢的方式檢測(cè)存儲(chǔ)器中是否記錄存在硬件旁路風(fēng)險(xiǎn),如果是,則清除存儲(chǔ)在虛擬現(xiàn)實(shí)設(shè)備內(nèi)部的密鑰信息以及所有參與保密運(yùn)算的信息,并結(jié)束流程,即自動(dòng)永久禁止保密數(shù)據(jù)輸入程序的運(yùn)行;
如果否,則啟動(dòng)虛擬現(xiàn)實(shí)設(shè)備中的各個(gè)檢測(cè)點(diǎn)進(jìn)行軟件環(huán)境檢測(cè),判斷是否存在軟件旁路風(fēng)險(xiǎn),且如果存在軟件旁路風(fēng)險(xiǎn),則清除已產(chǎn)生的所有保密數(shù)據(jù),并結(jié)束流程;
如果不存在軟件旁路風(fēng)險(xiǎn),則使虛擬現(xiàn)實(shí)設(shè)備中的各個(gè)檢測(cè)點(diǎn)進(jìn)行相互檢測(cè),且當(dāng)任意一個(gè)檢測(cè)點(diǎn)檢測(cè)到任一其它檢測(cè)點(diǎn)不工作時(shí),則視為存在軟件旁路風(fēng)險(xiǎn),此時(shí)清除存儲(chǔ)在虛擬現(xiàn)實(shí)設(shè)備內(nèi)部的密鑰信息以及所有參與保密運(yùn)算的信息,(例如在檢測(cè)點(diǎn)3檢測(cè)到檢測(cè)點(diǎn)5不執(zhí)行互檢工作時(shí),就視為存在軟件旁路風(fēng)險(xiǎn)),并結(jié)束流程;若各個(gè)檢測(cè)點(diǎn)均正常工作,則進(jìn)入所述保密數(shù)據(jù)采集模塊2。
所述硬件防侵入單元11具體包括防侵入硬件子單元111以及防侵入硬件檢測(cè)子單元112;
所述防侵入硬件子單元111,用于在虛擬現(xiàn)實(shí)設(shè)備的外周設(shè)置一層屏蔽層,且該屏蔽層由電信號(hào)閉合通路集合、光信號(hào)閉合通路集合、光信號(hào)變化檢測(cè)集合中的一種或多種組合形成;
所述防侵入硬件檢測(cè)子單元112,用于通過(guò)監(jiān)聽或者輪詢的方式檢測(cè)屏蔽層的信號(hào)是否發(fā)生變化,如果是,則在存儲(chǔ)器中記錄存在硬件旁路風(fēng)險(xiǎn),并進(jìn)入所述軟件環(huán)境檢測(cè)單元;如果否,則直接進(jìn)入所述軟件環(huán)境檢測(cè)單元12;其中,所述存儲(chǔ)器為掉電后內(nèi)容易失的存儲(chǔ)器,且該存儲(chǔ)器內(nèi)存儲(chǔ)的內(nèi)容為以下三類中的一類:
第一類:無(wú)數(shù)據(jù),存儲(chǔ)器在掉電后,重新上電時(shí)存儲(chǔ)的內(nèi)容即為無(wú)數(shù)據(jù),在具體實(shí)施時(shí),供電中斷就會(huì)同步導(dǎo)致存儲(chǔ)器掉電,并使存儲(chǔ)器內(nèi)的數(shù)據(jù)丟失;
第二類:有數(shù)據(jù)且為初始數(shù)據(jù),所述初始數(shù)據(jù)為虛擬現(xiàn)實(shí)設(shè)備出廠時(shí),通過(guò)廠家的核心控制密鑰與虛擬現(xiàn)實(shí)設(shè)備中芯片的唯一序列號(hào)共同生成的加密數(shù)據(jù);廠家的核心控制密鑰是由虛擬現(xiàn)實(shí)設(shè)備廠家生成的,由虛擬現(xiàn)實(shí)設(shè)備廠家建立行政管控體系進(jìn)行統(tǒng)一管理,以保證該核心控制密鑰不會(huì)被泄漏,當(dāng)存儲(chǔ)器內(nèi)的數(shù)據(jù)一旦丟失了,就只能返廠才可以恢復(fù)初始數(shù)據(jù);
第三類:有數(shù)據(jù)且為風(fēng)險(xiǎn)記錄數(shù)據(jù),所述風(fēng)險(xiǎn)記錄數(shù)據(jù)為屏蔽層信號(hào)發(fā)生變化時(shí)寫入的硬件旁路風(fēng)險(xiǎn)數(shù)據(jù);
且若存儲(chǔ)器內(nèi)存儲(chǔ)的內(nèi)容為第一類或第三類,則說(shuō)明存在旁路風(fēng)險(xiǎn);若存儲(chǔ)器內(nèi)存儲(chǔ)的內(nèi)容為第二類,則正常;即在實(shí)施過(guò)程中,只有存儲(chǔ)器內(nèi)存儲(chǔ)的是第二類數(shù)據(jù)才是正常的,如果是第一類或第三類數(shù)據(jù),則說(shuō)明存在旁路風(fēng)險(xiǎn),此時(shí)就需要清除所有保密數(shù)據(jù),并返回虛擬現(xiàn)實(shí)設(shè)備廠家恢復(fù)初始數(shù)據(jù),清除危險(xiǎn)后才可以繼續(xù)使用。
在所述軟件環(huán)境檢測(cè)單元12中,所述“啟動(dòng)虛擬現(xiàn)實(shí)設(shè)備中的各個(gè)檢測(cè)點(diǎn)進(jìn)行軟件環(huán)境檢測(cè),判斷是否存在軟件旁路風(fēng)險(xiǎn)”具體為:
如果虛擬現(xiàn)實(shí)設(shè)備為基于PC環(huán)境的虛擬現(xiàn)實(shí)設(shè)備(例如HTC VIVE等),則設(shè)置對(duì)軟件環(huán)境進(jìn)行保護(hù),并啟動(dòng)各個(gè)檢測(cè)點(diǎn)對(duì)軟件環(huán)境進(jìn)行防旁路檢測(cè),其中,設(shè)置對(duì)軟件環(huán)境進(jìn)行保護(hù)的內(nèi)容為:通過(guò)磁盤保護(hù)限制在操作系統(tǒng)上加裝其它軟件,即通過(guò)磁盤保護(hù)來(lái)預(yù)防和阻止攻擊者植入監(jiān)聽軟件等;對(duì)軟件環(huán)境進(jìn)行防旁路檢測(cè)的內(nèi)容包括:通過(guò)數(shù)字簽名驗(yàn)證虛擬現(xiàn)實(shí)設(shè)備的核心驅(qū)動(dòng)和接口庫(kù)是否屬于官方發(fā)布的、通過(guò)虛擬現(xiàn)實(shí)設(shè)備的核心驅(qū)動(dòng)和接口庫(kù)檢測(cè)虛擬現(xiàn)實(shí)場(chǎng)景的監(jiān)控窗口是否未被開啟、以及通過(guò)系統(tǒng)接口檢測(cè)軟件是否未處于被調(diào)試狀態(tài),且如果檢測(cè)結(jié)果均為是,則判定為不存在軟件旁路風(fēng)險(xiǎn);如果檢測(cè)結(jié)果出現(xiàn)否,則判定為存在軟件旁路風(fēng)險(xiǎn);
如果虛擬現(xiàn)實(shí)設(shè)備為基于Android環(huán)境的虛擬設(shè)備,則設(shè)置對(duì)軟件環(huán)境進(jìn)行保護(hù),并啟動(dòng)各個(gè)檢測(cè)點(diǎn)對(duì)軟件環(huán)境進(jìn)行檢測(cè),其中,設(shè)置對(duì)軟件環(huán)境進(jìn)行保護(hù)的內(nèi)容為:通過(guò)設(shè)備廠家對(duì)操作系統(tǒng)和各應(yīng)用程序進(jìn)行數(shù)字簽名,以方便加載時(shí)可以進(jìn)行合法性驗(yàn)證;對(duì)軟件環(huán)境進(jìn)行檢測(cè)的內(nèi)容包括:在Bootloader加載操作系統(tǒng)之前檢測(cè)操作系統(tǒng)的數(shù)字簽名是否合法、在操作系統(tǒng)加載各應(yīng)用程序之前檢測(cè)各應(yīng)用程序的數(shù)字簽名是否合法、以及通過(guò)系統(tǒng)接口檢測(cè)各應(yīng)用程序是否未處于被調(diào)試狀態(tài),且如果檢測(cè)結(jié)果均為是,則判定為不存在軟件旁路風(fēng)險(xiǎn);如果檢測(cè)結(jié)果出現(xiàn)否,則判定為存在軟件旁路風(fēng)險(xiǎn)。
所述保密數(shù)據(jù)采集模塊2,用于將虛擬現(xiàn)實(shí)設(shè)備輸入場(chǎng)景中的輸入元素或者輸入元素中的輸入值進(jìn)行重新定位,對(duì)輸入者選擇的所有輸入元素中的輸入值進(jìn)行加密處理生成一加密結(jié)果值,并輸出加密結(jié)果值。
在執(zhí)行所述保密數(shù)據(jù)采集模塊2的同時(shí),繼續(xù)對(duì)虛擬現(xiàn)實(shí)設(shè)備進(jìn)行硬件旁路以及軟件旁路檢測(cè)(具體檢測(cè)過(guò)程與保密數(shù)據(jù)采集模塊2相同,這里就不再重復(fù)進(jìn)行描述),直到執(zhí)行完該保密數(shù)據(jù)采集模塊2后才停止檢測(cè),且在檢測(cè)的過(guò)程中,一旦檢測(cè)到存在旁路風(fēng)險(xiǎn),則立即停止執(zhí)行該保密數(shù)據(jù)采集模塊2,并清除內(nèi)部的密鑰信息、所有參與保密運(yùn)算的信息以及已生成的所有保密數(shù)據(jù),因?yàn)樵趫?zhí)行該保密數(shù)據(jù)采集模塊2的過(guò)程中,用戶會(huì)選擇一些輸入值(即密碼)輸入,在檢測(cè)到存在風(fēng)險(xiǎn)時(shí),就需要將這些輸入值清除,以確保密碼不被竊取。
所述保密數(shù)據(jù)采集模塊2具體包括元素重定位單元21、保密數(shù)據(jù)運(yùn)算單元22以及結(jié)果值輸出單元23;
所述元素重定位單元21,用于啟動(dòng)虛擬現(xiàn)實(shí)設(shè)備的保密數(shù)據(jù)輸入功能,將虛擬現(xiàn)實(shí)設(shè)備輸入場(chǎng)景中的輸入元素或者輸入元素中的輸入值進(jìn)行重新定位,且在重新定位時(shí),使用隨機(jī)數(shù)算法隨機(jī)生成定位位置;通過(guò)將輸入場(chǎng)景中的輸入元素或者輸入元素中的輸入值進(jìn)行重新定位,隨機(jī)排布,例如,將上一次輸入值為9的輸入元素重定位為輸入值為3的輸入元素,也可以將輸入值0重定位為輸入值4等等,使本次輸入場(chǎng)景中的輸入元素或者輸入元素中的輸入值與上一次不一致,這樣當(dāng)非輸入者在外部觀察輸入者的體態(tài)變化時(shí),就不能推測(cè)出輸入者在虛擬現(xiàn)實(shí)場(chǎng)景中所做出的具體選擇,有利于確保輸入過(guò)程的安全;
所述保密數(shù)據(jù)運(yùn)算單元22,用于在重新定位后的輸入場(chǎng)景中選擇輸入元素,且每確定選擇一個(gè)輸入元素后,均將該選擇的輸入元素所對(duì)應(yīng)的輸入值存放到臨時(shí)緩存中;在選擇完所有輸入元素后,從臨時(shí)緩存中讀取所有輸入值,并使用加密算法對(duì)讀取的所有輸入值進(jìn)行加密生成一加密結(jié)果值,其中,加密算法采用對(duì)稱加密算法或非對(duì)稱加密算法中的任意一種算法或者二者的組合算法;加密完成后,清除臨時(shí)緩存中緩存的所有未加密的輸入值,并將加密結(jié)果值存放到臨時(shí)緩存中,以等待輸入者將加密結(jié)果值輸出;
所述結(jié)果值輸出單元23,用于輸出加密結(jié)果值,并清除緩存在臨時(shí)緩存中的加密結(jié)果值,即輸入者只能獲取一次加密結(jié)果值,而無(wú)法進(jìn)行再次獲取。
總之,本發(fā)明具有如下優(yōu)點(diǎn):1、通過(guò)將輸入場(chǎng)景中的輸入元素或者輸入元素中的輸入值進(jìn)行重新定位,即采用隨機(jī)算法進(jìn)行隨機(jī)排布,這樣當(dāng)非輸入者在外部觀察輸入者的體態(tài)變化時(shí),就不能推測(cè)出輸入者在虛擬現(xiàn)實(shí)場(chǎng)景中所做出的具體選擇,可以有效解決非輸入者通過(guò)觀察輸入過(guò)程的體態(tài)變化而導(dǎo)致保密信息泄露的問(wèn)題;2、虛擬現(xiàn)實(shí)設(shè)備的外周設(shè)置一層屏蔽層,并實(shí)時(shí)以監(jiān)聽或者輪詢的方式檢測(cè)屏蔽層的信號(hào)情況,當(dāng)出現(xiàn)電信號(hào)變化時(shí),就自動(dòng)永久禁止保密數(shù)據(jù)輸入程序的運(yùn)行,可以確保虛擬現(xiàn)實(shí)設(shè)備不會(huì)被硬件旁路;3、對(duì)于基于PC環(huán)境的虛擬現(xiàn)實(shí)設(shè)備,通過(guò)軟件技術(shù)手段,如進(jìn)程監(jiān)控、磁盤保護(hù)等技術(shù),禁止監(jiān)控軟件和虛擬現(xiàn)實(shí)保密數(shù)據(jù)輸入軟件同時(shí)運(yùn)行,可以有效避免在虛擬現(xiàn)實(shí)場(chǎng)景中的操作過(guò)程被監(jiān)視軟件旁路獲取。對(duì)于基于Android環(huán)境的虛擬設(shè)備,通過(guò)Bootloader對(duì)操作系統(tǒng)的真實(shí)性和完整性進(jìn)行數(shù)字簽名認(rèn)證,可以確保操作系統(tǒng)沒有被篡改;再由操作系統(tǒng)對(duì)應(yīng)用軟件及應(yīng)用軟件環(huán)境進(jìn)行真實(shí)性和完整性數(shù)字簽名認(rèn)證,可以確保實(shí)現(xiàn)保密數(shù)據(jù)輸入的應(yīng)用軟件沒有被篡改,有利于確保整個(gè)輸入環(huán)境的安全。
雖然以上描述了本發(fā)明的具體實(shí)施方式,但是熟悉本技術(shù)領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,我們所描述的具體的實(shí)施例只是說(shuō)明性的,而不是用于對(duì)本發(fā)明的范圍的限定,熟悉本領(lǐng)域的技術(shù)人員在依照本發(fā)明的精神所作的等效的修飾以及變化,都應(yīng)當(dāng)涵蓋在本發(fā)明的權(quán)利要求所保護(hù)的范圍內(nèi)。