如何检索基本的智能卡信息
Posted
技术标签:
【中文标题】如何检索基本的智能卡信息【英文标题】:How to retrieve essential smart card info 【发布时间】:2019-11-06 19:46:15 【问题描述】:我正在使用一个简单的智能卡读卡器,并希望使用同一个读卡器检索存储在 EMV 芯片上的信息。目前,我找到了一个库,名为 pyscard,它使用python
。
目前,我已经设法使用文档和一些命令代码来获取我的卡的 ATR,包括 Applet 代码,但无法检索到任何实际重要的数据,例如 CardHolder 名称, PAN, 有效期, 卡类型(Visa, MasterCard...) 等。
ATR 或 AID 是否有用?我是否必须处理或分析 ATR 和 AID 才能获得命令代码?
是否有可能获取数据,因为任何地方都没有命令代码,但是很多堆栈溢出文章几乎没有任何地方可以在***和整体文档中获得详尽的解释。
pyscard 文档似乎也没有提供此类信息。
此外,是否可以访问用户已购买的库,例如作为列表:4.5 欧元、22 欧元、5 欧元等或不可以,或者这些数据是否记录在芯片上?
我找到的最接近的来源是这个链接:https://iso8583.info/lib/EMV/TLVs 此处有类似重复的文章 Retrieve smart card's PAN with Python and pyscard 此处有一些文档https://www.openscdp.org/scripts/tutorial/emv/reademv.html
这里还有 pyscard 的文档:https://pyscard.sourceforge.io/index.html
感谢您的回答,如果不是因为投反对票,我发现许多类似的查询都收到了这样的投票。
【问题讨论】:
我认为这应该是可能的,因为刷信用卡的人当然可以这样做。 支付终端肯定能够做到这一点,因为如果号码不准确,网络将不知道如何路由号码、使用哪个网络以及向哪个银行提出批准请求 这显然太宽泛了,但首先:pyscard 只是命令的传输介质,在这里不相关,因为您要求命令发送。假设您的程序能够做某事,因为类型批准的支付终端可以,这有点雄心勃勃。 好吧,我只需要阅读信息,而不是传输或发送新信息。存储在芯片上的详细信息对我没有用,因为它们在卡上可见。 请看这个答案:***.com/questions/58299515/… 【参考方案1】:Card connect 提供的 SCSH(智能卡外壳)对您来说是一个有用的工具。它有一些预定义的脚本来读取 EMV 卡。 下载地址为EMV Credit Card Application
【讨论】:
【参考方案2】:RFIDIOt 是一个很好的库:
https://github.com/AdamLaurie/RFIDIOt
它附带了许多示例,包括 ChAP.py,其中包含与 EMV 卡通信所需的代码。
【讨论】:
以上是关于如何检索基本的智能卡信息的主要内容,如果未能解决你的问题,请参考以下文章
中山大学资讯管理学院“人工智能数据挖掘与信息检索前沿发展”青年学者专题研讨会