本發(fā)明涉及衛(wèi)星差分?jǐn)?shù)據(jù)播發(fā)技術(shù)領(lǐng)域,特別涉及一種增強(qiáng)差分服務(wù)播發(fā)安全性的方法。
背景技術(shù):
基于NTRIP協(xié)議(通過(guò)互聯(lián)網(wǎng)進(jìn)行RTCM網(wǎng)絡(luò)傳輸?shù)膮f(xié)議,Networked Transport of RTCM via Intemet Protocol)的衛(wèi)星差分?jǐn)?shù)據(jù)播發(fā)方案中,終端設(shè)備認(rèn)證基于NTRIP協(xié)議定義的差分賬號(hào)(包括差分用戶(hù)名和差分密碼)。用戶(hù)購(gòu)買(mǎi)差分服務(wù)后,需要把大量的差分賬號(hào)一個(gè)一個(gè)的手工輸入到所有終端,操作較為繁瑣。
如果預(yù)裝服務(wù)提供商的SDK(軟件開(kāi)發(fā)包,Software Development Kit),可以預(yù)先寫(xiě)入差分賬號(hào)信息,減少了上述操作繁瑣的問(wèn)題,但是對(duì)于終端設(shè)備的數(shù)量很大的情況,需要為每個(gè)終端設(shè)備寫(xiě)入不同的差分賬號(hào),也就需要不同的SDK版本,這樣同樣非常不方便。
現(xiàn)有的解決大量終端自動(dòng)分配差分賬號(hào)的方案:為同一個(gè)用戶(hù)同一個(gè)批次的所有終端設(shè)備預(yù)先寫(xiě)入相同的應(yīng)用賬號(hào)(包括應(yīng)用標(biāo)識(shí)AppKey和應(yīng)用秘鑰AppSecrete),終端設(shè)備接入時(shí)根據(jù)應(yīng)用賬號(hào)進(jìn)行認(rèn)證鑒權(quán)操作,并為不同的終端設(shè)備(由終端設(shè)備的物理序列號(hào)進(jìn)行標(biāo)識(shí))分配不同的設(shè)備服務(wù)號(hào)(用于唯一標(biāo)識(shí)一個(gè)終端設(shè)備的一個(gè)服務(wù)(應(yīng)用)的賬號(hào),包括用戶(hù)名和密碼)。
但是現(xiàn)有方案存在以下缺點(diǎn)和安全隱患:
1、應(yīng)用密鑰AppSecrete存儲(chǔ)在終端,泄露的風(fēng)險(xiǎn)很高,例如有的客戶(hù)直接把應(yīng)用密鑰貼到設(shè)備標(biāo)簽上,很容易被惡意用戶(hù)盜用。
2、應(yīng)用密鑰AppSecrete對(duì)應(yīng)到一組(有可能成千上萬(wàn))的終端設(shè)備,一旦泄露,所有的終端設(shè)備都面臨風(fēng)險(xiǎn)。相比于一個(gè)賬號(hào)對(duì)應(yīng)一個(gè)終端設(shè)備的方案,泄露后的危害更大。
技術(shù)實(shí)現(xiàn)要素:
基于上述問(wèn)題,本發(fā)明提出一種增強(qiáng)差分服務(wù)播發(fā)安全性的方法,能夠安全地為大量終端設(shè)備寫(xiě)入不同差分賬號(hào),解決了差分服務(wù)播發(fā)過(guò)程中泄露風(fēng)險(xiǎn)高的技術(shù)問(wèn)題。
本發(fā)明采用的技術(shù)方案是:
一種增強(qiáng)差分服務(wù)播發(fā)安全性的方法,包括以下步驟:
步驟11,用戶(hù)購(gòu)買(mǎi)差分賬號(hào);
步驟12,差分服務(wù)系統(tǒng)生成差分賬號(hào)池、初始賬號(hào)和服務(wù)賬號(hào);
步驟13,判斷用戶(hù)是否想手工在終端設(shè)備上輸入差分賬號(hào);如是,執(zhí)行步驟14;如否,執(zhí)行步驟15;
步驟14,告知差分賬號(hào)池,執(zhí)行步驟141;
步驟15,告知初始賬號(hào),執(zhí)行步驟151;
步驟141,用戶(hù)手工為每個(gè)終端設(shè)備輸入差分賬號(hào),執(zhí)行步驟16;
步驟151,用戶(hù)為所有終端設(shè)備輸入相同的初始賬號(hào),執(zhí)行步驟16;
步驟16,等待終端設(shè)備接入。
進(jìn)一步地,所述步驟13替換為步驟13a:
步驟13a,判斷用戶(hù)是否想通過(guò)OpenAPI方式對(duì)所有終端設(shè)備進(jìn)行管理配置;如是,執(zhí)行步驟14a;如否,執(zhí)行步驟15a;
步驟14a,告知服務(wù)賬號(hào);
步驟15a,提供管理控制臺(tái)方式給用戶(hù)。
進(jìn)一步地,所述方法還包括以下步驟:
步驟17,終端設(shè)備第一次接入播發(fā)系統(tǒng);
步驟18,根據(jù)終端設(shè)備上傳的初始賬號(hào)進(jìn)行鑒權(quán),判斷是否鑒權(quán)通過(guò);如否,執(zhí)行步驟19;如是,執(zhí)行步驟20;
步驟19,鑒權(quán)不通過(guò),斷開(kāi)連接;
步驟20,鑒權(quán)通過(guò),執(zhí)行步驟21;
步驟21,為終端設(shè)備分配差分賬號(hào),并返回給終端設(shè)備;
步驟22,終端設(shè)備根據(jù)分配到的差分賬號(hào)進(jìn)行連接,認(rèn)證和鑒權(quán),判斷是否鑒權(quán)通過(guò);如否,執(zhí)行步驟23;如是,執(zhí)行步驟24;
步驟23,鑒權(quán)不通過(guò),斷開(kāi)連接;
步驟24,鑒權(quán)通過(guò),根據(jù)差分賬號(hào)相應(yīng)的服務(wù)規(guī)格進(jìn)行播發(fā),執(zhí)行步驟25;
步驟25,播發(fā)差分?jǐn)?shù)據(jù)。
進(jìn)一步地,所述步驟18中,如果用戶(hù)上傳了終端設(shè)備序列號(hào),根據(jù)終端設(shè)備上傳的初始賬號(hào)和終端設(shè)備序列號(hào)進(jìn)行鑒權(quán)。
進(jìn)一步地,所述步驟21中,如果用戶(hù)綁定了差分賬號(hào)和終端設(shè)備序列號(hào),根據(jù)預(yù)先綁定的關(guān)系為終端設(shè)備分配差分賬號(hào),否則在差分賬號(hào)池配額允許范圍內(nèi)為終端設(shè)備自動(dòng)分配差分賬號(hào)。
進(jìn)一步地,如果為終端設(shè)備分配差分賬號(hào)時(shí)超過(guò)了差分賬號(hào)池配額,則不允許終端設(shè)備接入播發(fā)系統(tǒng),并觸發(fā)用戶(hù)報(bào)警,通知用戶(hù)配額已到,需要增加配額。
進(jìn)一步地,如果差分服務(wù)播發(fā)過(guò)程中惡意用戶(hù)獲知了初始賬號(hào),在合法終端設(shè)備接入播發(fā)系統(tǒng)前搶占差分賬號(hào),則通過(guò)提供綁定終端設(shè)備序列號(hào)的方式解決。
進(jìn)一步地,如果差分服務(wù)播發(fā)過(guò)程中惡意用戶(hù)在用戶(hù)沒(méi)有設(shè)置終端設(shè)備序列號(hào)之前就已搶占差分賬號(hào),則通過(guò)提供強(qiáng)制注銷(xiāo)綁定關(guān)系的方式解決。
進(jìn)一步地,如果差分服務(wù)播發(fā)過(guò)程中惡意用戶(hù)不僅獲知了初始賬號(hào),還知道終端設(shè)備序列號(hào),則通過(guò)提供用戶(hù)設(shè)置允許接入激活的時(shí)間窗口的方式解決,用戶(hù)設(shè)置一個(gè)只有自己知道的時(shí)間窗口,然后他的終端設(shè)備在所述時(shí)間窗口內(nèi)接入激活。
進(jìn)一步地,如果在所述時(shí)間窗口內(nèi)發(fā)現(xiàn)兩個(gè)及以上終端設(shè)備序列號(hào)相同的終端設(shè)備先后連接服務(wù)端,則要求終端設(shè)備上傳標(biāo)識(shí)所述終端設(shè)備的信息,服務(wù)端觸發(fā)報(bào)警給用戶(hù),并提供用于標(biāo)識(shí)所述終端設(shè)備的信息,由用戶(hù)進(jìn)行人工選擇合法終端設(shè)備,所述終端設(shè)備的信息包括IP地址和操作系統(tǒng)版本。
本發(fā)明的有益效果在于,將應(yīng)用賬號(hào)根據(jù)功能和應(yīng)用場(chǎng)景的不同拆分為初始賬號(hào)和服務(wù)賬號(hào),提高了差分服務(wù)播發(fā)過(guò)程中的安全性。
附圖說(shuō)明
圖1是本發(fā)明系統(tǒng)結(jié)構(gòu)圖。
圖2是用戶(hù)購(gòu)買(mǎi)差分賬號(hào)后的流程圖。
圖3是用戶(hù)接入差分賬號(hào)的流程圖。
具體實(shí)施方式
下文中,結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步闡述。
本發(fā)明系統(tǒng)架構(gòu)圖如圖1所示,包括用戶(hù)配置界面101、差分用戶(hù)數(shù)據(jù)庫(kù)103、認(rèn)證和鑒權(quán)系統(tǒng)102、計(jì)費(fèi)系統(tǒng)104、播發(fā)系統(tǒng)105和n臺(tái)終端設(shè)備106,n至少為1;用戶(hù)通過(guò)用戶(hù)配置界面101可以創(chuàng)建應(yīng)用賬號(hào)和差分賬號(hào)池,并配置服務(wù)規(guī)格和計(jì)費(fèi)規(guī)格,差分用戶(hù)數(shù)據(jù)庫(kù)103對(duì)每一個(gè)差分帳號(hào)對(duì)應(yīng)的服務(wù)規(guī)格和計(jì)費(fèi)規(guī)格進(jìn)行存儲(chǔ);認(rèn)證和鑒權(quán)系統(tǒng)102讀取差分用戶(hù)數(shù)據(jù)庫(kù)103信息;差分用戶(hù)數(shù)據(jù)庫(kù)103與計(jì)費(fèi)系統(tǒng)104、播發(fā)系統(tǒng)105連接;播發(fā)系統(tǒng)105將差分?jǐn)?shù)據(jù)播發(fā)到終端設(shè)備106。
較佳地,所述用戶(hù)配置界面101有兩種方式,一種是圖形用戶(hù)界面,另一種是OpenAPI方式,OpenAPI方式開(kāi)放接口給第三方進(jìn)行業(yè)務(wù)邏輯集成。
認(rèn)證和鑒權(quán)系統(tǒng)102:用于對(duì)用戶(hù)進(jìn)行認(rèn)證和鑒權(quán)的系統(tǒng)。
計(jì)費(fèi)系統(tǒng)104:用于對(duì)差分?jǐn)?shù)據(jù)服務(wù)進(jìn)行計(jì)費(fèi)的系統(tǒng)。
終端設(shè)備106:用于接收差分?jǐn)?shù)據(jù)并進(jìn)行定位計(jì)算的設(shè)備。
本發(fā)明中的一種增強(qiáng)差分服務(wù)播發(fā)安全性的方法包括用戶(hù)購(gòu)買(mǎi)差分賬號(hào)后的流程和用戶(hù)接入差分賬號(hào)的流程。
用戶(hù)購(gòu)買(mǎi)差分服務(wù)后的流程圖如圖2所示:
實(shí)施例一,包括以下步驟:
步驟11,用戶(hù)購(gòu)買(mǎi)差分賬號(hào),有可能是為一個(gè)終端設(shè)備購(gòu)買(mǎi)一個(gè)差分賬號(hào),也有可能是為大量終端設(shè)備購(gòu)買(mǎi)大量的差分賬號(hào)。
步驟12,差分服務(wù)系統(tǒng)自動(dòng)為用戶(hù)生成差分賬號(hào)池、初始賬號(hào)和服務(wù)賬號(hào);
差分賬號(hào)池:根據(jù)用戶(hù)購(gòu)買(mǎi)的差分賬號(hào)數(shù)量自動(dòng)生成,可選根據(jù)用戶(hù)指定的差分賬號(hào)檢查唯一性后分配;
初始賬號(hào):用于為批量終端設(shè)備鑒權(quán)后自動(dòng)分配差分賬號(hào)(一個(gè)初始賬號(hào)包括初始用戶(hù)名和初始密鑰);
服務(wù)賬號(hào):用于用戶(hù)通過(guò)OpenAPI方式對(duì)所有終端進(jìn)行管理配置(一個(gè)服務(wù)賬號(hào)包括服務(wù)用戶(hù)名和服務(wù)密鑰);
較佳地,可選支持用戶(hù)設(shè)置設(shè)備白名單,即用戶(hù)上傳他的終端設(shè)備序列號(hào)(用于唯一標(biāo)識(shí)一個(gè)終端設(shè)備的物理標(biāo)識(shí),如手機(jī)設(shè)備的IMEI號(hào))列表,只允許在該列表中的終端設(shè)備接入,避免惡意用戶(hù)搶占差分賬號(hào)池綁定關(guān)系。
步驟13,判斷用戶(hù)是否想手工在終端設(shè)備上輸入差分賬號(hào);如是,執(zhí)行步驟14;如否,執(zhí)行步驟15。
步驟14,告知差分賬號(hào)池,執(zhí)行步驟141。
步驟15,告知初始賬號(hào),執(zhí)行步驟151。
步驟141,用戶(hù)手工為每個(gè)終端設(shè)備輸入差分賬號(hào),執(zhí)行步驟16。
步驟151,用戶(hù)為所有終端設(shè)備輸入相同的初始賬號(hào)用于之后的接入鑒權(quán),執(zhí)行步驟16。
步驟16,等待終端設(shè)備接入。
實(shí)施例二,包括以下步驟:
步驟11,用戶(hù)購(gòu)買(mǎi)差分賬號(hào),有可能是為一個(gè)終端設(shè)備購(gòu)買(mǎi)一個(gè)差分賬號(hào),也有可能是為大量終端設(shè)備購(gòu)買(mǎi)大量的差分賬號(hào)。
步驟12,差分服務(wù)系統(tǒng)自動(dòng)為用戶(hù)生成差分賬號(hào)池、初始賬號(hào)和服務(wù)賬號(hào)。
步驟13a,判斷用戶(hù)是否想通過(guò)OpenAPI方式對(duì)所有終端設(shè)備進(jìn)行管理配置;如是,執(zhí)行步驟14a;如否,執(zhí)行步驟15a;
步驟14a,告知服務(wù)賬號(hào),用于OpenAPI訪(fǎng)問(wèn)鑒權(quán)。
步驟15a,用戶(hù)沒(méi)有OpenAPI開(kāi)發(fā)能力,則提供管理控制臺(tái)方式給用戶(hù)。
用戶(hù)接入差分賬號(hào)的流程圖如圖3所示,包括以下步驟:
步驟17,用戶(hù)終端設(shè)備第一次接入播發(fā)系統(tǒng)。
步驟18,根據(jù)終端設(shè)備上傳的初始賬號(hào)進(jìn)行鑒權(quán),判斷是否鑒權(quán)通過(guò);如否,執(zhí)行步驟19;如是,執(zhí)行步驟20;
較佳地,如果用戶(hù)上傳了終端設(shè)備序列號(hào)(即用戶(hù)設(shè)置終端設(shè)備白名單),可選同時(shí)根據(jù)終端設(shè)備上傳的初始賬號(hào)和終端設(shè)備序列號(hào)進(jìn)行鑒權(quán)。
步驟19,鑒權(quán)不通過(guò),斷開(kāi)連接。
步驟20,鑒權(quán)通過(guò),執(zhí)行步驟21。
步驟21,為終端設(shè)備分配差分賬號(hào),并返回給終端設(shè)備;
較佳地,如果用戶(hù)綁定了差分賬號(hào)和終端設(shè)備序列號(hào),可以根據(jù)預(yù)先綁定的關(guān)系為終端設(shè)備分配差分賬號(hào),否則在差分賬號(hào)池配額允許范圍內(nèi)為終端設(shè)備自動(dòng)分配差分賬號(hào);
如果為終端設(shè)備分配差分賬號(hào)時(shí)超過(guò)了差分賬號(hào)池配額,則不允許終端設(shè)備接入播發(fā)系統(tǒng),并觸發(fā)用戶(hù)報(bào)警,通知用戶(hù)配額已到,需要增加配額;或者已經(jīng)被惡意用戶(hù)搶占,需要到管理控制臺(tái)檢查綁定關(guān)系,如果有非法終端設(shè)備接入,提供注銷(xiāo)操作,強(qiáng)制將該非法終端設(shè)備下線(xiàn)。
步驟22,終端設(shè)備根據(jù)分配到的差分賬號(hào)進(jìn)行連接,認(rèn)證和鑒權(quán),判斷是否鑒權(quán)通過(guò);如否,執(zhí)行步驟23;如是,執(zhí)行步驟24。
步驟23,鑒權(quán)不通過(guò),斷開(kāi)連接。
步驟24,鑒權(quán)通過(guò),根據(jù)差分賬號(hào)相對(duì)應(yīng)的服務(wù)規(guī)格進(jìn)行播發(fā),執(zhí)行步驟25。
步驟25,播發(fā)差分?jǐn)?shù)據(jù)。
本發(fā)明將應(yīng)用賬號(hào)根據(jù)功能和應(yīng)用場(chǎng)景的不同拆分為初始賬號(hào)和服務(wù)賬號(hào):
初始賬號(hào):僅用于一次性自動(dòng)分配差分賬號(hào)的接入鑒權(quán),鑒權(quán)通過(guò)并分配差分賬號(hào)后就沒(méi)用其它用途了。初始賬號(hào)沒(méi)有其它用途,降低了泄露后的風(fēng)險(xiǎn)。
服務(wù)賬號(hào):用于用戶(hù)通過(guò)OpenAPI方式對(duì)所有終端設(shè)備進(jìn)行管理控制的訪(fǎng)問(wèn)鑒權(quán)。服務(wù)賬號(hào)不存儲(chǔ)在終端設(shè)備,因此泄露的風(fēng)險(xiǎn)較小。
本發(fā)明在差分服務(wù)播發(fā)過(guò)程中針對(duì)不同的異常情況采取相對(duì)應(yīng)的措施,具體應(yīng)對(duì)措施如下:
如果惡意用戶(hù)獲知了初始賬號(hào),在合法終端設(shè)備接入播發(fā)系統(tǒng)前搶占差分賬號(hào):
通過(guò)提供綁定終端設(shè)備序列號(hào)(終端設(shè)備白名單)的方式解決;
如果用戶(hù)沒(méi)有設(shè)置終端設(shè)備白名單之前就已被惡意用戶(hù)搶占差分賬號(hào):
通過(guò)提供強(qiáng)制注銷(xiāo)綁定關(guān)系的方式解決;
如果惡意用戶(hù)不僅獲知了初始賬號(hào),還知道合法終端設(shè)備序列號(hào):
提供用戶(hù)設(shè)置允許接入激活的時(shí)間窗口的解決,用戶(hù)設(shè)置某個(gè)只有自己知道的特定時(shí)間窗口,然后他的終端設(shè)備在所述特定時(shí)間窗口內(nèi)接入激活;
如果在所述特定時(shí)間窗口內(nèi)發(fā)現(xiàn)兩個(gè)及以上終端設(shè)備序列號(hào)相同的終端設(shè)備先后連接服務(wù)端,則要求終端設(shè)備上傳盡可能多的標(biāo)識(shí)所述終端設(shè)備的信息,如IP地址、操作系統(tǒng)版本等,服務(wù)端觸發(fā)報(bào)警給用戶(hù),并提供用于標(biāo)識(shí)所述終端設(shè)備的信息,由用戶(hù)進(jìn)行人工選擇合法終端設(shè)備。
本發(fā)明對(duì)于計(jì)算機(jī)編程語(yǔ)言沒(méi)有特別要求,優(yōu)選采用JAVA語(yǔ)言。
本發(fā)明雖然已以較佳實(shí)施例公開(kāi)如上,但其并不是用來(lái)限定本發(fā)明,任何本領(lǐng)域技術(shù)人員在不脫離本發(fā)明的精神和范圍內(nèi),都可以利用上述揭示的方法和技術(shù)內(nèi)容對(duì)本發(fā)明技術(shù)方案做出可能的變動(dòng)和修改,因此,凡是未脫離本發(fā)明技術(shù)方案的內(nèi)容,依據(jù)本發(fā)明的技術(shù)實(shí)質(zhì)對(duì)以上實(shí)施例所作的任何簡(jiǎn)單修改、等同變化及修飾,均屬于本發(fā)明技術(shù)方案的保護(hù)范圍。