草庐IT

android - 加密 NFC/RFID 标签?

coder 2023-11-26 原文

这让我很难受...我正在尝试找到一个 NFC/RFID 标签:

  1. 对发送到标签的数据进行加密和/或加密签名,以便阅读器可以验证标签。我不在乎标签是否尝试对阅读器进行身份验证,并且

  2. 得到 Android 手机和标准 NFC 库的广泛支持,并且

  3. 以安全的方式存储加密 key (在配置 fuse 熔断后应该不可能读取它)。

我不关心标签上可以存储什么样的有效载荷,我也没有用到 NDEF 消息。我不在乎所使用的加密是对称的还是非对称的。我想要做的就是向标签发送一些数据并使用共享 key 加密或签名该数据并将其发送回手机,然后我的代码将执行相同的功能并将结果与标签的响应以验证标签。

我有 Atmel CryptoRF* 标签样本,虽然它们可能会满足我的大部分需求,但我仅有的一部 Android 手机无法正确检测到它们。电话铃声响起,我正在使用适当的技术列表条目过滤“android.nfc.action.TECH_DISCOVERED”,但我什么也没得到。 Atmel 的技术支持比无用还糟糕(因为我浪费时间问他们从不费心回答的问题)。 Logcat 看起来像:

  • 09-04 21:03:53.474 1012-1012/? D/NativeNfcTag:连接失败 - 状态 = 146
  • 09-04 21:03:53.474 1012-1012/? E/NFCJNI: doDisconnect() - 目标已经断开

我没有看到任何以前的条目表明该标签曾被 Android 识别。

这似乎是一种简单、明显且需要的标签类型,它必须存在于某个地方。

NFCGuy 或其他人 - 有什么想法吗?

谢谢!

*Atmel CryptoRF 数据表说明了以下内容,这可能有助于或可能不会帮助确定这些内容是否可以被 Android 手机读取:

  • 符合 ISO/IEC 14443-2:2001 B 类标准
  • 符合 ISO/IEC 14443-3:2001 类型 B 的防冲突协议(protocol)

最佳答案

除了一件事之外,Mifare Desfire 会按照您的要求进行:

API 级别不提供加密支持。

您必须编写执行所有身份验证和加密的代码,并直接与 Desfire 标签对话。 Android API 通过低级访问函数 IsoDep.transceive 提供了执行此操作的工具。加密函数本身可以在 javax.crypto.spec

中找到

与其他带有加密文档的标签不同,在互联网上可以获得进行身份验证和加密所需步骤的文档。

关于android - 加密 NFC/RFID 标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18627176/

