在無線通信中數(shù)據(jù)的傳輸在空間進行,因此無源電子標(biāo)簽的數(shù)據(jù)通信涉及通信和信息安全等技術(shù),其中信息的安全性是無源電子標(biāo)簽設(shè)計時需要解決的核心問題。適應(yīng)于無源電子標(biāo)簽的通信協(xié)議有多種,其中ISO/IEC14443協(xié)議是目前應(yīng)用較廣的協(xié)議。本文采用這一協(xié)議在安全性設(shè)計基礎(chǔ)上,完成無源電子標(biāo)簽數(shù)字集成電路芯片的設(shè)計。
l 芯片的電路結(jié)構(gòu)
根據(jù)ISO/IEC 14443一A協(xié)議對標(biāo)簽通信的規(guī)定,本文設(shè)計的無源電子標(biāo)簽數(shù)字電路芯片的結(jié)構(gòu)如圖1所示,主要由通信安全、信息安全、存儲以及控制等4個單元組成,圖l同時給出各個單元中所需子電路模塊的組成結(jié)構(gòu)。
由于電子標(biāo)簽采用的半雙工通信方式,為減小芯片面積,本文采用復(fù)用的方法對各單元的子電路模塊進行設(shè)計。在信道層次上,將加密/解密子電路模塊復(fù)用,將校驗碼的生成和校驗子電路模塊復(fù)用;在子電路模塊內(nèi)部層次上,將計數(shù)器以及鎖存器等電路復(fù)用。
電子標(biāo)簽以被動方式通過天線的感應(yīng)獲得能量,如果電路的功耗過大,將出現(xiàn)能量不足和信號不穩(wěn)定等狀態(tài),因此本文采用門控時鐘技術(shù)和控制電路節(jié)點跳變方法降低所設(shè)計電子標(biāo)簽的功耗。在結(jié)構(gòu)層次上,以門控時鐘取代原始時鐘,為子電路模塊提供時鐘信號;在子電路模塊內(nèi)部層次上,控制電路系統(tǒng)內(nèi)部各觸發(fā)器和鎖存器輸出的跳變次數(shù)。
2 控制單元以及存儲單元
考慮到系統(tǒng)任務(wù)的復(fù)雜度,控制單元調(diào)度任務(wù)的工作由主控制和從協(xié)議控制2個子電路模塊協(xié)同完成。主控制子電路模塊用于協(xié)調(diào)通信安全、信息安全以及存儲等單元中各子電路模塊,為從協(xié)議控制子電路模塊做準(zhǔn)備;從協(xié)議控制子電路模塊用于完成預(yù)設(shè)的通信方案。
由于本文設(shè)定標(biāo)簽接收和發(fā)送的最大字節(jié)數(shù)為32位,而各子電路模塊的接口總線為8位,為了協(xié)調(diào)電路系統(tǒng)發(fā)送存儲數(shù)據(jù)和加密操作的時序,控制單元設(shè)置了一由28個字節(jié)構(gòu)成的寄存器組,作為虛擬RAM,以暫存數(shù)據(jù)。
標(biāo)簽操作的數(shù)據(jù)存放在存儲單元的E2PROM電路中,為了與總線接口配合,存儲單元中包含了接口電路,以完成控制單元與E2PROM之間的總線轉(zhuǎn)換。
3 通信安全單元
在無線通信過程中,由于信號容易受到突發(fā)的偶然因素和系統(tǒng)本身使用特點的影響產(chǎn)生干擾,考慮到電子標(biāo)簽的半雙工通信方式及其成本,本文在通信安全單元的設(shè)計中,采用數(shù)據(jù)編碼技術(shù)、信道編碼技術(shù)和防沖突訪問控制等3種技術(shù)進行檢錯。通過改進米勒碼解碼器對接收信號進行解碼,并以曼徹斯特碼編碼器對發(fā)送信號進行編碼。通信安全單元既需要生成信道循環(huán)冗余校驗碼和奇校驗碼,又要對接收的信道校驗碼進行校驗,這2個功能具有相同的電路結(jié)構(gòu),數(shù)據(jù)以比特流的形式傳輸,因此可采用功能復(fù)用方法設(shè)計循環(huán)冗余校驗和奇校驗?zāi)K子電路。本文同時基于面向位沖突幀的樹型搜索算法的防沖突訪問機制,設(shè)計防沖突訪問控制子電路模塊。
4 信息安全單元
對無源電子標(biāo)簽信息的安全性造成威脅的因素有人為和客觀2種,結(jié)合本文研制的電子標(biāo)簽存儲的數(shù)據(jù)量較少特點,信息安全單元可采用如下技術(shù)設(shè)計:
?。?)采用基于DES(Data Encryption Standard)密碼體系的CFB方式設(shè)計加密協(xié)處理器,使有效數(shù)據(jù)加密后才在信道中傳輸;
?。?)采用基于DES密碼體系的三重相互認(rèn)證機制,使閱讀器和電子標(biāo)簽可分別確認(rèn)對方操作的合法性。
4.1 密碼體系的優(yōu)化設(shè)計
DES密碼體系CFB方式的設(shè)計核心是加密函數(shù),其結(jié)構(gòu)以及優(yōu)化方案可由圖2所示體系給出。主要包括初始置換、逆初始置換、循環(huán)結(jié)構(gòu)以及置換選擇A的優(yōu)化設(shè)計。
如果以連線方法實現(xiàn)初始置換的位映射關(guān)系,不僅使版圖的布局布線工作量增大,而且連線占用面積也較大,因此,本文采用移位寄存器方法實現(xiàn)初始置換的功能??紤]到初始置換表中每一列的值分別對應(yīng)每一輸入字節(jié)的位2,4,6,8和位1,3,5,7,而且這里設(shè)定的接口總線寬為1個字節(jié),所以可將初始置換表按照如下矩陣進行轉(zhuǎn)換:{初始置換表}={初始置換的每一列}×{每個字節(jié)由低位到高位排列}
而且,每一位數(shù)據(jù)分別存儲在8個移位寄存器的第一個位置,當(dāng)接收到1個字節(jié),各移位寄存器的內(nèi)容均右移一位,于是便可得到圖2中的初始置換電路結(jié)構(gòu)。類似地,逆初始置換也以移位寄存器的方法實現(xiàn)位映射關(guān)系。
考慮到研制芯片中時鐘周期的裕度較大,因此,采用兩次循環(huán)結(jié)構(gòu)展開和二級流水線相結(jié)合的技術(shù)設(shè)計循環(huán)結(jié)構(gòu),實現(xiàn)了在面積和速度上取得較好平衡的目標(biāo),其結(jié)構(gòu)的優(yōu)化方法在如圖2中一并給出。
對置換選擇A,將其置換表中的數(shù)值分成上下2部分,每部分?jǐn)?shù)據(jù)按照每行8位的格式排列,并將上半部分的前4位數(shù)據(jù)和下半部分的后4位數(shù)據(jù)合成為1個字節(jié),而且對經(jīng)過置換選擇的密鑰進行循環(huán)左移,結(jié)構(gòu)如圖2中的置換選擇A電路結(jié)構(gòu)所示。
4.2 三重相互認(rèn)證機制
由于信息安全單元采用對稱密鑰DES密碼體系對數(shù)據(jù)進行加解密,閱讀器和標(biāo)簽具有相同的密鑰,因此,可采用基于DES密碼體系的三重認(rèn)證機制確保數(shù)據(jù)的真實性。閱讀器和標(biāo)簽只有經(jīng)過相互認(rèn)證后,才能對存儲的數(shù)據(jù)和參數(shù)進行操作,主要步驟包括:
?。?)閱讀器發(fā)送“認(rèn)證查詢口令”到標(biāo)簽,標(biāo)簽產(chǎn)生一隨機數(shù)RA,加密后反饋回閱讀器;
?。?)閱讀器產(chǎn)生一隨機數(shù)RB,并且使用共同的密鑰K,將RA和RB加密成數(shù)據(jù)塊Tokenl并發(fā)送給標(biāo)簽,標(biāo)簽對收到的Tokenl解密,并將從中取得的RA與原先發(fā)送的RA比較,一致時,將收到的RB加密成數(shù)據(jù)塊Token2,并反饋回閱讀器,進一步確認(rèn)雙方的合法身份;
?。?)閱讀器對收到的Token2解密,并將從中取得的RB與原先發(fā)送的RB比較,一致時,則發(fā)送身份確認(rèn)命令到標(biāo)簽,標(biāo)簽響應(yīng)并確認(rèn)。
5 驗證平臺
為檢驗所設(shè)計數(shù)字集成電路芯片的通信功能,本文設(shè)計了相應(yīng)的驗證平臺,結(jié)構(gòu)如圖3所示。
測試向量發(fā)生器用于產(chǎn)生各測試向量,為芯片提供輸入信號;閱讀器數(shù)據(jù)發(fā)送器將測試向量轉(zhuǎn)換為電子標(biāo)簽數(shù)字集成電路能夠識別的幀格式;響應(yīng)分析器用于偵查所設(shè)計芯片的響應(yīng)是否為輸入信號要求的反饋。
針對通信功能,本文對輸入信號組合加于約束,所設(shè)計的測試向量集具備如下特征:
?。?)測試校驗出錯情況:當(dāng)標(biāo)簽接收數(shù)據(jù)的校驗碼出錯,測試檢錯功能。
?。?)測試序列號出錯情況:當(dāng)標(biāo)簽接收的序列號與期望值不一致,測試檢錯功能。
?。?)測試命令數(shù)目出錯情況:當(dāng)標(biāo)簽接收的命令數(shù)目與期望值不一致,命令數(shù)目約束比期望值多或少,測試檢錯功能。
?。?)測試命令出錯情況:當(dāng)標(biāo)簽接收命令為當(dāng)前通信狀態(tài)不能接收的命令,命令約束為其他通信狀態(tài)的操作命令,測試檢錯功能。
?。?)測試命令操作時間間隔出錯情況:當(dāng)標(biāo)簽在規(guī)定的時間間隔內(nèi)接收命令,時間間隔范圍約束為一次操作完成時間和幀保護時間,測試檢錯功能。
6 結(jié) 語
本文采用Synopsys工具,結(jié)合中芯國際的0.35μm工藝庫,可以得到本文所設(shè)計芯片的面積和功耗如表1、表2所示:
表1、表2中,工藝庫定義的芯片面積以一個與非門作為單位,因此本文設(shè)計芯片的面積為36 877.750 000 μm2,功耗為30.845 8 mw。根據(jù)上述驗證平臺和測試向量集,對本文所研制芯片進行通信功能測試,其結(jié)果的波形截圖如圖4所示。由圖4可見設(shè)計電路能夠檢測出校驗碼、命令數(shù)目和命令等出錯情況。