專利名稱:一種基于廣播加密的流媒體傳輸方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息安全技術(shù)領(lǐng)域,特別是涉及ー種基于廣播加密的流媒體傳輸方法。
背景技術(shù):
流媒體是將視頻和音頻等多媒體文件經(jīng)過特殊的壓縮方式分成ー個(gè)個(gè)壓縮包,由服務(wù)器向用戶計(jì)算機(jī)連續(xù)、實(shí)時(shí)傳送。在采用流媒體傳輸方式的系統(tǒng)中,用戶不必像非流式播放那樣等到整個(gè)文件全部下載完畢后才能看到當(dāng)中的內(nèi)容,而是只需要經(jīng)過幾秒或幾十秒的啟動延時(shí)即可在用戶計(jì)算機(jī)上利用相應(yīng)的播放器對壓縮的視頻或音頻等流媒體文件進(jìn)行播放,剰余的部分將繼續(xù)進(jìn)行下載,直至播放完畢。流媒體傳輸主要依賴RTMP與RTMPE協(xié)議,RTMP協(xié)議了解流媒體數(shù)據(jù)的具體傳輸方 式,RTMPE協(xié)議分析流媒體數(shù)據(jù)的加密傳輸,傳統(tǒng)的RTMPE協(xié)議所采用的DifTie-Hellman密鑰協(xié)商沒有提供通訊雙方的身份驗(yàn)證服務(wù),很容易受到中間人攻擊,在遭到攻擊后,消息真實(shí)性驗(yàn)證將失效,無法保證安全。
發(fā)明內(nèi)容
本發(fā)明主要解決的技術(shù)問題是提供ー種基于廣播加密的流媒體傳輸方法,該方法有安全性好,運(yùn)行負(fù)擔(dān)減小,動態(tài)添加移出用戶的優(yōu)點(diǎn)。為解決上述技術(shù)問題,本發(fā)明采用的一個(gè)技術(shù)方案是提供ー種基于廣播加密的流媒體傳輸方法,包括如下步驟
客戶端向流媒體服務(wù)器發(fā)送第一數(shù)據(jù)包,告訴流媒體服務(wù)器當(dāng)前連接的協(xié)議版本;
客戶端再向流媒體服務(wù)器發(fā)送第二數(shù)據(jù)包,同時(shí)客戶端選取第二數(shù)據(jù)包中后1532字節(jié)中的某4個(gè)字節(jié),設(shè)置自己所屬的廣播加密系統(tǒng)ID ;
流媒體服務(wù)器在接收到客戶端發(fā)來的第一數(shù)據(jù)包,向客戶端發(fā)送第三數(shù)據(jù)包,告訴客戶端其已知道當(dāng)前協(xié)議版本;
流媒體服務(wù)器在接收到客戶端發(fā)來的第二數(shù)據(jù)包后,驗(yàn)證消息,取出第二數(shù)據(jù)包中客戶端所屬的廣播加密系統(tǒng)ID,根據(jù)該ID選取對應(yīng)的廣播加密系統(tǒng)實(shí)例,進(jìn)行一次加密,得到密文與消息加密密鑰,流媒體服務(wù)器選取第四數(shù)據(jù)包中后1532字節(jié)的某一段設(shè)置密文,將第四數(shù)據(jù)包發(fā)送給客戶端;
客戶端接收到第四數(shù)據(jù)包后,驗(yàn)證消息,客戶端從第四數(shù)據(jù)包中取出廣播加密密文,用自己的私鑰進(jìn)行一次解密,得到消息加密密鑰,密鑰協(xié)商過程完成;
客戶端和流媒體服務(wù)器完成第三次握手,進(jìn)行流媒體數(shù)據(jù)的加密傳輸。在本發(fā)明ー個(gè)較佳實(shí)施例中,所述的廣播加密系統(tǒng)生成的具體步驟是
所述廣播加密系統(tǒng)由廣播中心的服務(wù)器生成,所述廣播加密系統(tǒng)為所有用戶生成廣播加密密鑰,將其存儲在密鑰數(shù)據(jù)庫中;
用戶登陸服務(wù)器注冊后再登陸,向服務(wù)器申請廣播加密密鑰;服務(wù)器在數(shù)據(jù)庫中取出一條可用的廣播加密密鑰,將其與申請的用戶進(jìn)行綁定,井向用戶提供密鑰的下載功能。在本發(fā)明ー個(gè)較佳實(shí)施例中,所述廣播加密系統(tǒng)將新增隊(duì)列中的用戶加入當(dāng)前廣播加密系統(tǒng)實(shí)例中,將移除 隊(duì)列中的用戶移除,獲得ー個(gè)新的廣播加密系統(tǒng)實(shí)例。在本發(fā)明ー個(gè)較佳實(shí)施例中,本發(fā)明中的所述服務(wù)器與所述流媒體服務(wù)器之間進(jìn)行數(shù)據(jù)交換。本發(fā)明的有益效果是本發(fā)明的基于廣播加密的流媒體傳輸方法,該方法的廣播加密系統(tǒng)可以動態(tài)的添加新的用戶或移除現(xiàn)有用戶,不影響其它用戶,廣播中心的運(yùn)行負(fù)擔(dān)得到減輕,保證解密環(huán)境與廣播中心的密碼系統(tǒng)同步,僅具有加密的權(quán)限,沒有用戶的私鑰,無法進(jìn)行解密,從而極大程度地提高了廣播加密的安全性。
圖I是本發(fā)明基于廣播加密的流媒體傳輸方法一較佳實(shí)施例的流程圖。
具體實(shí)施例方式下面結(jié)合附圖對本發(fā)明的較佳實(shí)施例進(jìn)行詳細(xì)闡述,以使本發(fā)明的優(yōu)點(diǎn)和特征能更易于被本領(lǐng)域技術(shù)人員理解,從而對本發(fā)明的保護(hù)范圍做出更為清楚明確的界定。請參閱圖1,本發(fā)明提供一種基于廣播加密的流媒體傳輸方法,包括如下步驟
客戶端向流媒體服務(wù)器發(fā)送第一數(shù)據(jù)包CO,初始化連接,CO中指定了協(xié)議版本號為0x06,告訴流媒體服務(wù)器當(dāng)前連接的協(xié)議版本;
客戶端緊接著向流媒體服務(wù)器發(fā)送長度為1536字節(jié)的第二數(shù)據(jù)包Cl,第二數(shù)據(jù)包Cl的前4字節(jié)是“印och”時(shí)間戳,同時(shí)客戶端選取第二數(shù)據(jù)包Cl中后1532字節(jié)中的某4個(gè)字節(jié),設(shè)置自己所屬的廣播加密系統(tǒng)ID,用于告知流媒體服務(wù)器其當(dāng)前所屬的廣播加密系統(tǒng)實(shí)例;
流媒體服務(wù)器在接收到客戶端發(fā)來的第一數(shù)據(jù)包CO后,得知協(xié)議版本號0x06,SPRTMPE協(xié)議,向客戶端發(fā)送第三數(shù)據(jù)包S0,回顯協(xié)議版本號0x06,告訴客戶端其已知道當(dāng)前協(xié)議版本;
流媒體服務(wù)器在接收到客戶端發(fā)來的第二數(shù)據(jù)包Cl后,首先通過HMAC驗(yàn)證該消息的完整性與真實(shí)性,接著取出第二數(shù)據(jù)包Cl中客戶端所屬的廣播加密系統(tǒng)ID,根據(jù)該ID選取對應(yīng)的廣播加密系統(tǒng)實(shí)例,進(jìn)行一次加密,得到密文CT與消息加密密鑰K,流媒體服務(wù)器選取第四數(shù)據(jù)包SI中后1532字節(jié)的某一段設(shè)置密文CT,將第四數(shù)據(jù)包SI發(fā)送給客戶端;
客戶端接收到第四數(shù)據(jù)包SI后,通過HMAC驗(yàn)證該消息的完整性與真實(shí)性,驗(yàn)證通過后,客戶端從第四數(shù)據(jù)包SI中取出廣播加密密文CT,用自己的私鑰進(jìn)行一次解密,得到消息加密密鑰K,密鑰協(xié)商過程完成;
客戶端和流媒體服務(wù)器完成第三次握手,進(jìn)行流媒體數(shù)據(jù)的加密傳輸。本發(fā)明中的所述廣播加密系統(tǒng)生成的具體步驟是
所述廣播加密系統(tǒng)由作為廣播中心的PKI服務(wù)器生成,所述廣播加密系統(tǒng)為所有用戶生成廣播加密密鑰,以AES_256_CBC加密所有廣播加密密鑰,將其存儲在密鑰數(shù)據(jù)庫中;
用戶登陸PKI服務(wù)器進(jìn)行注冊,在安全信道下提交個(gè)人信息,用注冊得到的賬號與密碼登陸PKI服務(wù)器,通過SHA-I摘要算法完成身份合法性驗(yàn)證,向PKI服務(wù)器申請廣播加密密鑰;
PKI服務(wù)器在數(shù)據(jù)庫中取出一條可用的廣播加密密鑰,將其與申請的用戶進(jìn)行綁定,并在SSL安全信道下向用戶提供密鑰的下載功能。本發(fā)明中的所述廣播加密系統(tǒng)將新增隊(duì)列adds中的用戶加入當(dāng)前廣播加密系統(tǒng)實(shí)例中,將移除隊(duì)列rems中的用戶移除,獲得ー個(gè)新的廣播加密系統(tǒng)實(shí)例。本發(fā)明中的所述PKI服務(wù)器與所述流媒體服務(wù)器之間進(jìn)行數(shù)據(jù)交換。本發(fā)明掲示的基于廣播加密的流媒體傳輸方法,該方法的優(yōu)點(diǎn)有廣播中心僅需要密鑰的生成、分發(fā)與管理,無需由授信的廣播中心進(jìn)行加密工作,可以委托任意的第三方實(shí)施,廣播中心僅具有加密的權(quán)限,沒有用戶的私鑰,無法進(jìn)行解密,從而極大程度地提高 了廣播加密的安全性;廣播加密系統(tǒng)可以動態(tài)的添加新的用戶或移除現(xiàn)有用戶,不影響其它用戶;廣播中心采用委托的私鑰加密管理方法,保證解密環(huán)境與廣播中心的密碼系統(tǒng)同
止/J/ O以上所述僅為本發(fā)明的實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種基于廣播加密的流媒體傳輸方法,其特征在于,包括如下步驟 客戶端向流媒體服務(wù)器發(fā)送第一數(shù)據(jù)包,告訴流媒體服務(wù)器當(dāng)前連接的協(xié)議版本; 客戶端再向流媒體服務(wù)器發(fā)送第二數(shù)據(jù)包,同時(shí)客戶端選取第二數(shù)據(jù)包中后1532字節(jié)中的某4個(gè)字節(jié),設(shè)置自己所屬的廣播加密系統(tǒng)ID ; 流媒體服務(wù)器在接收到客戶端發(fā)來的第一數(shù)據(jù)包,向客戶端發(fā)送第三數(shù)據(jù)包,告訴客戶端其已知道當(dāng)前協(xié)議版本; 流媒體服務(wù)器在接收到客戶端發(fā)來的第二數(shù)據(jù)包后,驗(yàn)證消息,取出第二數(shù)據(jù)包中客戶端所屬的廣播加密系統(tǒng)ID,根據(jù)該ID選取對應(yīng)的廣播加密系統(tǒng)實(shí)例,進(jìn)行一次加密,得到密文與消息加密密鑰,流媒體服務(wù)器選取第四數(shù)據(jù)包中后1532字節(jié)的某一段設(shè)置密文,將第四數(shù)據(jù)包發(fā)送給客戶端; 客戶端接收到第四數(shù)據(jù)包后,驗(yàn)證消息,客戶端從第四數(shù)據(jù)包中取出廣播加密密文,用自己的私鑰進(jìn)行一次解密,得到消息加密密鑰,密鑰協(xié)商過程完成; 客戶端和流媒體服務(wù)器完成第三次握手,進(jìn)行流媒體數(shù)據(jù)的加密傳輸。
2.根據(jù)權(quán)利要求I所述的基于廣播加密的流媒體傳輸方法,其特征在于,所述的廣播加密系統(tǒng)生成的具體步驟是 所述廣播加密系統(tǒng)由廣播中心的服務(wù)器生成,所述廣播加密系統(tǒng)為所有用戶生成廣播加密密鑰,將其存儲在密鑰數(shù)據(jù)庫中; 用戶登陸服務(wù)器注冊后再登陸,向服務(wù)器申請廣播加密密鑰; 服務(wù)器在數(shù)據(jù)庫中取出一條可用的廣播加密密鑰,將其與申請的用戶進(jìn)行綁定,井向用戶提供密鑰的下載功能。
3.根據(jù)權(quán)利要求I所述的基于廣播加密的流媒體傳輸方法,其特征在于,所述廣播加密系統(tǒng)將新增隊(duì)列中的用戶加入當(dāng)前廣播加密系統(tǒng)實(shí)例中,將移除隊(duì)列中的用戶移除,獲得ー個(gè)新的廣播加密系統(tǒng)實(shí)例。
4.根據(jù)權(quán)利要求2所述的基于廣播加密的流媒體傳輸方法,其特征在于,所述服務(wù)器與所述流媒體服務(wù)器之間進(jìn)行數(shù)據(jù)交換。
全文摘要
本發(fā)明公開了一種基于廣播加密的流媒體傳輸方法,該方法是客戶端向流媒體服務(wù)器發(fā)送第一、二數(shù)據(jù)包,第二數(shù)據(jù)包中設(shè)置廣播加密系統(tǒng)ID,流媒體服務(wù)器收到后向客戶端發(fā)送第三、四數(shù)據(jù)包,第四數(shù)據(jù)包中設(shè)置密文,客戶端用私鑰解密,得到消息加密密鑰,密鑰協(xié)商過程完成,客戶端和流媒體服務(wù)器完成第三次握手,進(jìn)行流媒體數(shù)據(jù)的加密傳輸。通過上述方式,本發(fā)明提供的一種基于廣播加密的流媒體傳輸方法,該方法有安全性好,運(yùn)行負(fù)擔(dān)減小,動態(tài)添加移出用戶的優(yōu)點(diǎn)。
文檔編號H04L9/08GK102694819SQ20121019314
公開日2012年9月26日 申請日期2012年6月13日 優(yōu)先權(quán)日2012年6月13日
發(fā)明者羅喜召, 袁穎泉 申請人:蘇州大學(xué)