一種安全地訪問監(jiān)控前端設(shè)備的方法和裝置制造方法
【專利摘要】本發(fā)明提供一種安全地訪問監(jiān)控前端設(shè)備的方法,包括:A、接收注冊用戶在平臺服務(wù)器上添加監(jiān)控前端設(shè)備的報文;B、根據(jù)本地保存的設(shè)備序列號驗證所述添加報文中的序列號,如果一致,則在本地生成設(shè)備名、序列號和用戶名的一條新記錄;C、接收監(jiān)控前端設(shè)備的注冊?;顖笪?;D、根據(jù)注冊保活報文的序列號查找到所述記錄,進(jìn)一步添加同步隨機(jī)數(shù)、監(jiān)控前端設(shè)備的IP地址;E、接收用戶的訪問請求后,判斷該用戶的名下是否具有該待訪問設(shè)備的設(shè)備名,如果是,則轉(zhuǎn)步驟F,否則拒絕該用戶的訪問請求;F、在記錄中查詢到其IP地址,將該用戶的訪問請求重定向到前端設(shè)備,所述重定向的訪問請求中包含該設(shè)備的IP地址、用戶名、動態(tài)驗證碼。本發(fā)明訪問監(jiān)控前端設(shè)備的方法安全可靠。
【專利說明】一種安全地訪問監(jiān)控前端設(shè)備的方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及視頻監(jiān)控【技術(shù)領(lǐng)域】,尤其涉及一種安全地訪問監(jiān)控前端設(shè)備的方法和裝置。
【背景技術(shù)】
[0002]隨著IP視頻監(jiān)控業(yè)務(wù)的發(fā)展,在Internet上的監(jiān)控應(yīng)用越來越多,諸如向家庭提供老人小孩安全看護(hù)、向中小企業(yè)提供商鋪廠房安全管理等安防服務(wù)。此類視頻監(jiān)控前端設(shè)備接入Internet時一般使用的是動態(tài)IP地址。眾所周知,動態(tài)IP地址的訪問和管理均不方便,因此監(jiān)控廠商通常在Internet上提供監(jiān)控前端設(shè)備接入的管理服務(wù)平臺,從而實(shí)現(xiàn)用戶方便訪問該監(jiān)控前端設(shè)備的目的。但是當(dāng)前用戶訪問監(jiān)控前端設(shè)備的方法存在一定的安全隱患,一些不具有訪問權(quán)限的用戶在有些時候也能實(shí)現(xiàn)對監(jiān)控前端設(shè)備的訪問。
【發(fā)明內(nèi)容】
[0003]有鑒于此,本發(fā)明提供一種安全地訪問監(jiān)控前端設(shè)備的方法和裝置。
[0004]該安全地訪問監(jiān)控前端設(shè)備的方法應(yīng)用于平臺服務(wù)器上,該方法包括:
[0005]A、接收注冊用戶在平臺服務(wù)器上添加監(jiān)控前端設(shè)備的報文,該報文中攜帶該監(jiān)控設(shè)備的序列號、設(shè)備名以及該注冊用戶的用戶名;
[0006]B、根據(jù)本地保存的監(jiān)控前端設(shè)備的序列號驗證所述報文中的序列號,如果一致,則在本地生成該監(jiān)控前端設(shè)備的設(shè)備名、序列號和注冊用戶的用戶名的一條新記錄;
[0007]C、接收監(jiān)控前端設(shè)備的注冊?;顖笪模撟员;顖笪闹袛y帶監(jiān)控前端設(shè)備的序列號、同步隨機(jī)數(shù);
[0008]D、根據(jù)注冊?;顖笪牡男蛄刑柌檎业剿鲇涗?,在該記錄中進(jìn)一步添加同步隨機(jī)數(shù)、從IP頭中獲取的監(jiān)控前端設(shè)備的IP地址;
[0009]E、接收用戶對監(jiān)控前端設(shè)備的訪問請求后,判斷該用戶的名下是否具有該待訪問監(jiān)控前端設(shè)備設(shè)備名,如果是,則轉(zhuǎn)步驟F,否則拒絕該用戶的訪問請求。
[0010]F、在該監(jiān)控前端設(shè)備的記錄中查詢到其IP地址,將該用戶的訪問請求重定向到所述監(jiān)控前端設(shè)備,所述重定向的訪問請求中包含該監(jiān)控前端設(shè)備的IP地址、訪問該監(jiān)控前端設(shè)備用戶的角色名、動態(tài)驗證碼,以使監(jiān)控前端設(shè)備收到該訪問請求后根據(jù)該動態(tài)驗證碼確認(rèn)是否執(zhí)行對應(yīng)的監(jiān)控業(yè)務(wù);其中所述動態(tài)驗證碼根據(jù)平臺服務(wù)器當(dāng)前記錄的同步隨機(jī)數(shù)、當(dāng)前的時間、所述訪問該監(jiān)控前端設(shè)備用戶的角色名生成。
[0011]相應(yīng)地,本發(fā)明還提供一種應(yīng)用于監(jiān)控前端設(shè)備的方法,包括:
[0012]A、向平臺服務(wù)器發(fā)送注冊保活報文,該注冊保活報文中攜帶該監(jiān)控前端設(shè)備的序列號、同步隨機(jī)數(shù);
[0013]B、監(jiān)控前端設(shè)備接收到平臺服務(wù)器發(fā)送的重定向訪問請求后,根據(jù)最近一次發(fā)送的?;顖笪闹袛y帶的同步隨機(jī)數(shù)、當(dāng)前的時間以及訪問該監(jiān)控前端設(shè)備用戶的角色名,用和平臺服務(wù)器相同的算法計算動態(tài)驗證碼,如果計算得到的動態(tài)驗證碼和所述重定向訪問請求中的動態(tài)驗證碼一致,則執(zhí)行對應(yīng)的監(jiān)控業(yè)務(wù)。
[0014]基于同樣的構(gòu)思,本發(fā)明還提供一種安全地訪問監(jiān)控前端設(shè)備的裝置,該裝置應(yīng)用于平臺服務(wù)器,該裝置包括:設(shè)備添加模塊,用于接收注冊用戶添加監(jiān)控前端設(shè)備的報文,該報文中攜帶該監(jiān)控設(shè)備的序列號、設(shè)備名以及注冊用戶的用戶名;并且根據(jù)本地本地保存的序列號驗證所述報文中的監(jiān)控前端設(shè)備的序列號,如果一致,則在本地生成該監(jiān)控前端設(shè)備的設(shè)備名、序列號、注冊用戶用戶名的一條新記錄;設(shè)備信息更新模塊,用于接收監(jiān)控前端設(shè)備的注冊、?;顖笪?,該注冊、?;顖笪闹袛y帶監(jiān)控前端設(shè)備序列號、同步隨機(jī)數(shù);且根據(jù)注冊?;顖笪闹械男蛄刑柌檎业剿霰O(jiān)控前端設(shè)備的記錄,在該記錄中進(jìn)一步添加同步隨機(jī)數(shù)、IP地址;訪問控制模塊,用于接收用戶對監(jiān)控前端設(shè)備的訪問請求后,判斷該用戶的名下是否具有該設(shè)備名的監(jiān)控前端設(shè)備,如果是,在該監(jiān)控前端設(shè)備的記錄中查詢到其IP地址,將該用戶的訪問請求重定向到所述監(jiān)控前端設(shè)備,所述重定向的訪問請求中包含該監(jiān)控前端設(shè)備的IP地址、訪問該監(jiān)控前端設(shè)備用戶的角色名、動態(tài)驗證碼,以使監(jiān)控前端設(shè)備收到該訪問請求后根據(jù)該動態(tài)驗證碼確認(rèn)是否執(zhí)行對應(yīng)的監(jiān)控業(yè)務(wù);其中所述動態(tài)驗證碼根據(jù)平臺服務(wù)器當(dāng)前記錄的同步隨機(jī)數(shù)、當(dāng)前的時間、所述訪問該監(jiān)控前端設(shè)備用戶的角色名生成。
[0015]一種安全地訪問監(jiān)控前端設(shè)備的裝置,該裝置應(yīng)用于監(jiān)控前端設(shè)備上,包括:注冊?;钅K,用于向平臺服務(wù)器發(fā)送注冊?;顖笪模撟员;顖笪闹袛y帶該監(jiān)控前端設(shè)備序列號、同步隨機(jī)數(shù);訪問控制模塊,用于接收到平臺服務(wù)器發(fā)送的重定向訪問請求后,根據(jù)最近一次發(fā)送的?;顖笪闹袛y帶的同步隨機(jī)數(shù)、當(dāng)前的時間以及訪問該監(jiān)控前端設(shè)備用戶的角色名,用和平臺服務(wù)器相同的算法計算動態(tài)驗證碼,如果計算得到的動態(tài)驗證碼和所述重定向訪問請求中的動態(tài)驗證碼一致,則執(zhí)行對應(yīng)的監(jiān)控業(yè)務(wù)。
[0016]相較于現(xiàn)有技術(shù),本發(fā)明的技術(shù)方案安全可靠,對監(jiān)控前端設(shè)備的安全性有一定的保證。
【專利附圖】
【附圖說明】
[0017]圖1是本發(fā)明實(shí)施例流程圖。
[0018]圖2是本發(fā)明實(shí)施例用戶界面圖示例圖。
[0019]圖3是本發(fā)明實(shí)施例相對同步時間說明示例圖。
[0020]圖4是本發(fā)明實(shí)施例裝置一邏輯結(jié)構(gòu)圖。
[0021 ] 圖5是本發(fā)明實(shí)施例裝置二邏輯結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0022]為了解決【背景技術(shù)】中提到的技術(shù)問題,本發(fā)明提供一種安全地訪問監(jiān)控前端設(shè)備的方案。以下通過具體實(shí)施例詳細(xì)闡述。
[0023]請參圖1的安全地訪問監(jiān)控前端設(shè)備的方法流程圖。
[0024]S1、平臺服務(wù)器接收注冊用戶添加監(jiān)控前端設(shè)備的報文,該報文中攜帶該監(jiān)控設(shè)備的序列號、設(shè)備名以及該注冊用戶的用戶名。
[0025]用戶首先在計算機(jī)或者手機(jī)上登錄平臺服務(wù)器,比如說在瀏覽器中輸入該平臺服務(wù)器的域名,如http://ddns.xxxx.com登錄到該平臺服務(wù)器,然后輸入用戶名和密碼進(jìn)行注冊。如果注冊成功,則在平臺服務(wù)器上添加該監(jiān)控前端設(shè)備。請參圖2所示的一個設(shè)備添加配置頁面,用戶可以在設(shè)備名的輸入框內(nèi)給要添加的監(jiān)控前端設(shè)備進(jìn)行命名,比如說NVRU IPC1,然后輸入該設(shè)備的序列號。每個設(shè)備在出廠的時候都有唯一的硬件序列號,該硬件序列號作為該設(shè)備的唯一標(biāo)識。這里除了手工輸入硬件序列號的方式外,還可以通過掃描條形碼或者二維碼的方式將該監(jiān)控前端設(shè)備的序列號上報給平臺服務(wù)器。用戶的操作完成后,平臺服務(wù)器將收到該注冊用戶添加監(jiān)控前端設(shè)備的報文。
[0026]如果硬件序列號是一組有規(guī)律的號碼,那某些用戶可以猜測出其他用戶的監(jiān)控前端設(shè)備的硬件序列號,然后向平臺服務(wù)器進(jìn)行非歸屬自身的監(jiān)控前端設(shè)備的添加。所以從安全性的角度考慮,添加報文中的監(jiān)控設(shè)備的序列號還可以是硬件序列號和隨機(jī)序列號構(gòu)成的序列號。比如說前20位是設(shè)備的序列號,后10位是設(shè)備的硬件序列號對應(yīng)的隨機(jī)序列號。增加隨機(jī)序列號后,整個30位的序列號就很難被人猜測,從而增加了安全性。
[0027]S2、平臺服務(wù)器根據(jù)本地保存的監(jiān)控前端設(shè)備的序列號驗證所述報文中的序列號,如果一致,則在本地生成該監(jiān)控前端設(shè)備的設(shè)備名、序列號和注冊用戶的用戶名的一條新記錄。
[0028]平臺服務(wù)器上保存有監(jiān)控前端設(shè)備的序列號。如果采用硬件序列號進(jìn)行比對的話,則平臺服務(wù)器只要在監(jiān)控前端設(shè)備出廠前記錄其硬件序列號即可。如果采用硬件序列號和隨機(jī)序列號進(jìn)行比對的話,則平臺服務(wù)器在監(jiān)控前端設(shè)備出廠前記錄硬件序列號和該硬件序列號對應(yīng)的隨機(jī)序列號?;蛘?,也可以采用監(jiān)控前端設(shè)備上線向平臺服務(wù)器注冊時發(fā)送器序列號,平臺服務(wù)器在本地記錄該監(jiān)控前端設(shè)備發(fā)送的序列號,以此作為后續(xù)比對的依據(jù)。
[0029]當(dāng)平臺服務(wù)器收到用戶通過計算機(jī)或者手機(jī)發(fā)送的設(shè)備添加報文后,就將該設(shè)備添加報文中的序列號和本地保存的系列號進(jìn)行比對,如果本地保存的序列號和添加報文中的序列號一致,則添加成功,否則認(rèn)為該監(jiān)控前端設(shè)備為非法設(shè)備,不予添加。添加成功后,平臺服務(wù)器上將保存該添加的監(jiān)控前端設(shè)備的設(shè)備名、序列號和注冊用戶的用戶名的對應(yīng)記錄。哪個注冊用戶成功添加了該監(jiān)控前端設(shè)備即表示該監(jiān)控前端設(shè)備歸屬于該用戶或者說該用戶的名下具有該監(jiān)控前端設(shè)備。
[0030]S3、監(jiān)控前端設(shè)備向平臺服務(wù)器發(fā)送注冊?;顖笪?,該注冊?;顖笪闹袛y帶該監(jiān)控前端設(shè)備的序列號、同步隨機(jī)數(shù)。
[0031]S4、平臺服務(wù)器接收監(jiān)控前端設(shè)備的注冊保活報文。
[0032]S5、平臺服務(wù)器根據(jù)注冊?;顖笪闹械男蛄刑柌檎业剿霰O(jiān)控前端設(shè)備的記錄,在該記錄中進(jìn)一步添加同步隨機(jī)數(shù)、從IP頭中獲取的監(jiān)控前端設(shè)備的IP地址。
[0033]監(jiān)控前端設(shè)備上電啟動后就會自動向平臺服務(wù)器發(fā)送注冊報文,該注冊報文包含該監(jiān)控前端設(shè)備的序列號、同步隨機(jī)數(shù)。平臺服務(wù)器在收到監(jiān)控前端設(shè)備的注冊報文后,根據(jù)其中的序列號在本地進(jìn)行該監(jiān)控前端設(shè)備的查找,如果查找到,則在該監(jiān)控前端設(shè)備對應(yīng)的記錄中添加其IP地址和同步隨機(jī)數(shù);如果沒有查找到,則還沒有用戶在平臺服務(wù)器上添加過該監(jiān)控前端設(shè)備,此時可以標(biāo)識該監(jiān)控前端設(shè)備為“離線”狀態(tài),后續(xù)用戶在平臺服務(wù)器上添加成功該監(jiān)控前端設(shè)備時將“離線”狀態(tài)更改為“在線”狀態(tài)。后續(xù),監(jiān)控前端設(shè)備會周期性的向平臺服務(wù)器發(fā)送?;顖笪?,該?;顖笪目梢灶愃朴谧詧笪囊粯訑y帶相關(guān)信息。同步隨機(jī)數(shù)是用來生成動態(tài)驗證碼,所以每次發(fā)送?;顖笪臅r攜帶的同步隨機(jī)數(shù)都不同,并且?;顖笪闹袛y帶的同步隨機(jī)數(shù)和注冊報文中的攜帶的也不一致。
[0034]S6、用戶向平臺服務(wù)器發(fā)送訪問監(jiān)控前端設(shè)備的請求,該訪問請求中攜帶待訪問的監(jiān)控前端設(shè)備的設(shè)備名。
[0035]S7、平臺服務(wù)器接收用戶對監(jiān)控前端設(shè)備的訪問請求后,判斷該用戶的名下是否具有該設(shè)備名的監(jiān)控前端設(shè)備,如果是,則轉(zhuǎn)步驟S8,否則拒絕該用戶的訪問請求。
[0036]用戶在用自己的用戶名和密碼登錄到平臺服務(wù)器后,如果要訪問歸屬于自己的監(jiān)控前端設(shè)備,只需要在計算機(jī)或者手機(jī)的界面上點(diǎn)擊顯示的監(jiān)控前端設(shè)備,計算機(jī)或者手機(jī)將用戶的該需求發(fā)送至平臺服務(wù)器。或者,用戶還可以直接在瀏覽器中輸入如:http://{平臺服務(wù)器域名}/{待訪問的設(shè)備名}的方式向平臺服務(wù)器發(fā)送自己的訪問請求。平臺服務(wù)器針對用戶訪問監(jiān)控前端設(shè)備的請求,首先判斷該用戶的名下是否具有該監(jiān)控前端設(shè)備。平臺服務(wù)器在判斷的時候查詢在本地生成的監(jiān)控前端設(shè)備的記錄,如果某條記錄中保存該用戶的用戶名和待訪問的監(jiān)控前端設(shè)備的設(shè)備名的對應(yīng)關(guān)系,則認(rèn)為該用戶的名下具有該待訪問的監(jiān)控前端設(shè)備,從而允許該用戶訪問該監(jiān)控前端設(shè)備。
[0037]S8、平臺服務(wù)器在該監(jiān)控前端設(shè)備的記錄中查詢查詢到其IP地址,將該用戶的訪問請求重定向到所述監(jiān)控前端設(shè)備,所述重定向的訪問請求中包含該監(jiān)控前端設(shè)備的IP地址、訪問該監(jiān)控前端設(shè)備用戶的角色名、動態(tài)驗證碼。
[0038]S9、監(jiān)控前端設(shè)備接收到平臺服務(wù)器發(fā)送的重定向訪問請求后,根據(jù)最近一次發(fā)送的?;顖笪闹袛y帶的同步隨機(jī)數(shù)、當(dāng)前的時間以及訪問該監(jiān)控前端設(shè)備用戶的角色名,用和平臺服務(wù)器相同的算法計算動態(tài)驗證碼,如果計算得到的動態(tài)驗證碼和所述重定向訪問請求中的動態(tài)驗證碼一致,則執(zhí)行對應(yīng)的監(jiān)控業(yè)務(wù),否則拒絕執(zhí)行對應(yīng)的監(jiān)控業(yè)務(wù)。
[0039]在平臺服務(wù)器確認(rèn)該用戶可以訪問監(jiān)控前端設(shè)備后,直接將用戶的訪問請求重定向到監(jiān)控前端設(shè)備。在重定向前,平臺服務(wù)器需要先查詢該監(jiān)控前端設(shè)備的記錄信息,從中獲取其IP地址,然后再進(jìn)行重定向。并且,為了保證監(jiān)控前端設(shè)備視頻的安全性,重定向的訪問請求中進(jìn)一步包含供監(jiān)控前端設(shè)備進(jìn)行合法性驗證的動態(tài)驗證碼信息。該動態(tài)驗證碼信息是平臺服務(wù)器根據(jù)監(jiān)控前端設(shè)備最近一次發(fā)送的?;顖笪闹袛y帶的同步隨機(jī)數(shù)、當(dāng)前的時間以及訪問該監(jiān)控前端設(shè)備用戶的角色名通過預(yù)定的算法生成的。監(jiān)控前端設(shè)備接收到平臺服務(wù)器發(fā)送的重定向訪問請求后,根據(jù)自身最近發(fā)送的?;顖笪闹袛y帶的同步隨機(jī)數(shù)、當(dāng)前的時間以及重定向請求中攜帶的訪問該監(jiān)控前端設(shè)備用戶的角色名,采用預(yù)定的算法進(jìn)行計算,如果計算得到的結(jié)果和重定向訪問請求中的動態(tài)驗證碼一致,則合法性驗證通過,向用戶執(zhí)行對應(yīng)的監(jiān)控業(yè)務(wù),如發(fā)送實(shí)況流、錄像回放;如果不一致,則不執(zhí)行。監(jiān)控前端設(shè)備進(jìn)行動態(tài)驗證碼計算采用的預(yù)定算法和平臺服務(wù)器所使用的預(yù)定算法是一致的算法。
[0040]上述動態(tài)驗證碼的計算過程也是本發(fā)明的一個亮點(diǎn),具體的計算過程如下:
[0041]①利用同步隨機(jī)數(shù)和當(dāng)前的時間計算第一動態(tài)碼;
[0042]②將訪問該監(jiān)控前端設(shè)備用戶的角色名、同步隨機(jī)數(shù)和第一動態(tài)碼三者拼接后的MD5字符串作為用戶名校驗字符串;
[0043]③將第一動態(tài)碼和用戶名校驗字符串進(jìn)行拼接得到動態(tài)驗證碼。
[0044]訪問該監(jiān)控前端設(shè)備用戶的角色名,如admin, visitor等。如果監(jiān)控前端設(shè)備所歸屬的用戶訪問該監(jiān)控前端設(shè)備的時候,角色名可以為:admin ;如果是共享用戶,角色名可以是visitor。平臺服務(wù)器在將用戶的訪問請求進(jìn)行重定向的時候會根據(jù)本地的記錄信息攜帶上該訪問用戶的角色名,以使監(jiān)控前端設(shè)備能進(jìn)行動態(tài)驗證碼的計算實(shí)際上該訪問用戶的角色名更多的表達(dá)的是一種訪問權(quán)限信息。通常admin表示高的權(quán)限。
[0045]上述生成動態(tài)驗證碼的方法使用了諸多參數(shù),有同步隨機(jī)數(shù)、表示權(quán)限的角色名、時間信息,以此達(dá)到安全的目的:同步隨機(jī)數(shù)、時間信息可以認(rèn)為是實(shí)時的參數(shù);用戶的角色名則防止低權(quán)限的用戶訪問高權(quán)限用戶才能訪問的內(nèi)容。
[0046]如果監(jiān)控前端設(shè)備和平臺服務(wù)器的時間均與標(biāo)準(zhǔn)時間源同步的話,則上述計算過程中所使用的當(dāng)前時間可以是監(jiān)控前端設(shè)備和平臺服務(wù)器上的絕對時間。但是如果要實(shí)現(xiàn)監(jiān)控前端設(shè)備、平臺服務(wù)器分別和標(biāo)準(zhǔn)時間源同步的話成本比較高,所以本發(fā)明實(shí)施例中的當(dāng)前時間使用相對時間。
[0047]請參圖3,當(dāng)前時間用η的值來表示。比如說第O秒的時候,監(jiān)控前端設(shè)備向平臺服務(wù)器發(fā)送攜帶同步隨機(jī)數(shù)的注冊報文,此時監(jiān)控前端設(shè)備上記錄η=1,然后過了 10秒,η被更新為2,然后又過了 10秒,η被更新為3,以此類推。對于平臺服務(wù)器,在接收到該監(jiān)控前端設(shè)備的注冊報文時,將η更新為1,然后依據(jù)本地的時間進(jìn)行η的更新:如果本地的時間經(jīng)過了 10秒,η被更新為2,又過了 10秒,η被更新為3,以此類推。這里10秒為一個計數(shù)單位,η等于幾就表示當(dāng)前是第幾個10秒。當(dāng)然10秒的計數(shù)單位僅是一個例子,還可以是其他計數(shù)單位。在監(jiān)控前端設(shè)備向平臺服務(wù)器發(fā)送?;顖笪牡臅r候,可以在?;顖笪闹袛y帶當(dāng)前η的值,平臺服務(wù)器據(jù)此判斷η是否同步,如果同步的話,進(jìn)一步按照10秒的時間間隔進(jìn)行η的更新,否則先以監(jiān)控前端設(shè)備發(fā)送的η值更新自身當(dāng)前的η值。當(dāng)監(jiān)控前端設(shè)備掉電后,平臺服務(wù)器清除對應(yīng)于該監(jiān)控前端設(shè)備的η值。
[0048]在使用上述相對時間來計算動態(tài)驗證碼時,監(jiān)控前端設(shè)備在利用自身當(dāng)前的同步隨機(jī)數(shù)、相對時間、用戶名計算得到的動態(tài)驗證碼和平臺服務(wù)器重定向訪問請求中的動態(tài)驗證碼不一致時,監(jiān)控前端設(shè)備進(jìn)一步利用當(dāng)前的同步隨機(jī)數(shù)、前相鄰相對時間、訪問用戶的角色名計算動態(tài)驗證碼,如果此時計算得到的動態(tài)驗證碼和平臺服務(wù)器重定向訪問請求中的動態(tài)驗證碼一致(參照圖3,這里驗證的是帶箭頭虛線處的情況),則對用戶訪問的合法性驗證通過,向用戶執(zhí)行對應(yīng)的監(jiān)控業(yè)務(wù);如果還是不一致的話,則監(jiān)控前端設(shè)備進(jìn)一步利用前相鄰?fù)诫S機(jī)數(shù)、前相鄰相對時間、訪問用戶的角色名計算動態(tài)驗證碼,如果此時計算得到的動態(tài)驗證碼和平臺服務(wù)器重定向訪問請求中的動態(tài)驗證碼一致(參圖3,這里驗證的是帶箭頭的實(shí)線處的情況),則對用戶訪問的合法性驗證通過,執(zhí)行對應(yīng)的監(jiān)控業(yè)務(wù)。這里的前相鄰相對時間、前相鄰?fù)诫S機(jī)數(shù)利用圖3的例子進(jìn)行解釋:在第30秒快結(jié)束的時候,平臺服務(wù)器向監(jiān)控前端設(shè)備重定向了一個訪問請求(圖中帶箭頭的虛線示意),該重定向訪問請求中的動態(tài)驗證碼在計算時所使用的時間為η=4 ;監(jiān)控前端設(shè)備收到該訪問請求進(jìn)行動態(tài)驗證碼計算的時候,已經(jīng)是第40秒了,此時η=5。相對于當(dāng)前時間η=5, η=4為其前相鄰相對時間。同樣地,平臺服務(wù)器向監(jiān)控前端設(shè)備重定向另一個訪問請求(圖中帶箭頭的實(shí)線示意),該訪問請求中攜帶的動態(tài)驗證碼在計算所使用到的同步隨機(jī)數(shù)為Α,監(jiān)控前端設(shè)備收到該訪問請求時,監(jiān)控前端設(shè)備剛向平臺服務(wù)器發(fā)送了一個新的保活報文,該新的?;顖笪闹袛y帶了另一個同步隨機(jī)數(shù)B。相對于同步隨機(jī)數(shù)B,同步隨機(jī)數(shù)A為其前相鄰?fù)诫S機(jī)數(shù)。
[0049]下面通過一個具體的例子來進(jìn)一步描述本發(fā)明實(shí)施例。[0050]平臺服務(wù)器的域名為ddns.xxxx.com ;用戶名為Tom,密碼為123456的用戶向網(wǎng)站ddns.xxxx.com進(jìn)行注冊,并且在注冊成功后在該平臺服務(wù)器上添加的設(shè)備信息如下:設(shè)備名NVROne、序列號151001。該注冊設(shè)備位于公網(wǎng),IP地址為51.51.51.2,有2路視頻,分別為視頻Door、視頻Bedroom。Tom登錄平臺服務(wù)器后,可以看到名下的設(shè)備NVROne和該設(shè)備下的視頻通道Door、Bedroom。另外,Tom如果要訪問NVROne下的視頻通道Door還可以直接在瀏覽器中輸入http://ddns.xxxx.com/NVROne/Door。平臺服務(wù)器將Tom的該訪問請求重定向到 NVROne,跳轉(zhuǎn)至 http://51.51.51.2/?user=fb35dce52779e5dlc0afa46789ab27dc&key=21040332ae25cce52959e5dlc0aea4ab27dc6789&key2=dlc0afa46789fb35dce52779e50其中51.51.51.2為NVROne的IP地址,user為admin的md5算法計算后的字符串;key為動態(tài)驗證碼;Key2為視頻通道Door的md5算法計算后的字符串。
[0051]NVROne 設(shè)備收到請求后,對 http://51.51.51.2/?user=fb35dce52779e5dlc0afa46789ab27dc&key=21040332ae25cce52959e5dlc0aea4ab27dc6789&key2=dlc0afa46789fb35dce52779e5 進(jìn)行解析:即對 user 后的字符串 fb35dce52779e5dlc0afa46789ab27dc 進(jìn)行解析,對key2后的字符串dlc0afa46789fb35dce52779e5進(jìn)行,分別得到訪問用戶的角色名和訪問的通道名。對動態(tài)驗證碼key=21040332ae25cce52959e5dlc0aea4ab27dc6789進(jìn)行合法性驗證。NVROne在進(jìn)行動態(tài)驗證碼的驗證的時候,利用和平臺服務(wù)器一樣的算法以及一樣的參數(shù)進(jìn)行計算,如果算出來的結(jié)果為21040332ae25cce52959e5dlc0aea4ab27dc6789,則合法性驗證通過,執(zhí)行對應(yīng)的監(jiān)控業(yè)務(wù)。[0052]基于同樣的構(gòu)思,本發(fā)明還提供一種安全地訪問監(jiān)控前端設(shè)備的裝置,該裝置位于平臺服務(wù)器。請參圖4,從邏輯結(jié)構(gòu)上劃分,該裝置包括設(shè)備添加模塊、設(shè)備信息更新模塊、訪問控制模塊。
[0053]設(shè)備添加模塊,用于接收注冊用戶添加監(jiān)控前端設(shè)備的報文,該報文中攜帶該監(jiān)控設(shè)備的序列號、設(shè)備名以及注冊用戶的用戶名;并且根據(jù)本地本地保存的序列號驗證所述報文中的監(jiān)控前端設(shè)備的序列號,如果一致,則在本地生成該監(jiān)控前端設(shè)備的設(shè)備名、序列號、注冊用戶用戶名的一條新記錄;
[0054]設(shè)備信息更新模塊,用于接收監(jiān)控前端設(shè)備的注冊、?;顖笪模撟?、?;顖笪闹袛y帶監(jiān)控前端設(shè)備序列號、同步隨機(jī)數(shù);且根據(jù)注冊?;顖笪闹械男蛄刑柌檎业剿霰O(jiān)控前端設(shè)備的記錄,在該記錄中進(jìn)一步添加同步隨機(jī)數(shù)、IP地址;
[0055]訪問控制模塊,用于接收用戶對監(jiān)控前端設(shè)備的訪問請求后,判斷該用戶的名下是否具有該設(shè)備名的監(jiān)控前端設(shè)備,如果是,在該監(jiān)控前端設(shè)備的記錄中查詢到其IP地址,將該用戶的訪問請求重定向到所述監(jiān)控前端設(shè)備,所述重定向的訪問請求中包含該監(jiān)控前端設(shè)備的IP地址、該訪問用戶的角色名、動態(tài)驗證碼,以使監(jiān)控前端設(shè)備收到該訪問請求后根據(jù)該動態(tài)驗證碼確認(rèn)是否執(zhí)行對應(yīng)的監(jiān)控業(yè)務(wù);其中所述動態(tài)驗證碼根據(jù)平臺服務(wù)器當(dāng)前記錄的同步隨機(jī)數(shù)、當(dāng)前的時間、該訪問用戶的角色名生成。
[0056]本發(fā)明還提供一種應(yīng)用于監(jiān)控前端設(shè)備上的安全地訪問監(jiān)控前端設(shè)備的裝置。請參圖5,從邏輯結(jié)構(gòu)上劃分,該裝置包括:注冊保活模塊、訪問控制模塊。
[0057]注冊保活模塊,用于向平臺服務(wù)器發(fā)送注冊?;顖笪?,該注冊保活報文中攜帶該監(jiān)控前端設(shè)備序列號、同步隨機(jī)數(shù);
[0058]訪問控制模塊,用于接收到平臺服務(wù)器發(fā)送的重定向訪問請求后,根據(jù)最近一次發(fā)送的保活報文中攜帶的同步隨機(jī)數(shù)、當(dāng)前的時間以及該訪問用戶的角色名,用和平臺服務(wù)器相同的算法計算動態(tài)驗證碼,如果計算得到的動態(tài)驗證碼和所述重定向訪問請求中的動態(tài)驗證碼一致,則執(zhí)行對應(yīng)的監(jiān)控業(yè)務(wù)。
[0059]以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
【權(quán)利要求】
1.一種安全地訪問監(jiān)控前端設(shè)備的方法,該方法應(yīng)用于平臺服務(wù)器上,其特征在于,該方法包括: A、接收注冊用戶在平臺服務(wù)器上添加監(jiān)控前端設(shè)備的報文,該報文中攜帶該監(jiān)控設(shè)備的序列號、設(shè)備名以及該注冊用戶的用戶名; B、根據(jù)本地保存的監(jiān)控前端設(shè)備的序列號驗證所述報文中的序列號,如果一致,則在本地生成該監(jiān)控前端設(shè)備的設(shè)備名、序列號和注冊用戶的用戶名的一條新記錄; C、接收監(jiān)控前端設(shè)備的注冊?;顖笪?,該注冊?;顖笪闹袛y帶監(jiān)控前端設(shè)備的序列號、同步隨機(jī)數(shù); D、根據(jù)注冊保活報文的序列號查找到所述記錄,在該記錄中進(jìn)一步添加同步隨機(jī)數(shù)、從IP頭中獲取的監(jiān)控前端設(shè)備的IP地址; E、接收用戶對監(jiān)控前端設(shè)備的訪問請求后,判斷該用戶的名下是否具有該待訪問監(jiān)控前端設(shè)備設(shè)備名,如果是,則轉(zhuǎn)步驟F,否則拒絕該用戶的訪問請求。 F、在該監(jiān)控前端設(shè)備的記錄中查詢到其IP地址,將該用戶的訪問請求重定向到所述監(jiān)控前端設(shè)備,所述重定向的訪問請求中包含該監(jiān)控前端設(shè)備的IP地址、訪問該監(jiān)控前端設(shè)備用戶的角色名、動態(tài)驗證碼,以使監(jiān)控前端設(shè)備收到該訪問請求后根據(jù)該動態(tài)驗證碼確認(rèn)是否執(zhí)行對應(yīng)的監(jiān)控業(yè)務(wù);其中所述動態(tài)驗證碼根據(jù)平臺服務(wù)器當(dāng)前記錄的同步隨機(jī)數(shù)、當(dāng)前的時間、所述訪問該監(jiān)控前端設(shè)備用戶的角色名生成。
2.如權(quán)利要求1所述的方法,其特征在于,所述序列號為監(jiān)控前端設(shè)備的硬件序列號,或者所述序列號為監(jiān)控前端設(shè)備的硬件序列號和該硬件序列號對應(yīng)的隨機(jī)序列號構(gòu)成的序列號。
3.如權(quán)利要求1所述的方法,其特征在于,所述動態(tài)驗證碼按照如下步驟計算: al、利用同步隨機(jī)數(shù)和當(dāng)前的時間計算第一動態(tài)碼; a2、將訪問該監(jiān)控前端設(shè)備用戶的角色名、同步隨機(jī)數(shù)和第一動態(tài)碼三者拼接后的MD5字符串作為校驗字符串; a3、將第一動態(tài)碼和校驗字符串的拼接作為動態(tài)驗證碼。
4.如權(quán)利要求3所述的方法,其特征在于,所述當(dāng)前時間為相對時間。
5.一種安全地訪問監(jiān)控前端設(shè)備的方法,該方法應(yīng)用于監(jiān)控前端設(shè)備,其特征在于,該方法包括: A、向平臺服務(wù)器發(fā)送注冊保活報文,該注冊?;顖笪闹袛y帶該監(jiān)控前端設(shè)備的序列號、同步隨機(jī)數(shù); B、監(jiān)控前端設(shè)備接收到平臺服務(wù)器發(fā)送的重定向訪問請求后,根據(jù)最近一次發(fā)送的?;顖笪闹袛y帶的同步隨機(jī)數(shù)、當(dāng)前的時間以及訪問該監(jiān)控前端設(shè)備用戶的角色名,用和平臺服務(wù)器相同的算法計算動態(tài)驗證碼,如果計算得到的動態(tài)驗證碼和所述重定向訪問請求中的動態(tài)驗證碼一致,則執(zhí)行對應(yīng)的監(jiān)控業(yè)務(wù)。
6.一種安全地訪問監(jiān)控前端設(shè)備的裝置,該裝置應(yīng)用于平臺服務(wù)器,其特征在于,該裝置包括: 設(shè)備添加模塊,用于接收注冊用戶添加監(jiān)控前端設(shè)備的報文,該報文中攜帶該監(jiān)控設(shè)備的序列號、設(shè)備名以及注冊用戶的用戶名;并且根據(jù)本地本地保存的序列號驗證所述報文中的監(jiān)控前端設(shè)備的序列號,如果一致,則在本地生成該監(jiān)控前端設(shè)備的設(shè)備名、序列號、注冊用戶用戶名的一條新記錄; 設(shè)備信息更新模塊,用于接收監(jiān)控前端設(shè)備的注冊、?;顖笪模撟?、?;顖笪闹袛y帶監(jiān)控前端設(shè)備序列號、同步隨機(jī)數(shù);且根據(jù)注冊?;顖笪闹械男蛄刑柌檎业剿霰O(jiān)控前端設(shè)備的記錄,在該記錄中進(jìn)一步添加同步隨機(jī)數(shù)、IP地址; 訪問控制模塊,用于接收用戶對監(jiān)控前端設(shè)備的訪問請求后,判斷該用戶的名下是否具有該設(shè)備名的監(jiān)控前端設(shè)備,如果是,在該監(jiān)控前端設(shè)備的記錄中查詢到其IP地址,將該用戶的訪問請求重定向到所述監(jiān)控前端設(shè)備,所述重定向的訪問請求中包含該監(jiān)控前端設(shè)備的IP地址、訪問該監(jiān)控前端設(shè)備用戶的角色名、動態(tài)驗證碼,以使監(jiān)控前端設(shè)備收到該訪問請求后根據(jù)該動態(tài)驗證碼確認(rèn)是否執(zhí)行對應(yīng)的監(jiān)控業(yè)務(wù);其中所述動態(tài)驗證碼根據(jù)平臺服務(wù)器當(dāng)前記錄的同步隨機(jī)數(shù)、當(dāng)前的時間、所述訪問該監(jiān)控前端設(shè)備用戶的角色名生成。
7.如權(quán)利要求6所述的裝置,其特征在于,所述序列號為監(jiān)控前端設(shè)備的硬件序列號,或者所述序列號為監(jiān)控前端設(shè)備的硬件序列號和該硬件序列號對應(yīng)的隨機(jī)序列號構(gòu)成的序列號。
8.如權(quán)利要求6所述的裝置,其特征在于,所述訪問控制模塊按照如下步驟生成動態(tài)驗證碼: al、利用同步隨機(jī) 數(shù)和當(dāng)前的時間計算第一動態(tài)碼; a2、將訪問該監(jiān)控前端設(shè)備用戶的角色名、同步隨機(jī)數(shù)和第一動態(tài)碼三者拼接后的MD5字符串作為校驗字符串; a3、將第一動態(tài)碼和校驗字符串的拼接作為動態(tài)驗證碼。
9.如權(quán)利要求8所述的裝置,其特征在于,所述當(dāng)前時間為相對時間。
10.一種安全地訪問監(jiān)控前端設(shè)備的裝置,該裝置應(yīng)用于監(jiān)控前端設(shè)備上,包括: 注冊?;钅K,用于向平臺服務(wù)器發(fā)送注冊?;顖笪?,該注冊?;顖笪闹袛y帶該監(jiān)控前端設(shè)備序列號、同步隨機(jī)數(shù); 訪問控制模塊,用于接收到平臺服務(wù)器發(fā)送的重定向訪問請求后,根據(jù)最近一次發(fā)送的保活報文中攜帶的同步隨機(jī)數(shù)、當(dāng)前的時間以及訪問該監(jiān)控前端設(shè)備用戶的角色名,用和平臺服務(wù)器相同的算法計算動態(tài)驗證碼,如果計算得到的動態(tài)驗證碼和所述重定向訪問請求中的動態(tài)驗證碼一致,則執(zhí)行對應(yīng)的監(jiān)控業(yè)務(wù)。
【文檔編號】H04N7/18GK103929482SQ201410151834
【公開日】2014年7月16日 申請日期:2014年4月15日 優(yōu)先權(quán)日:2014年4月15日
【發(fā)明者】周迪, 趙暉 申請人:浙江宇視科技有限公司