專利名稱:無(wú)線設(shè)備和應(yīng)用網(wǎng)關(guān)之間的安全消息傳送的系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明總體上涉及一種用于提供與多個(gè)設(shè)備的通信的通信系統(tǒng),更具 體地涉及一種用于無(wú)線設(shè)備和應(yīng)用網(wǎng)關(guān)之間的安全消息傳送的系統(tǒng)及方 法。
背景技術(shù):
由于無(wú)線網(wǎng)絡(luò)的迅速發(fā)展,當(dāng)今所使用的無(wú)線設(shè)備的數(shù)量不斷增長(zhǎng)。
這些設(shè)備包括移動(dòng)電話、具有無(wú)線通信能力的個(gè)人數(shù)字助理(PDA)、雙 向?qū)ず魴C(jī)等。在可用無(wú)線設(shè)備增加的同時(shí),在這種的設(shè)備上運(yùn)行的軟件應(yīng) 用也增加了這些設(shè)備的效用。例如,無(wú)線設(shè)備可以包括檢索一欄期望城市 的天氣預(yù)報(bào)的應(yīng)用,或者允許用戶在雜貨店里購(gòu)物的應(yīng)用。這些軟件應(yīng)用 利用無(wú)線網(wǎng)絡(luò)的傳輸數(shù)據(jù)能力,以便向用戶提供及時(shí)且有用的服務(wù)(通常 除了語(yǔ)音通信以外)。然而,由于不同類型設(shè)備的過(guò)剩、 一些設(shè)備的資源 受限、以及將大量數(shù)據(jù)傳送給設(shè)備的復(fù)雜度,開(kāi)發(fā)軟件應(yīng)用仍然是一件困 難且耗時(shí)的工作。
當(dāng)前,將設(shè)備配置用于通過(guò)基于互聯(lián)網(wǎng)的瀏覽器和/或原生應(yīng)用來(lái)與網(wǎng) 絡(luò)服務(wù)器進(jìn)行通信。瀏覽器具有針對(duì)多種不同設(shè)備可適用于在交叉平臺(tái)上 進(jìn)行操作的優(yōu)點(diǎn),但具有從網(wǎng)絡(luò)服務(wù)器請(qǐng)求網(wǎng)頁(yè)(以HTML的屏幕定義) 的缺點(diǎn),這妨礙了屏幕中所包含的數(shù)據(jù)的持續(xù)性。瀏覽器的另一個(gè)缺點(diǎn)是 在運(yùn)行時(shí)間內(nèi)渲染屏幕,這是資源密集的。瀏覽器的應(yīng)用是用于獨(dú)立于應(yīng) 用來(lái)設(shè)計(jì)平臺(tái)的有效工具。因此,不同的運(yùn)行時(shí)間環(huán)境(RE)不考慮平臺(tái) 地執(zhí)行相同的應(yīng)用。然而,由于不同無(wú)線設(shè)備具有不同的性能和波形因數(shù), 因此可能不會(huì)按照預(yù)期地執(zhí)行或顯示該應(yīng)用。此外,基于瀏覽器的應(yīng)用經(jīng) 常需要有效的傳輸帶寬來(lái)有效地進(jìn)行操作,這對(duì)于一些無(wú)線設(shè)備而言可能 需要較高成本或者甚至不可用。
另一方面,原生應(yīng)用是針對(duì)特定無(wú)線設(shè)備平臺(tái)所開(kāi)發(fā)的,由此為在該 平臺(tái)上所運(yùn)行的運(yùn)行時(shí)間環(huán)境提供了相對(duì)優(yōu)化的應(yīng)用程序。然而,依靠應(yīng) 用的平臺(tái)引入了一些缺點(diǎn),包括不得不開(kāi)發(fā)多個(gè)版本的相同應(yīng)用,以及在 大小方面相對(duì)大,由此使得無(wú)線設(shè)備的存儲(chǔ)資源遭受重負(fù)。此外,應(yīng)用開(kāi)
發(fā)者需要具有諸如Java和0++之類的編程語(yǔ)言的經(jīng)驗(yàn),以構(gòu)造這種原生應(yīng)用。
這里所公開(kāi)的系統(tǒng)和方法提供了一種用于在設(shè)備上供應(yīng)基于組件的 應(yīng)用的通信系統(tǒng),以避免或緩和前述缺點(diǎn)中的至少一些。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的方面,提供了一種用于在無(wú)線設(shè)備和應(yīng)用網(wǎng)關(guān)之間的安 全消息傳送的系統(tǒng),該系統(tǒng)包括應(yīng)用網(wǎng)關(guān),應(yīng)用網(wǎng)關(guān)包括用于在系統(tǒng)和設(shè) 備之間進(jìn)行通信的消息代理,將該應(yīng)用網(wǎng)關(guān)服務(wù)器配置用于與供應(yīng)服務(wù)器 和發(fā)現(xiàn)服務(wù)器的通信,并且該應(yīng)用網(wǎng)關(guān)服務(wù)器包括用于在設(shè)備和應(yīng)用網(wǎng)關(guān) 之間實(shí)現(xiàn)不對(duì)稱加密的應(yīng)用映射層,以及包括具有用于對(duì)發(fā)送給設(shè)備的消 息進(jìn)行加密的第一密鑰集的加密以及具有用于對(duì)來(lái)自設(shè)備的消息進(jìn)行解 密的第二密鑰集的解密。
根據(jù)本發(fā)明的又一個(gè)方面,提供了一種用于在無(wú)線設(shè)備和應(yīng)用網(wǎng)關(guān)之
間的安全消息傳送的方法,該方法包括以下步驟通過(guò)安全插座將設(shè)備與 應(yīng)用映射層相連;以及交換密鑰,以便在設(shè)備和應(yīng)用網(wǎng)關(guān)之間實(shí)現(xiàn)不對(duì)稱 加密;以及包括具有用于對(duì)發(fā)送給設(shè)備的消息進(jìn)行加密的第一密鑰集的加 密以及具有用于對(duì)來(lái)自設(shè)備的消息進(jìn)行解密的第二密鑰集的解密。
因此,本發(fā)明提供了端到端的整體解決方案;以特定方式將多個(gè)安全 模式和計(jì)數(shù)進(jìn)行組合,以提供用于保護(hù)網(wǎng)絡(luò)中的兩個(gè)端點(diǎn)之間的消息傳送 類型格式的數(shù)據(jù)的高度安全的形式。
本發(fā)明提供了一種在從應(yīng)用映射層到無(wú)線設(shè)備的路徑上的優(yōu)化加密 深度,反之亦然。本發(fā)明還能夠在本質(zhì)上進(jìn)行改變,以適應(yīng)移動(dòng)市場(chǎng)中的 載荷大小和傳輸速率的動(dòng)態(tài)特性。
在整個(gè)本專利申請(qǐng)中,我們使用RSA (Rivest, Shamir和Adlemean) 和ECC (橢圓曲線加密)作為有效的雙向不對(duì)稱算法的示例,以及AES
(先進(jìn)加密標(biāo)準(zhǔn))作為不對(duì)稱算法的示例。
參考以下附圖,僅作為示例對(duì)本發(fā)明的實(shí)施例進(jìn)行描述,在附圖中-
圖1是網(wǎng)絡(luò)推動(dòng)無(wú)線組件應(yīng)用的方框圖2是圖1中所示的應(yīng)用網(wǎng)關(guān)的詳細(xì)方框圖3是安全子系統(tǒng)的方框圖4是無(wú)線組件架構(gòu)(WiCA)通信模型的方框圖5是針對(duì)圖4中的WiCA通信模型的通信順序的流程圖6是根據(jù)本發(fā)明的實(shí)施例的安全握手的方框圖7是根據(jù)本發(fā)明的實(shí)施例發(fā)送安全消息的方框圖8是針對(duì)根據(jù)本發(fā)明的實(shí)施例的簽名模式消息傳送的數(shù)據(jù)模型的方 框圖9是針對(duì)根據(jù)本發(fā)明的實(shí)施例的簽名和加密模式消息傳送的數(shù)據(jù)模 型的方框圖IO是根據(jù)本發(fā)明的實(shí)施例的安全消息容器的方框圖。
具體實(shí)施例方式
為了方便起見(jiàn),描述中相似的附圖標(biāo)記表示附圖中的相似結(jié)構(gòu)。參照 圖l,通信架構(gòu)統(tǒng)稱為附圖標(biāo)記100。通信架構(gòu)IOO包括多個(gè)無(wú)線設(shè)備102、 通信網(wǎng)絡(luò)104、應(yīng)用網(wǎng)關(guān)106、以及多個(gè)后端服務(wù)器108。
無(wú)線設(shè)備102是典型的個(gè)人數(shù)字助理(PDA),例如Research in Motion 的BlackBerryTM,但也可以包括其他設(shè)備。每個(gè)無(wú)線設(shè)備102都包括能夠 為多個(gè)組件應(yīng)用程序提供主機(jī)服務(wù)。
組件應(yīng)用程序包括以諸如可擴(kuò)展標(biāo)記語(yǔ)言(XML)代碼之類的結(jié)構(gòu)定 義語(yǔ)言寫(xiě)入的一個(gè)或更多數(shù)據(jù)組件、表示層組件、和/或消息組件。組件應(yīng) 用還可以包括工作流組件,工作流組件包含諸如以ECMAScript的子集寫(xiě) 入的一連串指令,此外在一些實(shí)現(xiàn)中可以將組件應(yīng)用嵌入XML。因此, 由于對(duì)應(yīng)用進(jìn)行了劃分,針對(duì)多個(gè)設(shè)備,可以通過(guò)提供相應(yīng)的表示層組件 來(lái)對(duì)公共應(yīng)用進(jìn)行寫(xiě)操作,而不需要重寫(xiě)其他組件。此外,將典型應(yīng)用的
大部分職責(zé)轉(zhuǎn)移到針對(duì)組件應(yīng)用的運(yùn)行環(huán)境。將在此描述的結(jié)尾對(duì)組件應(yīng) 用的細(xì)節(jié)進(jìn)行描述。
無(wú)線設(shè)備102通過(guò)通信網(wǎng)絡(luò)104與應(yīng)用網(wǎng)關(guān)106進(jìn)行通信。因此,通 信網(wǎng)絡(luò)104可以包括諸如無(wú)線網(wǎng)絡(luò)110、中繼112、企業(yè)服務(wù)器114和/或 用于在無(wú)線設(shè)備102和應(yīng)用網(wǎng)關(guān)106之間中繼數(shù)據(jù)的移動(dòng)數(shù)據(jù)服務(wù)器116。
應(yīng)用網(wǎng)關(guān)106包括網(wǎng)關(guān)服務(wù)器118、供應(yīng)服務(wù)器120和發(fā)現(xiàn)服務(wù)器122。 網(wǎng)關(guān)服務(wù)器118作為無(wú)線設(shè)備102的運(yùn)行時(shí)間環(huán)境與后端服務(wù)器108之間 的消息代理。網(wǎng)關(guān)服務(wù)器118與供應(yīng)服務(wù)器120和發(fā)現(xiàn)服務(wù)器122進(jìn)行通 信。網(wǎng)關(guān)服務(wù)器118還通過(guò)適當(dāng)?shù)逆溄优c諸如網(wǎng)絡(luò)服務(wù)器108a、數(shù)據(jù)庫(kù)服 務(wù)器108b、以及其他企業(yè)服務(wù)器108c之類的多個(gè)后端服務(wù)器108進(jìn)行通 信。例如,分別通過(guò)簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議(SOAP)和Java數(shù)據(jù)庫(kù)連接(JDBC) 將網(wǎng)關(guān)服務(wù)器118與網(wǎng)絡(luò)服務(wù)器108a以及數(shù)據(jù)庫(kù)服務(wù)器108b相連。其他 類型的后端服務(wù)器108及其相應(yīng)鏈接對(duì)于本領(lǐng)域的普通計(jì)數(shù)人員將是顯而 易見(jiàn)的。
起初,為每個(gè)無(wú)線設(shè)備102提供制訂了各種協(xié)議和設(shè)置的服務(wù)手冊(cè), 該服務(wù)手冊(cè)包括針對(duì)企業(yè)服務(wù)器114和/或移動(dòng)數(shù)據(jù)服務(wù)器116的連接信 息。這些參數(shù)可以包括針對(duì)應(yīng)用網(wǎng)關(guān)服務(wù)器118的統(tǒng)一資源定位器(URL)。 可選地,如果起初沒(méi)有給無(wú)線設(shè)備102提供URL和密鑰,則可以通過(guò)移 動(dòng)數(shù)據(jù)服務(wù)器116將其推送至無(wú)線設(shè)備102中。然后,無(wú)線設(shè)備102可以 通過(guò)應(yīng)用網(wǎng)關(guān)服務(wù)器118的URL來(lái)與應(yīng)用網(wǎng)關(guān)106相連。
參照?qǐng)D2,示出了應(yīng)用網(wǎng)關(guān)106的更詳細(xì)示圖。應(yīng)用網(wǎng)關(guān)服務(wù)器118 包括三層服務(wù)基本服務(wù)層202、應(yīng)用網(wǎng)關(guān)服務(wù)層204、以及應(yīng)用服務(wù)層 206。應(yīng)用網(wǎng)關(guān)服務(wù)器118還包括管理服務(wù)208。
供應(yīng)服務(wù)210和發(fā)現(xiàn)服務(wù)212分別由供應(yīng)服務(wù)器120和發(fā)現(xiàn)服務(wù)器 122所提供。
在最底層,基本服務(wù)層202為其他較高層組件提供基本的、獨(dú)立領(lǐng)域 系統(tǒng)服務(wù)。因此,例如應(yīng)用網(wǎng)關(guān)服務(wù)層204和應(yīng)用服務(wù)層206中的所有子 系統(tǒng)都可以利用并與基本服務(wù)層202中的子系統(tǒng)進(jìn)行合作。在本實(shí)施例中, 基本服務(wù)層202包括公用子系統(tǒng)210、安全子系統(tǒng)212、配置子系統(tǒng)214 以及記錄子系統(tǒng)216。 應(yīng)用網(wǎng)關(guān)服務(wù)層204提供無(wú)線組件應(yīng)用領(lǐng)域的特性服務(wù)。這些服務(wù)提 供了到后端子系統(tǒng)108的有效的消息轉(zhuǎn)化和傳送,并為無(wú)線設(shè)備102和組 件應(yīng)用提供了生命周期管理。在本發(fā)明中,應(yīng)用網(wǎng)關(guān)服務(wù)層204包括生命 周期子系統(tǒng)220、連接器子系統(tǒng)222、消息傳送子系統(tǒng)224、以及轉(zhuǎn)化子系 統(tǒng)226。
應(yīng)用服務(wù)層206位于結(jié)構(gòu)的頂部,并使用由較低層所提供的子系統(tǒng)來(lái) 提供外部程序接口和用戶接口。例如,諸如服務(wù)提供者生命周期應(yīng)用、打 包應(yīng)用、消息監(jiān)聽(tīng)?wèi)?yīng)用之類的各種應(yīng)用提供了外部程序接口,因?yàn)樗鼈冎?要與外部系統(tǒng)上的應(yīng)用進(jìn)行通信。類似地,管理應(yīng)用通過(guò)向用戶提供訪問(wèn) 和潛在地修改應(yīng)用網(wǎng)關(guān)數(shù)據(jù)和/或參數(shù)的能力來(lái)提供用戶接口 。
管理服務(wù)208負(fù)責(zé)管理系統(tǒng)消息、無(wú)線設(shè)備102的管理、應(yīng)用網(wǎng)關(guān)子 系統(tǒng)的運(yùn)行時(shí)間管理、支持并顯示系統(tǒng)診斷、以及對(duì)供應(yīng)和發(fā)現(xiàn)服務(wù)的缺 省實(shí)現(xiàn)的管理。
消息傳送監(jiān)聽(tīng)?wèi)?yīng)用提供了用于從無(wú)線設(shè)備102以及外部源接收消息并 將其轉(zhuǎn)發(fā)給消息傳送子系統(tǒng)的接口。此外,消息監(jiān)聽(tīng)?wèi)?yīng)用典型地鑒別有效 的消息源。
安全子系統(tǒng)212提供其他子系統(tǒng)用以保證與無(wú)線設(shè)備102的通信的服 務(wù)。為了有利于安全通信,安全子系統(tǒng)212對(duì)消息進(jìn)行加密和解密,驗(yàn)證 簽名以及對(duì)消息簽名。
參照?qǐng)D3,更詳細(xì)地示出了安全子系統(tǒng)212。安全子系統(tǒng)212包括加 密接口 302、密鑰庫(kù)接口 304、以及用于與應(yīng)用網(wǎng)關(guān)106的子系統(tǒng)進(jìn)行相 互作用的簽名接口 306。加密接口 302提供了允許對(duì)接收自/發(fā)送到設(shè)備的 消息進(jìn)行加密和解密的功能。實(shí)現(xiàn)加密/解密算法,使得可以將缺省算法與 新算法交換,以改變針對(duì)整個(gè)應(yīng)用網(wǎng)關(guān)106的加密標(biāo)準(zhǔn)。
密鑰庫(kù)接口 304有利于產(chǎn)生密鑰以及存儲(chǔ)并檢索所需要的密鑰。
簽名接口 306有利于驗(yàn)證所接收到的消息簽名以及對(duì)待發(fā)射的消息簽 名。與加密算法類似,如果需要的話,可以使用不同的算法來(lái)代替驗(yàn)證和 簽名算法。
打包應(yīng)用
提供打包應(yīng)用作為有利于無(wú)線設(shè)備102上的組件應(yīng)用的供應(yīng)的應(yīng)用 230的一部分。在針對(duì)組件應(yīng)用程序包的第一請(qǐng)求期間,打包應(yīng)用對(duì)未處 理的組件應(yīng)用進(jìn)行處理,也稱為組件應(yīng)用捆綁,并準(zhǔn)備將其用于無(wú)線傳輸。 打包應(yīng)用從指定位置(典型地為預(yù)定URL)加載組件應(yīng)用捆綁,確定需要 執(zhí)行什么樣的安全行為和處理,并將打包后的組件應(yīng)用返回供應(yīng)服務(wù)器, 用以存儲(chǔ)。
例如,可能需要發(fā)生的安全行為包括對(duì)組件應(yīng)用捆綁發(fā)行者的鑒權(quán)。 可以通過(guò)檢驗(yàn)發(fā)行者證書(shū)的有效性以及將應(yīng)用網(wǎng)關(guān)簽名用于對(duì)打包后的 組件應(yīng)用簽名來(lái)實(shí)現(xiàn)鑒權(quán)。此外,證書(shū)可以由應(yīng)用開(kāi)發(fā)工具在標(biāo)簽內(nèi)產(chǎn)生, 并存儲(chǔ)于應(yīng)用捆綁內(nèi);還可以檢驗(yàn)開(kāi)發(fā)工具的證書(shū)。
組件應(yīng)用捆綁典型地包括諸如XML定義、映射、應(yīng)用資源以及針對(duì) 定位支持的資源捆綁之類的模塊。XML定義包括對(duì)應(yīng)用數(shù)據(jù)、消息、屏 幕組件以及工作流的XML編碼。使用XML作為對(duì)可應(yīng)用于組件應(yīng)用的 編碼的任何結(jié)構(gòu)定義語(yǔ)言的示例。
映射定義了組件應(yīng)用和一個(gè)或更多后端服務(wù)器108之間的關(guān)系。在本 實(shí)施例中,使用網(wǎng)絡(luò)服務(wù)描述語(yǔ)言(WSDL)來(lái)定義映射。在標(biāo)準(zhǔn)里,將 WSDL定義為用于將網(wǎng)絡(luò)服務(wù)描述成操作于包含面向文件或面向過(guò)程信 息的消息上的端點(diǎn)集合的XML格式。對(duì)操作和消息進(jìn)行準(zhǔn)確描述,然后 將其捆綁到具體的網(wǎng)絡(luò)協(xié)議何消息格式上,以定義端點(diǎn)。將相關(guān)的具體端 點(diǎn)組成抽象端點(diǎn)(服務(wù))。WSDL可擴(kuò)展為允許對(duì)端點(diǎn)及其消息的描述, 而不管使用什么樣的消息格式以及網(wǎng)絡(luò)協(xié)議來(lái)進(jìn)行通信,然而,此文獻(xiàn)中 所描述的捆綁僅描述了如何結(jié)合SOAP、 HTTP以及多目的互聯(lián)網(wǎng)郵件擴(kuò) 展(MIME)來(lái)使用WSDL。'
因此,當(dāng)從無(wú)線設(shè)備102接收到消息時(shí),該消息包括示出了該消息所 源自的組件應(yīng)用的標(biāo)識(shí)符。將此信息用于識(shí)別確定了如何解釋消息以及將 其發(fā)送到何處的相應(yīng)映射。在本實(shí)施例中,每個(gè)無(wú)線設(shè)備102都是唯一可 尋址的。因此,通過(guò)移動(dòng)數(shù)據(jù)服務(wù)器116將返回消息推送至該設(shè)備。在備 選實(shí)施例中,本領(lǐng)域的技術(shù)人員將理解的是,可以通過(guò)其他己知載體/設(shè)備 的特定的推送協(xié)議來(lái)實(shí)現(xiàn)該推送;例如,在短消息系統(tǒng)(SMS)上執(zhí)行的 無(wú)線應(yīng)用協(xié)議(WAP)推送。 應(yīng)用資源包括諸如圖像、語(yǔ)音、視頻等的一個(gè)或更多資源,使用應(yīng)用 程序?qū)⑵浯虬鼮殪o態(tài)依賴。資源綁定典型地包括針對(duì)組件應(yīng)用的定位信 息。定位信息的示例包括語(yǔ)言支持、文本指示、滾動(dòng)指示、字典以及辭典 服務(wù)等。
因此,對(duì)組件應(yīng)用捆綁的處理包括使用所提供的資源捆綁的定位、 二進(jìn)制編碼、給組件應(yīng)用標(biāo)以安全標(biāo)記、以及將打包后的組件應(yīng)用上載到
所提供的目的倉(cāng)庫(kù)(典型地由URL所指定)。在本實(shí)施例中,執(zhí)行二進(jìn)制 編碼,以減少需要用以將組件應(yīng)用傳輸?shù)綗o(wú)線設(shè)備102的帶寬。二進(jìn)制編 碼是使用無(wú)線應(yīng)用協(xié)議二進(jìn)制XML (WBXML)標(biāo)準(zhǔn)實(shí)現(xiàn)的,盡管可以使 用其他編碼方案。此外,可以完全不需要執(zhí)行二進(jìn)制編碼。此外,將映射 傳輸給消息代理602,從而有利于執(zhí)行該組件應(yīng)用的運(yùn)行時(shí)間環(huán)境和關(guān)聯(lián) 后端服務(wù)器或服務(wù)器108之間的通信。
打包應(yīng)用可用于諸如網(wǎng)絡(luò)服務(wù)器之類的外部子系統(tǒng)。在本實(shí)施例中, 打包應(yīng)用可由供應(yīng)服務(wù)器120來(lái)訪問(wèn),但是也可以由第三方自定義的供應(yīng) 服務(wù)器訪問(wèn)。
參照?qǐng)D4,示出了無(wú)線組件架構(gòu)(WiCA)通信模型中的方框圖。從 高層角度,整個(gè)WiCA基礎(chǔ)設(shè)施400包括在設(shè)備102上運(yùn)行的WiCA運(yùn)行 時(shí)間環(huán)境(設(shè)備RE)以及在服務(wù)器118上運(yùn)行的WiCA應(yīng)用網(wǎng)關(guān)(AG) 106。
應(yīng)用網(wǎng)關(guān)(AG) 106作為由RE 102所執(zhí)行的WiCA應(yīng)用(Wiclet) 以及與Wiclet進(jìn)行通信的一個(gè)或更多后端系統(tǒng)108之間的中介。在大多數(shù) 情況下,后端系統(tǒng)108應(yīng)用是使用優(yōu)于HTTP或HTTPS的SOAP作為傳 輸協(xié)議的網(wǎng)絡(luò)服務(wù)器。
由于網(wǎng)絡(luò)服務(wù)器是最常見(jiàn)的后端子系統(tǒng),在整個(gè)文獻(xiàn)中所使用的術(shù)語(yǔ) 網(wǎng)絡(luò)服務(wù)器可與后端互換。WiCA通信模型400基于不對(duì)稱消息傳送范例。 在這個(gè)模型中,應(yīng)用網(wǎng)關(guān)(AG) 106建立并協(xié)調(diào)設(shè)備102和后端系統(tǒng)108 之間的連接,以便
1. 更加靈活地實(shí)現(xiàn)資源管理。
2. 在設(shè)備102和后端系統(tǒng)108之間提供可靠的通信連接,以便處理無(wú) 線覆蓋不穩(wěn)定的情況。 3.在設(shè)備RE 102和AG 106之間有效地分配工作量。 參照?qǐng)D5,示出了針對(duì)圖4中的WiCA通信模型的通信順序的流程圖。 該圖描述了設(shè)備102和后端系統(tǒng)108之間的通信順序
在通過(guò)504 MDS 116從設(shè)備102接收到請(qǐng)求502時(shí),AG 106對(duì)請(qǐng)
求506進(jìn)行排隊(duì),并釋放與設(shè)備的連接。
*接下來(lái),從隊(duì)列508重新得到請(qǐng)求,然后對(duì)該請(qǐng)求進(jìn)行預(yù)處理并通 過(guò)同步通信信道將其轉(zhuǎn)發(fā)510給網(wǎng)絡(luò)服務(wù)器108。
*由AG 106對(duì)來(lái)自先前請(qǐng)求的任何響應(yīng)進(jìn)行處理,并且將響應(yīng)消息 異步發(fā)送回設(shè)備512和514。
參照?qǐng)D6,示出了根據(jù)本發(fā)明的實(shí)施例的安全握手的方框圖。應(yīng)用服 務(wù)器206包括應(yīng)用映射層600。應(yīng)用映射層600具有到用于存儲(chǔ)服務(wù)器公 鑰604 (例如ECC密鑰)的設(shè)備密鑰數(shù)據(jù)庫(kù)602的入口。類似地,移動(dòng)設(shè) 備102具有用于存儲(chǔ)設(shè)備公鑰608 (例如RSA密鑰)的數(shù)據(jù)庫(kù)606。
參照?qǐng)D7,示出了根據(jù)本發(fā)明的實(shí)施例的發(fā)送安全消息的方框圖。示 出了應(yīng)用映射層通過(guò)防火墻700與網(wǎng)絡(luò)服務(wù)器108相連。
在操作中, 一旦如圖6所示地建立了安全握手,則可以將安全消息從 設(shè)備發(fā)送到服務(wù)器702或者從服務(wù)器發(fā)送到設(shè)備704。
在移動(dòng)設(shè)備(MD) 102到應(yīng)用映射層(AML) 600之間的每個(gè)方向 上,安全消息模型都支持獨(dú)立的PKI基礎(chǔ)設(shè)施方案。這保證了在仍然提供 安全整體解決方案的同時(shí)以最有效的方式來(lái)發(fā)送所有消息。通過(guò)使用不對(duì) 稱算法,可以在處理成本以及時(shí)間方面將加密與根據(jù)算法規(guī)范的解密區(qū)別 開(kāi)。
RSA是最通用的公鑰加密系統(tǒng)。RSA是由RonRivest、 Adi Shamir和 Leonard Adleman在1977年開(kāi)發(fā)的。這個(gè)算法依靠包括對(duì)較大整數(shù)n的因 數(shù)分解的單向函數(shù)。其中,n是兩個(gè)較大素?cái)?shù)p和q的乘積。如果p和q 已知,則RSA的單向函數(shù)將相對(duì)容易地計(jì)算出n。然而,對(duì)足夠大的已知 n進(jìn)行因式分解以發(fā)現(xiàn)n的兩個(gè)素因子p和q的反向任務(wù)是不可行的。
ECC (橢圓曲線加密)是另一種公鑰加密系統(tǒng)。RSA和ECC都能夠 提供安全通信,然后ECC具有優(yōu)于RSA以及其他通用公鑰加密系統(tǒng)的優(yōu) 點(diǎn)。RSA是基于整數(shù)因式分解問(wèn)題,而ECC是基于離散對(duì)數(shù)問(wèn)題(DLP)。
ECC具有優(yōu)于RSA的以下優(yōu)點(diǎn)
ECC具有比任何其他具有相似安全深度的已知公鑰加密系統(tǒng)都短 的密鑰長(zhǎng)度。安全深度被認(rèn)為是在時(shí)間方面破壞加密系統(tǒng)。
對(duì)于解密,ECC比具有相似安全深度的RSA快得多。
ECC很可能比RSA更加安全,所解決的最大RSA和ECC分別是 512比特和108比特。認(rèn)為對(duì)108比特ECC挑戰(zhàn)的解決方案是在公鑰加密 挑戰(zhàn)中所消耗的最大努力。這花費(fèi)了 4個(gè)月并且包括大約9500臺(tái)機(jī)器。 需要用以解決問(wèn)題的工作量大約是512比特RSA挑戰(zhàn)的50倍。
RSA具有以下優(yōu)于ECC的優(yōu)點(diǎn)
RSA加密時(shí)間比具有相似安全深度的ECC快。
在握手過(guò)程中,每一方拿起托管的其他公鑰,并將其用于檢驗(yàn)所接收 到的數(shù)據(jù)。這些密鑰都是公鑰,但是許多都在稍后轉(zhuǎn)變成不同的規(guī)范。這 種方法在保證足夠強(qiáng)度的安全的同時(shí),允許針對(duì)每個(gè)傳輸方向上的算法的 使用最小化處理以及對(duì)于移動(dòng)設(shè)備的空中要求。
在安全握手中,移動(dòng)設(shè)備(MD) 102通過(guò)安全插座層(SSL)與應(yīng)用 映射層(AML) 600相連,以交換密鑰。SSL在密鑰傳遞過(guò)程中保證兩個(gè) 端點(diǎn)之間的信任。這些密鑰在MD和AML兩方堅(jiān)持編碼格式,以便用于 所有安全消息傳輸。
一旦交換,這些公鑰使用以下安全原則在保護(hù)數(shù)據(jù)安全中起重要作
用
非否認(rèn)/完整性這里需要關(guān)于所發(fā)送的消息是來(lái)自你相信它是來(lái)自于 其的人的證據(jù)。這通常使用數(shù)字簽名來(lái)實(shí)現(xiàn),從而使得發(fā)送者以可以使用 公鑰所驗(yàn)證的私鑰來(lái)對(duì)數(shù)據(jù)中的一些部分簽名。完整性存在于驗(yàn)證出消息 與其發(fā)送時(shí)保持相同而沒(méi)有修改時(shí)。這也是使用數(shù)字簽名來(lái)完成的。
保密性是大多數(shù)人都很容易理解的概念。保密性是保持秘密的行為。 保密性是阻止將信息透露給并不旨在接收該信息的實(shí)體的過(guò)程。加密是一 種保護(hù)信息的保密性的普通且有效的方式(如果正確使用的話)
安全消息傳送具有支持兩種不同的安全模式的數(shù)據(jù)模型。每種模型支 持不同的安全原則。根據(jù)所使用的安全模式,來(lái)影響數(shù)據(jù)載荷大小和性能。 這兩種安全模式都支持?jǐn)?shù)據(jù)簽名,并由此使用通過(guò)圖6中所示的握手所交換的公鑰604和608。
參照?qǐng)D8,示出了針對(duì)根據(jù)本發(fā)明的實(shí)施例的簽名模式消息傳送的數(shù) 據(jù)模型的方框圖。數(shù)據(jù)模型1200用于簽名模式安全,并包括數(shù)字簽名802 和純文本數(shù)據(jù)804。簽名模式支持非否認(rèn)-/完整性安全原則。在你需要確 認(rèn)該內(nèi)容是否是從己知源中推導(dǎo)而得,并且該內(nèi)容在從發(fā)送消息的時(shí)間到 接收到消息之前不發(fā)生變化時(shí),使用這種模式。
參照?qǐng)D9,圖9是根據(jù)本發(fā)明的實(shí)施例的針對(duì)簽名和加密模式消息傳 送的數(shù)據(jù)模型的方框圖。數(shù)據(jù)模型900用于簽名和加密模式安全,并包括 不對(duì)稱加密的對(duì)稱密鑰902以及對(duì)稱加密數(shù)據(jù)(簽名數(shù)據(jù))904。
簽名和加密模式支持非否認(rèn)/完整性,并增加了保密性。在你需要簽名 模式所提供的相同安全性而你又不希望簽名和純文本數(shù)據(jù)能夠清晰可見(jiàn) 時(shí),應(yīng)使用這種模式。使用對(duì)稱密鑰計(jì)數(shù)來(lái)實(shí)現(xiàn)保密性。在這種模型中, 使用通過(guò)握手所交換的公鑰來(lái)對(duì)AES對(duì)稱密鑰進(jìn)行加密。這種AES算法 可用于兩個(gè)方向。 一旦解密,則將其用作批量密鑰來(lái)對(duì)使用AES算法進(jìn) 行加密的簽名數(shù)據(jù)內(nèi)容進(jìn)行解密。
安全消息傳送解決方案不指示應(yīng)該用于在MD和AML之間發(fā)送任意 類型數(shù)據(jù)的特定傳輸。該解決方案在本質(zhì)上允許應(yīng)用發(fā)送如基于任何遠(yuǎn)端 協(xié)議的數(shù)據(jù)模型中所定義的任何這種數(shù)據(jù)。然而,不需消息容器的一些類 型定義容器中所發(fā)送的消息是否安全,如果這樣的話則定義它們所使用的 版本以及安全模式。以下是包含安全消息的消息的確定格式。
參照?qǐng)D10,示出了根據(jù)本發(fā)明的實(shí)施例的安全消息容器的方框圖。安 全消息容器1000包括安全狀態(tài)1002、安全版本1004、安全模式1006、以 及安全數(shù)據(jù)消息1008。
在不背離權(quán)利要求中所定義的發(fā)明范圍的前提下,可以對(duì)上述的特定 實(shí)施例進(jìn)行多種修改、變化和改寫(xiě)。
權(quán)利要求
1.一種用于在無(wú)線設(shè)備和應(yīng)用網(wǎng)關(guān)之間的安全消息傳送的系統(tǒng),所述系統(tǒng)包括應(yīng)用網(wǎng)關(guān)服務(wù)器,包括用于在系統(tǒng)和設(shè)備之間進(jìn)行通信的消息代理,將所述應(yīng)用網(wǎng)關(guān)服務(wù)器配置用于與供應(yīng)服務(wù)器和發(fā)現(xiàn)服務(wù)器進(jìn)行通信,并且所述應(yīng)用網(wǎng)關(guān)服務(wù)器包括用于在設(shè)備和應(yīng)用網(wǎng)關(guān)之間實(shí)現(xiàn)不對(duì)稱加密的應(yīng)用映射層,并且包括具有用于對(duì)發(fā)送至設(shè)備的消息進(jìn)行加密的第一密鑰集的加密以及具有用于對(duì)來(lái)自設(shè)備的消息進(jìn)行解密的第二密鑰集的解密。
2. 如權(quán)利要求1所述的系統(tǒng),其中,所述應(yīng)用映射層包括安全握手 過(guò)程。
3. 如權(quán)利要求1所述的系統(tǒng),其中,所述應(yīng)用映射層包括安全消息 過(guò)程。
4. 如權(quán)利要求1所述的系統(tǒng),其中,所述應(yīng)用映射層包括安全消息 容器。
5. 如權(quán)利要求1所述的系統(tǒng),其中,所述第一密鑰集獨(dú)立于第二密 鑰集。
6. 如權(quán)利要求5所述的系統(tǒng),其中,根據(jù)設(shè)備的解密能力來(lái)選擇第一密鑰集。
7. 如權(quán)利要求6所述的系統(tǒng),其中,所述第一密鑰集包括橢圓曲線 加密密鑰。
8. 如權(quán)利要求5所述的系統(tǒng),其中,根據(jù)設(shè)備的加密能力來(lái)選擇第二密鑰集。
9. 如權(quán)利要求8所述的系統(tǒng),其中,所述第二密鑰集包括RSA密鑰。
10. —種用于在無(wú)線設(shè)備和應(yīng)用網(wǎng)關(guān)之間的安全消息傳送的方法,所 述方法包括以下步驟通過(guò)安全插座將設(shè)備連接到應(yīng)用映射層;以及交換加密密鑰,以實(shí)現(xiàn) 在設(shè)備和應(yīng)用網(wǎng)關(guān)之間的不對(duì)稱加密;并且包括具有用于對(duì)發(fā)送至設(shè)備的 消息進(jìn)行加密的第一密鑰集的加密,以及具有用于對(duì)來(lái)自設(shè)備的消息進(jìn)行 解密的第二密鑰集的解密。
11. 如權(quán)利要求io所述的方法,還包括使用第一密鑰集來(lái)對(duì)發(fā)送至 設(shè)備的消息進(jìn)行加密以及將所述消息發(fā)送至設(shè)備的步驟。
12. 如權(quán)利要求11所述的方法,其中,所述發(fā)送包括使用安全消息容器。
13. 如權(quán)利要求10所述的方法,還包括使用第二密鑰集來(lái)對(duì)設(shè)備處 的消息進(jìn)行加密以及將所述消息發(fā)送給應(yīng)用映射層的步驟。
14. 如權(quán)利要求13所述的方法,其中,所述發(fā)送包括使用安全消息 容器。
15. 如權(quán)利要求IO所述的方法,其中,所述第一密鑰集獨(dú)立于所述 第二密鑰集。
16. 如權(quán)利要求15所述的方法,其中,根據(jù)設(shè)備的解密能力來(lái)選擇第一密鑰集。
17. 如權(quán)利要求16所述的方法,所述第一密鑰集包括橢圓曲線加密 密鑰。
18. 如權(quán)利要求15所述的方法,其中,根據(jù)設(shè)備的加密能力來(lái)選擇 第二密鑰集。
19. 如權(quán)利要求18所述的方法,其中,所述第二密鑰集包括RSA密鑰。
全文摘要
一種用于無(wú)線設(shè)備和應(yīng)用網(wǎng)關(guān)之間的安全消息傳送的方法和系統(tǒng),提供了通過(guò)安全插座將設(shè)備連接到應(yīng)用映射層,以及交換密鑰以實(shí)現(xiàn)在設(shè)備和應(yīng)用網(wǎng)關(guān)之間的不對(duì)稱加密。加密具有用于對(duì)發(fā)送至設(shè)備的消息進(jìn)行加密的第一密鑰集,以及解密具有用于對(duì)來(lái)自設(shè)備的消息進(jìn)行解密的第二密鑰集。因此,本發(fā)明提供了端到端的整體解決方案。以特定方式對(duì)多種安全模式和技術(shù)進(jìn)行組合,以便提供對(duì)網(wǎng)絡(luò)上的兩個(gè)端點(diǎn)之間的以消息傳送類型格式的數(shù)據(jù)的高度安全形式的保護(hù)。本發(fā)明提供了一種從應(yīng)用映射層到無(wú)線設(shè)備的路徑上的加密的優(yōu)化強(qiáng)度,反之亦然。此外本發(fā)明能夠進(jìn)行實(shí)質(zhì)上的變化,以適應(yīng)移動(dòng)市場(chǎng)中的載荷大小和傳輸速率的動(dòng)態(tài)特性。
文檔編號(hào)H04W12/02GK101167302SQ200580049515
公開(kāi)日2008年4月23日 申請(qǐng)日期2005年12月22日 優(yōu)先權(quán)日2005年4月18日
發(fā)明者布倫杜沙·弗里奇, 菲拉·比布爾, 西恩·保羅·泰勒, 赫伯特·A·利特爾, 邁克爾·申菲爾德 申請(qǐng)人:捷訊研究有限公司