當(dāng)前位置:首頁 > 物聯(lián)網(wǎng) > 《物聯(lián)網(wǎng)技術(shù)》雜志
[導(dǎo)讀]摘 要:提出一種可以排斥復(fù)制卡的125 kHz ID卡讀卡器設(shè)計方案。以51單片機為控制核心,HTRC110作為射頻接口芯片,配以適當(dāng)?shù)奶炀€電路、串口通訊電路和聲光指示電路組成讀卡器硬件,軟件通過控制HTRC110天線的開閉實現(xiàn)對射頻場中的卡片復(fù)位,然后打開讀卡通道限時接收,利用復(fù)制卡進(jìn)入磁場后開始發(fā)送卡號信息的時間滯后于原版卡的特性,實現(xiàn)讀卡器對復(fù)制卡的排斥抑制。實際測試效果良好,證明方案設(shè)計合理可行。

潘春偉,羅明華,姚慶梅

(1.山東建筑大學(xué) 信息與電氣工程學(xué)院,山東 濟(jì)南 250101;2.山東省智能建筑技術(shù)重點實驗室,山東 濟(jì)南 250101)

引 言

125kHzID 卡結(jié)構(gòu)簡單,40位的卡片序列號包含在卡內(nèi)一個 64 位的卡號信息中,與讀卡器使用TTF(TagTalkFirst) 方式通訊,廣泛應(yīng)用于考勤、門禁、微金額支付等系統(tǒng)中。由于卡片向讀寫器傳送數(shù)據(jù)時使用了非加密的明碼方式,使得復(fù)制、偽造卡片十分容易且成本低廉。

根據(jù)常見復(fù)制卡的特點,本文設(shè)計了一種新型 125 kHz 防復(fù)制ID 卡讀卡器,可以對使用Temic、Hitags、EM 系列等可讀寫卡復(fù)制的ID 卡進(jìn)行屏蔽排斥,從而有效保護(hù)用戶系統(tǒng)的安全。

1 理論分析

原版的ID 卡功能單一,出廠時已將 64 位的卡號信息固化在卡片的非易失性存儲器內(nèi)??ㄆM(jìn)入125 kHz 的射頻場后得電復(fù)位,立即主動將 64 位卡號信息持續(xù)循環(huán)向讀卡器發(fā)送。原版卡的上電復(fù)位時間極短,我們以 EM4100 卡片為例[1],其說明書中雖然沒有給出準(zhǔn)確的卡片復(fù)位時間,但經(jīng)大量實際測試表明該值小于1 ms。

具有防復(fù)制卡功能的ID卡讀卡器設(shè)計與實現(xiàn)

最常見的有 Temic、Hitags、EM 系列可讀寫卡片。相對于原版的ID 卡,這些卡片的共同特點是,一方面可讀寫卡片比同類型只讀卡片的電路結(jié)構(gòu)復(fù)雜,相同情況下電路復(fù)位比只讀卡需要更的時間 ;另一方面,這些可讀寫卡由于既可以工作在RTF(Reader Talk First)模式,又可以工作在 TTF 模式,通

常還可以設(shè)定通訊的數(shù)據(jù)編碼和速率,故卡片電路復(fù)位完成后還要讀出配置信息,以便決定進(jìn)入哪種工作模式,執(zhí)行何種通訊數(shù)據(jù)編碼和通訊速率。因此,從進(jìn)入射頻場,到開始向讀寫器發(fā)送數(shù)據(jù),復(fù)制的ID 卡所用的時間要遠(yuǎn)遠(yuǎn)大于原版的ID 卡。


上述三種常用于復(fù)制的卡片,從其數(shù)據(jù)說明書中可以查得準(zhǔn)確的卡片從進(jìn)入磁場到開始以TTF 模式發(fā)送數(shù)據(jù)的時間[2-4],與原版卡對比可以得到表 1。

