2012-06-19 24 views
7

アンドロイドでアプリケーションのようなGoogleウォレットを作成したいと思います。 「すべての決済資格情報は、セキュアエレメントと呼ばれるチップに格納されています」と言われています。このセキュアエレメントにアクセスしてカードクレデンシャルを保存するにはどうすればよいですか。 私の目的は、自分のカードではなく、チェックアウトカウンターで自分の電話(Nexus)を使用することです。アンドロイドでセキュアエレメントにデータを格納する方法

私が望むのは、Secure Elementチップにデータを保存し、NFCリーダーをタップするとデータにアクセスすることです。

ありがとうございます。

+0

これらの2つのブログ記事はどちらも、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 –

答えて

6

あなたはGoogle Wallet FAQあなたが次のことを見つけることができますチェックした場合:

  • お支払いの資格情報をチップに格納されているが、携帯電話内に含まれるセキュアエレメントと呼ばれます。セキュアエレメントは、お使いの携帯電話のメインオペレーティングシステムおよびハードウェアから分離されています。 Googleウォレットなどの承認されたプログラムのみが、セキュアエレメントにアクセスしてトランザクションを開始できます。

  • でもGoogleウォレット自体は、セキュアエレメントに非常に限定的なアクセスを持っており、そのメモリからデータを読み書きすることはできません。セキュアエレメントに格納されているデータの保護レベルは複数あり、スヌーピングまたは改ざんからハードウェアレベルで保護されています。

だから、基本的には...あなたはこのSecureElementにアクセスすることはできません。電話会社に連絡して、SecureElementにアクセスしてアクセスする方法を教えてもらえますか?これはあなたの範囲外だろうと思います。

EDIT: 代替ソリューションがSQLiteデータベースにデータを格納し、また、AESとして、そのデータベースにencryptionを使用して...何かあなたが好むことができます。 encryption/decryption keysの保存/配布方法には注意が必要です。

誰かが電話を紛失し、「創設者」がデータを盗もうとした場合に心配している場合は、Applicationにパスワード保護を実装することができます。パスワードが3回連続して間違って入力された場合は、データが格納されているSQLiteデータベース。

+0

ありがとうクイックリプレイ。 カードの資格情報を安全な場所に保存するなど、何かを達成するための代替方法を提案できますか? –

+2

カード資格情報をsqlite dbに保存すると、遅かれ早かれハッキングされます。確かに、電話機は最初に盗まれて根づいていなければなりません。しかし、熟練したハッカーがアプリケーションに格納されている暗号鍵を把握することは難しくありません。代わりにサーバーに資格情報を格納することを検討してください。 – azgolfer

0

オペレーティングシステムとは別の設計ハードウェアであるため、セキュリティ暗号化チップに何も格納することはできません。

+1

安全な要素は通常、アプリケーションプロセッサ(Androidオペレーティングシステムを実行するアプリケーションプロセッサ)に接続されています。これはベースバンドモデムによる接続(UICCベースのセキュアエレメントの場合)、microSDベースのセキュアエレメントのファイルシステムIOによる接続、または埋め込みセキュアエレメントのNFCコントローラー経由の接続のいずれかです。 Btw。 Android 4以降、ほとんどのAndroid NFCデバイスでは、セキュリティで保護された要素にアクセスするためのAPI(部分的に文書化されていません)が提供されています。ただし、アプリケーションとデータを安全な要素に格納するには、保護するキーが必要です。 –

関連する問題