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

Mifare1射頻卡上位機(jī)軟件的開發(fā)與實(shí)現(xiàn)

2012-01-14 08:51:12白翠翠夏春蕾戴曙光
無線電通信技術(shù) 2012年4期

白翠翠,夏春蕾,戴曙光

(上海理工大學(xué)光電信息與計(jì)算機(jī)工程學(xué)院,上海200093)

0 引言

IC卡按卡與外界數(shù)據(jù)傳送的形式不同分為接觸式IC卡和非接觸式IC卡[1]。接觸式IC卡通過觸點(diǎn)從讀寫模塊獲取能量和交換數(shù)據(jù);非接觸式IC卡通過射頻感應(yīng)從讀寫模塊獲取能量和交換數(shù)據(jù),所以非接觸式IC卡又叫射頻卡。與傳統(tǒng)的接觸式IC卡、磁卡相比較,利用射頻識(shí)別技術(shù)開發(fā)的非接觸式IC卡,在系統(tǒng)壽命、防監(jiān)聽和防解密等性能上具有很大的優(yōu)勢(shì)。目前我國(guó)引進(jìn)的射頻IC卡主要有PHILIPS公司的 Mifare1卡[2]和 ATMEL公司的Temic卡。而PHILIPS公司的Mifare1卡現(xiàn)在是市場(chǎng)的主流產(chǎn)品,應(yīng)用越來越廣。在VC6.0環(huán)境下,基于深圳市德卡科技有限公司的D8非接觸式讀寫器,開發(fā)了mifare1射頻卡上位機(jī)軟件,該上位機(jī)軟件操作方便,能夠滿足用戶的基本需求。

1 Mifare1射頻卡(簡(jiǎn)稱M1卡)

1.1 M1卡工作原理

M1卡片[3]的電氣部分只由1個(gè)天線和1個(gè)高速的RF射頻接口電路和數(shù)字電路部分組成。其工作原理是:讀寫器向卡片發(fā)送1組固定頻率的電磁波,卡片內(nèi)有1個(gè)LC串聯(lián)諧振電路,其頻率與讀寫器發(fā)射的頻率相同,在電磁波的激勵(lì)下,LC諧振電路產(chǎn)生共振,從而使電容內(nèi)有了電荷,在這個(gè)電容的另一端接有1個(gè)單向?qū)ǖ碾娮颖茫瑢㈦娙輧?nèi)的電荷送到另一個(gè)電容內(nèi)儲(chǔ)存,當(dāng)所積累的電荷達(dá)到2 V時(shí),此電容可作為電源為其他電路提供工作電壓,將卡內(nèi)數(shù)據(jù)發(fā)射出去或接收讀寫器的數(shù)據(jù)[4]。

1.2 M1卡存儲(chǔ)結(jié)構(gòu)

卡片上有1 K字節(jié)E2PROM存儲(chǔ)區(qū),并劃分16個(gè)扇區(qū),每區(qū)4塊,每塊16字節(jié)。各區(qū)的塊3蘊(yùn)含6字節(jié)密鑰A、6字節(jié)密鑰B、和4字節(jié)訪問控制條件。除0區(qū)塊0外的其余3塊均用于數(shù)據(jù)存儲(chǔ)。0區(qū)的塊0用于存放廠商代碼,已經(jīng)固化,不可更改。

1.3 M1卡的訪問控制

通過對(duì)各區(qū)區(qū)尾(塊3)的設(shè)置,可為各區(qū)分別建立相應(yīng)的安全保密形式。表1是各區(qū)塊3訪問控制位的分布情況。對(duì)訪問控制位的設(shè)置,決定該區(qū)各塊能否被訪問(讀操作或?qū)懖僮?以及訪問密鑰是key A還是key B。

表1 訪問控制位結(jié)構(gòu)

訪問條件的每一位,都可用符號(hào)C1XY、C2XY和C3XY(Y表示塊號(hào):0~3)表示,用于存放各區(qū)塊0~塊3對(duì)應(yīng)的訪問控制條件。每一安全保密形式的確立均取決于用這些符號(hào)表示的3個(gè)位的編碼。例如,C1X3、C2X3、C3X3即為各區(qū)控制塊 3讀/寫的訪問條件存放位。為保證安全性,3個(gè)控制位以正和反2種形式存放于訪問控制字節(jié)中。

表2示出對(duì)塊3自身的訪問條件,其中Key A|Key B表示“Key A或Key B”。