普通125 kHz ID 卡工作時數(shù)據(jù)傳輸速率是 2 Kb/s,傳送1 位的時間是 512 μs,傳送 64 位的卡號信息共需 32.768 ms。根據(jù)表 1 中數(shù)據(jù)可以得出結(jié)論,若原版卡和復(fù)制卡同時進(jìn)入射頻場,復(fù)制卡開始主動發(fā)送數(shù)據(jù)的時間至少比原版卡滯后2 ms,即滯后約 4 個數(shù)據(jù)位(512 μs×4 ≈ 2 ms)。根據(jù)這一差別,設(shè)計讀卡器時如果在打開射頻場后延時 1 ms 開始讀取數(shù)據(jù), 則在之后的 32.768 ms 時間內(nèi)可讀到原版卡的全部 64 位卡號信息,而復(fù)制ID 卡只能讀取約 60 位。利用這一特性,就可以設(shè)計出屏蔽復(fù)制卡的ID 卡讀卡器。

2 硬件設(shè)計

從前述理論分析可看出,屏蔽復(fù)制卡的機制主要在于軟件,硬件方面沒特殊要求。如圖 1 所示,整個系統(tǒng)以普通的 51 單片機STC89C52 為核心,外圍電路包括 HTRC110 接收模塊、串行口通訊模塊、聲光指示模塊及電源模塊等。STC89C52 控制HTRC110 芯片實現(xiàn)卡片信息讀取,讀到的 64 位卡號信息經(jīng)解碼后得到 40 位有效卡號通過串口輸出,并驅(qū)動聲光電路動作。此外串口還可以實現(xiàn)單片機的ISP 功能,電源電路實現(xiàn)對整個系統(tǒng)穩(wěn)定可靠供電。

2.1 主控芯片電路

主控芯片完成系統(tǒng)各模塊的軟件初始化、讀卡解碼、串行通信及聲光控制等功能,其中除讀卡解碼外其他任務(wù)都比較簡單。讀卡解碼雖然工作量較大,但在普通ID 卡 2 Kb/s 的通訊速率下,技術(shù)成熟、物美價廉的 51 系列單片機就可以滿足設(shè)計要求。

具有防復(fù)制卡功能的ID卡讀卡器設(shè)計與實現(xiàn)

系統(tǒng)選用宏晶科技STC89C52RC 單片機作為主控芯片[5],STC89C52RC的最高時鐘頻率可達(dá) 80MHz,內(nèi)部自帶 8KBFLASH程序存儲器和 512字節(jié)數(shù)據(jù)存儲器,有 3個定時器和1 個串口,并可通過串口實現(xiàn)ISP 程序下載與更新。

STC89C52RC 外圍配以簡單的阻容復(fù)位電路,為獲得較為準(zhǔn)確的定時時間和串行通訊波特率,使用 22.118 4 MHz 晶振。

2.2 HTRC110模塊電路

卡 號 信 息 接 收 模 塊 選 用 125 kHz 射 頻 接口 芯片HTRC110[6]。HTRC110 支持所有工作頻率為 125 kHz, 使用AM 寫數(shù)據(jù)、AM/PM 讀數(shù)據(jù)的射頻卡片(標(biāo)簽),可以對數(shù)據(jù)實現(xiàn)調(diào)制與解調(diào),根據(jù)系統(tǒng)或卡片(標(biāo)簽)的需要設(shè)置芯片增益、帶寬等參數(shù),并可通過軟件打開或關(guān)閉天線。110 芯片通過三線串行通訊與CPU 連接。

HTRC110 模塊電路如圖 2 所示。芯片時鐘選用 4 MHz 晶振,SCLK、DOUT、DIN 加上拉電阻后與微處理器的I/O 口相連接,ANT 插座用于外接天線。

具有防復(fù)制卡功能的ID卡讀卡器設(shè)計與實現(xiàn)

2.2 通訊及聲光指示電路

通訊電路實現(xiàn)有效卡片序列號的輸出,并實現(xiàn) ISP 程序下載功能。系統(tǒng)中選用一片MAX232 實現(xiàn)串口通訊,其電路采用經(jīng)典的 4 電容接法。聲光指示電路用于讀卡信息指示,當(dāng)讀到有效卡號時,LED 閃爍并伴蜂鳴器動作。

