我有一个 Android 项目,要求我使用 NFC 标签使用椭圆曲线算法对数据进行加密/签名。
我需要标签能够使用我在外部生成的密钥对来执行加密本身。重要的是,私钥存储在标签上,而不是传输到 Android 来执行签名。
我还需要写保护所有标签,这样只有我签名的数据才能写入它们。
我希望标签的外形尺寸尽可能小。
从我目前的研究来看,看起来我必须使用 Java Cards,但我不确定这一点。
任何人都可以确认我可以使用的适当设备吗?
我有一个 Android 项目,要求我使用 NFC 标签使用椭圆曲线算法对数据进行加密/签名。
我需要标签能够使用我在外部生成的密钥对来执行加密本身。重要的是,私钥存储在标签上,而不是传输到 Android 来执行签名。
我还需要写保护所有标签,这样只有我签名的数据才能写入它们。
我希望标签的外形尺寸尽可能小。
从我目前的研究来看,看起来我必须使用 Java Cards,但我不确定这一点。
任何人都可以确认我可以使用的适当设备吗?
你需要一些微控制器卡。除了标准信用卡表格 (ID-1) 之外,我从未见过其他任何形式的表格。
Java Card 卡当然是一种选择,例如 NXP JCOP 或 Gemalto TOP 卡。它们可以在各个地方在线购买。要为此类卡编写小程序,需要您有权访问该卡的 SDK(通常仅在 NDA 下可用)。Java Card 编程与 Java 编程完全不同,此外,它需要了解诸如 ISO 7816-4 和(在您的情况下)加密之类的知识。
另一种可能性可能是ZeitControl BasicCard。这些卡可从各种在线智能卡商店和 ZeitControl 本身购买(并非所有卡都可以执行 ECC)。SDK 是免费的,可从ZeitControl 网站获得。不过,卡的编程语言需要一些时间来适应,但很多通信细节都是自动处理的。如果您需要帮助将 BasicCard 小程序与 Android 应用程序连接,您可以向 ZeitControl 索取更多信息(当我联系他们时,他们非常有帮助)。不过,它并不过分复杂。