專利名稱:用于保護用可編程便攜裝置執(zhí)行的交易的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于用外部裝置通過通信鏈路執(zhí)行交易的交易裝置。本發(fā)明還涉及一種用于保護交易裝置和外部裝置間交易的方法,具體 說是用可編程便攜裝置執(zhí)行的交易的方法。
背景技術(shù):
目前,可以通過普通的便攜裝置例如移動電話或個人數(shù)字助理(PDA) 來進行交易。事實上,為了執(zhí)行交易,無線或非接觸式的通信技術(shù)裝置能 夠很容易地嵌入到這些便攜裝置當中,用以與外部裝置之間建立一個無線 或非接觸式的通信。圖1顯示了一個具有近場通信(NFC)功能的傳統(tǒng)交易裝置1的例子。 基本上,該交易裝置包含NFC通信控制器IO,應(yīng)用程序處理器20,顯示 裝置31和連接在應(yīng)用程序處理器20上的輸入裝置32。NFC通信控制器IO包含天線線圈,該天線線圈能夠與外部NFC裝置 40如支付終端或提款機之間建立非接觸式數(shù)據(jù)連接(CDL)。外部裝置 40也裝配有天線線圈,外部裝置和NFC通信控制器都可以通過電感耦合 交換數(shù)據(jù)。在交易裝置1中,通信控制器IO連接有至少一個內(nèi)部存有由控制器 執(zhí)行的程序的數(shù)據(jù)和程序存儲器11 。應(yīng)用程序處理器20連接有至少一個 內(nèi)部存有應(yīng)用程序的數(shù)據(jù)和程序存儲器21。另外,交易裝置1典型地包含另一個通信接口 22,交易裝置可以通過 該通信接口 22接收儲存在存儲器21中并由應(yīng)用程序處理器20執(zhí)行的應(yīng)至少有一個應(yīng)用程序APP已經(jīng)通過非接觸數(shù)據(jù)鏈 路CDL被下載,以管理交易。本質(zhì)上這種普通的便攜裝置比經(jīng)過認證的和安全的如在商店或銀行出 現(xiàn)的支付裝置安全性差很多。特別是,能用通信接口 22下載和安裝應(yīng)用 程序APP的應(yīng)用程序處理器20可能會包含惡意軟件。該惡意軟件能被設(shè) 計成截取或破壞付費應(yīng)用中的交易數(shù)據(jù),如支付餐館帳單,提款機的現(xiàn)金 提款,進入付費場所的支付(地鐵,博物館,夜總會等)。所以,這種數(shù) 據(jù)的破壞可能會導致支付的數(shù)額要大于用戶的期望數(shù)額。為了說明該過程,啟動一筆交易,交易裝置1和外部裝置40之間建 立連接(數(shù)據(jù)連接CDL)。外部裝置發(fā)送交易數(shù)據(jù)到交易裝置。數(shù)量顯示 在顯示裝置31上,提示用戶通過輸入裝置32輸入確認(例如通過選擇"是" 或"否"和/或輸入個人密碼作為確認),來確定他所愿意支付的指定數(shù)量的 金額。為了完成交易,應(yīng)用程序處理器將該確認傳送到外部裝置上。惡意 軟件可能會破壞應(yīng)用程序APP,使得交易按照不同于顯示的和/或用戶認 可的交易數(shù)據(jù)進行。例如,惡意軟件可啟動數(shù)額為1000€的交易,而顯示 給用戶的卻是10€。在這種情況下,用戶實際支付的是1000€,而不是他 所同意支付的10€。因此,需要提供一種保護可能被惡意軟件破壞的用交易裝置進行的交 易的方法,尤其是需要提供一種保護用常用的可編程便攜裝置進行的交易 的方法。發(fā)明內(nèi)容本發(fā)明的一個實施例涉及一種用于保護在交易裝置和外部裝置之間 交易的方法,該交易裝置包含通信控制器,應(yīng)用程序處理器,以及輸入裝 置;該交易包含在交易裝置和外部裝置之間的應(yīng)用數(shù)據(jù)交換,和將交易數(shù) 據(jù)從交易裝置傳送到外部裝置或從外部裝置傳送到交易裝置的步驟。保護 交易的方法包含以下步驟要求用戶通過輸入裝置輸入認可的交易數(shù)據(jù), 監(jiān)控要發(fā)送到外部裝置或從外部裝置接收的交易數(shù)據(jù),以及如果上述數(shù)據(jù) 和認可交易數(shù)據(jù)不一致時阻止交易數(shù)據(jù)發(fā)送到外部裝置,或如果上述數(shù)據(jù)和認可交易數(shù)據(jù)不一致時拒絕接收的交易數(shù)據(jù)。根據(jù)本發(fā)明的一個實施例,該方法包含中止交易的步驟,而不是阻止 交易數(shù)據(jù)的發(fā)送或拒絕交易數(shù)據(jù)。根據(jù)本發(fā)明的一個實施例,該方法包含以下步驟用通信控制器獲取 并記錄用戶輸入的認可交易數(shù)據(jù);通過通信控制器監(jiān)控要發(fā)送到外部裝置 或從外部裝置接收的交易數(shù)據(jù);設(shè)定通信控制器以使其拒絕發(fā)送不同于被 認可交易數(shù)據(jù)的交易數(shù)據(jù),或拒絕接收的不同于被認可交易數(shù)據(jù)的交易數(shù)據(jù)。根據(jù)本發(fā)明的一個實施例,該方法包含在要求用戶輸入認可交易數(shù) 據(jù)之前,對通信控制器施加指令,要求其獲取并記錄認可交易數(shù)據(jù)的步驟。根據(jù)本發(fā)明的一個實施例,該方法包含以下步驟當交易數(shù)據(jù)要被發(fā) 送到外部裝置時,對通信控制器施加專用指令;提供給通信控制器要發(fā)送 的交易數(shù)據(jù);設(shè)定通信控制器,使其響應(yīng)所述專用指令監(jiān)控交易數(shù)據(jù),如 果要發(fā)送的交易數(shù)據(jù)和認可交易數(shù)據(jù)相同,就發(fā)送采用專用封裝或附加數(shù) 據(jù)的交易數(shù)據(jù)。根據(jù)本發(fā)明的一個實施例,該方法包含設(shè)定外部裝置,以使其拒絕不 是采用所述專用封裝或附加數(shù)據(jù)封裝或附加的交易數(shù)據(jù)的步驟。根據(jù)本發(fā)明的一個實施例,該方法包含以下步驟用專用的數(shù)據(jù)幀將 應(yīng)用數(shù)據(jù)發(fā)送到交易裝置上;響應(yīng)接受所述的專用數(shù)據(jù)幀,通過通信控制 器將所述專用幀中的交易數(shù)據(jù)和認可交易數(shù)據(jù)進行對比。本發(fā)明的一個實施例涉及一種通信控制器, 一種通過通信控制器與外 部裝置執(zhí)行交易的應(yīng)用程序處理器,以及一種輸入裝置,該交易裝置被設(shè) 定為在交易過程中要求用戶通過輸入裝置輸入認可交易數(shù)據(jù);監(jiān)控要發(fā) 送到外部裝置或從外部裝置接收的交易數(shù)據(jù);如果上述數(shù)據(jù)和認可交易數(shù) 據(jù)不相同時,阻止交易數(shù)據(jù)發(fā)送到外部裝置,或如果上述數(shù)據(jù)和認可交易 數(shù)據(jù)不相同時,拒絕接收的交易數(shù)據(jù)。根據(jù)本發(fā)明的一個實施例,該交易裝置被設(shè)定為當要發(fā)送的交易數(shù) 據(jù)和認可交易數(shù)據(jù)不同,或接收的交易數(shù)據(jù)和認可交易數(shù)據(jù)不同時,中止交易。根據(jù)本發(fā)明的一個實施例,通信控制器被設(shè)定為獲取并記錄用戶輸 入的交易數(shù)據(jù);監(jiān)控要發(fā)送到外部裝置或從外部裝置接收的交易數(shù)據(jù),拒 絕發(fā)送不同于認可交易數(shù)據(jù)的交易數(shù)據(jù),或拒絕接收的不同于認可交易數(shù) 據(jù)的交易數(shù)據(jù)。根據(jù)本發(fā)明的一個實施例,應(yīng)用程序處理器被設(shè)定為要求用戶輸入 認可交易數(shù)據(jù),并在用戶輸入認可交易數(shù)據(jù)之前,對通信控制器施加指令, 要求其獲取并記錄被認可的交易數(shù)據(jù)。根據(jù)本發(fā)明的一個實施例,應(yīng)用程序處理器被設(shè)定為當交易數(shù)據(jù)要 發(fā)送到外部裝置時,對通信控制器施加專用指令,將該要被發(fā)送的交易數(shù) 據(jù)提供給通信控制器;設(shè)定通信控制器,使其響應(yīng)所述專用指令監(jiān)控交易 數(shù)據(jù),如果要發(fā)送的交易數(shù)據(jù)和認可交易數(shù)據(jù)相同時,就發(fā)送采用專用封 裝或附加數(shù)據(jù)的交易數(shù)據(jù)。根據(jù)本發(fā)明的一個實施例,通信控制器被設(shè)定為響應(yīng)接收包含交易 數(shù)據(jù)的專用數(shù)據(jù)幀,并將所述專用幀中的交易數(shù)據(jù)與認可交易數(shù)據(jù)進行對 比。根據(jù)本發(fā)明的一個實施例,該通信控制器是NFC控制器。根據(jù)本發(fā)明的一個實施例,應(yīng)用程序處理器為移動電話的基帶處理器 或個人數(shù)字助理的主處理器。本發(fā)明的一個實施例涉及一種交易系統(tǒng),其包含上述的交易裝置和設(shè) 定為與該交易裝置間執(zhí)行交易的外部裝置。根據(jù)本發(fā)明的一個實施例,外部裝置被設(shè)定為拒絕不是用專用封裝 數(shù)據(jù)封裝或附有專用附加數(shù)據(jù)的交易數(shù)據(jù)。根據(jù)本發(fā)明的一個實施例,外部裝置被設(shè)定為用專用數(shù)據(jù)幀將應(yīng)用 數(shù)據(jù)發(fā)送到交易裝置上。
9本發(fā)明實施例的具體細節(jié)將會在下面結(jié)合附圖進行說明,但不僅僅限 于以下附圖。圖1表示以上所述的普通交易裝置的傳統(tǒng)結(jié)構(gòu);圖2表示根據(jù)本發(fā)明的交易裝置的實施例;圖3A和3B為說明根據(jù)本發(fā)明的用于保護交易的方法的一個實施例的 簡化流程圖;圖4為說明根據(jù)本發(fā)明的用于保護交易的方法的第二實施例的簡化流 程圖;圖5為說明圖3B和4中所示實施例的變型的簡化流程圖;圖6A和6B為說明根據(jù)本發(fā)明的用于保護交易的方法的第三實施例的 簡化流程圖;圖7表示根據(jù)本發(fā)明的交易裝置的另一個實施例。
具體實施方式
圖2以方框的形式表示根據(jù)本發(fā)明的交易裝置2的實施例,例如移動 電話或PDA。與上面圖1中說明的交易裝置1相似,交易裝置2包含通信 控制器Pl和至少一個應(yīng)用程序處理器P2。通信控制器Pl例如是具有天 線線圈的NFC控制器,其能夠通過非接觸式數(shù)據(jù)連接CDL發(fā)送數(shù)據(jù)到外 部裝置ED或從外部裝置ED接收數(shù)據(jù)。外部裝置ED可以是任何類型的 NFC用戶對話入口,也裝配有天線線圈。通信控制器Pl連接有至少一個 存儲有由通信控制器執(zhí)行的程序的數(shù)據(jù)和程序存儲器PMEM1。同樣地, 應(yīng)用程序處理器P2連接有至少一個數(shù)據(jù)和程序存儲器PMEM2,其可以例 如是移動電話的基帶處理器或PDA的主處理器。在圖中沒有顯示的其他 主處理器,例如SIM (Subscriber Identity Module)或其他的安全元件,可 以包含在交易裝置中并連接在通信處理器P1上。交易裝置2還包含連接在應(yīng)用程序處理器P2上的顯示裝置DD和輸入 裝置ID。輸入裝置ID可以例如是鍵盤,麥克風,生物測定輸入或它們的 組合,也可以是允許用戶輸入信息的任何其他裝置。此外,交易裝置包含至少一個通信接口,如無線接口 (Wi-Fi), GSM 型的無線電接口, USB端口,以太網(wǎng)端口等或它們的組合,它們被示意 性地表示為應(yīng)用程序處理器20的通信接口 CI。通過該接口,交易裝置2 能夠接收存儲在存儲器PMEM2中并由應(yīng)用程序處理器20執(zhí)行的應(yīng)用程 序APP。
如上所述,應(yīng)用程序可能會包含被設(shè)計成破壞交易數(shù)據(jù)的惡意軟件。
另一方面,本領(lǐng)域人員公知的是存儲器PMEM1在工廠中程序化的時 候是不會被惡意軟件破壞的,也不會讓用戶接觸到。本發(fā)明的實施例基于 這一點,依靠通信控制器Pl來檢驗在應(yīng)用程序處理器P2和外部裝置ED 之間交換的交易數(shù)據(jù)是否未被破壞。
根據(jù)本發(fā)明的實施例的一個方面,控制器Pl也連接到輸入裝置ID上, 以使其也能夠獲取用戶輸入的數(shù)據(jù)。例如,輸入裝置ID和應(yīng)用程序控處 理P2都可以分別包含UART (通用異步接收器/發(fā)射器)接口11,12,該接 口通過兩條導線Tx,Rx相互連接。在這種情況下,為了接收輸入裝置ID 發(fā)出的數(shù)據(jù),通信控制器Pl也包含至少連接接口 II的Rx導線的UART 接口 13。
根據(jù)本發(fā)明實施例的第二個方面,當要執(zhí)行包括交易數(shù)據(jù)的交易時, 要求用戶輸入交易數(shù)據(jù)(例如他希望支付的金錢數(shù)額),該交易數(shù)據(jù)在下 文中表示為"認可交易數(shù)據(jù)"ATD。
根據(jù)本發(fā)明實施例的第三個方面,通信控制器P1被設(shè)定為監(jiān)控發(fā)送 到外部裝置ED或從外部裝置接收的交易數(shù)據(jù)TD,如果該交易數(shù)據(jù)TD不 同于用戶輸入的認可交易數(shù)據(jù)ATD時,干預正在進行的交易。如以下將 通過例子所述的,通信控制器的"干預"可能包括交易的中止,拒絕發(fā)送數(shù) 據(jù)到外部裝置等,總體而言也可包括為了保護用戶的交易不再進行而采取 的任何行為,其中該交易包含有不同于用戶認可的交易數(shù)據(jù)。
現(xiàn)在將參考圖3A,3B,4,6A,6B,對本發(fā)明各方面的不同具體實施例進行 說明。 在這些具體實施例中,控制器P1收到來自外部裝置ED的"(x[IAD]x〉"格式的輸入數(shù)據(jù)幀IDF,其中IAD為引起應(yīng)用程序處理器P2注意的輸入 應(yīng)用數(shù)據(jù),"x"為通信控制器P1和外部裝置ED使用的封裝數(shù)據(jù),用以 控制通信。例如,封裝數(shù)據(jù)可以包含SOF (幀起點),BOF (幀終點),NFC 命令,CRC (循環(huán)冗余碼校驗)標記等。包括在輸入數(shù)據(jù)幀IDF中的輸入 應(yīng)用數(shù)據(jù)IAD由通信控制器Pl將其解封,并提供給應(yīng)用程序處理器P2。
同樣地,控制器P1向外部裝置ED發(fā)送"(x[OAD]x廣格式的輸出數(shù)據(jù) 幀,其中OAD是輸出應(yīng)用數(shù)據(jù),"x"為封裝數(shù)據(jù)。通過SEND—DATA [OAD] 型指令,輸出封裝應(yīng)用數(shù)據(jù)OAD被應(yīng)用程序處理器P2提供給通信控制器 Pl。
為了簡化本說明書的語言,通信控制器將被稱為"P1",應(yīng)用程序處理 器將被稱為"P2",外部裝置將被稱為"ED"。輸入數(shù)據(jù)幀將被稱為"IDF", 輸出數(shù)據(jù)幀將被稱為"ODF",輸入應(yīng)用數(shù)據(jù)將被稱為"IAD",輸出應(yīng)用數(shù) 據(jù)將被稱為"OAD",認可交易數(shù)據(jù)將被稱為"ATD"。
實施例1
圖3A為說明交易過程中Pl執(zhí)行的處理步驟的簡化流程圖??梢钥吹?不同的處理循環(huán)
一包含步驟S01和S02的處理循環(huán)L01;
一包含步驟步驟S03和S04的處理循環(huán)L02;
—包含步驟步驟S05和S06的處理循環(huán)L03,和
—包含步驟步驟S07到Sll的處理循環(huán)L04。
循環(huán)L01和L02包含傳統(tǒng)的處理步驟,循環(huán)L03和L04用于實施本 發(fā)明涉及本實施例的方面。這些處理循環(huán)連接一個初始等待步驟SOO,在 該步驟控制器Pl等待來自于外部裝置ED的輸入數(shù)據(jù)幀ID或來自于P2 的指令。
在步驟01 ,當Pl從ED收到IDF、即封裝的輸入應(yīng)用數(shù)據(jù)(x[IAD]x〉 時,執(zhí)行處理循環(huán)LOl。然后在步驟02, Pl解封IAD然后將它們發(fā)送到 P2。
12在步驟03,當Pl從P2接收到指令SEND—DATA [OAD]時,執(zhí)行處 理循環(huán)L02。然后在步驟04, PI向ED發(fā)送包含有封裝的OAD {x[OAD]x} 的ODF。
在步驟05,當PI從P2接收到專有指令ATDR (認可交易數(shù)據(jù)請求) 時,執(zhí)行處理循環(huán)L03。該指令告知P1, P2將提示用戶通過輸入裝置ID 輸入ATD。響應(yīng)該指令,Pl監(jiān)聽ID然后獲取并記錄輸入裝置ID提供的 數(shù)據(jù),將該數(shù)據(jù)作為用戶輸入的認可交易數(shù)據(jù)ATD。
在步驟07,當Pl從P2接收到包含有交易數(shù)據(jù)TD的專有指令 SEND一TD [TD]時,執(zhí)行處理循環(huán)L04。該指令要求P1向ED發(fā)送{y[TD]y} 或(y[TD]x)或(x[TD]y)格式的專用ODF,其中"y"為不同于通常"x"封 裝數(shù)據(jù)的封裝數(shù)據(jù)。
當收到該指令時,Pl首先核對ATD是否已經(jīng)記錄(步驟S08),也就 是說是否處理循環(huán)L03已經(jīng)執(zhí)行。兩種情況可能發(fā)生
1 )如果Pl不包含記錄的認可交易數(shù)據(jù)ATD,則收到的指令SEND—TD 就會被認為可疑而被拒絕。而且,如果需要更高水平的安全性,在沒有記 錄認可交易數(shù)據(jù)的情況之下收到此種指令,會被認為是對交易安全性的不 能接受的破壞,因而Pl會被設(shè)定成使該交易完全中止,而不僅僅是拒絕 該指令。因而,Pl運行步驟SlO,在該步驟中P1發(fā)送給P2信息表明它拒 絕發(fā)送包含有非認可交易數(shù)據(jù)TD的ODF,或完全中止該交易。接著Pl 回到等待步驟SOO。
2)如果記錄了認可交易數(shù)據(jù)ATD, Pl核實ATD和指令中的交易數(shù) 據(jù)TD是否相同。如果它們不同,Pl運行步驟SlO,并向P2表明它拒絕 發(fā)送包含有非認可交易數(shù)據(jù)TD的ODF,或者中止該交易。然后POl回到 等待步驟SOO。如果認可交易數(shù)據(jù)ATD和交易數(shù)據(jù)TD相同,Pl發(fā)送 {y[TD]y}或{y[TD]x}或(x[TD]y)格式的ODF到ED,然后返回到步驟 SOO。
本領(lǐng)域的技術(shù)人員將會注意到,可以在外部裝置ED中提供附加的安
全機構(gòu),以保證那些沒有采用包含專有"y"封裝數(shù)據(jù)的數(shù)據(jù)幀封裝的交易數(shù)據(jù)TD不被接受。在另一實施例中,可以在交易的開始讓終端ED產(chǎn)生 一個隨機的數(shù)值或"令牌(token)",并將其傳送到P1,只有附加有該"令 牌"的交易數(shù)據(jù)才能夠被ED接受。
圖3B為說明交易過程中由P2執(zhí)行的處理步驟的簡化流程圖,這些步 驟和那些己經(jīng)在圖3A中說明過的步驟相對應(yīng)。圖中顯示了步驟S20到 S27。在步驟S20, P2等待輸入應(yīng)用數(shù)據(jù)IAD,該應(yīng)用數(shù)據(jù)IAD在解封后 由ED (圖3A中的步驟S02)后通過P1輸出。當收到IAD后,P2運行步 驟S21 ,在步驟S21中P2分析IAD并核對ED是否需要交易數(shù)據(jù)TD。兩 種情況可能發(fā)生
1) 如果在該交易步驟ED沒有請求交易數(shù)據(jù),P2運行步驟S22,在 該步驟中P2處理IAD并形成輸出應(yīng)用數(shù)據(jù)OAD引起ED注意。這樣的 IAD的處理,直到到OAD的形成,會包含不同的子步驟(為了簡化目的 在圖中并沒有顯示)。特別地,這些子步驟可能包含通過顯示裝置DD向 用戶顯示不同的信息和/或數(shù)據(jù),并獲取用戶通過輸入裝置ID輸入的數(shù)據(jù)。 只要用戶輸入的數(shù)據(jù)不是敏感的交易數(shù)據(jù)TD,就不必使P1涉及到該處理。 然后在步驟S23, P2發(fā)送指令SEND—DATA [OAD]到Pl (在圖3A中的步 驟S03, S04中由P1處理)。然后P2回到等待步驟S20。
2) 如果IAD包含有傳送交易數(shù)據(jù)TD的請求,P2運行步驟S24,在 該步驟中P2發(fā)送指令ATDR到Pl (參見圖3A中的步驟S05)。然后P2 運行步驟S25,在該步驟中P2用顯示裝置DD提示用戶輸入認可交易數(shù) 據(jù)ATD。在步驟S26 (與圖3A中的步驟S06同時發(fā)生),P2監(jiān)聽輸入裝 置ID,然后獲取并記錄認可交易數(shù)據(jù)ATD。在步驟S27 (對應(yīng)于圖3A中 的步驟S07), P2發(fā)送指令SEND—TD[TD]到P1。包括在該指令中的交易 數(shù)據(jù)TD被認定為用戶輸入的認可交易數(shù)據(jù)ATD。如果P2的程序存儲器 PMEM2中的惡意軟件試圖破壞SEND一TD指令中的交易數(shù)據(jù),通信控制 器將檢測到在圖3A的步驟S08和S09中被破壞的交易數(shù)據(jù)。
實施例2
剛剛說明的交易過程包含用戶在步驟S25中對交易數(shù)據(jù)的確認。圖4為根據(jù)本發(fā)明的保護交易的方法的第二個實施例的簡化流程圖,表示由
P2執(zhí)行的處理步驟。該流程圖和圖3B中的流程圖除了步驟S21和步驟S25分別被步驟S21'和S25'代替外其余都相同。在該實施例中,ED簡單地請求用戶指明當前交易中的交易數(shù)據(jù)的數(shù)額。這可能會例如出現(xiàn)在當交易裝置用于從取款機取錢,而不需要用戶在取款機的輸入裝置上輸入取款的金額。在這種情況下,交易裝置的輸入裝置用作取款機的輸入裝置。這樣,在步驟S21'中,P2接收到的IAD只簡單地包含要求將該交易涉及的交易數(shù)據(jù)與外部裝置進行通信的請求。在步驟S25', P2提示用戶輸入期望的交易數(shù)據(jù),而不是提示他確認交易數(shù)據(jù)。
很明顯本領(lǐng)域的技術(shù)人員能對上述的實施例進行不同的變動。例如,如圖5所示,在步驟S26中獲取ATD后,處理器可以回到等待步驟S20,而不是運行步驟S27。在這種情況下,在P2接收到來自于ED的TD的確認請求(步驟S21)或發(fā)送TD的請求(步驟上S21,)之前,步驟S24-S26可以提前執(zhí)行,當P2收到TD的確認請求(步驟S21 )或發(fā)送TD的請求(步驟上S21')時,步驟S27也可以運行。
實施例3
圖6A和6B為表示與有名的支付規(guī)范"EMV Book 3(http:〃www.emvco.com/documents/s.pedfication/view/EMVv4.1Book3ApplicationSDecification.pdf)"相聯(lián)系的本發(fā)明的一個實施例的簡化流程圖。
圖6A表示在包含本發(fā)明的各方面的EMV交易的過程中,通信控制器P1執(zhí)行的處理步驟。在該實施例中,交易裝置用作符合EMV規(guī)范的支付卡。外部裝置ED也假定符合EMV規(guī)范,如可以是一個EMV終端。
該實施例包含使用一種稱為"PDOL" (Processing Options Data ObjectList,處理選項數(shù)據(jù)對象列表)的專用數(shù)據(jù)串,其通過交易裝置傳向外部裝置ED,以定義被稱為"Get—Processing—Options"的指令中的字段結(jié)構(gòu),該指令被外部裝置發(fā)送以傳達交易數(shù)據(jù)。如EMV規(guī)范中定義的那樣,PDOL是交易裝置請求的用以處理"Get—Processing—Options"指令的外部裝置-駐留數(shù)據(jù)元的標簽和長度的清單。圖6A的流程圖包含已經(jīng)在上文結(jié)合圖3A被說明的處理循環(huán)LOl, L02和L03,以及步驟L05, L06禾卩L40。
循環(huán)L05包含步驟S107和步驟S108。在步驟S107中,Pl接收來自 ED的SELECT—PPSE指令(Proximity Payment Systems Environment,接
近支付系統(tǒng)環(huán)境)。該指令表明交易已經(jīng)開始。在步驟S108, PI傳送 SELECT指令到P2告知P2交易已經(jīng)開始。
循環(huán)L06包含步驟S109和步驟S110。在步驟S109中,Pl接收來自 于P2的Send_PDOL指令。在步驟S110中,PI分析并記錄PDOL字段中 的數(shù)據(jù)幀,并將PDOL傳送到ED,例如通過(x[PDOL]x)型的ODF。
循環(huán)L40取代之前說明的L04,含有根據(jù)本發(fā)明實施例的安全步驟。 不像循環(huán)L04的目的是通過監(jiān)控形成或包含交易數(shù)據(jù)TD的輸出應(yīng)用數(shù)據(jù) OAD來檢測交易數(shù)據(jù)的破壞,循環(huán)L40的目的是通過監(jiān)控外部裝置ED 發(fā)送的Get—Processing—Options指令中的輸入應(yīng)用數(shù)據(jù)IAD來檢測交易數(shù) 據(jù)的破壞。
更具體地說,循環(huán)L40包含步驟S111,該步驟中PI接收來自于ED 的Get—Processing—Options指令,以及步驟SI 12,該步驟中PI確定PDOL 數(shù)據(jù)幀是否之前已經(jīng)被記錄過。如果PDOL數(shù)據(jù)幀未被記錄,PI運行步 驟S113,例如通過指示給ED該Get—Processing—Options指令中的交易數(shù) 據(jù)無效而中止交易或拒絕Get—Processing—Options指令。如果PDOL數(shù)據(jù) 幀已經(jīng)記錄,PI運行步驟S114,在該步驟中PI分析該 Get—Processing—Options指令中的數(shù)據(jù),用以提取例如涉及該交易的交易量 或貨幣,代表該交易數(shù)據(jù)TD。例如,"0x9F02"表明交易的數(shù)額,"0x5F2A" 表明交易的貨幣。然后,在步驟S115中,Pl核實認可交易數(shù)據(jù)ATD是否 已經(jīng)被記錄,也就是說包含步驟S05 (從P2接收ATDR)和步驟S06 (監(jiān) 聽ID,獲取并記錄ATD)的循環(huán)L03是否已經(jīng)執(zhí)行。如果步驟S06尚未運 行,為了中止交易或拒絕Get—Processing—Options指令,Pl運行步驟SI 13 。 如果交易數(shù)據(jù)ATD已經(jīng)記錄,P1運行步驟S116,在該步驟中P1核實交 易數(shù)據(jù)TD (這里為金額和貨幣)是否和認可交易數(shù)據(jù)ATD相同。如果它
16們不相同,P1運行步驟S113,中止交易或拒絕Get—Processing—Options指 令。如果它們相同,Pl發(fā)送Get—Processing—Options到P2,以使P2可以
完成交易。
圖6B為同樣的EMV交易過程中,應(yīng)用程序處理器P2執(zhí)行的處理步 驟的流程圖。在未顯示在圖6B中的最初步驟中,交易的數(shù)額和貨幣,也 就是交易數(shù)據(jù),通過零售商人或店主口頭或可視地向用戶傳達。然后,用 戶在移動交易裝置上起動交易應(yīng)用程序,如在交易裝置上鍵動一個專門的 按鈕,或者在顯示在顯示裝置DD上的總菜單上進行選項的選擇。該操作 使處理器P2在步驟S30中起動應(yīng)用程序。然后P2在步驟S31發(fā)送ATDR 指令到Pl 。在接下來的步驟S32中,P2提示用戶輸入認可交易數(shù)據(jù)ATD。 然后,在步驟S34中,P2監(jiān)聽ID,然后獲取并記錄由ID提供的數(shù)據(jù),將 其作為用戶輸入的認可交易數(shù)據(jù)(步驟S33與圖6A中的步驟S06同時發(fā) 生)。然后,在進一步的步驟S34中,P2等待來自ED的Select—PPSE指 令,確認交易的開始。這里假定用戶在起動交易程序后,已經(jīng)將交易裝置 置于接近外部裝置的位置,以使得它們之間能夠進行電感耦合并能交換數(shù) 據(jù)。
當Select—PPSE指令被收到后,P2運行步驟S35,在該步驟中P2等 待來自于ED通過的P1的IAD。當收到IAD后,P2運行步驟S36,在該 步驟中P2處理IAD并形成引起ED注意的輸出應(yīng)用數(shù)據(jù)OAD。在步驟 S36之后,根據(jù)被處理的應(yīng)用數(shù)據(jù)的性質(zhì),P2運行步驟S37,在該步驟中 P2發(fā)送SEND—DATA [OAD]指令到Pl (在圖6A中的步驟S03, S04處理 該指令),或運行步驟S38,在該步驟中P2發(fā)送SEND—PDOL指令到Pl (在圖6A中的步驟S109, S110處理該指令),然后回到等待步驟S35。
本領(lǐng)域的技術(shù)人員將會很清楚地看到,無數(shù)種其他的保護交易的交易 裝置和方法都是可預期的。例如,圖7表示了根據(jù)本發(fā)明的交易裝置3的 另一個實施例,包含和上面結(jié)合圖2所說明的相同的元件,即通信控制器 Pl和其存儲器PMEM1,應(yīng)用程序處理器P2和其存儲器PMEM2,輸入裝 置ID和顯示裝置。該交易裝置不同于交易裝置2的是輸入裝置ID只與通 信控制器Pl連接,并通過控制器Pl連接到應(yīng)用程序處理器P2上。在該交易裝置的實施例中,交易基本上按照上面結(jié)合圖3A到圖6B 所述的相同的方式進行,除了通信控制器P1被設(shè)定為傳送給應(yīng)用程序控 制器P2用戶通過輸入裝置ID輸入的所有類型的數(shù)據(jù),使應(yīng)用程序處理器 P2對其進行處理,而不僅僅是認可交易數(shù)據(jù)ATD。由于最近的NFC芯片 構(gòu)造通常是基于HCI (主機控制接口)協(xié)議,根據(jù)該協(xié)議,通信控制器P1 被設(shè)定為在NFC芯片的不同的處理器間路由數(shù)據(jù),就如申請人在EP1 855 389號專利申請中所提出的那樣,Pl也可以被設(shè)定成將輸入裝置ID發(fā)出 的數(shù)據(jù)路由到處理器P2。
本發(fā)明可以保護的交易數(shù)據(jù)一般為金額對應(yīng)的貨幣,但也可以例如是 許多具有貨幣價值的"單位(unit)"或"令牌(token)",交易過程中訂購 的貨物量;以及一般而言交易涉及的并得到用戶認可的任何基本數(shù)據(jù)。
最后,雖然本發(fā)明的實施例最初構(gòu)思并開發(fā)用于包含NFC通信控制 器的便攜式裝置,本領(lǐng)域的技術(shù)人員應(yīng)該清楚,上述的交易方法也適用于 采用不同方法與外部裝置通信、并采用不同通信標準的其他交易裝置。
權(quán)利要求
1.一種用于保護在交易裝置(2,3)和外部裝置(ED)之間進行的交易的方法,該交易裝置包含通信控制器(P1)、應(yīng)用程序處理器(P2)和輸入裝置(ID),該交易包含在交易裝置和外部裝置之間交換應(yīng)用數(shù)據(jù),以及從交易裝置向外部裝置或從外部裝置向交易裝置傳送交易數(shù)據(jù)的步驟,其特征在于包含以下步驟-要求用戶通過輸入裝置(ID)輸入認可交易數(shù)據(jù)(ATD)(S25,S25’,S32),-監(jiān)控要發(fā)送到外部裝置或從外部裝置接收的交易數(shù)據(jù)(L04,L40);以及-如果交易數(shù)據(jù)(TD)不同于認可交易數(shù)據(jù)(ATD),則阻止交易數(shù)據(jù)(TD)發(fā)送到外部裝置(S10),或者如果交易數(shù)據(jù)(TD)不同于認可交易數(shù)據(jù)(ATD),則拒絕接收到的交易數(shù)據(jù)(TD)(S113)。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于包含中止交易的步驟,而不是阻止交易數(shù)據(jù)的發(fā)送或拒絕交易數(shù)據(jù)。
3. 根據(jù)權(quán)利要求1或2所述的方法,其特征在于包含以下步驟-一通過通信控制器獲取并記錄用戶輸入的認可交易數(shù)據(jù)(L03);一通過通信控制器監(jiān)控要發(fā)送到外部裝置或從外部裝置接收的交易數(shù)據(jù)(L04, L40);以及一設(shè)定通信控制器以使其拒絕發(fā)送不同于認可交易數(shù)據(jù)(ATD)的交易數(shù)據(jù)(SIO),或拒絕不同于認可交易數(shù)據(jù)(ATD)的接收的交易數(shù)據(jù)(S113)。
4. 根據(jù)權(quán)利要求1到3中任一項所述的方法,其特征在于包含在要求用戶輸入認可交易數(shù)據(jù)(ATD) (S25, S25', S32)之前,向通信控制器施加指令(ATDR)請求其獲取并記錄認可交易數(shù)據(jù)的步驟(S24, S31)。
5. 根據(jù)權(quán)利要求1到4中任一項所述的方法,其特征在于包含以下步驟一當交易數(shù)據(jù)要被發(fā)送到外部裝置時,向通信控制器施加專用指令(SEND—TD),并向通信控制器提供要發(fā)送的交易數(shù)據(jù)(TD) (S27),一設(shè)定通信控制器,使其響應(yīng)所述專用指令監(jiān)控交易數(shù)據(jù),并在要發(fā)送的交易數(shù)據(jù)(TD)和認可交易數(shù)據(jù)(ATD)相同時,發(fā)送采用專用的封裝或附加數(shù)據(jù)((y[TD]y), {x[TD]y}, (y[TD]x))的交易數(shù)據(jù)。
6. 根據(jù)權(quán)利要求5所述的方法,其特征在于包含設(shè)定外部裝置(ED)以使其拒絕不是用專用封裝數(shù)據(jù)((y[TD]W, {x[TD]y}, MTD]x))封裝或附有專用附加數(shù)據(jù)的交易數(shù)據(jù)的步驟。
7. 根據(jù)權(quán)利要求1到4中任一項所述的方法,其特征在于包含以下步驟-一使用專用數(shù)據(jù)幀(Get一ProcessingJ)ptions)發(fā)送應(yīng)用數(shù)據(jù)到交易裝置,一響應(yīng)所述的專用數(shù)據(jù)幀的接收,通過通信控制器對所述專用數(shù)據(jù)幀中的交易數(shù)據(jù)(TD)和認可交易數(shù)據(jù)(ATD)進行對比。
8. —種交易裝置(2, 3),包含通信控制器(Pl)、通過通信控制器(PI)與外部裝置(ED)進行交易的應(yīng)用程序處理器(P2),以及輸入裝置(ID),其特征在于該裝置被設(shè)定為一在交易過程中要求用戶通過輸入裝置(ID)輸入認可交易數(shù)據(jù)(ATD) (S25, S25,, S32),—監(jiān)控要發(fā)送到外部裝置或從外部裝置接收的交易數(shù)據(jù)(L04,L40);以及一如果交易數(shù)據(jù)(TD)不同于認可交易數(shù)據(jù)(ATD)時,阻止交易數(shù)據(jù)(TD)發(fā)送到外部裝置(SIO),或如果交易數(shù)據(jù)(TD)不同于認可交易數(shù)據(jù)(ATD)時,拒絕接收的交易數(shù)據(jù)(ATD) (S113)。
9. 根據(jù)權(quán)利要求8所述的交易裝置,其特征在于被設(shè)定為當要發(fā)送的交易數(shù)據(jù)(TD)不同于認可交易數(shù)據(jù)(ATD)時,或當接收的交易收據(jù)(TD)不同于認可交易數(shù)據(jù)(ATD)時,中止交易(SIO, S113)。
10. 根據(jù)權(quán)利要求8或9所述的交易裝置,其特征在于通信控制器被設(shè)定為一獲取并記錄用戶輸入的認可交易數(shù)據(jù)(L03);—監(jiān)控要發(fā)送到外部裝置或從外部裝置接收的交易數(shù)據(jù)(L04,L40);以及一拒絕發(fā)送不同于認可交易數(shù)據(jù)(ATD)的交易數(shù)據(jù)(SIO),或拒絕不同于認可交易數(shù)據(jù)(ATD)的接收的交易數(shù)據(jù)(S113)。
11. 根據(jù)權(quán)利要求8至10中任一項所述的交易裝置,其特征在于應(yīng)用程序處理器被設(shè)定為要求用戶輸入認可交易數(shù)據(jù)(ATD) (S25, S25',S32),并在要求用戶輸入認可交易數(shù)據(jù)之前,向通信控制器施加指令(ATDR)請求其獲取并記錄認可交易數(shù)據(jù)(S24, S31)。
12. 根據(jù)權(quán)利要求8至11中任一項所述的交易裝置,其特征在于一應(yīng)用程序處理器被設(shè)定為當交易數(shù)據(jù)要被發(fā)送到外部裝置時,向通信控制器施加專用指令(SEND—TD) (S27),并向通信控制器提供要發(fā)送的交易數(shù)據(jù)(TD),以及一通信控制器被設(shè)定為響應(yīng)所述專用指令監(jiān)控交易數(shù)據(jù),并且如果要發(fā)送的交易數(shù)據(jù)(TD)和認可交易數(shù)據(jù)(ATD)相同時,發(fā)送采用專用的封裝或附加數(shù)據(jù)((y[TD]y), {x[TD]y}, (y[TD]x))的交易數(shù)據(jù)(Sll)。
13. 根據(jù)權(quán)利要求8至11中任一項所述的交易裝置,其特征在于通信控制器被設(shè)定為響應(yīng)包含有交易數(shù)據(jù)(TD)的專用數(shù)據(jù)幀(Get—Processing—Options)的接收,將所述專用數(shù)據(jù)幀中的交易數(shù)據(jù)(TD)與認可交易數(shù)據(jù)(ATD)進行對比(S116)。
14. 根據(jù)權(quán)利要求8至13中任一項所述的交易裝置,其特征在于通信控制器為NFC控制器。
15. 根據(jù)權(quán)利要求8至14中任一項所述的交易裝置,其特征在于應(yīng)用程序處理器(P2)為移動電話的基帶處理器或個人數(shù)字助理的主處理器。
16. —種交易系統(tǒng),包含權(quán)利要求8至15中任一項所述的交易裝置,以及被設(shè)定為與交易裝置(2, 3)進行交易的外部裝置(ED)。
17. 根據(jù)權(quán)利要求16所述的交易系統(tǒng),其特征在于外部裝置被設(shè)定為拒絕未采用專用封裝數(shù)據(jù)((y[TD]y), {x[TD]y}, MTD]x))封裝或附有專用附加數(shù)據(jù)的交易數(shù)據(jù)。
18. 根據(jù)權(quán)利要求16或17所述的交易系統(tǒng),其特征在于外部裝置(ED)被設(shè)定為采用專用數(shù)據(jù)幀(GeLProcessing—Options)向交易裝置發(fā)送應(yīng)用數(shù)據(jù)。
全文摘要
一種用于保護用可編程便攜裝置執(zhí)行的交易的方法,特別是一種用于保護在交易裝置(2)和外部裝置(ED)之間進行的交易的方法,該交易裝置包含通信控制器(P1)、應(yīng)用程序處理器(P2)和輸入裝置(ID)。該方法包括以下步驟要求用戶通過輸入裝置(ID)輸入認可交易數(shù)據(jù)(ATD),監(jiān)控要發(fā)送到外部裝置或從外部裝置接收的交易數(shù)據(jù)(L04,L40),以及如果上述數(shù)據(jù)不同于認可交易數(shù)據(jù)時,阻止交易數(shù)據(jù)發(fā)送到外部裝置,或如果上述數(shù)據(jù)不同于認可交易數(shù)據(jù)(ATD)時,拒絕接收到的交易數(shù)據(jù)。
文檔編號G06F21/52GK101661654SQ20091016257
公開日2010年3月3日 申請日期2009年8月3日 優(yōu)先權(quán)日2008年8月5日
發(fā)明者尚柏納·布朗榭 申請人:英賽康特雷斯公司