我想在Android中创建一个像应用程序一样的谷歌钱包。据说“所有支付凭证都存储在手机中包含的名为安全元素的芯片中”。如何访问此安全元素并将我的卡凭据存储到其中。 我的目的是在收银台而不是我的卡上使用我的手机(Nexus)。
所以我想要的是将一些数据存储到安全元件芯片并在我点击NFC读卡器时访问数据。
提前致谢。
答案 0 :(得分:7)
如果您查看Google Wallet FAQ,可以找到以下内容:
您的付款凭据存储在手机中包含的名为Secure Element的芯片中。安全元件与手机的主操作系统和硬件隔离。只有Google电子钱包等授权程序才能访问安全元素以启动交易。
即使Google电子钱包本身对安全元素的访问权限非常有限,也无法从其内存中读取或写入数据。存储在安全元件上的数据有多种级别的保护,并且在硬件级别受到保护,不受窥探或篡改。
基本上......你无法访问这个SecureElement
。也许与手机制造商交谈,让您访问/访问SecureElement
的方式将使您能够这样做......但我认为这将超出您的范围。
修改:
另一种解决方案是将数据存储在SQLite
数据库中,并在该数据库上使用encryption
,例如AES
...或您喜欢的任何内容。你仍然需要注意如何保持/分配encryption/decryption keys
。
如果您担心某人丢失手机并且“创始人”试图窃取数据时,您可以在Application
上实施密码保护,如果密码输入错误则连续3次次,删除存储数据的SQLite
数据库。
答案 1 :(得分:0)
您无法在安全加密芯片中存储任何内容,因为它是由设计硬件与操作系统分开存储的。