專利名稱:機(jī)頂盒瀏覽器及其機(jī)頂盒和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字家庭應(yīng)用技術(shù)領(lǐng)域和信息安全領(lǐng)域,具體涉及一種機(jī)頂盒瀏覽器 及其機(jī)頂盒和方法。
背景技術(shù):
在過去幾年里Internet和嵌入式技術(shù)發(fā)展迅速,Internet在服務(wù)器、桌面機(jī)和包 括PDA (Personal Digital Assistant,個(gè)人數(shù)字助理)和小型電話的便攜式電腦、數(shù)字電視 機(jī)頂盒上應(yīng)用迅速增長。隨著更簡單、資源更受限制連接到Web (環(huán)球網(wǎng))的設(shè)備,如探測 器、家居設(shè)備、個(gè)人醫(yī)療設(shè)備數(shù)量增長,這種趨勢將會繼續(xù)。具有傳感和通信功能的嵌入式 設(shè)備將計(jì)算機(jī)技術(shù)應(yīng)用于今天不尋常的設(shè)備中變成可能,如在現(xiàn)場監(jiān)控,醫(yī)療緊急響應(yīng)、戰(zhàn) 場管理和家居自動(dòng)化中的應(yīng)用。這些嵌入式應(yīng)用都具有安全需要,沒有足夠的安全性,攻擊 者可以控制這些嵌入式設(shè)備并引發(fā)災(zāi)難性的反應(yīng)。SSL(Secure Sockets Layer Protocol,安全套接字層協(xié)議)是今天在 Internet 上最流行的安全協(xié)議,它內(nèi)建于很多流行的應(yīng)用程序里,包括所有著名的Web瀏覽器,并且 廣泛被信任用于加強(qiáng)敏感信息傳輸包括在線銀行,證券交易和電子商務(wù)。SSL采用數(shù)字證 書、對稱/非對稱密鑰加密、消息摘要和數(shù)字簽名等技術(shù)提供身份認(rèn)證、數(shù)據(jù)保密、數(shù)據(jù)完 整性三大安全服務(wù),可以為嵌入式系統(tǒng)提供一個(gè)完善的安全解決方案。但現(xiàn)有大多數(shù)SSL 協(xié)議實(shí)現(xiàn)都沒有針對嵌入式系統(tǒng),不適合于嵌入式Internet要求。因此,現(xiàn)有技術(shù)中無法 采用該SSL協(xié)議實(shí)現(xiàn)的機(jī)頂盒瀏覽器。綜上可知,現(xiàn)有的機(jī)頂盒瀏覽器技術(shù)在實(shí)際使用上,顯然存在不便與缺陷,所以有 必要加以改進(jìn)。
發(fā)明內(nèi)容
針對上述的缺陷,本發(fā)明的目的在于提供一種機(jī)頂盒瀏覽器及其機(jī)頂盒和方法, 以實(shí)現(xiàn)在嵌入式系統(tǒng)中采用合適的安全協(xié)議,并且提高機(jī)頂盒瀏覽器以及機(jī)頂盒傳輸信息 的安全性。為了實(shí)現(xiàn)本發(fā)明的發(fā)明目的,本發(fā)明提供一種機(jī)頂盒瀏覽器,所述機(jī)頂盒用于接 收和傳送數(shù)字家庭設(shè)備與網(wǎng)絡(luò)服務(wù)器之間的信號,所述機(jī)頂盒瀏覽器與所述網(wǎng)絡(luò)服務(wù)器連 接的網(wǎng)絡(luò)層采用TCP/IP協(xié)議,所述機(jī)頂盒瀏覽器包括用戶界面模塊,用于為用戶操作所述機(jī)頂盒提供操作界面;傳輸控制模塊,用于傳輸所述機(jī)頂盒與所述網(wǎng)絡(luò)服務(wù)器之間的信號,以及對所述 機(jī)頂盒瀏覽器將要顯示的頁面所采用的協(xié)議,采用MatrixSSL協(xié)議棧解析;網(wǎng)頁處理顯示模塊,用于將通過所述傳輸控制模塊解析的網(wǎng)頁進(jìn)行處理并顯示。根據(jù)所述的機(jī)頂盒瀏覽器,所述傳輸控制模塊包括MatrixSSL子模塊,用于當(dāng)所述傳輸控制模塊解析用戶通過所述用戶界面模塊輸 入的網(wǎng)頁所采用的是https協(xié)議時(shí),或者當(dāng)所述網(wǎng)頁處理顯示模塊解析到通過所述傳輸控制模塊傳輸?shù)木W(wǎng)頁包含有https協(xié)議時(shí),在所述機(jī)頂盒瀏覽器與所述網(wǎng)絡(luò)服務(wù)器之間建立 一個(gè)安全通道,所述機(jī)頂盒與所述網(wǎng)絡(luò)服務(wù)器之間的數(shù)據(jù)在所述安全通道中傳輸。
根據(jù)所述的機(jī)頂盒瀏覽器,所述網(wǎng)頁處理顯示模塊包括緩沖管理子模塊,用于將所述機(jī)頂盒瀏覽器將要顯示的網(wǎng)頁進(jìn)行緩存;語法解釋子模塊,用于解析所述機(jī)頂盒瀏覽器將要顯示的網(wǎng)頁中的語法,并將解 析結(jié)果傳輸給排版子模塊;語義解釋子模塊,用于解析所述機(jī)頂盒瀏覽器將要顯示的網(wǎng)頁中的語義,并將解 析結(jié)果傳輸給排版子模塊;排版子模塊,用于對所述機(jī)頂盒瀏覽器將要顯示的網(wǎng)頁進(jìn)行排版,并將排版結(jié)果 傳輸給顯示子模塊;顯示子模塊,用于對所述機(jī)頂盒瀏覽器將要顯示的網(wǎng)頁進(jìn)行顯示。根據(jù)所述的機(jī)頂盒瀏覽器,所述MatrixSSL子模塊在所述機(jī)頂盒瀏覽器中,為所 述機(jī)頂盒瀏覽器上層的網(wǎng)頁處理顯示模塊提供安全連接服務(wù),并且與網(wǎng)絡(luò)層的TCP/IP協(xié) 議的套接字相綁定。根據(jù)所述的機(jī)頂盒瀏覽器,所述機(jī)頂盒瀏覽器還包括安全連接模塊,用于所述MatrixSSL子模塊在所述機(jī)頂盒瀏覽器與所述網(wǎng)絡(luò)服務(wù) 器之間建立一安全通道。根據(jù)所述的機(jī)頂盒瀏覽器,所述安全連接模塊包括協(xié)議轉(zhuǎn)發(fā)子模塊,用于轉(zhuǎn)發(fā)所述機(jī)頂盒瀏覽器的數(shù)據(jù)訪問請求信息;會話恢復(fù)子模塊,用于MatrixSSL子模塊在所述機(jī)頂盒與網(wǎng)絡(luò)服務(wù)器握手過程 中,加密所述機(jī)頂盒與網(wǎng)絡(luò)服務(wù)器傳輸數(shù)據(jù)的密鑰;初始化子模塊,用于在所述MatrixSSL子模塊被調(diào)用連接前,初始化MatrixSSL子 模塊;連接子模塊,用于在將MatrixSSL子模塊進(jìn)行TCP連接,在所述TCP連接成功后, 向MatrixSSL子模塊申請一個(gè)MatrixSSL套接字,并把所述MatrixSSL套接字綁定在TCP 套接字上;身份驗(yàn)證子模塊,用于對來自所述網(wǎng)絡(luò)服務(wù)器端的安全證書進(jìn)行驗(yàn)證,并讀取所 述安全證書的公共密鑰;密碼組生成子模塊,用于將所述機(jī)頂盒瀏覽器和所述網(wǎng)絡(luò)服務(wù)器進(jìn)行密碼組的協(xié) 商;第二緩沖管理子模塊,用于對所述機(jī)頂盒瀏覽器與所述網(wǎng)絡(luò)服務(wù)器需要傳送的數(shù) 據(jù)進(jìn)行緩沖處理;資源釋放子模塊,用于釋放MatrixSSL子模塊在所述機(jī)頂盒瀏覽器與所述網(wǎng)絡(luò)服 務(wù)器之間建立一安全通道的連接過程中已占有的資源;TCP SOCKET的接口,用于連接于所述機(jī)頂盒的多個(gè)應(yīng)用模塊與所述TCP/IP協(xié)議 層的連接。根據(jù)所述的機(jī)頂盒瀏覽器,所述機(jī)頂盒與網(wǎng)絡(luò)服務(wù)器握手過程中,所述雙方通過 使用對方的公鑰加密預(yù)主密鑰;在收到預(yù)主密鑰的對方使用自己的私鑰進(jìn)行解密,然后再 將握手過程中雙方協(xié)商的隨機(jī)數(shù)生成主密鑰;或者,
所述初始化子模塊初始化所述MatrixSSL子模塊的過程包括初始化MatrixSSL 庫、加載MatrixSSL錯(cuò)誤定義、選擇通信協(xié)議、加載MatrixSSL子模塊的證書和私鑰、加載 MatrixSSL子模塊信任的CA ;或者,所述身份驗(yàn)證子模塊對來自所述網(wǎng)絡(luò)服務(wù)器端的X509證書進(jìn)行驗(yàn)證;或者,所述緩沖管理子模塊的行緩沖處理包括完成MatrixSSL協(xié)議棧的記錄層功能,對 要發(fā)送的數(shù)據(jù)進(jìn)行分片、壓縮、添加消息驗(yàn)證碼、加密、添加SSL頭并發(fā)送,并對接收到的數(shù) 據(jù)進(jìn)行解密、驗(yàn)證、解壓縮和重組。根據(jù)所述的機(jī)頂盒瀏覽器,所述預(yù)主密鑰是指基于Diffie-Hellman的算法;或 者,所述通信協(xié)議包括協(xié)議包括TLSvl. 0、SSLv2、SSLv3、SSLv2/v3協(xié)議;或者,所述身份驗(yàn)證子模塊對來自所述網(wǎng)絡(luò)服務(wù)器端的X509證書進(jìn)行驗(yàn)證包括對X509 證書的ASN. 1解碼、證書的有效性驗(yàn)證、讀取證書的公共密鑰。為了實(shí)現(xiàn)本發(fā)明的另一發(fā)明目的,本發(fā)明還提供了一種利用上述任意一項(xiàng) 所述的 機(jī)頂盒瀏覽器實(shí)現(xiàn)瀏覽的機(jī)頂盒,所述機(jī)頂盒用于接收和傳送數(shù)字家庭設(shè)備與網(wǎng)絡(luò)服務(wù)器 之間的信號,所述機(jī)頂盒瀏覽器與所述網(wǎng)絡(luò)服務(wù)器連接的網(wǎng)絡(luò)層采用TCP/IP協(xié)議,所述機(jī) 頂盒瀏覽器包括用戶界面模塊,用于為用戶操作所述機(jī)頂盒提供操作界面;傳輸控制模塊,用于傳輸所述機(jī)頂盒與所述網(wǎng)絡(luò)服務(wù)器之間的信號,以及對所述 機(jī)頂盒瀏覽器將要顯示的頁面所采用的協(xié)議,采用MatrixSSL協(xié)議棧解析;網(wǎng)頁處理顯示模塊,用于將通過所述傳輸控制模塊解析的網(wǎng)頁進(jìn)行處理并顯示。為了實(shí)現(xiàn)本發(fā)明的又一發(fā)明目的,本發(fā)明還提供了一種利用上述任意一項(xiàng)機(jī)頂盒 瀏覽器實(shí)現(xiàn)瀏覽方法,所述機(jī)頂盒用于接收和傳送數(shù)字家庭設(shè)備與網(wǎng)絡(luò)服務(wù)器之間的信 號,其特征在于,所述機(jī)頂盒瀏覽器與所述網(wǎng)絡(luò)服務(wù)器連接的網(wǎng)絡(luò)層采用TCP/IP協(xié)議,所 述方法包括用戶界面模塊為用戶操作所述機(jī)頂盒提供操作界面;傳輸控制模塊傳輸所述機(jī)頂盒與所述網(wǎng)絡(luò)服務(wù)器之間的信號,以及對所述機(jī)頂盒 瀏覽器將要顯示的頁面所采用的協(xié)議,采用MatrixSSL協(xié)議棧解析;網(wǎng)頁處理顯示模塊將通過所述傳輸控制模塊解析的網(wǎng)頁進(jìn)行處理并顯示。本發(fā)明通過將機(jī)頂盒瀏覽器設(shè)置包括用戶界面模塊、傳輸控制模塊、以及網(wǎng)頁 處理顯示模塊;傳輸控制模塊對所述機(jī)頂盒瀏覽器將要顯示的頁面所采用的協(xié)議,采用 MatrixSSL協(xié)議棧解析;在所述機(jī)頂盒瀏覽器與所述網(wǎng)絡(luò)服務(wù)器之間建立一個(gè)安全通道, 所述機(jī)頂盒與所述網(wǎng)絡(luò)服務(wù)器之間的數(shù)據(jù)在所述安全通道中傳輸,更好的保證機(jī)頂盒瀏覽 器傳送信息的安全。另外,還為用戶操作界面提供更多的靈活空間,增強(qiáng)機(jī)頂盒瀏覽器的模 塊化。
圖1是本發(fā)明提供的機(jī)頂盒瀏覽器的模塊結(jié)構(gòu)圖;圖2是本發(fā)明一個(gè)實(shí)施例提供的機(jī)頂盒瀏覽器的模塊結(jié)構(gòu)圖;圖3是本發(fā)明又一個(gè)實(shí)施例提供的機(jī)頂盒瀏覽器的模塊結(jié)構(gòu)圖4是本發(fā)明提供的利用本發(fā)明提供的機(jī)頂盒瀏覽器實(shí)現(xiàn)瀏覽的流程圖;圖5是本發(fā)明提供的利用本發(fā)明提供的機(jī)頂盒瀏覽器實(shí)現(xiàn)瀏覽的數(shù)據(jù)緩沖管理 流程圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;?本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其它 實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。參見圖1,本發(fā)明提供了一種機(jī)頂盒瀏覽器10,機(jī)頂盒100用于接收和傳送數(shù)字家 庭設(shè)備20與網(wǎng)絡(luò)服務(wù)器30之間的信號,機(jī)頂盒瀏覽器10與網(wǎng)絡(luò)服務(wù)器30連接的網(wǎng)絡(luò)層 40采用TCP/IP協(xié)議,機(jī)頂盒瀏覽器10包括用戶界面模塊101,用于為用戶操作機(jī)頂盒100提供操作界面;傳輸控制模塊102,用于傳輸機(jī)頂盒100與網(wǎng)絡(luò)服務(wù)器30之間的信號,以及對機(jī) 頂盒瀏覽器10將要顯示的頁面所采用的協(xié)議,采用MatrixSSL(Matrix Secure Sockets Layer Protocol,矩陣安全套接字層協(xié)議)協(xié)議棧解析;網(wǎng)頁處理顯示模塊103,用于將通過傳輸控制模塊102解析的網(wǎng)頁進(jìn)行處理并顯
7J\ οMatrixSSL是針對小型應(yīng)用程序和設(shè)備設(shè)計(jì)的嵌入式、開放源碼SSLv3協(xié)議棧,其 商業(yè)版支持TLS (Transport Layer Security,傳輸層安全協(xié)議)協(xié)議。它減少了將SSL整 合進(jìn)嵌入式工程的復(fù)雜性,使用一個(gè)簡單的API (Application Program Interface,應(yīng)用編 程接口)和安全層,用戶可以很容易地將MatrixSSL整合到它們的應(yīng)用程序。MatrixSSL使 用工業(yè)界標(biāo)準(zhǔn)的加密算法包括RC4、DES3、AES (Advanced Encryption Algorithm,高級加密 算法)、RSA(Rivest-Shamir-Adleman encryption,RSA加密算法)等加密算法和協(xié)議,它確 保用戶獲得一個(gè)編譯不到50K(0penssl需要IM左右)的提供強(qiáng)大和可靠安全解決方案的 庫函數(shù),并具有可插拔密碼套件、算法和可移植性強(qiáng)等特點(diǎn),可以方便定制密碼套件和算法 以及平滑地向多平臺移植非常適合在資源受限的嵌入式環(huán)境中使用。本發(fā)明的提供的實(shí)現(xiàn) 基于MatrixSSL的機(jī)頂盒瀏覽器10,既能滿足安全傳輸?shù)囊?,又能滿足嵌入式軟件特征 的安全傳輸要求。用戶界面模塊101負(fù)責(zé)整個(gè)機(jī)頂盒100的流程控制、用戶輸入管理和選單、電視 節(jié)目導(dǎo)航系統(tǒng)的呈現(xiàn)等。傳輸控制模塊102是機(jī)頂盒瀏覽器10與Internet的接口,負(fù)責(zé) 對遠(yuǎn)程數(shù)據(jù)的獲取以及控制網(wǎng)頁處理顯示模塊103調(diào)用MatrixSSL模塊解析網(wǎng)頁中含有 https (Hypertext Transfer Protocol Security,安全超文本傳輸協(xié)議)協(xié)議的內(nèi)容。參見圖2,在本發(fā)明的一個(gè)實(shí)施例中,傳輸控制模塊102包括MatrixSSL子模塊1021,用于當(dāng)傳輸控制模塊102解析用戶通過用戶界面模塊101 輸入的網(wǎng)頁所采用的是https協(xié)議時(shí),或者當(dāng)網(wǎng)頁處理顯示模塊103解析到通過傳輸控制 模塊102傳輸?shù)木W(wǎng)頁包含有https協(xié)議時(shí),在機(jī)頂盒瀏覽器10與網(wǎng)絡(luò)服務(wù)器30之間建立 一個(gè)安全通道,機(jī)頂盒100與網(wǎng)絡(luò)服務(wù)器30之間的數(shù)據(jù)在所述安全通道中傳輸。所述網(wǎng)頁處理顯示模塊103包括
緩沖管理子模塊1031,用于將機(jī)頂盒瀏覽器10將要顯示的網(wǎng)頁進(jìn)行緩存;語法解釋子模塊1032,用于解析機(jī)頂盒瀏覽器10將要顯示的網(wǎng)頁中的語法,并將 解析結(jié)果傳輸給排版子模塊1034 ;語義解釋子模塊1033,用于解析機(jī)頂盒瀏覽器10將要顯示的網(wǎng)頁中的語義,并將 解析結(jié)果傳輸給排版子模塊1034 ;排版子模塊1034,用于對機(jī)頂盒瀏覽器10將要顯示的網(wǎng)頁進(jìn)行排版,并將排版結(jié) 果傳輸給顯示子模塊1035 ;顯示子模塊1035,用于對機(jī)頂盒瀏覽器10將要顯示的網(wǎng)頁進(jìn)行顯示。
在本發(fā)明中,所述MatrixSSL子模塊1021在機(jī)頂盒瀏覽器10中,為機(jī)頂盒瀏覽器 10上層的網(wǎng)頁處理顯示模塊103提供安全連接服務(wù),并且與網(wǎng)絡(luò)層40的TCP/IP (Transfer Control Protocol/Internet Protocol,傳輸控制協(xié)議/網(wǎng)際協(xié)議)協(xié)議的套接字相綁定。 其中,緩沖管理子模塊1031用于完成網(wǎng)頁顯示前必要的緩存。語法解釋子模塊1032解析 網(wǎng)頁中的語法并將結(jié)果傳輸給排版模塊。語義解釋子模塊1033解析網(wǎng)頁中的語義并將結(jié) 果傳輸給排版模塊。排版子模塊1034負(fù)責(zé)對已獲得的網(wǎng)頁進(jìn)行排版,并將結(jié)果傳輸給顯示 子模塊1035。顯示子模塊1035用于負(fù)責(zé)對已獲得的網(wǎng)頁進(jìn)行顯示,并處理與用戶的交互。 其中,TCP/IP表示網(wǎng)絡(luò)層的協(xié)議。在本發(fā)明的一個(gè)優(yōu)選實(shí)施例中,傳輸控制模塊102包含MatrixSSL子模塊1021, MatrixSSL子模塊1021在機(jī)頂盒瀏覽器10中負(fù)責(zé)網(wǎng)絡(luò)的安全連接。當(dāng)傳輸控制模塊 102解析用戶界面模塊101中用戶的輸入使用的是https協(xié)議時(shí),傳輸控制模塊就會調(diào)用 MatrixSSL子模塊1021在網(wǎng)絡(luò)服務(wù)器30和機(jī)頂盒瀏覽器10之間建立一個(gè)安全通道?;?者當(dāng)語法、語義子模塊解析到網(wǎng)頁中含有https協(xié)議時(shí),它們也會調(diào)用MatrixSSL子模塊 1021,從而進(jìn)入安全連接狀態(tài)。當(dāng)建立安全通道之后,網(wǎng)絡(luò)服務(wù)器30和機(jī)頂盒瀏覽器10 之間就可以在安全通道里傳輸它們的敏感數(shù)據(jù)而不容易產(chǎn)生安全問題。MatrixSSL子模塊 1021在機(jī)頂盒瀏覽器10結(jié)構(gòu)中為瀏覽器的上層模塊提供安全連接服務(wù),下面和TCP層的 套接字相綁定。通過MatrixSSL子模塊1021,網(wǎng)絡(luò)連接對上層模塊的設(shè)計(jì)和實(shí)現(xiàn)都是透明 的。這簡化了機(jī)頂盒瀏覽器10上層模塊的實(shí)現(xiàn)和機(jī)頂盒瀏覽器10的移植。參見圖3,在本發(fā)明的優(yōu)選實(shí)施例中,機(jī)頂盒瀏覽器10還包括安全連接模塊104,用于MatrixSSL子模塊1021在機(jī)頂盒瀏覽器10與網(wǎng)絡(luò)服務(wù)器 30之間建立一安全通道。 安全連接模塊104包括協(xié)議轉(zhuǎn)發(fā)子模塊1041,用于轉(zhuǎn)發(fā)機(jī)頂盒瀏覽器10的數(shù)據(jù)訪問請求信息;會話恢復(fù)子模塊1042,用于MatrixSSL子模塊1021在機(jī)頂盒100與網(wǎng)絡(luò)服務(wù)器 30握手過程中,加密機(jī)頂盒100與網(wǎng)絡(luò)服務(wù)器30傳輸數(shù)據(jù)的密鑰;機(jī)頂盒100與網(wǎng)絡(luò)服務(wù) 器30握手過程中,所述雙方通過使用對方的公鑰加密預(yù)主密鑰;在收到預(yù)主密鑰的對方使 用自己的私鑰進(jìn)行解密,然后再將握手過程中雙方協(xié)商的隨機(jī)數(shù)生成主密鑰;所述預(yù)主密 鑰是指基于Diffie-Hellman ( 一種公鑰體制,實(shí)現(xiàn)密鑰交換算法)的算法。初始化子模塊1043,用于在MatrixSSL子模塊1021被調(diào)用連接前,初始化 MatrixSSL子模塊1021 ;初始化子模塊1043初始化所述MatrixSSL子模塊1021的過程包 括初始化MatrixSSL庫、加載MatrixSSL錯(cuò)誤定義、選擇通信協(xié)議、加載MatrixSSL子模塊的證書和私鑰、加載MatrixSSL子模塊信任的CA(證書管理機(jī)構(gòu));其中,所述通信協(xié)議包括協(xié)議包括 TLSvl. O、SSLv2、SSLv3、SSLv2/v3 協(xié)議;連接子模塊1044,用于在將MatrixSSL子?!缐?021進(jìn)行TCP (Transmission Control Protocol,傳輸控制協(xié)議)連接,在所述TCP連接成功后,向MatrixSSL子模塊 1021申請一個(gè)MatrixSSL套接字,并把所述MatrixSSL套接字綁定在TCP套接字上;身份驗(yàn)證子模塊1045,用于對來自網(wǎng)絡(luò)服務(wù)器30端的安全證書進(jìn)行驗(yàn)證,并讀取 所述安全證書的公共密鑰;所述身份驗(yàn)證子模塊對來自所述網(wǎng)絡(luò)服務(wù)器30端的X509證書 進(jìn)行驗(yàn)證;其中包括證書的ASN. 1(抽象句法表記法一,abstract syntax notation one) 解碼、證書的有效性驗(yàn)證、讀取證書的公共密鑰;密碼組生成子模塊1046,用于將機(jī)頂盒瀏覽器10和網(wǎng)絡(luò)服務(wù)器30進(jìn)行密碼組的 協(xié)商;其中,所述密碼組生成子模塊1046主要負(fù)責(zé)在身份驗(yàn)證成功后,使機(jī)頂盒瀏覽器10 和網(wǎng)絡(luò)服務(wù)器30進(jìn)行密碼組的協(xié)商。由于機(jī)頂盒瀏覽器10和網(wǎng)絡(luò)服務(wù)器30所支持的密 碼組有所不同,或者密碼組的優(yōu)先級不同,或者網(wǎng)絡(luò)服務(wù)器30所要求的加密強(qiáng)度和機(jī)頂盒 瀏覽器10所要求的加密強(qiáng)度不同等情況都會導(dǎo)致機(jī)頂盒瀏覽器10和網(wǎng)絡(luò)服務(wù)器30進(jìn)行 密碼組協(xié)商。只有上述兩者使用同一種密碼組,機(jī)頂盒瀏覽器10和網(wǎng)絡(luò)服務(wù)器30才可能 繼續(xù)進(jìn)行下面的連接工作。第二緩沖管理子模塊1047,用于對機(jī)頂盒瀏覽器10與網(wǎng)絡(luò)服務(wù)器30需要傳送的 數(shù)據(jù)進(jìn)行緩沖處理;第二緩沖管理子模塊1047緩沖處理包括完成MatrixSSL協(xié)議棧的記錄 層功能,對要發(fā)送的數(shù)據(jù)進(jìn)行分片、壓縮、添加消息驗(yàn)證碼、加密、添加SSL頭并發(fā)送,并對 接收到的數(shù)據(jù)進(jìn)行解密、驗(yàn)證、解壓縮和重組。資源釋放子模塊1048,用于釋放MatrixSSL子模塊1021在機(jī)頂盒瀏覽器10與網(wǎng) 絡(luò)服務(wù)器30之間建立一安全通道的連接過程中已占有的資源;資源釋放子模塊1048主要 負(fù)責(zé)MatrixSSL連接過程中的錯(cuò)誤處理,在實(shí)現(xiàn)時(shí)采用“消息類型/動(dòng)作”的機(jī)制,根據(jù)連 接過程中返回的消息類型釋放已占有的資源。TCP SOCKET (傳輸控制協(xié)議套接字)的接口 1049,用于連接于機(jī)頂盒100的多個(gè) 應(yīng)用模塊與所述TCP/IP協(xié)議層的連接。TCP SOCKET的接口 1049是指為了區(qū)別不同的應(yīng)用 程序進(jìn)程和連接,計(jì)算機(jī)操作系統(tǒng)為應(yīng)用程序與TCP/IP協(xié)議交互提供了稱為TCP SOCKET 的接口 1049。為了實(shí)現(xiàn)本發(fā)明的另一發(fā)明目的,本發(fā)明還提供了一種利用上述的機(jī)頂盒瀏覽器 10實(shí)現(xiàn)瀏覽的機(jī)頂盒100,所述機(jī)頂盒100用于接收和傳送數(shù)字家庭設(shè)備20與網(wǎng)絡(luò)服務(wù)器 30之間的信號,機(jī)頂盒瀏覽器10與網(wǎng)絡(luò)服務(wù)器30連接的網(wǎng)絡(luò)層40采用TCP/IP協(xié)議,機(jī)頂 盒瀏覽器10包括用戶界面模塊101,用于為用戶操作機(jī)頂盒100提供操作界面;傳輸控制模塊102,用于傳輸機(jī)頂盒100與網(wǎng)絡(luò)服務(wù)器30之間的信號,以及對機(jī)頂 盒瀏覽器10將要顯示的頁面所采用的協(xié)議,采用MatrixSSL協(xié)議棧解析;網(wǎng)頁處理顯示模塊103,用于將通過傳輸控制模塊102解析的網(wǎng)頁進(jìn)行處理并顯
7J\ ο參見圖4,為了實(shí)現(xiàn)本發(fā)明的另一發(fā)明目的,本發(fā)明還提供了一種利用所述的機(jī)頂 盒瀏覽器實(shí)現(xiàn)瀏覽方法,所述機(jī)頂盒100用于接收和傳送數(shù)字家庭設(shè)備20與網(wǎng)絡(luò)服務(wù)器30之間的信號,機(jī)頂盒瀏覽器10與網(wǎng)絡(luò)服務(wù)器30連接的網(wǎng)絡(luò)層40采用TCP/IP協(xié)議,所述方 法包括
用戶界面模塊101為用戶操作機(jī)頂盒100提供操作界面;傳輸控制模塊102傳輸機(jī)頂盒100與網(wǎng)絡(luò)服務(wù)器30之間的信號,以及對機(jī)頂盒瀏 覽器10將要顯示的頁面所采用的協(xié)議,采用MatrixSSL協(xié)議棧解析;網(wǎng)頁處理顯示模塊103將通過傳輸控制模塊102解析的網(wǎng)頁進(jìn)行處理并顯示。采用本發(fā)明提供的機(jī)頂盒瀏覽器10與網(wǎng)絡(luò)服務(wù)器30在進(jìn)行MatrixSSL連接后, 機(jī)頂盒瀏覽器10與網(wǎng)絡(luò)服務(wù)器30之間已經(jīng)建立了一個(gè)安全傳輸通道,此時(shí)在機(jī)頂盒瀏覽 器10與網(wǎng)絡(luò)服務(wù)器30之間傳輸數(shù)據(jù)和普通TCP套接字類似。但由于MatrixSSL協(xié)議和TCP 協(xié)議的差異,MatrixSSL協(xié)議的數(shù)據(jù)讀寫和普通TCP套接字?jǐn)?shù)據(jù)的讀寫在實(shí)現(xiàn)上還是有些 不同,其中包括=MatrixSSL是一種面向記錄的協(xié)議,MatrixSSL連接要么不讀數(shù)據(jù),要么讀 取整條記錄,因此,即便只想從MatrixSSL連接讀取一個(gè)字節(jié),即當(dāng)程序員調(diào)用MatrixSSL_ read()請求一個(gè)字節(jié)時(shí),也要將包含那個(gè)字節(jié)的整個(gè)記錄讀取到MatrixSSL緩沖區(qū)中,因 為不讀取整個(gè)記錄,MatrixSSL就無法檢查記錄的MAC,也就不能安全地將數(shù)據(jù)移交給程序 員。而一般來說,應(yīng)用程序不知道記錄的尺寸,因此它讀取的數(shù)據(jù)尺寸與記錄尺寸不一定相 匹配。參見圖5,左半圖表示客戶機(jī)收到一條記錄,這條記錄仍然在套接字緩沖區(qū)中等 待的情形,箭頭代表讀指針,它被置于緩沖區(qū)的開頭;從套接字中讀取的數(shù)據(jù)在MatrixSSL 緩沖區(qū)中進(jìn)行解密并驗(yàn)證其MAC (Message authentication code,認(rèn)證消息碼),然后再讀 入程序緩沖區(qū),這兩個(gè)緩沖區(qū)目前為空。當(dāng)調(diào)用MatriXSSL_read()請求一個(gè)字節(jié)時(shí),情 況如圖3的右半部分所示。套接字緩沖區(qū)的所有數(shù)據(jù)已經(jīng)讀取,指針已經(jīng)移到了尾部,完 成解密和驗(yàn)證MAC的數(shù)據(jù)已放在MatrixSSL緩沖區(qū),然后將程序要的那個(gè)字節(jié)再讀入程序 緩沖區(qū)。如果此刻調(diào)用SeleCt(),就會發(fā)生如下情況,由于SeleCt()只關(guān)心套接字緩 沖區(qū)中是否有數(shù)據(jù),而現(xiàn)在該緩沖區(qū)是空的,所以select()要么返回沒有數(shù)據(jù)可讀,要么 等待有更多的網(wǎng)絡(luò)數(shù)據(jù)可讀,這時(shí)對于任何一種情況,都導(dǎo)致MatrixSSLjead不能讀取當(dāng) 前MatrixSSL緩沖區(qū)中的數(shù)據(jù)。因此,在每次調(diào)用MatrixSSL_read之后,需要某種判斷 MatrixSSL緩沖區(qū)是否有未讀數(shù)據(jù)的辦法。顯然這種辦法不能由操作系統(tǒng)提供,因?yàn)樗鼰o法 存取MatrixSSL緩沖區(qū)。必須自行提供,函數(shù)MatrixSSL_pending用來判定MatrixSSL緩 沖區(qū)是否有數(shù)據(jù),若有就循環(huán)調(diào)用MatrixSSLjead。MatrixSSL傳輸中寫操作與讀操作一 樣,要么寫整條記錄,要么什么也不寫。同樣MatriXSSL_Write()與select()的交互性 是實(shí)現(xiàn)寫過程的關(guān)鍵環(huán)節(jié)。MatrixSSLjrite ()的寫操作的流程是將應(yīng)用程序緩沖區(qū)中 的數(shù)據(jù)讀入MatrixSSL緩沖區(qū),并把MatrixSSL緩沖區(qū)中的數(shù)據(jù)格式化為單條記錄,然后調(diào) 用write ()將整條記錄寫入套接字緩沖區(qū)。這種情況下,MatrixSSL預(yù)先沒有辦法知道它 可以安全地寫出多少字節(jié),套接字緩沖區(qū)就被寫滿。這就需要解決兩個(gè)問題(1)如何得知網(wǎng)絡(luò)緩沖區(qū)中是否有可用空間,并將這種情況反映給用戶,(2)當(dāng)網(wǎng)絡(luò)緩沖區(qū)中有空間可用時(shí),如何安排MatrixSSL緩沖區(qū)寫完緩沖區(qū)的內(nèi) 容。實(shí)現(xiàn)時(shí)使用select()來查看網(wǎng)絡(luò)緩沖區(qū)中的可用空間。為了解決第二個(gè)問題,程序 中設(shè)計(jì)了一個(gè)標(biāo)志在第一次調(diào)用了 MatrixSSL_Write()之后,記錄下當(dāng)前MatrixSSL緩 沖區(qū)中有無未寫完的數(shù)據(jù),若有,再次以它第一次調(diào)用的同一個(gè)MatrixSSL緩沖區(qū)來調(diào)用MatrixSSL_write(),來將寫指針之后的數(shù)據(jù)寫出。需要說明的是,上述裝置和系統(tǒng)內(nèi)的各模塊之間的信息交互、執(zhí)行過程等內(nèi)容,由 于與本發(fā)明方法實(shí)施例基于同一構(gòu)思,具體內(nèi)容可參見本發(fā)明其他實(shí)施例中的敘述,此處 不再贅述。本領(lǐng)域普通技術(shù)人員可以理解上述實(shí)施例的各種方法中的全部或部分步驟是可 以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲于一計(jì)算機(jī)可讀存儲介質(zhì)中,存儲 介質(zhì)可以包括R0M (Read Only Memory,只讀存儲器)、RAM (Random Access Memory,隨機(jī)存 取存儲器)、磁盤或光盤等。綜上所述,本發(fā)明通過將機(jī)頂盒瀏覽器設(shè)置包括用戶界面模塊、傳輸控制模塊、以 及網(wǎng)頁處理顯示模塊;傳輸控制模塊對所述機(jī)頂盒瀏覽器將要顯示的頁面所采用的協(xié)議, 采用MatrixSSL協(xié)議棧解析;在所述機(jī)頂盒瀏覽器與所述網(wǎng)絡(luò)服務(wù)器之間建立 一個(gè)安全通 道,所述機(jī)頂盒與所述網(wǎng)絡(luò)服務(wù)器之間的數(shù)據(jù)在所述安全通道中傳輸,更好的保證機(jī)頂盒 瀏覽器傳送信息的安全。另外,還為用戶操作界面提供更多的靈活空間,增強(qiáng)機(jī)頂盒瀏覽器 的模塊化。當(dāng)然,本發(fā)明還可有其它多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,熟 悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變 形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
權(quán)利要求
一種機(jī)頂盒瀏覽器,所述機(jī)頂盒用于接收和傳送數(shù)字家庭設(shè)備與網(wǎng)絡(luò)服務(wù)器之間的信號,其特征在于,所述機(jī)頂盒瀏覽器與所述網(wǎng)絡(luò)服務(wù)器連接的網(wǎng)絡(luò)層采用TCP/IP協(xié)議,所述機(jī)頂盒瀏覽器包括用戶界面模塊,用于為用戶操作所述機(jī)頂盒提供操作界面;傳輸控制模塊,用于傳輸所述機(jī)頂盒與所述網(wǎng)絡(luò)服務(wù)器之間的信號,以及對所述機(jī)頂盒瀏覽器將要顯示的頁面所采用的協(xié)議,采用MatrixSSL協(xié)議棧解析;網(wǎng)頁處理顯示模塊,用于將通過所述傳輸控制模塊解析的網(wǎng)頁進(jìn)行處理并顯示。
2.根據(jù)權(quán)利要求1所述的機(jī)頂盒瀏覽器,其特征在于,所述傳輸控制模塊包括 MatrixSSL子模塊,用于當(dāng)所述傳輸控制模塊解析用戶通過所述用戶界面模塊輸入的網(wǎng)頁所采用的是https協(xié)議時(shí),或者當(dāng)所述網(wǎng)頁處理顯示模塊解析到通過所述傳輸控制模 塊傳輸?shù)木W(wǎng)頁包含有https協(xié)議時(shí),在所述機(jī)頂盒瀏覽器與所述網(wǎng)絡(luò)服務(wù)器之間建立一個(gè) 安全通道,所述機(jī)頂盒與所述網(wǎng)絡(luò)服務(wù)器之間的數(shù)據(jù)在所述安全通道中傳輸。
3.根據(jù)權(quán)利要求2所述的機(jī)頂盒瀏覽器,其特征在于,所述網(wǎng)頁處理顯示模塊包括 緩沖管理子模塊,用于將所述機(jī)頂盒瀏覽器將要顯示的網(wǎng)頁進(jìn)行緩存;語法解釋子模塊,用于解析所述機(jī)頂盒瀏覽器將要顯示的網(wǎng)頁中的語法,并將解析結(jié) 果傳輸給排版子模塊;語義解釋子模塊,用于解析所述機(jī)頂盒瀏覽器將要顯示的網(wǎng)頁中的語義,并將解析結(jié) 果傳輸給排版子模塊;排版子模塊,用于對所述機(jī)頂盒瀏覽器將要顯示的網(wǎng)頁進(jìn)行排版,并將排版結(jié)果傳輸 給顯示子模塊;顯示子模塊,用于對所述機(jī)頂盒瀏覽器將要顯示的網(wǎng)頁進(jìn)行顯示。
4.根據(jù)權(quán)利要求2所述的機(jī)頂盒瀏覽器,其特征在于,所述MatrixSSL子模塊在所述機(jī) 頂盒瀏覽器中,為所述機(jī)頂盒瀏覽器上層的網(wǎng)頁處理顯示模塊提供安全連接服務(wù),并且與 網(wǎng)絡(luò)層的TCP/IP協(xié)議的套接字相綁定。
5.根據(jù)權(quán)利要求4所述的機(jī)頂盒瀏覽器,其特征在于,所述機(jī)頂盒瀏覽器還包括 安全連接模塊,用于所述MatrixSSL子模塊在所述機(jī)頂盒瀏覽器與所述網(wǎng)絡(luò)服務(wù)器之間建立一安全通道。
6.根據(jù)權(quán)利要求5所述的機(jī)頂盒瀏覽器,其特征在于,所述安全連接模塊包括 協(xié)議轉(zhuǎn)發(fā)子模塊,用于轉(zhuǎn)發(fā)所述機(jī)頂盒瀏覽器的數(shù)據(jù)訪問請求信息;會話恢復(fù)子模塊,用于MatrixSSL子模塊在所述機(jī)頂盒與網(wǎng)絡(luò)服務(wù)器握手過程中,力口 密所述機(jī)頂盒與網(wǎng)絡(luò)服務(wù)器傳輸數(shù)據(jù)的密鑰;初始化子模塊,用于在所述MatrixSSL子模塊被調(diào)用連接前,初始化MatrixSSL子模塊;連接子模塊,用于在將MatrixSSL子模塊進(jìn)行TCP連接,在所述TCP連接成功后,向 MatrixSSL子模塊申請一個(gè)MatrixSSL套接字,并把所述MatrixSSL套接字綁定在TCP套接 字上;身份驗(yàn)證子模塊,用于對來自所述網(wǎng)絡(luò)服務(wù)器端的安全證書進(jìn)行驗(yàn)證,并讀取所述安 全證書的公共密鑰;密碼組生成子模塊,用于將所述機(jī)頂盒瀏覽器和所述網(wǎng)絡(luò)服務(wù)器進(jìn)行密碼組的協(xié)商;第二緩沖管理子模塊,用于對所述機(jī)頂盒瀏覽器與所述網(wǎng)絡(luò)服務(wù)器需要傳送的數(shù)據(jù)進(jìn) 行緩沖處理;資源釋放子模塊,用于釋放MatrixSSL子模塊在所述機(jī)頂盒瀏覽器與所述網(wǎng)絡(luò)服務(wù)器 之間建立一安全通道的連接過程中已占有的資源;TCP SOCKET的接口,用于連接于所述機(jī)頂盒的多個(gè)應(yīng)用模塊與所述TCP/IP協(xié)議層的 連接。
7.根據(jù)權(quán)利要求6所述的機(jī)頂盒瀏覽器,其特征在于,所述機(jī)頂盒與網(wǎng)絡(luò)服務(wù)器握手 過程中,所述雙方通過使用對方的公鑰加密預(yù)主密鑰;在收到預(yù)主密鑰的對方使用自己的 私鑰進(jìn)行解密,然后再將握手過程中雙方協(xié)商的隨機(jī)數(shù)生成主密鑰;或者,所述初始化子模塊初始化所述MatrixSSL子模塊的過程包括初始化MatrixSSL庫、 加載MatrixSSL錯(cuò)誤定義、選擇通信協(xié)議、加載MatrixSSL子模塊的證書和私鑰、加載 MatrixSSL子模塊信任的CA ;或者,所述身份驗(yàn)證子模塊對來自所述網(wǎng)絡(luò)服務(wù)器端的X509證書進(jìn)行驗(yàn)證;或者,所述緩沖管理子模塊的行緩沖處理包括完成MatrixSSL協(xié)議棧的記錄層功能,對要發(fā) 送的數(shù)據(jù)進(jìn)行分片、壓縮、添加消息驗(yàn)證碼、加密、添加SSL頭并發(fā)送,并對接收到的數(shù)據(jù)進(jìn) 行解密、驗(yàn)證、解壓縮和重組。
8.根據(jù)權(quán)利要求6所述的機(jī)頂盒瀏覽器,其特征在于,所述預(yù)主密鑰是指基于 Diffie-Hellman 的算法;或者,所述通信協(xié)議包括協(xié)議包括TLSv 1.0、SSLv2、SSLv3、SSLv2/v3協(xié)議;或者,所述身份驗(yàn)證子模塊對來自所述網(wǎng)絡(luò)服務(wù)器端的X509證書進(jìn)行驗(yàn)證包括對X509證書 的ASN. 1解碼、證書的有效性驗(yàn)證、讀取證書的公共密鑰。
9.一種利用權(quán)利要求1 8任意一項(xiàng)所述的機(jī)頂盒瀏覽器實(shí)現(xiàn)瀏覽的機(jī)頂盒,所述機(jī) 頂盒用于接收和傳送數(shù)字家庭設(shè)備與網(wǎng)絡(luò)服務(wù)器之間的信號,其特征在于,所述機(jī)頂盒瀏 覽器與所述網(wǎng)絡(luò)服務(wù)器連接的網(wǎng)絡(luò)層采用TCP/IP協(xié)議,所述機(jī)頂盒瀏覽器包括用戶界面模塊,用于為用戶操作所述機(jī)頂盒提供操作界面;傳輸控制模塊,用于傳輸所述機(jī)頂盒與所述網(wǎng)絡(luò)服務(wù)器之間的信號,以及對所述機(jī)頂 盒瀏覽器將要顯示的頁面所采用的協(xié)議,采用MatrixSSL協(xié)議棧解析;網(wǎng)頁處理顯示模塊,用于將通過所述傳輸控制模塊解析的網(wǎng)頁進(jìn)行處理并顯示。
10.一種利用權(quán)利要求1 8任意一項(xiàng)所述的機(jī)頂盒瀏覽器實(shí)現(xiàn)瀏覽方法,所述機(jī)頂盒 用于接收和傳送數(shù)字家庭設(shè)備與網(wǎng)絡(luò)服務(wù)器之間的信號,其特征在于,所述機(jī)頂盒瀏覽器 與所述網(wǎng)絡(luò)服務(wù)器連接的網(wǎng)絡(luò)層采用TCP/IP協(xié)議,所述方法包括用戶界面模塊為用戶操作所述機(jī)頂盒提供操作界面;傳輸控制模塊傳輸所述機(jī)頂盒與所述網(wǎng)絡(luò)服務(wù)器之間的信號,以及對所述機(jī)頂盒瀏覽 器將要顯示的頁面所采用的協(xié)議,采用MatrixSSL協(xié)議棧解析;網(wǎng)頁處理顯示模塊將通過所述傳輸控制模塊解析的網(wǎng)頁進(jìn)行處理并顯示。
全文摘要
本發(fā)明提供一種機(jī)頂盒瀏覽器及其機(jī)頂盒和方法,所述機(jī)頂盒用于接收和傳送數(shù)字家庭設(shè)備與網(wǎng)絡(luò)服務(wù)器之間的信號,所述機(jī)頂盒瀏覽器與所述網(wǎng)絡(luò)服務(wù)器連接的網(wǎng)絡(luò)層采用TCP/IP協(xié)議,所述機(jī)頂盒瀏覽器包括用戶界面模塊,用于為用戶操作所述機(jī)頂盒提供操作界面;傳輸控制模塊,用于傳輸所述機(jī)頂盒與所述網(wǎng)絡(luò)服務(wù)器之間的信號,以及對所述機(jī)頂盒瀏覽器將要顯示的頁面所采用的協(xié)議,采用MatrixSSL協(xié)議棧解析;網(wǎng)頁處理顯示模塊,用于將通過所述傳輸控制模塊解析的網(wǎng)頁進(jìn)行處理并顯示。借此,本發(fā)明實(shí)現(xiàn)在嵌入式系統(tǒng)中采用合適的安全協(xié)議,并且提高機(jī)頂盒瀏覽器以及機(jī)頂盒傳輸信息的安全性。
文檔編號H04L12/28GK101938478SQ201010268740
公開日2011年1月5日 申請日期2010年8月31日 優(yōu)先權(quán)日2010年8月31日
發(fā)明者李波, 羅笑南, 韓冠亞 申請人:中山大學(xué)