相關(guān)申請(qǐng)的交叉引用
本申請(qǐng)是2015年1月27日提交的美國(guó)臨時(shí)申請(qǐng)?zhí)?2/108,468(代理人案卷號(hào):079900-0929835)的非臨時(shí)申請(qǐng),并要求其優(yōu)先權(quán),該申請(qǐng)出于所有目的以引用方式全文并入。本申請(qǐng)涉及2015年8月31日提交的美國(guó)申請(qǐng)14/841,589(代理人案卷號(hào):079900-0945228),該申請(qǐng)出于所有目的以引用方式全文并入。
背景技術(shù):
隨著用戶裝置,諸如實(shí)現(xiàn)nfc的移動(dòng)電話和非接觸卡的普及程度持續(xù)增加,維持支付和其他交易的安全性一直是一個(gè)需要關(guān)注的問題。例如,為了執(zhí)行支付交易,通常需要認(rèn)證用戶裝置。用于認(rèn)證用戶裝置的一種方法是通過使用由裝置生成的密碼。密碼通常使用從服務(wù)器供應(yīng)的敏感憑證數(shù)據(jù)生成。如果攻擊者獲得敏感憑證數(shù)據(jù),其可能會(huì)偽造密碼。因此,憑證數(shù)據(jù)的安全性對(duì)于進(jìn)行安全交易至關(guān)重要。然而,在發(fā)送和存儲(chǔ)期間提供對(duì)憑證數(shù)據(jù)的充分保護(hù)是一個(gè)挑戰(zhàn),因?yàn)楣粽呖赡軙?huì)竊聽供應(yīng)消息或破壞用戶裝置。
本發(fā)明的實(shí)施例單獨(dú)和一起解決了這些和其他問題。
技術(shù)實(shí)現(xiàn)要素:
各實(shí)施例涉及用于安全地供應(yīng)憑證數(shù)據(jù)的系統(tǒng)和方法。本文描述的技術(shù)可以在供應(yīng)過程期間和之后提供對(duì)敏感憑證數(shù)據(jù)的端到端保護(hù),以便最小化暴露憑證數(shù)據(jù)的風(fēng)險(xiǎn)。
根據(jù)一些實(shí)施例,提供了一種計(jì)算機(jī)實(shí)現(xiàn)的方法。一次性用戶或客戶端公鑰可以由用戶裝置來確定。用戶裝置可以向供應(yīng)服務(wù)器計(jì)算機(jī)發(fā)送包括一次性用戶公鑰的供應(yīng)請(qǐng)求消息。用戶裝置可以從供應(yīng)服務(wù)器計(jì)算機(jī)接收加密的供應(yīng)響應(yīng)消息,該加密的供應(yīng)響應(yīng)消息包括加密的憑證數(shù)據(jù)。用戶裝置可以使用靜態(tài)服務(wù)器公鑰來確定響應(yīng)共享秘密。用戶裝置可以從響應(yīng)共享秘密確定響應(yīng)會(huì)話密鑰,該響應(yīng)會(huì)話密鑰可用于解密加密的供應(yīng)響應(yīng)消息。用戶裝置可以由用戶裝置使用響應(yīng)會(huì)話密鑰解密加密的供應(yīng)響應(yīng)消息,以確定加密的憑證數(shù)據(jù)??梢詮捻憫?yīng)共享秘密確定存儲(chǔ)保護(hù)密鑰,存儲(chǔ)保護(hù)密鑰不同于響應(yīng)會(huì)話密鑰,并且可用于解密加密的憑證數(shù)據(jù)。存儲(chǔ)保護(hù)密鑰可以使用密鑰加密密鑰來加密,以生成加密的存儲(chǔ)保護(hù)密鑰。加密的存儲(chǔ)保護(hù)密鑰可以被存儲(chǔ)。加密的憑證數(shù)據(jù)可以被存儲(chǔ)。
憑證數(shù)據(jù)可以包括使用受限密鑰(luk)或一次性使用密鑰(suk)的密鑰導(dǎo)出數(shù)據(jù)。加密的憑證數(shù)據(jù)可以存儲(chǔ)在遠(yuǎn)程連接到用戶裝置的存儲(chǔ)服務(wù)器中,加密的存儲(chǔ)保護(hù)密鑰可以存儲(chǔ)在用戶裝置中。
響應(yīng)于生成用于認(rèn)證授權(quán)請(qǐng)求消息的密碼的指示,可以檢索加密的憑證數(shù)據(jù)。加密的存儲(chǔ)保護(hù)密鑰可以被檢索。加密的存儲(chǔ)保護(hù)密鑰可以使用密鑰加密密鑰來解密,以獲得存儲(chǔ)保護(hù)密鑰??梢允褂么鎯?chǔ)保護(hù)密鑰對(duì)加密的憑證數(shù)據(jù)進(jìn)行解密以獲得憑證數(shù)據(jù)。并且可以使用憑證數(shù)據(jù)生成密碼。在一些實(shí)施例中,使用存儲(chǔ)保護(hù)密鑰解密該加密的憑證數(shù)據(jù)包括使用存儲(chǔ)保護(hù)密鑰和用于憑證加密密鑰的密鑰導(dǎo)出數(shù)據(jù)來導(dǎo)出憑證加密密鑰,密鑰導(dǎo)出數(shù)據(jù)包括用戶裝置專用的數(shù)據(jù),以及使用憑證加密密鑰來解密該加密的憑證數(shù)據(jù)。在一些實(shí)施例中,使用從憑證數(shù)據(jù)導(dǎo)出的密碼密鑰來生成密碼。
用戶裝置可以使用與一次性用戶公鑰和靜態(tài)服務(wù)器公鑰相對(duì)應(yīng)的用戶私鑰來生成請(qǐng)求共享秘密。使用請(qǐng)求共享秘密可以加密請(qǐng)求數(shù)據(jù)以獲得加密的請(qǐng)求數(shù)據(jù),其中,供應(yīng)請(qǐng)求消息包括該加密的請(qǐng)求數(shù)據(jù)。
供應(yīng)響應(yīng)消息可以包括盲化的靜態(tài)服務(wù)器公鑰,并且可以使用該盲化的靜態(tài)服務(wù)器公鑰來確定響應(yīng)共享秘密。
確定一次性用戶公鑰可以包括生成包括臨時(shí)用戶私鑰和臨時(shí)用戶公鑰的臨時(shí)用戶密鑰對(duì),其中臨時(shí)用戶公鑰被用作一次性用戶公鑰??商娲?,確定一次性用戶公鑰可以包括對(duì)靜態(tài)用戶公鑰進(jìn)行盲化。
根據(jù)一些實(shí)施例,提供了一種計(jì)算機(jī)實(shí)現(xiàn)的方法。服務(wù)器計(jì)算機(jī)可以從用戶裝置接收包括一次性用戶公鑰的供應(yīng)請(qǐng)求消息。可以使用靜態(tài)服務(wù)器私鑰和一次性用戶公鑰來生成響應(yīng)共享秘密。可以識(shí)別將要包括于供應(yīng)響應(yīng)消息中的憑證數(shù)據(jù)??梢詮捻憫?yīng)共享秘密確定響應(yīng)會(huì)話密鑰,該響應(yīng)會(huì)話密鑰可用于加密供應(yīng)響應(yīng)消息??梢詮捻憫?yīng)共享秘密確定存儲(chǔ)保護(hù)密鑰,存儲(chǔ)保護(hù)密鑰不同于響應(yīng)會(huì)話密鑰,并且可用于加密該憑證數(shù)據(jù)。可以使用存儲(chǔ)保護(hù)密鑰對(duì)憑證數(shù)據(jù)進(jìn)行加密以生成加密的憑證數(shù)據(jù)。可以使用響應(yīng)會(huì)話密鑰來加密供應(yīng)響應(yīng)消息以生成加密的供應(yīng)響應(yīng)消息,其中供應(yīng)響應(yīng)消息包括加密的憑證數(shù)據(jù)。服務(wù)器計(jì)算機(jī)可以向用戶裝置發(fā)送加密的供應(yīng)響應(yīng)消息。
憑證數(shù)據(jù)可以包括luk和可用于導(dǎo)出用于生成密碼的密碼密鑰的密碼密鑰導(dǎo)出數(shù)據(jù)。
加密該憑證數(shù)據(jù)可以包括使用存儲(chǔ)保護(hù)密鑰和密鑰導(dǎo)出數(shù)據(jù)來確定憑證加密密鑰,其中密鑰導(dǎo)出數(shù)據(jù)是用戶裝置專有的。供應(yīng)響應(yīng)消息可以包括與靜態(tài)服務(wù)器私鑰相對(duì)應(yīng)的盲化的靜態(tài)服務(wù)器公鑰。
根據(jù)一些實(shí)施例,提供了一種計(jì)算機(jī)實(shí)現(xiàn)的方法。一次性用戶公鑰可以由用戶裝置來確定??梢源_定存儲(chǔ)保護(hù)公鑰。供應(yīng)請(qǐng)求消息可以被發(fā)送到供應(yīng)服務(wù)器計(jì)算機(jī),包括一次性用戶公鑰和存儲(chǔ)保護(hù)公鑰??梢詮墓?yīng)服務(wù)器計(jì)算機(jī)接收加密的供應(yīng)響應(yīng)消息,加密的供應(yīng)響應(yīng)消息包括加密的憑證數(shù)據(jù),其中使用存儲(chǔ)保護(hù)公鑰對(duì)加密的憑證數(shù)據(jù)進(jìn)行加密??梢允褂渺o態(tài)服務(wù)器公鑰確定響應(yīng)共享秘密??梢詮捻憫?yīng)共享秘密確定響應(yīng)會(huì)話密鑰,該響應(yīng)會(huì)話密鑰可用于解密該加密的供應(yīng)響應(yīng)消息。可以使用該響應(yīng)會(huì)話密鑰對(duì)加密的供應(yīng)響應(yīng)消息進(jìn)行解密以確定加密的憑證數(shù)據(jù)。加密的憑證數(shù)據(jù)可以被存儲(chǔ)。
存儲(chǔ)保護(hù)公鑰和一次性用戶公鑰可以都對(duì)應(yīng)于相同的用戶私鑰??商娲兀鎯?chǔ)保護(hù)公鑰和一次性用戶公鑰對(duì)應(yīng)于不同的用戶私鑰。
響應(yīng)于生成用于認(rèn)證授權(quán)請(qǐng)求消息的密碼的指示,可以檢索加密的憑證數(shù)據(jù)。可以使用對(duì)應(yīng)于存儲(chǔ)保護(hù)公鑰的存儲(chǔ)保護(hù)私鑰對(duì)加密的憑證數(shù)據(jù)進(jìn)行解密以獲得憑證數(shù)據(jù)??梢允褂脩{證數(shù)據(jù)生成密碼。
其他實(shí)施例涉及與本文中描述的方法關(guān)聯(lián)的系統(tǒng)、便攜式消費(fèi)者裝置和計(jì)算機(jī)可讀介質(zhì)。
參照下面的詳細(xì)描述和附圖可以獲得對(duì)本發(fā)明的實(shí)施例的特性和優(yōu)點(diǎn)的更好理解。
附圖說明
圖1示出根據(jù)一些實(shí)施例的示例性支付系統(tǒng)。
圖2示出根據(jù)一些實(shí)施例的用戶裝置的實(shí)例。
圖3示出根據(jù)一些實(shí)施例的服務(wù)器計(jì)算機(jī)的實(shí)例。
圖4示出根據(jù)一些實(shí)施例的安全憑證供應(yīng)過程的高級(jí)框圖。
圖5示出根據(jù)一些實(shí)施例的用于從服務(wù)器計(jì)算機(jī)安全地供應(yīng)憑證數(shù)據(jù)的示例性過程。
圖6示出根據(jù)一些實(shí)施例的用于從服務(wù)器計(jì)算機(jī)安全地供應(yīng)憑證數(shù)據(jù)的另一個(gè)示例性過程。
圖7示出根據(jù)一些實(shí)施例的使用憑證數(shù)據(jù)來進(jìn)行交易的示例性過程。
圖8示出根據(jù)一些實(shí)施例的使用憑證數(shù)據(jù)來進(jìn)行交易的另一個(gè)示例性過程。
圖9示出根據(jù)一些實(shí)施例的用于向用戶裝置安全地供應(yīng)憑證的示例性過程。
圖10示出根據(jù)一些實(shí)施例的用于向用戶裝置安全地供應(yīng)憑證的另一個(gè)示例性過程。
圖11示出根據(jù)實(shí)施例用于供應(yīng)和使用憑證數(shù)據(jù)的數(shù)據(jù)流程圖。
圖12示出根據(jù)一些實(shí)施例的供應(yīng)請(qǐng)求消息和對(duì)應(yīng)的供應(yīng)響應(yīng)消息的第一實(shí)例。
圖13示出根據(jù)一些實(shí)施例的供應(yīng)請(qǐng)求消息和對(duì)應(yīng)的供應(yīng)響應(yīng)消息的第二實(shí)例。
圖14示出可以用來實(shí)現(xiàn)上文描述的任何實(shí)體或組件的計(jì)算機(jī)系統(tǒng)的高級(jí)框圖。
術(shù)語(yǔ)
在討論本發(fā)明的一些實(shí)施例之前,對(duì)一些術(shù)語(yǔ)的描述可能有助于理解本發(fā)明的實(shí)施例。
術(shù)語(yǔ)“服務(wù)器計(jì)算機(jī)”可以包括計(jì)算機(jī)或計(jì)算裝置的集群。例如,服務(wù)器計(jì)算機(jī)可以是大的主機(jī)、小型計(jì)算機(jī)集群或像一個(gè)單元一樣工作的一組服務(wù)器。在一個(gè)實(shí)例中,服務(wù)器計(jì)算機(jī)可以是耦連至網(wǎng)絡(luò)服務(wù)器的數(shù)據(jù)庫(kù)服務(wù)器。服務(wù)器計(jì)算機(jī)可以耦連到數(shù)據(jù)庫(kù)并且可以包括用于服務(wù)于來自一個(gè)或多個(gè)客戶端計(jì)算機(jī)(例如用戶裝置)的請(qǐng)求的任何硬件、軟件、其他邏輯、或前述內(nèi)容的組合。服務(wù)器計(jì)算機(jī)可以包括一個(gè)或多個(gè)計(jì)算設(shè)備并且可以使用各種計(jì)算結(jié)構(gòu)、排列和編譯中的任何一種來服務(wù)于來自一個(gè)或多個(gè)客戶端計(jì)算機(jī)的請(qǐng)求。
術(shù)語(yǔ)“公/私鑰對(duì)”可以包括由實(shí)體生成的一對(duì)關(guān)聯(lián)加密密鑰。公鑰可以用于公共功能,諸如對(duì)要發(fā)送給實(shí)體的消息進(jìn)行加密,或用于對(duì)應(yīng)該由實(shí)體做出的數(shù)字簽名進(jìn)行驗(yàn)證。另一方面,私鑰可以用于私用功能,諸如對(duì)接收到的消息解密或應(yīng)用數(shù)字簽名。公鑰通常會(huì)由被稱為證書機(jī)構(gòu)(ca)的主體進(jìn)行授權(quán),證書機(jī)構(gòu)將公鑰存儲(chǔ)在數(shù)據(jù)庫(kù)中并將其分配給請(qǐng)求它的任何其他實(shí)體。私鑰一般會(huì)被保持在安全存儲(chǔ)介質(zhì)中并且通常只有實(shí)體知道。然而,本文中描述的密碼系統(tǒng)可以以用于恢復(fù)丟失的密鑰并避免數(shù)據(jù)丟失的密鑰恢復(fù)機(jī)制為特征。公鑰和私鑰可以是任何適當(dāng)格式,包括基于rsa或橢圓曲線密碼學(xué)(ecc)的格式。
“數(shù)字簽名”可以指基于公/私鑰對(duì)應(yīng)用算法的結(jié)果,這種算法允許簽名方顯示,并且允許驗(yàn)證方驗(yàn)證文件的真實(shí)性和完整性。簽名方借助于私鑰起作用,驗(yàn)證方借助于公鑰起作用。這個(gè)過程證明發(fā)送者的真實(shí)性、已簽名文件的完整性和所稱的不可否認(rèn)性原則,所述原則不允許否認(rèn)已經(jīng)簽名的內(nèi)容。證書或包括簽名方的數(shù)字簽名的其他數(shù)據(jù)被稱為是由簽名方“簽名的”。
“證書”或“數(shù)字證書”可以包括使用數(shù)字簽名將公鑰與關(guān)聯(lián)身份的數(shù)據(jù)綁定的電子文件或數(shù)據(jù)文件。證書可以包括一個(gè)或多個(gè)數(shù)據(jù)字段,例如身份的合法名稱、證書的序列號(hào)、證書的起始有效期和終止有效期、證書相關(guān)許可等。證書可以包含指示證書有效的第一個(gè)日期的“起始有效”日期,以及指示證書有效的最后日期的“終止有效”日期。證書還可以包含證書中包括數(shù)據(jù)字段的數(shù)據(jù)的散列。除非另外說明,每個(gè)證書都由證書機(jī)構(gòu)簽名。
“證書機(jī)構(gòu)”(ca)可以包括可操作耦連以向?qū)嶓w發(fā)行證書的一個(gè)或多個(gè)服務(wù)器計(jì)算機(jī)。ca可以使用ca證書證明其身份,ca證書包括ca的公鑰??梢杂昧硪粋€(gè)ca的私鑰或者可以用同一個(gè)ca的私鑰對(duì)ca證書簽名。后者被稱為自簽名證書。ca可以維護(hù)由ca發(fā)行的所有證書的數(shù)據(jù)庫(kù),并且還可以維護(hù)被撤銷的證書的列表。
在一個(gè)典型過程中,證書機(jī)構(gòu)從其身份已知的實(shí)體接收未簽名的證書。未簽名的證書包括公鑰、一個(gè)或多個(gè)數(shù)據(jù)字段、以及證書中的數(shù)據(jù)的散列。ca用與ca證書上所包括的公鑰相對(duì)應(yīng)的私鑰對(duì)證書進(jìn)行簽名。ca然后可以將簽名的證書存儲(chǔ)在數(shù)據(jù)庫(kù)中,并將簽名的證書發(fā)行給實(shí)體。
“密碼隨機(jī)數(shù)”可以包括任何數(shù)字、字符串、位序列、或旨在關(guān)聯(lián)單個(gè)通信會(huì)話使用的其他數(shù)據(jù)值。在一些情況下,密碼隨機(jī)數(shù)可以是隨機(jī)或偽隨機(jī)生成的。例如,密碼隨機(jī)數(shù)可以是隨機(jī)數(shù)。通常,密碼隨機(jī)數(shù)具有足夠的長(zhǎng)度以使多次獨(dú)立生成同一隨機(jī)數(shù)值的可能性不大。
“盲化密鑰(blindedkey)”,諸如“盲化公鑰”可以包括通過與另一數(shù)據(jù)元素(如密碼隨機(jī)數(shù))結(jié)合而被模糊化或以其他方式修改了其原始值的密鑰。例如,在橢圓曲線密碼學(xué)中,公鑰可以乘以隨機(jī)數(shù)從而生成“盲化公鑰”。類似地,私鑰可以乘以隨機(jī)數(shù)從而生成“盲化私鑰”。
“一次性密鑰”是指僅提供一次的密鑰。一次性密鑰可以包括來自臨時(shí)密鑰對(duì)的密鑰,如下所述。在一些實(shí)施例中,一次性密鑰可以包括使用相同的靜態(tài)密鑰(例如,靜態(tài)公鑰)生成但是使用不同的密碼隨機(jī)數(shù)、識(shí)別因子或其他盲化因子被盲化的盲化密鑰。
“臨時(shí)密鑰對(duì)”可以包括為單次交易或其他通信會(huì)話使用而生成的公鑰(即“臨時(shí)公鑰”)和私鑰(即“臨時(shí)私鑰”)。臨時(shí)密鑰對(duì)可以是任何適當(dāng)格式,諸如ecc或rsa。通常,一旦交易或通信會(huì)話已經(jīng)結(jié)束,就可以刪除臨時(shí)密鑰對(duì)。
“靜態(tài)密鑰對(duì)”可以包括在一段時(shí)間內(nèi)被維護(hù)的公鑰(即“靜態(tài)公鑰”)和私鑰(即“靜態(tài)私鑰”)。通常但不一定,靜態(tài)私鑰可以被安全地存儲(chǔ)在諸如硬件安全模塊(hsm)或安全元件(se)中。通常但不一定,靜態(tài)公鑰可以通過使用數(shù)字證書綁定到身份。靜態(tài)密鑰對(duì)可以是任何適當(dāng)格式,諸如ecc或rsa。
“共享秘密”可以包括只對(duì)安全通信中的被授權(quán)方已知的任何數(shù)據(jù)值或其他信息。共享秘密可以以任何適當(dāng)方式由任何適當(dāng)數(shù)據(jù)生成。例如,可以使用基于diffie-hellman的算法,諸如橢圓曲線diffie-hellman(ecdh),以由私鑰和公鑰生成共享秘密。在一些情況下,共享秘密可以用來生成會(huì)話密鑰。
術(shù)語(yǔ)“識(shí)別數(shù)據(jù)”可以包括與用戶或裝置關(guān)聯(lián)的任何數(shù)據(jù)或信息。識(shí)別數(shù)據(jù)的實(shí)例可以包括與裝置關(guān)聯(lián)的用戶的姓名,與裝置關(guān)聯(lián)的組織,與裝置關(guān)聯(lián)的支付信息,諸如主賬號(hào)(pan)或令牌,pan或令牌的到期日期,與裝置關(guān)聯(lián)的證書,裝置的imei或序列號(hào),等等。
術(shù)語(yǔ)“認(rèn)證數(shù)據(jù)”可以包括適于認(rèn)證用戶或裝置的任何數(shù)據(jù)或信息。認(rèn)證數(shù)據(jù)的實(shí)例可以包括口令或口令短語(yǔ),密碼密鑰(例如,私鑰)、證書、與用戶關(guān)聯(lián)的生物測(cè)定數(shù)據(jù)(例如,指紋、聲音、面部圖像、虹膜/視網(wǎng)膜掃描)等等。
“識(shí)別因子”可以包括從識(shí)別數(shù)據(jù)和/或認(rèn)證數(shù)據(jù)確定的任何數(shù)據(jù)或信息。通常但不一定,識(shí)別因子可以通過對(duì)識(shí)別數(shù)據(jù)和認(rèn)證數(shù)據(jù)的組合求散列來生成。
“加密密鑰”可以包括適用于用密碼加密數(shù)據(jù)的任何數(shù)據(jù)值或其他信息?!敖饷苊荑€”可以包括適用于對(duì)已加密的數(shù)據(jù)進(jìn)行解密的任何數(shù)據(jù)值或其他信息。在一些情況下,用于加密數(shù)據(jù)的同一密鑰可以可操作以解密數(shù)據(jù)。這種密鑰可以被稱作對(duì)稱加密密鑰。
“會(huì)話密鑰”可以包括用來加密或解密待被安全傳送的數(shù)據(jù)的任何密鑰。在一些情況下,會(huì)話密鑰可以從發(fā)送實(shí)體和接收實(shí)體都知道的共享秘密生成。例如,會(huì)話密鑰可以使用密鑰導(dǎo)出函數(shù)和共享秘密被導(dǎo)出。會(huì)話密鑰可以用來保護(hù)在請(qǐng)求或響應(yīng)消息中包括的數(shù)據(jù)。在這些情況下,會(huì)話密鑰還可以被稱作消息保護(hù)密鑰。
“憑證”或“憑證數(shù)據(jù)”可以包括從服務(wù)器向用戶裝置(例如移動(dòng)裝置)供應(yīng)的使得用戶裝置能夠進(jìn)行交易(例如支付交易)的任何數(shù)據(jù)。憑證數(shù)據(jù)的實(shí)例可以包括令牌,pan或其他帳戶信息,一個(gè)或多個(gè)密鑰(例如,用于生成密碼的luk,加密密鑰,盲化或未混合的靜態(tài)公鑰等),密鑰導(dǎo)出參數(shù)(例如,用于導(dǎo)出用于生成密碼、共享秘密密鑰、加密密鑰等的suk),密碼導(dǎo)出參數(shù),證書鏈信息,交易參數(shù)以及任何其他合適的數(shù)據(jù)。
“存儲(chǔ)保護(hù)密鑰”或“憑證保護(hù)密鑰”可以包括用于保護(hù)憑證數(shù)據(jù)或任何其他敏感數(shù)據(jù)的加密密鑰。例如,存儲(chǔ)保護(hù)密鑰可以直接用于加密或解密憑證數(shù)據(jù)。存儲(chǔ)保護(hù)密鑰也可以直接用于加密或解密該憑證數(shù)據(jù)。例如,存儲(chǔ)保護(hù)密鑰可以用于導(dǎo)出隨后用于加密或解密該憑證數(shù)據(jù)的另外加密密鑰。在一些實(shí)施例中,存儲(chǔ)保護(hù)密鑰可以包括私/公密鑰對(duì)。公鑰可以用于加密憑證數(shù)據(jù),而私鑰可以用于解密憑證數(shù)據(jù)。
“使用受限密鑰(luk)”可以包括可以被使用有限次數(shù)的任何加密密鑰或其他數(shù)據(jù)。luk可以用于任何適當(dāng)目的。例如,在一些實(shí)施例中,luk可以用來生成用于交易的密碼。
“一次使用密鑰(suk)”是只能夠被使用一次的luk。例如,suk可以用來加密和/或解密與單次交易有關(guān)的數(shù)據(jù)。在一些實(shí)施例中,suk可以從luk導(dǎo)出。
“密碼(cryptogram)”可以包括用來認(rèn)證諸如裝置或用戶之類的實(shí)體的任何數(shù)據(jù)元素或其他信息。例如,密碼可以包括靜態(tài)(例如預(yù)定的)數(shù)據(jù)、動(dòng)態(tài)數(shù)據(jù)或使用加密密鑰(例如luk)加密的靜態(tài)和動(dòng)態(tài)數(shù)據(jù)的組合。密碼可以用在任何適當(dāng)?shù)纳舷挛闹?。例如,“注?cè)密碼”可以包括被用來確認(rèn)實(shí)體的注冊(cè)的密碼?!敖灰酌艽a”可以包括被用來認(rèn)證執(zhí)行交易的實(shí)體的密碼。
具體實(shí)施方式
各實(shí)施例可以提供用于安全地供應(yīng)敏感憑證數(shù)據(jù)(例如使用受限密鑰(luk))到用戶裝置上的方法。在一些實(shí)施例中,憑證數(shù)據(jù)可以使用單獨(dú)的存儲(chǔ)保護(hù)密鑰進(jìn)行加密,并且僅在交易時(shí)被解密以生成交易密碼。因此,可以在憑證數(shù)據(jù)的傳送和存儲(chǔ)期間提供端到端保護(hù),僅在需要憑證數(shù)據(jù)時(shí)限制憑證數(shù)據(jù)的暴露,從而降低憑證數(shù)據(jù)泄密的風(fēng)險(xiǎn)。
例如,在一個(gè)實(shí)施例中,用戶裝置可以確定一次性用戶公鑰,并將包括該一次性用戶公鑰的供應(yīng)請(qǐng)求消息發(fā)送到供應(yīng)服務(wù)器計(jì)算機(jī)。供應(yīng)服務(wù)器計(jì)算機(jī)可以識(shí)別將要包括在供應(yīng)響應(yīng)消息中的憑證數(shù)據(jù)(例如luk)。服務(wù)器計(jì)算機(jī)可以使用一次性用戶公鑰和靜態(tài)服務(wù)器私鑰生成響應(yīng)共享秘密。響應(yīng)共享秘密可用于確定響應(yīng)會(huì)話密鑰和存儲(chǔ)保護(hù)密鑰。存儲(chǔ)保護(hù)密鑰可用于加密憑證數(shù)據(jù)以生成加密的憑證數(shù)據(jù)。加密的憑證數(shù)據(jù)可以包括在供應(yīng)響應(yīng)消息中。供應(yīng)響應(yīng)消息可以使用響應(yīng)會(huì)話密鑰加密并發(fā)送到用戶裝置。
用戶裝置可以使用靜態(tài)服務(wù)器公鑰和對(duì)應(yīng)于用戶公鑰的用戶私鑰來導(dǎo)出響應(yīng)共享秘密。用戶裝置可以從響應(yīng)共享秘密確定響應(yīng)會(huì)話密鑰,并使用響應(yīng)會(huì)話密鑰解密該加密的供應(yīng)響應(yīng)消息,以確定加密的憑證數(shù)據(jù)。用戶裝置還可以從響應(yīng)共享秘密中確定存儲(chǔ)保護(hù)密鑰。加密的憑證數(shù)據(jù)可以在用戶裝置或外部存儲(chǔ)提供方處被原樣存儲(chǔ)而不被解密。存儲(chǔ)保護(hù)密鑰也可以在存儲(chǔ)之前可選地進(jìn)行加密。
在交易時(shí),可以使用存儲(chǔ)保護(hù)密鑰來檢索和解密加密的憑證數(shù)據(jù)。解密的憑證數(shù)據(jù)可用于生成可用于進(jìn)行交易的密碼。
因此,可以為敏感憑證數(shù)據(jù)提供端到端保護(hù)。憑證數(shù)據(jù)在發(fā)送期間保持被加密,因此即使攻擊者攔截了供應(yīng)請(qǐng)求消息,他也無法解密憑證數(shù)據(jù)而不能訪問存儲(chǔ)保護(hù)密鑰。此外,憑證數(shù)據(jù)在靜止時(shí)保持被加密,使得在存儲(chǔ)裝置(例如用戶裝置)被危害的不太可能的情況下,憑證數(shù)據(jù)被保護(hù)免受攻擊者危害。由于憑證數(shù)據(jù)以加密的形式存儲(chǔ),攻擊者不能使用憑證數(shù)據(jù),除非攻擊者也擁有存儲(chǔ)保護(hù)密鑰。此外,一些實(shí)施例可以將存儲(chǔ)保護(hù)密鑰和加密的憑證數(shù)據(jù)存儲(chǔ)在不同的位置。例如,存儲(chǔ)保護(hù)密鑰可以存儲(chǔ)在安全元件中。這樣的實(shí)施例可進(jìn)一步減輕泄密的風(fēng)險(xiǎn)。
此外,一些實(shí)施例能夠只使用兩個(gè)消息把加密的憑證數(shù)據(jù)供應(yīng)到之前未認(rèn)證的用戶裝置上,這兩個(gè)消息是:來自用戶裝置的供應(yīng)請(qǐng)求消息,以及向用戶裝置的供應(yīng)響應(yīng)消息。因此,實(shí)施例可以在減少供應(yīng)用戶裝置所需的時(shí)間和處理的同時(shí)提供上述優(yōu)點(diǎn)。上面的實(shí)例僅突出顯示了本發(fā)明實(shí)施例提供的一些優(yōu)點(diǎn)。
i.系統(tǒng)
實(shí)施例用于各種授權(quán)系統(tǒng),例如,支付系統(tǒng)、文件訪問系統(tǒng)、建筑物訪問系統(tǒng)等等。盡管描述了支付系統(tǒng)的實(shí)例,但實(shí)施例同樣適用于其他授權(quán)系統(tǒng)。
a.支付系統(tǒng)
圖1示出根據(jù)一些實(shí)施例的示例性支付系統(tǒng)100。所述系統(tǒng)包括可以操作用戶裝置101的用戶(未示出)。用戶可以使用用戶裝置101與訪問裝置102通信來執(zhí)行支付交易。如本文中使用的“用戶裝置”可以包括桌面計(jì)算機(jī)、膝上型計(jì)算機(jī)、移動(dòng)電話、平板電腦、信用卡、借記卡或任何適當(dāng)計(jì)算裝置。如本文中使用的“訪問裝置”可以包括適于與用戶裝置通信的任何計(jì)算裝置,諸如銷售點(diǎn)(pos)終端或網(wǎng)絡(luò)服務(wù)器。在一些實(shí)施例中,訪問裝置102可以與用戶裝置101直接通信。在其他實(shí)施例中,訪問裝置102可以經(jīng)由接口裝置(諸如智能手表、智能眼鏡或任何其他適當(dāng)裝置)與用戶裝置101通信。訪問裝置102可以連接至商家計(jì)算機(jī)103,商家計(jì)算機(jī)103可以連接至收單方計(jì)算機(jī)104。收單方計(jì)算機(jī)104可以經(jīng)由支付處理網(wǎng)絡(luò)105連接至發(fā)行方計(jì)算機(jī)106。用戶裝置101可以可選地與存儲(chǔ)裝置107通信,存儲(chǔ)裝置107可以可操作地連接至用戶裝置101。存儲(chǔ)裝置107可以包括或被包括在任何適當(dāng)?shù)谋镜鼗蜻h(yuǎn)程數(shù)據(jù)存儲(chǔ)服務(wù)器、系統(tǒng)或由存儲(chǔ)提供方提供的服務(wù)中。存儲(chǔ)提供方可以不是提供裝置101-106的相同實(shí)體。例如,存儲(chǔ)裝置107可以是由外部云存儲(chǔ)提供方提供的基于云的存儲(chǔ)服務(wù)的一部分。任何或所有裝置101-107可以使用一個(gè)或多個(gè)計(jì)算裝置(諸如服務(wù)器計(jì)算機(jī))實(shí)現(xiàn)。
如本文中使用的“發(fā)行方(issuer)”通??梢灾妇S護(hù)用戶的金融賬戶并通常向用戶發(fā)行或提供用戶裝置101,諸如信用或借記卡或移動(dòng)裝置的商業(yè)實(shí)體(例如銀行)?!吧碳?merchant)”通常是參與交易并且能夠出售商品或服務(wù)的實(shí)體?!笆諉畏?acquirer)”通常是與特定商家或其他實(shí)體有商業(yè)關(guān)系的商業(yè)實(shí)體(例如商業(yè)銀行)。一些實(shí)體能夠執(zhí)行發(fā)行方和收單方功能。一些實(shí)施例可以包括這種單實(shí)體發(fā)行方-收單方。每個(gè)實(shí)體可以包括一個(gè)或多個(gè)計(jì)算機(jī)設(shè)備(例如,訪問裝置102、商家計(jì)算機(jī)103、收單方計(jì)算機(jī)104、支付處理網(wǎng)絡(luò)105和發(fā)行方計(jì)算機(jī)106),以能夠?qū)崿F(xiàn)通信或執(zhí)行本文中描述的一個(gè)或多個(gè)功能。
支付處理網(wǎng)絡(luò)105可以包括數(shù)據(jù)處理子系統(tǒng)、網(wǎng)絡(luò)和用來支持和傳送證書機(jī)構(gòu)服務(wù)、授權(quán)服務(wù)、異常文件服務(wù)、交易評(píng)分服務(wù)以及清算和結(jié)算服務(wù)的操作。示例性支付處理網(wǎng)絡(luò)可以包括visanettm。諸如visanettm的支付處理網(wǎng)絡(luò)能夠處理信用卡交易、借記卡交易和其他類型的商業(yè)交易。visanettm具體包括處理授權(quán)請(qǐng)求的vip系統(tǒng)(visa集成支付系統(tǒng))和執(zhí)行清算和結(jié)算服務(wù)的baseii系統(tǒng)。
支付處理網(wǎng)絡(luò)105可以包括一個(gè)或多個(gè)服務(wù)器計(jì)算機(jī)。服務(wù)器計(jì)算機(jī)通常是功能強(qiáng)大的計(jì)算機(jī)或計(jì)算機(jī)集群。例如,服務(wù)器計(jì)算機(jī)可以是大的主機(jī)、小型計(jì)算機(jī)集群或像一個(gè)單元一樣工作的一組服務(wù)器。在一個(gè)實(shí)例中,服務(wù)器計(jì)算機(jī)可以是耦連至網(wǎng)絡(luò)服務(wù)器的數(shù)據(jù)庫(kù)服務(wù)器。支付處理網(wǎng)絡(luò)105可以使用任何適當(dāng)?shù)挠芯€或無線網(wǎng)絡(luò),包括互聯(lián)網(wǎng)。
在一些支付交易中,用戶在商家處使用用戶裝置101購(gòu)買商品或服務(wù)。用戶裝置101能夠在與商家計(jì)算機(jī)103關(guān)聯(lián)的商家處與訪問裝置102交互。例如,用戶可以對(duì)著訪問裝置102中的nfc閱讀器輕拍用戶裝置101??商娲?,諸如在在線或電子商務(wù)交易中,用戶可以通過計(jì)算機(jī)網(wǎng)絡(luò)向商家指示支付細(xì)節(jié)。
用于交易的授權(quán)請(qǐng)求消息可以由訪問裝置102或商家計(jì)算機(jī)103生成,然后向收單方計(jì)算機(jī)104轉(zhuǎn)發(fā)。在接收授權(quán)請(qǐng)求消息之后,收單方計(jì)算機(jī)104向支付處理網(wǎng)絡(luò)105發(fā)送授權(quán)請(qǐng)求消息。支付處理網(wǎng)絡(luò)105然后向與關(guān)聯(lián)用戶或用戶裝置101的發(fā)行方關(guān)聯(lián)的相應(yīng)發(fā)行方計(jì)算機(jī)106轉(zhuǎn)發(fā)授權(quán)請(qǐng)求消息。
“授權(quán)請(qǐng)求消息”可以是向支付處理網(wǎng)絡(luò)和/或發(fā)行方發(fā)送的請(qǐng)求對(duì)交易的授權(quán)的電子消息。根據(jù)一些實(shí)施例的授權(quán)請(qǐng)求消息可以符合iso8583,iso8583是用于交換與用戶使用支付裝置或支付賬戶進(jìn)行的支付關(guān)聯(lián)的電子交易信息的系統(tǒng)的標(biāo)準(zhǔn)。授權(quán)請(qǐng)求消息可以包括可以與支付裝置或支付賬戶關(guān)聯(lián)的發(fā)行方賬戶標(biāo)識(shí)符。授權(quán)請(qǐng)求消息還可以包括與“識(shí)別信息”對(duì)應(yīng)的附加數(shù)據(jù)元素,只作為實(shí)例包括:服務(wù)代碼、cvv(卡驗(yàn)證值)、dcvv(動(dòng)態(tài)卡驗(yàn)證值)、到期日期等等。授權(quán)請(qǐng)求消息還可以包括“交易信息”,諸如與當(dāng)前交易關(guān)聯(lián)的任何信息,諸如交易金額、商家標(biāo)識(shí)符、商家位置等,以及可以用來確定是否識(shí)別和/或授權(quán)交易的任何其他信息。授權(quán)請(qǐng)求消息還可以包括其他信息,諸如識(shí)別生成授權(quán)請(qǐng)求消息的訪問裝置的信息,關(guān)于訪問裝置的位置的信息等。
在發(fā)行方計(jì)算機(jī)106接收授權(quán)請(qǐng)求消息之后,發(fā)行方計(jì)算機(jī)106向支付處理網(wǎng)絡(luò)105發(fā)送回授權(quán)響應(yīng)消息以指示是否授權(quán)(或不授權(quán))當(dāng)前交易。支付處理網(wǎng)絡(luò)105然后向收單方計(jì)算機(jī)104轉(zhuǎn)發(fā)授權(quán)響應(yīng)消息。在一些實(shí)施例中,即便發(fā)行方計(jì)算機(jī)106已經(jīng)授權(quán)交易,支付處理網(wǎng)絡(luò)105也可以例如根據(jù)欺詐風(fēng)險(xiǎn)分?jǐn)?shù)的值拒絕交易。收單方計(jì)算機(jī)104然后向商家計(jì)算機(jī)103發(fā)送回響應(yīng)消息。
“授權(quán)響應(yīng)消息”可以是針對(duì)由發(fā)行方計(jì)算機(jī)106和/或支付處理網(wǎng)絡(luò)105生成的授權(quán)請(qǐng)求消息的電子消息應(yīng)答。授權(quán)響應(yīng)消息可以包括(只作為實(shí)例)以下狀態(tài)指示符中的一個(gè)或多個(gè):批準(zhǔn)-交易被批準(zhǔn);拒絕-交易不被批準(zhǔn);或呼叫中心-響應(yīng)未決的更多信息,商家必須呼叫免費(fèi)授權(quán)電話號(hào)碼。授權(quán)響應(yīng)消息還可以包括授權(quán)代碼,其可以是發(fā)行方響應(yīng)于電子消息中的授權(quán)請(qǐng)求消息(直接地或者通過支付處理網(wǎng)絡(luò)105)返回商家計(jì)算機(jī)103的指示交易被批準(zhǔn)的代碼。代碼可以用作授權(quán)的證據(jù)。如上文指出的,在一些實(shí)施例中,支付處理網(wǎng)絡(luò)105可以生成或通常經(jīng)由收單方計(jì)算機(jī)104向商家轉(zhuǎn)發(fā)授權(quán)響應(yīng)消息。
在商家計(jì)算機(jī)103接收授權(quán)響應(yīng)消息之后,商家計(jì)算機(jī)103然后可以為用戶提供授權(quán)響應(yīng)消息。響應(yīng)消息可以由訪問裝置102顯示,或者可以在物理收條上打印輸出??商娲兀绻灰资窃诰€交易,則商家可以提供網(wǎng)頁(yè)或授權(quán)響應(yīng)消息的其他指示,作為虛擬收條。收條可以包括交易的交易數(shù)據(jù)。
在一天結(jié)束時(shí),常規(guī)的清算和結(jié)算處理可以由支付處理網(wǎng)絡(luò)105進(jìn)行。清算過程是在收單方和發(fā)行方之間交換財(cái)務(wù)細(xì)節(jié)的過程,以利于發(fā)布到顧客的支付賬戶,并核對(duì)用戶的結(jié)算位置。
b.用戶裝置
圖2示出根據(jù)一些實(shí)施例的用戶裝置200的實(shí)例。例如,用戶裝置200可以包括或被包括在圖1中描述的用戶裝置101中。用戶裝置200的實(shí)例可以包括移動(dòng)電話、平板電腦、桌面和膝上型計(jì)算機(jī)、可穿戴裝置(例如,智能手表、健身手環(huán)、腳鏈、戒指、耳環(huán)等)或能夠接收、存儲(chǔ)和傳輸數(shù)據(jù)的任何其他計(jì)算裝置。用戶裝置200可以被配置成直接或間接地與服務(wù)器計(jì)算機(jī)300通信,以實(shí)現(xiàn)本文中描述的方法。用戶裝置200可以包括通信地耦連至網(wǎng)絡(luò)接口202的處理器201、存儲(chǔ)器203、計(jì)算機(jī)可讀介質(zhì)210以及可選地包括安全元件204。
處理器201可以包括一個(gè)或多個(gè)cpu,每個(gè)cpu可以包括可操作執(zhí)行程序組件以用于執(zhí)行用戶和/或系統(tǒng)生成的請(qǐng)求的至少一個(gè)處理器核。cpu可以是微處理器,諸如amd的athlon、duron和/或opteron;ibm和/或motorola的powerpc;ibm的以及sony的cell處理器;intel的celeron、itanium、pentium、xeon和/或xscale;和/或類似的(若干)處理器。cpu根據(jù)傳統(tǒng)的數(shù)據(jù)處理技術(shù)通過傳輸通過傳導(dǎo)導(dǎo)管的信號(hào)與存儲(chǔ)器交互,以執(zhí)行存儲(chǔ)的信號(hào)程序代碼。在一些情況下,諸如在分布式或集群計(jì)算系統(tǒng)中,處理器201可以包括通過網(wǎng)絡(luò)耦連的多個(gè)cpu。
網(wǎng)絡(luò)接口202可以被配置成允許計(jì)算裝置200使用一個(gè)或多個(gè)通信網(wǎng)絡(luò)與其他實(shí)體(諸如裝置101-107、其他計(jì)算裝置等)通信。網(wǎng)絡(luò)接口可以接收、通信和/或連接至通信網(wǎng)絡(luò)。網(wǎng)絡(luò)接口可以采用例如但不限于以下的連接協(xié)議:直連、以太網(wǎng)(粗的、細(xì)的、雙絞線10/100/1300baset等等)、令牌環(huán)網(wǎng)、無線連接(諸如ieee802.11a-x)、和/或其他。直接互連、互聯(lián)網(wǎng)、局域網(wǎng)(lan)、城域網(wǎng)(man)、安全定制連接、廣域網(wǎng)(wan)、無線網(wǎng)絡(luò)(例如使用諸如但不限于無線應(yīng)用協(xié)議(wap)、i-模式等等的協(xié)議)和/或其他。
存儲(chǔ)器203可以用來存儲(chǔ)數(shù)據(jù)和代碼。存儲(chǔ)器203可以在內(nèi)部或外部耦連至處理器201(例如基于云的數(shù)據(jù)存儲(chǔ)),并且可以包括易失性和/或非易失性存儲(chǔ)器的任何組合,諸如ram、dram、rom、閃存或任何其他適當(dāng)?shù)拇鎯?chǔ)器裝置。
安全元件204可以包括能夠安全地駐存敏感應(yīng)用和/或數(shù)據(jù)的防篡改模塊。這些應(yīng)用和/或數(shù)據(jù)可以與支付應(yīng)用、認(rèn)證/授權(quán)、密碼密鑰管理等等有關(guān)。例如,憑證、密碼密鑰或密鑰材料、密碼、共享秘密、賬戶信息等的一些或所有部分可以提供到用戶裝置200的安全元件204上,以防止未授權(quán)的訪問。在一些實(shí)施例中,安全元件204可以包括或被包括在基于軟件的(諸如主機(jī)卡模擬或hce)和/或基于硬件的(諸如硬件安全模塊或hsm、智能卡或芯片卡)安全模塊的任何組合中。
計(jì)算機(jī)可讀介質(zhì)210可以是存儲(chǔ)器的形式(例如,閃存、rom等),并且可以包括可由處理器201執(zhí)行的用于實(shí)現(xiàn)本文中描述的方法的代碼。計(jì)算機(jī)可讀介質(zhì)210可以包括認(rèn)證模塊211、加密模塊212和應(yīng)用模塊213。在各個(gè)實(shí)施例中,這些模塊可以被配置成單獨(dú)地或一起執(zhí)行圖4-5、8、11、12、15和18各自的方法400、1100、1400、1200、1300、1700、11100的一些或全部。
認(rèn)證模塊211可以包括適于向另一計(jì)算裝置認(rèn)證計(jì)算裝置200或在計(jì)算裝置200處認(rèn)證另一計(jì)算裝置的任何程序、軟件或其他代碼。例如,認(rèn)證模塊211可以被配置成生成并向另一計(jì)算裝置發(fā)送認(rèn)證請(qǐng)求消息,接收并處理來自其他計(jì)算裝置的認(rèn)證響應(yīng)消息。類似地,認(rèn)證模塊211可以被配置成接收并處理來自另一計(jì)算裝置的認(rèn)證請(qǐng)求消息,生成并向其他計(jì)算裝置發(fā)送認(rèn)證響應(yīng)消息。
加密模塊212可以包括適于執(zhí)行與加密和/或解密有關(guān)的操作的任何程序、軟件或其他代碼。例如,加密模塊可以被配置成諸如使用密鑰協(xié)商協(xié)議(諸如diffie-hellman)生成共享秘密。加密模塊212還可以被配置成諸如使用密鑰導(dǎo)出函數(shù)(kdf)從共享秘密導(dǎo)出會(huì)話密鑰阿卡存儲(chǔ)保護(hù)密鑰。在一些實(shí)施例中,加密模塊212可以被配置成存儲(chǔ)一個(gè)或多個(gè)靜態(tài)密鑰,諸如靜態(tài)用戶裝置私鑰或靜態(tài)服務(wù)器私鑰。在一些實(shí)施例中,加密模塊212可以使用軟件(諸如主機(jī)卡模擬或hce)和硬件(諸如硬件安全模塊或hsm)的任何組合實(shí)現(xiàn)。
應(yīng)用模塊213可以包括適于運(yùn)行一個(gè)或多個(gè)應(yīng)用的任何程序、軟件或其他代碼。例如,應(yīng)用模塊213可以包括可操作執(zhí)行支付交易的支付應(yīng)用。在一些實(shí)施例中,支付應(yīng)用可以被配置成允許用戶選擇要購(gòu)買的商品和服務(wù),從支付賬戶的發(fā)行方獲得安全憑證(例如密碼密鑰)和/或發(fā)起或執(zhí)行支付交易(例如,使用安全憑證)。
要理解,本文中描述的組件只用于示意目的,不旨在是限制性的。在各個(gè)實(shí)施例中,可以提供比本文列出的更多或更少的組件。例如,在一個(gè)實(shí)施例中,用戶裝置200可以不包括安全元件204。在這樣的實(shí)施例中,敏感或機(jī)密數(shù)據(jù)(例如密碼密鑰)可以(例如以加密形式)存儲(chǔ)在可操作連接至用戶裝置200的存儲(chǔ)裝置107中和/或從其檢索。在一些實(shí)施例中,用戶裝置200可以不包括應(yīng)用模塊213。
c.服務(wù)器計(jì)算機(jī)
圖3示出根據(jù)一些實(shí)施例的服務(wù)器計(jì)算機(jī)300的實(shí)例。例如,服務(wù)器計(jì)算機(jī)300可以包括或被包括在圖1中描述的任何裝置102-106中。服務(wù)器計(jì)算機(jī)300的實(shí)例可以包括移動(dòng)電話、平板電腦、桌面和膝上型計(jì)算機(jī)、主機(jī)計(jì)算機(jī)或適于接收、存儲(chǔ)和傳輸數(shù)據(jù)的任何其他計(jì)算裝置。服務(wù)器計(jì)算機(jī)300可以被配置成直接或間接地與用戶裝置200通信,以實(shí)現(xiàn)本文中描述的方法。服務(wù)器計(jì)算機(jī)300可以包括通信地耦連至網(wǎng)絡(luò)接口302的處理器301、存儲(chǔ)器303、計(jì)算機(jī)可讀介質(zhì)310,以及可選地包括安全元件304。
處理器301、網(wǎng)絡(luò)接口302、存儲(chǔ)器303可以與用戶裝置200的處理器201、網(wǎng)絡(luò)接口202和存儲(chǔ)器203類似。計(jì)算機(jī)可讀介質(zhì)310可以是存儲(chǔ)器的形式(例如,閃存、rom等),并且可以包括可由處理器301執(zhí)行的用于實(shí)現(xiàn)本文中描述的方法的代碼。計(jì)算機(jī)可讀介質(zhì)310可以包括認(rèn)證模塊311、加密模塊312和應(yīng)用模塊313。在各個(gè)實(shí)施例中,這些模塊可以被配置成單獨(dú)地或一起執(zhí)行圖6-7、9、11、13、15、17和18各自的方法700、1200、1400、1300、1300、1900、11100的一些或全部。
認(rèn)證模塊311可以包括適于向另一計(jì)算裝置認(rèn)證計(jì)算裝置300或在計(jì)算裝置300處認(rèn)證另一計(jì)算裝置的任何程序、軟件或其他代碼。例如,認(rèn)證模塊311可以被配置成生成并向另一計(jì)算裝置發(fā)送認(rèn)證請(qǐng)求消息,接收并處理來自其他計(jì)算裝置的認(rèn)證響應(yīng)消息。類似地,認(rèn)證模塊311可以被配置成接收并處理來自另一計(jì)算裝置的認(rèn)證請(qǐng)求消息,生成并向其他計(jì)算裝置發(fā)送認(rèn)證響應(yīng)消息。
加密模塊312可以包括適于執(zhí)行與加密和/或解密有關(guān)的操作的任何程序、軟件或其他代碼。例如,加密模塊可以被配置成諸如使用密鑰協(xié)商協(xié)議(諸如diffie-hellman)生成共享秘密。加密模塊312還可以被配置成諸如使用密鑰導(dǎo)出函數(shù)(kdf)從共享秘密導(dǎo)出會(huì)話密鑰阿卡存儲(chǔ)保護(hù)密鑰。在一些實(shí)施例中,加密模塊312可以被配置成存儲(chǔ)一個(gè)或多個(gè)靜態(tài)密鑰,諸如靜態(tài)用戶裝置私鑰或靜態(tài)服務(wù)器私鑰。在一些實(shí)施例中,加密模塊312可以使用軟件(諸如主機(jī)卡模擬或hce)和硬件(諸如硬件安全模塊或hsm)的任何組合實(shí)現(xiàn)。
應(yīng)用模塊313可以包括可操作以為一個(gè)或多個(gè)計(jì)算裝置處的支付應(yīng)用提供服務(wù)的支付應(yīng)用服務(wù)。在一些實(shí)施例中,支付應(yīng)用服務(wù)可以被配置成允許用戶選擇要購(gòu)買的商品和服務(wù)。應(yīng)用模塊313還可以包括用于登記或重新登記用戶裝置和/或與用戶裝置執(zhí)行交易的服務(wù)。
要理解,本文中描述的組件只用于示意目的,不旨在是限制性的。在各個(gè)實(shí)施例中,可以提供比本文列出的更多或更少的組件。例如,在一個(gè)實(shí)施例中,服務(wù)器計(jì)算機(jī)300可以不包括安全元件304和/或應(yīng)用模塊313。
盡管使用了通用術(shù)語(yǔ)“服務(wù)器計(jì)算機(jī)”,但在一些實(shí)施例中,可以提供不同的服務(wù)器計(jì)算機(jī)以實(shí)現(xiàn)本發(fā)明的不同特征。例如,供應(yīng)服務(wù)器可以被配置成與用戶裝置建立(若干)共享秘密,并向用戶裝置提供憑證,包括令牌、密鑰導(dǎo)出參數(shù)、更新參數(shù)、密碼導(dǎo)出參數(shù)、交易參數(shù)和任何其他適當(dāng)數(shù)據(jù)。注冊(cè)服務(wù)器可以被配置成向用戶裝置提供注冊(cè)數(shù)據(jù),從用戶裝置接收注冊(cè)密碼,并使用由用戶裝置提供的注冊(cè)數(shù)據(jù)校驗(yàn)注冊(cè)密碼。驗(yàn)證服務(wù)器可以被配置成使用基于之前的共享秘密確定的更新共享秘密校驗(yàn)由用戶裝置提供的交易密碼。更新服務(wù)器可以被配置成可以在用戶和服務(wù)器計(jì)算機(jī)之間建立新的共享秘密。此外,更新服務(wù)器可以被配置成提供新參數(shù)(例如,新密鑰導(dǎo)出參數(shù)、新密碼導(dǎo)出參數(shù)和/或新更新參數(shù)),新參數(shù)可以被供應(yīng)到用戶裝置上以用于生成密碼和/或密碼密鑰。
在各個(gè)實(shí)施例中,供應(yīng)服務(wù)器、注冊(cè)服務(wù)器和驗(yàn)證服務(wù)器可以由分開的服務(wù)器計(jì)算機(jī)或同一服務(wù)器計(jì)算機(jī)實(shí)現(xiàn)。例如,驗(yàn)證服務(wù)器可以由交易服務(wù)器實(shí)現(xiàn),其被配置成與供應(yīng)服務(wù)器和/或注冊(cè)服務(wù)器分開地處理支付請(qǐng)求。供應(yīng)服務(wù)器和注冊(cè)服務(wù)器可以是同一服務(wù)器或分開的服務(wù)器。注冊(cè)服務(wù)器和更新服務(wù)器可以是同一或分開的服務(wù)器。在由分開的服務(wù)器計(jì)算機(jī)實(shí)現(xiàn)時(shí),供應(yīng)服務(wù)器、注冊(cè)服務(wù)器、更新服務(wù)器和/或驗(yàn)證服務(wù)器可以相互通信,以便訪問解密和/或驗(yàn)證數(shù)據(jù)(例如,服務(wù)器私鑰、共享秘密、密鑰導(dǎo)出參數(shù)、密碼導(dǎo)出參數(shù)、更新參數(shù)、密碼、請(qǐng)求數(shù)據(jù)等)所需的信息。
ii.方法
實(shí)施例可以使用上文描述的系統(tǒng)和設(shè)備從服務(wù)器計(jì)算機(jī)向用戶裝置安全地供應(yīng)敏感數(shù)據(jù),諸如憑證。圖4-10描述這些方法的一些實(shí)例。在一些實(shí)施例中,用戶裝置可以包括圖1和2各自的用戶裝置101或200。服務(wù)器計(jì)算機(jī)可以包括圖1和3各自的裝置102、103、104、105、106或300。在一些實(shí)施例中,服務(wù)器計(jì)算機(jī)可以包括供應(yīng)服務(wù)器計(jì)算機(jī)。
a.高級(jí)框圖
圖4示出根據(jù)一些實(shí)施例的安全憑證供應(yīng)過程400的高級(jí)框圖。過程400可以用于從敏感提供方406向移動(dòng)裝置402供應(yīng)諸如憑證數(shù)據(jù)的敏感數(shù)據(jù)。移動(dòng)裝置402可以包括圖1-2中討論的用戶裝置。敏感提供方406可以包括諸如服務(wù)器計(jì)算機(jī)300,商家計(jì)算機(jī)103、收單方計(jì)算機(jī)104、支付處理網(wǎng)絡(luò)計(jì)算機(jī)105和發(fā)行方計(jì)算機(jī)106等的供應(yīng)服務(wù)器。移動(dòng)裝置402可以可選地與外部存儲(chǔ)提供方408進(jìn)行通信,以存儲(chǔ)和/或檢索諸如憑證數(shù)據(jù)的數(shù)據(jù)。在一些實(shí)施例中,下面討論的移動(dòng)裝置402的一些或所有功能可以由安裝在移動(dòng)裝置402上的移動(dòng)應(yīng)用程序404來實(shí)現(xiàn)。
在步驟1,移動(dòng)裝置402生成用戶密鑰對(duì)以保護(hù)在移動(dòng)裝置402和敏感數(shù)據(jù)提供方406之間傳輸?shù)臄?shù)據(jù)。密鑰對(duì)可以是任何合適的格式,例如基于橢圓曲線(ec)的密鑰或基于rsa的密鑰。優(yōu)選地,用戶密鑰對(duì)的公鑰和/或私鑰是一次性密鑰。也就是說,用戶密鑰對(duì)的公鑰和/或私鑰對(duì)于每個(gè)新供應(yīng)請(qǐng)求是不同的。在一些實(shí)施例中,用戶密鑰對(duì)可以包括臨時(shí)密鑰對(duì),其包括臨時(shí)公鑰和臨時(shí)私鑰??梢詾槊總€(gè)新供應(yīng)請(qǐng)求生成新的和不同的臨時(shí)密鑰對(duì)。臨時(shí)私鑰/公鑰可以直接用作一次性密鑰。替換性地,臨時(shí)私鑰/公鑰可以進(jìn)一步如下所述地被盲化、模糊化或修改,以形成一次性密鑰。在一些其他實(shí)施例中,不同于臨時(shí)密鑰對(duì),用戶密鑰對(duì)可以包括靜態(tài)密鑰對(duì),該靜態(tài)密鑰對(duì)對(duì)于所有供應(yīng)請(qǐng)求保持靜態(tài)(即不變)或者對(duì)于預(yù)定時(shí)間段或預(yù)定數(shù)量的供應(yīng)請(qǐng)求保持半靜態(tài)。對(duì)于每個(gè)供應(yīng)請(qǐng)求,靜態(tài)或半靜態(tài)密鑰可以被盲化、模糊化或以其他方式修改(例如,使用不同的密碼隨機(jī)數(shù),隨機(jī)數(shù),裝置專用或用戶專用的數(shù)據(jù),交易數(shù)據(jù)等),使得所產(chǎn)生的盲化密鑰是一次性密鑰,盡管基礎(chǔ)的基本密鑰可以是靜態(tài)的或半靜態(tài)的。
在步驟2,移動(dòng)裝置402向敏感數(shù)據(jù)提供方406發(fā)送對(duì)憑證數(shù)據(jù)的請(qǐng)求。敏感數(shù)據(jù)提供方406通常具有包括靜態(tài)公鑰和靜態(tài)私鑰的靜態(tài)密鑰對(duì)??梢允褂糜脩羲借€(其可以是靜態(tài)的或臨時(shí)的,被盲化的或不被盲化的)和敏感數(shù)據(jù)提供方的公鑰來保護(hù)請(qǐng)求消息。例如,用戶私鑰和提供方公鑰可以用于生成請(qǐng)求會(huì)話密鑰。請(qǐng)求會(huì)話密鑰可用于加密請(qǐng)求消息的一些或所有部分。請(qǐng)求消息可以包括用戶公鑰(其可以是靜態(tài)的或臨時(shí)的,被盲化的或不被盲化的)。
在步驟3,敏感數(shù)據(jù)提供方406解密該請(qǐng)求消息。在一些實(shí)施例中,敏感數(shù)據(jù)提供方406可以使用使用與敏感數(shù)據(jù)提供方公鑰對(duì)應(yīng)的敏感數(shù)據(jù)提供方私鑰生成的請(qǐng)求會(huì)話密鑰和移動(dòng)裝置的用戶公鑰(其可以在請(qǐng)求消息中提供,并且可以是或不是被盲化的)來解密該請(qǐng)求消息。
在步驟4,敏感數(shù)據(jù)提供方406用諸如憑據(jù)數(shù)據(jù)的敏感數(shù)據(jù)來準(zhǔn)備響應(yīng)。如所討論的,憑證或憑證數(shù)據(jù)可以包括從敏感數(shù)據(jù)提供方406向移動(dòng)裝置402供應(yīng)的使得移動(dòng)裝置402能夠執(zhí)行交易(例如,支付交易)的任何信息。憑證數(shù)據(jù)的實(shí)例可以包括pan,令牌,或其他帳戶信息,一個(gè)或多個(gè)密碼密鑰(例如,用于生成密碼的luk,加密密鑰,盲化或未混合的靜態(tài)公鑰等),密鑰導(dǎo)出參數(shù)(例如,用于導(dǎo)出用于生成密碼的suk、共享秘密密鑰、存儲(chǔ)保護(hù)密鑰,加密密鑰等),密碼導(dǎo)出參數(shù),證書鏈信息,交易參數(shù)以及任何其他合適的數(shù)據(jù)。
為了增強(qiáng)安全性,可以使用與會(huì)話密鑰不同的存儲(chǔ)保護(hù)密鑰來保護(hù)敏感數(shù)據(jù)。存儲(chǔ)保護(hù)密鑰可以用于直接加密一些或所有敏感數(shù)據(jù),或者導(dǎo)出隨后用于加密敏感數(shù)據(jù)的憑證加密密鑰。存儲(chǔ)保護(hù)密鑰可以是對(duì)稱加密密鑰。替換性地,存儲(chǔ)保護(hù)密鑰可以是諸如公鑰的非對(duì)稱密鑰。在這種情況下,可以使用與公鑰對(duì)應(yīng)的私鑰來解密敏感數(shù)據(jù)。
在步驟5,敏感數(shù)據(jù)提供方406向移動(dòng)裝置402發(fā)送響應(yīng)。響應(yīng)可以包括加密的敏感數(shù)據(jù)。可以使用響應(yīng)會(huì)話密鑰來保護(hù)響應(yīng)的一些或所有部分,以保護(hù)傳輸中的數(shù)據(jù)。響應(yīng)會(huì)話密鑰可以使用用戶公鑰和敏感提供方私鑰來生成。響應(yīng)可以包括敏感提供方公鑰(其可以是盲目的)以便允許移動(dòng)裝置402解密響應(yīng)。在一些情況下,當(dāng)移動(dòng)裝置402能夠確定敏感提供方公鑰(例如來自證書)時(shí),響應(yīng)可以不包括敏感提供方公鑰。
在步驟6,移動(dòng)裝置402解密響應(yīng)。例如,移動(dòng)裝置402可以使用敏感提供方公鑰和用戶私鑰來生成響應(yīng)共享秘密。響應(yīng)會(huì)話密鑰可以從響應(yīng)共享秘密生成并用于解密響應(yīng)。由存儲(chǔ)保護(hù)密鑰保護(hù)的敏感數(shù)據(jù)可以保持被加密以避免暴露敏感數(shù)據(jù)。存儲(chǔ)保護(hù)密鑰(m_dek)可以由移動(dòng)裝置402生成,例如使用響應(yīng)共享秘密。
在步驟7,存儲(chǔ)保護(hù)密鑰存儲(chǔ)在移動(dòng)裝置402中。存儲(chǔ)保護(hù)密鑰可以被安全地存儲(chǔ)在存儲(chǔ)器中。例如,可以使用移動(dòng)裝置的密鑰加密密鑰(kek)來加密存儲(chǔ)保護(hù)密鑰。替換性地,存儲(chǔ)保護(hù)密鑰可以存儲(chǔ)在移動(dòng)裝置的防篡改安全模塊中,或者使用白盒密碼或任何其他合適的技術(shù)來保護(hù)。在一些實(shí)施例中,存儲(chǔ)保護(hù)密鑰被用作可選密鑰導(dǎo)出函數(shù)的輸入以及移動(dòng)裝置專用的某些導(dǎo)出數(shù)據(jù)(例如,裝置指紋),以導(dǎo)出裝置專用的憑證加密密鑰。裝置專用的憑證加密密鑰可以存儲(chǔ)在移動(dòng)裝置上,而不是存儲(chǔ)保護(hù)密鑰或除存儲(chǔ)保護(hù)密鑰之外。
與存儲(chǔ)保護(hù)密鑰一樣,已經(jīng)使用存儲(chǔ)保護(hù)密鑰(或從存儲(chǔ)保護(hù)密鑰導(dǎo)出的憑證加密密鑰)加密的加密敏感數(shù)據(jù)也可以存儲(chǔ)在移動(dòng)裝置402上。在一些實(shí)施例中,加密的敏感數(shù)據(jù)可以存儲(chǔ)在移動(dòng)裝置的安全元件(例如,防篡改安全模塊)中。在其他實(shí)施例中,加密的敏感數(shù)據(jù)可以存儲(chǔ)在沒有安全元件的移動(dòng)裝置上。由于敏感數(shù)據(jù)在存儲(chǔ)時(shí)保持被加密,即使存儲(chǔ)裝置受到威脅,敏感數(shù)據(jù)的暴露風(fēng)險(xiǎn)也會(huì)最小化。
在一些實(shí)施例中,存儲(chǔ)保護(hù)密鑰和加密的敏感數(shù)據(jù)可以存儲(chǔ)在相同或不同的存儲(chǔ)位置。例如,存儲(chǔ)保護(hù)密鑰(例如,以加密形式)和加密的敏感數(shù)據(jù)都可以存儲(chǔ)在移動(dòng)裝置的非安全元件中(例如,當(dāng)移動(dòng)裝置不具有安全元件時(shí))。在另一實(shí)例中,存儲(chǔ)保護(hù)密鑰(例如,以加密或未加密形式)可以存儲(chǔ)在移動(dòng)裝置的安全元件中,而加密的敏感數(shù)據(jù)可以存儲(chǔ)在常規(guī)的存儲(chǔ)元件中(因?yàn)槊舾袛?shù)據(jù)已經(jīng)被加密)。
在步驟8,移動(dòng)裝置402可以可選擇地轉(zhuǎn)發(fā)將由外部存儲(chǔ)提供方408存儲(chǔ)的加密的敏感數(shù)據(jù)。在外部存儲(chǔ)提供方處對(duì)加密的敏感數(shù)據(jù)進(jìn)行存儲(chǔ)對(duì)于備份目的可能是有用的。例如,加密的敏感數(shù)據(jù)的副本可以存儲(chǔ)在移動(dòng)裝置和另一裝置(例如,個(gè)人計(jì)算機(jī)或臺(tái)式機(jī))兩者上。在外部存儲(chǔ)提供方處對(duì)加密的敏感數(shù)據(jù)進(jìn)行存儲(chǔ)也可以用于降低在移動(dòng)裝置處暴露加密的敏感數(shù)據(jù)的風(fēng)險(xiǎn)。例如,外部存儲(chǔ)提供方可以提供比移動(dòng)裝置更高級(jí)別的數(shù)據(jù)安全性(例如經(jīng)由安全硬件和/或軟件保護(hù))。加密的敏感數(shù)據(jù)的副本可以僅存儲(chǔ)在外部存儲(chǔ)提供方處,而不存儲(chǔ)在移動(dòng)裝置處,這被認(rèn)為是較不安全的。在某些情況下,存儲(chǔ)保護(hù)密鑰和加密的敏感數(shù)據(jù)可以存儲(chǔ)在不同的位置,以便最小化敏感數(shù)據(jù)的暴露風(fēng)險(xiǎn)。如果沒有存儲(chǔ)保護(hù)密鑰,攻擊者將無法解密加密的敏感數(shù)據(jù),反之亦然。即使同時(shí)具有了存儲(chǔ)保護(hù)密鑰和加密的敏感數(shù)據(jù),攻擊者也可能無法解密該加密的敏感數(shù)據(jù)。例如,在一些實(shí)施例中,存儲(chǔ)保護(hù)密鑰不能用于直接加密該加密的敏感數(shù)據(jù)。相反,存儲(chǔ)保護(hù)密鑰需要與攻擊者不知道的附加信息(例如,裝置專有數(shù)據(jù))組合以導(dǎo)出用于解密該加密的敏感數(shù)據(jù)的加密密鑰。
外部存儲(chǔ)提供方408可以由商家計(jì)算機(jī)103,收單方計(jì)算機(jī)104,支付處理網(wǎng)絡(luò)105,發(fā)行方計(jì)算機(jī)106或任何其他合適的實(shí)體(例如,基于云的存儲(chǔ)提供方)來操作或與其關(guān)聯(lián)。在一個(gè)實(shí)例中,外部存儲(chǔ)提供方是同樣擁有或操作該移動(dòng)裝置的相同實(shí)體(例如,用戶)或與其相關(guān)聯(lián)。在一些其他實(shí)施例中,外部存儲(chǔ)提供方408可以包括連接到移動(dòng)裝置的存儲(chǔ)設(shè)備107(例如,外部硬盤驅(qū)動(dòng)器)。外部存儲(chǔ)提供方408可以經(jīng)由一個(gè)或多個(gè)網(wǎng)絡(luò)(例如,有線或無線網(wǎng)絡(luò))遠(yuǎn)程連接到移動(dòng)裝置。替換性地,外部存儲(chǔ)提供方408可以本地連接到移動(dòng)裝置而不使用網(wǎng)絡(luò)。
在步驟9,移動(dòng)裝置402可以可選擇地從外部存儲(chǔ)提供方408獲得加密的敏感數(shù)據(jù)。例如,移動(dòng)裝置402可以向外部存儲(chǔ)提供方408認(rèn)證(例如,使用用戶名和密碼),并且外部存儲(chǔ)提供方408可以返回加密的敏感數(shù)據(jù)作為響應(yīng)。然后,移動(dòng)裝置402可以解密該加密的敏感數(shù)據(jù),使得解密的敏感數(shù)據(jù)(例如憑證數(shù)據(jù))可以用于執(zhí)行交易。例如,可以使用存儲(chǔ)保護(hù)密鑰來解密該加密的敏感數(shù)據(jù)以獲得用于生成密碼的密碼材料(例如luk)。密碼可用于交易的授權(quán)/認(rèn)證請(qǐng)求。替換性地或附加地,移動(dòng)裝置402可以將加密的敏感數(shù)據(jù)存儲(chǔ)在安全的本地存儲(chǔ)器(例如,安全元件204)中,或以其他方式保護(hù)該加密的敏感數(shù)據(jù)在移動(dòng)裝置的存儲(chǔ)中。例如,解密的敏感數(shù)據(jù)可以在存儲(chǔ)在移動(dòng)裝置之前使用移動(dòng)裝置的秘密加密密鑰(代替存儲(chǔ)保護(hù)密鑰或除存儲(chǔ)保護(hù)密鑰之外)被重新加密。
在各種實(shí)施例中,在供應(yīng)時(shí),從敏感數(shù)據(jù)提供方406到移動(dòng)裝置402,在移動(dòng)裝置402和外部存儲(chǔ)提供方408之間的交易期間,以及在在移動(dòng)裝置402和/或外部存儲(chǔ)提供方408存儲(chǔ)期間,敏感數(shù)據(jù)保持被加密。因此,提供了對(duì)敏感數(shù)據(jù)的端到端保護(hù),直到在交易時(shí)間實(shí)際使用敏感數(shù)據(jù),將敏感數(shù)據(jù)限制于僅在需要該敏感數(shù)據(jù)時(shí)才暴露,由此降低了敏感數(shù)據(jù)泄密的風(fēng)險(xiǎn)。
b.用戶裝置
圖5示出根據(jù)一些實(shí)施例的用于從服務(wù)器計(jì)算機(jī)安全地供應(yīng)憑證數(shù)據(jù)的示例性過程500。在這樣的實(shí)施例中,憑證數(shù)據(jù)可以由基于共享秘密確定的存儲(chǔ)保護(hù)密鑰來保護(hù)。過程500的各方面可以由用戶裝置(諸如用戶裝置101或200)執(zhí)行。替代性地或者另外,過程500的各方面可以由任何其他適當(dāng)?shù)膶?shí)體執(zhí)行。過程500中的一些或所有方面(或本文中描述的任何其他過程或其變形和/或組合)可以在用可執(zhí)行指令配置的一個(gè)或多個(gè)計(jì)算機(jī)/控制系統(tǒng)的控制下執(zhí)行,可以實(shí)現(xiàn)為通過硬件或其組合在一個(gè)或多個(gè)處理器上共同執(zhí)行的代碼(例如可執(zhí)行指令,一個(gè)或多個(gè)計(jì)算機(jī)程序或一個(gè)或多個(gè)應(yīng)用)。代碼可以存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上,例如以包括可由一個(gè)或多個(gè)處理器執(zhí)行的多個(gè)指令的計(jì)算機(jī)程序的形式。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是非瞬態(tài)的。描述操作的順序不旨在被解讀為是限制,任何數(shù)目的被描述操作可以以任何順序和/或并行地組合以執(zhí)行過程。
在方框502,確定一次性用戶公鑰。一次性用戶公鑰是與用戶裝置相關(guān)聯(lián)的公共密鑰,也可以稱為一次性客戶端公鑰。一次性用戶公鑰可以是包括公鑰和相應(yīng)私鑰的用戶密鑰對(duì)的一部分。密鑰對(duì)可以是任何合適的格式,例如基于橢圓曲線(ec)的密鑰或基于rsa的密鑰。用戶密鑰對(duì)可以包括為每個(gè)供應(yīng)請(qǐng)求生成的臨時(shí)密鑰對(duì)。替換性地,用戶密鑰對(duì)可以包括對(duì)于所有供應(yīng)請(qǐng)求保持相同的靜態(tài)密鑰對(duì),或者對(duì)于預(yù)定時(shí)間段或預(yù)定數(shù)量的供應(yīng)請(qǐng)求保持靜態(tài)的半靜態(tài)密鑰對(duì)。對(duì)于每個(gè)供應(yīng)請(qǐng)求,靜態(tài)或半靜態(tài)密鑰的值可以被盲化,模糊化或以其他方式不同地修改,從而得到一次性密鑰。例如,可以對(duì)具有一些其他數(shù)據(jù)元素(例如,隨機(jī)數(shù),密碼隨機(jī)數(shù),識(shí)別因子,交易數(shù)據(jù)等)的用戶公/私鑰執(zhí)行點(diǎn)乘法,以便為每個(gè)供應(yīng)請(qǐng)求修改用戶密鑰的值。在一些實(shí)施例中,用戶密鑰對(duì)的私鑰可以保持靜態(tài),同時(shí)用戶密鑰對(duì)的公鑰隨著每個(gè)供應(yīng)請(qǐng)求而變化。在其他情況下,對(duì)于每個(gè)供應(yīng)請(qǐng)求可以同時(shí)修改用戶對(duì)的私鑰和公鑰。
的一些實(shí)施例中,使用識(shí)別數(shù)據(jù)和認(rèn)證數(shù)據(jù)計(jì)算識(shí)別因子。識(shí)別數(shù)據(jù)可以包括與用戶或用戶裝置關(guān)聯(lián)的任何數(shù)據(jù)或信息。識(shí)別數(shù)據(jù)的實(shí)例可以包括與用戶裝置關(guān)聯(lián)的用戶的姓名、與用戶裝置關(guān)聯(lián)的組織、與用戶裝置關(guān)聯(lián)的支付信息(諸如主賬號(hào)(pan)或令牌)、與pan或令牌關(guān)聯(lián)的到期日期、與用戶裝置關(guān)聯(lián)的證書、用戶裝置的imei或序列號(hào)等。認(rèn)證數(shù)據(jù)可以包括適于認(rèn)證用戶或用戶裝置的任何數(shù)據(jù)或令牌。認(rèn)證數(shù)據(jù)的實(shí)例可以包括口令或口令短語(yǔ),秘密密鑰(例如,私鑰)等。識(shí)別因子可以包括從識(shí)別數(shù)據(jù)和/或認(rèn)證數(shù)據(jù)確定的任何數(shù)據(jù)或信息。例如,在一些實(shí)施例中,可以通過對(duì)識(shí)別數(shù)據(jù)和認(rèn)證數(shù)據(jù)的組合求散列生成識(shí)別因子。
識(shí)別因子可以與用戶公鑰(其可以是臨時(shí)的,靜態(tài)的或半靜態(tài)的)和用戶私鑰(其可以是臨時(shí)的,靜態(tài)的或半靜態(tài)的)組合。因此,可以確定組合的或盲化的臨時(shí)公鑰和組合的或盲化的臨時(shí)私鑰。組合的或盲化的密鑰可以包括通過與另一數(shù)據(jù)元素或值組合已經(jīng)被從其原始值模糊化或以其他方式修改的密鑰。在一些實(shí)施例中,用戶密鑰的盲化可以是可選的(例如,當(dāng)使用臨時(shí)密鑰時(shí))。
可以使用用戶私鑰(其可以被或不被盲化或與其他數(shù)據(jù)元素組合)和靜態(tài)服務(wù)器公鑰來生成請(qǐng)求共享秘密。請(qǐng)求共享秘密可以用來保護(hù)(例如加密和/或解密)供應(yīng)請(qǐng)求消息,如下文討論的。靜態(tài)服務(wù)器計(jì)算機(jī)公鑰可以包括由服務(wù)器計(jì)算機(jī)維護(hù)的靜態(tài)公鑰,諸如在安全元件中。在一些實(shí)施例中,靜態(tài)服務(wù)器公鑰可以從服務(wù)器計(jì)算機(jī)的數(shù)字證書確定,數(shù)字證書之前已經(jīng)由用戶裝置獲得,并且可以由可信的證書機(jī)構(gòu)簽名。
可以使用任何適當(dāng)方法從用戶私鑰(其可以是或不是組合或盲化密鑰)和靜態(tài)服務(wù)器公鑰生成請(qǐng)求共享秘密。例如,在使用橢圓曲線密碼學(xué)的實(shí)施例中,可以使用橢圓曲線diffie-hellman協(xié)議(ecdh)確定共享秘密。
請(qǐng)求會(huì)話密鑰可以使用請(qǐng)求共享秘密和其他合適的補(bǔ)充數(shù)據(jù)(如密鑰導(dǎo)出數(shù)據(jù),如果有的話)生成。請(qǐng)求會(huì)話密鑰也可以被稱為消息保護(hù)密鑰,因?yàn)樗糜诒Wo(hù)用戶裝置和服務(wù)器計(jì)算機(jī)之間的消息。這種補(bǔ)充數(shù)據(jù)的實(shí)例可以包括服務(wù)器計(jì)算機(jī)標(biāo)識(shí)符和/或截?cái)嗟呐R時(shí)公鑰。
請(qǐng)求會(huì)話密鑰可以是任何適當(dāng)格式(例如,aes、des、blowfish等)、任何適當(dāng)長(zhǎng)度,并且使用任何適當(dāng)?shù)拿荑€導(dǎo)出函數(shù)(kdf)生成。例如,在一個(gè)實(shí)施例中,請(qǐng)求會(huì)話密鑰可以使用基于口令的密鑰導(dǎo)出函數(shù)2(pbkdf2)算法生成。在一些實(shí)施例中,其他用戶裝置數(shù)據(jù)(諸如用戶裝置標(biāo)識(shí)符)可以用作密鑰導(dǎo)出函數(shù)的附加輸入。
在方框504,供應(yīng)請(qǐng)求消息被發(fā)送至供應(yīng)服務(wù)器計(jì)算機(jī)。在一些實(shí)施例中,供應(yīng)請(qǐng)求消息在到達(dá)服務(wù)器計(jì)算機(jī)之前,可以通過一個(gè)或多個(gè)中間機(jī)構(gòu)(例如不可信網(wǎng)絡(luò))傳輸。該請(qǐng)求消息可以包括一次性用戶公鑰(盲化或不盲化)。請(qǐng)求消息還可以包括識(shí)別數(shù)據(jù),用戶裝置標(biāo)識(shí)符,認(rèn)證數(shù)據(jù)以及用于服務(wù)器計(jì)算機(jī)的任何其他合適的數(shù)據(jù)。例如,該請(qǐng)求數(shù)據(jù)還可以包括客戶端配置信息和/或服務(wù)的指令。在一些實(shí)例中,這些信息可以由不先驗(yàn)地包括用于強(qiáng)認(rèn)證的手段的用戶裝置提供??梢允褂谜?qǐng)求會(huì)話密鑰來保護(hù)(例如,加密)請(qǐng)求數(shù)據(jù)(包含在請(qǐng)求消息中的數(shù)據(jù))中的一些或全部以形成加密的請(qǐng)求消息。圖12中示出了示例性的供應(yīng)請(qǐng)求消息。在一個(gè)實(shí)例中,識(shí)別數(shù)據(jù)和認(rèn)證數(shù)據(jù)被加密并存儲(chǔ)在請(qǐng)求消息的密文部分中。一次性用戶公鑰可以存儲(chǔ)在請(qǐng)求消息的明文部分中。在另一實(shí)例中,一次性用戶公鑰也可以被加密并存儲(chǔ)在密文部分中。在一些情況下,供應(yīng)請(qǐng)求消息可以包括用戶公鑰,且不包括加密的請(qǐng)求數(shù)據(jù)。
在方框506,從供應(yīng)服務(wù)器計(jì)算機(jī)接收供應(yīng)響應(yīng)消息。供應(yīng)響應(yīng)消息可以包括盲化的靜態(tài)服務(wù)器公鑰和加密的響應(yīng)數(shù)據(jù)。通常,盲化的靜態(tài)服務(wù)器公鑰可以是用于生成請(qǐng)求共享秘密的靜態(tài)服務(wù)器公鑰的盲化形式。提供盲化的靜態(tài)服務(wù)器公鑰的優(yōu)點(diǎn)是,靜態(tài)服務(wù)器計(jì)算機(jī)公鑰被模糊化,并且服務(wù)器計(jì)算機(jī)的身份被防止竊聽。在靜態(tài)服務(wù)器公鑰不被盲化時(shí),可以提供密碼隨機(jī)數(shù)作為響應(yīng)數(shù)據(jù)的一部分并用來計(jì)算密碼。例如,來自服務(wù)器的密碼隨機(jī)數(shù)(熵)可以被使用或存儲(chǔ)以用于進(jìn)一步的推導(dǎo),或者可以提供第二密碼隨機(jī)數(shù),作為導(dǎo)出參數(shù)的一部分。在密碼(例如,支付交易密碼)的計(jì)算中使用來自服務(wù)器的熵是必不可少的。圖12中示出了示例性的供應(yīng)響應(yīng)消息。
在方框508,使用靜態(tài)服務(wù)器公鑰確定響應(yīng)共享秘密。響應(yīng)共享秘密可以已經(jīng)用于保護(hù)(例如,加密和/或解密)響應(yīng)消息。另外,在一些實(shí)施例中,可以使用響應(yīng)共享秘密來導(dǎo)出用于保護(hù)響應(yīng)中包括的敏感數(shù)據(jù)(例如憑證數(shù)據(jù))的存儲(chǔ)保護(hù)密鑰。響應(yīng)共享秘密可以使用用戶私鑰(其可以是臨時(shí)的,靜態(tài)的或半靜態(tài)的)和靜態(tài)服務(wù)器公鑰來確定。在一些實(shí)施例中,盲化的靜態(tài)服務(wù)器公鑰可以從服務(wù)器計(jì)算機(jī)接收例如作為供應(yīng)響應(yīng)消息的一部分或從單獨(dú)的信道接收。在一些其他實(shí)施例中,可以將盲化數(shù)據(jù)(例如,密碼隨機(jī)數(shù),隨機(jī)數(shù))提供給用戶裝置(例如,作為供應(yīng)響應(yīng)消息的一部分)而不是盲化的靜態(tài)服務(wù)器公鑰。在這種情況下,盲化的靜態(tài)服務(wù)器公鑰可以由用戶裝置使用靜態(tài)服務(wù)器公鑰和所提供的盲化數(shù)據(jù)來導(dǎo)出。例如,可以使用可以作為供應(yīng)響應(yīng)消息的一部分提供的密碼隨機(jī)數(shù)導(dǎo)出盲化密鑰。密碼隨機(jī)數(shù)可以是隨機(jī)數(shù)偽隨機(jī)數(shù)。密碼隨機(jī)數(shù)還可以用來驗(yàn)證服務(wù)器計(jì)算機(jī)證書,如在別處討論的。
在一些實(shí)施例中,可以使用任何適當(dāng)方法,諸如ecdh,從用戶臨時(shí)私鑰和盲化的靜態(tài)服務(wù)器公鑰生成響應(yīng)共享秘密。在其他實(shí)施例中,可以在沒有盲化密鑰的情況下確定響應(yīng)共享秘密。在這些實(shí)施例中,供應(yīng)響應(yīng)消息(例如憑證)可以包括可以用來導(dǎo)出密碼密鑰的永華數(shù)據(jù)(例如,密碼隨機(jī)數(shù))。
通常,請(qǐng)求共享秘密與響應(yīng)共享秘密不同。例如,當(dāng)用于生成請(qǐng)求共享秘密和響應(yīng)共享秘密時(shí),靜態(tài)服務(wù)器公鑰可以被不同地盲化。在這些實(shí)施例中,請(qǐng)求共享秘密可以基本上與請(qǐng)求共享秘密相同。
在方框510,請(qǐng)求會(huì)話密鑰使用響應(yīng)共享秘密和其他合適的補(bǔ)充數(shù)據(jù)(如密鑰導(dǎo)出數(shù)據(jù),如果有的話)確定。響應(yīng)會(huì)話密鑰也可以被稱為消息保護(hù)密鑰,因?yàn)樗糜诒Wo(hù)用戶裝置和服務(wù)器計(jì)算機(jī)之間的消息。這種補(bǔ)充數(shù)據(jù)的實(shí)例可以包括服務(wù)器計(jì)算機(jī)標(biāo)識(shí)符,用戶裝置標(biāo)識(shí)符和/或截?cái)嗟挠脩艄€??梢允褂萌魏芜m當(dāng)?shù)膋df生成第二會(huì)話密鑰。
響應(yīng)會(huì)話密鑰可以是任何適當(dāng)格式(例如,aes、des、blowfish等)、任何適當(dāng)長(zhǎng)度,并且使用任何適當(dāng)?shù)拿荑€導(dǎo)出函數(shù)(kdf)生成。例如,在一個(gè)實(shí)施例中,響應(yīng)會(huì)話密鑰可以使用基于口令的密鑰導(dǎo)出函數(shù)2(pbkdf2)算法生成。在一些實(shí)施例中,其他用戶裝置專用數(shù)據(jù)(諸如用戶裝置標(biāo)識(shí)符或其他裝置指紋信息)可以用作密鑰導(dǎo)出函數(shù)的附加輸入。
在方框512,使用響應(yīng)會(huì)話密鑰來解密供應(yīng)響應(yīng)消息以獲得響應(yīng)數(shù)據(jù)。響應(yīng)數(shù)據(jù)可以包括加密人憑證數(shù)據(jù),密電池蓋隨機(jī)數(shù),服務(wù)器計(jì)算機(jī)證書鏈,密鑰導(dǎo)出數(shù)據(jù),密碼套件描述符和任何其他數(shù)據(jù)。響應(yīng)數(shù)據(jù)的一些或全部可以已經(jīng)使用響應(yīng)會(huì)話密鑰進(jìn)行加密。
服務(wù)器計(jì)算機(jī)的認(rèn)證可以由用戶裝置執(zhí)行。服務(wù)器計(jì)算機(jī)證書鏈可以被驗(yàn)證。可以使用任何適當(dāng)?shù)脑诰€或離線方法驗(yàn)證服務(wù)器計(jì)算機(jī)證書鏈。例如,對(duì)于鏈中的一個(gè)或多個(gè)證書中的每一個(gè),可以使用已知的可信公鑰(例如,證書機(jī)構(gòu)的公鑰或由ca適當(dāng)授權(quán)的實(shí)體的公鑰)驗(yàn)證證書的數(shù)字簽名。例如,在一些實(shí)施例中,可以使用諸如橢圓曲線數(shù)字簽名算法(ecdsa)的數(shù)字簽名算法來驗(yàn)證證書。在一些實(shí)施例中,可以使用作為供應(yīng)響應(yīng)消息的一部分(例如憑證的一部分)提供的密碼隨機(jī)數(shù)驗(yàn)證服務(wù)器計(jì)算機(jī)證書。
可以使用服務(wù)器計(jì)算機(jī)證書和密碼隨機(jī)數(shù)驗(yàn)證盲化的靜態(tài)服務(wù)器計(jì)算機(jī)公鑰。驗(yàn)證盲化靜態(tài)服務(wù)器計(jì)算機(jī)公鑰可以包括確保盲化靜態(tài)服務(wù)器計(jì)算機(jī)公鑰與預(yù)期值匹配。例如,在一些情況下,可以使用在服務(wù)器計(jì)算機(jī)證書上包括的靜態(tài)服務(wù)器計(jì)算機(jī)公鑰和從響應(yīng)數(shù)據(jù)提取的密碼隨機(jī)數(shù)生成第二盲化靜態(tài)服務(wù)器計(jì)算機(jī)公鑰。第二盲化靜態(tài)服務(wù)器計(jì)算機(jī)公鑰然后可以與接收的盲化靜態(tài)服務(wù)器計(jì)算機(jī)公鑰比較,以確保密鑰匹配??商娲兀谝恍┣闆r下,可以通過把接收的盲化靜態(tài)服務(wù)器計(jì)算機(jī)公鑰與存儲(chǔ)的盲化靜態(tài)服務(wù)器計(jì)算機(jī)公鑰比較來驗(yàn)證前者。如果密鑰匹配,則可以認(rèn)證服務(wù)器計(jì)算機(jī)。否則,認(rèn)證可能失敗。在一些實(shí)施例中,盲化的靜態(tài)公鑰可以以響應(yīng)消息的明文和密文兩者提供,以便能夠進(jìn)行驗(yàn)證并防止篡改。
應(yīng)當(dāng)注意,這種認(rèn)證方法(即驗(yàn)證盲化靜態(tài)公鑰)能夠提供這樣的優(yōu)點(diǎn),即不需要以明碼電文傳輸可能被認(rèn)為是敏感(因?yàn)槠淇赡芙沂痉?wù)器計(jì)算機(jī)的身份)的靜態(tài)服務(wù)器計(jì)算機(jī)公鑰。因此,能夠執(zhí)行服務(wù)器計(jì)算機(jī)的認(rèn)證,同時(shí)保護(hù)服務(wù)器計(jì)算機(jī)的身份不被捕獲供應(yīng)請(qǐng)求消息的偷聽者獲得。
響應(yīng)數(shù)據(jù)還可以包括加密的憑證數(shù)據(jù),其可以在不被解密的情況下保持被加密,直到憑證數(shù)據(jù)實(shí)際上需要執(zhí)行交易。憑證數(shù)據(jù)可以包括從服務(wù)器向用戶裝置(例如移動(dòng)裝置)供應(yīng)的使得用戶裝置能夠進(jìn)行交易(例如支付交易)的任何數(shù)據(jù)。憑證數(shù)據(jù)的實(shí)例可以包括令牌,pan或其他帳戶信息,一個(gè)或多個(gè)密鑰(例如,用于生成密碼的luk,加密密鑰,盲化或未混合的靜態(tài)公鑰等),密鑰導(dǎo)出參數(shù)(例如,用于導(dǎo)出用于生成密碼、共享秘密密鑰、加密密鑰等的suk),密碼導(dǎo)出參數(shù),證書鏈信息,交易參數(shù)以及任何其他合適的數(shù)據(jù)。
憑證數(shù)據(jù)可以包括密鑰導(dǎo)出參數(shù),該密鑰導(dǎo)出參數(shù)可以或可以不包括使用受限密鑰(luk)。密鑰導(dǎo)出參數(shù)(其可以或可以不包括luk)可以用來生成用于執(zhí)行交易的一個(gè)或多個(gè)密碼。例如,luk可以用來直接導(dǎo)出密碼,或用來導(dǎo)出密碼密鑰,密碼密鑰然后用來生成密碼。
憑證數(shù)據(jù)或憑證可以包括密碼導(dǎo)出參數(shù),密碼導(dǎo)出參數(shù)可以用來導(dǎo)出密碼。憑證數(shù)據(jù)還可以包括可以由用戶裝置使用的以基于之前的共享秘密生成更新的共享秘密的更新參數(shù)。在一些實(shí)施例中,密鑰導(dǎo)出參數(shù)可以基本上與更新參數(shù)相同。在一些其他的實(shí)施例中,密鑰導(dǎo)出參數(shù)可以與更新參數(shù)不同。密鑰導(dǎo)出參數(shù)和/或更新參數(shù)可以是每個(gè)用戶裝置或每組用戶裝置唯一的,以便防止大規(guī)模離線攻擊。
密鑰導(dǎo)出參數(shù)、密碼導(dǎo)出參數(shù)和/或更新參數(shù)可以包括luk、給定交易使用哪些交易參數(shù)的說明、用于執(zhí)行導(dǎo)出的代碼(或使用哪個(gè)導(dǎo)出程序的標(biāo)識(shí)符)和/或與這些參數(shù)有關(guān)的其他信息。在一些實(shí)施例中,密鑰導(dǎo)出參數(shù)、密碼導(dǎo)出參數(shù)和/或更新參數(shù)可以包括“假(dummy)的”或無效的參數(shù)以用于模糊化目的。代碼可以是個(gè)性化的導(dǎo)出方法代碼,原因是其對(duì)于裝置或裝置組是唯一的,并且可以被隨機(jī)地分配。代碼可以由服務(wù)器或其他銷售方簽名,使得用戶裝置能夠認(rèn)證代碼。在一些實(shí)施例中,代碼在被簽名前被模糊化,因此使攻擊者難以理解、繞過和/或反向工程得到該代碼。
在方框514,使用響應(yīng)共享秘密來確定存儲(chǔ)保護(hù)密鑰。存儲(chǔ)保護(hù)密鑰可用于解密加密的憑據(jù)數(shù)據(jù)。例如,存儲(chǔ)保護(hù)密鑰可以已經(jīng)由服務(wù)器計(jì)算機(jī)使用來直接加密憑證數(shù)據(jù)以生成加密的憑證數(shù)據(jù)。作為另一實(shí)例,存儲(chǔ)保護(hù)密鑰可以已經(jīng)與用戶裝置或用戶專用的數(shù)據(jù)(例如,裝置指紋信息或用戶標(biāo)識(shí)信息)結(jié)合使用,以導(dǎo)出用于加密憑證數(shù)據(jù)的憑證加密密鑰。
可以使用各種方法來生成存儲(chǔ)保護(hù)密鑰。在一個(gè)實(shí)施例中,響應(yīng)共享秘密可以用于導(dǎo)出隨機(jī)或偽隨機(jī)比特串。根據(jù)預(yù)定的算法,比特串可被分成兩部分。比特串的第一部分可以用作或用于生成響應(yīng)會(huì)話密鑰;而比特串的第二部分可以用作或用于生成存儲(chǔ)保護(hù)密鑰。
在另一個(gè)實(shí)施例中,響應(yīng)共享秘密可以與不同的密鑰導(dǎo)出函數(shù)或密鑰生成算法一起使用以分別生成響應(yīng)會(huì)話密鑰和存儲(chǔ)保護(hù)密鑰。
在一些替換性實(shí)施例中,存儲(chǔ)保護(hù)密鑰可能根本不從響應(yīng)共享秘密生成。如結(jié)合圖13所討論的,不同于共享秘密密鑰,存儲(chǔ)保護(hù)密鑰可以是用戶裝置的公鑰,并且對(duì)應(yīng)于存儲(chǔ)私鑰。存儲(chǔ)私鑰可以與方框502中討論的用戶私鑰相同或不同,該密鑰用作一次性用戶公鑰,并且為了生成共享秘密(例如,請(qǐng)求共享秘密和響應(yīng)共享秘密)的目的提供給服務(wù)器計(jì)算機(jī)(例如,在供應(yīng)請(qǐng)求消息中)。
存儲(chǔ)保護(hù)公鑰可以被提供給服務(wù)器計(jì)算機(jī)(例如,在供應(yīng)請(qǐng)求消息中)用于保護(hù)憑證數(shù)據(jù)。服務(wù)器計(jì)算機(jī)可以利用存儲(chǔ)保護(hù)密鑰對(duì)憑證數(shù)據(jù)進(jìn)行加密,并將加密的憑證數(shù)據(jù)提供給用戶裝置。在這樣的實(shí)施例中,用戶裝置可以存儲(chǔ)加密的憑證數(shù)據(jù),直到需要該憑證數(shù)據(jù)執(zhí)行交易(例如,生成交易密碼)。在交易時(shí)間,用戶裝置可以使用與存儲(chǔ)保護(hù)公鑰對(duì)應(yīng)的存儲(chǔ)保護(hù)私鑰對(duì)加密的憑證數(shù)據(jù)進(jìn)行解密。存儲(chǔ)保護(hù)私鑰可以由用戶裝置(例如,經(jīng)由加密,白盒密碼或安全硬件模塊)來保護(hù)。
在方框516,存儲(chǔ)保護(hù)密鑰可以可選地使用密鑰加密密鑰(kek)進(jìn)行加密。kek可以包括用戶裝置的任何合適的加密密鑰。在某些情況下,kek可以是靜態(tài)的或隨著時(shí)間的推移而變化。例如,存儲(chǔ)保護(hù)密鑰可以用旋轉(zhuǎn)的kek周期性地重新加密以增強(qiáng)安全性。在一些實(shí)施例中,不同于使用加密密鑰進(jìn)行加密或除此之外,可以使用任何其他合適的方法來保護(hù)存儲(chǔ)保護(hù)密鑰,包括安全防篡改硬件模塊(例如,智能芯片),白盒密碼等。在存儲(chǔ)保護(hù)密鑰是公鑰的實(shí)施例中,對(duì)應(yīng)的存儲(chǔ)保護(hù)私鑰(可用于解密加密的憑證數(shù)據(jù))可以被加密或以其他方式受保護(hù)(例如,使用安全硬件模塊或白盒加密)。
在方框518,存儲(chǔ)加密的憑證數(shù)據(jù)。加密的憑證數(shù)據(jù)可以存儲(chǔ)在用戶裝置上,例如在安全或不安全的模塊中。替換性地或另外地,加密的憑證數(shù)據(jù)可以存儲(chǔ)在遠(yuǎn)程或本地?cái)?shù)據(jù)存儲(chǔ)器中,例如由圖4中討論的外部存儲(chǔ)提供方提供的。在一些情況下,例如,一個(gè)或多個(gè)外部存儲(chǔ)器可以存儲(chǔ)加密的憑證數(shù)據(jù)的一個(gè)或多個(gè)副本以提供冗余。然而,加密的憑證數(shù)據(jù)在沒有通過加密或其他合適的數(shù)據(jù)保護(hù)方法來保護(hù)的存儲(chǔ)保護(hù)密鑰的情況下不能被解密,由此降低了憑證數(shù)據(jù)泄密的風(fēng)險(xiǎn)。
在方框520,存儲(chǔ)加密的保護(hù)密鑰。加密的保護(hù)密鑰可以存儲(chǔ)在用戶裝置上,例如在安全或不安全的模塊中。替換性地或另外地,加密的保護(hù)密鑰可以存儲(chǔ)在遠(yuǎn)程或本地?cái)?shù)據(jù)存儲(chǔ)器中,例如由圖4中討論的外部存儲(chǔ)提供方提供的。在存儲(chǔ)保護(hù)密鑰是用戶公鑰的實(shí)施例中,對(duì)應(yīng)的存儲(chǔ)保護(hù)私鑰(可用于解密加密的憑證數(shù)據(jù))可以被加密或以其他方式受保護(hù)(例如,使用安全硬件模塊或白盒加密)。在一些實(shí)施例中,加密的保護(hù)密鑰和加密的憑證數(shù)據(jù)可以存儲(chǔ)在不同的位置,以減少兩者泄密的風(fēng)險(xiǎn)。例如,加密的保護(hù)密鑰可以存儲(chǔ)在用戶裝置處,并且加密的憑證數(shù)據(jù)可以存儲(chǔ)在遠(yuǎn)程連接到用戶裝置的外部存儲(chǔ)提供方處;或相反亦然。
圖6示出根據(jù)一些實(shí)施例的用于從服務(wù)器計(jì)算機(jī)安全地供應(yīng)憑證數(shù)據(jù)的另一示例性過程600。在這樣的實(shí)施例中,憑證數(shù)據(jù)可以由由用戶裝置提供的存儲(chǔ)保護(hù)公鑰來保護(hù)。過程600的各方面可以由用戶裝置(諸如用戶裝置101或200)執(zhí)行。替代性地或者另外,過程600的各方面可以由任何其他適當(dāng)?shù)膶?shí)體執(zhí)行。
在方框602,確定一次性用戶公鑰。該一次性用戶公鑰可以類似于在上面討論的圖5的方框502處生成的一次性用戶公鑰。
在方框604,確定存儲(chǔ)保護(hù)公鑰。存儲(chǔ)保護(hù)公鑰可以是由用戶裝置生成和/或維護(hù)的公/私存儲(chǔ)保護(hù)密鑰對(duì)的公鑰。存儲(chǔ)保護(hù)私鑰可用于解密加密的敏感數(shù)據(jù)(例如憑證數(shù)據(jù))。存儲(chǔ)保護(hù)密鑰對(duì)可以是與用于生成共享秘密(例如,請(qǐng)求共享秘密和響應(yīng)共享秘密)的方塊602中所使用的用戶公/私鑰對(duì)不同的密鑰對(duì)。可替代地,存儲(chǔ)保護(hù)密鑰對(duì)和用戶密鑰對(duì)可以共享相同的私鑰。例如,可以使用相同的用戶私鑰來生成兩個(gè)公鑰,用于保護(hù)憑證數(shù)據(jù)的存儲(chǔ)保護(hù)公鑰和用于保護(hù)傳輸中的消息的在方框602中討論的用戶公鑰。
在方框606,供應(yīng)請(qǐng)求消息被發(fā)送至供應(yīng)服務(wù)器計(jì)算機(jī)。該請(qǐng)求消息可以包括一次性用戶公鑰(盲化或不盲化)和存儲(chǔ)保護(hù)公鑰。請(qǐng)求消息還可以包括在圖5中所述的其他數(shù)據(jù),例如識(shí)別數(shù)據(jù),用戶裝置標(biāo)識(shí)符,認(rèn)證數(shù)據(jù)以及用于服務(wù)器計(jì)算機(jī)的任何其他合適的數(shù)據(jù)。在一些實(shí)施例中,請(qǐng)求共享秘密和請(qǐng)求會(huì)話密鑰可以以與圖5中所描述的類似的方式來確定。請(qǐng)求會(huì)話密鑰可用于保護(hù)供應(yīng)請(qǐng)求消息。圖13中示出了示例性的供應(yīng)請(qǐng)求消息。
在方框608,從供應(yīng)服務(wù)器計(jì)算機(jī)接收供應(yīng)響應(yīng)消息。供應(yīng)響應(yīng)消息可以包括已經(jīng)使用在上面的方框606中發(fā)送的存儲(chǔ)保護(hù)公鑰來加密的憑證數(shù)據(jù)。供應(yīng)響應(yīng)消息還可以包括盲化的靜態(tài)服務(wù)器公鑰和其他加密的響應(yīng)數(shù)據(jù),例如在圖5的方框506中所描述的。圖13中示出了示例性的供應(yīng)響應(yīng)消息。
在方框610,使用靜態(tài)服務(wù)器公鑰確定響應(yīng)共享秘密。響應(yīng)共享秘密可以以與圖5的方框508中所描述的類似的方式來確定。
在方框612,請(qǐng)求會(huì)話密鑰使用響應(yīng)共享秘密和其他合適的補(bǔ)充數(shù)據(jù)(如密鑰導(dǎo)出數(shù)據(jù),如果有的話)確定。響應(yīng)會(huì)話密鑰可以以與圖5的方框510中所描述的類似的方式來確定。
在方框614,使用響應(yīng)會(huì)話密鑰來解密供應(yīng)響應(yīng)消息以獲得響應(yīng)數(shù)據(jù)。供應(yīng)響應(yīng)消息可以以與圖5的方框512中所描述的類似的方式被解密。響應(yīng)數(shù)據(jù)可以包括加密的憑證數(shù)據(jù)。加密的憑證數(shù)據(jù)可以已經(jīng)使用在上面的方框606中提供的存儲(chǔ)保護(hù)公鑰被加密。另外的認(rèn)證步驟可以由用戶裝置基于響應(yīng)數(shù)據(jù)如圖5中所描述的來執(zhí)行。
在方框616,以與圖5的方框518中所描述的類似的方式來存儲(chǔ)加密的憑證數(shù)據(jù)。
用于解密加密的憑證數(shù)據(jù)和/或存儲(chǔ)保護(hù)公鑰的存儲(chǔ)保護(hù)私鑰可以以與圖5的方框518和520中所描述的類似的方式來存儲(chǔ)。例如,存儲(chǔ)保護(hù)私鑰/公鑰可以在存儲(chǔ)之前使用密鑰加密密鑰被進(jìn)一步加密。存儲(chǔ)保護(hù)私鑰/公鑰可以存儲(chǔ)在安全模塊(例如,智能芯片卡)中。存儲(chǔ)保護(hù)私鑰/公鑰可以本地存儲(chǔ)在用戶裝置上或存儲(chǔ)在遠(yuǎn)程存儲(chǔ)提供方處。在一些實(shí)施例中,存儲(chǔ)保護(hù)密鑰/公鑰和加密的憑證數(shù)據(jù)可以存儲(chǔ)在不同的位置,以減少憑證數(shù)據(jù)泄密的風(fēng)險(xiǎn)。
圖7示出根據(jù)一些實(shí)施例的使用憑證數(shù)據(jù)來進(jìn)行交易的示例性過程700。在一些實(shí)施例中,過程700可以由用戶裝置使用以利用使用圖5中所描述的供應(yīng)過程500獲得的加密憑證數(shù)據(jù)。過程700的各方面可以由用戶裝置(諸如用戶裝置101或200)執(zhí)行。替代性地或者另外,過程700的各方面可以由任何其他適當(dāng)?shù)膶?shí)體執(zhí)行。
在方框702,檢索加密的憑證數(shù)據(jù)。可以從接收到供應(yīng)響應(yīng)消息的用戶裝置或可操作地連接到用戶裝置的外部存儲(chǔ)器檢索加密的憑證數(shù)據(jù),例如上文所討論的。例如,可以從諸如智能芯片卡的安全模塊檢索加密的憑證數(shù)據(jù)??梢皂憫?yīng)于需要憑證數(shù)據(jù)執(zhí)行交易的指示來檢索加密的憑證數(shù)據(jù)。例如,該指示可以指示要生成認(rèn)證或授權(quán)請(qǐng)求消息。具體地,該指示可以指示用于認(rèn)證授權(quán)請(qǐng)求消息的密碼需要使用憑證數(shù)據(jù)來生成??梢詮脑谟脩粞b置上運(yùn)行的移動(dòng)應(yīng)用(例如,支付應(yīng)用)接收指示將要啟動(dòng)支付交易的指示。可以從與移動(dòng)應(yīng)用程序交互(例如,經(jīng)由觸摸屏,鍵盤,小鍵盤,鼠標(biāo),語(yǔ)音,手勢(shì)或其他合適的用戶輸入方法)的用戶接收指示??梢詮呐c用戶裝置通信的商家計(jì)算機(jī)或其他交易處理實(shí)體(例如,收單方計(jì)算機(jī),支付處理網(wǎng)絡(luò)計(jì)算機(jī),發(fā)行方計(jì)算機(jī)等)接收該指示。
在方框704,檢索存儲(chǔ)保護(hù)密鑰??梢詮慕邮盏焦?yīng)響應(yīng)消息的用戶裝置或可操作地連接到用戶裝置的外部存儲(chǔ)器檢索存儲(chǔ)保護(hù)密鑰,例如上文所討論的。例如,可以從諸如智能芯片卡的安全模塊檢索存儲(chǔ)保護(hù)密鑰。如果存儲(chǔ)保護(hù)密鑰在存儲(chǔ)之前被加密(例如,使用kek),則存儲(chǔ)保護(hù)密鑰可以被解密。
在方框706,使用存儲(chǔ)保護(hù)密鑰對(duì)加密的憑證數(shù)據(jù)進(jìn)行解密以獲得憑證數(shù)據(jù)。在一些實(shí)施例中,當(dāng)使用存儲(chǔ)保護(hù)密鑰來加密憑證數(shù)據(jù)時(shí),可以使用存儲(chǔ)保護(hù)密鑰來直接解密加密的憑證數(shù)據(jù)。在一些其他實(shí)施例中,存儲(chǔ)保護(hù)密鑰可以用于使用用戶裝置專有的一些數(shù)據(jù)(例如,諸如裝置標(biāo)識(shí)符,硬件或軟件設(shè)置等的裝置指紋信息)來導(dǎo)出數(shù)據(jù)加密密鑰(或憑證加密密鑰)然后可以使用數(shù)據(jù)加密密鑰來解密加密的憑據(jù)數(shù)據(jù)。
在方框708,憑證數(shù)據(jù)被用于執(zhí)行交易。例如,憑證數(shù)據(jù)可以包括luk或用于導(dǎo)出suk的導(dǎo)出參數(shù)??梢允褂胠uk或suk來利用更新的共享秘密和密鑰導(dǎo)出參數(shù)來生成密碼密鑰。密鑰導(dǎo)出參數(shù)可以包括在來自服務(wù)器計(jì)算機(jī)的之前的響應(yīng)消息(例如供應(yīng)響應(yīng)消息或認(rèn)證響應(yīng)消息)中指示的密鑰導(dǎo)出數(shù)據(jù)和/或密鑰導(dǎo)出算法。例如,luk阿卡suk和/或更新的共享秘密可以作為輸入連同特定的密鑰導(dǎo)出數(shù)據(jù)提供到密鑰導(dǎo)出函數(shù)中,以產(chǎn)生密碼密鑰。作為另一實(shí)例,luk或suk可以被用作密碼密鑰。在這些實(shí)施例中,密碼密鑰可以是只對(duì)單次交易有效的一次性使用密鑰。在其他實(shí)施例中,密碼密鑰可以被重復(fù)使用超過一次交易。
在一些實(shí)施例中,還基于作為供應(yīng)響應(yīng)的一部分發(fā)送的密碼導(dǎo)出參數(shù)使用交易數(shù)據(jù)生成交易密碼。在一些實(shí)施例中,交易密碼還可以包括使用密碼密鑰加密的交易數(shù)據(jù)(例如交易金額、交易日期等)和用戶/賬戶細(xì)節(jié)(例如支付令牌、賬戶到期日期等)。
所生成的密碼可以用來執(zhí)行交易(或其他安全通信)。通常,交易密碼認(rèn)證交易。例如,在一些實(shí)施例中,用戶裝置可以向訪問裝置或商家計(jì)算機(jī)提供支付令牌或pan以及交易密碼,訪問裝置或商家計(jì)算機(jī)然后可以生成針對(duì)交易的授權(quán)或認(rèn)證請(qǐng)求消息。授權(quán)或認(rèn)證請(qǐng)求消息可以包括交易密碼。交易密碼可以由接收授權(quán)或認(rèn)證請(qǐng)求消息的實(shí)體(例如支付處理網(wǎng)絡(luò)計(jì)算機(jī)105、發(fā)行方計(jì)算機(jī)106、校驗(yàn)服務(wù)器)驗(yàn)證,以便確定是否批準(zhǔn)或拒絕交易。
在一些實(shí)施例中,在使用憑證數(shù)據(jù)執(zhí)行交易之后,憑證數(shù)據(jù)可以用適當(dāng)?shù)募用苊荑€重新加密,該加密密鑰可以是或可以不是存儲(chǔ)保護(hù)密鑰。例如,憑證數(shù)據(jù)可以用用戶裝置的秘密或私鑰加密??梢酝ㄟ^更新加密密鑰(例如,周期性地)來進(jìn)一步改善數(shù)據(jù)安全性,并因此利用更新的加密密鑰重新加密憑證數(shù)據(jù)。
圖8示出根據(jù)一些實(shí)施例的使用憑證數(shù)據(jù)來進(jìn)行交易的另一示例性過程800。在一些實(shí)施例中,過程800可以由用戶裝置使用以利用使用圖6中所描述的供應(yīng)過程600獲得的加密憑證數(shù)據(jù)。過程800的各方面可以由用戶裝置(諸如用戶裝置101或200)執(zhí)行。替代性地或者另外,過程800的各方面可以由任何其他適當(dāng)?shù)膶?shí)體執(zhí)行。
在方框802,檢索加密的憑證數(shù)據(jù)。加密的憑證數(shù)據(jù)可以以與圖7的方框702中所描述的類似的方式被檢索。
在方框804,檢索存儲(chǔ)保護(hù)私鑰。存儲(chǔ)保護(hù)私鑰可以對(duì)應(yīng)于用于加密憑證數(shù)據(jù)的存儲(chǔ)保護(hù)公鑰。在一些實(shí)施例中,可以首先檢索存儲(chǔ)保護(hù)公鑰,并用于檢索對(duì)應(yīng)的存儲(chǔ)保護(hù)私鑰。在一些情況下,存儲(chǔ)保護(hù)私鑰可以在存儲(chǔ)期間被加密(例如,使用kek),因此在用于解密加密的憑證數(shù)據(jù)之前需要被解密??梢詮挠脩粞b置或外部存儲(chǔ)提供方處檢索存儲(chǔ)保護(hù)私鑰。
在方框806,使用存儲(chǔ)保護(hù)私鑰對(duì)加密的憑證數(shù)據(jù)進(jìn)行解密以獲得憑證數(shù)據(jù)。在一些實(shí)施例中,當(dāng)使用存儲(chǔ)保護(hù)公鑰來直接加密憑證數(shù)據(jù)時(shí),可以使用存儲(chǔ)保護(hù)私鑰來直接解密加密的憑證數(shù)據(jù)。在一些其他實(shí)施例中,存儲(chǔ)保護(hù)公鑰可以已經(jīng)用于使用用戶裝置專有的一些數(shù)據(jù)(例如,諸如裝置標(biāo)識(shí)符,硬件或軟件設(shè)置等的裝置指紋信息)來導(dǎo)出數(shù)據(jù)加密密鑰(或憑證加密密鑰)數(shù)據(jù)加密密鑰然后被用于加密憑證數(shù)據(jù)。在這樣的實(shí)施例中,存儲(chǔ)保護(hù)私鑰可以用于結(jié)合用戶/裝置專有數(shù)據(jù)來導(dǎo)出數(shù)據(jù)解密密鑰,然后將數(shù)據(jù)解密密鑰用于解密加密的憑證數(shù)據(jù)。
在方框808,憑證數(shù)據(jù)用于以與圖7的方框708中所描述的類似方式執(zhí)行交易。
c.服務(wù)器計(jì)算機(jī)
圖9示出根據(jù)一些實(shí)施例的用于向用戶裝置安全地供應(yīng)憑證數(shù)據(jù)的示例性過程900。在這樣的實(shí)施例中,憑證數(shù)據(jù)可以由基于共享秘密確定的存儲(chǔ)保護(hù)密鑰來保護(hù)。過程900的各方面可以由服務(wù)器計(jì)算機(jī)(諸如服務(wù)器裝置或計(jì)算機(jī)102、103、104、105、106或300)執(zhí)行。例如,過程900可以由供應(yīng)服務(wù)器執(zhí)行。替代性地或附加地,過程900的各方面可以由任何其他適當(dāng)?shù)膶?shí)體執(zhí)行。
通常,在方法900之前,服務(wù)器計(jì)算機(jī)維護(hù)靜態(tài)服務(wù)器密鑰對(duì)。靜態(tài)服務(wù)器密鑰對(duì)可以包括公鑰(即“靜態(tài)服務(wù)器公鑰”)和私鑰(即“靜態(tài)服務(wù)器私鑰”)。服務(wù)器計(jì)算機(jī)還可以包括“服務(wù)器計(jì)算機(jī)證書”,服務(wù)器計(jì)算機(jī)證書包括靜態(tài)服務(wù)器公鑰。服務(wù)器計(jì)算機(jī)證書可以由證書機(jī)構(gòu)(諸如支付處理網(wǎng)絡(luò)105或發(fā)行方計(jì)算機(jī)106)簽名。
在方框902,從用戶裝置接收供應(yīng)響應(yīng)消息。供應(yīng)請(qǐng)求消息包括一次性用戶公鑰,例如在圖5的方框502中所討論的。圖12中示出了示例性的供應(yīng)請(qǐng)求消息。在一個(gè)實(shí)施例中,可以由用戶裝置使用具有盲化數(shù)據(jù)(例如識(shí)別因子)的臨時(shí)公鑰或靜態(tài)或半靜態(tài)公鑰來生成一次性用戶公鑰。在另一實(shí)例中,一次性公鑰可以僅僅是臨時(shí)公鑰,而不使用盲化數(shù)據(jù)。在一些情況下,供應(yīng)請(qǐng)求消息可以包括一次性用戶公鑰,而不包括加密的請(qǐng)求數(shù)據(jù)。在這樣的實(shí)施方式中,本領(lǐng)域技術(shù)人員會(huì)理解可以不需要下文的某些步驟。
為了解密加密的請(qǐng)求數(shù)據(jù),可以使用上面接收的一次性用戶公鑰和靜態(tài)服務(wù)器私鑰來生成請(qǐng)求共享秘密??梢允褂萌魏魏线m的方法(例如ecdh)來生成請(qǐng)求共享秘密。
請(qǐng)求會(huì)話密鑰可以使用請(qǐng)求共享秘密和補(bǔ)充數(shù)據(jù)(如密鑰導(dǎo)出數(shù)據(jù),如果需要的話)生成。通常,這里可以使用用于在用戶裝置處生成請(qǐng)求會(huì)話密鑰的相同補(bǔ)充數(shù)據(jù)。
可以使用請(qǐng)求會(huì)話密鑰對(duì)加密的請(qǐng)求數(shù)據(jù)進(jìn)行解密以獲得請(qǐng)求數(shù)據(jù)。請(qǐng)求數(shù)據(jù)包括識(shí)別數(shù)據(jù),用戶裝置標(biāo)識(shí)符,認(rèn)證數(shù)據(jù)以及用于服務(wù)器計(jì)算機(jī)的任何其他合適的數(shù)據(jù)。例如,該請(qǐng)求數(shù)據(jù)還可以包括客戶端配置信息和/或服務(wù)的指令。在某些情況下,請(qǐng)求數(shù)據(jù)還包括一次性用戶公鑰。用戶裝置標(biāo)識(shí)符可以包括適于識(shí)別用戶裝置的任何數(shù)據(jù)。識(shí)別數(shù)據(jù)可以包括與用戶或用戶裝置關(guān)聯(lián)的任何數(shù)據(jù)或信息。識(shí)別數(shù)據(jù)的實(shí)例可以包括與用戶裝置關(guān)聯(lián)的用戶的姓名、與用戶裝置關(guān)聯(lián)的組織、與用戶裝置關(guān)聯(lián)的支付信息(諸如主賬號(hào)(pan)或令牌)、與pan或令牌關(guān)聯(lián)的到期日期、與用戶裝置關(guān)聯(lián)的證書、用戶裝置的imei或序列號(hào)等。
可以使用請(qǐng)求數(shù)據(jù)來認(rèn)證或驗(yàn)證用戶裝置??梢允褂糜脩粞b置標(biāo)識(shí)符驗(yàn)證識(shí)別數(shù)據(jù)。例如,在一些實(shí)施例中,用戶裝置標(biāo)識(shí)符可以用來從裝置數(shù)據(jù)庫(kù)檢索對(duì)應(yīng)的識(shí)別數(shù)據(jù)。然后可以把解密的識(shí)別數(shù)據(jù)與接收的識(shí)別數(shù)據(jù)比較來驗(yàn)證解密的識(shí)別數(shù)據(jù)。在一些實(shí)施例中,識(shí)別數(shù)據(jù)可以包括用戶裝置標(biāo)識(shí)符。
可以檢索與用戶裝置標(biāo)識(shí)符和/或識(shí)別數(shù)據(jù)相關(guān)聯(lián)的認(rèn)證數(shù)據(jù)。認(rèn)證數(shù)據(jù)可以包括適于認(rèn)證用戶或用戶裝置的任何數(shù)據(jù)或令牌。認(rèn)證數(shù)據(jù)的實(shí)例可以包括口令或口令短語(yǔ),秘密密鑰(例如,私鑰)等。在一些實(shí)施例中,可以從裝置數(shù)據(jù)庫(kù)檢索認(rèn)證數(shù)據(jù)。
可以使用不檢索的認(rèn)證數(shù)據(jù)和識(shí)別數(shù)據(jù)來生成識(shí)別因子。識(shí)別因子可以包括從識(shí)別數(shù)據(jù)和/或認(rèn)證數(shù)據(jù)確定的任何數(shù)據(jù)或信息。例如,在一些實(shí)施例中,可以通過對(duì)識(shí)別數(shù)據(jù)和認(rèn)證數(shù)據(jù)的組合求散列生成識(shí)別因子。
可以驗(yàn)證一次性用戶公鑰,以確保一次性用戶公鑰與預(yù)期值匹配。例如,在一些情況下,可以使用從解密的請(qǐng)求數(shù)據(jù)提取的一次性公鑰以及上面確定的識(shí)別因子來生成盲化的一次性公鑰。然后將盲化的一次性公鑰與作為請(qǐng)求消息的一部分(例如,在請(qǐng)求消息的明文部分中)接收的一次性公鑰進(jìn)行比較,以確保密鑰匹配。如果密鑰匹配,則用戶裝置可以被認(rèn)證。否則,認(rèn)證可能失敗。
應(yīng)當(dāng)注意,這種認(rèn)證方法(即驗(yàn)證組合的臨時(shí)密鑰)提供這樣的優(yōu)點(diǎn),即不需要以明文甚至以加密形式傳輸可能是敏感的認(rèn)證數(shù)據(jù)。因此,即便靜態(tài)服務(wù)器私鑰稍后被泄密(不過不太可能),明文認(rèn)證數(shù)據(jù)也不會(huì)被暴露。而且,由于密鑰的盲化通常是不可逆的,即便同時(shí)具有盲化用戶公鑰和未盲化用戶公鑰(例如臨時(shí)公鑰)的知識(shí),攻擊者也不能導(dǎo)出識(shí)別因子,更不用說用來生成識(shí)別因子的認(rèn)證數(shù)據(jù)。
在方框904,可以使用靜態(tài)服務(wù)器私鑰和一次性用戶公鑰來生成響應(yīng)共享秘密。在一些實(shí)施例中,靜態(tài)服務(wù)器公鑰和/或靜態(tài)服務(wù)器私鑰可以使用密碼隨機(jī)數(shù)(例如,隨機(jī)數(shù)或偽隨機(jī)數(shù)據(jù)值)和/或識(shí)別因子來被盲化??梢允褂妹せo態(tài)服務(wù)器私鑰和一次性用戶公鑰來生成響應(yīng)共享秘密。在替代性實(shí)施例中,靜態(tài)服務(wù)器計(jì)算機(jī)私鑰不被盲化。相反,一次性用戶公鑰是盲化的??梢允褂萌魏魏线m的方法(例如ecdh)來生成響應(yīng)共享秘密。
在方框906,識(shí)別將要包括在臨時(shí)響應(yīng)消息中的憑證數(shù)據(jù)。憑證數(shù)據(jù)可以包括為給定的用戶裝置(例如,移動(dòng)設(shè)備)或給定的裝置專門供應(yīng)的任何數(shù)據(jù),以使得用戶裝置能夠執(zhí)行交易(例如,支付交易)。憑證數(shù)據(jù)的實(shí)例可以包括令牌,pan或其他帳戶信息,一個(gè)或多個(gè)密鑰(例如,用于生成密碼的luk,加密密鑰,盲化或未混合的靜態(tài)公鑰等),密鑰導(dǎo)出參數(shù)(例如,用于導(dǎo)出用于生成密碼、共享秘密密鑰、加密密鑰等的suk),密碼導(dǎo)出參數(shù),證書鏈信息,交易參數(shù)以及任何其他合適的數(shù)據(jù)。
供應(yīng)響應(yīng)消息還可以包括諸如服務(wù)器計(jì)算機(jī)證書鏈,靜態(tài)服務(wù)器公鑰,密碼隨機(jī)數(shù)等的其他信息。服務(wù)器計(jì)算機(jī)證書鏈可以由用戶裝置驗(yàn)證以驗(yàn)證服務(wù)器計(jì)算機(jī)的身份,如圖5中所討論的。靜態(tài)服務(wù)器公鑰可以被或可以不被盲化。靜態(tài)服務(wù)器公鑰可以被用戶裝置使用生成響應(yīng)共享秘密。
在方框908,如果需要,可以使用響應(yīng)共享秘密和密鑰導(dǎo)出數(shù)據(jù)來確定響應(yīng)會(huì)話密鑰。密鑰導(dǎo)出數(shù)據(jù)可以包括用戶裝置或用戶專有的數(shù)據(jù)(例如,裝置標(biāo)識(shí)符,用戶標(biāo)識(shí)符等等)。在一個(gè)實(shí)施例中,響應(yīng)會(huì)話密鑰可以以與圖5的方框510中所描述的類似的方式來確定。
在方框910,可以從響應(yīng)共享秘密來確定存儲(chǔ)保護(hù)密鑰。存儲(chǔ)保護(hù)密鑰可以與響應(yīng)會(huì)話密鑰不同,并且可用于加密憑證數(shù)據(jù)。在一個(gè)實(shí)施例中,存儲(chǔ)保護(hù)密鑰可以以與圖5的方框514中所描述的類似的方式來確定。例如,在替代實(shí)施例中,存儲(chǔ)保護(hù)密鑰可以是由用戶裝置提供的公鑰(例如,作為圖13所示的供應(yīng)請(qǐng)求消息的一部分),并且不從響應(yīng)共享秘密生成。
在方框912,可以使用存儲(chǔ)保護(hù)密鑰對(duì)憑證數(shù)據(jù)進(jìn)行加密以生成加密的憑證數(shù)據(jù)。在一個(gè)實(shí)施例中,存儲(chǔ)保護(hù)密鑰可以直接用于加密憑證數(shù)據(jù)。在另一個(gè)實(shí)施例中,存儲(chǔ)保護(hù)密鑰可以與專用于用戶或用戶裝置的數(shù)據(jù)一起使用,向用戶或用戶裝置供應(yīng)憑證數(shù)據(jù)以導(dǎo)出憑證加密密鑰,然后用于加密憑證數(shù)據(jù)。在一些實(shí)施例中,存儲(chǔ)保護(hù)和/或憑證數(shù)據(jù)可以在創(chuàng)建加密憑證數(shù)據(jù)之后不久被刪除。
在方框914,可以使用響應(yīng)會(huì)話密鑰來加密供應(yīng)響應(yīng)消息的一些或所有數(shù)據(jù)。例如,可以使用響應(yīng)會(huì)話密鑰加密密碼隨機(jī)數(shù)、服務(wù)器計(jì)算機(jī)證書鏈、密鑰導(dǎo)出數(shù)據(jù)、密碼套件描述符和其他合適的數(shù)據(jù)。加密的憑證數(shù)據(jù)可以使用響應(yīng)會(huì)話密鑰被加密或不被加密。圖12中示出了示例性的供應(yīng)響應(yīng)消息。
在方框916處,加密的供應(yīng)響應(yīng)消息被發(fā)送到用戶裝置。供應(yīng)響應(yīng)消息在到達(dá)用戶裝置之前可以通過一個(gè)或多個(gè)中間機(jī)構(gòu)(例如不可信網(wǎng)絡(luò))傳輸。用戶裝置可以根據(jù)圖7的過程700來處理加密的供應(yīng)消息。圖12中示出了示例性的供應(yīng)響應(yīng)消息。
圖10示出根據(jù)一些實(shí)施例的用于向用戶裝置安全地供應(yīng)憑證數(shù)據(jù)的另一示例性過程1000。在這樣的實(shí)施例中,憑證數(shù)據(jù)可以由由用戶裝置提供的存儲(chǔ)保護(hù)公鑰來保護(hù)。過程1000的各方面可以由服務(wù)器計(jì)算機(jī)(諸如服務(wù)器裝置或計(jì)算機(jī)102、103、104、105、106或300)執(zhí)行。例如,過程1000可以由供應(yīng)服務(wù)器執(zhí)行。替代性地或附加地,過程1000的各方面可以由任何其他適當(dāng)?shù)膶?shí)體執(zhí)行。
通常,在方法1000之前,服務(wù)器計(jì)算機(jī)維護(hù)靜態(tài)服務(wù)器密鑰對(duì)。靜態(tài)服務(wù)器密鑰對(duì)可以包括公鑰(即“靜態(tài)服務(wù)器公鑰”)和私鑰(即“靜態(tài)服務(wù)器私鑰”)。服務(wù)器計(jì)算機(jī)還可以包括“服務(wù)器計(jì)算機(jī)證書”,服務(wù)器計(jì)算機(jī)證書包括靜態(tài)服務(wù)器公鑰。服務(wù)器計(jì)算機(jī)證書可以由證書機(jī)構(gòu)(諸如支付處理網(wǎng)絡(luò)105或發(fā)行方計(jì)算機(jī)106)簽名。
在方框1002,從用戶裝置接收供應(yīng)響應(yīng)消息。供應(yīng)請(qǐng)求消息包括一次性用戶公鑰和存儲(chǔ)保護(hù)公鑰,如圖6中所討論的。圖13中示出了示例性的供應(yīng)請(qǐng)求消息。
如圖9中所討論的,可以生成請(qǐng)求共享秘密和請(qǐng)求會(huì)話密鑰,并且請(qǐng)求會(huì)話密鑰可以用于解密供應(yīng)請(qǐng)求消息以獲得請(qǐng)求數(shù)據(jù)。請(qǐng)求數(shù)據(jù)可以包括存儲(chǔ)保護(hù)公鑰和一次性用戶公鑰??梢允褂谜?qǐng)求數(shù)據(jù)來認(rèn)證或驗(yàn)證用戶裝置。
在方框1004,可以使用靜態(tài)服務(wù)器私鑰和一次性用戶公鑰來生成響應(yīng)共享秘密,如在圖9的方框904中所描述的。
在方框1006,識(shí)別將要包括在臨時(shí)響應(yīng)消息中的憑證數(shù)據(jù),如在圖9的方框906中所描述的。
供應(yīng)響應(yīng)消息還可以包括諸如服務(wù)器計(jì)算機(jī)證書鏈,靜態(tài)服務(wù)器公鑰,密碼隨機(jī)數(shù)等的其他信息。服務(wù)器計(jì)算機(jī)證書鏈可以由用戶裝置驗(yàn)證以驗(yàn)證服務(wù)器計(jì)算機(jī)的身份,如圖6中所討論的。靜態(tài)服務(wù)器公鑰可以被或可以不被盲化。靜態(tài)服務(wù)器公鑰可以被用戶裝置使用生成響應(yīng)共享秘密。
在方框1008,如果需要,可以使用響應(yīng)共享秘密和密鑰導(dǎo)出數(shù)據(jù)來確定響應(yīng)會(huì)話密鑰,如在圖9的方框908中所描述的。
在方框1010,可以使用在上面的方框1002中接收的存儲(chǔ)保護(hù)公鑰對(duì)憑證數(shù)據(jù)進(jìn)行加密。在一個(gè)實(shí)施例中,存儲(chǔ)保護(hù)公鑰可以直接用于加密憑證數(shù)據(jù)。在另一個(gè)實(shí)施例中,存儲(chǔ)保護(hù)公鑰可以與專用于用戶或用戶裝置的數(shù)據(jù)一起使用,向用戶或用戶裝置供應(yīng)憑證數(shù)據(jù)以導(dǎo)出憑證加密密鑰,然后用于加密憑證數(shù)據(jù)。
在方框1012,可以使用響應(yīng)會(huì)話密鑰來加密供應(yīng)響應(yīng)消息的一些或所有數(shù)據(jù),如在圖9的方框914中所描述的。
在方框1014處,加密的供應(yīng)響應(yīng)消息被發(fā)送到用戶裝置,如在圖9的方框916中所描述的。圖13中示出了示例性的供應(yīng)響應(yīng)消息。
d.示例性數(shù)據(jù)流
圖11示出根據(jù)實(shí)施例用于供應(yīng)和使用憑證數(shù)據(jù)的數(shù)據(jù)流程圖1100。如圖所示,存儲(chǔ)保護(hù)密鑰(sk_2)可以在供應(yīng)時(shí)間從諸如diffie-hellman的密鑰協(xié)商協(xié)議生成。在一些實(shí)施例中,用于生成存儲(chǔ)保護(hù)密鑰的密鑰協(xié)議可以是與用于生成本文討論的會(huì)話密鑰的密鑰協(xié)議相同的密鑰協(xié)議。例如,存儲(chǔ)保護(hù)密鑰可以從也用于生成會(huì)話密鑰的共享秘密導(dǎo)出。在替代性實(shí)施例中,可以使用與用于生成會(huì)話密鑰的密鑰協(xié)議不同的密鑰協(xié)議來生成存儲(chǔ)保護(hù)密鑰。存儲(chǔ)保護(hù)密鑰可用于保護(hù)諸如憑證數(shù)據(jù)(例如,luk)的敏感數(shù)據(jù),而會(huì)話密鑰可用于保護(hù)傳輸中的消息。因此,如本文所述,存儲(chǔ)保護(hù)密鑰可以與會(huì)話密鑰一起使用以提供對(duì)敏感數(shù)據(jù)的端到端保護(hù)。
在一些實(shí)施例中,存儲(chǔ)保護(hù)密鑰可以具有與使用存儲(chǔ)保護(hù)密鑰保護(hù)的敏感數(shù)據(jù)(例如,luk)大致相同的生命周期(例如,有效起始數(shù)據(jù)和/或到期時(shí)間)。因此,當(dāng)由服務(wù)器計(jì)算機(jī)生成新的憑證數(shù)據(jù)(例如,luk)時(shí),也生成新的存儲(chǔ)保護(hù)密鑰以保護(hù)憑證數(shù)據(jù)。在一些實(shí)施例中,憑證數(shù)據(jù)(例如,luk)和/或存儲(chǔ)保護(hù)密鑰可以與生命周期指示符(例如,計(jì)數(shù)器)相關(guān)聯(lián),該生命周期指示符指示相關(guān)聯(lián)的憑證數(shù)據(jù)和/或存儲(chǔ)保護(hù)密鑰何時(shí)/是否將到期。在到期時(shí),憑證數(shù)據(jù)和/或存儲(chǔ)保護(hù)密鑰可以被從用戶裝置中刪除。在一些其他實(shí)施例中,存儲(chǔ)保護(hù)密鑰可以具有比敏感數(shù)據(jù)更長(zhǎng)或更短的生命周期。
在首次使用憑證數(shù)據(jù)之前,存儲(chǔ)保護(hù)密鑰(sk_2)可以使用密鑰加密密鑰(kek)被加密(例如,根據(jù)aes)并存儲(chǔ)在安全存儲(chǔ)器中。安全存儲(chǔ)器可以由用戶裝置和/或用戶裝置可訪問的外部存儲(chǔ)提供方提供。
在供應(yīng)時(shí),加密的憑證數(shù)據(jù)(enc_luk)被供應(yīng)給供應(yīng)響應(yīng)消息中的用戶裝置。隨后并且在第一次使用憑證數(shù)據(jù)之前,憑證數(shù)據(jù)可以以加密形式(enc_luk)存儲(chǔ)在用戶裝置和/或外部存儲(chǔ)器上。可以僅在需要時(shí)(例如,在交易時(shí))檢索和解密加密的敏感數(shù)據(jù),由此使敏感數(shù)據(jù)的暴露最小化并限制敏感數(shù)據(jù)的泄露風(fēng)險(xiǎn)。
在交易時(shí),可以檢索和解密(aes-1)加密的憑證數(shù)據(jù)(enc_luk)以獲得憑證數(shù)據(jù)(luk)。在一些實(shí)施例中,存儲(chǔ)保護(hù)密鑰(sk_2)被直接用作解密密鑰來解密加密的敏感數(shù)據(jù)。在一些其他實(shí)施例中,存儲(chǔ)保護(hù)密鑰(sk_2)可以用于間接地解密加密的憑證數(shù)據(jù),如下文所述。
如圖11所示,存儲(chǔ)保護(hù)密鑰(sk_2)可以與密鑰導(dǎo)出數(shù)據(jù)(導(dǎo)出數(shù)據(jù))一起用作可選的密鑰導(dǎo)出函數(shù)(kdf)的輸入,以導(dǎo)出數(shù)據(jù)加密密鑰(dek)。然后可以使用dek來解密加密的憑據(jù)數(shù)據(jù)(enc_luk)以獲得憑證數(shù)據(jù)(例如,luk)。在一些實(shí)施例中,密鑰導(dǎo)出數(shù)據(jù)不在供應(yīng)響應(yīng)消息中提供,但是對(duì)于用戶裝置和服務(wù)器計(jì)算機(jī)都是已知的。密鑰導(dǎo)出數(shù)據(jù)可以是唯一的和/或特定于用戶裝置(例如裝置標(biāo)識(shí)符,裝置指紋等)的。裝置指紋是為了識(shí)別裝置而收集的關(guān)于裝置的信息。這樣的信息可以包括在任何適當(dāng)級(jí)別的各種硬件和/或軟件配置信息,例如瀏覽器設(shè)置,tcp/ip設(shè)置,無線設(shè)置,操作系統(tǒng)(os)指紋,硬件時(shí)鐘偏移等。
憑證數(shù)據(jù)(luk)然后可以用于執(zhí)行一個(gè)或多個(gè)交易。例如,憑證數(shù)據(jù)(luk)可用于生成可用于認(rèn)證用戶裝置的交易密碼。在一些實(shí)施例中,響應(yīng)消息還可以指示是否使用可選的密鑰導(dǎo)出函數(shù)(kdf),如何獲得用于kdf的導(dǎo)出數(shù)據(jù),或關(guān)于加密的憑證數(shù)據(jù)的解密方面的其他指令。
e.示例性供應(yīng)消息
圖12示出根據(jù)一些實(shí)施例的供應(yīng)請(qǐng)求消息1202和對(duì)應(yīng)的供應(yīng)響應(yīng)消息1210的第一實(shí)例。例如,供應(yīng)請(qǐng)求消息1202可以由用戶裝置(例如,用戶裝置101)發(fā)送到供應(yīng)服務(wù)器計(jì)算機(jī)(例如,支付處理網(wǎng)絡(luò)計(jì)算機(jī)105,發(fā)行方計(jì)算機(jī)106,服務(wù)器計(jì)算機(jī)300);并且供應(yīng)響應(yīng)消息1210可以在供應(yīng)處理期間從供應(yīng)服務(wù)器計(jì)算機(jī)發(fā)送到用戶裝置,例如圖4-11中所討論的。
如圖12所示,在一些實(shí)施例中,供應(yīng)請(qǐng)求消息1202可以包括三個(gè)數(shù)據(jù)部分:消息的明文部分1204,密文部分1206和消息認(rèn)證碼(mac)1208。明文部分1204可以包括用戶裝置的一次性公鑰(其可以被或不被盲化)。mac可以用于錯(cuò)誤檢測(cè)和/或校正。明文部分1204和密文部分1206的完整性由mac1208保護(hù)??梢允褂门c用于生成密文的密鑰相同的密鑰或不同的密鑰來生成mac1222??梢詫?duì)請(qǐng)求數(shù)據(jù)的一些或所有部分進(jìn)行加密(例如,使用從請(qǐng)求共享秘密導(dǎo)出的請(qǐng)求會(huì)話密鑰)來產(chǎn)生密文部分1206。被加密的請(qǐng)求數(shù)據(jù)可以包括識(shí)別數(shù)據(jù)和任何其他合適的數(shù)據(jù)。
對(duì)應(yīng)于供應(yīng)請(qǐng)求消息1202的供應(yīng)響應(yīng)消息1210也可以包括三個(gè)數(shù)據(jù)部分:明文部分1212,密文部分1214和mac1216。明文部分1212可以包括服務(wù)器公鑰(其在一些實(shí)施例中可以被盲化)和加密的憑證數(shù)據(jù)1218。服務(wù)器公鑰可以幫助用戶裝置導(dǎo)出可用于解密響應(yīng)消息的響應(yīng)會(huì)話密鑰??梢允褂门c用于加密一些供應(yīng)響應(yīng)數(shù)據(jù)的響應(yīng)會(huì)話密鑰(sk_s)不同的單獨(dú)的存儲(chǔ)保護(hù)密鑰來加密加密的憑證數(shù)據(jù)1218。加密的憑證數(shù)據(jù)1218可以包括密文部分1220和mac1222。密文部分1220可以包括加密的憑證數(shù)據(jù),例如加密的luk,用于導(dǎo)出suk的加密的密鑰導(dǎo)出參數(shù),例如令牌和/或令牌參數(shù)的支付憑證等??梢陨蒻ac1222以保護(hù)密文部分1220和明文部分1212的完整性??梢允褂门c用于生成密文的密鑰相同的密鑰或不同的密鑰來生成mac1222。
響應(yīng)消息1210的密文部分1214可以包括已經(jīng)使用響應(yīng)會(huì)話密鑰加密的其他響應(yīng)數(shù)據(jù),例如密碼隨機(jī)數(shù),服務(wù)器計(jì)算機(jī)證書鏈,密鑰導(dǎo)出數(shù)據(jù),密碼套件描述符和任何其他合適的響應(yīng)數(shù)據(jù)。例如,密文部分1214可以包括指示密鑰導(dǎo)出函數(shù)(kdf)和/或可用于導(dǎo)出存儲(chǔ)保護(hù)密鑰或憑證加密密鑰或任何其他密鑰的導(dǎo)出數(shù)據(jù)的數(shù)據(jù)。
盡管圖12示出了加密憑證數(shù)據(jù)1218被包括在響應(yīng)消息1210的明文部分1212中,在一些其他實(shí)施例中,加密的憑證數(shù)據(jù)1218的至少一部分可以被額外加密(例如,使用響應(yīng)會(huì)話密鑰)并被存儲(chǔ)在響應(yīng)消息1210的密文部分1214中。
圖13示出根據(jù)一些實(shí)施例的供應(yīng)請(qǐng)求消息1302和對(duì)應(yīng)的供應(yīng)響應(yīng)消息1310的第二實(shí)例。例如,供應(yīng)請(qǐng)求消息1302可以由用戶裝置(例如,用戶裝置101)發(fā)送到供應(yīng)服務(wù)器計(jì)算機(jī)(例如,支付處理網(wǎng)絡(luò)計(jì)算機(jī)105,發(fā)行方計(jì)算機(jī)106,服務(wù)器計(jì)算機(jī)300);并且供應(yīng)響應(yīng)消息1310可以在供應(yīng)處理期間從供應(yīng)服務(wù)器計(jì)算機(jī)發(fā)送到用戶裝置,例如圖4-11中所討論的。與圖12不同,圖12中的請(qǐng)求消息1302包括用于加密響應(yīng)消息1310中的憑證數(shù)據(jù)(例如,luk)的存儲(chǔ)保護(hù)公鑰。
如圖13所示,在一些實(shí)施例中,供應(yīng)請(qǐng)求消息1302可以包括三個(gè)數(shù)據(jù)部分:消息的明文部分1304,密文部分1306和消息認(rèn)證碼(mac)1308。明文部分1304可以包括用戶裝置的一次性公鑰(其可以被或不被盲化)。一次性公鑰可以類似于圖12的請(qǐng)求消息1204中描述的。mac可以用于錯(cuò)誤檢測(cè)和/或校正。明文部分1304和密文部分1306的完整性由mac1308保護(hù)??梢允褂门c用于生成密文的密鑰相同的密鑰或不同的密鑰來生成mac1308。可以對(duì)請(qǐng)求數(shù)據(jù)的一些或所有部分進(jìn)行加密(例如,使用從請(qǐng)求共享秘密導(dǎo)出的請(qǐng)求會(huì)話密鑰)來產(chǎn)生密文部分1306。
請(qǐng)求消息1302的密文部分1308可以包括可用于加密響應(yīng)消息1310中的憑證數(shù)據(jù)(例如,luk)的存儲(chǔ)保護(hù)公鑰1307。存儲(chǔ)保護(hù)公鑰1307可以是由用戶裝置生成和/或維護(hù)的公/私存儲(chǔ)保護(hù)密鑰對(duì)的公鑰。存儲(chǔ)保護(hù)私鑰可用于解密加密的憑證數(shù)據(jù)。存儲(chǔ)保護(hù)密鑰對(duì)可以是與用于生成共享秘密(例如,請(qǐng)求共享秘密和響應(yīng)共享秘密)的用戶公鑰/私鑰對(duì)不同的密鑰對(duì)。可替代地,存儲(chǔ)保護(hù)密鑰對(duì)和用戶密鑰對(duì)可以共享相同的私鑰。例如,相同的用戶私鑰可以用于生成兩個(gè)公鑰,一個(gè)用于保護(hù)憑證數(shù)據(jù)(存儲(chǔ)保護(hù)公鑰),另一個(gè)用于保護(hù)傳輸中的消息。
存儲(chǔ)保護(hù)公鑰和/或私鑰可以是使用受限的密鑰。例如,可以為每個(gè)新請(qǐng)求或新交易生成新的存儲(chǔ)保護(hù)密鑰對(duì)。在一些其他情況下,可以為預(yù)定時(shí)間段或?yàn)轭A(yù)定數(shù)量的請(qǐng)求或交易生成新的存儲(chǔ)保護(hù)密鑰對(duì)。在一些實(shí)施例中,公/私存儲(chǔ)密鑰對(duì)可以具有與憑證數(shù)據(jù)(例如,luk)相同的生命周期。在其他實(shí)施例中,存儲(chǔ)保護(hù)公/私密鑰對(duì)可以具有比憑證數(shù)據(jù)更短或更長(zhǎng)的生命周期。
供應(yīng)響應(yīng)消息1310也可以包括三個(gè)數(shù)據(jù)部分:明文部分1312,密文部分1314和mac1316。明文部分1312可以包括服務(wù)器公鑰(其在一些實(shí)施例中可以被盲化)。服務(wù)器公鑰可以幫助用戶裝置導(dǎo)出會(huì)話密鑰來解密響應(yīng)消息??梢允褂庙憫?yīng)共享秘密(sk_s)來加密響應(yīng)數(shù)據(jù)的部分或全部,以產(chǎn)生密文部分1314。例如,密文部分1314可以包括使用在請(qǐng)求消息1302中提供的存儲(chǔ)保護(hù)公鑰1307加密的加密憑證數(shù)據(jù)1318。加密的憑證數(shù)據(jù)1318可以包括密文部分1320和其mac1322。密文部分1320可以包括加密的憑證數(shù)據(jù),例如加密的luk,用于導(dǎo)出suk的加密的密鑰導(dǎo)出參數(shù),例如令牌和/或令牌參數(shù)的支付憑證等。明文部分1312和密文部分1314的完整性由mac1316保護(hù)??梢允褂门c用于生成密文的密鑰相同的密鑰或不同的密鑰來生成mac1316。在一些實(shí)施例中,加密的憑證數(shù)據(jù)可以使用響應(yīng)會(huì)話密鑰被進(jìn)一步加密或不被加密。
響應(yīng)消息1310的密文部分1314可以包括已經(jīng)使用響應(yīng)會(huì)話密鑰加密的其他響應(yīng)數(shù)據(jù),例如密碼隨機(jī)數(shù),服務(wù)器計(jì)算機(jī)證書鏈,密鑰導(dǎo)出數(shù)據(jù),密碼套件描述符和任何其他合適的響應(yīng)數(shù)據(jù)。
盡管圖13示出了加密憑證數(shù)據(jù)1318被包括在供應(yīng)響應(yīng)消息1310的密文部分1314中,在其他實(shí)施例中,加密的憑證數(shù)據(jù)1318的至少一部分可以被包括在供應(yīng)響應(yīng)消息1310的明文部分1312中。
iii.交易類型
本文描述的技術(shù)可以用于供應(yīng)用于執(zhí)行交易的憑證數(shù)據(jù)。交易可以包括支付交易或非支付交易。例如,用戶裝置可以與服務(wù)器計(jì)算機(jī)通信,以便訪問一個(gè)或多個(gè)非支付交易中的一個(gè)或多個(gè)資源。
例如,用戶裝置和服務(wù)器計(jì)算機(jī)可以在供應(yīng)過程中向用戶裝置傳送供應(yīng)憑證(例如luk)。該傳送可以以與上面在圖4-10中討論的相似的方式執(zhí)行。
供應(yīng)憑證可用于生成用于在后續(xù)交易中認(rèn)證用戶裝置的密碼或其他認(rèn)證令牌。密碼或認(rèn)證令牌可以由服務(wù)器計(jì)算機(jī)進(jìn)行驗(yàn)證,服務(wù)器計(jì)算機(jī)可以與供應(yīng)服務(wù)器相同或不同?;谡J(rèn)證結(jié)果,對(duì)服務(wù)器資源的訪問可以被提供或拒絕。
在各個(gè)實(shí)施例中,資源可以包括可由計(jì)算裝置訪問的計(jì)算資源。這些計(jì)算資源可以包括數(shù)據(jù)對(duì)象、計(jì)算裝置或其硬件/軟件組件(例如cpu、存儲(chǔ)器、應(yīng)用)、服務(wù)(例如網(wǎng)絡(luò)服務(wù))、虛擬計(jì)算機(jī)系統(tǒng)、數(shù)據(jù)存儲(chǔ)或管理、網(wǎng)絡(luò)連接和接口等等。例如,資源可以包括一個(gè)或多個(gè)計(jì)算裝置(例如桌面計(jì)算機(jī)、膝上計(jì)算機(jī)、平板電腦、移動(dòng)電話)、存儲(chǔ)在計(jì)算裝置中的文件或其他數(shù)據(jù)、與計(jì)算裝置關(guān)聯(lián)的存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)裝置、計(jì)算裝置上安裝的應(yīng)用、與計(jì)算裝置關(guān)聯(lián)的外圍設(shè)備,諸如輸入/輸出裝置(例如鍵盤、鼠標(biāo)、麥克風(fēng)、觸摸屏、打印機(jī))、網(wǎng)絡(luò)接口、由計(jì)算裝置提供的服務(wù)等等。計(jì)算資源可以包括在線或基于云的服務(wù)或由服務(wù)提供方提供的功能。計(jì)算資源可以包括一個(gè)或多個(gè)存儲(chǔ)裝置、節(jié)點(diǎn)、系統(tǒng)或其一部分,諸如分區(qū)、卷、扇區(qū)等等。計(jì)算資源還可以包括數(shù)據(jù)對(duì)象,諸如憑證(例如用戶名、口令、密碼密鑰、數(shù)字證書)。在這種情況下,訪問這些憑證可能需要主憑證。資源可以包括有形和/或無形資源。有形資源可以包括裝置、建筑物和物理對(duì)象。無形資源可以包括例如服務(wù)和時(shí)間。
iv.計(jì)算機(jī)設(shè)備
圖14示出可以用來實(shí)現(xiàn)上文描述的任何實(shí)體或組件的計(jì)算機(jī)系統(tǒng)的高級(jí)框圖。圖14中所示的子系統(tǒng)經(jīng)由系統(tǒng)總線1475互連。附加子系統(tǒng)包括打印機(jī)1403、鍵盤1406、固定磁盤1407和監(jiān)視器1409,監(jiān)視器1409耦連至顯示適配器1404。外圍設(shè)備和輸入/輸出(i/o)裝置耦連至i/o控制器1400,并且可以通過本領(lǐng)域已知的許多手段中的任何一種(諸如串行端口)連接到計(jì)算機(jī)系統(tǒng)。例如,串行端口1405或外部接口1408能夠用來將計(jì)算機(jī)設(shè)備連接至廣域網(wǎng)(諸如互聯(lián)網(wǎng))、鼠標(biāo)輸入裝置或掃描器。經(jīng)由系統(tǒng)總線1475的互連使中央處理器1402能夠與每個(gè)子系統(tǒng)通信,并控制來自系統(tǒng)存儲(chǔ)器1401或固定磁盤1407的指令的執(zhí)行以及信息在子系統(tǒng)之間的交換。系統(tǒng)存儲(chǔ)器1401和/或固定磁盤可以體現(xiàn)計(jì)算機(jī)可讀介質(zhì)。
用于包含代碼或代碼部分的存儲(chǔ)介質(zhì)和計(jì)算機(jī)可讀介質(zhì)可以包括本領(lǐng)域已知或使用的任何適當(dāng)介質(zhì),包括存儲(chǔ)介質(zhì)和通信介質(zhì),諸如但不限于在用于存儲(chǔ)和/或傳輸信息(諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù))的任何方法或技術(shù)中實(shí)現(xiàn)的易失性和非易失性、可移動(dòng)和不可移動(dòng)介質(zhì),包括ram、rom、eeprom、閃存或其他存儲(chǔ)器技術(shù)、cd-rom、數(shù)字通用盤(dvd)或其他光存儲(chǔ)、磁帶盒、磁帶、磁盤存儲(chǔ)或其他磁存儲(chǔ)裝置、數(shù)據(jù)信號(hào)、數(shù)據(jù)傳輸或可以用來存儲(chǔ)或傳送期望信息并且可以由計(jì)算機(jī)訪問的任何其他介質(zhì)。基于本文中提供的公開和教導(dǎo),本領(lǐng)域技術(shù)人員會(huì)認(rèn)識(shí)到實(shí)現(xiàn)各實(shí)施例的其他方式和/或方法。
以上描述是示意性的不是限制性的。本領(lǐng)域技術(shù)人員在閱讀本公開后,會(huì)明白本發(fā)明的許多變形。因此,本發(fā)明的范圍可以不參照上文的描述確定,而是可以參照所附權(quán)利要求連同其全部范圍或等同物確定。
應(yīng)當(dāng)理解,本發(fā)明的任何實(shí)施例可以使用硬件(例如專用集成電路或現(xiàn)場(chǎng)可編程門陣列)和/或使用計(jì)算機(jī)軟件以控制邏輯的形式借助通用可編程處理器以模塊化或集成方式實(shí)現(xiàn)。如本文中描述的,處理器包括同一集成芯片上的單核處理器、多核處理器或單個(gè)電路板上的或聯(lián)網(wǎng)的多個(gè)處理單元。基于本文中提供的公開和教導(dǎo),本領(lǐng)域技術(shù)人員會(huì)知道并意識(shí)到使用硬件及硬件和軟件的組合實(shí)現(xiàn)本發(fā)明的實(shí)施例的其他方式和/或方法。
本申請(qǐng)中描述的任何軟件組件或功能可以實(shí)現(xiàn)為使用任何適當(dāng)計(jì)算機(jī)語(yǔ)言(比方說例如java、c、c++、c#、objective-c、swift)或腳本語(yǔ)言(諸如perl或python),使用例如傳統(tǒng)的或面向?qū)ο蟮募夹g(shù)由處理器執(zhí)行的軟件代碼。軟件代碼可以存儲(chǔ)為計(jì)算機(jī)可讀介質(zhì)上的一系列指令或命令以用于存儲(chǔ)和/或傳輸。適合的非瞬態(tài)計(jì)算機(jī)可讀介質(zhì)可以包括隨機(jī)存取存儲(chǔ)器(ram)、只讀存儲(chǔ)器(rom)、磁介質(zhì)(諸如硬盤或軟盤)或光介質(zhì)(諸如光盤(cd)或dvd(數(shù)字通用盤))、閃存等等。計(jì)算機(jī)可讀介質(zhì)可以是這些存儲(chǔ)或傳輸裝置的任何組合。
還可以使用載波信號(hào)編碼和傳輸這些程序,載波信號(hào)適于經(jīng)由符合各種協(xié)議(包括互聯(lián)網(wǎng))的有線、光和/或無線網(wǎng)絡(luò)傳輸。因此,根據(jù)本發(fā)明的實(shí)施例的計(jì)算機(jī)可讀介質(zhì)可以使用用這些程序編碼的數(shù)據(jù)信號(hào)創(chuàng)建。用程序代碼編碼的計(jì)算機(jī)可讀介質(zhì)可以與可兼容裝置一起打包或從其他裝置單獨(dú)地提供(例如通過互聯(lián)網(wǎng)下載)。任何這種計(jì)算機(jī)可讀介質(zhì)可以駐存在單個(gè)計(jì)算機(jī)產(chǎn)品(例如硬盤、cd或整個(gè)計(jì)算機(jī)系統(tǒng))之上或之內(nèi),并且可以出現(xiàn)在系統(tǒng)或網(wǎng)絡(luò)內(nèi)的不同計(jì)算機(jī)產(chǎn)品之上或之內(nèi)。計(jì)算機(jī)系統(tǒng)可以包括監(jiān)視器、打印機(jī)或用于向用戶提供本文中提到的任何結(jié)果的其他適當(dāng)顯示器。
本文中描述的任何方法可以完全地或部分地用包括可以被配置成執(zhí)行這些步驟的一個(gè)或多個(gè)處理器的計(jì)算機(jī)系統(tǒng)執(zhí)行。因此,實(shí)施例可以涉及被配置成執(zhí)行本文中描述的任何方法的步驟、可能具有執(zhí)行相應(yīng)步驟或相應(yīng)步驟組的不同組件的計(jì)算機(jī)系統(tǒng)。盡管呈現(xiàn)為編號(hào)步驟,但本文中的方法的步驟可以同時(shí)或以不同順序被執(zhí)行。另外,這些步驟的一部分可以與來自其他方法的其他步驟的一部分一起使用。同樣,一個(gè)步驟的全部或部分可以是可選的。另外,任何方法的任何步驟可以用模塊、單元、電路或用于執(zhí)行這些步驟的其他手段來執(zhí)行。
在不偏離本發(fā)明的實(shí)施例的精神和范圍下,具體實(shí)施例的特定細(xì)節(jié)可以以任何適當(dāng)方式組合。不過,本發(fā)明的其他實(shí)施例可以涉及與每個(gè)單獨(dú)的方面有關(guān)的特定實(shí)施例,或者這些單獨(dú)的方面的特定組合。
上文對(duì)本發(fā)明的示例性實(shí)施例的描述已經(jīng)出于圖示和描述的目的呈現(xiàn)。不旨在是詳盡的,或?qū)⒈景l(fā)明局限到描述的精確形式,根據(jù)上文的教導(dǎo)許多修改和變形是可能的。
除非明確指示有相反的意思,“一(a)”、“一(an)”或“所述(the)”的敘述旨在表示“一個(gè)或多個(gè)”。除非明確指示有相反的意思,“或”的使用旨在表示是“包括性的或”,而不是“排他性的或”。
本文中提到的所有專利、專利申請(qǐng)、公開和描述出于所有目的通過引用被全部并入本文中。不承認(rèn)他們?yōu)楝F(xiàn)有技術(shù)。