專利名稱:在系統(tǒng)中提供證書匹配以及用于搜索和獲得證書的方法
技術(shù)領(lǐng)域:
本發(fā)明大體上涉及如電子郵件消息等消息的處理,更具體地,涉及一種用于搜索和獲得用在處理已編碼消息中的系統(tǒng)和證書的方法。
背景技術(shù):
可以利用多種已知協(xié)議之一對電子郵件(“e-mail”)消息進(jìn)行編碼。如安全多用途因特網(wǎng)郵件擴(kuò)展(“S/MIME”)等一些協(xié)議依賴于公用和私用加密密鑰來提供保密性和完整性,以及依賴于公用密鑰基礎(chǔ)結(jié)構(gòu)(PKI)來通信提供了驗(yàn)證和授權(quán)的信息。只能利用私用密鑰/公用密鑰對的公用密鑰來解密利用該對的對應(yīng)私用密鑰進(jìn)行了加密的數(shù)據(jù),反之亦然。利用證書來確認(rèn)用在消息編碼中的公用密鑰的真實(shí)性。具體地,如果計(jì)算設(shè)備的用戶想要在將消息發(fā)送給特定的個(gè)體之前對消息進(jìn)行解密,則該用戶需要針對該個(gè)體的證書。所述證書典型地包括該個(gè)體的公用密鑰以及其他標(biāo)識相關(guān)信息。類似地,如果計(jì)算設(shè)備的用戶希望驗(yàn)證已簽名消息的發(fā)送方,該用戶需要針對該發(fā)送方的證書。
如果所需證書并未存儲在用戶的計(jì)算設(shè)備上,則必須首先獲得證書。搜索并獲得特定的證書是涉及通過使用戶在顯示在計(jì)算設(shè)備上的搜索表格中手動輸入要請求其證書的個(gè)體的姓名和/或電子郵件地址來查詢證書服務(wù)器的處理。通常,隨后將搜索中所定位的證書暫時(shí)下載到計(jì)算設(shè)備上,以便進(jìn)行考慮,于是可以向用戶顯示已定位證書列表。然后,用戶可以手動識別列表中的選定證書,從而存儲在計(jì)算設(shè)備的非易失性存儲器中,以便于可能的將來使用。
考慮用戶的計(jì)算設(shè)備是移動設(shè)備的實(shí)施方式。當(dāng)在消息服務(wù)器接收到消息并且可用于下載到移動設(shè)備時(shí),通常只是在預(yù)定大小的連續(xù)數(shù)據(jù)塊中將消息傳輸?shù)揭苿釉O(shè)備,以便保留帶寬。更具體地,將消息的第一塊(例如2KB的數(shù)據(jù))下載到移動設(shè)備,如果用戶想要接收更多的消息,用戶可以請求將其他塊下載到移動設(shè)備,直到已經(jīng)將整個(gè)消息下載到移動設(shè)備或者直到達(dá)到消息下載的一些預(yù)定限制為止。
例如,如果所接收到的消息是已簽名S/MIME消息,為了驗(yàn)證消息的完整性和驗(yàn)證發(fā)送方的身份,需要發(fā)送方的證書。在一些情況下,所需證書可以伴隨所述消息,典型地將證書附加到消息的末尾?;蛘撸枳C書可以不伴隨所述消息,而是提供識別用在簽名中的證書的一個(gè)或多個(gè)證書標(biāo)識符,通常也位于消息的末尾。然后,如果該證書已經(jīng)被存儲在移動設(shè)備的證書存儲器中,則從中獲得所識別的證書,或者可以從能夠如上所述地從中下載證書的證書服務(wù)器中獲得所識別的證書。
為了獲得針對消息的證書或證書標(biāo)識符,典型地必須將整個(gè)消息下載到移動設(shè)備。不幸地,只是為了簡單地獲得證書信息而下載整個(gè)消息是耗時(shí)和昂貴的任務(wù)(例如,對于帶寬而言)。另一方面,如果只將消息的一小部分下載到移動設(shè)備上,或者如果消息太長而由于所設(shè)置的限制不能將其下載到移動設(shè)備上,則不能識別以一些確定的事實(shí)驗(yàn)證接收消息的完整性和驗(yàn)證發(fā)送方身份所需的證書。
發(fā)明內(nèi)容
本發(fā)明的實(shí)施例大體上涉及一種用于更有效地搜索和獲得證書的系統(tǒng)和方法,其中可以識別所需證書,而無需將發(fā)送方的消息完整地下載到用戶的計(jì)算設(shè)備(如移動設(shè)備等)上。具體地,所述系統(tǒng)和方法有助于從搜索一個(gè)或多個(gè)證書服務(wù)器中而定位的證書中確定所需的證書。
在本發(fā)明的一個(gè)更為廣泛的方案中,提出了一種用于搜索和獲得與用戶從發(fā)送方接收到的消息有關(guān)的證書的方法,所述消息包括用于識別與之相關(guān)聯(lián)的發(fā)送方證書的數(shù)據(jù),其中可以根據(jù)所述消息,產(chǎn)生惟一地識別了發(fā)送方證書的證書標(biāo)識數(shù)據(jù),所述方法包括以下步驟在計(jì)算設(shè)備處接收所述消息的至少一部分和證書標(biāo)識數(shù)據(jù);提供針對與發(fā)送方相關(guān)聯(lián)的證書的證書搜索請求;在一個(gè)或多個(gè)證書服務(wù)器上進(jìn)行搜索,其中向所述一個(gè)或多個(gè)證書服務(wù)器提交至少一個(gè)查詢,以請求獲得滿足證書搜索請求的已定位證書;從所述一個(gè)或多個(gè)證書服務(wù)器獲得至少一個(gè)已定位證書;利用證書標(biāo)識數(shù)據(jù),處理所獲得的每個(gè)已定位證書,以確定各個(gè)已定位證書是否是與所述消息相關(guān)聯(lián)的發(fā)送方證書;以及如果在確定步驟確定已定位證書是與所述消息相關(guān)聯(lián)的發(fā)送方證書,則將已定位證書存儲在所述計(jì)算設(shè)備上。
在另一更為廣泛的方案中,所產(chǎn)生的證書標(biāo)識數(shù)據(jù)包括針對發(fā)送方證書的序列號和頒發(fā)者數(shù)據(jù);以及所述處理步驟包括解析所獲得的每個(gè)已定位證書,以獲得各自的序列號和頒發(fā)者數(shù)據(jù),并將各自的序列號和頒發(fā)者數(shù)據(jù)與證書標(biāo)識數(shù)據(jù)進(jìn)行比較。
在另一更為廣泛的方案中,所產(chǎn)生的證書標(biāo)識數(shù)據(jù)包括發(fā)送方證書的至少一部分的散列信息;以及所述處理步驟包括將散列算法應(yīng)用于所獲得的每個(gè)已定位證書,以獲得各自的散列信息,并將各自的散列信息與證書標(biāo)識數(shù)據(jù)進(jìn)行比較。
在本發(fā)明的另一更為廣泛的方案中,提出了一種用于搜索和獲得與用戶從發(fā)送方接收到的消息有關(guān)的證書的系統(tǒng),所述消息包括用于識別與之相關(guān)聯(lián)的發(fā)送方證書的數(shù)據(jù),所述系統(tǒng)包括消息管理服務(wù)器,用于根據(jù)所述消息,產(chǎn)生證書標(biāo)識數(shù)據(jù),其中所述證書標(biāo)識數(shù)據(jù)惟一地識別發(fā)送方證書;移動設(shè)備,用于從消息管理服務(wù)器接收所述消息的至少一部分和證書標(biāo)識數(shù)據(jù);以及移動數(shù)據(jù)服務(wù)器,用于從移動設(shè)備接收針對與發(fā)送方相關(guān)聯(lián)的證書的證書搜索請求,通過針對滿足搜索請求的已定位證書查詢一個(gè)或多個(gè)證書服務(wù)器,在一個(gè)或多個(gè)證書服務(wù)器上進(jìn)行搜索,以及從所述一個(gè)或多個(gè)證書服務(wù)器獲得已定位證書;其中所述移動設(shè)備和所述移動數(shù)據(jù)服務(wù)器中的至少一個(gè)還用于處理在所述移動數(shù)據(jù)服務(wù)器處獲得的每個(gè)已定位證書,以利用證書標(biāo)識數(shù)據(jù),確定各個(gè)已定位證書是否是與所述消息相關(guān)聯(lián)的發(fā)送方證書;以及其中所述移動設(shè)備提供一個(gè)或多個(gè)證書存儲器,用于存儲被確定為與所述消息相關(guān)聯(lián)的發(fā)送方證書的證書。
在另一更為廣泛的方案中,提出了一種用于搜索和獲得與用戶從發(fā)送方接收到的消息有關(guān)的證書的方法,所述消息包括用于識別與之相關(guān)聯(lián)的發(fā)送方證書的數(shù)據(jù),其中所述方法包括以下步驟根據(jù)所接收到的消息中的數(shù)據(jù),產(chǎn)生針對發(fā)送方證書的證書標(biāo)識數(shù)據(jù),用于識別發(fā)送方證書,其中所述證書標(biāo)識數(shù)據(jù)惟一地識別發(fā)送方證書;在計(jì)算設(shè)備處接收證書標(biāo)識數(shù)據(jù);以及通過產(chǎn)生與存儲在計(jì)算設(shè)備上的多個(gè)證書中的每一個(gè)相關(guān)聯(lián)的證書標(biāo)識數(shù)據(jù),以及將針對所述多個(gè)已存儲證書中的每一個(gè)的已產(chǎn)生證書標(biāo)識數(shù)據(jù)與針對發(fā)送方證書而產(chǎn)生的證書標(biāo)識數(shù)據(jù)進(jìn)行比較,以識別與發(fā)送方證書匹配的已存儲證書,來確定發(fā)送方證書是否被存儲在計(jì)算設(shè)備上。
為了更好地理解本發(fā)明的實(shí)施例,以及更為清楚地示出其如何實(shí)現(xiàn)所述效果,以下將參照附圖,作為示例,對其進(jìn)行描述,其中圖1是一個(gè)示例實(shí)施方式中的移動設(shè)備的方框圖;圖2是圖1所示移動設(shè)備的通信子系統(tǒng)組件的方框圖;圖3是無線網(wǎng)絡(luò)的節(jié)點(diǎn)的方框圖;圖4是示出了一個(gè)示例結(jié)構(gòu)中的主機(jī)系統(tǒng)的組件的方框圖;圖5是示出了證書鏈的示例的方框圖;圖6是示出了已編碼消息的示例的組件的方框圖;圖7A是示出了本發(fā)明一個(gè)實(shí)施例中的搜索和獲得證書的方法中的步驟的流程圖;以及圖7B是示出了本發(fā)明另一實(shí)施例中的搜索和獲得證書的方法中的步驟的流程圖。
具體實(shí)施例方式
本發(fā)明的一些實(shí)施例使用移動臺。移動臺是具有高級數(shù)據(jù)通信能力的雙向通信設(shè)備,具有與其他計(jì)算機(jī)系統(tǒng)進(jìn)行通信的能力,并且以下被統(tǒng)稱為移動設(shè)備。移動設(shè)備還可以包括語音通信能力。根據(jù)移動設(shè)備所提供的功能,可以將其稱為數(shù)據(jù)消息收發(fā)設(shè)備、雙向?qū)ず魴C(jī)、具有數(shù)據(jù)消息收發(fā)能力的蜂窩電話、無線因特網(wǎng)設(shè)備或數(shù)據(jù)通信設(shè)備(具有或不具有電話功能)。移動設(shè)備通過收發(fā)機(jī)站網(wǎng)絡(luò)與其他設(shè)備進(jìn)行通信。
為了幫助讀者理解移動設(shè)備的結(jié)構(gòu)及其如何與其他設(shè)備進(jìn)行通信,將參照圖1到3。
首先,參考圖1,將一個(gè)示例實(shí)施方式中的移動設(shè)備的方框圖總體表示為100。移動設(shè)備100包括多個(gè)組件,控制組件是微處理器102。微處理器102控制移動設(shè)備100的總體操作。通過通信子系統(tǒng)104執(zhí)行包括數(shù)據(jù)和語音通信在內(nèi)的通信功能。通信子系統(tǒng)104從和向無線網(wǎng)絡(luò)200接收和發(fā)送消息。在移動設(shè)備100的示例實(shí)施方式中,根據(jù)全球移動通信系統(tǒng)(GSM)和通用分組無線業(yè)務(wù)(GPRS)標(biāo)準(zhǔn)來配置通信子系統(tǒng)104。GSM/GPRS無線網(wǎng)絡(luò)得到了廣泛的使用,并且預(yù)期這些標(biāo)準(zhǔn)將被全球發(fā)展增進(jìn)型數(shù)據(jù)比率(EDGE)和通用移動電信系統(tǒng)(UMTS)所取代。仍在定義新標(biāo)準(zhǔn),但可以確信其將具有與這里所描述的網(wǎng)絡(luò)行為的類似性,并且本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)理解的是本發(fā)明傾向于使用未來開發(fā)的任何適當(dāng)?shù)臉?biāo)準(zhǔn)。連接通信子系統(tǒng)104和網(wǎng)絡(luò)200的無線鏈路表示一個(gè)或多個(gè)不同的射頻(RF)信道,根據(jù)針對GSM/GPRS通信而規(guī)定的已定義協(xié)議進(jìn)行操作。利用更新的網(wǎng)絡(luò)協(xié)議,這些信道能夠支持電路交換語音通信和分組交換數(shù)據(jù)通信。
盡管在移動設(shè)備100的一個(gè)典型實(shí)施方式中,與移動設(shè)備100相關(guān)聯(lián)的無線網(wǎng)絡(luò)是GSM/GPRS無線網(wǎng)絡(luò),在變體實(shí)施方式中,其他無線網(wǎng)絡(luò)也可以與移動設(shè)備100相關(guān)聯(lián)。例如,可以采用的不同類型的無線網(wǎng)絡(luò)包括數(shù)據(jù)中心型無線網(wǎng)絡(luò)、語音中心型無線網(wǎng)絡(luò)和通過相同的物理基站能夠支持語音和數(shù)據(jù)通信的雙模式網(wǎng)絡(luò)。組合雙模式網(wǎng)絡(luò)包括但不限于碼分多址(CDMA)或CDMA2000網(wǎng)絡(luò)、GSM/GPRS網(wǎng)絡(luò)(如上所述)和將來第三代(3G)網(wǎng)絡(luò),如EDGE和UMTS。數(shù)據(jù)中心網(wǎng)絡(luò)的一些較早示例包括MobitexTM無線網(wǎng)絡(luò)和DataTACTM無線網(wǎng)絡(luò)。較早的語音中心型數(shù)據(jù)網(wǎng)絡(luò)的示例包括個(gè)人通信系統(tǒng)(PCS)網(wǎng)絡(luò),如GSM和時(shí)分多址(TDMA)系統(tǒng)。
微處理器102還與其他子系統(tǒng)進(jìn)行交互,如隨機(jī)存取存儲器(RAM)106、閃速存儲器108、顯示器110、輔助輸入/輸出(I/O)子系統(tǒng)112、串行端口114、鍵盤116、揚(yáng)聲器118、麥克風(fēng)120、短距離通信122和其他設(shè)備124。
移動設(shè)備100的一些子系統(tǒng)執(zhí)行通信相關(guān)的功能,而其他子系統(tǒng)可提供“駐留”或設(shè)備內(nèi)置功能。作為示例,顯示器110和鍵盤116可以用于如輸入用于通過網(wǎng)絡(luò)200傳送的文本消息等通信相關(guān)功能以及如計(jì)算器或任務(wù)表等設(shè)備駐留功能。通常將微處理器102使用的操作系統(tǒng)軟件存儲在如閃速處理器108等永久存儲器中,或者可以是只讀存儲器(ROM)或類似的存儲元件(未示出)。本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)清楚的是可以將操作系統(tǒng)、設(shè)備專用應(yīng)用程序或其一部分暫時(shí)加載到如RAM 106等易失性存儲器中。
在已經(jīng)完成所需的網(wǎng)絡(luò)登記或激活程序之后,移動設(shè)備100可以在網(wǎng)絡(luò)200上發(fā)送和接收通信信號。網(wǎng)絡(luò)接入與移動設(shè)備100的訂戶或用戶相關(guān)聯(lián)。為了識別訂戶,移動設(shè)備100需要將訂戶身份模塊或“SIM”卡126插入SIM接口128中,以便與網(wǎng)絡(luò)進(jìn)行通信。特別地,SIM 126是用于識別移動設(shè)備100的訂戶和使移動設(shè)備100個(gè)性化的一類傳統(tǒng)“智能卡”。沒有SIM 126,移動設(shè)備100不能完全操作與網(wǎng)絡(luò)200的通信。通過將SIM 126插入SIM接口128,訂戶可以訪問全部已訂閱服務(wù)。服務(wù)可以包括網(wǎng)絡(luò)瀏覽和消息收發(fā),如電子郵件、語音郵件、短消息服務(wù)(SMS)和多媒體消息服務(wù)(MMS)。更多的高級服務(wù)可以包括銷售點(diǎn)、現(xiàn)場服務(wù)和銷售力量自動控制(sales forceautomation)。SIM 126包括處理器和用于存儲信息的存儲器。一旦將SIM 126插入SIM接口128中,其與微處理器102相連。為了識別訂戶,SIM 126包含一些用戶參數(shù),如國際移動訂戶身份(IMSI)等。使用SIM 126的優(yōu)點(diǎn)是用戶不必與任何單一的物理移動設(shè)備綁定。SIM126也可以存儲針對移動設(shè)備的額外訂戶信息,包括記事冊(或日歷)信息和最近呼叫信息。
移動設(shè)備100是電池供電的設(shè)備,并包括電池接口132,用于容納一個(gè)或多個(gè)可充電電池130。電池接口132與穩(wěn)壓器(未示出)相連,其輔助電池130將電源V+提供給移動設(shè)備100。盡管目前的技術(shù)使用電池,但如微型燃料電池等未來的技術(shù)也可以為移動設(shè)備100提供能量。
除了其操作系統(tǒng)功能外,微處理器102能夠在移動設(shè)備100上執(zhí)行軟件應(yīng)用程序。通常在制造期間,將控制基本設(shè)備操作的應(yīng)用程序組(包括數(shù)據(jù)和語音通信應(yīng)用程序)安裝到移動設(shè)備100上??梢约虞d到移動設(shè)備100上的其他應(yīng)用程序是個(gè)人信息管理器(PIM)。PIM具有組合和管理用戶所關(guān)心的數(shù)據(jù)項(xiàng)的功能,例如但不限于電子郵件、日歷事件、語音郵件、約會和任務(wù)項(xiàng)。PIM應(yīng)用程序具有通過無線網(wǎng)絡(luò)200發(fā)送和接收數(shù)據(jù)項(xiàng)的能力。PIM數(shù)據(jù)項(xiàng)可以通過無線網(wǎng)絡(luò)200與所存儲的和/或與主計(jì)算機(jī)系統(tǒng)相關(guān)的、移動設(shè)備訂戶的相應(yīng)數(shù)據(jù)項(xiàng)無縫集成、同步和更新。此功能在移動設(shè)備100上創(chuàng)建了針對這些數(shù)據(jù)項(xiàng)的鏡像主機(jī)。這在主計(jì)算機(jī)系統(tǒng)是移動設(shè)備訂戶的辦公室計(jì)算機(jī)系統(tǒng)的情況下尤為有利。
附加的應(yīng)用程序也可以通過網(wǎng)絡(luò)200、通過輔助I/O子系統(tǒng)112、通過串行端口114、通過短距離通信子系統(tǒng)122或通過任何其他合適的子系統(tǒng)124加載到移動設(shè)備100上。這種在應(yīng)用程序安裝方面的靈活性增加了移動設(shè)備100的功能,并且能夠提供增強(qiáng)的設(shè)備內(nèi)置功能、通信相關(guān)功能或這二者。例如,安全通信應(yīng)用程序可以使得電子商務(wù)功能和其他財(cái)務(wù)交易能夠使用移動設(shè)備100執(zhí)行。
通過提供除了通過無線通信網(wǎng)絡(luò)以外到移動設(shè)備100的信息或軟件下載,串行端口114使訂戶能夠通過外部設(shè)備或軟件應(yīng)用程序來設(shè)置偏好,并擴(kuò)展移動設(shè)備100的能力。例如,可選的下載路徑可以用于通過直接、從而可靠、可信的連接,將加密密鑰加載到移動設(shè)備100上,以提供安全設(shè)備通信。
短距離通信子系統(tǒng)122用于移動設(shè)備100和不同系統(tǒng)或設(shè)備之間的通信,無需使用網(wǎng)絡(luò)200。例如,子系統(tǒng)122可以包括紅外設(shè)備以及用于短距離通信的相關(guān)電路和組件。短距離通信的示例將包括由紅外數(shù)據(jù)協(xié)會(IrDA)、藍(lán)牙開發(fā)的標(biāo)準(zhǔn)和由IEEE開發(fā)的802.11標(biāo)準(zhǔn)族。
在使用中,通信子系統(tǒng)104將處理如文本消息、電子郵件消息或網(wǎng)頁下載等接收信號,并輸入微處理器102。然后,微處理器102處理接收信號,以便輸出到顯示器110或者代替地輸出到輔助I/O子系統(tǒng)112。訂戶也可以構(gòu)造數(shù)據(jù)項(xiàng),如電子郵件消息等,例如,與顯示器110和可能的輔助I/O子系統(tǒng)112相結(jié)合地使用鍵盤116。輔助子系統(tǒng)112可以包括以下設(shè)備觸摸屏、鼠標(biāo)、軌跡球、紅外指紋檢測器或具有動態(tài)按鈕按下能力的滾輪。鍵盤116是字母數(shù)字鍵盤和/或電話型小鍵盤??梢酝ㄟ^通信子系統(tǒng)104、在網(wǎng)絡(luò)200上傳輸所構(gòu)造的數(shù)據(jù)項(xiàng)。
對于語音通信,移動設(shè)備100的總體操作實(shí)質(zhì)上是類似的,除了將接收到的信號輸出到揚(yáng)聲器118和用于傳輸?shù)恼Z音信號由麥克風(fēng)120產(chǎn)生之外??蛇x的語音或音頻I/O子系統(tǒng),如語音消息記錄子系統(tǒng),也可以在移動設(shè)備100上實(shí)現(xiàn)。盡管語音或音頻信號輸出主要通過揚(yáng)聲器118完成,也可以使用顯示器110提供如呼叫方身份、語音呼叫的持續(xù)時(shí)間或其他語音呼叫相關(guān)信息等附加信息。
現(xiàn)在參照圖2,示出了圖1所示的通信子系統(tǒng)組件104的方框圖。通信子系統(tǒng)104包括接收機(jī)150、發(fā)射機(jī)152、一個(gè)或多個(gè)嵌入式或內(nèi)部天線元件154、156、本地振蕩器(LO)158和如數(shù)字信號處理器(DSP)160等處理模塊。
通信子系統(tǒng)104的詳細(xì)設(shè)計(jì)取決于移動設(shè)備100將運(yùn)行其中的網(wǎng)絡(luò)200,因此應(yīng)當(dāng)理解的是圖2所示的涉及只用作一個(gè)示例。將天線154通過網(wǎng)絡(luò)200接收的信號輸入接收機(jī)150,接收機(jī)150可以進(jìn)行如信號放大、頻率下轉(zhuǎn)換、濾波、信道選擇和模擬到數(shù)字(A/D)轉(zhuǎn)換等普通接收機(jī)功能。接收信號的A/D轉(zhuǎn)換允許更復(fù)雜的通信功能,如要在DSP 160中執(zhí)行的數(shù)字解調(diào)和解碼。以類似方式,處理要發(fā)射的信號,包括DSP 160執(zhí)行的調(diào)制和編碼。將這些DSP處理后的信號輸入發(fā)射機(jī)152,進(jìn)行數(shù)字模擬(D/A)轉(zhuǎn)換、頻率上變換、濾波、放大和經(jīng)天線156在網(wǎng)絡(luò)200上傳輸。DSP 160不僅處理通信信號,還提供接收機(jī)和發(fā)射機(jī)控制。例如,可以通過在DSP 160中實(shí)現(xiàn)的自動增益控制算法,自適應(yīng)控制施加到接收機(jī)150和發(fā)射機(jī)152中的通信信號的增益。
移動設(shè)備100和網(wǎng)絡(luò)200之間的無線鏈路可以包含一個(gè)或多個(gè)不同的信道(典型地是不同的RF信道)以及用在移動設(shè)備100和網(wǎng)絡(luò)200之間的相關(guān)協(xié)議。典型地,由于移動設(shè)備100的總體帶寬和有限電池功率,RF信道是有限的資源,必須加以保留。
當(dāng)移動設(shè)備100可完全操作時(shí),發(fā)射機(jī)152通常只在其向網(wǎng)絡(luò)200進(jìn)行發(fā)送時(shí)接通,而在其他時(shí)刻關(guān)閉,以保留資源。類似地,在指定的時(shí)間段內(nèi),接收機(jī)150周期性地關(guān)閉,以保留電力,直到其需要接收信號或信息為止。
現(xiàn)在參照圖3,將無線網(wǎng)絡(luò)的節(jié)點(diǎn)的方框圖表示為202。具體地,網(wǎng)絡(luò)200包括一個(gè)或多個(gè)節(jié)點(diǎn)202。移動設(shè)備100與無線網(wǎng)絡(luò)200中的節(jié)點(diǎn)202進(jìn)行通信。在圖3所示的示例實(shí)施方式中,根據(jù)通用分組無線業(yè)務(wù)(GPRS)和全球移動通信系統(tǒng)(GSM)技術(shù)來配置節(jié)點(diǎn)202。節(jié)點(diǎn)202包括與塔站206相關(guān)聯(lián)的基站控制器(BSC)204、添加了對GSM中的GPRS支持的分組控制單元(PCU)208、移動交換中心(MSC)210、歸屬位置寄存器(HLR)212、拜訪位置寄存器(VLR)214、服務(wù)GPRS支持節(jié)點(diǎn)(SGSN)216、網(wǎng)關(guān)GPRS支持節(jié)點(diǎn)(GGSN)218和動態(tài)主機(jī)配置協(xié)議(DHCP)220。此組件列表并不表示GSM/GPRS網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)202的窮盡組件列表,而是通常用在通過網(wǎng)絡(luò)200的通信中的組件列表。
在GSM網(wǎng)絡(luò)中,MSC 210與BSC 204和陸上傳輸網(wǎng)絡(luò)(如公用交換電話網(wǎng)絡(luò)(PTSN)222等)相連,以滿足電路交換的需求。通過PCU208、SGSN 216和GGSN 218到公用或?qū)S镁W(wǎng)絡(luò)(因特網(wǎng))224(也統(tǒng)稱為共享網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu))的連接表示針對GPRS使能移動設(shè)備的數(shù)據(jù)路徑。在以GPRS能力加以擴(kuò)展的GSM網(wǎng)絡(luò)中,BSC 204還包含與SGSN 216相連的分組控制單元(PCU)208,用于控制分段、無線電信道分頻,以及滿足分組交換需要。為了跟蹤移動設(shè)備位置和可用性,以便進(jìn)行電路交換和分組交換管理,在MSC 210和SGSN 216之間共享HLR 212。對VLR 214的訪問由MSC 210控制。
站點(diǎn)206是固定收發(fā)機(jī)站。站點(diǎn)206和BSC 204一起形成了固定收發(fā)機(jī)設(shè)備。固定收發(fā)機(jī)設(shè)備提供針對通常被稱作“小區(qū)”的特定覆蓋區(qū)域的無線網(wǎng)絡(luò)覆蓋。固定收發(fā)機(jī)設(shè)備通過站點(diǎn)206向和從其小區(qū)內(nèi)的移動設(shè)備發(fā)射和接收通信信號。固定收發(fā)機(jī)設(shè)備通常在其控制器的控制下,根據(jù)特定、通常是預(yù)定的通信協(xié)議和參數(shù),執(zhí)行對要發(fā)送到移動設(shè)備的信號的調(diào)制和可能的編碼和/或加密等處理。固定收發(fā)機(jī)設(shè)備類似地解調(diào)和可能地解碼和解密(如果需要的話)從其小區(qū)內(nèi)的移動設(shè)備100接收到的任意通信信號。通信協(xié)議和參數(shù)可以在不同的節(jié)點(diǎn)間不同。例如,一個(gè)節(jié)點(diǎn)可以采用不同的調(diào)制方案,并在與其他節(jié)點(diǎn)不同的頻率進(jìn)行操作。
對于與特定網(wǎng)絡(luò)進(jìn)行登記的全部移動設(shè)備100,將如用戶簡檔表等永久配置數(shù)據(jù)存儲在HLR 212中。HLR 212還包含針對每個(gè)已登記移動設(shè)備的位置信息,并且可以被查詢,以確定移動設(shè)備的當(dāng)前位置。MSC 210負(fù)責(zé)一組位置區(qū)域,并將當(dāng)前位于其負(fù)責(zé)區(qū)域內(nèi)的移動設(shè)備的數(shù)據(jù)存儲在VLR 214中。其他VLR 214也包含與拜訪其他網(wǎng)絡(luò)的移動設(shè)備有關(guān)的信息。VLR 214中的信息包括從HLR 212傳送到VLR 214的部分永久移動設(shè)備數(shù)據(jù),以便進(jìn)行更快的訪問。通過將額外的信息從遠(yuǎn)程HLR 212節(jié)點(diǎn)移動到VLR 214,可以減少這些節(jié)點(diǎn)間的業(yè)務(wù)量,從而能夠以更快的響應(yīng)時(shí)間提供語音和數(shù)據(jù)服務(wù),并且同時(shí)需要較少地使用計(jì)算資源。
SGSN 216和GGSN 218為添加了對GPRS的支持的元件;即在GSM內(nèi)支持分組交換數(shù)據(jù)。SGSN 216和MSC 210在無線網(wǎng)絡(luò)200內(nèi)具有類似的職責(zé),保持對每個(gè)移動設(shè)備100的位置的跟蹤。SGSN 216還執(zhí)行安全功能和對網(wǎng)絡(luò)200上的數(shù)據(jù)業(yè)務(wù)的訪問控制。GGSN 218提供與外部分組交換網(wǎng)絡(luò)的聯(lián)網(wǎng)連接,并通過在網(wǎng)絡(luò)200內(nèi)進(jìn)行操作的因特網(wǎng)協(xié)議(IP)骨干網(wǎng)與一個(gè)或多個(gè)SGSN 216相連。在正常操作期間,給定的移動設(shè)備100必須執(zhí)行“GPRS附屬”以獲取IP地址并訪問數(shù)據(jù)服務(wù)。由于將集成服務(wù)數(shù)字網(wǎng)絡(luò)(ISDN)地址用于路由呼入和呼出呼叫,這一要求并不出現(xiàn)在電路交換語音信道中。目前,所有GPRS使能網(wǎng)絡(luò)使用專用、動態(tài)分配IP地址,因而需要與GGSN 218相連的DHCP服務(wù)器220。存在多種針對動態(tài)IP分配的機(jī)制,包括使用遠(yuǎn)程驗(yàn)證撥入用戶服務(wù)(RADIUS)服務(wù)器和DHCP服務(wù)器的組合。一旦GPRS附屬完成,則建立從移動設(shè)備100通過PCU 208和SGSN 216到GGSN 218內(nèi)的接入點(diǎn)節(jié)點(diǎn)(APN)的邏輯連接。APN表示能夠訪問直接因特網(wǎng)兼容服務(wù)或?qū)S镁W(wǎng)絡(luò)連接的IP隧道的邏輯端點(diǎn)。在每個(gè)移動設(shè)備100必須被分配給一個(gè)或多個(gè)APN,并且如果未執(zhí)行對以授權(quán)其使用的APN的GPRS附屬,移動設(shè)備100不能交換數(shù)據(jù)這一點(diǎn)上,APN還表示針對網(wǎng)絡(luò)200的安全機(jī)制??梢哉J(rèn)為APN與如“myconnection.wireless.com”等因特網(wǎng)域名相似。
一旦GPRS附屬完成,則創(chuàng)建了隧道,并利用IP分組中能夠支持的任何協(xié)議,在標(biāo)準(zhǔn)IP分組內(nèi)交換所有業(yè)務(wù)。這包括如在與虛擬專用網(wǎng)絡(luò)(VPN)一起使用的一些IP安全(IPsec)連接的情況下的IP overIP等隧道方法。這些隧道也被稱為分組數(shù)據(jù)協(xié)議(PDP)上下文,并且在網(wǎng)絡(luò)200中存在有限的可用數(shù)量。為了最大化對PDP上下文的使用,網(wǎng)絡(luò)200將運(yùn)行針對每個(gè)PDP上下文的空閑定時(shí)器,以確定是否缺乏活動性。當(dāng)移動設(shè)備100并未使用其PDP上下文時(shí),可以取消對PDP上下文的分配,并將IP地址返回給由DHCP服務(wù)器220管理的IP地址庫。
現(xiàn)在參照圖4,示出了一個(gè)示例結(jié)構(gòu)中的主機(jī)系統(tǒng)的組件的方框圖。主機(jī)系統(tǒng)250將典型地是公司辦公室或其他局域網(wǎng)(LAN),但也可以是家庭辦公室計(jì)算機(jī)或一些其他私有系統(tǒng),例如在變體實(shí)施方式中。在圖4所示的示例中,將主機(jī)系統(tǒng)250圖示為移動設(shè)備100的用戶所屬的組織的LAN。
LAN 250包括通過LAN連接260彼此相連的多個(gè)網(wǎng)絡(luò)組件。例如,具有用于用戶移動設(shè)備100的附屬底座264的用戶桌面計(jì)算機(jī)262a適用于LAN 250上。例如,針對移動設(shè)備100的底座264可以通過串行或通用串行總線(USB)連接與計(jì)算機(jī)262a相連。其他用戶計(jì)算機(jī)262b也適用于LAN 250,并且每個(gè)計(jì)算機(jī)可以配備有或不配備有針對移動設(shè)備的附屬底座264。底座264有利于信息(例如PIM數(shù)據(jù)、有利于移動設(shè)備100和LAN 250之間的安全通信的私用對稱密鑰等)從用戶計(jì)算機(jī)262a到移動設(shè)備100的加載,并且對于通常在初始化移動設(shè)備100以便使用時(shí)執(zhí)行的批量信息更新尤為有用。下載到移動設(shè)備100上的信息可以包括用在消息交換中的證書。本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)理解,用戶計(jì)算機(jī)262a、262b還將典型地與圖4未示出的其他外圍設(shè)備相連。
本發(fā)明的實(shí)施例大體上涉及消息的處理,如電子郵件消息等,以及一些實(shí)施例大體上涉及這種消息到和從移動設(shè)備100的通信。因此,為了便于公開,圖4只示出了LAN 250的網(wǎng)絡(luò)組件的子集,并且本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)理解的是,對于此示例結(jié)構(gòu),LAN 250將包括圖4中未詳盡示出的額外組件。更一般地,LAN 250可以表示所述組織的較大網(wǎng)絡(luò)[未示出]的一小部分,并且可以包括與圖4所示的示例不同的組件和/或按照與圖4所示的示例不同的拓?fù)溥M(jìn)行排列。
在此示例中,移動設(shè)備100通過無線網(wǎng)絡(luò)200的節(jié)點(diǎn)202和如服務(wù)提供商網(wǎng)絡(luò)或公用因特網(wǎng)等共享網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)224與LAN 250進(jìn)行通信??梢酝ㄟ^一個(gè)或多個(gè)路由器[未示出]提供對LAN 250的接入,并且LAN 250的計(jì)算設(shè)備可以在防火墻或代理服務(wù)器266的后面進(jìn)行操作。
在變體實(shí)施方式中,LAN 250包括無線VPN路由器[未示出],便于LAN 250和移動設(shè)備100之間的數(shù)據(jù)交換。無線VPN路由器的概念在無線產(chǎn)業(yè)中是新的,并且意味著可以通過特定的無線網(wǎng)絡(luò)直接建立對移動設(shè)備100的VPN連接。使用無線VPN路由器的可能性在最近才成為可能,并且可以在新的因特網(wǎng)協(xié)議(IP)版本6(IPv6)出現(xiàn)在基于IP的無線網(wǎng)絡(luò)中時(shí)使用。這種新協(xié)議將提供足夠的IP地址,從而使IP地址專用于每個(gè)移動設(shè)備,使其能夠在任意時(shí)刻將信息推入移動設(shè)備。使用無線VPN路由器的優(yōu)點(diǎn)是其可以是不需要使用分離的無線網(wǎng)關(guān)和分離的無線基礎(chǔ)設(shè)施的現(xiàn)成的VPN組件。優(yōu)選地,在此變體實(shí)施方式中,VPN連接可以是傳輸控制協(xié)議(TCP)/IP或用戶數(shù)據(jù)報(bào)協(xié)議(UDP)/IP連接,直接將消息傳遞到移動設(shè)備100。
最初,由LAN 250的消息服務(wù)器268接收針對移動設(shè)備100的用戶的消息。這些消息可以來自于多個(gè)源中的任意一個(gè)。例如,可以由發(fā)送方從LAN 250內(nèi)的移動設(shè)備262b、從與無線網(wǎng)絡(luò)200或不同無線網(wǎng)絡(luò)相連的不同移動設(shè)備[未示出]、或從不同的計(jì)算設(shè)備或能夠發(fā)送消息的其他設(shè)備,通過共享網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)224,并可能通過應(yīng)用服務(wù)提供商(ASP)或因特網(wǎng)服務(wù)提供商(ISP),發(fā)送消息。
消息服務(wù)器268典型地作為交換消息的主要接口,尤其是電子郵件消息,在所述組織內(nèi)部,在共享網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)224上。已經(jīng)建立用于發(fā)送和接收消息的組織中的每個(gè)用戶典型地與由消息服務(wù)器268管理的用戶帳戶相關(guān)聯(lián)。消息服務(wù)器268的一個(gè)示例是MicrosoftExchangeTM服務(wù)器。在一些實(shí)施方式中,LAN 250可以包括多個(gè)消息服務(wù)器268。消息服務(wù)器268也可以適用于提供除消息管理以外的附加功能,例如,包括與日歷和任務(wù)列表相關(guān)的數(shù)據(jù)的管理等。
當(dāng)消息服務(wù)器268接收到消息時(shí),通常將其存儲在消息存儲器[未詳盡示出]中,隨后可以從中檢索消息并傳遞給用戶。例如,在用戶計(jì)算機(jī)262a上操作的電子郵件客戶端應(yīng)用程序可以請求與存儲在消息服務(wù)器268上的用戶帳戶相關(guān)聯(lián)的電子郵件消息。然后,從消息服務(wù)器268獲得這些消息,并本地存儲在計(jì)算機(jī)262a上。
當(dāng)操作移動設(shè)備100時(shí),用戶可能希望將所獲得的電子郵件消息傳遞到手持設(shè)備上。在移動設(shè)備100上進(jìn)行操作的電子郵件客戶端應(yīng)用程序也可以向消息服務(wù)器268請求與用戶帳戶相關(guān)聯(lián)的消息??梢耘渲秒娮余]件客戶端(由用戶或管理員進(jìn)行,可能根據(jù)組織的信息技術(shù)(IT)策略),以某些預(yù)定的時(shí)間間隔或者在一些預(yù)定時(shí)間發(fā)生時(shí),使此請求指向該用戶。在一些實(shí)施方式中,向移動設(shè)備100分配其自身的電子郵件地址,并在消息服務(wù)器268接收到專門尋址于移動設(shè)備100的消息時(shí),將其自動重新定向到移動設(shè)備100。
為了有利于移動設(shè)備100和LAN 250的組件之間的消息和消息相關(guān)數(shù)據(jù)的無線通信,可以設(shè)置多個(gè)無線通信支持組件270。例如,在此示例實(shí)施方式中,無線通信支持組件270包括消息管理服務(wù)器272。消息管理服務(wù)器272專門用于提供對消息管理的支持,如電子郵件消息等將由移動設(shè)備處理的消息。通常,在消息仍被存儲在消息服務(wù)器268上時(shí),消息服務(wù)器272可以用于控制何時(shí)、是否以及如何將消息發(fā)送給移動設(shè)備100。消息管理服務(wù)器272還有利于處理在移動設(shè)備100上構(gòu)成的消息,該消息被發(fā)送到消息服務(wù)器268,以便進(jìn)行隨后的傳遞。
例如,消息管理服務(wù)器272可以針對新電子郵件消息,監(jiān)視用戶的“郵箱”(例如消息服務(wù)器268上、與用戶帳戶相關(guān)聯(lián)的消息存儲器);將用戶定義過濾器應(yīng)用于新消息,以確定是否和如何將消息中繼到用戶的移動設(shè)備100;壓縮并加密新消息(例如,使用如數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)或三重DES等加密技術(shù)),并通過共享網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)224和無線網(wǎng)絡(luò)200將其推入移動設(shè)備100;以及接收在移動設(shè)備100上構(gòu)成的消息(例如利用三重DES進(jìn)行加密),解密并解壓縮所構(gòu)成的消息,如果需要,對所構(gòu)成的消息重新格式化,從而使其看上去來自用戶的計(jì)算機(jī)262a,并將所構(gòu)成的消息重新路由到消息服務(wù)器268,以便進(jìn)行傳遞。
消息管理服務(wù)器272可以定義(由管理員根據(jù)IT策略)和強(qiáng)化與要從和/或要由移動設(shè)備100發(fā)送和/或接收的消息相關(guān)聯(lián)的特定屬性或約束??梢园ㄒ苿釉O(shè)備100是否可以接收已加密和/或已簽名消息、最小加密密鑰尺寸、是否必須加密和/或簽名輸出消息、以及是否要向預(yù)定副本地址發(fā)送從移動設(shè)備100發(fā)送的全部安全消息的副本等。
消息管理服務(wù)器272也可以用于提供其他控制功能,例如,只將存儲在消息服務(wù)器268上的特定消息信息或消息的預(yù)定部分(如“塊”)推入移動設(shè)備100。例如,當(dāng)移動設(shè)備100最初從消息服務(wù)器268檢索消息時(shí),消息管理服務(wù)器272用于只將消息的第一部分推入移動設(shè)備100,該部分具有預(yù)定尺寸(如2KB)。然后,用戶可以請求消息管理服務(wù)器272將更多的消息按照類似的尺寸傳遞給移動設(shè)備100,可能直到最大預(yù)定消息尺寸。
因此,消息管理服務(wù)器272有利于更好地控制與移動設(shè)備100進(jìn)行通信的數(shù)據(jù)類型和數(shù)據(jù)量,并有助于最小化帶寬或其他資源的潛在浪費(fèi)。
本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)理解的是不必將消息管理服務(wù)器272實(shí)現(xiàn)在LAN 250或其他網(wǎng)絡(luò)中的分離物理服務(wù)器上。例如,可以將與消息管理服務(wù)器272相關(guān)聯(lián)的一些或全部功能與消息服務(wù)器268或LAN250中的一些其他服務(wù)器集成。此外,LAN 250可以包括多個(gè)消息管理服務(wù)器272,尤其是在需要支持大量移動設(shè)備的變體實(shí)施方式中。
本發(fā)明的實(shí)施例大體上涉及對已編碼消息的處理,如已加密和/或已簽名的電子郵件消息。在簡單郵件傳送協(xié)議(SMTP)、RFC 822報(bào)頭和多用途因特網(wǎng)郵件擴(kuò)展(MIME)體部分可以用于定義不需要編碼的典型電子郵件消息的格式時(shí),可以在通信已編碼消息時(shí)(即在安全消息收發(fā)應(yīng)用程序中),使用安全/MIME(S/MIME),MIME協(xié)議的一種版本。S/MIME實(shí)現(xiàn)了端到端驗(yàn)證和保密性,并且從消息的發(fā)起者發(fā)送消息的時(shí)刻開始直到消息接收方解碼并使其可用為止,保護(hù)數(shù)據(jù)完整性和私密性。也可以采用其他已知的標(biāo)準(zhǔn)和協(xié)議,以有助于安全消息通信,如Pretty Good PrivacyTM(PGP)、OpenPGP或其他已知技術(shù)。
如S/MIME等安全消息收發(fā)協(xié)議依賴于公用和私用加密密鑰來提供保密性和完整性,并依賴于公用密鑰基礎(chǔ)結(jié)構(gòu)(PKI)來通信提供了驗(yàn)證和授權(quán)的信息。只能利用私用密鑰/公用密鑰對的公用密鑰來解密利用該對的對應(yīng)私用密鑰進(jìn)行了加密的數(shù)據(jù),反之亦然。私用密鑰信息永不公開,而公用密鑰信息是共享的。
例如,如果發(fā)送方希望以加密形式向接收方發(fā)送消息,利用接收方的公用密鑰來加密消息,之后將只能利用接收方的私用密鑰進(jìn)行解密?;蛘撸谝恍┚幋a技術(shù)中,產(chǎn)生一次性的會話密鑰,并用于加密消息體,典型地利用對稱加密技術(shù)(如三重DES等)。然后,利用接收方的公用密鑰對會話密鑰進(jìn)行加密(例如,利用如RSA等公用密鑰加密算法),之后將只能利用接收方的私用密鑰進(jìn)行解密。然后,利用解密后的會話密鑰來解密消息體。消息報(bào)頭可以用于規(guī)定必須用于解密消息的特定解密方案。在變體實(shí)施方式中,可以使用基于公用密鑰加密法的其他加密技術(shù)。但是,在每種情況下,只有接收方的私用密鑰可以用于有利于消息的解密,并且按照這種方式,可以保持消息的保密性。
作為另一示例,發(fā)送方可以利用數(shù)字簽名來簽名消息。數(shù)字簽名是利用發(fā)送方的私用密鑰進(jìn)行加密的消息的摘要(例如消息的散列信息),然后將其附加到輸出消息上。為了在接收時(shí)驗(yàn)證消息的簽名,接收方使用與發(fā)送方相同的技術(shù)(例如,使用相同的標(biāo)準(zhǔn)散列算法),以獲得接收消息的摘要。接收方還使用發(fā)送方的公用密鑰來解密數(shù)字簽名,以便獲得什么是接收消息的匹配摘要。如果接收消息的摘要不匹配,這意味著在傳送期間消息內(nèi)容被改變和/或所述消息并非來自將其公用密鑰用于驗(yàn)證的發(fā)送方。通過按照這種方式驗(yàn)證數(shù)字簽名,可以保持發(fā)送方的驗(yàn)證和消息完整性。
可以加密、簽名、既加密又簽名已編碼消息。利用證書來確保用在這些操作中的公用密鑰的真實(shí)性。證書是由證書權(quán)威機(jī)構(gòu)(CA)頒發(fā)的數(shù)字文檔。證書用于驗(yàn)證用戶及其公用密鑰之間的關(guān)聯(lián)性,實(shí)質(zhì)上提供了用戶公用密鑰的真實(shí)性的可信程度。證書包含與證書持有者有關(guān)的信息,典型地根據(jù)已接受標(biāo)準(zhǔn)(如X.509)來格式化證書內(nèi)容。
考慮圖5,其中示出了示例證書鏈300。頒發(fā)給“John Smith”的證書310是頒發(fā)給個(gè)人的證書的示例,可以將其稱為終端實(shí)體證書。終端實(shí)體證書310典型地識別證書持有者(即此示例中的John Smith)和證書的頒發(fā)者314,并包括頒發(fā)者的數(shù)字簽名316和證書持有者的公用密鑰318。證書310還將典型地包括識別證書持有者的其他信息和屬性(如電子郵件地址、組織名稱、組織單位名稱、地點(diǎn)等)。當(dāng)個(gè)人構(gòu)建要發(fā)送給接收方的消息時(shí),通常將個(gè)人的證書300包括在消息內(nèi)。
對于可信的公用密鑰,其頒發(fā)組織必須是可信的。可以通過一系列相關(guān)證書來表示可信CA和用戶的公用密鑰之間的關(guān)系,也被稱作證書鏈??梢愿欁C書鏈,以確定證書的有效性。
例如,在圖5所示的示例證書鏈300中,聲稱由John Smith發(fā)送的消息的接收方可能希望驗(yàn)證附屬于接收消息的證書310的可信狀態(tài)。例如,為了在接收方計(jì)算設(shè)備(例如圖4的計(jì)算機(jī)262a)上驗(yàn)證證書310的可信狀態(tài),獲得頒發(fā)者ABC的證書320,并用于驗(yàn)證證書310確實(shí)是由頒發(fā)者ABC簽名的。證書320可能已經(jīng)被存儲在計(jì)算設(shè)備上的證書存儲器中,或者可能需要從證書源(例如圖4的LDAP服務(wù)器284或一些其他公用或?qū)S肔DAP服務(wù)器)獲得。如果證書320已經(jīng)被存儲在接收方的計(jì)算設(shè)備中,則接收方將該證書指定為可信的,并認(rèn)為證書310是可信的,因?yàn)槠滏溄拥揭汛鎯Φ目尚抛C書上。
但是,在圖5所示的示例中,還需要證書330來驗(yàn)證證書310的可信度。證書330是自簽名的,并被稱作“根證書”。因此,可以將證書320稱為證書鏈300中的“中間證書”;假設(shè)可以針對特定的終端實(shí)體證書確定到達(dá)根證書的鏈,到達(dá)根證書的任意給定證書鏈可以包含零個(gè)、一個(gè)或多個(gè)中間證書。如果證書330是由可信源(來自較大的證書權(quán)威機(jī)構(gòu),如Verisign或Entrust)頒發(fā)的根證書,則可以認(rèn)為證書310是可信的,因?yàn)槠滏溄拥娇尚抛C書。這意味著消息的發(fā)送方和接收方都信任根證書330的源。如果證書不能鏈接到可信證書,則認(rèn)為證書是“不可信的”。
證書服務(wù)器存儲與證書有關(guān)的信息和用于識別已經(jīng)被調(diào)用的證書的列表??梢栽L問這些證書服務(wù)器,以獲得證書,并驗(yàn)證證書真實(shí)性和撤消狀態(tài)。例如,輕載目錄訪問協(xié)議(LDAP)服務(wù)器可以用于獲得證書,以及在線證書狀態(tài)協(xié)議(OCSP)服務(wù)器可以用于驗(yàn)證證書撤消狀態(tài)。
標(biāo)準(zhǔn)電子郵件安全協(xié)議典型地有利于非移動計(jì)算設(shè)備(如圖4所示的計(jì)算機(jī)262a、262b;遠(yuǎn)程桌面設(shè)備)之間的安全消息傳輸。再次參照圖4,為了能夠從移動設(shè)備100讀取從發(fā)送方接收到的已簽名消息以及要發(fā)送到這些發(fā)送方的已加密消息,移動設(shè)備100用于存儲證書和其他個(gè)體的關(guān)聯(lián)公用密鑰。例如,存儲在用戶的計(jì)算機(jī)262a上的證書通常是從計(jì)算機(jī)262a通過底座264下載到移動設(shè)備100上的。
存儲在計(jì)算機(jī)262a上并被下載到移動設(shè)備100上的證書并不局限于與個(gè)人相關(guān)的證書,還可以包括如由CA頒發(fā)的證書等。存儲在計(jì)算機(jī)262a和移動設(shè)備100上的特定證書也可以被用戶明確地指定為“可信的”。因此,當(dāng)用戶在移動設(shè)備100上接收到證書時(shí),其可以通過將所述證書與存儲在移動設(shè)備100上并被指定為可信的證書或者被確定為鏈接到可信證書的證書進(jìn)行匹配,在移動設(shè)備100上進(jìn)行驗(yàn)證。
移動設(shè)備100還可以用于存儲與用戶相關(guān)聯(lián)的公用密鑰/私用密鑰對的私用密鑰,從而移動設(shè)備100的用戶可以簽名在移動設(shè)備100上構(gòu)成的輸出消息,并解密以用戶的公用密鑰加密的、發(fā)送到用戶的消息。例如,私用密鑰可以從用戶的計(jì)算機(jī)262a通過底座264下載到移動設(shè)備100上。優(yōu)選地,在計(jì)算機(jī)262a和移動設(shè)備100之間交換私用密鑰,從而使用戶可以共享用于訪問消息的一個(gè)身份和一種方法。
用戶計(jì)算機(jī)262a、262b可以獲得來自多個(gè)源的證書,以便存儲在計(jì)算機(jī)262a、262b和/或移動設(shè)備(如移動設(shè)備100)上。例如,這些證書源可以是私用的(例如,專用于組織內(nèi)部的用戶)或公用的,可以位于本地或遠(yuǎn)程,并且可以從組織的專用網(wǎng)絡(luò)內(nèi)部或通過因特網(wǎng)進(jìn)行訪問。在圖4所示的示例中,與所述組織相關(guān)聯(lián)的多個(gè)PKI服務(wù)器280位于LAN 250上。PKI服務(wù)器280包括用于頒發(fā)證書的CA服務(wù)器282、用于搜索和下載證書(例如,針對組織內(nèi)部的個(gè)人)的LDAP服務(wù)器284、和用于驗(yàn)證證書的撤消狀態(tài)的OCSP服務(wù)器286。
例如,用戶計(jì)算機(jī)262a可以從LDAP服務(wù)器284中檢索證書,以便通過底座264下載到移動設(shè)備100。但是,在變體實(shí)施方式中,移動設(shè)備100也可以直接訪問LDAP服務(wù)器284(即,在這種情況下,“在空中”),以及移動設(shè)備100可以通過移動數(shù)據(jù)服務(wù)器288搜索并獲得個(gè)人證書。類似地,移動數(shù)據(jù)服務(wù)器288可以用于允許移動設(shè)備100直接查詢OCSP服務(wù)器286,以驗(yàn)證證書的撤消狀態(tài)。
本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)理解的是移動數(shù)據(jù)服務(wù)器288不必物理上位于與LAN 250的其他組件分離的計(jì)算設(shè)備上,在變體實(shí)施方式中,可以將移動數(shù)據(jù)服務(wù)器288設(shè)置在與LAN 250的另一組件相同的計(jì)算設(shè)備上。此外,在變體實(shí)施方式中,可以將移動數(shù)據(jù)服務(wù)器288的功能與LAN 250中的另一組件(如消息管理服務(wù)器272)的功能進(jìn)行集成。
在變體實(shí)施方式中,只允許選定的PKI服務(wù)器280訪問移動設(shè)備(例如,只允許從用戶的計(jì)算機(jī)262a、262b下載證書,同時(shí)允許從移動設(shè)備100檢查證書的撤消狀態(tài))。
在變體實(shí)施方式中,例如,只允許特定的PKI服務(wù)器280訪問登記給特定用戶的移動設(shè)備,由IT管理員規(guī)定,并可能根據(jù)IT策略來規(guī)定。
例如,其他證書源[未示出]可以包括Windows證書源、位于LAN250上或之外的另一安全證書存儲器、以及智能卡等。
現(xiàn)在參照圖6,將示出了可以由消息服務(wù)器(例如圖4的消息服務(wù)器268)接收的已編碼消息示例的組件的方框圖總體表示為350。已編碼消息350典型地包括以下的一個(gè)或多個(gè)部分報(bào)頭部分352、已編碼體部分354、可選的一個(gè)或多個(gè)已編碼附件356、一個(gè)或多個(gè)加密會話密鑰358、以及簽名和簽名相關(guān)信息360。例如,報(bào)頭部分352典型地包括地址信息,如“到”、“來自”和“抄送”地址等,也可以包括消息長度指示符以及發(fā)送方加密和簽名方案標(biāo)識符等。實(shí)際消息內(nèi)容通常包括消息體或數(shù)據(jù)部分354和可能的一個(gè)或多個(gè)附件356,可以由發(fā)送方利用會話密鑰進(jìn)行加密。如果使用了會話密鑰,利用每個(gè)接收方的相應(yīng)公用密鑰,針對每個(gè)預(yù)期的接收方,對會話密鑰進(jìn)行加密,并且包括在消息358中。如果簽名消息,則還包括簽名和簽名相關(guān)信息360。例如,這可以包括發(fā)送方的證書。
圖6所示的已編碼消息的格式只是作為示例,本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)理解本發(fā)明的實(shí)施例可以應(yīng)用于其他形式的已編碼消息。根據(jù)所使用的特定消息收發(fā)方案,已編碼消息的組件可以表現(xiàn)出與圖6所示不同的次序,并且已編碼消息可以包括更少、更多或不同的組件,可以依賴于是否對已編碼消息進(jìn)行了加密、簽名或這二種操作。
本發(fā)明的實(shí)施例大體上涉及一種用于搜索和獲得證書的系統(tǒng)和方法。在一個(gè)實(shí)施例中,對駐留在移動設(shè)備上并在移動設(shè)備(例如,圖4所示的移動設(shè)備100)上執(zhí)行的證書搜索應(yīng)用程序進(jìn)行編程,以便在一個(gè)或多個(gè)證書服務(wù)器(例如,圖4所示的LDAP服務(wù)器284)上發(fā)起證書搜索。在此實(shí)施例中,移動設(shè)備通過中間計(jì)算設(shè)備(例如,圖4所示的移動數(shù)據(jù)服務(wù)器288)從證書服務(wù)器中搜索并獲得證書。
參考圖4,考慮其中移動設(shè)備100上的證書搜索應(yīng)用程序通過移動數(shù)據(jù)服務(wù)器288從LDAP服務(wù)器284中搜索并獲得個(gè)人證書的示例實(shí)施方式。證書搜索應(yīng)用程序接收搜索請求,典型地從用戶處接收,用戶提供了用戶想要定位證書的個(gè)人的名、姓和電子郵件地址。也可以更為廣泛地進(jìn)行特定的搜索請求,例如,通過構(gòu)成只輸入姓名的較少字母將返回以包含這些字母作為前綴的姓名頒發(fā)的全部證書的搜索查詢,或者通過在輸入字段中使用通配符或空白條目來擴(kuò)展搜索。然后,將搜索請求從移動設(shè)備100通信到移動數(shù)據(jù)服務(wù)器288,然后,移動數(shù)據(jù)288針對所請求的證書查詢LDAP服務(wù)器284。在此示例實(shí)施方式中,由移動數(shù)據(jù)服務(wù)器288獲得已定位證書,并將與每個(gè)所獲得的證書有關(guān)的特定搜索結(jié)果數(shù)據(jù)(如向其頒發(fā)了相應(yīng)證書的個(gè)人(或?qū)嶓w)的通用名稱和電子郵件地址)通信到移動設(shè)備100,從而可以根據(jù)搜索結(jié)果產(chǎn)生列表,并將其顯示給用戶。然后,用戶可以從所述列表中選擇特定的證書進(jìn)行下載并存儲到移動設(shè)備100上。然后,將所述選擇通信給移動數(shù)據(jù)服務(wù)器288,根據(jù)該選擇,將選定的證書下載到移動設(shè)備100上。
當(dāng)移動設(shè)備100的用戶從發(fā)送方接收到已簽名消息時(shí),需要發(fā)送方的證書,以便驗(yàn)證消息的完整性,并驗(yàn)證發(fā)送方的身份。在本說明書和權(quán)利要求中,還將此證書稱作“發(fā)送方證書”或“發(fā)送方的證書”。考慮之間接收消息的一部分下載到移動設(shè)備100上以便用戶通過在移動設(shè)備100上執(zhí)行并駐留在移動設(shè)備100上的消息收發(fā)應(yīng)用程序進(jìn)行查看的情形。所述接收消息的一部分可能包括報(bào)頭信息(例如,圖6所示的報(bào)頭352),典型地從所述報(bào)頭信息中至少能夠獲得發(fā)送方的電子郵件地址。但是,移動設(shè)備100所接收的所述消息部分可能不包括發(fā)送方的證書和能夠用于識別所需證書的標(biāo)識,由于這些簽名相關(guān)信息典型地被附加在消息的末尾附近(例如參見圖6所示的簽名和簽名相關(guān)信息)。
可以激活移動設(shè)備100上的證書搜索應(yīng)用程序(例如,用戶選擇在查看消息時(shí)可訪問的適當(dāng)菜單選項(xiàng)),來下載發(fā)送方的證書。由于可以從下載報(bào)頭信息中獲得發(fā)送方的電子郵件地址,證書搜索應(yīng)用程序可以通過移動數(shù)據(jù)服務(wù)器288、在一個(gè)或多個(gè)證書服務(wù)器(如LDAP服務(wù)器284等)上、自動發(fā)起針對具有匹配電子郵件地址的證書的搜索。具體地,在消息并未伴隨有發(fā)送方的證書的情況下,需要證書搜索應(yīng)用程序從證書服務(wù)器獲得證書。
但是,可能會通過搜索定位與所規(guī)定的電子郵件地址匹配的多個(gè)證書。在現(xiàn)有系統(tǒng)中,如果未將包含用于正確識別與該消息相關(guān)的所需證書的必要信息的消息部分下載到移動設(shè)備100上,則用戶不能肯定地從用于識別在搜索中定位的多個(gè)證書的列表中選擇正確的證書。于是,用戶將不得不猜測正確的證書,或者下載全部已定位證書,存儲在移動設(shè)備上,將消耗時(shí)間和帶寬。在從消息中獲得除電子郵件以外的其他數(shù)據(jù)并將其用于進(jìn)行證書搜索時(shí),可能會產(chǎn)生類似的問題。
因此,本發(fā)明的實(shí)施例大體上涉及能夠有助于從在對一個(gè)或多個(gè)證書服務(wù)器的搜索中所定位的多個(gè)證書中確定與消息相關(guān)的證書的方法,即使是在未將消息完整地下載到用戶計(jì)算設(shè)備(例如移動設(shè)備)的情況下。
參照圖7A,將示出了本發(fā)明一個(gè)實(shí)施例中的用于搜索和獲得證書的方法的步驟的流程圖總體表示為400。
在步驟410,在消息服務(wù)器(例如圖4所示的消息服務(wù)器268)處接收到尋址于移動設(shè)備(例如圖4所示的移動設(shè)備100)的用戶的消息。在一個(gè)示例實(shí)施方式中,消息管理器服務(wù)器(例如圖4所示的消息管理服務(wù)器272)將存儲在消息服務(wù)器上的接收消息的第一部分推入移動設(shè)備。消息管理服務(wù)器可以根據(jù)用戶的請求傳遞接收消息的其他部分,可能到最大的預(yù)定消息尺寸。傳遞給移動設(shè)備的消息部分通常包括報(bào)頭信息(例如圖6所示的報(bào)頭352),典型地設(shè)置在消息的開頭。
在本發(fā)明的實(shí)施例中,消息管理服務(wù)器將證書標(biāo)識數(shù)據(jù)添加到要傳遞的消息部分上(例如添加到消息的報(bào)頭上)。如果證書伴隨著所接收到的消息,則消息管理服務(wù)器可以處理證書,以產(chǎn)生證書標(biāo)識數(shù)據(jù)。在一個(gè)實(shí)施例中,消息管理服務(wù)器應(yīng)用散列算法,最證書的至少一部分進(jìn)行散列運(yùn)算。然后,將散列信息用作要添加到即將傳遞給移動設(shè)備的消息部分(例如報(bào)頭)上的證書標(biāo)識數(shù)據(jù)。在一個(gè)實(shí)施例中,對整個(gè)證書進(jìn)行散列運(yùn)算,以產(chǎn)生散列信息。但是,在變體實(shí)施例中,可以對證書的一個(gè)或多個(gè)特定部分或字段進(jìn)行散列運(yùn)算,以產(chǎn)生散列信息,盡管根據(jù)散列部分或字段,散列信息惟一且正確地識別相同證書的可能性會有所降低。
在另一實(shí)施例中,消息管理服務(wù)器通過解析證書以識別證書的序列號和頒發(fā)者,處理伴隨這接收消息的證書。然后,將此序列號和頒發(fā)者數(shù)據(jù)用作要添加到即將傳遞給移動設(shè)備的消息部分(例如報(bào)頭)上的證書標(biāo)識數(shù)據(jù)。
類似地,在發(fā)送方的證書并未伴隨著接收消息的情況下,消息管理服務(wù)器可以解析消息中的簽名相關(guān)信息,以獲得用于識別與消息相關(guān)聯(lián)的發(fā)送方證書的數(shù)據(jù),如用于簽名消息的證書的序列號和頒發(fā)者。然后,將此數(shù)據(jù)用作要添加到即將傳遞給移動設(shè)備的消息部分(例如報(bào)頭)上的證書標(biāo)識數(shù)據(jù)。
在一些應(yīng)用中,與使用實(shí)際證書(可以參照圖5對該證書進(jìn)行確認(rèn))的散列信息相比,使用來自證書的序列號和頒發(fā)者數(shù)據(jù)作為證書標(biāo)識數(shù)據(jù)可能不那么安全,因?yàn)樾蛄刑柡皖C發(fā)者數(shù)據(jù)更容易被遺忘。但是,根據(jù)所需的安全等級,使用任何一種證書標(biāo)識數(shù)據(jù)在變體實(shí)施方式中都是有用的。
可以使用所產(chǎn)生的證書標(biāo)識數(shù)據(jù)來惟一地識別與接收消息相關(guān)聯(lián)的發(fā)送方證書。在未將接收消息的實(shí)際簽名和簽名相關(guān)信息(例如,圖6所示的簽名和簽名相關(guān)信息360)傳遞到移動設(shè)備時(shí),這樣做尤為有用。
在步驟420,駐留在移動設(shè)備上并在移動設(shè)備上執(zhí)行的消息收發(fā)應(yīng)用程序從消息管理服務(wù)器接收所述接收消息的一個(gè)或多個(gè)部分,包括證書標(biāo)識數(shù)據(jù)??梢皂憫?yīng)用戶的請求,從消息管理服務(wù)器獲得接收消息的額外部分。
可選地,在步驟430,消息收發(fā)應(yīng)用程序可以使用從消息管理服務(wù)器接收到的證書標(biāo)識數(shù)據(jù),在移動設(shè)備的一個(gè)或多個(gè)指定證書存儲器中,確定與接收消息相關(guān)聯(lián)的證書是否已經(jīng)被存儲在移動設(shè)備上??梢詫⒆C書是否已經(jīng)被存儲的相應(yīng)指示提供給正在顯示的消息部分,或者例如,顯示在用于在由用戶接收到的消息列表中識別消息的條目側(cè)面。
例如,在證書識別數(shù)據(jù)包括散列信息的實(shí)施例中,在步驟430,消息收發(fā)應(yīng)用程序針對存儲在移動設(shè)備上、一個(gè)或多個(gè)指定證書存儲器中的每個(gè)證書,產(chǎn)生散列信息,并將每個(gè)所產(chǎn)生的散列信息與作為證書標(biāo)識數(shù)據(jù)提供的散列信息進(jìn)行比較,以便確定所述證書是否已經(jīng)被存儲在移動設(shè)備上。將與步驟410所采用的相同的散列算法應(yīng)用于此步驟(如果未對整個(gè)證書進(jìn)行散列運(yùn)算,則將散列算法應(yīng)用于已存儲證書的相同部分或字段),以產(chǎn)生已存儲證書的散列信息。因此,如果給定已存儲證書的所產(chǎn)生的散列信息與從消息管理服務(wù)器接收到的散列信息匹配,則認(rèn)為已經(jīng)確定了匹配。
或者,在證書標(biāo)識數(shù)據(jù)包括序列號和頒發(fā)者數(shù)據(jù)的實(shí)施例中,在步驟430,消息收發(fā)應(yīng)用程序?qū)⑴c存儲在移動設(shè)備上、一個(gè)或多個(gè)指定證書存儲器中的每個(gè)證書相關(guān)聯(lián)的序列號和頒發(fā)者數(shù)據(jù)與作為證書標(biāo)識數(shù)據(jù)提供的序列號和頒發(fā)者數(shù)據(jù)進(jìn)行比較,以便確定所述證書是否已經(jīng)被存儲在移動設(shè)備上。
在變體實(shí)施方式中,可以由除消息收發(fā)應(yīng)用程序以外的其他駐留在移動設(shè)備上并在移動設(shè)備上執(zhí)行的應(yīng)用程序(如證書搜索應(yīng)用程序等)執(zhí)行步驟430。
在步驟440,駐留在移動設(shè)備上并在移動設(shè)備上執(zhí)行的證書搜索應(yīng)用程序做出對證書的搜索請求。例如,搜索請求可以由用戶發(fā)起,其選擇由消息收發(fā)應(yīng)用程序提供的菜單選項(xiàng),以激活證書搜索應(yīng)用程序?;蛘撸⑹瞻l(fā)應(yīng)用程序或移動設(shè)備上的一些其他應(yīng)用程序可以自動的激活證書搜索應(yīng)用程序,例如,在接收到消息時(shí),以及可能在步驟430處確定證書未被存儲在移動設(shè)備上之后。
在一個(gè)示例實(shí)施方式中,在步驟440請求證書搜索時(shí),證書搜索應(yīng)用程序?qū)⑺阉髡埱笸ㄟ^移動數(shù)據(jù)服務(wù)器(例如圖4所示的移動數(shù)據(jù)服務(wù)器288)傳送給至少一個(gè)證書服務(wù)器(例如圖4所示的LDAP服務(wù)器284)。搜索請求包括以下數(shù)據(jù),典型地包括電子郵件地址、以及可能的至少一個(gè)與接收消息的發(fā)送方相關(guān)聯(lián)的姓名。但是,本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)理解的是,可以構(gòu)建多種搜索查詢,而不偏離本發(fā)明的范圍。
在步驟450,移動數(shù)據(jù)服務(wù)器針對滿足移動設(shè)備的證書搜索應(yīng)用程序在步驟440做出的搜索請求的證書,查詢至少一個(gè)證書服務(wù)器。移動數(shù)據(jù)服務(wù)器從至少一個(gè)證書服務(wù)器獲得作為搜索查詢的結(jié)果而定位的證書。
在步驟460,將已定位證書從移動數(shù)據(jù)服務(wù)器下載到移動設(shè)備上。典型地,將所下載的證書暫時(shí)存儲在移動設(shè)備上,以便進(jìn)行進(jìn)一步的處理。
在步驟470,證書搜索應(yīng)用程序?qū)υ诓襟E460下載到移動設(shè)備的已定位證書進(jìn)行處理,以確定哪一個(gè)已定位證書匹配由伴隨接收消息的證書標(biāo)識數(shù)據(jù)識別的、與接收消息相關(guān)聯(lián)的證書。
在證書標(biāo)識數(shù)據(jù)包括散列信息的實(shí)施例中,證書搜索應(yīng)用程序產(chǎn)生針對每個(gè)已定位證書的散列信息,并將每個(gè)所產(chǎn)生的散列信息與作為證書標(biāo)識數(shù)據(jù)提供的散列信息進(jìn)行比較,以便確定適當(dāng)?shù)钠ヅ?。將與步驟410所采用的相同的散列算法應(yīng)用于此步驟(如果未對整個(gè)證書進(jìn)行散列運(yùn)算,則將散列算法應(yīng)用于已存儲證書的相同部分或字段),以產(chǎn)生已存儲證書的散列信息。因此,如果給定已存儲證書的所產(chǎn)生的散列信息與從消息管理服務(wù)器接收到的散列信息匹配,則認(rèn)為已經(jīng)確定了匹配。
或者,在證書標(biāo)識數(shù)據(jù)包括序列號和頒發(fā)者數(shù)據(jù)的實(shí)施例中,證書搜索應(yīng)用程序?qū)⑴c每個(gè)已定位證書相關(guān)聯(lián)的序列號和頒發(fā)者數(shù)據(jù)與作為證書標(biāo)識數(shù)據(jù)提供的序列號和頒發(fā)者數(shù)據(jù)進(jìn)行比較,以便確定適當(dāng)?shù)钠ヅ洹?br>
可選地,在步驟480,可以向用戶顯示在步驟460下載的用于識別已定位證書的列表,使用指示符或其他突出顯示技術(shù)來識別此列表中的匹配證書。然后,可以提示用戶選擇匹配證書(以及可能的其他已定位證書)存儲在移動設(shè)備上的證書存儲器中,以便稍后使用。
在步驟490,將匹配證書存儲在移動設(shè)備上的證書存儲器中。在一個(gè)實(shí)施例中,證書搜索應(yīng)用程序可以自動地執(zhí)行此步驟,而不在步驟480提示用戶進(jìn)行選擇。
例如,在變體實(shí)施例中,還可以使匹配證書生效[未示出該步驟],以便在存儲前后,驗(yàn)證其可信狀態(tài)。
現(xiàn)在參照圖7B,將示出了本發(fā)明另一實(shí)施例中的用于搜索和獲得證書的方法的步驟的流程圖總體表示為400b。方法400b類似于方法400,除了證書搜索應(yīng)用程序可以將證書標(biāo)識數(shù)據(jù)傳遞給移動數(shù)據(jù)服務(wù)器(例如,與搜索請求一起)以外,從而移動數(shù)據(jù)服務(wù)器只將匹配證書返回給移動設(shè)備,而不是將搜索中定位的全部證書。
具體地,在本發(fā)明的這個(gè)實(shí)施例中,在步驟440,將最初在移動設(shè)備處從消息管理服務(wù)器接收到的證書標(biāo)識數(shù)據(jù)與搜索請求一起轉(zhuǎn)發(fā)給移動數(shù)據(jù)服務(wù)器。
在步驟460b,移動數(shù)據(jù)服務(wù)器處理已定位證書,以確定哪一個(gè)已定位證書匹配由在步驟440、在移動數(shù)據(jù)服務(wù)器處、從移動設(shè)備接收到的證書標(biāo)識數(shù)據(jù)識別的、與接收消息相關(guān)聯(lián)的證書。然后,在此步驟,只將匹配證書下載到移動設(shè)備上,以便隨后在步驟490存儲在移動設(shè)備上的證書存儲器中。可以在存儲之前,提示用戶允許保存匹配證書[未示出此步驟]。
與圖7B所示的其余步驟有關(guān)的詳細(xì)描述參照圖7A。
在本發(fā)明的變體實(shí)施例中,可以將用于惟一識別證書的其他數(shù)據(jù)用作證書標(biāo)識數(shù)據(jù)。
在本發(fā)明的變體實(shí)施例中,可以從一個(gè)或多個(gè)證書服務(wù)器獲得已定位證書,并將其下載到移動設(shè)備,而無需通過移動數(shù)據(jù)服務(wù)器或其他中間計(jì)算設(shè)備進(jìn)行傳輸。
上面已經(jīng)參照移動設(shè)備對本發(fā)明的實(shí)施例進(jìn)行了描述。但是,一些實(shí)施例也可以應(yīng)用于除移動設(shè)備以外適合接收已編碼消息的其他設(shè)備。
本發(fā)明實(shí)施例中用于搜索和獲得證書的方法的步驟可以作為存儲在計(jì)算機(jī)可讀介質(zhì)上的可執(zhí)行軟件指令來提供,所述計(jì)算機(jī)可讀介質(zhì)包括傳輸型介質(zhì)。
已經(jīng)針對多個(gè)實(shí)施例對本發(fā)明進(jìn)行了描述。但是,本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)理解的是,在不偏離由所附權(quán)利要求所限定的本發(fā)明的范圍的前提下,可以進(jìn)行多種變化和修改。
權(quán)利要求
1.一種用于搜索和獲得與用戶從發(fā)送方接收到的消息有關(guān)的證書的方法,所述消息包括用于識別與之相關(guān)聯(lián)的發(fā)送方證書的數(shù)據(jù),其中所述方法包括以下步驟在計(jì)算設(shè)備處,接收針對根據(jù)接收消息中用于識別發(fā)送方證書的數(shù)據(jù)而產(chǎn)生的發(fā)送方證書的證書標(biāo)識數(shù)據(jù),其中所述證書標(biāo)識數(shù)據(jù)惟一地識別發(fā)送方證書;執(zhí)行搜索,以定位存儲在所述計(jì)算設(shè)備或服務(wù)器上的證書;以及利用所述證書標(biāo)識數(shù)據(jù),處理每個(gè)已定位證書,以確定正在處理的證書是否是與接收消息相關(guān)聯(lián)的發(fā)送方證書。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于包括以下步驟a)在計(jì)算設(shè)備處接收所述消息的至少一部分和證書標(biāo)識數(shù)據(jù);b)提供針對與發(fā)送方相關(guān)聯(lián)的證書的證書搜索請求;c)在一個(gè)或多個(gè)證書服務(wù)器上進(jìn)行搜索,其中向所述一個(gè)或多個(gè)證書服務(wù)器提交至少一個(gè)查詢,以請求獲得滿足證書搜索請求的已定位證書;d)從所述一個(gè)或多個(gè)證書服務(wù)器獲得至少一個(gè)已定位證書;e)利用證書標(biāo)識數(shù)據(jù),處理在步驟d)獲得的每個(gè)已定位證書,以確定各個(gè)已定位證書是否是與所述消息相關(guān)聯(lián)的發(fā)送方證書;以及f)如果在步驟e)確定已定位證書是與所述消息相關(guān)聯(lián)的發(fā)送方證書,則將已定位證書存儲在所述計(jì)算設(shè)備上。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于所述計(jì)算設(shè)備是移動設(shè)備。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于在與所述移動設(shè)備相連的第二計(jì)算設(shè)備處執(zhí)行步驟c)和d)。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于所述第二計(jì)算設(shè)備是移動數(shù)據(jù)服務(wù)器。
6.根據(jù)權(quán)利要求4或5所述的方法,其特征在于也在第二計(jì)算設(shè)備處執(zhí)行步驟e),以及所述方法還包括將步驟f)的已定位證書從第二計(jì)算設(shè)備下載到移動設(shè)備的步驟。
7.根據(jù)權(quán)利要求4或5所述的方法,其特征在于在移動設(shè)備執(zhí)行步驟e),以及所述方法還包括將在步驟d)獲得的已定位證書從第二計(jì)算設(shè)備下載到移動設(shè)備的步驟。
8.根據(jù)權(quán)利要求2到7之一所述的方法,其特征在于還包括在計(jì)算設(shè)備上將在步驟d)獲得的已定位證書的列表顯示給用戶,其中所述列表表示如步驟e)所確定的,哪個(gè)證書是與消息相關(guān)聯(lián)的發(fā)送方證書。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于還包括接收用戶對所述列表中的證書的一個(gè)或多個(gè)選擇,并將選定證書存儲在所述計(jì)算識別上的證書存儲器中。
10.根據(jù)權(quán)利要求2到9之一所述的方法,其特征在于還包括在步驟b)之前、確定發(fā)送方證書是否已經(jīng)被存儲在所述計(jì)算設(shè)備上的步驟。
11.根據(jù)權(quán)利要求1所述的方法,其特征在于包括以下步驟在所述計(jì)算設(shè)備處接收所述證書標(biāo)識數(shù)據(jù);以及通過產(chǎn)生與存儲在所述計(jì)算設(shè)備上的多個(gè)證書中的每一個(gè)相關(guān)聯(lián)的證書標(biāo)識數(shù)據(jù),并將針對所述多個(gè)已存儲證書中的每一個(gè)的已產(chǎn)生證書標(biāo)識數(shù)據(jù)與針對發(fā)送方證書而產(chǎn)生的證書標(biāo)識數(shù)據(jù)進(jìn)行比較,以識別與發(fā)送方證書匹配的已存儲證書,來確定發(fā)送方證書是否被存儲在所述計(jì)算設(shè)備上。
12.根據(jù)權(quán)利要求2到11之一所述的方法,其特征在于針對證書的證書標(biāo)識數(shù)據(jù)包括針對發(fā)送方證書的序列號和頒發(fā)者數(shù)據(jù);以及解析每個(gè)已定位證書,以獲得所述證書的相應(yīng)序列號和頒發(fā)者數(shù)據(jù),并將所獲得的序列號和頒發(fā)者數(shù)據(jù)與所述證書標(biāo)識數(shù)據(jù)進(jìn)行比較。
13.根據(jù)權(quán)利要求2到11之一所述的方法,其特征在于針對證書的證書標(biāo)識數(shù)據(jù)包括發(fā)送方證書的至少一部分的散列信息;以及將散列算法應(yīng)用于每個(gè)已定位證書,以獲得所述證書的相應(yīng)散列信息,并將各自的散列信息與所述證書標(biāo)識數(shù)據(jù)進(jìn)行比較。
14.一種用于搜索和獲得與用戶從發(fā)送方接收到的消息有關(guān)的證書的系統(tǒng),所述消息包括用于識別與之相關(guān)聯(lián)的發(fā)送方證書的數(shù)據(jù),所述系統(tǒng)包括g)消息管理服務(wù)器,用于根據(jù)所述消息,產(chǎn)生證書標(biāo)識數(shù)據(jù),其中所述證書標(biāo)識數(shù)據(jù)惟一地識別發(fā)送方證書;h)移動設(shè)備,用于從消息管理服務(wù)器接收所述消息的至少一部分和證書標(biāo)識數(shù)據(jù);以及i)移動數(shù)據(jù)服務(wù)器,用于從移動設(shè)備接收針對與發(fā)送方相關(guān)聯(lián)的證書的證書搜索請求,通過針對滿足搜索請求的已定位證書查詢一個(gè)或多個(gè)證書服務(wù)器,在一個(gè)或多個(gè)證書服務(wù)器上進(jìn)行搜索,以及從所述一個(gè)或多個(gè)證書服務(wù)器獲得已定位證書;其中所述移動設(shè)備和所述移動數(shù)據(jù)服務(wù)器中的至少一個(gè)還用于處理在所述移動數(shù)據(jù)服務(wù)器處獲得的每個(gè)已定位證書,以利用證書標(biāo)識數(shù)據(jù),確定各個(gè)已定位證書是否為與所述消息相關(guān)聯(lián)的發(fā)送方證書;以及其中所述移動設(shè)備提供一個(gè)或多個(gè)證書存儲器,用于存儲被確定為與所述消息相關(guān)聯(lián)的發(fā)送方證書的已定位證書。
15.一種用于在計(jì)算設(shè)備上執(zhí)行的軟件應(yīng)用程序,所述應(yīng)用程序包括存儲在計(jì)算機(jī)可讀介質(zhì)上的多個(gè)指令,所述指令用于執(zhí)行根據(jù)權(quán)利要求1到13中的任一個(gè)所述的方法的步驟。
全文摘要
一種用于搜索和獲得證書的系統(tǒng)和方法,其可以用在對已解密消息的處理中。在一個(gè)更為廣泛的方案中,消息管理服務(wù)器根據(jù)消息,產(chǎn)生惟一地識別了與所述消息相關(guān)聯(lián)的證書的證書標(biāo)識數(shù)據(jù)。然后,可以使用所述證書標(biāo)識數(shù)據(jù)來確定響應(yīng)證書搜索請求、從一個(gè)或多個(gè)證書服務(wù)器獲得的給定已定位證書是否是與所述消息相關(guān)聯(lián)的證書。只需要證書標(biāo)識數(shù)據(jù),有助于在用戶計(jì)算設(shè)備(如移動設(shè)備等)處的確定,緩解了用戶為了進(jìn)行確定而將整個(gè)消息下載到計(jì)算設(shè)備上的需要。
文檔編號G06F17/30GK1744489SQ20051009598
公開日2006年3月8日 申請日期2005年8月30日 優(yōu)先權(quán)日2004年9月1日
發(fā)明者尼爾·P·亞當(dāng)斯, 邁克爾·S·布朗, 赫伯特·A·利特爾 申請人:捷訊研究有限公司