999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

PBOC2.0新型金融IC卡讀卡器的設(shè)計與開發(fā)

2012-06-25 02:45:46徐飛曹奇英
關(guān)鍵詞:指令

徐飛,曹奇英

(東華大學(xué) 計算機學(xué)院,上海 201620)

引 言

PBOC2.0規(guī)范是國內(nèi)金融IC卡產(chǎn)業(yè)的基礎(chǔ)性規(guī)范,內(nèi)容豐富,可以滿足我國銀行卡應(yīng)對國際IC卡遷移的需要。它既滿足國內(nèi)銀行卡高安全和多應(yīng)用的實際需求,也為跨行業(yè)合作提供了良好的基礎(chǔ)架構(gòu)。銀行磁條卡存儲空間小、無運算能力,而金融IC卡具備多應(yīng)用加載的平臺,可豐富銀行卡產(chǎn)品系列,成為商業(yè)銀行業(yè)務(wù)創(chuàng)新的重要技術(shù)手段[1]。

在PBOC2.0規(guī)范指導(dǎo)下的金融IC卡的發(fā)展為金融IC卡讀卡器的發(fā)展了帶來了機遇,設(shè)計和開發(fā)使用方便、效率高和有著高可移植性的新型金融IC卡讀卡器必將促進(jìn)國家金融IC的應(yīng)用發(fā)展。

1 硬件設(shè)計

在讀卡器MCU的選擇上,為減少讀卡器的功耗,并降低器件上的成本,選擇TI公司的超低功耗單片機MSP430F5510。其提供的豐富外設(shè)I/O接口使讀卡器實現(xiàn)各種功能,并自帶全速USB2.0(12Mbps)特性,也方便了USB接口開發(fā)及HID通信協(xié)議的實現(xiàn)。MSP430F5510引腳圖如圖1所示。

MCU選擇RGZ48PIN的封裝形式,使得讀卡器設(shè)計小巧,48引腳能為開發(fā)提供足夠的I/O口。高頻率晶振XT2IN引腳外接4MHz晶振,能為IC卡提供穩(wěn)定的時鐘源。

1.1 MCU與IC卡座接口設(shè)計

MCU與IC卡卡座的接口電路如圖2所示。IC卡座的V_IC與電源模塊的輸入引腳相連,IC_CLK與 MCU的高頻晶振(XT2IN)相連,為IC卡工作提供穩(wěn)定的時鐘源。IC卡數(shù)據(jù)的輸入/輸出通過IC_IO與MCU的I/O口進(jìn)行連接,MCU通過I/O口控制與IC卡的數(shù)據(jù)交互,并通過IC_DET檢測IC卡的插入和拔出,通過Reset引腳對IC卡進(jìn)行復(fù)位。

1.2 MCU與USB接口設(shè)計

USB接口與MCU的接口電路如圖3所示。

USB接口的電源通過二極管D1接到MCU的電源供電部分,為MCU的正常工作提供電源。USB的Data+、Data-引腳分別接 MCU的DP、DM引腳,MCU上的PUR引腳與DP引腳間接一個1.4kΩ上拉電阻,完成MCU的兩個引腳DP和DM差分信號的輸入。

圖1 MSP430F5510引腳圖

圖2 MCU與IC卡卡座接口電路

圖3 USB接口與MCU接口電路

2 軟件設(shè)計與開發(fā)

讀卡器內(nèi)部軟件主要由3部分組成,分別為ISO7816協(xié)議的實現(xiàn)、USB接口協(xié)議HID的實現(xiàn)、金融交易在讀卡器內(nèi)部的實現(xiàn)。ISO7816協(xié)議的實現(xiàn)主要參考ISO7816規(guī)范,詳細(xì)的實現(xiàn)過程這里不再詳細(xì)敘述。由于MSP430F5510自帶全速 USB2.0(12Mbps),可參照 HID協(xié)議完成底層固件HID協(xié)議的開發(fā)。下面詳細(xì)敘述金融交易在讀卡器內(nèi)部的實現(xiàn)。

為使得軟件開發(fā)具有條理性,考慮將金融交易部劃分為以下4個模塊:指令功能模塊、安全認(rèn)證模塊、協(xié)助功能模塊、獨立交易功能模塊。各模塊之間可以相互輔助,實現(xiàn)金融交易的功能。

