簡體   English   中英

使用HCE模式獲取靜態NFC標簽ID

[英]Get Static NFC Tag Id with HCE mode

我是NFC的新手,所以我測試了幾部電話,它們在HCE模式下調用getTagId()方法,結果如下:

device       | UID
LG G2        | random
LG G3        | static
S4           | random
HTC One Mini | static
Xiaomi mi3   | static

我的問題:

  1. 為什么有些電話具有靜態UID,而有些卻沒有? 該芯片組相關嗎?
  2. 是否可以獲取固定的UID? 我需要它來驗證設備。
  3. 另一方面,我在Xperia M上使用Kitkat CyanogenMod 11,但是我沒有設法將其用於HCE,為什么?

是否有任何文件可以解釋/支持答案?

為什么有些電話具有靜態UID,而有些卻沒有? 該芯片組相關嗎?

這取決於芯片組和NFC堆棧的實現。 據我所知,各種Android NFC設備使用三種不同的方案:

  • 設備具有安全元素,並使用該安全元素的靜態UID。
  • 設備每次打開時都會生成一個新的隨機UID。
  • 該設備每次由外部讀取器設備激活時都會生成一個新的隨機UID。 即,每當外部HF場應用於Android設備的NFC天線時。
  • 該設備沒有安全元素,但仍使用靜態UID(通常不是唯一的 ),例如0x01020304。 [感謝ErikM指出這一點。]

是否可以獲取固定的UID?

通常,您不能影響這一點。 特別是在不修改Android設備固件(更改為NFC堆棧)的情況下,絕對不可能。 請參閱此答案 ,以獲取通過修改libnfc-nci庫在Broadcom芯片組上設置UID值的方法。

我需要它來驗證設備。

不要這樣! 有關更多信息,請參見此答案

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM