2012-06-19 2 views
7

안드로이드에서 응용 프로그램과 같은 Google 지갑을 만들고 싶습니다. "모든 지불 신임장은 보안 요소 전화에 포함 된 칩에 저장됩니다"라고합니다. 이 보안 요소에 액세스하고 내 신용 카드 정보를 저장하려면 어떻게해야합니까? 내 카드 대신 내 계산대에서 내 전화 (Nexus)를 사용하는 것이 목표입니다.안드로이드의 보안 요소에 데이터를 저장하는 방법

그래서 보안 요소 칩에 일부 데이터를 저장하고 NFC 판독기를 탭하면 데이터에 액세스해야합니다.

미리 감사드립니다.

+0

두 블로그 기사는 모두 보안 요소를 사용하는 방법을 설명합니다. 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-onics-4-0-4 –

답변

6

당신이이 Google Wallet FAQ 다음 찾을 수 있습니다 확인하는 경우 : 귀하의 지불 자격 증명을 칩에 저장되어

  • 하는 휴대 전화에 포함 된 보안 요소라고합니다. 보안 요소는 휴대 전화의 주요 운영 체제 및 하드웨어와 분리되어 있습니다. Google 월렛과 같은 승인 된 프로그램 만 보안 요소에 액세스하여 거래를 시작할 수 있습니다.

  • 에도 Google 지갑 자체가 보안 요소에 대한 매우 제한된 액세스, 읽기 또는 메모리에서 데이터를 쓸 수 없습니다. 보안 요소에 저장된 데이터에는 여러 수준의 보호가 있으며 스누핑 또는 변조로부터 하드웨어 수준에서 보호됩니다.

그래서 기본적으로 ...이 SecureElement에 액세스 할 수 없습니다. 어쩌면 전화 제조사와 통화하여 SecureElement에 액세스 할 수있는 방법을 제공 할 것입니다. 그러나 이것이 귀하의 범위를 벗어날 것으로 생각합니다.

편집 : 이 대안 솔루션이 SQLite 데이터베이스에 데이터를 저장하고, 또한 AES로, 해당 데이터베이스에 encryption를 사용하여 ... 또는 무엇이든 당신이 선호 될 수있다. encryption/decryption keys을 유지/배포하는 방법에 대해 계속주의를 기울여야합니다.

누군가가 전화기를 잃어 버렸고 "창립자"가 데이터를 도용하려고 할 때 걱정할 경우 Application에 암호 보호 기능을 구현할 수 있으며 암호가 3 회 연속 입력되지 않으면 drop 데이터가 저장되는 SQLite 데이터베이스.

+0

빠른 재생. 내가 원하는 것을 얻을 수있는 다른 방법을 제안 할 수 있습니까? 예 : 카드 자격 증명을 안전한 장소에 저장 하시겠습니까? –

+2

카드 자격 증명을 sqlite db에 저장하면 조만간 해킹 당할 수 있습니다. 수락 해, 전화는 첫째로 훔치고 루트되어야한다. 숙련 된 해커가 앱 자체에 암호화 키가 저장되어 있다면 알아낼 수는 없습니다.대신 자격 증명 정보를 서버에 저장하는 것이 좋습니다. – azgolfer

0

보안 암호화 칩에는 운영 체제와 별개의 디자인 하드웨어이기 때문에 저장할 수 없습니다.

+1

보안 요소는 일반적으로 응용 프로그램 프로세서 (Android 운영 체제를 실행하는 응용 프로그램 프로세서)에 연결됩니다. 이는베이스 밴드 모뎀을 통한 연결 (UICC 기반 보안 요소의 경우), microSD 기반 보안 요소의 파일 시스템 IO를 통한 연결 또는 포함 된 보안 요소의 경우 NFC 컨트롤러를 통한 연결입니다. Btw. Android 4 이상의 경우 대부분의 Android NFC 기기는 보안 요소에 액세스하기위한 API (부분적으로 문서화되지 않음)를 제공하기도합니다. 그러나 응용 프로그램과 데이터를 보안 요소에 저장하려면 보호하는 키가 필요합니다. –

관련 문제