專利名稱:使用蜂窩電信和授權基礎設施對商品和服務進行安全認證和結帳的系統和方法
技術領域:
本發明涉及一種使用蜂窩認證基礎設施對商品和服務進行安全認證和結帳的系統和方法。更具體地說,本發明引導一種授權基礎設施,使得蜂窩電信系統的訂戶可使用移動終端通過訂戶的電話帳單從銷售者購買商品和服務并且進行支付,其確保不發生與支付相關的錯誤和欺詐。
背景技術:
購買者使用信用卡和借記卡支付商品和服務是常見的。信用卡的使用消除了攜帶大量現金以便支付這些商品和服務的需要。此外,信用卡的使用消除了汽車出租機構和旅館需要大量押金以便確保返還汽車或預訂房間的需要。因此,信用卡的使用促進了商務交易,因此為購買者提供了很大的方便。然而,信用卡也促進了欺詐和錯誤的發生,其中顧客為相同物品被重復結帳或者結帳金額不正確。
隨著因特網接入和使用的爆炸式增長,在相互從未謀面的個人和公司更別提先前進行過任何商務交易的個人和公司之間正在發生數量日益增長的商務。目前,典型的因特網用戶都將具有安裝在其本地計算機或服務器中的瀏覽器如Internet ExplorerTM或NetscapeTM。使用該瀏覽器,用戶將在本地公共交換電話網絡(PSTN)上通過調制解調器接入因特網服務提供者如美國在線(AOLTM)。一旦登錄到因特網服務器上,用戶就可利用很多搜索引擎如YahooTM或LycosTM之一來指定搜索條件。用戶也可使用萬維網爬行蜘蛛或機器人以試圖找到期望產品、服務或信息。然后,搜索引擎或萬維網爬行器將以匹配用戶所提供搜索條件的網站列表響應。然后,用戶將登錄到網站上,并且查看可用于銷售的產品或服務。如果用戶決定從網站購買物品,則運營該網站的公司將再次頻繁請求用戶輸入信用卡號碼以便支付產品或服務。一旦信用卡收費被核準,則網站運營者將典型地發貨給用戶。在所訂購物品是數字格式的如軟件、圖形、文本、視頻或音樂的情況下,則所訂購的物品可被下載到用戶的個人計算機、服務器、膝上型計算機、掌上型計算機或其他基于處理器的系統。
隨著帶有和不帶無線接入協議(WAP)的蜂窩電話的出現,用戶還可直接通過支持WAP的電話或者以類似于與個人計算機一起使用的方式通過連接到蜂窩電話的基于處理器的系統在因特網上“沖浪”和訂購商品和服務。因此,用戶可利用蜂窩電話、衛星電話或者其他類型的移動臺從任何地方訂購商品和服務。因此,一個人可以位于與他人相隔較遠的邊遠地區,至于有電話線的情況就更不必說了,并且從地球另一側的網站訂購視頻游戲,并且將其下載到連接到蜂窩或獨立WAP或HTML(超文本置標語言)支持電話的其掌上型計算機,并且就地玩游戲。
然而,用戶或消費者可能不知道誰在運營該網站,并且對于在因特網上將信用卡號碼提供給可能或可能不交付期望產品的陌生人可能有些顧慮。此外,即使當購買者與銷售者直接進行面對面的交易時,用戶也可能擔心商定價格將不是實際上向其信用卡收取的價格。另外,即使在面對面交易中也有可能購買者為同一物品被重復結帳。另外,在因特網交易中,如果網站運營者不夠誠信,則商品的交付將得不到保證。
信用卡公司已通過提供爭議解決服務來試圖解決與重復結帳或者結帳金額不正確相關的問題,其中顧客可質疑所收取的金額,并且信用卡公司將啟動調查。然而,該調查可能花費較長的時間,并且購買者不被保證得到滿意的解決。在由于被盜信用卡而引起的欺詐的情況下,如果該卡被迅速地報告為被盜,則信用卡公司通常將限制債務。在借記卡的情況下,在丟失或失竊的情況下,銀行可能不被要求限制債務。
用來防止商業交易中的欺詐和錯誤的其他方法是通過使用不可被否認的數字簽名。在公開密鑰系統中,稱作證書管理機構(CA)的實體執行兩個主要功能證書的簽發和廢除。證書用來連接名稱或授權如進行購買的權限與公共簽名驗證密鑰。證書由CA簽署。為了驗證證書,需要CA公共簽名驗證密鑰的真實副本。例如,假定一個人或實體具有某CA(CA1)的公開密鑰。只有某CA(CA2)的公開密鑰被CA1證明,該人或實體才可驗證由CA2簽發的證書。CA的這種交叉證明稱作“公開密鑰基礎設施”(PKI)。因此,為了讓數字簽名得到廣泛的使用,則該數字簽名需要存在全球PKI,但是全球PKI由于其需要大量各方之間的合同和協定而難以形成。創建該全球PKI系統的嘗試到目前為止尚未成功。公開密鑰證明和交叉證明詳見作者為A.J.Menezes等人的Handbook of Applied Cryptography,CRC Press 1997,ISBN 0-8493-8523-7的章節13.4.2“public key certificates”和章節13.6.2“Trustmodels involving multiple certification authorities”,在此將其引作參考。
因此,需要一種允許用戶或消費者支付商品和服務同時確保黑客或罪犯不可以監聽或竊聽合法購買者和銷售者之間的支付交易并且以后使用該知識進行向該合法用戶收費的購買的系統和方法。該系統和方法還不應當允許合法用戶否認被收取的合法費用。該系統和方法還應當防止銷售者以合法消費者的名義偽造支付交易。該系統和方法還應當不需要為了正常工作而建立新基礎設施。
發明內容
本發明的一個實施例提供了一種授權移動臺使用由服務提供者提供的產品、服務、訪問或某其他權限的方法。該方法開始于由移動臺訪問網關并且發送標識碼到該網關。然后,它通過網關訪問認證中心并且比較由移動臺算出的變量和由網關算出的變量來驗證移動臺和網關的身份。然后,該方法由移動臺向網關請求用于向服務提供者授權移動臺的數字證書或簽名驗證服務地址。創建用來生成和驗證包含用戶公開密鑰的數字簽名或數字證書的共享密鑰。然后,當移動臺的身份已被驗證時,由網關將地址或數字證書遞送給移動臺,其中該地址是能夠驗證使用移動臺的簽署密鑰生成的數字簽名的簽名驗證服務的地址。然后,用戶可向服務提供者請求產品、服務、訪問或權限,并且由移動臺將伴隨有數字證書或簽名驗證地址的數字簽名發送到服務提供者。然后,服務提供者使用數字證書驗證數字簽名,或者訪問簽名驗證地址并且從簽名驗證服務接收數字簽名的驗證。
此外,本發明的一個實施例創建了一種用于使用移動臺訂購、支付和交付商品和服務的系統和計算機程序。該系統和計算機程序使用GSM認證模塊來驗證移動臺屬于可被結帳的用戶。它還具有移動臺證書/簽名驗證地址獲取模塊,以向網關請求移動臺的數字證書或簽名驗證地址,并且通過比較由網關和移動臺算出的變量來驗證網關被授權簽發數字證書。該系統和方法還具有網關證書/簽名驗證地址生成模塊,以驗證移動臺被授權。該模塊還將從移動臺接收的國際移動訂戶標識符發送到認證中心,并且接收使用其它可通過詢問-應答協議來驗證移動臺的真實性的信息。一旦被驗證,該模塊生成和簽發數字證書或簽名驗證地址給移動臺。
通過下面結合附圖的描述,該設備和方法的這些和其他特性將會變得更加清楚,其中附圖僅為了示例說明的目的而示出根據本發明的例子。
通過下面結合附圖閱讀的對示例性實施例的詳細描述和權利要求書,本發明的前面和更佳理解將會變得清楚,其中附圖全都形成本發明公開的一部分。雖然上文和下文集中于公開本發明的示例實施例,但是應當理解,它們僅是用于示例說明的目的,并且本發明不局限于此。本發明的精神或范圍僅按照所附權利要求來限定。
下面表示附圖的簡要描述,其中圖1是本發明實施例的總體系統圖的例子;圖2是為了購買者可被認證并且最終接收可用來購買商品和服務的證書或簽名驗證地址而在移動臺、網關和歸屬位置寄存器(homelocation register,HLR)之間傳遞的消息的圖,其中歸屬位置寄存器(HLR)包含或連接到認證中心(AUC);圖3是用于本發明實施例中的圖12所示的移動臺證書獲取模塊的流程圖;圖4是用于本發明示例實施例中的全球移動通信標準(GSM)認證算法的圖;圖5是用于本發明實施例中的圖12所示的網關證書生成模塊的流程圖;圖6是用于本發明示例實施例中的為了幫助商品和服務的購買和支付而在移動臺和銷售者之間傳遞的消息的圖;圖7是本發明實施例所利用的圖12所示的購買者購買模塊的流程圖;圖8是本發明實施例所利用的圖12所示的銷售者銷售模塊的流程圖;圖9是在本發明的示例實施例中為了幫助為提供給購買者的服務和商品向銷售者進行支付而在銷售者和網關之間傳遞的消息的圖;圖10是用于本發明示例實施例中的圖12所示的銷售者結帳模塊的流程圖;圖11是用于本發明示例實施例中的圖12所示的網關結帳模塊的流程圖;以及圖12是圖3-5、7、8、10和11所示的本發明實施例的模塊配置圖。
具體實施例方式
在開始本發明的詳細描述之前,下面的記載是按照順序的。適當時,相同的標號和參考符號可用來指定不同附圖中的相同、相應或類似組件。此外,在下面詳細描述中,可給出示例性尺寸/模型/值/范圍,不過本發明并不局限于此。
圖1示出本發明實施例的總體系統圖的例子。在此示例實施例中,移動臺(MS)20用作用戶、購買者或消費者10接入本發明的接口。該移動臺(MS)20可以是支持WAP的蜂窩電話、支持超文本置標語言(HTML)的蜂窩電話或者連接有基于處理器的系統的蜂窩電話。該基于處理器的系統可以是但不限于膝上型計算機、掌上型計算機或單獨包括支持WAP的電話的其他便攜式計算設備。移動臺(MS)20通過電信基礎設施30經由網關60與本地網絡運營者服務70通信。電信基礎設施30可以是但不限于蜂窩電話控制協議如GSM(全球移動通信系統)電話系統、基于無線局域網(LAN)的網際協議(IP)或者任何其他適合接入協議。移動臺10與銷售者50之間的接口通過通信基礎設施35,其可以是但不限于直接物理連接、短程射頻(RF)連接、IP連接或者任何其他適合通信手段。反過來,銷售者50可通過但不限于網際協議分組交換網站、基于公共交換電話網絡的撥號線或者任何其他適合通信手段與網關60通信,并且由此與本地網絡運營者服務70通信。因此,本發明的實施例不局限于使用因特網的通信。此外,本地網絡運營者服務70可直接通過PSTN或通過因特網與購買者10的歸屬(home)網絡運營者服務80通信。另外,歸屬網絡運營者服務80、本地網絡運營者服務70、網關60、簽名驗證服務65都被考慮為用于結帳和認證的移動電話基礎設施90的一部分,其中用于結帳和認證的移動電話基礎設施90用來幫助購買商品和服務。
在圖1中,應當注意,假設用戶10不在歸屬網絡運營者服務80區域內。然而,當用戶10在歸屬網絡運營者服務80區域內時,本發明的實施例也將工作,因此歸屬網絡運營者服務80和本地網絡運營者服務70可以是同一實體。
當用戶或消費者10不在其歸屬網絡運營者服務80區域內時,如果在本地網絡運營者服務70和歸屬網絡運營者服務80之間存在漫游協定,則用戶10仍然可以從銷售者50進行購買。此外,銷售者50可以是從街邊賣花攤販到百貨店或服裝店的銷售商品或服務的任何人。銷售者50還可以是軟件或其他數字產品的銷售者,并且可以具有鋪面或者可以具有因特網40上的網站。對銷售者50的僅有限制是他被本地網絡運營者服務70允許接受數字證書,并且使用它們來驗證代表購買者10而創建的數字簽名,或者可以訪問其地址可通過購買者10提供的簽名驗證服務65,并且將它們提交給本地網絡運營者服務70以進行支付。如果用戶或購買者10在其歸屬網絡運營者服務80區域之外,則本地網絡運營者服務70將把購買者10和銷售者50之間的交易的帳目記錄提交給用戶10的歸屬網絡運營者服務80以通過用戶10的電話帳單進行結帳。
仍然參照圖1,使用本發明,只要用戶的歸屬網絡運營者服務80與本地網絡運營者服務70建立了漫游協定,購買者10就有可能以類似于信用卡的方式利用移動臺20支付商品和服務。如同大部分信用卡一樣,如果建立了通用蜂窩電話標準,這在某一天可以是全球的。如前所述,本發明的使用消除了為產品或服務向購買者10重復結帳或者對特定商品或服務提交不正確支付價格的可能性。此外,由于數字簽名不能被不能訪問簽署密鑰的任何方偽造,并且由于簽署密鑰決不會被泄露在移動臺20之外,因此第三方竊聽者、黑客、罪犯或銷售者都將不可能不可發覺地修改由合法支付者生成的支付消息,或者生成聲稱來自合法支付者的假支付消息。另外,只要購買者或用戶10的歸屬網絡運營者服務80建立了漫游協定,并且其移動臺20可與本地網絡運營者服務70接口,購買者或用戶10就可利用移動臺20。然而,本發明的實施例不局限于商品和服務的購買和銷售。例如,可利用本發明啟用或禁用與蜂窩電話相關聯的任何權限或能力。這可包括但不限于發送者發送消息到特定移動臺20的權限或能力、確定移動臺20的位置、移動臺的激活或禁止等。
仍然參照圖1,如前面更詳細地討論的那樣,在本發明的可選實施例中,簽名驗證服務65可以有效地取代證書。銷售者50可隨同基于消息認證代碼(MAC)的數字簽名一起從移動臺20接收簽名驗證服務65的地址。該地址可采取通用資源定位符(URL)的形式,其中通用資源定位符(URL)將引導銷售者50到移動臺20的可能網關60和可能特定目錄。然后,簽名驗證服務65將代表銷售者50驗證簽名。因此,在銷售者50接收證書的情況下,是銷售者50認證數字簽名,但是如果銷售者50接收簽名驗證服務65地址,則是簽名驗證服務65根據MAC密鑰的使用來認證數字簽名。
現在將提供涉及用于本發明的實施例中的邏輯的討論。具體地說,將提供對圖2到11所示的流程圖和圖以及圖12所示的模塊配置圖的討論。圖2到12所示的流程圖和圖以及圖12所示的模塊配置圖包括例如與包含在例如存儲介質如軟盤、CDROM、EPROM、硬盤等上的計算機程序的代碼、代碼部分、指令、固件、硬件、命令等相對應的操作。此外,該計算機程序可采用任何語言例如但不限于C++編寫。
本發明的實施例使用GSM(全球移動通信系統)電話系統,該系統在移動臺(MS)20和用于結帳和認證的移動電話基礎設施90中采用多個算法,其中移動臺(MS)20例如是但不限于蜂窩電話和支持WAP的蜂窩電話,并且用于結帳和認證的移動電話基礎設施90控制用戶10和移動臺20的認證以防止對網絡的未授權訪問,并且在用戶之間提供發送加密。GSM系統在作者為Mouly和Pautet的出版物“The GSM System forMobile Communications”,Copyright 1992中有深入的描述,在此將該出版物的全文引作參考。GSM系統的安全特性參見Mouly和Paute正文的第477到498頁。GSM系統安全性的進一步細節參見標題為“Digital cellular telecommunications system(Phase 2+);Security relatednetwork functions”(GSM 03.20 version 6.1.0 Release 1997)的ETSI出版物TS 100 929 V.6.1.0(1999),在此將其全文引作參考。將關于圖2-12并且特別是圖4更詳細地討論在本發明中使用GSM系統。然而,應當注意,可以使用認證移動臺20以接入電信基礎設施30的任何其他類似GSM的系統。
圖2是在移動臺20、網關60和位于歸屬網絡運營者服務80中的歸屬位置寄存器(HLR)認證中心(AUC)之間傳遞的消息的圖。在下面討論中,花括號{}表示一個或多個項目的集合,而方括號[]表示可選項目。消息210到260使移動臺20由此是購買者10能夠接收允許購買者10從銷售者50購買并支付商品和服務的數字證書。在移動臺20和網關60之間交換總共四條消息,而在網關60和HLR/AUC 100之間交換兩條消息。將參照圖3和5更詳細地討論這些消息。然而,概括地說,消息210從移動臺20發送到網關60,并且包含會話標識(SID)和國際移動訂戶標識符(IMSI)。IMSI是在最初簽署服務合同時由歸屬網絡運營者服務80向每個移動臺20提供的唯一標識號碼。SID是由移動臺20分配且用來標識該特定會話的號碼。網關60又將SID和IMSI存儲在其本地存儲器中,并且在消息220中將IMSI發送到包含在歸屬網絡運營者服務80內的HLR/AUC 100。網關60能夠根據包含在IMSI內的信息識別它需要向哪個HLR/AUC 100發送IMSI。如參照圖4更詳細地討論的那樣,HLR/AUC 100以包含隨機數(RAND)410、簽署響應(SRES)450和加密密鑰(Kc)400的消息230響應。網關60取出Kc 400,并且使用它來根據公式K=f({Kc})計算完整性密鑰(K),其中f是對于網關60和移動臺20都是已知的加密單向哈希函數。然后,網關60將在網關60的存儲器的一條記錄中存儲SID、IMSI、RAND 440、SRES450和K。然后,消息240從網關60發送到移動臺20,并且包含RAND 440和M1。M1基于使用完整性密鑰(K)和RAND 440的消息認證代碼(MAC)函數來計算。所用公式以M1=MAC(K,{RAND})表示。MAC的目的是在不使用任何附加機制的情況下幫助確保消息的來源及其完整性。MAC具有兩個在功能上不同的參數即消息輸入({RAND})和秘密密鑰(K)。MAC函數詳見作者為A.J.Menezes等人的Handbook ofApplied Cryptography,CRC Press 1997,ISBN 0-8493-8523-7的章節9.5“keyed hash functions(MAC=s)”和章節9.6.3“Data Integrity UsingMAC Alone”,在此將其引作參考。一接收到RAND 440和M1變量,移動臺20就根據RAND 440和秘密密鑰(Ki)410計算SRES 450和Kc400。Ki 410是在簽署服務計劃時由移動臺20中的歸屬網絡運營者服務80安裝的秘密密鑰。移動臺20還使用公式K=f({Kc})計算完整性密鑰(K)。Kc 400的計算將參照圖4進行更詳細的討論。
仍然參照圖2,移動臺20通過生成消息250并且發送消息250到網關60來響應消息240的接收。消息250包括SRES 450、密鑰(可選公共或共享)、任何限制、別名和M2。由移動臺20提供的密鑰用于驗證由用戶10創建的數字簽名,其用作授權或核準在購買商品和服務中所產生的費用。限制和別名是可選項目。限制是指可施加的交易限制。例如,用戶或購買者10可以通過限制任何給定購買的金額、特定期限內可進行的購買次數或者密鑰的有效時期而受到保護以防移動臺20的丟失或失竊。別名是移動臺20的可選標識。M2根據另一個利用變量K、SRES 450、密鑰、限制和別名的MAC函數來計算。計算M2的特定公式是M2=MAC(K,{SRES},密鑰,[{限制}],[別名])。一接收到消息250,網關60就生成數字證書,并且在存儲器的記錄中存儲SID、IMSI、f(RAND,SRES,K)、密鑰(公共或共享)、限制、別名和數字證書。然后,網關60構造消息260的內容(C)并且計算基于公式M3=MAC(K,C)的M3。在此實施例中,內容(C)包括數字證書。因而,在消息260中,網關60將包含數字證書、M3的消息260發送到移動臺20。然后,可使用該數字證書從銷售者50購買商品和服務。
在本發明的可選實施例中,數字簽名可基于消息認證代碼(MAC)。MAC基于在簽署者與驗證者之間共享的密鑰。在此示例實施例中,簽署者是移動臺(MS)20。驗證者是圖i中以簽名驗證服務65表示的網絡實體。當要使用基于MAC的簽名時,在圖2中交換的消息必須產生MS 20與簽名驗證服務65之間的共享簽署密鑰(SK)。該簽署密鑰(SK)可以兩種方式構造。它可以在移動臺20的成功認證之后從對于雙方都已知的完整性密鑰(K)計算,或者它可以由任一方或者由雙方共同選擇。在本發明的此示例實施例中,必要的密鑰材料必須作為消息250和260來傳輸。當在消息中傳輸密鑰材料時,該消息還必須具有保密性保護。
例如,在移動臺20選擇簽署密鑰(SK)的示例優選實施例中,它將在消息250的密鑰參數中發送密鑰(SK)。在此情況下,消息260的內容(C)包括簽名驗證地址。一個可選實施例是網絡或簽名驗證服務65選擇簽署密鑰(SK)的情況,此時它將在消息260中發送SK。在此情況下,消息260的內容(C)包括簽名驗證地址和密鑰1(SK)。在共同選擇簽署密鑰(SK)的情況下,移動臺20將選擇部分密鑰(S1),并且在消息250的密鑰參數中發送它。然后,網關60或簽名驗證服務65將選擇部分密鑰(S2),并且在消息260中發送它。在此情況下,消息260的內容(C)包括簽名驗證地址和部分密鑰(S2)。此時,雙方將計算簽署密鑰(SK)為f(S1,S2),其中f(.,.)是對于雙方都先驗知道的標準兩參數函數。例如,這可以是按位異或函數。
在從完整性密鑰(K)計算簽署密鑰(SK)的情況下,消息250和260將不包含任何密鑰材料,而是僅包含要從完整性密鑰(K)計算簽署密鑰(SK)的指示。在交換消息250和260之后,雙方將計算簽署密鑰(SK)為g(K),其中g是對于雙方都先驗知道的標準隨機化函數。例如,這可以是以標準常數為參數且以K為密鑰的MAC函數例如,SK=MAC(K,0)。
在圖2所示的消息的另一個可選實施例中,有可能通過使用由網關60或某其他服務器提供的公開密鑰對消息210中的IMSI進行加密來增強本發明的安全性。以這種方式,IMSI被第三方截取的可能性更小。
在圖2所示的消息的另一個可選實施例中,有可能讓移動臺20和網關60共同選擇SID。以這種方式,對于網關60,可簡化跟蹤消息260中的證書并且將其與SID相關聯。
在圖2所示的消息的另一個可選實施例中,有可能丟棄消息250中的SRES 450,因為它已經被要求生成正確的M2。
在圖2所示的消息的另一個實施例中,有可能讓HLR計算完整性密鑰(K),并且將它作為消息230的一部分發送到網關。在此情況下,作為可選實施例,代替作為加密密鑰(Kc)400的集合的函數而計算的完整性密鑰(K),它可從秘密密鑰(Ki)410和隨機數(RAND)440直接計算。
在圖2所示的消息的另一個實施例中,密鑰可以是存儲在認證中心(AUC)中的長期密鑰。在此情況下,密鑰包括在消息230中,而無需包括在消息250中。
在圖2所示的消息的另一個實施例中,本地網絡運營者服務70的公開密鑰(以PK_G表示)可包括在消息260中。這允許移動臺20驗證由該運營者簽發給其他實體如銷售者50的證書或簽名驗證地址。它還允許移動臺20驗證簽發給其他移動臺20的證書,從而允許第一移動臺20擔當銷售者。因此,移動臺20在一種情況下可擔當購買者,而在下一種情況下可擔當銷售者。當所銷售的產品是數字產品時,這將是最適合的。然而,任何商品或服務都可以這種方式銷售。
現在對詳細描述如圖2所示的消息交換的圖3到5進行討論。圖3是圖12所示的移動臺證書/簽名驗證地址獲取模塊1500的流程圖。移動臺證書/簽名驗證地址獲取模塊1500用來生成圖2所示的消息210和250。移動臺證書/簽名驗證地址獲取模塊1500還從網關60接收和處理消息240和260,如圖2所示。移動臺證書/簽名驗證地址獲取模塊1500包括圖3所示的操作300到430。
參照圖3,移動臺證書/簽名驗證地址獲取模塊1500在操作300中開始執行,并且立即進入操作310。在操作310中,生成SID,其是標識會話的唯一號碼。另外,檢索表示國際移動訂戶標識符的IMSI,并且隨同SID一起在消息210中發送到網關60。然后,在操作320中,移動臺20將等待從網關60接收消息240。消息240一到達,處理則將進入操作330。如前所述,消息240包含隨機數(RAND)和M1。M1利用完整性密鑰(K)和從HLR/AUC 100接收的隨機數(RAND)由網關60計算。在操作330中,移動臺20計算M1’。除了加密密鑰(Kc)400包含在移動臺20本身中并且用來計算完整性密鑰(K)之外,移動臺20以與網關60計算M1相同的方式計算M1’。利用由網關60使用的相同公式,移動臺20能夠計算M1’。所利用的公式為M1’=MAC(K,{RAND})。因此,在操作340中,在從網關60接收的M1與由移動臺20算出的M1’之間進行比較。進行該比較是為了確保移動臺20由此是用戶10即消息240的來源是GSM系統的合法部分。如果在操作340中未發現M1等于M1’,則處理進入操作350,其中移動臺證書/簽名驗證地址獲取模塊1500的執行被中止,并且處理終止。如果操作350被執行,則假設是消息240被破壞,或者網關60被未授權個人冒充。
仍然參照圖3,如果M1=M1’,則處理從操作340進入操作360。在操作360中,計算M2。如上所述,根據利用變量K、SRES 450、密鑰、限制和別名的MAC函數計算M2。計算M2的特定公式是M2=MAC(K,{SRES},密鑰,[{限制}],[別名])。然后,生成包含SRES、密鑰、別名和M2的消息250,并且將其發送到網關60。在操作380中,移動臺20等待從網關60接收消息260。一從網關60接收到消息260,處理則將進入操作390。在操作390中,如上所述參照圖2計算M3’。除了加密密鑰(Kc)400包含在移動臺20本身中并且用來計算完整性密鑰(K)之外,根據公式M3=MAC(K,C)以與網關60計算M3相同的方式計算M3’。然后,處理進入操作400,其中將M3’與在消息260中從網關60接收的M3進行比較。如果在操作400中確定M3’不匹配M3,則處理進入操作410。在操作410中,終止移動臺證書/簽名驗證地址獲取模塊1500的處理。當M3’不匹配M3時,假設消息260被破壞,或者未授權個人正在冒充網關60。然而,如果在操作400中M3’匹配M3,則處理進入操作420。在操作420中,將在消息260中接收的證書或簽名驗證地址存儲在移動臺20的存儲器中。在網關60或簽名驗證服務65在選擇簽署密鑰(SK)中起作用的上述實施例中,消息260可包含如前所述計算簽署密鑰(SK)所需的密鑰材料。在此情況下,操作420還包括計算簽署密鑰(SK)。在任何相關限制內,該證書或簽名驗證地址可用于從銷售者50購買商品和服務。然后,在操作430中,移動臺證書/簽名驗證地址獲取模塊1500的處理終止。
圖4進一步詳細描述通過由移動臺(MS)20、歸屬網絡運營者服務80和網關60生成簽署響應(SRES)450而執行的GSM網絡中的認證,其是用于圖3和5所示的邏輯中的移動臺10的唯一秘密密鑰(Ki)410和隨機數(RAND)450的函數。根據SIM內的Ki 410和從歸屬網絡運營者服務80中的網絡認證中心(AUC)(未示出)獲得的RAND 440,在位于移動臺(MS)20中的訂戶識別模塊(SIM)(未示出)中計算簽署響應(SRES)450。另外,移動臺(MS)20和歸屬網絡運營者服務80中的認證中心各自生成作為相同隨機數RAND 440和移動臺20的秘密密鑰(Ki)410的函數的加密密鑰(Kc)400。該認證過程是采用兩個算法的兩階段過程。計算SRES450的第一算法稱作A3算法模塊420,并且計算每次認證移動臺20時都計算的Kc 400的第二密鑰生成算法稱作A8算法模塊430。然而,加密密鑰(Kc)400的認證和計算操作的每一個需要移動臺(MS)20被編程為執行前述計算。
仍然參照圖4,每當新移動臺(MS)20向用于結帳和認證的移動電話基礎設施90登記時,并且每當已登記的移動臺(MS)20接通電源時,位于本地網絡運營者服務70中的移動交換中心(未示出)認證移動臺20。GSM系統中的認證基于由歸屬網絡運營者服務80和訂戶共享且對于每個訂戶均不同的秘密密鑰(Ki)310。歸屬網絡運營者服務30在AUC中保存密鑰Ki 410,并且訂戶具有安裝在移動臺20的SIM卡內的Ki410,其中該SIM卡是在訂立訂購合同時從歸屬網絡運營者服務80接收的。為了保護Ki 410的秘密性,SIM被制成移動臺(MS)20不能直接訪問Ki 410的值,并且只能啟動使用Ki 410的SIM內特定計算,然后接收這些計算的結果。類似地,用于結帳和認證的移動電話基礎設施90的單元如歸屬位置寄存器(HLR)不能直接訪問訂戶的密鑰Ki 410。這些網絡單元只可向AUC請求如上所述使用Ki 410的計算的結果。這些計算是A3算法模塊420和A8算法模塊430,并且在移動臺(MS)20的SIM和歸屬網絡運營者服務80的AUC中是相同的。
前述GSM認證過程是兩階段過程。在GSM認證的第一階段,典型地是MSC/VLR(移動業務交換中心/訪問者位置寄存器)的本地網絡運營者服務70單元從移動臺(MS)20接收國際移動訂戶標識符(IMSI),并且向歸屬網絡運營者服務80的AUC請求一個或多個三元組。這些三元組由RAND 440、SRES 450和Kc 400組成。該過程開始于移動臺20發送國際移動訂戶標識符(IMSI)到本地網絡運營者服務70中的MSC/VLR。然后,MSC/VLR向歸屬網絡運營者服務80中的AUC請求認證三元組(RAND 440、SRES 450和Kc 400)。歸屬網絡運營者服務80中的AUC計算一個或多個三元組(RAND 440、SRES 450和Kc400),并且發送它們到本地網絡運營者服務70中的MSC/VLR。
在GSM認證的第二階段,本地網絡運營者服務70的MSC/VLR通過本地網絡運營者服務70的MSC/VLR將其中消息包含RAND 140的認證請求(RAND)發送到移動臺20來認證移動臺(MS)20。然后,MS 20將再次包含RAND 440的運行GSM算法(RAND)請求消息發送到包含在MS 20內的SIM。在操作260中,MS 20向SIM發送獲取響應消息。然后,SIM以具有SRES 450和Kc 400的響應答復。然后,MS 20通過向SIM發送其中消息包含Kc 400的寫入(Kc)請求來在SIM中存儲Kc 400。MS 20向MSC/VLR發送其中SRES 450包含在消息中的無線接口層3、移動性管理(RIL 3-MM)協議認證響應。在接收到該消息之后,本地網絡運營者服務70中的MSC/VLR比較其在前述GSM認證第一階段從歸屬網絡運營者服務80中的AUC接收的SRES 450與從MS 20接收的SRES 450。如果SRES 450的這些值被確定為不相同,則認證失敗并且不建立服務。然而,如果這些值相同,則認證成功并且為MS 20建立服務。
圖5是用于本發明實施例中的圖12所示的網關證書/簽名驗證地址生成模塊1600的流程圖。網關證書生成模塊1600是移動臺證書/簽名驗證地址獲取模塊1500的對應物,并且用來生成數字證書或者構造購買者10從銷售者50進行購買所需的簽名驗證地址。網關證書生成模塊1600在操作500中開始執行,并且立即進入操作510。在操作510中,網關60等待從移動臺20發送消息210。一從移動臺20接收到消息210,網關60就在本地存儲器中存儲包含在消息210中的SID和IMSI,并且處理進入操作520。在操作520中,網關60生成包含所接收IMSI的消息220。根據IMSI,網關20知道移動臺20與哪一個HLR/AUC相關聯,從而能夠向其發送消息220。然后,處理進入操作530,其中網關60等待從HLR/AUC 100接收消息230。一接收到消息220,HLR/AUC 100就將以一個或多個三元組答復。這些三元組包含RAND 440、SRES 450和Kc 400。然后,網關60將如前所述繼續在操作540中計算M1。M1根據使用完整性密鑰(K)和RAND 440的消息認證代碼(MAC)函數來計算。所用公式以M1=MAC(K,{RAND})表示。完整性密鑰(K)使用公式K=f({Kc})根據從HLR/AUC 100接收的Kc 400來計算。然后,處理進入操作550,其中生成消息240,并且將其發送到移動臺20。如前所述,消息240包含RAND 440和M1。然后,處理進入操作560,其中網關60等待從移動臺20接收消息250。一接收到消息220,處理就進入操作570,其中計算M2’。M2’根據利用變量K、SRES 450、PK、限制和別名的MAC函數來計算。計算M2’的特定公式為M2’=MAC(K,{SRES},密鑰,[{限制}],[別名])。然后,處理進入操作580,其中在消息250中接收的M2與由網關60算出的M2’之間進行比較。如果M2’和M2不匹配,則處理進入操作590,其中網關證書/簽名驗證地址生成模塊1600的執行被中止。然而,如果M2’和M2匹配,則處理進入操作620。在操作620中,確定是否要使用簽名驗證服務65。如果要使用簽名驗證服務65,則處理進入操作630,其中通過簽名驗證服務65構造用于移動臺20的簽名驗證地址。在網關60或簽名驗證服務65在計算簽署密鑰(SK)中起作用的實施例中,操作630還包括計算密鑰材料以將其發送到MS 20。然而,如果不要使用簽名驗證服務65,則處理進入操作640,其中構造證書,或者給出其他適合地址。然后,處理從操作630或640進入操作600,由網關60計算M3。網關60根據公式M3=MAC(K,C)計算M3。在操作610中,將消息260發送到移動臺20,其中消息260包含證書或簽名驗證地址,并且可選地包含在計算簽署密鑰(SK)和M3中由MS 20使用的密鑰材料。然后,在操作270中,網關證書/簽名驗證地址生成模塊1600的處理終止。
當移動臺證書/簽名驗證地址獲取模塊1500隨同其對應物即網關證書/簽名驗證地址生成模塊1600一起終止時,移動臺20擁有購買者10可用來從銷售者50購買商品和服務的證書或簽名驗證地址65。圖6到8示出為了讓購買者10從銷售者50進行購買本發明實施例所涉及的處理。
圖6是用于本發明示例實施例中的為了幫助商品和服務的購買和支付而在移動臺20和銷售者50之間傳遞的消息的圖。移動臺20發送總共兩條消息到銷售者50。從移動臺20發送到銷售者50的消息包括消息610和消息630。銷售者50又以消息620和消息640響應。消息610包含從網關60接收的證書或簽名驗證地址65和對特定產品或服務的請求。消息620是從銷售者50發送到移動臺20的清單(invoice)。該清單用來通過移動臺20向購買者10通知所請求物品的價格。該清單包含由銷售者50選擇的銷售者特定唯一交易標識符以及由網關60分配的銷售者50的身份。消息630包括用來對照所提供的證書授權收取清單價格的數字簽名。消息640包括向移動臺20的產品交付。在消息610到640的前述討論中,假定所請求的產品或服務采取可被下載到移動臺20的數字格式。然而,如前所述,個人購買者10可請求的產品或服務可以是包括諸如花和服裝的有形物品在內的任何東西。在產品是有形物品并且購買者10和銷售者50相互面對的情況下,則請求可采取口頭請求的形式,并且交付可采取遞交花或其他產品的形式。
在圖6所示的消息配置的可選實施例中,有可能消息610僅包含請求,并且消息630包含簽名和證書或簽名驗證地址65兩者。以這種方式,前面詳述的銷售者銷售模塊1800同時驗證證書或簽名驗證地址65和簽名。
在圖6所示的消息配置的另一個可選實施例中,有可能通過使用時間而不是僅僅針對產品的交付對產品如基于軟件的游戲的使用收費。用于實現此的一種方法將是以周期性時間間隔向移動臺20發送若干消息620。例如,如果購買者10請求游戲并且下載它,則將發送初始清單,其后每五分鐘將發送新清單。
圖7是本發明實施例所利用的圖12所示的購買者購買模塊1700的流程圖。購買者購買模塊1700包括圖7所示的操作700到770。當購買者10發起從銷售者50購買物品時,購買者購買模塊1700在操作700中開始執行,并且立即進入操作710。在操作710中,移動臺20將消息610發送到銷售者50。發送模式可以是任何形式的數字通信。因此,如果銷售者50是網站,則移動臺20將通過蜂窩接入網絡經由網關(如WAP網關)然后通過因特網訪問銷售者50。然而,如果在購買者10和銷售者50之間發生面對面交易,則移動臺20和銷售者50之間的通信可包括任何短程形式的通信包括電纜、紅外線、低功率射頻或者任何其他適合手段。
仍然參照圖7,在操作720中,移動臺20將等待從銷售者50接收消息620。一接收到消息620,則處理進入操作730。在操作730中,購買者10檢查清單價格以確定它是否有效。在操作740中,確定清單(I)是否正確。如果清單(I)不正確,則處理進入操作750,其中終止購買者購買模塊1700的處理。然而,如果清單(I)正確,則處理進入操作750。在操作750中,購買者10使用秘密密鑰(SK)410以數字方式簽署清單,并且在消息630中返回簽名。然后,處理進入操作760,其中移動臺20等待消息640的交付。在由銷售者50交付的產品是數字產品的情況下,將執行操作760。然而,在所交付的產品是有形產品如花籃的情況下,操作760可以簡單地是將產品從銷售者50遞交給購買者10。然后,購買者購買模塊1700在操作770中終止執行。
圖8是本發明實施例所利用的圖12所示的銷售者銷售模塊1800的流程圖。銷售者銷售模塊1800是購買者購買模塊1700的對應物,并且用來檢查從購買者購買模塊1700接收的數字證書或簽名驗證地址65的有效性。
參照圖8,銷售者銷售模塊1800包括操作800到905。銷售者銷售模塊800在操作800中開始執行,并且立即進入操作840。在操作840中,確定所請求的服務是否遵循所施加的可選限制。如果所請求的服務不遵循限制,則處理再次進入操作845,其中銷售者銷售模塊1800的執行終止。然而,如果限制被違反,則處理進入操作850。在操作850中,在消息620中將清單(I)發送到移動臺20。在操作860中,銷售者銷售模塊1800等待接收消息630。一接收到包含簽名(S)的消息630,操作870就檢查簽名(S)。然后,在操作880中,確定簽名(S)是否有效。如果簽名(S)無效,則處理再次進入操作845,其中終止銷售者銷售模塊1800。然而,如果簽名(S)有效,則處理進入操作890,其中銷售者50創建帳目記錄(AR),并且將其存儲在銷售者50的本地數據庫中。然后,處理進入操作900,其中銷售者50繼續交付所期望的產品或服務。在產品是數字產品的情況下,這可通過發送消息640來完成。最后,銷售者銷售模塊1800在操作905中終止執行。
圖9到11示出銷售者50由此能夠接收對使用本發明實施例銷售的產品和服務的支付的過程。
圖9是在本發明的示例實施例中為了幫助為提供給購買者10的服務和商品向銷售者進行支付而在銷售者50和網關60之間傳遞的消息的圖。在銷售者50和網關60之間僅交換兩條消息。消息910簡單地包含在有限時間周期內由銷售者50累積的當前記錄。然而,本領域的普通技術人員應當理解,每次生成帳目記錄時,可將其發送到網關60。消息920是由網關60提供給銷售者50的響應,其表示接受或拒絕所發送的帳目記錄。
圖10是用于本發明示例實施例中的圖12所示的銷售者結帳模塊1900的流程圖。銷售者結帳模塊9000包括圖10所示的操作1000到1160。銷售者結帳模塊9000在操作1000中開始執行,并且立即進入操作1010。在操作1010中,將變量i設為0。在操作1020中,確定是否剩有尚未包括在消息910內的任何記錄。如果未剩有記錄,則處理進入操作1030,其中銷售者結帳模塊1900終止執行。然而,如果未剩有任何尚待處理的帳目記錄,則處理進入操作1040,或者將它們放在消息910中。然后,在操作1050中,將i增1。在操作1060中,確定是否還剩有任何尚待處理的記錄。如果剩有尚待處理的記錄,則處理進入操作1070。在操作1070中,確定變量i是否小于變量n,其中變量n表示可放在消息910中的帳目記錄的最大數目。如果i小于n,則處理循環回到操作1040以作進一步的處理。然而,如果i不小于n,則處理進入操作1080。在操作1080中,將包含帳目記錄的消息910發送到銷售者50。然后,處理進入操作1090,其中銷售者50等待從網關60返回消息920。一接收到消息920,處理就進入操作1110。在操作1110中,接受來自網關60的響應。在操作1120中,確定所接收的響應是否表示帳目記錄及其支付的確認和由此的核準。如果在操作1120中響應未被確認,則處理進入操作1130,其中將帳目記錄添加到錯誤日志。然后,將在某個以后時間點檢查錯誤日志以確定正確的操作過程。然而,如果響應為確認,則處理進入操作1140,其中將帳目記錄輸入本地內部日志。然后,在操作1130和1140的情況下,處理繼續至消息920中剩余的任何未處理響應。如果存在任何未處理響應,則處理循環回到操作1110。然而,如果所有響應都被處理,則處理進入操作1160,其中終止銷售者結帳模塊1900的執行。
圖11是用于本發明示例實施例中的圖12所示的網關結帳模塊2000的流程圖。網關結帳模塊2000用來向銷售者50賒欠(credit)購買者10使用移動臺20所作的購買的款項。網關結帳模塊2000還用來驗證與由網關證書/簽名驗證地址生成模塊1600創建的數字證書或簽名驗證地址65相對應的對應購買者記錄的存在。此外,網關結帳模塊2000還驗證由購買者購買模塊1700生成的簽名的有效性。如前面更詳細地討論的那樣,使用數字證書或簽名驗證地址65和簽名的驗證,有可能確保購買者10為購買支付正確的金額以及購買者10僅被結帳一次。
網關結帳模塊2000包括圖11所示的操作1200到1340,并且在操作1200中開始執行。網關結帳模塊2000在操作1200中一啟動就立即進入操作1210。在操作1210中,網關結帳模塊2000等待從銷售者結帳模塊1900發送消息910及其到達。在操作1220中,從銷售者50接收消息910,并且處理進入操作1230。在操作1230中,從消息910中提取帳目記錄(AAR)。然后,處理進入操作1235,其中確定該特定帳目記錄是否先前已被提交。如果帳目記錄先前已被提交,則處理進入操作1300,其中產生錯誤響應。然而,如果該特定帳目記錄先前未被處理,則處理進入操作1240。在操作1240中,搜索網關60數據庫以查找與該交易相關的數字證書或簽名驗證地址65的對應記錄。在操作1250中,確定是否找到了記錄。如果沒有找到記錄,則處理進入操作1300,其中在消息920中存儲該特定帳目記錄的錯誤響應以發送到銷售者50。然而,如果發現對應記錄,則處理進入操作1260。
仍然參照圖11,在網關60上執行的網關結帳模塊2000繼續執行第二檢查以確定帳目記錄是否正確。在操作1260中,使用證書或者使用簽名驗證地址65,檢查購買者10的簽名。此外,檢查數字證書或簽名驗證地址65的相關限制,以確定該帳目記錄是否違反這些限制中的任一項。在操作1270中,如果簽名不能被驗證或者任何限制被違反,則處理進入操作1300,其中在消息920中存儲該特定帳目記錄的錯誤響應以進行發送。然而,如果簽名得到驗證并且沒有違反限制,則處理進入操作1280。在操作1280中,在網關60數據庫中存儲呼叫詳細記錄(CDR),以便購買者10可在某個以后時間向銷售者50支付那個時間段內的所有購買。此外,還在那個時間段內對呼叫詳細報告向購買者10的帳戶收費。在GSM網絡中,這通過將CDR從本地運營者發送到歸屬運營者來完成;然后,歸屬運營者將在那個CDR中表示的交易添加到購買者的電話帳單中。然后,在操作1290中,確認該帳目記錄的響應,并且同樣地存儲在消息920中以發送到銷售者50。然后,處理從操作1290和1300進入操作1310,其中將確認響應或錯誤響應放在消息920中。在操作1320中,確定在消息910中是否還剩有其他帳目記錄并且其需要被處理。如果在消息910中還剩有未被處理的其他帳目記錄,則處理循環回到操作1230。然而,如果所有帳目記錄都被處理,則處理進入操作1330。在操作1330中,將包含對所有帳目記錄的所有響應的消息920發送到銷售者50,并且在操作1340中,網關結帳模塊的處理終止。
應當注意,銷售者結帳模塊1900和網關結帳模塊2000以批操作處理帳目記錄。然而,本領域的普通技術人員應當理解,當在銷售者銷售模塊1800中生成帳目記錄時,也可以將其從銷售者50發送到網關60。該方案將增大銷售者50與網關60之間的通信量。
圖12是圖5、7、8、10和11所示的本發明實施例的模塊配置圖。該模塊配置圖示出本發明的各模塊之間的互連以及邏輯流。應當注意,移動臺20證書/簽名驗證地址獲取模塊1500是與前面參照圖4討論過的GSM認證模塊1400、A3算法模塊430和A8算法模塊420接口的唯一模塊。使用本發明的此實施例,移動臺20只需在啟動時被用于結帳和認證的移動電話基礎設施90認證,因此對用于結帳和認證的電信移動電話基礎設施90施加最小的負擔。
仍然參照圖12,一旦移動臺20被認證,則移動臺證書/簽名驗證地址獲取模塊1500能夠使用網關證書/簽名驗證地址生成模塊1600從網關60獲得數字證書或簽名驗證地址65。網關證書/簽名驗證地址生成模塊1600還可幫助銷售者銷售模塊1800驗證由移動臺20發送的數字簽名。采用移動臺20的存儲器中的證書或簽名驗證地址65,購買者購買模塊1700能夠結合銷售者銷售模塊1800從銷售者50進行購買。銷售者銷售模塊1800生成銷售者結帳模塊1900能夠提交給網關60的帳目記錄。網關60中的網關結帳模塊2000將驗證帳目記錄的準確性,并且對任何購買僅向購買者10收取正確的金額,并且僅收取一次。
雖然本文僅示出和描述了一些例子,但是應當理解,可以對本發明進行為本領域的技術人員所知的各種改變和修改。例如,不是在消息260中發送單個數字證書或簽名驗證地址65,可以一次發送若干數字證書或簽名驗證地址65。以這種方式,每個證書可具有其自己的限制,并且當購買者或用戶10進行購買時,可將最接近滿足購買要求的證書或簽名驗證地址65發送到銷售者50。另外,代替發送如圖2所示包含M1、M2和M3的消息,有可能使用完整性密鑰(K)認證所有消息,其是在3G security document(3G TS 33.102 version 3.5.0 release 1999)的章節6.5“Access Link Data Integrity”中規定的第三代標準安全機制的一部分,在此將其引作參考。因此,不希望局限于在此所示和所述的細節,而是旨在涵蓋包括在所附權利要求的范圍內的所有這些改變和修改。
權利要求
1.一種用于授權移動臺使用由服務提供者提供的產品、服務、訪問或某其他權限的方法,包括由移動臺訪問網關,并且發送標識碼到網關;通過網關訪問認證中心并且比較由移動臺算出的變量和由網關算出的變量來驗證移動臺的身份;創建共享簽署密鑰;當移動臺的身份已被驗證時,由網關將簽名驗證地址遞送給移動臺,其中處于所述地址的簽名驗證服務能夠使用共享簽署密鑰驗證數字簽名;由移動臺向服務提供者請求產品、服務、訪問或權限,并且將伴隨有簽名驗證地址的數字簽名發送到服務提供者;以及由服務提供者訪問簽名驗證地址,并且驗證數字簽名。
2.如權利要求1所述的方法,其中所述通過比較由網關算出的變量和由移動臺算出的變量來驗證網關的合法性,還包括將會話標識和國際移動訂戶標識符從移動臺發送到網關;將國際移動訂戶標識符從網關發送到認證中心;將隨機數(RAND)、簽署響應(SRES)和加密密鑰從認證中心發送到網關;由網關計算變量M1,并且將變量M1和隨機數發送到移動臺;由移動臺計算變量M1’;以及當變量M1等于變量M1’時,驗證網關的合法性。
3.如權利要求2所述的方法,還包括由移動臺和認證中心作為RAND和Ki的函數計算完整性密鑰(K),其中RAND是由認證中心簽發的隨機數,而Ki是包含在認證中心和移動臺內的秘密密鑰。
4.如權利要求1所述的方法,其中共享簽署密鑰(SK)由移動臺生成并發送到網關,或者由網關生成并發送到移動臺,或者共享簽署密鑰(SK)的一部分由移動臺和網關兩者生成并且進行交換。
5.如權利要求3所述的方法,其中共享簽署密鑰(SK)根據完整性密鑰(K)來計算。
6.如權利要求1所述的方法,還包括由網關構造簽名驗證地址,并且將簽名驗證地址發送到移動臺;由網關計算變量M3,并且將變量M3和簽名驗證地址發送到移動臺;由移動臺計算變量M3’;當變量M3等于變量M3’時,驗證網關的合法性。
7.如權利要求6所述的方法,其中變量M3和M3’使用公式M3=M3’=MAC(K,C)來計算,其中MAC是消息認證代碼函數,K是完整性密鑰,而C是包含在通過其將簽名驗證地址遞送給移動臺的消息中的數據。
8.如權利要求1所述的方法,其中通過網關訪問認證中心并且比較由移動臺算出的變量和由網關算出的變量來驗證移動臺的身份,還包括將簽署響應、公開密鑰和由移動臺算出的變量M2發送到網關;由網關計算變量M2’;比較變量M2和變量M2’;以及當變量M2等于變量M2’時,驗證移動臺的身份。
9.如權利要求8所述的方法,其中變量M2和M2’使用公式M2=M2’=MAC(K,{SRES},密鑰,[{限制}],[別名])來計算,其中MAC是消息認證代碼函數,SRES是簽署響應,K是完整性密鑰,密鑰是共享簽署密鑰SK或者用于計算簽署密鑰SK的部分密鑰,限制是采用簽署密鑰SK創建的簽名的使用限制,而別名是移動臺的可選標識。
10.如權利要求1所述的方法,還包括向服務提供者請求產品、服務、訪問或權限并且將伴隨有簽名驗證地址的數字簽名作為支付或授權發送到服務提供者還包括與對產品或服務的請求一起發送簽名驗證地址;從服務提供者接收描述產品、服務、訪問或權限的授權請求;對授權請求計算數字簽名;通過將數字簽名發送到服務提供者來核準授權請求;以及由移動訂戶接受產品或服務的交付。
11.如權利要求10所述的方法,其中服務提供者在數字簽名發送時還包括通過銷售者聯系簽名驗證服務并且簽名驗證服務驗證數字簽名來驗證數字簽名;由簽名驗證服務驗證與采用簽署密鑰SK創建的簽名的使用相關聯的限制未被違反;以及創建所交付產品、服務、訪問或權限的帳目記錄。
12.如權利要求11所述的方法,還包括將具有授權請求的帳目記錄和歸屬網絡運營者服務的顧客的數字簽名從服務提供者發送到網關;由網關確定在本地數據庫中存在對應記錄以及數字簽名的有效性;確定授權請求是否違反包含在對應記錄中的任何限制;向服務提供者賒欠與授權請求中的金額相等的金額;以及向移動訂戶結算授權請求的金額。
13.如權利要求1所述的方法,還包括通過比較由網關算出的變量和由移動臺算出的變量,由移動臺驗證網關的合法性。
14.如權利要求1所述的方法,其中當移動臺和網關的身份已被驗證時由網關將簽名驗證地址遞送給移動臺,還包括由移動臺向網關請求簽名驗證地址。
15.一種用于使用移動臺訂購、支付和交付商品和服務的系統,包括GSM移動通信認證模塊,驗證移動臺被允許訪問電信基礎設施;移動臺證書/簽名驗證地址獲取模塊,向網關請求移動臺的簽名驗證地址;以及網關證書/簽名驗證地址生成模塊,通過將從移動臺接收的國際移動訂戶標識符發送到認證中心來驗證移動臺被授權接收簽名驗證地址,根據從認證中心接收的信息計算變量,并將其與由移動臺算出的變量進行比較,并且當這些變量匹配時,將簽名驗證地址簽發給移動臺。
16.如權利要求15所述的系統,其中移動臺證書/簽名驗證地址獲取模塊通過使用比較由網關和移動臺算出的變量來驗證網關被授權簽發簽名驗證地址。
17.如權利要求16所述的系統,還包括購買者購買模塊,向銷售者請求購買商品或服務,向銷售者提供簽名驗證地址,接收清單并且向銷售者提供核準商品或服務購買的數字簽名;銷售者銷售模塊,驗證簽名驗證地址的有效性和數字簽名的有效性,簽發清單,生成帳目記錄,并且交付產品或服務;銷售者結帳模塊,向網關發送帳目記錄,并且接收表示帳目記錄是否被核準進行支付的響應;以及網關結帳模塊,驗證帳目記錄和伴隨簽名,并且當帳目記錄和伴隨簽名被驗證時,向銷售者簽發賒欠并且向購買者簽發債項。
18.如權利要求17所述的系統,其中網關證書/簽名驗證地址生成模塊將國際移動訂戶標識符發送到認證中心,從認證中心接收隨機數、簽署響應和加密密鑰,計算變量M1、M2’和M3,并且通過比較從移動臺接收的變量M2與變量M2’來驗證移動臺的有效性。
19.如權利要求15所述的系統,其中移動臺還包括訂戶識別模塊(SIM),用來根據在簽署服務計劃時由歸屬網絡運營者服務安裝在訂戶識別模塊中的秘密密鑰和從歸屬網絡運營者服務中的認證中心獲得的隨機數來計算簽署響應和加密密鑰;A3算法模塊,包含在SIM中,用來計算簽署響應;以及A8算法模塊,包含在SIM中,用來計算加密密鑰,其中通過對移動臺的簽署響應傳輸,電信基礎設施能夠驗證移動臺被授權訪問電信基礎設施和網關。
20.一種包含在計算機可讀介質內且可由計算機執行的計算機程序,用于使用移動臺訂購、支付和交付商品和服務,其包括GSM認證代碼段,驗證移動臺被允許訪問電信基礎設施;移動臺證書/簽名驗證地址獲取代碼段,向網關請求移動臺的簽名驗證地址;以及網關證書/簽名驗證地址生成代碼段,通過將從移動臺接收的國際移動訂戶標識符發送到認證中心來驗證移動臺被授權接收簽名驗證地址,根據從認證中心接收的信息計算變量,并將其與由移動臺算出的變量進行比較,并且當這些變量匹配時,將數字證書簽發給移動臺。
21.如權利要求20所述的計算機程序,其中移動臺證書獲取代碼段通過使用比較由網關和移動臺算出的變量來驗證網關被授權簽發簽名驗證地址。
22.如權利要求21所述的計算機程序,還包括購買者購買代碼段,向銷售者請求購買商品或服務,向銷售者提供簽名驗證地址,接收清單并且向銷售者提供核準商品或服務購買的數字簽名;銷售者銷售代碼段,使用簽名驗證地址驗證數字簽名的有效性,簽發授權請求,生成帳目記錄,并且交付產品或服務;銷售者結帳代碼段,向網關發送帳目記錄,并且接收表示帳目記錄是否被核準進行支付的響應;以及網關結帳代碼段,驗證帳目記錄和伴隨簽名,并且當帳目記錄和伴隨簽名被驗證時,向銷售者簽發賒欠并且向購買者簽發債項。
23.如權利要求21所述的計算機程序,其中移動臺證書/簽名驗證地址獲取代碼段將會話標識和國際移動訂戶標識符發送到網關,從網關接收隨機數和變量M1,并且通過計算變量M1’并將其與M1進行比較來驗證網關是真實的。
24.如權利要求20所述的計算機程序,其中網關證書/簽名驗證地址生成代碼段將國際移動訂戶標識符發送到認證中心,從認證中心接收隨機數、服務響應和加密密鑰,計算變量M1和M2’。
全文摘要
一種通過使用數字簽名來授權移動臺使用由服務提供者提供的產品、服務、訪問或其他權限的系統、方法和計算機程序。這些數字簽名基于共享簽署密鑰,并且可使用簽名驗證服務來驗證。該系統、方法和計算機程序將利用存儲在移動臺和認證中心中的長期密鑰證實正被使用的移動臺的身份。然后,該系統、方法和計算機程序將利用簽署密鑰和簽名驗證服務驗證允許授權使用移動臺訪問產品、服務、訪問或其他權限的數字簽名。當該系統、方法和計算機程序用于授權支付交易時,網關將根據所接收的簽名來驗證所產生的任何費用的真實性。因此,該系統、方法和計算機程序的用戶可購買商品和服務而無需擔心欺詐或錯誤。
文檔編號H04L9/32GK1666211SQ03815561
公開日2005年9月7日 申請日期2003年5月7日 優先權日2002年5月10日
發明者納得拉賈·阿索堪, 菲利普·金斯堡 申請人:諾基亞公司