輔助的證書注冊的制作方法
【專利摘要】證書注冊助理模塊可用于向要從計算設(shè)備向證書頒發(fā)機構(gòu)發(fā)送的證書簽名請求注入挑戰(zhàn)密碼。由此,所述證書注冊助理模塊充當受信任代理,以輔助計算設(shè)備構(gòu)建有效的證書簽名請求,而不需要計算機有權(quán)訪問挑戰(zhàn)密碼。
【專利說明】輔助的證書注冊
【技術(shù)領(lǐng)域】
[0001]本申請要求2011年9月20日提交的序列號為61/536,785的美國專利申請的其
優(yōu)先權(quán),其全文一并在此用作參考。
[0002]本發(fā)明大體上涉及用于認證公共加密密鑰的身份證書,更具體地,涉及輔助的證
書注冊。
【背景技術(shù)】
[0003]用戶設(shè)備(包括但不限于無線移動通信設(shè)備、個人計算機、膝上型或便攜式計算機、智能電話、個人數(shù)字助理(PDA)等)可以生成加密密鑰,用在公鑰基礎(chǔ)設(shè)施(PKI)方案中。在PKI方案中,設(shè)備生成公鑰和對應(yīng)的私鑰。然而,這種密鑰用途有限,除非公鑰與用戶設(shè)備的標識或者用戶設(shè)備的用戶的標識可靠地關(guān)聯(lián)。
[0004]公鑰證書(或者標識證書)是由受信任方發(fā)行的電子文檔。公鑰證書并入數(shù)字簽名,以將公鑰與標識(如個人或機構(gòu)的名稱、關(guān)聯(lián)的地址等信息)捆綁在一起。證書可被用于驗證公鑰屬于設(shè)備或個人。
[0005]標識證書通常包含:公鑰;擁有者的名稱;公鑰的期滿日;發(fā)行數(shù)字證書的證書頒發(fā)機構(gòu)的標識;數(shù)字證書的序列號;以及發(fā)行者的數(shù)字簽名。
【專利附圖】
【附圖說明】
[0006]現(xiàn)在,將參考以下作為示例的附圖進行描述,在所述附圖中示出了示例性實施方式,其中:
[0007]圖1示出了一個本申請的方案所應(yīng)用的示例系統(tǒng),其包括移動通信設(shè)備、證書頒發(fā)機構(gòu)和證書注冊助理模塊;
[0008]圖2示出了根據(jù)實施例的圖1的用戶設(shè)備的方框圖;
[0009]圖3示出了根據(jù)本公開實施例的、用于在圖2的移動通信設(shè)備處實施的、獲取證書的方法的示例步驟;以及
[0010]圖4示出了根據(jù)本公開實施例的、用于在圖2的證書注冊助理模塊處實施的、輔助移動通信設(shè)備獲取證書的方法的示例步驟。
【具體實施方式】
[0011]在公鑰基礎(chǔ)設(shè)施系統(tǒng)中,證書簽名請求(也稱為“CSR”或證書請求)是由 申請人:向證書頒發(fā)機構(gòu)(CA)發(fā)送的申請身份證書的消息,針對先前已經(jīng)生成的公鑰和關(guān)聯(lián)的私鑰。證書簽名請求包含用于標識 申請人:和 申請人:所選擇的公鑰的信息。相應(yīng)的私鑰沒有包含在證書簽名請求中,而是用于對整個證書簽名請求進行數(shù)字簽名。
[0012]如果證書簽名請求成功,則CA將向 申請人:回送已經(jīng)使用CA的私鑰進行數(shù)字簽名的客戶端證書,例如,將該客戶端證書作為電子郵件消息的附件。
[0013]已知的簡單證書注冊協(xié)議(SCEP)允許計算設(shè)備從證書頒發(fā)機構(gòu)(CA)獲取客戶端證書。所獲取的客戶端證書可被進一步用于設(shè)備認證。然而,為了從CA獲取客戶端證書,設(shè)備需要向CA認證自己。該SCEP規(guī)范(該規(guī)范可從tools, ietf.0rg獲得,“draft-nourse-sc印-22”)支持不同的認證機制。一種機制(即所謂的“挑戰(zhàn)密碼”機制)被廣泛的PKI基礎(chǔ)設(shè)施供應(yīng)商所支持。挑戰(zhàn)密碼機制要求設(shè)備向CA提供密碼。而且,一些廠商僅支持所謂的“全球挑戰(zhàn)密碼”機制,其中所有設(shè)備使用相同的密碼。
[0014]這已被意識到是有問題的,因為全球挑戰(zhàn)密碼不認證單個設(shè)備,并且可被用于獲得用于任何標識的證書。因此,避免將全球挑戰(zhàn)密碼直接暴露給設(shè)備可能是審慎的。
[0015]本文建議使得計算設(shè)備與證書注冊助理模塊合作,以制定正確格式化的SCEP證書簽名請求。便利地,證書注冊助理模塊維護全球挑戰(zhàn)密碼,在合作過程期間,不需要向計算設(shè)備揭示挑戰(zhàn)密碼。證書注冊助理模塊通常會被部署在企業(yè)通信基礎(chǔ)設(shè)施內(nèi),以便信任證書注冊助理模塊擁有全球挑戰(zhàn)密碼。值得注意的是,在企業(yè)通信基礎(chǔ)設(shè)施內(nèi),證書注冊助理模塊可實現(xiàn)在消息遞送服務(wù)器處。備選地,在企業(yè)通信基礎(chǔ)設(shè)施之外,證書注冊助理模塊可實現(xiàn)在受信任服務(wù)器(俗稱為“云”)處。
[0016]根據(jù)本發(fā)明的一個方案,提供了一種獲取證書的方法。該方法包括:向證書注冊助理模塊發(fā)送證書簽名請求;從證書注冊助理模塊接收所述證書簽名請求的更改版本的哈希值,所述證書簽名請求的更改版本包括挑戰(zhàn)密碼;對所述哈希值進行簽名以產(chǎn)生用于所述證書簽名請求的更改版本的簽名;以及,向所述證書注冊助理模塊發(fā)送所述簽名。該方法還包括:接收所述證書簽名請求的更改版本的封裝版本;確定所述證書簽名請求的更改版本的封裝版本的簽名;向證書頒發(fā)機構(gòu)發(fā)送所述證書簽名請求的更改版本的封裝版本和用于所述證書簽名請求的封裝版本的簽名。在本申請的其它方案中,提供了一種用于實施該方法的計算設(shè)備,并且提供了一種用于適配計算設(shè)備中的處理器以實施該方法的計算機可讀介質(zhì)。
[0017]根據(jù)本公開的另一方案,提供了一種輔助計算設(shè)備請求證書的方法。該方法包括:從計算設(shè)備接收證書簽名請求;修改所述證書簽名請求以包括挑戰(zhàn)密碼,從而產(chǎn)生承載密碼的證書簽名請求;確定所述承載密碼的證書簽名請求的哈希值;以及,向計算設(shè)備發(fā)送所述哈希值。該方法還包括:從計算設(shè)備接收所述證書簽名請求和簽名;修改所述證書簽名請求以包括挑戰(zhàn)密碼,從而產(chǎn)生簽名的承載密碼的證書簽名請求;對所述簽名的承載密碼的證書簽名請求進行加密以產(chǎn)生加密的簽名的承載密碼的證書簽名請求;以及,向計算設(shè)備發(fā)送所述加密的簽名的承載密碼的證書簽名請求。在本申請的其他方案中,提供了一種用于實施該方法的證書注冊助理模塊,并且提供了一種用于適配實現(xiàn)證書注冊助理模塊的處理器以實施該方法的計算機可讀介質(zhì)。
[0018]參考圖1,示出了用于與下面描述的實施例一起使用的示例性系統(tǒng)的概覽。本領(lǐng)域技術(shù)人員將會理解,可以存在許多不同的拓撲,但是圖1所示的系統(tǒng)有助于說明本申請中所描述的系統(tǒng)的操作和方法。例如,可能存在圖1的概覽中未示出的連接到該系統(tǒng)的許多用戶設(shè)備。
[0019]圖1示出了具有通用通信設(shè)備100形式的計算設(shè)備。本領(lǐng)域技術(shù)人員將會理解,通信設(shè)備100可以包括能夠通過無線方式連接到網(wǎng)絡(luò)的任何計算或通信設(shè)備,包括但不限于:個人計算機(包括平板和膝上型計算機)、個人數(shù)字助理、智能電話等。本領(lǐng)域技術(shù)人員還將理解,這些設(shè)備在本文中可被稱為計算設(shè)備或通信設(shè)備,并且可以具有涉及以下方面的主要功能:通過網(wǎng)絡(luò)的數(shù)據(jù)或語音通信、數(shù)據(jù)存儲或數(shù)據(jù)處理、或個人或生產(chǎn)應(yīng)用的操作;本領(lǐng)域技術(shù)人員還將理解,諸如“移動設(shè)備”、“通信設(shè)備”、“計算設(shè)備”或“用戶設(shè)備”之類的術(shù)語可被互換地使用。
[0020]例如,通信設(shè)備100可以連接到互聯(lián)網(wǎng)服務(wù)提供商,其中圖1的系統(tǒng)的用戶(很可能是與圖1所示的通信設(shè)備100相關(guān)聯(lián)的用戶)在所述互聯(lián)網(wǎng)服務(wù)提供商處具有帳戶。
[0021]通信設(shè)備100可以通過無線發(fā)送和接收來發(fā)送和接收消息和其它數(shù)據(jù),如通常使用射頻(RF)頻譜中的電磁波來完成。例如,消息和其它數(shù)據(jù)的交換可能會發(fā)生在通信設(shè)備100和無線網(wǎng)絡(luò)106的基站之間。通信設(shè)備100可以通過其他方式(例如到通信設(shè)備100上所提供的端口的直接連接)來接收數(shù)據(jù)。這種直接連接的例子是通用串行總線(USB)連接。
[0022]如圖1所示,無線網(wǎng)絡(luò)106經(jīng)由無線基礎(chǔ)設(shè)施110連接到廣域網(wǎng)114 (表示為互聯(lián)網(wǎng))。無線基礎(chǔ)設(shè)施Iio包括無線網(wǎng)關(guān)112,其用于連接到互聯(lián)網(wǎng)114。
[0023]通信設(shè)備100和互聯(lián)網(wǎng)114之間的連接允許通信設(shè)備100訪問連接到互聯(lián)網(wǎng)114的證書注冊助理116。配置服務(wù)器118也被連接到互聯(lián)網(wǎng)114。證書注冊助理116和配置服務(wù)器118可被一起組合在企業(yè)120中,并且共享對數(shù)據(jù)庫117的訪問。證書頒發(fā)機構(gòu)130也被連接到互聯(lián)網(wǎng)114。通信設(shè)備100可以存儲密鑰對124,該密鑰對124包括私密加密密鑰和相應(yīng)的公共加密密鑰。
[0024]圖2示出了作為移動通信設(shè)備100的通信設(shè)備100。移動通信設(shè)備100包括外殼、輸入設(shè)備(例如,具有多個鍵的鍵盤224)和輸出設(shè)備(例如顯示器226),其可以是全畫幅液晶顯示器(IXD)或者全彩IXD。在一些實施例中,顯示器226可以包括觸摸屏顯示器。在這樣的實施例中,鍵盤224可以包括虛擬鍵盤。備選地,可以使用其他類型的輸出設(shè)備。處理設(shè)備(微處理器228)在圖2中被示意性地示為耦合在鍵盤224和顯示器226之間。微處理器228部分響應(yīng)于用戶對鍵盤224上的鍵的激勵來控制顯示器226的操作以及移動通信設(shè)備100的整體操作。值得注意的是,鍵盤224可以包括物理按鈕(鍵),或者在顯示器226是觸摸屏設(shè)備的情況下,鍵盤224可被至少部分實現(xiàn)為“軟鍵”。對所謂的軟鍵的激勵涉及下述二者中的任一者:觸摸顯示軟鍵的顯示器226,或者激勵靠近顯示屏226上的指示的物理按鈕,該指示示出與該物理按鈕關(guān)聯(lián)的臨時動作。
[0025]外殼可被垂直拉長,或可以采用其他尺寸和形狀(包括折疊式外殼結(jié)構(gòu))。在鍵盤224包括與至少一個字母字符和至少一個數(shù)字字符關(guān)聯(lián)的鍵時,鍵盤224可以包括模式選擇鍵或者用于在字母輸入和數(shù)字輸入之間切換的其他硬件或軟件。
[0026]除了微處理器228之外,圖2中還適應(yīng)性地示出了移動通信設(shè)備100的其他部分。這些可以包括通信子系統(tǒng)202、短程通信子系統(tǒng)204、鍵盤224和顯示器226。移動通信設(shè)備100還可以包括其他輸入/輸出設(shè)備,如一組輔助I/O設(shè)備206、串行端口 208、揚聲器211和麥克風212。移動通信設(shè)備100還可以包括:包含閃存216和隨機存取存儲器(RAM) 218在內(nèi)的存儲設(shè)備,以及各種其它設(shè)備子系統(tǒng)220。移動通信設(shè)備100可以包括具有語音和數(shù)據(jù)通信能力的雙向射頻(RF)通信設(shè)備。此外,移動通信設(shè)備100可以具有經(jīng)由互聯(lián)網(wǎng)與其他計算機系統(tǒng)進行通信的能力。
[0027]微處理器228執(zhí)行的操作系統(tǒng)軟件可被存儲在計算機可讀介質(zhì)(例如,閃存216)中,但是也可以存儲在其他類型的存儲設(shè)備(例如,只讀存儲器(ROM)或類似的存儲元件)中。此外,可以將系統(tǒng)軟件、專用設(shè)備應(yīng)用或其部分臨時載入到易失性存儲器(例如隨機存取存儲器(RAM)218)中。也可以將移動設(shè)備接收到的通信信號存儲在RAM218中。
[0028]除了其操作系統(tǒng)功能外,微處理器228還能執(zhí)行移動設(shè)備100上的軟件應(yīng)用??梢栽谥圃炱陂g將控制基本設(shè)備操作(例如,語音通信模塊230A和數(shù)據(jù)通信模塊230B)的預(yù)定應(yīng)用集合安裝在移動通信設(shè)備100上。還可以在制造期間將證書管理模塊230安裝在移動通信設(shè)備100上,以實現(xiàn)本公開的方案。此外,可以在制造期間安裝另外的軟件模塊(示出為其他軟件模塊230N),其例如可以是PM應(yīng)用。PIM應(yīng)用可以能夠組織和管理數(shù)據(jù)項,例如,電子郵件、日程事件、語音郵件、約會安排和任務(wù)項。PM應(yīng)用還可以能夠經(jīng)由以無線電塔代表的無線運營商網(wǎng)絡(luò)270發(fā)送和接收數(shù)據(jù)項。經(jīng)由無線運營商網(wǎng)絡(luò)270,PIM應(yīng)用管理的數(shù)據(jù)項可以與設(shè)備用戶的對應(yīng)數(shù)據(jù)項進行無縫集成、同步和更新,該對應(yīng)數(shù)據(jù)項被存儲在主機系統(tǒng)中或與主機系統(tǒng)相關(guān)聯(lián)。
[0029]通過通信子系統(tǒng)202,以及還有可能通過短程通信子系統(tǒng)204,執(zhí)行通信功能(包括數(shù)據(jù)和語音通信)。通信子系統(tǒng)202包括接收機250、發(fā)射機252和一個或更多個天線(示出為接收天線254和發(fā)射天線256)。此外,通信子系統(tǒng)202還包括處理模塊,例如數(shù)字信號處理器(DSP) 258和本地振蕩器(LO) 260。通信子系統(tǒng)202的具體設(shè)計和實現(xiàn)取決于移動通信設(shè)備100想要在其中操作的通信網(wǎng)絡(luò)。例如,移動通信設(shè)備100的通信子系統(tǒng)202可被設(shè)計為與MobiteXTM、DataTACTM或通用分組無線服務(wù)(GPRS)移動數(shù)據(jù)通信網(wǎng)絡(luò)一起操作,以及還被設(shè)計為與各種語音通信網(wǎng)絡(luò)中的任何語音通信網(wǎng)絡(luò)一起操作,語音通信網(wǎng)絡(luò)例如是高級移動電話服務(wù)(AMPS)、時分多址接入(TDMA)、碼分多址接入(CDMA)、個人通信服務(wù)(PCS)、全球移動通信系統(tǒng)(GSM)、增強型數(shù)據(jù)速率GSM演進(EDGE)、通用移動電信系統(tǒng)(UMTS)、寬帶碼分多址(W-CDMA)、高速分組接入(HSPA)、長期演進(LTE)等。也可以將其他類型的數(shù)據(jù)和語音網(wǎng)絡(luò)(分離的和集成的)與移動通信設(shè)備100 —起使用。
[0030]網(wǎng)絡(luò)接入要求可以根據(jù)通信系統(tǒng)的類型的不同而不同。通常,每個移動設(shè)備關(guān)聯(lián)一個標識符,該標識符能夠唯一地標識所述移動設(shè)備或所述移動設(shè)備已被分配給的用戶。所述標識符在特定的網(wǎng)絡(luò)或網(wǎng)絡(luò)技術(shù)內(nèi)是唯一的。例如,在Mobitex?網(wǎng)絡(luò)中,移動設(shè)備使用與各個設(shè)備相關(guān)聯(lián)的Mobitex接入號(MAN)在網(wǎng)絡(luò)上注冊,而在DataTACTM網(wǎng)絡(luò)中,移動設(shè)備使用與各個設(shè)備相關(guān)聯(lián)的邏輯鏈路標識符(LLI)在網(wǎng)絡(luò)上注冊。然而,在諸如GPRS、UMTS和LTE的網(wǎng)絡(luò)中,網(wǎng)絡(luò)接入與設(shè)備的訂戶或用戶相關(guān)聯(lián)。因此,GPRS, UMTS和LTE設(shè)備使用訂戶標識模塊,通常稱為訂戶識別模塊(SIM)卡或通用用戶識別模塊(USIM)。其它網(wǎng)絡(luò)和其他SIM等價物都在本公開的范圍之內(nèi)。USIM包括在通用集成電路卡(UICC)或嵌入式通用集成電路卡(eUICC)中包含或存儲的應(yīng)用。這些應(yīng)用包含使得設(shè)備能夠在GPRS、UMTS或LTE網(wǎng)絡(luò)中操作的各種參數(shù)。GSM/GPRS網(wǎng)絡(luò)內(nèi)的移動設(shè)備使用國際移動設(shè)備標識(IMEI)號唯一地標識。
[0031]在所要求的網(wǎng)絡(luò)注冊或激活過程已經(jīng)完成后,移動通信設(shè)備100可以在無線運營商網(wǎng)絡(luò)270上發(fā)送和接收通信信號。由接收天線254從無線運營商網(wǎng)絡(luò)270接收到的信號被尋路到接收機250,接收機250提供信號放大、下變頻、濾波、信道選擇等,并且還可提供模數(shù)轉(zhuǎn)換。接收信號的模數(shù)轉(zhuǎn)換使得DSP258可以執(zhí)行更復(fù)雜的通信功能,如解調(diào)和解碼。以類似的方式,DSP258對將要發(fā)送到無線運營商網(wǎng)絡(luò)270的信號進行處理(如調(diào)制和編碼),然后將其提供給發(fā)射機252以進行數(shù)模轉(zhuǎn)換、上變頻、濾波、放大,并經(jīng)由發(fā)射天線256發(fā)送到無線運營商網(wǎng)絡(luò)270 (或多個網(wǎng)絡(luò))。
[0032]除了處理通信信號外,DSP258還提供對接收機250和發(fā)射機252的控制。例如,可以通過DSP252中執(zhí)行的自動增益控制算法來自適應(yīng)地控制應(yīng)用到接收機250和發(fā)射機258中的通信信號的增益。
[0033]在數(shù)據(jù)通信模式下,通信子系統(tǒng)202處理接收到的信號(例如,文本消息或網(wǎng)頁下載),并將其輸入到微處理器228。然后,微處理器228對接收到的信號進行進一步處理,以輸出到顯示器226,或者備選地,輸出到一些輔助I/O設(shè)備206。設(shè)備用戶還可以使用鍵盤224和/或一些其他輔助I/O設(shè)備206 (例如,觸摸板、搖臂開關(guān)、拇指輪、軌跡球、觸摸屏、或者一些其他類型的輸入設(shè)備)來編輯數(shù)據(jù)項(例如,電子郵件消息)。然后,可以經(jīng)由通信子系統(tǒng)202在無線運營商網(wǎng)絡(luò)270上發(fā)送編寫好的數(shù)據(jù)項目。
[0034]在語音通信模式下,除了將接收到的信號輸出到揚聲器211以及由麥克風212產(chǎn)生用于發(fā)送的信號之外,設(shè)備的整體操作與數(shù)據(jù)通信模式下的操作基本相似。還可以在移動通信設(shè)備100上實現(xiàn)備選的語音或音頻I/O子系統(tǒng),例如語音消息錄制子系統(tǒng)。此外,還可以在語音通信模式下使用顯示器226來例如顯示主叫方的標識、語音呼叫的持續(xù)時間或其它與語音呼叫有關(guān)的信息。
[0035]短程通信子系統(tǒng)204使得可以在移動通信設(shè)備100與其他臨近的系統(tǒng)和設(shè)備(沒有必要是相似的設(shè)備)之間進行通信。例如,短程通信子系統(tǒng)可以包括紅外設(shè)備和相關(guān)的電路和組件、藍牙"*通信模塊、射頻標識(RFID)模塊、或者包括近場通信(NFC)控制器的NFC模塊等,以提供與類似使能的系統(tǒng)和設(shè)備的通信。
[0036]證書注冊助理116可以包括與移動通信設(shè)備100的組件類似的組件,如處理器130、通信子系統(tǒng)132和存儲器134。
[0037]概括而言,本文提供了一種機制,其提供在CA130處對來自移動通信設(shè)備100的證書簽名請求的認證,同時不向移動通信設(shè)備100揭示全球挑戰(zhàn)密碼。
[0038]在操作中,證書注冊助理116可以用于將全球挑戰(zhàn)密碼注入要從移動通信設(shè)備100發(fā)送的證書簽名請求。將全球挑戰(zhàn)密碼注入證書簽名請求可能涉及:修改證書簽名請求,以包括全球挑戰(zhàn)密碼。證書注冊助理116已經(jīng)與通信設(shè)備100建立信任關(guān)系。因此,可允許證書注冊助理116充當受信任代理,以輔助移動通信設(shè)備100建立有效的證書簽名請求,而無需移動通信設(shè)備100有權(quán)訪問全球密碼。因為證書注冊助理116將修改簽名的證書簽名請求,所以還提供由移動通信設(shè)備100對該證書簽名請求進行重新簽名。
[0039]在PKI配置步驟中,向證書注冊助理116提供全球挑戰(zhàn)密碼。因為證書注冊助理116是受信任組件,所以向證書注冊助理116提供全球密碼一般可不被視為新的安全威脅。
[0040]為了針對證書管理準備好用戶設(shè)備100,配置服務(wù)器118向用戶設(shè)備100發(fā)送配置簡檔。部分地,配置簡檔包括CA簡檔。CA簡檔包括對信息集合的描述,其中用戶設(shè)備100需要所述信息集合以生成密鑰對124,并且匯編所述需要的信息以形成針對CA130的證書簽名請求。這種信息的示例包括:密鑰長度、算法信息、必要的可分辨的名稱信息,等。
[0041 ] 示例CA簡檔具有如下結(jié)構(gòu):
[0042]證書頒發(fā)機構(gòu)簡檔名稱:測試簡檔
[0043]證書頒發(fā)機構(gòu)類型:MS_企業(yè)
[0044]證書頒發(fā)機構(gòu)主機:ca.test, domain[0045]證書端口:12345
[0046]密鑰算法:RSA
[0047]密鑰長度:2048
[0048]在操作中,參考圖3,移動通信設(shè)備100的微處理器228在(例如)證書管理模塊230C的控制下生成(步驟302)公鑰-私鑰對124,并且可以收集根據(jù)CA簡檔可被作為證書簽名請求的屬性發(fā)送的信息。移動通信設(shè)備100然后創(chuàng)建(步驟304)證書簽名請求。
[0049]例如,證書簽名請求可以是PKCS-10證書簽名請求?!癙KCS”指的是由RSA安全所設(shè)計和公布的一組公鑰加密標準。具體地,PKCS-?ο是一種認證請求標準,其定義了向證書頒發(fā)機構(gòu)發(fā)送的用以請求公鑰證書的消息的格式。由互聯(lián)網(wǎng)工程任務(wù)組(IETF)在麗.ietf.0rg公布的征求意見草案(RFC) 2986中規(guī)定了該PKCS-10標準。
[0050]在創(chuàng)建(步驟304)證書簽名請求之后,微處理器228向證書注冊助理116發(fā)送(步驟306)證書簽名請求。
[0051]在圖4中,示出了在證書注冊助理116處處理來自移動通信設(shè)備100的證書簽名請求的方法中的示例步驟。最初,證書注冊助理116可以接收(步驟402)來自移動通信設(shè)備100的證書簽名請求。作為響應(yīng),證書注冊助理116可以認證(步驟404)該證書簽名請求。例如,可以是下述情況:在證書注冊助理116和移動通信設(shè)備100之間,先前已經(jīng)建立了認證通道。這種先前建立的通道可以使用加密。因此,證書注冊助理116可以僅僅憑借已經(jīng)通過該先前建 立的認證通道進行接收該證書簽名請求而認為該證書簽名請求已經(jīng)被認證(步驟404) ο
[0052]如PKCS-10標準所定義的,證書簽名請求可以具有許多“屬性”。證書簽名請求的這些屬性可以包括如:國家名稱;州或省名;地點名稱;組織名稱;組織單位名稱;通用名稱;和電子郵件地址。
[0053]因此,響應(yīng)于對接收到的證書簽名請求的成功認證(步驟404),證書注冊助理116可以審閱證書簽名請求,以確定移動通信設(shè)備100已經(jīng)包含的屬性所達的范圍?;谶@樣的確定,于是證書注冊助理116可以利用用戶信息更新(步驟406)證書簽名請求的一個或多個屬性,由此產(chǎn)生更新的證書簽名請求。
[0054]證書注冊助理116可以向更新的證書簽名請求注入(步驟408)全球挑戰(zhàn)密碼,從而產(chǎn)生承載密碼的證書簽名請求。該挑戰(zhàn)密碼是證書簽名請求的可選屬性,其是由PKCS-10標準定義的。
[0055]然后,證書注冊助理116可以確定該承載密碼的證書簽名請求的哈希值(步驟410)。
[0056]然而,證書注冊助理116可以向移動通信設(shè)備100發(fā)送(步驟412)該哈希值。證書注冊助理116還可以向移動通信設(shè)備100發(fā)送更新的證書簽名請求(即,不是承載密碼的證書簽名請求,因為密碼沒被暴露)傳輸?shù)揭苿油ㄐ旁O(shè)備100。
[0057]移動通信設(shè)備100的處理器228接收該哈希值(步驟308)。響應(yīng)于接收到(步驟308)該哈希值,處理器228可以對該哈希值進行簽名(步驟310),其中該簽名使用公鑰-私鑰對124中的私鑰。
[0058]然后,處理器228可以向證書注冊助理116發(fā)送(步驟312)證書簽名請求、簽名和注冊機構(gòu)(RA)證書。值得注意的是,移動通信設(shè)備100可以使用CA簡檔中的指定的證書頒發(fā)機構(gòu)主機的地址從CA服務(wù)器獲取RA證書。在無RA的情況下,處理器228可以向證書注冊助理116發(fā)送(步驟312)證書簽名請求、簽名和CA證書。步驟312中發(fā)送的證書簽名請求可以是在步驟306中發(fā)送的原始的證書簽名請求,或者可以是在步驟308中與哈希值一起從證書注冊助理116接收的更新的證書簽名請求。便利地,對于一些實施例,步驟312中的證書簽名請求的發(fā)送有助于避免在證書注冊助理116上存儲。
[0059]證書注冊助理116接收(步驟414)證書簽名請求、簽名和RA證書。
[0060]證書注冊助理116可以使用配置的指紋來驗證(步驟416)接收到的RA證書。應(yīng)該理解,RA證書的拇指指紋是RA證書的哈希值。證書注冊助理116可能已經(jīng)通過在證書注冊助理116與注冊機構(gòu)之間的可信信道獲得了該哈希值。
[0061]證書注冊助理116向證書簽名請求中注入(步驟418)密碼。值得注意的是,在一些實施例中,證書注冊助理116不維護步驟408產(chǎn)生的承載密碼的證書簽名請求的副本。證書注冊助理116還將接收到的簽名加入證書簽名請求,從而產(chǎn)生簽名的承載密碼的證書簽名請求。
[0062]通常,RA接收并認證證書簽名請求,然后將該證書簽名請求傳給CA,在這種情況下,證書注冊助理116使用RA公鑰對簽名的承載密碼的證書簽名請求進行加密(步驟420),以形成加密的簽名的承載密碼的證書簽名請求。有時,不存在RA,并且證書簽名請求直接去往CA,在這種情況下,證書注冊助理116使用CA公鑰對簽名的承載密碼的證書簽名請求進行加密,以形成加密的簽名的承載密碼的證書簽名請求。
[0063]該加密的簽名的承載密碼的證書簽名請求可以使用PKCS-7所定義的數(shù)據(jù)格式來進行封裝。特別地,PKCS-7是一種加密消息語法。由IETF在www.1etf.0rR上公布的征求意見草案(RFC)2315中規(guī)定了該PKCS-7標準。PKCS-7標準可被用于對任何形式的數(shù)字數(shù)據(jù)進行數(shù)字簽名、整理、認證或加密,并且經(jīng)常被用于證書傳播。
[0064]證書注冊助理116向移動通信設(shè)備100發(fā)送(步驟422)加密的簽名的承載密碼的證書簽名請求。
[0065]移動通信設(shè)備100接收(步驟314)加密的簽名的承載密碼的證書簽名請求。然后,移動通信設(shè)備100可以使用PKCS-7簽名的數(shù)據(jù)格式對該加密的簽名的承載密碼的證書簽名請求進行簽名,從而產(chǎn)生正確格式化的SCEP證書簽名請求。
[0066]對該加密的簽名的承載密碼的證書簽名請求進行的這種簽名(步驟316)可以涉及:生成該加密的簽名的承載密碼的證書簽名請求的哈希值;以及對該哈希值進行簽名,其中所述簽名使用密鑰對124中的私鑰。然后,該加密的簽名的承載密碼的證書簽名請求的簽名的哈希值可以作為簽名與該加密的簽名的承載密碼的證書簽名請求一起發(fā)送。
[0067]移動通信設(shè)備100于是可以向CA130發(fā)送(步驟318)所述SCEP證書簽名請求和所述簽名,以注冊CA的SECP服務(wù)。值得注意的是,向CA130發(fā)送(步驟318)所述SCEP證書簽名請求和所述簽名不需要是直接傳輸。事實上,移動通信設(shè)備100可以經(jīng)由其他設(shè)備向CA130發(fā)送(步驟318)所述SCEP證書簽名請求和所述簽名。這種其他設(shè)備可以包括消息遞送服務(wù)器或注冊機構(gòu)。
[0068]在一段時間之后,移動通信設(shè)備100可以從CA130接收(步驟320)客戶端證書。同樣,這種接收可以是直接的或者經(jīng)由其它設(shè)備來完成。這種其他設(shè)備可以包括消息遞送服務(wù)器或注冊機構(gòu)。[0069]便利地,最后兩個步驟,即向SCEP服務(wù)發(fā)送證書簽名請求(步驟318)和接收所得的證書(步驟320),可以在無任何企業(yè)服務(wù)器參與并且不向移動通信設(shè)備100揭示全球密碼的情況下由移動通信設(shè)備100完成。
[0070]本申請的上述實現(xiàn)方式僅用作示例。本領(lǐng)域技術(shù)人員在不偏離所附權(quán)利要求書限定的本申請的范圍的情況下,可以實現(xiàn)對具體實現(xiàn)方式的修改、變更和變化。
【權(quán)利要求】
1.一種請求證書的方法,所述方法包括: 向證書注冊助理模塊發(fā)送證書簽名請求; 從所述證書注冊助理模塊接收所述證書簽名請求的更改版本的哈希值,所述證書簽名請求的所述更改版本包括挑戰(zhàn)密碼; 對所述哈希值進行簽名以產(chǎn)生用于所述證書簽名請求的所述更改版本的簽名;以及, 向所述證書注冊助理模塊發(fā)送用于所述證書簽名請求的所述更改版本的所述簽名; 接收所述證書簽名請求的所述更改版本的封裝版本; 確定用于所述證書簽名請求的所述更改版本的所述封裝版本的簽名;以及向證書頒發(fā)機構(gòu)發(fā)送所述證書簽名請求的所述更改版本的所述封裝版本和用于所述證書簽名請求的所述更改版本的所述封裝版本的所述簽名。
2.根據(jù)權(quán)利要求1所述的方法,還包括:從所述證書頒發(fā)機構(gòu)接收證書。
3.根據(jù)權(quán)利要求2所述的方法,其中所述接收所述證書包括:經(jīng)由其他設(shè)備接收所述證書。
4.根據(jù)權(quán)利要求1所述的方法,其中所述證書簽名請求遵從公鑰加密標準10。
5.根據(jù)權(quán)利要求1所述的方法,還包括,在所述向所述證書注冊助理模塊發(fā)送所述證書簽名請求之前: 生成公鑰和對應(yīng)的私鑰;以及 基于所述公鑰,創(chuàng)建所述證書簽名請求。
6.根據(jù)權(quán)利要求5所述的方法,其中所述對所述哈希值進行簽名使用所述私密加密密鑰。
7.根據(jù)權(quán)利要求5所述的方法,其中所述確定所述簽名還包括: 獲得所述證書簽名請求的所述更改版本的所述封裝版本的哈希值;以及使用所述私鑰對所述證書簽名請求的所述更改版本的所述封裝版本的所述哈希值進行簽名。
8.根據(jù)權(quán)利要求1所述的方法,還包括:與用于所述證書簽名請求的所述更改版本的所述簽名一起,向所述證書注冊助理模塊發(fā)送所述證書簽名請求。
9.根據(jù)權(quán)利要求1所述的方法,還包括:與用于所述證書簽名請求的所述更改版本的所述簽名一起,向所述證書注冊助理模塊發(fā)送注冊機構(gòu)證書。
10.根據(jù)權(quán)利要求1所述的方法,其中所述證書簽名請求的所述更改版本的所述封裝版本包括所述證書簽名請求的所述更改版本的加密版本。
11.根據(jù)權(quán)利要求10所述的方法,其中所述證書簽名請求的所述更改版本的所述封裝版本遵從公鑰加密標準7。
12.根據(jù)權(quán)利要求1所述的方法,其中所述向證書頒發(fā)機構(gòu)發(fā)送所述證書簽名請求的所述更改版本的所述封裝版本和用于所述證書簽名請求的所述更改版本的所述封裝版本的所述簽名包括:經(jīng)由其他設(shè)備發(fā)送所述封裝版本。
13.一種計算設(shè)備,包括: 通信子系統(tǒng),可操作用于: 向證書注冊助理模塊發(fā)送證書簽名請求; 從所述證書注冊助理模塊接收所述證書簽名請求的更改版本的哈希值,所述證書簽名請求的所述更改版本包括挑戰(zhàn)密碼; 向所述證書注冊助理模塊發(fā)送用于所述證書簽名請求的所述更改版本的簽名; 接收所述證書簽名請求的所述更改版本的封裝版本; 向證書頒發(fā)機構(gòu)發(fā)送所述證書簽名請求的所述更改版本的所述封裝版本和用于所述證書簽名請求的所述更改版本的所述封裝版本的簽名;以及處理器,適用于: 對所述哈希值進行簽名,以產(chǎn)生所述簽名;以及 確定用于所述證書簽名請求的所述更改版本的所述封裝版本的所述簽名。
14.一種計算機可讀介質(zhì),其包含計算機可執(zhí)行指令,所述指令在由計算設(shè)備的處理器執(zhí)行時,使所述處理器: 向證書注冊助理模塊發(fā) 送證書簽名請求; 從所述證書注冊助理模塊接收所述證書簽名請求的更改版本的哈希值,所述證書簽名請求的所述更改版本包括挑戰(zhàn)密碼; 對所述哈希值進行簽名以產(chǎn)生用于所述證書簽名請求的所述更改版本的簽名;以及, 向所述證書注冊助理模塊發(fā)送所述簽名; 接收所述證書簽名請求的所述更改版本的封裝版本; 確定用于所述證書簽名請求的所述更改版本的所述封裝版本的簽名;以及向證書頒發(fā)機構(gòu)發(fā)送所述證書簽名請求的所述更改版本的所述封裝版本和用于所述證書簽名請求的所述更改版本的所述封裝版本的所述簽名。
15.一種輔助計算設(shè)備請求證書的方法,包括: 從計算設(shè)備接收證書簽名請求; 修改所述證書簽名請求以包括挑戰(zhàn)密碼,從而產(chǎn)生承載密碼的證書簽名請求; 確定所述承載密碼的證書簽名請求的哈希值; 向所述計算設(shè)備發(fā)送所述哈希值; 從所述計算設(shè)備接收所述證書簽名請求和簽名; 修改所述證書簽名請求以包括挑戰(zhàn)密碼,從而產(chǎn)生簽名的承載密碼的證書簽名請求;對所述簽名的承載密碼的證書簽名請求進行加密以產(chǎn)生加密的簽名的承載密碼的證書簽名請求;以及, 向所述計算設(shè)備發(fā)送所述加密的簽名的承載密碼的證書簽名請求。
16.根據(jù)權(quán)利要求15所述的方法,還包括:在所述接收所述證書簽名請求之后,對所述證書簽名請求進行認證。
17.根據(jù)權(quán)利要求15所述的方法,還包括:在所述接收所述證書簽名請求之后,更新所述證書簽名請求以包括額外的信息。
18.根據(jù)權(quán)利要求15所述的方法,還包括: 接收包括公共加密密鑰的證書; 其中所述加密包括使用所述公共加密密鑰對所述簽名的承載密碼的證書簽名請求進行加密。
19.根據(jù)權(quán)利要求18所述的方法,其中所述證書包括:注冊機構(gòu)證書。
20.一種證書注冊助理模塊,包括:通信子系統(tǒng),操作用于: 從計算設(shè)備接收證書簽名請求; 向所述計算設(shè)備發(fā)送哈希值; 從所述計算設(shè)備接收所述證書簽名請求和簽名; 向所述計算設(shè)備發(fā)送加密的簽名的承載密碼的證書簽名請求; 處理器,適用于: 修改所述證書簽名請求以包括挑戰(zhàn)密碼,從而產(chǎn)生承載密碼的證書簽名請求; 確定所述承載密碼的證書簽名請求的所述哈希值; 修改所述證書簽名請求以包括挑戰(zhàn)密碼,從而產(chǎn)生簽名的承載密碼的證書簽名請求;對所述簽名的承載密碼的證書簽名請求進行加密以產(chǎn)生加密的簽名的承載密碼的證書簽名請求。
21.—種企業(yè)通信基礎(chǔ)設(shè)施,其中部署了根據(jù)權(quán)利要求20所述的證書注冊助理模塊。
22.—種計算機可讀介質(zhì),其包含計算機可執(zhí)行指令,所述指令在由計算設(shè)備中的處理器執(zhí)行時,使所述處理器: 從計算設(shè)備接收證書簽名請求; 修改所述證書簽名請求以包括挑戰(zhàn)密碼,從而產(chǎn)生承載密碼的證書簽名請求; 確定所述承載密碼的證書簽名請求的哈希值; 向所述計算設(shè)備發(fā)送所述哈希值; 從所述計算設(shè)備接收所述證書簽名請求和簽名; 修改所述證書簽名請求以包括挑戰(zhàn)密碼,從而產(chǎn)生簽名的承載密碼的證書簽名請求;對所述簽名的承載密碼的證書簽名請求進行加密以產(chǎn)生加密的簽名的承載密碼的證書簽名請求;以及, 向所述計算設(shè)備發(fā)送所述加密的簽名的承載密碼的證書簽名請求。
【文檔編號】H04L9/32GK103959831SQ201280056809
【公開日】2014年7月30日 申請日期:2012年7月16日 優(yōu)先權(quán)日:2011年9月20日
【發(fā)明者】亞歷山大·謝金, 邁克爾·安東尼·克拉拉, 亞歷山大·特魯斯科夫斯基 申請人:黑莓有限公司