專利名稱:基于硬件的憑證管理的制作方法
背景技術(shù):
經(jīng)由因特網(wǎng)或者其他網(wǎng)絡(luò)的電子商務(wù)(eCommerce)以及商業(yè)對商業(yè)(B2B)的交易,非常需要這些交易中的合伙人之間通信時的保證和信任。當(dāng)一合伙人接收到來自于另一合伙人的信息時,接收方合伙人希望確保所接收到的信息的確來自于發(fā)送方合伙人。例如,當(dāng)供應(yīng)商依照供應(yīng)合同接收到零件的定單時,所述供應(yīng)商希望確信發(fā)送定單的人是與供應(yīng)商簽訂合同的合伙人,而不是冒名頂替者。
目前,零售商、買方以及供應(yīng)商使用安全憑證對諸如合同以及支付的信息進(jìn)行驗(yàn)證,所述安全憑證諸如是數(shù)字簽名、加密密鑰、數(shù)字證書和令牌。通常,這樣需要客戶端平臺上的復(fù)雜或者專業(yè)化的終端-實(shí)體憑證管理應(yīng)用邏輯。憑證管理是信任基礎(chǔ)結(jié)構(gòu)的基礎(chǔ)。它通常由軟件庫來處理,必須將其手工地與正用于現(xiàn)貨交易的軟件應(yīng)用相結(jié)合。
通過參照附圖閱讀所述公開內(nèi)容,可以更透徹地理解本發(fā)明的實(shí)施例,其中圖1示出了使用合伙人通信系統(tǒng)在網(wǎng)絡(luò)上進(jìn)行合伙人交易的一個圖2示出了交易系統(tǒng)的一個實(shí)施例。
圖3示出了操作憑證管理器(CM)的一個實(shí)施例的流程圖。
具體實(shí)施例方式
圖1示出了均使用合伙人通信系統(tǒng)(PCS)的兩個合伙人之間的電子商務(wù)通信環(huán)境。應(yīng)注意的是,這里使用的術(shù)語PCS指的是所使用的允許一個合伙人與另一合伙人通信的任意通信系統(tǒng)。對于此示例來說,假定合伙人A10是制造商,而合伙人B18是合伙人A的零件的供應(yīng)商。他們依賴于基于網(wǎng)絡(luò)的通信,所述網(wǎng)絡(luò)諸如是因特網(wǎng)或者其他“公共”網(wǎng)絡(luò),不過他們還可以在虛擬專用網(wǎng)絡(luò)(VPN)中通信。然而,就安全性而言,他們在主要公共因特網(wǎng)領(lǐng)域比在VPN中安全性要高得多,并且大多數(shù)電子商務(wù)應(yīng)用被設(shè)計(jì)為在影響深遠(yuǎn)并普遍存在的因特網(wǎng)上運(yùn)行。應(yīng)注意的是,這里使用的術(shù)語因特網(wǎng)指的是現(xiàn)有的因特網(wǎng)以及可以在將來取代其地位的任意后繼網(wǎng)絡(luò)。
在其通信的過程中,合伙人A和B可以通過所述網(wǎng)絡(luò)路由信息包,諸如定單請求、合同、采購定單以及工作陳述。所述信息包可以從一個服務(wù)器、路由器或者任意其他諸如防火墻或者因特網(wǎng)安全應(yīng)用的中間物“跳躍”到兩個合伙人端點(diǎn)之間的下一設(shè)備。例如,信息可以在到達(dá)處于合伙人B的通信系統(tǒng)18處的目的地之前,從處于10的合伙人A的通信系統(tǒng)通過在路由器12、服務(wù)器14、另一個路由器16和另一個服務(wù)器17處的跳躍來移動。
在這些跳躍中的任意一處以及它們之間,試圖將它們自己插入交易的黑客或者其他攻擊者有可能獲取信息。舉例來說,所述企圖可以是收集有關(guān)一個或多個合伙人的信息,或者是侵占基金。然而,無論什么原因,攻擊者都是試圖將他或她自己插入交易,他或她或許通過試圖假裝其中一個合伙人的身份來這么做。安全程序允許接收信息的合伙人檢驗(yàn)所接收的信息實(shí)際來自于另一個合伙人,而不是冒名頂替者。安全程序包括加密消息并且封入密鑰、數(shù)字證書或令牌。在圖1的例子中,交易系統(tǒng)(TS)20可以處理這些過程。
任一合伙人的PCS可以采用多種形式其中之一。圖2中示出了這種系統(tǒng)的一個實(shí)施例。所述PCS中是交易系統(tǒng)(TS)。此系統(tǒng)負(fù)責(zé)進(jìn)出所述PCS的所有交易。也可以稱為“主機(jī)”處理器的處理器24根據(jù)需要調(diào)用憑證管理器(CM)26以允許系統(tǒng)20通過端口23進(jìn)行通信。
所述通信系統(tǒng)20還可以包括存儲器28,其還可以是用于CM 26的存儲器的一部分。在一個實(shí)施例中,所述存儲器可以包括允許所述CM 26使用TS 20的公共資源的‘受保護(hù)域’。所述受保護(hù)域是存儲器的一個分區(qū),所述分區(qū)只能由確定的進(jìn)程訪問,并且其中可以駐留CM。所述CM負(fù)責(zé)存儲有效的輸入安全憑證,如稍后將要論述的那樣。
所述CM負(fù)責(zé)存儲、定位以及寄存安全憑證,并且負(fù)責(zé)驗(yàn)證作為輸入消息一部分提供的安全憑證。在這里可以將這些操作稱為憑證交易。所述CM 26可以是一個獨(dú)立的裝置,諸如通用處理器、數(shù)字信號處理器、專用集成電路、現(xiàn)場可編程門陣列或者在主處理器中運(yùn)行的可執(zhí)行代碼,但是都在所述受保護(hù)域中。應(yīng)注意的是,所述消息可以包括合同、采購定單、支付等等,但是作為消息一部分的對象也將包括安全憑證。所述CM內(nèi)是在其上操作CM的平臺的安全裝置。如果系統(tǒng)20的主處理器24工作在“信任”模式,那么所述CM或者CM中的部件允許發(fā)布合適的操作憑證。發(fā)布所述操作憑證然后允許CM 26以及處理器24使用所述操作憑證來與其他平臺交互。如果系統(tǒng)/平臺20可以訪問有效的操作憑證,那么其他平臺只與系統(tǒng)/平臺20交互。應(yīng)注意的是,術(shù)語操作憑證指的是操作安全憑證,其表明所述平臺正工作在安全或信任的模式中。
如果所述平臺20以某種“不安全”方式操作,其中已經(jīng)違反所述信任模式,那么無論是所述處理器沒有正確操作,還是所述存儲器變得惡化等等,所述CM都不會發(fā)布操作憑證。這樣有效地防止所述TS起作用,因此防止PCS A和PCS B之間的通信。同樣,所述CM 26可以提供所有或者部分保衛(wèi)所述受保護(hù)域的機(jī)制。
所述CM 26還防止無效的輸入憑證,避免所述交易系統(tǒng)與其他的、不信任的平臺交互。所述輸入的憑證是在路徑27a上由端口23接收到的,并且在路徑27b上被傳送到所述CM 26。
所述CM 26在路徑22a上向端口23返回有效/無效的結(jié)果。然后所述端口23可以在路徑22b上通信此結(jié)果。作為選擇,憑證和結(jié)果可以在路徑25上被傳送到存儲器中執(zhí)行的程序、或者從中傳送出來。
在本發(fā)明的一個實(shí)施例中,可通過SOAP交易來訪問與所述CM的交易。所述簡單對象訪問協(xié)議 (Simple Object Access Protocol(SOAP)) 合伙人提供了獨(dú)立于平臺的裝置,以便跨越因特網(wǎng)以全部的互操作性進(jìn)行交互。SOAP的一個方面是SOAP數(shù)字簽名元素,包括稱為密鑰元素(KeyElement)的元素。這是與依照SOAP協(xié)議的數(shù)字簽名一起傳送的密鑰。然而,所述安全憑證模塊不需要任何特殊的公共密鑰或者憑證基礎(chǔ)結(jié)構(gòu)。它被設(shè)計(jì)成能兼容所有這種基礎(chǔ)結(jié)構(gòu),所述基礎(chǔ)結(jié)構(gòu)包括X.509v3、SPKI和PGP。
X.509是數(shù)字證書、安全憑證類型的國際電信聯(lián)合會(International Telecommunications Union)推薦。SPKI是安全公共密鑰基礎(chǔ)結(jié)構(gòu)(Public Key Infrastructure),而PGP是良好的保密性(Pretty Good Privacy)?;诿荑€的安全憑證通常向用戶提供一對密鑰,一個公共密鑰和一個私有密鑰。將公共密鑰分發(fā)至所有合伙人,其中用戶希望從那些合伙人那里接收消息。然后,用戶使用私有密鑰來解密使用公共密鑰加密的消息。這些僅僅是安全憑證的實(shí)例,而不是意欲以任何方式來限制權(quán)利要求書的范圍。
使用圖2的CM允許所述TS和PCS利用基于硬件的信任引擎來集成驗(yàn)證、數(shù)字簽名和加密服務(wù),諸如證書處理以及撤消檢驗(yàn)。所述CM可以實(shí)現(xiàn)這一點(diǎn),而不會限制并且復(fù)雜化專有憑證軟件工具包,諸如PKI工具包。
圖3示出了用于操作安全憑證模塊以便確定輸入的憑證是否有效并且消息的內(nèi)容是否可信的方法的一個實(shí)施例。在40,獲得安全憑證。這可以依照許多方式來執(zhí)行;稍后將更詳細(xì)地討論專用于SOAP的方法。在42,解除引用(de-reference)憑證路徑。這里使用的術(shù)語解除引用指的是請求資源的表示。在SOAP中,所述表示可以通過統(tǒng)一資源標(biāo)識符(URI)來指定。
一旦已經(jīng)確定路徑,就在44檢驗(yàn)所述路徑的有效性。路徑驗(yàn)證通常涉及確定憑證的來源是否有效。如果所述來源不是有效的,那么在50憑證驗(yàn)證失敗。如果所述憑證來源是有效的,也就是說,所述路徑已經(jīng)通過檢驗(yàn),那么在46檢驗(yàn)所述憑證以便確定所述憑證是否已經(jīng)被撤銷。監(jiān)控跟蹤憑證的可用資源(諸如證書撤銷列表(CRL),或者使用在線證書狀態(tài)協(xié)議(OCSP)可以做到這一點(diǎn)。如果沒有撤消所述憑證,那么所述憑證通過驗(yàn)證,并且在48存儲所述憑證以供進(jìn)一步使用。如果所述憑證已經(jīng)被撤銷,那么在50憑證驗(yàn)證失敗。
解除引用的具體實(shí)現(xiàn)方式和驗(yàn)證過程將取決于憑證的屬性。如上所述,所述憑證可以作為SOAP消息的簽名元素的一部分而被提供。所述SOAP消息可以如下所示<dsSignature>
<dsKeyInfo>
<dsKeyName>
<KEYS4YOU>
</dsKeyName>
</dsKeyInfo>
</dsSignature>
在該特殊的實(shí)施例中,所述KeyName是具有所述信息的密鑰。
然后,所述CM會定位提供KeyName的來源并且檢驗(yàn)它是有效的。然后會確定是否已經(jīng)撤消了KeyName。是否所述憑證仍是有效的,那么所述CM會存儲KeyName,可能存儲在早先論述的受保護(hù)域中。
在使用SOAP框架的一個實(shí)施例中,路徑驗(yàn)證可以包括引用驗(yàn)證。SOAP簽名的三個元素,即簽名方法(SignatureMethod)、簽署信息(SignedInfo)以及簽名值(SignatureValue)可以根據(jù)SOAP的有效負(fù)載來解析。簽署信息是實(shí)際上被數(shù)字簽名簽署的信息。這通常被規(guī)范化,這意味著將其依照在元素規(guī)范化方法(CanonicalizationMethod)中示出的方法轉(zhuǎn)換為定義明確的、標(biāo)準(zhǔn)的格式。所述簽名方法元素是用于將規(guī)范化的簽署信息轉(zhuǎn)換為簽名值的方法。
除上面提供的元素以外,所述憑證可以包括稱為引用(References)的元素。每個引用元素包括摘要(digest)方法以及對識別出的數(shù)據(jù)對象計(jì)算得到的摘要值。通過計(jì)算其摘要值以及在該值之上的簽名來簽署數(shù)據(jù)對象。稍后通過引用以及簽名驗(yàn)證來檢驗(yàn)所述簽名。
在引用驗(yàn)證中,可以對引用元素中的每個引用執(zhí)行以下過程。所述簽署信息元素是簽署信息中的規(guī)范化方法。這允許所述應(yīng)用可以看出簽署了什么。例如,所述規(guī)范化方法可能已經(jīng)通過使相關(guān)的URI絕對化來重寫了統(tǒng)一資源指示符(URI)。所述簽名過程必須意識到這一點(diǎn)。
然后獲得將要作摘要的數(shù)據(jù)對象,并且使用在其引用規(guī)范中規(guī)定的摘要方法作摘要。所生成的摘要值與所述簽署信息引用(SignedlnfoReference)中的摘要值(DigestValue)相對。如果存在任意失配(mismatch),那么驗(yàn)證失敗。必須指出,這是在圖3的路徑驗(yàn)證過程44內(nèi)的引用驗(yàn)證過程的一個特殊實(shí)例,并且不意欲限制權(quán)利要求書的范圍。
以這樣的方式,當(dāng)與依靠軟件庫的類似系統(tǒng)相比時,提供了在電子商務(wù)系統(tǒng)中用于管理憑證的更快速的裝置。另外,基于硬件的實(shí)現(xiàn)方式將允許用戶能訪問信任引擎,所述信任引擎根據(jù)目前的需要無需任何配置。
因此,雖然已經(jīng)描述了用于驗(yàn)證和管理安全憑證的基于硬件的信任引擎的方法和設(shè)備的特定實(shí)施例,但是這不意味著將這種特殊的引用認(rèn)為是對本發(fā)明范圍的限制,本發(fā)明的范圍由隨后的權(quán)利要求書闡明。
權(quán)利要求
1.一種憑證管理設(shè)備,包括受保護(hù)域;以及位于所述受保護(hù)域內(nèi)的憑證管理器,所述憑證管理器用于執(zhí)行憑證交易。
2.如權(quán)利要求1所述的憑證管理設(shè)備,其中所述憑證管理器還包括由下述構(gòu)成的組的其中之一,所述組包括通用處理器、協(xié)處理器、數(shù)字信號處理器、專用集成電路、現(xiàn)場可編程門陣列以及在受保護(hù)域中操作的的可執(zhí)行代碼。
3.如權(quán)利要求1所述的憑證管理設(shè)備,其中所述憑證交易還包括當(dāng)平臺工作在信任模式時發(fā)布操作憑證。
4.如權(quán)利要求1所述的憑證管理設(shè)備,其中所述憑證交易還包括驗(yàn)證來自于其他平臺的輸入憑證。
5.如權(quán)利要求1所述的設(shè)備,其中所述憑證還包括由下述構(gòu)成的組的其中之一,所述組包括數(shù)字簽名、證書、令牌、公共密鑰以及私有密鑰。
6.一種交易系統(tǒng),包括憑證管理器,用于管理操作憑證并且用于驗(yàn)證輸入消息的輸入憑證;以及存儲器,用于存儲輸入憑證中的有效憑證。
7.如權(quán)利要求6所述的系統(tǒng),其中所述系統(tǒng)還包括主處理器。
8.如權(quán)利要求6所述的系統(tǒng),其中所述系統(tǒng)還包括通信端口,通過所述通信端口接收輸入消息。
9.如權(quán)利要求6所述的系統(tǒng),其中所述系統(tǒng)還包括受保護(hù)域,所述憑證管理器駐留在所述受保護(hù)域中。
10.一種用于操作憑證管理器的方法,所述方法包括以下步驟在憑證管理器接收輸入的安全憑證;解除引用所述安全憑證路徑;確定安全憑證路徑是否有效;如果所述安全憑證路徑是有效的,那么確定是否已經(jīng)撤銷所述安全憑證;并且如果沒有撤消所述安全憑證,那么存儲所述憑證。
11.如權(quán)利要求10所述的方法,其中所述輸入的安全憑證是由下述構(gòu)成的組的其中之一,所述組包括數(shù)字簽名、證書、令牌、公共密鑰以及私有密鑰。
12.如權(quán)利要求10所述的方法,其中解除引用所述安全憑證路徑還包括請求由所述路徑指定的對象的表示。
13.如權(quán)利要求10所述的方法,其中解除引用所述安全憑證路徑還包括解除引用統(tǒng)一資源指示符。
14.如權(quán)利要求10所述的方法,其中所述方法還包括如果所述安全憑證路徑是無效的,那么驗(yàn)證失敗。
15.如權(quán)利要求10所述的方法,其中所述方法還包括如果已經(jīng)撤消了所述安全憑證,那么驗(yàn)證失敗。
16.一種用于操作憑證管理器的方法,所述方法包括以下步驟確定平臺是否工作在信任模式;并且如果所述平臺工作在信任模式,那么發(fā)布操作憑證。
17.如權(quán)利要求16所述的方法,其中所述方法還包括如果已經(jīng)違反了信任模式,那么拒絕發(fā)布憑證。
18.如權(quán)利要求16所述的方法,其中所述信任模式可以因?yàn)橹魈幚砥鞯墓收隙贿`反。
19.如權(quán)利要求16所述的方法,其中所述信任模式可以因?yàn)槭鼙Wo(hù)域的破壞而被違反。
全文摘要
一種憑證管理設(shè)備具有受保護(hù)域以及用于執(zhí)行憑證交易的憑證管理器。憑證交易可以包括確定平臺是否工作在信任模式,并且如果所述平臺工作在信任模式,那么發(fā)布操作憑證。憑證交易可以包括驗(yàn)證來自于其他平臺的輸入憑證。
文檔編號G06Q30/00GK1759402SQ03819841
公開日2006年4月12日 申請日期2003年8月19日 優(yōu)先權(quán)日2002年8月20日
發(fā)明者S·埃西, N·史密斯, W·懷斯曼 申請人:英特爾公司