2015-07-07 19 views
5

Tôi đã vá Android bằng SEEK cho Galaxy S3 và sau một số cuộc đấu tranh hiện tại tôi có thể gửi APDU tới thẻ SIM và nhận phản hồi phù hợp.sử dụng thẻ java thay vì SIM trong android bằng SEEK

Tôi muốn đặt applet của riêng mình vào SIM nhưng vì không có cách nào chúng tôi có thể truy cập để làm như vậy, tôi bắt đầu tự hỏi nếu có anyway chúng tôi có thể phát hành một thẻ java để làm việc như một thẻ SIM. Tất cả những gì tôi cần là một thẻ java mà điện thoại không thể phân biệt với SIM, không cần bảo hiểm mạng và tôi biết hầu như không thể tạo một SIM hoạt động được với nhà điều hành và cho phép phủ sóng mạng.

Lý do cho tất cả điều này là tôi cần phải gửi APDU và làm việc với applet của tôi, nhưng nếu tôi chèn một thẻ java thay vì thẻ SIM trong GS3, nó mang lại cho tôi không có quyền truy cập nào cả.

Vì vậy, câu hỏi của tôi là: Có thể phát hành thẻ java sao cho nó trông giống như một SIM của điện thoại (chứ không phải nhà điều hành)?

hoặc Có thể thay đổi Android để có quyền truy cập cần thiết khi có thẻ java trong đó, tức là RIL hoạt động như bình thường không?


EDIT

Được rồi, tôi nghĩ rằng tôi sẽ cố gắng phát hành một thẻ Java với thuộc tính sau:

Đầu tiên, nó sẽ có một tự động chọn Applet (mặc định applet) rằng từ giờ trở đi sẽ được gọi là giả mạo UICC.
Thứ hai, trong giả UICC, chúng tôi sẽ mô phỏng hệ thống tệp của UICC (theo số http://www.in2eps.com/fo-uicc/tk-fo-uicc-mf.html). Thứ ba, vì lớp khác nhau được sử dụng cho SIM APDU (0xA0) nên tất cả APDU được gửi từ RIL sẽ được JCRE chỉ định giả mạo UICC vì lệnh class + không được nhận dạng bởi Thẻ Java thông thường. ví dụ. 0xA0A4 được chọn cho SIM nhưng 0x00A4 là lệnh chọn cho Thẻ Java.
Trong bước cuối cùng, chúng tôi sẽ cố gắng gửi chính xác các phản hồi tương tự mà SIM thực sẽ gửi tới từng APDU.

Có thể nó sẽ không hoạt động nhưng tôi nghĩ nó đáng để thử.

+0

Tôi có thể yêu cầu bạn nói cho tôi biết cách bạn gửi APDU vào thẻ SIM trong S3 thiên hà của bạn không? Tôi có cùng một chiếc điện thoại di động, và tôi cũng muốn làm điều đó. (Nó tốt hơn để giúp tôi [ở đây] (http://chat.stackoverflow.com/rooms/82615/send-apdu-to-sim-card-in-android)) Cảm ơn trước. –

+0

Có vẻ như tôi chưa thể sử dụng menu trò chuyện đó, cần có thêm đại diện. – MFA

+0

Bất kỳ tiến trình nào với UICC giả của bạn? – vojta

Trả lời

1

Vâng, thực tế Tôi không chắc chắn nếu giải pháp này hoạt động hay không, và như @Vojta thân yêu được đề cập trong các nhận xét theo câu trả lời của mình Tôi muốn ngăn cản mọi người từ những nỗ lực sau.Nó sẽ khó khăn, tốn thời gian và có lẽ không có kết quả hữu ích. Anh ấy biết nhiều hơn tôi trong lĩnh vực này.

Dù sao, như bạn muốn tôi gửi đề nghị của tôi:

Mỗi tập tin trong file hệ thống của thẻ/USIM SIM được liên kết với một số thập lục như địa chỉ của nó (AID). Các AID này được xác định trong các chuẩn GSM và ETSI (ví dụ GSM 11.11). Bạn có thể viết một số applet Javacard để mô phỏng tập tin hệ thống đó.

Vì thẻ AID của SIM/USIM ngắn hơn JavaCard AID, bạn có thể cần chọn Thẻ Java hỗ trợ lựa chọn AID một phần và sử dụng khả năng này để tham chiếu lệnh đến đến applet được liên kết của nó.

Tôi nghĩ bạn có thể mô phỏng tất cả tệp hệ thống bên trong một applet đơn và sau đó đặt applet đó thành applet mặc định được chọn.

Nếu bạn có bất kỳ thành công nào với giải pháp này, vui lòng thông báo cho chúng tôi. :)

+1

nó đã thành công trong trường hợp của tôi (đối với GS3). Thẻ java được phát hành có một ứng dụng tự động chọn xử lý tất cả các APDU được gửi đến và phản hồi như một SIM thực sẽ làm. – MFA

2

Thẻ SIM (UICC) được truy cập thông qua SEEK không phải là yếu tố bảo mật duy nhất bạn có thể sử dụng trong điện thoại di động của mình.

Trên thị trường có các giải pháp thẻ Java khác: chủ yếu dựa trên khe cắm microSD (được cung cấp bởi GoTrust hoặc Feitian Technologies), bạn có thể truy cập thông qua SEEK.

Một số điện thoại (Galaxy S3 không phải là trường hợp này, không may) được trang bị khe cắm thẻ an toàn đặc biệt, bạn có thể chèn thẻ thông minh thông thường (chủ yếu là Oberthur) vào và truy cập qua SEEK (xem http://www.nfcworld.com/technology/embedded-secure-element-ese/) đặc tính).

Có một bài viết thú vị về các lựa chọn SE: http://nelenkov.blogspot.cz/2012/08/accessing-embedded-secure-element-in.html

Nếu bạn biết một số nhà cung cấp khác cung cấp sản phẩm microSD Java Card, xin vui lòng viết chúng ra trong ý kiến ​​và tôi sẽ thêm chúng vào bài viết của tôi. Câu trả lời này không phải là bất kỳ quảng cáo nào cho các công ty được đề cập ở trên.

+0

Cảm ơn vojta đã trả lời. Bạn nói có một số điện thoại di động có một khe cắm thẻ thông minh trong đó. Có một liên kết liệt kê những điện thoại này hoặc bạn có thể đặt tên cho một liên kết mà bạn biết sẽ hoạt động không? (thử nghiệm chính mình hoặc đã thấy kết quả kiểm tra khác) – MFA

+1

Kính gửi Vojta, người trả lời có thể mô phỏng tệp hệ thống UICC bằng một applet thẻ java không? (Thực hiện các tệp ETSI và GSM bên trong một applet) và sử dụng thẻ Java đơn giản thay vì thẻ SIM? – Abraham

+0

@Abraham Thú vị ... Tuy nhiên, nó không thể hoạt động. Javacard AID dài hơn AID của tập tin trên UICC ... Và bạn không thể sử dụng nó để gọi, tất nhiên, đó có thể là một vấn đề :-) – vojta

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