用支持NFC的设备报考,这种方法可行吗?

Reporting attendance with NFC capable devices, is this approach feasable?

我最近接触了 NFC,并立即被它的应用程序和可用性所吸引。我正在与我的一个雇用分散劳动力的朋友讨论一些想法,以及如何解决他的考勤报告问题。 据我所见所闻,使用具有 NFC 功能的设备或卡的考勤系统的典型实现遵循以下原则:


现在让我们考虑一种针对偏远地区的不同方法。

听起来合理吗?

某人从任何地方克隆 NFC tag/card 并报告该特定区域的出席情况有多容易?

如果可行,我应该考虑使用哪种类型的tags/cards,还有关于安全性的任何指示?

非常感谢任何类型的帮助或有人向我指出正确的方向direction/resources。非常感谢!

更新:

根据 mictter 的说法,JavaCards 是必经之路。

I would use some kind of phone-card muthual authentication instead of plain NDEF tags. For example, a JavaCard app would transmit the information about locale only after a successful authentication: this way, we would be protected about cloning attacks. The smartphone could still be vulnerable if it had to keep the card keys in some app: this vulnerability can be solved by making the server communicate directly with the card and read the locale information directly. The phone would act just as a proxy.

不过我看到 MIFARE DESFire EV1 最多也可以容纳 28 个应用程序,这是一个不错的选择吗? Mifare 的 SDK 似乎对简化 android 应用程序实施非常有吸引力。

你的想法不仅听起来合理,而且我相信已经有几家公司和初创公司付诸实践了。这些人(http://www.echeckinservices.com/ - 没有关系,我不知道他们是否还在营业)设计了一个基于标签的系统来非常精细地控制出勤,例如确保保安人员巡视他应该与设施周围的标签进行交互。 NFC 标签成本低廉,可以随处放置。

为了避免过于进取的员工克隆标签并从此过上轻松的生活:),我会使用某种phone-card muthual authentication 而不是普通的 NDEF 标签。例如,一个 JavaCard 应用程序只会在成功验证后传输有关区域设置的信息:这样,我们就可以免受克隆攻击。 如果 smartphone 必须将卡密钥保存在某些应用程序中,它仍然可能存在漏洞:可以通过让服务器直接与卡通信并直接读取区域设置信息来解决此漏洞。 phone 将充当代理。