Защищенная связь элемента с PCD / reader


Я пытаюсь лучше понять, как защищенный элемент на телефоне android взаимодействует с устройством чтения в режиме эмуляции карт. Любое понимание следующих вопросов было бы полезно.

Теоретически (исходя из аппаратной конструкции), обязательно ли проходить через SE при общении с читателем? Если я не заинтересован в отправке личных данных, можно ли "приемопередать" непосредственно читателю? Если да, то как это будет работать?

Если вам действительно нужно идти через SE, концептуально, как это работает? Например, скажем, читатель посылает команду SELECT AID...предположительно, Android-хост запрашивает SE, чтобы получить команду SELECT AID. Если хост хочет ответить на команду SELECT AID (предположим, динамические ответы), отправляет ли он ответ обратно через SE? Я много читал о запросе SE, чтобы получить информацию (например, ISO 7816-4), но еще не понял этот последний пункт. Как вы посылаете ответы читателю?

2 2

2 ответа:

Это для чипов NFC текущего поколения, следующее поколение немного более гибкое:

С точки зрения чипов NFC, чип имеет два разных хоста, Безопасный Элемент и хост Android.

Чип NFC также знает, какой хост открыл какой режим работы на чипе NFC (например, peer-to-peer, reader-modes, card emulation modes и т. д.).

Запросы и события, относящиеся к одному режиму работы, будут отправляться только на хост, который открыл операцию. режим.

Для безопасных элементов наиболее обычной конфигурацией "мобильного платежа" является то, что SE открывает эмуляцию карты в чипе NFC, а хосты android открывают режимы чтения и пиринга.

Если внешний считыватель будет обнаружен чипом NFC, все сообщения будут отправляться только в SE. Хост Android не будет видеть никаких данных, которыми обмениваются SE и внешний считыватель. Однако хозяин android может видеть, что на антенне обнаружено внешнее радиочастотное поле, поэтому андроид знает, что что-то происходит.

Программное обеспечение, работающее на SE, обычно состоит из небольшой операционной системы, которая управляет несколькими приложениями, анализирует команду SELECT AID и пересылает запросы в любое приложение, соответствующее AID.

Приложения, работающие на SE, могут позже решить отправить данные на хост android. Эти события называются транзакционными событиями и представляют собой одностороннюю коммуникацию. Ведущий Android не в состоянии ответить на мероприятия операции направлены из СЭ.

Хост android также не сможет отправлять данные в SE через чип NFC. Если он хочет связаться с SE напрямую, например, чтобы установить новое приложение, он должен использовать другое физическое соединение, обычно контакты sim-карты или микро-sd-контакты.

Для завершения: есть также встроенные безопасные элементы, которые встроены в чип NFC. Они не имеют никакого физического соединения, и чип NFC позволяет двунаправленную связь между android хозяин и хозяин SE.

Теоретически при общении с читателем нет необходимости "проходить через СЭ". Если чип NFC имеет возможность генерировать радиочастотный сигнал карты (некоторые чипы NFC делают это), телефон может отправлять ответы непосредственно на считыватель. Конечно, вам нужен API для того, чтобы иметь возможность получить доступ к этой функциональности из вашего приложения. Android ICS не имеет такого API (в отличие от BlackBerry OS).