表2 塊3的訪問條件

由表2可見,密鑰A永遠(yuǎn)不能被讀出,但在滿足相應(yīng)條件時(shí)可以被改寫;密鑰B空間存放密鑰B時(shí),也應(yīng)設(shè)置為不可讀態(tài)。當(dāng)設(shè)置為有條件讀狀態(tài)時(shí),將只能存放數(shù)據(jù)。

由于塊3可以將自身加鎖,因此,在進(jìn)行卡片個(gè)人化時(shí)應(yīng)特別小心,防止造成不可逆的損失。

表3示出對(duì)各區(qū)塊0~塊2(Y=0~2)的訪問條件(0區(qū)塊0除外)。按此條件,可對(duì)所在區(qū)的相應(yīng)塊有條件的進(jìn)行讀、寫、增值、減值以及將數(shù)據(jù)寄存器的內(nèi)容寫入E2PROM(傳送)和將E2PROM的內(nèi)容存入數(shù)據(jù)寄存器(存儲(chǔ))操作(注意:各區(qū)塊3永遠(yuǎn)不能執(zhí)行增值、減值、傳送和存儲(chǔ)這4類數(shù)值操作)。

表3 塊0~塊2的訪問條件

譬如,若使C1XY、C2XY和C3XY為110,則可進(jìn)行增值操作;若使之為001,將僅可用于不可充值的遞減計(jì)數(shù)(減值操作)。

2 上位機(jī)軟件的實(shí)現(xiàn)

2.1 D8動(dòng)態(tài)鏈接庫(kù)

進(jìn)行M1卡上位機(jī)軟件的開發(fā)時(shí),需要使用D8非接觸式讀寫器提供的動(dòng)態(tài)鏈接庫(kù)。在客戶的VC 6.0項(xiàng)目中需要添加相應(yīng)的dcrf32.h、dcrf32.lib和dcrf32.dll文件。具體操作時(shí),將這3個(gè)文件拷貝至用戶的工程文件夾中。并在 VC6.0開發(fā)環(huán)境中[5-8],通過 Project→Settings→Link 設(shè)置 Category為 Input,Object/library modules下填寫 dcrf32.Lib(注意空1格),并在工程文件的源文件中加入如下代碼:#include“dcrf32.h”。

2.2 界面操作說明

每次進(jìn)行設(shè)備操作前,都必須先打開通訊端口,進(jìn)行參數(shù)設(shè)置;在對(duì)M1卡操作之前,先測(cè)試一下卡的類型是否正確;裝載設(shè)備密碼,即將密碼裝載到讀卡器的設(shè)備中去。只有裝載到設(shè)備中的密碼和卡片密碼進(jìn)行比對(duì)相匹配后,才能對(duì)卡進(jìn)行操作。

2.3 主程序流程圖

圖1是M1卡上位機(jī)軟件的主程序流程。上位機(jī)發(fā)送命令,讀寫器響應(yīng)上位機(jī)的命令,實(shí)現(xiàn)對(duì)M1卡的相應(yīng)控制和讀寫操作,然后將操作結(jié)果或讀來的數(shù)據(jù)傳送給上位機(jī)。其中halt[6]指令使卡片進(jìn)入停止模式,退出使用,直至再次上電復(fù)位。

圖1 主程序流程

2.4 實(shí)現(xiàn)中的重難點(diǎn)問題及解決方法

該上位機(jī)軟件分為6個(gè)部分,各部分功能、重要模塊的關(guān)鍵代碼實(shí)現(xiàn)及編程中注意的問題分析如下:

通訊設(shè)置:用戶可以根據(jù)實(shí)際需要選擇串口或USB通訊,選擇串口時(shí)通訊波特率無效。

卡型測(cè)試:能檢測(cè)的卡類型為:Mifare 1、FM11RF32、S70、ULTRA LIGHT、SHC1102、Mifare Light、Mifare PRO和DESFIRE等。用戶在對(duì)M1卡操作之前測(cè)試卡型是否正確。

