在當今市面上基于硬件安全技術的移動支付應用系統(tǒng)除了NFC外,還有一些 其他的支付應用方案,例如RCC技術和MST技術。但是目前介紹RCC和MST這 兩項技術的中文書籍較少,業(yè)內(nèi)的朋友曾看過我之前出版過的一本關于NFC基礎 入門的書籍,希望我能把RCC和 MST相關的技術和協(xié)議集結成冊出版,我沒有接 受這個建議。
其主要原因有兩個:第一,據(jù)出版關于NFC技術基礎方面書籍的經(jīng)驗,要把答 應別人的事情做完,其實不是那么容易,即使已經(jīng)有一些寫作材料的積累或者在某 一項技術、產(chǎn)品方面有大量的工作經(jīng)驗,但當你準備把它做成一本書時,還是會占用 大量的業(yè)余時間和精力去查閱和確認相關資料等,另外要想把它做得好一些、質(zhì)量 高一些,那更是一種壓力和責任;第二,當初我正開始準備自己下一個階段工作以外 的個人學習目標,以歸零的心態(tài)系統(tǒng)性地學習一些關于I oT物聯(lián)網(wǎng)安全和AI人工 智能方面的東西,如果答應這件事情,那我工作之外的學習重心可能在一段時間內(nèi) 又會被重新拉回到RCC、MST和NFC的主題上來,這樣就需要我在一個近半年的 工作以外的時間里做出一個選擇。
以前我特別羨慕那些同一時間能做兩件或者多件重要的事情,而且還能把它們 做得很好,并且還能來回靈活切換和平衡得不錯的人。可惜我天生魯鈍笨拙,嘗試 過幾次同一個時間處理兩個線程的事情,發(fā)現(xiàn)每次得到的結果都差強人意,后來也 就慢慢想通了、釋懷了,覺得把一件事情做得好一點這才是最最重要的! 如果還能 有其他的收獲那就需要感激,沒有的話這也再正常不過。
最后我答應胡編輯來寫這本書,自己做出這個決定還是比較迅速的。因為此刻 我感興趣的兩件事情的時效性還是有本質(zhì)區(qū)別的,其中一件關于自己制訂的那個學 習計劃,學習本身就是一個長期的過程,不可能是一蹴而就的事情,我喜歡的有一個 心理儀式感的學習計劃的本質(zhì)是,提醒自己去主動地遠離心理上面的舒適區(qū),不要在里面停留太久,空閑時間盡可能地學習和補充一些自己知識結構上面的短板,多 接觸一些有趣的人和事,總結過往的學習和工作經(jīng)驗,進行資料檢查和復核,然后把 它們匯總到一本書上去,何嘗不是一種學習和有意思的體驗呢!
我認為的學習就如羅振宇先生主講的《羅輯思維》節(jié)目中每次上來都反復說的 那句話“和你一起終生學習”。當下正處在一個各種技術日新月異、急速變化的時 代,不可能說離開學校就可以不學習或者就可以減少知識的汲取。
現(xiàn)在連六七十歲的老人都開始接受新知識、新事物,如智能手機、智能電視的使 用等,不學習只能與時代和社會脫節(jié)。未來的生活環(huán)境會越來越好,那么在接下來 的幾十年里:依賴傳統(tǒng)紙質(zhì)媒介了解國內(nèi)外大事和新聞的人將越來越少,更多的是 通過網(wǎng)絡進行閱讀;在有些重要時刻雖然無法親臨現(xiàn)場,但可以使用網(wǎng)絡通信工具 與親人們實時互動、分享喜悅。
長輩尚且如此,我輩又怎能不去適應和擁抱那種終生學習的心態(tài)呢。
我認為上 學期間的學習,更多的是去掌握一種適合自己且行之有效的學習方法,并且應多學 習和掌握一些基礎類學科的知識,如文學、數(shù)學、物理和藝術等,其中一些知識有助 于在生活和工作中能比較高效地學習和掌握新東西,而大部分的知識因為需要比較 大塊的連續(xù)時間的學習才有可能修成一點結果,而這些知識一旦進入社會工作后, 又因無法擠出大塊時間潛心于此,因此除專業(yè)人士或者天才外,對于絕大部分的人 而言,想在這些領域里自學有所突破真是非常非常的難! 而工作之后的學習呢,我 認為有兩部分的含義:其一是當下網(wǎng)絡經(jīng)常提及的“刷新認知邊界”,這個詞語是一 個比較好的概括,直白點說就是有些知識大量地蘊藏在生活中,在自己身邊的人身 上,在網(wǎng)絡上面,這時就需要自己有一種能主動學習的能力,主動地把這些金芝麻給 挑選出來為己所用;其二就是新型類的東西,特別是偏應用類的技術,例如一種新型 的商用模式,一種新型的應用型技術等,這些東西的學習對于工作后的人來講,就會 有比較大的優(yōu)勢。
有人說當下正處于劉慈欣先生的科幻小說《三體》里所解釋的“技術爆炸”那樣 的年代。首先,對于這個觀點我個人并不完全認同,因為從近些年諾貝爾科技類的 獲獎名單和獲獎理由看,能夠有石破天驚的那種發(fā)現(xiàn)并不多。但是近些年來人類 在應用技術方面取得了快速發(fā)展,從量子計算、生物科技、醫(yī)療技術、無人駕駛、AR、 VR、物聯(lián)網(wǎng)技術再到AI人工智能等,確實能明顯地感覺應用技術的發(fā)展速度 越來越快,如果從這個應用技術的發(fā)展速度角度去解釋“技術爆炸”,也確實不 為過。
上面提及的這些新型應用技術,量子計算為基于量子力學發(fā)展出來的一種應用 技術,熟悉《三體》的人知道里面描述過三體人用來監(jiān)視地球的“智子”就是靠量子糾 纏來運行的。人類從發(fā)現(xiàn)半導體技術開始,再到當代計算機所遵循的馮·諾依曼架 構,現(xiàn)代的信息技術產(chǎn)業(yè)如硬件、軟件、通信、網(wǎng)絡等都是基于這些技術展開的。到 目前為止,集成電路芯片最高的量產(chǎn)制造工藝可處于10~14 nm,更小的尺寸工藝如 5~7 nm正處于研發(fā)階段。盡管科學技術人員還在努力通過各種手段進一步延續(xù)晶 體管的制造工藝并進一步縮小其尺寸,但是在可預見的未來,將達到控制電子的物 理極限。當經(jīng)典的馮·諾依曼架構無法滿足一些超性能架構的計算時,研究新型的 計算技術就變得尤為重要,其中量子計算就是當前人類正在攀登的高峰。該技術擁 有超強的計算能力,理論數(shù)據(jù)上顯示,擁有50個量子比特的量子計算機就能超過當 今世界上最先進的超級計算機“天河二號”,擁有300個量子比特的量子計算機就能 將標準服務器需要數(shù)萬年才能處理完的復雜問題縮短到幾秒鐘。
我個人認為的“技術爆炸”只是與基礎科學相關,與應用科學本質(zhì)上是沒有關系 的,那么是不是我們就可以不重視應用科學呢? 這個觀點我也是不認同的。應用科 學有三個重要的特征:第一,針對實際的問題,目的性明確;第二,與人類實踐活動的 關系密切;第三,直接體現(xiàn)了人類的需求,可以認為應用科學就是我們現(xiàn)代人類生活 的空氣和水,這能說不重要嗎?
本書主要的針對人群是職業(yè)技術高中生、在校大學生、移動支付行業(yè)的從業(yè)者、 有工程背景的讀者或者自學愛好者們,此書如它的書名,它是一本介紹硬件安全技 術應用于移動支付的書籍,為了讓讀者能看完后想快速地做一些測試實驗等,書中 也穿插了一些示例代碼供讀者參考。
本書有關RCC限域通信技術領域方面的內(nèi)容得到了泰爾終端實驗室高級工程 師朱亮博士的大力支持和幫助;全書的框架設計、 NFC技術細節(jié)描述和規(guī)劃、系統(tǒng)安 全以及密碼學、 And r o i d系統(tǒng)中NFC的設計和示例代碼、 13. 56 MHz的硬件和射頻 技術、新型互聯(lián)網(wǎng)移動支付市場方面的內(nèi)容分別得到了恩智浦(中國)管理有限公司的田陌晨先生、陳奕鎮(zhèn)先生、羅煜華先生、楊春燕小姐、林國輝博士、李竟先生、程恒 先生、吳劍先生、徐海先生的鼎力幫助。
最后還要感謝大力支持的社群以及小伙伴們:北京航空航天大學出版社、恩智 浦中國、小米科技、易寶支付、京東商城、華為北研、 Ro ck NFC、 IDEN Te am、 NFC移 動支付行業(yè)交流群、 NFC Mob i l e、 NFC We a r ab l e、Mob i l e CBG、Mob i l e DD、一起走過 的日子、一卡通世界、移動支付網(wǎng)以及許多曾經(jīng)的同事們,可愛可敬的L i l y小姐、低 調(diào)的技術大牛姜彥儒先生、極富洞察力和激情的 Wi l s on和 Ma r t i n先生和終身學習 者榜樣申宇博士等。
由于作者水平有限,書中的錯誤與不妥之處在所難免,懇請廣大讀者批評指正。
王曉華 2017/12/6 于北京市海淀區(qū)牡丹園
1 概述…………………………………………………………………………1
2 術語和縮略語………………………………………………………………7
2.1 硬件部分…………………………………………………………………7
2.2 軟件部分…………………………………………………………………8
2.3 安全單元和認證部分……………………………………………………10
3 RCC限域通信支付系統(tǒng)…………………………………………………… 13
3.1 RCC 限域通信技術工作原理……………………………………………15
3.2 RCC 限域通信協(xié)議綜述………………………………………………… 22
3.2.1 磁通道幀、包、消息數(shù)據(jù)單元………………………………………23
3.2.2 射頻通道幀、包、消息數(shù)據(jù)單元……………………………………26
3.3 RCC 限域通信射頻通道幀收發(fā)………………………………………… 28
3.4 RCC 限域通信技術的物理層特性定義………………………………… 29
3.4.1 磁通道MC 的物理特性……………………………………………… 29
3.4.2 射頻通道RC 的物理特性…………………………………………… 31
3.5 RCC 限域通信技術的會話層命令定義………………………………… 33
3.5.1 命令交互的頻點和地址…………………………………………… 34
3.5.2 命令消息格式……………………………………………………… 36
3.5.3 INQUIRY激活命令………………………………………………… 37
3.5.4 ATI激活響應……………………………………………………… 38
3.5.5 CONNECT_REQ連接請求命令……………………………………… 40
3.5.6 CONNECT_RSP連接響應命令……………………………………… 44
3.5.7 APDATA_REQ數(shù)據(jù)交換請求命令………………………………… 46
3.5.8 APDATA_RSP數(shù)據(jù)交換響應…………………………………………46
3.5.9 LINKCTL_REQ維持連接請求命令………………………………… 47
3.5.10 LINKCTL_RSP維持連接響應……………………………………… 47
3.5.11 CHECK1_REQ沖突檢測請求命令………………………………… 48
3.5.12 CHECK_RSP沖突檢測響應………………………………………… 48
3.5.13 CHECK2_REQ連接確認請求命令………………………………… 49
3.5.14 LTW響應方要求等待命令………………………………………… 49
3.5.15 CLOSE_REQ關閉連接請求命令…………………………………… 50
3.5.16 CLOSE_RSP關閉連接響應………………………………………… 51
3.6 RCC 限域通信技術與主流近場支付方案的對比…………………… 51
4 MST磁安全傳輸支付系統(tǒng)…………………………………………………53
4.1 磁條卡技術原理…………………………………………………………60
4.1.1 規(guī)范協(xié)議族………………………………………………………… 61
4.1.2 尺寸參數(shù)…………………………………………………………… 63
4.1.3 磁道數(shù)據(jù)詳解……………………………………………………… 66
4.1.4 磁頭原理…………………………………………………………… 75
4.1.5 磁道解碼應用……………………………………………………… 79
4.2 MST 磁傳輸工作原理………………………………………………… 102
4.3 MST 技術與主流近場支付方案對比………………………………… 112
5 基于Android系統(tǒng)的NFC實現(xiàn)框架…………………………………………114
5.1 基于Android系統(tǒng)的NFC 應用支付框架……………………………… 202
5.2 TEE 與eSE 的應用支付流程示例…………………………………… 228
5.3 卡模擬應用程序示例……………………………………………………235
6 附錄…………………………………………………………………………256