有关android - 加密 NFC/RFID 标签?的更多相关文章

  1. ruby - 在院子里用@param 标签警告 - 2

    我试图使用yard记录一些Ruby代码,尽管我所做的正是所描述的here或here#@param[Integer]thenumberoftrials(>=0)#@param[Float]successprobabilityineachtrialdefinitialize(n,p)#initialize...end虽然我仍然得到这个奇怪的错误@paramtaghasunknownparametername:the@paramtaghasunknownparametername:success然后生成的html看起来很奇怪。我称yard为:$yarddoc-mmarkdown我做错了什么?

  2. css - 用 watir 检查标签类? - 2

    我有一个div,它根据表单是否正确提交而改变。我想知道是否可以检查类的特定元素?开始元素看起来像这样。如果输入不正确,添加错误类。 最佳答案 试试这个:browser.div(:id=>"myerrortest").class_name更多信息:http://watir.github.com/watir-webdriver/doc/Watir/HTMLElement.html#class_name-instance_method另一种选择是只查看具有您期望的类的div是否存在browser.div((:id=>"myerrortes

  3. 安卓apk修改(Android反编译apk) - 2

    最近因为项目需要,需要将Android手机系统自带的某个系统软件反编译并更改里面某个资源,并重新打包,签名生成新的自定义的apk,下面我来介绍一下我的实现过程。APK修改,分为以下几步:反编译解包,修改,重打包,修改签名等步骤。安卓apk修改准备工作1.系统配置好JavaJDK环境变量2.需要root权限的手机(针对系统自带apk,其他软件免root)3.Auto-Sign签名工具4.apktool工具安卓apk修改开始反编译本文拿Android系统里面的Settings.apk做demo,具体如何将apk获取出来在此就不过多介绍了,直接进入主题:按键win+R输入cmd,打开命令窗口,并将路

  4. ruby - 使用 AES 的 Rails 加密,过于复杂 - 2

    我在加密来self正在使用的第三方供应商的值时遇到问题。他们的指令如下:1)Converttheencryptionpasswordtoabytearray.2)Convertthevaluetobeencryptedtoabytearray.3)Theentirelengthofthearrayisinsertedasthefirstfourbytesontothefrontofthefirstblockoftheresultantbytearraybeforeencryption.4)EncryptthevalueusingAESwith:1.256-bitkeysize,2.25

  5. ruby - 如何用 Nokogiri 解析连续的标签? - 2

    我有这样的HTML代码:Label1Value1Label2Value2...我的代码不起作用。doc.css("first").eachdo|item|label=item.css("dt")value=item.css("dd")end显示所有首先标记,然后标记标签,我需要“标签:值” 最佳答案 首先,您的HTML应该有和中的元素:Label1Value1Label2Value2...但这不会改变您解析它的方式。你想找到s并遍历它们,然后在每个你可以使用next_element得到;像这样:doc=Nokogiri::HTML(

  6. ruby-on-rails - 在 Label 标签中嵌套 Ruby on Rails HAML 复选框 - 2

    我有以下不起作用的代码:=form_for(resource,:as=>resource_name,:url=>session_path(resource_name),:html=>{:class=>"well"})do|f|=f.label:email=f.email_field:email=f.label:password=f.password_field:password-ifdevise_mapping.rememberable?%p=f.label:remember_me,:class=>"checkbox"=f.check_box:remember_me,:class=>"

  7. ruby - 如何使用私钥加密完全加密 Ruby 中的数据? - 2

    首先,关于我们系统的一些信息,它基本上是建筑行业的电子招标解决方案。所以:列表项我们的系统有多家公司每个公司都有多个用户每家公司可以创建多个拍卖然后其他公司可以为可用的拍卖提交他们的出价。一个出价包含数百或数千个单独的项目,我们只需要加密这些记录的“价格”部分。我们面临的问题是,我们的大客户不希望我们知道投标价格,至少在投标过程中是这样,这是完全可以理解的。现在,我们只是通过对称加密对价格进行加密,因此即使价格在数据库中有效加密,他们担心的是我们拥有解密价格的key。因此,我们正在研究某种形式的公钥加密系统。以下是我们对解决方案的初步想法:当一家公司注册时,我们会使用OpenSSL为其

  8. ruby-on-rails - 我如何比较 'Bcrypt' Gem解密的密码和加密的密码 - 2

    我正在尝试对某些帖子的评论使用简单的身份验证。用户使用即时ID和密码输入评论我使用“bcrypt”gem将密码存储在数据库中。在comments_controller.rb中像这样@comment=Comment.new(comment_params)bcrypted_pwd=BCrypt::Password.create(@comment.user_pwd)@comment.user_pwd=bcrypted_pwd当用户想要删除他们的评论时,我使用data-confirm-modalgem来确认数据在这部分,我必须解密用户输入的密码以与数据库中的加密密码进行比较我怎样才能解密密码,

  9. ruby - 如何使用 Nokogiri::XML::Builder 生成动态标签? - 2

    我正在遍历数组中的一组标签名称,我想使用构建器打印每个标签名称,而不是求助于“我认为:builder=Nokogiri::XML::Builder.newdo|xml|fortagintagsxml.tag!tag,somevalendend会这样做,但它只是创建名称为“tag”的标签,并将标签变量作为元素的文本值。有人可以帮忙吗?这个看起来应该比较简单,我刚刚在搜索引擎上找不到答案。我可能没有以正确的方式提问。 最佳答案 尝试以下操作。如果我没记错的话,我添加了一个根节点,因为Nokogiri需要一个。builder=Nokogi

  10. ruby - 如何在Elixir中使用AES CBC 128进行加密和解密 - 2

    我在Rails中有一个具有以下方法的应用程序,该方法可以加密和解密文本并与Java客户端通信。defencrypt(string,key)cipher=OpenSSL::Cipher::AES.new(128,:CBC)cipher.encryptcipher.padding=1cipher.key=hex_to_bin(Digest::SHA1.hexdigest(key)[0..32])cipher_text=cipher.update(string)cipher_textexcenddefhex_to_bin(str)[str].pack"H*"enddefbin_to_hex(

随机推荐