ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

android – 如何防止NFC标签克隆?

2019-09-23 17:26:37  阅读:226  来源: 互联网

标签:android security clone nfc contactless-smartcard


我正在使用NFC标签制作应用程序,我必须阻止NFC标签克隆.我已经看到许多其他NFC标签,当试图克隆时,会显示弹出消息“克隆受限制,标签由密钥保护”,我希望我的NFC标签具有相同的安全性.

解决方法:

这取决于您使用的标记类型以及您希望克隆的保护级别.

> NFC标签(由NFC Forum定义)没有防止克隆的保护.这些标签旨在作为可自由读取的数据的容器(所谓的NDEF消息).任何人都可以从一个标签读取NDEF消息并将其复制到另一个标签.
>许多NFC标签还包含由标签制造商预编程的唯一标识符,不能在普通标签上修改.您可以使用此唯一标识符来确定标签是否由您(即您知道其ID)或伪造(即您不知道其ID)发出.您还可以在标记的ID及其数据上创建数字签名,而不是使用正版ID列表.这样,您可以查看数据和签名是否用于具有不同唯一标识符的标记.但是,仍然可以从标记中提取所有数据.因此,您应该知道,如果攻击者可以将唯一标识符更改为标记ID的值,则可以使用专用硬件(例如Proxmark等)和现成标签.所以这肯定不是完美的克隆保护.
>您可以使用非接触式智能卡/标签,提供通信加密和基于共享密钥的访问控制(例如MIFARE DESFire).使用此方法,您可以存储不希望攻击者能够在受密钥保护的内存区域中克隆的数据.但是,如果您希望能够从应用程序中读取该数据(即没有直接与卡通信的在线后端),则需要存储密钥才能访问应用程序中的内存区域.因此,在离线场景(即存储在应用程序中的密钥)中,攻击者可能能够提取该密钥并使用它来克隆标记.
>您可以使用包含秘密非对称密钥的标记/智能卡,并提供使用该密钥对加密质询进行签名的命令.在这种情况下,为了验证标签是否是正版,您可以从标签请求此类签名以进行随机质询,并根据对应公钥的标签验证签名.这肯定是最安全的解决方案,因为您不需要在应用程序中存储任何共享密钥.唯一现成的NFC标签解决方案(我现在知道)提供这样的功能似乎是Inside Secure的VaultIC.虽然您可以基于非接触式智能卡(例如Java卡)的非对称加密功能自己创建一个.

请注意,对于上述所有克隆保护方案,您必须创建一个应用程序,以检查标记是真实的还是克隆的.默认情况下,NFC电话仅使用(1)中的信息,因此不执行任何此类检查.

标签:android,security,clone,nfc,contactless-smartcard
来源: https://codeday.me/bug/20190923/1815424.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有