用于在認(rèn)證交易中保護(hù)身份的高效方法
【專利摘要】本發(fā)明提供了用于在認(rèn)證數(shù)據(jù)傳輸中保護(hù)身份的系統(tǒng)和方法。例如,可以在便攜式用戶設(shè)備與訪問設(shè)備之間進(jìn)行非接觸式交易而不會(huì)以明文暴露便攜式用戶設(shè)備的公鑰。在一個(gè)實(shí)施例中,訪問設(shè)備可以向便攜式用戶設(shè)備發(fā)送訪問設(shè)備公鑰。用戶設(shè)備可以返回用戶設(shè)備盲公鑰和加密的用戶設(shè)備數(shù)據(jù)。訪問設(shè)備可以使用用戶設(shè)備盲公鑰和訪問設(shè)備私鑰確定共享秘密。訪問設(shè)備則可以使用共享秘密對(duì)加密的用戶設(shè)備數(shù)據(jù)進(jìn)行解密。
【專利說明】用于在認(rèn)證交易中保護(hù)身份的高效方法 相關(guān)申請(qǐng)的交叉引用
[00011本申請(qǐng)是2014年1月13日提交的美國臨時(shí)申請(qǐng)?zhí)?1/926,908(代理人案卷號(hào) 79900-897598)的非臨時(shí)申請(qǐng)并要求保護(hù)其優(yōu)先權(quán),其全部內(nèi)容出于所有目的通過援引并 入本文。 背景
[0002] 隨著非接觸式支付設(shè)備(如NFC使能移動(dòng)電話和非接觸式卡)越來越流行,維護(hù)支 付交易的安全性仍然是關(guān)注問題。例如,在一個(gè)情景下,攻擊者可能試圖竊聽非接觸式交易 (例如,通過使用隱蔽的無線電接收機(jī))。即使支付信息被加密或以其他方式受保護(hù),但攻擊 者可能嘗試確定進(jìn)行交易的用戶的身份。如果被確定了,則用戶的身份可能被用于不正當(dāng) 目的。
[0003] 本發(fā)明的實(shí)施例單獨(dú)和共同地解決了這些問題和其他問題。 簡要概述
[0004] 本發(fā)明的實(shí)施例涉及用于在認(rèn)證數(shù)據(jù)傳輸中保護(hù)身份的高效方法。例如,可以在 便攜式用戶設(shè)備與訪問設(shè)備之間進(jìn)行非接觸式交易而不會(huì)以明文暴露便攜式用戶設(shè)備的 公鑰。
[0005] 在一個(gè)實(shí)施例中,可以由便攜式用戶設(shè)備從訪問設(shè)備接收訪問設(shè)備公鑰??梢詮?存儲(chǔ)在便攜式用戶設(shè)備上的用戶設(shè)備公鑰、以及密碼隨機(jī)數(shù)(nonce)(例如,隨機(jī)值)生成用 戶設(shè)備盲公鑰。類似地,可以從與用戶設(shè)備公鑰和密碼隨機(jī)數(shù)相對(duì)應(yīng)的用戶設(shè)備私鑰生成 用戶設(shè)備盲私鑰。接下來,可以使用用戶設(shè)備盲私鑰和暫時(shí)性公鑰生成共享秘密。共享秘密 可以用于派生出會(huì)話密鑰,并且會(huì)話密鑰可以用于加密用戶設(shè)備數(shù)據(jù),如用戶設(shè)備證書。可 以將加密的用戶設(shè)備數(shù)據(jù)和用戶設(shè)備盲公鑰發(fā)送至訪問設(shè)備。訪問設(shè)備可以使用用戶設(shè)備 盲公鑰和訪問設(shè)備私鑰重新生成共享秘密。然后共享秘密用于重新生成會(huì)話密鑰并對(duì)加密 的用戶設(shè)備數(shù)據(jù)進(jìn)行解密。因而,訪問設(shè)備可以在不以明文傳輸證書的情況下獲得并驗(yàn)證 用戶設(shè)備證書。 附圖簡要說明
[0006] 圖1示出了本發(fā)明的實(shí)施例可以使用的系統(tǒng)的示例。
[0007] 圖2示出了根據(jù)本發(fā)明的一些實(shí)施例的訪問設(shè)備與用戶設(shè)備之間的通信圖。
[0008] 圖3示出了從用戶設(shè)備安全地獲得用戶設(shè)備數(shù)據(jù)的方法。
[0009] 圖4示出了將用戶設(shè)備數(shù)據(jù)安全地傳輸至訪問設(shè)備的方法。
[0010] 圖5示出了數(shù)據(jù)流程圖,展示了根據(jù)一些實(shí)施例在建立共享秘密時(shí)所執(zhí)行的操作。
[0011] 圖6示出了更詳細(xì)的數(shù)據(jù)流程圖,展示了根據(jù)一些實(shí)施例的在數(shù)據(jù)傳輸方法中執(zhí) 行的操作。
[0012] 圖7示出了從用戶設(shè)備安全地獲得用戶設(shè)備數(shù)據(jù)的最優(yōu)方法。
[0013] 圖8示出了將用戶設(shè)備數(shù)據(jù)安全地傳輸至訪問設(shè)備的最優(yōu)方法。
[0014] 圖9示出了根據(jù)一些實(shí)施例的用戶設(shè)備的示例。
[0015] 圖10示出了示例性計(jì)算機(jī)裝置的框圖。 術(shù)語
[0016] 在討論本發(fā)明的一些實(shí)施例之前,對(duì)一些術(shù)語的說明可能有助于理解本發(fā)明的實(shí) 施例。
[0017] 術(shù)語"服務(wù)器計(jì)算機(jī)"可以包括強(qiáng)大的計(jì)算機(jī)或計(jì)算機(jī)集群。例如,服務(wù)器計(jì)算機(jī) 可以是大型主機(jī)、微型計(jì)算機(jī)集群、或起到單元作用的一組服務(wù)器。在一個(gè)示例中,服務(wù)器 計(jì)算機(jī)可以是聯(lián)接至Web服務(wù)器的數(shù)據(jù)庫服務(wù)器。服務(wù)器計(jì)算機(jī)可以聯(lián)接至數(shù)據(jù)庫并且可 以包括用于服務(wù)于來自一個(gè)或多個(gè)客戶機(jī)計(jì)算機(jī)的請(qǐng)求的任何硬件、軟件、其他邏輯、或以 上內(nèi)容的組合。服務(wù)器計(jì)算機(jī)可以包括一個(gè)或多個(gè)計(jì)算裝置并且可以使用各種計(jì)算結(jié)構(gòu)、 安排、和編譯中的任一者來服務(wù)于來自一個(gè)或多個(gè)客戶機(jī)計(jì)算機(jī)的請(qǐng)求。
[0018] 術(shù)語"公/私鑰對(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ù)字簽名。公鑰通 常將由被稱為證書授權(quán)中心(CA)的主體進(jìn)行授權(quán),所述證書授權(quán)中心將公鑰存儲(chǔ)在數(shù)據(jù)庫 中并將其分配給請(qǐng)求它的任何其他實(shí)體。私鑰一般將被保持在安全存儲(chǔ)介質(zhì)中并且通常將 是只有實(shí)體知道。然而,在此所描述的密碼系統(tǒng)可以以用于恢復(fù)丟失的密鑰并避免數(shù)據(jù)損 失的密鑰恢復(fù)機(jī)構(gòu)為特征。公鑰和私鑰可以是任何適當(dāng)格式,包括基于RSA或橢圓曲線密碼 學(xué)(ECC)的格式。
[0019] "數(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ù)據(jù)稱是簽名 方所"簽署的"。
[0020] "證書"或"數(shù)字證書"可以包括使用數(shù)字簽名將公鑰與關(guān)聯(lián)于身份的數(shù)據(jù)綁定的 電子文件或數(shù)據(jù)文件。所述證書可以包括一個(gè)或多個(gè)數(shù)據(jù)字段,如身份的合法姓名、證書的 序列號(hào)、證書的有效起止日期、證書相關(guān)的權(quán)限等。證書可以包括指示證書有效的第一天的 "有效起始"日期,以及指示證書有效的最后一天的"有效截止"日期。證書還可以包含包括 這些數(shù)據(jù)字段的證書中的數(shù)據(jù)的拼湊。除非另外說明,每個(gè)證書都由證書授權(quán)機(jī)構(gòu)簽名。
[0021] "證書授權(quán)機(jī)構(gòu)"(CA)可以包括一個(gè)或多個(gè)操作性聯(lián)接以向?qū)嶓w發(fā)行證書的服務(wù) 器計(jì)算機(jī)。所述CA可以使用CA證書證明其身份,其證書包括CA的公鑰。可以用另一個(gè)CA密鑰 簽名、或可以用同一個(gè)CA密鑰簽署CA證書。后者被稱為自簽名證書。CA可以維護(hù)CA所發(fā)行的 所有證書的數(shù)據(jù)庫,并且還可以維護(hù)被撤銷的證書的列表。
[0022]在典型的過程中,證書授權(quán)機(jī)構(gòu)從其身份已知的實(shí)體接收未簽名的證書。未簽名 的證書包括公鑰、一個(gè)或多個(gè)數(shù)據(jù)字段、以及所述證書中的數(shù)據(jù)的拼湊。CA用與CA證書上所 包括的公鑰相對(duì)應(yīng)的私鑰對(duì)證書進(jìn)行簽名。CA然后可以將簽名的證書存儲(chǔ)在數(shù)據(jù)庫中,并 將簽名的證書發(fā)行給實(shí)體。
[0023] "密碼隨機(jī)數(shù)"可以包括任何數(shù)字、字符串、位序列、或其他旨在聯(lián)合單個(gè)通信會(huì)話 使用的數(shù)據(jù)值。在一些情況下,密碼隨機(jī)數(shù)可以是隨機(jī)或偽隨機(jī)生成的。通常,密碼隨機(jī)數(shù) 具有足夠的長度以使多次獨(dú)立生成同一隨機(jī)數(shù)值的可能性不大。
[0024] "盲密鑰"(如"盲公鑰")可以包括已經(jīng)通過與另一數(shù)據(jù)元素(如密碼隨機(jī)數(shù))組合 而混亂或以其他方式修改了其原始值的密鑰。例如,在橢圓曲線密碼學(xué)中,公鑰可以乘以隨 機(jī)數(shù)從而生成"盲公鑰"。類似地,私鑰可以乘以隨機(jī)數(shù)從而生成"盲私鑰"。
[0025] "暫時(shí)性密鑰對(duì)"可以包括被生成以供單次交易或其他通信會(huì)話使用的公鑰(即, "暫時(shí)性公鑰")和私鑰(即,暫時(shí)性私鑰)。所述暫時(shí)性密鑰對(duì)可以具有任何適當(dāng)格式,如ECC 或RSA。通常,一旦交易或通信會(huì)話已經(jīng)結(jié)束,就可以刪除暫時(shí)性密鑰對(duì)。
[0026] "加密密鑰"可以包括任何數(shù)據(jù)值或其他適用于用密碼加密數(shù)據(jù)的信息。"解密密 鑰"可以包括任何數(shù)據(jù)值或其他適用于對(duì)已加密的數(shù)據(jù)進(jìn)行解密的信息。在一些情況下,用 于加密數(shù)據(jù)的同一密鑰可以可操作用于解密數(shù)據(jù)。這種密鑰可以被稱為對(duì)稱加密密鑰。
[0027] 術(shù)語"用戶設(shè)備數(shù)據(jù)"可以包括任何數(shù)據(jù)或與用戶設(shè)備相關(guān)聯(lián)的信息。用戶設(shè)備數(shù) 據(jù)的示例可以包括與用戶設(shè)備相關(guān)聯(lián)的用戶姓名、與用戶設(shè)備相關(guān)聯(lián)的組織、與用戶設(shè)備 相關(guān)聯(lián)的支付信息(如主賬號(hào)(PAN))、用戶設(shè)備的失效日期、與用戶設(shè)備相關(guān)聯(lián)的證書等。 詳細(xì)說明
[0028] 本發(fā)明的實(shí)施例涉及用于在認(rèn)證數(shù)據(jù)傳輸中保護(hù)身份的高效方法。例如,可以在 便攜式用戶設(shè)備與訪問設(shè)備之間進(jìn)行非接觸式交易而不會(huì)以明文暴露便攜式用戶設(shè)備的 公鑰。
[0029]在一個(gè)實(shí)施例中,可以由便攜式用戶設(shè)備從訪問設(shè)備接收訪問設(shè)備公鑰。可以從 存儲(chǔ)在便攜式用戶設(shè)備上的用戶設(shè)備公鑰、以及密碼隨機(jī)數(shù)(例如,隨機(jī)值)生成用戶設(shè)備 盲公鑰。類似地,可以從與用戶設(shè)備公鑰和密碼隨機(jī)數(shù)相對(duì)應(yīng)的用戶設(shè)備私鑰生成用戶設(shè) 備盲私鑰。接下來,可以使用用戶設(shè)備盲私鑰和暫時(shí)性公鑰生成共享秘密。共享秘密可以用 于派生出會(huì)話密鑰,并且會(huì)話密鑰可以用于加密用戶設(shè)備數(shù)據(jù),如用戶設(shè)備證書。可以將加 密的用戶設(shè)備數(shù)據(jù)和用戶設(shè)備盲公鑰發(fā)送至訪問設(shè)備。訪問設(shè)備可以使用用戶設(shè)備盲公鑰 和訪問設(shè)備私鑰重新生成共享秘密。然后共享秘密用于重新生成會(huì)話密鑰并對(duì)加密的用戶 設(shè)備數(shù)據(jù)進(jìn)行解密。因而,訪問設(shè)備可以在不以明文傳輸證書的情況下獲得并驗(yàn)證用戶設(shè) 備證書。
[0030] 實(shí)施例可以在安全通信中保護(hù)便攜式用戶設(shè)備的身份或其他實(shí)體。在一些情況 下,攻擊者可能監(jiān)聽或另外監(jiān)視在訪問設(shè)備與便攜式用戶設(shè)備之間傳遞的數(shù)據(jù)。由于本發(fā) 明的實(shí)施例可以避免以明文傳輸任何可識(shí)別的信息(如用戶設(shè)備的公鑰),所以從未授權(quán)實(shí) 體保護(hù)了便攜式用戶設(shè)備的身份。
[0031] 實(shí)施例還可以僅使用單個(gè)請(qǐng)求和單個(gè)響應(yīng)實(shí)現(xiàn)認(rèn)證通信。這允許減小延遲來快速 認(rèn)證,并且允許將實(shí)施例的安全特性整合至其他現(xiàn)有的請(qǐng)求/響應(yīng)流中,而不需要附加請(qǐng) 求。例如,在一些實(shí)施例中,可以將所公開的協(xié)議數(shù)據(jù)附于現(xiàn)有請(qǐng)求/響應(yīng)上。
[0032] 另外,在之前已經(jīng)通信的便攜式用戶設(shè)備和訪問設(shè)備的情況下,實(shí)施例可以提供 更快且更高效的通信。在一些實(shí)施例中,便攜式用戶設(shè)備處的注冊(cè)表可以用于存儲(chǔ)用于一 個(gè)或多個(gè)訪問設(shè)備的將來的共享秘密和將來的盲公鑰值。訪問設(shè)備處的模擬注冊(cè)表可以用 于存儲(chǔ)用于一個(gè)或多個(gè)用戶設(shè)備的將來的共享秘密和將來的用戶設(shè)備標(biāo)識(shí)符值。從而,如 果用戶設(shè)備和訪問設(shè)備多次通信,則可以使用所存儲(chǔ)的數(shù)據(jù)。這可以避免某些可能相對(duì)太 占時(shí)間和功率的操作,如橢圓曲線Diffie-Hellman(ECDH)算法。這還可以為非接觸式設(shè)備 的用戶提供改善的體驗(yàn),因?yàn)楸銛y式用戶設(shè)備和訪問設(shè)備可能不需要長時(shí)間保持在一起。 例如,根據(jù)一些實(shí)施例,兩個(gè)設(shè)備之間的安全且私密的通信可以在不到50ms時(shí)間內(nèi)進(jìn)行。
[0033] 實(shí)施例對(duì)于不使用對(duì)竊聽者而言的盲密鑰的系統(tǒng)可能看起來一樣,因?yàn)楦`聽者將 不會(huì)知道從便攜式用戶設(shè)備傳輸至訪問設(shè)備(或反之)的公鑰是盲公鑰還是非盲公鑰。因 為,實(shí)施例可以提供針對(duì)協(xié)議逆向工程的保護(hù)。 I.系統(tǒng)
[0034] 圖1示出了根據(jù)本發(fā)明的實(shí)施例的系統(tǒng)。所述系統(tǒng)包括可能操作便攜式用戶設(shè)備 101的用戶(未示出)。用戶可以使用便攜式用戶設(shè)備101與訪問設(shè)備102通信進(jìn)行支付交易。 如在此所使用的,"便攜式用戶設(shè)備"可以包括移動(dòng)電話、平板、信用卡、借記卡、或任何其他 合適的設(shè)備。如在此所使用的,"訪問設(shè)備"可以包括任何適用于與便攜式用戶設(shè)備通信的 計(jì)算設(shè)備。在一些實(shí)施例中,訪問設(shè)備102可以直接與便攜式用戶設(shè)備101通信。在其他實(shí)施 例中,訪問設(shè)備102可以經(jīng)由接口設(shè)備與便攜式用戶設(shè)備101通信,如智能手表、智能眼鏡、 或任何其他合適的設(shè)備。訪問設(shè)備102可以與商戶計(jì)算機(jī)103連接,所述商戶計(jì)算機(jī)可以與 收單行計(jì)算機(jī)104連接。收單行計(jì)算機(jī)104可以經(jīng)由支付處理網(wǎng)絡(luò)105與發(fā)卡行計(jì)算機(jī)106連 接。
[0035] 如在此所使用的,"發(fā)卡行"通??梢灾笧橛脩艟S護(hù)金融賬戶并且經(jīng)常向用戶發(fā)行 便攜式用戶設(shè)備1〇1(如信用卡或借記卡)的企業(yè)實(shí)體(例如,銀行)。"商戶"通常是參與交易 和可以銷售商品或服務(wù)的實(shí)體。"收單行"通常是與具體商戶或其他實(shí)體具有業(yè)務(wù)關(guān)系的業(yè) 務(wù)實(shí)體(例如,商業(yè)銀行)。一些實(shí)體可以執(zhí)行發(fā)卡行和收單行兩者的功能。一些實(shí)施例可以 包含這樣的單個(gè)實(shí)體發(fā)卡行-收單行。這些實(shí)體中的每一者可以包括一個(gè)或多個(gè)計(jì)算機(jī)裝 置(例如,商戶計(jì)算機(jī)103、收單行計(jì)算機(jī)、支付處理網(wǎng)絡(luò)105、以及發(fā)卡行計(jì)算機(jī)106)從而使 能通信,或執(zhí)行在此所描述的功能中的一項(xiàng)或多項(xiàng)功能。
[0036] 支付處理網(wǎng)絡(luò)105可以包括數(shù)據(jù)處理子系統(tǒng)、網(wǎng)絡(luò)、和用于支持和遞送證書權(quán)限服 務(wù)、授權(quán)服務(wù)、異常文件服務(wù)、交易評(píng)分服務(wù)、和清算與結(jié)算服務(wù)的操作。示例性支付處理網(wǎng) 絡(luò)可以包括VisaNet?。支付處理網(wǎng)絡(luò)(如VisaNet?)能夠處理信用卡交易、借記卡交易、和 其他類型的商業(yè)交易。VisaNet?具體地包括處理授權(quán)請(qǐng)求的VIP系統(tǒng)(Visa綜合支付系統(tǒng)) 和執(zhí)行清算和結(jié)算服務(wù)的Base II系統(tǒng)。
[0037]支付處理網(wǎng)絡(luò)105可以包括一個(gè)或多個(gè)服務(wù)器計(jì)算機(jī)。"服務(wù)器計(jì)算機(jī)"通常是強(qiáng) 大的計(jì)算機(jī)或計(jì)算機(jī)集群。例如,服務(wù)器計(jì)算機(jī)可以是大型主機(jī)、微型計(jì)算機(jī)集群、或起到 單元作用的一組服務(wù)器。在一個(gè)示例中,服務(wù)器計(jì)算機(jī)可以是聯(lián)接至Web服務(wù)器的數(shù)據(jù)庫服 務(wù)器。支付處理網(wǎng)絡(luò)105可以使用任何合適的有線或無線網(wǎng)絡(luò),包括互聯(lián)網(wǎng)。
[0038] 在一些支付交易中,用戶使用便攜式用戶設(shè)備101在商戶處購買商品或服務(wù)。用戶 的便攜式用戶設(shè)備101可以與商戶處與商戶計(jì)算機(jī)103相關(guān)聯(lián)的訪問設(shè)備102交互。例如,用 戶可以將便攜式用戶設(shè)備101輕按在訪問設(shè)備103中的NFC讀卡器上??商娲?,用戶可以通 過計(jì)算機(jī)網(wǎng)絡(luò)向商戶指示支付細(xì)節(jié),如網(wǎng)上交易。
[0039] 用于交易的授權(quán)請(qǐng)求消息可以由訪問設(shè)備102或商戶計(jì)算機(jī)103生成然后被轉(zhuǎn)發(fā) 至收單行計(jì)算機(jī)104。在接收所述授權(quán)請(qǐng)求消息之后,授權(quán)請(qǐng)求消息則被發(fā)送至支付處理網(wǎng) 絡(luò)105。支付處理網(wǎng)絡(luò)105則將授權(quán)請(qǐng)求消息轉(zhuǎn)發(fā)至相對(duì)應(yīng)的發(fā)卡行計(jì)算機(jī)106,發(fā)卡行計(jì)算 機(jī)與關(guān)聯(lián)于便攜式用戶設(shè)備101的發(fā)卡行相關(guān)聯(lián)。
[0040] "授權(quán)請(qǐng)求消息"可以是被發(fā)送至支付處理網(wǎng)絡(luò)和/或用于請(qǐng)求授權(quán)交易的支付卡 的發(fā)卡行的電子消息。根據(jù)一些實(shí)施例的授權(quán)請(qǐng)求消息可以符合ISO 8583,其是交換與用 戶使用支付設(shè)備或支付賬戶進(jìn)行的支付相關(guān)聯(lián)的電子交易信息的系統(tǒng)的標(biāo)準(zhǔn)。授權(quán)請(qǐng)求消 息可以包括發(fā)卡行賬戶標(biāo)識(shí)符,所述發(fā)卡行賬戶標(biāo)識(shí)符與支付設(shè)備或支付賬戶相關(guān)聯(lián)。授 權(quán)請(qǐng)求消息還可以包括對(duì)應(yīng)于"識(shí)別信息"的附加數(shù)據(jù)元素,包括(僅舉例來講):服務(wù)代碼、 CW(卡驗(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)求消息還可以包括其他信息,如對(duì)生成 授權(quán)請(qǐng)求消息的訪問設(shè)備進(jìn)行識(shí)別的信息、關(guān)于訪問設(shè)備的位置的信息等。
[0041]在發(fā)卡行計(jì)算機(jī)106接收到授權(quán)請(qǐng)求消息之后,發(fā)卡行計(jì)算機(jī)106將授權(quán)響應(yīng)消息 發(fā)送回到支付處理網(wǎng)絡(luò)105從而指示當(dāng)前交易被授權(quán)(或未被授權(quán))。然后,支付處理網(wǎng)絡(luò) 105將授權(quán)請(qǐng)求消息轉(zhuǎn)發(fā)回收單行計(jì)算機(jī)104。在一些實(shí)施例中,根據(jù)欺詐風(fēng)險(xiǎn)分?jǐn)?shù)值,即使 發(fā)卡行計(jì)算機(jī)106已經(jīng)授權(quán)交易,支付處理網(wǎng)絡(luò)105也可以拒絕交易。收單行計(jì)算機(jī)104然后 將響應(yīng)消息轉(zhuǎn)發(fā)回商戶計(jì)算機(jī)103。
[0042] "授權(quán)響應(yīng)消息"可以是由發(fā)卡金融機(jī)構(gòu)106或支付處理網(wǎng)絡(luò)105所生成的對(duì)授權(quán) 請(qǐng)求消息的電子消息回復(fù)。授權(quán)響應(yīng)消息可以包括(僅舉例來講)以下狀態(tài)指示符中的一項(xiàng) 或多項(xiàng):同意一同意交易;拒絕一不同意交易;或呼叫中心一響應(yīng)未決的更多信息,商戶必 須呼叫免費(fèi)授權(quán)電話號(hào)碼。授權(quán)響應(yīng)消息還可以包括授權(quán)代碼,該授權(quán)代碼可以是信用卡 發(fā)行銀行響應(yīng)于電子消息中的授權(quán)請(qǐng)求消息而返回(直接地或通過支付處理網(wǎng)絡(luò)105)至指 示同意交易的商戶計(jì)算機(jī)103的代碼。該代碼可以用作授權(quán)的證明。如以上指出的,在一些 實(shí)施例中,支付處理網(wǎng)絡(luò)105可以生成或轉(zhuǎn)發(fā)授權(quán)響應(yīng)消息至商戶。
[0043]商戶計(jì)算機(jī)103收到授權(quán)響應(yīng)消息之后,商戶計(jì)算機(jī)103則可以為用戶提供授權(quán)響 應(yīng)消息。響應(yīng)消息可以由訪問設(shè)備102顯示、或可以在物理收據(jù)上打印出來。可替代地,如果 所述交易是網(wǎng)上交易,商戶可以提供網(wǎng)頁或授權(quán)響應(yīng)消息的其他指示作為虛擬收據(jù)。所述 收據(jù)可以包括交易的交易數(shù)據(jù)。
[0044]在一天結(jié)束時(shí),支付處理網(wǎng)絡(luò)105可以進(jìn)行正常的清算和結(jié)算過程。清算過程是收 單行與發(fā)卡行之間交換金融詳情的過程以促成過賬到顧客的支付賬戶和用戶的結(jié)算位置 的對(duì)賬。 II.認(rèn)證通信方法
[0045] 圖2示出了根據(jù)本發(fā)明的一些實(shí)施例的便攜式用戶設(shè)備101和訪問設(shè)備102之間的 通信圖。在一些實(shí)施例中,圖2中所示的交互可以作為支付交易的一部分發(fā)生。例如,如果便 攜式用戶設(shè)備101是非接觸式芯片卡,用戶則可以在由商戶操作的訪問設(shè)備102上輕按或刷 芯片卡。
[0046] 在步驟201,訪問設(shè)備102生成暫時(shí)性公/私鑰對(duì)??梢杂萌魏芜m當(dāng)方式生成公/私 鑰對(duì),如通過使用隨機(jī)或偽隨機(jī)數(shù)發(fā)生器。此外,密鑰對(duì)可以被生成為任何合適的密鑰格 式,如RSA或橢圓曲線密碼學(xué)(ECC)。在一些實(shí)施例中,可以在便攜式用戶設(shè)備101進(jìn)入訪問 設(shè)備102的非接觸域之前生成暫時(shí)性密鑰對(duì)。
[0047] 在步驟202,在生成用于便攜式用戶設(shè)備101進(jìn)入訪問設(shè)備102的非接觸域的暫時(shí) 性密鑰對(duì)之后,訪問設(shè)備102等待一段時(shí)間。
[0048]在步驟203,一旦便攜式用戶設(shè)備101進(jìn)入訪問設(shè)備102的非接觸域,訪問設(shè)備102 將在步驟201生成的密鑰對(duì)中的暫時(shí)性公鑰傳輸給便攜式用戶設(shè)備101。
[0049] 在步驟204(a),便攜式用戶設(shè)備101使用所接收到的暫時(shí)性公鑰與訪問設(shè)備101建 立共享秘密。然后,便攜式用戶設(shè)備101使用共享秘密派生出會(huì)話密鑰,并使用會(huì)話密鑰加 密響應(yīng)數(shù)據(jù)。在一些實(shí)施例中,可以通過將接收到的暫時(shí)性公鑰與用戶設(shè)備私鑰和密碼隨 機(jī)數(shù)結(jié)合來確定共享秘密。
[0050] 在步驟204(b),訪問設(shè)備102等待便攜式用戶設(shè)備101的響應(yīng)。
[00511在步驟205,便攜式用戶設(shè)備101向訪問設(shè)備101發(fā)送響應(yīng)消息。所述響應(yīng)消息可以 包括加密的響應(yīng)數(shù)據(jù)或其他數(shù)據(jù)。例如,在一些實(shí)施例中,所述響應(yīng)消息可以包括用戶設(shè)備 盲公鑰,訪問設(shè)備102可以使用用戶設(shè)備盲公鑰來確定用戶設(shè)備101在步驟204(a)所建立的 同一共享秘密。在一些實(shí)施例中,加密的響應(yīng)數(shù)據(jù)可以包括支付信息,如主賬號(hào)(PAN)、賬戶 失效日期等。在一些實(shí)施例中,支付信息可以被包括作為用戶設(shè)備證書的一部分。
[0052] 在步驟206,訪問設(shè)備102建立與便攜式用戶設(shè)備101在步驟204(a)建立的相同的 共享秘密。然后,訪問設(shè)備102使用共享秘密生成會(huì)話密鑰,并且使用會(huì)話密鑰對(duì)加密的響 應(yīng)數(shù)據(jù)進(jìn)行解密。解密后的響應(yīng)數(shù)據(jù)可以被訪問設(shè)備102用于認(rèn)證便攜式用戶設(shè)備101。例 如,在響應(yīng)數(shù)據(jù)包括用戶設(shè)備證書的實(shí)施例中,可以使用數(shù)字簽名算法對(duì)證書的簽名進(jìn)行 驗(yàn)證。
[0053] 在步驟207-210,在一些實(shí)施例中,訪問設(shè)備102和便攜式用戶設(shè)備101可以交換命 令和響應(yīng)。例如,訪問設(shè)備101可以從便攜式用戶設(shè)備101請(qǐng)求額外數(shù)據(jù),或者便攜式用戶設(shè) 備101可以從訪問設(shè)備102請(qǐng)求交易信息。通常,可以使用從之前在便攜式用戶設(shè)備101與訪 問設(shè)備102之間建立的共享秘密派生出的會(huì)話密鑰對(duì)這些命令和響應(yīng)進(jìn)行加密。此外,應(yīng)當(dāng) 注意的是,雖然圖2中示出了四條消息207-210,設(shè)備101與102之間可以交換任何數(shù)量的消 息。
[0054]在步驟211,訪問設(shè)備102使用便攜式用戶設(shè)備101所提供的響應(yīng)數(shù)據(jù)對(duì)交易進(jìn)行 授權(quán)。例如,在一些實(shí)施例中,訪問設(shè)備101可以如參照?qǐng)D1所描述的生成授權(quán)請(qǐng)求消息,并 且在所述授權(quán)請(qǐng)求消息中包括與便攜式用戶設(shè)備101相關(guān)聯(lián)的支付信息。通常,便攜式用戶 設(shè)備101可以在交易被授權(quán)之前離開訪問設(shè)備101的非接觸域。在一些實(shí)施例中,一旦接收 到授權(quán)響應(yīng)消息,訪問設(shè)備101可以向用戶提供交易是否被授權(quán)的指示。
[0055] 雖然圖2描述了便攜式用戶設(shè)備101與訪問設(shè)備102之間的通信的示例,但實(shí)施例 不限于以上說明。例如,一些實(shí)施例可以跳過命令和響應(yīng)步驟207-210。在一些實(shí)施例中,便 攜式用戶設(shè)備101可以在步驟205之后離開訪問設(shè)備101的非接觸域。
[0056] 可替代地,在一些實(shí)施例中,在響應(yīng)消息在步驟205被接收之后,但在向便攜式用 戶設(shè)備101發(fā)送一條或多條消息之前,訪問設(shè)備102可以對(duì)交易進(jìn)行授權(quán)。例如,在一個(gè)實(shí)施 例中,在訪問設(shè)備102確定交易已經(jīng)被便攜式用戶設(shè)備101的發(fā)出方授權(quán)之后可以更新便攜 式用戶設(shè)備101上存儲(chǔ)的賬戶余額。 A.訪問設(shè)備
[0057]圖3示出了安全地獲得用戶設(shè)備數(shù)據(jù)的方法300。在一些實(shí)施例中,可以結(jié)合圖4的 方法400執(zhí)行方法300,其中,方法300由訪問設(shè)備102執(zhí)行,而方法400由用戶設(shè)備101執(zhí)行。 [0058]在一些實(shí)施例中,方法300可以作為支付交易的一部分發(fā)生。例如,如果用戶設(shè)備 101是非接觸式芯片卡,用戶則可以在由商戶操作的訪問設(shè)備102上輕按或刷芯片卡。
[0059]通常,在所述方法之前,便攜式用戶設(shè)備101可以生成或加載用戶設(shè)備密鑰對(duì)。"用 戶設(shè)備密鑰對(duì)"可以包括公鑰(即,"用戶設(shè)備公鑰")和私鑰(即,"用戶設(shè)備私鑰")。用戶設(shè) 備101還可以包括"用戶設(shè)備證書",所述用戶設(shè)備證書包括用戶設(shè)備公鑰。用戶設(shè)備證書可 以由證書授權(quán)機(jī)構(gòu)簽名,如支付處理網(wǎng)絡(luò)105或發(fā)卡行計(jì)算機(jī)106。
[0060] 在步驟301,生成暫時(shí)性密鑰對(duì)。"暫時(shí)性密鑰對(duì)"可以包括被生成以供單次交易或 其他通信會(huì)話使用的公鑰(即,"暫時(shí)性公鑰")和私鑰(即,暫時(shí)性私鑰)。所述暫時(shí)性密鑰對(duì) 可以具有任何適當(dāng)格式,如ECC或RSA。通常,一旦訪問設(shè)備102與便攜式用戶設(shè)備101之間的 通信會(huì)話已經(jīng)結(jié)束,就可以刪除暫時(shí)性密鑰對(duì)。
[0061] 在步驟302,將認(rèn)證請(qǐng)求發(fā)送至便攜式用戶設(shè)備101,包括暫時(shí)性公鑰。在一些實(shí)施 例中,認(rèn)證請(qǐng)求還可以包括與訪問設(shè)備102相關(guān)聯(lián)的訪問設(shè)備標(biāo)識(shí)符。"訪問設(shè)備標(biāo)識(shí)符"可 以包括任何適用于識(shí)別訪問設(shè)備的數(shù)據(jù)。例如,訪問設(shè)備標(biāo)識(shí)符可以是序列號(hào)、全局唯一標(biāo) 識(shí)符(GUID)、網(wǎng)絡(luò)地址、或任何其他合適的標(biāo)識(shí)符。在一些實(shí)施例中,當(dāng)訪問設(shè)備102檢測到 便攜式用戶設(shè)備101時(shí),比如如果它靠近非接觸式收發(fā)器的話,可以發(fā)送認(rèn)證請(qǐng)求。
[0062]在步驟303,從便攜式用戶設(shè)備101接收加密的用戶設(shè)備數(shù)據(jù)和用戶設(shè)備盲公鑰。 可以從用戶設(shè)備公鑰生成"用戶設(shè)備盲公鑰"。例如,用戶設(shè)備盲公鑰可以是用戶設(shè)備公鑰 和密碼隨機(jī)數(shù)的組合。"加密的用戶設(shè)備數(shù)據(jù)"可以包括任何數(shù)據(jù)或與用戶設(shè)備相關(guān)聯(lián)的信 息。例如,在一些實(shí)施例中,加密的用戶設(shè)備數(shù)據(jù)可以包括用于生成用戶設(shè)備盲公鑰的加密 的用戶設(shè)備證書和密碼隨機(jī)數(shù)。
[0063]在步驟304,使用在步驟301生成的暫時(shí)性私鑰和在步驟303接收到的用戶設(shè)備盲 公鑰生成共享秘密??梢允褂萌魏魏线m的方法生成共享秘密。例如,在使用橢圓曲線密碼學(xué) 的實(shí)施例中,可以使用橢圓曲線Diffie-Hellman協(xié)議(E⑶H)確定共享秘密。
[0064]在步驟305,使用在步驟304所生成的共享秘密生成會(huì)話密鑰。會(huì)話密鑰可以具有 任何合適的格式(例如,AES、DES、Bl0WfiSh等)、具有任何合適的長度、使用任何合適的密鑰 派生函數(shù)生成的。例如,在一個(gè)實(shí)施例中,可以使用基于密碼的密鑰派生函數(shù)2 (PBKDF2)算 法生成會(huì)話密鑰。在一些實(shí)施例中,其他數(shù)據(jù)(如訪問設(shè)備標(biāo)識(shí)符)可以用作密鑰派生函數(shù) 的額外輸入。
[0065]在步驟306,使用會(huì)話密鑰對(duì)加密的用戶設(shè)備數(shù)據(jù)進(jìn)行解密,從而確定用戶設(shè)備證 書。用戶設(shè)備證書可以包括任何證實(shí)用戶設(shè)備101的身份的數(shù)字證書。在一些實(shí)施例中,用 戶設(shè)備證書可以包括與用戶設(shè)備101和/或與用戶設(shè)備101相關(guān)聯(lián)的用戶有關(guān)的信息,如存 儲(chǔ)在用戶設(shè)備上的用戶設(shè)備密鑰對(duì)的公鑰、用戶姓名、與用戶設(shè)備101相關(guān)聯(lián)的主賬號(hào) (PAN)、賬戶的失效日期等。用戶設(shè)備證書可以由證書授權(quán)機(jī)構(gòu)(CA)簽名。在一些情況下,經(jīng) 解密的用戶設(shè)備數(shù)據(jù)還可以包括用于生成用戶設(shè)備盲公鑰的密碼隨機(jī)數(shù)。
[0066] 在步驟307,對(duì)用戶設(shè)備證書和用戶設(shè)備盲公鑰進(jìn)行驗(yàn)證。
[0067] 對(duì)用戶設(shè)備證書進(jìn)行驗(yàn)證可以包括基于已知的CA公鑰保證用戶設(shè)備證書的簽名 與期望值匹配。例如,在一些實(shí)施例中,數(shù)字簽名算法(如橢圓曲線數(shù)字簽名算法(ECDSA)) 可以用于驗(yàn)證用戶設(shè)備證書。
[0068]驗(yàn)證用戶設(shè)備盲公鑰可以包括確保用戶設(shè)備盲公鑰與預(yù)期值匹配。例如,在一些 情況下,可以使用用戶設(shè)備證書上所包括的用戶設(shè)備公鑰、以及在步驟306解密的密碼隨機(jī) 數(shù)生成第二用戶設(shè)備盲公鑰。然后,可以將第二用戶設(shè)備盲公鑰與在步驟303接收的用戶設(shè) 備盲公鑰進(jìn)行比較從而確保這些密鑰匹配??商娲?,在一些情況下,可以通過將在步驟 303接收的用戶設(shè)備盲公鑰與存儲(chǔ)的用戶設(shè)備盲公鑰進(jìn)行比較來對(duì)前者進(jìn)行驗(yàn)證。
[0069]在步驟308,如果用戶設(shè)備證書和用戶設(shè)備盲公鑰被驗(yàn)證,則使用用戶設(shè)備數(shù)據(jù)進(jìn) 行交易。例如,在一些實(shí)施例中,可以如參照?qǐng)D1所描述的生成授權(quán)請(qǐng)求消息。在一些實(shí)施例 中,一旦接收到授權(quán)響應(yīng)消息,可以向用戶提供交易是否成功的指示。
[0070] 應(yīng)當(dāng)注意的是,雖然參照暫時(shí)性密鑰對(duì)對(duì)圖3的方法進(jìn)行了描述,但實(shí)施例不限于 使用暫時(shí)性密鑰。例如,在一些實(shí)施例中,訪問設(shè)備102可以維護(hù)持久性密鑰對(duì)(即,"訪問設(shè) 備公/私鑰對(duì)"),并代替暫時(shí)性公鑰和私鑰分別使用訪問設(shè)備公鑰和私鑰。 B.用戶設(shè)備
[0071] 圖4示出了從用戶設(shè)備101的角度將用戶設(shè)備數(shù)據(jù)安全地傳輸至訪問設(shè)備102的方 法400。在一些實(shí)施例中,可以結(jié)合方法400執(zhí)行圖3的方法300,其中,方法300由訪問設(shè)備 102執(zhí)行,而方法400由用戶設(shè)備101執(zhí)行。
[0072]在一些實(shí)施例中,方法400可以作為支付交易的一部分發(fā)生。例如,如果用戶設(shè)備 101是非接觸式芯片卡,用戶則可以在由商戶操作的訪問設(shè)備102上輕按或刷芯片卡。
[0073]通常,在所述方法之前,便攜式用戶設(shè)備101可以生成或加載用戶設(shè)備密鑰對(duì)。"用 戶設(shè)備密鑰對(duì)"可以包括公鑰(即,"用戶設(shè)備公鑰")和私鑰(即,"用戶設(shè)備私鑰")。用戶設(shè) 備102還可以包括"用戶設(shè)備證書",所述用戶設(shè)備證書包括用戶設(shè)備公鑰。用戶設(shè)備證書可 以由證書授權(quán)機(jī)構(gòu)簽名,如支付處理網(wǎng)絡(luò)105或發(fā)卡行計(jì)算機(jī)106。
[0074]在步驟401,接收認(rèn)證請(qǐng)求,包括暫時(shí)性公鑰。暫時(shí)性公鑰可以具有任何合適的格 式的,如ECC或RSA。通常,一旦訪問設(shè)備102與便攜式用戶設(shè)備101之間的通信會(huì)話已經(jīng)結(jié) 束,就可以刪除暫時(shí)性公鑰。
[0075]在步驟402,生成密碼隨機(jī)數(shù)。密碼隨機(jī)數(shù)可以是使用任何合適的方法生成的隨機(jī) 或偽隨機(jī)數(shù)據(jù)值。
[0076]在步驟403,使用用戶設(shè)備私鑰和密碼隨機(jī)數(shù)生成用戶設(shè)備盲私鑰。例如,在一些 實(shí)施例中,可以通過將用戶設(shè)備私鑰乘以密碼隨機(jī)數(shù)來生成用戶設(shè)備盲私鑰。
[0077]在步驟404,使用用戶設(shè)備公鑰和密碼隨機(jī)數(shù)生成用戶設(shè)備盲公鑰。例如,在一些 實(shí)施例中,可以通過將用戶設(shè)備公鑰乘以密碼隨機(jī)數(shù)來生成用戶設(shè)備盲公鑰。
[0078]在步驟405,使用在步驟403生成的用戶設(shè)備盲私鑰和在步驟401接收到的暫時(shí)性 公鑰生成共享秘密。可以使用任何合適的方法生成共享秘密。例如,在使用橢圓曲線密碼學(xué) 的實(shí)施例中,可以使用橢圓曲線Diffie-Hellman協(xié)議(E⑶H)確定共享秘密。通常,用于生成 共享秘密的方法是與訪問設(shè)備102在圖3的步驟304所使用的相同的過程。
[0079]在步驟406,使用在步驟405所生成的共享秘密生成會(huì)話密鑰。會(huì)話密鑰可以具有 任何合適的格式(例如,AES、DES、Bl0WfiSh等)、具有任何合適的長度、使用任何合適的密鑰 派生函數(shù)生成的。例如,在一個(gè)實(shí)施例中,可以使用基于密碼的密鑰派生函數(shù)2 (PBKDF2)算 法生成會(huì)話密鑰。在一些實(shí)施例中,其他數(shù)據(jù)(如訪問設(shè)備標(biāo)識(shí)符)可以用作密鑰派生函數(shù) 的額外輸入。通常,用于生成共享秘密的算法是與訪問設(shè)備102在圖3的步驟304所使用的相 同的協(xié)議。通常,用于派生出會(huì)話密鑰的方法是與訪問設(shè)備102在圖3的步驟305所使用的相 同的過程。
[0080]在步驟407,使用會(huì)話密鑰對(duì)用戶設(shè)備數(shù)據(jù)進(jìn)行加密,從而生成加密的用戶設(shè)備數(shù) 據(jù)。通常,用戶設(shè)備數(shù)據(jù)可以包括用戶設(shè)備證書。在一些實(shí)施例中,用戶設(shè)備數(shù)據(jù)可以包括 其他數(shù)據(jù),如用于生成用戶設(shè)備盲公鑰的用戶設(shè)備標(biāo)識(shí)符和/或密碼隨機(jī)數(shù)。
[0081]在一些實(shí)施例中,第二共享秘密還可以用于對(duì)在響應(yīng)中返回的另外的用戶設(shè)備數(shù) 據(jù)(如用戶設(shè)備公鑰)進(jìn)行解密(除了使用在步驟405生成的第一共享秘密進(jìn)行加密之外)。 此類實(shí)施例可以提供的優(yōu)點(diǎn)是,當(dāng)使用第一共享秘密時(shí)不需要對(duì)用戶設(shè)備數(shù)據(jù)進(jìn)行解密。 可以在第二共享秘密被建立的時(shí)候或地點(diǎn)對(duì)密鑰進(jìn)行解密,例如,在遠(yuǎn)程連接至訪問設(shè)備 102的單獨(dú)設(shè)備(例如,硬件安全模塊(HSM))中。
[0082]在步驟408,發(fā)送包括加密的用戶設(shè)備數(shù)據(jù)和用戶設(shè)備盲公鑰的認(rèn)證響應(yīng)。
[0083] 類似于圖3的方法,應(yīng)當(dāng)注意的是,雖然參照暫時(shí)性公鑰(通常是從訪問設(shè)備102接 收的)對(duì)圖4的方法進(jìn)行了描述,但實(shí)施例不限于使用暫時(shí)性密鑰。例如,在一些實(shí)施例中, 訪問設(shè)備102可以維護(hù)持久性密鑰對(duì)(即,"訪問設(shè)備公/私鑰對(duì)"),并代替暫時(shí)性公鑰和私 鑰分別使用訪問設(shè)備公鑰和私鑰。 III.認(rèn)證通信流程 A. 派生共享秘密
[0084] 圖5示出了數(shù)據(jù)流程圖,展示了根據(jù)本發(fā)明的一些實(shí)施例的在訪問設(shè)備102與便攜 式用戶設(shè)備101之間建立共享秘密時(shí)執(zhí)行的操作。
[0085] 如圖5中所示,訪問設(shè)備102使用公/私鑰對(duì)發(fā)生器("KeyGen")生成暫時(shí)性公鑰 ("ePubA")和暫時(shí)性私鑰("ePrivA")。訪問設(shè)備101將暫時(shí)性公鑰("ePubT")在請(qǐng)求消息中 發(fā)送給便攜式用戶設(shè)備101。便攜式用戶設(shè)備101生成密碼隨機(jī)數(shù)("NonceC"),并結(jié)合 ("MUL")密碼隨機(jī)數(shù)("NonceU")與用戶設(shè)備私鑰("PrivU")從而生成用戶設(shè)備盲私鑰 ("PrivU*")。然后,將用戶設(shè)備盲私鑰("PrivC*")和暫時(shí)性公鑰("ePubT")用作橢圓曲線 Diff ie-Hellman( "ECDH")函數(shù)的輸入從而生成共享秘密("Z")。
[0086] 便攜式用戶設(shè)備101還結(jié)合("MUL")密碼隨機(jī)數(shù)("NonceU")與用戶設(shè)備公鑰 ("PubU")從而生成用戶設(shè)備盲公鑰("PubU*")。用戶設(shè)備盲公鑰("PubU*")在響應(yīng)消息中傳 輸至訪問設(shè)備102。訪問設(shè)備102將用戶設(shè)備盲公鑰("PubU*")和暫時(shí)性私鑰("ePrivA")用 作橢圓曲線Diff ie-Hellman( "ECDH")函數(shù)的輸入從而生成相同的共享秘密("Z")。
[0087] 以這種方式,實(shí)施例可以在訪問設(shè)備102和便攜式用戶設(shè)備101之間建立共享秘 您 I_L| 〇 B. 認(rèn)證用戶設(shè)備
[0088]圖6示出了數(shù)據(jù)流程圖,展示了根據(jù)一些實(shí)施例在向訪問設(shè)備102安全地認(rèn)證用戶 設(shè)備101時(shí)執(zhí)行的操作。
[0089] 如圖6中所示,訪問設(shè)備102使用公/私鑰對(duì)發(fā)生器("KeyGen")生成暫時(shí)性公鑰 ("ePubA")和暫時(shí)性私鑰("ePrivA")。訪問設(shè)備101將暫時(shí)性公鑰("ePubT")在請(qǐng)求消息中 發(fā)送給便攜式用戶設(shè)備101。便攜式用戶設(shè)備101生成密碼隨機(jī)數(shù)("NonceC"),并結(jié)合 ("MUL")密碼隨機(jī)數(shù)("NonceU")與用戶設(shè)備私鑰("PrivU")從而生成用戶設(shè)備盲私鑰 ("PrivU*")。然后,將用戶設(shè)備盲私鑰("PrivC*")和暫時(shí)性公鑰("ePubT")用作橢圓曲線 Diff ie-Hellman( "ECDH")函數(shù)的輸入從而生成共享秘密("Z")。
[0090] 便攜式用戶設(shè)備101使用共享秘密("Z")作為密鑰派生函數(shù)("KDF")的輸入從而生 成會(huì)話密鑰("SK")。經(jīng)認(rèn)證的加密密文("AE")使用會(huì)話密鑰("SK")對(duì)用戶設(shè)備證書 ("CertU")和密碼隨機(jī)數(shù)("NonceU")進(jìn)行加密,從而生成加密的用戶設(shè)備證書("Certlf") 和加密的密碼隨機(jī)數(shù)(%〇11(^1](3")。便攜式用戶設(shè)備101還結(jié)合("11]1;')密碼隨機(jī)數(shù) ("NonceU")與用戶設(shè)備公鑰("PubU")從而生成用戶設(shè)備盲公鑰("PubU*")。然后,將用戶設(shè) 備盲公鑰("PubU*")、加密的用戶設(shè)備證書("Certlf")、和加密的密碼隨機(jī)數(shù)("Noncelf")在 響應(yīng)消息中傳輸至訪問設(shè)備102。
[0091]訪問設(shè)備102使用用戶設(shè)備盲公鑰("PubU*")和暫時(shí)性私鑰("ePrivA")作為橢圓 曲線0丨€^6-此11111&1^加0礦)函數(shù)的輸入從而生成相同的共享秘密("2")。將共享秘密 ("Z")用作密鑰派生函數(shù)("KDF")的輸入從而生成相同的會(huì)話密鑰("SK")。經(jīng)認(rèn)證的解密函 數(shù)("AE+ )對(duì)密碼隨機(jī)數(shù)("NonceU")、用戶設(shè)備證書("CertU")、和包括在用戶設(shè)備證書 ("CertU")中的用戶設(shè)備公鑰("PubU")進(jìn)行解密。橢圓曲線數(shù)字簽名算法("ECDSA")用來使 用證書授權(quán)機(jī)構(gòu)的公鑰("PubCA")來驗(yàn)證用戶設(shè)備證書("CertU")。通過將接收到的用戶設(shè) 備盲公鑰("PubU*)與從已解密的用戶設(shè)備公鑰("PubU")和已解密的密碼隨機(jī)數(shù) ("NonceU")生成的用戶設(shè)備盲公鑰("PubU* 2")進(jìn)行比較來驗(yàn)證接收到的用戶設(shè)備盲公鑰。 [0092] 如果用戶設(shè)備證書和用戶設(shè)備盲公鑰都被驗(yàn)證,則用戶設(shè)備101通過認(rèn)證。 IV.最優(yōu)認(rèn)證通信方法
[0093]圖7和圖8、表1和表2描述了根據(jù)本發(fā)明的一些實(shí)施例的用于安全通信的最優(yōu)方 法。確切地,在一些實(shí)施例中,用戶設(shè)備101和訪問設(shè)備102可以各自維護(hù)過去發(fā)生通信的設(shè) 備的注冊(cè)表。每個(gè)注冊(cè)的設(shè)備可以與下一個(gè)共享秘密和/或有待用于與設(shè)備的將來通信會(huì) 話的其他數(shù)據(jù)相關(guān)聯(lián)。以這種方式,實(shí)施例可以避免兩個(gè)設(shè)備之間的任何后續(xù)通信中的某 些操作,如Diffie-Hellman密鑰交換。因而,實(shí)施例可以減少建立通信會(huì)話所需的時(shí)間量和 處理量。此外,在保護(hù)用戶設(shè)備101的身份的同時(shí),實(shí)施例可以實(shí)現(xiàn)這些益處,如下面將進(jìn)一 步詳細(xì)描述的。 A.訪問設(shè)備
[0094]圖7示出了安全地獲得用戶設(shè)備數(shù)據(jù)的最優(yōu)方法700。在一些實(shí)施例中,方法700可 以包括圖3的方法300中的一些或所有步驟。此外,在一些實(shí)施例中,可以結(jié)合圖8的方法800 執(zhí)行方法700,其中,方法700由訪問設(shè)備102執(zhí)行,而方法800由用戶設(shè)備101執(zhí)行。
[0095] 通常,在所述方法之前,便攜式用戶設(shè)備101可以生成或加載用戶設(shè)備密鑰對(duì)。"用 戶設(shè)備密鑰對(duì)"可以包括公鑰(即,"用戶設(shè)備公鑰")和私鑰(即,"用戶設(shè)備私鑰")。用戶設(shè) 備101還可以包括"用戶設(shè)備證書",所述用戶設(shè)備證書包括用戶設(shè)備公鑰。用戶設(shè)備證書可 以由證書授權(quán)機(jī)構(gòu)簽名,如支付處理網(wǎng)絡(luò)105或發(fā)卡行計(jì)算機(jī)106。
[0096] 此外,用戶設(shè)備101和訪問設(shè)備102都可以維護(hù)發(fā)生之前的通信的設(shè)備的注冊(cè)表。 "注冊(cè)表"可以包括任何適合于存儲(chǔ)數(shù)據(jù)的電子介質(zhì)。例如,注冊(cè)表可以包括數(shù)據(jù)庫、文本文 件、或任何其他合適的介質(zhì)。
[0097] 在步驟701,生成暫時(shí)性密鑰對(duì)。"暫時(shí)性密鑰對(duì)"可以包括被生成以供單次交易或 其他通信會(huì)話使用的公鑰(即,"暫時(shí)性公鑰")和私鑰(即,暫時(shí)性私鑰)。所述暫時(shí)性密鑰對(duì) 可以具有任何適當(dāng)格式,如ECC或RSA。通常,一旦訪問設(shè)備102與便攜式用戶設(shè)備101之間的 通信會(huì)話已經(jīng)結(jié)束,就可以刪除暫時(shí)性密鑰對(duì)。
[0098]在步驟702,將認(rèn)證請(qǐng)求發(fā)送至便攜式用戶設(shè)備101,包括暫時(shí)性公鑰和與訪問設(shè) 備102相關(guān)聯(lián)的訪問設(shè)備標(biāo)識(shí)符。"訪問設(shè)備標(biāo)識(shí)符"可以包括任何適用于識(shí)別訪問設(shè)備的 數(shù)據(jù)。在一些實(shí)施例中,當(dāng)訪問設(shè)備102檢測到便攜式用戶設(shè)備101時(shí),比如如果它靠近非接 觸式收發(fā)器的話,可以發(fā)送認(rèn)證請(qǐng)求。
[0099]在步驟703,從便攜式用戶設(shè)備101接收加密的用戶設(shè)備數(shù)據(jù)、用戶設(shè)備盲公鑰、以 及用戶設(shè)備盲標(biāo)識(shí)符。"加密的用戶設(shè)備數(shù)據(jù)"可以包括任何數(shù)據(jù)或與用戶設(shè)備相關(guān)聯(lián)的信 息。例如,在一些實(shí)施例中,加密的用戶設(shè)備數(shù)據(jù)可以包括用于生成用戶設(shè)備盲公鑰的加密 的用戶設(shè)備證書和密碼隨機(jī)數(shù)??梢詮挠脩粼O(shè)備公鑰生成"用戶設(shè)備盲公鑰"。例如,用戶設(shè) 備盲公鑰可以是用戶設(shè)備公鑰和密碼隨機(jī)數(shù)的組合。可以從用戶設(shè)備101的用戶設(shè)備標(biāo)識(shí) 符生成"用戶設(shè)備盲標(biāo)識(shí)符"。在一些實(shí)施例中,用戶設(shè)備標(biāo)識(shí)符可以是用戶設(shè)備公鑰。在一 些此類實(shí)施例中,用戶設(shè)備盲標(biāo)識(shí)符可以是用戶設(shè)備公鑰的縮短版本。在其他實(shí)施例中,用 戶設(shè)備標(biāo)識(shí)符可以是序列號(hào)、全局唯一標(biāo)識(shí)符(GUID)、或其他數(shù)據(jù)。在一些此類實(shí)施例中, 用戶設(shè)備標(biāo)識(shí)符可以是用戶設(shè)備標(biāo)識(shí)符與密碼隨機(jī)數(shù)的組合。
[0100]在步驟704,判定用戶設(shè)備盲標(biāo)識(shí)符是否已注冊(cè)。例如,在一些實(shí)施例中,可以在注 冊(cè)表中查找用戶設(shè)備盲標(biāo)識(shí)符。
[0101]如果用戶設(shè)備盲標(biāo)識(shí)符已經(jīng)注冊(cè),則在步驟705獲得與用戶設(shè)備盲標(biāo)識(shí)符相關(guān)聯(lián) 的共享秘密。例如,在一些實(shí)施例中,可以從注冊(cè)表中的與用戶設(shè)備盲標(biāo)識(shí)符相關(guān)聯(lián)的記錄 中檢索共享秘密。然后,所述方法前進(jìn)至步驟707。
[0102] 如果用戶設(shè)備盲標(biāo)識(shí)符未注冊(cè),則在步驟706,執(zhí)行圖3的步驟304。確切地,使用在 步驟701生成的暫時(shí)性私鑰和在步驟703接收到的用戶設(shè)備盲公鑰生成共享秘密??梢允褂?任何合適的方法生成共享秘密。例如,在使用橢圓曲線密碼學(xué)的實(shí)施例中,可以使用橢圓曲 線Diffie-Hel lman協(xié)議(ECDH)確定共享秘密。然后,所述方法前進(jìn)至步驟707。
[0103] 在方法700的步驟707,執(zhí)行方法300的步驟305-308。確切地,在一些實(shí)施例中,共 享秘密用于生成會(huì)話密鑰。會(huì)話密鑰用于對(duì)加密的用戶設(shè)備數(shù)據(jù)進(jìn)行解密從而確定用戶設(shè) 備證書。然后對(duì)用戶設(shè)備證書和用戶設(shè)備盲公鑰進(jìn)行驗(yàn)證。然后使用已解密的用戶設(shè)備數(shù) 據(jù)進(jìn)行交易。參照?qǐng)D3中的相應(yīng)步驟可以發(fā)現(xiàn)對(duì)這些步驟的進(jìn)一步描述。
[0104] 在步驟708,使用共享秘密生成下一個(gè)共享秘密和下一個(gè)用戶設(shè)備盲標(biāo)識(shí)符??梢?從共享秘密以任何合適的方式生成下一個(gè)共享秘密和下一個(gè)用戶設(shè)備盲標(biāo)識(shí)符。例如,在 一些實(shí)施例中,可以使用密鑰派生函數(shù)確定下一個(gè)共享秘密。例如,用于在步驟707生成會(huì) 話密鑰的密鑰派生函數(shù)還可以生成下一個(gè)共享秘密。
[0105] 還可以使用密鑰派生函數(shù)生成下一個(gè)用戶設(shè)備盲標(biāo)識(shí)符。例如,在一些實(shí)施例中, 用于在步驟707生成會(huì)話密鑰的密鑰派生函數(shù)可以用于生成下一個(gè)密碼隨機(jī)數(shù)。下一個(gè)密 碼隨機(jī)數(shù)和用戶設(shè)備公鑰則于是可以用于生成下一個(gè)用戶設(shè)備盲公鑰。在一些實(shí)施例中, 下一個(gè)用戶設(shè)備盲標(biāo)識(shí)符可以是下一個(gè)用戶設(shè)備盲公鑰的子集。在其他實(shí)施例中,密碼隨 機(jī)數(shù)可以與用戶設(shè)備盲標(biāo)識(shí)符結(jié)合,從而確定下一個(gè)用戶設(shè)備盲標(biāo)識(shí)符。通常,用于在步驟 708確定下一個(gè)用戶設(shè)備盲標(biāo)識(shí)符的過程還可以在方法800的步驟807被用戶設(shè)備101使用。
[0106] 在步驟709,注冊(cè)下一個(gè)用戶設(shè)備盲標(biāo)識(shí)符,并將其與下一個(gè)共享秘密相關(guān)聯(lián)。例 如,在一些實(shí)施例中,可以將下一個(gè)用戶設(shè)備盲標(biāo)識(shí)符和下一個(gè)共享秘密存儲(chǔ)在注冊(cè)表或 數(shù)據(jù)庫中。 A.用戶設(shè)備
[0107] 圖8示出了將用戶設(shè)備數(shù)據(jù)安全地傳輸至訪問設(shè)備的最優(yōu)方法。通常,在所述方法 之前,便攜式用戶設(shè)備101可以生成或加載用戶設(shè)備密鑰對(duì)。"用戶設(shè)備密鑰對(duì)"可以包括公 鑰(即,"用戶設(shè)備公鑰")和私鑰(即,"用戶設(shè)備私鑰")。用戶設(shè)備101還可以包括"用戶設(shè)備 證書",所述用戶設(shè)備證書包括用戶設(shè)備公鑰。用戶設(shè)備證書可以由證書授權(quán)機(jī)構(gòu)簽名,如 支付處理網(wǎng)絡(luò)105或發(fā)卡行計(jì)算機(jī)106。
[0108] 此外,用戶設(shè)備101和訪問設(shè)備102都可以維護(hù)發(fā)生之前的通信的設(shè)備的注冊(cè)表。 "注冊(cè)表"可以包括任何適合于存儲(chǔ)數(shù)據(jù)的電子介質(zhì)。例如,注冊(cè)表可以包括數(shù)據(jù)庫、文本文 件、或任何其他合適的介質(zhì)。
[0109] 在步驟801,從訪問設(shè)備102接收認(rèn)證請(qǐng)求,包括暫時(shí)性公鑰和訪問設(shè)備標(biāo)識(shí)符。暫 時(shí)性公鑰可以具有任何合適的格式的,如ECC或RSA。通常,一旦暫時(shí)性公鑰已經(jīng)被使用(例 如,在訪問設(shè)備102與便攜式用戶設(shè)備101之間的通信會(huì)話已經(jīng)結(jié)束之后),就可以刪除暫時(shí) 性公鑰。"訪問設(shè)備標(biāo)識(shí)符"可以包括任何適用于識(shí)別訪問設(shè)備的數(shù)據(jù)。
[0110]在步驟802,判定訪問設(shè)備標(biāo)識(shí)符是否已注冊(cè)。例如,在一些實(shí)施例中,可以在注冊(cè) 表中查找訪問設(shè)備標(biāo)識(shí)符。
[0111]如果訪問設(shè)備標(biāo)識(shí)符已注冊(cè),則在步驟803獲得共享秘密、用戶設(shè)備盲公鑰、以及 與訪問設(shè)備標(biāo)識(shí)符相關(guān)聯(lián)的用戶設(shè)備盲標(biāo)識(shí)符。例如,在一些實(shí)施例中,可以從注冊(cè)表中的 與用戶設(shè)備盲標(biāo)識(shí)符相關(guān)聯(lián)的記錄中檢索共享秘密、用戶設(shè)備盲公鑰、以及用戶設(shè)備盲標(biāo) 識(shí)符。在一些實(shí)施例中,共享秘密、用戶設(shè)備盲公鑰、以及用戶設(shè)備盲標(biāo)識(shí)符中的一些或全 部可以重疊。例如,用戶設(shè)備盲標(biāo)識(shí)符可以是用戶設(shè)備盲公鑰的子集(例如,最后4位或8 位)。方法800前進(jìn)至步驟805。
[0112] 如果訪問設(shè)備未注冊(cè),則在步驟803,執(zhí)行方法400的步驟402-405。確切地,在一些 實(shí)施例中,生成密碼隨機(jī)數(shù)。使用密碼隨機(jī)數(shù)和用戶設(shè)備私鑰生成用戶設(shè)備盲私鑰,并且使 用隨機(jī)數(shù)和用戶設(shè)備公鑰生成用戶設(shè)備盲公鑰。使用用戶設(shè)備盲私鑰和在步驟801接收的 暫時(shí)性公鑰生成共享秘密。參照?qǐng)D4中的相應(yīng)步驟可以發(fā)現(xiàn)對(duì)這些步驟的進(jìn)一步描述。方法 800前進(jìn)至步驟805。
[0113] 在步驟805,執(zhí)行方法400的步驟406-408。確切地,在一些實(shí)施例中,使用共享秘密 生成會(huì)話密鑰。會(huì)話密鑰用于對(duì)用戶設(shè)備數(shù)據(jù)進(jìn)行加密,如用戶設(shè)備證書。然后向訪問設(shè)備 102發(fā)送認(rèn)證響應(yīng)消息,所述響應(yīng)包括加密的用戶設(shè)備和用戶設(shè)備盲公鑰。參照?qǐng)D4中的相 應(yīng)步驟還可以發(fā)現(xiàn)對(duì)這些步驟的進(jìn)一步描述。
[0114] 在步驟806,使用共享秘密生成下一個(gè)共享秘密、下一個(gè)用戶設(shè)備盲標(biāo)識(shí)符、和下 一個(gè)用戶設(shè)備盲公鑰。可以從共享秘密以任何合適的方式生成下一個(gè)共享秘密、下一個(gè)用 戶設(shè)備盲標(biāo)識(shí)符、和下一個(gè)用戶設(shè)備盲公鑰。例如,在一些實(shí)施例中,可以使用密鑰派生函 數(shù)確定下一個(gè)共享秘密。例如,用于在步驟805生成會(huì)話密鑰的密鑰派生函數(shù)還可以生成下 一個(gè)共享秘密。
[0115] 還可以使用密鑰派生函數(shù)生成下一個(gè)用戶設(shè)備盲標(biāo)識(shí)符。例如,在一些實(shí)施例中, 用于在步驟805生成會(huì)話密鑰的密鑰派生函數(shù)可以用于生成密碼隨機(jī)數(shù)。密碼隨機(jī)數(shù)和用 戶設(shè)備公鑰則可以用于生成下一個(gè)用戶設(shè)備盲公鑰。在一些實(shí)施例中,下一個(gè)用戶設(shè)備盲 標(biāo)識(shí)符可以是下一個(gè)用戶設(shè)備盲公鑰的子集。在其他實(shí)施例中,密碼隨機(jī)數(shù)可以與用戶設(shè) 備盲標(biāo)識(shí)符結(jié)合,從而確定下一個(gè)用戶設(shè)備盲標(biāo)識(shí)符。通常,用于在步驟806確定下一個(gè)用 戶設(shè)備盲標(biāo)識(shí)符的過程還可以在方法700的步驟708被訪問設(shè)備102使用。
[0116] 在步驟807,注冊(cè)下一個(gè)用戶設(shè)備盲標(biāo)識(shí)符,并將其與下一個(gè)共享秘密相關(guān)聯(lián)。例 如,在一些實(shí)施例中,可以將下一個(gè)用戶設(shè)備盲公鑰和下一個(gè)共享秘密存儲(chǔ)在注冊(cè)表或數(shù) 據(jù)庫中。 B.偽代碼清單
[0117]以下表1和表2根據(jù)本發(fā)明的某些實(shí)施例示出了用于認(rèn)證數(shù)據(jù)傳輸?shù)陌踩椒ǖ?偽代碼列表。
表1
[0118] 表1示出了用于實(shí)現(xiàn)從用戶設(shè)備安全地獲得用戶設(shè)備數(shù)據(jù)的方法的偽代碼清單。 如下面所描述的,通過與用戶設(shè)備101通信的訪問設(shè)備102來執(zhí)行表1的方法。然而,在其他 實(shí)施例中,可以由任何其他適當(dāng)實(shí)體來執(zhí)行所述方法。
[0119] 在步驟A1,生成暫時(shí)性密鑰對(duì)。暫時(shí)性密鑰對(duì)包括暫時(shí)性私鑰(cU)和暫時(shí)性公鑰 (QeA ) 〇
[0120] 在步驟A2,將認(rèn)證請(qǐng)求發(fā)送至用戶設(shè)備101,包括訪問設(shè)備標(biāo)識(shí)符(IDsA)、暫時(shí)性公 鑰(QeA)、以及指示關(guān)于訪問設(shè)備102的各種信息的訪問設(shè)備協(xié)議控制字節(jié)(CBa)。
[0121] 在發(fā)送認(rèn)證請(qǐng)求之后,進(jìn)行等待,直到從用戶設(shè)備101接收到認(rèn)證響應(yīng)。認(rèn)證響應(yīng) 包括用戶設(shè)備盲公鑰(BDatau)和加密的用戶設(shè)備數(shù)據(jù)(EncDatau)。
[0122] 在步驟A3,通過取用戶設(shè)備盲公鑰(BDatau)的最左側(cè)8個(gè)字節(jié)(T8),確定用戶設(shè)備 盲標(biāo)識(shí)符(IDsii)。
[0123] 在步驟A4,進(jìn)行檢查以確保用戶設(shè)備盲公鑰(BDatau)屬于期望的橢圓曲線(EC) 域。
[0124] 在步驟A5,進(jìn)行檢查從而確定用戶設(shè)備盲標(biāo)識(shí)符(IDsU)是否之前被訪問設(shè)備102注 冊(cè)過。如果用戶設(shè)備盲標(biāo)識(shí)符(ID sU)未被注冊(cè),則在步驟A6,通過結(jié)合暫時(shí)性私鑰(deA)和接 收到的用戶設(shè)備盲公鑰(Bdatau)計(jì)算共享秘密(Z)。一旦計(jì)算了共享秘密,在步驟A7,將暫 時(shí)性私鑰擦除。
[0125] 在步驟A8,如果用戶設(shè)備盲標(biāo)識(shí)符(IDsU)注冊(cè)過,則在步驟A9,使用用戶設(shè)備盲標(biāo) 識(shí)符(ID sU)從持久綁定(PB)注冊(cè)表獲得共享秘密(Z)。
[0126] 在步驟A10,使用密鑰派生函數(shù)(KDF)派生出若干會(huì)話密鑰(SKcfrm、SKmac、SKenc、以 及SKrmac)、下一個(gè)共享秘密(NextZ)、以及下一個(gè)密碼隨機(jī)數(shù)(NextBlind)。密鑰派生函數(shù)的 輸入是共享秘密(Z)、期望的輸出長度(len)、以及用戶設(shè)備盲標(biāo)識(shí)符(ID sU)與訪問設(shè)備標(biāo)識(shí) 符(IDsA)的組合、以及暫時(shí)性公鑰(QeA)的左16個(gè)字節(jié)。一旦完成密鑰派生函數(shù),在步驟All 擦除共享秘密。
[0127] 在步驟A12,派生出的會(huì)話密鑰(SKcfrm)用于使用認(rèn)證的解密算法(AE<)對(duì)加密的 用戶設(shè)備數(shù)據(jù)(EncDatau)進(jìn)行解密。從解密的用戶設(shè)備數(shù)據(jù)確定報(bào)頭(Header)、用戶設(shè)備 證書(Cu)、密碼隨機(jī)數(shù)(Nu)、以及用戶設(shè)備協(xié)議控制字節(jié)(CBu)。
[0128] 在步驟A13,將報(bào)頭與預(yù)期值進(jìn)行比較。在一些實(shí)施例中,如果報(bào)頭與預(yù)期值不匹 配,則對(duì)用戶設(shè)備101的認(rèn)證會(huì)失敗。
[0129] 在步驟A14,對(duì)用戶設(shè)備協(xié)議控制字節(jié)(CBu)進(jìn)行檢驗(yàn),從而判定用戶設(shè)備101是否 打算計(jì)算和注冊(cè)新的共享秘密。如果這樣,則在步驟A1 5,使用下一個(gè)密碼隨機(jī)數(shù) (NextBind)和用戶設(shè)備公鑰(QsU)確定下一用戶設(shè)備盲標(biāo)識(shí)符(NextIDsu)。在步驟A16,注冊(cè) 下一個(gè)共享秘密(NextZ)和下一個(gè)用戶設(shè)備盲標(biāo)識(shí)符(NextID sU)。
[0130] 在步驟A17,對(duì)用戶設(shè)備協(xié)議控制字節(jié)(CBu)進(jìn)行檢驗(yàn),從而判定用戶設(shè)備101是否 打算計(jì)算并注冊(cè)新的共享秘密,或者用戶設(shè)備101是否不支持持久綁定。如果是任一種情 況,則在步驟A18,使用橢圓曲線數(shù)字簽名算法(ECDSA)對(duì)用戶設(shè)備證書(Cu)進(jìn)行驗(yàn)證。此 外,在步驟A19,從用戶設(shè)備證書(Cu)確定用戶設(shè)備公鑰。將用戶設(shè)備公鑰(Q sU)與隨機(jī)數(shù) (Nu)的左側(cè)四個(gè)字節(jié)組合,從而驗(yàn)證所接收的用戶設(shè)備盲公鑰與用戶設(shè)備證書一致。如果 證書和用戶設(shè)備盲公鑰都被驗(yàn)證,則用戶設(shè)備101可以被認(rèn)證。
[0131] 在步驟A21,可以使用派生出的會(huì)話密鑰中的一個(gè)或多個(gè)密鑰進(jìn)行進(jìn)一步的通信。 衣2:
[0132] 表2示出了用于實(shí)現(xiàn)將用戶設(shè)備數(shù)據(jù)安全地傳輸至訪問設(shè)備的方法的偽代碼清 單。如下面所描述的,通過與訪問設(shè)備102通信的用戶設(shè)備101來執(zhí)行表2的方法。然而,在其 他實(shí)施例中,可以由任何其他適當(dāng)實(shí)體來執(zhí)行所述方法。
[0133] 在表2的方法之前,可以從訪問設(shè)備102接收認(rèn)證請(qǐng)求消息。認(rèn)證請(qǐng)求可以包括訪 問設(shè)備標(biāo)識(shí)符(IDsA)、暫時(shí)性公鑰(Q eA)、以及指示關(guān)于訪問設(shè)備102的各種信息的訪問設(shè)備 協(xié)議控制字節(jié)(CBa)。
[0134] 在步驟U1,使用所接收到的訪問設(shè)備協(xié)議控制字節(jié)(CBa)準(zhǔn)備用戶設(shè)備協(xié)議控制 字節(jié)(CBu)。
[0135] 在步驟U2,生成密碼隨機(jī)數(shù)(Nu)。
[0136] 在步驟U3,在用戶設(shè)備101處的注冊(cè)表查找接收到的訪問設(shè)備標(biāo)識(shí)符(IDsA)。
[0137] 在步驟U4,如果訪問設(shè)備標(biāo)識(shí)符(IDsA)未注冊(cè),或如果訪問設(shè)備協(xié)議控制字節(jié) (CBa)指示訪問設(shè)備101不支持持久綁定,則執(zhí)行步驟U5-U7。在步驟U5,進(jìn)行檢查從而確保 暫時(shí)性公鑰(Q eA)屬于正確的橢圓曲線(EC)域。在步驟U6,通過結(jié)合暫時(shí)性公鑰(QeA)以及被 隨機(jī)數(shù)(Nu)遮掩的用戶設(shè)備私鑰(d sU)計(jì)算共享秘密(Z)。此外,在步驟U7,使用用戶設(shè)備公 鑰(Qsii)和隨機(jī)數(shù)的左四個(gè)字節(jié)(T4(Nu))生成用戶設(shè)備盲公鑰(BDatau)。
[0138] 在步驟U8,如果在步驟U4所檢查的條件非真,則執(zhí)行步驟U9和U10。在步驟U9,使用 訪問設(shè)備標(biāo)識(shí)符(IDsA)從注冊(cè)表檢索共享秘密(Z)和用戶設(shè)備盲公鑰(BDatau)。在步驟U10, 更新用戶設(shè)備協(xié)議控制字節(jié),以指示支持持久綁定。
[0139] 在步驟U11,通過取用戶設(shè)備盲公鑰(BDatau)的最左側(cè)8個(gè)字節(jié),確定用戶設(shè)備盲 標(biāo)識(shí)符(IDsu)。
[0140] 在步驟U12,使用密鑰派生函數(shù)(KDF)派生出若干會(huì)話密鑰(SKcfrm、SKmac、SK ENC、以 及SKrmac)、下一個(gè)共享秘密(NextZ)、以及下一個(gè)密碼隨機(jī)數(shù)(NextBlind)。密鑰派生函數(shù)的 輸入是共享秘密(Z)、期望的輸出長度(len)、以及用戶設(shè)備盲標(biāo)識(shí)符(ID sU)與訪問設(shè)備標(biāo)識(shí) 符(IDsA)的組合、以及暫時(shí)性公鑰(QeA)的左16個(gè)字節(jié)。一旦完成密鑰派生函數(shù),在步驟U13, 擦除共享秘密。
[0141] 在步驟U14,經(jīng)認(rèn)證的加密函數(shù)(AE)對(duì)預(yù)先定義的報(bào)頭("1((:_1_¥")、用戶設(shè)備證書 (Cu)、密碼隨機(jī)數(shù)(Nu)、以及用戶協(xié)議控制字節(jié)(CBu)進(jìn)行加密。加密函數(shù)的結(jié)果是加密的用 戶設(shè)備數(shù)據(jù)(EncDatau)。
[0142] 在步驟U15,如果用戶設(shè)備101和訪問設(shè)備102支持持久綁定(如其相應(yīng)的協(xié)議控制 字節(jié)所指示的),并且或者訪問設(shè)備標(biāo)識(shí)符(ID sA)未注冊(cè)或請(qǐng)求重新冊(cè)(如訪問控制協(xié)議控 制字節(jié)所指示的),則執(zhí)行步驟U16-U17。在步驟U16,對(duì)下一個(gè)共享秘密(NextZ)、和下一個(gè) 用戶設(shè)備盲公鑰(NextBDatau)進(jìn)行注冊(cè)并將其與訪問設(shè)備標(biāo)識(shí)符(ID sA)相關(guān)聯(lián)。在步驟 U17,更新用戶設(shè)備協(xié)議控制字節(jié)(CBu),從而指示用戶設(shè)備101計(jì)算了與訪問設(shè)備102相關(guān) 聯(lián)的下一個(gè)新的共享秘密。
[0143] 在步驟U18,如果在步驟U15的條件非真并且用戶設(shè)備101不支持持久綁定,則在步 驟U19更新用戶設(shè)備協(xié)議控制字節(jié)(CBu)以指示不支持持久綁定。
[0144] 在步驟U20,向訪問設(shè)備102發(fā)送認(rèn)證響應(yīng)消息,包括用戶設(shè)備盲公鑰(BDatau)和 加密的用戶設(shè)備數(shù)據(jù)(EncDatau)。 V.裝置
[0145] 圖9示出了卡形式的支付設(shè)備101"的示例。如所示,支付設(shè)備101"包括塑料基板 101(m)。在一些實(shí)施例中,用于與訪問設(shè)備102接口連接的非接觸式元件101(〇)可以存在于 塑料基板l〇l(m)上或嵌入其中??梢詫⒂脩粜畔?01(p),如賬號(hào)、失效日期、和/或用戶姓名 打印或浮雕在卡上。塑料基板101 (m)上還可以存在磁條101 (η)。在一些實(shí)施例中,支付設(shè)備 101"可以包括微處理器和/或存儲(chǔ)器芯片,其中存儲(chǔ)著用戶數(shù)據(jù)。
[0146] 如上文指出及圖9中所示的,支付設(shè)備101"可以包括磁條101(η)和非接觸式元件 101(〇)。在一些實(shí)施例中,磁條101(n)和非接觸式元件101(〇)都在支付設(shè)備101"中。在一些 實(shí)施例中,磁條l〇l(n)或者非接觸式元件101(〇)可以存在于支付設(shè)備101"中。
[0147] 圖10是可以用于實(shí)現(xiàn)上述任何實(shí)體或部件的計(jì)算機(jī)系統(tǒng)的高級(jí)框圖。圖10中所示 的子系統(tǒng)經(jīng)由系統(tǒng)總線1075互連。附加子系統(tǒng)包括打印機(jī)1003、鍵盤1006、固定磁盤1007、 以及聯(lián)接至顯示器適配器1004的監(jiān)視器1009。聯(lián)接至I/O控制器1000的外圍設(shè)備和輸入/輸 出(I/O)設(shè)備可以通過本領(lǐng)域中已知的任何數(shù)量的裝置(如串行端口)連接至計(jì)算機(jī)系統(tǒng)。 例如,串行端口 1005或外部接口 1008可以用于將計(jì)算機(jī)裝置連接至廣域網(wǎng)(如互聯(lián)網(wǎng))、鼠 標(biāo)輸入設(shè)備、或掃描儀。經(jīng)由系統(tǒng)總線1075的互連允許中央處理器1002與每個(gè)子系統(tǒng)通信 和控制來自系統(tǒng)存儲(chǔ)器1001或固定磁盤1007的指令的執(zhí)行、以及子系統(tǒng)之間信息的交換。 系統(tǒng)存儲(chǔ)器1001和/或固定磁盤可以實(shí)施計(jì)算機(jī)可讀介質(zhì)。
[0148] 如所描述的,發(fā)明服務(wù)可以涉及實(shí)現(xiàn)一個(gè)或多個(gè)功能、過程、操作或方法步驟。在 一些實(shí)施例中,這些功能、過程、操作或方法步驟可以實(shí)現(xiàn)為由適當(dāng)編程的計(jì)算設(shè)備、微處 理器、數(shù)據(jù)處理器等執(zhí)行指令集或軟件代碼的結(jié)果??梢詫⒅噶罴蜍浖a存儲(chǔ)在存儲(chǔ) 器或由計(jì)算設(shè)備、微處理器等訪問的其他形式的數(shù)據(jù)存儲(chǔ)元件中。在其他實(shí)施例中,這些功 能、過程、操作或方法步驟可以由固件或?qū)S锰幚砥?、集成電路等?shí)現(xiàn)。
[0149] 應(yīng)理解到,上述本發(fā)明可以用模塊化方式或集成方式呈使用計(jì)算機(jī)軟件的控制邏 輯的形式實(shí)現(xiàn)?;诒疚闹刑峁┑呐秲?nèi)容和教導(dǎo),本領(lǐng)域的普通技術(shù)人員將了解和認(rèn)識(shí) 到使用硬件和硬件與軟件的組合實(shí)現(xiàn)本發(fā)明的其他方式和/或方法。
[0150] 本說明書中所描述的任何軟件部件或功能可以實(shí)現(xiàn)為有待由處理器使用任何合 適的計(jì)算機(jī)語言(例如,像使用例如常規(guī)的或面向?qū)ο蟮募夹g(shù)的Java、C++或Per 1)執(zhí)行的軟 件代碼。軟件代碼可以作為一系列指令或命令存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,如隨機(jī)存取存儲(chǔ) 器(RAM)、只讀存儲(chǔ)器(ROM)、磁介質(zhì)(如硬盤驅(qū)動(dòng)器或軟盤)、或光介質(zhì)(如⑶-ROM)。任何這 種計(jì)算機(jī)可讀介質(zhì)可以駐留在單個(gè)計(jì)算裝置上或內(nèi),并且可以是存在于系統(tǒng)或網(wǎng)絡(luò)內(nèi)的不 同計(jì)算裝置上或內(nèi)。
[0151] 雖然已經(jīng)詳細(xì)描述并在附圖中示出了某些示例性實(shí)施例,但應(yīng)當(dāng)理解的是,此類 實(shí)施例僅是示意性的并且不旨在限制寬泛的發(fā)明,并且本發(fā)明不限于所示和所描述的特定 安排和構(gòu)造,因?yàn)楸绢I(lǐng)域的普通技術(shù)人員可以對(duì)這些實(shí)施例進(jìn)行各種其他修改。
[0152] 除非明確指示有相反的意思,在此所使用的"一個(gè)(a)"、"一個(gè)(an)"或"所述"旨在 指"至少一個(gè)"。
【主權(quán)項(xiàng)】
1. 一種訪問設(shè)備,包括: 處理器;以及 包括代碼的非瞬態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述代碼可由所述處理器執(zhí)行以用于實(shí)現(xiàn)包 括以下步驟的方法: 向用戶設(shè)備發(fā)送訪問設(shè)備公鑰,其中,所述訪問設(shè)備公鑰與訪問設(shè)備私鑰相關(guān)聯(lián); 從所述用戶設(shè)備接收用戶設(shè)備盲公鑰和加密的用戶設(shè)備數(shù)據(jù),其中,所述用戶設(shè)備盲 公鑰是使用用戶設(shè)備公鑰和密碼隨機(jī)數(shù)生成的;以及 使用所述訪問設(shè)備私鑰和所述用戶設(shè)備盲公鑰生成共享秘密;以及 使用所述共享秘密對(duì)所述加密的用戶設(shè)備數(shù)據(jù)進(jìn)行解密。2. 如權(quán)利要求1所述的訪問設(shè)備,其中,所述訪問設(shè)備密鑰對(duì)是暫時(shí)性密鑰對(duì),其中,在 確定了所述共享秘密之后刪除所述暫時(shí)性密鑰對(duì)。3. 如權(quán)利要求1所述的訪問設(shè)備,其中,使用所述共享秘密對(duì)所述加密的用戶設(shè)備數(shù)據(jù) 進(jìn)行解密包括使用所述共享秘密生成會(huì)話密鑰。4. 如權(quán)利要求1所述的訪問設(shè)備,其中,所述用戶設(shè)備數(shù)據(jù)包括用于生成所述用戶設(shè)備 盲公鑰的用戶設(shè)備證書和所述密碼隨機(jī)數(shù),所述用戶設(shè)備證書包括用戶設(shè)備公鑰,并且其 中,所述方法進(jìn)一步包括: 驗(yàn)證所述用戶設(shè)備證書; 使用所述用戶設(shè)備公鑰和所述密碼隨機(jī)數(shù)生成第二用戶設(shè)備盲公鑰;以及 將所述第二用戶設(shè)備盲公鑰與所接收的用戶設(shè)備盲公鑰進(jìn)行比較,其中,如果所述第 二用戶設(shè)備盲公鑰與所接收的用戶設(shè)備盲公鑰匹配,則所述用戶設(shè)備通過認(rèn)證。5. 如權(quán)利要求1所述的訪問設(shè)備,其中,所述共享秘密是第一共享秘密,并且其中,所述 方法進(jìn)一步包括: 使用所述第一共享秘密生成第二共享秘密;以及 將所述第二共享秘密與所述用戶設(shè)備相關(guān)聯(lián),其中,所述第二共享秘密用于對(duì)從所述 用戶設(shè)備接收的后續(xù)用戶設(shè)備數(shù)據(jù)進(jìn)行解密。6. 如權(quán)利要求1所述的訪問設(shè)備,所述方法進(jìn)一步包括: 使用所述用戶設(shè)備數(shù)據(jù)進(jìn)行交易。7. 一種系統(tǒng),包括: 如權(quán)利要求1所述的訪問設(shè)備;以及 所述用戶設(shè)備,其中,所述用戶設(shè)備被配置成: 接收訪問設(shè)備公鑰; 使用所述訪問設(shè)備公鑰、用戶設(shè)備私鑰、以及所述密碼隨機(jī)數(shù)生成共享秘密; 使用所述共享秘密對(duì)用戶設(shè)備數(shù)據(jù)進(jìn)行加密;以及 將所述加密的用戶設(shè)備數(shù)據(jù)和所述用戶設(shè)備盲公鑰發(fā)送至所述訪問設(shè)備。8. -種計(jì)算機(jī)實(shí)現(xiàn)的方法,包括: 由具有一個(gè)或多個(gè)處理器的訪問設(shè)備向用戶設(shè)備發(fā)送訪問設(shè)備公鑰,其中,所述訪問 設(shè)備公鑰與訪問設(shè)備私鑰相關(guān)聯(lián); 由所述訪問設(shè)備從所述用戶設(shè)備接收用戶設(shè)備盲公鑰,其中,所述用戶設(shè)備盲公鑰是 使用用戶設(shè)備公鑰和密碼隨機(jī)數(shù)生成的;以及 由所述訪問設(shè)備使用所述訪問設(shè)備私鑰和所述用戶設(shè)備盲公鑰生成共享秘密,其中, 所述共享秘密對(duì)于所述用戶設(shè)備而言是已知的。9. 如權(quán)利要求8所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中,所述訪問設(shè)備密鑰對(duì)是暫時(shí)性密鑰 對(duì),其中,在生成了共享秘密之后刪除所述暫時(shí)性密鑰對(duì)。10. 如權(quán)利要求8所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,進(jìn)一步包括: 由所述訪問設(shè)備使用所述共享秘密生成會(huì)話密鑰,其中,所述會(huì)話密鑰用于。11. 如權(quán)利要求10所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,進(jìn)一步包括: 由所述訪問設(shè)備從所述用戶設(shè)備接收加密的用戶設(shè)備數(shù)據(jù);以及 由所述訪問設(shè)備使用所述會(huì)話密鑰對(duì)所述加密的用戶設(shè)備數(shù)據(jù)進(jìn)行解密,從而確定用 戶設(shè)備數(shù)據(jù)。12. 如權(quán)利要求11所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中,所述用戶設(shè)備數(shù)據(jù)包括用于生成所 述用戶設(shè)備盲公鑰的用戶設(shè)備證書和密碼隨機(jī)數(shù),所述用戶設(shè)備證書包括用戶設(shè)備公鑰, 并且其中,所述方法進(jìn)一步包括: 由所述訪問設(shè)備驗(yàn)證所述用戶設(shè)備證書; 由所述訪問設(shè)備使用所述用戶設(shè)備公鑰和所述密碼隨機(jī)數(shù)生成第二用戶設(shè)備盲公鑰; 以及 由所述訪問設(shè)備將所述第二用戶設(shè)備盲公鑰與所接收的用戶設(shè)備盲公鑰進(jìn)行比較,其 中,如果所述第二用戶設(shè)備盲公鑰與所接收的用戶設(shè)備盲公鑰匹配,則所述用戶設(shè)備通過 認(rèn)證。13. 如權(quán)利要求11所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中,所述共享秘密是第一共享秘密,并 且其中,所述方法進(jìn)一步包括: 由所述訪問設(shè)備使用所述第一共享秘密生成第二共享秘密;以及 由所述訪問設(shè)備將所述第二共享秘密與所述用戶設(shè)備相關(guān)聯(lián),其中,所述第二共享秘 密用于對(duì)從所述用戶設(shè)備接收的后續(xù)用戶設(shè)備數(shù)據(jù)進(jìn)行解密。14. 如權(quán)利要求11所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,進(jìn)一步包括: 由所述訪問設(shè)備使用所述用戶設(shè)備數(shù)據(jù)進(jìn)行交易。15. -種計(jì)算機(jī)實(shí)現(xiàn)的方法,包括: 由用戶設(shè)備從訪問設(shè)備接收訪問設(shè)備公鑰; 由所述用戶設(shè)備使用所述訪問設(shè)備公鑰和用戶設(shè)備私鑰生成共享秘密; 由所述用戶設(shè)備使用用戶設(shè)備公鑰和密碼隨機(jī)數(shù)生成用戶設(shè)備盲公鑰; 由所述用戶設(shè)備使用所述共享秘密對(duì)用戶設(shè)備數(shù)據(jù)進(jìn)行加密;以及 由所述用戶設(shè)備將所述用戶設(shè)備盲公鑰和所述加密的用戶設(shè)備數(shù)據(jù)發(fā)送至所述訪問 設(shè)備,藉此允許所述訪問設(shè)備使用所述用戶設(shè)備盲公鑰和對(duì)應(yīng)于所述訪問設(shè)備公鑰的訪問 設(shè)備私鑰生成所述共享秘密,并且使用所述共享秘密對(duì)所述加密的用戶設(shè)備數(shù)據(jù)進(jìn)行解 I_L| 〇16. 如權(quán)利要求15所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中,所述訪問設(shè)備密鑰對(duì)是暫時(shí)性密鑰 對(duì),其中,在生成了所述共享秘密之后所述用戶設(shè)備刪除所述訪問設(shè)備公鑰。17. 如權(quán)利要求15所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中,對(duì)所述用戶設(shè)備數(shù)據(jù)進(jìn)行加密包括 由所述用戶設(shè)備使用所述共享秘密生成會(huì)話密鑰。18. 如權(quán)利要求17所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,進(jìn)一步包括: 由所述用戶設(shè)備使用所述會(huì)話密鑰對(duì)用戶設(shè)備數(shù)據(jù)進(jìn)行加密,從而生成加密的用戶設(shè) 備數(shù)據(jù);以及 由所述用戶設(shè)備將所述加密的用戶設(shè)備數(shù)據(jù)發(fā)送至所述訪問設(shè)備。19. 如權(quán)利要求18所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中,所述用戶設(shè)備數(shù)據(jù)包括用于生成所 述用戶設(shè)備盲公鑰的用戶設(shè)備證書和密碼隨機(jī)數(shù),并且其中,所述訪問設(shè)備使用所述用戶 設(shè)備證書和所述密碼隨機(jī)數(shù)對(duì)所述用戶設(shè)備進(jìn)行認(rèn)證。20. 如權(quán)利要求18所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中,所述共享秘密是第一共享秘密,并 且其中,所述方法進(jìn)一步包括: 由所述用戶設(shè)備使用所述第一共享秘密生成第二共享秘密;以及 由所述用戶設(shè)備將所述第二共享秘密與所述訪問設(shè)備相關(guān)聯(lián),其中,所述第二共享秘 密用于對(duì)由所述用戶設(shè)備發(fā)送的后續(xù)用戶設(shè)備數(shù)據(jù)進(jìn)行加密。21. 如權(quán)利要求18所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中,所述訪問設(shè)備使用所述用戶設(shè)備數(shù) 據(jù)進(jìn)行交易。
【文檔編號(hào)】H04L9/32GK105900375SQ201580004375
【公開日】2016年8月24日
【申請(qǐng)日】2015年1月13日
【發(fā)明人】E·勒圣
【申請(qǐng)人】維薩國際服務(wù)協(xié)會(huì)