3 軟件設(shè)計

防復(fù)制ID 卡讀卡器的軟件主要由系統(tǒng)初始化程序、卡片信息接收、卡片信息解碼、數(shù)據(jù)輸出與狀態(tài)指示等部分組成。

系統(tǒng)軟件總框圖如圖 3所示,開機初始化完成后即進(jìn)入無限循環(huán)讀卡,每次先復(fù)位射頻場中的卡片,接著在限定時間內(nèi)持續(xù)接收 64位卡號信息,如果接收成功則從接收的卡片信息中解碼卡片序列號,并將卡片序列號從串口輸出,同時驅(qū)動聲光指示。

具有防復(fù)制卡功能的ID卡讀卡器設(shè)計與實現(xiàn)

3.1 HTRC110初始化配置程序

HTRC110 初始化在開機后的系統(tǒng)初始化階段進(jìn)行,其流程圖見圖 4。首先通過 HTRC110 的 4 個配置頁設(shè)置芯片相關(guān)工作參數(shù), 包括:通過配置頁 0, 設(shè)置通頻帶為160 Hz ~3 kHz,設(shè)置放大器增益為 500 ;通過向配置頁 1 寫入0 打開天線 ;向配置頁 3 寫入0 設(shè)置HTRC110 的外部晶振為 4 MHz。之后的AST 設(shè)置和通用設(shè)置都是HTRC110 廠家指定必須執(zhí)行的序列[6]。經(jīng)過上述步驟,HTRC110 初始化設(shè)置完成,開始準(zhǔn)備從天線射頻場中接收卡片信息。

3.2 卡號信息接收程序

卡號信息接收程序用來接收 64 位卡號信息,其流程如圖5 所示。首先通過設(shè)置配置頁 1 的 TXDIS 位關(guān)閉天線,射頻場中的所有卡片因為失去能量來源而全部斷電,5 ms 后清除TXDIS 位打開天線,射頻場內(nèi)的所有卡片得電復(fù)位,原版卡直接進(jìn)入TTF 模式循環(huán)發(fā)送 64 位卡號信息,復(fù)制卡讀取配置頁數(shù)據(jù),根據(jù)配置參數(shù)開始進(jìn)入TTF 模式循環(huán)發(fā)送 64 位卡號信息。

HTRC110在打開天線后立即設(shè)置為數(shù)據(jù)接收模式,然后延時 1ms以等待原版卡復(fù)位,之后開始限時接收數(shù)據(jù)。接收64位卡號信息需要 32.768ms,為增加接收的可靠性,接收時間設(shè)置為接收 65位數(shù)據(jù)的時間,即 512μs×65=33.28ms, 在此時間內(nèi) CPU 循環(huán)查詢 HTRC110的 DOUT引腳。64位ID卡的數(shù)據(jù)采用曼徹斯特編碼,上升沿表示數(shù)據(jù)“1”,下降沿表示數(shù)據(jù)“0”,發(fā)送連續(xù)的“0”或“1”時,兩個數(shù)據(jù)沿之間增加一個狀態(tài)轉(zhuǎn)換沿[7]。在DOUT端,捕捉到數(shù)據(jù)沿則立即將數(shù)據(jù)移位進(jìn)入數(shù)據(jù)緩沖區(qū),如果是狀態(tài)轉(zhuǎn)換沿則繼續(xù)監(jiān)測DOUT端的下一個電平跳變。如果在 33.28ms時間內(nèi)接收到 64 個有效數(shù)據(jù)位則轉(zhuǎn)去解碼程序,否則繼續(xù)進(jìn)行下一次復(fù)位天線接收數(shù)據(jù)的循環(huán)。根據(jù)前述理論分析,只有原版卡可以在 33.28 ms 的時間內(nèi)送出完整的 64 位卡號信息,復(fù)制卡無法全部送出,從而實現(xiàn)了對復(fù)制卡的屏蔽抑制。