密鑰管理:包括裝載設(shè)備密鑰和進(jìn)行讀寫控制模塊與M1卡的認(rèn)證。MIFARE系列產(chǎn)品的安全算法稱為Crypto1,它是基于48位長(zhǎng)度密鑰專有的流加密算法。訪問 MIFARE系列卡,密鑰非常關(guān)鍵。對(duì)執(zhí)行成功的認(rèn)證和后續(xù)訪問卡的E2PROM數(shù)據(jù),必須提供正確的密鑰。依ISO/IEC 14443A定義,選卡后用戶繼續(xù)MIFARE系列協(xié)議,此時(shí)強(qiáng)制執(zhí)行卡的認(rèn)證流程。Crypto1認(rèn)證是一個(gè)三重認(rèn)證,這個(gè)過程由Authent1和Authent2[7]指令來自動(dòng)執(zhí)行。在卡認(rèn)證過程中,加密算法被初始化。MIFARE系列卡在認(rèn)證成功后,通訊被加密。在執(zhí)行認(rèn)證指令期間,讀寫芯片從內(nèi)部的key buffer中讀取密鑰。密鑰總是由key buffer提供。用戶必須保證,在認(rèn)證開始前已經(jīng)把正確的密鑰放在key buffer中。

激活卡片:包括尋卡、halt卡和RF復(fù)位,尋卡通過防碰撞機(jī)制獲得天線范圍內(nèi)的一張卡的卡號(hào)。射頻復(fù)位的時(shí)間是2 ms。執(zhí)行halt指令后,卡進(jìn)入HALT模式,則必須把卡移開感應(yīng)區(qū)再進(jìn)來才能尋得這張卡,原因是防止卡片死鎖。卡片死鎖發(fā)生在慢慢進(jìn)入場(chǎng)強(qiáng)時(shí),卡片很容易發(fā)生死鎖:讀卡機(jī)發(fā)送任何命令,卡片都無法正確反應(yīng)。發(fā)生這類問題時(shí),使用者必須把卡片拿出場(chǎng)強(qiáng)后重新進(jìn)入場(chǎng)強(qiáng),卡片才能恢復(fù)工作。

M1卡讀寫操作:認(rèn)證通過后,用戶可以讀、寫每一個(gè)塊的數(shù)據(jù),但是在編程時(shí)要注意對(duì)塊0和塊3的操作。塊0為制造商塊,它含有集成電路制造商數(shù)據(jù)。出于安全和系統(tǒng)需求,制造商在生產(chǎn)過程中對(duì)此塊進(jìn)行了寫保護(hù),因此不能進(jìn)行寫操作。每一個(gè)扇區(qū)的塊3為控制塊,不能輕易進(jìn)行數(shù)據(jù)的改寫,因?yàn)樵诿恳淮未鎯?chǔ)器寫操作時(shí),內(nèi)部邏輯會(huì)驗(yàn)證存儲(chǔ)條件的格式。如果發(fā)現(xiàn)格式錯(cuò)誤,這個(gè)區(qū)將被永久性鎖死。另外在代碼中要注意如何將讀寫器中的數(shù)據(jù)取出以及十六進(jìn)制字符串和普通字符串的轉(zhuǎn)換。

主要實(shí)現(xiàn)代碼如下所示:

以2扇區(qū)為例,當(dāng)對(duì)塊3進(jìn)行寫操作的時(shí)候,系統(tǒng)會(huì)做出是否進(jìn)行寫操作的提示,若此時(shí)改寫了key A的內(nèi)容,則再次裝載密鑰時(shí),必須保證裝載至key buffer中的密鑰和存儲(chǔ)在卡片中的密鑰一致,否則該扇區(qū)將不能被再次訪問。

M1卡值操作:值操作前一定要進(jìn)行初始化,將該塊變?yōu)閿?shù)值塊。在值操作中,按照M1卡訪問機(jī)制,要先對(duì)M1卡進(jìn)行認(rèn)證,認(rèn)證通過后才能進(jìn)行初始化值、讀值、加值、減值、傳輸操作。下面以初始化值為例,其參考代碼(key A)如下:

在上述代碼中,對(duì)于非正常情況,例如對(duì)塊0(廠商代碼塊)或塊3(控制塊),均不能進(jìn)行值操作,否則,該操作將造成某個(gè)扇區(qū)被鎖死的現(xiàn)象,致使該扇區(qū)被再次訪問時(shí)出錯(cuò)而報(bào)廢。對(duì)于傳輸操作,該指令的目的地址必須有其相應(yīng)的權(quán)限,才能將計(jì)算結(jié)果存儲(chǔ)到卡內(nèi)的E2PROM中。

3 結(jié)束語

