Android使用NFC模拟M卡实现 (二)

摘要:
安卓使用NFC模拟M卡来实现(I)安卓使用近场通信模拟M卡实现(II)安卓利用NFC模拟M卡实现(III)几天前编写的第一份关于NFC的官方文件翻译,NFC功能或通信,]即,通信是在包含NFC通信安全芯片的手机的基础上进行的。a、 手机制造商在设计电路时应使用安全芯片设计电路。b、 手机硬件中没有安全芯片,即手机不支持NFC功能,因此设计了带有NFC安全元件的SIM卡。
  Android使用NFC模拟M卡实现 (一)Android使用NFC模拟M卡实现 (二)Android使用NFC模拟M卡实现 (三)  

前几天写的第一篇关于NFC的官方文档的翻译,今天才更新第二篇。没等我更新,就有人留言,具体怎么实现了!

我写文章不易,你搜索也不易,进行了,就请细看,细读。不会让你失望,失望没懂的地方,请留言 !

这里应该是写总结,和,怎么去实现模拟卡。

下面对上篇文章的总结,1.2.3.4.5.6....几条。一条一条写的,用最通信简要的表达写。

第1条。从上篇文章中得知,NFC功能或者通信,首先得有NFC相关的芯片对吧 !

安卓对NFC模拟卡的两种结构,这里其实就指出了硬件相关的事儿了。

第一种结构:【 还是将Secure Element,译:安全元素。】即在手机含有NFC通信安全芯片的基础上进行通信。

市场一般是这样的:

a.手机厂商在进行电路设计时,电路中就要设计带有安全芯片。

b.手机硬件中没有安全芯片,即手机不支持NFC功能,那[移联电]运营商的SIM卡,就设计带NFC安全元素的SIM卡。

然而这些都依赖,手机厂商,或者,电信运营商。google想办法了。

搞出,HCE服务 【即Host-based card emulation services的简写】

即,第二种结构:HCE服务

HCE的最大好处就是不需要使用NFC-SIM或者eSE,不会受制于移动运营商和手机厂商。如图:

Android使用NFC模拟M卡实现 (二)第1张Android使用NFC模拟M卡实现 (二)第2张 

第2条。google肯定在推广上面的第二种结构方式。那问题就来了,HCE它到底是什么梗 !

其实它还是跑在NFC通信芯片上的一套基于软件实现安全通信协议的实现。

第3条。HCE的特点是模拟智能IC卡(ISO 7816-4),可用于金融和行业应用。如果想模拟MifareClassic就只能,呵呵了!

智能卡的HCE支持协议;ISO 7816-4、14443-4 A、14443-2、14443-1

第4条。博客上一堆的模拟文章,大都是想模拟门禁,市面大都门禁用的M1卡。

且方法是,ROOT手机,修改配置文件中的内容。从而达到修改芯片UID的效果 !

     门禁系统中,大都是基于,读卡的ID,对上就能开门。且大都为MifareClassic卡,1K,即所谓的M1卡。

     修改/system/etc/libnfc_nxp.conf文件,修改UUID的值,从而达到门禁效果。

 

第5条。优惠卡,金融卡,交通卡,可不是就读个卡的ID这么简单,然后就给扣钱的。

     即现在的安卓手机能刷地铁,能读银行卡,等等,看上只要一刷就行,其实后面有复杂的交互的 !

    这些卡在使用时,不需要打开APP应用,就可以直接使用。为什么不需要打开APP。

    因为它有基于android service 无需要启动的应用,也可以在服务中启动其UI界面。这一句,好像表达有不通顺 !

 

第6条。前面我写过几篇,NFC读卡篇。尝试过下面的卡,得到的类型。

      Android使用NFC读卡实现 (一)        Android使用NFC读卡实现 (二)

     HCE中的模拟卡,就使用到其中的 IsoDep 类型,官方也模拟使用这种类型,模拟这种类型。

     这里一看, IsoDep好像很安全,银行都在用这种协议 !!!

二代身份证

显示为 NfcB

华北电力大学校园卡

北京市政交通卡

厦门公交卡

北京农商银行

中国建设银行

显示为 IsoDep

日常普通卡

显示MifareClassic

门禁卡MifareClassic