2.1 指令功能模塊

這個模塊也可以稱為基礎(chǔ)功能模塊,設(shè)計此模塊能解決從PBOC2.0規(guī)范中抽象出各金融IC卡指令的問題。在模塊內(nèi)部實現(xiàn)PBOC2.0規(guī)范中所述的交易指令:選擇、讀記錄、取數(shù)據(jù)對象、應(yīng)用初始化、應(yīng)用鎖定、應(yīng)用解鎖、外部認(rèn)證、生成應(yīng)用密文、內(nèi)部認(rèn)證、PIN修改/解鎖、設(shè)置數(shù)據(jù)、修改記錄、驗證[2]。

這些指令的實現(xiàn)能方便具體交易的調(diào)用,使得其他模塊不再具體考慮指令調(diào)用的細(xì)節(jié)。

2.2 安全認(rèn)證模塊

此模塊的設(shè)計可解決交易過程中涉及到的安全認(rèn)證,單片機內(nèi)部可以實現(xiàn)RSA算法、3DES算法、哈希算法SHA-1。針對完成PBOC2.0規(guī)范中的脫機數(shù)據(jù)認(rèn)證,軟實現(xiàn)各種安全認(rèn)證算法能很好地節(jié)省硬件成本,使得開發(fā)具有相對的獨立性。

2.3 協(xié)助功能模塊

協(xié)助功能模塊可作為工具模塊,為其他模塊提供服務(wù)。在模塊內(nèi)部實現(xiàn)對IC卡指令返回的數(shù)據(jù)的解析、PDOL(處理選項數(shù)據(jù)對象列表)、DDOL(動態(tài)數(shù)據(jù)認(rèn)證數(shù)據(jù)對象列表)、CDOL(卡片風(fēng)險管理數(shù)據(jù)對象列表)等數(shù)據(jù)對象的組包。

IC卡指令返回的數(shù)據(jù)實質(zhì)上就是一個有格式的長字符串,這個字符串?dāng)?shù)據(jù)都有相應(yīng)的模板格式,但不同的指令返回的數(shù)據(jù)模板不同。而且模板中包含的TLV(Tag、Length、Value)數(shù)據(jù)結(jié)構(gòu)也各不相同,模板中還可能再包含模板。對于模板中有單一TLV數(shù)據(jù)結(jié)構(gòu)不帶模塊結(jié)構(gòu)的數(shù)據(jù),可以通過先解析Tag,接著解析長度,再解析數(shù)據(jù)內(nèi)容的方式,取得某個Tag對應(yīng)的Value值。即便是一個字符串由多個TLV結(jié)構(gòu)的數(shù)據(jù)對象組成,這種方法也可以完成對TLV結(jié)構(gòu)的解析以及對單個Tag對應(yīng)值的確定[3]。

但是對于有多個模塊結(jié)構(gòu)的數(shù)據(jù)對象進(jìn)行解析時,就需要先解析模板,確定該TLV的數(shù)據(jù)對象在哪個模板中,然后從長數(shù)據(jù)串中截取出這個模板對應(yīng)的數(shù)據(jù),然后再在這個模板中進(jìn)行TLV數(shù)據(jù)的解析。

具體在設(shè)計中,采用如上所述的分析方法實現(xiàn)兩種不同的TLV解析功能,一種可以直接解析只有TLV結(jié)構(gòu)字符串的函數(shù);另外一種則可以針對有多個模板的字符串進(jìn)行解析。

2.4 獨立交易功能模塊

在上面三個功能模塊的基礎(chǔ)上實現(xiàn)金融交易,這里主要設(shè)計實現(xiàn)了以下金融交易:讀取IC卡信息、讀取IC交易日志、寫卡腳本、生成ARQC(授權(quán)應(yīng)用密文)、ECC(電子現(xiàn)金)交易。下面詳述各交易的實現(xiàn)。

2.4.1 讀取IC卡信息

