Что я могу сделать с OMAPI на защищенном элементе Android Pixel 3?
Новый Android Pixel 3 содержит защищенный элемент под названием Titan M.
Во-первых, мне интересно, возможно ли взаимодействовать с этим безопасным элементом с помощью Open Mobile API (пакет android.se.omapi), который теперь доступен на Android 9.
Во-вторых, я посмотрел на этот OMAPI и обнаружил, что он позволяет отправлять сообщения APDU приложениям, использующим протокол ISO 7816 для смарт-карт. Поэтому я хотел бы знать, с какими приложениями я могу взаимодействовать.
Если это возможно, моей целью было бы вставить апплет JavaCard в элемент безопасности Titan M и использовать OMAPI для отправки APDU этому апплету. Кто-нибудь пытался это сделать? Я был бы рад получить любые отзывы о том, что можно сделать с этим API и Pixel 3.
Благодарю. Franck
1 ответ
Во-первых, мне интересно, возможно ли взаимодействовать с этим безопасным элементом с помощью Open Mobile API (пакет android.se.omapi), который теперь доступен на Android 9.
На первый взгляд и проведение некоторых ограниченных исследований (в основном из-за ограниченности доступной информации) не похоже, что это имело бы место. Этот API-интерфейс в основном предназначен для SIM-карт, и я искренне сомневаюсь с высокой степенью уверенности в том, что API-интерфейс SIM-карты или функциональные возможности присутствуют в Titan M System-on-a-Chip (по всей вероятности, с ядром ARM SC300).
Во-вторых, я посмотрел на этот OMAPI и обнаружил, что он позволяет отправлять сообщения APDU приложениям, использующим протокол ISO 7816 для смарт-карт. Поэтому я хотел бы знать, с какими приложениями я могу взаимодействовать.
SIM-карты и встроенные защищенные элементы, которые поддерживают интерфейс APDU на устройствах, которые поддерживают OMAPI. Однако, хотя я бы сказал, что Titan M - это встроенный элемент Secure, я бы сказал, что он не использует OMAPI, и поэтому он не будет доступен через API. На самом деле, я бы удивился, если бы он вообще использовал APDU. ИСО / МЭК 7816-4 - это боль, без которой вы можете обойтись, если сами сможете определить транспортный уровень.
Если это возможно, моей целью было бы вставить апплет JavaCard в элемент безопасности Titan M и использовать OMAPI для отправки APDU этому апплету. Кто-нибудь пытался это сделать? Я был бы рад получить любые отзывы о том, что можно сделать с этим API и Pixel 3.
Я считаю совершенно маловероятным, что Google готов платить Oracle за лицензию для реализации Java Card. Я, конечно, не вижу Google в списке JCF, чего можно было бы ожидать, если бы вы самостоятельно внедрили решение Java Card.
Наконец, было много сообщений, в которых говорилось, что "прошивка" Titan M будет выпущена Google как Open Source. Однако это обещание так и не осуществилось. Обратите внимание, что выпуск такого кода для защищенных процессоров крайне сложен. Если обнаружена проблема безопасности, требующая исправления программного обеспечения, то это исправление, возможно, придется применять повсеместно, и подробности исправления могут помочь злоумышленникам.
Итак, все, что вам нужно, вам придется делать с интерфейсами высокого уровня, которые предлагает Android - насколько я могу это выяснить.