Web實時通信中的訪問控制方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)實時通信領(lǐng)域,特別涉及一種Web實時通信中的訪問控制方法。
【背景技術(shù)】
[0002]在互聯(lián)網(wǎng)的Web實時通信業(yè)務(wù)中,終端間的媒體流往往需要穿越防火墻,而在穿越雙端都是對稱型的防火墻時需要使用STUN(Sess1n Traversal Utilities for NAT,會話穿透效用的網(wǎng)絡(luò)地址轉(zhuǎn)換)服務(wù)器或TURN (Traversal Using Relays around NAT,中繼穿透的網(wǎng)絡(luò)地址轉(zhuǎn)換)服務(wù)器進行媒體中繼。
[0003]現(xiàn)有的Web實時通信中,終端向第三方應(yīng)用平臺申請令牌,第三方應(yīng)用平臺通知能力平臺產(chǎn)生令牌,能力平臺向第三方應(yīng)用平臺和STUN/TURN服務(wù)器推送該令牌,從而在STUN/TURN服務(wù)器和第三方應(yīng)用平臺共享針對每個終端請求產(chǎn)生的令牌,STUN/TURN服務(wù)器根據(jù)令牌對終端的訪問進行控制。
[0004]上述訪問控制方案存在以下問題:一方面,系統(tǒng)中共享的是終端令牌,大規(guī)模部署場景中終端及其令牌數(shù)量巨大,難以滿足實時性的要求;另一方面,終端令牌泄露后存在被冒用的風(fēng)險。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實施例所要解決的一個技術(shù)問題是:由于共享令牌數(shù)量巨大所導(dǎo)致的實時性差的問題,以及令牌泄露后存在的被冒用的問題。
[0006]根據(jù)本發(fā)明實施例的一個方面,提出一種Web實時通信中的訪問控制方法,包括:網(wǎng)絡(luò)地址轉(zhuǎn)換穿透服務(wù)器接收終端訪問時發(fā)送的用戶名和密碼,所述用戶名包括應(yīng)用標識和序列號,所述密碼是對所述用戶名采用應(yīng)用令牌簽名得到的散列值,所述終端的用戶名和密碼由第三方應(yīng)用平臺設(shè)備提供,網(wǎng)絡(luò)地址轉(zhuǎn)換穿透服務(wù)器與第三方應(yīng)用平臺設(shè)備共享應(yīng)用標識及其相應(yīng)的應(yīng)用令牌;網(wǎng)絡(luò)地址轉(zhuǎn)換穿透服務(wù)器利用自己存儲的應(yīng)用標識及其相應(yīng)的應(yīng)用令牌對所述終端的密碼進行校驗,以確定所述終端的應(yīng)用令牌是否合法;網(wǎng)絡(luò)地址轉(zhuǎn)換穿透服務(wù)器對所述終端的用戶名中的序列號進行校驗,以確定所述終端的應(yīng)用令牌是否已經(jīng)使用過;網(wǎng)絡(luò)地址轉(zhuǎn)換穿透服務(wù)器根據(jù)校驗結(jié)果控制所述終端的訪問。
[0007]在一個實施例中,所述網(wǎng)絡(luò)地址轉(zhuǎn)換穿透服務(wù)器利用自己存儲的應(yīng)用標識及其相應(yīng)的應(yīng)用令牌對所述終端的密碼進行校驗包括:網(wǎng)絡(luò)地址轉(zhuǎn)換穿透服務(wù)器在本地存儲的信息中提取與所述終端的用戶名中的應(yīng)用標識對應(yīng)的應(yīng)用令牌;網(wǎng)絡(luò)地址轉(zhuǎn)換穿透服務(wù)器使用本地存儲的應(yīng)用令牌對所述終端的用戶名進行散列運算得到散列值;網(wǎng)絡(luò)地址轉(zhuǎn)換穿透服務(wù)器通過比較自己計算得到的散列值與所述終端的密碼確定所述終端的應(yīng)用令牌是否合法。
[0008]在一個實施例中,所述網(wǎng)絡(luò)地址轉(zhuǎn)換穿透服務(wù)器對所述終端的用戶名中的序列號進行校驗包括:網(wǎng)絡(luò)地址轉(zhuǎn)換穿透服務(wù)器從所述終端的用戶名中提取序列號;從已使用序列號列表中查詢提取的所述終端的用戶名中的序列號是否已經(jīng)存在;如果所述終端的用戶名中的序列號在已使用序列號列表中已經(jīng)存在,確定所述終端的應(yīng)用令牌已經(jīng)使用過;如果所述終端的用戶名中的序列號在已使用序列號列表中不存在,確定所述終端的應(yīng)用令牌未使用過。
[0009]在一個實施例中,所述用戶名還包括產(chǎn)生時間,所述方法還包括:網(wǎng)絡(luò)地址轉(zhuǎn)換穿透服務(wù)器對所述終端的用戶名中的產(chǎn)生時間進行校驗,以確定所述終端的應(yīng)用令牌是否過期。
[0010]在一個實施例中,所述網(wǎng)絡(luò)地址轉(zhuǎn)換穿透服務(wù)器對所述終端的用戶名中的產(chǎn)生時間進行校驗包括:網(wǎng)絡(luò)地址轉(zhuǎn)換穿透服務(wù)器比較所述終端的用戶名中的產(chǎn)生時間與當前時間,如果所述終端的用戶名中的產(chǎn)生時間與當前時間是同一天,確定所述終端的應(yīng)用令牌未過期,如果所述終端的用戶名中的產(chǎn)生時間與當前時間不是同一天,確定所述終端的應(yīng)用令牌過期。
[0011]在一個實施例中,所述終端進行訪問之后,所述方法還包括:網(wǎng)絡(luò)地址轉(zhuǎn)換穿透服務(wù)器將所述用戶名中的應(yīng)用標識和序列號插入到已使用序列號列表中。
[0012]根據(jù)本發(fā)明實施例的再一方面,提出一種Web實時通信中的訪問控制裝置,包括:信息接收模塊,用于接收終端訪問時發(fā)送的用戶名和密碼,所述用戶名包括應(yīng)用標識和序列號,所述密碼是對所述用戶名采用應(yīng)用令牌簽名得到的散列值,所述終端的用戶名和密碼由第三方應(yīng)用平臺設(shè)備提供,網(wǎng)絡(luò)地址轉(zhuǎn)換穿透服務(wù)器與第三方應(yīng)用平臺設(shè)備共享應(yīng)用標識及其相應(yīng)的應(yīng)用令牌;令牌合法性校驗?zāi)K,用于利用自己存儲的應(yīng)用標識及其相應(yīng)的應(yīng)用令牌對所述終端的密碼進行校驗,以確定所述終端的應(yīng)用令牌是否合法;令牌是否已使用校驗?zāi)K,用于對所述終端的用戶名中的序列號進行校驗,以確定所述終端的應(yīng)用令牌是否已經(jīng)使用過;訪問控制模塊,用于網(wǎng)絡(luò)地址轉(zhuǎn)換穿透服務(wù)器根據(jù)校驗結(jié)果控制所述終端的訪問。
[0013]在一個實施例中,所述令牌合法性校驗?zāi)K,具體用于:在本地存儲的信息中提取與所述終端的用戶名中的應(yīng)用標識對應(yīng)的應(yīng)用令牌;使用本地存儲的應(yīng)用令牌對所述終端的用戶名進行散列運算得到散列值;通過比較自己計算得到的散列值與所述終端的密碼確定所述終端的應(yīng)用令牌是否合法。
[0014]在一個實施例中,所述令牌是否已使用校驗?zāi)K,具體用于:從所述終端的用戶名中提取序列號;從已使用序列號列表中查詢提取的所述終端的用戶名中的序列號是否已經(jīng)存在;如果所述終端的用戶名中的序列號在已使用序列號列表中已經(jīng)存在,確定所述終端的應(yīng)用令牌已經(jīng)使用過;如果所述終端的用戶名中的序列號在已使用序列號列表中不存在,確定所述終端的應(yīng)用令牌未使用過。
[0015]在一個實施例中,所述用戶名還包括產(chǎn)生時間,所述裝置還包括:令牌期限校驗?zāi)K,用于對所述終端的用戶名中的產(chǎn)生時間進行校驗,以確定所述終端的應(yīng)用令牌是否過期。
[0016]在一個實施例中,所述令牌期限校驗?zāi)K,具體用于:比較所述終端的用戶名中的產(chǎn)生時間與當前時間,如果所述終端的用戶名中的產(chǎn)生時間與當前時間是同一天,確定所述終端的應(yīng)用令牌未過期,如果所述終端的用戶名中的產(chǎn)生時間與當前時間不是同一天,確定所述終端的應(yīng)用令牌過期。
[0017]在一個實施例中,訪問控制裝置還包括:已用信息處理模塊,用于在所述終端進行訪問之后,將所述用戶名中的應(yīng)用標識和序列號插入到已使用序列號列表中。
[0018]本發(fā)明實施例中,NAT穿透服務(wù)器僅需共享第三方應(yīng)用平臺設(shè)備的應(yīng)用令牌,應(yīng)用令牌的數(shù)量遠小于終端令牌的數(shù)量,可以滿足Web實時通信中的實時性要求,并且在用戶名中設(shè)置了應(yīng)用標識和序列號,采用應(yīng)用令牌對用戶名簽名可以得到密碼,終端使用用戶名和密碼訪問NAT穿透服務(wù)器時,由于每個序列號僅可以使用一次,并且終端沒有第三方應(yīng)用的令牌無法偽造新序列號的簽名,因此即使終端的密碼泄露,該終端的用戶名和密碼也不會被冒用。
[0019]通過以下參照附圖對本發(fā)明的示例性實施例的詳細描述,本發(fā)明的其它特征及其優(yōu)點將會變得清楚。
【附圖說明】
[0020]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0021]圖1為本發(fā)明的網(wǎng)絡(luò)架構(gòu)示意圖和訪問控制示意圖。
[0022]圖2為本發(fā)明用戶名包括應(yīng)用標識和序列號時Web實時通信中的訪問控制方法流程意圖。
[0023]圖3為本發(fā)明用戶名包括應(yīng)用標識、序列號和產(chǎn)生時間時Web實時通信中的訪問控制方法流程示意圖。
[0024]圖4為本發(fā)明Web實時通信中的訪問控制裝置一個實施例的結(jié)構(gòu)示意圖。
[0025]圖5為本發(fā)明Web實時通信中的訪問控制裝置再一個實施例的結(jié)構(gòu)示意圖。
【具體實施方式】
[0026]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。以下對至少一個示例性實施例的描述實際上僅僅是說明性的,決不作為對本發(fā)明及其應(yīng)用或使用的任何限制。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0027]除非另外具體說明,否則在這些實施例中闡述的部件和步驟的相對布置、數(shù)字表達式和數(shù)值不限制本發(fā)明的范圍。
[0028]對于相關(guān)領(lǐng)域普通技術(shù)人員已知的技術(shù)、方法和設(shè)備可能不作詳細討論,但在適當情況下,所述技術(shù)、方法和設(shè)備應(yīng)當被視為授權(quán)說明書的一部分。
[0029]在這里示出和討論的所有示例中,任何具體值應(yīng)被解釋為僅僅是示例性的,而不是作為限制。因此,示例性實施例的其它示例可以具有不同的值。
[0030]應(yīng)注意到:相似的標號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需要對其進行進一步討論。
[0031]圖1為本發(fā)明的網(wǎng)絡(luò)架構(gòu)示意圖和訪問控制示意圖。如圖1所示,訪問控制系統(tǒng)包括媒體中繼能力平臺設(shè)備、NAT穿透服務(wù)器、第三方應(yīng)用平臺設(shè)備以及終端