Opracowaliśmy prototypową płytkę z mikrokontrolerem, która może komunikować się z kartą SmartCard (może czytać ATR, wydawać i czytać odpowiedzi na polecenia APDU itp.) Teraz chcę użyć tego sprzętu z telefon lub tablet z Androidem. Nasza płyta ma połączenie USB, dzięki któremu możemy czytać i pisać na MCU przez Androida.Opracowanie czytnika kart inteligentnych w Androidzie
Ostatecznym celem jest posiadanie działającego czytnika kart inteligentnych na platformie Android z obsługą PKCS # 11 i zapewnienie biblioteki użytkownikom końcowym czytnika kart SmartCard, aby mogli komunikować się z kartami.
Przeczytałem kilka dyskusji na ten temat, niektóre z nich stwierdzały, że będę musiał zbudować niestandardowy Android, aby to zrobić. Nie znam architektury systemu Android, aby zrozumieć, dlaczego musiałbym ponownie zbudować Androida, gdy mogę komunikować się z moim urządzeniem peryferyjnym (czytnikiem kart) przez USB. Wydaje mi się, że jeśli udostępnię bibliotekę, która implementuje interfejs podobny do CCID, użytkownicy mogą następnie komunikować się z moim czytnikiem za pomocą stosu USB systemu Android poprzez integrację mojej biblioteki z docelowym plikiem .apk.
Czy są jakieś problemy z powyższym planem, których nie jesteśmy świadomi? Obawiam się, że brakuje nam czegoś podstawowego na temat czytników Android lub SmartCard w ogóle (na przykład: bezpieczeństwo), co spowoduje problemy dla nas, gdy zaczniemy wdrażać wyżej opisane biblioteki.
Czy [ta informacja dotycząca połączenia USB w systemie Android] (http://developer.android.com/guide/topics/connectivity/usb/index.html) może być pomocna w udzieleniu odpowiedzi na pytanie? – Joe
Bezpieczeństwo jest dostarczane głównie przez samą kartę inteligentną. Główną luką jest to, że tajne dane w telefonie (np. PIN) są przechwytywane przez inną złośliwą aplikację; dlatego czytniki kart PIN, w których PIN nie pozostawia czytelnikowi, mają przewagę. Niektóre zalecenia: używaj bezpiecznej wymiany wiadomości, aby chronić ścieżkę transmisji, nie przechowuj niczego w telefonie bez szyfrowania i nie buforuj kodów PIN. – guidot
Byłoby pomocne, gdybyś połączył się z tymi oryginalnymi dyskusjami, które przeczytałeś o potrzebie niestandardowej pamięci ROM z Androidem. Ta część też nie ma dla mnie sensu. W ich projektach może być ukryty wymóg, którego prawdopodobnie nie zauważyłeś lub po prostu nie zauważyłeś (i który najprawdopodobniej nie ma związku z twoim projektem). Może to być również, że ich dyskusja jest dość stara i poprzedza serwer usb Android, który został wprowadzony z Androidem 3.0 lub nowszym. –