作者系国内研究移动支付技术的大牛,目前在NXP(恩智浦)公司就职,主要负责IOT物联网安全和AI人工智能领域。本书获得雅观科技、恩智浦、小米、可为、紫光展锐、华米、麒麟、黑加手环等移动支付领域专家推荐,是移动支付技术的战地手册。推荐读者阅读作者的另外两本关于移动支付技术图书:《NFC技术基础篇》《RCC、MST、NFC标准及技术应用》
前 言
十月的北京开始进入初冬季节,天气开始慢慢变得干燥起来,我一直没有太适应这样的冬天。但是,对我而言,天气温度较低却是一个让我有种心中窃喜感觉的月份,因为它是使我能够静下心来思考一些问题的最佳时间。两年多前,北京航空航天大学出版社出版了我人生中的第一本技术书《NFC技术基础篇》,现在回想起来还是非常的兴奋和感激。记得当初与胡老师沟通有关书中的细节时,对于如何做一套实用类的工具型案头入门书,双方观点竟然出奇的相似,我们都希望读者在阅读完全书后能够建立一个NFC系统级的概念,并能获得相关的技术,并且当读者学习或者工作时再次遇到具体的NFC问题的时,还能够对照《NFC技术基础篇》这本进行相关的参考;不希望把书做成偏实用的案例型的参考书,因为关于这方面的资讯,互联网上的资源异常丰富且更具时效性。
两年多来,通过从出版社的官方渠道、线下书店、网络电商平台的用户评论、行业圈里的朋友和同事反馈等, 大家还是非常认可《NFC技术基础篇》这本书的! 我认为这是一个作者最大的幸福。再次特别感谢胡老师的支持和认可,还有家人的理解以及对我无私的支持,当然还要感谢许多我认识的或未曾谋面的读者朋友。
我非常清楚地记得,第一本书出版后读者的热烈反应,北航出版社也紧急催促我把NFC技术的进阶篇尽快完成并出版,我欣然答应了,但没有允诺具体的交稿日期,因为我确实无法预知我什么时候能交稿。自毕业后参加工作以来,我工作时都有做学习笔记的习惯,笔记主要内容是所学到的新知识和自己动手照实验的结果等。按资料使其常理书中最主要的资料都有了,时都就是一个整理资料使其成册的过程,但是根据《NFC技术基础篇》的出版经验,要完成一本书是需要花费大量的时间和精力的,学习笔记只是记录一个或者某个技术片段的事情,离出版还有很大的距离还是需要做大量的工作,例如,对引用资料的来源和准确性要进行确认,对于实验或测试结果需要再次仿真,以确认准确和结果是否最优等。
去年六月份我对自己的职业生涯做了一个大的调整,把我的学习和研究方向从NFC和移动支付领域转到了AI人工智能和IoT物联网领域,所以这一年多来,我把工作和学习的重心放到了AIoT 人工智能物联网的底层技术和通信协议的研究上,对于着手准备《NFC技术进阶篇》又耽误了一年半的时间。在对待自己感兴趣的新鲜事物时,自认为的优点是非常的好奇和乐观,缺点就是无法双线程进行学习,而且整体的学习进度是属于比较慢的那种,这个与我的阅读习惯非常相似。前几个月,有一次去朋友Lorenzo的家里玩,大家坐在一起交流《三体》的读后感,朋友提及他在四五个小时的飞行中就可以比较轻松地把类似《三体》其中的一部读完,而且他认为这是一种非常正常的阅读速度,但是这个速度却给了我不小的震撼。
因为去年工作重心改变的原因,自己又无法做到多线程工作,所以也就无法短时间内安下心来准备《NFC技术进阶篇》的相关资料。转眼又快到了年末,北京的冬天也来了,较低的气温让我的思维立马变得敏捷起来,是时候把两年多前欠下的东西还上了。前两个月和胡老师进行了一次电话沟通,告诉他我准备开始着手《NFC技术进阶篇》书稿的事情了,希望听取他的意见和建议,他的回复是他那边没有问题,我听完后倍感温暖。通过这几年与胡老师的沟通,从一开始对他的误解,主要是书稿出版时间的问题,致使我对他的一些工作方式和风格有些不解,再到后来我慢慢了解了他的工作性质,让我看到他身上谨慎的工作态度和专业,使我受益匪浅,他是我的良师益友! 这一次,他一如既往地支持我编写《NFC技术进阶篇》书稿,我就要更加认真的准备和规划,争取比上一次要更好一些。
虽然这一年多以来我的研究方向转到了人工智能和物联网领域,其中,人工智能领域主要偏向深度学习,这与和NFC以及移动支付所研究的范畴区别还是非常大的,但是物联网领域所使用的底层技术,特别是相关的连接技术,与NFC还是有很多的相似之处的,本质上NFC也是物联网连接的一种技术。所以,通过这一年多的对物联网的实际接触和探索,我发现NFC技术在物联网方面可应用的领域比移动支付还要大得多,例如,智能设备的耗材防伪、接入网络的快速配对连接和物联网设备鉴权等;而且现在就已有一些基于NFC 技术的智能设备实现了相关应用,例如,小米空气净化器中主机端对滤芯配件的鉴权和防伪,SONY 相机支持NTAG 快速进行手机连接配对等。
还有智能门锁这一年多来也发展迅速,虽然现在主流的智能门锁还是以生物识别为主,特别是指纹识别的技术确实有其非常重要的安全和便捷属性,但是存量市场还是有许多非接触卡片的门禁市场,特别是对于2B企业端的客户,例如小区和单元入口等,目前物业运营商针对这种用户场景还是偏向推荐原来的物理卡片来做门禁市场。另外,就是现在的一些旗舰手机和穿戴设备也开始支持NFC技术,并且支持复制传统门禁卡的UID到手机和穿戴设备上。基于上述原因,智能门锁市场中也开始有一些旗舰产品陆续支持NFC技术了。
我的一位同事,也是我非常尊重且极具创意精神的朋友罗煜华先生,他是这个行业里的老兵了! 我认为以他的工作资历和学习东西的能力,完全没有必要再去看《NFC技术基础篇》这类书了,但是,有一次我们刚好同一班飞机出差,他拿出《NFC技术基础篇》那本书,非常认真地请教我一些具体的技术问题,然后在书本上认真地做着笔记,这着实让我非常的惊讶和感动! 而且他还对这本书提出了一些改进意见和建议等,我也把这些内容记录到了我的手机便签中。
其中,一个特别好的建议就是可以通过实际案例的形式,把相关的NFC和SE的技术穿插进去,这对于编写《NFC技术进阶篇》一书是一个非常好的思路,我准备按着这个思路来编写这本书。在此特别感谢罗煜华先生! 您是我见过的最优秀的市场销售人才之一,希望您永葆一颗创意的心。
另外,我想通过这本书来特别感谢曾经对我有过莫大帮助的两位领导田陌晨先生和陈奕镇先生。田总能谋善断卓尔不群,极具商业洞察力和领导力; 陈总温文尔雅宠辱不惊,对于商业见微知著且极具韧性。回想过去的八年,觉得自己非常幸运能在两位的领导下工作和学习,他们不仅带我走进了商业的世界,而且教会我许多为人处事的道理。田总教会我什么叫人格平等,格局不同,陈总则教会我改变你能改变的,接受你不能改变的,永远积极乐观地看待事情。每与两位领导的每次接触或者交谈中,总能学到一些东西或者激发我的一些思考;当我有新书出版,需要两位领导帮忙写推荐书评时,他们总是在第一时间给予反馈和支持,让我信感温暖! 在此,我衷心地祝愿两位领导在各自新的领域和岗位上,能够长风破浪会有时,直挂云帆济沧海。
我平时的工作也是非常得必然出差频率非常得高,我粗略地算了一下去年一整年的工作时段比例,近乎有三分之一的时间是在出差的途中,并且晚上还时不时地需要与国外的同事进行电话会议等,所以陪伴家人的时间就非常得少了。而编写书需要准备整理相关资料,并将其论述成文,这需要花费更多的时间因此,留给家人的时间就更少了。但我的家人对我编写书从未有过半句怨言,他们认为只要是我自己喜欢且愿意做的事情,他们都会一直支持我鼓励我,否则我根本无法完成。
我的孩子一开始她对我经常没有时间陪伴她很不理解,有一次她同我讲起一个老师给她们讲的小故事,说姚明在他四岁生日时他的爸爸妈妈送给他一个篮球,后来姚明就慢慢地爱上了篮球。我就立刻好奇地问孩子:在爸爸妈妈每年送你的礼物中,有没哪件礼物是你最喜欢的? 或者对你意义最大的?她的回答是我前些时间在她们学校做的一期讲座。这期讲座的主题是小手机,大学问,其中有一个研究的小节就是NFC手机是如何具有北京公交卡功能的。准备讲座期间,她陪着我一起准备手机样机、公交卡,以及设计PPT文件,就是在这个过程中让她了解了我大概在做些什么事情,我写的那本书是关于什么的。再后来她每次看到我在电脑前写东西,但又有事想打断我时,都会主动和我商量需要等待多长时间,然后她再过来找我。孩子开始懂事了,我想这既是动力也是对我最大的支持!
从书的构思、整理、申报、编写、校订,再到最后的出版,在这个过程中给予我支持的人很多,需要感谢的人和组织也特别多,在此特别感谢北京航空航天大学出版社、恩智浦(中国)管理有限公司、小米科技有限公司、华为北研、杭州雅观科技有限公司、Mobile CBG、一起走过的日子、Thiss best moment、老高和他的朋友们、gogogo Team Outing、乌兰布统休闲游。
王晓华
2019年2月14日
于北京市海淀区牡丹园
王晓华,现就职于恩智浦(中国)管理有限公司任高级程序经理职务,早年参与过PBOC移动支付标准的相关制定工作,最近的七年时间里主要的工作在NFC移动支付相关领域,过去的主要工作经验集中在加密芯片软硬件设计、嵌入式软件应用和Android手机系统等方面,当前主要学习和关注课题为IoT物联网安全和AI人工智能等。
1. 序 5
2. 概述 8
3. 术语和缩略语 13
4. SE安全芯片 17
5. 通用标准 23
5.1 安全等级 24
5.2 安全概念 25
5.3 认证机构 29
5.4 安全类 33
5.5 评估管理 40
6. 硬件部分 43
6.1 生命周期管理 44
6.2 供应链资源安全 44
6.3 晶圆和芯片的安全设计 45
6.4 OCR码 52
6.5 串号和CPLC数据 61
6.6 特征值参数 65
6.7 防物理克隆安全技术(PUF) 73
6.8 粘合逻辑技术(Glue Logic) 82
6.9 硬件防篡改保护技术(Anti-tamper) 84
7. 软件应用接口 92
7.1 应用协议数据单元(APDU) 93
7.1.1 ISO/IEC
7816-4 应用协议数据单元格式 100
7.1.1.1 指令类(CLA)域 100
7.1.1.1 指令码(INS)域 105
7.1.1.2 验证比较(VERIFY) 107
7.1.1.3 逻辑通道管理(MANAGE CHANNEL) 108
7.1.1.4 外部验证(EXTERNAL AUTHENTICATE) 109
7.1.1.5 获取随机数(GET CHALLENGE) 110
7.1.1.6 内部验证(INTERNAL AUTHENTICATE) 111
7.1.1.7 选择文件(SELECT FILE) 112
7.1.1.8 读取EF文件(READ
BINARY) 113
7.1.1.9 读取记录(READ RECORDS) 113
7.1.1.10 获取响应(GET RESPONSE) 114
7.1.1.11 数据串(ENVELOPE) 115
7.1.1.12 获取数据(GET DATA) 115
7.1.1.13 写EF文件(WRITE
BINARY) 116
7.1.1.14 写记录(WRITE RECORD) 116
7.1.1.15 更新EF文件(UPDATE
BINARY) 117
7.1.1.16 增加数据(PUT DATA) 118
7.1.1.17 更新数据(UPDATE RECORD) 118
7.1.1.18 追加记录(APPEND RECORD) 119
7.1.1.19 状态字(SW1-SW2) 120
7.1.2 Global
Platform 应用协议数据单元格式 121
7.1.2.1 删除(DELETE) 124
7.1.2.2 获取数据(GET DATA) 126
7.1.2.3 获取状态(GET STATUS) 131
7.1.2.4 安装(INSTALL) 133
7.1.2.5 加载(LOAD) 145
7.1.2.6 逻辑通道管理(MANAGE CHANNE) 147
7.1.2.7 更新秘钥(PUT KEY) 148
7.1.2.8 选择(SELECT) 153
7.1.2.9 设置状态(SET STATUS) 155
7.1.2.10 存储数据(STORE DATA) 158
7.1.2.11 状态字(SW1-SW2) 161
7.2 NFC与SE之间的数据通道 162
8. 附录 204