源自客戶端的信息的差異客戶端側加密的制作方法
【專利摘要】一種方法可以包括:分配多個公鑰,其中每個相應的公鑰都被分配給許多實體中的相應的實體;存儲多個私鑰,其中每個相應的私鑰都對應于相應的公鑰;存儲一個或多個解密算法,其中每個相應的解密算法都被配置為對使用所述加密算法中的至少一個加密算法先前加密的數據進行解密。每個相應的加密算法都可以被配置為使用至少一個公鑰來對數據進行加密。每個相應的解密算法都可以被配置為使用至少一個私鑰來對數據進行解密。所述方法可以包括接收加密的數據,其中所述加密的數據使用第一公鑰和第一加密算法被加密,并且所述加密的數據通過網絡來提供。
【專利說明】源自客戶端的信息的差異客戶端側加密
[0001]相關申請
[0002]本申請要求于2011年9月30日提交的題為“Systems and Methods forDifferential Client-Side Encrypt1n of Informat1n Originating from a Client,,的美國臨時申請N0.61/541,875的優先權,其全部內容通過引用結合于此。
[0003]直量
[0004]諸如個人數據和其它敏感信息的信息可以通過例如網絡,諸如互聯網傳遞以提供憑證信息,付款信息或者個人賬戶管理信息。為保護敏感信息,信息可以通過安全傳輸連接,諸如傳輸層安全(TLS)或安全套接層(SSL)來傳輸。
[0005]為保護信息面授非法審查,信息可以數字加密。數字加密的一個示例是公鑰密碼。在公鑰密碼方案中,兩個分離的但是算數上連接的秘鑰(例如,數值)被用來保護信息。首先,公鑰被用來使用加密算法加密數據。其次,公鑰被用來使用數據接收器來解密加密信息。接收器向發送器提供公鑰,使得發送器能夠安全地將信息發送到接收器。
[0006]敏感信息的接收器有義務好不用戶的隱私免受對敏感信息的非法訪問。如果信息是保密的(例如只是僅有指定方本該訪問的信息的工業和/或專業標準),則信息是敏感的。如果一方因為信息暴露而承擔處理信息的監管義務,則信息是敏感的。如果一方由于信息處理和/或信息暴露而招致潛在義務,信息可以是敏感的。
[0007]在某些情況下,敏感信息的接收器可以從用戶請求,不由請求者使用,但是由諸如信用卡系統或健康保險授權系統的第三方處理的敏感信息。存在對于能夠使得敏感信息在沒有請求者訪問傳輸內容的情況下通過訪問者的系統傳輸的方法和設備的要求。如果請求者不能提出和/或解釋敏感信息,請求者可以避免保護敏感信息的義務。
【發明內容】
[0008]在一個方面,本公開內容涉及包括通過第一計算設備的處理器來分配許多公鑰的方法,其中許多公鑰中的每個相應的公鑰都被分配給許多實體中的相應的實體。所述方法可以包括將許多私鑰存儲在第一計算設備的存儲器中,其中許多私鑰中的每個相應的私鑰都對應于許多公鑰中的相應的公鑰。所述方法可以包括將一個或多個解密算法存儲在第一計算設備的存儲器中,其中所述一個或多個解密算法中的每個相應的解密算法都被配置為對使用一個或多個加密算法中的至少一個加密算法先前加密的數據進行解密。所述一個或多個加密算法中的每個相應的加密算法都可以被配置為使用許多公鑰中的至少一個公鑰來對數據進行加密。所述一個或多個解密算法中的每個相應的解密算法都可以被配置為使用許多私鑰中的至少一個私鑰來對數據進行解密。所述方法可以包括接收加密的數據,其中加密的數據使用許多公鑰中的第一公鑰和所述一個或多個加密算法中的第一加密算法被加密,并且加密的數據通過網絡來提供。所述方法可以包括通過第一計算設備的處理器來確定許多私鑰中的第一私鑰,其中第一私鑰對應于第一公鑰,并且第一公鑰被分配給許多實體中的第一實體。所述方法可以包括通過第一計算設備的處理器來使用第一私鑰和所述一個或多個解密算法中的至少一個解密算法來對加密的數據進行解密,其中解密的數據通過對加密的數據進行解密來獲得。所述方法可以包括提供所述解密的數據的一部分以供處理引擎處理,其中第二計算設備包括處理引擎。所述方法可以包括接收由處理引擎所生成的處理結果,其中處理結果涉及所述解密的數據的部分。所述方法可以包括通過網絡來將處理結果提供給第一實體。
[0009]在一些實施例中,所述方法可以進一步包括,在提供所述解密的數據的部分以供處理引擎處理之前,通過第一計算設備的處理器來對用于處理的解密的數據進行排隊。
[0010]所述方法可以進一步包括:在接收加密的數據之前,接收對第一加密算法的下載請求,其中下載請求跨越網絡被從第三計算設備接收;以及經由網絡將第一加密算法提供給第三計算設備。下載請求可以包括超文本傳輸協議請求。所述方法可以包括將一個或多個加密算法作為一個或多個加密子程序存儲在第一計算設備的存儲器中,其中提供第一加密算法包括提供所述一個或多個加密子程序中的第一加密子程序,其中第一加密子程序包括第一加密算法。第一加密子程序可以包括運行時解釋的指令。
[0011]在一些實施例中,所述方法可以包括將所述解密的數據和所述加密的數據中的至少一個存儲在第一計算設備可訪問的存儲檔案中。所述方法可以包括:通過網絡接收未加密的數據,其中未加密的數據與加密的數據相關;以及提供未加密的數據的一部分以供處理引擎處理,其中未加密的數據的部分提供有所述解密的數據的部分。
[0012]在一些實施例中,所述方法可以進一步包括通過網絡接收待對加密的數據執行的處理的類型的指示,其中處理的類型的指示通過由第一實體所控制的第三計算設備來提供。處理的類型可以包括信用卡授權和后端檢查中的至少一個。加密的數據可以包括信用卡信息、醫療歷史信息、社會安全號、銀行賬號以及駕駛執照號中的一個或多個。加密的數據可以通過網絡從由第一實體所控制的第三計算設備來提供,并且第一實體也許不能對加密的數據進行加密。
[0013]在一個方面,本公開內容描述了包括以下各項的方法:將一個或多個加密算法存儲在第一計算設備的存儲器中;跨越網絡將一個或多個加密算法中的第一加密算法提供給請求者;以及將一個或多個解密算法存儲在第一計算設備的存儲器中,其中所述一個或多個解密中的每個相應的加密算法都被配置為對使用所述一個或多個加密算法中的至少一個加密算法先前加密的數據進行解密。所述方法可以包括接收處理請求,其中處理請求包括加密的數據、非加密的數據以及要被執行的處理的類型的指示,其中處理請求通過網絡從由實體所控制的第二計算設備來提供,并且加密的數據使用第一加密算法被加密。所述方法可以包括:通過第一計算設備的處理器來確定加密的數據與實體相關聯;通過第一計算設備的處理器來確定所述一個或多個解密算法中的第一解密算法;通過第一計算設備的處理器來使用第一解密算法對加密的數據進行解密,其中解密的數據通過對加密的數據進行解密來獲得;通過第一計算設備的處理器來確定被配置為使用處理的類型來處理解密的數據的處理引擎;以及經由第二網絡將解密的數據的一部分和未解密的數據的一部分提供給第三計算設備,其中第三計算設備包括處理引擎。所述方法可以包括從第三計算設備接收處理結果,以及將處理結果提供給第二計算設備。
[0014]在一些實施例中,第一加密算法可以是非對稱加密算法。所述方法可以進一步包括:通過第一計算設備的處理器來將公鑰分配給實體;將公鑰提供給第二計算設備,其中加密的數據使用公鑰被加密;以及將私鑰存儲在第一計算設備的存儲器中。私鑰可以與公鑰配對,并且對加密的數據進行解密可以包括使用私鑰進行解密。
[0015]在本公開內容的一個方面,方法可以包括:將一個或多個加密算法作為一個或多個加密子程序存儲在第一計算設備的存儲器中;經由網絡接收對所述一個或多個加密子程序中的第一加密子程序的下載請求;經由網絡提供第一加密子程序;以及經由網絡接收處理請求,其中處理請求包括加密的數據,其中加密的數據使用第一加密子程序被加密。所述方法可以包括:通過第一計算設備的處理器來確定加密的數據與實體相關聯;通過第一計算設備的處理器來確定第一解密算法,其中第一解密算法被配置為對加密的數據進行加密;通過第一計算設備的處理器來使用第一解密算法對加密的數據進行解密,其中解密的數據通過對加密的數據進行解密來獲得;所述方法可以包括:通過第一計算設備的處理器來確定用于處理解密的數據的處理引擎;經由第二網絡將解密的數據的一部分提供給第二計算設備,其中第二計算設備包括處理引擎;從第二計算設備接收處理結果;以及跨越網絡將處理結果提供給第三計算設備,其中第三計算設備被實體控制。
[0016]可以從第三計算設備接收處理請求。處理結果可以包括批準和拒絕中的至少一個的指示。可以從由終端用戶所控制的第四計算設備接收下載請求,其中第四計算設備不同于第二計算設備和第三計算設備。
[0017]在一個方面,本公開內容描述了一種方法,其包括:接收由服務提供商分配以供實體使用的公鑰,其中服務提供商維護與公鑰配對的私鑰;通過第一計算設備的處理器來確定包括公鑰的交互程序;為終端用戶提供交互程序,其中交互程序被配置為使得第二計算設備的處理器能夠使用公鑰來對數據進行加密,其中第二計算設備被終端用戶控制;所述方法可以包括:跨越第一網絡從第二計算設備接收加密的數據,其中第二計算設備的處理器使用公鑰對加密的數據進行加密了 ;跨越第二網絡將加密的數據轉發到服務提供商,其中服務提供商被配置為確定私鑰并且對加密的數據進行加密,以及第一計算設備無法訪問未加密的數據;以及從服務提供商接收與加密的數據的解密相關的處理結果。
[0018]交互程序可以是移動計算設備應用,并且第二計算設備可以是移動計算設備,其中移動計算設備應用被配置為安裝在第二計算設備的處理器上。
[0019]交互程序可以包含指令,所述指令當被執行時,使第二計算設備的處理器使用公鑰來對數據進行加密。交互程序可以包含指令,所述指令當被執行時,使第二計算設備的處理器從實體和服務提供商中的一個下載加密子程序。交互程序可以包括能夠在互聯網瀏覽器應用內被呈現的指令。所述方法可以進一步包括將結果信息提供給第二計算設備,其中結果信息被配置用于呈現在第二計算設備的顯示屏上。
[0020]在一個方面,本公開內容描述了包括接收一個或多個加密算法和公鑰的方法,其中一個或多個加密算法被配置為使用公鑰來對數據進行加密以獲得加密的數據,其中加密的數據被配置為使用與公鑰配對的私鑰被解密,并且一個或多個加密算法和公鑰由服務提供商通過網絡來提供,其中服務提供商分配了公鑰以供實體使用,并且服務提供商存儲私鑰。所述方法可以包括:通過第一計算設備的處理器來生成包括所述一個或多個加密算法和公鑰的移動設備應用;提供移動設備應用以供通過網絡下載;以及接收加密的數據,其中數據由移動計算設備的處理器通過一個或多個加密算法和公鑰被加密,其中移動設備應用被安裝在移動計算設備上。所述方法可以包括將加密的數據轉發到第二計算設備,其中第二計算設備被服務提供商控制,并且服務提供商被配置為對加密的數據進行解密以獲得解密的數據,以及管理所述解密的數據的處理以獲得處理結果。所述方法可以包括從第二計算設備接收處理結果。
[0021]在一些實施例中,所述方法可以進一步包括:通過第三計算設備的處理器來生成結果信息,其中結果信息是基于處理結果的;以及經由網絡將結果信息提供給在移動計算設備上執行的移動設備應用。第一計算設備可以是第三計算設備。
[0022]所述方法可以進一步包括將處理類型的指示提供給第二計算設備,其中處理類型與加密的數據相關聯,并且服務提供商基于處理類型來管理解密的數據的處理。
【專利附圖】
【附圖說明】
[0023]通過參考一下說明并結合附圖,本公開的上述和其它目的、方面、特征和優點將更加明顯和容易理解,其中:
[0024]圖1是用于實現源自客戶的信息的客戶端加密的示例系統的框圖;
[0025]圖2A是用于在支付處理環境中實現源自客戶的信息的客戶端加密的示例系統的框圖;
[0026]圖2B是通過系統(諸如圖2A的系統)實現客戶端加密的示例操作流程的泳道圖;
[0027]圖3是用于提供和使用實現信息的客戶端加密的無線計算設備應用的示例操作流程的泳道圖;
[0028]圖4是用于實現源自客戶的信息的客戶端加密的示例方法的流程圖;
[0029]圖5是用于采集和操縱銷售點的交易數據的示例網絡環境的框圖;
[0030]圖6是計算設備和移動計算設備的框圖。
[0031]根據與附圖相結合的下述詳細說明,本公開的特征和優點將變得明顯,其中在相同的標符自始至終標識相應的元件。在附圖中,相同的標號通常指示相同的,功能相似的和/或結構相似的元件。
【具體實施方式】
[0032]中間方可以從終端用戶接收信息。中間方可以將至少一部分信息傳遞到后端服務提供商進行處理。對信息的訪問和/或暴露可能引起中間方的潛在義務。
[0033]總的來說,本公開的系統和方法使得實體能夠從終端用戶獲得信息,并且在不暴露潛在凈荷信息的情況下將至少一部分信息傳遞給后端服務提供商。實體或中間方可以使得由終端用戶操作的計算設備來加密傳輸之前的信息。實體可以通過中間方將加密信息發送到后端服務提供商,其中信息可能被解密。因為實體和中間方接受加密信息,而非可解釋的,可由人呈現的和/或明文信息,實體可以向終端用戶保證信息是安全的。類似地,中間方可以向后端服務提供商保證信息是安全的。此外,由于有關加密信息的存儲的安全風險可能較低,實體和/或中間方可以存儲信息以異步處理從終端用戶接收的信息。總的來說,與中間方合作的實體可以通過實體自身成員,可以訪問實體或中間方的系統的第三方來減輕不希望的暴露接收的信息的風險,以及利用獲得的安全性來管理信息處理。
[0034]在一些示例中,本公開的系統和方法可以被部署以用于支付系統。支付系統(例如中間方服務器)可以從實體接收加密的信用卡信息,諸如信用卡號和信用校驗值(CVV),以及與信用卡公司核實卡號的用戶被授權從實體進行購買。因為實體無法訪問,解釋或者呈現信用卡信息(例如,作為文本信息等),實體可以將加密的信息存儲在長期存儲器(例如光盤,硬驅動)中,并且依然符合由諸如支付卡行業(PCI)數據安全標準(DSS)的標準所述的某些要求。在一些示例中,本公開的系統和方法可以在健康保險系統中部署,從而使得保密病人信息在電子系統間安全地傳遞。本公開的系統和方法可以針對背景調查服務被部署。背景核對所需的保密信息,諸如個人社會保障號可以在電子系統間安全的傳遞,直到信息到達授權用戶。本文中所面熟的系統和方法的應用并于限于上述示例,但是可以在任意數量的環境中部署,如將被本領域技術人員所理解的。背景的內容不被認為是作為現有技術的內容的許可。
[0035]現在參考圖1,示出并描述了用于實現源自客戶的信息的客戶端加密的系統100。系統100包括與后端處理系統110通信的中間方服務器105。中間方服務器105可以與實體服務器115a、115b(統稱為115)通信。每個實體服務器115可以與由終端用戶操作的客戶端計算設備,諸如移動計算設備120a、120b、120c和個人計算設備122a、122b和122c通信。[0036]在操作中,實體可以通過中間方持有賬戶。在一些實現方式中,中間方可以提供對可以由計算設備上的處理器執行的安全性相關子程序的庫125的訪問。庫125可以包括用在可以用于傳輸敏感信息的客戶端計算設備120、122上的加密子程序。子程序的庫125可以位于中間方服務器105上或者與其相關聯。當登陸其賬戶時,實體服務器115可以訪問庫125。在一些實現方式中,實體服務器115可以通過其賬號獲得子程序的庫125的備份。實體可以將庫125的備份存儲在其相應的實體服務器115上。
[0037]在一些實現方式中,子程序的庫125可以是Javascript庫,雖然可以使用具有其它編程語言的子程序的庫。在一些實現方式中,庫125的子程序可以在web瀏覽器,諸如加州的 Mozilla Corporat1n of Mountain View 提供的 Mozilla Firefox?,加州的 Google,Inc.0f Mountain View 提供的 Google Chrome?,或者加州的 Apple Inc.0f Cupertino 提供的Safari?中執行。在一些實現方式中,庫125的子程序可包括在由實體提供以用于用戶安裝的移動設備應用中(例如智能手機、平板電腦或其它移動計算設備)。
[0038]在一些實現方式中,每個實體賬戶可以包括可以和非對稱加密算法(例如RSA、Diffie-Hellman秘鑰交換協議(DSS)、數字簽名標準、ElGamal, Paillier) 一起使用的密鑰對的公鑰(publickey)的備份。公鑰作為基數64編碼串,十六進制編碼串或任何其它格式可以是可用的。實體可以將公鑰備份到任何實體可以使用的計算機程序中。在一些實現方式中,當實體通過中間方打開賬戶時,中間方服務器105可以將公鑰備份傳送到相應的實體服務器115。
[0039]在操作中,在一些實現方式中,在客戶端設備120、122處的用戶可以訪問與實體相關聯的web站點。用戶可以訪問與實體的web站點相關聯的統一資源定位符(URL)。客戶計算設備120、122可以通過計算機網絡做出超文本傳輸協議(HTTP)請求來訪問web站點。
[0040]作為響應,實體服務器115可以將web頁面傳輸到客戶計算設備120、122進行顯示。客戶計算設備120、122可以使用web瀏覽器來觀看web頁面。web頁面可以包括超文本標記語言(HTML)。[0041]在一些實現方式中,實體的web頁面可以包括表格。表格可以包括接受來自客戶計算設備120、122的用戶的信息的字段。在一些實現方式中,一部分字段被配置為接收諸如用戶賬單地址、信用卡號、信用卡到期日和/或信用卡安全碼(例如信用校驗值,或CVV)的信息。在一些實現方式中,一部分字段被配置為接收諸如用戶家庭地址,出生日期,駕駛執照號和社會安全碼的信息。在一些實現方式中,部分字段被配置為接收與個人健康歷史相關的信息。在一些實現方式中,部分字段被配置為接收諸如用戶姓名、賬號密碼和聯系人信息(例如郵寄地址、e-mail地址、手機號)的信息。
[0042]在一些實現方式中,一個或多個字段可以被配置為接收敏感信息。如果信息是保密的(例如只是僅有指定方本該訪問的信息的工業和/或專業標準),則信息是敏感的。如果一方因為信息暴露而承擔處理信息的監管義務,則信息是敏感的。如果一方由于信息處理和/或信息暴露而招致潛在義務,信息可以是敏感的。
[0043]Web頁面可以標識被配置為接收敏感信息的字段,從而標識接收到的信息應該被加密的字段。在一些實現方式中,web頁面可以包括被配置為接收敏感信息的HTML標識字段。在一些實現方式中,web頁面可以包括腳本標簽。腳本標簽可以識別加密相關的web頁面可以使用的子程序的庫125以及庫125的位置。Web頁面可以包括由中間方服務器105提供的公鑰的備份。
[0044]Web頁面可以包括用戶可以激活的控制以將表格字段中提供的信息提交給實體服務器115 (例如,“提交”按鈕)的控制。庫125的處理子程序可以響應于提交控制的激活開始在客戶端計算設備120、122上的web瀏覽器中執行。該處理子程序可以掛鉤到web頁面的提交處理中。
[0045]在一些實現方式中,處理子程序可以從隨機數生成器(例如通過開放資源庫可用的生成器)獲得值。處理子程序可以處理該值以獲得和對稱加密算法,諸如高級加密標準(AES)或數據加密標準(DES) —起使用的加密秘鑰。Web頁面可以訪問庫125的加密子程序以使用加密秘鑰(這里也稱作“對稱加密秘鑰”)加密可以接收敏感信息的字段內的值。
[0046]在一些實現方式中,web頁面可以包括具有相同字段的兩個表格。一個表格可以對用戶隱藏(例如,沒有顯示)。隱藏表格中的信息可以是將要傳輸到實體服務器115的信息。顯示的表格中的HTML可以指示字段是否被配置為接收敏感信息。處理子程序可以分析HTML以識別字段值用于加密。如果字段未被配置為接收敏感信息,字段中的值可以備份到隱藏表格的對應字段中。如果字段被配置為敏感信息,字段中的值可以被加密,并且加密的值可以被插入到隱藏表格的相應字段中。在一些實現方式中,客戶端計算設備120、122的用戶可能沒有發現鍵入的值變化成其加密的相對物,這可以避免用戶的部件上的警報或混淆。
[0047]在一些實現方式中,web頁面可以包括單個表格。該表格可以具有于接收敏感信息的字段相對應的隱藏字段。在一些實現方式中,只有一個隱藏字段或者其對應的可見字段可以被激活(例如,如果可見字段是激活的,則隱藏字段不可以被配置為接收值,反之亦然)。庫125的加密子程序可以加密接收敏感信息的字段中的值。處理子程序可以取消激活字段,激活相應的隱藏字段,并且將加密值插入隱藏字段中。可見字段可以以例如灰色出現。在一些實現方式中,客戶端計算設備120、122用戶可能沒有發現鍵入的值變化成其加密的相對物。[0048]在一些實現方式中,web頁面可以包括可以被隱藏和/或禁用的表格。Web頁面可以包括可以顯示和/或實現表格的代碼。在一些實現方式中,如果客戶端計算設備120、122上的web瀏覽器不能執行顯示和/或實現隱藏表格的代碼(例如不能運行Javascript),表格可以保持隱藏和/或禁用。在一些實現方式中,不能執行特定編程語言的代碼的web瀏覽器可能不能夠接收用戶通過其鍵入敏感信息(例如,信用卡號)的web頁面。在一些實現方式中,web頁面可以包括指示要求執行特定編程語言的能力的noscript標簽。
[0049]庫125的加密子程序可以根據非對稱加密算法(例如,RSA)加密對稱加密秘鑰。加密子程序可以通過接收web頁面內的秘鑰被配置。web頁面可以發送對稱加密秘鑰到將使用公鑰加密的加密子程序。
[0050]Web頁面可以編碼字段的加密值,字段的非加密值,以及加密的對稱加密秘鑰。在一些實現方式中,web頁面可以通過將信息序列化來編碼信息。用于序列化的示例格式包括基數54或十六進制(基數16),雖然可以使用其它格式。客戶端計算設備120、122可以將信息發送到實體服務器115。
[0051]在其它操作中,客戶端計算設備122(例如,移動設備)可以下載和安裝包括用于將用戶信息和其它數據提供給實體服務器115中的一個的算法的移動設備應用。例如,用戶可以下載移動設備應用以從維護實體服務器115的特定批發商實體購買產品。在此情況下,移動設備應用可以包括用于加密敏感信息以傳輸到實體服務器115的一個或多個算法(如上所述,與基于web瀏覽器的模型相關)。例如,移動設備應用可以包括分配給中間服務器105的(例如庫125的)批發商的公鑰和/或加密算法。在其它實施方式中,移動設備應用可以包含用于從中間方服務器105檢索信息(諸如加密算法和/或公鑰信息)的代碼,諸如加密算法和/或公鑰信息。移動設備應用可以從用戶接收數據,加密信息的至少一部分,以及以和如上所述與基于瀏覽器的模型相關的相似的方式將信息提供給實體服務器115。
[0052]實體服務器115可以存儲從客戶端計算設備120、122接收的信息。在一些實現方式中,實體服務器115可以不接收可解釋的,可讀的和/或可呈現的表格(例如,明文)中的敏感信息。將加密的信息存儲在永久內存中(例如,硬驅動,光盤)呈現較低的安全風險以及可以在信息安全標準中保持。因此,可以不迫使實體服務器115立即將信息發送到后端系統110進行處理。
[0053]終端用戶信息的存儲可以是實現異步處理。例如,實體服務器115可以將加密信息排隊,并且確定用戶的信息可以以哪個順序處理(例如優先權或其它度量)。因此,客戶端加密將導致實體服務器115有更大的靈活性來管理從客戶端計算設備120、122接收到的信息。
[0054]實體服務器115可以將客戶端計算設備120、122的信息發送到中間方服務器105進行處理。實體服務器115可以指示將對信息執行的處理的類型。在一些實現方式中,實體服務器115可以通過HTTP請求,諸如POST請求發送信息。在一些實現方式中,實體服務器115可以向中間方服務器105做出應用程序界面(API)調用。
[0055]在一些實現方式中,實體服務器115可以包括可與非對稱加密算法一起使用的密鑰對的私鑰(private key)的備份,其對應于中間方服務器105已提供給賬戶持有者(例如,實體服務器115)的公鑰。中間方服務器105可以使用私鑰解密加密的數據(例如表格字段的值或由移動應用采集的值)。在一些實現方式中,加密的值不可以在沒有私鑰的情況下解密。在一些實現方式中,客戶端計算設備120、122和實體服務器115均不能訪問私鑰。
[0056]通過訪問經由表格接收的可解釋的(例如可呈現的,明文等)版本的全部信息,中間方服務器105可以處理信息。處理可以創建結果。在一些實現方式中,中間方服務器105可以與后端系統110 (例如與第三方相關聯)來處理信息。
[0057]例如,中間方服務器105可以與后端處理系統110(諸如,例如信用卡公司服務器)通信,已授權信用卡號使用所請求的金額數量(例如,商品或服務的價格)。如果所使用的信用卡號由信用卡公司服務器授權,中間方服務器105可以將“核準”的結果返回實體服務器115。如果該卡號未被授權,則中間方服務器105可以返回“拒絕”的結果。在一些實現方式中,該結果可以包括拒絕的理由(例如資金不足、無效的信用卡號、無效的CVV)。
[0058]在另一個示例中,中間方服務器105可以與后端處理系統110通信(諸如例如背景調查服務)以校驗個人的身份。中間方服務器105可以解密信息。在一些實現方式中,中間方服務器105可以將明文的識別信息發送到用于背景調查服務的服務器。在一些實現方式中,中間方服務器105可以根據用于保護中間方服務器105和后端處理系統110之間的信息的加密算法來加密識別信息。
[0059]在一些示例中,中間方服務器105可以將個人姓名,過去5年中的居住地址,社會保障號,對開賬戶號和駕駛執照號發送到后端處理系統110用于背景調查服務。后端處理系統110可以確定接收到的信息與個人存儲在其數據庫中的信息一致,并將“已證實”的結果返回到中間方服務器105。如果接收到的信息與數據庫信息不一致,背景調查服務可以返回“未證實”的結果。
[0060]在任一這些示例中,中間web服務器105可以將來自后端處理系統110(例如,信用卡公司服務器,背景調查服務器)的結果發送到實體服務器115。實體服務器115可以發送具有結果或結果指示(例如已證實/未證實、已授權/未授權)的web頁面以在客戶計算設備120、122上顯示。例如,實體服務器115可能引起報警機構提醒客戶計算設備122
該結果信息。
[0061]實體服務器115可以靈活地確定應何時以及如何采集信息(例如,表格數量,經由任意給定的表格或移動信息登錄頁采集的信息,通過表格或者移動信息登錄頁共同獲得的信息組織等)以及哪種信息應該被加密。在一些實現方式中,在實體服務器115從瀏覽器表格或移動應用接收到信息時,實體服務器115可以將另一表格發送到客戶端計算設備120、122或者使得在移動應用內呈現另一個信息登錄頁面。表格或登錄頁面可以包含從以前發送的表格請求不同信息的不同字段。
[0062]在HTML表格的情況下,表格可以包括識別可以接收敏感信息的不同字段的HTML標簽或者編碼標記。例如,實體服務器115可以發送向網站登記用戶的表格。實體服務器115可以發送不同的表格以實現接收商品和/或服務的用戶支付信息。在移動應用的情況下,數據登錄頁面可以被配置為標識指定接收敏感信息的信息字段。在一些實現方式中,至少一部分信息可以使用存儲的數據自動填充。例如,使用web瀏覽器cookie采集用戶數據或者從與移動設備應用相關聯的用戶賬戶檢索用戶數據。替換地,基于用于提供的信息(例如,用戶名和密碼等),表格或者移動應用數據登錄字段的一部分可以通過具有存儲的用戶信息的實體服務器115自動聚集。[0063]現在參照圖2A,顯示并描述了用于在支付處理情境下啟用源于客戶端的信息的差異客戶端加密的示范性系統200的方框圖。在操作中,由消費者控制的客戶端計算設備220可用于經由網絡從實體訂購商品和/或服務。在訂貨時,消費者可將信息輸入到web頁面上的表格中。舉例而言,表格可包括關于消費者姓名、電話號碼、送貨地址、賬單地址、信用卡號碼和信用卡驗證值的欄位。
[0064]消費者可激活控制器來將表格數據225提交給實體服務器215 (例如,商家服務器)。在控制器激活時,由web瀏覽器訪問的加密子程序可在客戶端計算設備220上執行。在一些實現方式中,加密子程序可將諸如信用卡號碼和/或卡驗證值之類的信息加密。在一些實現方式中,加密子程序可能不會將諸如消費者姓名、電話號碼、送貨地址,和/或賬單地址之類的信息加密。
[0065]在一些實現方式中,web瀏覽器可將表格數據225 (包括非加密的消費者姓名、電話號碼、送貨地址,和/或賬單地址)發送給實體服務器215。實體服務器215可訪問非加密的信息和/或將非加密的信息儲存在,例如,永久存儲器中。在一些實現方式中,web瀏覽器可將表格數據225內的加密信息230,諸如,信用卡信息發送給實體服務器215。實體服務器215可訪問加密信息230和/或將加密信息230儲存在,例如,永久存儲器中。在一些實現方式中,舉例而言,實體服務器215可將加密信息230儲存在硬盤驅動器或光盤上。
[0066]因為實體服務器215缺少加密密鑰來將加密信息230解密,所以實體服務器215可能不會獲得加密信息230的純文本值。在一些實現方式中,不能訪問信用卡信息的純文本值可使實體服務器215能夠儲存加密信息230,而不用擔心加密信息230可被未授權方解密并恢復。
[0067]實體服務器215可將表格數據225 (包括非加密信息以及加密信息230的至少一部分)發送給中間方服務器205(例如,支付網關)。中間服務器205可運行所訂購商品和/或服務的交易。例如,中間服務器205可確定消費者是否可為商品和/或服務付款。中間服務器205可通過將加密的信用卡信息解密來由加密信息230恢復信用卡信息。中間服務器205可請求后端處理系統210 (例如,信用卡網絡中的信用卡公司服務器)確定消費者是否可以使用關于訂單中的數量的信用卡信息。例如,中間服務器205可將信用卡數據235轉發給后端處理系統210。在一些實現方式中,信用卡數據235可以經由安全信息,例如,對后端處理系統210加密和/或提供,以保護信用卡數據235免受未經授權的訪問。
[0068]后端處理系統210可接收信用卡數據235并分析信用卡數據235以確定消費者是否可以使用關于訂單中的數量的信用卡信息。后端處理系統210可將驗證結果240a(例如,核準、拒絕等)回傳給中間服務器205。中間服務器205可將從后端處理系統210獲得的驗證結果240b轉發給實體服務器215。實體服務器215可使驗證結果240b格式化以在客戶端計算設備220上顯示。例如,實體服務器215可提供包含驗證結果240的web頁面信息245供消費者在客戶端計算設備220上查看。
[0069]圖2B是通過系統(諸如,圖2A的系統)用于啟用客戶端加密的示例操作流程250的泳道圖。操作流程250示出在中間服務器205、實體服務器215、客戶端計算設備220,和后端處理服務器210之間傳遞的示例信息,如參照圖2A所述。在一些實現方式中,操作流程250可用于處理并驗證在線供應商的支付信息。操作流程250,在一些實現方式中,可用于處理并鑒定健康信息網絡上的患者信息。在一些實現方式中,操作流程250可用于處理并驗證背景信息,以實現調查的目的。
[0070]在一些實現方式中,操作流程250從通過在客戶端計算設備220上執行的web瀏覽器訪問在線實體web站點(252)開始。例如,用戶可使用web瀏覽器應用程序來瀏覽web站點。用戶可訪問web站點,例如,以請求信息(例如,患者信息、背景調查信息等)。在其它示例中,用戶可訪問web站點來購買商品或服務。
[0071]響應于訪問請求表格web頁面(例如,訂單頁、患者信息頁、個人信息識別頁等),實體服務器215,在一些實現方式中,提供瀏覽器可呈現的信息,包括用于將敏感信息加密的公鑰(254)。瀏覽器可呈現的信息,例如,可包括可填寫的表格,或包括可見表格和隱藏表格的一組可填寫的表格。可填寫的表格的欄位的至少一部分,例如,可被配置為接收敏感信
肩、O
[0072]在一些實現方式中,瀏覽器可呈現的信息包括用于下載由中間服務器205提供的加密算法的指令。在一些實現方式中,客戶端計算設備220經由在線實體服務器215從中間服務器205下載加密算法(256)。在其它實施方式中,客戶端計算設備220直接從中間服務器205下載加密算法(圖未示)。盡管被示為在接收到包括公鑰的瀏覽器可呈現的信息之后執行,但是,在一些實現方式中(未示出),web瀏覽器220先前可能已經從中間服務器205接收到加密算法。例如,客戶端計算設備220可能在登錄進入與實體服務器215相關聯的用戶賬戶時已經接收到加密算法。加密算法,在一些實現方式中,可能與公鑰相關聯。例如,中間服務器205可將特定加密算法與分配給特定實體的特定公鑰相關聯。
[0073]在一些實現方式中,客戶端計算設備220 (例如,在瀏覽器應用程序內執行的腳本語言或其它瀏覽器可執行的語言內)使用加密算法和公鑰將用戶數據加密(258)。例如,力口密算法可被編程到瀏覽器可執行的語言中,諸如,Javascript編程語言。在一些實現方式中,加密算法識別被配置為接受敏感信息的一個或多個欄位,并將輸入到那些欄位中的信息加密。
[0074]在一些實現方式中,客戶端計算設備將數據,包括加密數據傳送給實體服務器215(260a)。加密算法或另一種算法,例如,可將數據傳送給實體服務器215。加密數據,在一些實現方式中,與未加密數據分開提供給實體服務器215 (例如,獨立傳輸)。除了加密之夕卜,在一些實現方式中,加密的和,可選地,未加密的數據可由客戶端計算設備220經由安全連接,諸如,安全套接層(SSL)連接提供給實體服務器215。
[0075]在一些實現方式中,實體服務器215將加密數據和,可選地,未加密數據(例如,識別信息,諸如,用戶姓名和郵政編碼)的一部分轉發給中間服務器205 (260b)。在一些實現方式中,實體服務器215將加密數據排列,用于之后傳送給中間服務器205,而非立即轉發數據。除了轉發加密數據之外,在一些實現方式中,實體服務器將加密數據的副本儲存在本地,例如,作為臨時備份,以防對中間服務器205的初始請求失敗或用于實現交易歷史的目的。若實體服務器215將加密數據儲存在本地,則在一些實現方式中,實體服務器215將信息儲存在安全存儲區,諸如,安全數據庫內。
[0076]在一些實現方式中,加密數據在中間服務器205處被解密(262)。中間服務器205,例如,可將在線實體與和發給實體服務器215的公鑰配對的私鑰匹配。在一些實現方式中,私鑰至少部分基于實體服務器215的傳輸簽名(例如,互聯網協議(IP)地址、域名服務器(DNS)等)來識別。私鑰,在一些實現方式中,至少部分基于來自實體服務器215的傳輸物內所含的標頭信息來識別。例如,傳輸算法可將識別信息嵌入到由實體服務器215提供給中間服務器205(例如,步驟260b中)的傳輸物內。在一些實現方式中,公鑰自身或識別公鑰的識別符與加密信息一起傳送。
[0077]在將加密信息解密時,在一些實現方式中,中間服務器205儲存信息的至少一部分(264)。信息可儲存用于例如審計目的。
[0078]數據,在一些實現方式中,排列供數據處理用(266)。視數據類型(例如,信用卡信息、患者信息、背景驗證信息等)而定,數據可排列到一些后端服務器之一中,包括后端服務器210。后端服務器210,在一些實現方式中,可以是醫療系統服務器、信用卡服務器、電子支付處理服務器、執法服務器,或政府部門服務器。
[0079]在一些實現方式中,數據在某個時間點上由中間服務器205轉發給后端服務器210以供處理(268)。在一些實現方式中,數據在傳送給后端服務器210之前被加密。數據,在一些實現方式中,經由安全傳輸或經由安全網絡連接提供給后端服務器210。
[0080]在一些實現方式中,數據在后端服務器210處經處理(270)以獲得結果。視數據類型和/或后端服務器210的類型而定,結果可改變。例如,若后端服務器210是信用卡支付處理服務器,則結果可包括狀態消息(例如,核準、拒絕等)。
[0081]在一些實現方式中,后端服務器210將與處理用戶數據有關的結果提供給中間服務器205 (272a)。例如,醫療系統服務器可提供與患者請求服務、手續或藥物治療的審查許可(clearance)有關的“核準”結果。
[0082]中間服務器205,在一些實現方式中,將結果轉發給實體服務器215 (272b)。在一些實現方式中,中間服務器205儲存結果用于實現審計目的(例如,連同之前在步驟264儲存的用戶數據)。
[0083]在接收到結果時,在一些實現方式中,實體服務器215對結果進行處理(274)。處理,在一些實現方式中,可包括將結果與前一請求,例如,購買商品的請求相關聯。若,例如,信用卡信息已經被授權,則實體服務器215可發起對客戶端計算設備220的用戶的商品交付。
[0084]在一些實現方式中,基于步驟274的處理結果,實體服務器215將與結果有關的信息提供給客戶端計算設備220(276)。例如,在接收到信用卡信息已經被拒絕的指示時,實體服務器215可在客戶端計算設備220上執行的web瀏覽器應用程序內呈現關于拒絕的消
肩、O
[0085]在用戶數據傳輸(步驟260a)和結果處理(步驟274)之間常常有大量時間(例如,數分鐘、數小時、一天等)流逝。在這種情況下,在一些實現方式中,實體服務器215識別與用戶相關聯的聯系人信息(例如,電子郵件地址、發短信的電話號碼、社交媒體帳號信息等),而不是將與結果有關的信息提供給客戶端計算設備220 (例如,瀏覽器應用程序內)。實體服務器215,進一步參照示例,可使用聯系人信息將與結果有關的信息提供給用戶。
[0086]盡管被示為特定的一系列步驟,但是在一些實現方式中,可實施更多或更少的步驟,或可以不同的順序來執行所述步驟中的一個或多個。例如,在一些區域中,信用卡支付可能直到訂單發貨日才會被處理。在這種情況下,實體服務器215第一次可將加密用戶數據提供給中間服務器205 (260b)以驗證信用卡信息是有效的,且第二次(例如,數小時或數日之后)用于發起支付處理。[0087]此外,在一些實現方式中,儲存在中間服務器205的信用卡信息可被訪問,用于重新使用,例如,基于后續交易期間提供的識別信息。例如,顧客在后續購買時,可在支付表格(例如,包括敏感和公開數據的可填寫的表格)內選擇“有記錄的”信用卡。在一些實現方式中,隨后傳送的用戶數據(例如,由客戶端計算設備220發送給實體服務器215,在此其被轉發給中間服務器205)可包括信用卡號碼的一部分(銀行信息號碼(BIN)加上最后四位數字),或由實體服務器215辨認的旗標、標簽,或編碼。例如,在步驟254內提供的瀏覽器可呈現的信息內,實體服務器215可為客戶端計算設備220提供可用于識別特定的“存檔”信用卡(例如,最后四位數字為7890的美國運通卡)的部分編碼的信用卡信息。在選擇“存檔”信用卡時,通過步驟260a傳送的用戶數據可包括用于識別所選的“存檔”信用卡的文字美國運通和7890或另一個識別碼(例如,唯一的識別符)。在步驟260b,作為響應,實體服務器215可將用于識別“存檔”信用卡的信息轉發給中間服務器205。中間服務器205可使用識別信息來檢索存檔的信用卡信息。可選地,響應于辨認出在步驟260a傳送的用戶數據中接收的“存檔”信用卡識別信息,實體服務器215可將加密的信用卡信息存檔并將(仍加密的)信用卡信息轉發給中間服務器205。對操作流程250的其它修改是可能的。
[0088]圖3是用于提供并使用啟用信息的客戶端加密的無線計算設備應用程序的示例操作流程300的泳道圖。操作流程300示出在移動計算設備302(例如,諸如,參照圖1所述的客戶端計算設備122)、應用程序商店304、實體服務器306(例如,諸如,參照圖1所述的實體服務器115)和中間服務器308(例如,諸如,參照圖1所述的中間服務器105)之間傳遞的示例信息。在一些實現方式中,操作流程300可用于提供并利用隸屬于在線供應商的移動應用程序,用于購買經由實體服務器306處理的商品和服務。操作流程300,在一些實現方式中,可用于提供并利用隸屬于保健系統的移動應用程序,用于認證健康信息網絡上的患者信息。在一些實現方式中,操作流程300可用于提供并利用隸屬于執法系統的移動應用程序,用于驗證背景信息以實現調查目的。
[0089]在一些實現方式中,操作流程300從中間服務器308為實體服務器306提供公共加密密鑰和一種或多種加密算法(310)開始。公共加密密鑰,例如,可與由中間服務器308保存的私有加密密鑰配對。公共加密密鑰,例如,可用于使用加密算法中的一種或多種將數據加密。在中間服務器處,可使用由中間服務器308保存的配對的私有加密密鑰和一種或多種解密算法來將加密數據解密。在一些實現方式中,公鑰對實體服務器306是唯一的。例如,中間服務器308可將不同的公鑰分配給利用中間服務器308的服務來安全傳送和處理敏感數據的每一個實體。
[0090]在一些實現方式中,實體服務器306可將中間服務器308提供的公鑰和至少一種安全算法捆綁到移動設備應用程序中(312)。例如,被給予公鑰和一種或多種安全算法的開發者可將加密算法納入到收集和安全傳送用戶數據的應用程序中。可選地,移動設備應用程序可被配置為在敏感數據加密時從實體服務器306或中間服務器308請求公共加密密鑰和安全算法中的一者或多者。
[0091]在開發移動設備應用程序時,實體可提供移動應用程序供用戶在應用程序商店消費(314)。例如,為iPhone?平臺開發的移動設備應用程序可用于通過Apple應用程序商店來下載,而為Android?平臺開發的移動設備應用程序可用于通過Google應用程序商店來下載。在其它實施方式中,應用程序可用于直接下載和安裝,例如,經由實體服務器306。[0092]終端用戶可從應用程序商店304下載實體應用程序,安裝在移動計算設備302上(316)。例如,實體可提供web站點上的信息供用戶下載應用程序。應用程序,在一些示例中,可以是用于商業實體購物的應用程序、用于經由保健組織實體來管理患者信息的應用程序,或用于經由人力資源支撐實體來管理候選者的背景信息的應用程序。
[0093]在用戶使用移動計算設備302與安裝的移動設備應用程序互動時,在一些實現方式中,用戶可輸入傳送給實體服務器306的敏感信息。例如,用戶可被展示以包括一個或多個用于輸入與訂單、信息請求,或認證請求有關的數據的信息欄位的用戶界面。在將信息提供給實體服務器306之前,移動計算設備,在一些實現方式中,將數據的至少一部分用之前由中間服務器308提供給實體服務器306的公共密鑰和至少一種安全算法加密(318)。
[0094]在一些實現方式中,加密數據由移動計算設備302傳送給實體服務器306 (320a)。移動設備應用程序,在一些實現方式中,被編程以與實體通信。加密數據,例如,可經由安全或非安全傳輸提供給實體服務器306。
[0095]實體服務器306,作為響應,可將用戶數據的至少一部分,包括加密數據,轉發給中間服務器308(320b)。中間服務器308可將用戶數據解密,例如,使用私有加密密鑰和解密算法(322)。如之前參照圖2B的步驟262到272所述,例如,數據可儲存用于實現審計目的并提供給后端服務器以供處理。后端服務器可將結果提供給與處理之前加密的數據有關的中間服務器308。
[0096]在一些實現方式中,中間服務器308將與數據處理有關的結果提供給實體服務器306。結果,例如,可使用交易識別符、用戶信息的一部分,或與移動計算設備的終端用戶有關的識別符被識別供實體服務器306辨認。例如,在轉發供處理的加密用戶數據(320b)時,中間服務器308可接收唯一的交易識別符。可選地,響應于加密用戶數據的接收,中間服務器308可為實體服務器306提供與加密數據有關的唯一的交易識別符。
[0097]在一些實現方式中,與結果有關的信息可提供給終端用戶的移動賬戶(326)。例如,使用移動計算設備302,終端用戶可經由移動設備應用程序接收結果信息。
[0098]盡管被示為特定的一系列步驟,但是在一些實現方式中,可實施更多或更少的步驟,或可以不同的順序來執行所述步驟中的一個或多個。對操作流程300的其它修改是可能的。
[0099]圖4是使客戶端能對來自客戶的信息進行加密的方法400的流程圖。例如,方法400可以由中間服務器來實施,例如參照圖1描述的中間服務器105。
[0100]在一些實現方式中,所述方法首先提供用于加密用戶數據的加密算法(402)。例如,加密算法可以提供給實體以便加密敏感信息。
[0101]在一些實現方式中,給實體分配與加密算法一起使用的公鑰(404)。例如,公鑰可以與加密算法結合使用。在一些實現方式中,公鑰與分配器(例如,中間服務器)所保持的私匙配對。
[0102]在一些實現方式中,接收了使用公鑰和加密算法進行加密的加密的用戶數據(406)。例如,實體服務器可以轉發在客戶端計算設備使用加密算法和公鑰時被加密的加密的數據。在一些實現方式中,未加密的用戶數據和加密的用戶數據一樣可以被包括在同一次傳輸中。
[0103]在一些實現方式中,與加密的用戶數據相關的實體被確定(408)。例如,在加密的用戶數據的傳輸中可以具有對實體進行標識的標識符(例如,在傳輸數據包報頭中或者在具有加密的數據的未加密的數據中)。又如,可以按照傳輸的來源(例如,互聯網協議(IP)地址、DNS服務器等)標識實體。在一些實現方式中,公鑰或者與公鑰對應的標識符具有加密的用戶數據。可以基于公鑰來標識實體或者與實體相關的私匙。
[0104]在一些實現方式中,與實體相關的私匙被確定(410)。在一些實現方式中,單個公鑰已經被分配給實體。在這種情況下,在步驟408中被標識的實體可以用于唯一地標識私匙。在一些實現方式中,如果兩個或更多個公鑰已經被分配給實體,那么可以分析額外的信息來標識私匙。例如,當標識與處理請求匹配的私匙時可以考慮信息的來源(例如,移動設備應用與web頁面)、請求的處理類型(例如,信用卡處理與個人背景驗證等)或傳輸的信息來源(例如,實體網關、IP地址、DNS名稱等)。
[0105]在一些實現方式中,使用私匙和解密算法對加密的用戶數據進行解密(412)。在一些實現方式中,解密的數據可以被存儲用于審計目的。
[0106]在一些實現方式中,將解密的用戶數據排隊以便使用處理引擎進行處理(414)。例如,基于信息的來源、與信息相關的實體和/或與請求的處理類型相關的傳輸內的標識符,將解密的用戶數據排隊以便使用一個或多個后端處理服務器進行處理。在一些實現方式中,后端處理系統為第三方所有,例如,信用卡公司。在其它實施方式中,由同一實體控制中間服務器和后端處理器。如果后端處理器立即可供使用,那么解密的用戶數據可以被傳輸用于處理而非排隊。
[0107]在一些實現方式中,將解密的用戶數據提供給處理引擎(416)。在一些實現方式中,與加密的用戶數據一起傳輸的一部分未加密的用戶數據同樣可以被供應到處理引擎,例如,以便用作標識信息,從而給請求提供背景(例如,名字、郵政編碼等)。在一些實現方式中,解密的用戶數據通過安全傳輸被提供給處理引擎。在提供解密的用戶數據到處理引擎之前,例如,可以用處理引擎可識別的格式來加密數據。又如,解密的用戶數據可以通過安全的通信連接被提供給處理引擎。
[0108]在一些實現方式中,接收來自處理引擎的處理結果(418)。處理結果中包含的信息可以在布爾值(例如,批準/拒絕等)與多元媒體響應(例如,指紋的圖像數據、照片、文字數據等)之間變化。例如,處理結果可以根據請求的處理類型的變化而變化。處理結果可以被實時接收(即,在解密的用戶數據已經被提供給處理引擎不久之后)或稍后接收。在一些實現方式中,基于事務標識符、用戶標識符、實體標識符和/或請求時間戳的一個或多個可識別包含結果的傳輸。在一些實現方式中,在接收處理結果時,處理結果與特定的處理請求匹配。
[0109]在一些實現方式中,將處理結果提供給實體(420)。在一些實現方式中,在使處理結果與處理請求進行匹配時,可以對響應方法進行標識以便將信息中繼轉發給請求實體。例如,實體可以具有專用服務器、網關、傳輸代碼、傳輸類型或者用于接收處理結果的其它偏好。在一些實現方式中,處理結果或處理結果的可用性指示可以通過傳真來發送、公布,或者登記在由中間系統替實體維護的賬戶中。在一些實現方式中,在包含處理結果的傳輸中可以提供一部分請求信息,例如,以便使處理結果與實體的請求之間能匹配上。
[0110]在一些實現方式中,除提供處理結果之外,方法400可以包括將處理結果、與處理結果有關的信息(例如,接收的時間戳、轉發給實體的時間戳、成功轉發給實體的指示等)存儲在長期儲存區中。例如,這些信息可以被存儲用于審計目的。
[0111]盡管按照特定的一系列步驟進行說明,但是在一些實現方式中,可以實施更多或更少的步驟,或者可以按照不同的順序來執行一個或多個步驟。運作流程400的其它修改形式是可行的。
[0112]如圖5所示,圖示并描述了供客戶端加密和安全傳輸數據的示例性云計算環境500的實現方式。云計算環境500可以包括一個或多個資源提供商502a、502b、502c (統稱為502)。每個資源提供商502可以包括計算資源。在一些實現方式中,計算資源可以包括用于處理數據的任何硬件和/或軟件。例如,計算資源可以包括能執行算法的硬件和/或軟件、計算機程序和/或計算機應用。在一些實現方式中,示例性計算資源可以包括應用服務器和/或具有儲存和檢索能力的數據庫。在云計算環境500中,每個資源提供商502可以連接到任何其它的資源供應商502。在一些實現方式中,資源提供商502可以通過計算機網絡508連接上。每個資源提供商502可以通過計算機網絡508連接至一個或多個計算設備 504a、504b、504c (統稱為 504)。
[0113]云計算環境500可以包括資源管理器506。資源管理器506可以通過計算機網絡508連接至資源提供商502和計算設備504。在一些實現方式中,資源管理器506可以輔助一個或多個資源提供商502提供計算資源到一個或多個計算設備504。資源管理器506可以從特定的計算設備504接收對計算資源的請求。資源管理器506可以識別能提供計算設備504所請求的計算資源的一個或多個資源提供商502。資源管理器506可以選擇資源提供商502來提供計算資源。資源管理器506可以輔助資源提供商502與特定的計算設備504之間的連接。在一些實現方式中,資源管理器506可以建立特定的資源提供商502與特定的計算設備504之間的連接。在一些實現方式中,資源管理器506可以以請求的計算資源來將計算設備504重定向到特定的資源提供商502。
[0114]圖6示出了可以用于實施本公開中描述的技術的計算設備600和移動計算設備650的示例。計算設備600旨在表示各種形式的數字計算機,例如,筆記本電腦、臺式電腦、工作站、個人數字助理、服務器、刀片式服務器、大型主機和其它合適的計算機。移動計算設備650意在代表各種形式的移動設備,例如個人數字助理、移動電話、智能手機和其它類似的計算設備。本文示出的組件、它們的連接和關系以及它們的功能僅僅意味著示例,且并非意味著限制。
[0115]計算設備600包括處理器602、存儲器604、存儲設備606、連接到存儲器604和多重高速擴展端口 610的高速接口 608、以及連接到低速擴展端口 614和存儲設備606的低速接口 612。處理器602、存儲器604、存儲設備606、高速接口 608、高速擴展端口 610和低速接口 612的每一個使用多種總線互連,并且可以安裝在共同的主板上或者以其它適當的方式被安裝。處理器602可以處理用于在計算設備600中執行的指令,包括存儲在存儲器604中或者存儲在存儲設備606上用于在外部輸入/輸出設備(例如連接到高速接口 608的顯示屏616)上顯示用于GUI的圖形信息的指令。在其它實現方式中,適當的情況下多個處理器和/或多個總線可以與多個存儲器和多種存儲器一起使用。另外,可以連接多個計算設備,其中每個計算設備提供必要操作的一部分(例如服務器組、一組刀片式服務器或多處理器系統)。
[0116]存儲器604在計算設備600內存儲信息。在一些實現方式中,存儲器604是一個或多個易失性存儲器裝置。在一些實現方式中,存儲器604是一個或多個非易失性存儲器裝置。存儲器604還可以是另一種形式的計算機可讀的介質,例如磁盤或光盤。
[0117]存儲設備606能為計算設備600提供大容量存儲。在一些實現方式中,存儲設備606可以是或者包括計算機可讀的介質,例如軟盤設備、硬盤設備、光盤設備或磁帶設備、閃速存儲器或其它類似的固態存儲設備或設備陣列(包括存儲區域網或其它配置中的設備)。指令可以存儲在信息載體中。指令當被一個或多個處理設備(例如處理器602)執行時實施一種或多種方法,例如上述方法。指令還可以通過一個或多個存儲設備來存儲,例如計算機可讀的介質或機器可讀的介質(例如存儲器604、存儲設備606或處理器602上的存儲器)。
[0118]高速接口 608管理計算機設備600的高帶寬密集型操作,而低速接口 612管理低帶寬密集型操作。這種功能分配只是一個示例。在一些實現方式中,高速接口 608耦接到存儲器604、顯示屏616 (例如通過圖形處理器或圖形加速器)并且耦接到高速擴展端口 610,高速擴展端口可以接收多種擴展卡(未示出)。在該實施方式中,低速接口 612連接到存儲設備606和低速擴展端口 614。可以包括多種通信端口(例如USB、藍牙?、以太網、無線以太網)的低速擴展端口 614可以,例如通過網絡適配器耦接到一個或多個輸入/輸出設備(例如鍵盤、指向設備、掃描儀)或者諸如交換機或路由器的網絡設備。
[0119]計算設備600可以實現為多種不同的形式,如附圖所示。例如,計算設備可以實現為標準服務器620,或一組這種服務器的好幾倍。此外,計算設備可以實現為個人計算機,例如,筆記本電腦622。計算設備還可以實現為機架服務器系統624的一部分。可替代地,來自計算設備600的組件可以與例如移動計算設備650的移動設備(未示出)中的其它組件結合。每個這種設備可以包括計算設備600和移動計算設備650的一個或多個,并且整個系統可以是由彼此通信的多個計算設備組成的。
[0120]除其它組件之外,移動計算設備650包括處理器652、存儲器664、例如顯示屏654的輸入/輸出設備、通信接口 666和收發器668。移動計算設備650還可以具有存儲設備,例如,微型驅動器或其它設備,以便提供額外存儲。處理器652、存儲器664、顯示屏654、通信接口 666和收發器668的每一個使用多種總線互連,并且幾個組件可以安裝在共同的主板上,或者以其它方式安裝,視具體情況而定。
[0121]處理器652可以執行移動計算設備650中的指令,包括存儲在存儲器664中的指令。處理器652可以實現為芯片的芯片集,這種芯片集包括分開的多個模擬和數字處理器。例如,處理器652可以提供用于協調移動計算設備650的其它組件,例如,控制用戶接口、移動計算設備650運行的應用以及移動計算設備650的無線通信。
[0122]處理器652可以通過控制接口 658以及與顯示屏654連接上的顯示接口 656與用戶通信。顯示屏654可以是例如TFT(薄膜晶體管液晶顯示屏)顯示屏或OLED(有機發光二極管)顯示屏或者其它合適的顯示技術。顯示接口 656可以包括用于驅動顯示屏654以便向用戶呈現圖形和其它信息的適當電路。控制接口 658可以接收來自用戶的命令并且將命令進行轉化以便提交到處理器652。此外,外部接口 662可以提供與處理器652進行通信,以便使移動計算設備650能與其它設備進行近場通信。在一些實現方式中,外部接口 662可以提供用于例如有線通信,在其它實施方式中,外部接口可以提供用于無線通信,并且還可以使用多個接口。[0123]存儲器664在移動計算設備650中存儲信息。存儲器664可以實現為一個或多個計算機可讀的介質、易失性存儲設備或非易失性存儲設備。擴展存儲器674還可以通過擴展接口 672提供給并連接到移動計算設備650,所述擴展接口可以包括例如SIMM (單列直插式內存模塊)卡接口。擴展存儲器674可以為移動計算設備650提供額外的存儲空間,或者還可以為移動計算設備650存儲應用或其它信息。特別地,擴展存儲器674可以包括用于實施或補充上述方法的指令,并且同樣可以包括安全信息。因此,例如,擴展存儲器674可以作為安全模塊提供給移動計算設備650,并且可以編寫有允許安全使用移動計算設備650的指令。此外,安全應用連同額外的信息一起可以經由SIMM卡來提供,例如,以不可非法侵入的方式在SIMM卡上放置識別信息。
[0124]如上所述,存儲器可以包括,例如,閃速存儲器和/或NVRAM存儲器(非易失性隨機存取存儲器)。在一些實現方式中,指令存儲在信息載體中,這些指令當被一個或多個處理設備(例如,處理器652)執行時實施一種或多種方法,例如上述的這些方法。指令還可以由一個或多個存儲設備來存儲,例如,一個或多個計算機可讀的介質或機器可讀的介質(例如,存儲器664、擴展存儲器674或處理器652上的存儲器)。在一些實現方式中,例如,可以通過收發器668或外部接口 662在傳播的信號中接收指令。
[0125]移動計算設備650可以通過通信接口 666進行無線通信,所述通信接口在必要時可以包括數字信號處理電路。通信接口 666可以提供用于多種模式或協議下的通信,除了別的以外,例如,GSM語音電話(全球移動通信系統)、SMS (短消息服務)、EMS (增強型短信服務)或麗S (多媒體信息服務)、CDMA (碼分多址)、TDMA (時分多址)、I3DC (個人數字蜂窩電話)、WCDMA (寬帶碼分多址)、CDMA2000或GPRS (通用分組無線服務)。例如,使用射頻通過收發器668可以實現這種通信。此外,可以進行短波通信,例如,使用藍牙?、W1-Fi?或其它的這種收發器(未示出)。此外,GPS(全球定位系統)收發器模塊670可以提供額外的與導航及定位相關的無線數據到移動計算設備650,視情況而定,移動計算設備650上運行的應用可以使用這些信息。
[0126]移動計算設備650還可以使用音頻解碼器660進行聲音通信,所述音頻解碼器可以接收來自用戶的語音信息并且將其轉換成可使用的數字信息。音頻解碼器660同樣可以產生可聽見的聲音給用戶,比如,通過例如在移動計算設備650的聽筒中的揚聲器產生聲音。這種聲音可以包括來自語音電話的聲音,可以包括錄制的聲音(例如語音消息、音樂文件等),并且還可以包括在移動計算設備650上運行的應用所產生的聲音。
[0127]移動計算設備650可以實現為多種不同形式,如附圖所示。例如,移動計算設備可以實現為移動電話680。移動計算設備還可以實現為智能電話682、個人數字助理或其它類似移動設備的一部分。
[0128]本文描述的系統和技術的多種實施方式可以實現為數字電子電路、集成電路、專用ASIC(專用集成電路)、計算機硬件、固件、軟件和/或它們的組合。這些實施方式可以包括一個或多個計算機程序中的實施方式,包括至少一個可編程處理器、至少一個輸入設備以及至少一個輸出設備的可編程系統可執行并且/或者可編譯這些計算機程序,所述可編程處理器可以被專用地或通用地連接以便接收來自存儲系統的數據和指令,并且發送數據和指令到所述存儲系統。
[0129]這些計算機程序(也被稱為程序、軟件、軟件應用或代碼)包括用于可編程處理器的機器指令,并且可以在高層次的過程編程語言和/或面向對象編程語言中實施,并且/或者在匯編語言/機器語言中實施。本文中使用的術語“機器可讀的介質”和“計算機可讀的介質”指的是用于提供機器指令和/或數據到可編程處理器的任何計算機程序產品、裝置和/或設備(例如,磁盤、光盤、存儲器、可編程邏輯器件(PLD)),包括接收機器指令作為機器可讀的信號的機器可讀的介質。術語“機器可讀的信號”指的是用于提供機器指令和/或數據到可編程的處理器的任何信號。
[0130]為了提供與用戶進行交互,本文描述的系統和技術可以在計算機上實施,所述計算機具有顯示設備(例如,CRT (陰極射線管)或LCD (液晶顯示屏)監視器)以及鍵盤和指向設備(例如,鼠標或軌跡球),所述顯示設備用于向用戶顯示信息,并且用戶通過指向設備可以向計算機提供輸入。同樣可以使用其它類型的設備來提供與用戶的交互,例如,提供給用戶的反饋可以是任何形式的傳感反饋(例如,視覺反饋、聽覺反饋或觸覺反饋),并且能夠以任何方式接收來自用戶的輸入,包括聲音輸入、語音輸入或觸覺輸入。
[0131]本文描述的系統和技術可以實現為計算系統,所述計算系統包括后端組件(例如,作為數據服務器),或者所述計算系統包括中間件組件(例如,應用服務器),或者所述計算系統包括前端組件(例如,具有圖形用戶接口的客戶端計算機,或者用戶可以與本文描述的系統和技術的實施方式交互的web瀏覽器)或者這些后端組件、中間件組件或前端組件的任意組合。系統的組件可以通過任何形式或數字數據通信(例如,通信網絡)的介質互連。通信網絡的示例包括局域網(LAN)、寬帶網(WAN)和互聯網。
[0132]計算系統可以包括客戶端和服務器。客戶端和服務器一般彼此距離較遠并且通常通過通信網絡交互。由于在各個計算機上運行并且彼此具有客戶端-服務器關系的計算機程序而出現了客戶端和服務器的關系。
[0133]根據本文描述的系統的結構、功能和裝置以及方法,在一些實現方式中,提供了用于收集并操作事務數據的裝置和方法。由于已經描述了用于客戶端加密以及安全傳輸用戶數據的方法和裝置的實施方式,本領域技術人員現在會明白,可以使用整合本發明的概念的其它實施方式。因此,本發明不應當局限于某些實施方式,而是應當僅由以下權利要求書的精神和范圍來限制。
【權利要求】
1.一種方法,包括: 接收由服務提供商分配以供實體使用的公鑰,其中所述服務提供商維護與所述公鑰配對的私鑰; 由第一計算設備的處理器來確定包括所述公鑰的交互程序; 為終端用戶提供所述交互程序,其中所述交互程序被配置為使得第二計算設備的處理器能夠使用所述公鑰對數據進行加密,其中所述第二計算設備被所述終端用戶控制; 跨越第一網絡從所述第二計算設備接收加密的數據,其中所述第二計算設備的處理器已使用所述公鑰對所述加密的數據進行加密; 跨越第二網絡將所述加密的數據轉發到所述服務提供商,其中所述服務提供商被配置為確定所述私鑰并且對所述加密的數據進行解密,并且所述第一計算設備無法訪問經解密的數據;以及從所述服務提供商接收與所述加密的數據的解密相關的處理結果。
2.如權利要求1所述的方法,其中 所述交互程序是移動計算設備應用;以及 所述第二計算設備是移動計算設備,其中所述移動計算設備應用可配置為安裝在所述第二計算設備的處理器上。
3.如權利要求1所述的方法,其中所述交互程序包含指令,當被執行時,所述指令使所述第二計算設備的處理器使用所述公鑰對數據進行加密。
4.如權利要求3所述的方法,其中所述交互程序包含指令,當被執行時,所述指令進一步使所述第二計算設備的處理器從所述實體和所述服務提供商中的一個下載加密子程序。
5.如權利要求1所述的方法,其中所述交互程序包括能夠在互聯網瀏覽器應用內被呈現的指令。
6.如權利要求1所述的方法,進一步包括將結果信息提供給所述第二計算設備,其中所述結果信息被配置為呈現在所述第二計算設備的顯示屏上。
7.一種方法,其包括: 接收一個或多個加密算法和公鑰,其中 所述第一或多個加密算法被配置為使用所述公鑰對數據進行加密以獲得加密的數據,其中所述加密的數據被配置為使用與所述公鑰配對的私鑰來被解密,并且所述一個或多個加密算法和所述公鑰由服務提供商通過網絡來提供,其中所述服務提供商分配了所述公鑰以供實體使用,并且所述服務提供商存儲所述私鑰; 由第一計算設備的處理器來生成包括所述一個或多個加密算法和所述公鑰的移動設備應用; 提供所述移動設備應用以供通過所述網絡下載; 接收加密的數據,其中所述數據由移動計算設備的處理器通過所述一個或多個加密算法和所述公鑰來加密,其中所述移動設備應用被安裝在所述移動計算設備上; 將所述加密的數據轉發到第二計算設備,其中 所述第二計算設備被所述服務提供商控制,并且 所述服務提供商被配置為:對所述加密的數據進行解密以獲得解密的數據,并且 管理所述解密的數據的處理以獲得處理結果;以及 從所述第二計算設備接收所述處理結果。
8.如權利要求7所述的方法,進一步包括: 由第三計算設備的處理器來生成結果信息,其中所述結果信息是基于所述處理結果的;以及 經由所述網絡將所述結果信息提供給執行在所述移動計算設備上的所述移動設備應用。
9.如權利要求8所述的方法,其中所述第一計算設備是所述第三計算設備。
10.如權利要求7所述的方法,進一步包括: 將處理類型的指示提供給所述第二計算設備,其中所述處理類型與所述加密的數據相關聯,以及 所述服務提供商基于所述處理類型來管理所述解密的數據的處理。
11.一種方法,包括: 由第一計算設備的處理器來分配多個公鑰,其中所述多個公鑰中的每個相應的公鑰被分配給多個實體中的相應的實體; 將多個私鑰存儲在所述第一計算設備的存儲器中,其中所述多個私鑰中的每個相應的私鑰都對應于所述多個公鑰中的相應的公鑰; 將一個或多個解密算法存儲在所述第一計算設備的存儲器中,其中所述一個或多個解密算法中的每個相應的解密算法都被配置為對使用一個或多個加密算法中的至少一個加密算法先前加密的數據進行解密,其中所述一個或多個加密算法中的每個相應的加密算法都被配置為使用所述多個公鑰中的至少一個公鑰來對數據進行加密,并且 所述一個或多個解密算法中的每個相應的解密算法都被配置為使用所述多個私鑰中的至少一個私鑰來對數據進行解密; 接收解密的數據,其中 所述解密的數據使用所述多個公鑰中的第一公鑰和所述一個或多個加密算法中的第一加密算法被加密,并且 所述加密的數據通過網絡來提供; 由所述第一計算設備的處理器來確定所述多個私鑰中的第一私鑰,其中 所述第一私鑰對應于所述第一公鑰,并且 所述第一公鑰被分配給所述多個實體中的第一實體; 由所述第一計算設備的處理器使用所述第一私鑰和所述一個或多個解密算法中的至少一個解密算法來對所述加密的數據進行解密,其中解密的數據通過對所述加密的數據進行解密來獲得; 提供所述解密的數據的一部分以供處理引擎處理,其中第二計算設備包括所述處理引擎; 接收由所述處理引擎所生成的處理結果,其中所述處理結果與所述解密的數據的部分相關;以及通過所述網絡將所述處理結果提供給所述第一實體。
12.如權利要求11所述的方法,進一步包括:在提供所述解密的數據的部分以供所述處理引擎處理之前,由所述第一計算設備的處理器對用于處理的所述解密的數據進行排隊。
13.如權利要求11所述的方法,進一步包括在接收所述加密的數據之前: 接收針對所述第一加密算法的下載請求,其中所述下載請求跨越所述網絡從第三計算設備被接收;以及 經由所述網絡將所述第一加密算法提供給所述第三計算設備。
14.如權利要求13所述的方法,其中所述下載請求包括超文本傳輸協議請求。
15.如權利要求13所述的方法,進一步包括: 將所述一個或多個加密算法作為一個或多個加密子程序存儲在所述第一計算設備的存儲器中,其中 提供所述第一加密算法包括提供所述一個或多個加密子程序中的第一加密子程序,其中所述第一加密子程序包括所述第一加密算法。
16.如權利要求15所述的方法,其中所述第一加密子程序包括運行時解釋指令。
17.如權利要求11所述的方法,進一步包括將所述解密的數據和所述加密的數據中的至少一個存儲在所述第一計算設備可訪問的存儲檔案中。
18.如權利要求11所述的方法,進一步包括: 通過所述網絡接收未加密的數據,其中所述未加密的數據與所述加密的數據相關;以及 提供所述未加密的數據的一部分以供所述處理引擎處理,其中所述未加密的數據的一部分中提供有所述解密的數據的一部分。
19.如權利要求11所述的方法,進一步包括通過所述網絡接收將對所述解密的數據執行的處理的類型的指示,其中所述處理的類型的指示由被所述第一實體所控制的第三計算設備來提供。
20.如權利要求19所述的方法,其中所述處理的類型包括信用卡授權和背景檢查中的至少一個。
21.如權利要求19所述的方法,其中所述加密的數據包括信用卡信息、醫療歷史信息、社會保障號、銀行賬戶號以及駕駛執照號中的一個或多個。
22.如權利要求11所述的方法,其中 所述加密的數據通過所述網絡從被所述第一實體所控制的第三計算設備來提供;并且 所述第一實體能夠對所述加密的數據進行解密。
23.—種方法,其包括: 將一個或多個加密算法存儲在第一計算設備的存儲器中; 將所述一個或多個加密算法中的第一加密算法提供給跨越網絡的請求者; 將一個或多個解密算法存儲在所述第一計算設備的存儲器中,其中 所述一個或多個解密算法中的每個相應的解密算法都被配置為對使用所述一個或多個加密算法中的至少一個加密算法先前加密的數據進行解密; 接收處理請求,其中所述處理請求包括加密的數據、非加密的數據以及要被執行的處理的類型的指示,其中 所述處理請求通過網絡從由實體所控制的第二計算設備來提供,并且 所述加密的數據使用所述第一加密算法被加密; 由所述第一計算設備的處理器來確定所述加密的數據與所述實體相關聯; 由所述第一計算設備的處理器來確定所述一個或多個解密算法中的第一解密算法; 由所述第一計算設備的處理器使用所述第一解密算法對所述加密的數據進行解密,其中 解密的數據通過對所述加密的數據進行解密來獲得; 由所述第一計算設備的處理器來確定被配置為使用所述處理的類型來處理所述解密的數據的處理引擎; 經由第二網絡將所述解密的數據的一部分和所述未解密的數據的一部分提供給第三計算設備,其中 所述第三計算設備包括所述處理引擎; 從所述第三計算設備接收處理結果;以及 將所述處理結果提供給所述第二計算設備。
24.如權利要求23所述的方法,其中所述第一加密算法是非對稱加密算法。
25.如權利要求24所述的方法,進一步包括: 由所述第一計算設備的處理器將公鑰分配給所述實體; 將所述公鑰提供給所述第二計算設備,其中所述加密的數據使用所述公鑰被加密;并且 將私鑰存儲在所述第一計算設備的存儲器中,其中 所述私鑰與所述公鑰配對,以及 對所述加密的數據進行解密包括使用所述私鑰進行解密。
26.—種方法,其包括: 將一個或多個加密算法作為一個或多個加密子程序存儲在第一計算設備的存儲器中; 通過網絡接收針對所述一個或多個加密子程序中的第一加密子程序的下載請求; 通過所述網絡提供所述第一加密子程序; 通過所述網絡接收處理請求,其中 所述處理請求包括加密的數據,其中所述加密的數據使用所述第一加密子程序被加密; 由所述第一計算設備的處理器來確定所述加密的數據與所述實體相關聯; 由所述第一計算設備的處理器來確定第一解密算法,其中所述第一解密算法被配置為對所述加密的數據進行加密; 由所述第一計算設備的處理器來使用所述第一解密算法對所述加密的數據進行解密,其中解密的數據通過對所述加密的數據進行解密來獲得; 由所述第一計算設備的處理器來確定用于處理所述解密的數據的處理引擎; 通過第二網絡將所述解密的數據的一部分提供給第二計算設備,其中 所述第二計算設備包括所述處理引擎;從所述第二計算設備接收處理結果;以及 跨越所述網絡將所述處理結果提供給第三計算設備,其中所述第三計算設備被所述實體所控制。
27.如權利要求26所述的方法,其中所述處理請求被從所述第三計算設備接收。
28.如權利要求26所述的方法,其中所述處理結果包括批準和拒絕中的至少一個的指
29.如權利要求26所述的方法,其中所述下載請求被從由終端用戶所控制的第四計算設備接收,其中所述 第四計算設備不同于所述第二計算設備和所述第三計算設備。
【文檔編號】H04L9/00GK104040933SQ201280059324
【公開日】2014年9月10日 申請日期:2012年10月1日 優先權日:2011年9月30日
【發明者】丹尼爾·麥戈斯 申請人:電子灣有限公司