用于向不帶有安全元件的移動設備安全傳送遠程通知服務消息的方法及系統的制作方法
【專利摘要】一種用于接收和處理數據消息的方法,包括:至少存儲加密密鑰;接收數據消息,其中數據消息至少包括經加密的消息和消息認證碼,至少利用經加密的消息的一部分來生成消息認證碼;至少利用包括在接收的數據消息中的經加密的消息的一部分來生成參考認證碼;基于比對生成的參考認證碼來檢查包括在接收的數據消息中的消息認證碼,來對接收的數據消息進行驗證;以及,利用存儲的加密密鑰對包括在接收的數據消息中的經加密的消息進行解密,以得到經解密的消息。
【專利說明】用于向不帶有安全元件的移動設備安全傳送遠程通知服務消 息的方法及系統
[0001] 相關申請的交叉引用
[0002] 根據美國法典第35卷119(e),本申請要求享有:于2014年4月14日提交的在先美國 臨時專利申請No. 61/979,113;于2013年12月2日提交的美國臨時專利申請No. 61/910,819; 于2014年3月12日提交的美國臨時專利申請No. 61/951,842;于2014年3月19日提交的美國 臨時專利申請No. 61/955,716;于2014年4月14日提交的美國臨時專利申請No. 61/979,132; 以及于2014年4月17日提交的美國臨時專利申請No.61/980,784;以及,特別是于2014年4月 14日提交的美國臨時專利申請No. 61/979,122和于2014年5月14日提交的美國臨時專利申 請No. 61/996,665的權益,其中每件申請的全部內容均通過引用并入本文。
技術領域
[0003] 本公開涉及向無需安全元件的移動設備傳送遠程通知服務消息,更具體地涉及在 不使用安全元件的情況下利用加密代碼和認證代碼來安全地傳送、接收并處理遠程通知服 務消息。
【背景技術】
[0004] 移動和通信技術的進步已經創造了巨大的機會,其中的一個機會是為移動計算設 備的用戶提供使用他們的移動設備來發起并支付支付交易的能力。能夠在移動設備上進行 此種操作的一種這樣的方法是使用近場通信(NFC)技術來安全地將支付明細從移動設備發 送給附近的非接觸式銷售點(P0S)終端。為了實現此目的,使用帶有安全元件硬件(例如安 全元件(SE)芯片)的移動電話來安全地存儲支付憑證。安全元件是那些可包括在一些具備 NFC功能的設備中的、作為可安全管理應用程序及其機密數據的防入侵性平臺的專用件。
[0005] 然而,并不是所有的移動設備都具有安全元件。此外,即使移動設備裝備有這樣的 元件,一些金融機構也可能無法訪問移動設備上的安全元件。因此,許多配有具有用于進行 非接觸式或其它類型的遠程支付交易時所需的硬件的移動設備的消費者實際上可能無法 利用這種能力。因為此類問題,所以就需要一種在不使用安全元件的情況下能使移動計算 設備發起并進行支付交易的技術方案。
[0006] 在由Mehdi Collinge等人于2013年3月14日提交的題為"通過向不帶有安全元件 的移動設備提供憑證來處理移動支付的系統及方法"的美國專利申請No. 13/827,042中可 以找到一些使用缺少安全元件的移動設備、或對裝配在移動設備中的安全元件不加使用地 進行支付交易的方法及系統,該申請的全部內容通過引用并入本文。雖然這樣的方法及系 統可適于在不使用安全元件的情況下經由移動設備來進行支付交易,但是許多消費者、商 家和金融機構可能會提防參與這種交易,這是因為他們對安全性的要求更高。
[0007] 因此,需要一種能夠為在缺少安全元件的移動設備中進行的支付憑證的接收和存 儲提供更高安全性,并能夠為金融交易進行期間將支付憑證從移動設備發送給銷售點的傳 輸提供更高安全性的技術方案。提高這些過程的安全性可使得所有參與實體的心境更平 靜,這可導致利用移動設備來進行非接觸式或遠程支付交易的增加,從而可向消費者提供 比傳統支付方法更多的好處。
【發明內容】
[0008] 本公開提供了用于處理遠程通知服務消息的系統及方法的描述。
[0009] -種用于接收和處理數據消息的方法,包括:在存儲器中至少存儲加密密鑰;由接 收設備接收數據消息,其中數據消息至少包括經加密的消息和消息認證碼,其中至少利用 經加密的消息的一部分來生成消息認證碼;由處理設備至少利用包括在接收的數據消息中 的經加密的消息的一部分來生成參考認證碼;由處理設備基于比對生成的參考認證碼來檢 查包括在接收的數據消息中的消息認證碼,來對接收的數據消息進行驗證;由處理設備利 用存儲的加密密鑰對包括在數據消息中的經加密的消息進行解密,以得到經解密的消息。 [0010] 一種用于接收和處理數據消息的系統,包括存儲器、接收設備和處理設備。存儲器 被配置為至少存儲加密密鑰。接收設備被配置為接收數據消息,其中數據消息至少包括經 加密的消息和消息認證碼,其中消息認證碼至少利用經加密的消息的一部分來生成。處理 設備被配置為:至少利用包括在接收的數據消息中的經加密的消息的一部分來生成參考認 證碼;基于比對生成的參考認證碼來檢查包括在接收的數據消息中的消息認證碼,來對接 收的數據消息進行驗證;以及,利用存儲的加密密鑰對包括在接收的數據消息中的經加密 的消息進行解密,以得到經解密的消息。
【附圖說明】
[0011] 通過結合附圖閱讀下文示例性實施例的詳細描述,可更好地理解本公開的范圍。 其中所包括的附圖是:
[0012] 圖1是示出了根據示例性實施例的用于處理支付交易且在提供并存儲支付憑證方 面具有高安全性的高級系統架構的框圖。
[0013] 圖2是示出了根據示例性實施例的用于在不使用安全元件的情況下處理支付交易 并安全地接收和存儲支付憑證的圖1的移動設備的框圖。
[0014] 圖3是示出了根據示例性實施例的圖2的移動設備中用于存儲支付憑證的卡片數 據庫的框圖。
[0015] 圖4是示出了的根據示例性實施例的圖2的移動設備中用于存儲用于生成高級存 儲密鑰并生成應用密文的數據的存儲器的框圖。
[0016] 圖5是示出了根據示例性實施例的用于處理與不帶有安全元件的移動設備之間的 支付交易的圖1的交易管理服務器的框圖。
[0017] 圖6是示出了根據示例性實施例的圖5的處理服務器中用于存儲支付憑證和賬戶 明細的賬戶數據庫的框圖。
[0018] 圖7是示出了根據示例性實施例的用于在涉及缺少安全元件的移動設備的支付交 易處理中對雙重應用密文進行傳輸和驗證的方法的流程圖。
[0019] 圖8是示出了根據示例性實施例的用于在涉及缺少安全元件的移動設備的支付交 易處理中對雙重應用密文進行傳輸和驗證的備選方法的流程圖。
[0020] 圖9是示出了根據示例性實施例的用于新建、傳輸和驗證向缺少安全元件的移動 設備提供的遠程通知服務或其它數據消息的方法的流程圖。
[0021] 圖10A和圖10B是示出了根據示例性實施例的用于新建、傳輸和驗證由缺少安全元 件的移動設備返回的消息的方法的流程圖。
[0022] 圖11是示出了根據示例性實施例的用于利用圖2的移動設備來驗證遠程通知服務 消息的方法的流程圖。
[0023] 圖12是示出了根據示例性實施例的用于利用圖2的移動設備來生成高級存儲密鑰 的框圖。
[0024] 圖13和圖14是示出了根據示例性實施例的用于生成支付交易中的支付憑證的示 例性方法的流程圖。
[0025] 圖15是示出了根據示例性實施例的用于接收并處理遠程通知服務消息的示例性 方法的流程圖。
[0026] 圖16是示出了根據示例性實施例的用于構建高級存儲密鑰的示例性方法的流程 圖。
[0027] 圖17是示出了根據示例性實施例的計算機系統架構的框圖。
[0028]從下文提供的【具體實施方式】中,將顯而易見本公開的其他應用領域。但是,應當理 解,示例性實施例的詳細描述僅用于說明性目的,因此,并非旨在必須限制本公開的范圍。
【具體實施方式】
[0029] 術語表
[0030] 支付網絡一一一種用于通過使用現金替代物來進行轉帳的系統或網絡。支付網絡 可利用多種不同的協議和程序來處理針對多種交易類型的轉帳。通過支付網絡進行的交易 可包括購買產品或服務、賒購、借記交易、資金劃撥、賬戶取款等。支付網絡可被配置為通過 可包括支付卡、信用證、支票、金融帳戶等的現金替代物來進行交易。被配置為作為支付網 絡的網絡或系統的示例包括由MasicrCardS'.、VISA?、Discover?、American Express?、PayPal?等運營的網絡或系統。本文所使用的術語"支付網絡,,可以既指代作為 實體的支付網絡,又指代物理支付網絡,例如包括支付網絡的設備、硬件和軟件。
[0031] 交易帳戶--一種可用于為交易出資的金融帳戶,例如支票帳戶、儲蓄賬戶、信用 帳戶、虛擬支付帳戶等。交易帳戶可與消費者相關聯,消費者可以是與支付賬戶相關聯的、 可包括個人、家庭、公司、企業、非政府機構等的任何合適類型的實體。在一些情況下,交易 帳戶可以是虛擬的,例如那些由PayPal?等運營的帳戶。
[0032] 支付卡一一一種關聯有交易帳戶的、可被提供給商家以經由所關聯的交易帳戶為 金融交易出資的卡或數據。支付卡可包括信用卡、借記卡、記帳卡、儲值卡、預付卡、燃油特 惠卡、虛擬支付號、虛擬卡號、受控的支付號等。支付卡可以是可向商家提供的物理卡,或者 可以是代表關聯的交易帳戶的數據(例如存儲在諸如智能電話或計算機的通信設備中)。例 如,在一些情況下,可將包括有支付賬號的數據當做支付卡,來處理由關聯的交易帳戶出資 的交易。在一些情況下,如果適用,可將支票認為是支付卡。
[0033] 支付交易--一種在兩個實體之間進行的交易,其中從一個實體向另一個實體交 換金錢或其它金融收益。支付交易可以是為了購買商品或服務、為了償還債務或者為了交 換相關領域技術人員將顯而易見的任何其它金融收益而進行的轉賬。在一些情況下,支付 交易可以指經由支付卡和/或支付賬戶出資進行的交易(例如信用卡交易)。可經由發行方、 支付網絡和收單方來處理這樣的支付交易。用于處理這樣的支付交易的方法可包括認證、 批處理、清算、結算和出資中的至少一項。認證可包括由消費者向商家出具支付明細、商家 向他們的收單方提交交易明細(例如,包括支付明細)以及與用于為交易出資的消費者支付 賬戶的發行方核對支付明細。批量處理可以指將經認證的交易與其它經認證的交易一起存 儲在一個批次中,以分發給收單方。清算可包括從收單方向用于處理的支付網絡發送批量 化的交易。結算可包括由支付網絡針對發行方受益人所參與的交易而對發行方進行扣款。 在一些情況下,發行方可經由支付網絡向收單方付款。在其它情況下,發行方可直接向收單 方付款。出資可包括針對已清算及已結算的支付交易,由收單方向商家付款。相關領域技術 人員將顯而易見的是,上面討論的步驟的順序和/或分類作為處理支付交易的一部分。
[0034]銷售點一一一種被配置為接收與用戶(例如,消費者、雇員等)進行的交互進而輸 入針對所購買和/或支付的商品和/或服務的交易數據、支付數據和/或其它合適類型的數 據的計算設備或計算系統。銷售點可以是位于消費者到訪(這作為交易的一部分)的物理地 點(例如位于實體店內)處的物理設備(例如,收銀機、自助服務機、臺式電腦、智能手機、平 板電腦等),或者是電子商務環境中的虛擬設備(例如,利用諸如互聯網的網絡接收來自消 費者的通信數據的在線零售商)。在銷售點可以是虛擬的情況下,如果適用的話,可將由用 戶為了發起交易而操控的計算設備或者接收作為交易結果的數據的計算系統認為是銷售 點。
[0035] 使用不帶有安全元件的移動設備來處理支付交易的系統
[0036]圖1示出了用于在移動設備無需使用安全元件的情況下利用移動設備來處理支付 交易的系統100,其可包括向移動設備安全地提供支付憑證,安全地存儲該支付憑證,以及 用于生成用于驗證和處理支付交易的多個應用密文。
[0037]系統100可包括交易管理服務器102。交易管理服務器102(這將在下文進行更詳細 的討論)可以是一個或多個經專門編程以執行本文所討論的如下功能的計算設備:即,使用 安全發送的遠程通知消息來向移動設備104提供支付憑證,以及對由移動設備104所產生的 支付憑證進行驗證(這作為支付交易的一部分)。雖然本文所示出并討論的是交易管理服務 器102執行多種功能,但是相關領域的技術人員將顯而易見的是,交易管理服務器102可包 括被配置為執行本文討論的功能的多個計算設備、服務器和/或計算網絡。移動設備1〇4(這 將在下文進行更詳細的討論)可以是適于執行本文討論的功能的任意類型的移動計算設 備,其可包括蜂窩手機、智能手機、智能手表、其他可穿戴式和嵌入式計算設備、平板電腦、 筆記本電腦等。在一些實施例中,移動設備104可缺少安全元件。在其它實施例中,移動設備 104可包括安全元件,但是這樣的元件可不與本文所討論的方法及系統一起使用,或著也可 與本文所討論的方法及系統一起使用以提供附加的安全性。
[0038]移動設備104可使用多個通信信道(例如利用雙信道通信)與交易管理服務器102 進行通信。雙信道通信可包括在發送和接收例如用于驗證和認證的數據時使用兩個通信信 道,以保證數據傳輸的更高安全性。移動設備104可包括移動支付應用程序(MPA),其被配置 為由移動設備104運行用于實現本文所討論的移動設備104的功能。可將MPA(這將在下文進 行更詳細的討論)安裝在移動設備104上,并且可利用相關領域技術人員顯而易見的方法及 系統并使用由交易管理服務器102提供的激活碼來激活MPA,以使移動設備104和交易管理 服務器102可在使用共享數據的一個或多個通信信道之間安全地發送和接收通信消息。
[0039] 系統100還可包括發行方106。發行方106可以是向與交易賬戶相關聯的消費方108 發行支付卡或支付憑證的金融機構(例如發行銀行)。發行方106可向交易管理服務器102提 供與交易賬戶和/或支付卡相關聯的支付明細。支付明細可包括例如交易賬號、賬戶持有人 姓名、有效期、安全碼等。交易管理服務器102可將數據存儲在帳戶數據庫中(這將在下文進 行更詳細的討論)。交易管理服務器102還可向移動設備104提供支付憑證。如本文所使用 地,術語"支付憑證"可以指在利用本文所討論的方法及系統的支付交易中移動設備104和/ 或交易管理服務器102在傳輸和驗證用于該支付交易中的支付信息時使用的任何數據,其 包括但不限于支付明細、支付憑證、一次性密鑰、會話密鑰、應用密文、卡片主密鑰等。
[0040] 在一些實施例中,可經由遠程通知服務消息來向移動設備104提供支付憑證。如下 面更詳細討論地,遠程通知服務(RNS)消息可以是首先發送給移動設備104、然后由移動設 備104進行驗證的安全消息,以使包含在遠程通知服務消息中的數據可免受其它設備和用 戶的危害。移動設備104的MPA可驗證所接收的RNS消息的真實性,并且可對其進行解密,以 獲得其中包含的數據。然后,移動設備104可基于該數據來執行任何必要的功能(例如,通過 執行包括在數據中的指令),并且,如果適用的話,移動設備104的MPA可生成待反向發送回 交易管理服務器102的返回消息。在一些情況下,交易管理服務器102可對返回消息進行驗 證。
[0041 ] 在一些情況下,在移動設備104中對RNS消息進行驗證,或者在交易管理服務器102 處對返回消息進行驗證,可至少利用消息計數和認證碼。使用計數和認證碼可確保只有標 的性移動設備104才能對RNS消息中包括的數據進行驗證和解密。此外,如果MPA中包括用于 生成認證碼的規則和/或算法,則只有還包括該應用程序的專用實例的移動設備104才能對 RNS消息進行驗證,這進一步提高了安全性。在RNS消息包括有支付憑證的情況下,這可確 保:只有在適當的移動設備104上并且僅當用于訪問支付憑證的MPA是適當且經認證的應用 程序時,才可獲得這些支付憑證。
[0042]可將提供給移動設備104的支付憑證安全地存儲在移動設備104中的存儲器(例如 卡片數據庫,這將在下面進行更詳細的討論)中。在一些實施例中,移動設備104可被配置為 生成用于將數據(例如支付憑證)安全地存儲在移動設備104中的數據庫或存儲器中的高級 存儲密鑰。生成高級存儲密鑰(這將在下面進行更詳細的討論)可利用唯一性設備信息、唯 一性MPA信息和隨機生成的信息,以便確定出可用于將數據安全地存儲在移動設備104中的 安全存儲密鑰。因此,可在不使用安全元件的情況下,將支付憑證或其它敏感數據存儲在移 動設備104中,這可使得移動設備104在不使用安全元件的情況下也能夠發起并進行支付交 易,從而在保持高水平的安全性的同時,增加了針對發行方106和消費者108的可用性。 [0043] 一旦移動設備104已經接收、驗證針對交易賬戶的支付憑證并將其安全地存儲在 其中,消費者108可將移動設備104帶到商家的銷售點110來進行支付交易。消費者108可選 擇要購買的商品或服務,可向商家發起購買商品或服務的支付交易,并可使用移動設備104 來傳遞支付憑證以用于為支付交易出資。向銷售點11 〇傳遞支付憑證可包括傳輸兩個或更 多個應用密文。使用兩個或更多個應用密文可導致采用本文所討論的方法及系統來進行的 交易的安全性比從傳統非接觸式的遠程交易(包括利用具有安全元件的移動設備104進行 的交易)中獲得的安全性的水平要高。
[0044] 移動設備104可采用單獨的會話密鑰和附加數據(這將在下面進行詳細的討論)來 分別生成應用密文。利用存儲在移動設備104中的數據(例如存儲在存儲器中、經由高級存 儲密鑰保護且與MPA相關聯的數據)生成的應用密文可確保應用密文能對移動設備104和 MPA的專用實例進行認證。在一些情況下,應用密文中的一個密文和/或用于生成密文的會 話密鑰可使用由消費者108提供的信息,例如個人標識號(PIN)。使用PIN或其它消費者認證 信息可使得密文能對消費者108和移動設備104同時進行認證。在此種情況下,由移動設備 104生成的密文可包括能對移動設備104進行認證的一個密文,以及能對移動設備104和消 費者108同時進行認證的第二個密文。
[0045] 作為進行支付交易的一部分,密文可例如經由近場通信而被銷售點110接收。應用 密文可伴隨有附加支付信息,該附加支付信息例如是在任何合適類型的支付交易(例如非 接觸式交易、遠程交易、安全遠程支付交易、磁條交易和M/芯片EMV交易)中所要求的,并可 采用根據相關領域技術人員顯而易見的任何合適方法來傳送給銷售點110。可將密文發送 給收單方112,該收單方可以是金融機構(例如與商家相關聯的收單銀行)。收單方112例如 可向商家發放用于從消費者108處接收針對支付交易的支付資金的交易賬戶。收單方112可 使用相關領域技術人員顯而易見的方法及系統來向支付網絡114提交密文和附加支付明 細。例如,交易明細和應用密文可被包括在向支付路徑中的支付網絡114提交的認證請求 中。
[0046] 在一些實施例中,兩個應用密文可被包括在單個交易消息中。例如,移動設備104 和/或銷售點110可將兩個應用密文均包括在傳統交易信息的遺留數據字段中,以使用現存 的支付系統和硬件來傳輸這兩個應用密文。在一些情況下,交易管理服務器102可被配置為 使用路徑2數據來對應用密文進行驗證(例如在磁條交易中)。在這種情況下,如果交易消息 包括路徑1數據,則交易管理服務器102可被配置為將路徑1數據轉換為路徑2數據,這還可 包括將經修改的路徑1數據或路徑2數據分別轉換為未經修改的(例如,原始的、重構的等) 路徑1數據或未經修改的路徑2數據。通過執行這些功能,并且通過將應用密文包括在遺留 數據字段中,交易管理服務器102可被配置為在無需使用移動設備104上的安全元件的情況 下,并在不修改遺留的支付系統的情況下,使用移動設備104以更高水平的安全性來對遠程 和非接觸式支付交易進行處理和驗證。
[0047]支付網絡114可采用相關領域技術人員顯而易見的方法及系統來處理支付交易。 作為處理的一部分,支付網絡114可將應用密文傳送給發行方106,以進行驗證。在一些實施 例中,可由支付網絡114來執行驗證。發行方106或支付網絡114可與交易管理服務器102進 行通信。在一些實施例中,可將應用密文傳送給交易管理服務器102,并且利用交易管理服 務器102生成有效的應用密文(利用本地存儲的支付憑證生成的)來對應用密文進行驗證。 在其他實施例中,發行方106或支付網絡114可從交易管理服務器102請求應用密文,交易管 理服務器102可生成應用密文并將其返回給發行方106或支付網絡114,以對照由移動設備 104產生的密文進行驗證。
[0048]由于交易管理服務器102具有支付憑證和被移動設備104用以生成應用密文的其 它數據,因此可通過將由移動設備104生成的應用密文與由交易管理服務器102生成的應用 密文進行比較,來執行對由移動設備104產生的支付憑證的驗證,以出資進行支付交易。在 一些實施例中,交易管理服務器102可以是支付網絡114或發行方106的一部分。在交易管理 服務器102是支付網絡114的一部分的情況下,可在聯系發行方106(這作為傳統支付交易方 法的一部分,例如,同意發行方106使用消費者108的交易賬戶為交易出資)之前執行驗證。
[0049] 通過使用多個應用密文,可增加支付交易的安全性。此外,在每個密文可對單獨的 數據進行認證的情況下(例如,一個密文對移動設備104進行認證,而另一個密文例如經由 消費者的PIN可對移動設備104和消費者108同時進行認證的情況下),還可向發行方106提 供用于決定同意或拒絕交易的附加數據和考慮。例如,如果兩個密文都是不正確的(例如, 由移動設備104生成的密文與由交易管理服務器102生成的那些密文不匹配),則交易可能 會被拒絕。如果一個密文正確而另一個密文不正確,則出于安全性的原因交易可能會被拒 絕,或者被同意(例如基于發行方106的決定)。例如,當消費者認證失敗而移動設備認證通 過時,發行方106可同意交易,這是因為其它可得到的數據可表明是示經認證的用戶(而不 是消費者108)正在使用移動設備104進行交易。
[0050] 因此,使用兩個密文可提供由支付網絡114和發行方106在處理支付交易時使用的 有價值的數據。此外,使用兩個或多個密文可提供比傳統的非接觸式或遠程支付方法更高 的安全性,這可導致更少的欺詐行為并更能被消費者108、發行方106和商家所接納。使用的 兩個或多個應用密文是由已采用本文所討論的RNS消息傳遞方法及系統來安全地提供的支 付憑證生成的,并且使用的兩個或多個應用密文是經由采用本文所討論的方法及系統生成 的高級存儲密鑰來進行安全存儲的,在上述情況下,與針對非接觸式支付與交易方法的傳 統系統相比,系統100的整體安全性可得到迅速提高。因此,相比于傳統的非接觸式支付系 統提供的安全性以及其它類型的遠程支付交易和基本采用本文所討論的方法及系統的支 付交易所提供的安全性,系統100可在數據傳輸、存儲和處理的若干方面提供更高的安全 性。
[0051 ] 移動設備
[0052]圖2示出了系統100的移動設備104的實施例。對于相關領域技術人員而言,明顯知 道圖2中所示的移動設備104的實施例僅是示意性的,而沒有窮舉適于執行本文所討論的功 能的移動設備104的所有可能的配置。例如,圖17中所示的計算機系統1700(將在下文中進 行更詳細的討論)可以是移動設備104的合適配置。
[0053]移動設備104可包括接收單元202。接收單元202可被配置為通過一個或多個網絡、 經由一個或多個網絡協議來接收數據。接收單元202可接收例如針對將被安裝到移動設備 104上并由移動設備104運行的一個或多個應用程序(例如將在下面進行更詳細的討論的移 動支付應用(MPA))的程序數據。接收單元202還可接收遠程通知服務(RNS)消息,例如由交 易管理服務器102傳送的包括具有支付憑證的RNS消息的那些消息。接收單元202還可接收 適于執行移動設備104的傳統功能(例如電話通信、蜂窩通信等)的附加數據。在一些情況 下,移動設備104可包括多個接收單元202,例如各自被配置為經由合適的協議與一個多個 單個網絡進行通信的獨立接收單元202。例如,移動設備104可包括用于接收針對NFC交易的 數據的第一接收單元202,以及用于通過移動通信網絡接收通信數據的第二接收單元202。
[0054] 移動設備104還可包括輸入單元214。輸入單元214可被配置為與在內部或外部連 接至移動設備104、用于接收來自消費者108的輸入的一個或多個輸入設備進行通信,輸入 設備例如鍵盤、鼠標、點擊輪、滾輪、觸摸屏、麥克風、攝像頭、接收器等。輸入單元214可接收 來自消費者108的輸入,該輸入可由處理單元204處理。
[0055] 處理單元204可被配置為執行本文所討論的移動設備104的功能。處理單元204可 執行存儲在移動設備中的程序代碼(例如針對MPA的程序代碼),并可被配置為執行與每個 應用程序相關聯的多個功能以及移動設備104的其它功能。處理單元204可經由輸入單元 214來接收來自消費者108的輸入,并執行相應的功能,例如如相關領域技術人員顯而易見 地那樣,通過運行應用程序,來執行程序中的功能、接收數據、發送數據、顯示數據等。例如, 處理單元204可被配置為驗證RNS消息、生成高級存儲密鑰并生成應用密文,這將在下面進 行更詳細的討論。
[0056] 移動設備104還可包括顯示單元210。顯示單元210可被配置為與在內部或外部連 接至移動設備104的、用于顯示數據(例如由處理單元204傳送給顯示單元210的用于顯示的 數據)的一個或多個顯示設備進行通信。顯示設備可包括液晶顯示器、發光二極管顯示器、 薄膜晶體管顯示器、觸摸屏顯示器等。
[0057] 移動設備104還可包括傳送單元206。傳送單元206可被配置為通過一個或多個網 絡、經由一個或多個網絡協議來傳輸數據。傳送單元206可向交易管理服務器102傳輸RNS響 應消息。傳送單元206還可被配置為例如向銷售點110傳輸在支付交易中使用的應用密文 和/或支付憑證。傳送單元206還可被配置為執行移動設備104的那些被相關領域技術人員 顯而易見的附加功能,例如移動通信設備中用于傳輸蜂窩通信數據的傳統功能等。在某些 情況下,移動設備104可包括多個被區分式地配置為與一個或多個單個網絡進行通信的傳 送單元206,例如一個傳送單元206被配置為經由NFC發送支付憑證和支付密文,而另一個傳 送單元206被配置為通過移動通信網絡發送數據。
[0058]移動設備104還可包括卡片數據庫208。卡片數據庫208(這將在下面進行更詳細的 討論)可以是在移動設備104上、被配置為存儲與一個或多個交易賬戶和/或支付卡相關聯 的數據的數據存儲器。卡片數據庫208可存儲與交易帳戶相關聯的支付憑證(例如由交易管 理服務器102向移動設備104提供的、在安全RNS消息中的支付憑證)以及可在生成應用密文 中使用的附加數據(這將在下面進行更詳細的討論)。在一些情況下,可將卡片數據庫208作 為移動支付應用程序的一部分來進行存儲。
[0059] 移動設備104還可包括存儲器212。存儲器212(這將在下面進行更詳細的討論)可 被配置為存儲針對移動設備104的、適于執行本文所討論的移動設備104的功能的數據。例 如,存儲器212(例如將在下面進行更詳細的討論的卡片數據庫208)可存儲那些適于生成用 于對移動設備104中的附加數據進行加密的高級存儲密鑰的數據。存儲器212還可被配置為 存儲針對由處理單元204(例如操作系統)執行的應用程序的程序代碼、用于經由輸入單元 204來接收數據以及經由顯示單元210來顯示數據的程序代碼、用于執行本文所討論的功能 的規則和/或算法等。存儲器212還可存儲適于執行移動設備104的傳統功能的數據,例如用 于經由移動網絡來發送和接收蜂窩通信數據的規則和/或算法。相關領域技術人員將顯而 易見那些存儲在存儲器212中的附加數據。
[0060] 移動設備卡片數據庫
[0061] 圖3示出了移動設備104的卡片數據庫208的實施例,卡片數據庫208用于存儲支付 憑證以及關聯于交易賬戶的其它數據,以用于通過移動設備108來為支付交易出資。
[0062]卡片數據庫208可包括一個或多個支付文件302,支付文件302如圖3中的支付文件 302a、302b和302c所示。每個支付文件302可與能為支付交易出資的交易賬戶相關聯,并可 至少包括支付憑證304、一個或多個一次性密鑰306、第一會話密鑰308、第二會話密鑰310和 應用交易計數312。
[0063]支付憑證304可包括與相關的交易賬戶相關聯的數據,支付網絡114和/或發行方 106在處理使用該相關的交易賬戶的支付交易時利用該數據進行識別和驗證。支付憑證304 可包括例如交易帳號、安全碼、有效期限、持卡人姓名、經授權的用戶名、跟蹤數據、卡片布 局說明數據、數字計數、位圖等。
[0064] 一次性密鑰306可以是對于單次支付交易有效的支付令牌,移動設備104的處理單 元204使用該支付令牌來生成用于支付交易的一個或多個應用密文。在一些實施例中,一次 性密鑰306可包括一個或多個包括在支付文件302中的其它數據元素。例如,每個一次性密 鑰306可包括區分應用交易計數312,該區分應用交易計數不可單獨地包括在支付文件302 中。相關領域技術人員將顯而易見在執行本文所公開的功能中使用的存儲在支付文件302 中的數據的不同配置。在一些情況下,一次性密鑰306可包括或者由用于生成該一個或多個 應用密文的密鑰組成。在一些實施例中,第一會話密鑰308和第二會話密鑰310可被包括在 向移動設備104提供的一次性密鑰306中,和/或通過包括在一次性密鑰306中的數據來生 成。
[0065]第一會話密鑰308和第二會話密鑰310可以是在生成發送給銷售點110的應用密文 (作為通過移動設備104而進行的支付交易的一部分)時由處理單元204使用的附加密鑰。在 一些實施例中,處理單元204例如使用存儲在移動設備104的存儲器212中的程序代碼、規則 或算法,可利用第一會話密鑰308來生成第一應用密文。在生成第二應用密文中可使用第二 會話密鑰310。
[0066] 在一些實施例中,可由處理單元204生成第二會話密鑰310。在此實施例中,可使用 一次性密鑰306和用戶認證數據(例如,由消費者108例如經由輸入單元214提供的PIN)來生 成第二會話密鑰310。在此實施例中,第二會話密鑰310可以不被存儲在支付文件302中,而 是作為支付交易過程的一部分地被生成、使用和丟棄。當由利用一次性密鑰306和消費者 PIN生成的第二會話密鑰310來生成第二應用密文時,第二應用密文因此可用于對移動設備 104和消費者108同時進行認證。
[0067]個人身份號(PIN)可以是由消費者108(例如,當在移動設備104上注冊MPA期間,或 者在向發行方106和/或交易管理服務器102注冊交易賬戶期間)提供的、可用于認證消費者 108的編號。在進行支付交易時,消費者108或移動設備104的其它用戶可經由輸入單元214 提供PIN。在一些實施例中,如果所提供的PIN不正確(例如,與消費者108在注冊期間提供的 PIN不匹配),則處理單元204可繼續生成第二會話密鑰310并隨后生成第二應用密文。如果 所提供的PIN不正確,則第二應用密文也因此是不正確的,這將導致交易管理服務器102、發 行方106和/或支付網絡114對第二應用密文的驗證失敗,這可使得發行方106有機會相應地 拒絕交易或者仍同意進行交易。
[0068] 移動設備存儲器
[0069] 圖4示出了移動設備104的存儲器212的實施例,該存儲器用于存儲在將數據安全 地存儲在移動設備104上時使用的、用于實施利用該移動設備104進行的支付交易時所使用 的應用程序及其它數據。在示例性實施例中,存儲器212可以不是安全元件。
[0070] 存儲器212可包括設備信息402。設備信息402可包括與移動設備104相關聯的一條 或多條數據,在一些情況下該一條或多條數據相對于移動設備104是唯一的。例如,設備信 息402可包括媒體訪問控制地址、參考號、序列號、標識號等。相關領域技術人員將顯而易見 那些能讓設備信息402代表移動設備104的附加信息。
[0071] 存儲器212還可包括移動支付應用程序(MPAMOLMPA 404可以是被配置為執行本 文所討論的移動設備104的功能(例如接收并存儲支付憑證、驗證RNS消息、以及生成用于進 行支付交易的應用密文)的應用程序。如相關領域技術人員將顯而易見地,MPA 404的附加 特征可包括數字錢包的傳統功能或其他類似應用程序。
[0072] MPA 404可包括程序代碼406。程序代碼406可以是由移動設備104的處理單元204 執行的、使移動設備104的處理單元204和其它部件執行本文所討論的MPA 404的功能的代 碼。例如,程序代碼406可包括適于生成應用密文、驗證RNS消息等的代碼。程序代碼406還可 包括適于生成可用于生成高級存儲密鑰的隨機值的程序代碼。隨機值可以是利用相關領域 技術人員顯而易見的方法及系統來生成的隨機數或偽隨機數。
[0073] MPA 404還可包括實例標識符408。實例標識符408對于特定MPA 404來說可以是唯 一性的值,該實例標識符可在生成用于保護移動設備1〇4(例如卡片數據庫208)中的數據的 高級存儲密鑰時使用。通過使實例標識符408唯一地對應MPA 404,可在沒有任何一個MPA 404能訪問由任何其它MPA 404安全存儲的數據的情況下,將多個MPA 404安裝在移動設備 104上,從而可確保其它程序不能訪問針對特定交易賬戶的那個支付文件302。實例標識符 408可以是數字、字母數字值、十六進制值、或者對于MPA 404是唯一的任何合適的值。
[0074]如將在下面更詳細討論地,移動設備104的處理單元204可被配置為利用設備信息 402、使用MPA 404的程序代碼生成的隨機值、以及存儲在MPA 404中的實例標識符408來生 成多元值。同樣存儲在存儲器212中的加密應用程序410可使用該多元值。加密應用程序410 可以是被配置為能執行白盒加密和/或相關領域技術人員顯而易見的任何其它合適的加密 功能的應用程序。
[0075] 加密應用程序410可包括程序代碼412。程序代碼412可由移動設備104的處理單元 204來執行,以使移動設備104的處理單元204和其它組件能執行本文所討論的加密應用程 序410的加密功能。功能可包括生成高級存儲密鑰。可利用由移動支付應用程序404生成的 多元值和包括在加密應用程序410中的加密密鑰414來生成高級存儲密鑰。在一些實施例 中,可利用加密密鑰414來對多元值進行解密,以得到高級存儲密鑰。
[0076] 加密應用程序410還可被配置為利用高級存儲密鑰來對移動設備104中的存儲進 行加密。在一些實施例中,可利用一種或多種白盒加密技術來執行加密。經加密的存儲可以 是卡片數據庫208和/或移動設備104中的任何其它合適的存儲,例如存儲在MPA 404中的數 據。在一些實施例中,加密應用程序410可被包括為MPA 404的一部分。高級存儲密鑰可存儲 在加密應用程序410或MPA 404中,或者,在某些情況下,當需要時可由MPA 404和加密應用 程序410重新生成。
[0077] 存儲器212還可包括存儲在移動設備104中的、適于執行本文所討論的功能以及移 動設備的任何其他功能的任何附加數據。例如,存儲器212可包括用于操控系統的程序代 碼、代碼、規則、或用于接收和發送移動通信信息(例如電話呼叫等)的算法。
[0078]在一些實施例中,移動設備104還可被配置為接收已利用高級存儲密鑰加密的數 據,該數據可存儲在移動設備104的經加密的本地存儲器中(例如在存儲器212、卡片數據庫 208或其它合適的存儲器中)。在這樣的實施例中,移動設備104可被配置為將生成的隨機值 傳送給交易管理服務器102或其它可信的實體,交易管理服務器102或其它可信的實體可利 用相同的方法及系統、使用生成的隨機值來生成高級存儲密鑰,并可對要向移動設備104提 供的數據進行加密。移動設備104可因此接收已利用高級存儲密鑰進行加密的數據,以進行 移動設備104中的本地存儲。
[0079] 交易管理服務器
[0080]圖5示出了系統100的交易管理服務器102的實施例。對于相關領域技術人員而言, 明顯知道圖5中所示的交易管理服務器102的實施例僅是示意性的,而沒有窮舉適于執行本 文所公開的功能的交易管理服務器102的所有可能的配置。例如,圖17中所示的計算機系統 1700(將在下文中進行更詳細的討論)可以是交易管理服務器102的合適配置。
[0081 ]交易管理服務器102可包括接收單元502。接收單元502可被配置為通過一個或多 個網絡、經由一個或多個網絡協議來接收數據。接收單元502可接收來自移動設備104(例如 接收消息或返回消息、確認消息、交易通知等)、支付網絡114、發行方106或其它合適實體的 數據。接收單元502可接收交易通知或加密請求,以發起對用于驗證支付交易中的支付憑證 的應用密文的生成。
[0082] 交易管理服務器102還可包括處理單元504。處理單元504可被配置為執行相關領 域技術人員將顯而易見的、本文所討論的交易管理服務器102的功能。如下面更詳細討論 地,處理單元504可因此被配置為:生成并加密RNS消息以及包括在RNS消息中的數據、對來 自移動設備104的返回消息進行驗證、生成支付憑證、生成應用密文、驗證應用密文等。 [0083] 交易管理服務器102還可包括傳送單元506。傳送單元506可被配置為通過一個或 多個網絡、經由一個或多個網絡協議來傳輸數據。傳送單元506可傳送RNS消息、支付憑證、 應用密文、驗證通知和相關領域技術人員顯而易見的其它數據。傳送單元506可被配置為向 移動設備1〇4(例如經由移動通信網絡或互聯網)、支付網絡114、發行方106或任何其它合適 的實體發送數據。
[0084]交易管理服務器102還可包括帳戶數據庫508。帳戶數據庫508中(這將在下面進行 更詳細的討論)可被配置為存儲針對多個交易賬戶的賬戶信息。賬戶信息可包括用于生成 應用密文(其用于驗證在使用移動設備104進行的支付交易過程中接收到的支付憑證)的數 據和密鑰。賬戶數據庫508還可被配置為存儲針對涉及移動設備104的支付交易的交易數據 以及其它數據(例如與相關交易賬戶的消費者108或其它認證用戶相關聯的數據)。
[0085]交易管理服務器102還可包括存儲器510。存儲器510可被配置為存儲交易管理服 務器102在執行本文所公開的功能時使用的附加數據。例如,存儲器510可存儲用于驗證應 用密文的規則或算法、用于生成驗證通知的規則或算法、用于生成會話密鑰和應用密文的 算法、用于對數據和RNS消息進行加密和解密的加密密鑰等。相關領域技術人員將顯而易見 那些可存儲在存儲器510中的附加數據。
[0086] 交易管理服務器賬戶數據庫
[0087]圖6示出了交易管理服務器102的賬戶數據庫508的實施例,賬戶數據庫508用于存 儲與交易賬戶相關的用于驗證支付憑證的數據,并用于存儲在進行包括有移動設備104的 支付交易時所提供的其它交易數據。
[0088] 帳戶數據庫508可包括多個賬戶文件602,如圖6中所示的賬戶文件602a、602b和 602c。每個帳戶文件602可包括一個或多個一次性密鑰604、第一會話密鑰606、第二會話密 鑰608、應用交易計數610和第一^^片主密鑰612。在一些實施例中,帳戶文件602可進一步包 括第二卡片主密鑰612。
[0089]每個帳戶文件602可與向移動設備104提供的支付文件302相對應。同樣地,存儲在 賬戶文件602中的一次性密鑰604可對應于存儲在與相同的交易賬戶相關的對應支付文件 302中的一次性密鑰306。數據可以是類似的,以使當交易管理服務器102或移動設備104生 成應用密文時,應用密文應該是匹配的(如果數據是準確的且未被篡改的話),從而能夠對 由移動設備104發布的支付憑證進行驗證。
[0090] 在一些實施例中,帳戶文件602可包括對應于存儲在相應的支付文件302中的PIN 314的個人身份號(PIN)。在這樣的實施例中,可通過安全消息(例如由移動設備104提供的 接收消息,這將在下面進行更詳細的討論)將PIN 314提供給交易管理服務器102的接收單 元202。在其他實施例中,可使用卡片主密鑰(例如第一卡片主密鑰612)來替代PIN。在此實 施例中,交易管理服務器102的處理單元504可被配置為基于第二卡片主密鑰614來生成第 二會話密鑰608,第二卡片主密鑰614與由移動設備104利用一次性密鑰306和PIN 314生成 的第二會話密鑰310相對應。在一些情況下,第二會話密鑰608還可基于相應的一次性密鑰 604。在此實施例中,用于生成會話密鑰和/或應用密文的算法可確保:由移動設備104和交 易管理服務器102基于其中所使用的數據而生成的密文相互對應。
[0091] 交易管理服務器102的處理單元504可利用第一會話密鑰606來生成第一應用密 文,并利用第二會話密鑰608來生成第二應用密文。在一些實施例中,可利用應用交易計數 610來生成一個或多個會話密鑰和/或應用密文。應用交易計數610可以是與將要進行的支 付交易相對應的值,可在每個交易期間增加或反向修改該值。應用交易計數610可以與存儲 在移動設備104中的相應支付文件302中的應用交易計數312相對應,由此,使用應用交易計 數610可確保:僅有有效的MPA 404才能具有正確的應用交易計數312,以生成有效的會話密 鑰和/或應用密文。可使用能進一步增加生成會話密鑰和/或應用密文的安全性的其他技 術,例如被相關領域技術人員顯而易見的不可預測數字或其它技術。
[0092] 利用移動設備來處理支付交易
[0093]圖7示出了利用不帶有安全元件的移動設備104并通過生成和驗證兩個或多個應 用密文來處理支付交易的方法的過程。
[0094] 在步驟702中,交易管理服務器102(例如經由傳送單元506)向移動設備104提供支 付憑證304和其它帳戶數據(例如經由在以下進行更詳細討論的RNS消息)。在步驟704中,移 動設備104的接收單元202接收支付憑證304和其它帳戶數據。在步驟706中,移動設備104的 處理單元204將數據存儲在卡片數據庫208中的支付文件302中。帳戶數據可包括支付憑證 304、一個或多個一次性密鑰308、以及任何其它合適的數據(例如一個或多個會話密鑰308 和 310)。
[0095] 在步驟708中,處理單元204生成用于進行支付交易的兩個應用密文。在一些實施 例中,可由消費者108來發起步驟708,例如通過經由輸入單元214來進行指示、通過將移動 設備104放置在銷售點110附近來發起經由近場通信的交易、或者通過其它合適的方法。應 用密文的生成可包括利用存儲在支付文件302中的第一會話密鑰308來生成第一應用密文。 可利用使用一次性密鑰306和PIN 314生成的第二會話密鑰310來生成第二應用密文。在一 些情況下,消費者108可在步驟708之前或在發起步驟708期間將PIN輸入到移動設備104中 (例如經由輸入單元214)。在一些實施例中,還可利用應用交易計數312來生成一個或兩個 應用密文。
[0096] 一旦生成應用密文,則將該應用密文與支付憑證304-起經由銷售點110、收單方 112和支付網絡114發送給發行方106。在步驟710中,由發行方106接收支付憑證304和應用 密文。在步驟712中,移動設備104的傳送單元206向交易管理服務器102傳送交易通知。在步 驟714中,交易管理服務器102的接收單元502接收交易通知。交易通知可向交易管理服務器 102通知:移動設備104已利用支付文件302發起了支付交易。在一些情況下,交易通知可包 括身份信息。
[0097]在步驟716中,交易管理服務器102的處理單元504識別出對應于支付文件302的帳 戶文件602,并可利用其中包含的數據來生成兩個應用密文。可利用使用第一卡片主密鑰 612生成的第一會話密鑰606來生成第一應用密文。可利用第二會話密鑰608來生成第二應 用密文。在一些實施例中,一個或兩個應用密文和/或會話密鑰還可基于一次性密鑰604、應 用交易計數610或任何其它合適的數據。
[0098] 在步驟718中,交易管理服務器102的傳送單元506向發行方106發送所生成的應用 密文,發行方106在步驟718中接收該密文。在步驟720中,發行方106對由移動設備104提供 的應用密文以及支付憑證304進行驗證。驗證應用密文可包括將移動設備104提供的應用密 文和由交易管理服務器102生成并提供的應用密文進行比較。一旦執行驗證,則在步驟722 中,發行方106對該交易進行相應地處理。處理交易可包括同意支付交易(例如在一個或兩 個密文有效的情況下),或者拒絕支付交易(例如在一個或兩個密文都被確定無效的情況 下)。
[0099]在步驟724中,作為處理支付交易的一部分,發行方106或其它實體(例如支付網絡 114、收單方112等)可傳送交易通知。在步驟726中,交易通知被傳送給交易管理服務器102 并被接收單元502接收。在步驟728中,交易通知還被移動設備104的接收單元202接收。交易 通知可以是同意或拒絕支付交易的指令。由于接收到交易通知,移動設備104的處理單元 204和交易管理服務器102的處理單元504可分別執行一個或多個功能。例如,如果交易被批 準并成功進行的話,則各個文件中的應用交易計數310,610則會得到相應的更新。
[0100] 圖8示出了用于處理使用移動設備104的支付交易的備選方法。
[0101] 在步驟802中,交易管理服務器102的傳送單元506向移動設備104傳送支付憑證 304和其它帳戶數據。在步驟804中,移動設備104的接收單元202接收支付憑證304和其它賬 戶數據,在步驟806中它們被存儲在支付文件302中。在步驟808中,移動設備104的處理單元 204可生成上面討論的兩個應用密文,并(例如經由銷售點110)向發行方106傳送該密文、支 付憑證304和其它合適的數據。
[0102] 在步驟810中,發行方106接收應用密文和其它合適的數據,發行方106利用該應用 密文和其它合適的數據來驗證交易數據和/或同意還是拒絕交易。在步驟812中,發行方106 向交易管理服務器102提交驗證密文的請求。在一些實施例中,請求可包括支付憑證304或 適于由交易管理服務器102在鑒別將用于生成有效密文的賬戶文件602時使用的其它數據。 在一個實施例中,請求還可包括由移動設備104為了驗證而生成的兩個應用密文。
[0103] 在步驟814中,交易管理服務器102的接收單元502接收密文請求。在步驟816中,交 易管理服務器102的處理單元504生成如上所討論的將用于驗證的兩個應用密文。在密文請 求還包括由移動設備104生成的兩個應用密文的實施例中,步驟816還可包括由處理單元 504利用兩個新生成的應用密文來對兩個密文進行驗證。在適用的實施例中,通過傳送單元 506將驗證密文或驗證結果傳送給發行方106。在步驟818中,發行方106接收驗證密文和/或 驗證結果。
[0104] 在步驟820中,發行方106利用由交易管理服務器102生成的應用密文對由移動設 備104提供的應用密文進行驗證。在交易管理服務器102向發行方106提供驗證結果的實施 例中,步驟820可包括對兩個應用密文中的每個應用密文的驗證結果進行識別。在步驟822 中,發行方106基于驗證結果來相應地處理支付交易。在步驟824中,交易通知被傳送給交易 管理服務器102和移動設備104,并分別在步驟826和步驟828中被各自的接收單元502和202 接收。
[0105] 遠程通知服務和數據消息
[0106] 圖9示出了用于對遠程通知服務(RNS)消息和從交易管理服務器102向移動設備 104發送的其它數據消息進行傳輸和驗證的方法。可經由遠程通知服務來傳送RNS消息,例 如利用與移動設備102相關聯的移動通信網絡的遠程通知服務。可利用RNS消息來向移動設 備104提供支付憑證304和其它賬戶數據(例如,在如上面討論的處理支付交易中使用的賬 戶數據,以及在建立移動設備104與交易管理服務器102之間的安全連接中使用的其它信 息)。
[0107] 在步驟902中,交易管理服務器102的處理單元504生成消息。在與移動設備104建 立相互認證的情況下,該消息可包括適于建立相互認證的信息,例如會話標識符。在其他情 況下,例如當利用如圖9所示及本文所討論的方法來建立交易管理服務器102與移動設備 104之間的相互認證時,所生成的消息,可包括支付憑證304和帳戶數據,可包括將由移動設 備104的MPA 404執行的一個或多個命令(例如移除一次性密鑰306或支付憑證304等),可以 是將呈現給消費者108的通知(例如賬戶余額、支付通知等),或者包括其它合適的數據。
[0108] 在步驟904中,處理單元504對所生成的消息進行加密。可利用私人/公用密鑰對中 的私人密鑰來對消息進行加密,其中移動設備104可擁有相應的公用密鑰。在一些情況下, 可利用與移動設備104或MPA 404相關聯的加密密鑰(例如,加密密鑰414)對消息進行加密。 在步驟906中,處理單元504生成消息認證碼。可利用經加密的消息來生成消息認證碼,消息 認證碼可以是使用一個或多個專門配置的規則和/或算法而生成的密鑰。例如,可利用一種 或多種加密和模糊處理方法(例如填充)來生成消息認證碼。在一些實施例中,可使用加密 密鑰來生成消息認證碼。
[0109] 在步驟908中,交易管理服務器102的傳送單元506向移動設備104傳送組合數據消 息。在正在執行相互認證的實施例中,組合數據消息可以是經由遠程通知服務向移動設備 104傳送的遠程通知服務消息。在步驟910中,由移動設備104的接收單元202對組合數據消 息進行接收,該組合數據消息可包括消息認證碼和經加密的消息。在一些情況下,組合數據 消息還可包括附加標識符,例如使用驗證用的MPA 404已知的方法來生成的附加標識符。在 某些情況下,例如當已執行相互認證時,組合數據消息還可包括消息計數。
[0110]在步驟912中,處理單元204產生參考認證碼。可使用所接收的經加密的消息來生 成參考認證碼,并且可使用與交易管理服務器102生成消息認證碼時相同的規則和算法來 生成參考認證碼,以便在消息認證碼由可信來源(例如交易管理服務器102)生成時所生成 的參考認證碼會與消息認證碼相對應。在可利用加密密鑰來生成消息認證碼的實施例中, 處理單元204可利用存儲在存儲器212中的加密密鑰414或其它合適的加密密鑰來生成參考 認證碼。
[0111] 在步驟914中,處理單元204可通過將消息認證碼與所生成的參考認證碼進行比 較,來對包括在所接收的組合數據消息中的消息認證碼進行驗證。如果消息計數和消息認 證碼都是有效的,那么可確定組合數據消息可信(例如真實)地來自交易管理服務器102。在 組合數據消息可包括消息標識符的情況下,處理單元204還可通過使用MPA404已知的生成 和比較方法來生成消息標識符的方式,來對消息標識符進行驗證。在組合數據消息可包括 消息計數的實施例中,處理單元204可用存儲在移動設備104中(例如存儲在MPA 404中或存 儲在支付文件502中)的參考計數來對包括在所接收到的組合數據消息中的消息計數進行 驗證。
[0112] 在步驟916中,處理單元204對包括在接收到的組合數據消息中的經加密的消息進 行解密。可利用密鑰或者其它合適的解密方法對經加密的消息進行解密,密鑰例如為存儲 在存儲器212中(例如存儲在加密應用程序410或MPA 404中)或存儲在本地經加密的數據庫 (例如使用高級存儲密鑰進行加密的)中的密鑰。在步驟918中,處理單元204基于從經加密 的消息中解密出來的數據來執行一個或多個合適的動作。在圖9中所示的示例中,移動設備 104可與交易管理服務器102例如通過使用包括在經加密的消息中的、被處理單元204解密 的會話標識符,來執行相互認證。在步驟920中,交易管理服務器102接收會話標識符并執行 與移動設備104進行相互認證所必需的任何附加動作。在已執行相互認證的情況下,消息可 包括適于執行本文所公開的功能的其它信息,例如支付憑證404、一次性密鑰406、針對MPA 404的程序指令等。
[0113] 在一些實施例中,移動設備104可(例如經由MPA404)被配置為生成返回消息并將 其提交至交易管理服務器102。在一些情況下,如上面所討論地,返回消息可包括響應于執 行經解密的消息中所指示的動作而生成的數據。例如,返回消息可指示對支付憑證304或一 次性密鑰306的有效接收和存儲。在其它情況下,返回消息可以是接收及驗證組合數據信息 的通知。在首次進行相互認證的情況下,返回消息可包括用于執行相互認證的會話標識符。
[0114] 圖10A和10B示出了由移動設備101生成并傳送返回消息并由交易管理服務器102 對返回消息進行驗證的過程。
[0115]在步驟1002中,移動設備104的處理單元204生成接收消息。接收消息可基于存儲 在MPA 404中的程序代碼406來生成,并且接收消息還可基于從交易管理服務器102接收到 經解密的組合數據消息中指示執行的那些動作。例如,接收消息可包括針對成功接收并存 儲支付憑證304的通知。在步驟1004中,處理單元204使接收計數遞增。接收計數可以為表示 傳送給交易管理服務器102的接收消息的數量的計數。可將接收計數存儲在存儲器212中, 例如存儲在MPA 404中或者利用高級存儲密鑰存儲在經加密的數據庫中。相關領域技術人 員將顯而易見的是,步驟1004可以作為可選的步驟,并僅可用于使用計數對數據消息進行 驗證的情況下。
[0116] 在步驟1006中,處理單元204對接收消息進行加密。可利用存儲在加密應用程序 410中的加密密鑰414,或者存儲在MPA 404中或本地加密數據庫中的加密密鑰414,對接收 消息進行加密。用于對接收消息進行加密的加密密鑰可以是作為密鑰對的一部分的私人密 鑰,并且交易管理服務器102擁有相應的公用密鑰。在步驟1008中,處理單元204基于經加密 的接收消息來生成接收認證碼。在一些實施例中,可使用與上述所討論的如圖9的步驟902 中所示的用于生成參考認證碼所使用的相同規則、算法和/或方法來生成接收認證碼。
[0117] 在步驟1010中,移動設備104的傳送單元206向交易管理服務器102發送接收通知 消息。接收通知消息可由交易管理服務器102的接收單元502接收,并可至少包括接收認證 碼、經加密的接收消息和接收計數。在一些實施例中,可利用移動通信網絡(例如與移動設 備104相關聯的蜂窩網絡)來將接收通知消息發送給交易管理服務器102。
[0118] 在步驟1014中,交易管理服務器102的處理單元504使確認計數遞增。確認計數可 表示從移動設備104接收的消息的數量,用于對從移動設備104接收的消息進行驗證。可將 確認計數存儲在交易管理服務器102的存儲器510中或其它合適的數據庫中。例如,在一些 實施例中,可將確認計數存儲在與移動設備104相關聯的賬戶文件602中。在一個示例中,每 個帳戶文件602可包括確認計數(例如和/或消息計數),該確認計數將被用于向/從與相應 的交易賬戶相關的交易管理服務器102和移動設備104發送的消息中。相關領域技術人員將 顯而易見的是,步驟1014可以作為可選的步驟,并不能在不使用計數對返回消息進行驗證 的情況下執行。
[0119] 在步驟1016中,處理單元504生成確認認證碼。可基于包括在接收通知消息中的經 加密的接收消息來生成確認認證碼,并可使用與生成消息認證碼所采用的相同的規則、算 法和/或方法來生成確認認證碼。在步驟1018中,處理單元504通過對接收計數與確認計數 進行比較來對包括在接收通知消息中的接收計數進行驗證。在步驟1020中,處理單元504通 過對接收認證碼與消息認證碼進行比較來對接收認證碼進行驗證,以確保消息源于經認證 的移動設備104。
[0120] 一旦對計數(例如如果適用)和認證碼進行了驗證,則在步驟1022中,處理單元504 對包括在接收的接收通知消息中的經加密的消息進行解密。可利用存儲的加密密鑰或其它 合適的解密方法來對經加密的消息進行解密。可對經加密的消息進行解密,以得到由移動 設備104生成的接收消息。在步驟1024中,處理單元504基于包括在接收消息中的數據來執 行所需的任何合適的動作。例如,如果接收消息包括成功接收并存儲一次性密鑰306的指 示,那么處理單元204可激活相應的賬戶文件602中的相應一次性密鑰604。
[0121] 驗證數據消息
[0122] 圖11示出用于對移動設備104從交易管理服務器102接收的數據消息進行驗證的 過程1100。
[0123] 在步驟1102中,移動設備104的處理單元204將加密密鑰、認證生成密鑰以及對它 們進行使用及應用的規則和/或方法存儲在本地存儲器中,例如存儲器212或者利用高級存 儲密鑰進行加密的本地經加密存儲器。在步驟1104中,移動設備104的接收單元202從交易 管理服務器102接收數據消息。在一些實施例中,可在建立兩個設備的相互認證(例如采用 如圖9所示的并如上面所討論的方法)以后,從交易管理服務器102接收數據消息。
[0124] 在步驟1106中,處理單元204使參考計數遞增。參考計數可存儲在存儲器212或其 它本地存儲器中,并且可用于表示從交易管理服務器102接收的消息的數量。在一些情況 下,可利用算法使參考計數遞增,以使得參考計數不是利用連續數而是經由移動設備104 (例如,經由MPA 404)和交易管理服務器102已知的算法來遞增的。
[0125] 在步驟1108中,處理單元204對包括在所接收的數據消息中的消息計數進行驗證。 對消息計數進行驗證可包括將消息計數與遞增后的參考計數的值進行比較。驗證失敗可表 示數據消息的來源不是交易管理服務器102,或者是不可信的。如果驗證失敗,則在步驟 1110中,處理單元204執行與已失敗的數據消息接收和/或驗證相關聯的一個或多個合適的 動作。例如,處理單元204可丟棄該數據消息、可通知交易管理服務器102、可以鎖定相關聯 的支付文件302,或者是對于相關領域技術人員顯而易見的其它動作。
[0126] 如果消息計數通過驗證,則過程1100可前進至步驟1112,在那里對經加密的消息 進行填充。對經加密的消息進行填充可包括使經加密的消息及其相關聯的數據與數值相 加。可利用填充來提高消息驗證過程的安全性,因為填充可以是必須由彼此相互知曉的移 動設備104和交易管理服務器102來執行的另一功能,它需要由未經認證的實體來復制,以 在無需認證的情況下成功地發送或接收數據消息。對于相關領域技術人員來說顯而易見的 是,步驟1112可以作為可選的步驟。在一些實施例中,可在過程1110的一些情況下應用步驟 1112。例如,可在參考計數的某些增量處對經加密的消息進行填充。
[0127] 在步驟1114中,處理單元204生成參考認證碼。可基于經加密的消息(如果適用的 話,經填充的)、使用一個或多個規則或算法(例如存儲在步驟1102中)來生成參考認證碼。 在一些實施例中,參考認證碼可以是密鑰或者可以是通過將密鑰應用到經加密的數據上而 生成的值。在步驟1116中,處理單元204對在RNS消息中接收的消息認證碼進行驗證。對消息 認證碼進行驗證可包括將該碼與所生成的參考認證碼進行比較,以作為當接收的數據消息 源于經認證的來源(例如交易管理服務器102)時的另一種識別方法。
[0128] 如果消息認證碼驗證失敗,則過程1100可前進至步驟1110,在那里執行失敗處理。 如果消息認證碼驗證通過,那么在步驟1118中,處理單元204對包括在所接收的數據消息中 的經加密的消息進行解密。可使用例如在步驟1102中存儲在移動設備104中的一個或多個 加密密鑰/解密密鑰、規則和/或算法對消息進行解密。例如,可利用存儲在存儲器212的加 密應用程序410中的加密密鑰414來對經加密的消息進行解密。在步驟1120中,處理單元204 基于經解密的消息的內容來適當地執行一個或多個動作。例如,如果經解密的消息包括一 次性密鑰306,則可將一次性密鑰306存儲在卡片數據庫208的合適支付文件302中,由此可 利用高級存儲密鑰對卡片數據庫208進行加密。
[0129] 高級存儲密鑰
[0130] 圖12示出了移動設備104生成并利用高級存儲密鑰來將數據(例如在不使用安全 元件的情況下安全存儲到移動設備中并可在移動設備中被安全訪問的支付文件302和其它 數據)安全地存儲到移動設備104中。
[0131] 存儲在移動設備104的存儲器212中的設備信息可包括三條或更多條設備信息 1202,如圖12中所示的設備信息1202a、1202b和1202c。每條設備信息1202可與移動設備104 相關聯。在一些情況下,每條設備信息1202對于移動設備104來說是唯一的。在其它情況下, 一條或多條設備信息1202對于移動設備104來說不是唯一的(例如型號),但一起使用的三 條設備信息1202對于移動設備104來說也可以是唯一的(例如唯一性組合)。設備信息1202 可以是在移動設備104的壽命期間不發生改變的數據。
[0132] 移動設備104的處理單元204可基于三條設備信息1202a、1202b和1202c來生成移 動設備指紋1204。移動設備指紋1204可以是對于移動設備104來說唯一的值,并且可利用存 儲在存儲器212中(例如包括在MPA 404的程序代碼中)的一個或多個規則或算法來生成移 動設備指紋1204。移動設備指紋1204可以是例如數字值、十六進制值、字符串等。
[0133] 處理單元204還可被配置為使用移動設備指紋1204來生成多元值1208。可通過對 移動設備指紋1204與MPA 404的實例標識符408以及隨機值1206進行組合來生成多元值。隨 機值1206可以是由處理單元204生成的隨機值或偽隨機值。在一些情況下,可根據存儲在存 儲器212中的一個或多個規則或算法來生成隨機值1206。還可利用例如存儲在MPA 404的程 序代碼406中的一個或多個規則或算法來執行對移動設備指紋1204、實例標識符408和隨機 值1206的組合。使用實例標識符408來生成多元值可導致對與MPA 404的實例相關聯的數據 進行安全存儲的能力,以使多次安裝MPA 404也無法訪問由MPA 404的其它實例存儲的數 據。
[0134] 處理單元204可隨后通過對多元值1208應用被存儲在加密應用程序410中的加密 密鑰414來生成高級存儲密鑰1210。在一些情況下,可通過利用加密密鑰414對多元值1208 進行解密來生成高級存儲密鑰1210。在其它情況下,高級存儲密鑰1210可以是利用加密密 鑰414對多元值1208進行加密所得到的值。在一些實施例中,可利用加密密鑰414和多元值 1208執行白盒加密來生成高級存儲密鑰1210。
[0135] 一旦生成高級存儲密鑰1210,則處理單元204可使用高級存儲密鑰1210來對本地 數據庫1210進行加密。本地數據庫1210可以包括,例如,卡片數據庫208、一個或多個支付文 件302、部分存儲器212或者其它合適的數據源。在一些情況下,本地數據庫1210可以是移動 設備104中的另一個數據庫的一部分,例如卡片數據庫208的一部分。例如,卡片數據庫208 可包括多個本地數據庫1212,例如針對MPA 404的每個實例的、用于存儲與實例相關聯的支 付文件302的獨立本地數據庫1212。所得到的經加密的本地數據庫1214由此可以安全地存 儲數據,除了包括實例標識符408的MPA 404的特定實例外,該數據不能被位于移動設備104 內部或外部的任何其它應用程序訪問。因此,經加密的本地數據庫可理想地存儲支付憑證 304、一次性密鑰306和其它賬戶數據,并可在不使用安全元件的情況下提供對敏感賬戶信 息的安全存儲。
[0136] 在一些實施例中,存儲密鑰還可被使交易管理服務器102用于向移動設備提供經 加密的數據,以將數據存儲在經加密的本地數據庫1214中。例如,移動設備104的傳送單元 206可將所產生的隨機值1206傳送給交易管理服務器102。在一些情況下,實例標識符408也 可被發送給交易管理服務器102,或者可由交易管理服務器102事先擁有(例如在注冊MPA 404期間)。交易管理服務器102然后可自身生成高級存儲密鑰1210,利用高級存儲密鑰1210 對將要提供給移動設備104的數據(例如支付憑證304、一次性密鑰等)進行加密,然后向移 動設備104發送經加密的數據。移動設備104然后可將已加密的數據存儲在經加密的本地數 據庫1214中。
[0137] 用于生成支付交易中的支付憑證的第一示例性方法
[0138]圖13示出用于生成支付交易中的支付憑證的方法1300,其包括在不帶有安全元件 的移動設備104中利用兩個應用密文來安全地使用支付憑證。
[0139]在步驟1302中,至少將一次性密鑰(例如,一次性密鑰306)存儲在與交易賬戶相關 聯的存儲器(例如支付文件302)中。在一些實施例中,存儲器302可以是移動通信設備(例 如,移動設備104)中的非安全元件型存儲器。在步驟1304,個人身份碼(PIN)被接收設備(例 如,接收單元202和/或輸入單元214)接收。
[0140] 在步驟1306中,由處理設備(例如處理單元204)來確定第一會話密鑰(例如第一會 話密鑰308)。在步驟1308,由處理設備204至少基于所存儲的一次性密鑰306和所接收的PIN 碼來生成第二會話密鑰(例如第二會話密鑰310)。
[0141] 在步驟1310中,由處理設備204至少基于第一會話密鑰308來生成第一應用密文。 在步驟1312中,由處理設備204至少基于第二會話密鑰310來生成第二應用密文。
[0142] 在步驟1314中,由傳送設備(例如,傳送單元206)至少發送第一應用密文和第二應 用密文,以供支付交易中使用。在一些實施例中,可將第一應用密文和第二應用密文發送給 銷售點設備(例如,銷售點11 〇)。在一個實施例中,方法1300可進一步包括:將與交易帳戶相 關聯的卡片主密鑰存儲在存儲器302中,其中確定第一會話密鑰308包括由處理設備204至 少基于存儲的卡片主密鑰來生成第一會話密鑰308。
[0143] 在一些實施例中,方法1300還可包括:將應用交易計數(例如,應用交易計數312) 存儲在存儲器302中,其中,確定第一會話密鑰308包括由處理設備204至少基于所存儲的應 用交易計數312來生成第一會話密鑰308。在一個實施例中,在生成第二會話密鑰310之前, 由處理設備204對所接收的PIN進行驗證。在又一實施例中,處理設備204可被配置為在所接 收的PIN驗證失敗時生成無效的第二會話密鑰310。
[0144] 用于生成支付交易中的支付憑證的第二示例性方法
[0145] 圖14示出了用于生成支付交易中的支付憑證的方法1400,其包括在移動設備不使 用安全元件的情況下利用兩個應用密文對由移動設備104生成的支付憑證進行驗證。
[0146] 在步驟1402中,至少將卡片主密鑰(例如,第一卡片主密鑰612)存儲在與交易賬戶 相關聯的存儲器(例如,帳戶文件602)中。在步驟1404中,由處理設備(例如處理設備504)至 少基于存儲的卡片主密鑰612來生成第一會話密鑰(例如第一會話密鑰606)。在步驟1406 中,由處理設備504生成第二會話密鑰(例如第二會話密鑰608)。
[0147] 在步驟1408中,由處理設備504至少基于第一會話密鑰606來生成第一應用密文。 在步驟1410中,由處理設備504至少基于第二會話密鑰608來生成第二應用密文。在步驟 1412中,由傳送設備(例如傳送單元506)至少發送第一應用密文和第二應用密文,以供在支 付交易中使用。
[0148] 在一個實施例中,方法1400可進一步包括:將與交易賬戶相關聯的交易賬戶序列 號存儲在存儲器602中,其中,第一會話密鑰還基于所存儲的交易帳戶序列號。在一些實施 例中,方法1400還可包括:將與交易賬戶相關聯的第二卡片主密鑰(例如第二卡片主密鑰 614)存儲在存儲器602中,其中,第二會話密鑰608至少基于所存儲的第二卡片主密鑰614。
[0149] 在一個實施例中,方法1400可進一步包括:由接收設備(例如接收單元502)接收第 一對應應用密文和第二對應應用密文;由所述處理設備,(i)基于生成的第一應用密文來對 接收的第一對應應用密文進行驗證,以及(ii)基于生成的第二應用密文來對接收的第二對 應應用密文進行驗證;以及由傳送設備506傳送驗證結果,以供支付交易中使用。在另一實 施例中,可從銷售點設備(例如銷售點110)接收第一對應應用密文和第二對應應用密文。在 再一實施例中,將驗證結果發送給與交易帳戶相關聯的金融機構(例如發行方106)。
[0150] 用于處理數據消息的示例性方法
[0151] 圖15示出了用于處理數據消息(例如,經由遠程通知服務接收的遠程通知消息)的 方法1500,其包括在移動設備不使用安全元件的情況下由移動設備104對數據消息進行接 收和驗證。
[0152] 在步驟1502中,至少將加密密鑰存儲在存儲器(例如,存儲器212)中。在一些實施 例中,存儲器212可以是移動通信設備(例如移動設備104)中的非安全元件型存儲器。在步 驟1504中,由接收設備(例如接收單元202)接收數據消息,其中數據消息可至少包括經加密 的消息和消息認證碼,其中利用經加密的消息的至少一部分來生成消息認證碼。在一些實 施例中,數據消息可以是經由遠程通知服務來接收的遠程通知服務消息。
[0153] 在步驟1506中,由處理設備(例如處理單元204)至少利用包括在接收的數據消息 中的經加密的消息的一部分來生成參考認證碼。在一個實施例中,存儲器212還可包括一個 或多個認證碼生成規則,并且可基于將存儲的一個或多個認證碼生成規則應用于包括在接 收的數據消息中的經加密消息的一部分上來生成參考認證碼。在步驟1508中,由處理設備 204基于比對著生成的參考認證碼來檢查包括在所接收的數據消息中的消息認證碼,來對 所接收的數據消息進行驗證。在一些實施例中,存儲器還可包括參考計數,所接收的數據消 息還可包括消息計數,可由處理設備204基于比對著所存儲的參考計數來檢查包括在所接 收的數據消息中的消息計數,來進一步驗證所接收的數據消息。
[0154] 在步驟1510中,由處理設備204利用存儲的加密密鑰來對包括在數據消息中的經 加密的消息進行解密,以得到經解密的消息。在一個實施例中,經解密的消息可包括以下各 項中的至少一個:在支付交易中使用的數字化卡片文件(例如,支付憑證304)和一次性密鑰 (例如一次性密鑰306)。在一些實施例中,方法1500還可包括:由處理設備204基于一個或多 個數據格式規則對經解密的消息的數據格式進行檢查。
[0155] 在一個實施例中,方法1500可進一步包括:響應于所接收的數據消息,由傳送設備 (例如,傳送單元206)發送接收通知。在另一實施例中,方法1500可進一步包括:由處理設備 204基于經解密的消息來執行一個或多個動作;由處理設備204由于或者基于所執行一個或 多個動作來生成返回消息;由處理設備204利用存儲的加密密鑰對所生成的返回消息進行 加密,以獲得經加密的返回消息;以及由處理設備204至少利用經加密的返回消息的一部分 來生成返回認證碼,其中所發送的接收通知包括經加密的返回消息和返回認證碼。在又一 實施例中,存儲器212可進一步包括返回計數,并且所發送的接收通知可進一步包括返回計 數。
[0156] 在一些實施例中,方法1500還可包括:由處理設備204利用填充密鑰對包括在接收 的數據消息中的經加密的消息進行填充,其中經加密消息中用于生成參考認證碼的那部分 為經填充的加密消息。在另一實施例中,填充密鑰可以是加密密鑰。在又一實施例中,存儲 器212還可包括認證碼填充算法,并且利用填充密鑰對經加密消息進行填充可包括:基于將 填充密鑰應用于認證碼填充算法來對經加密的消息進行填充。
[0157] 用于構建高級存儲密鑰的示例性方法
[0158] 圖16示出了用于構建高級存儲密鑰的方法600,高級存儲密鑰用于在移動設備不 使用安全元件的情況下對移動設備104中的本地數據進行安全加密和存儲。
[0159] 在步驟1602中,至少將與移動通信設備(例如移動設備104)相關聯的設備信息(例 如,設備信息402)、與第一應用程序(例如移動支付應用程序404)相關聯的程序代碼(例如 程序代碼406)、以及與第二應用程序(例如加密應用程序410)相關聯的程序代碼(例如程序 代碼412)存儲在移動通信設備104的存儲器(例如存儲器212)中,其中與第一應用程序404 相關聯的程序代碼406至少包括實例標識符(例如實例標識符408),并且與第二應用程序 410相關聯的程序代碼412至少包括第一密鑰(例如加密密鑰414)。
[0160] 在一些實施例中,設備信息402可包括一個或多個與移動通信設備104相關聯的唯 一性標識符。在一個實施例中,實例標識符408對于第一應用程序404的實例來說可以是唯 一的。在一些實施例中,第二應用程序410可被配置為利用第一密鑰來執行白盒密碼技術。 在一個實施例中,第一密鑰可以是動態密鑰。在一些實施例中,與第二應用程序410相關聯 的程序代碼412可被包括在與第一應用程序404相關聯的程序代碼406中。在其它實施例中, 第二應用程序410可以是第一應用程序404的可執行功能。
[0161] 在步驟1604中,由處理設備(例如處理單元204)基于存儲的設備消息、經由執行與 第一應用程序404相關聯的程序代碼406,來生成與移動通信設備104相關聯的設備指紋(例 如移動設備指紋1204)。在步驟1606中,由處理設備204經由執行與第一應用程序404相關聯 的程序代碼406,來生成隨機值(例如隨機值1206)。在一些實施例中,隨機值1206可以是隨 機數或偽隨機數。
[0162] 在步驟1608中,由處理設備204至少基于所生成的設備指紋1204、所生成的隨機值 1206以及包括在與第一應用程序404相關聯的程序代碼中的實例標識符408,來生成多元值 (例如多元值1208)。在步驟1610中,由處理設備204利用存儲在與第二應用程序410相關聯 的程序代碼412中的第一密鑰、經由執行與第二應用程序410相關聯的程序代碼412,來對構 建的多元值1208進行解密,以得到存儲密鑰(例如高級存儲密鑰1210)。
[0163] 在一些實施例中,方法1600可進一步包括:將保護數據存儲在移動通信設備104的 本地數據庫(例如本地數據庫1212)中;由處理設備204利用存儲密鑰1210對存儲在本地數 據庫1212中的保護數據進行加密。在一個實施例中,方法1600還可包括:將與第一應用程序 404相關聯的程序數據存儲在數據庫212中;以及將所生成的隨機值1206存儲在與第一應用 程序404相關聯的程序數據中。
[0164] 在一個實施例中,方法1600還可包括:由傳送設備(例如傳送單元206)至少發送隨 機值1206;由接收設備(例如接收單元202)接收一個或多個經加密的參數,其中利用存儲密 鑰1210分別對一個或多個經加密的參數進行加密;以及,將所接收的一個或多個經加密的 參數存儲在移動通信設備104的本地數據庫1212中。在另一實施例中,可將存儲密鑰1210發 送給第三方(例如交易管理服務器102),并可從第三方102接收一個或多個經加密的參數。 在某些其它實施例中,還可由傳送設備206來發送實例標識符408。
[0165] 計算機系統架構
[0166] 圖17示出了計算機系統1700,其中本公開的該計算機系統實施例或其部分可實施 為計算機可讀代碼。例如,圖1的交易管理服務器102和移動設備104可利用硬件、軟件、固 件、其中存儲有指令的非暫時性計算機可讀介質或它們的組合來實施在計算機系統1700 中,或者實施在一個或多個計算機系統或其他處理系統中。硬件、軟件或它們的任意組合可 體現為用于實施圖7、8、9六、98、1(^、1(?、11和13-16的方法的模塊和組件。
[0167] 如果使用可編程邏輯,那么這種邏輯可執行在市售處理平臺或專用的設備上。本 領域普通技術人員可以理解,所公開主題的實施例可通過各種計算機系統配置來加以實 踐,這包括多核多處理器系統、小微型計算機、大型計算機、具有分布式功能的鏈接或群集 式計算機,以及可虛擬嵌入到任何設備中的遍布型計算機或微型計算機。例如,至少一個處 理器設備和存儲器可用于實現上述實施例。
[0168] 如本文中所討論的處理器單元或設備可以是單個處理器、多個處理器或它們的組 合。處理器設備可具有一個或多個處理器"內核"。本文所討論的術語"計算機程序介質"、 "非暫時性計算機可讀介質"和"計算機可用介質"用于一般性指代有形介質,諸如可拆卸存 儲單元1718、可拆卸存儲單元1722以及安裝在硬盤驅動器1712中的硬盤。
[0169] 本公開的各種實施例都是根據本示例性計算機系統1700來進行描述的。相關領域 技術人員在閱讀本說明書之后,對于如何使用其他計算機系統和/或計算機架構來實現本 發明將變得顯而易見。盡管將操作描述為順序的過程,但是一些操作實際上可并行、同時執 行和/或在分布式環境中執行,并且通過由單個或多個處理器訪問的本地或遠程存儲的程 序代碼來執行。此外,在一些實施例中,在不背離所公開主題的精神的情況下可重新排列操 作順序。
[0170] 處理器設備1704可以是專用或通用處理器設備。處理器設備1704可連接于諸如總 線、消息隊列、網絡、多核消息傳遞方案等的通信基礎設施1706。網絡可以是適于執行此處 所公開的功能的任何網絡,并可包括局域網(LAN)、廣域網(WAN)、無線網絡(例如WiFi)、移 動通信網絡、衛星網絡、因特網、光纖、同軸電纜、紅外、射頻(RF)或者它們的任意組合。相關 領域技術人員將顯而易見其他合適的網絡類型和配置。計算機系統1700還可包括主存儲器 1708(例如隨機訪問存儲器、只讀存儲器等),并且還可包括輔助存儲器1710。輔助存儲器 1710可包括硬盤驅動器1712和可拆卸存儲驅動器1714(例如軟盤驅動器、磁帶驅動器、光盤 驅動器,閃存等)。
[0171] 可拆卸存儲驅動器1714可通過公知的方式來讀取和/或寫入可拆卸存儲單元 1718。可拆卸存儲單元1718包括可由可拆卸存儲驅動器1714進行讀取并寫入的可拆卸存儲 介質。例如,如果可拆卸存儲驅動器1714是軟盤驅動器,那么可拆卸存儲單元1718可以是軟 盤磁盤。在一個實施例中,可拆卸存儲單元1718可以是非暫時性計算機可讀記錄介質。
[0172] 在一些實施例中,輔助存儲器1710可包括用于允許將計算機程序或其他指令加載 到計算機系統1700中的其他類似設備,例如可拆卸存儲單元1722和接口 1720。這種設備的 示例可包括程序盒式存儲器和盒式接口(例如,如同在視頻游戲系統中看到的那樣)、可拆 卸存儲器芯片(例如EEPR0M、PR0M等)和相關的插座,以及相關領域技術人員顯而易見的其 他可拆卸存儲單元1722和接口 1720。
[0173] 存儲在計算機系統1700(例如存儲在主存儲器1708和/或輔助存儲器1710)中的數 據可存儲在任何類型的合適的計算機可讀介質中,例如光學存儲器(例如壓縮盤、數字多功 能盤、藍光射線光盤等)或磁帶存儲器(例如硬盤驅動器)。數據可被配置為例如關系數據 庫、結構化查詢語言(SQL)數據庫、分布式數據庫、對象數據庫等任何合適類型的數據庫配 置。相關領域技術人員將顯而易見那些合適配置和數據庫存儲類型。
[0174] 計算機系統1700還可包括通信接口 1724。通信接口 1724可被配置為允許軟件和數 據在計算機系統1700與外部設備之間傳遞。示例性通信接口 1724可包括調制解調器、網絡 接口(例如以太網卡)、通信端口、PCMCIA槽和卡等。經由通信接口 1724傳遞的軟件和數據可 以是信號的形式,其可以是電子信號、電磁信號、光學信號或相關領域技術人員顯而易見的 其他信號。該信號可通過通信路徑1726來傳播,其中所述通信路徑可被配置為用于承載信 號并可采用電線、電纜、光纖、電話線、蜂窩電話鏈路、射頻鏈路等來實現。
[0175] 計算機系統1700可進一步包括顯示接口 1702。顯示接口 1702可被配置為能在計算 機系統1700和外部顯示器1730之間傳遞數據。示例性的顯示接口 1702可包括高清晰度多媒 體接口(HDMI)、數字視頻接口(DVI)、視頻圖形陣列(VGA)等等。顯示器1730可以是用于顯示 經由計算機系統1700的顯示接口 1702發送的數據的任何合適類型的顯示器,其包括陰極射 線管(CRT)顯示器、液晶顯示器(IXD)、發光二極管(LED)顯示器、電容式觸摸顯示器、薄膜晶 體管(TFT)顯不器等等。
[0176] 計算機程序介質和計算機可用介質是指諸如主存儲器1708和輔助存儲器1717的 存儲器,其可以是存儲器半導體(例如DRAM等)。這些計算機程序產品可以是用于向計算機 系統1700提供的軟件的機構。計算機程序(例如計算機控制邏輯)可存儲在主存儲器1708 和/或輔助存儲器1717中。計算機程序也可以經由通信接口 1724來接收。這種計算機程序當 執行時能夠使計算機系統1700執行這里所討論的本發明的方法。具體地,計算機程序在被 執行時能夠使處理器設備1704執行這里所討論的如圖7、8、9A、9B、10A、10B、11&13-16K* 的方法。因此,這種計算機程序可代表計算機系統1700的控制器。在本發明采用軟件來實現 的情況下,該軟件可存儲在計算機程序產品中,并可利用移動存儲驅動器1714、接口 1720和 硬盤驅動器1712,或者利用通信接口 1724而加載到計算機系統1700中。
[0177] 與本公開相一致的技術,除其他特征以外,提供了在不使用安全元件的情況下利 用移動設備來處理支付交易的系統及方法,其包括對遠程通知服務消息進行發送和驗證, 并利用高級存儲密鑰來對數據進行安全存儲。盡管上文已經描述了所公開系統和方法的各 種示例性實施例,但應該理解的是,它們僅用于示例性的目的而并非加以限制。本公開并非 是詳盡的,并且不限制所公開的精確形式。在不脫離本公開廣度或范圍的情況下,可根據上 述教導進行修改及變型,或者從本公開的實踐中獲知修改及變型。
【主權項】
1. 一種用于接收和處理數據消息的方法,包括: 在存儲器中至少存儲加密密鑰; 由接收設備接收數據消息,其中所述數據消息至少包括經加密的消息和消息認證碼, 其中至少利用所述經加密的消息的一部分來生成所述消息認證碼; 由處理設備至少利用包括在接收的所述數據消息中的經加密的消息的一部分來生成 參考認證碼; 由所述處理設備基于比對生成的所述參考認證碼來檢查包括在接收的所述數據消息 中的消息認證碼,來對接收的所述數據消息進行驗證; 由所述處理設備利用存儲的所述加密密鑰對包括在接收的所述數據消息中的所述經 加密的消息進行解密,以得到經解密的消息。2. 根據權利要求1所述的方法,其中,所述數據消息為經由遠程通知服務接收的遠程通 知服務消息。3. 根據權利要求1所述的方法,其中 所述存儲器還被配置為存儲參考計數,并且 對接收的數據消息進行驗證的步驟還包括:比對存儲的所述參考計數來對包括在接收 的所述數據消息中的消息計數進行檢查。4. 根據權利要求1所述的方法,還包括: 響應于接收的所述數據消息,由傳送設備傳送接收通知。5. 根據權利要求4所述的方法,其中 所述方法還包括: 由所述處理設備基于所述經解密的消息來執行一個或多個動作; 由所述處理設備由于或基于執行的所述一個或多個動作來生成返回消息; 由所述處理設備利用存儲的所述加密密鑰來對生成的所述返回消息進行加密,以得到 經加密的返回消息;以及 由所述處理設備至少利用所述經加密的返回消息的一部分來生成返回認證碼,其中 所傳送的所述接收通知包括所述經加密的返回消息和所述返回認證碼。6. 根據權利要求5所述的方法,其中 所述存儲器還包括返回計數,并且 所傳送的所述接收通知還包括所述返回計數。7. 根據權利要求1所述的方法,其中 所述存儲器還包括一個或多個認證碼生成規則,并且 基于將存儲的所述一個或多個認證碼生成規則應用于包括在接收的所述數據消息中 的所述經加密的消息的一部分上,來生成所述參考認證碼。8. 根據權利要求1所述的方法,還包括: 由所述處理設備利用填充密鑰對包括在接收的所述遠程通知服務消息中的所述經加 密的消息進行填充,其中 所述經加密的消息中用于生成所述參考認證碼的那一部分為經過填充的經加密的消 息。9. 根據權利要求8所述的方法,其中,所述填充密鑰為所述加密密鑰。10. 根據權利要求8所述的方法,其中, 所述存儲器還包括認證碼填充算法,并且 利用所述填充密鑰對所述經加密的消息進行填充的步驟包括:基于將所述填充密鑰應 用于所述認證碼填充算法,來對所述經加密的消息進行填充。11. 根據權利要求1所述的方法,還包括: 由所述處理設備基于一個或多個數據格式規則來檢查所述經解密的消息的數據形式。12. 根據權利要求1所述的方法,其中,所述經解密的消息包括以下各項中的至少一項: 在支付交易中使用的數字化卡片文件和一次性密鑰。13. 根據權利要求1所述的方法,其中,還利用存儲的所述加密密鑰來生成所述參考認 證碼。14. 根據權利要求1所述的方法,其中,所述存儲器為移動通信設備中的非安全元件型 存儲器。15. -種用于接收和處理數據消息的系統,包括: 存儲器,其被配置為至少存儲加密密鑰; 接收設備,其被配置為接收數據消息,其中所述數據消息至少包括經加密的消息和消 息認證碼,所述消息認證碼至少利用所述經加密的消息的一部分來生成; 處理設備,其被配置為: 至少利用包括在接收的所述數據消息中的經加密的消息的一部分來生成參考認證碼; 基于比對生成的所述參考認證碼來檢查包括在接收的所述數據消息中的消息認證碼, 來對接收的所述數據消息進行驗證; 利用存儲的所述加密密鑰對包括在接收的所述數據消息中的所述經加密的消息進行 解密,以得到經解密的消息。16. 根據權利要求15所述的系統,其中,所述數據消息為經由遠程通知服務接收的遠程 通知服務消息。17. 根據權利要求15所述的系統,其中 所述存儲器還被配置為存儲參考計數,并且 對接收的數據消息進行驗證的步驟還包括:比對存儲的所述參考計數來對包括在接收 的所述數據消息中的消息計數進行檢查。18. 根據權利要求15所述的系統,還包括: 傳送設備,其被配置為響應于接收的所述數據消息而傳送接收通知。19. 根據權利要求18所述的系統,其中 所述處理設備還被配置為: 基于所述經解密的消息來執行一個或多個動作; 由于或基于執行的所述一個或多個動作來生成返回消息; 利用存儲的所述加密密鑰來對生成的所述返回消息進行加密,以得到經加密的返回消 息;以及 至少利用所述經加密的返回消息的一部分來生成返回認證碼,并且 所傳送的所述接收通知包括所述經加密的返回消息、返回計數和所述返回認證碼。20. 根據權利要求19所述的系統,其中 所述存儲器還包括返回計數,并且 所傳送的所述接收通知還包括所述返回計數。21. 根據權利要求15所述的系統,其中 所述存儲器還包括一個或多個認證碼生成規則,并且 所述參考認證碼是基于將存儲的所述一個或多個認證碼生成規則應用于包括在接收 的所述數據消息中的經加密的消息的一部分上來生成的。22. 根據權利要求15所述的系統,其中 所述處理設備還被配置為利用填充密鑰對包括在接收的所述遠程通知服務消息中的 所述經加密的消息進行填充,并且 所述經加密的消息中用于生成所述參考認證碼的那一部分為經過填充的經加密的消 息。23. 根據權利要求22所述的系統,其中,所述填充密鑰為所述加密密鑰。24. 根據權利要求22所述的系統,其中, 所述存儲器還包括認證碼填充算法,并且 利用所述填充密鑰對所述經加密的消息進行填充的步驟包括:基于將所述填充密鑰應 用于所述認證碼填充算法,來對所述經加密的消息進行填充。25. 根據權利要求15所述的系統,其中,所述處理設備還被配置為基于一個或多個數據 格式規則來檢查所述經解密的消息的數據形式。26. 根據權利要求15所述的系統,其中,所述經解密的消息包括以下各項中的至少一 項:在支付交易中使用的數字化卡片文件和一次性密鑰。27. 根據權利要求15所述的系統,其中,所述參考認證碼還利用存儲的所述加密密鑰來 生成。28. 根據權利要求15所述的系統,其中,所述存儲器為移動通信設備中的非安全元件型 存儲器。
【文檔編號】H04W12/08GK106031207SQ201480074680
【公開日】2016年10月12日
【申請日】2014年12月2日
【發明人】邁赫迪·克林格, 邁克爾·克里斯多夫·沃德, 帕特里克·斯梅茨, 阿克塞爾·埃米爾·珍·查爾斯·卡特蘭德, 克里斯蒂安·拉杜
【申請人】萬事達卡國際股份有限公司