高度的信息集成化及安全性使M1卡融入當(dāng)今信息技術(shù)的主流,備受人們青睞。設(shè)計(jì)的Mifare1卡上位機(jī)軟件,能夠?qū)崿F(xiàn)讀卡器訪問M1卡的全部功能。經(jīng)實(shí)踐證明:該系統(tǒng)能對(duì)天線范圍內(nèi)的多個(gè)卡準(zhǔn)確無誤地讀寫。軟件代碼簡(jiǎn)潔,容易移植,在此上位機(jī)軟件的基礎(chǔ)上稍加修改就能開發(fā)出不同測(cè)試需求的應(yīng)用軟件。此外,對(duì)于學(xué)習(xí)非接觸式IC卡技術(shù)具有很好的借鑒作用。

[1] 嚴(yán)雄武,梁楚樵.MIFARE非接觸式IC卡讀卡器的設(shè)計(jì)構(gòu)架研究[J].武漢理工大學(xué)學(xué)報(bào),2004,26(12):89-91.

[2] Philips Semiconductors.Standard Card IC MF1 IC S50 Functional specification[R],2001.

[3] FINKENZELLER K.射頻識(shí)別(RFID)技術(shù)[M].陳大才,王卓人譯.北京:電子工業(yè)出版社,2001.

[4] 陸永寧.非接觸IC卡原理與應(yīng)用[M].北京:電子工業(yè)出版社,2006.

[5] 高守傳,聶云銘,鄭靜.Visual C++6.0開發(fā)指南[M].北京:人民郵電出版社,2007.

[6] 孫鑫,余安平.VC++深入詳解[M].北京:電子工業(yè)出版社,2006.

[7] 黃維通.Visual C++面向?qū)ο笈c可視化程序設(shè)計(jì)(第2版)[M].北京:清華大學(xué)出版社,2009.

[8] 鄭阿奇,丁有和.Visual C++[M].北京:清華大學(xué)出版社,2005.

主站蜘蛛池模板: 国产欧美日韩专区发布| 亚洲高清在线播放| 欧美日韩91| 一级成人a毛片免费播放| 国产欧美网站| 国内精品久久九九国产精品| 亚洲精品无码抽插日韩| 孕妇高潮太爽了在线观看免费| 成人a免费α片在线视频网站| 一区二区午夜| 尤物亚洲最大AV无码网站| 国产微拍一区| 亚洲视频免费在线看| 区国产精品搜索视频| 国产色网站| 欧洲熟妇精品视频| 中文字幕不卡免费高清视频| 777午夜精品电影免费看| 亚洲一区二区精品无码久久久| 亚洲第一香蕉视频| 青青热久麻豆精品视频在线观看| 国产在线观看第二页| 67194在线午夜亚洲 | 国产99热| 色婷婷丁香| 色综合久久综合网| 97久久免费视频| 国产精品无码制服丝袜| 伦精品一区二区三区视频| 国产哺乳奶水91在线播放| 91在线日韩在线播放| 亚洲精品男人天堂| 麻豆国产精品一二三在线观看| 自慰高潮喷白浆在线观看| 亚洲综合片| 日韩精品一区二区三区免费| 亚洲无线国产观看| 中国国产一级毛片| 午夜爽爽视频| 国产成人高精品免费视频| 亚洲婷婷在线视频| 亚洲男人天堂久久| 97人妻精品专区久久久久| 青青热久免费精品视频6| 亚洲欧州色色免费AV| 久久国产拍爱| 亚洲国产成人精品青青草原| 午夜日b视频| 久久久久久高潮白浆| 亚洲国产综合精品一区| 国产SUV精品一区二区6| 欧美黄网在线| 亚洲视屏在线观看| 国产95在线 | 天天综合网色中文字幕| 97亚洲色综久久精品| 亚洲国产亚综合在线区| 亚洲成人在线免费| 久久精品娱乐亚洲领先| 国产精品视频3p| 18禁影院亚洲专区| 国产成人a毛片在线| 欧美精品1区| 亚洲人成网站观看在线观看| 超碰aⅴ人人做人人爽欧美 | 欧美一区二区自偷自拍视频| 亚洲日韩日本中文在线| 国产主播在线一区| 色噜噜狠狠色综合网图区| 国产成人精彩在线视频50| 99热这里都是国产精品| 四虎成人精品在永久免费| 就去吻亚洲精品国产欧美| 亚洲天堂首页| 一本色道久久88| 99re视频在线| 亚洲第一黄色网址| 国产情精品嫩草影院88av| 日韩一区精品视频一区二区| 亚洲第一香蕉视频| 久久黄色免费电影| 国产成人综合在线观看|