Есть ли у NFC SIM-карт внутренняя антенна? Как установить апплеты на сим-карты?
Я искал о NFC SIM-картах и нашел такие объяснения о них тут и там:
Для тех, кто хочет использовать технологию связи ближнего радиуса действия, но в настоящее время не имеет NFC-совместимого смартфона, есть другие способы включить NFC на вашем телефоне, не выменяя его на дорогую новую модель. И SIM-карты, и SD-карты могут быть оснащены чипами NFC, и некоторые компании в настоящее время предлагают или готовятся предложить эти варианты, чтобы большее количество клиентов могло начать использовать технологию NFC.
У меня есть следующие вопросы:
- Есть ли на SIM-картах NFC внутренняя антенна, или трубка должна сама обеспечивать NFC-антенну для NFC SIM?
- Если у NFC SIM нет внутренней антенны, и телефон должен предоставить антенну для SIM (это означает, что телефон должен быть NFC-совместимым, верно?), Зачем нам NFC SIM? Разве мы не можем просто использовать NFC-чип нашего телефона вместо NFC-чипа на SIM-карте.
- Другими словами, есть ли трубка снаружи с NFC-антенной, но без NFC-чипа? или есть ли способ добавить антенну к старому телефону, чтобы использовать в нем NFC SIM?
В любом случае, давайте предположим, что я хочу установить следующий апплет ( его источник) на мою SIM-карту:
import sim.toolkit.ToolkitInterface;
import sim.toolkit.ToolkitRegistry;
...
import javacard.framework.ISOException;
public class STKTest extends Applet implements ToolkitInterface {
public static void install(byte[] bArray, short bOffset, byte bLength) {
// GP-compliant JavaCard applet registration
new STKTest().register(bArray, (short) (bOffset + 1), bArray[bOffset]);
}
//this method handles standard APDU commands
public void process(APDU apdu) {
// Good practice: Return 9000 on SELECT
if (selectingApplet()) {
return;
}
apdu.setIncomingAndReceive();
final byte[] buf = apdu.getBuffer();
switch (buf[ISO7816.OFFSET_INS]) {
case (byte) 0x00:
//do something
break;
}
}
//this method handles the SIM Toolkit commands
public void processToolkit(byte event) throws ToolkitException {
switch (event) {
case ToolkitConstants.EVENT_TIMER_EXPIRATION:
//do something
break;
}
}
}
Вопрос заключается в следующем: могу ли я использовать команды GlobalPlatform для установки моего апплета (так же, как обычные смарт-карты) или, основываясь на этой презентации в DefCon, я должен использовать для этого команды конверта, пакеты SMS и технологию OTA?
И последний вопрос - о содержании этой статьи(Введение в разработку приложений для SIM-карт). На некоторых страницах (например, на страницах 16 и 17) парень упоминает, что в настоящее время доступно несколько совместимых с GlobalPlatform 3 SIM-карт. Но, насколько мне известно, последняя версия спецификации GlobalPlatform для смарт-карт - GlobalPlatform 2.3 (не была опубликована во время статьи). Так что же такое спецификация GlobalPlatform 3, о которой писатель упомянул в своей статье?
1 ответ
Это скорее проблема терминологии.
Обычно "NFC SIM-карта" означает SIM-карту, которая может напрямую связываться с NFC-антенной телефона и использовать ее в качестве бесконтактного интерфейса. В этом случае для связи между SIM-картой и антенной используется устаревший вывод V6 (первоначально использовавшийся в качестве дополнительного источника напряжения), поэтому его часто называют SWP-связью ("Протокол одного провода", см. Эту статью в Википедии). Большинство современных сим-карт, используемых в эти дни, - это сим-карты NFC.
Однако на рынке также есть "специальные" SIM-карты и даже карты microSD (с поддержкой Java Card!), Которые уже содержат антенну NFC и могут напрямую связываться со считывателем смарт-карт без антенны в телефоне. Эти SIM-карты используются редко, потому что они достаточно дороги и являются скорее функциональными прототипами, чем продуктами, готовыми для повседневного использования. Я протестировал несколько из них несколько месяцев назад, и они были довольно глючными, их производительность была плохой, а их бесконтактные поля были не очень надежными. Конечно, это может измениться очень скоро.
Да, вы можете использовать Global Platform для установки апплета на SIM-карту. SIM-карты крупных игроков на рынке (например, Gemalto) соответствуют стандарту Global Platform. Нет необходимости в доступе OTA.