IDTECH信用卡读卡器数据解密

Posted

技术标签:

【中文标题】IDTECH信用卡读卡器数据解密【英文标题】:IDTECH credit card reader data decrypting 【发布时间】:2013-04-12 23:54:58 【问题描述】:

我正在尝试解密 IDTECH 信用卡读卡器的加密数据。

此详细信息已使用三重 DES 和使用 DUKPT 的 CBC 密码进行加密。

加密刷卡(来自 IDTECH 信用卡读卡器):

028801001F372300%*5150********7903^PAYPASS/MASTERCARD^************
***?*;5150********7903=***************?*8871B640F379F3BD8D057A13F81454
39B28D80BE8A43F3440D85928F576065EEE1BA54CAADFF67D552C2B0CBF1A9F
34B63402B967998FC7C80487C8A6DBFD46975985D3D7E865FEEF6A48930751DC9
71FDFCBC1989294B7EF6F0D0007AA731C31F574608EB85E57751DA48970F96B0E
8BECDB94D672D746C2CC75176FA6E0C9E6FEFE0B154A0959B6299490125000000
00197F6903

可用于解密的详细信息::

Key Value: F5 BF 6B E8 55 AB 92 3A DE 7E 77 40 D8 46 F9 DE
KSN: 62 99 49 01 25 00 00 00 00 1A

解密数据(结果): ASCII 格式的数据

%B5150710200107903^PAYPASS/MASTERCARD^090910140000631??;5150710200
107903=090910140000631?0

任何安全算法或 JAVA 专家都可以指导我如何继续解密这些数据。

我正在寻找 java 中的解决方案。

以上信息是否足以解密数据或需要更多信息?

【问题讨论】:

你找到解决办法了吗? 【参考方案1】:

您不太可能解密它,因为您还需要知道制造商嵌入到设备中的基本派生密钥 (BDK) 和/或初始 PIN 加密密钥 (IPEK)。您还需要知道他们如何从 BDK 生成 KSN。他们不太可能与您分享所有这些信息,因为这会使加密变得无用。

来源:http://en.wikipedia.org/wiki/Derived_unique_key_per_transaction

这导致下一个问题。为什么您想要解密此信息?返回数据的纯文本部分包含卡号的(PCI 兼容)段(前四位,后四位)。如果您能够解密完整的卡号,那么 PCI 合规性的全部重担将落在您的肩上,从而使使用 3rd 方设备变得毫无用处。

【讨论】:

以上是关于IDTECH信用卡读卡器数据解密的主要内容,如果未能解决你的问题,请参考以下文章

Android 上的 IDTech Unimag 刷卡器

javascript 非常简单的jQuery实现,可从USB磁条信用卡读卡器读取卡数据。

实体信用卡读卡器可以识别名字和姓氏吗? [关闭]

解密来自MagTek iDynamo加密读卡器的数据

将信用卡读卡器连接到 Web 应用程序?

用于 Cocoa 应用程序的 USB 信用卡读卡器