專利名稱:從蜂窩電信鑒權和計費基礎設施中引導臨時性公開密鑰基礎設施的系統(tǒng)和方法
技術領域:
本發(fā)明涉及一種采用移動終端來引導公開密鑰基礎設施以實現(xiàn)對商品和服務的安全付款的系統(tǒng)和方法。更具體地說,本發(fā)明是這樣一種系統(tǒng)和方法,其中蜂窩電信系統(tǒng)的用戶可采用移動終端來向賣方購買商品和服務并通過用戶的電話帳單來付款,這種系統(tǒng)和方法可保證在付款中不會發(fā)生錯誤和欺詐。
背景技術:
買方采用信用卡和付款卡來為商品和服務付款已經(jīng)很普遍了。信用卡的使用消除了攜帶大量的現(xiàn)金以便為這些商品和服務付款的需要。另外,信用卡的使用也已消除了汽車租賃商和旅館要求較高的押金以保證返回車輛或預訂房間的需要。因此,信用卡的使用方便了商業(yè)交易,因此為買方提供了極大的方便。然而,信用卡還方便了欺詐和錯誤的發(fā)生,顧客可能會為同一物品兩次付費或被收取不正確金額。
由于訪問和使用因特網(wǎng)的激增,大量的商業(yè)活動在個人和公司之間進行,這些個人和公司相互從未見過,更不用說參加過任何先前的商業(yè)交易。目前,典型的因特網(wǎng)用戶會在他的本地計算機或服務器中安裝瀏覽器,例如Intenet ExplorerTM或NetscapeTM。用戶可以采用這種瀏覽器經(jīng)調(diào)制解調(diào)器在本地公共交換電話網(wǎng)(PSTN)上訪問因特網(wǎng)服務供應商,例如America-On-Line(AOL)。一旦登錄到因特網(wǎng)服務器上,用戶就可利用多種搜索引擎、如YahooTM或LycosTM中的一種來指定搜索項目。用戶還可使用網(wǎng)絡爬蟲、蜘蛛或機器人來試圖尋找所需的產(chǎn)品、服務或信息。搜索引擎或網(wǎng)絡爬蟲可作出響應而提供一系列與用戶提供的搜索項目相符的網(wǎng)站。用戶然后可登錄到此網(wǎng)站,觀看可買到的產(chǎn)品或服務。如果用戶決定從該網(wǎng)站購買物品,運營此網(wǎng)站的公司往往再次請求用戶輸入信用卡號,以便為產(chǎn)品或服務付款。一旦信用卡收費得到批準,網(wǎng)站的運營商通常會將物品交付給用戶。在所訂購的物品為數(shù)字格式如軟件、圖形、文本、視頻或音樂時,所訂購的物品可下載到用戶的個人計算機、服務器、膝上型計算機、掌上電腦或其它基于處理器的系統(tǒng)中。
隨著帶有或沒有無線接入?yún)f(xié)議(WAP)的蜂窩電話的出現(xiàn),用戶也可直接通過WAP適用的電話或與蜂窩電話相連的基于處理器的系統(tǒng)并以與使用PC相似的方式在因特網(wǎng)上沖浪以及訂購商品和服務。因此,用戶可用蜂窩電話、衛(wèi)星電話或其它類型的移動臺從任何地方訂購商品和服務。因此,個人可能位于遠離其它人類的遙遠地區(qū),更不用說有電話線了,但他可從星球另一側(cè)的網(wǎng)站訂購電子游戲,并將其下載到他的與蜂窩電話相連的掌上電腦中或獨立WAP或HTML(超文本標記語言)電話中,并且就地玩游戲。
然而,用戶或消費者可能不知道誰在運營這個網(wǎng)站,并且對將信用卡號經(jīng)因特網(wǎng)提供給可能會或可能不會交付所需產(chǎn)品的陌生人存有合理的擔心。另外,用戶會擔心所達成的價格將不是從他的信用卡上實際支付的價格,即使在買方與賣方直接地面對面交易時也是如此。另外,即使在面對面的交易中,也存在著買方會為相同物品被兩次計費的可能性。而且,在因特網(wǎng)交易中,如果網(wǎng)站運營商不夠誠實的話,那么交付商品得不到保證。
信用卡公司已經(jīng)試圖通過提供爭議解決服務來解決與兩次計費或收取不正確金額有關的問題,在爭議解決服務中消費者可質(zhì)疑所支付的金額,并且信用卡公司將對此進行調(diào)查。然而,這種調(diào)查可能要花費較長時間,并且買方無法保證能得到滿意的解答。在因信用卡失竊所引起的欺詐中,如果卡被迅速報失的話,那么信用卡公司通常將限制負債。對付款卡來說,萬一丟失或被盜,可能無法要求銀行限制負債。
在商業(yè)交易中用來防止欺詐和錯誤的其它方法是使用不可拒付債務的數(shù)字簽名。在公開密鑰系統(tǒng)中,稱為認證機構(CA)的實體執(zhí)行兩項核心功能證書的頒發(fā)和撤消。采用證書來將名稱或授權、如對采購的許可與公開簽名驗證密鑰相連。證書由CA簽署。為了驗證證書,需要CA的公開簽名驗證密鑰的有效拷貝。例如,假定個人或?qū)嶓w具有某一CA(CA1)的公開密鑰。只有某一CA(CA2)的公開密鑰被CA1驗證了,這個人或?qū)嶓w才可驗證由CA2頒發(fā)的證書。CA的這種交叉認證稱為“公開密鑰基礎設施”(PKI)。因此,為了擴大數(shù)字簽名的應用,這種數(shù)字簽名需要存在全球性的PKI,這是很難發(fā)展起來的,因為它需要在大量的團體之間達成合同和協(xié)議。建立這種全球性PKI系統(tǒng)的嘗試迄今為止尚未實現(xiàn)。公開密鑰證書和交叉認證在A.J.Menezes等人的“應用密碼學手冊”第13.4.2節(jié)“公開密鑰證書”和第13.6.2節(jié)“涉及多認證機構的信用模式”(CRC出版社,1997年,ISBN 0-8493-8523-7)中有詳細的介紹,將其通過引用結(jié)合于本文中。
因此,所需要的是這樣一種系統(tǒng)和方法,它允許用戶或消費者為商品和服務付款,同時保證黑客或罪犯無法竊聽或介入合法的買方和賣方之間的付款交易中并在日后利用他的知識來從合法用戶帳戶付款以進行購物。這種系統(tǒng)和方法還應當不允許合法的用戶拒付他所應支付的費用。這種系統(tǒng)和方法還應防止賣方以合法消費者的名義偽造付款交易。這種系統(tǒng)和方法還應無需建立新的基礎設施以進行正確的操作。
發(fā)明公開本發(fā)明的一個實施例提供了一種采用移動臺來訂購、付款和交付商品和服務的方法。此方法始于驗證移動臺是否被允許接入電信基礎設施。然后通過移動臺訪問網(wǎng)關,將移動臺的識別碼發(fā)送給網(wǎng)關。然后此方法由移動臺向網(wǎng)關請求數(shù)字證書,可采用此證書向賣方訂購產(chǎn)品或服務或者為之付款。然后此方法通過由網(wǎng)關訪問鑒權中心并比較由移動臺計算出的變量和由網(wǎng)關計算出的變量來驗證移動臺的身份。然后此方法通過比較由網(wǎng)關計算出的變量和由移動臺計算出的變量來驗證網(wǎng)關的合法性。在驗證了移動臺和網(wǎng)關的身份后,此方法通過網(wǎng)關將數(shù)字證書發(fā)送給移動臺。移動臺則向賣方請求產(chǎn)品或服務,并將其數(shù)字簽名以及用作簽名驗證密鑰的數(shù)字證書作為付款傳送給賣方。
另外,本發(fā)明的一個實施例創(chuàng)建了一種采用移動臺來訂購、付款和交付商品和服務的系統(tǒng)和計算機程序。此系統(tǒng)和計算機程序采用GSM鑒權模塊來驗證移動臺是否屬于能向其收費的用戶。它還具有移動臺證書獲取模塊,用于向網(wǎng)關請求移動臺的數(shù)字證書,并通過比較網(wǎng)關和移動臺所計算出的變量來驗證網(wǎng)關是否被授權而能頒發(fā)數(shù)字證書。此系統(tǒng)和方法還具有網(wǎng)關證書生成模塊,用于驗證移動臺是否被授權。此模塊還將從移動臺接收的國際移動用戶身份碼發(fā)送給鑒權中心,并接收可用于通過查詢-響應協(xié)議來驗證移動臺的可靠性的信息。一旦進行了驗證,此模塊就為移動臺生成和頒發(fā)數(shù)字證書。
在結(jié)合附圖時可從下述描述中更加清楚此裝置和方法的這些和其它特征,這些附圖只是出于說明目的而表示了本發(fā)明的示例。
附圖簡介在結(jié)合附圖閱讀時可從代表性實施例的下述詳細描述和權利要求中清楚本發(fā)明的上述內(nèi)容并得到更佳的理解,所有這些均形成了本發(fā)明公開的一部分。雖然上文和下文中所寫出和說明的公開內(nèi)容集中在本發(fā)明的公開示例實施例中,然而應當理解,這些公開內(nèi)容只作為說明和示例,本發(fā)明不限于此。本發(fā)明的精神和范圍只由所附權利要求的用語限制。
下述為附圖的簡要描述,在附圖中
圖1是本發(fā)明一個實施例的整體系統(tǒng)圖的一個示例;圖2是在移動臺、網(wǎng)關和歸屬位置寄存器(HLR)之間傳遞的消息的示意圖,歸屬位置寄存器包括鑒權中心(AUC)或與之相連,使得買方得到鑒權并最終接收到可用于購買商品和服務的證書;圖3是可用于本發(fā)明實施例的圖12所示的移動臺證書獲取模塊的流程圖;圖4是表示可用于本發(fā)明的示例實施例的全球移動通信標準(GSM)鑒權算法的示意圖;圖5是用于本發(fā)明實施例的圖12所示網(wǎng)關證書生成模塊的流程圖;圖6是用于本發(fā)明的示例實施例的、在移動臺和賣方之間傳遞以便于商品和服務的購買和付款的消息的示意圖;圖7是用于本發(fā)明實施例的圖12所示買方購買模塊的流程圖;圖8是用于本發(fā)明實施例的圖12所示賣方銷售模塊的流程圖;圖9是在本發(fā)明的示例實施例中、在賣方和網(wǎng)關之間傳遞以便于向提供商品和服務給買方的賣方付款的消息的圖;圖10是用于本發(fā)明的示例實施例的圖12所示賣方計費模塊的流程圖;圖11是用于本發(fā)明的示例實施例的圖12所示網(wǎng)關計費模塊的流程圖;以及圖12是示于圖3-5、7、8、10和11中的本發(fā)明實施例的模塊配置圖。
實施本發(fā)明的最佳方式在開始詳細描述本發(fā)明之前,最好是作出下述說明。在適當之處,可采用相似的標號和符號來表示不同圖中相同、對應或相似的部件。另外,在下面詳細描述中給出了代表性的大小/型號/數(shù)值/范圍,然而本發(fā)明不限于此。
圖1說明本發(fā)明一個實施例的整體系統(tǒng)圖的示例。在此示例實施例中,移動臺(MS)20用作用戶、買方或消費者10用于接入本發(fā)明的接口。此移動臺(MS)20可以是WAP適用的蜂窩電話、超文本標記語言(HTML)適用的蜂窩電話,或者帶有與之相連的基于處理器的系統(tǒng)的蜂窩電話。這種基于處理器的系統(tǒng)可以是但不限于膝上型計算機、掌上電腦或者只包括WAP適用的電話的其它便攜計算裝置。移動臺(MS)20通過電信基礎設施30并經(jīng)網(wǎng)關60與本地網(wǎng)絡運營機構70進行通信。電信基礎設施30可以是但不限于蜂窩電話控制協(xié)議、如GSM(全球移動通信系統(tǒng))電話系統(tǒng)以及無線局域網(wǎng)(LAN)上的因特網(wǎng)協(xié)議(IP)或任何其它適當?shù)慕尤雲(yún)f(xié)議。移動臺10和賣方50之間的接口是到通信基礎設施35的,可以是但不限于直接物理連接、正確的近程射頻(RF)連接、IP連接或任何其它適當?shù)耐ㄐ欧绞?。賣方50還可通過但不限于因特網(wǎng)協(xié)議分組交換網(wǎng)、公共交換電話網(wǎng)上的撥號線路或任何其它適當?shù)耐ㄐ欧绞脚c網(wǎng)關60、以及由此與本地網(wǎng)絡運營機構70進行通信。因此,本發(fā)明的實施例不限于采用因特網(wǎng)來通信。另外,本地網(wǎng)絡運營機構70可直接通過PSTN或經(jīng)由因特網(wǎng)與買方10的歸屬網(wǎng)絡運營機構80進行通信。另外,歸屬網(wǎng)絡運營機構80、本地網(wǎng)絡運營機構70和網(wǎng)關60均被視為用于方便購買商品和服務的用于計費和鑒權的移動電話基礎設施90的一部分。
在圖1中,應當指出,假定用戶10不在歸屬網(wǎng)絡運營機構80區(qū)內(nèi)。然而,本發(fā)明的實施例在用戶10處于歸屬網(wǎng)絡運營機構80區(qū)內(nèi)時也同樣工作,因此歸屬網(wǎng)絡運營機構80和本地網(wǎng)絡運營機構70可以為同一實體。
當用戶或消費者10不在其歸屬網(wǎng)絡運營機構80區(qū)域內(nèi)時,如果在本地網(wǎng)絡運營機構70和歸屬網(wǎng)絡運營機構80之間存在漫游協(xié)定,則用戶10仍可從賣方50處購物。另外,賣方50可以是從街頭的賣花商販到百貨商店或服裝店的任何出售商品或服務者。賣方50也可以是軟件或其它數(shù)字產(chǎn)品的銷售者,它可具有鋪面或在因特網(wǎng)40上具有網(wǎng)站。賣方50的唯一限制在于,它應得到本地網(wǎng)絡運營機構70的許可,可從買方10接受數(shù)字付款證書并將它們提交給本地網(wǎng)絡運營機構70以進行付款。如果用戶或買方10處于他的歸屬網(wǎng)絡運營機構80區(qū)域之外,那么本地網(wǎng)絡運營機構70將買方10和賣方50間的交易的帳目記錄提交給用戶10的歸屬網(wǎng)絡運營機構80,以便在用戶10的電話帳單上計費。
仍參考圖1,采用本發(fā)明,只要用戶的歸屬網(wǎng)絡運營機構80和本地網(wǎng)絡運營機構70之間建立了漫游協(xié)定,買方10就可以利用移動臺20如同信用卡一樣為商品和服務付款。如同大多數(shù)信用卡一樣,如果建立了通用蜂窩電話標準,這將來也可能遍及全世界。如上述討論的那樣,使用本發(fā)明消除了為某一產(chǎn)品或服務而對買方10兩次計費或者為特定商品或服務的付款提交不正確價格的可能性。另外,由于無權訪問簽字密鑰的任一方無法偽造數(shù)字簽名,并且由于簽字密鑰決不會泄露到移動臺20之外,因此第三方如竊聽者、黑客、罪犯或賣方不可能私下修改合法付款人所產(chǎn)生的付款消息,或者產(chǎn)生據(jù)稱是來自合法付款人的假付款消息。另外,買方或用戶10只要其歸屬網(wǎng)絡運營機構80已建立了漫游協(xié)定就可采用移動臺20,并且他的移動臺20可與本地網(wǎng)絡運營機構70接口。
下面提供的討論將涉及本發(fā)明實施例中采用的邏輯。具體地說,將提供對圖2到11所示的流程圖和示意圖以及圖12所示的模塊配置圖的討論。圖2到12所示的流程圖和示意圖以及圖12所示的模塊配置圖包含了一些操作,它們對應于例如計算機程序的代碼、代碼段、指令、固件、硬件、命令等,計算機程序例如實現(xiàn)在諸如軟盤、CD-ROM、EP-ROM、硬盤等存儲媒體中。另外,計算機程序可用任何語言編寫,例如但不限于C++。
本發(fā)明的實施例使用了GSM(全球移動通信系統(tǒng))電話系統(tǒng),該系統(tǒng)采用移動臺(MS)20、諸如但不限于蜂窩電話和WAP適用的蜂窩電話中的算法以及用于計費和鑒權的移動電話基礎設施90,該基礎設施控制用戶10和移動臺20的鑒權以防止非法訪問網(wǎng)絡并提供用戶間傳輸?shù)募用?。GSM系統(tǒng)在Mouly和Pautet的出版物“用于移動通信的GSM系統(tǒng)”1992年版中有深入的描述,此出版物的整體通過引用結(jié)合于本文中。在Mouly和Pautet的文章的第477到498頁中描述了GSM系統(tǒng)的安全特征。在題為“數(shù)字蜂窩電信系統(tǒng)(階段2+);安全性相關的網(wǎng)絡功能@(GSM 03.20,6.1.0版,1997年發(fā)行)”的ETSI出版物TS 100 929 V.6.1.0(1999)中提供了GSM系統(tǒng)安全性的其它細節(jié),此出版物的整體通過引用結(jié)合于本文中。下面參考圖2-12并特別參考圖4來詳細討論GSM系統(tǒng)在本發(fā)明中的使用。然而,應當指出,也可使用驗證移動臺20以接入電信基礎設施30的任何其它的類似GSM的系統(tǒng)。
圖2是在移動臺20、網(wǎng)關60和位于歸屬網(wǎng)絡運營機構80內(nèi)的歸屬位置寄存器(HLR)鑒權中心(AUC)之間傳遞的消息的示意圖。在下述討論中,大括號{}表示一組的一個或多個項目,方括號[]表示可選項目。消息210到260使移動臺20、由此使買方10能夠接收數(shù)字證書,該數(shù)字證書使買方10從賣方50處購買商品和服務并為之付款。在移動臺20和網(wǎng)關60之間交換總共四種消息,而在網(wǎng)關60和HLR/AUC100之間交換兩種消息。這些消息將參考圖3和5進行更詳細的討論。然而,概括來說,消息210從移動臺20發(fā)送到網(wǎng)關60,并且包括會話標識(SID)和國際移動用戶身份碼(IMSI)。IMSI是在初始簽署服務合同時由歸屬網(wǎng)絡運營機構80為各移動臺20提供的唯一標識號。SID是由移動臺20分配的號碼,用于標識此特定會話。網(wǎng)關60在其本機存儲器中存儲了SID和IMSI,并將IMSI在消息220中發(fā)送給歸屬網(wǎng)絡運營機構80內(nèi)包含的HLR/AUC 100。網(wǎng)關60能夠根據(jù)IMSI內(nèi)包含的信息來識別需要將IMSI發(fā)送給哪一個HLR/AUC 100。如下述參考圖4的詳細討論可知,HLR/AUC 100以包含隨機數(shù)(RAND)410、簽字響應(SRES)450和加密密鑰(Kc)400的消息230作出響應。網(wǎng)關60獲取Kc400,并用它根據(jù)公式K=f({Kc})來計算完整性密鑰(K),在公式中f為網(wǎng)關60和移動臺20均已知的密碼單向散列函數(shù)。然后網(wǎng)關60將SID、IMSI、RAND440、SRES450和K存儲在網(wǎng)關60的存儲器中的單個記錄中。此后,將包含RAND 440和M1的消息240從網(wǎng)關60發(fā)送給移動臺20。M1是采用完整性密鑰(K)和RAND 440根據(jù)消息鑒權代碼(MAC)函數(shù)來計算的。所用的公式表示為M1=MAC(K,{RAND})。MAC的目的是便于在不使用任何其它機制的情況下,保證消息源及其完整MAC都具有兩個功能不同的參數(shù),即消息輸入({RAND})和秘密密鑰(K)。MAC函數(shù)在A.J.Menezes等人的“應用密碼學手冊”(CRC出版社,1997年,ISBN0-8493-8523-7)中的第9.5節(jié)“密鑰的散列函數(shù)(MAC=s)”和第9.6.3節(jié)“只采用MAC的數(shù)據(jù)完整性”中有詳細討論,此書通過引用結(jié)合于本文中。在接收到RAND 440和M1變量時,移動臺20根據(jù)RAND 440和秘密密鑰(Ki)410來計算SRES 450和Kc 400。Ki 410是在簽訂服務計劃時由歸屬網(wǎng)絡運營機構80安裝在移動臺20中的秘密密鑰。移動臺20還采用公式K=f({Kc})來計算完整性密鑰(k)。Kc 400的計算將參考圖4來詳細討論。
仍參考圖2,移動臺20響應消息240的接收而產(chǎn)生消息250并將其發(fā)送給網(wǎng)關60。消息250包括SRES 450、公開密鑰(PK)、任何限制、別名和M2。移動臺20提供的公開密鑰(PK)用于為用戶10產(chǎn)生數(shù)字簽名,這些簽名用作對商品和服務的購買中進行的收費的批準。限制和別名都是可選項。限制是指對可進行的交易的限制。例如,通過限制任何給定購買的金額、特定時限內(nèi)可進行的購買數(shù)量或者公開密鑰有效的時期,可以保護用戶或買方10免受移動臺20丟失或被盜所帶來的損失。別名是移動臺20的另一個標識。M2是采用變量K、SRES450、PK、限制和別名根據(jù)另一MAC函數(shù)來計算的。用于計算M2的具體公式為M2=MAC(K,{SRES},PK,[{限制}],[別名])。在接收到消息250后,網(wǎng)關60產(chǎn)生數(shù)字證書(C),并在存儲器的記錄中存儲SD、IMSI、f(RAND,SRES,K)、PK、限制、別名和數(shù)字證書(C)。然后,網(wǎng)關60根據(jù)公式M3=MAC(K,C)來計算M3。然后在消息260中,網(wǎng)關60將包含數(shù)字證書(C)和M3的消息260發(fā)送給移動臺20。然后可采用數(shù)字證書(C)來從賣方50購買商品和服務。
在圖2所示消息的另一實施例中,可以通過采用由網(wǎng)關60或一些其它服務器提供的公開密鑰對消息210中的IMSI進行加密,從而提高本發(fā)明的安全性。這樣,第三方截取IMSI的可能性更小。
在圖2所示消息的另一個實施例中,可以讓SID由移動臺20和網(wǎng)關60聯(lián)合選擇。這樣,對于網(wǎng)關60來說,可以簡化消息260中的證書的跟蹤以及將其與SD相關聯(lián)。
在圖2所示消息的另一實施例中,由于SRES 450已經(jīng)被要求用于產(chǎn)生正確的M2,因此可以在消息250中省去SRES 450。
在圖2所示消息的另一實施例中,HLR可以計算出完整性密鑰K,并將其作為消息230的一部分發(fā)送給網(wǎng)關。在這種情況下,作為另一實施例,完整性密鑰(K)可以不作為加密密鑰(Kc)400組的函數(shù)而計算,而是可以直接根據(jù)秘密密鑰(Ki)410和隨機數(shù)(RAND)440計算。
在圖2所示消息的另一實施例中,公開密鑰(PK)可以是存儲在鑒權中心(AUC)中的長期公開密鑰。在這種情況下,PK包括在消息230中,并且不必包括在消息250中。
在圖2所示消息的另一實施例中,本地網(wǎng)絡運營機構70的公開密鑰(PK)(定義為PK_G)可包括在消息260中。這就允許移動臺20驗證由運營商頒發(fā)給其它實體、如賣方50的證書。它還允許移動臺20驗證頒發(fā)給其它移動臺20的證書,從而允許第一移動臺20用作賣方。因此,移動臺20可以在一種情況下作為買方,而在下一種情況下作為賣方。這在被售產(chǎn)品是數(shù)字產(chǎn)品時最合適。然而,任何商品或服務均可以這種方式出售。
下面通過圖3到5來說明圖2所示的消息交換的具體情況。圖3是圖12所示的移動臺證書獲取模塊1500的流程圖。移動臺證書獲取模塊1500用于產(chǎn)生圖2所示的消息210和250。移動臺證書獲取模塊1500還從網(wǎng)關60中接收和處理消息240和260,如圖2所示。移動臺證書獲取模塊1500包括圖3所示的操作300到430。
參考圖3,移動臺證書獲取模塊1500在操作300中開始執(zhí)行,并馬上進行到操作310。在操作310中,產(chǎn)生SID,它是標識會話的唯一號碼。另外,檢索表示國際移動用戶身份碼的IMSI,并連同SID一起在消息210中發(fā)送給網(wǎng)關60。然后,在操作320中,移動臺20等待接收來自網(wǎng)關60的消息240。在消息240到達后,處理進行到操作330。如上所述,消息240包含隨機數(shù)(RAND)和M1。M1是由網(wǎng)關60利用從HLR/AUC 100接收的完整性密鑰(K)和隨機數(shù)(RAND)來計算的。在操作330中,移動臺20計算M1′。M1′由移動臺20以類似于網(wǎng)關60計算M1的方式計算出,不同之處在于在移動臺20自身中包含加密密鑰(Kc)400,采用它來計算完整性密鑰(K)。移動臺20可采用與網(wǎng)關60所用公式相同的公式來計算M1′。所用公式為M1′=MAC(K,{RAND})。因此,在操作340中,在從網(wǎng)關60接收的M1和移動臺20計算的M1′之間進行比較。進行這種比較是為了向移動臺20及用戶10保證消息240的來源是GSM系統(tǒng)的合法部分。如果在操作340中發(fā)現(xiàn)M1不等于M1′,則處理進行到操作350,這里中斷移動臺證書獲取模塊1500的執(zhí)行,處理終止。如果執(zhí)行了操作350,則假定消息240已被破壞或者網(wǎng)關60被未經(jīng)授權的個體冒充。
仍參考圖3,如果M1=M1′,則處理從操作340進行到操作360。在操作360中,計算M2。如上所述,根據(jù)采用了變量K、SRES 450、PK、限制和別名的MAC函數(shù)來計算M2。用于計算M2的具體公式為M2=MAC(K,{SRES},PK,[{限制}],[別名])。然后,產(chǎn)生包含SRES、PK、限制、別名和M2的消息250并將其發(fā)送給網(wǎng)關60。在操作380中,移動臺20等待接收來自網(wǎng)關60的消息260。在從網(wǎng)關60接收到消息260后,處理則進行到操作390。在操作390中,參考圖2如上所述地計算M3′。M3′以與網(wǎng)關60根據(jù)公式M3=MAC(K,C)計算M3相同的方式來計算,不同之處僅在于移動臺20自身中包含加密密鑰(Kc)400,用它來計算完整性密鑰(K)。此后處理進行到操作400,其中將M3′與從來自網(wǎng)關60的消息260中接收到的M3進行比較。如果在操作400中確定M3′與M3不符,那么處理進行到操作410。在操作410中,終止移動臺證書獲取模塊1500的處理。當M3′與M3不符時,就假定消息260已被破壞,或者未經(jīng)授權的個體在冒充網(wǎng)關60。但是,如果在操作400中M3′與M3相符,則處理進行到操作420。在操作420中,把在消息260中接收的證書存儲在移動臺20的存儲器中。此證書可在任何相關限制以內(nèi)用于從賣方50購買商品和服務。然后,在操作430中,移動臺證書獲取模塊1500的處理終止。
圖4詳細說明GSM網(wǎng)絡中的鑒權,這是通過由移動臺(MS)20、歸屬網(wǎng)絡運營機構80和網(wǎng)關60產(chǎn)生簽字響應(SRES)450來進行的,簽字響應(SRES)450是如圖3和5所示的邏輯中使用的移動臺10的唯一秘密密鑰(Ki)410和隨機數(shù)(RAND)440的函數(shù)。在移動臺(MS)20中的用戶識別模塊(SIM)(未示出)中根據(jù)SIM內(nèi)的Ki 410和從歸屬網(wǎng)絡運營機構80中的網(wǎng)絡鑒權中心(AUC)(未示出)得到的RAND 440來計算簽字響應(SRES)450。另外,移動臺(MS)20和歸屬網(wǎng)絡運營機構80中的鑒權中心均產(chǎn)生加密密鑰(Kc)400,它是移動臺20的相同隨機數(shù)RAND 440和秘密密鑰(Ki)410的函數(shù)。此鑒權過程是采用兩種算法的兩階段的過程。計算SRES 450的第一算法稱為A3算法模塊420,而計算Kc 400的第二密鑰產(chǎn)生算法稱為A8算法模塊430,Kc在每次對移動臺20鑒權時進行計算。然而,鑒權和計算加密密鑰(Kc)400的各個操作需要對移動臺(MS)20進行編程,以便進行上述計算。
仍參考圖4,只要新的移動臺(MS)20向用于計費和鑒權的移動電話基礎設施90登記以及只要所登記的移動臺(MS)20開機時,位于本地網(wǎng)絡運營機構70中的移動交換中心(未示出)就要對移動臺20鑒權。GSM系統(tǒng)的鑒權是基于歸屬網(wǎng)絡運營機構80和用戶共有的秘密密鑰(Ki)310,此秘密密鑰(Ki)310對于每個用戶都不同。歸屬網(wǎng)絡運營機構30將密鑰Ki 410保存在AUC中,用戶將Ki 410安裝在移動臺20的SIM卡內(nèi),用戶在簽訂訂購合同時從歸屬網(wǎng)絡運營機構80接收Ki 410。為了保護Ki 410的秘密,制成的SIM使移動臺(MS)20無法直接存取Ki 410的值,而只能啟動SIM內(nèi)的一些使用Ki 410的計算,然后接收這些計算的結(jié)果。類似地,用于計費和鑒權的移動電話基礎設施90中的單元、如歸屬位置寄存器(HLR)無法直接存取用戶的密鑰Ki 410。這些網(wǎng)元只能從AUC中請求使用Ki 410的計算結(jié)果,如上所述。這些計算是A3算法模塊420和A8算法模塊430,它們在移動臺(MS)20的SIM中和在歸屬網(wǎng)絡運營機構80的AUC中是相同的。
上述GSM鑒權過程是兩階段的過程。在GSM鑒權的第一階段中,通常為MSC/VLR(移動業(yè)務交換中心/來訪位置寄存器)的本地網(wǎng)絡運營機構70的單元從移動臺(MS)20中接收國際移動用戶身份碼(IMSI),并向歸屬網(wǎng)絡運營機構80的AUC請求一個或多個三元組。這些三元組由RAND 440、SRES 450和Kc 400組成。此過程開始時,移動臺20將國際移動用戶身份碼(IMSI)發(fā)送給本地網(wǎng)絡運營機構70中的MSC/VLR。然后MSC/VLR從歸屬網(wǎng)絡運營機構80的AUC中請求鑒權三元組(RAND)440、SRES 450和Kc 400)。歸屬網(wǎng)絡運營機構80中的AUC計算一個或多個三元組(RAND 440、SRES 450和Kc400),并將它們發(fā)送給本地網(wǎng)絡運營機構70的MSC/VLR。
在GSM鑒權的第二階段中,本地網(wǎng)絡運營機構70的MSC/VLR通過本地網(wǎng)絡運營機構70中的MSC/VLR對移動臺(MS)20進行鑒權,并向移動臺20發(fā)送鑒權請求(RAND),其中消息包含RAND 140。然后MS 20向包含在MS 20中的SIM發(fā)送運行GSM算法(RAND)請求消息,此消息也含有RAND 440。在操作260中,MS 20向SIM發(fā)送獲取響應消息。然后,SIM返回具有SRES 450和Kc 400的響應。然后MS 20通過向SIM發(fā)送寫入(Kc)請求來將Kc 400存儲在SIM中,其中消息包含Kc 400。MS 20向MSC/VLR發(fā)送無線電接口層3、移動性管理(RIL 3-MM)協(xié)議鑒權響應,其中SRES 450包含在該消息中。在接收到此消息后,本地網(wǎng)絡運營機構70中的MSC/VLR比較在上述GSM鑒權的第一階段中從歸屬網(wǎng)絡運營機構80的AUC中接收到的SRES 450和從MS 20接收的SRES 450。如果確定SRES 450的值不一致,則鑒權失敗,無法建立服務。但是,如果這些值相同,則鑒權成功,并且為MS 20建立服務。
圖5是用于本發(fā)明實施例的圖12所示的網(wǎng)關證書生成模塊1600的流程圖。網(wǎng)關證書生成模塊1600是移動臺證書獲取模塊1500的相對部分,用于產(chǎn)生買方10所需要的數(shù)字證書,以便從賣方50購物。網(wǎng)關證書生成模塊1600開始在操作500中執(zhí)行,并馬上進行到操作510。在操作510中,網(wǎng)關60等待來自移動臺20的消息210的傳輸。在從移動臺20接收到消息210后,網(wǎng)關60在本機存儲器中存儲包含在消息210中的SID和IMSI,處理進行到操作520。在操作520中,網(wǎng)關60產(chǎn)生包含所接收的IMSI的消息220。根據(jù)IMSI,網(wǎng)關20知道移動臺20與哪個HLR/AUC相關,從而能向其發(fā)送消息220。然后,處理進行到操作536,網(wǎng)關60等待從HLR/AUC 100接收消息230。HLR/AUC 100在接收到消息220時以一個或多個三元組應答。這些三元組含有RAND 440、SRES 450和Kc 400。網(wǎng)關60則進行到操作540,如上所述地計算M1。M1是根據(jù)采用完整性密鑰(K)和RAND 440的消息鑒權代碼(MAC)函數(shù)來計算的。所用公式表示為M1=MAC(K,{RAND})。完整性密鑰(K)是根據(jù)從HLR/AUC 100接收的Kc 400并采用公式K=({Kc})來計算的。然后處理進行到操作550,生成消息240并將其發(fā)送給移動臺20。如上所述,消息240含有RAND 440和M1。之后,處理進行到操作560,網(wǎng)關60等待來自移動臺20的消息250。在接收到消息220后,處理進行到操作570,計算M2′。M2′根據(jù)采用變量K、SRES 450、PK、限制和別名的MAC函數(shù)來進行計算。用于計算M2′的具體公式是M2′=MAC(K,{SRES},PK,[{限制}],[別名])。然后處理進行到操作580,其中在接收的消息250中的M2和網(wǎng)關60計算出的M2′之間進行比較。如果M2′和M2不相符,則處理進行到操作590,中斷網(wǎng)關證書生成模塊1600的執(zhí)行。但是,如果M2′和M2相符,則處理進行到操作600。在操作600中,網(wǎng)關60計算M3。網(wǎng)關60根據(jù)公式M3=MAC(K,C)來計算M3。在操作610中,將包含證書和M3的消息260發(fā)送給移動臺20。之后,網(wǎng)關證書生成模塊1600的處理在操作270中結(jié)束。
在移動臺證書獲取模塊1500及其對應部分網(wǎng)關證書生成模塊1600結(jié)束后,移動臺20就擁有了證書,買方10可用它從賣方50中購買商品和服務。圖6到8說明本發(fā)明實施例所涉及的為了買方10向賣方50購物而進行的處理。
圖6是在本發(fā)明的示例實施例中采用的、為便于商品和服務的購買和付款在移動臺20和賣方50之間傳遞的消息的示意圖。移動臺20將總共兩種消息發(fā)送給賣方50。移動臺20發(fā)送給賣方50的消息包括消息610和消息630。賣方50又以消息620和消息640作為響應。消息610包含從網(wǎng)關60接收的證書和對特定產(chǎn)品或服務的請求。消息620是賣方50發(fā)給移動臺20的發(fā)票。該發(fā)票用于通過移動臺20告知買方10所請求商品的價格。發(fā)票包含由賣方50選擇的賣方指定的唯一交易標識符,以及由網(wǎng)關60分配的賣方50的身份。消息630包括數(shù)字簽名,用于就所提供的證書對收取發(fā)票上的金額進行授權。消息640包括將產(chǎn)品發(fā)給移動臺20。在上述消息610到640的討論中,假定所請求的產(chǎn)品或服務是可下載到移動臺20中的數(shù)字格式。但是,如上所述,各個買方10可請求的產(chǎn)品或服務可以是包括如鮮花和衣服這類有形商品的任何東西。在產(chǎn)品為有形商品并且買方10和賣方50面對面的情況下,這種請求則可采取口頭請求的形式,發(fā)貨可采用移交鮮花或其它產(chǎn)品的形式。
在圖6所示的消息結(jié)構的另一實施例中,消息610可能只包含請求,消息630可能同時包含簽名和證書。這樣,如上所詳述的賣方銷售模塊1800可同時驗證證書和簽名。
在圖6所示的消息結(jié)構的另一實施例中,也可以針對產(chǎn)品的使用而不是僅針對產(chǎn)品交付而收費,比如對基于軟件的游戲按使用時間收費。一種實現(xiàn)此目的的方法是按周期性的時間間隔將幾個消息620發(fā)送給移動臺20。例如,如果買方10請求游戲并將其下載,則將發(fā)送初始發(fā)票,然后每五分鐘就發(fā)送一個新發(fā)票。
圖7是用于本發(fā)明實施例的圖12所示的買方購買模塊1700的流程圖。買方購買模塊1700包括如圖7所示的操作700到770。當買方10開始從賣方50處購買商品時,買方購買模塊1700開始在操作700中執(zhí)行并馬上進行到操作710。在操作710中,移動臺20將消息610發(fā)送給賣方50。傳輸模式可以是任何數(shù)字通信的方式。因此,如果賣方50為網(wǎng)站,那么移動臺20通過蜂窩接入網(wǎng)并經(jīng)網(wǎng)關(例如WAP網(wǎng)關)然后通過因特網(wǎng)來訪問賣方50。但是,如果在買方10和賣方50之間進行面對面交易,那么移動臺20和賣方50之間的通信可包括任何近程形式的通信,包括電纜、紅外線、低功率射頻或任何其它適當?shù)姆绞健?br>
仍參考圖7,在操作720中,移動臺20等待接收來自賣方50的消息620。在接收到消息620時,處理就進行到操作730。在操作730中,買方10檢查發(fā)票價格以確定它是否有效。在操作740中,確定發(fā)票(I)是否正確。如果發(fā)票(I)不正確,則處理進行到操作750,在這里結(jié)束買方購買模塊1700的處理。但是,如果發(fā)票(I)是正確的,則處理進行到操作750。在操作750中,買方10采用秘密密鑰(Ki)410對發(fā)票進行數(shù)字簽名,簽名在消息630中返回。之后,處理進行到操作760,其中移動臺20等待消息640的發(fā)送。在賣方50所發(fā)送的產(chǎn)品是數(shù)字產(chǎn)品的情況下,執(zhí)行操作760。但在所發(fā)送的產(chǎn)品是有形產(chǎn)品、如花籃的情況下,操作760可以簡單地為將產(chǎn)品從賣方50移交給買方10。此后,買方購買模塊1700在操作770中結(jié)束執(zhí)行。
圖8是可用于本發(fā)明實施例的圖12所示的賣方銷售模塊1800的流程圖。賣方銷售模塊1800是買方購買模塊1700的對應部分,可采用它來檢查從買方購買模塊1700接收的數(shù)字證書的有效性。
參考圖8,賣方銷售模塊1800包括操作800到操作905。賣方銷售模塊1800開始在操作800中執(zhí)行,并馬上進行到操作810。在操作810中,賣方銷售模塊1800等待接收包含證書和服務請求的消息610。在接收到消息610后,處理進行到操作820,其中驗證證書的有效性,并且檢查是否未違反任何可選限制。然后,在操作830中檢查數(shù)字證書驗證的結(jié)果。數(shù)字證書的這種驗證是在線進行的,因此賣方50可確定買方10所提供的數(shù)字證書是否仍然有效。這種情況在網(wǎng)關60頒發(fā)了證書、稍后在用戶報告移動臺20丟失或被盜時撤消的時候可能發(fā)生。
仍參考圖8,如果證書無效,則處理進行到操作845,結(jié)束賣方銷售模塊1800的執(zhí)行。但是,如果證書是有效的,則處理進行到操作840。在操作840中,確定所請求的服務是否遵守所施加的可選限制。如果所請求的服務不遵守這些限制,則處理再次進行到操作845,在這里結(jié)束賣方銷售模塊1800的執(zhí)行。但是,如果違反了限制,那么處理進行到操作850。在操作850中,將發(fā)票(I)在消息620中發(fā)送給移動臺20。在操作860中,賣方銷售模塊1800等待接收消息630。在接收到包含簽名(S)的消息630后,操作870檢查簽名(S)。之后在操作880中,判斷簽名(S)是否有效。如果簽名無效,則處理再次進行到操作845,終止賣方銷售模塊1800。但是,如果簽名有效,處理進行到操作890,賣方50產(chǎn)生帳目記錄(AR),并將其存儲在賣方50的本機數(shù)據(jù)庫中。之后處理進行到操作900,賣方50發(fā)送所需的產(chǎn)品或服務。在產(chǎn)品是數(shù)字產(chǎn)品時這可通過消息640的傳送來完成。最后,賣方銷售模塊1800在操作905中結(jié)束執(zhí)行。
圖9到11說明采用本發(fā)明實施例、賣方50能夠接收所出售的產(chǎn)品和服務的付款的過程。
圖9是在本發(fā)明的示例實施例中、為了便于向提供商品和服務給買方10的賣方付款而在賣方50和網(wǎng)關60之間傳遞的消息的示意圖。在賣方50和網(wǎng)關60之間只交換兩種消息。消息910只包含在有限時段內(nèi)由賣方50累積的當前記錄。然而,如本領域的普通技術人員所理解的,每次產(chǎn)生一條帳目記錄時,它都可被傳送給網(wǎng)關60。消息920是網(wǎng)關60提供給賣方50的響應,它表明接受或拒絕所發(fā)送的帳目記錄。
圖10是用于本發(fā)明的示例實施例的圖12所示的賣方計費模塊1900的流程圖。賣方計費模塊9000包括如圖10所示的操作1000到1160。賣方計費模塊9000開始在操作1000中執(zhí)行并且馬上進行到操作1010。在操作1010中,將變量i設置為0。在操作1020中,確定是否仍存在任何未被結(jié)合在消息910中的記錄。如果未留下任何記錄,則處理進行到操作1030,賣方計費模塊1900結(jié)束執(zhí)行。然而如果沒有留下待處理的帳目記錄,則處理進行到操作1040,或者它們被放置到消息910中。之后,在操作1050中,i按1遞增。在操作1060中,確定是否還有待處理的記錄。如果仍有待處理的記錄,則處理進行到操作1070。在操作1070中,確定變量i是否小于變量n,n表示可放在消息910中的帳目記錄的最大數(shù)量。如果i小于n,則處理回到操作1040以作進一步處理。然而,如果i不小于n,則處理進行到操作1080。在操作1080中,將包含帳目記錄的消息910發(fā)送給賣方50。之后處理進行到操作1090,賣方50等待網(wǎng)關60返回消息920。在接收到消息920后,處理進行到操作1110。在操作1110中,接受來自網(wǎng)關60的響應。在操作1120中,確定所接收的響應是否表明確認,以及由此表明對該帳目記錄和付款的批準。如果在操作1120中未確認響應,則處理進行到操作1130,將帳目記錄添加到錯誤記錄中。然后在稍后的時間點檢查錯誤記錄,以確定合適的行動過程。然而,如果響應等效于確認,則處理進行到操作1140,將帳目記錄輸入本機的內(nèi)部記錄中。之后在操作1130和1140的情況中,處理進行到在消息920中留下的任何未處理響應。如果存在未處理的響應,則處理返回到操作1110。然而,如果所有響應均已被處理,則處理進行到操作1160,終止賣方計費模塊1900的執(zhí)行。
圖11是用于本發(fā)明的示例實施例中的圖12所示的網(wǎng)關計費模塊2000的流程圖。采用網(wǎng)關計費模塊2000把買方10采用移動臺20所作購買的金額記入賣方50帳戶的貸方。網(wǎng)關計費模塊2000還用于驗證包含由網(wǎng)關證書生成模塊1600所創(chuàng)建的數(shù)字證書的相應買方記錄的存在。另外,網(wǎng)關計費模塊2000還驗證由買方購買模塊1700所產(chǎn)生的簽名的有效性。如上面詳細討論的那樣,采用數(shù)字證書和簽名的驗證,可以保證買方10為購買的商品支付正確的金額,并且保證買方10僅被收取一次費用。
網(wǎng)關計費模塊2000包括圖11所示的操作1200到1340,并且開始在操作1200中執(zhí)行。網(wǎng)關計費模塊2000在操作1200中啟動后馬上進行到操作1210。在操作1210中,網(wǎng)關計費模塊2000等待來自賣方計費模塊1900的消息910的傳輸和到達。在操作1220中,從賣方50接收消息910,處理進行到操作1230。在操作1230中,從消息910中提取一條帳目記錄(AR)。然后處理進行到操作1235,確定此特定的帳目記錄是否已經(jīng)被提交。如果該帳目記錄已被提交,則處理進行到操作1300,產(chǎn)生一條錯誤響應。然而,如果此特定的帳目記錄尚未處理,則處理進行到操作1240。在操作1240中,搜索網(wǎng)關60數(shù)據(jù)庫,查找此銷售的數(shù)字證書的相應記錄。在操作1250中,確定是否找到了記錄。如果未找到記錄,則處理進行到操作1300,其中存儲此特定帳目記錄的錯誤響應,用于在消息920中傳送給賣方50。但是,如果發(fā)現(xiàn)了相應記錄,則處理進行到操作1260。
仍參考圖11,在網(wǎng)關60上執(zhí)行的網(wǎng)關計費模塊2000進行到執(zhí)行第二次檢查,確定帳目記錄是否正確。在操作1260中檢查買方10的簽名。另外,檢查數(shù)字證書的相關限制,確定此帳目記錄是否違反了這些限制中的任一個。在操作1270中,如果無法驗證簽名或者如果違反了任何限制,則處理進行到操作1300,其中存儲此特定帳目記錄的錯誤響應,以便在消息920中傳輸。但是,如果簽名被驗證且未違反限制,則處理進行到操作1280。在操作1280中,在網(wǎng)關60的數(shù)據(jù)庫中存儲呼叫詳細記錄(CDR),這樣,買方10可在稍后時間中向賣方50為此時段內(nèi)的所有購買的商品付款。另外,可在買方10的帳戶上收取此時段內(nèi)的呼叫詳細報告的費用。在GSM網(wǎng)絡中,這是通過將CDR從本地運營商發(fā)送給歸屬運營商、然后歸屬運營商將CDR中表示的交易添加到買方電話帳單中來完成的。然后,在操作1290中,確認此帳目記錄的響應,并存儲此響應以在消息920中傳送給賣方50。之后,處理從操作1290和1300進行到操作1310,其中將確認響應或錯誤響應放在消息920中。在操作1320中,確定在消息910中是否留有其它帳目記錄并且需要處理。如果在消息910中還有未處理的帳目記錄,則處理返回到操作1230。但是,如果所有帳目記錄均已被處理,則處理進行到操作1330。在操作1330中將包含所有帳目記錄的所有響應的消息920傳送給賣方50,網(wǎng)關計費模塊的處理在操作1340中結(jié)束。
應當指出,賣方計費模塊1900和網(wǎng)關計費模塊2000在批操作中處理帳目記錄。但是,正如本領域的普通技術人員會理解的,也可在賣方銷售模塊1800中產(chǎn)生帳目記錄并將其從賣方50發(fā)送給網(wǎng)關60。這種方法會增加賣方50和網(wǎng)關60之間的業(yè)務量。
圖12是示于圖5、7、8、10和11中的本發(fā)明實施例的模塊配置圖。此模塊配置圖說明本發(fā)明中模塊之間的互連和邏輯流。應當指出,如以上參考圖4所討論的,移動臺20的證書獲取模塊1500是唯一與GSM鑒權模塊1400、A3算法模塊430和A8算法模塊420接口的模塊。采用本發(fā)明的這種實施例,移動臺20只需由用于計費和鑒權的移動電話基礎設施90在啟動時進行鑒權,因此對用于計費和鑒權的電信移動電話基礎設施90只施加了最小的負荷。
仍參考圖12,一旦移動臺20得到驗證,移動臺證書獲取模塊1500就能夠采用網(wǎng)關證書生成模塊1600來從網(wǎng)關60中獲得數(shù)字證書。通過移動臺20的存儲器中的證書,買方購買模塊1700就能夠和賣方銷售模塊1800結(jié)合起來從賣方50進行購買。賣方銷售模塊1800產(chǎn)生一條帳目記錄,賣方計費模塊1900能夠?qū)⑵涮峤唤o網(wǎng)關60。網(wǎng)關60中的網(wǎng)關計費模塊2000將驗證帳目記錄的正確性,對買方10只收取正確的金額,并對任何購買只收一次款。
雖然在此已經(jīng)表示和描述了一些示例,但是本領域的技術人員應當理解,可以對本發(fā)明進行大量的變更和修改。例如,與在消息260中發(fā)送單個數(shù)字證書不同,可以同時發(fā)送若干證書。這樣,各證書可以具有其自身的限制,當買方或用戶10要進行購買時,可向賣方50發(fā)送與購買要求最接近的證書。另外,可以不發(fā)送包含如圖2所示的M1、M2和M3的消息,而是采用32位的完整性密鑰(Ki)來驗證所有消息,此32位完整性密鑰(Ki)是如3G安全性文件的訪問鏈接數(shù)據(jù)完整性(3G TS 33.102,3.5.0版,1999年發(fā)行)中第6.5節(jié)所定義的第三代標準安全機制的一部分,現(xiàn)將其通過引用結(jié)合于本文中。因此,本發(fā)明不限于這里表示和描述的細節(jié),而是意在涵蓋由所附權利要求的范圍所包括的所有這些變化和修改。
權利要求
1.一種采用移動臺來訂購商品和服務、為之付款以及交付這些商品和服務的方法,它包括通過所述移動臺訪問網(wǎng)關,并將移動臺的識別碼發(fā)送給所述網(wǎng)關;由所述網(wǎng)關通過訪問鑒權中心并且比較由所述移動臺計算出的變量和由所述網(wǎng)關計算出的變量來驗證所述移動臺的身份;在驗證了所述移動臺的身份后由所述網(wǎng)關將數(shù)字證書發(fā)送給所述移動臺;以及向賣方請求產(chǎn)品或服務,并將數(shù)字簽名連同用作簽名驗證密鑰的數(shù)字證書作為付款發(fā)送給所述賣方。
2.如權利要求1所述的方法,其特征在于,所述移動臺通過比較由所述網(wǎng)關計算出的變量和由所述移動臺計算出的變量來驗證所述網(wǎng)關的合法性,其中還包括將會話標識和國際移動用戶身份碼從所述移動臺發(fā)送給所述網(wǎng)關;將所述國際移動用戶身份碼從所述網(wǎng)關發(fā)送給所述鑒權中心;將隨機數(shù)(RAND)、簽字響應(SRES)和加密密鑰從所述鑒權中心發(fā)送給所述網(wǎng)關;由所述網(wǎng)關計算變量M1,并將所述變量M1和所述隨機數(shù)發(fā)送給所述移動臺;由所述移動臺來計算變量M1′;以及當所述變量M1等于所述變量M1′時,驗證了所述網(wǎng)關的合法性。
3.如權利要求2所述的方法,其特征在于,通過所述移動臺和所述鑒權中心來計算作為RAND和Ki的函數(shù)的完整性密鑰(K),其中RAND是所述鑒權中心頒發(fā)的隨機數(shù),而Ki是在所述鑒權中心和所述移動臺內(nèi)包含的秘密密鑰。
4.如權利要求3所述的方法,其特征在于,所述完整性密鑰(K)的RAND由所述鑒權中心發(fā)送給所述網(wǎng)關。
5.如權利要求1所述的方法,其特征在于,所述方法還包括通過所述網(wǎng)關證明所述移動臺的公開密鑰(PK)來計算數(shù)字證書;由所述網(wǎng)關計算變量M3,并將所述變量M3和所述數(shù)字證書發(fā)送給所述移動臺;由所述移動臺計算變量M3′;當所述變量M3等于所述變量M3′時驗證了所述網(wǎng)關的合法性。
6.如權利要求5所述的方法,其特征在于,所述變量M3和M3′采用公式M3=M3′=MAC(K,C)來計算,其中MAC是消息鑒權代碼函數(shù),K是完整性密鑰,C是由所述網(wǎng)關證明PK而創(chuàng)建的數(shù)字證書。
7.如權利要求1所述的方法,其特征在于,通過網(wǎng)關訪問鑒權中心并且比較由所述移動臺計算出的變量和由所述網(wǎng)關計算出的變量來驗證所述移動臺的身份,其中還包括將簽字響應、公開密鑰和由所述移動臺計算出的變量M2發(fā)送給所述網(wǎng)關;由所述網(wǎng)關計算變量M2′;比較所述變量M2和所述變量M2′;以及當變量M2等于變量M2′時驗證了所述移動臺的身份。
8.如權利要求7所述的方法,其特征在于,變量M2和M2′采用公式M2=M2′=MAC(K,{SRES},PK,[{限制}],[別名])來計算,其中MAC是消息鑒權代碼函數(shù),SRES是簽字響應,K是完整性密鑰,PK是公開密鑰,限制是對所述證書的限制,別名是所述移動臺的另一標識。
9.如權利要求1所述的方法,其特征在于,向賣方請求產(chǎn)品或服務并且將所述數(shù)字簽名連同用作簽名驗證密鑰的數(shù)字證書作為付款發(fā)送給所述賣方,其中還包括隨對所述產(chǎn)品或服務的請求一起發(fā)送所述證書;從所述賣方接收表明所述產(chǎn)品或服務的價格的發(fā)票;計算關于所述發(fā)票的數(shù)字簽名;通過將所述數(shù)字簽名發(fā)送給所述賣方來認可所述發(fā)票;以及所述買方接受所述產(chǎn)品或服務的交付。
10.如權利要求9所述的方法,其特征在于,在傳送所述數(shù)字簽名時所述賣方還包括驗證所述數(shù)字簽名;驗證是否未違反與所述數(shù)字證書相關的限制;以及創(chuàng)建關于所出售的產(chǎn)品或服務的帳目記錄。
11.如權利要求10所述的方法,其特征在于,所述方法還包括將具有發(fā)票的帳目記錄和歸屬網(wǎng)絡運營機構的客戶的數(shù)字簽名從所述賣方發(fā)送給所述網(wǎng)關;由所述網(wǎng)關來確定在本機數(shù)據(jù)庫中是否存在相應的記錄以及所述數(shù)字簽名的有效性;確定所述發(fā)票是否違反包含在相應記錄中的任何限制;把與所述發(fā)票中金額相等的金額記入所述賣方帳戶中的貸方;以及按照所述發(fā)票金額對所述買方收費。
12.如權利要求1所述的方法,其特征在于,所述方法還包括所述移動臺通過比較由所述網(wǎng)關計算出的變量和由所述移動臺計算出的變量來驗證所述網(wǎng)關的合法性。
13.如權利要求11所述的方法,其特征在于,在驗證了所述移動臺和所述網(wǎng)關的身份后所述網(wǎng)關將數(shù)字證書發(fā)給所述移動臺,其中還包括由所述移動臺向所述網(wǎng)關請求數(shù)字證書,用于向賣方訂購產(chǎn)品或服務并且為之付款。
14.一種采用移動臺來訂購商品和服務、為之付款以及交付商品和服務的系統(tǒng),它包括GSM鑒權模塊,用于驗證是否允許所述移動臺接入電信基礎設施;移動臺證書獲取模塊,用于為所述移動臺向網(wǎng)關請求數(shù)字證書;以及網(wǎng)關證書生成模塊,用于驗證所述移動臺是否被授權可接收所述數(shù)字證書,這是通過將從所述移動臺接收的國際移動用戶身份碼發(fā)送給鑒權中心、根據(jù)從所述鑒權中心接收的信息來計算變量并將它們與所述移動臺計算的變量相比較、并且在所述變量匹配時將所述數(shù)字證書頒發(fā)給所述移動臺來實現(xiàn)的。
15.如權利要求14所述的系統(tǒng),其特征在于,所述移動臺證書獲取模塊通過采用比較由所述網(wǎng)關和所述移動臺計算出的變量的方式來驗證所述網(wǎng)關是否被授權可頒發(fā)所述數(shù)字證書。
16.如權利要求15所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括買方購買模塊,用于向賣方請求購買商品或服務、將所述數(shù)字證書提交給所述賣方、接收發(fā)票并將批準購買所述商品或服務的數(shù)字簽名提供給所述賣方;賣方銷售模塊,用于驗證所述數(shù)字證書的有效性和所述數(shù)字簽名的有效性、發(fā)出發(fā)票、產(chǎn)生帳目記錄并且交付產(chǎn)品或服務;賣方計費模塊,用于將所述帳目記錄發(fā)送給所述網(wǎng)關,并且接收表明所述帳目記錄是否關于付款得到批準的響應;以及網(wǎng)關計費模塊,用于驗證所述帳目記錄及附帶的簽名,并且在所述帳目記錄及附帶的簽名得到驗證后在所述賣方帳戶中記入貸方和在所述買方帳戶中記入借方。
17.如權利要求16所述的系統(tǒng),其特征在于,所述網(wǎng)關證書生成模塊將國際移動用戶身份碼發(fā)送給所述鑒權中心,從所述鑒權中心接收隨機數(shù)、簽字響應和加密密鑰,計算變量M1、M2′和M3,并通過比較從所述移動臺接收的變量M2和所述變量M2′來驗證所述移動臺的有效性。
18.如權利要求14所述的系統(tǒng),其特征在于,所述移動臺還包括用戶識別模塊(SIM),用于根據(jù)在簽訂服務計劃時由歸屬網(wǎng)絡運營機構安裝在所述用戶識別模塊中的秘密密鑰以及從所述歸屬網(wǎng)絡運營機構的鑒權中心得到的隨機數(shù)來計算簽字響應和加密密鑰;包含在所述SIM中的A3算法模塊,用于計算所述簽字響應;以及包含在所述SIM中的A8算法模塊,用于計算所述加密密鑰,其中,電信基礎設施能夠通過與所述移動臺之間往返傳輸簽字響應來驗證所述移動臺是否被授權可接入所述電信基礎設施和所述網(wǎng)關。
19.一種在計算機可讀媒體上實施并且可由計算機執(zhí)行的計算機程序,用以采用移動臺來訂購商品和服務、為之付款以及交付這些商品和服務,它包括GSM鑒權代碼段,用于驗證是否允許所述移動臺接入電信基礎設施;移動臺證書獲取代碼段,用于為所述移動臺向網(wǎng)關請求數(shù)字證書;以及網(wǎng)關證書生成代碼段,用于驗證所述移動臺是否被授權可接收所述數(shù)字證書,這是通過將從所述移動臺接收的國際移動用戶身份碼發(fā)送給鑒權中心、根據(jù)從所述鑒權中心接收的信息來計算變量并將它們與所述移動臺計算的變量相比較、并且在所述變量匹配時將所述數(shù)字證書頒發(fā)給所述移動臺來實現(xiàn)的。
20.如權利要求19所述的系統(tǒng),其特征在于,所述移動臺證書獲取代碼段通過使用比較所述網(wǎng)關和所述移動臺計算的變量的方式來驗證所述網(wǎng)關是否被授權能頒發(fā)所述數(shù)字證書。
21.如權利要求19所述的計算機程序,其特征在于還包括買方購買代碼段,用于向賣方請求購買商品或服務、將所述數(shù)字證書提交給所述賣方、接收發(fā)票并將批準購買所述商品或服務的數(shù)字簽名提供給所述賣方;賣方銷售代碼段,用于驗證所述數(shù)字證書的有效性和所述數(shù)字簽名的有效性、發(fā)出發(fā)票、產(chǎn)生帳目記錄以及交付產(chǎn)品或服務;賣方計費代碼段,用于將所述帳目記錄發(fā)送給所述網(wǎng)關,并且接收表明所述帳目記錄是否關于付款得到批準的響應;以及網(wǎng)關計費代碼段,用于驗證所述帳目記錄及附帶的簽名,并在所述帳目記錄及附帶的簽名得到驗證時在所述賣方帳戶中記入貸方和在所述買方帳戶中記入借方。
22.如權利要求20所述的計算機程序,其特征在于,所述移動臺證書獲取代碼段將會話標識和國際移動用戶身份碼傳送給所述網(wǎng)關,從所述網(wǎng)關中接收隨機數(shù)和變量M1,并通過計算和比較變量M1′和M1來驗證所述網(wǎng)關的有效性。
23.如權利要求19所述的計算機程序,其特征在于,所述網(wǎng)關證書生成代碼段將國際移動用戶身份碼傳送給所述鑒權中心,從所述鑒權中心接收隨機數(shù)、簽字響應和加密密鑰,計算變量M1、M2′和M3,并通過比較從所述移動臺接收的變量M2和變量M2′來驗證所述移動臺的有效性。
全文摘要
一種通過使用證書對商品和服務進行訂購、付款和交付的系統(tǒng)、方法和計算機程序。這些證書保證買方只為購買的商品或服務付一次款且金額正確。此系統(tǒng)、方法和計算機程序采用用于實現(xiàn)接入電信基礎設施以引導公開密鑰基礎設施的鑒權中心。此系統(tǒng)、方法和計算機程序?qū)⒉捎么鎯υ谝苿优_和鑒權中心中的長期密鑰來驗證所用移動臺的身份。此系統(tǒng)、方法和計算機程序?qū)⒉捎眠@些密鑰和變量來產(chǎn)生數(shù)字證書和簽名,使得利用移動臺能購買商品和服務。然后網(wǎng)關根據(jù)收到的數(shù)字證書和簽名來驗證任何收費的有效性。因此,此系統(tǒng)、方法和計算機程序的用戶可購買商品和服務而不用擔心存在欺詐或錯誤。此移動臺可以是蜂窩電話,當它與此系統(tǒng)、方法和計算機程序一起使用時,蜂窩電話可以類似于信用卡的方式使用,但具有不太可能發(fā)生欺詐或錯誤的優(yōu)點。
文檔編號G06Q20/00GK1535452SQ01818452
公開日2004年10月6日 申請日期2001年8月15日 優(yōu)先權日2000年9月11日
發(fā)明者N·阿索坎, P·金茨博爾格, N 阿索坎, 牟┒ 申請人:諾基亞有限公司