NFC是什麼?交通卡和感應支付一靠就能用的原理
NFC是只在靠近到幾公分時才使用的無線通訊方式,使用13.56 MHz的磁場。日本的交通IC卡Suica等卡片不需要電池,是因為讀卡機的磁場會在卡片的線圈中產生電,再用這些電讓晶片運作。Suica使用的FeliCa,以及感應支付卡片使用的國際方式,都是NFC的方式之一。
這篇文章可以了解
- NFC是什麼,為什麼傳輸距離短反而是優點
- 沒有電池的卡片,如何靠讀卡機的磁場運作並回應
- Suica(FeliCa)和感應支付信用卡在方式上的差異
- 驗票閘門處理很快的原因,以及感應付款時的安全機制
- 手機能代替卡片的原理,以及NFC標籤等其他用途
先備知識:沒有特別需要。先讀「無線充電是什麼?」,會更容易理解用磁場送電的部分。
生活中的例子
早上,在車站的驗票閘門用交通卡碰一下就通過。在便利商店,把信用卡或手機靠近讀卡機付款。在公司門口,把員工證靠近感應器開門。這些「靠一下就好」的場合,很多都使用了名為NFC的無線通訊方式。
奇妙的是,卡片裡沒有電池。即使如此,卡片中的晶片仍會計算,並和讀卡機用加密的方式交換資料。這篇文章要看看這些電從哪裡來,以及為什麼不靠近就無法運作。
NFC是什麼:只在幾公分內使用的無線通訊
NFC是英文Near Field Communication的縮寫,中文稱為近場通訊,意思是「近距離的通訊」。業界團體NFC Forum說明,這是距離幾公分的機器之間交換資料的無線技術。使用的頻率是13.56 MHz。意思是磁場的方向每秒往返1356萬次。
NFC Forum是2004年由諾基亞、飛利浦、索尼成立的團體。通訊方式由國際標準(ISO/IEC 18092等)規定,所以不同公司的機器之間也能溝通。
傳輸距離短是優點
Wi-Fi和藍牙可以傳到幾公尺到幾十公尺遠(「藍牙是什麼?」)。NFC則是刻意把傳輸距離做短。主要的理由有3個。
第一,「靠近」這個動作本身,就表示「要和這個對象通訊」的意思。第二,不容易從遠處被竊聽(NFC Forum)。第三,即使閘門前有人排隊,也只會和讀卡機上方的那1張卡片通訊。
原理①:沒有電池的卡片能運作的原因
卡片裡有一個零件,是把細電線沿著卡片邊緣繞了幾圈。這種繞成圈的電線零件稱為線圈。線圈的兩端連接到一顆小小的晶片。
讀卡機裡也有線圈。讀卡機讓方向快速切換的電流流過線圈,產生不斷變化的磁場。磁場一變化,附近的線圈就會產生電壓。這就是電磁感應,和無線充電的原理相同(詳見「無線充電是什麼?」)。
卡片的線圈搭配了能暫時儲存電的零件(電容器)。這樣一來,線圈在13.56 MHz附近就會有很好的反應。這種「只在某個頻率強烈反應」的性質稱為共振(共振電路)。根據意法半導體的資料,共振越接近讀卡機的頻率,送到晶片的電就越多。
晶片把收到的電當成自己的電源來運作。線圈產生的磁場,一離開就會急速變弱。離開超過幾公分就無法運作,是因為送不到足以讓晶片運作的電。
原理②:改變「接收方式」來回應
卡片沒有電池,所以沒有自己送出訊號的能力。因此,卡片改用細微改變從讀卡機磁場接收的電量來回應。這樣一來,流過讀卡機線圈的電流就會稍微晃動。讀卡機讀出這些晃動,再還原成0和1的資料(意法半導體)。
這種回應方式稱為負載調變。這裡的負載,是指接收並使用電的一方。卡片是用改變接收量來傳遞訊號,所以只能在讀卡機的磁場中回應。
對話一定是從讀卡機這一方開始。NFC Forum的規格也規定,扮演卡片的一方不會自己開始通訊。
原理③:方式不只一種
NFC有幾種方式,都使用相同的13.56 MHz。不同的是用磁場的晃動表示0和1的方法、資料的分段方法等規則。NFC Forum把它們分別稱為NFC-A、NFC-B、NFC-F,並對應到各自所根據的標準。
| 方式 | 根據的標準 | 主要用途 |
|---|---|---|
| NFC-A、NFC-B | ISO/IEC 14443(Type A、Type B) | 感應支付信用卡、許多NFC標籤(NFC-A) |
| NFC-F | JIS X 6319-4(FeliCa) | Suica等交通IC卡、電子錢包 |
感應支付信用卡遵循EMVCo的規格。EMVCo是由國際信用卡公司共同營運的組織。這套規格以ISO/IEC 14443等國際標準為基礎(EMVCo)。2022年底,全世界約有128億張EMV規格的晶片卡(也包含插卡式。EMVCo)。
FeliCa是索尼開發的方式。根據FeliCa Networks,開發始於1988年。1997年,首次商用於香港的交通卡「八達通」。在日本,JR東日本於2001年11月18日,在東京都會區的424個車站開始使用Suica。
FeliCa以NFC-F之名,納入NFC Forum的規格。這套規格的設計,讓1台機器就能處理3種方式。許多手機能讀取不同方式的卡片,就是這個原因。
原理④:FeliCa在驗票閘門處理快的原因
早上的驗票閘門,人們是不停下腳步走過去的。因此,從碰卡到決定是否打開閘門的時間必須非常短。根據JR東日本的技術期刊,閘門通過人數的目標值是每分鐘60人。在行動Suica的開發中,0.2秒以下完成處理也被視為「絕對條件」。
卡片和讀卡機一開始會互相確認對方是不是真的。這稱為相互認證。這是為了不和假卡片或假讀卡機交換資料的程序。
索尼舉出FeliCa快的理由:獨自的高效率相互認證方式,以及適合非接觸的通訊方式。即使包含加密處理,卡片和讀卡機的交換約0.1秒就完成(索尼)。通訊速度為每秒21萬2000位元(212 kbps),以及其2倍的424 kbps。
另外,JR東日本從2023年度起,逐步改為由中央電腦進行票價計算等工作的方式。在那之前,這些計算是在閘門機器裡進行的。
原理⑤:感應付款時的安全機制
收藏祕密、防護嚴密的晶片
卡號和加密金鑰,存放在專用的晶片中。這種晶片的設計,讓裡面的祕密無法從外部讀出。這種晶片稱為安全元件。
這類晶片能抵抗拆開或用探針接觸等攻擊,發現異常時會刪除金鑰等,以保護祕密。這種性質稱為抗竄改性。存放金鑰的元件之間的差異,在「TPM、HSM、安全元件的差異」中比較。
加密與一次性代碼
卡片和讀卡機之間的交換,有加密保護。FeliCa在相互認證和加密通訊中,使用名為DES的加密方式。2011年發表的晶片起,也能使用較新的AES(索尼)。加密的原理在「加密是什麼?」中說明。
感應支付卡片的晶片,每次付款都會用加密產生只能用於該次的安全碼(EMVCo)。發卡公司用這個代碼確認卡片是真的。代碼每次都會改變,所以即使被盜取,也不能用在下一次付款(Visa)。
難以從遠處讀取的原因
在本人沒發現的情況下讀取卡片資訊的手法,稱為側錄。沒有電池的卡片只能在強磁場中運作,所以很難從遠處讀取。即使讀到了,拿到的也只是一次性的代碼。基於這些理由,Visa說明側錄不容易發生,受害的範圍也有限。
不過,並不是完全沒有危險。研究中曾報告一種手法,讓遠處的卡片看起來像在讀卡機旁邊(中繼攻擊)。另外也有減少損害的規則,例如超過一定金額就要求輸入密碼或簽名(Visa)。卡片或手機遺失時,請立刻聯絡發卡公司停用。
手機變成卡片的原理
手機的NFC既能當讀卡機,也能當卡片。假扮成卡片和讀卡機通訊的功能,稱為卡片模擬。iPhone裡有NFC用的晶片和安全元件(「手機裡有哪些半導體?」)。
根據Apple,在Apple Pay登錄卡片時,銀行等會產生該裝置專用的號碼。號碼經過加密,存入安全元件。在店家付款時,交出的是這個號碼,以及每次付款都會改變的代碼。真正的卡號,iPhone和Apple都不會傳送。
付款前,通常會用臉或指紋等確認是本人(「指紋辨識、臉部辨識的原理是什麼?」)。不過,如果把Suica等設定為「快速模式」,就能不經確認通過閘門(Apple)。
在Android 4.4以後,也能使用不經過安全元件、由App假扮卡片的方式。這種方式稱為HCE(主機卡片模擬)(Android Developers)。Google表示,要在店家付款,需要支援NFC和HCE的手機。這時傳給店家的,也是暫時的號碼,而不是真正的卡號。
在日本,能用手機使用Suica的「行動Suica」,於2006年1月28日開始。發行數在2023年3月突破2,000萬張(JR東日本)。
其他用途:標籤與配對
NFC標籤是只由小晶片和線圈構成的貼紙或卡片。它沒有電池,手機靠近時,靠手機的磁場運作並送回資料。標籤可以存入網頁的網址,或Wi-Fi、藍牙的連線資訊等(NFC Forum)。
也有手機一靠近,就會開始藍牙連線(配對)的耳機和喇叭。NFC傳送的只是連線用的資訊,聲音本身是用藍牙傳送。
功能相似的QR Code,只要印在紙上就能製作。NFC標籤則不必對準相機,靠近就能讀取。不論哪一種,輸入資料前都要先確認開啟的網頁是不是真的。
常見的誤解
誤解:只要把卡片放在錢包裡走路,就會被人從遠處讀取並盜刷
實際上,沒有電池的卡片,只能在讀卡機旁邊的強磁場中運作。付款也必須由店家端開始才會進行(Visa)。即使被讀取,拿到的也只是一次性的代碼。不過,也有關於中繼攻擊的研究,不能說完全沒有危險。因為靠一下就能付款很方便,所以容易以為被讀取也很簡單。
誤解:NFC和FeliCa是不同的技術,彼此沒有關係
實際上,FeliCa以NFC-F之名,屬於NFC的方式之一。頻率同樣是13.56 MHz,不同的是0和1的表示方法和資料的分段方法。手機的規格說明有時會把「NFC」和「FeliCa」分開寫,所以容易看起來像是不同的東西。不過,能不能把Suica放進手機使用,要看機型和服務而定。
誤解:感應時,只要在讀取部上方快速滑過就好
實際上,JR東日本建議在讀取部確實碰觸約1秒。因為在上方滑過去,有時不會有反應。JR東日本也建議卡套裡只放1張IC卡。因為放了好幾張時,閘門可能會發生錯誤。「感應」這個說法,容易讓人以為不碰到也能通過。
從數字來看
| 數字 | 代表什麼 |
|---|---|
| 13.56 MHz | NFC的頻率。磁場的方向每秒往返1356萬次 |
| 212 kbps | FeliCa基本的通訊速度。也支援其2倍的424 kbps(索尼) |
| 約0.1秒 | FeliCa包含加密處理的交換時間(索尼) |
| 0.2秒以下 / 每分鐘60人 | 行動Suica開發時的處理條件 / 閘門通過人數的目標值(JR東日本的技術期刊) |
| 約128億張 | 2022年底全世界使用中的EMV晶片卡(EMVCo) |
| 2,000萬張 | 行動Suica發行數突破的數字(2023年3月,JR東日本) |
212 kbps比Wi-Fi慢得多。傳送1 MB(800萬位元)的資料,計算上約需38秒。NFC不是用來傳大檔案,而是在近距離快速交換短資料的機制。
進一步學習
- 相關文章:「無線充電是什麼?」(電磁感應與共振) / 「藍牙是什麼?」(能傳得更遠的短距離無線通訊) / 「加密是什麼?」(對稱式加密與公開金鑰加密) / 「手機裡有哪些半導體?」(NFC與安全元件的晶片)
- 名詞:近場通訊(NFC) / 抗竄改性 / TEE(可信執行環境)(手機裡受保護的區域) / 對稱式加密 / 旁通道攻擊
- 用表格看差異:TPM、HSM、安全元件的差異 / Wi-Fi、藍牙與LPWA的差異
- 用數字試試看:資料傳輸時間計算工具(用212 kbps傳送要花多久)