專利名稱:發(fā)送安全消息的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及發(fā)送安全消息的方法和系統(tǒng),特別是一種自動檢索用于編 碼安全消息的證書的方法和系統(tǒng)。
背景技術(shù):
電子郵件(e-mail)消息利用多個已知協(xié)議的其中之一可以編碼。這 些協(xié)議中的一些,例如安全多個因特網(wǎng)郵件擴(kuò)展(S/MIME),依賴于公有 和私有的加密密鑰以提供可信性和完整性,以及依賴于在一個公鑰架構(gòu) (PKI)下提供認(rèn)證和授權(quán)以通信信息。使用一個公鑰/私鑰對中的公鑰加 密的數(shù)據(jù)只能使用相應(yīng)的密鑰對中的私鑰進(jìn)行解密。相應(yīng)的, 一個發(fā)送方 能夠在發(fā)送消息之前使用接收方的公鑰加密信息以保護(hù)信息。
接收方的公鑰可以是通過一個和接收方相關(guān)的證書而被公開得到。一 個和個體相關(guān)的證書典型的包括個體的公鑰和其它標(biāo)識相關(guān)的信息。接收 方也能夠使用證書驗(yàn)證發(fā)送方的標(biāo)識和認(rèn)可的協(xié)議。
當(dāng)一個發(fā)送方發(fā)送消息給一個或多個接收方,消息傳送應(yīng)用程序,如 Microsoft OutlookTM或者Lotus Notes ,檢索到接收方的證書,使用從證 書里得到的消息解碼每個接收方的信息。作為一個例子,消息傳送應(yīng)用 程序可以使用從證書里得到的公鑰信息以加密發(fā)送給接收方的消息。
證書可以是存儲在發(fā)送消息的設(shè)備或系統(tǒng)的存儲器中。特別的,證書 可以被存儲在密鑰存儲器中,消息傳送應(yīng)用程序能夠進(jìn)入該密鑰存儲器并 檢索到證書。如果在密鑰存儲器中的證書不可用,發(fā)送方在得到該證書之 前可以不能發(fā)送信息。在一些現(xiàn)有系統(tǒng)中,用戶為接收方手動的定位證書 或者調(diào)用一個第二應(yīng)用以搜索丟失的證書。在一些其它的現(xiàn)有系統(tǒng)中,一 旦用戶請求發(fā)送消息,消息傳送應(yīng)用程序自動的搜索和下載需要的證書。這種搜索和下載過程需要占用大量的時間,因此造成發(fā)送消息的顯著延 遲。
因此,最好是提供一種方法和/或系統(tǒng),在組成和發(fā)送安全消息中提 高用戶體驗(yàn)。
發(fā)明內(nèi)容
本申請描述了一種安全發(fā)送消息到接收方的用戶設(shè)備和方法。所述設(shè) 備和方法在接收到一個來自用戶的發(fā)送指令之前發(fā)起一個對證書的搜索, 該證書用來加密發(fā)送給特定接收方的消息。該方法還包括確定當(dāng)用戶改變 了消息的接收方時,用戶編輯消息時確定需要的證書是否存儲在本地的設(shè) 備上,或者需要從遠(yuǎn)端來源得到需要的證書。如果需要的證書不在設(shè)備上, 那么發(fā)起對遠(yuǎn)端來源的搜索。根據(jù)本申請,在接收到用戶發(fā)送的指令之前 檢測接收方列表的變化并發(fā)起任何需要的搜索。
在一方面中,本申請?zhí)峁┝艘环N通過計(jì)算機(jī)網(wǎng)絡(luò)從發(fā)送設(shè)備安全發(fā)送 消息到接收方的方法,發(fā)送設(shè)備包括一個發(fā)送消息的應(yīng)用,該應(yīng)用編輯消 息并發(fā)送給一個或多個接收方;每個接收方有一個相應(yīng)的證書,每個證書 都包含一個接收方特定的公鑰,發(fā)送設(shè)備使用該公鑰加密消息并傳送給相 應(yīng)的接收方;發(fā)送設(shè)備包含一個存儲器,在密鑰存儲器存儲一個或多個證 書。該方法還包括以下步驟在消息的地址字段檢測輸入的新接收方;確 定密鑰存儲器沒有包含該新接收方的有效證書;通過計(jì)算機(jī)網(wǎng)絡(luò)啟動對 該有效證書的遠(yuǎn)端來源搜索,并且下載該有效證書,包括所述新接收方的 公鑰。檢測、確定、啟動步驟都是在接收到發(fā)送消息的用戶指令之前執(zhí)行 的。
另一方面,本申請?zhí)峁┝艘环N通過計(jì)算機(jī)網(wǎng)絡(luò)安全發(fā)送消息到接收方 的用戶設(shè)備。該用戶設(shè)備包括顯示器,用于呈現(xiàn)顯示消息的用戶界面,用 戶界面包括消息的地址域;用戶輸入設(shè)備,用于接收用戶的輸入;存儲器, 包括一個密鑰存儲器,用來存儲一個或多個證書;它還包括處理器,用于 和顯示器、存儲器和用戶輸入設(shè)備交互;消息傳送應(yīng)用程序,由處理器執(zhí) 行,用于組成和發(fā)送消息;該用戶設(shè)備進(jìn)一步的還包括搜索觸發(fā)部件,由處理器執(zhí)行,用于在地址域檢測輸入的新接收方,以確定密鑰存儲器沒有
包含該新接收方的有效證書,并啟動對有效證書的搜索;證書獲取模塊, 由處理器執(zhí)行,用于對有效證書的遠(yuǎn)端來源搜索;并且下載該有效證書, 包括新接收方的公鑰。搜索觸發(fā)部件適合于在接收到發(fā)送消息的用戶指令 之前當(dāng)搜索觸發(fā)部件確定密鑰存儲器沒有包含有效證書時通知證書獲取 模塊為該有效證書發(fā)起一個搜索。
在另一方面,本申請?zhí)峁┝艘环N在用戶設(shè)備處理器上執(zhí)行的機(jī)器可讀 介質(zhì),以執(zhí)行上述方法。
本申請的其它方面根據(jù)以下詳細(xì)描述和附圖對于本領(lǐng)域技術(shù)人員來 說是顯而易見的。
通過實(shí)例將參考示出本申請的示例實(shí)施例的附圖,其中 圖1是示出了用戶設(shè)備具體實(shí)施方式
的結(jié)構(gòu)圖; 圖2是示出了主機(jī)系統(tǒng)具體實(shí)施方式
的結(jié)構(gòu)圖; 圖3是示出了證書鏈的實(shí)例圖表;
圖4是示出了通過計(jì)算機(jī)網(wǎng)絡(luò)從發(fā)送設(shè)備安全發(fā)送消息到接收方的 方法的流程圖5是示出了移動設(shè)備上消息傳送應(yīng)用程序的用戶界面的實(shí)施例; 圖6是示出了檢測消息接收方變化的實(shí)例方法的流程圖; 會在不同附圖中使用相同的參考符號來表示類似部件。
具體實(shí)施例方式
本申請的實(shí)施方式并不受特殊的操作系統(tǒng),移動設(shè)備的結(jié)構(gòu),服務(wù)器 的結(jié)構(gòu)或者計(jì)算機(jī)程序語言的限制。
本申請和移動通信設(shè)備相關(guān),但實(shí)施方式并不必須限制在移動設(shè)備 上。本申請描述的方法和系統(tǒng)可以內(nèi)嵌于一系列能夠發(fā)送和接收消息的客 戶端設(shè)備,包括個人計(jì)算機(jī),移動設(shè)備,電話,或者其它終端設(shè)備。
現(xiàn)在參考附圖進(jìn)行說明,圖1是用戶設(shè)備io具體實(shí)施方式
的結(jié)構(gòu)圖。
在一些實(shí)施方式中,用戶設(shè)備io是一個雙向,電子的通信設(shè)備,具有數(shù) 據(jù)還可以有語音通信功能。在至少一個具體實(shí)施方式
中,用戶設(shè)備io有
和其它設(shè)備和計(jì)算機(jī)系統(tǒng)交換信息的能力。依靠用戶設(shè)備10提供的功能,
在多個實(shí)施方式中用戶設(shè)備可以是一個多種模式的配置有數(shù)據(jù)和語音通 信功能的通信設(shè)備,其中有智能手機(jī),能夠進(jìn)行無線通信的個人數(shù)字助理, 或者能夠進(jìn)行無線通信的移動計(jì)算機(jī)系統(tǒng)。
設(shè)備10包括一個通信子系統(tǒng)11。在一個實(shí)施方式中通信子系統(tǒng)11
可以包括接收器,發(fā)送器和相應(yīng)的部件例如一個或多個嵌入式的或內(nèi)部的
天線單元和一個處理器模塊如一個數(shù)字信號處理器(DSP)。正如通信領(lǐng)域 技術(shù)人員所知的,通信子系統(tǒng)11的特殊設(shè)計(jì)主要取決于設(shè)備IO準(zhǔn)備在其 中操作的通信網(wǎng)絡(luò)。
由設(shè)備10通過無線通信網(wǎng)絡(luò)50接收到的信號輸入到通信子系統(tǒng)11 的接收器中,其執(zhí)行普通的接收器功能,例如信號放大,頻率降頻變換, 濾波,信道選擇和諸如此類的功能。在一種簡單的方式下,傳輸?shù)男盘柋?DSP處理,例如包括調(diào)制和編碼,然后輸入到傳輸器,進(jìn)行數(shù)模轉(zhuǎn)換,頻 率升頻變換,濾波,放大,然后在無線通信網(wǎng)絡(luò)50中傳輸。
設(shè)備10包括微處理器38,其控制所有的設(shè)備運(yùn)行。微處理器38和 通信子系統(tǒng)11交互,并且也和其它的設(shè)備子系統(tǒng)如一個圖形顯示子系統(tǒng) 44,閃速存儲器24,隨機(jī)存取存儲器(RAM) 26,輔助輸入輸出(I/0)子 系統(tǒng)28,串行端口 30,鍵盤或鍵區(qū)32,揚(yáng)聲器34,麥克風(fēng)36,短程通 信子系統(tǒng)40,和由42指定的任何其它設(shè)備子系統(tǒng)。圖形顯示子系統(tǒng)44 和顯示器22交互將圖形或文本顯示在顯示器22上。
由微處理器38執(zhí)行的操作系統(tǒng)軟件52和多個軟件應(yīng)用程序54,在 一個實(shí)施方式中,存儲在一個永久存儲器例如閃速存儲器24或者類似的 存儲單元中。本領(lǐng)域技術(shù)人員可知操作系統(tǒng)52,軟件應(yīng)用程序54,或其 中的部分可以暫時的加載在一個易失的存儲器上例如RAM26。
微處理器38,除了它的操作系統(tǒng)功能,還能使軟件應(yīng)用程序54在設(shè) 備上執(zhí)行。軟件應(yīng)用程序54的預(yù)先設(shè)置控制基本的設(shè)備操作,例如包括 數(shù)據(jù)和語音通信應(yīng)用,通常會在制造時預(yù)先安裝在設(shè)備10上。其它的軟
件應(yīng)用程序54可以通過網(wǎng)絡(luò)50被加載在設(shè)備10上,輔助I/O子系統(tǒng)28, 串行端口30,短程通信子系統(tǒng)40,和其它合適的子系統(tǒng)42,是由用戶通 過微處理器38執(zhí)行RAM26或者一個永久性存儲裝置安裝的。
在一個數(shù)據(jù)通信模式中,接收到的信號例如文本消息或網(wǎng)頁下載由通 信子系統(tǒng)11處理并輸入到微處理器38,其進(jìn)一步的處理接收到的信號并 通過圖形顯示子系統(tǒng)44將其輸出到顯示器22,或者選擇性的輸出到輔助 I/O設(shè)備28。設(shè)備10的用戶也可以使用鍵盤32和顯示器22和可能的輔 助I/O設(shè)備28例如指輪一起在軟件應(yīng)用程序54中編輯數(shù)據(jù)項(xiàng),例如電子 郵件消息。這些組成的項(xiàng)可以通過通信子系統(tǒng)11經(jīng)由通信網(wǎng)絡(luò)被傳輸。
在圖1中的串行端口 30,通常在個人數(shù)字助理(PDA)類型的通信設(shè)備 中實(shí)現(xiàn)用來與用戶桌上計(jì)算機(jī)(未顯示)同步,但是其是一個可選的設(shè)備 部件。這樣的端口 30可以促使用戶通過外部設(shè)備或者軟件應(yīng)用設(shè)置首選 項(xiàng),能夠通過提供信息或軟件下載設(shè)備10而不是通過無線通信網(wǎng)絡(luò)而擴(kuò) 展設(shè)備的能力。
短程通信子系統(tǒng)40是另一個部件,其為設(shè)備10和不同系統(tǒng)和設(shè)備間 提供通信,這些設(shè)備并不必須是相同的。例如子系統(tǒng)40可以包括一個紅 外設(shè)備以及相關(guān)的電路和部件,或者一個BluetoothTM通信模塊,以和具有 相同能力的設(shè)備間提供通信。設(shè)備10可以是一個手持設(shè)備。
在一個實(shí)施方式中,無線移動網(wǎng)絡(luò)50是一個無線分組網(wǎng)絡(luò)(例如 MobitexTM或者DataTAC ),其為移動設(shè)備10提供無線覆蓋。無線移動 網(wǎng)絡(luò)50可以也是一個語音和數(shù)據(jù)網(wǎng)絡(luò)例如GSM (全球移動通信系統(tǒng))和 GPRS (通用數(shù)據(jù)分組系統(tǒng)),CDMA (碼分多址接入),或者多種其它的 第三代網(wǎng)絡(luò)例如EDGE (增強(qiáng)數(shù)據(jù)速率的GSM演變)或UMTS (通用移 動通信系統(tǒng))。在一些實(shí)施方式中,無線移動網(wǎng)絡(luò)50可以包括IEEE802.11 (WiFi)網(wǎng)絡(luò),iDEN (綜合數(shù)字增強(qiáng)網(wǎng)絡(luò)),EvDO (lx數(shù)據(jù)發(fā)展優(yōu)化), 或HSDPA (高速下行鏈路分組接入)網(wǎng)絡(luò)。無線網(wǎng)絡(luò)50還可以是其它任 何想設(shè)備10提供和遠(yuǎn)程網(wǎng)絡(luò)連接的無線網(wǎng)絡(luò)類型。
現(xiàn)在參考附圖2進(jìn)行說明,圖2是主機(jī)系統(tǒng)250具體實(shí)施方式
的結(jié)構(gòu) 圖。主機(jī)系統(tǒng)250可以是一個公司的辦公室或者其它本地局域網(wǎng)絡(luò)
(LAN),或者例如是一個家庭辦公計(jì)算機(jī)或其它私人系統(tǒng)。在本實(shí)施方 式中,主機(jī)系統(tǒng)250被描述為包含移動設(shè)備10的一個組織的LAN。
主機(jī)系統(tǒng)250包括由LAN連接起來的多個網(wǎng)絡(luò)組件。例如用戶的桌 上計(jì)算機(jī)262a和用戶的移動設(shè)備10的送受話器叉簧264都位于主機(jī)系統(tǒng) 250中。移動設(shè)備10的底座(cradle) 264可以是通過例如一系列通用串 行總線(USB)和計(jì)算機(jī)262a連接。其它用戶計(jì)算機(jī)262b也位于主機(jī)系 統(tǒng)250中,它們能或不能為一個移動設(shè)備配備一個相應(yīng)的底座264。底座 264促進(jìn)用戶計(jì)算機(jī)262a到移動設(shè)備10的信息的加載(例如為了促進(jìn)移 動設(shè)備10和主機(jī)系統(tǒng)250之間的安全通信的私有的均衡加密密鑰),對于 在使用的初始化移動設(shè)備10中通常執(zhí)行的大量信息更新來說是特別有用 的。下載到移動設(shè)備10上的信息可以包括在消息交換中使用的證書。本 領(lǐng)域技術(shù)人員很容易理解用戶計(jì)算機(jī)262a, 262b,典型的還能夠與其它未 在圖2中顯示的外圍設(shè)備相連。
而且,為了便于說明,在圖4中只顯示了主機(jī)系統(tǒng)250的網(wǎng)絡(luò)組件的 子集,本領(lǐng)域技術(shù)人員應(yīng)該能夠理解主機(jī)系統(tǒng)250還包括其它未在圖中顯 示的組件。更為普遍的主機(jī)系統(tǒng)250可以代表一個機(jī)構(gòu)的更大網(wǎng)絡(luò)的一小 部分,可以包括不同的部件,并且能夠按照與圖4示例的拓?fù)浣Y(jié)構(gòu)不同的 方式設(shè)置。
在本實(shí)施方式中,移動設(shè)備10和主機(jī)系統(tǒng)250通過無線網(wǎng)絡(luò)50的節(jié) 點(diǎn)202以及共用網(wǎng)絡(luò)基礎(chǔ)設(shè)施如服務(wù)提供商網(wǎng)絡(luò)或者公用互聯(lián)網(wǎng)進(jìn)行通 信。接入到主機(jī)系統(tǒng)250需要通過一個或多個路由器,主機(jī)系統(tǒng)250的計(jì) 算機(jī)設(shè)備可以在一個防火墻或者代理服務(wù)器266之后進(jìn)行操作。
在一個變化的執(zhí)行中,主機(jī)系統(tǒng)250包括一個無線VPN路由器(未 在圖中顯示),以便利主機(jī)系統(tǒng)250和移動設(shè)備10之間的數(shù)據(jù)交換。VPN 連接可以是傳輸控制協(xié)議(TCP) /IP或用戶數(shù)據(jù)報(bào)協(xié)議(UDP) /IP連接, 以在變化的執(zhí)行中把消息直接傳送給移動設(shè)備10。
打算用于移動設(shè)備10的消息由主機(jī)系統(tǒng)250的消息服務(wù)器268首先 接收。這些消息可以來自于不同的源頭。例如一個消息可以是由主機(jī)系統(tǒng) 250中的計(jì)算機(jī)262b、 一個連接在無線網(wǎng)絡(luò)50或者一個不同的無線網(wǎng)絡(luò)
上的不同的移動設(shè)備(未顯示)、 一個不同的計(jì)算機(jī)設(shè)備或者能夠發(fā)送消
息的其它設(shè)備發(fā)送的,通過共用的網(wǎng)絡(luò)基礎(chǔ)設(shè)施224和可能通過例如一個 應(yīng)用服務(wù)提供商(ASP)或者因特網(wǎng)服務(wù)提供商(ISP)。
消息服務(wù)器268在機(jī)構(gòu)中和在共享的網(wǎng)絡(luò)基礎(chǔ)設(shè)施224上通常作為消
息特別是電子郵件消息交換的一個主要接口。每個機(jī)構(gòu)中被設(shè)置發(fā)送和接 收消息的用戶通常都和一個由消息服務(wù)器268管理的用戶賬戶相關(guān)。消息 服務(wù)器268的一個例子是一個Microsoft ExchangeTM服務(wù)器。在一些執(zhí)行 中,主機(jī)系統(tǒng)250可以包括多個消息服務(wù)器268。消息服務(wù)器268可以也 適合提供除了消息管理外的其它功能,例如包括日歷和任務(wù)表相關(guān)的數(shù)據(jù) 管理。
當(dāng)消息服務(wù)器268接收到消息時,消息通常被存儲在一個消息存儲器 中,從該存儲器中能夠隨后重新找到該消息和發(fā)送給用戶。例如,在用戶 計(jì)算機(jī)262a上執(zhí)行的電子郵件客戶應(yīng)用可以請求將和用戶帳戶相關(guān)的電 子郵件消息存儲在消息服務(wù)器268上。這些消息可以從消息服務(wù)器268獲 取并存儲在本地的計(jì)算機(jī)262a上。
當(dāng)操作移動設(shè)備10時,用戶可以希望重新獲取電子郵件消息以發(fā)送 給該手持設(shè)備。 一個在移動設(shè)備IO上操作的電子郵件客戶端應(yīng)用可以也 從消息服務(wù)器268請求和用戶帳戶相關(guān)的消息。電子郵件客戶端可以被配 置(由用戶或者由管理員根據(jù)機(jī)構(gòu)的信息技術(shù)IT策略)以使在用戶的方 向發(fā)起請求,在一些預(yù)先定義的時間間隔或者根據(jù)一些預(yù)先定義的時間的 發(fā)生。在一些實(shí)施中,移動設(shè)備IO被分配其自己的電子郵件地址,特定 定址到移動設(shè)備10的消息在由消息服務(wù)器268收到后被自動地重新定向 給移動設(shè)備10。
為了促進(jìn)移動設(shè)備10和主機(jī)系統(tǒng)250的組件之間的消息和消息相關(guān) 的數(shù)據(jù)的無線通信,提供一定數(shù)量的無線通信支持組件270。在本實(shí)施方 式中,無線通信支持組件270包括例如一個消息管理服務(wù)器272。消息管 理服務(wù)器272用來特別的提供消息(例如將要被移動設(shè)備10處理的電子 郵件消息)管理的支持。通常的,當(dāng)消息還存儲在消息服務(wù)器268上,消 息管理服務(wù)器272能夠用來控制消息在什么時間,是否和怎樣發(fā)送到移動
設(shè)備10。消息管理服務(wù)器272還促進(jìn)在移動設(shè)備IO上組成的消息的處理, 這些消息傳送給消息服務(wù)器268,用于隨后的傳送。
例如,消息管理服務(wù)器272可以監(jiān)視用戶的"收件箱"(例如,和消 息服務(wù)器268上用戶帳戶相關(guān)的消息存儲)以發(fā)現(xiàn)新的電子郵件消息;將 用戶定義的篩選程序應(yīng)用到新消息上以決定是否和怎樣把消息中繼到用 戶的移動設(shè)備10;壓縮和加密新的消息(例如使用數(shù)據(jù)加密標(biāo)準(zhǔn)(DES) 或三重DES加密技術(shù))并將它們通過共用的網(wǎng)絡(luò)基礎(chǔ)設(shè)施224和無線網(wǎng) 絡(luò)50推送給移動設(shè)備10;接收在移動設(shè)備10上編輯的消息(使用三重 DES加密的),解密和解壓縮編輯的消息,如果需要重新定義組成的消息 的格式以使它們顯示出來自于用戶計(jì)算機(jī)262a,并重新路由編輯的消息到 消息服務(wù)器268以便傳送。
與從移動設(shè)備10發(fā)送或接收的消息有關(guān)的特定屬性或約束條件可以 由消息管理服務(wù)器定義(例如,由管理者根據(jù)IT策略)并執(zhí)行。這些可 以包括例如,移動設(shè)備IO是否可以接收加密的或者簽名的消息,使加密 密鑰的大小最小化,是否發(fā)出的消息必須是加密的或簽名的,是否拷貝所 有移動設(shè)備10發(fā)送的安全消息到一個預(yù)定義地址。
消息管理服務(wù)器272可以也適合于提供其它控制功能,例如只推送存 儲在消息服務(wù)器268上的特定的消息信息或者消息的預(yù)定義的部分(例 如,塊)給移動設(shè)備IO。例如當(dāng)移動設(shè)備10從消息服務(wù)器268取回消息 時,消息管理服務(wù)器272適合于將消息的第一部分推送給移動設(shè)備10, 該部分有預(yù)定一的大小(例如,2KB)。用戶可以請求更多該消息由消息 管理服務(wù)器272用小尺寸的塊發(fā)送給移動設(shè)備10,直到到消息的最大預(yù) 定義尺寸。
因此,消息管理服務(wù)器272促進(jìn)了對于和移動設(shè)備10通信的數(shù)據(jù)類 型和數(shù)據(jù)量的更好控制,并且能夠幫助減少潛在的帶寬或其它資源的浪 費(fèi)。
本領(lǐng)域技術(shù)人員能夠理解消息管理服務(wù)器272不需要在主機(jī)系統(tǒng)250 或者其它網(wǎng)絡(luò)上的單獨(dú)的硬件服務(wù)器上執(zhí)行。例如, 一些或者所有和消息 管理服務(wù)器272相關(guān)的功能可以和管理服務(wù)器268或者主機(jī)系統(tǒng)250上的
其它服務(wù)器結(jié)合。另外,主機(jī)系統(tǒng)250可以包括多個消息管理服務(wù)器272, 特別是在需要支持大量數(shù)目的移動設(shè)備10的變化的執(zhí)行中。
本發(fā)明的實(shí)施方式通常跟在消息編碼中使用的證書有關(guān),例如被加密 或者簽名的電子郵件消息。使用簡單郵件傳輸協(xié)議(SMTP)、 RFC822頭、 和多用途電子郵件擴(kuò)展(MIME)體部分來定義典型電子郵件的格式而不 需要編碼,使用安全/MIME (S/MIME)、 MIME協(xié)議的版本號,來在通信 中編碼消息(例如在安全消息傳送應(yīng)用程序中)。S/MIME促進(jìn)端到端的鑒 權(quán)和認(rèn)證,并且從源端發(fā)送消息時到消息被消息接收方解碼和閱讀期間保 護(hù)數(shù)據(jù)的完整性和私密性??梢允褂闷渌阎臉?biāo)準(zhǔn)和協(xié)議如Pretty Good Privacy (PGP),開放PGP和其它本領(lǐng)域己知的。
諸如S/MIME的安全消息傳送協(xié)議依賴于公開的和私有的加密密鑰來 提供機(jī)密性和完整性,以及依賴于公鑰基礎(chǔ)設(shè)施(PKI)來傳遞提供了認(rèn) 證和鑒權(quán)的信息。使用私鑰/公鑰對中的公鑰加密的數(shù)據(jù),只能使用私鑰/ 公鑰對中相應(yīng)的私鑰進(jìn)行解密,反之亦然。私鑰信息從來不公開,而公鑰 信息是共享的。
例如,如果發(fā)送方希望發(fā)送加密形式的信息給接收方,使用接收方的 公鑰以加密消息,只能在其后使用接收方的私鑰進(jìn)行解密。相應(yīng)的,在一 些編碼技術(shù)中,生成和使用一次性的會話密鑰加密消息體,通常是使用對 稱加密技術(shù)(例如,三重DES)。會話密鑰然后使用接收方的公鑰加密(例 如使用公鑰加密算法RSA),其后只能使用接收方的私鑰進(jìn)行解密。解密 的會話密鑰然后可以用來解密消息體。消息頭可以用來指定必須用來解密 消息的特定加密方案。其它基于公鑰加密算法的加密技術(shù)可以在不同的實(shí) 施中使用。然而在這些情況中,只有接收方的私鑰可以用來進(jìn)行消息的解 密,在這種方式下,能夠保持消息的機(jī)密性。
編碼后的消息可以別加密,簽名或者即加密又簽名。在這些操作中使 用的公鑰的可靠性由證書進(jìn)行驗(yàn)證。證書是由認(rèn)證授權(quán)(CA)指定的一 個數(shù)字文檔。證書用來驗(yàn)證用戶和其公鑰之間的關(guān)聯(lián)性,并且實(shí)質(zhì)上在用 戶公鑰的可靠性上提供信任等級。證書包括證書持有者的信息,證書內(nèi)容 通常根據(jù)接受的標(biāo)準(zhǔn)(如X.509)形成。
參考圖3,示出了示例證書鏈300。發(fā)給"JohnSm池"的證書310是 發(fā)放給個人的證書的例子,可以作為終端實(shí)體的證書。終端實(shí)體證書310 通常能夠識別證書的持有者312 (如在本例中的JohnSmith)、證書的發(fā)布 方314,并且包括一個發(fā)布方的數(shù)字簽名316和證書持有者的公鑰318。 證書310將通常包括其它標(biāo)識證書持有者的信息和屬性(如電子郵件地 址,機(jī)構(gòu)名稱,機(jī)構(gòu)單元名稱,位置等)。
對于一個將被信任的公鑰,其發(fā)行機(jī)構(gòu)必須被信任。 一個信任的CA 和一個用戶的公鑰之間的關(guān)系可以用一系列相關(guān)的證書描述,同樣認(rèn)為其 是一個證書鏈。能夠追蹤證書鏈300以確定證書的合法性。
證書310的發(fā)布方314可以有其自己的證書320。證書320可以已經(jīng) 存儲在計(jì)算機(jī)設(shè)備上了,或者其需要從遠(yuǎn)程證書存儲或資源(如一個公開 或私有的輕量級目錄訪問協(xié)議(LDAP)服務(wù)器)獲取獲取。如果證書320 已經(jīng)存儲在接收方的計(jì)算機(jī)設(shè)備中并且證書被認(rèn)定是被接收方信任的,那 么就認(rèn)為證書310時可信任的,因?yàn)槠滏溄拥揭粋€已存儲的,可信任的證 書。
然而,在圖3的例子當(dāng)中,還需要證書330以驗(yàn)證證書310的信任狀 態(tài)。證書330是個人簽名的,被認(rèn)為是一個"根證書"。因此,證書320 被認(rèn)為是證書鏈300中的一個"中間證書"。假定一個到根證書的鏈能夠 確定特定的終端實(shí)體證書,鏈中可以包括零個, 一個,或多個中間證書。 如果證書330是一個由信任的源發(fā)行的根證書(例如從一個較大的證書管 理局如Verisign或Entrust得到的),證書310可以被認(rèn)為是能夠信任的, 因?yàn)槠滏溄拥揭粋€信任的證書。執(zhí)行過程是消息的發(fā)送方和接收方都信任 根證書的源頭。如果一個證書不能被鏈接到一個信任的證書,那么這個證 書可以被認(rèn)為"不可信"。
證書服務(wù)器保存關(guān)于證書的信息和已經(jīng)被調(diào)用的識別的證書列表。這 些證書服務(wù)器能夠被訪問以得到證書,驗(yàn)證證書的可靠性和撤銷態(tài)。例如 一個LDAP服務(wù)器可以用來得到證書, 一個在線的證書狀態(tài)協(xié)議(OCSP) 被用來驗(yàn)證證書的撤銷狀態(tài)。
標(biāo)準(zhǔn)的電子郵件安全協(xié)議通常促進(jìn)在移動或非移動計(jì)算機(jī)設(shè)備之間
消息傳輸?shù)陌踩?。再次參考圖1和圖2,為了使移動設(shè)備10讀取從遠(yuǎn)
程用戶接收到的簽名的和/或加密的消息,以及為了發(fā)送加密的消息給遠(yuǎn)
程用戶,移動設(shè)備IO適合于存儲其它個人的證書和相關(guān)的公鑰。移動設(shè) 備10可以包括一個指定的密鑰存儲器58,其存儲一個或多個證書62。在 其它實(shí)施方式中,密鑰存儲器58可以是閃速存儲器24或RAM 26中的限 定的區(qū)域。例如在用戶計(jì)算機(jī)262a中存儲的證書通常會通過底座264從 計(jì)算機(jī)262a被下載到移動設(shè)備10。
例如,存儲在計(jì)算機(jī)262a中并被下載到移動設(shè)備10的證書并不局限 于和個體相關(guān)的證書也可以包括指定給CA的證書。存儲在計(jì)算機(jī)262a 和/或移動設(shè)備10中的特定證書可以被用戶明確的指定為"可信任"的。 在密鑰存儲器58存儲的一個或多個證書62包括和一個特定證書62相關(guān) 的個體的相關(guān)的公鑰。這促使消息傳送應(yīng)用程序56使用個體的公鑰加密 發(fā)送給個體的消息。
移動設(shè)備10可以也適合存儲和移動設(shè)備用戶相關(guān)的公鑰/私鑰對中的 私鑰,以使移動設(shè)備10能夠?qū)ζ渖暇庉嫷陌l(fā)送消息進(jìn)行簽名,將使用用 戶的公鑰加密的解密消息發(fā)送給用戶。例如私鑰可以通過底座264從用戶 計(jì)算機(jī)262a下載到移動設(shè)備10上。私鑰一般在用戶計(jì)算機(jī)262a和移動 設(shè)備10之間進(jìn)行交換,因此用戶可以共享接入消息的一個標(biāo)識和一個方 法。
用戶計(jì)算機(jī)262a,262b能夠從一定數(shù)目的資源那得到證書并存儲在用 戶計(jì)算機(jī)262a, 262b和/或移動設(shè)備(如移動設(shè)備10)。這些證書資源可 以是私有的(例如僅在一個機(jī)構(gòu)中使用)或是公開的,可以在本地駐留或 者是遠(yuǎn)程的,可以經(jīng)過機(jī)構(gòu)上的私有網(wǎng)絡(luò)或通過因特網(wǎng)接入。在圖2中顯 示的例子中,多個與機(jī)構(gòu)相關(guān)的PKI服務(wù)器280位于主機(jī)系統(tǒng)250熵。PKI 服務(wù)器280包括一個發(fā)行證書的CA服務(wù)器282, 一個用來搜索和下載證 書(例如為機(jī)構(gòu)中的個體)的LDAP服務(wù)器284,和一個用來驗(yàn)證證書的 撤銷狀態(tài)的OCSP服務(wù)器286。
證書能由用戶計(jì)算機(jī)262a從LDAP服務(wù)器284獲取,例如,從底座264 下載到移動設(shè)備10。 LDAP服務(wù)器284可以由移動設(shè)備10直接接入(例
如,根據(jù)本上下文通過空中接口),移動設(shè)備io可以通過一個移動數(shù)據(jù)服 務(wù)器288搜索和獲取個體證書。相似的,移動數(shù)據(jù)服務(wù)器288可以適合于 允許移動設(shè)備10直接咨詢OCSP服務(wù)器286驗(yàn)證證書的撤銷狀態(tài)。
其它證書的源(未顯示)可以包括一個WindowsTM證書存儲,另外一 個安全證書存儲在主機(jī)系統(tǒng)250上或之外,和智能卡,例如。
再看圖1,設(shè)備IO還包括配置好的依據(jù)一個或多個安全消息協(xié)議發(fā)送 和接收消息的消息傳送應(yīng)用程序56。例如在一個實(shí)施方式中,消息傳送 應(yīng)用程序56被配置依據(jù)S/MIME協(xié)議發(fā)送并接收編碼的消息。消息傳送 應(yīng)用程序56包括證書獲取模塊60,用來發(fā)起從例如一個LDAP服務(wù)器對 個體證書的搜索,或/和驗(yàn)證證書的撤銷狀態(tài)。通過圖1的顯示,證書獲 取模塊60是消息傳送應(yīng)用程序56的一部分,證書獲取模塊60可以由消 息傳送應(yīng)用程序56調(diào)用或觸發(fā),作為一個單獨(dú)的應(yīng)用來部分或整體的執(zhí) 行。
消息傳送應(yīng)用程序56可以還包括搜索觸發(fā)組件64,以決定什么時間 發(fā)起對證書的搜索。例如,和消息傳送應(yīng)用程序服務(wù)器56中組成的目的 地為第一接收方的消息相關(guān),搜索觸發(fā)組件64可以驗(yàn)證密鑰存儲器58以 確定和第一接收方對應(yīng)的證書是否可用。如果正確的證書未在密鑰存儲器 58,或者如果接收方的證書到期了或者其它原因不可用,搜索觸發(fā)組件 64可以命令證書獲取模塊60為接收方得到一個更新的證書。
根據(jù)本發(fā)明,搜索觸發(fā)組件64決定是否需要一個證書,并在消息傳 送應(yīng)用程序56的用戶請求發(fā)送消息之前觸發(fā)必要的搜索。相應(yīng)的,對丟 失的證書的搜索是在從用戶接收到發(fā)送請求之前發(fā)起的。一旦用戶輸入發(fā) 送請求,例如通過點(diǎn)擊"發(fā)送"按鈕或者選擇"發(fā)送"菜單選項(xiàng),搜索觸 發(fā)組件64可以決定是否搜索正在進(jìn)行或者是否有任何證書丟失。
現(xiàn)在參考圖4,其以流程圖的形式顯示了通過計(jì)算機(jī)網(wǎng)絡(luò)從發(fā)送設(shè)備 安全發(fā)送消息到接收方的方法100。方法100從步驟102開始,在消息傳 送應(yīng)用程序中的發(fā)送設(shè)備的用戶發(fā)起"組成"操作。"組成"操作可以包 括開始一個新的消息、響應(yīng)一個接收到的消息、轉(zhuǎn)發(fā)一個接收到的消息, 或者其它任何包括創(chuàng)建傳送給一個或多個接收方的消息操作。只有在用戶
決定安全的發(fā)送消息時才會調(diào)用或應(yīng)用方法100。在一些實(shí)施方式中,這 可以是消息傳送應(yīng)用程序的缺省設(shè)置或者對用戶而言其是可選的選項(xiàng)。
在用戶編輯消息時,移動設(shè)備10 (圖1)特別是搜索觸發(fā)組件64 (圖 1)確定什么時間對接收方列表進(jìn)行改變。在一個實(shí)施方式中,搜索觸發(fā) 組件64確定什么時間新的接收方地址被加到消息上。搜索觸發(fā)組件64可 以也檢測列表或接收方是否改變,例如刪除一個之前的接收方和/或改變 接收方的地址。對于接收方地址的改變可以在一些實(shí)施方式中被解釋為對 之前接收方的刪除或者增加新的接收方。
繼續(xù)參考圖4,在步驟104移動設(shè)備10確定是否為消息指定了新接收 方。有很多方法或機(jī)制用來確定是否為消息增加了新接收方,任何適合的 這樣的方法或機(jī)制都可以在步驟104的連接中使用。 一些可以的機(jī)制在下 邊概述。本領(lǐng)域技術(shù)人員能夠知道能夠提供該功能的選擇的范圍和變化。
如果沒有檢測到新的接收方,方法100循環(huán)到步驟106以確定是否用 戶輸入了發(fā)送命令,例如通過點(diǎn)擊"發(fā)送"按鈕或者選擇"發(fā)送"菜單選 項(xiàng)。如果沒有檢測到發(fā)送命令,方法100返回到步驟104繼續(xù)檢測新的接 收方。
如果在步驟104檢測到新的接收方,方法100繼續(xù)步驟108讀取接收 方。例如,讀取在電子郵件消息的"TO:"字段中的地址。相應(yīng)的,抵制 也可以在步驟104中讀取。
對于步驟108中的每個接收方地址的讀取,在步驟110中移動設(shè)備10 確定是否密鑰存儲器58包含有效的證書(圖1)。如果在移動設(shè)備10上 存在有效的證書,那么在步驟116中方法IOO估計(jì)是否還有更多接收方地 址,如果是,那么循環(huán)回步驟110嘗試定位相應(yīng)的證書。
如果在步驟110中移動設(shè)備10中沒有包含有效證書,方法100繼續(xù)進(jìn) 行步驟112,搜索觸發(fā)組件64確定證書獲取模塊60是否正在進(jìn)行對需要 證書的搜索,如果是,方法100跳轉(zhuǎn)到步驟116。否則,在步驟114搜索 觸發(fā)組件64命令證書獲取模塊60啟動對需要的證書的搜索。
本領(lǐng)域技術(shù)人員應(yīng)當(dāng)知道對于方法100可以有本質(zhì)上并不影響其執(zhí)行 的多種修改方案。例如, 一些步驟可以和其它步驟同時執(zhí)行,或者合并到
其它步驟中, 一些步驟的順序可以改變,可以增加或刪除特定的步驟。作
為例子,步驟110中確定有效的證書是否在移動設(shè)備10上和步驟114中 相應(yīng)的搜索觸發(fā)器可以僅針對在步驟104中識別的,作為已經(jīng)添加的接收 方執(zhí)行。這種改變可以消除在步驟112中確定是否搜索正在進(jìn)行的需要。 其它的變化和修改本領(lǐng)域技術(shù)人員也很容易理解。
在步驟116之后,方法100確定是否存在針對已經(jīng)從消息接收方列表 中刪除的接收方正在進(jìn)行的證書搜索。如果是,在步驟120中搜索觸發(fā)組 件64命令證書獲取模塊60取消該未決的搜索。方法100返回到步驟104 繼續(xù)檢測消息接收方列表的變化直到用戶輸入發(fā)送命令。
一旦用戶輸入發(fā)送命令,消息根據(jù)應(yīng)用協(xié)議如S/MIME被加密和發(fā)送。 在一些實(shí)施方式中,搜索觸發(fā)組件64可以在發(fā)送指令的發(fā)起之后重復(fù)其 確定是否正確的證書可用。
顯而易見的是,方法100檢測到新用戶的增加(包括之前輸入地址的 改變)并發(fā)起證書的獲取過程,如果需要,在用戶輸入發(fā)送命令之前。由 于在用戶發(fā)起發(fā)送命令之前證書可以被找到或者至少對其的搜索已經(jīng)發(fā) 起,這個過程能夠提供快速的用戶體驗(yàn)。因此,在用戶輸入發(fā)送命令和消 息實(shí)際被發(fā)送之間的時間間隔縮短了 。
方法100可以還包括檢査證書是否有效的步驟。這些步驟可以應(yīng)用于 存儲在密鑰存儲器58 (圖1)或者從遠(yuǎn)程證書服務(wù)中獲取的證書上。證書 的有效性可以因?yàn)橐恍┰蚋鶕?jù)時間變化,例如證書可以到期。在一個實(shí) 施方式中,需要一個安全策略使證書的有效狀態(tài)周期性更新。相應(yīng)的,在 步驟110,消息傳送應(yīng)用程序56可以確定在密鑰存儲器58上的證書是否 在特定的時間周期內(nèi)有效。如果證書在特定的時間周期內(nèi)不是有效,證書 可以認(rèn)為是"失效"的,證書的有效性可以在使用前進(jìn)行驗(yàn)證。典型的, 證書的有效性可以通過一個證書管理局或者證書狀態(tài)提供者驗(yàn)證。在一些 例子中,證書狀態(tài)提供者可以和用來獲取證書的服務(wù)是一樣的。如果需要 的證書不是有效的,需要由搜索觸發(fā)組件64發(fā)起搜索。
一旦需要的證書被獲取和驗(yàn)證, 一旦用戶輸入一個發(fā)送命令,消息傳 送應(yīng)用程序56使用證書里的信息例如每個接收方的公鑰加密消息。 正如上面提到的,檢測是否新接收方被加入到一個消息,包含在方法
100的步驟104,可以以多種方式執(zhí)行。現(xiàn)在參考圖5,其顯示了移動設(shè) 備10上的消息傳送應(yīng)用程序56的用戶界面150的具體實(shí)施方式
用戶界面 150在移動設(shè)備10的顯示器22上呈現(xiàn)用戶界面150。用戶和用戶界面150 通過鍵盤32、鍵區(qū)、光標(biāo)運(yùn)動球、姆指輪、手寫筆或者其它輸入設(shè)備進(jìn) 行交互。
該實(shí)施例中的用戶界面150包括在顯示器22的頂部上的工具欄,可 以包括許多圖標(biāo)或菜單選項(xiàng)。例如,可以顯示發(fā)送按鈕160。用戶可以利 用輸入設(shè)備選擇發(fā)送按鈕160以便輸入發(fā)送命令。圖5顯示的用戶界面 150描述了 "組成"視圖,顯示了草稿消息。 '
用戶界面150包括多個域,如地址域152, 154,主題行域156,和主 體域15S。在一次只能有一個(或者零個)域被指定為"活動"狀態(tài)。一 個"活動"的域意味著用戶的輸入會和這個活動域相關(guān)。例如,活動域可 以包括指針,如果任何數(shù)字或字母字符從鍵盤32輸入其會呈現(xiàn)在該活動 域。
地址域152, 154可以包括TO域152和CC域154。本領(lǐng)域技術(shù)人員 會知道其它實(shí)施方式還包括BCC域,或者其它地址域。在一些實(shí)施方式 中,在地址域152, 154中的多個地址之間以逗號或分號隔開。在其它實(shí) 施方式中,在地址域152, 154中只允許一個地址用戶,如果用戶希望將 消息發(fā)送給另一個接收方,可選擇增加另一個地址域,例如另一個TO域 152。
用戶輸入接收方地址到地址域152, 154。例如,如在圖5中看到的, 用戶將草稿消息發(fā)送給john@mail.com禾口 phiI@othercompany.com。在一 些情況下,用戶可以打出接收方的地址到地址域152, 154。另外一些情 況下,消息傳送應(yīng)用程序56可以存儲了名字和其相關(guān)的接收方地址。例 如,消息傳送應(yīng)用程序56可以識別名字"JohnSmith"是和john@mail.com 相關(guān)的,這使用戶能夠輸入"John Smith"代替先前的地址。在其它情況 下,消息傳送應(yīng)用程序56可以提供用戶一個接收方的選擇列表或者菜單。 列表可以是從存儲的一系列聯(lián)系人中抽出的。本領(lǐng)域技術(shù)人員知道這些能
夠接收用戶輸入的相關(guān)接收方的機(jī)制和方法的范圍。
主體域158包括消息的文本。在其它實(shí)施方式中,草稿消息可以包括嵌
入的或附加的非文本單元,包括HTML格式,圖片和域文件。在一些情況 下,當(dāng)前的消息在消息鏈中是回復(fù)或轉(zhuǎn)發(fā)時,主體域158可以包括之前消息 中的文本內(nèi)容。
在一個實(shí)施方式中,搜索觸發(fā)組件64 (圖l)通過監(jiān)測用戶在這些域 中的輸入確定是否新的接收方被加到地址域152, 154。在一個實(shí)施方式 的例子中,搜索觸發(fā)組件64在活動域是地址域152, 154中的一個時記錄 所有的鍵盤32輸入, 一旦活動域變成另外一個域,其可以讀取地址域以 確定是否新的接收方被增加了或者是否舊的接收方被被刪除或改動了 。在 另一個實(shí)施方式中,搜索觸發(fā)組件64可以也相應(yīng)的監(jiān)測地址域152, 154 中通常用來間隔地址的分號的出現(xiàn)。在一些情況下,抵制可以由用戶通過 已知地址或分布式列表的選擇列表或菜單輸入。在這種情況下,搜索觸發(fā) 組件64可以記錄這些菜單被接入了。當(dāng)用戶輸入字符或者改變地址域 152, 154的內(nèi)容時還可以使用其它的機(jī)制或方法進(jìn)行檢測。
當(dāng)前另一個實(shí)施方式中,搜索觸發(fā)組件64可以在焦點(diǎn)(即,活動域) 在地址域152, 154其中的一個時進(jìn)行檢測,當(dāng)焦點(diǎn)改變到另一個域時可 以記錄,例如主體域158。在許多消息傳送應(yīng)用程序中,用戶通常通過將 消息定址為想要的接收方開始編輯消息。用戶然后在輸入發(fā)送命令前打出 消息內(nèi)容。相應(yīng)的,搜索觸發(fā)組件64可以配置為記錄什么時候活動的焦 點(diǎn)從地址域152, 154改變到主體域158或者其它域,響應(yīng)于這個改變, 其確定是否接收方列表是否改變或/和是否需要任何證書。
本領(lǐng)域技術(shù)人員能夠知道,搜索觸發(fā)組件64能夠通過多種機(jī)制檢測 事件,如活動域改變的時間或用戶輸入收到的時間。例如,操作系統(tǒng)52 (圖1)可以允許搜索觸發(fā)組件64注冊以接收特定事件發(fā)生的通知或消 息。搜索觸發(fā)組件64可以監(jiān)測特定的寄存器或存儲器域,被安排接收或 監(jiān)測特定的中斷,或者另外確定移動設(shè)備10狀態(tài)的特征。準(zhǔn)確的執(zhí)行可 以是一種設(shè)計(jì)好的選擇,可以取決于操作系統(tǒng)52和移動設(shè)備10的特征。
現(xiàn)在參考圖6,其顯示了檢測消息接收方變化的示例方法400的流程
圖。方法400從步驟402開始,判斷是否焦點(diǎn)在其中一個地址域上,例如 是否其中一個地址域是"活動"。如果不是,方法400循環(huán)。如果其中的 一個地址域變成活動,方法400移動到步驟404以監(jiān)測是否焦點(diǎn)改變。在 其中一個實(shí)施方式中,步驟404可以確定是否焦點(diǎn)從當(dāng)前的地址域變化到 另一個地址域。在其它實(shí)施方式中,步驟404可以監(jiān)測是否焦點(diǎn)從當(dāng)前的 地址域變化到另一個非地址域。在當(dāng)前另一個實(shí)施方式中,步驟404包括 監(jiān)測焦點(diǎn)改變到特定的域,例如主體域158 (圖5)。
如果在步驟404檢測到遠(yuǎn)離當(dāng)前的地址域的焦點(diǎn)變化了,那么移動設(shè) 備10 (圖l)可以推斷用戶很可能改變了接收方。在圖6的實(shí)施方式中, 方法400可以包括從地址域讀取接收方列表和將這些接收方和之前存儲 的接收方列表進(jìn)行比較。如果檢測到列表的變化,那么方法400可以繼續(xù), 確定在設(shè)備上必需的證書是否可用并且發(fā)起對丟失證書的搜索,正如在上 邊圖4中所描述。搜索觸發(fā)組件64可以在臨時存儲器中存儲當(dāng)前的接收 方列表,以在用戶將焦點(diǎn)返回地址域時(例如增加或刪除一個接收方時) 再執(zhí)行比較。
在另一個實(shí)施方式中,方法400可以假定是在步驟404之后的,接收 方列表的改變是相似的,可以確定對于所有接收方是否需要的證書都是可 用的,以及對任何丟失或無效證書發(fā)起圖4進(jìn)行相關(guān)描述的搜索過程。其 它的變化對本領(lǐng)域技術(shù)人員來說也是顯然的。
對于描述的實(shí)施方式的進(jìn)行特定改寫和修改是允許的。這些討論的實(shí) 施方式只是舉例并不是對本發(fā)明的限制。
權(quán)利要求
1、一種通過計(jì)算機(jī)網(wǎng)絡(luò)(50)從發(fā)送設(shè)備(10)向接收方安全發(fā)送消息的方法,發(fā)送設(shè)備(10)包括消息傳送應(yīng)用程序(56)用于編輯發(fā)送給一個或多個接收方的消息;每個接收方有相應(yīng)的證書(62),每個證書(62)都包含接收方特定的公鑰,發(fā)送設(shè)備(10)使用該公鑰加密傳送給相應(yīng)的接收方的消息;發(fā)送設(shè)備(10)包括存儲器(24,26),在密鑰存儲器(58)存儲一個或多個證書(62);該方法還包括以下步驟檢測步驟,在消息的地址域(152,154)檢測輸入的新接收方;確定步驟,確定密鑰存儲器(58)沒有包含該新接收方的有效證書;啟動步驟,通過計(jì)算機(jī)網(wǎng)絡(luò)(50)啟動對該有效證書的遠(yuǎn)端來源(280)搜索;和下載步驟,下載該有效證書,包括所述新接收方的公鑰;其中所述檢測、確定、啟動步驟都是在接收到發(fā)送消息的用戶指令之前執(zhí)行的。
2、 根據(jù)權(quán)利要求1的方法,其中檢測步驟包括檢測所述地址域(152, 154)是活動的和檢測所述地址域(152, 154)的用戶輸入。
3、 根據(jù)權(quán)利要求2的方法,其中檢測用戶輸入的步驟包括檢測鍵盤 (32)輸入。
4、 根據(jù)權(quán)利要求1的方法,其中消息傳送應(yīng)用程序(56)包括用戶 界面(150),該用戶界面(150)具有編輯消息視窗,和該用戶界面包括 多個域,所述多個域包括所述的地址域(152, 154),并且其中所述的檢 測步驟包括檢測已經(jīng)被指定為活動域的所述的地址域(152, 154),然后 檢測指定中的變化從而使得所述多個域(156, 158)的另一個是所述的活 動域。
5、 根據(jù)權(quán)利要求4的方法,其中所述的多個域包括兩個或多個地址 域(152, 154),其中所述多個域(156, 158)的另一個不包括所述地址域 (152, 154)。
6、 根據(jù)以上任一權(quán)利要求的方法,其中所述檢測步驟輸入的所述新 接收方包括從所述地址域(152, 154)中讀出當(dāng)前的接收方列表,比較當(dāng) 前的接收方列表和預(yù)先存儲的列表,并把所述當(dāng)前的接收方列表存儲為所 述預(yù)先存儲的列表。
7、 根據(jù)以上任一權(quán)利要求的方法,其中所述啟動步驟包括確定是否 正在進(jìn)行對所述有效證書的活動的搜索,如果沒有,啟動該所述搜索。
8、 根據(jù)以上任一權(quán)利要求的方法,其中該方法還進(jìn)一步包括步驟 確定是否針對與所述地址域(152, 154)中刪除的接收方對應(yīng)的證書正在 進(jìn)行活動搜索,如果是,發(fā)起一個指令取消該活動的搜索。
9、 根據(jù)以上任一權(quán)利要求的方法,其中該方法還進(jìn)一步包括步驟 使用所述公鑰加密消息并傳輸加密的消息,其中所述加密和傳輸步驟是響 應(yīng)接收到的所述用戶的發(fā)送指令執(zhí)行的。
10、 一種通過計(jì)算機(jī)網(wǎng)絡(luò)(50)向接收方發(fā)送安全消息的用戶設(shè)備 (10),其中其中該用戶設(shè)備(10)包括顯示器(22),用于呈現(xiàn)顯示消息的用戶界面(150),用戶界面(150) 包括消息的地址域(152, 154);用戶輸入設(shè)備(32, 42),用于接收用戶的輸入; 存儲器(24, 26),包括密鑰存儲器(58)用來存儲一個或多個證書 (62);處理器(38),用于和所述顯示器(22)、存儲器(24, 26)和用戶輸 入設(shè)備(32, 42)交互;消息傳送應(yīng)用程序(56),由所述處理器(38)執(zhí)行,用于編輯和發(fā) 送消息;搜索觸發(fā)組件(64),由所述處理器(38)執(zhí)行,用于檢測所述地址 域(152, 154)中輸入的新接收方,以確定所述密鑰存儲器(58)沒有包 含該新接收方的有效證書,并啟動對所述有效證書的搜索;證書獲取模塊(60),由所述處理器(38)執(zhí)行,用于對所述有效證 書的遠(yuǎn)端來源(280)搜索;并且下載該有效證書,包括所述新接收方的 公鑰; 其中所述搜索觸發(fā)組件(64)適合于在接收到發(fā)送消息的用戶指令之 前當(dāng)所述搜索觸發(fā)組件(64)確定所述密鑰存儲器(58)沒有包含所述有 效證書時,通知所述證書獲取模塊(60)對所述有效證書發(fā)起一個搜索。
11、 根據(jù)權(quán)利要求10中所述的用戶設(shè)備,其中所述搜索觸發(fā)組件(64) 適合檢測所述地址域(152, 154)是活動的并檢測所述地址域(152, 154) 的用戶輸入。
12、 根據(jù)權(quán)利要求11中所述的用戶設(shè)備,其中所述搜索觸發(fā)組件(64) 適合通過所述用戶輸入設(shè)備(32, 42)檢測輸入。
13、 根據(jù)權(quán)利要求10中所述的用戶設(shè)備,其中所述用戶界面(150) 包括多個域,所述多個域包括所述的地址域(152, 154),其中所述的搜 索觸發(fā)組件(64)適合檢測己經(jīng)被指定為活動域的所述的地址域(152, 154),然后檢測指定的變化,從而使得所述多個域(156, 158)的另一個 是所述的活動域。
14、 根據(jù)權(quán)利要求13中所述的用戶設(shè)備,其中所述多個域包括兩個 或以上的地址域(152, 154),其中所述多個域(156, 158)的另一個不 包括所述地址域(152, 154)。
15、 根據(jù)權(quán)利要求10-14中任一所述的用戶設(shè)備,其中所述搜索觸發(fā) 組件(64)適合從所述地址域(152, 154)中讀出當(dāng)前的接收方列表,比 較該當(dāng)前的接收方列表和一個預(yù)先存儲的列表,并把所述當(dāng)前的接收方列 表存儲為所述預(yù)先存儲的列表。
16、 根據(jù)權(quán)利要求10-15中任一所述的用戶設(shè)備,其中所述搜索觸發(fā) 組件(64)包括組件,用于確定是否正在進(jìn)行對所述有效證書的活動的搜 索,如果沒有,啟動該所述搜索。
17、 根據(jù)權(quán)利要求10-16中任一所述的用戶設(shè)備,其中所述搜索觸發(fā) 組件(64)包括組件,用于確定是否針對與所述地址域(152, 154)中刪 除的接收方對應(yīng)的證書進(jìn)行活動的搜索,如果是,發(fā)起指令取消該活動的 搜索。
18、 根據(jù)權(quán)利要求10-17中任一所述的用戶設(shè)備,其中,響應(yīng)接收的 所述用戶的發(fā)送指令,所述消息傳送應(yīng)用程序(56)適合使用所述公鑰加 密消息并傳輸加密的信息。19、 根據(jù)權(quán)利要求10-18中任一所述的用戶設(shè)備,其中所述用戶設(shè)備 (10)包括手持移動設(shè)備(10),其中計(jì)算機(jī)網(wǎng)絡(luò)(50)包括無線網(wǎng)絡(luò)(50)。20、 用于在權(quán)利要求10-19中任一所述的用戶設(shè)備(10)處理器上執(zhí) 行的機(jī)器可讀介質(zhì),以執(zhí)行權(quán)利要求1-9中任一的方法。
全文摘要
一種用于安全發(fā)送消息到接收方的用戶設(shè)備和方法。設(shè)備和方法在接收到來自用戶的發(fā)送指令之前發(fā)起對證書的搜索,該證書用來加密發(fā)送給特定接收方的消息。設(shè)備能夠確定當(dāng)用戶改變了消息的接收方時,用戶編輯消息時確定需要的證書是否存儲在本地的設(shè)備上,或者需要從遠(yuǎn)端來源得到需要的證書。如果需要的證書不在設(shè)備上,那么發(fā)起對遠(yuǎn)端來源的搜索。在接收到用戶發(fā)送的指令之前檢測接收方列表的變化并發(fā)起任何需要的搜索。
文檔編號H04L12/58GK101098234SQ200710146418
公開日2008年1月2日 申請日期2007年5月8日 優(yōu)先權(quán)日2006年5月5日
發(fā)明者馬歇爾·K·布朗, 馬歇爾·S·布朗, 馬歇爾·柯卡普 申請人:捷訊研究有限公司