Windows 8 Phone - 访问 NFC 阅读器?

Posted

技术标签:

【中文标题】Windows 8 Phone - 访问 NFC 阅读器?【英文标题】:Windows 8 Phone - access to NFC reader? 【发布时间】:2012-10-30 03:16:11 【问题描述】:

小问题:我可以使用支持 NFC 的 Windows Phone 8 读取信用卡信息吗?

长问题:信用卡 NFC 是如何发挥作用的?卡(或具有钱包功能的手机)通过 NFC 接收请求并以某种标准化格式回复明文信用卡信息?钱包选项然后在广播信用卡信息之前还支持一些确认对话框?

或者之前有一些握手加密吗?或者是否有一些信用卡特定的密码来保护通信?或者 NFC 上是否有一些用于支付的覆盖协议?据了解,NFC 只是在空中推动一根绳子?

如果它有效,我认为它有效,我可以告诉 Windows 8 Phone,最好通过 C#,读取信用卡信息并将其显示给我(如果信用卡内部有芯片)?或者可能是 Windows Phone 8 不允许访问 NFC 阅读器,或者一些神秘的支付协议(如果存在这样的事情)。我的简短网络搜索对技术细节非常模糊,尤其是在一些网站谈论运营商对钱包系统的支持时,好像会从网络的某个地方获取一些密钥以确保交易安全?我无法想象在所有信用卡发行商中都标准化了类似的东西。

谁能提供有关信用卡数据传输方式的技术见解,以及您是否可以对手机进行编程以读取此类数据。

【问题讨论】:

【参考方案1】:

我可以使用支持 NFC 的 Windows Phone 8 读取信用卡信息吗?

不,你不能那样做。 Windows Phone 8 上的 NFC API 非常有限。

Wallet API 可能会以某种方式帮助您完成项目,但这与 NFC 无关。 您也可以尝试使用带有 NFC 的 android 设备,它们的 NFC API 比 WP8 更强大。

【讨论】:

【参考方案2】:

简短回答:不。信用卡不太可能与 WP8 一起使用。

长答案:

    RFID 与 NFC: 据我所知,大多数信用卡都没有 NFC。他们有RFID。可以说它是 NFC 的“前身”技术。 RFID 大多是非标准化的,比 NFC 具有更远的范围,并且只支持单向通信。而 NFC 是一个不断发展的标准,可以在 2cm-4cm 范围内使用并支持双向通信。因此,WP8 不支持 RFID,但支持 NFC。 WP8 上的 RFID: 话虽如此,WP8 有可能识别 一些 RFID 标签。您可能能够从特定 WP8 手机中的特定 RFID 标签中读取字节 []。显然,不建议这样做。 安全 NFC: 最后一件事是,某些非常特定地区的一些非常独家的合作伙伴将可以使用“安全 NFC”。安全 NFC 是 NFC 的超集,并添加了通过 WP8 的 NFC 存储和传输安全信息的功能。例如,安全 NFC 可以存储信用卡号或银行帐号作为 WP8 钱包的一部分。但是,这仅适用于移动运营商发布“智能 SIM”(能够运行小程序的 SIM)的地区,开发人员可以编写基于 Java 的智能 SIM 小程序,开发人员与移动运营商达成协议部署这些小程序无线小程序,这些 WP8 应用程序已与 Microsoft 一起被清除用于 WP8 商店,并且有专用的零售硬件终端可以读取它们。

【讨论】:

我刚刚使用流行的 Android NFC 应用程序检查了我拥有的显示 NFC 符号的信用卡/借记卡,它们都被识别为以 IsoDep 格式模拟 Mifare 1K NFC,即非 NDEF格式。这表明他们确实“有 NFC” 信用卡可以通过 NFC 使用 Android 手机读取。事实上,Triangle.io 有一个 API 可以让你阅读它。【参考方案3】:

整理一下JustinAngel上面的回答:

RFID 不是 NFC 的前身技术 RFID 覆盖射频通信的各种频段(例如 HF 和 UHF) NFC 是近场通信,通常覆盖 HF (13.56 MHz) 许多标准都属于 HF NFC:ISO14443-4、ISO15693、FeliCa、ISO18092、..... NFC 论坛正在尝试统一事物并使用 NDEF 消息来交换语义消息 信用卡的非接触式支付基于非接触式智能卡层。 WP8 只允许交换 NDEF 消息 WP8 不允许在非接触式智能卡层上进行交换 (ISODEP==L4==(T=CL)) 查看windowsproximity api了解详情或http://developer.nokia.com/Community/Wiki/Use_NFC_tags_with_Windows_Phone_8 然而,Android 允许访问此 ISODEP 层 我不知道可以从应用程序中检索到哪些信用卡信息。涉及处理密码学和东西的安全元素。我不认为 Mastercard payPass 或 VISA payWave 的详细信息是免费提供的

【讨论】:

【参考方案4】:

非接触式信用卡/借记卡确实使用 NFC(主要是 ISO 14443-A,一些主要在法国是 ISO 14443-B),并且它们的通信协议遵循称为 EMV 的行业标准,该标准在此处提供公共规范:http://www.emvco.com/specifications.aspx?id=223这些卡通过 NFC/非接触式以及通过接触式芯片(例如,您插入读卡器的黄金物品)使用相同的 EMV,尽管支付网络往往会根据所使用的接口(例如,有时不需要 PIN)做事略有不同通过非接触式的少量,而接触可能总是需要 PIN)。此外,协议的某些方面是支付网络专有的,因此 EMV 规范并未完全描述所有内容。

如果您四处搜索,有很多网站提供了一些示例,说明如何通过 NFC 与信用卡/借记卡进行通信,而另一些则通过插入芯片卡进行通信,但通常无论界面如何,命令的工作方式都相同。您可以为 http://blog.saush.com/2006/09/08/getting-information-from-an-emv-chip-card/ 购买一个兼具 NFC 和插入/接触功能的 USB 智能卡读卡器

对于 Windows Phone,只要您拥有 Lumia 830/730/735 等设备,您也可以使用信用卡进行通话,因为旧设备(甚至是 Lumia 930)具有旧的 NFC 芯片,驱动程序不支持智能卡 API。您可以在此处使用示例代码:https://nfcsmartcardreader.codeplex.com/ 来了解如何向 NFC 卡发送/接收 APDU 命令/响应,尽管该项目没有专门提供信用卡所需的命令(尽管其他链接确实有 APDU你需要)。

而信用卡通常都会让您阅读其 PAN(印在正面的帐号)、到期日,在某些国家甚至还包括持卡人姓名(尽管在美国,出于隐私考虑,大多数银行往往不会公开它,而是返回诸如“VALUED/CARDHOLDER”之类的东西作为名称)没有任何加密或密钥。但是,它不会返回印在卡背面的 CVV2 代码,这通常是商户能够在互联网上下订单所要求的,并且由于存在动态/加密数据,它通常也不允许您克隆卡需要在实体商户进行刷卡交易。

【讨论】:

以上是关于Windows 8 Phone - 访问 NFC 阅读器?的主要内容,如果未能解决你的问题,请参考以下文章

Windows Phone 8.1 上的 WiFi 直连

Windows Phone 8部分新应用展示

在 Windows phone 8 中获取 UI 调度程序

如何从我的 Windows Phone 8 应用程序(XAML 和 C#)访问相机并将拍摄的照片保存在确定的文件夹中?

Windows Phone 8 更改口音和主题颜色

Windows Phone 8 用户控件的 VisibleChanged 事件在哪里?