Windows 8 Phone - 访问 NFC 阅读器? [英] Windows 8 Phone - access to NFC reader?

查看:17
本文介绍了Windows 8 Phone - 访问 NFC 阅读器?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

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

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

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

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

解决方案

非接触式信用卡/借记卡确实使用 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/购买一个 USB 智能卡读卡器,它可以同时进行 NFC 和插入/接触.>

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

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

Short question: Can I read credit card information with a NFC capable Windows Phone 8?

Long question: How does NFC with credit cards exatly work? The card (or the phone with wallet function) receives a request via NFC and replies with the cleartext credit card information in some standardised format? The Wallet option then aditionally still props some comfirmation dialog before broadcasting the credit card information?

Or is there some handshake encryption going on before hand? Or is there some credit card specific secret code safeguarding the commuincation? Or is there some overlay protocol on NFC for payment? NFC ist just pushing a string over the air as far as know?

If it works, as I think it works, can I tell a Windows 8 Phone, through preferably C#, to read credit card information and display it to me (if the credit card has a chip inside)? Or does maybe Windows Phone 8 disallow access to the NFC reader, or some mystic payment protocol (if such a thing exists). My short web search was very vage on technical details, especially with some sites talking about carrier support for wallet systems, as if some keys would be fetched from somewhere in the web to secure the transactions? I can't really image something like that being standardised accross all credit card issuers.

Can someone give technical insight the way credit card data is transfered and if you can program a phone to read such data.

解决方案

Contactless credit/debit cards certainly do use NFC (mainly ISO 14443-A, some mainly in France are ISO 14443-B), and their communication protocols follow an industry standard called EMV which has public specs available here: http://www.emvco.com/specifications.aspx?id=223 The cards speak the same EMV both over NFC/contactless as well as through the contact chip (eg the gold thing you insert into a reader) though payment networks tend to do things slightly differently depending on which interface is used (eg sometimes PIN not required via contactless for low amounts, whereas contact might always require a PIN). Also, certain aspects of the protocols are proprietary to the payment networks so the EMV specs don't fully describe everything.

If you search around there are various sites that give some examples of how to communicate with credit/debit cards some over NFC others with an insert chip card, but typically the commands will work the same regardless of the interface. You can buy a USB smart card reader that will do both NFC and insert/contact for http://blog.saush.com/2006/09/08/getting-information-from-an-emv-chip-card/

For Windows Phone you also can talk with credit cards as long as you have a Lumia 830/730/735 etc as the older devices (even the Lumia 930) have an older NFC chip where the driver doesn't support the smart card APIs. You can use the sample code here: https://nfcsmartcardreader.codeplex.com/ to learn how to send/receive APDU commands/responses to NFC cards though that project doesn't specifically have the commands you need for a credit card (though that other link does have the APDUs you need).

And credit cards generally all will let you read their PAN (the account number printed on the front), expiry date, and in some countries even the cardholder name (though in the US for privacy most banks tend to not expose it, instead returning stuff like "VALUED/CARDHOLDER" as the name) without any encryption or keys. It will not however return the CVV2 code printed on the back of the card, which is generally required by merchants to be able to place orders on the internet, and it also generally does not let you clone the card since there is dynamic/encrypted data required to do card present transactions at a physical merchant.

这篇关于Windows 8 Phone - 访问 NFC 阅读器?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