樣接收到的數(shù)據(jù)可能并不是以 9 個“1”開頭,因此第一步先找出緩存中 64 位卡號數(shù)據(jù)的頭部,方法是將 64 位卡號數(shù)據(jù)

具有防復(fù)制卡功能的ID卡讀卡器設(shè)計與實現(xiàn)

3.3卡片序列號解碼程序

卡片序列號解碼程序?qū)崿F(xiàn)從接收的 64 位卡號信息中提取40位有效的卡片序列號并校驗其正確性??ㄆ瑑?nèi)卡號信息的結(jié)構(gòu)如表 2所示,其中 9個“1”的頭部用于識別卡序列號的開始,之后是 50位的卡序列號及其校驗位(卡序列號 5字節(jié)共 40位,每 4位增加一個行偶校驗位),最后是 4位列偶檢驗及1位停止位“0”。

具有防復(fù)制卡功能的ID卡讀卡器設(shè)計與實現(xiàn)

卡號解碼程序的流程圖如圖 6 所示。通常的ID 卡接收程序中一般先識別接收 9 個“1”的卡片信息頭部,然后接收其余部分。這種方法的好處是解碼簡單,而且可以邊接收邊解碼,缺點是由于要先識別卡號信息的頭部,導(dǎo)致接收時間變長。本設(shè)計由于要利用復(fù)制卡發(fā)送卡號信息起始時間的滯后性實現(xiàn)對復(fù)制卡的抑制,允許接收的時間嚴(yán)格控制為 33.28 ms, 故不能先識別頭部,而是有數(shù)據(jù)就接收,先存儲后解碼。這樣接收到的數(shù)據(jù)可能并不是以 9 個“1”開頭,因此第一步先找出緩存中 64 位卡號數(shù)據(jù)的頭部,方法是將 64 位卡號數(shù)據(jù)做大循環(huán)右移,每移 1 位立即檢查開始的 9 位是不是 9 個“1”且第 64 位是不是結(jié)束位“0”,不是則繼續(xù)移位直至找到頭部。如果移位 64 次后都沒有找到頭部則說明接收的數(shù)據(jù)有誤,返回接收程序繼續(xù)接收。

具有防復(fù)制卡功能的ID卡讀卡器設(shè)計與實現(xiàn)


找到數(shù)據(jù)的頭部后,從頭部的下一位(第 10位)開始到第 59位,每 5位正好對應(yīng)半個字節(jié)卡序列號數(shù)據(jù)及1位偶校驗位,因此可以每 5位提取作為一個字節(jié),50位共提取 10個字節(jié)。第 60位到 64位是列校驗位和停止位,此 5位提取作為第 11 個字節(jié)。

數(shù)據(jù)提取完成后先對前 10個字節(jié)作行偶校驗,再將前10個字節(jié)與第 11字節(jié)進(jìn)行列偶校驗,校驗通過說明接收到正確的卡號,將前 10 個字節(jié)中除校驗位之外的數(shù)據(jù)提取組合為5 個字節(jié),即為最后有效的 16 進(jìn)制卡片序列號。

4 實驗測試

使用EM4100、HITAGS32、EM4205、TEMIC5567 四種典型卡片各 200 張進(jìn)行測試,所有的EM4100 原版卡片均可正常讀取卡號,其他三種復(fù)制卡片全部被屏蔽,證明本文討論的方法是正確可行的。

結(jié) 語

本文討論了根據(jù)復(fù)制卡在進(jìn)入磁場后發(fā)送卡片信息的時間滯后于原版卡的特性實現(xiàn)讀卡器屏蔽復(fù)制卡的方法和主要技術(shù)。系統(tǒng)硬件結(jié)構(gòu)簡單,軟件實現(xiàn)容易。隨著技術(shù)的發(fā)展, 復(fù)位時間更短的復(fù)制卡,本系統(tǒng)可能會發(fā)生誤讀,另外使用更快的CPU 代替 51 單片機可以大大提高系統(tǒng)性能。


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