讀取IC卡信息,可借助指令功能模塊中的選擇指令選擇IC卡應(yīng)用個人化環(huán)境(PSE),然后利用協(xié)助功能模塊的解析函數(shù),解析出卡片中的應(yīng)用標(biāo)識符AID,再通過選擇指令選擇AID,解析出PDOL(處理選項數(shù)據(jù)對象列表)。PDOL實質(zhì)上是一個模板,表明了處理選項數(shù)據(jù)對象中應(yīng)當(dāng)包含哪些數(shù)據(jù)對象。解析出PDOL,利用上述協(xié)助功能模塊中的組PDOL對象功能函數(shù)便可以形成處理選項數(shù)據(jù)對象。在應(yīng)用初始化指令中將這個數(shù)據(jù)對象發(fā)送給卡片,卡片接收到后,會根據(jù)處理選項數(shù)據(jù)對象作出交易的判斷,在返回的數(shù)據(jù)中帶回來交易中需要讀取的交易記錄,然后根據(jù)卡片返回到AFL(應(yīng)用文件定位器)。遍歷讀取相應(yīng)的記錄、解析相應(yīng)的記錄,就可以找到需要的IC卡個人信息[3]。

以上方法不是唯一讀取IC卡的方法,對于常用持卡人信息的讀取,也可以選擇讀取IC卡前兩幾條記錄,從中分析得到IC卡持卡人的個人信息。這種方法讀取速度快,但是對于持卡人信息不在前幾條記錄中的卡片,則會發(fā)生讀取不到信息的錯誤。為避免此種錯誤的發(fā)生,設(shè)計中采用如上遍歷讀取記錄的方法。

2.4.2 讀取IC卡交易日志

金融IC卡對于圈存、ECC交易,在卡片中會有相應(yīng)的日志記錄。IC卡交易日志以文件的形式保存在IC中,最多能保存十條交易日志,而且第一條是最近的交易日志。在交易過程中通過讀IC卡日志能判斷出最近幾筆交易的詳細(xì)情況,交易日志的讀取通過指令模塊中的Select指令選取PSE,然后解析出AID。選擇AID后,解析出日志入口標(biāo)簽的值,從而找到日志對應(yīng)的SFL(短文件標(biāo)識符)以及交易日志中的記錄個數(shù)。逐條讀取SFL下的記錄,就可以得到完整的交易日志。然后再使用Get Data指令讀取日志格式標(biāo)簽的值,便可以對照日志格式解析交易日志,得出每筆交易的詳細(xì)信息[4]。

以上為最全面的IC日志讀取方法,在實現(xiàn)中為節(jié)省程序運行時間,一般在選擇AID后直接讀取SFL為0x0B,在該文件下從第1條記錄讀取到第10條記錄。這種方法也能將交易日志完整的讀取出來,而且還節(jié)省了時間。讀卡器在內(nèi)部實現(xiàn)中采用了這種方法[5]。

2.4.3 寫卡腳本

卡片腳本是發(fā)卡行對卡片進(jìn)行認(rèn)證過后,認(rèn)為此卡片為合法卡片后,返回的可以修改IC卡記錄內(nèi)容的命令。寫卡腳本命令執(zhí)行之前首先需要對發(fā)卡行返回的密文數(shù)據(jù)進(jìn)行外部認(rèn)證,實質(zhì)上是卡片在驗證發(fā)卡行的真?zhèn)巍0l(fā)卡行驗證通過,便可以通過產(chǎn)生密文指令向卡片發(fā)送表示允許進(jìn)行交易,卡片收到后會產(chǎn)生允許交易的密文,產(chǎn)生TC(交易證書)。TC需要保存,結(jié)算的時候或者聯(lián)機中在腳本執(zhí)行結(jié)果中返回給服務(wù)器,TC值的產(chǎn)生,說明了卡片承認(rèn)了這筆交易,服務(wù)器清算的時候驗證TC證書。如果TC證書驗證通過,后臺服務(wù)就會把這筆消費入賬。由于產(chǎn)生密文的指令可以產(chǎn)生3種應(yīng)用密文形式,分別為:TC、ARQC(授權(quán)請求密文)、AAC(應(yīng)用認(rèn)證密文)[6],在產(chǎn)生密文的指令中需要指明為產(chǎn)生TC的指令,而且需要組建CDOL2(卡片風(fēng)險管理數(shù)據(jù)對象列表2)的數(shù)據(jù)。CDOL2的結(jié)構(gòu)同PDOL結(jié)構(gòu),會指定卡片風(fēng)險管理數(shù)據(jù)對象需要哪些數(shù)據(jù)元,CDOL2在讀記錄中讀取,利用協(xié)助功能模板組建CDOL2對象數(shù)據(jù)。卡片接收產(chǎn)生應(yīng)用密文指令后,如果返回正確,則可以順利執(zhí)行寫卡指令,寫卡指令執(zhí)行正確后,整個交易結(jié)束。此時如果交易正常,在IC卡的交易日志中應(yīng)能查到最近的這次交易。

