IDTECH信用卡读卡器数据解密

Tus*_*edi 8 java security encryption credit-card credit-card-track-data

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

此详细信息已使用DU DES使用带有CBC密码的Triple DES加密.

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

028801001F372300%*5150********7903^PAYPASS/MASTERCARD^************
***?*;5150********7903=***************?*8871B640F379F3BD8D057A13F81454
39B28D80BE8A43F3440D85928F576065EEE1BA54CAADFF67D552C2B0CBF1A9F
34B63402B967998FC7C80487C8A6DBFD46975985D3D7E865FEEF6A48930751DC9
71FDFCBC1989294B7EF6F0D0007AA731C31F574608EB85E57751DA48970F96B0E
8BECDB94D672D746C2CC75176FA6E0C9E6FEFE0B154A0959B6299490125000000
00197F6903
Run Code Online (Sandbox Code Playgroud)

解密的可用细节::

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
Run Code Online (Sandbox Code Playgroud)

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

%B5150710200107903^PAYPASS/MASTERCARD^090910140000631??;5150710200
107903=090910140000631?0
Run Code Online (Sandbox Code Playgroud)

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

我正在寻找java的解决方案.

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

Pau*_*ulG 6

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

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

这导致了下一个问题.为什么解密这些信息?返回数据的纯文本部分包含卡号的(PCI兼容)段(前四位,后四位).如果你能够解密完整卡号,然后是PCI合规的全部重量会落在你的肩上,从而让使用第三方设备没用.