首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >android上使用主密钥的Mifare Desfire对称认证

android上使用主密钥的Mifare Desfire对称认证
EN

Stack Overflow用户
提问于 2016-12-22 06:40:44
回答 2查看 631关注 0票数 1

我想将Mifare Desfire芯片用于产品认证目的,将芯片嵌入到产品中。因此,我正在寻找一种NFC解决方案,使其几乎不可能(或尽可能难)克隆芯片。

我使用Desfire的当前解决方案是使用支持的对称身份验证,在芯片中有一个内存锁定部分,我们将在其中存储产品信息。然后,我们将使用主密钥、芯片的UID和一些元数据创建不同的密钥,并使用该不同的密钥进行对称身份验证(有关它的更多信息,请参阅here

现在,问题在于,对称身份验证必须在android应用程序上完成,这意味着我们必须将主密钥存储在android应用程序上,或者通过网络将其发送到潜在恶意版本的应用程序。因此,我想知道是否有人有关于如何保护主密钥或完全不同的身份验证解决方案的建议,以防止使用Mifare Desfire或其他类似的NFC芯片的芯片克隆。

EN

回答 2

Stack Overflow用户

发布于 2017-02-17 00:59:28

主密钥在应用程序中绝对不可能是安全的。

相反,只需使用您的应用程序将接收到的使用密钥加密的随机数发送到您的服务器,并在您的服务器中实现使用主密钥解码此信息的过程,以便您可以将新的随机数加密的响应返回到您的应用程序。

通过身份验证后,您还可以发送和接收要写入的信息。

这样,您就可以确保您的密钥和您处理的信息不会暴露给任何人。

更新

既然你使用的是android,那么相信我,你将需要这个库,这样你就可以在服务器上进行验证,而不会得到0x1C错误(非法命令)。当身份验证中的步骤2延迟超过100毫秒时,会出现此错误。

https://gist.github.com/Thorbear/f7c48e90d3e71bde13cb

希望这篇文章能帮助任何人解决这个问题

票数 0
EN

Stack Overflow用户

发布于 2017-02-19 18:44:49

您需要访问安全元素。根据您的使用情况,您可以使用外部(如在USB上)安全元件加密狗。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41273130

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档