專利名稱:在使用電子合同的共享處理過程中強制授權(quán)的方法
這個專利文獻(xiàn)公開的一部分包含遵從版權(quán)保護(hù)的資料。當(dāng)它出現(xiàn)在專利商標(biāo)局專利文件或者記錄中時,版權(quán)所有者不反對任何人復(fù)制該專利文獻(xiàn)或者專利公開,然而在別的方面卻無論如何都保留對該版權(quán)的所有權(quán)利。
背景技術(shù):
1.領(lǐng)域本發(fā)明通常涉及在計算機系統(tǒng)和網(wǎng)絡(luò)中的商務(wù)處理的安全性,更具體地說,涉及使用用來支持商務(wù)處理的電子合同。
2.描述諸如因特網(wǎng)和萬維網(wǎng)(WWW)的大規(guī)模計算機網(wǎng)絡(luò)已經(jīng)使得公司自動化先前不可能或者那么做成本效果低進(jìn)行的它們業(yè)務(wù)的某些方面成為可能。最近開發(fā)的與因特網(wǎng)有關(guān)的技術(shù)已經(jīng)用于代替早期用于經(jīng)營商業(yè)的通信形式(例如,電話、傳真、郵件、和個人會議)。這些經(jīng)營商業(yè)的傳統(tǒng)方法在歷史上已經(jīng)得到被商業(yè)和法定團(tuán)體理解得很好的行為和法律的規(guī)范進(jìn)行支持。然而,當(dāng)商業(yè)實體同意在因特網(wǎng)上經(jīng)營業(yè)務(wù)時,一些用于標(biāo)識和強制商務(wù)關(guān)系的傳統(tǒng)機制由電子、自動化的機制所代替。通常,自動化能夠除去幫助限制暴露于欺詐下的物理屏障。當(dāng)一方親自引導(dǎo)和另一方的業(yè)務(wù)時,某些社會規(guī)范,以及法律構(gòu)造,可以用來幫助保證一個事務(wù)是被授權(quán)和可實施的。當(dāng)一個業(yè)務(wù)是在因特網(wǎng)上在兩個當(dāng)事方(它們可能相互不認(rèn)識,或者彼此非常理解)之間進(jìn)行時,欺詐的可能性就會增加。至少,就該電子交易而論,這些當(dāng)事方可能不確定它們的權(quán)利和義務(wù)。
電子商務(wù)實踐有時被稱為商務(wù)處理。商務(wù)處理可以指實現(xiàn)諸如一個公司的商業(yè)實體的目標(biāo)的、人工和自動化動作的任何組合。不涉及外部實體的過程被稱作內(nèi)部處理過程。那些關(guān)注外部、涉及與其它實體的至少某些交互的處理過程被稱作共享的處理過程。當(dāng)在兩個實體之間經(jīng)由一個諸如因特網(wǎng)的計算機網(wǎng)絡(luò)實現(xiàn)共享的處理過程時,就存在諸如欺詐、拒付、和未授權(quán)訪問的危險可能性。
諸如防火墻、加密套接字協(xié)議層(SSL)、和虛擬專用網(wǎng)絡(luò)(VPN)的技術(shù)可以用來幫助保護(hù)這樣的共享處理過程。然而,因為它們?nèi)狈τ冒踩詮娭茩C制來約束在這些實體之間的商務(wù)關(guān)系表示(如可以由一個合法合同的條款所定義的那樣)的機制,所以它們是有缺陷的。此外,面向連接的機制(例如,防火墻、SSL、VPN)不能夠以一個其中可以顯著地減少欺詐風(fēng)險的粒度級別控制商務(wù)交互。許多被使用用于電子商務(wù)的安全性機制依賴于保持不在一個商務(wù)交易任一方的控制之下的私有密鑰的認(rèn)證中心(CA)。使用外部CA導(dǎo)致一個商務(wù)協(xié)議的條款和用于強制這些條款的安全性機制的分離。這個分離導(dǎo)致欺詐發(fā)生的機會。
此外,在網(wǎng)絡(luò)中的較低層應(yīng)用安全增加了一個用戶在用于電子商務(wù)實踐的計算系統(tǒng)中必須具有的信任程度。需要一種更好的方法,借此一個共享處理過程的當(dāng)事方能夠更好地把明確或者隱含地包含在一個商業(yè)合同中的限制鏈接到該計算系統(tǒng)。
附圖簡要說明通過以下本發(fā)明的詳細(xì)說明,本發(fā)明的特征和優(yōu)點將變得明顯,其中
圖1是依據(jù)本發(fā)明實施例的共享商務(wù)處理的框圖;圖2是一個框圖,說明了依據(jù)本發(fā)明實施例的電子合同;圖3是依據(jù)本發(fā)明的實施例、使用電子合同的標(biāo)識和授權(quán)處理過程的流程圖;以及圖4是一個框圖,說明了依據(jù)本發(fā)明的實施例、用于實現(xiàn)和使用電子合同的示例系統(tǒng)。
詳細(xì)說明本發(fā)明的實施例包含使用一個稱作電子合同的數(shù)據(jù)結(jié)構(gòu)的方法。該電子合同可以用來允許使商業(yè)對商業(yè)(B2B)電子商務(wù)(ecommerce)自動化而不犧牲端到端的安全性。電子合同可以被廣闊地應(yīng)用于任何基于公用密鑰密碼系統(tǒng)的電子關(guān)系,其中密鑰的使用幫助標(biāo)識與一個商務(wù)關(guān)系有關(guān)的動作以及其中實體世界的關(guān)系也取決于合同法。本發(fā)明的實施例提供了這樣一個機制,它用于把合法實體(例如,公民、公司、等等)的公共密鑰和商務(wù)處理的共享子過程進(jìn)行綁定在一起,由此把處理過程判定約束到公共密鑰,該公共密鑰反過來被約束(非電子地)到商業(yè)合同。因此,本發(fā)明的實施例支持共享的處理過程而不使用信任的第三當(dāng)事方(類似于認(rèn)證中心)以及幫助阻止在這樣處理過程中欺詐的可能性。
在本說明書中對本發(fā)明的“一個實施例”或者“一實施例”的參考意指結(jié)合該實施例描述的一個特定特征、結(jié)構(gòu)或者特點被包含在本發(fā)明的至少一個實施例中。因此,遍及本說明書在不同位置出現(xiàn)的短語“在一個實施例中”的出現(xiàn)指的未必都是同一個實施例。
當(dāng)貿(mào)易實體希望共享商務(wù)處理時,它們一般地依賴于某種形式的密碼系統(tǒng)來向商務(wù)消息交換提供安全性。如果發(fā)送者在一個合同的條款下面能夠被接收者驗證為一個具有權(quán)力來交換消息的實體,則該交換是有意義的。條款的機器可讀表示對應(yīng)于數(shù)據(jù)結(jié)構(gòu)(諸如處理過程定義、角色名稱、加密密鑰、等)。需要共享處理過程單元的一種通用表示以避免句法上的不一致??赡苓€存在語義不一致。在確定語義方面商業(yè)合同是所能求助的最終點。能夠在當(dāng)事方之間采取中間步驟來電子地規(guī)定語法和語義以及查找一種適合于兩個/所有當(dāng)事方的映射。本發(fā)明的實施例經(jīng)由電子合同提供了這樣一種以電子形式的通用表示。本發(fā)明把該當(dāng)事方的公共密鑰和商務(wù)處理通信交換綁定在一起。
當(dāng)前一種用于在兩個或更多當(dāng)事方之間協(xié)商一個商務(wù)關(guān)系的方法包含使用一個貿(mào)易伙伴協(xié)議。貿(mào)易伙伴協(xié)議方法通常不把一個公用密鑰和該商業(yè)活動相關(guān)聯(lián),其中用于那個密鑰的授權(quán)機構(gòu)還用于保護(hù)在當(dāng)事方之間的信息交換。該貿(mào)易伙伴協(xié)議方法可以使用一個信任的第三方(例如,CA)來要求與貿(mào)易伙伴相關(guān)聯(lián)的公共密鑰,該第三方不共享該共享過程的責(zé)任,或者不把貿(mào)易伙伴密鑰的使用和商業(yè)合同相關(guān)聯(lián)。與此相反,本發(fā)明代之以在貿(mào)易伙伴(2個或多個)之間使用一個電子合同某些部分的交叉簽訂,由此提供了共享商務(wù)處理貿(mào)易伙伴的聯(lián)合意向的電子證據(jù)。通過該電子合同的數(shù)字簽名允許做出至少幾個聲明。在該電子合同中包含的公共密鑰表示一起合作的一組商業(yè)(或者合法)實體或者當(dāng)事方。該當(dāng)事方依據(jù)由該電子合同描述的處理過程、手續(xù)、以及約定來合作通過交易。在該電子合同中標(biāo)識的每個當(dāng)事方(合法實體)同意該合同而且將由該合同約束。每個當(dāng)事方將承擔(dān)由該合同所定義的法律責(zé)任和義務(wù)。
在先前的方法下,如果兩個當(dāng)事方都不能找到信任的、一個諸如CA的第三方,則這兩個當(dāng)事方必須依賴于較不安全或者較不自動化的裝置來參與商務(wù)。如果找到一個信任的第三方,則經(jīng)常會有這樣的情況,即這第三方否認(rèn)對在交易期間發(fā)生的不合需要事件的責(zé)任。因此,就有一個原有的當(dāng)事方獨立地作出它們義務(wù)的細(xì)節(jié)的需要。本發(fā)明提供了一種用于允許當(dāng)事方定義可能在一個共享處理過程期間發(fā)生的、預(yù)期的通信交換的方法以及用于自動地驗證該商務(wù)關(guān)系的條款的機制。
圖1是依據(jù)本發(fā)明一個實施例的共享商務(wù)處理的一個框圖。當(dāng)事方A10和B12期望一起進(jìn)行電子商務(wù)。雖然在這個示例中的僅僅顯示了兩個當(dāng)事方,但是應(yīng)當(dāng)理解任意數(shù)量的當(dāng)事方都可以使用在本發(fā)明中定義的單個電子合同進(jìn)行通信。當(dāng)事方A具有一組它希望和當(dāng)事方B共享的一個或多個電子商務(wù)處理14。類似地,當(dāng)事方B具有一組它希望和當(dāng)事方A共享的一個或多個電子商務(wù)處理16。本發(fā)明使用一個電子合同18來設(shè)置在A與B之間的一個關(guān)系以便A信任B和B處理過程的結(jié)果,以及B信任A和A處理過程的結(jié)果。簽訂的電子合同18包含一個獨立的文檔(在一個實施例中以XML的形式),該獨立文檔包含一個商業(yè)合同的人類可讀和機器可讀的表示,以及能夠用來驗證在貿(mào)易伙伴(A和B)之間或者它們的代表之間的信息交換的加密密鑰。
例如,B可以具有一個處理過程來為B或者B的下屬產(chǎn)生某些結(jié)果。因為電子合同18的存在,A和A的下屬能夠信任B處理過程的結(jié)果。以一個相應(yīng)的方式,A可以具有一個處理過程來為A或者A的下屬產(chǎn)生某些結(jié)果。B和B的下屬則能夠信任A處理過程的結(jié)果。以這種方式,A和B可以以一種可信賴的方式共享處理過程,這是因為該電子合同作為一個定義了A和B的權(quán)利、職責(zé)、和通信要求的互操作性協(xié)議而起作用。在本發(fā)明的實施例中,該電子合同包含用于A和B中的每一個的、一個非對稱加密密鑰對的公用密鑰。因為分別由貿(mào)易伙伴控制的密鑰是描述貿(mào)易伙伴操作語義的電子合同的一部分,所以可以斷定該信任關(guān)系。由在該電子合同中包含的條款限制的、由A執(zhí)行的操作能夠由B進(jìn)行解釋,并且期望B的解釋匹配A的解釋。
本發(fā)明的實施例提供了至少以下的特征。本發(fā)明創(chuàng)建了一個電子文檔(例如,電子合同18),它包含允許特定合法實體(例如,當(dāng)事方A10和當(dāng)事方B12)在一個合法合同的保護(hù)下參與一個具體共享處理過程的自動化交換所必需的信息。它把加密密鑰和合法實體相關(guān)聯(lián)。它還把該加密密鑰和表示該共享處理過程的子過程的標(biāo)識符相關(guān)聯(lián),其中該共享處理過程可以由一種描述語言所表示。在一個實施例中,該描述語言是XML,但是還可以使用其它的語言而且本發(fā)明在范圍上不限于這一方面。用于該共享處理過程的處理過程定義具有這樣的屬性,即當(dāng)事方的商務(wù)關(guān)系的合同義務(wù)的語義被整合到該處理過程定義中。本發(fā)明因此把一個人類可讀的合同和一個機器可讀的、電子合同(處理過程定義)相關(guān)聯(lián),因此爭論的解決能夠通過人的干預(yù)得以調(diào)停。該電子合同明確地聲明由該當(dāng)事方達(dá)成一致的且用于該共享處理過程的服務(wù),諸如檔案的審計、加時戳、和保存。該電子合同還明確地聲明可以用來使涉及影響該共享處理過程的判定的安全性的語義合格的信息,諸如命名空間的定義和角色映射。另外,本發(fā)明使用多個數(shù)字簽名來綁定相關(guān)的信息。該簽名的語義是這樣的,即通過簽訂該電子合同,當(dāng)事方對該電子合同的條款達(dá)成一致。
電子合同通??梢詰?yīng)用于其中有一個電子表示以及其中體力勞動關(guān)系由合同法控制的任何關(guān)系。一個用于本發(fā)明電子合同的數(shù)學(xué)基礎(chǔ)起源于1999年9月,由Carl M.Ellison、Bill Frantz、ButlerLampson、Ron Rivest、Brian M.Thomas、和Tatu Ylonen所著,因特網(wǎng)RFC 2693的“SPKI Certificate Theory”,和1999年,JonHowell和David Kotz在Dartmouth College的Department ofComputer Science Technical Report PCS-TR99-361中的“AnAccess-Control Calculus for Spanning AdministrativeDomains”中公開的研究內(nèi)容。
圖2是一個框圖,說明了依據(jù)本發(fā)明一個實施例的一個電子合同。電子合同18,也稱作一個互操作性協(xié)議,定義了一個把貿(mào)易伙伴和密鑰、合同和商務(wù)處理單元(子過程)相關(guān)聯(lián)的方案,安全機制可以根據(jù)該方案進(jìn)行存取控制判定。該電子合同包含至少以下的部分。在一個實施例中,通用信息部分30提供了一個指定協(xié)議名稱和標(biāo)識符的信息,以及當(dāng)前修訂版等級和歷史數(shù)據(jù)。命名空間授權(quán)部分32描述了表示一個對應(yīng)于在該電子合同中使用的加密密鑰的域的命名空間的第三當(dāng)事方。在某些情況中,該共享處理過程的部分或者全部可以由標(biāo)準(zhǔn)或者在該貿(mào)易伙伴關(guān)系以外的其它組定義。命名空間允許一個公用密鑰與一個對該定義實體的引用相關(guān)聯(lián)。在操作上,該過程定義的復(fù)雜細(xì)節(jié)將不會被包含在該電子合同中,但是被外部引用。命名空間定義了由貿(mào)易伙伴接受的外部引用的集合。合同信息部分34提供了有關(guān)是該電子合同主題的、底層商務(wù)協(xié)議的數(shù)據(jù)。它把在該合同下可能是有責(zé)任的當(dāng)事方和公共密鑰相關(guān)聯(lián)。這個部分可以包含諸如合同標(biāo)識符、有效期、創(chuàng)建日期、仲裁者、有責(zé)任的當(dāng)事方、簽訂的公共密鑰、以及用于該當(dāng)事方的聯(lián)系信息(例如,名稱、地址、電話和傳真號、等等)的數(shù)據(jù)。
處理過程信息部分36提供了一個用于該共享商務(wù)處理過程的子過程的角色名稱的映射,以及角色名稱的語法和語義的說明。為了共享處理過程,當(dāng)事方需要具有用于商務(wù)處理過程的子過程的通用定義。例如,當(dāng)事方A可以支持購買訂單處理,但是使用一個諸如“P.O.agent”的術(shù)語用于執(zhí)行這個功能的A的下屬。然而,當(dāng)事方B可以使用術(shù)語“purchaser”用于在B處由B的下屬執(zhí)行的相同功能。因此,當(dāng)事方可以具有不同的名稱用于相同的功能。這個部分使用于該商務(wù)處理子過程的全異的角色名稱一致。為了進(jìn)一步說明該示例,當(dāng)執(zhí)行訪問控制估計時,如果一個與購買有關(guān)的A的處理過程正被請求的話,則將指定一個“P.O.agent”,但是如果該處理過程在A與B之間共享而且B使用術(shù)語“purchaser”,要不是在電子合同中有在B中的“purchaser”到在A中的“P.O.agent”的映射,則這將使一次授權(quán)檢查失敗。
支持服務(wù)部分38描述了可以在支持該共享處理過程中使用的輔助服務(wù)。這樣的服務(wù)可以包含保存檔案、執(zhí)行審計、和給該協(xié)議加時間戳。雖然在此描述了三個服務(wù),但是還可以指定其它的支持服務(wù)。對于檔案文件,這部分描述了檔案文件存儲的位置,以及用于保證該存檔數(shù)據(jù)安全的加密密鑰。對于審計,這部分描述了該審計數(shù)據(jù)存儲的位置,以及用于保密該審計數(shù)據(jù)的加密密鑰。對于時間戳,這部分描述了該時間戳數(shù)據(jù)存儲的位置,以及用于保密該時間戳數(shù)據(jù)的加密密鑰。在各個實施例中,第三當(dāng)事方可以被使用來提供該檔案文件、審計、和時間戳的支持服務(wù)。如果該服務(wù)被外包給第三方,則該部分應(yīng)當(dāng)指定該第三方的公用密鑰以便當(dāng)事方A和B對于該選定的第三方來提供該服務(wù)達(dá)成一致。這樣就把第三方的公用密鑰和所提供的服務(wù)相關(guān)聯(lián)。
數(shù)字簽名部分40允許貿(mào)易伙伴數(shù)字地簽訂該電子合同。每個當(dāng)事方都簽訂該合同,以允許多邊和獨立的驗證。這一部分可以包含當(dāng)事方的數(shù)字簽名以及一個或多個證人(例如,第三當(dāng)事方)的數(shù)字簽名。該數(shù)字簽名可以在該電子合同之前或者附加在后面。
表格I顯示了以XML表示的本發(fā)明的該電子合同的一個實施例,但是可以使用其它的描述性語言。
表I<pre listing-type="program-listing"><![CDATA[ ?。迹?-***************************************************************--> ?。?!ELEMENT SignedlA(IAData,IASignature)> ?。迹LEMENT IAData data%IA;> ?。?!ELEMENT IASignature%dsigSignature;> <!--***************************************************************--> <!--***************************************************************--> ?。迹?-INTEL eContract DTD--> ?。?!--File nameIA.DTD--> ?。?!--(C)Copyright INTEL Corporation 2000--> <!--***************************************************************--> <!DOCTYPE eContract ?。迹LEMENT eContract(ECInfo,NameSpace*,Contractlnfo,Processlnfo,Servicelnfo, Comment*)> ?。?!ATTLIST IA xmlns CDATA#IMPLIED> ?。迹?-***************************************************************--> ?。?-General information--> ?。?!--***************************************************************--> ?。?!ELEMENT ECInfo(AgeementId,AgreementName,Revision?)> ?。迹LEMENT AgreementId(#PCDATA)> ?。?!ELEMENT AgreementName(#PCDATA)> ?。迹LEMENT Revision(History*)> ?。迹TTLIST Revision rev CDATA#IMPLIED> ?。迹LEMENT History EMPTY><!ATTLIST History AgreementId CDATA#REQUIRED> ?。迹?-***************************************************************--> ?。迹?-Namespace Authorities--> ?。迹?-***************************************************************--> ?。?!ELEMENT NameSpace(Id,Location,PublicKey?)> <!ELEMENT Id(#PCDATA)> <!ELEMENT PublicKey(#PCDATA)> ?。?!--***************************************************************--> <1--Contract Info--> ?。?!--***************************************************************--> ?。?!ELEMENT Contractinfo( ContractId, Contract, ValidityPeriod, CreationDate, Arbitor*, LiableParty+)> ?。?!ELEMENT ContractId(#PCDATA)> <!ELEMENT Contract(#PCDATA)> ?。迹LEMENT ValidityPeriod EMPTY> ?。迹TTLIST ValidityPeriod from CDATA#IMPLIED to CDATA#IMPLIED> ?。?!ELEMENT CreationDate(#PCDATA)> ?。?!ELEMENT Arbitor(ContactName,SigningPublicKey)> ?。迹LEMENT LiableParty(ContactName,SigningPublicKey)> <!ELEMENT SigningPublicKey(#PCDATA)> <!ATTLIST SigningPublicKey KeyId CDATA#REQUIRED><!--fingerprint--> ?。迹LEMENT ContactName(#PCDATA)> ?。?!--***************************************************************--> <!--Process Information--> <!--***************************************************************--> ?。?!ELEMENT Processlnfo(ProcessDef,PerformerRoleMapping*)> ?。迹LEMENT ProcessDef(#PCDATA)><!ATTLIST ProcessDef Type NMTOKEN#IMPLIED Ref IDREF#IMPLIED> ?。?!ELEMENT PerformerRoleMapping(FromRole,ToRole)> ?。?!ELEMENT FromRole EMPTY> ?。?!ATTLIST FromRole domainid CDATA#REQUIRED role NMTOKEN#REQUIRED> <!--domainId is the′Keyid′fingerprint for liable party--> <!ELEMENT ToRole EMPTY> <!ATTLIST ToRole domainId CDATA#REQUIRED role NMTOKEN#REQUIRED> ?。?!--***************************************************************--> ?。迹?-Support Services--> ?。?!--***************************************************************--> <!ELEMENT ServiceInfo(Archive*,Audit*,Timestamp*)> <!ELEMENT Archive(Location,SignaturePublicKey,PrivacyPublicKey)> ?。迹LEMENT SignaturePUblicKey(#PCDATA)> ?。?!ELEMENT PrivacyPublicKey(#PCDATA)> <!ELEMENT Audit(Location,SignaturePublicKey,PrivacyPublicKey)> <!ELEMENT Timestamp(Location,SignaturePublicKey,PrivacyPublicKey)> ?。?!ELEMENT Location EMPTY> ?。?!ATTLIST Location Ref CDATA#REQUIRED> ?。迹?-***************************************************************--> ?。迹?-Comment--> ?。迹?-***************************************************************--> ?。?!ELEMENT Comment(#PCDATA)> ]><!--end of DOCTYPE InteropAgreement-->]]></pre>表II說明了遵循以上文檔類型描述的一個示例XML文檔。
表II<pre listing-type="program-listing"><![CDATA[ <InteropAgreement> ?。糏AInfo> ?。糀geementId>777777</AgreementId> ?。糀greementName>Smith JonesJohnson</AgreementName> ?。糝evisionrev=″1.0″></Revision></IAlnfo> <NameSpace> ?。糏d>333333</Id> ?。糒ocation ref=″www.intel.com/3″></Location> ?。糚ublicKey> GIE389fjlk8FESfslk32o98743</PublicKey> </NameSpace> ?。糔ameSpace> ?。糏d>333334</Id> ?。糒ocation ref=″www.intel.com/4″></Location> ?。糚ublicKey>GIE389fjlk8FESfslk32o98743</PublicKey> ?。?NameSpace> ?。糃ontractInfo> <ContractId>777777-1111</ContractId> ?。糃ontract>This is the contract...</Contract> <ValidityPeriod from=″Jan 1,1000″to=″Jan 1,3000″> ?。糔alidityPeriod> ?。糃reationDate>Jan 1,999</CreationDate> ?。糒aibleParty> <ContactName>John Hancock</ContactName> ?。糞igningPublicKey keyid=″289839283> tioAFSOf389ffa7f873yf ?。?SigningPublicKey> ?。?LiableParty> ?。?Contractinfo> <Processlnfo> ?。糚rocessDef type=″purchase order″ref=″www.standard.org/1″> <PerformerRoleMapping> ?。糉romRole domainId=′12345′role=″Purchaser″></FromRole> ?。糡oRole domainId=′54321′role=″Purchase Agent″></ToRole> ?。?PerformerRoleMapping> ?。?ProcessDef> ?。?ProcessInfo><Servicelnfo> ?。?Servicelnfo> ?。糃omment> ″This is a comment.″ ?。?Comment> ?。?InteropAgreement>]]></pre>通常,該電子合同允許當(dāng)事方執(zhí)行在與該共享處理過程有關(guān)的當(dāng)事方之間的通信的標(biāo)識、身份驗證、和授權(quán)的驗證任務(wù)。當(dāng)在兩個貿(mào)易伙伴之間的通信期間進(jìn)行兩個類型的安全判定時,可以查閱本發(fā)明的電子合同。第一個判定涉及根據(jù)發(fā)送者的公司從屬關(guān)系和在發(fā)送者公司和接收者公司之間共享的商務(wù)處理或者多個過程,來確定消息(由該發(fā)送者簽名的)是否應(yīng)當(dāng)由接收者接受。在這種情況下,該電子合同標(biāo)識該公司和它們的合同關(guān)系。該消息的發(fā)送者然后可以作為在該商務(wù)關(guān)系中的當(dāng)事人之一(例如,當(dāng)事方A或B)的下屬而被驗證身份。第二個判定確定該發(fā)送者是否被授權(quán)執(zhí)行所請求的動作。該電子合同(如表I中的示例所示)包含允許在任何一個貿(mào)易伙伴域中的處理器解決在請求動作中的多義性的信息。多義性能夠至少以以下的形式存在-(語法A=語法B),但是(語義A?。秸Z義B)。
-(語法A?。秸Z法B),但是(語義A=語義B)。
授權(quán)的估計可以由一個自動化工具執(zhí)行,這是因為該電子合同包含執(zhí)行該映射所必需的信息。對于密鑰,K(A)授權(quán)由A執(zhí)行的動作。K(B)授權(quán)由B執(zhí)行的動作。在A中定義的角色名稱映射到在B中定義的角色名稱。對兩個都是公共的定義也可以處于該電子合同中。
圖3是依據(jù)本發(fā)明的一個實施例、一個使用電子合同的標(biāo)識和授權(quán)處理過程的流程圖。在塊50處,來自一個發(fā)送者的一條消息的接收者標(biāo)識該發(fā)送者。從該發(fā)送者到該接收者的消息可以請求一個作為在當(dāng)事方(例如,發(fā)送者當(dāng)事方和接收者當(dāng)事方)之間共享的處理過程的一部分且要被執(zhí)行的動作。在本發(fā)明中的標(biāo)識可以僅僅意指確定該發(fā)送者的標(biāo)識符。在某些實施例中,它可以或者可以不包含確定該發(fā)送者的具體標(biāo)識信息,諸如名稱、地址、電話號碼、電子郵件地址、納稅人標(biāo)識號碼、等等。在塊52處,該接收者確定發(fā)送者的機構(gòu)(例如,該發(fā)送者是該電子合同的一個當(dāng)事方嗎?)。在塊54處,該接收者通過檢查包含在該消息中的電子合同通過由先前協(xié)議所定義的該接收者的機構(gòu)把該發(fā)送者的機構(gòu)與商務(wù)關(guān)系相關(guān)聯(lián)。這個關(guān)聯(lián)可以被執(zhí)行而不依賴于一個信任的第三方(諸如一個認(rèn)證機構(gòu))來提供一個用于實現(xiàn)在雙方之間通信的安全性的公共根密鑰分級結(jié)構(gòu)。
如果A和B依賴于一個第三方C,則在A中的驗證處理器將知道A和C的公共密鑰,而不是B的。在B中的請求者將僅僅知道有關(guān)B和C的。當(dāng)一個請求從B發(fā)給A時,需要一個來自C的證書(指示C知道B)。然而,A不會知道A同意的合同是否意指和B同意的合同相同。該協(xié)議的條款被包含在C可能還沒有準(zhǔn)確地向B或者A表示的電子合同中。如果在A與B之間創(chuàng)建一個電子合同,則兩個當(dāng)事方都具有使用一個它們早已知道的分別為A或B的密鑰,來驗證另一方的簽名的能力。
該接收者在塊56處標(biāo)識對應(yīng)于一個或多個共享處理過程的協(xié)議的條款。在決58處,該接收者驗證-在該消息中由發(fā)送者請求的動作對應(yīng)于該協(xié)議條款;-該動作被該處理過程允許(即,它被定義了);以及-該動作允許用于該發(fā)送者。
這個驗證可以通過使用角色來執(zhí)行(例如,發(fā)送者S能夠依據(jù)該電子合同請求動作X?)。數(shù)字證書可以在一個用于遍歷這兩個當(dāng)事方的下屬機構(gòu)的技術(shù)中使用。如果在公司A中的一個處理系統(tǒng)由A授權(quán),則A將發(fā)布一個證明該處理系統(tǒng)的證書。類似地,在B中的一個處理系統(tǒng)可以具有與B相同的關(guān)系。如果A的處理系統(tǒng)請求B的處理系統(tǒng),則B的處理系統(tǒng)必須確定相對于在A&B之間的合同,A的處理系統(tǒng)是否和A一樣值得信賴。如果在由A&B簽訂的合同中定義了分配給A的處理系統(tǒng)的角色或者其它授權(quán),則B的處理系統(tǒng)安全地斷定A的處理系統(tǒng)被授權(quán)做出該請求。該證書允許處理系統(tǒng)代表A和B起作用。
因此,本發(fā)明提供了在一個電子合同中公共密鑰的創(chuàng)造性使用,從而使得可以根據(jù)用于在兩個當(dāng)事方之間的共享商務(wù)處理的密鑰來強制執(zhí)行通信的安全性。另外,可以在該電子合同中指定第三方支持的服務(wù),該服務(wù)可以由除了該合同的委托當(dāng)事方以外的實體以這樣的方式提供以便每一個委托當(dāng)事方可以信任該支持服務(wù)提供者。雖然先前的討論集中于在兩個當(dāng)事方之間的一個雙邊方案,但是本發(fā)明的實施例還可以用于在多個當(dāng)事方之間用于共享處理過程的多邊方案。
在前面的描述中,已經(jīng)描述了本發(fā)明的各個方面。為了說明起見,闡述了具體的數(shù)字、系統(tǒng)和配置以便提供對本發(fā)明的一個徹底理解。然而,對于具有這個公開優(yōu)點的本領(lǐng)域的技術(shù)人員來說,可以實踐本發(fā)明而不用具體的細(xì)節(jié)是顯而易見的。在其它實例中,眾所周知的特征被省略或者簡化以便不致弄模糊本發(fā)明。
本發(fā)明的實施例可以以硬件或者軟件、或者兩者的組合來實現(xiàn)。然而,本發(fā)明的實施例可以被實現(xiàn)為在包含至少一個處理器、一個數(shù)據(jù)存儲系統(tǒng)(包含易失性和非易失性存儲器和/或存儲單元)、至少一個輸入設(shè)備、和至少一個輸出設(shè)備的可編程系統(tǒng)上執(zhí)行的計算機程序。程序代碼可以應(yīng)用于輸入數(shù)據(jù)以執(zhí)行在此描述的功能以及產(chǎn)生輸出信息。該輸出信息可以以已知的方式應(yīng)用于一個或多個輸出設(shè)備。為了這個應(yīng)用,一個使用該電子合同的處理系統(tǒng)包括任何具有一個處理器的系統(tǒng),該處理器,例如像,數(shù)字信號處理器(DSP)、微控制器、專用集成電路(ASIC)、或者微處理器。
該程序可以以一個高級過程或者面向?qū)ο缶幊陶Z言來實現(xiàn)以便和一個處理系統(tǒng)進(jìn)行通信。如果期望的話,該程序也可以以匯編或者機器語言加以實現(xiàn)。實際上,本發(fā)明在范圍上不受任何特定編程語言的限制。在任何情況下,該語言可以是一種編譯或者解釋語言。
該程序可以被存儲在可由通用或者專用可編程處理系統(tǒng)讀取的可拆卸存儲介質(zhì)或者設(shè)備(例如,軟盤驅(qū)動器、只讀存儲器(ROM)、CD-ROM設(shè)備、閃速存儲器設(shè)備、數(shù)字通用盤(DVD)、或者其它存儲設(shè)備)上,以便當(dāng)該存儲介質(zhì)或設(shè)備由該處理系統(tǒng)讀取時,配置和操作該處理系統(tǒng)以執(zhí)行在此描述的過程。本發(fā)明的實施例也可以考慮作為被配置為和一個處理系統(tǒng)一起使用的機器可讀的存儲介質(zhì)而加以實現(xiàn),其中被這樣配置的該存儲介質(zhì)導(dǎo)致該處理系統(tǒng)以一個具體和預(yù)定義的方式進(jìn)行操作以執(zhí)行在此描述的功能。
在圖4中顯示了一個這種類型處理系統(tǒng)的一個示例,然而,也可以使用其它的系統(tǒng)而且所有顯示的系統(tǒng)部件并非都是本發(fā)明所要求的。例如可以使用示例系統(tǒng)400來依據(jù)本發(fā)明,諸如在此描述的實施例,執(zhí)行用于使用該電子合同的方法的實施例的處理。示例系統(tǒng)400表示基于可以從Intel公司買到的PENTIUMII、PENTIUMIII、和CELERONTM微處理器的處理系統(tǒng),不過還可以使用其它的系統(tǒng)(包括具有其它微處理器的個人計算機(PC)、工程工作站、其他的機頂盒、等等)和體系結(jié)構(gòu)。
圖4是本發(fā)明的一個實施例中的系統(tǒng)400的一個框圖。系統(tǒng)400包括一個處理數(shù)據(jù)信號的處理器402。處理器402可以與一條處理器總線404相連,該處理器總線404在處理器402和在系統(tǒng)400中的其它部件之間傳輸數(shù)據(jù)信號。
系統(tǒng)400包含一個存儲器406。存儲器406可以存儲由數(shù)據(jù)信號表示的指令和/或數(shù)據(jù),其中該數(shù)據(jù)信號可以由處理器402執(zhí)行。該指令和/或數(shù)據(jù)可以包含用于執(zhí)行本發(fā)明的任何和/或全部技術(shù)的代碼。存儲器406還可以包含附加的軟件和/或數(shù)據(jù)(未示出)。高速緩存器408可以駐留在處理器402的內(nèi)部,該高速緩存存儲在存儲器406中所存儲的數(shù)據(jù)信號。
橋接器/存儲器控制器410可以與處理器總線404和存儲器406相連。橋接器/存儲器控制器410引導(dǎo)在處理器402、存儲器406、及在系統(tǒng)400中的其它部件之間的數(shù)據(jù)信號,并且橋接在處理器總線404、存儲器406、和第一輸入/輸出(I/O)總線412之間的數(shù)據(jù)信號。在這個實施例中,圖形控制器413和顯示設(shè)備(未示出)接口,該顯示設(shè)備用于向用戶顯示由圖形控制器413所繪制或者進(jìn)行了其它方面的處理的圖像。
第一I/O總線412可以包括單條總線或者多條總線的組合。第一I/O總線412提供了在系統(tǒng)400中的部件之間的通信鏈路。網(wǎng)絡(luò)控制器414可以與第一I/O總線412相連。在某些實施例中,顯示設(shè)備控制器416可以與第一I/O總線412相連。該顯示設(shè)備控制器416允許把顯示設(shè)備連接到系統(tǒng)400并且充當(dāng)在顯示設(shè)備(未示出)和該系統(tǒng)之間的接口。該顯示設(shè)備通過顯示設(shè)備控制器416從處理器402中接收數(shù)據(jù)信號并且向系統(tǒng)400的用戶顯示在該數(shù)據(jù)信號中所包含的信息。
第二I/O總線420可以包含單條總線或者多條總線的組合。第二I/O總線420提供了在系統(tǒng)400中的部件之間的通信鏈路。數(shù)據(jù)存儲設(shè)備422可以與第二I/O總線420相連。鍵盤接口424可以與第二I/O總線420相連。用戶輸入接口425可以與第二I/O總線420相連。該用戶輸入接口可以和用戶輸入設(shè)備,諸如遙控裝置、鼠標(biāo)、操縱桿、或者跟蹤球相連,以便例如向該計算機系統(tǒng)提供輸入數(shù)據(jù)。音頻控制器427可以與第二I/O總線相連以便通過一個或多個揚聲器(未示出)處理音頻信號??偩€橋接器428把第一I/O橋接器4f2和第二I/O橋接器420相連。
本發(fā)明的實施例與使用系統(tǒng)400來處理電子合同相關(guān)。依據(jù)一個實施例,這樣的處理可以由系統(tǒng)400響應(yīng)于執(zhí)行在存儲器404中的指令序列的處理器402執(zhí)行。這樣的指令可以從另一個計算機可讀介質(zhì),諸如數(shù)據(jù)存儲設(shè)備422中,或者例如經(jīng)由網(wǎng)絡(luò)控制器414從其它源中讀入到存儲器404中。該指令序列的執(zhí)行導(dǎo)致處理器402依據(jù)本發(fā)明的實施例執(zhí)行電子合同處理。在一個替換實施例中,硬件電路可以用來代替軟件指令或者與軟件指令相結(jié)合來實現(xiàn)本發(fā)明的實施例。因此,本發(fā)明不局限于硬件電路和軟件的任何具體組合。
系統(tǒng)400中的單元以在本領(lǐng)域眾所周知的方式執(zhí)行它們的常規(guī)功能。特別地,數(shù)據(jù)存儲設(shè)備422可以用來提供可執(zhí)行指令和數(shù)據(jù)結(jié)構(gòu)的長期儲存,其中這些可執(zhí)行指令和數(shù)據(jù)結(jié)構(gòu)用于依據(jù)本發(fā)明處理電子合同,而存儲器406用來以較短期限為基礎(chǔ)存儲該可執(zhí)行指令,該可執(zhí)行指令用來在由處理器402執(zhí)行期間依據(jù)本發(fā)明處理電子合同。
雖然已經(jīng)參考說明性的實施例對本發(fā)明進(jìn)行了描述,但是這個描述不是用來以一種限制的意思進(jìn)行解釋。對于本發(fā)明所屬領(lǐng)域的技術(shù)人員來說顯而易見的是說明性實施例的各種修改,以及本發(fā)明的其它實施例被認(rèn)為在本發(fā)明的精神和范圍之內(nèi)。
權(quán)利要求
1.一種在至少兩個當(dāng)事方之間的共享處理過程中強制授權(quán)的方法,包含標(biāo)識消息的發(fā)送者,該消息請求作為該共享處理過程的一部分的動作;確定該發(fā)送者的當(dāng)事方;把該發(fā)送者的當(dāng)事方和由電子合同所定義的且在該發(fā)送者的當(dāng)事方和接收者的當(dāng)事方之間的商務(wù)關(guān)系相關(guān)聯(lián),而不依賴信任的第三方來提供公共根密鑰分級結(jié)構(gòu);標(biāo)識對應(yīng)于該共享處理過程的電子合同的條款;以及驗證該請求動作對應(yīng)于該條款并且由該發(fā)送者允許用于該共享的處理過程。
2.如權(quán)利要求1所述的方法,其特征在于驗證包含使用角色來確定請求的動作是在該電子合同下面許可的、使用數(shù)字證書來確定實現(xiàn)請求動作的處理系統(tǒng)是由當(dāng)事方授權(quán)的、以及使用該當(dāng)事方的公共密鑰來驗證對該電子合同的依附中的至少一個。
3.如權(quán)利要求1所述的方法,其特征在于該電子合同把用于每一個當(dāng)事方的公共密鑰和該共享處理過程的子過程綁定在一起。
4.如權(quán)利要求1所述的方法,其特征在于該電子合同的至少一部分由至少兩個當(dāng)事方在該發(fā)送者發(fā)送該消息之前用它們各自的公共密鑰數(shù)字地簽訂。
5.如權(quán)利要求1所述的方法,其特征在于該共享的處理過程由一種描述性語言定義。
6.如權(quán)利要求1所述的方法,其特征在于驗證包含使用來自該電子合同的信息來檢查影響該共享處理過程的、和安全性相關(guān)的判定的語義的合格性。
7.一種物品,包含具有多條機器可讀指令的存儲介質(zhì),其中當(dāng)該指令由處理器執(zhí)行時,該指令通過以下步驟來提供在至少兩個當(dāng)事方之間的共享處理過程中的強制授權(quán),這些步驟包括標(biāo)識消息的發(fā)送者,該消息請求作為該共享處理過程的一部分的動作,確定該發(fā)送者的當(dāng)事方,把該發(fā)送者的當(dāng)事方和由電子合同所定義的且在該發(fā)送者的當(dāng)事方和接收者的當(dāng)事方之間的商務(wù)關(guān)系相關(guān)聯(lián),而不依賴信任的第三方來提供公共根密鑰分級結(jié)構(gòu),標(biāo)識對應(yīng)于該共享處理過程的電子合同的條款,以及驗證該請求動作對應(yīng)于該條款并且由該發(fā)送者允許用于該共享的處理過程。
8.如權(quán)利要求7所述的物品,其特征在于該電子合同把用于每一個當(dāng)事方的公共密鑰和該共享處理過程的子過程綁定在一起。
9.如權(quán)利要求7所述的物品,其特征在于該電子合同的至少一部分由至少兩個當(dāng)事方在該發(fā)送者發(fā)送該消息之前用它們各自的公共密鑰數(shù)字地簽訂。
10.一種把至少兩個當(dāng)事方和一個共享處理過程相關(guān)聯(lián)的電子合同,包括第一部分,用于指定除了該至少兩個當(dāng)事方以外的至少一個當(dāng)事方,該至少一個當(dāng)事方表示對應(yīng)于一個加密密鑰域的一個命名空間;第二部分,用于把在該電子合同下有責(zé)任的至少兩個當(dāng)事方和用于該至少兩個當(dāng)事方中的每一個的、來自該域的加密密鑰的一個公用密鑰相關(guān)聯(lián),而不依賴于信任的第三方來提供公共根密鑰分級結(jié)構(gòu);第三部分,用于提供角色名稱和該共享處理過程的子過程的映射中的至少一個;以及第四部分,允許該至少兩個當(dāng)事方中的每一個使用該至少兩個當(dāng)事方中的每一個的該加密密鑰對的私有密鑰來數(shù)字地簽訂該電子合同的至少一部分
11.如權(quán)利要求10所述的電子合同,進(jìn)一步包含第五部分,用于指定標(biāo)識該電子合同和當(dāng)前修訂版等級中的至少一個的信息。
12.如權(quán)利要求10所述的電子合同,其特征在于第一部分指定了一個被使用用于對處理過程定義、協(xié)議和命名的非歧義性引用的安全標(biāo)準(zhǔn),根據(jù)該處理過程定義、協(xié)議和命名可以導(dǎo)出共享處理過程的語法和語義。
13.如權(quán)利要求10所述的電子合同,其特征在于第二部分包含合同標(biāo)識符、有效期、創(chuàng)建日期、和該至少兩個當(dāng)事方的聯(lián)系信息中的至少一個。
14.如權(quán)利要求10所述的電子合同,其特征在于第三部分包括用于指定角色名字的語法和語義的信息。
15.如權(quán)利要求10所述的電子合同,進(jìn)一步包含用于定義用來支持該共享處理過程的輔助服務(wù)的第六部分。
16.如權(quán)利要求15所述的電子合同,其特征在于該輔助的服務(wù)包括保存與由該至少兩個當(dāng)事方對該共享處理過程的使用有關(guān)的檔案。
17.如權(quán)利要求15所述的電子合同,其特征在于該輔助服務(wù)包括執(zhí)行與由該至少兩個當(dāng)事方對該共享處理過程的使用有關(guān)的審計。
18.如權(quán)利要求15所述的電子合同,其特征在于該輔助服務(wù)包括給該電子合同添加時間戳。
19.如權(quán)利要求15所述的電子合同,其特征在于第六部分指定除了該至少兩個當(dāng)事方以外的當(dāng)事方,該當(dāng)事方向該至少兩個當(dāng)事方提供作為該共享處理過程的一部分的輔助服務(wù)。
全文摘要
在至少兩個當(dāng)事方之間的共享處理過程中強制授權(quán)是通過標(biāo)識消息的發(fā)送者,該發(fā)送者請求作為該共享處理過程的一部分的動作,確定該發(fā)送者的當(dāng)事方,把該發(fā)送者的當(dāng)事方和由電子合同所定義的且在該發(fā)送者的當(dāng)事方和接收者的當(dāng)事方之間的商務(wù)關(guān)系相關(guān)聯(lián)(而不依賴信任的第三方來提供公共根密鑰分級結(jié)構(gòu)),標(biāo)識對應(yīng)于該共享處理過程的電子合同的條款,以及驗證該請求動作對應(yīng)于該條款并且由該發(fā)送者允許用于該共享的處理過程來完成。該電子合同包含第一部分,用于指定除了該至少兩個當(dāng)事方以外的至少一個當(dāng)事方,該至少一個當(dāng)事方表示對應(yīng)于加密密鑰域的命名空間;第二部分,用于把在該電子合同下有責(zé)任的至少兩個當(dāng)事方和用于該至少兩個當(dāng)事方中的每一個的、來自該域的加密密鑰對中的一個公用密鑰相關(guān)聯(lián)(而不依賴于信任的第三方來提供公共根密鑰分級結(jié)構(gòu));第三部分,用于提供角色名稱和該共享處理過程的子過程的映射中的至少一個;以及第四部分,用于允許該至少兩個當(dāng)事方中的每一個使用該至少兩個當(dāng)事方中的每一個的加密密鑰對中的私有密鑰來數(shù)字地簽訂該電子合同的至少一部分。
文檔編號G06Q10/00GK1527965SQ02805053
公開日2004年9月8日 申請日期2002年1月31日 優(yōu)先權(quán)日2001年2月15日
發(fā)明者N·M·史密斯, C·M·埃利森, N M 史密斯, 埃利森 申請人:英特爾公司