很多類似于 RFID這樣的技術(shù)看起來都很神秘,實(shí)際上他是依賴于很多物理學(xué)原理的,比如 ” 電磁感應(yīng)原理 ” 。是的,這些現(xiàn)象產(chǎn)生的各種信號(hào)足以令人發(fā)狂,看完這些模擬模擬信號(hào)后,我忽然發(fā)現(xiàn)二進(jìn)制信息多么干凈美麗。

所以我一直在找一個(gè)工具,可以把這些模擬世界轉(zhuǎn)化成友好的數(shù)據(jù),RFID就是主要的對(duì)象。近些年來,越來越多RFID/NFC產(chǎn)品出現(xiàn)了,可能在你的口袋里就有好幾個(gè)這樣的東西——比如,你的車鑰匙、門的鑰匙、信用卡等等。當(dāng)然,他們都有各自的RFID閱讀器可以讀取他們的信息,但是我關(guān)心的是,有沒有一個(gè)RFID閱讀器可以讀取所有RFID上的信息,并且這個(gè)閱讀器還很小且很便宜。
憑心而論,似乎有很多閱讀器都可以達(dá)到我的要求,你可以買個(gè)很簡單的RFID USB閱讀器,大概也只需要10-15英鎊。但是之后你就會(huì)發(fā)現(xiàn),這些便宜的閱讀器幾乎都只能閱讀一個(gè)標(biāo)準(zhǔn)下的RFID,你需要很多個(gè)這樣的RFID閱讀器才行。也有像Proxmark3這樣的可以閱讀所有RFID的,但是價(jià)格不菲呀。當(dāng)然PM3確實(shí)是值得一看的,它被稱為“RFID界的瑞士軍刀”。它能夠閱讀很多版本的信號(hào),無論是高頻還是低頻,稍后我們也將用它來舉個(gè)例子。
RFID標(biāo)簽
所以,在開始前,我們不禁要發(fā)問,RFID標(biāo)簽是用來做什么的呢?
基本上他有兩個(gè)作用:
1. 基本上所有RFID標(biāo)簽都是唯一的,都可以用來特定的標(biāo)識(shí)自身
2. 一些標(biāo)簽具有數(shù)據(jù)存儲(chǔ)功能
圍繞著這兩個(gè)基本的作用,可以展開很多——標(biāo)簽是盲目的展現(xiàn)ID或者DATA內(nèi)容嗎?或者換一句話說,在構(gòu)建他們的時(shí)候是否有做一些安全措施?這些存儲(chǔ)的都是些簡要的信息,因此如果你想寫入更長更多的信息,標(biāo)簽是否有空間可以寫入?在這篇文章中,我的目的是討論一些模擬世界中一些基礎(chǔ)的通信過程,并且盡可能的把它們顯示出來。
RFID&感應(yīng)現(xiàn)象
這些技術(shù)基本都是依賴于 ” 感應(yīng)現(xiàn)象 ” 。簡單來說就是RFID/NFC都是依賴于你去激勵(lì)一個(gè)線圈,同時(shí)讓另一個(gè)線圈靠近它,第二個(gè)線圈就會(huì)通過感應(yīng)從第一個(gè)線圈獲取到部分能量,即兩個(gè)線圈很神奇的發(fā)生了耦合(或者說是電磁感應(yīng))。同時(shí),第二個(gè)線圈很有可能將會(huì)影響到第一個(gè)線圈的電壓,例如靠近第一個(gè)線圈,第一個(gè)線圈的電壓就下降了,我們稱這種現(xiàn)象為“阻尼現(xiàn)象”。這就是RFID的工作原理,總結(jié)來說就是:線圈間相互的溝通是通過發(fā)送能量(從閱讀器發(fā)出),或者引起了另一個(gè)線圈的能量變化(從RFID標(biāo)簽)來進(jìn)行的。
在本文中,為了能得到更多的細(xì)節(jié)我們將會(huì)使用最簡單的方式標(biāo)記RFID標(biāo)簽——直接通過一個(gè)ID來識(shí)別,同時(shí)我們要先構(gòu)建以下環(huán)境:閱讀器通過反復(fù)激勵(lì)線圈給線圈供能。作為一個(gè)標(biāo)準(zhǔn)的低頻系統(tǒng),它的頻率將會(huì)是每秒125000次,也就是125KHz,這些被稱為 ” 載波信號(hào) ” 。RFID標(biāo)簽線圈被放在一定區(qū)域內(nèi)的時(shí)候,將會(huì)從產(chǎn)生一些能量,變成電感耦合線圈并且進(jìn)入激活狀態(tài)。如果閱讀器想要發(fā)送一個(gè) ” 喚醒(或者其他) ” 命令,可以通過開關(guān)把載波信號(hào)的電源關(guān)閉很短的一段時(shí)間。就算標(biāo)簽失去了電源,它依然可以依賴儲(chǔ)存的能量繼續(xù)工作一段時(shí)間,我們可以很容易的通過改變載波信號(hào)之間的缺口長短就可以代表0和1兩種信號(hào),基于這一特點(diǎn),閱讀器就能發(fā)送二進(jìn)制信息了。
換一句話說,他們是通過幅移鍵控(ASK)來承載信息的,調(diào)整信號(hào)的振幅來代表不同的數(shù)據(jù)。更精確的一種方式是開關(guān)鍵控(OOK)。從閱讀器發(fā)送給標(biāo)簽的信息被設(shè)計(jì)成ON和OFF兩種載波,返回的信號(hào)響應(yīng)的為阻尼和非阻尼兩種。
信號(hào)分析
說了這么些個(gè),大家好像一臉懵逼的樣子,事實(shí)上我翻譯的也有點(diǎn)懵逼了=。= 為了更容易理解,接下來我們用圖來說明。下圖是一個(gè)在示波器下觀察到的125KHz的載波:

接下來是閱讀器給標(biāo)簽發(fā)送的一個(gè)信號(hào):