2.4.4 生成ARQC

ARQC(授權(quán)應(yīng)用密文)在交易中有卡片產(chǎn)生的一種密文,這個密文送到后臺服務(wù)器,后臺服務(wù)器會通過驗證這個應(yīng)用密文的正確與否來確定IC卡的真?zhèn)巍RQC通過發(fā)送產(chǎn)生應(yīng)用密文來得到,在產(chǎn)生應(yīng)用密文的指令中,密文類型要選擇為ARQC,通過讀記錄、解析記錄、組建CDOL1(風(fēng)險管理數(shù)據(jù)對象列表1)得到風(fēng)險管理數(shù)據(jù)對象1。卡片接收指令后,會返回所需的ARQC。應(yīng)用密文指令發(fā)送之前需要去完成選擇PSE、選擇AID、應(yīng)用初始化和讀記錄的工作。

2.4.5 ECC交易

ECC(電子現(xiàn)金)交易是接觸式IC卡的一種脫機消費方式。由于交易是在脫機的情況下進(jìn)行的,所以交易中不涉及聯(lián)機的認(rèn)證過程。在選擇PSE、選擇AID后的GPO(應(yīng)用初始化)指令中,利用PDOL指明支持電子現(xiàn)金,然后再讀取需要的IC卡記錄,得到相關(guān)的認(rèn)證數(shù)據(jù),包括IC卡公鑰證書、發(fā)卡行公鑰證書、認(rèn)證中心公鑰索引、發(fā)卡行公鑰余項、IC卡公鑰余項、IC卡公鑰指數(shù)、發(fā)卡行公鑰指數(shù)。記錄讀取完畢后,需要先進(jìn)行DDA(動態(tài)數(shù)據(jù)認(rèn)證)認(rèn)證,通過后再發(fā)送產(chǎn)生應(yīng)用密文(產(chǎn)生TC)的指令,指令執(zhí)行正確后再發(fā)送外部認(rèn)證指令。指令執(zhí)行正確,交易則開始對相關(guān)交易數(shù)據(jù)的保存以及終端風(fēng)險管理進(jìn)行處理。以上任何一條指令執(zhí)行中如果發(fā)生錯誤,交易即終止。

結(jié) 語

本文在超低功耗單片機MSP430F5510的基礎(chǔ)上設(shè)計和實現(xiàn)了一款功能豐富的IC卡讀卡器。利用MSP430F5510自帶的全速USB硬件資源實現(xiàn)了HID協(xié)議,使得讀卡器可以實現(xiàn)無驅(qū)動的使用,方便了讀卡器的使用。金融交易在芯片內(nèi)部的實現(xiàn),也可以使得這款讀卡器能作為其他產(chǎn)品的一個模塊,因為其內(nèi)部實現(xiàn)了相應(yīng)的RSA算法、3DES算法、哈希算法SHA-1,同時也實現(xiàn)了生成ARQC、寫卡、讀取IC卡信息、讀交易日志、ECC交易。這些交融交易在讀卡器內(nèi)部的實現(xiàn),能減少外部應(yīng)用對金融交易的重復(fù)開發(fā),節(jié)省資源,同時也大大提高了工作效率。此款讀卡器在實際的應(yīng)用中有很好的使用效果。

[1]中國人民銀行JR/T 0025.3—2010—中國金融集成電路(IC)卡規(guī)范第3部分:與借記/貸記應(yīng)用無關(guān)的IC卡與終端接口規(guī)范[S].

[2]王愛英.智能卡技術(shù):IC卡[M].2版.北京:清華大學(xué)出版社,2000:23-25.

