为什么 Android 不提供门卡、公交卡等功能需要的完整 NFC API? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yyws2012
V2EX    Android

为什么 Android 不提供门卡、公交卡等功能需要的完整 NFC API?

  •  
  •   yyws2012 2023-04-01 19:09:36 +08:00 via Android 13924 次点击
    这是一个创建于 1007 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如题,目前已知的门卡模拟,要么是系统应用,要么要写系统分区( root + 读写挂载 /Magisk )。公交也全是靠系统应用。为什么 Android 不能开放相关 API ,允许普通 app 实现这些功能?
    /div>
    11 条回复    2023-04-03 17:48:32 +08:00
    Biggoldfish
        1
    Biggoldfish  
       2023-04-01 19:29:46 +08:00
    公交完全是可以通过现有的系统 API 实现的,之前有微信小程序可以支持 NFC 公交卡,只是大多数手机厂商直接做成了系统应用

    而且在美国 NFC 公交卡都是 Google Wallet/Apple Pay 里添加一下就行了,没有第三方应用自己实现公交卡的需求(也很少会有人用
    fromzero
        2
    fromzero  
       2023-04-01 19:34:22 +08:00
    可能觉得不安全吧
    2xvaHoK2LGxQ29R5
        3
    2xvaHoK2LGxQ29R5  
       2023-04-01 19:43:02 +08:00
    为什么要提供 NFC 的 API, android 又没有要求所有手机内置 NFC. NFC 对于手机来说本来就像是蓝牙一样的选配外设,顶多是一个分享功能。对于支付和门禁这种的应用就更是选配中的选配了。
    只不过因为国内厂商很卷,所以大家看起来好像是标配,但是这不代表说 anroid 就得把这个应用包进系统里啊
    CEBBCAT
        4
    CEBBCAT  
       2023-04-01 20:10:40 +08:00
    @kangyue9999 #3 是不是我理解不太对?我觉得楼主的重点是 API
    ysc3839
        5
    ysc3839  
       2023-04-01 22:18:30 +08:00 via Android   2
    那些 NFC 功能都是 NFC 芯片提供的,没有标准接口的。
    Android 有 NFC 卡模拟接口,是因为市面上绝大多数 NFC 芯片都支持这种模式,且实际应用场景很广泛,如模拟银行卡。
    目前银行卡交易系统都是实时联网的,所以卡模拟只需要交换一个一次性授权密钥即可,其他数据是联网验证的。
    而公交卡系统中很多刷卡机只能做到定时联网同步数据,做不到实时联网,那刷卡机不可避免要信任卡中的数据,这就涉及到了数据复制的问题,那就不能用纯软件的模拟方案了。因此大部分 NFC 芯片不会支持这种模拟方式,即使 Android 定义了这个接口,结果也会是没有厂商支持。实际上 Android 是支持 NFC SIM 的,利用 SIM 卡来充当公交卡的安全芯片。
    datou
        6
    datou  
       2023-04-01 22:45:00 +08:00
    我记得 16 年左右很多手机都支持和包的 nfc-sim 呀
    yolee599
        7
    yolee599  
       2023-04-02 00:09:40 +08:00 via Android   1
    andriod 太容易 hack 了,和支付相关的越开放风险越高
    felixlong
        8
    felixlong  
       2023-04-02 09:42:27 +08:00
    yyws2012
        9
    yyws2012  
    OP
       2023-04-02 11:19:13 +08:00 via Android
    @felixlong 用这个可以实现读取门卡后,用手机模拟它?
    wanghui22718
        10
    wanghui22718  
       2023-04-03 16:22:11 +08:00
    安全问题。刚好深入研究过一点,api 是有的,但是对 m1 卡数据扇区的模拟依赖 nfc 芯片,需要一个芯片密钥才能进行,因安全问题只能设备制造商存有,不可能提供第三方随意使用。
    lc5900
        11
    lc5900  
       2023-04-03 17:48:32 +08:00
    安全问题吧,ESE 的权限不能随便开放,不过可以用 HCE 来软实现部分功能
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2527 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 14:34 PVG 22:34 LAX 06:34 JFK 09:34
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86