1220496 玖、發明說明: 【發明所屬之技術領域】 本發明是有關於一種金融交易系統,特別是有關於一 種利用終端機(terminal)與智慧卡(smart card)來進行金融交 5 易,並具備有分散式處理架構之金融交易系統。 【先前技術】 智慧卡即是-晶片卡(IC card),是在一張***大小的 塑膠卡片上内嵌-積體電路晶片,除了具備有記憶儲存功 能以外,更可以進行資料的處理、計算等功能,由於其安 10 辣與功能性相較於以往的磁條式卡片為佳,因此已逐漸 被廣泛地應用在例如電計、儲值卡,個人身份認證卡等 各式卡片上。特別是在金融交易系統中,一般商家常是利 用終端機(或稱讀卡機)來讀取智慧卡上的資料,以便進行金 錢的交易以及資料的記錄等動作。 15 在以往的金融交易系統架構中,由於智慧卡上僅具備 有個人的基本認證資料,因此是以終端機作為主角(刪叫 ,並在其中建置許多不同功能的應用程式,以便利用每一 應用式來取得智慧卡上之資料後進行特定的計算與執行 力月b例如紅利積點、分期付款等,並在資料處理的過程 20 巾’透過遠端的主機進行個人身份的認證與查驗動作。然 上述杀構之缺點在於當商家欲進行新的促銷活動,或 疋=為需求提高,而需要進行應用程式的更新、升級時, 必而分別針對每一台終端機進行應用程式的更新,因此需 要耗費大量的時間與人力。 4 5 隨著智慧卡的逐漸演進,現今智慧卡上除了具有記 體來儲存個人基本認證資料外,更具有微處理器、卡片; 業系統(card 〇perating system,c〇SWx及非揮發性記憶體 ^•V0latile memory)等,因此亦可將多個應用程式安裝在 :慧卡上,並透過應用程式介面(Αρι)來與作業系統進行通 成’使得智慧卡本身猶如—小型電腦,故#智慧卡插設於 終端機中時,丨自身即能進行f料的計算與處理卫作。' 10 15 因此,以往「終端機」對「智慧卡」的主從(master_ slave)架構,已轉而由「智慧卡」對「終端機」的主從架構 ,換s之,終端機的角色變為智慧卡與遠端主機間的傳輸 介面,關於將智慧卡作為主動角色以及其相關的通訊協定 ,已揭露於美國專利第6,157,966號專利案中,在此不再贅 述。由於此種作法是將所有的應用程式皆安裝在智慧卡上 ,礙於智慧卡之儲存容量有限以及與作業系統間之相容性 等問題,因此程式的開發必需花費較長時間,且當應用程 式的大小逐漸增加時,更顯出其困擾。 【發明内容】 因此’本發明之目的在於提供一種便於應用程式開發 、撰寫’並容易進行應用程式之升級、更新的金融交易系 20 統。 於疋’本發明之金融交易系統之一較佳實施例主要包 含有一智慧卡與一終端機。該智慧卡具有一處理器,以及 複數供該處理器執行之應用程式,該終端機具有一以lS〇 7816協定與該等應用程式進行通訊之應用程式介面,該應 5 1220496 用程式介面能受使用者之控制 而選擇該等應用程式其中之 5 因此’在該較佳實施例中,本發明亦提供一種終端機 ”智慧卡間資料處理的方法,其步驟是:a)透過該終端機 之-應用程式介面選擇該等應用㈣其巾之—。透過該 終端機輸人-參數,以初純被擇定之該應難式。c)Z 被擇定之該應㈣式處理該參數,且該終端機處於一等待 狀態。D)由被敎之該應用程式所執行之—狀態回應訊息 至該終端機。E)該終端機依據該訊息執行特定功能。 15 本發明利用該應用程式介面來選擇該智慧卡上特定的 該應用程式後,並再利用該應用程式介面即把相關參數傳 送至已被擇定之應用程式,並等待應用㈣執行狀態的回 應,再依據應用程式回傳之運行狀態執行特定的功能,換 言之,本發明内容乃將有關加值服務的運算内容與過程(如紅 利積點的運算,特惠内容與贈品的運算決定…等等)放在智慧 卡的應用程式裡,而終端機的應用程式則只負責根據回傳值 判斷應命令終端機本身做何動作或者再次觸發智慧卡程式 做下一個運算。如此一來,資料處理的工作將被有效地分 20 散至終端機與智慧卡上,故不論終端機之應用程式介面或 冬慧卡上的應用程式,其程式開發、撰寫的時間大為縮短 ,進行程式更新、升級的動作時更可省卻大量時間。 【實施方式】 有關本發明之前述及其他技術内容、特點與功效,在 以下配合參考圖式之一較佳實施例的詳細說明中,將可清 6 1220496 楚的明白。 5 參閱圖1與圖2,本發明金融交易系統之較佳實施例包 含一智慧卡1、一終端機2,以及一遠端主機3。智慧卡1 具有一微處理器11、一隨機存取記憶體(RAM)12、一唯讀 記憶體(ROM)13、一非揮發性記憶體(non-violate memory) 14 、 ^片介面單元15,以及一加密模組(cryptographic module)16 〇 唯讀記憶體13中儲存有複數電腦程式碼,包含有卡片 作業系統(C0S)111(見圖 3)、JCRE(java card nmtime 10 15 environment),以及必要的驅動程式等等,可供微處理器n 加以捉取、執行。非揮發性記憶體14,例如EEPR0M,是 用來儲存應用程式113(見圖3)。卡片介面單元15則可以是 接觸式的介面,或是一近接式介面,或一無線介面等等 。本實施例中’卡片介面單元15即是指一接觸式介面,可 以直接與終端冑2相接觸,以進行資料或信號的傳遞。加 密模組16是用來執行加㈣輯演算,以提高金融交易的安 全性。 20 ,閱圖3’在本實施例中,由於智慧七中之電腦程式 碼是依據之規範,因此,其制程式⑴是 以—的型式存在’並透過應用程式介面 片作業系統⑴進行函數的呼叫等動作。卡 乍業以⑴之功能—般包含例如權案管理、輸入/輸出 (1/〇),以及安全性的管理與控制等等。此外,每一岸用程 是_彳卜㈣峨,㈣值、信用、紅利 7 1220496 積點計算等功能。 參閱圖4,終端機2具有一處理器21、一唯讀記憶體 22、一顯示器23、一第一介面單元24、一第二介面單元25 ,以及一輸入單元26。唯讀記憶體22中亦儲存有複數電腦 5 程式碼,可供處理器21執行以控制顯示器23以及其它週 邊。第一介面單元24是指一應用程式介面(API),是用來與 智慧卡1進行通訊,其遵循ISO 7816之協定,特別是, IS07816-3中定義了智慧卡1的電信號和傳輸協議,而 IS07816-4則定義了智慧卡1與外界交互的界面等,由於此 10 為國際標準,並為熟習此技者所能輕易了解者,故在此不 再贅述。 要說明的是,在ISO 7816-3的協定架構下,定義了 T=0與T=1兩種通訊方法,本實施例中,特別是指τ=〇的 非同步(asynchronous)、半雙工(half-duplex)與位元組導向 15 (byte oriented)的通訊標準。此外,ISO 7816-4亦定義了應 用程式資料單元(Application Protocol Data Unit,以下簡稱 APDU)。 參閱圖5,APDU是智慧卡1與終端機2間的資料通訊 格式,不論是從智慧卡1或終端機2發出的命令,或者是 20 回應訊息均稱為APDU,換言之,APDU包含了命令 (command)格式之APDU以及回應(response)格式的APDU 兩種,命令格式之APDU封包具有「CLA、INS、PI、P2、 Lc、Data Field及Le」欄位,而回應格式之APDU封包則 具有「Data Field、SW1及SW2」攔位。 1220496 在命令格式的APDU中,「CLA」是指class byte,是用 來識別命令的類別,「INS」是指instruction code,是用來 下達給予應用程式的指令,「P1」、「P2」分別是指第一、第 二個指令參數,「Lc」是說明下一欄位「Data Field」的長度 5 ,「Data field」是資料欄位,「Le」是回傳資料的長度。 在回應格式的APDU中,「Data Field」是回傳的資料攔 位,當然,若無需回傳資料,此欄即為空白,「SW1」與「 SW2」是指執行狀態參數(status word),可以藉此告知達行 的結果,例如成功、無錯誤(no error)、失敗…等等。 10 如下表所示,為一般常被使用之命令格式的APDU,第 一介面單元24即會透過這此命令來下達指令給智慧卡1, 以進行特定的功能,其中例如「Put Data」是用來將終端機 2所讀入的資料傳送至智慧卡1上,「Get Data」是用來將智 慧卡1上的資料讀出,「Select AID」是用來選擇應用程式 15 ,而「verify PIN」是用來進行個人識別碼(PIN)的認證…。
Command Class INS PI P2 Lc Data Le Put Data 85 DB 00 or block number Tag or 00 Lgth Data - Get Data 85 CB 00 or block number Tag or 00 -or Lgth -or tags Lgth Select AID 00 A4 04 00 Lgth ADI - Update PIN 85 21 00 00 Lgth PIN - Verify PIN 85 8F 00 00 Lgth PIN - Get Response 00 CO 00 00 _ - Lgth Get Challenge 00 84 00 00 - - 08 External Authentication 00 82 00 00 08 Data - Internal Authentication 00 88 00 00 08 Rnd - Initiate Session 85 1A Terminal type Key number 08 or 10 Data 麵 9 1220496
Set Status 85 F0 40 OF AID lgth AID - Put Key 85 D8 00 81 Lgth Data - Generate Diversified key 85 8E 00 Key Number 0A Cardho lder ID - Initialize Update 85 50 00 00 08 Data - External Authenticate 81 82 00 00 0A Data - 特別的是,除了上述的命令之外,本發明之第一介面 單元24另行定義了四個指令:「AOC—Display」、「 AOC一Getkey」、「AOC JPrint」、「AOC一GetPad」。這些指令只 有在智慧卡1上之應用程式113被選擇後,才能夠被執行, 5 其中,「AOC—Display」是能使得終端機2中之處理器21將 資料顯示在顯示器23上。「AOC_Getkey」是用來讀入輸入 單元26所輸入之資料。「AOC_Print」是使處理器21將資 料交由印表機4列印。「AOC_GetPad」用以將輸入資料加密 後再讀入。關於本段中各個指令的發送與執行,將在下文 10 中作進一步說明。 另一方面’第二介面單元25指的是用來與遠端主機3 進行通訊的網路介面單元,其遵循IS〇 8583的金融交易卡 訊息交換格式標準’此標準是用來便於遠端主機3對於廣 域網路中傳輸的***、現金卡、金融卡等交易訊息進行 15 監測、擷取和解碼等動作,由於此非本發明之重點,因此 不再贅述。輸入單元20則是指一控制面板,可供操作而選 擇終端機2所要進行的功能,例如開、關機、扣款…等動 作。 遠端主機3是透過一網路與終端機2相連線,例如網 際網路’但並不以此為限,遠端主機3亦包含許多後端處 10 20 1220496 理的應用程式以及一資料庫(圖未示),此資料庫中存有許多 使用者的個人資料,可供進行身份認證、比對,因此遠端 主機3可以依據終端機2所發出的要求進行後端處理,並 將結果回傳給終端機2。 5 10 參閱圖6,顯示的是終端機2上之第一介面單元24、 智慧卡1上的應用程式113,以及應用程式113執行後之各 個狀態三者間的相互關係,以下並配合圖7進行說明: 當進行金融交易時,例如一位女士講買了 一筆款項總 額為15GG元之物品’且目前她所消費的商店中,舉辦有特 殊的優惠活動,其特惠對象為:女性^婚姻狀態為已婚。 特惠内容為1「母親節」當日,消費_千元以下者,商 品六折優待’若消費一千元以上者,除商品六折優待之外 ’另贈送獎品'一個。 15 因此如步驟701,當店員將此智慧卡 20 插設入終端機, 後,終端機2會對智慧卡1進行認證動作,並同時得知知 慧卡1上的應用程式113,例如智慧卡^上現建置有三個^ 同的應隸式113,—個應用程式是「母親節」優惠活動的 應用程式、另—個應用程式是計算紅利積點的應用程式, 最後-個制程式収年終折扣的應_式,因此在顯示 态23上會顯示出三種應用程式113, 、 因此店員能透過終端機2上的輸入單元%來選擇 親節」特惠活動之應_式112,此時終端機2 面單元24即«命令格式之_ 應用程式⑴,在智慧卡1接収指令後,即會以回應^ 11 之APDU來進行回應。 5 在應用程式113被選擇後,第 ΑΡηττ社入仏 布"面早το 24即發出 APDU才曰令’詢問智慧卡1下一 丨^ 慧卡}之靡田 、為何。另一方面,在智 '、、 應用私式113被選擇後,即會操取針於决接上 之非揮性記憶1 14中的個人美太心操取館存於智慧卡1 是否符本#料,以確認卡友的身份 疋否付二於女性」以及「已婚」兩個條件。 接著,步驟702為—選擇性的步 式之徭,知“ ㈣性的步驟,在選擇完應用程 人^了一的動作’其目的是在避免不 10 入 - 貝枓的女全性。透過第一 "面早7L 24,智慧卡1上的加宗 > 么模、、且16會要求終端機2進
仃識別碼的認證,當麩 A •… …在遇證的過程中’可以採用對稱 险或非對稱性的解密機制來進行。 15 在應用程式⑴已對使用者之身份進行確認後,確認使 用者符合於特惠活動所欲實施的對象,因此應用程式ιΐ3即 以回應格式之APDU進行回應,同時要求輸入消費金額, /驟703 ’當店員透過輸入單元26輸入交易金額^元後 ’此一資料即會藉由第一介面單% 24傳送至前述已被擇定 之應用程式113上,以進行應用程式113的初始化 20 (initialization),以及相關的計算、處理動作,如步驟7〇4, 〇 當然,若尚需其它資料,例如需要終端機2之唯讀記 憶體22中所存有之機型、地點資料,或是消費時間(由計時 器得知,圖未示)等資料,則智慧卡丨上之應用程式113會 再發出命令袼式之APDU,以便再由終端機2回傳所需的資 12 10 料至智慧卡1上,上述步驟會反覆進行,如步驟705,直至 此應用程式113已接收到所有需要的資料後,即會依據此應 用私式113所设定的規則,例如一定的消費總額、一定期間 的消費時間點、消費者之等級等,對於資料進行處理、計 算’若當資料達到一定條件後,即提供特定的優惠活動。 一在處理的過程中,如圖6所示,終端機2是處於等待 待應用程式113執行至程式編寫所設定之其中之-狀 、P回應目刖之執行狀態(status word)至終端機2,告 知終端機2下_步要執行的動作(例如輸人參數、列印或顯 不等等)’直至所有動作已被執行完畢為止。 步驟706亦是一選擇性的步驟,若在資料處理的過程 中三或是資料處理完成後,尚需進行身份的確認或是需要 _ 丁後端的處理,應用程式113可以利用APDU發出後端 15 處_要求給終端機2,終端機2即會將此要求以助㈣二 的協定傳送至遠端本嬙 式 機 當遠端主機3上的應用程 1 )進行處理後,再將結果回傳至終端機2,最後再 由終端機2以預宗从Ατ^ 联傻再 預疋的APDU回傳資料至智慧卡j。 步驟7〇7,當智禁 , 完畢後,㈣傳^慧卡上的制程式113已將資料處理 20 單元Μ上L U型式)至終端機2之第—介面 本實知例中,第一介面單元24之功处^ 能夠擷取輸入單元 恥,除了 卡!外,當知所輸人的資料以及將資料傳送至智慧 a,、 1之應用程式113將結果回傳後,第一入 面早疋24即將咨♦丨你 弟 乂丨 17將貝枓傳送至處理器21上,使 更侍處理盗21能 4不"23上’或是利用—外接於終端機 13 5 2之印表機4(如圖1所示)直接列印輸出。 上述終端機2與智慧卡丨間之資料處理與交遞,有別 、專綠上讀端機為主角的處理模式,亦 為主角的處理模式。換言之,傳統上以終端機為主=時, 所有的應隸式㈣置在終錢上,智慧卡僅作提供資料 =用。以智慧卡為主_,終端機僅回應智慧卡上應用程 :進行資料處理後之命令要求。根據前例,當終端機程式( 第-介面單元24)收到智慧卡! 一回傳值後,經過事先定好 =規則’仍然再次發出詢問智慧+ i下一步驟的Apmj命 4、要回傳值不是End 〇f Serviee,仍需繼續詢問智慧卡下 步驟)’智慧卡1收到這一命令後,經過内部運算,發現 還而輸入又易金額’於是將此訊息包含在回應# 裡 15 〜$機& A (;# -介面單元24)收到此回應值,經過事先定 好,規則,要求操作人員輸入交易金額並發出ApDU命令 將^易金額傳給智慧卡! ’智慧卡i收到這一命令後,經過 内P運开,兀成整個特惠服務,並於回應APDU中包含服務 ::及其他資訊(如特惠結果)的訊號;終端機程式(第一介面 單70 24)收到此_回傳值後,經過事先定好的規則,判讀回 20 傳值為服務中了及要求列印帳單,因此便發出命令要求終端 機動作。 本發明利用設置在終端機2上的第一介面單元24,當 认擇曰慧卡1上特定的應用程式113後,第一介面單元24 即把輸入單7〇 26所輸入的資料傳送至已被擇定之應用程式 113(第-介面單元24毋需了解資料代表的意義),並等待應 14 用耘式113執行狀態的回應,再依據應用程式u :狀態執行特定的功能,例如列印、顔示、提供進一= 規二!此終端*2上之程式僅需健存基本的狀態判別 10 15 ㈣’即疋依據智慧卡i之應用程式113的回傳值來判斷下 :步^,此步驟可能是_要求智慧卡丨之制程式ιΐ3進 仃運异’或疋使終端機2進行列印、顯示或上傳資料至 端主機3等功能,且終端機2程式是以應用程式介面的形 式存在於終端機上2’即第-介面單A 24。本發明内容乃 將有關加值服務的運算内容與過程(如紅利積點的運算,特惠 内容與贈品的運算決定."料)放在智慧卡的應用程式裡^ 終端機的應用程式則只負責根據回傳值判斷應命令終端機 本身做何動作或者再次觸發智慧卡程式做下一個運算。如 此一來,資料處理的工作將被有效地分散至終端機與智慧 卡上因此,不δΒβ終端機2之第一介面單元24或智慧卡1 上的應用程式113’其程式開發、撰寫的時間大為縮短,進 行程式更新、升級的動作時更可省卻大量時間,確實達到 本發明之目的。 20 惟以上所述者,僅為本發明之較佳實施例而已,當不 能以此限定本發明實施之範圍,即大凡依本發明申請專利 範圍及發明說明書内容所作之簡單的等效變化與修飾,皆 應仍屬本發明專利涵蓋之範圍内。 【圓式簡單說明】 圖1是一示意圖,說明本發明金融交易系統之一較佳 實施例; 15 1220496 圖2是一示意圖,說明該較佳實施例中之一智慧卡; 圖3是一示意圖,說明該智慧卡之軟體架構; 圖4是一示意圖,說明該較佳實施例中之一終端機; 圖5是一示意圖,說明APDU之資料格式; 5 圖6是一示意圖,說明本發明智慧卡與終端機間之資 料處理方法;以及 圖7是一流程圖,說明本發明智慧卡與終端機間之資 料處理方法的步驟。 16 1220496 【圖式之主要元件代表符號說明】 1 智慧卡 112 應用程式介面 2 終端機 113 應用程式 3 遠端主機 21 處理器 11 微處理器 22 唯讀記憶體 12 隨機存取記憶體 23 顯示器 13 唯讀記憶體 24 第一介面單元 14 非揮發性記憶體 25 第二介面單元 15 卡片介面單元 26 輸入單元 16 加密模組 701 〜707 步驟 111 卡片作業系統 17