- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试开发一种自定义加密安全协议(protocol),用于通过 RFID 智能卡进行身份验证,我在互联网上所能找到的只是有关如何将静态标签写入卡中的通用信息。对于我的项目,我需要读卡器向卡发送挑战随机数(固定长度随机字节),然后卡应发回使用硬编码 key (例如使用 AES CBC)或哈希 HMAC 加密的挑战。
问题是:我该如何对卡进行编程以执行此类行为?我可以编写代码来执行此操作,但如何将其“闪存”到卡上。此外,阅读器的代码也不是问题(我想使用带有阅读器模块的 Arduino)。
然后,考虑到距离只有几厘米(例如门后),是否有足够功率的无源芯片来执行此类计算,或者最好使用有源芯片?
最佳答案
无源标签无法做到这一点。这些只是保存着他们吐出的序列号。
您需要一些更智能的卡。您基本上有两个选择:
1) 选择适合您需求的通用卡
您描述的身份验证方案使用非常广泛,几乎所有通用智能卡都实现了该方案,无论是接触式接口(interface)还是非接触式 (RF) 接口(interface)(或两者兼而有之)。如果您采用这种方式,则无需使用自己的代码对卡进行编程,只需获取规范并通过发送适当的命令使用您想要的键值初始化卡。实际上,对于这些卡,通常有通用工具可用于初始化它们。简单。
例如,Mifare(由 NXP 开发)使用非常广泛,易于获取,而且卡很便宜(缺点:它肯定不是有史以来最安全的卡)。您可以使用 Mifare Classic - 具有专有的 NXP 安全协议(protocol) - 规范 here (注意,读卡器必须兼容)或 Mifare UltraLight C,具有开放 3DES 加密 - 规范 here 。还有其他变体(例如使用 AES 的 Mifare Plus)。只是不要选择简单的 Mifare Ultralight,它不提供身份验证手段。您会发现,对于所有这些类型的卡,都有一个内置的身份验证方案,可以在功能上满足您的需求(它实际上是相互身份验证,因此它的功能比您需要的更多,但没关系)。
FeliCa(由索尼制造)、ACOS3(由 ACS 制造 - 规范 here )是其他可能性,尽管我不太熟悉。
2) 获取可编程卡
有一些,但是非接触式的不太容易找到,而且价格非常昂贵。您可以查找:
BasicCard (ZeitControl),具有双界面。这些卡可以在 Basic 中进行编程,并且有一些可用的套件(但我也不熟悉)。
JavaCard(任何制造商),这是一个标准,但对于小批量来说很难找到。不过,一些网上商店似乎有一些。这些卡可以用 Java(实际上是 Java 的子集)进行编程。有一些可用于开发阶段的工具(例如来自 Oracle 的工具,甚至是 Eclipse 插件)。然后,为了在智能卡中加载自定义小程序,您需要熟悉GlobalPlatform,这是另一个(公开可用的)标准,描述了在智能卡中管理应用程序的方式。不过,这太宽泛了,无法在这里详细描述。网上可以找到资源,但是这条路绝对是最难的。
关于security - RFID 卡编程加密安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48368997/
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 9年前关闭。 Improve this q
我使用了两个 RFID 阅读器(不同的供应商),它们为同一个 RFID 标签提供了两个不同的标识符: 读取器 A 显示 5BFA0746(十进制 1543112518) 读取器 B 显示 4607FA
当使用标签阅读器读取长距离无源 RFID 标签时,有没有办法计算/估计其物理距离?例如。确定书架中书籍的顺序,或判断一个物体是近还是远。 如果答案是“否 - 不符合标准”,是否可以构建具有此功能的阅读
我使用了两个 RFID 阅读器(不同的供应商),它们为同一个 RFID 标签提供了两个不同的标识符: 读取器 A 显示 5BFA0746(十进制 1543112518) 读取器 B 显示 4607FA
这些 PowerBurst 时间用于 TMS37157 Development Tool FAQ 中引用的示例代码。 ,但似乎不知道这些值是什么。看起来它们是由桌面应用程序提供的,但我只有二进制文件。
我正在做一个基于 RFID 的库存控制项目,我想制作一个写入器,通过它我可以在每个无源 RFID 标签上写入数据。我怎样才能做到这一点? 最佳答案 根据您的预算,购买一个 RFID 阅读器(也是一个写
猜猜我们有一个可以读取卡号的 RFID 阅读器,这些阅读器可以使用 RS232 或 USB 电缆等连接到 pc。我如何与这个设备互动。在简单的场景中,我想在读卡器读卡时读卡号。 任何操作系统(但首选
对于 iPhone,是否可以使用 IDBlue RFID 笔(蓝牙连接)与 RFID 标签进行通信并将数据存储到我的应用程序中? 如果是,那么是否有任何现成的组件或代码库可用于此? 最佳答案 最新的
我看到很多论坛都说 RFID 不同于 NFC。我完全同意这一点,因为两者都有不同的标准并且在不同的频率上运行。 经过进一步研究,我发现 13.56 MHz 频段中存在一些 RFID 标准 (HF-RF
我将 MFRC522 阅读器与 STM32f030CC 一起使用。我可以读取 RFID 卡的序列号,但在获得序列号后我无法选择标签并且无法验证卡的真实性。我使用的库与 Arduino、Rasberry
我正在尝试开发一种自定义加密安全协议(protocol),用于通过 RFID 智能卡进行身份验证,我在互联网上所能找到的只是有关如何将静态标签写入卡中的通用信息。对于我的项目,我需要读卡器向卡发送挑战
我一直在测试和研究我的 RFID 扫描器代码,但发现了一些奇怪的东西。当我点击卡片时,在某些情况下结果会被截断。 示例: 点击 1:[2]1,000,007,000242985 点击 2:7[3][2
我正在尝试开发一种自定义加密安全协议(protocol),用于通过 RFID 智能卡进行身份验证,我在互联网上所能找到的只是有关如何将静态标签写入卡中的通用信息。对于我的项目,我需要读卡器向卡发送挑战
我正在使用 raspberyy pi 3,RFID RC522。我想使用 WiringPi 来读取卡片。我正在尝试这段代码; #include #include #include #include i
我正在使用 LineaPro 5 peripheral 开发 Xamarin.iOS 应用程序,能够扫描条形码、RFID卡和刷磁卡。我有基本的 RFID 功能,我关心的来自 Linea 的数据是卡的
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
我正在测试带有连接到端口 1 的防护微型轨道天线的 Speedway 阅读器 420。 问题是我无法让它发挥作用。当我 telnet 到 Speedway 阅读器并发出“show rfid stat”
实际到达很简单,标签进入接收器天线范围,但是偏离是造成问题的原因。 首先,我们了解一些有关设置的信息。 标签: 它们以433Mhz的速度工作,每1.5秒钟发送一次“心跳”,移动时进入传输突发模式,这种
已关闭。这个问题是 off-topic 。目前不接受答案。 想要改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 已关闭11 年前。 Improve th
我尝试从 RFID 读取代表设备版本号的字节。使用SPI协议(protocol)我得到0x92字节(RC522版本2.0),请求字节是0x37。除了字节的位置之外,一切都运行良好。在我按照计划得到正确
我是一名优秀的程序员,十分优秀!