潘新娜,鮑可進(jìn),唐宏斌
(1.江蘇大學(xué)計(jì)算機(jī)科學(xué)與通信工程學(xué)院,江蘇 鎮(zhèn)江 212013;2.揚(yáng)州源悅支付技術(shù)有限公司,江蘇 揚(yáng)州 225000)
基于ARM的雙界面IC卡讀寫(xiě)器的設(shè)計(jì)與實(shí)現(xiàn)*
潘新娜1,鮑可進(jìn)1,唐宏斌2
(1.江蘇大學(xué)計(jì)算機(jī)科學(xué)與通信工程學(xué)院,江蘇 鎮(zhèn)江 212013;2.揚(yáng)州源悅支付技術(shù)有限公司,江蘇 揚(yáng)州 225000)
為滿足智能卡在銀行、保險(xiǎn)、醫(yī)療等管理系統(tǒng)的應(yīng)用需求,設(shè)計(jì)了一款基于ARM的支持雙界面智能卡的讀寫(xiě)系統(tǒng)。采用具有ARM Cortex-M3內(nèi)核的STM32F103RBT6和近場(chǎng)通信收發(fā)器STRFNFCA等芯片進(jìn)行相關(guān)的硬件設(shè)計(jì)。軟件設(shè)計(jì)完成了對(duì)非接觸式卡和接觸式卡的底層驅(qū)動(dòng)及應(yīng)用層通信模塊、LCD顯示等操作;根據(jù)PBOC 2.0標(biāo)準(zhǔn)對(duì)智能卡進(jìn)行金融交易包括圈存、消費(fèi)、查余額等;同時(shí),讀卡器集成了Crypto 1加密算法來(lái)兼容市場(chǎng)上的Mifare系列卡。測(cè)試結(jié)果表明,讀寫(xiě)系統(tǒng)性能穩(wěn)定、功耗低、實(shí)用性強(qiáng)、可靠性高。
讀寫(xiě)器;應(yīng)用協(xié)議數(shù)據(jù)單元;報(bào)文鑒別碼;PBOC 2.0;DES
隨著國(guó)家金卡工程的不斷推進(jìn),國(guó)內(nèi)各大商業(yè)銀行大量推出金融IC卡。金融IC卡能與多種行業(yè)應(yīng)用相結(jié)合,并在非接觸式、新型支付方式上得到拓展,從而帶來(lái)新型的支付方式,如IC卡的互聯(lián)網(wǎng)支付、數(shù)字電視支付、手機(jī)移動(dòng)支付等[1]。金融IC卡應(yīng)用場(chǎng)景的變化以及支付方式的改變,對(duì)讀卡終端提出了更高的安全性、穩(wěn)定性、便捷性的要求,傳統(tǒng)IC卡讀卡器僅僅作為數(shù)據(jù)交互的橋梁,擴(kuò)展應(yīng)用不便利,不能獨(dú)立地完成金融應(yīng)用。
本文設(shè)計(jì)一款符合PBOC 2.0標(biāo)準(zhǔn)即《中國(guó)金融集成電路(IC)卡規(guī)范》的新型支持雙界面智能卡讀卡設(shè)備,不再是傳統(tǒng)功能單一的讀卡器,其在內(nèi)部實(shí)現(xiàn)了金融交易,并按照銀聯(lián)規(guī)范開(kāi)發(fā)網(wǎng)銀支付功能,實(shí)現(xiàn)電子現(xiàn)金的本地圈存、消費(fèi)、余額查詢等金融交易;同時(shí),在金融應(yīng)用的基礎(chǔ)上也可開(kāi)發(fā)擴(kuò)展應(yīng)用,擴(kuò)大智能卡的使用范圍。
Figure 2 STRFNFCA schematic circuit diagram圖2 STRFNFCA電路原理圖
IC卡有接觸式和非接觸式兩種通信界面,接觸式IC卡通過(guò)八個(gè)觸點(diǎn)從讀寫(xiě)器獲取能量和交換數(shù)據(jù),符合ISO/IEC 7816協(xié)議,包括信號(hào)和傳輸協(xié)議及APDU(Application Protocal Data Unit)命令等;非接觸式符合ISO/IEC 14443協(xié)議,包括物理特性、射頻能量和信號(hào)接口、初始化和防沖突[2]以及應(yīng)用層的傳輸協(xié)議[3]。雙界面卡是集接觸式與非接觸式接口為一體的智能卡,操作獨(dú)立,但可以共享CPU和存儲(chǔ)空間,具有一卡多用、高度安全、快速交易、兼容性好等特點(diǎn),有廣泛的應(yīng)用前景。
3.1 系統(tǒng)總體設(shè)計(jì)
讀寫(xiě)器的硬件主要包括控制模塊、讀寫(xiě)模塊及外圍電路、串行通信模塊、顯示模塊等,如圖1所示。控制模塊主要由MCU STM32F103RBT6、存儲(chǔ)器和晶振組成,負(fù)責(zé)整個(gè)系統(tǒng)的控制工作。讀寫(xiě)模塊主要由STRFNFCA讀寫(xiě)芯片、晶振及天線組成,載波頻率為13.56 MHz,模擬部分負(fù)責(zé)對(duì)IC卡的發(fā)送接收操作,數(shù)字部分則通過(guò)串口和中斷與微控制器通信,天線則主要由LC低通濾波器和LC諧振電路組成。STRFNFCA部分電路原理圖如圖2所示。串行通信模塊主要通過(guò)RS232串口通信。LCD液晶顯示模塊具有良好的人機(jī)交互能力,實(shí)時(shí)顯示讀寫(xiě)芯片讀取的數(shù)據(jù)。
Figure 1 System block diagram圖1 系統(tǒng)框圖
3.2 系統(tǒng)主芯片特性
本設(shè)計(jì)方案的MCU芯片STM32F103RBT6基于ARM Cortex-M3內(nèi)核32位高性能處理器,具有64個(gè)引腳、51個(gè)GPIOs、128 KB Flash、20 KB SRAM、2個(gè)ADC、4個(gè)TIMER、7通道DMA、高達(dá)9個(gè)通信接口、主頻可達(dá)72 MHz,具有低功耗、高性能、接口資源豐富等特點(diǎn)[4]。相比傳統(tǒng)讀卡器的8位51單片機(jī)處理器,32位高性能ARM處理器不僅可以提高與IC卡的通信效率,同時(shí)可增強(qiáng)控制功能,擴(kuò)展系統(tǒng)的應(yīng)用功能[5]。
讀寫(xiě)器主芯片STRFNFCA是意法半導(dǎo)體(ST)公司的一款可應(yīng)用于13.56 MHz非接觸式通信的中高集成收發(fā)器芯片,支持ISO 14443 Type A和Type B卡、ISO/IEC15693、ISO/IEC18092、NFC Forum等類(lèi)型卡片;硬件特性包括內(nèi)置內(nèi)部幀控制器、高集成度的RF通訊模擬前端(AFE);發(fā)送和接收模式下實(shí)現(xiàn)自動(dòng)卡檢測(cè)和場(chǎng)檢測(cè)、優(yōu)化的電源管理功能;它有32個(gè)引腳,通信接口包括高達(dá)2 Mbps SPI、UATR及256 Byte指令緩存(FIFO)[6]。這些特性使得STRFNFC收發(fā)器應(yīng)用于金融類(lèi)讀卡器、二代身份證讀卡器、金融POS機(jī)、安全門(mén)禁等方面有很大的優(yōu)勢(shì)。
4.1 系統(tǒng)初始化
為保證系統(tǒng)正常運(yùn)行,必須在系統(tǒng)復(fù)位時(shí)進(jìn)行初始化。其中包括系統(tǒng)時(shí)鐘初始化、定時(shí)器配置、中斷配置、SPI/UART串口初始化等操作。
部分底層軟件驅(qū)動(dòng)函數(shù):
(1)hw_config.c:硬件配置函數(shù),對(duì)MCU外設(shè)RCC、NVIC、TIMER、EXTI、GPIO等進(jìn)行配置、使能操作。
(2)drv_strfnfca.c:STRFNFCA驅(qū)動(dòng)函數(shù),處理STRFNFCA通過(guò)UART或SPI接口跟主機(jī)發(fā)送、接收信息,包括初始化STRFNFCA、配置引腳、設(shè)置通信波特率、開(kāi)啟時(shí)鐘、數(shù)據(jù)傳輸?shù)取?/p>
(3)drv_uart.c和drv_spi.c:驅(qū)動(dòng)函數(shù)使能UART和SPI接口收發(fā)信息,串口通過(guò)配置可選。
4.2 智能卡與讀寫(xiě)器通信模塊
4.2.1 非接觸式ISO 14443協(xié)議層對(duì)Type A卡的操作
(1)下電狀態(tài),在空閑狀態(tài)的PICC(Proximity Card 鄰近卡)監(jiān)聽(tīng)REQA(Request Command,type A尋A類(lèi)卡)或WUPA(Wake Up command for PICC type A)命令后,進(jìn)入就緒狀態(tài)。
(2)就緒狀態(tài),卡片接收基于二進(jìn)制搜索算法的防沖突命令(Anticollision),得到一張卡的完整UID(Unique Identification)后,進(jìn)行選卡操作,選中的卡片進(jìn)入激活狀態(tài)。
(3)激活狀態(tài)下選卡返回值選卡應(yīng)答SAK(Select Acknowledge)來(lái)判斷卡片是否支持ISO 14443-4,支持則發(fā)送請(qǐng)求應(yīng)答RATS(Request for Answer To Select)命令,卡片返回值A(chǔ)TS(Answer To Select)。
(4) PPS(Protocol and Parameter Selection)指協(xié)議和參數(shù)選擇命令,若支持可變參數(shù)則根據(jù)參數(shù)值進(jìn)行相應(yīng)設(shè)置,沒(méi)有參數(shù)改變則直接進(jìn)行數(shù)據(jù)傳輸。
(5)發(fā)送HLTA(HALT command)命令,卡片進(jìn)入停止?fàn)顟B(tài),此狀態(tài)卡片只響應(yīng)WUPA命令。
讀寫(xiě)設(shè)備對(duì)A類(lèi)卡的激活流程圖如圖3所示。
Figure 3 Activation of a PICC Type A by a PCD圖3 讀寫(xiě)設(shè)備對(duì)A類(lèi)卡的激活流程圖
讀寫(xiě)系統(tǒng)經(jīng)過(guò)硬件調(diào)試、底層軟件程序設(shè)計(jì)開(kāi)發(fā),系統(tǒng)各模塊和卡片間可進(jìn)行數(shù)據(jù)傳輸和交換,讀寫(xiě)器完成對(duì)IC卡進(jìn)行的符合ISO/IEC 14443協(xié)議指令集如尋卡、初始化、防沖突及RATS等底層基本操作。實(shí)驗(yàn)結(jié)果如表1所示。
Table 1 Software flow and experimental results
4.2.2 接觸式界面ISO/IEC7816協(xié)議層命令
除支持以上的T=0型字符傳輸通信協(xié)議,讀卡器還支持T=1的塊傳輸,定義了三種基本塊類(lèi)型[7]:信息塊(I-block)用于傳送應(yīng)用層信息;接收準(zhǔn)備塊(R-block)用于發(fā)送肯定或否定的確認(rèn)信息,它的信息域不出現(xiàn);管理塊(S-block)用于讀卡設(shè)備和卡片之間交換控制信息。塊幀即一個(gè)塊由一串字節(jié)組成,每個(gè)字節(jié)以異步字符的形式傳輸。塊傳輸主要指應(yīng)用協(xié)議數(shù)據(jù)單元(APDU)命令。
C-APDU命令結(jié)構(gòu)包括命令頭:CLA INS P1 P2(CLA為類(lèi)型,INS為指令,P1、P2為命令參數(shù),如:消費(fèi)交易命令 80h 54h 01h 00h),條件體:Lc Data Le(Lc為發(fā)送命令的長(zhǎng)度,Data為輸入數(shù)據(jù),Le為期望返回的數(shù)據(jù)長(zhǎng)度)。
R-APDU響應(yīng)格式:Data SW1 SW2(Data數(shù)據(jù)域是可選的,指卡片返回的數(shù)據(jù),SW1、SW2是狀態(tài)字,如9000表示指令執(zhí)行成功)。
4.3 MAC算法實(shí)現(xiàn)
智能卡信息的有效讀取和寫(xiě)入必須基于相應(yīng)的應(yīng)用協(xié)議數(shù)據(jù)單元即APDU命令,終端需使用對(duì)稱密鑰體系中3DES加密數(shù)據(jù)域并用指令頭及加密后的數(shù)據(jù)產(chǎn)生校驗(yàn)碼MAC(Message Authentication Code),卡在命令執(zhí)行前先要驗(yàn)證校驗(yàn)碼、解密數(shù)據(jù)域并根據(jù)數(shù)據(jù)域執(zhí)行指令。為保證數(shù)據(jù)的可靠性、完整性和對(duì)發(fā)送方的認(rèn)證需用安全報(bào)文傳送。安全報(bào)文傳送格式如表2所示。
Table 2 Secure messaging format
IC卡與讀卡器終端數(shù)據(jù)通信生成校驗(yàn)碼MAC時(shí)需建立過(guò)程密鑰,過(guò)程密鑰是在交易過(guò)程中用可變數(shù)據(jù)產(chǎn)生的單倍長(zhǎng)密鑰,只能在某過(guò)程/交易中使用一次。不同交易類(lèi)型中產(chǎn)生過(guò)程密鑰的消費(fèi)子密鑰或圈存子密鑰即K值不同,輸入數(shù)據(jù)也由交易類(lèi)型決定。16 Byte子密鑰K=Kl||Kr(Kl為密鑰左半部分,Kr為密鑰右半部分),過(guò)程密鑰KMA=3DES(Data,K)=DES{DES-1[DES(Data,Kl),Kr],Kl} 。
把待發(fā)送的數(shù)據(jù)按順序串聯(lián)一起,每8字節(jié)為單位分成數(shù)據(jù)塊(最后一個(gè)數(shù)據(jù)塊可能是1~8個(gè)字節(jié),其后加上16進(jìn)制‘80’字節(jié),然后用‘00’填充到8個(gè)字節(jié))。用MAC過(guò)程密鑰對(duì)數(shù)據(jù)塊進(jìn)行加密,過(guò)程密鑰KMA由DES或3DES算法生成,依照?qǐng)D4方式產(chǎn)生MAC。最終得到的是從計(jì)算結(jié)果左側(cè)取得的4字節(jié)長(zhǎng)度的MAC(根據(jù)第二步中產(chǎn)生的數(shù)據(jù)塊長(zhǎng)度的不同,有可能在計(jì)算中會(huì)多于或少于四步)。
4.4 電子存折ED的圈存和消費(fèi)交易流程
本系統(tǒng)智能卡支持DES/3DES 加密算法[8]、支持多種應(yīng)用、強(qiáng)大的支付功能(電子錢(qián)包ED和
Figure 4 MAC algorithm for single-length DES key圖4 單長(zhǎng)度DES密鑰的MAC算法
電子存折EP)、符合ISO 7816-1/2/3/4協(xié)議、符合PBOC2.0標(biāo)準(zhǔn)。智能卡應(yīng)用指令集有:驗(yàn)證/更改PIN(Personal Identification Number)碼、圈存、消費(fèi)/取現(xiàn)、圈提、查詢余額、交易確認(rèn)、取現(xiàn)初始化、圈存初始化、消費(fèi)初始化、圈提初始化、修改透支限額初始化、修改透支限額等。
圈存交易指持卡人將其在銀行相應(yīng)賬戶上的資金劃入電子存折或電子錢(qián)包中的過(guò)程。這種交易必須在金融終端上聯(lián)機(jī)進(jìn)行并要求提交個(gè)人識(shí)別碼(PIN)[9]。
Figure 5 Credit for load transaction flow chart圖5 圈存交易處理流程圖
根據(jù)軟件流程及PBOC 2.0標(biāo)準(zhǔn),在keil uVision4集成開(kāi)發(fā)環(huán)境用C語(yǔ)言開(kāi)發(fā)應(yīng)用程序并加載到已調(diào)試好的硬件設(shè)備中,讀寫(xiě)器可按交易流程選中存放密鑰的文件、校驗(yàn)PIN碼、查詢余額、初始化圈存,根據(jù)MAC求解算法算出圈存交易待發(fā)送指令中的MAC值,驗(yàn)證正確后進(jìn)行圈存操作。同樣,可進(jìn)行消費(fèi)交易。為驗(yàn)證系統(tǒng)的軟硬件設(shè)計(jì)及數(shù)據(jù)傳輸?shù)恼_性,進(jìn)行讀卡測(cè)試實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表3所示。
Table 3 Financial transaction testing data sheet
1 PCB:協(xié)議控制字節(jié)Protocol Control Byte;2 CRC:循環(huán)冗余碼校驗(yàn)Cyclic Redundancy Check;3 TAC:交易驗(yàn)證碼Transaction Authorization Crypogram
測(cè)試實(shí)驗(yàn)采用一張信息完全的雙界面測(cè)試卡,根據(jù)設(shè)備返回的信息解析數(shù)據(jù),系統(tǒng)可按預(yù)定金額執(zhí)行ED和EP的圈存和消費(fèi)交易,讀寫(xiě)系統(tǒng)完成交易的安全認(rèn)證、寫(xiě)卡、修改卡片金額。此功能驗(yàn)證了前面所述的金融交易及安全機(jī)制的可行性和功能實(shí)現(xiàn)。
Mifare系列IC卡是NXP公司的產(chǎn)品,它采用了一種NXP特有的加密算法來(lái)完成認(rèn)證和加解密運(yùn)算。將同樣的算法引擎放置在NXP的專用Mifare讀寫(xiě)基站芯片中,認(rèn)證過(guò)程由基站芯片代替用戶系統(tǒng)與Mifare芯片之間完成。這一認(rèn)證過(guò)程就是Mifare系列芯片的三重認(rèn)證[10],其實(shí)質(zhì)是基站芯片與Mifare芯片之間相互傳遞隨機(jī)數(shù)以及隨機(jī)數(shù)的密文,通過(guò)對(duì)隨機(jī)數(shù)密文的解密比對(duì)實(shí)現(xiàn)對(duì)卡片的認(rèn)證。這個(gè)算法和機(jī)制已經(jīng)被破解,移植Mifare系列卡Crypto 1加密算法到相應(yīng)讀寫(xiě)器設(shè)備即可兼容Mifare卡。
Crypto 1算法是通過(guò)一個(gè)48位線性反饋移位寄存器(lfsr)和隨機(jī)數(shù)產(chǎn)生寄存器(prng)不斷地更新(加密)數(shù)據(jù)。對(duì)明文每個(gè)字節(jié)加密即8次循環(huán)更新48位lfsr狀態(tài)值,隨機(jī)地對(duì)每一步的值進(jìn)行異或運(yùn)算,返回密鑰流。
循環(huán)迭代48位lfsr狀態(tài)值函數(shù):
static uint8_tmifare_update(struct _crypto1_state* conststate, const uint8_tinjection, const uint8_tfeedback)
{const uint64_tx=state→lfsr;
const uint8_tks=mf20(state→lfsr);
state→lfsr=(x>>1)|((((x>>0)∧(x>>5)∧(x>>9)∧(x>>10)∧(x>>12)∧(x>>14)∧(x>>15)∧(x>>17)∧(x>>19)∧(x>>24)∧(x>>25)∧(x>>27)∧(x>>29)∧(x>>35)∧(x>>39)∧(x>>41)∧(x>>42)∧(x>>43)∧injection∧(feedback?ks:0))&1)<<47);
returnks;
}
用Crypto1算法對(duì)Mifare卡進(jìn)行三重認(rèn)證的軟件實(shí)現(xiàn)過(guò)程如下:
(1)讀卡器發(fā)送要存取的扇區(qū)號(hào)并選中密鑰KeyA或KeyB;
(2)Mifare卡片返回4字節(jié)卡片隨機(jī)數(shù)給讀卡器(一重);
(3)讀卡器產(chǎn)生隨機(jī)數(shù)和過(guò)程密鑰(UID+KeyA/B+卡隨機(jī)數(shù)+讀卡器隨機(jī)數(shù)產(chǎn)生Mifare過(guò)程密鑰)并發(fā)送8字節(jié)數(shù)據(jù)(4字節(jié)改變的讀卡器隨機(jī)數(shù)和4字節(jié)加密卡片隨機(jī)數(shù))給卡片(二重);
(4)卡片驗(yàn)證加密的卡片隨機(jī)數(shù)并計(jì)算加密的讀卡器隨機(jī)數(shù)然后返回4字節(jié)返回值給讀卡器(三重);
(5)讀卡器通過(guò)比對(duì)加密的讀卡器隨機(jī)數(shù)來(lái)驗(yàn)證卡片。
集成Crypto1加密算法到STRFNFCA讀卡器,進(jìn)行三重認(rèn)證操作,每一步驗(yàn)證通過(guò)后,實(shí)現(xiàn)卡片和讀卡器的相互認(rèn)證,可對(duì)Mifare卡進(jìn)行讀、寫(xiě)、增值、減值、存儲(chǔ)、傳送等內(nèi)存操作從而兼容Mifare系列卡。
本文基于ARMCortex-M3微處理器完成了接觸式、非接觸式IC卡讀寫(xiě)器的硬件設(shè)計(jì),遵循ISO/IEC14443協(xié)議、ISO/IEC7816協(xié)議和PBOC2.0標(biāo)準(zhǔn)完成了支持雙界面IC卡讀寫(xiě)器的設(shè)計(jì)和開(kāi)發(fā),讀寫(xiě)器可實(shí)現(xiàn)IC卡的金融交易,具有近場(chǎng)通信NFC功能,可單獨(dú)用于支付系統(tǒng)亦可嵌入到POS機(jī)終端及其它應(yīng)用系統(tǒng);讀寫(xiě)器集成了Crypto1加密算法,可兼容市場(chǎng)上主流的Mifare系列卡。根據(jù)IC卡的不同行業(yè)應(yīng)用,讀卡終端可實(shí)現(xiàn)滿足不同需求的應(yīng)用,提供一種便捷的支付消費(fèi)方式,在銀行、保險(xiǎn)、醫(yī)療等領(lǐng)域有很好的市場(chǎng)前景。
[1]ZhouXuan-qian.TransformationtimetablefrombankcardtoICcard[N].ShanghaiFinancialNews,2010-11-9(4).(inChinese)
[2]ISO/IECFDIS14443-3:2000(E).Identificationcards-Contactlessintegratedcircuit(s)cards-Proximitycards-Part3:Initializationandanticollision[S].ISO/IECFOS,2000.
[3]ISO/IECFDIS14443-4:2000(E).Identificationcards-Contactlessintegratedcircuit(s)cards-Proximitycards-Part4:Transmissionprotocol[S].ISO/IEC,2000.
[4]STM32referencemanual(RM0008)[R].DocID13902Rev13,STMicroelectronics, 2011.
[5]BaiCui-cui.DesignandimplementationofcontactlessCPUcardreader[J].RadioCommunicationsTechnology, 2012,38(5):70.(inChinese)
[6]STRFNFCANearfieldcommunicationtransceiverdatasheet[R].DocID023077Rev9,ST,2012.
[7]ISO/IEC7816-3:2006(E).Identificationcards-Integratedcircuitcards-part3:Cardswithcontacts-Electricalinterfaceandtransmissionprotocols[S].ISO/IEC,2006.
[8]GemGoldR2.1referencemanualversion1.1 [Z].GEMPLUS, 2000.
[9]Chinafinancialintegratedcircuitcardspecifications-part2:Electronicpurse/electronicdepositapplicationspecification[S].ThefinancialindustrystandardofthePeople’sRepublicofChinaJR/T0025.2-2010,2010.(inChinese)
[10] MF1S50YYX:Mifare classic 1k-mainstream contactless smart card IC product data sheet[S].Rev.3.0-2,2011.
附中文參考文獻(xiàn):
[1] 周軒千.銀行卡IC化設(shè)定時(shí)間表[N].上海金融報(bào),2010-11-9(4).
[5] 白翠翠.非接觸式CPU卡讀寫(xiě)器的設(shè)計(jì)與實(shí)現(xiàn)[J].無(wú)線電通信技術(shù),2012,38(5):70.
[9] JR/T 0025.2-2010,中國(guó)金融集成電路(IC)卡規(guī)范第2部分:電子錢(qián)包/電子存折應(yīng)用規(guī)范[S].北京:中華人民共和國(guó)金融行業(yè)標(biāo)準(zhǔn).
PANXin-na,born in 1982,MS candidate,her research interest includes embedded system.
鮑可進(jìn)(1958-),男,江蘇靖江人,教授,研究方向?yàn)榍度胧较到y(tǒng)。E-mail:bkj@ujs.edu.cn
BAOKe-jin,born in 1958,professor,his research interest includes embedded system.
唐宏斌(1968-),男,江蘇揚(yáng)州人,工程師,研究方向?yàn)榍度胧较到y(tǒng)。E-mail:tanghongbin@sina.com
TANGHong-bin,born in 1968,engineer,his research interest includes embedded system.
DesignandimplementationofdualinterfaceICcardreaderbasedonARM
PAN Xin-na1,BAO Ke-jin1,TANG Hong-bin2
(1.School of Computer Science and Telecommunication Engineering,Jiangsu University,Zhenjiang 212013;2.Yangzhou Yuanyue Payment Technology Co. LTD, Yangzhou 225000,China)
To meet the smart cards’application requirements in the banking, insurance, medical management systems, a smart card reader system is designed based on ARM. The chip STM32F103RBT6 with ARM Cortex-M3 and the near field communication transceiver STRFNFCA are used in the hardware design. In the process of software design,it gives initialization operations and application layer data transactions,LCD display between contactless/contact IC card and reader,implements smart card’s financial transactions including credit for load, debit for purchase and getting balance transactions, and integrates Crypto 1 encryption algorithm into reader so as to be compatible with Mifare cards.Experimental results indicate that the system has stable performance, low power consumption,strong practicability and high reliability.
reader;APDU;MAC;PBOC 2.0;DES
1007-130X(2014)05-0991-06
2012-11-23;
:2013-02-25
TP333.91
:A
10.3969/j.issn.1007-130X.2014.05.034
潘新娜(1982-),女,河南通許人,碩士生,研究方向?yàn)榍度胧较到y(tǒng)。E-mail:panxinna@126.com
通信地址:212013 江蘇省鎮(zhèn)江市江蘇大學(xué)計(jì)算機(jī)科學(xué)與通信工程學(xué)院
Address:School of Computer Science and Telecommunication Engineering,Jiangsu University,Zhenjiang 212013,Jiangsu,P.R.China