簡體   English   中英

如何使用NFC在Android卡上存儲Android應用程序數據?

[英]How to store android application data on sim card using NFC?

我正在開發NFC應用程序。 我的應用程序將處理秘密信息,我想將這些數據存儲在SIM卡上。 是否有可能,如果有可能,我該怎么做? 我的手機的Android版本是Android 2.3.5。

tl; dr - 如果沒有巨大的努力,目前是不可能的。

您希望將SIM卡用作卡仿真模式中的安全元素 - 這是GSM協會所青睞的方法。 要訪問安全元件(在SIM或集成芯片上),您需要使用可信服務管理器(TSM)。 在您的情況下,TSM將使用二進制SMS消息將數據發送到您的SIM卡。 問題是NFC在手機上的早期階段。 標簽讀/寫很簡單,但訪問安全元素則不然。 使用SIM作為卡仿真的安全元件的NFC智能電話的試驗非常有限,並且這些試驗目前僅限於特定國家的特定移動網絡運營商(MNO)。

如果您確實想這樣做,您需要閱讀規范 ,編寫TSM,然后與MNO簽訂必要的合同以允許其使用他們的SIM。

祝好運!

像凱文所說的那樣,沒有太多的努力是不可能的。

一種方法,可以是使用TSM。 但是對於你想要達到的目標來說效率低下 ,它需要“在線”。 您將一些信息發送到TSM服務器,然后它會將一些數據發送到您的SIM卡。

== Phone == |                    | == TSM ==
Application | ---- Network ----> | Server
SIM card    | <----------------- |

而TSM是不夠的。 您還需要SIM卡憑據。 如果沒有這些憑據,您將無法從TSM更新SIM卡數據。 這些憑據由您的移動運營商控制。 最后,TSM根本不是強制性的。

使用上面的模式,我們通過建立鏈接看到了一種更明顯的方法:應用程序 - >模擬卡。 這次即使您沒有網絡也能正常工作。 但Android在某種程度上受到了考慮,應用程序與SIM卡之間沒有直接聯系。 有一些解決方案,如果您有興趣, 可以在那篇文章中做好解釋

以下是一些要求:

  • 您可能需要修補RIL圖層
  • 您需要修補Android的源代碼
  • 您需要擁有SIM卡憑證(UICC)(您可以購買開發者SIM卡,但由於它不包含您的運營商憑證,因此無法連接網絡)
  • 您需要知道如何開發SIM卡軟件(通常是Javacard)
  • ...

以安全的方式存儲秘密數據的最簡單方法是使用特殊的SD卡作為安全元素。 無需修補任何內容,無需擁有root權限,無需擁有SIM卡憑據。 您可能仍需要開發自己的SD卡“軟件”來托管您的數據。

與保護級別相比,安全性與威脅級別有關。 安全元素可能有點太多工作來保護您的數據。 根據您嘗試保護的數據,您可以使用足夠安全的內置Android機制。

我有類似的要求。 我的方法是,不使用GSM運營商的SIM卡。 但我正在努力尋找一種方法讓GSM運營商使用我的SIM卡。 然后我將擁有自己的訪問機制來將我的安全項目存儲在卡中。

Yasin Yilmaz

暫無
暫無

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

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