陳淋樹
(作者單位:廈門狄耐克智能科技股份有限公司)
為滿足小區(qū)住戶越來越高的安全要求,常規(guī)做法是使用門禁IC卡或ID卡來限制進(jìn)出。但是市場(chǎng)上IC卡密鑰算法已經(jīng)被破解,只要有一張小區(qū)的門禁卡就可以輕易地復(fù)制出無數(shù)張的門禁卡,導(dǎo)致小區(qū)的門禁卡被隨意地復(fù)制,很多非小區(qū)的住戶可以隨意地進(jìn)出小區(qū),給小區(qū)的安全管理帶來挑戰(zhàn)。因此,需要開發(fā)更復(fù)雜的IC卡防復(fù)制系統(tǒng),來確保各小區(qū)的安全。
新開發(fā)的IC卡防復(fù)制系統(tǒng),在IC卡扇區(qū)密鑰基礎(chǔ)上加入隨機(jī)動(dòng)態(tài)密碼驗(yàn)證功能算法。運(yùn)行該套防復(fù)制系統(tǒng)后,使用復(fù)制的IC卡,被系統(tǒng)識(shí)別到后,將被系統(tǒng)刪除,包括原來的卡以及復(fù)制卡。因此,可以做到真正的安全,讓非小區(qū)人員無法輕易進(jìn)入小區(qū)。
本套系統(tǒng)需要配套設(shè)計(jì)門口機(jī)IC卡頭以及PC端IC讀卡頭,這是系統(tǒng)的重要組成部分。
1.門口機(jī)IC卡頭設(shè)計(jì)
當(dāng)業(yè)主即將進(jìn)入小區(qū)時(shí),需要在圍墻機(jī)或者門口機(jī)進(jìn)行刷卡操作。該門口機(jī)卡頭采用FM 17550S芯片。卡頭通過I2C接口跟門口機(jī)主CPU進(jìn)行通信。如圖1、圖2所示,F(xiàn)M 17550S非接觸芯片模塊采集到數(shù)據(jù)后,通過I2C傳輸給主CPU,由主CPU進(jìn)行數(shù)據(jù)解析。
圖1 FM 17550S原理圖
圖2 刷卡模塊接CPU
2.PC端IC卡頭
PC端IC卡頭主要用來讀取有關(guān)的IC卡信息,主要包括卡號(hào)、卡里的秘鑰,并往IC卡扇區(qū)中寫入我們的動(dòng)態(tài)秘鑰等信息。
該卡頭同樣使用FM 17550S芯片,通過USB口跟電腦進(jìn)行通信,主要通過CP2102 USB轉(zhuǎn)串口模塊跟FM 17550S非接觸式芯片進(jìn)行通信。
圖3 USB口接電腦
圖4 USB轉(zhuǎn)串口芯片接FM 17550S非接觸芯片
圖5 刷卡算法流程圖
主要的算法如下:IC卡頭在判斷是否能注冊(cè)IC卡的時(shí)候,首先讀取UID信息,也就是ID號(hào)信息,以及扇區(qū)內(nèi)特殊信息,包括密鑰數(shù)據(jù)、設(shè)備信息、管理權(quán)限3部分信息。
門禁設(shè)備首次使用會(huì)默認(rèn)只識(shí)別ID卡號(hào),對(duì)于其他的參數(shù),門禁設(shè)備會(huì)寫入到IC卡扇區(qū)中,此時(shí)只要有注冊(cè)到門禁的卡,都可以開門。有關(guān)的秘鑰、設(shè)備信息,以及管理權(quán)限等信息就會(huì)存入到門禁的內(nèi)存中。此時(shí)我們?cè)陂T禁的緩存中開辟一個(gè)鏈表來存儲(chǔ)卡的相關(guān)信息。
如果有人把卡拿去復(fù)制,那么扇區(qū)內(nèi)所有數(shù)據(jù)都跟授權(quán)卡一樣,若使用復(fù)制卡,將對(duì)比內(nèi)部數(shù)據(jù)跟IC卡外部讀取數(shù)據(jù),發(fā)現(xiàn)數(shù)據(jù)一樣,開門放行。同時(shí),將門禁最新生成的動(dòng)態(tài)秘鑰寫入該復(fù)制IC卡扇區(qū)內(nèi)。門禁內(nèi)存中的數(shù)據(jù)也會(huì)被同步更新,即更新秘鑰。
此時(shí)另外一個(gè)人,拿著授權(quán)卡來刷,該授權(quán)卡的秘鑰未更新,門禁就會(huì)跟最新的內(nèi)存中的鏈表進(jìn)行比對(duì),發(fā)現(xiàn)秘鑰錯(cuò)誤,那么該卡號(hào)就會(huì)被永久刪除。
可能有人會(huì)說,門口機(jī)重啟,或者突然斷電,門禁內(nèi)存的信息就沒了。這時(shí)候沒被刪除的卡號(hào)還能再用一次,用完一次后,卡上的信息以及門禁內(nèi)存的信息都會(huì)同步,那么使用另外一張卡,就會(huì)同樣地被刪除相關(guān)信息。
通常,小區(qū)進(jìn)入單元都只有一個(gè)出入口,因此復(fù)制卡大概率會(huì)在同一個(gè)門口機(jī)上出現(xiàn),會(huì)被判定為復(fù)制卡,同步被刪除。
1.系統(tǒng)組成
圖6 對(duì)講系統(tǒng)圖
圖7 IC卡使用說明圖
根據(jù)市場(chǎng)需求,設(shè)計(jì)一套IC卡防復(fù)制系統(tǒng),該系統(tǒng)一般由門口機(jī)刷卡模塊、PC端刷卡模塊及PC軟件組成,系統(tǒng)組成如圖6所示。系統(tǒng)組成主要包含:門口機(jī)刷卡模塊、PC端刷卡模塊,以及PC管理軟件。下面簡單介紹一下PC軟件。首先,通過PC端卡頭讀取有關(guān)的IC卡信息,并將有關(guān)的加密位允許信息寫入IC卡分區(qū)內(nèi),如圖8所示。
圖8 IC卡管理功能界面
然后,通過卡號(hào)授權(quán),將IC卡下發(fā)到門禁機(jī)中,如圖9所示。
圖9 IC卡卡號(hào)授權(quán)管理界面
2.器件介紹
FM17550S是一款高度集成的工作在13.56Mhz下的非接觸通訊芯片,支持ISO/IEC 14443 TypeA協(xié)議的讀寫器模式,支持ISO/IEC 14443 TypeB的讀寫器模式,支持ISO/IEC 14443A協(xié)議的卡片模擬工作模式。能提供低功耗的外部卡片偵測(cè)功能,方便電池供電。它是一個(gè)需要低功耗工作,并且需要實(shí)時(shí)處理任意時(shí)刻會(huì)進(jìn)入射頻場(chǎng)的外部卡片的讀寫器設(shè)備。
FM 17550具備低電壓、低功耗、驅(qū)動(dòng)能力強(qiáng)、多接口支持及多協(xié)議支持等特點(diǎn)。ISO 14443 TYPEA讀寫器支持通 訊速率106kbps、212kbps、424kbps、848kbps,讀寫器的操作距離50mm。支持I2C接口支持最高400kbps的快速模式和最高3.4Mbps的高速模式,支持串行UART接口,支持RS232幀格式,最高通訊速率1.2Mbps[1]。
圖10 FM 17550S封裝引腳圖
表1 FM17550S封裝引腳說明
(接上表)
圖11 內(nèi)部結(jié)構(gòu)圖
I2C接口是一種低成本、引腳少的串行總線接口方式,F(xiàn)M17550S的I2C接口只能用作從機(jī)端,I2C的時(shí)鐘生成和訪問仲裁由主機(jī)端實(shí)現(xiàn)。FM 17550S的I2C通訊支持標(biāo)準(zhǔn)模式、快速模式和高速模式。
3.ISO 14443協(xié)議
ISO 14443協(xié)議是非接觸IC卡(Contactless card standards)標(biāo)準(zhǔn)協(xié)議。這套標(biāo)準(zhǔn)定出了讀取距離在7~15cm的短距離非接觸IC卡的功能以及運(yùn)作標(biāo)準(zhǔn),使用的頻率為13.56MHz[2]。ISO 14443定義了TypeA、TypeB兩種類型的協(xié)議,通信速率為106kbit/s,它們的不同主要在于載波的調(diào)制深度及位的編碼方式。
TypeA采用開關(guān)鍵控的manchester編碼,TypeB則采用NRZ-L的BPSK編碼。TypeB跟TypeA比較,具有傳輸能量不中斷、速率高、抗干擾能力強(qiáng)等優(yōu)勢(shì)。RFID的核心是防沖突技術(shù)。項(xiàng)目中使用的FM 17550S通信芯片同時(shí)支持TY鄄PEA以及TPYEB。詳細(xì)可以參考ISO/IEC 14443協(xié)議。
使用了這套IC卡防復(fù)制系統(tǒng),將使復(fù)制卡因動(dòng)態(tài)秘鑰不匹配而非常容易被識(shí)別出來,復(fù)制卡將被清除出門禁系統(tǒng)。同時(shí),系統(tǒng)將提醒是復(fù)制卡。這樣一來業(yè)主所有的卡必須通過物業(yè)來進(jìn)行授權(quán),有效杜絕了復(fù)制卡的做法,大大提高了小區(qū)進(jìn)出管理的安全性和規(guī)范性。
小區(qū)的門禁系統(tǒng)是安防的一道保障線,通過防復(fù)制系統(tǒng)的運(yùn)作,可以讓非法復(fù)制卡無法使用,讓小區(qū)的門禁更規(guī)范、更安全。