2012-06-19 25 views
7

Tôi muốn tạo ví Google như ứng dụng trong Android. Người ta nói rằng "tất cả thông tin đăng nhập thanh toán được lưu trữ trong một con chip có tên là Phần tử bảo mật được chứa trong điện thoại". Làm cách nào để truy cập vào yếu tố an toàn an toàn này và lưu trữ thông tin đăng nhập thẻ của tôi vào đó. Mục tiêu của tôi là sử dụng điện thoại (Nexus) tại quầy tính tiền thay vì thẻ của tôi.Cách lưu trữ dữ liệu vào Phần tử bảo mật trong android

Vì vậy, điều tôi muốn là lưu trữ một số dữ liệu vào chip Phần tử bảo mật và truy cập dữ liệu khi tôi nhấn vào đầu đọc NFC.

Xin cảm ơn trước.

+0

Hai bài viết trên blog này đều giải thích cách bạn có thể sử dụng phần tử Bảo mật. http://randomoracle.wordpress.com/2013/01/09/using-the-secure-element-on-an-android-device-13/ và http://nelenkov.blogspot.ca/2012/08/accessing -embedded-secure-element-in.html Ngoài ra, hãy xem bài đăng trên StackOverFlow này: http://stackoverflow.com/questions/10494726/secure-element-access-control-on-ics-4-0-4 –

Trả lời

6

Nếu bạn đánh dấu vào Google Wallet FAQ bạn có thể tìm thấy những điều sau đây:

  • thông tin thanh toán của bạn được lưu trữ trong một chip được gọi là Phần tử bảo mật chứa trong điện thoại của bạn. Phần tử bảo mật được tách biệt với phần cứng và hệ điều hành chính của điện thoại của bạn. Chỉ những chương trình được ủy quyền như Google Wallet mới có thể truy cập Phần tử bảo mật để bắt đầu giao dịch.

  • Thậm chí chính Google Wallet có quyền truy cập rất hạn chế để Secure Element, và không thể đọc hoặc ghi dữ liệu từ bộ nhớ của nó. Có nhiều mức độ bảo vệ cho dữ liệu được lưu trữ trên Phần tử bảo mật và được bảo vệ ở cấp phần cứng từ việc rình mò hoặc giả mạo.

Vì vậy, về cơ bản ... bạn không có quyền truy cập vào SecureElement này. Có thể nói chuyện với các nhà sản xuất điện thoại để cung cấp cho bạn truy cập/cách truy cập SecureElement sẽ cho phép bạn thực hiện việc này ... nhưng tôi nghĩ điều này sẽ nằm ngoài phạm vi của bạn.

EDIT: Một giải pháp thay thế có thể được lưu trữ dữ liệu của bạn trong một cơ sở dữ liệu SQLite, và cũng có thể sử dụng encryption trên cơ sở dữ liệu, chẳng hạn như AES ... hoặc bất cứ điều gì bạn thích. Bạn sẽ vẫn phải chú ý đến cách bạn giữ/phân biệt encryption/decryption keys.

Nếu bạn lo lắng về trường hợp khi ai đó mất điện thoại và "người sáng lập" cố gắng lấy cắp dữ liệu, bạn cũng có thể thực hiện bảo vệ bằng mật khẩu trên Application và nếu nhập sai 3 lần liên tiếp cơ sở dữ liệu SQLite nơi dữ liệu được lưu trữ.

+0

Cảm ơn bạn đã phát lại nhanh. Bạn có thể đề xuất bất kỳ phương pháp thay thế nào để đạt được những gì tôi muốn, tức là lưu thông tin đăng nhập thẻ vào một nơi an toàn không? –

+2

Nếu bạn lưu trữ các thông tin thẻ trong sqlite db, sớm hay muộn nó sẽ bị hack. Cấp, điện thoại đã bị đánh cắp và bắt nguồn từ đầu tiên. Nhưng nó sẽ không khó khăn cho các hacker có tay nghề cao để tìm ra khóa mã hóa nếu nó được lưu trữ trong chính ứng dụng.Cân nhắc lưu trữ thông tin ủy nhiệm trên máy chủ thay thế. – azgolfer

0

Bạn không thể lưu bất kỳ thứ gì trong chip mã hóa bảo mật, vì phần mềm thiết kế tách biệt với hệ điều hành.

+1

Các yếu tố bảo mật thường được kết nối với bộ xử lý ứng dụng (đó là phần mềm chạy hệ điều hành Android). Đây là kết nối thông qua modem baseband (đối với các thành phần bảo mật dựa trên UICC), kết nối thông qua IO hệ thống tập tin cho các thành phần bảo mật dựa trên microSD hoặc kết nối thông qua bộ điều khiển NFC cho các phần tử bảo mật được nhúng. Btw. như của Android 4+ hầu hết các thiết bị NFC Android thậm chí cung cấp API (một phần không có giấy tờ) để truy cập các yếu tố an toàn. Tuy nhiên, để lưu trữ các ứng dụng và dữ liệu vào một phần tử bảo mật, bạn sẽ cần các khóa bảo vệ nó. –

Các vấn đề liên quan