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

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

问题描述

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

长疑问:带信用卡的NFC如何正常工作?卡(或具有钱包功能的电话)通过NFC接收请求并以某种标准化格式回复明文信用卡信息吗?然后,钱包"选项在广播信用卡信息之前还仍然会发出一些确认对话框?

还是在进行一些握手加密?还是有一些信用卡专用密码来保护通讯?还是在NFC上有一些叠加协议用于支付? NFC ist只是尽力将一根绳子推向空中?

如果可以正常运行,我可以告诉Windows 8 Phone,最好通过C#读取信用卡信息并将其显示给我(如果信用卡内部装有芯片)?还是Windows Phone 8禁止访问NFC阅读器或某些神秘的支付协议(如果存在这种情况).我在简短的网络搜索中非常关注技术细节,尤其是在一些站点谈论运营商对钱包系统的支持的情况下,好像某些密钥会从网络中的某个地方获取来保护交易吗?我无法真正想象所有信用卡发行商都对这种标准化进行标准化.

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

解决方案

非接触式信用卡/借记卡肯定会使用NFC(主要是ISO 14443-A,在法国主要是ISO 14443-B),并且其通信协议遵循称为EMV的行业标准,可在此处找到公共规范: http://www.emvco.com/specs.aspx?id = 223 尽管支付网络的支付方式往往有所不同,但它们在NFC/非接触式以及通过接触芯片(例如,插入读卡器中的金币)上都具有相同的EMV.在哪个接口上使用(例如,有时不需要通过非接触式输入少量PIN,而接触可能始终需要PIN).此外,协议的某些方面是支付网络专有的,因此EMV规范不能完全描述所有内容.

如果您在附近搜索,有很多站点提供了一些示例,说明了如何通过NFC与信用卡/借记卡进行通信,有些则通过插入芯片卡进行通信,但是通常无论接口如何,命令都将相同.您可以购买可同时进行NFC和插入/联系的USB智能卡读取器,网址为http://blog.saush.com/2006/09/08/getting-information-from-an-emv-chip-card/

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

通常,所有信用卡都可以让您读取其PAN(在正面打印的帐号),有效期限,甚至在某些国家/地区,甚至可以看到持卡人的姓名(尽管在美国,出于隐私考虑,大多数银行通常不会公开该密码,而是返回诸如"VALUED/CARDHOLDER"之类的名称),而无需任何加密或密钥.但是,它不会返回印在卡背面的CVV2代码,这通常是商家必须能够在Internet上下单的要求,并且由于存在动态/加密数据,因此它通常也不允许您克隆卡需要在实体商家处进行刷卡交易.

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天全站免登陆