***** 2015年版本,新增各組織新憑證,新增晶片種類資料,改善部分程式碼 *****
【晶片卡檢驗程式】可讀取晶片信用卡或晶片金融卡資料,尤其可針對晶片信用卡進行卡片資料的驗證,可檢驗晶片信用卡資料是否有被竄改、偽造或失效。
【晶片卡檢驗程式】主要功能可判別出晶片類型、讀出金融卡帳號資料、信用卡卡號、持卡人姓名、卡片有效起迄日期、卡片支援的驗證種類、憑證資訊(金鑰長度、有效期限等資料)等等,並可執行EMV晶片信用卡的Static Data Authentication(SDA)與Offline Dynamic Data Authentication(DDA)資料驗證。
DerYu 發表在 痞客邦 留言(3) 人氣(12,787)
***** 2013年最新版本 V3.0 *****
【DerYu's GlobalPlatform Tool】是個簡單易用的工具軟體,提供友善的圖形操作介面,讓使用者輕鬆執行OpenPlatform/GlobalPlatform Java Card指令功能,並提供Java Card Applets管理功能,輕鬆執行Applet的載入與刪除動作,透過此程式提升您程式開發或測試的效率和方便性。
【DerYu's GlobalPlatform Tool】共有PC/SC與JCOP Tools兩種版本,JCOP Tools版必須搭配JCOP Tools所提供的Java Card Simulation來使用,並不支援實體卡片與讀卡機,在此所提到之智慧卡、卡片、讀卡機等關鍵字,僅代表的是Java Card Simulation。DerYu 發表在 痞客邦 留言(0) 人氣(2,172)
***** 2013年最新版本 V3.0 *****
【DerYu's GlobalPlatform Tool】是個簡單易用的工具軟體,提供友善的圖形操作介面,讓使用者輕鬆執行OpenPlatform/GlobalPlatform Java Card指令功能,並提供Java Card Applets管理功能,輕鬆執行Applet的載入與刪除動作,透過此程式提升您程式開發或測試的效率和方便性。
【DerYu's GlobalPlatform Tool】共有PC/SC與JCOP Tools兩種版本,PC/SC版適用於符合PC/SC規格之讀卡機,用於實體卡片的操作。DerYu 發表在 痞客邦 留言(1) 人氣(1,780)
***** 新增支援Java Card v2.2.2雙介面晶片版本 *****
【Mifare Access Applet】適用於NXP(Philips) JCOP31/41系列或Java Card v2.2.2雙介面晶片,提供Mifare區塊資料讀取與寫入之介面。
【Mifare Access Applet】不需使用非接觸式設備(Mifare Reader),減少硬體設備採購成本,能透過一般接觸式讀卡設備(SmartCard Reader)使用標準的APDU Command方式存取Mifare資料區塊,同時支援Mifare KeyA,KeyB或Mifare Password兩種權限驗證,Applety在Install時,可支援設定Read & Write指令執行時是否須建立Secure Channel,在安全與便利之間提供四種參數選項設定。DerYu 發表在 痞客邦 留言(2) 人氣(4,516)
目前只有在Java Card v2.2.2以上才有內建大數運算API,在v2.2.1以下之版本一般只能處理兩個Byte之短整數(short)運算,【Arithmetic】Applet提供執行大數四則運算之功能,並採用256進位方式進行運算,有效節省Java Card寶貴的記憶體空間。
DerYu 發表在 痞客邦 留言(0) 人氣(572)
【CryptoCard KIT】提供簡單易使用的方式,讓一般程式開發者可輕鬆利用智慧卡(SmartCard)來做資料加解密或安控等類型的應用程式開發,免去花費大量時間處理與卡片相關的技術。
【CryptoCard KIT】總共包含下列四個項目:
* CryptoCard CAP File
* Applet Loader
* CryptoCard API
* API測試程式
網站上下載之版本僅支援JavaCard 2.2與GP 2.1.1以上之卡片,壓縮檔內含完整的Applet規格書、API使用手冊與Applet Loader操作手冊。欲使用在JavaCard 2.1與OP 2.0.1之卡片請 另外來信索取。DerYu 發表在 痞客邦 留言(0) 人氣(1,621)
『GPSAM Applet』
【GlobalPlatform Security Access Module】Applet(以下簡稱GPSAM)共包含以下四支程式:
1. GPSAM Java Card Applet
2. GPSAM Applet Loader
3. GPSAM Applet 基碼建置程式
4. GPSAM 功能與API測試程式
DerYu 發表在 痞客邦 留言(0) 人氣(1,780)
這個章節我要講的是關於交易上的風險,下圖是在WebATM上的一個完成的查詢交易,內行人大概一眼就能明白這張圖所代表的風險,首先這張圖我只顯示送給卡片的指令與資料,沒有秀出卡片回應的資料,密碼部分也已塗黑,以避免洩漏這張卡的真實資料。
由下圖可發現交易過程中,與金融卡往來的資料全是明碼方式傳遞,當然這些資料只有持卡人密碼算是重要資料(圖中塗黑部分),其餘像是發卡單位、轉入、轉出帳號等等,這些本來就是允許任何程式或任何人讀取的資訊,因此明碼傳送也無關緊要,可是持卡人密碼用明碼傳送,就代表當你的電腦,或是你使用金融卡的環境中,若是被植入木馬程式,那就很有可能被駭客所擷取,儘管你在WebATM上是用虛擬鍵盤輸入,木馬程式照樣抓的到正確的密碼。目前為止這個漏洞應該是每家銀行都知道的,因此各家銀行已建議持卡人使用具有鍵盤的讀卡機,或使用動態密碼,以解決這個漏洞的風險。
現行駭客光得到金融卡的密碼,也不容易盜用你的帳號,除非同時拿到你的實體卡片,因為在交易過程中還有一個重要的驗證步驟,也就是在執行各種不同的交易時,金融卡會用交易代碼、交易時間、交易設備代號、金額等等這些資訊,利用晶片內的KEY計算出一個交易驗證碼,再將交易驗證碼送回銀行做驗證,而且即使相同的交易做第二次,也不會產生一樣的驗證碼,因為晶片內有一組累計的序號,每次交易就會累加,駭客除非知道晶片內的KEY與計算的演算法,才能偽造出合法的驗證碼,這樣感覺起來應該很安全,其實未必。
我們再回到下圖來看,與卡片通訊的過程皆是明碼狀態,包含指令與資料,這些明碼資料中同樣也包含卡片用來計算驗證碼的值,換個角度思考,駭客要破解晶片內的KEY難度很高,但是既然已經能擷取所有通訊內容了,那如果在其中加入駭客想要的交易,並且把這個交易資料也送給卡片,木馬程式一樣能得到卡片計算後的驗證碼,最後再送至銀行端驗證,由於驗證碼是合法卡片計算的,所以銀行端驗證會通過,整個過程神不知鬼不覺,銀行、卡片、持卡人,三方不會有人知道這個交易是非法的。DerYu 發表在 痞客邦 留言(0) 人氣(3,428)
「動態密碼」(OTP,One Time Password)顧名思義就是每次使用時產生的密碼都不一樣,而且每組密碼只能使用一次,因此也可稱作「一次性密碼」。與傳統固定式密碼相比,具有不可預測性,可避免遭駭客竊取密碼後執行重送攻擊的風險,即使駭客竊取該次的密碼,也無法通過下次的登錄驗證。
「動態密碼」(OTP,One Time Password)大致可分為Event-Based、Time-Based與Challenge & Response三種類型,密碼產生方式有許多種,原則上是利用特定的密碼學相關運算函式(如DES、SHA...),加上變動性的參數運算後得到的結果。這次我拿到一張Event-Base類型的OTP Card,此卡動態密碼採用OATH HOTP標準方式產生,我寫了一支簡單的程式來驗證此卡片所產生的動態密碼,另外這支程式也順便加入HMAC_Sha1、HMAC_Sha256、HMAC_Sha384與HMAC_Sha512的功能。
下面兩張圖是卡片的外觀,第一張是未顯示動態密碼的樣子,第二張是按下卡片右下方按鈕後產生動態密碼的樣子,密碼顯示的時間大約是三十秒鐘,之後就會恢復到第一張的樣子。另外此卡片因為有內建電池,所以一般使用年限大概是三年,電池沒電後卡片也只能報廢,未來會有標準的晶片卡結合這種具顯示螢幕的卡片,內建的電池也許能改成可重複充電,卡片若插入讀卡機中,即可進行充電,這樣便可延長使用期限。
DerYu 發表在 痞客邦 留言(4) 人氣(6,982)
這個章節我要講的是另一個可以被偽造的案例,一樣先說明,這個案例完全是人為規劃上的重大瑕疵所造成的問題,目前為止晶片金融卡本身仍然具安全性,況且到現在全世界應該還沒發生過因晶片本身問題而被偽造的SmartCard案例。(Memory Card與Mifare都不算是SmartCard)
這個案例是台灣某兒童用品連鎖業者的會員卡,該會員卡有電子錢包功能,可重複加值並在各連鎖店消費,該業者當初找了一家不知名的廠商來規劃建置整個電子錢系統,聽說這家廠商在大陸有很多成功案例,但這已經不是重點,因為這家廠商倒閉了。天啊! 這樣的訊息對客戶來說肯定很震驚,尤其是將整個系統委外,自己又不了解的客戶來說,加上又讓我發現他們的會員卡可被偽造,這對他們來說應該是不小的打擊與震撼。
這張會員卡是一張晶片金融卡規格的卡片,裡面只有一個基碼資料檔、一個交談基碼檔與三個一般基本資料檔,熟晶片金融卡規格與電子錢的人,看到這樣的卡片內容應該就知道絕對可被偽造,以下分析這張會員卡內容:
一、只有一個基碼資料檔,表示該卡在儲值或是消費時,頂多只能用此把基碼來驗證,但此基碼驗證目的是確認主機端的合法性,主機端無法確認卡片是否合法,所以這樣已構成被偽造(內賊或外賊)的風險。
DerYu 發表在 痞客邦 留言(0) 人氣(1,493)