[3]EMV:Integrated Circuit Card Specifications for Payment Systems[EB/OL].[2011-07].http://www.fi.muni.cz/~xkrhovj/lectures/2006-PA168_EMV_slides.pdf.

[4]ISO/IEC7816-3—2006Identification cards—Integrated circuit cards—Part 3:Cards with contacts—Electrical interface and transmission protocols[S].swizerland,2006.

[5]蘭柯,王卓人.智能卡大全——智能卡的結(jié)構(gòu)、功能、應(yīng)用[M].3版.北京:電子工業(yè)出版社,2002:14-20.

[6]范曉紅,吳今培,張其善.智能卡文件系統(tǒng)的安全訪問機制[J].微計算機應(yīng)用,2004(1):39-42.

猜你喜歡
指令
聽我指令:大催眠術(shù)
ARINC661顯控指令快速驗證方法
LED照明產(chǎn)品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
殺毒軟件中指令虛擬機的脆弱性分析
巧用G10指令實現(xiàn)橢圓輪廓零件倒圓角
中斷與跳轉(zhuǎn)操作對指令串的影響
科技傳播(2015年20期)2015-03-25 08:20:30
基于匯編指令分布的惡意代碼檢測算法研究
一種基于滑窗的余度指令判別算法
歐盟修訂電氣及電子設(shè)備等產(chǎn)品安全規(guī)定
家電科技(2014年5期)2014-04-16 03:11:28
MAC指令推動制冷劑行業(yè)發(fā)展
汽車零部件(2014年2期)2014-03-11 17:46:27
主站蜘蛛池模板: 毛片久久久| 中文成人在线| 波多野结衣亚洲一区| 国产啪在线91| 九色在线观看视频| 亚洲品质国产精品无码| 色婷婷成人网| 免费jjzz在在线播放国产| 欧美色图第一页| 一个色综合久久| 97免费在线观看视频| 日韩欧美中文字幕在线精品| 91精品aⅴ无码中文字字幕蜜桃 | 日韩高清一区 | 亚洲精品欧美日本中文字幕| 国产人成网线在线播放va| 国产精品999在线| 福利在线免费视频| 日本伊人色综合网| 免费A级毛片无码免费视频| 视频二区国产精品职场同事| 无码有码中文字幕| 国产午夜不卡| 国产乱子伦精品视频| 国产无码网站在线观看| 亚洲欧美另类久久久精品播放的| 露脸一二三区国语对白| 尤物精品视频一区二区三区| 亚洲第一极品精品无码| 国产日韩丝袜一二三区| 中字无码精油按摩中出视频| 国产午夜精品鲁丝片| 国产91久久久久久| 亚洲成人网在线观看| 伊人久久精品无码麻豆精品| 视频一区视频二区中文精品| 日本一区二区三区精品视频| 国产日韩欧美在线播放| 欧美啪啪一区| 一级做a爰片久久毛片毛片| 国产福利拍拍拍| 超清无码熟妇人妻AV在线绿巨人 | 亚洲视频a| 自慰网址在线观看| 国产91无码福利在线| 精品国产成人a在线观看| 国产精品19p| 亚洲性影院| 九九九九热精品视频| 日本免费a视频| 尤物亚洲最大AV无码网站| 国产一国产一有一级毛片视频| 国产女人喷水视频| 无码高潮喷水专区久久| 久草中文网| 亚洲国产无码有码| 九九热视频精品在线| 国产精品毛片一区| 久久先锋资源| 成年看免费观看视频拍拍| 精品91在线| 色婷婷综合激情视频免费看| 一本视频精品中文字幕| 人妻无码中文字幕一区二区三区| 91精品久久久久久无码人妻| 亚洲欧美成人网| 91在线播放免费不卡无毒| 国产一级一级毛片永久| 二级特黄绝大片免费视频大片| 色老二精品视频在线观看| 国产精品成人第一区| 97综合久久| 欧美色综合网站| 亚洲综合极品香蕉久久网| 国产精品综合色区在线观看| 亚洲午夜福利精品无码| 亚洲a级在线观看| 超碰aⅴ人人做人人爽欧美| 青青青国产在线播放| 久久成人国产精品免费软件| 中文成人在线视频| 青青国产视频|