我想在android中創建一個類似於應用程序的谷歌錢包。據說,「所有支付憑證都存儲在手機中包含的名爲安全元件的芯片中」。我如何訪問此安全元件並將我的卡憑證存儲在其中。 我的目標是在結賬櫃檯使用我的手機(Nexus)而不是我的卡。如何將數據存儲到安卓元素中android
所以我想要的是存儲一些數據到安全元件芯片和訪問數據,當我點擊一個NFC閱讀器。
在此先感謝。
我想在android中創建一個類似於應用程序的谷歌錢包。據說,「所有支付憑證都存儲在手機中包含的名爲安全元件的芯片中」。我如何訪問此安全元件並將我的卡憑證存儲在其中。 我的目標是在結賬櫃檯使用我的手機(Nexus)而不是我的卡。如何將數據存儲到安卓元素中android
所以我想要的是存儲一些數據到安全元件芯片和訪問數據,當我點擊一個NFC閱讀器。
在此先感謝。
如果檢查Google Wallet FAQ,你可以找到以下內容:
您的付款憑據存儲在一個芯片中包含名爲您的手機中的安全元素。安全元素與手機的主要操作系統和硬件隔離。只有Google電子錢包等授權程序才能訪問安全元素以啓動交易。
即使谷歌錢包本身具有安全元件的機會非常有限,並不能讀取或從內存中寫入數據。存儲在安全元件上的數據具有多級保護,並且在硬件級別受到監聽或篡改保護。
所以基本上......你沒有訪問此SecureElement
。也許與電話製造商交談,讓你訪問/訪問SecureElement
將使你能夠做到這一點......但我認爲這將超出你的範圍。
編輯: 另一種解決方案可以將數據存儲在數據庫SQLite
,同時該數據庫上使用encryption
,如AES
...或者任何你喜歡的。您仍然需要注意如何保持/分散encryption/decryption keys
。
如果您擔心有人丟失手機,並且「創建者」試圖竊取數據,您也可以在Application
上實施密碼保護,並且如果連續3次輸入密碼錯誤,存儲數據的SQLite
數據庫。
謝謝你的快速重播。 你可以建議任何替代方法來實現我想要的,即將證書保存在安全的地方嗎? –
如果你將證書存儲在sqlite數據庫中,遲早會被黑客入侵。當然,手機必須首先被盜取。但是如果熟練的黑客存儲在應用程序本身中,則找出加密密鑰並不困難。考慮將憑據信息存儲在服務器上。 – azgolfer
您不能在安全加密芯片中存儲任何東西,因爲它是通過獨立於操作系統的設計硬件實現的。
好吧,安全元素通常連接到應用程序處理器(這是運行Android操作系統的處理器)。這是通過基帶調制解調器(基於UICC的安全元件)的連接,通過用於基於microSD的安全元件的文件系統IO的連接或通過用於嵌入式安全元件的NFC控制器的連接。順便說一句。從Android 4+開始,大多數Android NFC設備甚至提供API(部分無證)來訪問安全元素。但是,爲了將應用程序和數據存儲到安全元素上,您需要保護它的密鑰。 –
這兩篇博客文章都解釋瞭如何使用Secure元素。 http://randomoracle.wordpress.com/2013/01/09/using-the-secure-element-on-an-android-device-13/和http://nelenkov.blogspot.ca/2012/08/accessing -embedded-secure-element-in.html同時檢查出這個StackOverFlow後:http://stackoverflow.com/questions/10494726/secure-element-access-control-on-ics-4-0-4 –