第7条。IsoDep 类型。IsoDep是什么鬼?

    说来话长,是一种规范。简单讲:

    银行卡是智能卡,智能卡那就不简单了,因为智能所以它能进行一些基本的通信了。

    再是以前的磁条卡,只记录信息,读/写两种操作了。或,M1卡,读个UID,或者,扇区中存点简单数据。

   相互之间是有点半自动的通信在里头了。  谈到通信过程,那就要有两端,1.卡端, 2.读卡器端。

   例:你拿手机银行卡,去消费,刷了卡,小额的,可以不要指纹,直接付款了。超过你限定的,自己调起需要你指纹确认。

         通信过程,a.读卡器向手机银行卡发信息,要银行卡号,什么的....

                               卡不是收到什么,都回复。那收到什么,卡才给回复。按PBOC 3.0中国银联的规范。指定的发....才回复!

                          b.,收到信息要对比,是对的,那就回给他信息。不对,那就不理他。

                                如果读卡器反复尝试发信息,都不对,卡还可以拒绝通信。为什么能拒绝,因为他是智能卡。

                          c.对上号了[验证],通信就可以开始了!读卡器向卡发信息,还想要姓名,余额,什么的....

                               那还是要按规范来,你问什么,对的上号,那就给你回复的。

第8条。简单的M卡模拟不了,那就只能模拟,智能卡了。

        a.模拟银行卡去给POS机读, 

        b.模拟自己的卡去给自己的读卡器读。

        c.模拟交通卡去给地铁站的读卡器读。

        那就是说,这个通信的过程规则协议是可以自己制定。

        例:北京公交卡,卡,按设定的通信规则协议设计的出来的,读卡器,车上和地铁上的读器也要用相对的通信规则协议。

       且读卡器,读取后需要处理的,所谓读卡器有对应的后台系统,是需要有你的记录信息的。

第9条。不知不觉,又写了这么长。分下篇吧!

            写一个, 模拟自己定义的智能卡 去给 自己定义的读卡器读。

免责声明:文章转载自《Android使用NFC模拟M卡实现 (二)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇DeepFaceLab小白入门(6):脸部替换以及合成视频!Android ADB 端口占用问题解决方案下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

GSM、GPRS、EDGE、2G、3G与WAP的关系

  1、GSM(Global System of Mobile communication)即全球移动通讯系统:   是目前使用人数最大的移动通信网络,就是2G的移动通信技术,是一种电路交换系统。这种网络仅提供话音、文字短信等简单的功能,没有数据通信服务。   2、GPRS(General Packet Radio Service)即通用分组无线服务:  ...

使用命名管道承载gRPC,以及适用场景

最近GRPC很火,感觉整RPC不用GRPC都快跟不上时髦了。 gRPC设计 gRPC是一种与语言无关的高性能远程过程调用 (RPC) 框架。刚好需要使用一个的RPC应用系统,自然而然就盯上了它,但是它真能够解决所有问题吗?不见得,先看看他的优点: gRPC的主要优点:# 现代高性能轻量级 RPC 框架。 协定优先 API 开发,默认使用协议缓冲区,允...

【移动开发】WIFI热点通信(二)

相信大家在上一篇中已经了解了Android中WIFI热点通信的相关操作知识(http://smallwoniu.blog.51cto.com/3911954/1536126),今天我们将在上一篇代码基础之上进行Socket编程,实现一个简单的多人聊天室功能,以达到热点网络上的通信目的。     首先,我们先来看一张最终效果图: <=======>...

获取iPhone手机的UDID和设备名称.

关于设备名称: iPhone的设备名称也可以在手机上面查看到:设置-通用-关于本机-名称(设备名称是可以自己改的) 关于UUID: 什么?用了iPhone这么久你不知道什么叫UDID! UDID 是由子母和数字组成的40个字符串的序号,用来区别每一个唯一的iOS设备,包括 iPhones、iPads以及 iPod touches(所以这篇文章也适用于其他i...

TCP/IP协议分层模型(转载)

原文链接:https://juejin.im/post/6844903576930615309 一 连接人与人的计算机网络       计算机网络最初的目的是连续一个个独立的计算机, 使他们组成一个个更强有力的计算环境。简而言之,就是为了提高生产力。从批处理时代到计算机网络时代, 毋庸置疑,都体现了这一目的。然而,现在却似乎有了微妙的变化。      ...

H5 的直播协议和视频监控方案

H5 的直播协议和视频监控方案 一、流媒体主要实现方式 二、流媒体技术 2.1 流媒体 2.2 直播 2.3 流协议 2.3.1 HLS 协议 2.3.2 RTMP 协议 2.3.3 RTSP 协议 2.3.4 MPEG-DASH 2.3.5 WebRTC 协议 2.4 服务器端技术 2.4.1 GStreamer 2.4.2 Live555...