使用域相關(guān)安全性沙盒來促進安全交易的系統(tǒng)和方法
【專利摘要】本發(fā)明涉及使用域相關(guān)安全性沙盒來促進安全交易的系統(tǒng)和方法。提供用于促進安全交易的計算機系統(tǒng)、方法和計算機可讀介質(zhì),其中在客戶端計算機上執(zhí)行客戶端應(yīng)用。該客戶端應(yīng)用發(fā)起對第一域的請求,該請求包含(i)該客戶端應(yīng)用的憑證,(ii)唯一地標識該請求的交易標識符,以及(iii)可選地,該客戶端應(yīng)用的用戶的標識。響應(yīng)于該請求,客戶端從第一域接收已驗證的交易模塊??蛻舳藨?yīng)用將該已驗證的交易模塊加載到單獨的域安全性沙盒中,該單獨的域安全性沙盒與客戶端應(yīng)用運行所在的存儲空間隔離開。該已驗證的交易模塊執(zhí)行第二域與該已驗證的交易模塊之間的已驗證交易。單獨地,通過客戶端應(yīng)用借助于查詢第一域就交易是否已完成作出確定。
【專利說明】使用域相關(guān)安全性沙盒來促進安全交易的系統(tǒng)和方法
[0001]本申請屬于申請日為2011年5月26日的中國專利申請201180030292.8的分案申請。
1.
【技術(shù)領(lǐng)域】
[0002]本申請大體上涉及使用域相關(guān)安全性沙盒來促進安全交易的系統(tǒng)和方法。
2.
【背景技術(shù)】
[0003]在客戶端計算機上運行的可能不安全但仍需要安全的實時交易服務(wù)的應(yīng)用的數(shù)量不斷增長。此類應(yīng)用的一種非限制性示例是基于FLASH的游戲應(yīng)用,其需要虛擬貨幣的充值以便購買如級別解鎖、虛擬裝備、虛擬特殊兵器和直接對游戲玩家作弊的游戲內(nèi)升級。在本領(lǐng)域中,需要對此類實時交易進行安全保護,以保護用戶和應(yīng)用開發(fā)者免于欺詐性帳戶信息獲取、身份被盜和其他形式的欺詐。
[0004]用于確保此類交易的安全的一種公知方法是使用共享密碼(密鑰加密)的概念。密鑰加密包括使用一個密鑰。給定消息和密鑰的情況下,加密產(chǎn)生需要密鑰才能解密的不可理解的數(shù)據(jù)。參見例如 Kaufman 的 “Network Security”(Prentice-Hall, Inc., UpperSaddle River,N.J.)的2.4節(jié),其通過引用并入本文。但是,共享密碼方法在應(yīng)用之一不安全的情況下無效。例如,許多流行編程應(yīng)用通過FLASH播放器來執(zhí)行并且不安全。通常,當(dāng)使用共享密鑰算法時,存在調(diào)用本地Web服務(wù)器的遠程Web服務(wù)器。在遠程Web服務(wù)器和本地Web服務(wù)器上密鑰是安全的,且不在這兩個服務(wù)器之間傳送。當(dāng)應(yīng)用是以FLASH或下載到客戶端計算機且例如在客戶端瀏覽器內(nèi)運行的其它程序編寫的時候,這樣會失敗。在FLASH的情況中,當(dāng)用戶請求FLASH應(yīng)用時,包含由FLASH播放器解釋的字節(jié)碼的SWF文件被下載到客戶端計算機,并由FLASH播放器在客戶端瀏覽器內(nèi)來運行(解釋)。SWF文件中的字節(jié)碼可以在客戶端計算機處被檢查以確定密鑰。因此,密鑰不能包含在FLASH SWF文件中。
[0005]給定上文背景下,本領(lǐng)域中所需要的是用于對來自可能不安全的應(yīng)用的電子交易進行認證的改進的系統(tǒng)和方法。
3.
【發(fā)明內(nèi)容】
[0006]本發(fā)明公開通過創(chuàng)新性地使用服務(wù)器跨域策略以及域相關(guān)安全性沙盒來應(yīng)對本領(lǐng)域中的這些需求。公開了兩個實施例。在第一實施例中,客戶端應(yīng)用產(chǎn)生對來自具有非限制性跨域策略的第一域的交易模塊的請求。一旦客戶端應(yīng)用接收到,則該交易模塊在它自己的域相關(guān)安全性沙盒中執(zhí)行,使得該交易模塊的源URL即第一域的URL被保留。該交易模塊通過與第二域交互來完成交易,該第二域具有將交互限制于其源URL是第一域的那些程序和進程的跨域策略。
[0007]第二實施例使過程更進一步。在第二實施例中,響應(yīng)于進行應(yīng)用內(nèi)安全交易的需求,客戶端應(yīng)用產(chǎn)生與應(yīng)用內(nèi)安全交易關(guān)聯(lián)的第一請求。該第一請求通過因特網(wǎng)或計算機網(wǎng)絡(luò)被發(fā)送到具有非限制性跨域策略的第一域。響應(yīng)于此請求,第一域向該客戶端應(yīng)用發(fā)送請求模塊。一旦客戶端應(yīng)用接收到該請求模塊,則該請求模塊在它自己的域相關(guān)安全性沙盒(第一沙盒)中執(zhí)行,使得該請求模塊的源URL即第一域的URL被保留。在第一沙盒中運行的該請求模塊產(chǎn)生對來自第二域的交易模塊的請求,該第二域具有將交互限制于其源URL是第一域的那些程序和進程的跨域策略。第二域向該客戶端應(yīng)用發(fā)送交易模塊。一旦客戶端應(yīng)用接收到該交易模塊,則該交易模塊在它自己的域相關(guān)安全性沙盒(第二沙盒)中執(zhí)行,使得該交易模塊的源URL即第二域的URL被保留。該交易模塊通過與第三域交互來完成交易,該第三域具有將交互限制于其源URL是第二域的那些程序和進程的跨域策略。
[0008]通過利用跨域策略和固有地在其自己的域相關(guān)安全性沙盒中運行程序而調(diào)用應(yīng)用無權(quán)來檢查的能力,本發(fā)明公開提供用于促進安全的應(yīng)用內(nèi)交易的高度安全的系統(tǒng)、方法和計算機可讀介質(zhì)。
[0009]從客戶端視角而言的第一實施例。從客戶端視角而言,本發(fā)明公開的第一實施例的一種實現(xiàn)包括一種用于促進安全交易的計算機系統(tǒng)。該計算機系統(tǒng)包括一個或多個處理單元和耦合到該一個或多個處理單元的至少其中之一的存儲器。該存儲器存儲由一個或多個處理單元的至少其中之一執(zhí)行的指令。出于說明的目的,此計算機系統(tǒng)可以被視為客戶端計算機,其中直接從與該計算機系統(tǒng)關(guān)聯(lián)的本地數(shù)據(jù)存儲或從遠程客戶端應(yīng)用服務(wù)器執(zhí)行客戶端應(yīng)用。在該實施例中,在客戶端應(yīng)用執(zhí)行時,通過客戶端應(yīng)用生成與安全應(yīng)用內(nèi)交易關(guān)聯(lián)的請求。該請求包含(i)該客戶端應(yīng)用的憑證,(?)唯一地標識該請求的交易標識符,以及(iii)可選地,該客戶端應(yīng)用的用戶的標識。通過因特網(wǎng)或計算機網(wǎng)絡(luò)將對安全應(yīng)用內(nèi)交易的請求提交到具有非限制性第一跨域策略的第一域。響應(yīng)于此提交,從第一域接收已驗證的交易模塊。相應(yīng)地,將該交易模塊的源URL識別為第一域。
[0010]該客戶端應(yīng)用執(zhí)行已驗證的交易模塊,使得已驗證的交易模塊加載到計算機系統(tǒng)的存儲器內(nèi)的單獨的域相關(guān)安全性沙盒中。該單獨的域相關(guān)安全性沙盒與客戶端應(yīng)用運行所在的存儲器中的存儲空間隔離開。該單獨的域相關(guān)安全性沙盒與將其源URL識別為第一域的程序關(guān)聯(lián)且限制于這些程序。執(zhí)行已驗證的交易模塊,使得已驗證的交易模塊的源URL的身份不被改變或破壞。此外,已驗證的交易模塊不授權(quán)客戶端應(yīng)用來檢查該已驗證的交易模塊。
[0011]在已驗證的交易模塊在單獨的域相關(guān)安全性沙盒中執(zhí)行時,已驗證的交易模塊發(fā)出對第二域的交易調(diào)用。第二域具有第二跨域策略,該第二跨域策略將第二域與第二域外部的程序之間的交互限制于其源URL是第一域的那些外部程序。在第二域與已驗證的交易模塊之間進行已驗證的交易。
[0012]這些指令還包括與上文標識的過程中的任一個或全部并發(fā)地運行或在上文標識的過程全部已經(jīng)運行之后運行的指令。此類指令包括用于通過客戶端應(yīng)用借助于查詢第一域確定交易是否完成從而促進安全交易的指令。
[0013]在一些實例中,該計算機系統(tǒng)還包括具有屏幕區(qū)域的顯示器。在一些此類實例中,客戶端應(yīng)用顯示在該屏幕區(qū)域的一部分上,且已驗證的交易模塊顯示在該屏幕區(qū)域的該部分的子集上。這有利地給予客戶端應(yīng)用的用戶該應(yīng)用內(nèi)交易是從客戶端應(yīng)用內(nèi)運行的無縫交易的印象。
[0014]在一些實例中,該安全應(yīng)用內(nèi)交易是使用與用戶的身份關(guān)聯(lián)的帳戶購買游戲內(nèi)升級的游戲內(nèi)交易。在一些實例中,該游戲內(nèi)升級是級別解鎖、購買虛擬裝備、購買虛擬特殊兵器、購買作弊器或購買虛擬貨幣。在一些實例中,該客戶端應(yīng)用是社交網(wǎng)絡(luò)應(yīng)用、金融服務(wù)應(yīng)用、記賬應(yīng)用或稅務(wù)申報應(yīng)用。
[0015]在一些實例中,第一域和第二域由同一服務(wù)器托管,該服務(wù)器可通過因特網(wǎng)或計算機網(wǎng)絡(luò)被計算機系統(tǒng)訪問。在其他實例中,第一域和第二域各由單獨的服務(wù)器托管,并且各可通過因特網(wǎng)或計算機網(wǎng)絡(luò)被計算機系統(tǒng)訪問。
[0016]在一些實例中,客戶端應(yīng)用是FLASH應(yīng)用,并且已驗證的交易模塊是由客戶端應(yīng)用加載的FLASH SWF應(yīng)用。
[0017]從服務(wù)器視角而言的第一實施例。本發(fā)明公開還從服務(wù)于客戶端的一個或多個服務(wù)器的視角設(shè)想上文標識的第一實施例。例如,此服務(wù)器視角的一個此類實現(xiàn)提供一種計算機系統(tǒng),其包括一個或多個處理單元和耦合到該一個或多個處理單元的至少其中之一的存儲器。該存儲器存儲由一個或多個處理單元的至少其中之一執(zhí)行的指令。該存儲器包括由非限制性的第一跨域策略表征的第一域、由將第二域與第二域外部的程序之間的交互限制于其源URL是第一域的那些外部程序的第二跨域策略表征的第二域、有效應(yīng)用憑證的數(shù)據(jù)庫、可從第一域和第二域讀取的交易數(shù)據(jù)庫和未標記的交易模塊。
[0018]在一些實例中,該計算機系統(tǒng)包括第一計算機和第二計算機,并且上文標識的存儲器包括駐留在第一計算機中的存儲器和駐留在第二計算機中的存儲器。在此類實例中,第一跨域策略、有效應(yīng)用憑證的數(shù)據(jù)庫和未標記的交易模塊可以駐留在第一計算機的存儲器中,而第二跨域策略可以駐留在第二計算機的存儲器中。此外,在此類實施例中,從第一計算機和第二計算機對交易數(shù)據(jù)庫的訪問是可能的。在一些替代實例中,該計算機系統(tǒng)是單個計算機。
[0019]存儲器包括用于在第一域處通過因特網(wǎng)或計算機網(wǎng)絡(luò)從在客戶端計算機上運行的客戶端應(yīng)用接收請求的指令。該請求與安全應(yīng)用內(nèi)交易關(guān)聯(lián)。該請求包含(i)該客戶端應(yīng)用的憑證,(ii)該客戶端應(yīng)用的用戶的標識,(ii)唯一地標識該請求的交易標識符,以及(iii)可選地,該客戶端應(yīng)用的用戶的標識。該存儲器包括用于根據(jù)有效應(yīng)用憑證的數(shù)據(jù)庫查證客戶端應(yīng)用的憑證的指令。該存儲器還包括用于將請求輸入(keying)到交易數(shù)據(jù)庫的指令。該存儲器還包括用于動態(tài)地生成已驗證的交易模塊的指令。在一個實施例中,將一個或多個憑證注入到未標記的交易模塊。此類注入(安全性)方法的示例參見例如2009年10月27日提交的序列號為12/607,005、題為“用于認證電子交易的系統(tǒng)和方法”的美國專利申請,其通過引用方式全部并入本文。在本文公開的其他實施例中,使用其他方法從提供交易模塊的域獲取參數(shù)且這些參數(shù)用于驗證該交易模塊。
[0020]該存儲器還包括用于將已驗證的交易模塊從第一域提供到客戶端計算機的指令。該存儲器還包括用于在第二域處接收來自在客戶端計算機上執(zhí)行的已驗證的交易模塊的交易調(diào)用的指令,其中已驗證的交易模塊的源URL與第二跨域策略相符。該存儲器還包括用于執(zhí)行第二域與在客戶端計算機上運行的已驗證的交易模塊之間的已驗證的交易的指令。該存儲器還包括用于在第二域處將已完成交易的記錄存儲在交易數(shù)據(jù)庫中的指令。[0021 ] 與上文提到的一些或所有過程并發(fā)地或在上文提到的過程完成之后,運行附加的過程。這些過程包括在第一域處從在客戶端計算機上運行的客戶端應(yīng)用接收有關(guān)交易是否已完成的查詢。該查詢包含唯一地標識請求的交易標識符。這些過程還包括在第一域處通過在交易數(shù)據(jù)庫中查找交易標識符來確定交易是否已完成。這些過程還包括響應(yīng)于該接收和確定,向在客戶端計算機上運行的客戶端應(yīng)用通知交易的狀態(tài)。
[0022]在計算機系統(tǒng)分成第一服務(wù)器和第二服務(wù)器的實施例中,在第一域處或由第一域執(zhí)行的上文標識的過程由第一服務(wù)器完成,而在第二域處或由第二域執(zhí)行的上文標識的過程由第二服務(wù)器完成。本領(lǐng)域技術(shù)人員將認識到第一域可以包括第一多個計算機且第二域可以包括第二多個計算機。例如,一個服務(wù)器可以是域內(nèi)的另一個服務(wù)器的鏡像站點。在另一個示例中,一個服務(wù)器可以是域內(nèi)的另一個服務(wù)器的后備服務(wù)器。在再一個示例中,一個域可以包括通過常規(guī)負載平衡技術(shù)處理公共負載的多個服務(wù)器。本領(lǐng)域技術(shù)人員將認識到本發(fā)明公開充分地設(shè)想到所有這些不同情況。
[0023]從客戶端視角而言的第二實施例。此客戶端視角的本發(fā)明公開的第二實施例的一個實現(xiàn)包括一種計算機系統(tǒng),該計算機系統(tǒng)包括一個或多個處理單元和耦合到該一個或多個處理單元的至少其中之一的存儲器。該存儲器存儲由一個或多個處理單元的至少其中之一執(zhí)行的指令。這些指令包括用于執(zhí)行客戶端應(yīng)用的指令,其中該客戶端應(yīng)用直接從本地數(shù)據(jù)存儲執(zhí)行或從遠程客戶端應(yīng)用服務(wù)器執(zhí)行。這些指令包括用于通過客戶端應(yīng)用在客戶端應(yīng)用執(zhí)行時生成與安全應(yīng)用內(nèi)交易關(guān)聯(lián)的第一請求的指令。這些指令包括用于通過因特網(wǎng)或計算機網(wǎng)絡(luò)將對安全應(yīng)用內(nèi)交易的第一請求提交到具有非限制性第一跨域策略的第一域的指令。這些指令還包括用于響應(yīng)于此提交接收請求模塊的指令,其中將該請求模塊的源URL識別為第一域。
[0024]這些指令還包括用于促使客戶端應(yīng)用執(zhí)行該請求模塊使得該請求模塊被加載到存儲器內(nèi)的第一域相關(guān)安全性沙盒中的指令。該第一域相關(guān)安全性沙盒與客戶端應(yīng)用運行所在的存儲器中的存儲空間隔離開。該第一域相關(guān)安全性沙盒與將其源URL識別為第一域的程序關(guān)聯(lián)且限制于這些程序。執(zhí)行該請求模塊,使得該請求模塊的源URL的身份不被改變或破壞。該請求模塊不授權(quán)客戶端應(yīng)用來檢查該請求模塊。
[0025]這些指令包括用于通過該請求模塊在請求應(yīng)用執(zhí)行時生成與安全應(yīng)用內(nèi)交易關(guān)聯(lián)的第二請求的指令。該第二請求包含(i)該客戶端應(yīng)用的憑證,(?)唯一地標識該第二請求的交易標識符,以及(iii)可選地,該客戶端應(yīng)用的用戶的標識。這些指令還包括用于通過因特網(wǎng)或計算機網(wǎng)絡(luò)將對安全應(yīng)用內(nèi)交易的第二請求提交到第二域的指令,該第二域具有將第二域與第二域外部的程序之間的交互限制于其源URL是第一域的那些外部程序的第二跨域策略。這些指令還包括用于響應(yīng)于該提交而從第二域接收交易模塊的指令,其中將該交易模塊的源URL識別為第二域;
[0026]這些指令還包括用于促使客戶端應(yīng)用執(zhí)行該交易模塊使得該交易模塊被加載到存儲器內(nèi)的第二域相關(guān)安全性沙盒中的指令。該第二域相關(guān)安全性沙盒與客戶端應(yīng)用運行所在的存儲器中的存儲空間隔離開,該第二域相關(guān)安全性沙盒與將其源URL識別為第二域的程序關(guān)聯(lián)且限制于這些程序。通過促使執(zhí)行該交易模塊,使得該交易模塊的源URL的身份不被改變或破壞。該交易模塊不授權(quán)客戶端應(yīng)用來檢查該已驗證的交易模塊;
[0027]這些指令還包括用于在該交易模塊在第二域相關(guān)安全性沙盒中執(zhí)行時從該交易模塊發(fā)出對第三域的交易調(diào)用的指令。第三域具有將第三域與第三域外部的程序之間的交互限制于其源URL是第二域的那些外部程序的跨域策略。這些指令包括用于執(zhí)行第三域與交易模塊之間的已驗證的交易的指令。
[0028]這些指令還包括與上文標識的過程中的任一個或全部并發(fā)地或在上文標識的過程全部已經(jīng)運行之后運行的指令。此類指令包括用于通過客戶端應(yīng)用借助于查詢第一域來確定交易是否完成從而促進安全交易的指令。
[0029]在一些實例中,該計算機系統(tǒng)還包括具有屏幕區(qū)域的顯示器,其中當(dāng)客戶端應(yīng)用執(zhí)行時,客戶端應(yīng)用顯示在該屏幕區(qū)域的一部分上。在此類實例中,將已驗證的交易模塊顯示在該屏幕區(qū)域的該部分的子集上。
[0030]在一些實例中,該安全應(yīng)用內(nèi)交易是使用與用戶的身份關(guān)聯(lián)的帳戶購買游戲內(nèi)升級的游戲內(nèi)交易。在一些實例中,該游戲內(nèi)升級是級別解鎖、購買虛擬裝備、購買虛擬特殊兵器、購買作弊器或購買虛擬貨幣。在一些實例中,該客戶端應(yīng)用是社交網(wǎng)絡(luò)應(yīng)用、金融服務(wù)應(yīng)用、記賬應(yīng)用或稅務(wù)申報應(yīng)用。
[0031 ] 在一些實例中,第一域、第二域和第三域各由同一服務(wù)器托管,該服務(wù)器可通過因特網(wǎng)或計算機網(wǎng)絡(luò)被計算機系統(tǒng)訪問。在一些實例中,第一域、第二域和第三域各由單獨的服務(wù)器托管,并且各可通過因特網(wǎng)或計算機網(wǎng)絡(luò)被該計算機系統(tǒng)訪問。在一些實例中,客戶端應(yīng)用是FLASH應(yīng)用,并且已驗證的交易模塊是由客戶端應(yīng)用加載的FLASH SffF應(yīng)用。
[0032]從服務(wù)器視角而言的第二實施例。本發(fā)明公開還設(shè)想從服務(wù)于客戶端的一個或多個服務(wù)器的視角而言的上文標識的第二實施例。例如,此服務(wù)器視角的一種此類實現(xiàn)提供一種用于促進安全交易的計算機系統(tǒng)。該計算機系統(tǒng)包括一個或多個處理單元和耦合到該一個或多個處理單元的至少其中之一的存儲器。該存儲器存儲由一個或多個處理單元的至少其中之一執(zhí)行的指令。
[0033]該存儲器包括第一域、第二域和第三域,其中第一域表征為非限制性的第一跨域策略,第二域表征為第二跨域策略,該第二跨域策略將第二域與第二域外部的程序之間的交互限制于其源URL是第一域的那些程序,第三域表征為第三跨域策略,該第三跨域策略將第三域與第三域外部的程序之間的交互限制于其源URL是第二域的那些外部程序。該存儲器還包括有效應(yīng)用憑證的數(shù)據(jù)庫、可從第一域、第二域和第三域讀取的交易數(shù)據(jù)庫、未標記交易模塊和請求模塊。
[0034]在一些實例中,該計算機系統(tǒng)包括第一、第二和第三計算機并且上文標識的存儲器包括駐留在第一計算機中的存儲器、駐留在第二計算機中的存儲器和駐留在第三計算機中的存儲器。在此類實例中,第一跨域策略和請求模塊可以駐留在第一計算機的存儲器中。第二跨域策略、有效應(yīng)用憑證的數(shù)據(jù)庫和未標記的交易模塊可以駐留在第二計算機的存儲器中。第三跨域策略可以駐留在第二計算機的存儲器中。此外,在此類實施例中,從第一計算機、第二計算機和第三計算機對交易數(shù)據(jù)庫的訪問是可能的。在一些替代實例中,該計算機系統(tǒng)是單個計算機。
[0035]該存儲器包括用于在第一域處通過因特網(wǎng)或計算機網(wǎng)絡(luò)從在客戶端計算機上運行的客戶端應(yīng)用接收第一請求的指令,其中該第一請求與安全應(yīng)用內(nèi)交易關(guān)聯(lián)。該存儲器還包括用于將請求模塊從第一域提供到客戶端計算機的指令。該存儲器包括用于在第二域處通過因特網(wǎng)或計算機網(wǎng)絡(luò)從在客戶端計算機上運行的請求模塊接收第二請求的指令,其中該第二請求與安全應(yīng)用內(nèi)交易關(guān)聯(lián)并且其中該第二請求包含(i)該客戶端應(yīng)用的憑證,
(ii)唯一地標識該請求的交易標識符,以及(iii)可選地,該客戶端應(yīng)用的用戶的標識。在此類實例中,該請求模塊的源URL與第二跨域策略相符。
[0036]該存儲器還包括用于根據(jù)有效應(yīng)用憑證的數(shù)據(jù)庫查證客戶端應(yīng)用的憑證的指令。該存儲器還包括用于將第二請求輸入(keying)到交易數(shù)據(jù)庫的指令。該存儲器還包括用于動態(tài)地生成已驗證的交易模塊的指令。例如,在一些實施例中,通過將一個或多個憑證注入到未標記的交易模塊中來生成已驗證的交易。此類注入(安全性)方法的示例參見例如2009年10月27日提交的序列號為12/607,005、標題為“用于認證電子交易的系統(tǒng)和方法”的美國專利申請,其通過引用方式全部并入本文。在本文公開的其他實施例中,使用其他方法從提供交易模塊的域獲取參數(shù)并且這些參數(shù)用于驗證該交易模塊。該存儲器還包括用于將已驗證的交易模塊從第二域提供到客戶端計算機的指令。該存儲器還包括用于在第三域處接收來自在客戶端計算機上執(zhí)行的已驗證的交易模塊的交易調(diào)用的指令,其中該已驗證的交易模塊的源URL與第三跨域策略相符。該存儲器還包括用于執(zhí)行第三域與在客戶端計算機上運行的已驗證的交易模塊之間的已驗證的交易的指令。該存儲器還包括用于在第三域處將已完成交易的記錄存儲在交易數(shù)據(jù)庫中的指令。
[0037]與上文提到的一些或所有過程的并發(fā)地或在上文提到的過程完成之后,運行附加的過程。這些過程包括在第一域處從在客戶端計算機上運行的客戶端應(yīng)用接收有關(guān)交易是否已完成的查詢。該查詢包含唯一地標識請求的交易標識符。這些過程還包括在第一域處通過在交易數(shù)據(jù)庫中查找交易標識符來確定交易是否已完成。這些過程還包括響應(yīng)于該接收和確定,向在客戶端計算機上運行的客戶端應(yīng)用通知交易的狀態(tài)。
[0038]在一些實例中,該安全應(yīng)用內(nèi)交易是使用與用戶的身份關(guān)聯(lián)的帳戶購買游戲內(nèi)升級的游戲內(nèi)交易。在一些實例中,該游戲內(nèi)升級是級別解鎖、購買虛擬裝備、購買虛擬特殊兵器、購買作弊器或購買虛擬貨幣。在一些實例中,該客戶端應(yīng)用是社交網(wǎng)絡(luò)應(yīng)用、金融服務(wù)應(yīng)用、記賬應(yīng)用或稅務(wù)申報應(yīng)用。
[0039]在一些實例中,第一域、第二域和第三域由同一服務(wù)器托管,該服務(wù)器可通過因特網(wǎng)或計算機網(wǎng)絡(luò)被客戶端計算機訪問。
[0040]在一些實例中,第一域由第一服務(wù)器托管、第二域由第二服務(wù)器托管,且第三域由第三服務(wù)器托管。第一、第二和第三服務(wù)器各可通過因特網(wǎng)或計算機網(wǎng)絡(luò)被客戶端計算機訪問。在一些此類實例中,上文標識的存儲器包括駐留在第一服務(wù)器中的第一存儲器、駐留在第二服務(wù)器中的第二存儲器和駐留在第三服務(wù)器中的第三存儲器。在一些此類實例中,第一跨域策略和請求模塊駐留在第一服務(wù)器的第一存儲器中。在一些此類實例中,第二跨域策略、有效應(yīng)用憑證的數(shù)據(jù)庫和未標記的交易模塊駐留在第二服務(wù)器的第二存儲器中。在一些此類實例中,第三跨域策略駐留在第三服務(wù)器的存儲器中。
[0041]在一些實施例中,客戶端應(yīng)用是FLASH應(yīng)用,并且其中已驗證的交易模塊是FLASHSffF應(yīng)用。
[0042]在計算機系統(tǒng)分成第一服務(wù)器、第二服務(wù)器和第三服務(wù)器的實施例中,在第一域處或由第一域執(zhí)行的上文標識的過程由第一服務(wù)器完成,在第二域處或由第二域執(zhí)行的上文標識的過程由第二服務(wù)器完成,且第三域處或由第三域執(zhí)行的上文標識的過程由第三服務(wù)器完成。本領(lǐng)域技術(shù)人員將認識到第一域可以包括第一多個計算機,第二域可以包括第二多個計算機,且第三域可以包括第三多個計算機。例如,一個服務(wù)器可以是域內(nèi)的另一個服務(wù)器的鏡像站點。在另一個示例中,一個服務(wù)器可以是域內(nèi)的另一個服務(wù)器的后備服務(wù)器。在再一個示例中,一個域可以包括通過常規(guī)負載平衡技術(shù)處理公共負載的多個服務(wù)器。本領(lǐng)域技術(shù)人員將認識到本發(fā)明公開充分地設(shè)想到所有這些不同情況。
4.
【專利附圖】
【附圖說明】
[0043]圖1圖示根據(jù)本發(fā)明公開的第一實施例的系統(tǒng)。
[0044]圖2A和圖2B圖示根據(jù)本發(fā)明公開的第一實施例的方法。
[0045]圖3A和圖3B圖示根據(jù)本發(fā)明公開的第二實施例的系統(tǒng)。
[0046]圖4A和圖4B圖示根據(jù)本發(fā)明公開的第二實施例的方法。
[0047]在這些附圖的多個視圖中,相同的參考數(shù)字指代對應(yīng)的部分。
5.
【具體實施方式】
[0048]本發(fā)明公開詳細描述了在已知的用于認證通過可能不安全的應(yīng)用通信的電子交易的系統(tǒng)和方法基礎(chǔ)之上的新穎改進。本發(fā)明公開利用服務(wù)器跨域策略以及域相關(guān)安全性沙盒。公開了兩個實施例。在圖1和圖2所示的第一實施例中,客戶端應(yīng)用34產(chǎn)生對來自第一域180的交易模塊38的請求,第一域180具有非限制性跨域策略138。一旦客戶端應(yīng)用34接收到該交易模塊38,則該交易模塊38在它自己的域相關(guān)安全性沙盒中執(zhí)行,使得該交易模塊的源URL即第一域180的URL被保留。交易模塊38通過與第二域200交互來完成交易,第二域200具有將交互限制于其源URL是第一域180的那些程序或進程的跨域策略 236。
[0049]圖3和圖4圖示的第二實施例使過程更進一步。在第二實施例中,響應(yīng)于進行應(yīng)用內(nèi)安全交易的需求,客戶端應(yīng)用34B產(chǎn)生與應(yīng)用內(nèi)安全交易關(guān)聯(lián)的第一請求。該第一請求通過因特網(wǎng)或計算機網(wǎng)絡(luò)302被發(fā)送到具有非限制性跨域策略336的第一域300 (圖3B)。響應(yīng)于此請求,第一域300向客戶端應(yīng)用34B發(fā)送請求模塊36。一旦客戶端應(yīng)用34B接收到請求模塊36,則請求模塊36在其自己的域相關(guān)安全性沙盒(第一沙盒)中執(zhí)行,使得請求模塊36的源URL即第一域300的URL被保留。在第一沙盒中運行的請求模塊36產(chǎn)生對第二域180B的交易模塊38的請求,第二域180B具有將交互限制于其源URL是第一域300的那些程序或進程的跨域策略138B。
[0050]在一些實施例中,當(dāng)從客戶端應(yīng)用34B接收到對交易模塊的請求時,第二域180B將安全性信息注入到交易模塊136的未標記版本中,從而形成安全的交易模塊38,并向客戶端應(yīng)用34B發(fā)送安全的交易模塊38。一旦客戶端應(yīng)用34B接收到安全的交易模塊38,則交易模塊38在其自己的域相關(guān)安全性沙盒(第二沙盒)中執(zhí)行,使得安全的交易模塊38的源URL即第二域的URL被保留。交易模塊38通過與第三域200交互來完成交易,第三域200具有將交互限制于其源URL是第二域180的那些程序或進程的跨域策略236。
[0051]在一些實施例中,第二域180B提供交易模塊136的未標記版本,而不修改交易模塊136的內(nèi)容。換言之,在一些實施例中,不一定將憑證注入到交易模塊136的未標記版本來形成安全的交易模塊38。在此類實施例中,一旦請求模塊36接收到未標記交易模塊136,則它能夠利用第二域180B提供的參數(shù)驗證交易模塊136。以此方式,請求模塊36能夠驗證交易模塊136 (從而使交易模塊136能夠被認為是交易模塊38而不將參數(shù)注入到交易模塊136中)。然后,在交易模塊38其自己的域相關(guān)安全性沙盒(第二沙盒)中執(zhí)行,使得安全的交易模塊38的源URL即第二域180B的URL被保留。交易模塊38通過與第三域200交互來完成交易,第三域200具有將交互限制于其源URL是第二域180B的那些程序或進程的跨域策略236。
[0052]通過利用跨域策略和固有地在其(程序)自己的域相關(guān)安全性沙盒中運行程序而調(diào)用應(yīng)用無權(quán)檢查的能力,本發(fā)明公開提供用于促進安全應(yīng)用內(nèi)交易的高度安全的系統(tǒng)、方法和計算機可讀介質(zhì)。
[0053]現(xiàn)在已公開用于執(zhí)行安全應(yīng)用內(nèi)交易的新穎系統(tǒng)和方法的概述,結(jié)合圖1描述根據(jù)本發(fā)明公開的第一實施例的系統(tǒng)的更詳細描述。因此,圖1圖示根據(jù)本發(fā)明公開的環(huán)境的拓撲。
[0054]在該拓撲中,有安全接口服務(wù)器180、客戶端裝置100和交易服務(wù)器200。當(dāng)然,其他拓撲也是可能的,例如安全接口服務(wù)器180可以實際上包括若干個服務(wù)器。此外,通常有數(shù)百、數(shù)千、數(shù)十萬個或更多個客戶端裝置100。圖1所示的示范拓撲僅用于以本領(lǐng)域技術(shù)人員將容易理解的方式描述本發(fā)明公開的第一實施例的特征。
[0055]安全接口服務(wù)器180將通常具有一個或多個處理單元(CPU) 102、網(wǎng)絡(luò)或其他通信接口 110、存儲器114、一個或多個控制器118可選地訪問的一個或多個磁盤存儲和/或永久裝置120、用于將前述組件互連的一個或多個通信總線112和用于對前述組件供電的電源124。可以使用如高速緩存的公知計算技術(shù)與非易失性存儲器120無縫地共享存儲器114中的數(shù)據(jù)。存儲器114和/或存儲器120可以包括相對于中央處理單元102位于遠程位置的海量存儲裝置。換言之,存儲器114和/或存儲器120中存儲的一些數(shù)據(jù)實際可以托管在安全接口服務(wù)器180外部但是能夠被安全接口服務(wù)器180通過因特網(wǎng)、內(nèi)聯(lián)網(wǎng)或其他形式的網(wǎng)絡(luò)或電纜(如圖1中元件126所示)使用網(wǎng)絡(luò)接口 110以電子方式訪問的計算機上。
[0056]存儲器114優(yōu)選地存儲:
[0057]?操作系統(tǒng)130,其包括用于處理各種基本系統(tǒng)服務(wù)和用于執(zhí)行硬件相關(guān)任務(wù)的過程;
[0058]?網(wǎng)絡(luò)通信模塊132,其用于經(jīng)由一個或多個通信網(wǎng)絡(luò)(如因特網(wǎng)、其他廣域網(wǎng)、局域網(wǎng)(例如無線局域網(wǎng)可以將客戶端裝置100連接到安全接口服務(wù)器180)、城域網(wǎng)等)將安全接口服務(wù)器180連接到如客戶端裝置100 (圖1)的各種客戶端計算機以及可能地連接到其他服務(wù)器或計算機(例如,交易服務(wù)器200);
[0059]籲交易模塊服務(wù)應(yīng)用134,其用于接收來自客戶端計算機的請求;
[0060]?未標記交易模塊136,其用于在用戶請求時向客戶端裝置100分發(fā);
[0061]?跨域策略138,其指定安全接口服務(wù)器180可以與哪些計算機/域交互;
[0062]?交易數(shù)據(jù)庫140/240,其用于存儲安全應(yīng)用內(nèi)交易的記錄;以及
[0063]?有效應(yīng)用憑證的數(shù)據(jù)庫142。
[0064]安全接口服務(wù)器180經(jīng)由因特網(wǎng)/網(wǎng)絡(luò)126連接到一個或多個客戶端裝置100。圖1圖示至僅一個此類客戶端裝置100的連接??蛻舳搜b置100可能是個人計算機(例如,桌上型或膝上型計算機)或任何形式的移動計算裝置(例如,ι-phone、Blackberry等)。
[0065]在典型的實施例中,客戶端裝置100包括:
[0066]?一個或多個處理單元(CPU) 2 ;
[0067]?網(wǎng)絡(luò)或其他通信接口 10 ;
[0068]?存儲器 14 ;
[0069]?可選地,一個或多個可選控制器18訪問的一個或多個磁盤存儲和/或永久性存儲裝置20 ;
[0070]?用戶接口 4,用戶接口 4包括顯示器6和鍵盤或小鍵盤8 ;
[0071]?一個或多個通信總線12,其用于將前述組件互連;以及
[0072]?電源24,其用于對前述組件供電,電源可以是例如電池。
[0073]在一些實施例中,可以使用如高速緩存的公知計算技術(shù)與可選的非易失性存儲器20無縫地共享存儲器14中的數(shù)據(jù)。在一些實施例中,客戶端裝置100沒有磁盤存儲裝置。例如,在一些實施例中,客戶端裝置100是便攜式手持計算裝置,且網(wǎng)絡(luò)接口 10通過無線方式與因特網(wǎng)/網(wǎng)絡(luò)126通信。
[0074]存儲器14優(yōu)選地存儲:
[0075]?操作系統(tǒng)30,其包括用于處理各種基本系統(tǒng)服務(wù)和用于執(zhí)行硬件相關(guān)任務(wù)的過程;
[0076]?網(wǎng)絡(luò)通信模塊32,其用于將客戶端裝置100連接到如安全接口服務(wù)器180和交易服務(wù)器200的其他計算機,在一些實施例中,網(wǎng)絡(luò)通信模塊32包括可選的Web瀏覽器,如Microsoft Internet Explorer 第 6.0 版本或更新版本、Firefox 2.x、Firefox 3.x、AOL9、Opera 9.5或更新版本、Safari 3.x、Chrome 2.0或更高版本,并且在一些實施例中,該可選Web瀏覽器包括如FLASH播放器的模塊;
[0077]?客戶端應(yīng)用36,其能夠請求應(yīng)用內(nèi)交易且能夠查證應(yīng)用內(nèi)交易已完成;
[0078]?請求模塊36,其用于發(fā)起應(yīng)用內(nèi)交易;以及
[0079]?交易模塊38,其用于執(zhí)行應(yīng)用內(nèi)交易。
[0080]交易服務(wù)器200將通常具有一個或多個處理單元(CPU) 202、網(wǎng)絡(luò)或其他通信接口210、存儲器214、一個或多個可選控制器218可選地訪問的一個或多個磁盤存儲和/或非易失性裝置220、用于將前述組件互連的一個或多個通信總線212和用于對前述組件供電的電源224??梢允褂萌绺咚倬彺娴墓嬎慵夹g(shù)與非易失性存儲器220無縫地共享存儲器214中的數(shù)據(jù)。存儲器214和/或存儲器220可以包括相對于中央處理單元202處于遠程位置的海量存儲裝置。換言之,存儲器214和/或存儲器220中存儲的一些數(shù)據(jù)可實際上托管在交易服務(wù)器200外部但是能夠被交易服務(wù)器200通過因特網(wǎng)、內(nèi)聯(lián)網(wǎng)或其他形式的網(wǎng)絡(luò)或電纜(如圖1中元件126所示)使用網(wǎng)絡(luò)接口 210以電子方式訪問的計算機上。[0081 ] 存儲器214優(yōu)選地存儲:
[0082]?操作系統(tǒng)230,其包括用于處理各種基本系統(tǒng)服務(wù)和用于執(zhí)行硬件相關(guān)任務(wù)的過程;
[0083]?網(wǎng)絡(luò)通信模塊232,其用于經(jīng)由一個或多個通信網(wǎng)絡(luò)(如因特網(wǎng)、其他廣域網(wǎng)、局域網(wǎng)(例如,無線局域網(wǎng)能夠?qū)⒖蛻舳搜b置100連接到安全接口服務(wù)器180)、城域網(wǎng)等)將交易服務(wù)器200連接到各種客戶端計算機(如客戶端裝置100 (圖1))以及可能地連接到其他服務(wù)器或計算機(如安全接口服務(wù)器180);
[0084]?交易模塊234,其用于查證來自在客戶端裝置100上運行的交易模塊38的請求的有效性;
[0085]?跨域策略236,其指定交易服務(wù)器200可以與哪些計算機/域交互;
[0086]?應(yīng)用編程接口 “API ”238,其用于執(zhí)行與在客戶端裝置100上運行的交易模塊38的應(yīng)用內(nèi)交易;以及
[0087]?交易數(shù)據(jù)庫140/240,其用于存儲安全應(yīng)用內(nèi)交易的狀態(tài)。
[0088]參考圖2,描述了根據(jù)本發(fā)明公開的第一實施例的示范方法。該方法詳述根據(jù)本發(fā)明公開的安全接口服務(wù)器180、客戶端裝置100和交易服務(wù)器200交互地服務(wù)于交易時所采取的步驟。
[0089]步驟202。在步驟202中,客戶端裝置100運行來自本地數(shù)據(jù)存儲(例如,圖1的存儲器14或存儲器20)的客戶端應(yīng)用34或通過因特網(wǎng)或計算機網(wǎng)絡(luò)獲取并運行來自遠程應(yīng)用服務(wù)器(未示出)的客戶端應(yīng)用34。在一些實例中,客戶端應(yīng)用34是社交網(wǎng)絡(luò)應(yīng)用(例如,F(xiàn)ACEB00K.MYSPACE)、金融服務(wù)應(yīng)用、記賬應(yīng)用或稅務(wù)申報應(yīng)用。
[0090]步驟204。在客戶端應(yīng)用34在客戶端裝置100上運行時的某個時間點,客戶端應(yīng)用34調(diào)用請求模塊36以產(chǎn)生對安全應(yīng)用內(nèi)交易的請求。在一些實例中,該安全應(yīng)用內(nèi)交易是使用與客戶端應(yīng)用的用戶的身份關(guān)聯(lián)的帳戶購買游戲內(nèi)升級的游戲內(nèi)交易。游戲內(nèi)升級的示例包括但不限于級別解鎖、購買虛擬裝備、購買虛擬特殊兵器、購買作弊器或購買虛擬貨幣。
[0091]通常,該安全應(yīng)用內(nèi)請求包含應(yīng)用憑證、標識客戶端應(yīng)用34用戶的信息和唯一交易標識符。該應(yīng)用憑證是標識應(yīng)用開發(fā)者的與客戶端應(yīng)用34關(guān)聯(lián)的憑證。例如,在一些實施例中,客戶端應(yīng)用34是游戲應(yīng)用且應(yīng)用憑證標識游戲應(yīng)用開發(fā)者??梢允褂脩?yīng)用憑證來確定為應(yīng)用內(nèi)交易向誰付款。例如,如果應(yīng)用內(nèi)交易涉及客戶端應(yīng)用34用戶的資金支付,則該應(yīng)用憑證用于識別將這些資金付給誰。通常,應(yīng)用憑證用于來標識該應(yīng)用內(nèi)交易的甲方。相似地,標識客戶端應(yīng)用34用戶的信息可以用于確定該應(yīng)用內(nèi)交易的乙方。例如,通常乙方是期望執(zhí)行由客戶端應(yīng)用34托管的安全應(yīng)用內(nèi)交易以便促進在完成應(yīng)用內(nèi)交易的情況下變得可能的目標(例如,附加的游戲級別、更多用戶特征等)的客戶端應(yīng)用34的用戶。唯一交易標識符用于跟蹤應(yīng)用內(nèi)交易的狀態(tài)。在典型實施例中,應(yīng)用憑證、標識客戶端應(yīng)用34的用戶的信息和唯一交易標識符的格式根據(jù)安全接口服務(wù)器180和/或交易服務(wù)器200的需求來預(yù)先確定。例如,應(yīng)用憑證可以是提供給應(yīng)用開發(fā)者供在所有應(yīng)用內(nèi)交易中使用的序列號。此外,標識客戶端應(yīng)用34的用戶的信息可以是在用戶創(chuàng)建針對應(yīng)用開發(fā)者的帳戶時和/或用戶創(chuàng)建針對安全接口服務(wù)器180或交易服務(wù)器200的帳戶時和/或應(yīng)用開發(fā)者將用戶與安全接口服務(wù)器180或交易服務(wù)器200—起注冊時創(chuàng)建的唯一地與用戶關(guān)聯(lián)的注冊信息。不管如何實現(xiàn),標識客戶端應(yīng)用34的用戶的信息向安全接口服務(wù)器180和/或交易服務(wù)器200唯一地標識用戶。相似地,在優(yōu)選實施例中,唯一交易標識符唯一地標識由客戶端應(yīng)用34的用戶執(zhí)行的單個應(yīng)用內(nèi)交易。
[0092]因此,概括地來說,當(dāng)步驟204完成時,存在通過客戶端應(yīng)用34和關(guān)聯(lián)的請求模塊36在客戶端應(yīng)用34在客戶端裝置100上執(zhí)行時生成的與安全應(yīng)用內(nèi)交易關(guān)聯(lián)的請求,其中該請求包含(i)該客戶端應(yīng)用的憑證,(ii)該客戶端應(yīng)用的用戶的標識,以及(iii)唯一地標識該請求的交易標識符。通過因特網(wǎng)或計算機網(wǎng)絡(luò)將對安全應(yīng)用內(nèi)交易的該請求提交到具有非限制性第一跨域策略138的安全接口服務(wù)器180 (第一域)。
[0093]步驟206。在步驟206中,交易模塊服務(wù)應(yīng)用134通過因特網(wǎng)或計算機網(wǎng)絡(luò)接收對安全應(yīng)用內(nèi)交易的請求,交易模塊服務(wù)應(yīng)用134運行于安全接口服務(wù)器180上,該請求附帶標識應(yīng)用用戶的信息、唯一交易標識符和應(yīng)用憑證。在一些實施例中,在步驟206接收的請求不包含用戶的身份。在此類實施例中,用戶的身份僅由交易模塊38傳送到交易服務(wù)器200的交易服務(wù)器模塊234。
[0094]步驟208。在步驟208中,根據(jù)有效應(yīng)用憑證的數(shù)據(jù)庫142查證客戶端應(yīng)用34的應(yīng)用憑證。在一些實施例中,有效應(yīng)用憑證的數(shù)據(jù)庫142包含可以使用安全接口服務(wù)器180和交易服務(wù)器200來執(zhí)行安全交易的每個合法的應(yīng)用開發(fā)者的標識。
[0095]步驟210。如果在步驟206中隨接收的應(yīng)用請求提供的應(yīng)用憑證未通過查證210-否,意味著有效應(yīng)用憑證的數(shù)據(jù)庫142中不存在該應(yīng)用憑證或該數(shù)據(jù)庫指示該憑證是無效的或未激活,則交易結(jié)束212。在未示出的一些實施例中,向客戶端應(yīng)用34通知此失敗。在未示出的一些實施例中,向應(yīng)用開發(fā)者通知此失敗。如果在步驟206中隨接收的應(yīng)用請求提供的應(yīng)用憑證通過查證210-是,意味著有效應(yīng)用憑證的數(shù)據(jù)庫142中存在該應(yīng)用憑證,則過程控制傳遞到步驟214。
[0096]步驟214。在步驟214中,將請求輸入到交易數(shù)據(jù)庫140/240中。在一些實施例中,這包括將唯一項添加到交易數(shù)據(jù)庫140/240中以對應(yīng)于該披露的一個交易。在請求包含客戶端應(yīng)用34用戶的身份的一些實施例中,將交易項添加到與此用戶關(guān)聯(lián)的帳戶。在步驟214中不執(zhí)行交易。例如,在步驟214期間對于在交易中標識的用戶不會進行任何金額的貸記或借記。如果實在要發(fā)生的話,此類借記或貸記在公開的方法中的稍后階段發(fā)生。交易數(shù)據(jù)庫140/240可被安全接口服務(wù)器180和交易服務(wù)器200訪問。在一些實施例中,安全接口服務(wù)器180和交易服務(wù)器200是不同的服務(wù)器。在一些實施例中,安全接口服務(wù)器180和交易服務(wù)器200是具有單獨的跨域策略和域的同一服務(wù)器。
[0097]步驟216。在步驟216中,交易模塊服務(wù)應(yīng)用134利用建立用于所請求的交易的交易模塊的有效性的足夠信息動態(tài)地標記未標記的交易模塊(例如,采用SWF文件格式)136,并將已標記的交易模塊發(fā)送到客戶端裝置100作為交易模塊38。在一些實施例中,這通過使交易模塊服務(wù)應(yīng)用134通過將一個或多個憑證注入到未標記的交易模塊136來動態(tài)地生成已驗證的交易模塊38來實現(xiàn)。此類注入(安全性)方法的示例參見例如2009年10月27日提交的序列號為12/607,005、標題為“用于認證電子交易的系統(tǒng)和方法”的美國專利申請,其通過引用方式全部并入本文。
[0098]在一些實施例中,第二域180將安全交易模塊38提供到客戶端裝置100上的請求模塊36和/或客戶端應(yīng)用34而不修改未標記的交易模塊136的內(nèi)容。在一些此類實施例中,通過提供未標記的交易模塊136連同未標記的交易模塊136外部的用于驗證該交易模塊的參數(shù)來服務(wù)于從客戶端裝置100發(fā)送到安全接口服務(wù)器180的對交易模塊的請求。請求模塊36能夠驗證交易模塊136 (從而使交易模塊136能夠被認為是交易模塊38而不將參數(shù)注入到交易模塊136中)。在一些實施例中,注入到交易模塊38中或作為交易模塊外部的一個或多個參數(shù)來提供的憑證是用戶標識符密鑰。在一些實施例中,應(yīng)用用戶標識符密鑰與來自客戶端裝置100的、在步驟206中接收的請求一起提供。在一些實施例中,應(yīng)用用戶標識符密鑰與用戶擁有的針對應(yīng)用開發(fā)者的帳戶關(guān)聯(lián),并且此帳戶由安全接口服務(wù)器180和交易服務(wù)器200來提供服務(wù)。在一些實施例中,應(yīng)用用戶標識符密鑰由如FACEB00K或MYSPACE的第三方來提供。
[0099]在一些實施例中,注入到交易模塊38中或作為交易模塊外部的一個或多個參數(shù)來提供的憑證是基于基準時間的調(diào)和(salting)值146。在一些實施例中,此調(diào)和值是與請求關(guān)聯(lián)的協(xié)調(diào)世界時(UTC)。例如,調(diào)和值146可以是步驟202、步驟204、步驟206、步驟208、步驟210、步驟214或步驟216的執(zhí)行期間的某個時間(例如,在步驟開始、結(jié)束或執(zhí)行過程中的某個時間時)的UTC或客戶端裝置100產(chǎn)生或安全接口服務(wù)器180接收到請求時的時間的某個其他預(yù)定函數(shù)。UTC是基于國際原子時間(TAI)的時間標準,其具有以不規(guī)則時間間隔加入的閏秒來補償?shù)厍蛘跍p慢的旋轉(zhuǎn)。使用閏秒以使UTC能夠緊密地跟蹤UTI,UTl是格林威治皇家天文臺處的平均太陽時間。在一些實施例中,調(diào)和值146是UTC和某個時間增量(如I個小時、8個小時、12個小時等)的整除。
[0100]在一些實施例中,注入到交易模塊38中或作為交易模塊外部的一個或多個參數(shù)來提供的憑證是由安全接口服務(wù)器180和交易服務(wù)器200所共享的秘密密鑰。秘密密鑰148的一個特征在于,它不會通過因特網(wǎng)/網(wǎng)絡(luò)126被傳送,并且僅應(yīng)用開發(fā)者、交易服務(wù)器200的主機和安全接口服務(wù)器180的主機知道其身份。參見例如Kaufman的“Network Security,,(Prentice-Hall, Inc., Upper Saddle River, N.J.)的 2.4 節(jié),其通過引用方式并入本文。
[0101]在一些實施例中,注入到交易模塊38中或作為交易模塊外部的一個或多個參數(shù)來提供的憑證是與在步驟206接收的請求一起提供的應(yīng)用用戶標識符。在一些實施例中,將前述憑證的任何組合注入到交易模塊38中,然后才將其發(fā)送到客戶端應(yīng)用34或作為交易模塊外部的一個或多個參數(shù)來提供。在一些實施例中,使用前述憑證的任何組合來生成臨時簽名密鑰。例如,在一些實施例中,將這些憑證一起截斷或以其他方式組合,然后將其單向散列處理以生成簽名密鑰,該簽名密鑰被注入到交易模塊38中,以代替注入前述憑證和/或提供交易模塊外部的憑證或另外還注入前述憑證和/或提供交易模塊外部的憑證。在一些實施例中,除了前述憑證外或替代前述憑證,將其他憑證注入到交易模塊38中。
[0102]步驟218。在步驟218中,客戶端應(yīng)用34在與將安全接口服務(wù)器180識別為其源URL的程序關(guān)聯(lián)并限制于這些程序的單獨的域相關(guān)安全性沙盒中執(zhí)行交易模塊38。例如,在一些實施例中,客戶端應(yīng)用34是FLASH程序,并且交易模塊38采用由客戶端應(yīng)用34在步驟218期間加載并執(zhí)行的SWF文件的形式。在此類實施例中,客戶端應(yīng)用34查詢交易模塊38以確定其源URL。在本實例中,交易模塊38的源URL是安全接口服務(wù)器180的URL。因此,客戶端應(yīng)用34在專用于來自安全接口服務(wù)器180的域中的程序的域相關(guān)安全性沙盒中加載并執(zhí)行交易模塊38。換言之,在步驟218期間,客戶端應(yīng)用34執(zhí)行已驗證的交易模塊38,使得該已驗證的交易模塊被加載到存儲器內(nèi)的單獨的域相關(guān)安全性沙盒中,其中
(i)該單獨的域相關(guān)安全性沙盒與客戶端應(yīng)用運行所在的所述存儲器中的存儲空間隔離開,(?)該單獨的域相關(guān)安全性沙盒與將其源URL識別為安全接口服務(wù)器180的域的程序關(guān)聯(lián)且限制于這些程序,(iii)由客戶端應(yīng)用34執(zhí)行已驗證的交易模塊38,使得已驗證的交易模塊38的源URL的身份不被改變或破壞,并且(iv)已驗證的交易模塊38不授權(quán)客戶端應(yīng)用34來檢查已驗證的交易模塊38。因此,有利地,即使被客戶端應(yīng)用34加載,交易模塊38仍能夠以安全方式在客戶端裝置100上運行??蛻舳藨?yīng)用34不能檢查交易模塊38。換言之,客戶端應(yīng)用34不能讀取由交易模塊38存儲的任何值。這是非常有利的,因為客戶端應(yīng)用的用戶能夠?qū)⒚舾行畔⑤斎氲浇灰啄K38中而不會存在讓客戶端應(yīng)用34獲得此類敏感信息的任何風(fēng)險。
[0103]步驟220。在步驟220中,在交易模塊38在單獨的域相關(guān)安全性沙盒中執(zhí)行時,交易模塊38發(fā)出交易調(diào)用。交易調(diào)用被發(fā)送到第二域,即交易服務(wù)器200的域。交易服務(wù)器200具有第二跨域策略236,第二跨域策略236將交易服務(wù)器200與交易服務(wù)器200 (第二域)外部的程序之間的交互限制于其源URL是安全接口服務(wù)器180(第一域)的URL的那些外部程序。
[0104]步驟222和224。在步驟222中,就調(diào)用交易模塊38是否將安全接口服務(wù)器180指定為其源URL作出確定。如上文的步驟220中所述,這是用于與交易服務(wù)器200交互的必要條件,因為交易服務(wù)器200的跨域策略236將外部交互限制于僅其源URL是安全接口服務(wù)器180的URL的那些程序。因為交易模塊38由安全接口服務(wù)器180向客戶端裝置100提供服務(wù),并以保留交易模塊38的源URL的方式被客戶端應(yīng)用34加載,所以交易模塊38應(yīng)該滿足條件222 (222-是),并由此過程控制應(yīng)該移到步驟226。如果客戶端應(yīng)用34嘗試以不保留交易模塊38的源URL的方式加載交易模塊38 (例如通過使用FLASH 1adBytes調(diào)用),則條件222將不會被滿足(222-否),并且過程控制將進行到步驟224,在步驟224交易將失敗。在此類實例中,交易的記錄將從交易數(shù)據(jù)庫140/240中被移除。
[0105]步驟226。如果過程控制到達步驟226,則在交易服務(wù)器200上運行的交易服務(wù)器模塊234允許API 238與交易模塊38交互,以便執(zhí)行請求的交易。在一些實施例中,在交易開始之前采取附加的安全措施。在2009年10月27日提交的序列號為12/607,005、標題為“用于認證電子交易的系統(tǒng)和方法”的美國專利申請中公開了此類安全措施的示例,該申請據(jù)此通過引用方式全部并入本文。參見例如該美國專利申請(序列號為12/607,005)中公開的步驟214至218。
[0106]步驟228。在步驟228中,用戶使用交易模塊38和API 238來執(zhí)行交易。在此交易期間,用戶可以輸入金融信息或其他形式的信息,如信用卡(貸記卡)信息、借記卡信息、ATM信息(例如,個人識別號)、PAYPAL帳戶信息、自動清算所(ACH)轉(zhuǎn)賬信息、銀行業(yè)務(wù)信息、賬單地址信息、郵寄地址信息、個人信息(例如,社保號碼、生日、個人問題的答案等)、優(yōu)惠券信息、折扣信息、會員信息、訂閱信息、登錄信息、密碼信息、安全令牌(例如,RSA挑戰(zhàn)號碼)等。有利地,因為交易模塊38在客戶端裝置100上其自己的域相關(guān)安全性沙盒中運行,所以客戶端應(yīng)用34和請求模塊36無法獲得用戶在步驟228中輸入的信息。
[0107]步驟230。用戶在步驟228中輸入的信息由API 238處理以便向用戶貸記或借記。將認識到,步驟228和230可以重復(fù)執(zhí)行多次,以便完成交易。例如,API 238可以發(fā)出向用戶的一個或多個挑戰(zhàn)或請求。用戶使用交易模塊38輸入此信息。如果用戶輸入了正確的挑戰(zhàn)信息,則API 238通過從用戶請求更多信息來進行到交易的后續(xù)階段。此外,使用指定給交易的唯一交易標識符將交易的狀態(tài)存儲在交易數(shù)據(jù)庫140/240中。注意,在典型實施例中,交易服務(wù)器200和安全接口服務(wù)器180均有權(quán)訪問交易數(shù)據(jù)庫140/240。在步驟230期間,交易服務(wù)器200記錄交易的狀態(tài)(例如,已完成、已失敗、貸記金額、借記金額等)時,安全接口服務(wù)器180在步驟214使用指定給交易的唯一交易標識符來創(chuàng)建對應(yīng)于該交易的項。
[0108]步驟232-234。在優(yōu)選實施例中,將API 238的實例用于單個交易。因此,在此類優(yōu)選實施例中,用于促進交易的API 238的實例終止。在其他實施例中,API 238是跨多個交易永久性的。無論使用哪種形式的實施例,交易服務(wù)器模塊234均不再將它在步驟226和步驟230中交互的對象即交易模塊38的實例視為有效的。這樣有利地增強了所公開的系統(tǒng)和方法的安全性,因為在更差的情況下,交易模塊38只能用于單個用戶進行單個的唯一交易。在步驟234中,交易模塊38被終止。
[0109]步驟236-242。如上文提到的,交易模塊38在客戶端裝置100上的其自己的域相關(guān)安全性沙盒中運行,并且交易模塊38不授權(quán)客戶端應(yīng)用34來檢查。因此,客戶端應(yīng)用34不直接從交易模塊38來查明應(yīng)用內(nèi)交易是否已完成,更不用說查明應(yīng)用內(nèi)交易是否已成功完成了,使得用戶將被賦予與應(yīng)用內(nèi)交易關(guān)聯(lián)的任何特權(quán)(例如,更多游戲點數(shù)等)。因此,與前文提到的步驟的其中一些或全部并發(fā)地或在所有前文提到的步驟已完成之后,客戶端應(yīng)用34使用安全接口服務(wù)器180輪詢交易數(shù)據(jù)庫140/240以確定交易的狀態(tài)。要認識到,雖然安全接口服務(wù)器180和交易服務(wù)器200均有權(quán)訪問交易數(shù)據(jù)庫140/240,但是安全接口服務(wù)器180具有寬容性跨域策略138,而交易服務(wù)器200具有限制性跨域策略236。因此,除非客戶端應(yīng)用34的源URL是安全接口服務(wù)器180的URL,否則客戶端應(yīng)用34將無法直接與交易服務(wù)器200交互。因此,客戶端應(yīng)用34將無法使用交易服務(wù)器200輪詢交易數(shù)據(jù)庫140/240。
[0110]在典型實施例中,客戶端應(yīng)用34定期(例如,每分鐘、每五分鐘、每半小時等)輪詢安全接口服務(wù)器180上的交易數(shù)據(jù)庫140/240,直到交易數(shù)據(jù)庫140/240指示交易完成為止。在典型實施例中,此查詢非常有限。在典型實施例中,客戶端應(yīng)用34提供唯一交易標識符和應(yīng)用憑證。如果根據(jù)有效應(yīng)用憑證的數(shù)據(jù)庫142該應(yīng)用憑證是有效的,則通過因特網(wǎng)或計算機網(wǎng)絡(luò)將與客戶端應(yīng)用34提供的交易標識符唯一地關(guān)聯(lián)的交易的狀態(tài)發(fā)送回在客戶端上運行的客戶端應(yīng)用34。在典型實施例中,客戶端應(yīng)用34不被允許從交易數(shù)據(jù)庫140/240獲取個人信息。
[0111]現(xiàn)在已公開與第一實施例的實例關(guān)聯(lián)的處理步驟的細節(jié),可以強調(diào)本申請的優(yōu)點。可以使用客戶端應(yīng)用來執(zhí)行安全交易,其中客戶端應(yīng)用無法獲知執(zhí)行交易所需的安全信息。盡管如此,客戶端應(yīng)用使用交易的唯一交易標識符能夠確定交易是否成功。由此,使用所公開的系統(tǒng),客戶端應(yīng)用能夠以安全的方式支持應(yīng)用內(nèi)交易,而無需建立公開的安全平臺(例如,安全因特網(wǎng)服務(wù)器180和交易服務(wù)器200)。例如,安全平臺可由單獨的實體來運行。這減少了開發(fā)客戶端應(yīng)用的成本。
[0112]交易內(nèi)用戶界面。在一些實施例中,通過創(chuàng)建由客戶端應(yīng)用34控制交易模塊38的外觀來增強應(yīng)用內(nèi)交易的觀感和體驗。在一些實施例中,這通過與請求模塊36關(guān)聯(lián)的應(yīng)用編程接口來實現(xiàn)??蛻舳藨?yīng)用34使用應(yīng)用編程接口來分配客戶端應(yīng)用34正在使用的屏幕區(qū)域的一部分來開啟交易模塊38。在一個示例中,交易模塊38是300X400像素界面,并且當(dāng)產(chǎn)生交易請求時,客戶端應(yīng)用34指定屏幕上可以開啟此300X400像素界面的地方的坐標。因此,有利地,在此類實施例中,即使交易模塊38在其自己的域相關(guān)安全性沙盒中運行,客戶端應(yīng)用34和交易模塊38仍看上去是同一個應(yīng)用。在一些實施例中,與請求模塊36關(guān)聯(lián)的API接口還包括用于指定在交易模塊38中使用的字體和顏色的參數(shù)。此類參數(shù)增強客戶端應(yīng)用和交易模塊38是同一個應(yīng)用的外觀。在典型實施例中,客戶端應(yīng)用34在其自己的窗口中運行,并且通過請求模塊36的API提供到交易模塊38的所有像素坐標均與此窗口有關(guān)。
[0113]安全接口服務(wù)器180/交易服務(wù)器200。在典型實施例中,如圖1所示,安全接口服務(wù)器180和交易服務(wù)器200各是單獨的物理服務(wù)器。在一些替代實施例中,安全接口服務(wù)器180和交易服務(wù)器200由同一物理服務(wù)器托管。在此類實施例中,此物理服務(wù)器可通過因特網(wǎng)或計算機網(wǎng)絡(luò)126被客戶端裝置100訪問。
[0114]第二實施例。圖3和圖4圖示了本發(fā)明公開的第二實施例。具體來說,結(jié)合圖3描述了根據(jù)本發(fā)明公開的第二實施例的系統(tǒng)。因此,圖3圖示根據(jù)本發(fā)明公開的環(huán)境的拓撲。在該拓撲中,有安全接口服務(wù)器180B、客戶端裝置100B、交易服務(wù)器200和請求模塊服務(wù)器300。當(dāng)然,其他拓撲也是可能的,例如安全接口服務(wù)器180B可以實際上包括若干個服務(wù)器。此外,通常有數(shù)百、數(shù)千、數(shù)十萬個或更多個客戶端裝置100B。圖3所示的示范拓撲僅用于以本領(lǐng)域技術(shù)人員將容易理解的方式描述本發(fā)明公開的第二實施例的特征。
[0115]圖3A的客戶端裝置100B和由客戶端裝置100B托管的每個模塊與圖1A的客戶端裝置100中的同名對應(yīng)部分完全相同,除了在客戶端裝置100B的客戶端應(yīng)用34B被客戶端裝置100B調(diào)用時,客戶端應(yīng)用34B不包括請求模塊36的整體。
[0116]圖3A的交易服務(wù)器200和由圖3A的交易服務(wù)器200托管的每個模塊與圖1A的交易服務(wù)器200中的同名對應(yīng)部分完全相同。
[0117]圖3B的安全接口服務(wù)器180B和由安全接口服務(wù)器180B托管的每個模塊與圖1A的安全接口服務(wù)器180中的同名對應(yīng)部分完全相同,除了安全接口服務(wù)器180B(圖3B)的跨域策略138B限制安全接口服務(wù)器180B與其源URL是請求模塊服務(wù)器300的域的那些程序之間的交互。
[0118]如圖3B所示,請求模塊服務(wù)器300將通常具有一個或多個處理單元(CPU) 302、網(wǎng)絡(luò)或其他通信接口 310、存儲器314、一個或多個控制器318可選地訪問的一個或多個磁盤存儲和/或永久性裝置320、用于將前述組件互連的一個或多個通信總線312和用于對前述組件供電的電源324??梢允褂萌绺咚倬彺娴墓嬎慵夹g(shù)與非易失性存儲器320無縫地共享存儲器314中的數(shù)據(jù)。存儲器314和/或存儲器320可以包括相對于中央處理單元302處于遠程位置的海量存儲裝置。換言之,存儲器314和/或存儲器320中存儲的一些數(shù)據(jù)實際可以托管在請求模塊服務(wù)器300外部但是能夠被請求模塊服務(wù)器300通過因特網(wǎng)、內(nèi)聯(lián)網(wǎng)或其他形式的網(wǎng)絡(luò)或電纜(如圖3B中的元件126所示)使用網(wǎng)絡(luò)接口 310以電子方式訪問的計算機上。
[0119]存儲器314優(yōu)選地存儲:
[0120]?操作系統(tǒng)330,其包括用于處理各種基本系統(tǒng)服務(wù)和用于執(zhí)行硬件相關(guān)任務(wù)的過程;
[0121]?網(wǎng)絡(luò)通信模塊332,其用于經(jīng)由一個或多個通信網(wǎng)絡(luò)(如因特網(wǎng)、其他廣域網(wǎng)、局域網(wǎng)(例如,無線局域網(wǎng)能夠?qū)⒖蛻舳搜b置100連接到請求模塊服務(wù)器300)、城域網(wǎng)等)將請求模塊服務(wù)器300連接到如客戶端裝置100 (圖3A)的各種客戶端計算機以及可能地連接到其他服務(wù)器或計算機(如交易服務(wù)器200和安全接口服務(wù)器180);
[0122]?交易請求模塊服務(wù)應(yīng)用334,其用于從客戶端裝置100接收請求并響應(yīng)于此而提供請求模塊36 ;
[0123]?跨域策略336,其指定請求模塊服務(wù)器300可以與哪些計算機/域交互;
[0124]?交易數(shù)據(jù)庫140/240,其用于存儲安全應(yīng)用內(nèi)交易的記錄;以及
[0125]?有效應(yīng)用憑證的數(shù)據(jù)庫142。
[0126]參考圖4,描述根據(jù)本發(fā)明公開的第二實施例的示范方法。該方法詳述根據(jù)本發(fā)明公開的第二實施例安全接口服務(wù)器180B、客戶端裝置100、交易服務(wù)器200和請求模塊服務(wù)器300交互地服務(wù)于交易時所采取的步驟。
[0127]步驟402-406。圖4中公開的方法(實施例2)通過要求在客戶端應(yīng)用34B被調(diào)用時客戶端應(yīng)用34B從請求模塊服務(wù)器300獲取請求模塊36來使圖2的方法(實施例1)更進一步。在圖1中公開的實施例中,客戶端應(yīng)用34B已經(jīng)具有此請求模塊36的副本。在客戶端應(yīng)用34/34B是FLASH應(yīng)用的一些實施例中,在實施例1(圖1)中,請求模塊36是已編譯的SWC文件,而在實施例2中,請求模塊36是SWF文件。
[0128]在步驟402中,客戶端裝置100B從本地數(shù)據(jù)存儲或從遠程應(yīng)用服務(wù)器調(diào)用客戶端應(yīng)用34B。在客戶端應(yīng)用34B被調(diào)用時,客戶端應(yīng)用34B不包括用于促進應(yīng)用內(nèi)安全交易的請求模塊36。在步驟404中,客戶端應(yīng)用34B通過請求來自請求模塊服務(wù)器300的請求模塊36來發(fā)起交易。在步驟406中,響應(yīng)于步驟404的請求,交易請求模塊服務(wù)應(yīng)用334處理該請求,并將請求模塊36發(fā)送到客戶端裝置100。在步驟406的一些實施例中,交易請求模塊服務(wù)應(yīng)用334僅在客戶端應(yīng)用34B提供交易請求模塊服務(wù)應(yīng)用334根據(jù)有效應(yīng)用憑證的數(shù)據(jù)庫142查證的應(yīng)用憑證的情況下才向客戶端應(yīng)用34B提供請求模塊36。
[0129]步驟408。在步驟408中,客戶端應(yīng)用34B在與將請求模塊服務(wù)器300識別為其源URL的程序關(guān)聯(lián)并限制于這些程序的單獨的域相關(guān)安全性沙盒(第一沙盒)中執(zhí)行請求模塊36。例如,在一些實施例中,客戶端應(yīng)用34B是FLASH程序,并且請求模塊36采用由客戶端應(yīng)用34B在步驟408期間加載并執(zhí)行的SWF文件的形式。在此類實施例中,客戶端應(yīng)用34B查詢請求模塊36以確定其源URL。在本實例中,請求模塊36的源URL是請求模塊服務(wù)器300的URL。因此,客戶端應(yīng)用34B在專用于來自請求模塊服務(wù)器300的域中的程序的域相關(guān)安全性沙盒中加載并執(zhí)行請求模塊36。換言之,在步驟408期間,客戶端應(yīng)用34B執(zhí)行請求模塊36,使得請求模塊36被加載到存儲器內(nèi)的單獨的域相關(guān)安全性沙盒中,其中(i)該單獨的域相關(guān)安全性沙盒與客戶端應(yīng)用34B運行所在的存儲器中的存儲空間隔離開,(?)該單獨的域相關(guān)安全性沙盒與將其源URL識別為請求模塊服務(wù)器300的域的程序關(guān)聯(lián)且限制于這些程序,(iii)由客戶端應(yīng)用34B執(zhí)行請求模塊36,使得請求模塊36的源URL的身份不被改變或破壞,并且(iv)該請求模塊不授權(quán)客戶端應(yīng)用34B來檢查請求模塊36。因此,有利地,即使請求模塊36被客戶端應(yīng)用34B加載,請求模塊36仍能夠以安全方式在客戶端裝置100B上運行。客戶端應(yīng)用34B不能檢查請求模塊36。換言之,客戶端應(yīng)用34B不能讀取由請求模塊36存儲的任何值。
[0130]步驟410。在客戶端應(yīng)用34B在客戶端裝置100B上運行時的某個時間點,客戶端應(yīng)用34B調(diào)用請求模塊36以產(chǎn)生對安全應(yīng)用內(nèi)交易的請求。通常,該安全應(yīng)用內(nèi)請求包含應(yīng)用憑證、標識客戶端應(yīng)用34B用戶的信息和唯一交易標識符。在典型實施例中,應(yīng)用憑證、標識客戶端應(yīng)用34B的用戶的信息和唯一交易標識符的格式根據(jù)安全接口服務(wù)器180B和/或交易服務(wù)器200的需求來預(yù)先確定。不管如何實現(xiàn),標識客戶端應(yīng)用34B的用戶的信息向安全接口服務(wù)器180B和/或交易服務(wù)器200和/或請求模塊服務(wù)器300唯一地標識用戶。相似地,在優(yōu)選實施例中,唯一交易標識符唯一地標識由客戶端應(yīng)用34B的用戶執(zhí)行的一個應(yīng)用內(nèi)交易。
[0131]因此,概括地來說,當(dāng)步驟410完成時,存在通過客戶端應(yīng)用34B和關(guān)聯(lián)的請求模塊36在客戶端應(yīng)用34B在客戶端裝置100B上執(zhí)行時生成與安全應(yīng)用內(nèi)交易關(guān)聯(lián)的請求,其中該請求包含(i)該客戶端應(yīng)用34B的憑證,(ii)該客戶端應(yīng)用34B的用戶的標識,以及
(iii)唯一地標識該請求的交易標識符。通過因特網(wǎng)或計算機網(wǎng)絡(luò)將對安全應(yīng)用內(nèi)交易的請求提交到安全接口服務(wù)器180B。這里,不同于第一實施例,安全接口服務(wù)器180B具有限制性跨域策略138B,其要求與安全接口服務(wù)器180B交互的應(yīng)用具有為請求模塊服務(wù)器300的域的源URL。在一些實施例中,尤其是在步驟404中已將應(yīng)用憑證呈交到請求模塊服務(wù)器300的實施例中,在步驟410中發(fā)送并且在步驟412中處理的請求可沒有應(yīng)用憑證。在一些實施例中,在步驟410中發(fā)送并且在步驟412中處理的請求可沒有客戶端應(yīng)用34B的用戶的身份。
[0132]步驟412。正如上文參考步驟410所論述的,在安全接口服務(wù)器180B上運行的交易模塊服務(wù)應(yīng)用134通過因特網(wǎng)或計算機網(wǎng)絡(luò)接收帶有標識應(yīng)用用戶的信息(可選)、唯一交易標識符和應(yīng)用憑證(可選)的對安全應(yīng)用內(nèi)交易的請求。在一些實施例中,在步驟412接收的請求不包含用戶的身份。在此類實施例中,用戶的身份僅由交易模塊38B傳送到交易服務(wù)器200的交易服務(wù)器模塊234。
[0133]步驟414。在步驟414的一些實施例中,根據(jù)有效應(yīng)用憑證的數(shù)據(jù)庫142查證客戶端應(yīng)用34B的應(yīng)用憑證。在一些實施例中,此查證已在步驟406中執(zhí)行。在一些實施例中,此查證在步驟414和步驟406中均執(zhí)行。在一些實施例中,有效應(yīng)用憑證的數(shù)據(jù)庫142包含可以使用安全接口服務(wù)器180B和交易服務(wù)器200來執(zhí)行安全交易的每個合法的應(yīng)用開發(fā)者的標識。在步驟414中,進行附加的檢查以確保請求模塊36的源URL根據(jù)安全接口服務(wù)器180B的跨域策略138B被查證。
[0134]步驟416。如果在步驟412中隨接收的應(yīng)用請求提供的應(yīng)用憑證未通過查證和/或請求模塊36的源URL不是請求模塊服務(wù)器300的域的URL (416-否),則交易結(jié)束418于失敗。在未示出的一些實施例中,向客戶端應(yīng)用34B通知此失敗。在未示出的一些實施例中,向應(yīng)用開發(fā)者通知此失敗。如果步驟412中隨接收的應(yīng)用請求提供的應(yīng)用憑證通過查證且請求應(yīng)用36的源URL是請求模塊服務(wù)器300的域的URL (416-是),則過程控制傳遞到圖2A的步驟214。換言之,第二實施例包括第一實施例的步驟214至步驟234。
[0135]步驟460至步驟466。交易模塊38在客戶端裝置100B上的其自己的域相關(guān)安全性沙盒中運行,并且交易模塊38不授權(quán)客戶端應(yīng)用34B來檢查。因此,客戶端應(yīng)用34B不直接從交易模塊38來查明應(yīng)用內(nèi)交易是否已完成,更不用說查明應(yīng)用內(nèi)交易是否已成功完成了,使得用戶將被賦予與應(yīng)用內(nèi)交易關(guān)聯(lián)的任何特權(quán)(例如,更多游戲點數(shù)等)。因此,與前文提到的步驟的其中一些或全部并發(fā)地或在所有前文提到的步驟已完成之后,客戶端應(yīng)用34B使用請求模塊服務(wù)器300輪詢交易數(shù)據(jù)庫140/240以確定交易的狀態(tài)。
[0136]要認識到,雖然安全接口服務(wù)器180B、交易服務(wù)器200和請求模塊服務(wù)器300各有權(quán)訪問交易數(shù)據(jù)庫140/240,但是在實施例2中,請求模塊服務(wù)器300具有寬容性跨域策略336,而交易服務(wù)器200具有限制性跨域策略236且安全接口服務(wù)器180B具有限制性跨域策略138B。因此,除非客戶端應(yīng)用34的源URL是安全接口服務(wù)器180B的URL,否則客戶端應(yīng)用34B將無法直接與交易服務(wù)器200交互。此外,除非客戶端應(yīng)用34的源URL是請求模塊服務(wù)器300的URL,否則客戶端應(yīng)用34B將無法直接與安全接口服務(wù)器180B交互。因此,在此類實例中,客戶端應(yīng)用34B將無法使用交易服務(wù)器200或安全接口服務(wù)器180B輪詢交易數(shù)據(jù)庫140/240。
[0137]在典型實施例中,客戶端應(yīng)用34B定期(例如,每分鐘、每五分鐘、每半小時等)輪詢請求模塊服務(wù)器300上的交易數(shù)據(jù)庫140/240,直到交易數(shù)據(jù)庫140/240指示交易完成為止。在典型實施例中,此查詢非常有限。在典型實施例中,客戶端應(yīng)用34B提供唯一交易標識符和應(yīng)用憑證。如果根據(jù)有效應(yīng)用憑證的數(shù)據(jù)庫142,該應(yīng)用憑證是有效的,則通過因特網(wǎng)或計算機網(wǎng)絡(luò)將與客戶端應(yīng)用34B提供的交易標識符唯一地關(guān)聯(lián)的交易的狀態(tài)發(fā)送回在客戶端裝置100B上運行的客戶端應(yīng)用34B。在典型實施例中,客戶端應(yīng)用34B不被允許從交易數(shù)據(jù)庫140/240獲取個人信息。
[0138]引用的參考文獻和替代實施例
[0139]本文引用的所有參考文獻通過引用方式全部且為了所有目的并入本文,與專門且個別地指示通過引用方式將每個個體出版物或?qū)@驅(qū)@暾埲壳覟榱怂心康牟⑷氡疚牡那樾蔚某潭认嗤?br>
[0140]本發(fā)明可以作為計算機程序產(chǎn)品來實現(xiàn),該計算機程序產(chǎn)品包括嵌入計算機可讀存儲介質(zhì)中的計算機程序機構(gòu)。例如,該計算機程序產(chǎn)品可以包括圖1和/或圖3所示的程序模塊。這些程序模塊可以存儲在⑶_R0M、DVD、磁盤存儲產(chǎn)品或任何其他有形計算機可讀數(shù)據(jù)或程序存儲產(chǎn)品上。
[0141]在不背離本發(fā)明的精神和范圍的前提下,可以實現(xiàn)本發(fā)明的多種修改和變化,正如本領(lǐng)域技術(shù)人員將顯見到的。本文描述的特定實施例是僅作為示例來提供的。選擇和描述這些實施例是為了最佳地解釋本發(fā)明的原理及其實際應(yīng)用,以便使本領(lǐng)域技術(shù)人員能夠通過適于所設(shè)想的具體用途的各種修改來最佳地利用本發(fā)明及各種實施例。本發(fā)明將僅依據(jù)權(quán)利要求書連同此權(quán)利要求書授權(quán)的等效物的全部范圍來被限定。
【權(quán)利要求】
1.一種用于促進安全交易的系統(tǒng),包括: 用于執(zhí)行客戶端應(yīng)用的裝置; 用于通過所述客戶端應(yīng)用生成與安全應(yīng)用內(nèi)交易關(guān)聯(lián)的請求的裝置; 用于將對所述安全應(yīng)用內(nèi)交易的所述請求提交到第一域的裝置; 用于從所述第一域接收已驗證的交易模塊的裝置,其中將所述交易模塊的源URL識別為所述第一域; 用于促使所述客戶端應(yīng)用執(zhí)行所述已驗證的交易模塊,使得所述已驗證的交易模塊被加載到存儲器內(nèi)單獨的安全存儲空間中的裝置,其中 所述單獨的安全存儲空間與所述客戶端應(yīng)用運行所在的所述存儲器中的存儲空間隔離開, 所述單獨的安全存儲空間與將其源URL識別為所述第一域的程序關(guān)聯(lián)且限制于所述程序, 執(zhí)行所述已驗證的交易模塊,使得所述已驗證的交易模塊的源URL的身份不會被改變或破壞,并且 所述已驗證的交易模塊不授權(quán)所述客戶端應(yīng)用來檢查所述已驗證的交易模塊; 用于發(fā)出對第二域的交易調(diào)用的裝置;以及 用于執(zhí)行所述第二域與所述已驗證的交易模塊之間的已驗證的交易的裝置。
2.如權(quán)利要求1所述的系統(tǒng),其中當(dāng)執(zhí)行所述客戶端應(yīng)用時,所述客戶端應(yīng)用顯示在屏幕區(qū)域的一部分上并且其中所述已驗證的交易模塊顯示在所述屏幕區(qū)域的所述一部分的子集上。
3.如權(quán)利要求1所述的系統(tǒng),其中所述安全應(yīng)用內(nèi)交易是使用與所述客戶端應(yīng)用的用戶的身份關(guān)聯(lián)的帳戶購買游戲內(nèi)升級的游戲內(nèi)交易。
4.如權(quán)利要求3所述的系統(tǒng),其中所述游戲內(nèi)升級是級別解鎖、購買虛擬裝備、購買虛擬特殊兵器、購買作弊器或購買虛擬貨幣。
5.如權(quán)利要求1所述的系統(tǒng),其中所述客戶端應(yīng)用是社交網(wǎng)絡(luò)應(yīng)用、金融服務(wù)應(yīng)用、記賬應(yīng)用或稅務(wù)申報應(yīng)用。
6.如權(quán)利要求1所述的系統(tǒng),其中所述第一域和所述第二域由同一服務(wù)器托管。
7.如權(quán)利要求1所述的系統(tǒng),其中所述第一域和所述第二域各由單獨的服務(wù)器托管。
8.如權(quán)利要求1所述的系統(tǒng),其中所述客戶端應(yīng)用是FLASH應(yīng)用,并且其中所述已驗證的交易模塊是在所述已驗證的交易模塊的執(zhí)行期間由所述客戶端應(yīng)用加載的FLASH SffF應(yīng)用。
9.如權(quán)利要求1所述的系統(tǒng),其中對所述安全應(yīng)用內(nèi)交易的所述請求包括: (i)所述客戶端應(yīng)用的憑證; (ii)唯一地標識所述請求的交易標識符。
10.一種用于促進安全交易的方法,包括: 在一個或多個計算設(shè)備上執(zhí)行客戶端應(yīng)用; 由所述一個或多個計算設(shè)備通過所述客戶端應(yīng)用生成對安全應(yīng)用內(nèi)交易的請求;由所述一個或多個計算設(shè)備將對所述安全應(yīng)用內(nèi)交易的所述請求提交到具有非限制性第一跨域策略的第一域; 由所述一個或多個計算設(shè)備從所述第一域接收已驗證的交易模塊,其中將所述交易模塊的源URL識別為所述第一域; 由所述一個或多個計算設(shè)備促使所述客戶端應(yīng)用執(zhí)行所述已驗證的交易模塊,使得所述已驗證的交易模塊在單獨的安全存儲空間中執(zhí)行; 在所述已驗證的交易模塊在所述一個或多個計算設(shè)備的所述單獨的安全存儲空間中執(zhí)行時,從所述已驗證的交易模塊發(fā)出對第二域的交易調(diào)用,其中所述第二域具有第二跨域策略,所述第二跨域策略將所述第二域與所述第二域外部的程序之間的交互限制于其源URL是所述第一域的那些外部程序; 由所述一個或多個計算設(shè)備執(zhí)行所述第二域與所述已驗證的交易模塊之間的已驗證的交易;以及 由所述一個或多個計算設(shè)備確定所述交易已完成。
11.如權(quán)利要求10所述的方法,其中在執(zhí)行所述客戶端應(yīng)用時,所述客戶端應(yīng)用顯示在屏幕區(qū)域的一部分上,并且其中所述已驗證的交易模塊顯示在所述屏幕區(qū)域的所述一部分的子集上。
12.如權(quán)利要求10所述的方法,其中所述安全應(yīng)用內(nèi)交易是使用與所述客戶端應(yīng)用的用戶的身份關(guān)聯(lián)的帳戶購買游戲內(nèi)升級的游戲內(nèi)交易。
13.如權(quán)利要求12所述的方法,其中所述游戲內(nèi)升級是級別解鎖、購買虛擬裝備、購買虛擬特殊兵器、購買作弊器或購買虛擬貨幣。
14.如權(quán)利要求10所述的方法,其中所述客戶端應(yīng)用是社交網(wǎng)絡(luò)應(yīng)用、金融服務(wù)應(yīng)用、記賬應(yīng)用或稅務(wù)申報應(yīng)用。
15.如權(quán)利要求10所述的方法,其中所述第一域和所述第二域由同一服務(wù)器托管。
16.如權(quán)利要求10所述的方法,其中所述第一域和所述第二域各由單獨的服務(wù)器托管。
17.如權(quán)利要求10所述的方法,其中所述客戶端應(yīng)用是FLASH應(yīng)用,并且其中所述已驗證的交易模塊是在所述已驗證的交易模塊的執(zhí)行期間由所述客戶端應(yīng)用加載的FLASH SffF應(yīng)用,使得所述已驗證的交易模塊在所述單獨的安全存儲空間中執(zhí)行。
18.如權(quán)利要求10所述的方法,其中對所述安全應(yīng)用內(nèi)交易的所述請求包括: (i)所述客戶端應(yīng)用的憑證; (ii)唯一地標識所述請求的交易標識符。
19.一種用于促進安全交易的系統(tǒng),包括: 用于由計算機系統(tǒng)通過客戶端應(yīng)用生成對安全應(yīng)用內(nèi)交易的請求的裝置; 用于由所述計算機系統(tǒng)將對所述安全應(yīng)用內(nèi)交易的所述請求提交到第一域的裝置; 用于由所述計算機系統(tǒng)從所述第一域接收已驗證的交易模塊的裝置; 用于由所述計算機系統(tǒng)促使所述客戶端應(yīng)用執(zhí)行所述已驗證的交易模塊,使得所述已驗證的交易模塊加載到單獨的安全存儲空間中的裝置; 用于由所述計算機系統(tǒng)發(fā)出對第二域的交易調(diào)用的裝置;以及用于由所述計算機系統(tǒng)執(zhí)行所述第二域與所述已驗證的交易模塊之間的已驗證的交易的裝置。
20.如權(quán)利要求19所述的系統(tǒng),其中在執(zhí)行所述客戶端應(yīng)用時,所述客戶端應(yīng)用顯示在屏幕區(qū)域的一部分上,并且其中所述已驗證的交易模塊顯示在所述屏幕區(qū)域的所述一部分的子集上。
21.如權(quán)利要求19所述的系統(tǒng),其中所述安全應(yīng)用內(nèi)交易是使用與用戶的身份關(guān)聯(lián)的帳戶購買游戲內(nèi)升級的游戲內(nèi)交易。
22.如權(quán)利要求21所述的系統(tǒng),其中所述游戲內(nèi)升級是級別解鎖、購買虛擬裝備、購買虛擬特殊兵器、購買作弊器或購買虛擬貨幣。
23.如權(quán)利要求19所述的系統(tǒng),其中所述客戶端應(yīng)用是社交網(wǎng)絡(luò)應(yīng)用、金融服務(wù)應(yīng)用、記賬應(yīng)用或稅務(wù)申報應(yīng)用。
24.如權(quán)利要求19所述的系統(tǒng),其中對所述安全應(yīng)用內(nèi)交易的所述請求包括: (i)所述客戶端應(yīng)用的憑證; (ii)唯一地標識所述請求的交易標識符。
25.如權(quán)利要求19所述的系統(tǒng),其中所述第一域和所述第二域由同一服務(wù)器托管。
26.如權(quán)利要求19所述的系統(tǒng),其中所述第一域和所述第二域各由單獨的服務(wù)器托管。
27.如權(quán)利要求19所述的系統(tǒng),其中所述客戶端應(yīng)用是FLASH應(yīng)用,并且其中所述已驗證的交易模塊是在所述已驗證的交易模塊的執(zhí)行期間由所述客戶端應(yīng)用加載的FLASH SffF應(yīng)用,使得所述已驗證的交易模塊加載到所述單獨的安全存儲空間中。
28.一種用于促進安全交易的方法,包括: 由一個或多個計算設(shè)備通過客戶端應(yīng)用生成與安全應(yīng)用內(nèi)交易關(guān)聯(lián)的第一請求;由所述一個或多個計算設(shè)備將對所述安全應(yīng)用內(nèi)交易的所述第一請求提交到具有非限制性第一跨域策略的第一域; 由所述一個或多個計算設(shè)備接收請求模塊; 由所述一個或多個計算設(shè)備促使所述客戶端應(yīng)用執(zhí)行所述請求模塊,使得所述請求模塊加載到第一安全存儲空間中; 由所述一個或多個計算設(shè)備生成與所述安全應(yīng)用內(nèi)交易關(guān)聯(lián)的第二請求; 由所述一個或多個計算設(shè)備將對所述安全應(yīng)用內(nèi)交易的所述第二請求提交到第二域; 由所述一個或多個計算設(shè)備從所述第二域接收交易模塊,其中將所述交易模塊的源URL識別為所述第二域; 由所述一個或多個計算設(shè)備促使所述客戶端應(yīng)用執(zhí)行所述交易模塊,使得所述交易模塊加載到第二安全存儲空間中; 由所述一個或多個計算設(shè)備在所述交易模塊在所述第二安全存儲空間中執(zhí)行時,從所述交易模塊發(fā)出對第三域的交易調(diào)用;以及 由所述一個或多個計算設(shè)備執(zhí)行所述第三域與所述交易模塊之間的已驗證的交易。
29.如權(quán)利要求28所述的方法,進一步包括由所述一個或多個計算設(shè)備執(zhí)行所述客戶端應(yīng)用。
30.如權(quán)利要求28所述的方法,其中所述安全應(yīng)用內(nèi)交易是使用與所述用戶的身份關(guān)聯(lián)的帳戶購買游戲內(nèi)升級的游戲內(nèi)交易。
31.如權(quán)利要求30所述的方法,其中所述游戲內(nèi)升級是級別解鎖、購買虛擬裝備、購買虛擬特殊兵器、購買作弊器或購買虛擬貨幣。
32.如權(quán)利要求28所述的方法,其中所述客戶端應(yīng)用是社交網(wǎng)絡(luò)應(yīng)用、金融服務(wù)應(yīng)用、記賬應(yīng)用或稅務(wù)申報應(yīng)用。
33.如權(quán)利要求28所述的方法,其中所述第一域、所述第二域和所述第三域由同一服務(wù)器托管。
34.如權(quán)利要求28所述的方法,其中所述第一域和所述第二域各由單獨的服務(wù)器托管。
35.如權(quán)利要求28所述的方法,其中所述客戶端應(yīng)用是FLASH應(yīng)用,并且其中所述交易模塊是在所述交易模塊的執(zhí)行期間由所述客戶端應(yīng)用加載的FLASH SffF應(yīng)用。
【文檔編號】G07F7/08GK104281947SQ201410498182
【公開日】2015年1月14日 申請日期:2011年5月26日 優(yōu)先權(quán)日:2010年5月26日
【發(fā)明者】赫曼特·馬德哈·巴努, 盧克·巴耶斯, 阿蘭·斯特凡·米爾斯 申請人:谷歌公司