
æ¯å¹ŽããŸããŸãå€ãã®äŒæ¥ãInternet of ThingsïŒIoTïŒã«é¢é£ãããããžã§ã¯ãã«é¢å¿ã瀺ããŠããŸãã
ãã®èšäºã§ã¯ãç§ãã¡ãäœæããIoTãã©ãããã©ãŒã ãéè¡ã«ãŒãããŠã§ã¢ã©ãã«ããã€ã¹ã«ããŒãããæ¹æ³ãCore NFC iOSãã¬ãŒã ã¯ãŒã¯ã®æ©èœãããã³NFCãæèŒããã¹ããŒããã©ã³ã䜿çšããäžæ£ã¹ããŒã ã®å¯èœæ§ã«ã€ããŠèª¬æããŸãã
ãã®èšäºã¯ã補åãããŒãžã£ãŒãæè¡è ãiOSéçºè ãã¢ãã€ã«æ±ºæžã«åŸäºããQAãšã³ãžãã¢ãããã³èŠéãåºããããã®fintechãã¯ãããžãŒã«é¢å¿ã®ãã人ã«åœ¹ç«ã¡ãŸãã
ããã«ã¡ã¯ãHabrïŒ
ç§ã®ååã¯ããã·ã ã§ããç§ã¯2005幎ããç£æ¥éçºãè¡ã£ãŠããŸããç§ã¯2013幎ããWalletã§åããŠããã2015幎ããã¯ãéšéã®è²¬ä»»è ãšããŠäŒç€Ÿã®ããžãã¹ãæ°ããfintechãµãŒãã¹ãéçºããã®ãæ¯æŽããŠããŸãã
Walletã§ã¯ãç§ãã¡ã®ããŒã ãå€ãã®é©æ°çãªè£œåãçºå£²ããŸãããããã¯ãéæ¥è§Šæ¯æãã®å¯èœæ§ãåããäžçåã®å®å šä»®æ³éè¡ã«ãŒãã®1ã€ã§ããïŒãã·ã¢ã§ã®Apple Payã®çºå£²ã®1幎åãApple Cardã®çºå£²ã®ãã£ãšåïŒãã¹ããŒããã©ã³ã§æåã®ãã©ã³ã¹ããŒãã«ãŒããæåã®ãã¡ã³ã«ãŒããæåã®ãã£ã³ãã¹ã«ãŒãã§ãã ..ã
æšå¹ŽãMastercardãšå ±åã§WalletPayãµãŒãã¹ãéå§ããŸããã¢ããã°ãšã¯ç°ãªããã¹ããŒããã©ã³ã®ã¡ãŒã«ãŒããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«é¢ä¿ãªãæ©èœããäžçã§å¯äžã®ãµãŒãã¹ã§ããããšãã°ãPay Walletã¯ãGoogleãµãŒãã¹ããªãHuaweiã¹ããŒããã©ã³ã§åäœããŸãã
è¬èŸ
èšäºãæžãåæ©ãäžããåºçã®æºåãæäŒã£ãŠãããKolyaAshaninã
ç§ã®ç£ç£äžã§ãèšäºã«èšèŒãããŠãã調æ»ã宿œããSashaPryimakã
ãŸãã
Katya TurkinaãAnton DavydovãLesha ErshovãDashaAlekseenkoã®åå ãšãµããŒãã«æè¬ããŸãã
IoTãã©ãããã©ãŒã
çŸåšãç§ã®ããŒã ãšç§ã¯ãPayãµãŒãã¹ã䜿çšããæ¢åã®ãšã¯ã¹ããªãšã³ã¹ãè£å®ããã³æ¡åŒµããç§ãã¡ãéåžžæã¡æ©ããã®ããããããŠã§ã¢ã©ãã«ããã€ã¹ã«æ¯æãïŒããã³ãã®ä»ã®èå¥ãµãŒãã¹ïŒãå®è£ ã§ããInternet ofThingsãã©ãããã©ãŒã ã®ç«ã¡äžãã«åãçµãã§ããŸãã
Internet of Thingsã¯ãå€éšç°å¢ãŸãã¯çžäºã«å¯Ÿè©±ããããã®ãã¯ãããžãŒãåããã身è¿ãªç©çãªããžã§ã¯ãã®æŠå¿µã§ãã
ãã®æŠå¿µã§ã¯ãç©äºã®äœ¿ãæ £ãããŠãŒã¹ã±ãŒã¹ãèªååã«ãã£ãŠåæ§ç¯ãããŸãã
ãŠã§ã¢ã©ãã«ããã€ã¹ã®äŸãšããŠã¯ãã¹ããŒããŠã©ããããã£ãããã¹ãã¬ã¹ã¬ããããªã³ã°ãããŒãã©ãããããŸãã
以åã¯çŸããã象城æ§ã®ããã«æèŒªãççšããŠããå Žåãä»ã§ã¯ã¢ãã®ã€ã³ã¿ãŒãããã®æŠå¿µã§ã¯ãæèŒªã¯æ¯æãææ®µãã¢ã¯ã»ã¹å¶åŸ¡ãã¹ãšããŠæ©èœããŸããä»ã®ã¹ããŒãããã€ã¹ã®ãªã¢ãŒãã³ã³ãããŒã«ãªã©ããã®ããã«ã身è¿ãªãã®ã«æ°ãã䟿å©ãªãŠãŒã¹ã±ãŒã¹ãç»å ŽããŸãã
ã¹ããŒããªãã®ã¯ä»ãäžççãªãã¬ã³ãã§ããããã¯ãããŸããŸãªäžçã®æ©é¢ã«ãã£ãŠåéãããçµ±èšããŒã¿ã«ãã£ãŠèšŒæãããŠããŸãïŒèšäºã®æåŸã«ãããªã³ã¯ãåç §ããŠãã ããïŒã
ãã®èšäºã§ã¯ãIoTãã©ãããã©ãŒã ã®éçºã«ããã調æ»ã®äŸã䜿çšããŠãWalletã¢ããªã±ãŒã·ã§ã³ã®fintechã®æ¹åæ§ãã©ã®ã¿ã¹ã¯ã§æ©èœããããã©ã®ãããªåé¡ã«çŽé¢ããããã«ãŒãæ¥çã®å®çžŸã®ãããã¯ãããžãŒã䜿çšããŠæ°è£œåãäœæããæ¹æ³ã«ã€ããŠèª¬æããŸãã
ãŸãããã©ãããã©ãŒã ã®åºç€ãšãªããã¯ãããžãŒã«ã€ããŠç°¡åã«èª¬æããŸãããããã®ãã¯ãããžãŒã«ã€ããŠè©³ããç¥ãããå Žåã¯ãèšäºã®æåŸã«ãªã³ã¯ããããŸãã
- , Secure Element â , 5-20 . , -, , - , . , SIM-, . ( ).
, â . , . - GlobalPlatform Card Specification â , .
- TSM (Trusted Service Manager) â . .
- EMV â ( ), . , - , , .
ãã©ãããã©ãŒã ã«é 眮ãããã¹ããŒããã©ã³ãšããã€ã¹èªäœã®çžäºäœçšã®äž»ãªã·ããªãªã¯æ¬¡ã®ãšããã§ãïŒãã¹ãŠã®ã·ããªãªã§ããŠãŒã¶ãŒã¯ã¹ããŒããã©ã³ã®ã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ã®ã€ã³ã¿ãŒãã§ã€ã¹ãä»ããŠãŠã§ã¢ã©ãã«ããã€ã¹ãå¶åŸ¡ããŸãïŒã
æåã®ã·ããªãªã¯ãã¢ã¯ãã£ããªãŠã§ã¢ã©ãã«ããã€ã¹ãšã®çžäºäœçšã§ãããŠã§ã¢ã©ãã«ããã€ã¹ã¯ãç¬èªã®ããããªãŒïŒããããªãŒãªã©ïŒãåããã¢ã¯ãã£ãããã€ã¹ãšåŒã°ããŸããååãšããŠãã¢ãã«ã¯ç¬èªã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ããããã¹ããŒããã©ã³ãšéä¿¡ããããã®BLEã¢ãžã¥ãŒã«ããããŸããããã€ã¹ã®è£œé å ã¯ãã»ãã¥ãªãã£èŠçŽ ãšå¯Ÿè©±ããããã®SDKãšã¢ã¯ã»ã¹ããŒãæäŸããŠããŸãã
ããããéæ¥è§Šæ¯æãæ©èœãåãããã¹ãŠã®ã¹ããŒããŠã©ãããšãã£ãããã¹ãã¬ã¹ã¬ããã®ä»çµã¿ã§ãããã¹ãŠãã·ã³ãã«ã§æç¢ºã§ããç§ãã¡ã¯ãããåãå ¥ããŠå®è¡ããŸãã
2çªç®ã®ã·ããªãªã¯ãã£ãšè峿·±ãã§ãããã·ããŠã§ã¢ã©ãã«ããã€ã¹ãšã®çžäºäœçšã§ãããŠã§ã¢ã©ãã«ããã€ã¹ã¯ãç¬èªã®ããããªãŒãæããªãããã·ãããã€ã¹ãšåŒã°ããŸãããããã®ããã€ã¹ã¯ãé 眮ããå¿ èŠã®ããå€éšç£å Žããé»åãäŸçµŠãããŸããããã¯ãéæ¥è§Šç«¯æ«ãªãŒããŒã®é»ç£çãŸãã¯ã¹ããŒããã©ã³ã®NFCã¢ã³ããã§ããå¯èœæ§ããããŸãããããã£ãŠãéæ¥è§Šãã³ã¯ã«ãŒãã¯å®å šã«ããã·ããŠã§ã¢ã©ãã«ããã€ã¹ãšåŒã¶ããšãã§ããŸãã
åé¡ã¯ãã¹ããŒããã©ã³ã®ã¢ããªã±ãŒã·ã§ã³ããããã·ããŠã§ã¢ã©ãã«ããã€ã¹ã«ãã³ã¯ã«ãŒããããŒãããå¿ èŠãããããšã§ãã
ã¹ããŒããã©ã³ã®çš®é¡ã«å¿ããŠãïŒæ¡ä»¶ä»ãã§ïŒãã®ã·ããªãªãç ŽããŸãã
- NFCã®ãªãã¹ããŒããã©ã³
- NFCãæèŒããAndroidã¹ããŒããã©ã³
- NFCãæèŒããiPhone
æåã®ã¿ã€ãã§ã¯ãç¹å¥ãªããŒãœãã©ã€ãºç«¯æ«ã«ããå€éšãªãŒããŒã䜿çšããŸããã€ãŸããããŒãœãã©ã€ãºç«¯æ«ãšã¹ããŒããã©ã³ã®ã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ã¯ãäž¡æ¹ã®ã¯ã©ã€ã¢ã³ããåæããåãããã¯ãšã³ãã«æ¥ç¶ãããŠããŸããããŒã¯ã³ã¯ããŒãœãã©ã€ãºç«¯æ«ãä»ããŠããŒãããããŠãŒã¶ãŒã¯ã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ã€ã³ã¿ãŒãã§ã€ã¹ã«çµæã衚瀺ããŸãã
ããŒãœãã©ã€ãºç«¯æ«ã®å®è£ ã¯ç°ãªãå ŽåããããŸããBLEãŸãã¯USBãä»ããŠå€éšã¹ããŒãã«ãŒããªãŒããŒã«æ¥ç¶ãããåããŠãŒã¶ãŒã®ã¹ããŒããã©ã³ããŸãã¯èªåŸåå€éšããã€ã¹ïŒãªãŒããŒãæ¥ç¶ãããæ¬æ Œçãªã³ã³ãã¥ãŒã¿ãŒãã€ã³ã¿ãŒãããã¢ã¯ã»ã¹ããã³å¶åŸ¡ãœãããŠã§ã¢ïŒã®å ŽåããããŸãã ..ã
2çªç®ã®ã¿ã€ãïŒAndroidãšNFCïŒã®å Žåãå®è£ ã¯æç¢ºã§ãããã®å Žåãã¹ããŒããã©ã³ã端æ«ãšããŠäœ¿çšããNFCã¢ã³ããããããã·ãããã€ã¹ã«é»åãäŸçµŠãããã³ã¯ã«ãŒãããŒã¯ã³ãããŒãããããšãã§ããŸãã
ç§ãã¡ã®ç ç©¶ã§ã¯ã3çªç®ã®ã¿ã€ãã®ã¹ããŒããã©ã³ïŒNFCãæèŒããiPhoneïŒã§ã©ã®ããã«äœæ¥ãããã«ã€ããŠè©³ãã説æããŸãããŠã§ã¢ã©ãã«ããã€ã¹ãšããŠããã€ããããéå§ããããŒãããŒã§ããISBCã®ããŒãã©ãã䜿çšããŸããã
ç ç©¶ã®ç®ç
iOS Wallet ãŠãŒã¶ãŒãèªåã®ãã³ã¯ã«ãŒããiPhoneã«æ¥ç¶ããŠããŠã§ã¢ã©ãã«ããã€ã¹ã«ããŒãã§ããããã«ããããšã¯ã§ããŸããïŒ
ã€ãŸãïŒ
- ã¢ããªã±ãŒã·ã§ã³ãWalletãã®ãŠãŒã¶ãŒãèªåã®éè¡ã«ãŒãã®ããŒã¿ãå ¥åããŸã
- ãŠãŒã¶ãŒã¯ãŠã§ã¢ã©ãã«ããã€ã¹ãiPhoneã®èé¢ã«ç«ãŠãããŸã
- ãã³ã¯ã«ãŒãããŠã§ã¢ã©ãã«ããã€ã¹ã«ããŒããããŸã
ãããã£ãŠãæè¡çãªã¿ã¹ã¯ã¯ãISO / IEC 7816ãããã³ã«ïŒT = CLïŒãä»ããŠãéåžžã®iPhoneãšãã®NFCã¢ã³ããã䜿çšããŠå€éšã»ãã¥ãªãã£èŠçŽ ïŒSecure ElementïŒã«ãã³ã¯ã«ãŒããããŒãã§ãããã©ããã倿ããããšã§ãã 远å ã®ã¿ã¹ã¯ïŒ
- ãªãŒããŒããããããåãå€ããã«ãããã®ATRïŒAnswer To ResetïŒãååŸããŸã
- ãããã®UIDïŒäžæã®èå¥åïŒãååŸããŸã
ãã®ããŒã¿ã¯ããµãŒãã¹ãããã€ããŒã®ã·ã¹ãã ã§ããããèå¥ãããããã¢ããªã±ãŒã·ã§ã³ã®æ©å¯ããŒã¿ããããŒã倿§åããããã«ãã䜿çšãããããã圹ç«ã¡ãŸãã
ç§ãã¡ãæã£ãŠãããã®ïŒ
- iOS13.5ãæèŒããiPhone8
- ãŠã§ã¢ã©ãã«ããã€ã¹ã®ãã¹ã-çµ±åãããJCOP3 EMV P60ããããšNXPããããŒããããã¢ããªã¬ãããåããISBCããŒãã©ãïŒ
PPSEããã³M /ãããã¢ããã³ã¹ãå®è£
ããã¢ããã«ã-ã«ãŒã仿§æ¯æãããã³ããŒã¿ã¹ãã¬ãŒãžv1.1;
- çºè¡è ã»ãã¥ãªãã£ãã¡ã€ã³ãããããã®ããŒã
決å®
æåã«ãã¡ã€ã³ã¿ã¹ã¯ãåè§£ããŸããã€ãŸããå®å šã«éåžžã®ããŒãã§ãŒã³ïŒã»ãŒïŒãæ¬æ Œçãªæ¯æãææ®µã«å€ããããã«å¿ èŠãªæé ãæ±ºå®ããŸãã
- ããããšiPhoneã®NFCã¢ãžã¥ãŒã«éã®æ¥ç¶ã確ç«ãã
- Mastercard M / ChipAdvanceããã³PPSEã¢ããªã¬ããã®ããããžã®ã€ã³ã¹ããŒã«
- ã¢ããªã¬ããã®ããŒãœãã©ã€ãº
æ¥ç¶ã®ç¢ºç«
ããã§ã¯ãiOS13ã§è¿œå ãããCoreNFCãã¬ãŒã ã¯ãŒã¯ã®æ©èœã«ã€ããŠèª¬æããŸãã
ã¡ãªã¿ã«ãiOS 14ã§ã¯ãèšäºã®äž»é¡ã«é¢ããŠå€§ããªå€æŽã¯è¡ãããŠããªãããã説æãããŠãããã¹ãŠã圌女ã«é¢é£ããŠããŸãã
ãã®ãããApple OSã®13çªç®ã®ããŒãžã§ã³ã§ã¯ãiOS 12ã®å Žåã®ããã«NFCã¿ã°ããããŒã¿ãèªã¿åãã ãã§ãªãïŒä»¥åã¯iOS 11ããåã§ã¯ãªããNFCãä»ãã察話ã¯Apple Payå ã§ã®ã¿å¯èœã§ããïŒãããããæžã蟌ãããšãå¯èœã«ãªããŸããããŸããAPDUã³ãã³ãèšèªã§ã次ã®ããããã®èŠæ Œã«æºæ ããããããšéä¿¡ããŸãã
ãã®ç®çã®ããã«ã2ã€ã®æ°ããã¯ã©ã¹NFCNDEFReaderSessionãšNFCTagReaderSessionãã³ã¢NFCã«è¿œå ãããŸããã 1ã€ç®ã¯NDEFã¿ã°ãšã®å¯Ÿè©±ã«äœ¿çšããã2ã€ç®ã¯ä»ã®ãã¹ãŠã«ãããã䜿çšãããŸãã ç§ãã¡ã®å Žåãããã¯GlobalPlatformã«ãŒã仿§2.2.1ãšISO / IEC 7816æšæºããµããŒããããããã§ããã€ãŸãã2çªç®ã®ã¯ã©ã¹ã䜿çšããŸããããã¥ã¡ã³ãã¯ããªããISO 7816ã«åŸã£ãããããšã®éä¿¡ãéå§ããïŒãã¡ãããã³ãŒããæžã以å€ã«ïŒäœãããå¿ èŠãããããšèšããŸãïŒ
- ã¢ããªã®info.plistãã¡ã€ã«ã®NFCReaderUsageDescriptionããŒã«ç©ºã§ãªãæååãæå®ããŸãã
- ã¢ããªã§ãµããŒããããŠããã¢ããªã±ãŒã·ã§ã³èå¥åã®ãªã¹ãã
com.apple.developer.nfc.readersession.iso7816.select-identifiersæ å ±ããããã£ãªã¹ãããŒã«è¿œå ããŸãã
ãããã以äžã«ã¯ãã®ãããªè峿·±ãå¶éããã ãŸãããããæ£ç¢ºã«äœãæå³ããã®ããåŠã³ãããããæããããã ãã§ããinfo.plistãã¡ã€ã«ã®NFCReaderUsageDescription ããŒã«ãAllowNFCconnectionããªã©ã®è¡ã远å ããŸãããŸãããã®ããŒã®ä»ã®å€ã§ãæ©èœããŸãã
Important
Core NFC doesn't support payment-related Application IDs.

[ããã§ãå·ŠåŽã®åã§ã¯ãããŒèªäœã§ã¯ãªãããã®èª¬æã§ãXCodeã¯æ£åŒãªååãé衚瀺ã«ããŸã]
次ã«ãISO / IEC 7816ããã€ã¹ã®ããã«ããããšå¯Ÿè©±ããå Žåã¯ãcom.apple.developer.nfc.readersessionããŒã®å€ã§ã iso7816.select-identifiers ã¯ãã¢ããªã±ãŒã·ã§ã³ã察話ãããã¹ãŠã®appletïŒApplication IdentifierãŸãã¯AIDïŒã®IDã®ãªã¹ããæå®ããŸãã

ããã§ããããã®èå¥åã¯åãªãã©ã³ãã ãªæåã®ã»ããã§ã¯ãªãããšãæç¢ºã«ãã䟡å€ããããŸãã
ãããã¯ãå²ãåœãŠãããŠããã¢ããªã±ãŒã·ã§ã³ã«é¢ããæ å ±ãå«ã16鲿ååã§ãã
AIDã®é·ãã¯5ã16ãã€ãã§ãïŒ1è¡ããã2æå= 1ãã€ãïŒããããã¯2ã€ã®éšåã§æ§æããã1ã€ç®ã¯ã¢ããªã±ãŒã·ã§ã³ãããã€ããŒãèå¥ãïŒMastercardã®å Žåã¯ãA000000004ãïŒã2ã€ç®ã¯ãã®ãããã€ããŒãã©ã®ãããªè£œåã§ãããã瀺ããŸãïŒMastercardãšããååã®è£œåã®å Žåã¯ã1010ããããšãã°Maestroã®å Žåã¯ã3060ãã§ãã "ïŒã
ããã«ãããšãã°ããããäžã«åããããã€ããŒããã®2ã€ã®åäžã®ã¢ããªã±ãŒã·ã§ã³ãããããã³ã¯ãç°ãªãå Žåãªã©ãAIDã«è¿œå æ å ±ãå ¥åããå¿ èŠãããå ŽåããããŸãããã®ããã«ãLong AIDïŒãŸãã¯Extended AIDïŒããµããŒããããŠããŸããAIDã®é·ãã16ãã€ããè¶ ããªãéããäœã§ãæžã蟌ãããšãã§ããŸããããšãã°ãMastercard AIDãååŸããæåŸã«ãTESTãã远å ãããšãçµæã¯ãA0000000041010BB5445535401ãã«ãªããŸãã
ãªã¹ãã«ãªãå¯äžã®AIDã¯ã325041592E5359532E444446303101ãã§ãã
å®éãããã¯éåžžã®ïŒ16é²åœ¢åŒã®ã¿ïŒããã¬ãŒã³ããã¹ãã®æååã2PAY.SYS.DDF01ãã§ããããã¯AIDPPSEã§ãããããèªäœã¯æ¯æãã¢ããã«ã§ã¯ãããŸãããæ¯æãã¢ããªã±ãŒã·ã§ã³ã«å¿ èŠãªç°å¢ããŒã¿ã®ã¿ãå«ãŸããŠããŸãã
ã¢ããªã¬ããã®ã€ã³ã¹ããŒã«
ãããã«ã¢ããªã¬ãããã€ã³ã¹ããŒã«ããã«ã¯ãå®å šãªæ¥ç¶ïŒSecure Channel ProtocolãŸãã¯SCPïŒãå¿ èŠã§ããåŸæ¥ã®PC / SCãªãŒããŒãšCardsmobileTSMãã©ãããã©ãŒã ã䜿çšããŠèå°è£ã§ãããè¡ããŸããã
ãã ãããããã®ããããæã£ãŠããªãå Žåã§ããç¬èªã®ã¢ããã«ãããããã«ã€ã³ã¹ããŒã«ããŠã¿ãããšãã§ããŸããä»®æ³ã®ãã®ã ãã§ãã
JCOPã·ã§ã«ããµããŒãããIDEãšJavaCardãšãã¥ã¬ãŒã¿ãŒãå¿ èŠã«ãªããŸãïŒäŸïŒããïŒã
空ã®ãããžã§ã¯ããäœæããç®çã®AIDïŒããšãã°ã0000000000ïŒãæå®ããŠå®è¡ããŸãã
次ã«ãæé ãçè§£ããŸãã
- / card
ATRãååŸããIDãªãã§SELECTãéä¿¡ããŠãCardManagerãéžæãããããã«ããŸãã

- auth
, ;

- ls ()
, /;

- install [packageAID] [appletAID] [instanceAID]
:
packageAID â (Module), , «0000000000»
appletAID â (Load File), , «000000000000»
instanceAID â , , , «A0000000041010»;

- ls
, :

å®éããªã³ãŽã®ããŒãœãã©ã€ãºã¯éåžžã«ç°¡åã§ããå¿ èŠãªã®ã¯ãå¿ èŠãªæ¯æãããŒã¿ãããŒãããããšã ãã§ãããããè¡ãã«ã¯ãAIDã§SELECTã³ãã³ãã䜿çšããŠã¢ããã«ããéžæããå®å šãªæ¥ç¶ã確ç«ããŠãéžæããã¢ããã«ãã«ããŒã¿ãå«ãSTOREDATAã³ãã³ããéä¿¡ããå¿ èŠããããŸãã
ããã§ãinfo.plistãã¡ã€ã«å ã®AIDã®ãªã¹ãã«æ»ããŸããã-ãªããããå¿ èŠãªã®ãããããŠCore NFCã¯ã©ã®ã¢ããã«ããšå¯Ÿè©±ããããã©ã®ããã«æ£ç¢ºã«éžæããã®ã§ããïŒ
次ã®ããã«ãªããŸãã
- ããã°ã©ã ã¯ãªã¹ããäžããäžã«ç§»åããŸãã
- AIDããšã«ãSELECTã³ãã³ããçæããŠéä¿¡ããŸãã
- ã9000ããšå¿çããæåã®ã¢ããã«ãã®AIDïŒæåããå¿çã®ã¹ããŒã¿ã¹ãããã¯ãã¹ãŠã®å¯èœãªå¿çã®ãªã¹ãã§ãïŒã¯ãæ€åºããããããã®é åã«å ¥ããããNFCISO7816Tagã¿ã€ãã®ãªããžã§ã¯ãã®initialSelectedAIDãã£ãŒã«ãã«èšé²ãããŸãã
@available(iOS 13.0, *)
public protocol NFCISO7816Tag : NFCNDEFTag, __NFCTag {
/**
* @property initialSelectedAID The Hex string of the application identifier (DF name) selected by the reader when the tag is discovered.
* This will match one of the entries in the «com.apple.developer.nfc.readersession.iso7816.select-identifiers»
* in the Info.plist.
*/
@available(iOS 13.0, *)
var initialSelectedAID: String { get }
ããã«ãã¢ã¬ã€ãããã®ãããªãªããžã§ã¯ããéžæããsendCommandã¡ãœããã䜿çšããŠãéžæããã¢ããã«ãã«APDUã³ãã³ããéä¿¡ã§ããŸãã
次ã«ããã®å¶éã«ã€ããŠèª¬æããŸãã
Core NFC doesn't support payment-related Application IDs.
ã€ãŸããã³ã¢NFCã¯ãæ¯æãAIDãã€ãŸãæ¯æã端æ«ãæ©èœããæŠéAIDããµããŒãããŠããŸããã
ãã¡ãããæ¯æãAIDãinfo.plistãªã¹ãã«è¿œå ããããšã¯ã§ããŸãããCore NFCã¯ãããç¡èŠããSELECTãéä¿¡ããŸããïŒã¡ãªã¿ã«ã䜿çšãããŠãããã¹ãŠã®AIDã®ãªã¹ãã¯æ¬¡ã®ãšããã§ãïŒãããã¯ãAppleãApple Payãã¯ãããžãŒãä¿è·ããæ¹æ³ã§ããããµãŒãããŒãã£ã®éçºè ãiPhoneã®æ¯æãæ©èœïŒããã³ããã«é¢é£ãããã¹ãŠã®ãã®ïŒã«ã¢ã¯ã»ã¹ããã®ãé²ããŸãã
åé¿ç
æåã«é ã«æµ®ãã¶ã®ã¯ãæ¯æãã¢ããã«ã®AIDã§ã¯ãªãAIDã«ãŒããããŒãžã£ãŒïŒã«ãŒããããŒãžã£ãŒã¯ãã«ãŒãã管çãããããã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã å ã®ãµãŒãã¹ã®ã°ã«ãŒãã§ããã管çãšã»ãã¥ãªãã£ãæ åœããŸãïŒãinfo.plistã«è¿œå ã§ãããã©ããã§ããæ¬¡ã«ãç®çã®ã¢ããã«ãã®AIDãæå®ããŠSELECTã³ãã³ããæåã§éä¿¡ããŸããïŒ
ããã§æåã®èœãšã穎ã«ééããŸãã-ã³ã¢NFCã¯ãinfo.plistã«ç»é²ãããŠããªãAIDãå«ãSELECTã³ãã³ãã®éä¿¡ãèš±å¯ããŠããŸããã
ããŠãA0000000041010ã远å ããŸããããããã倱æã§ããã³ã¢NFCã¯ãinfo.plistã«ãããã©ããã«é¢ä¿ãªããæ¯æãAIDãå«ãSELECTã³ãã³ãã®éä¿¡ãèš±å¯ããŸããã
IDå¶éãã©ã®ããã«æ©èœããããèŠãŠã¿ãŸãããã
info.plistã§ã¯ã次ã®AIDãæå®ããŠããŸãã
1. A000000001510000 - GlobalPlatform Card Manager AID
2. 325041592E5359532E444446303101 - Proximity Payment System Environment (PPSE)
3. A0000000041010 - Mastercard Credit/Debit (Global)
4. A00000000401 - Mastercard PayPass
5. A00000000410101213 - Mastercard Credit
6. A00000000410101215 - Mastercard Credit
7. A00000000410101214 - AID
8. A00000000410101216 - AID
9. A0000000041010121F - AID
10. A0000000041010BB5445535401 - Long AID
11. A0000000041010BB5445535405 - Long AID
12. A000000004101FBB5445535401 - AID
13. A000000004101F1213 - AID
14. A00000000F1010 - AID
15. A0000000040F - AID
ç°ãªãAIDïŒã¢ã€ãã 2ã11-æ¯æãAIDïŒãæã€14åã®æ¯æãã¢ããªã¬ãããã€ã³ã¹ããŒã«ãããããã®AIDã®ããããã§ã«ãŒããããŒãžã£ãŒã®SELECTã³ãã³ããéä¿¡ããããšããŸããã
çªå·12-15ãçããŸããã
ç¹å®ã®AIDãã¬ãã£ãã¯ã¹ã«å¶éã課ãããŠããããã®ååšã«ãã£ãŠããããæ¯æãèå¥åã§ãããã©ãããæ±ºãŸããŸãã
æ®å¿µã§ããããã®æ¹æ³ã¯ç¡å¹ã«ãªããŸãããGlobalPlatformã
æäŸãã2çªç®ã®ããŒãœãã©ã€ãºãªãã·ã§ã³ã¯ãINSTALL [ããŒãœãã©ã€ãºçš]ã³ãã³ãã§ãã

ã«ãŒããããŒãžã£ãŒã«éä¿¡ãããããŒãœãã©ã€ãºããå¿ èŠã®ããã¢ããã«ãã®AIDãå«ãŸããŠããŸãã
次ã«ãSTOREDATAã³ãã³ããCardManagerã«éä¿¡ã§ããŸããããã«ãããããããã¿ãŒã²ããã¢ããªã±ãŒã·ã§ã³ã«è»¢éãããŸãã
ãã ãã1ã€ã®å¶éããããŸããã¢ããã«ãããã®çš®ã®ããŒãœãã©ã€ãºããµããŒãããã«ã¯ãorg.globalplatform.Applicationã€ã³ã¿ãŒãã§ã€ã¹ãå®è£ ããå¿ èŠããããŸãã
ã«ãŒããããŒãžã£ãŒã¯ãNXPããM / Chip Advanceã¢ããã«ã«å²ãåœãŠãããMastercard Credit / DebitïŒGlobalïŒAIDã䜿çšããINSTALL [for personalization]ã³ãã³ãã«å¯ŸããŠããšã©ãŒã6985ãïŒäœ¿çšæ¡ä»¶ãæºããããŠããªãïŒã§å¿çããŸããã ããã¯ãå®è£ ãããŠãããã©ããã確èªããå¿ èŠãããããšãæå³ããŸãããããã¢ããªã±ãŒã·ã§ã³ã€ã³ã¿ãŒãã§ã€ã¹ã§ãããã©ããã
ãããè¡ãããã«ããã®ã€ã³ã¿ãŒãã§ã€ã¹ãå®è£ ããåçŽãªãããŒã¢ããªã±ãŒã·ã§ã³ãäœæããŸãããäºæ³éããINSTALL [ããŒãœãã©ã€ãºçš]ã§ã9000ããšçããŸããã
ããããã¢ããªã±ãŒã·ã§ã³ãå®è£ ãããã€ã³ã¿ãŒãã§ãŒã¹ããã¢ããªã±ãŒã·ã§ã³ãåé€ããããšãM / Chip Advanceã¢ããã«ã¬ããã®å Žåãšåæ§ã«ããã®ã³ãã³ãã6985ãã«å¿çãå§ããŸããã
ãããã£ãŠãåé¡ã¯ãNXPã¢ããªã±ãŒã·ã§ã³ããã®ã¿ã€ãã®ããŒãœãã©ã€ãºã«å¿ èŠãªã€ã³ã¿ãŒãã§ã€ã¹ãå®è£ ããŠããªãããšã§ãããã®æ¹æ³ããªããªããŸãã
远å ã®ã¿ã¹ã¯
- ãããã®UIDã®ååŸ
ããã¯éåžžã«ç°¡åãªæ¹æ³ã§å®è¡ã§ããŸããNFC
ã»ãã·ã§ã³ã®éå§æã«ãã¢ãžã¥ãŒã«ã¯ããããæ¢ããŸãããããã®AIDã¯info.plistã«ç»é²ãããŠãããããããé åã«è¿œå ããŸãã ãã®åŸããããããããã®ãããããååŸã§ããŸãããã®ã¿ã€ããNFCISO7816Tagã®å Žåããããã®UIDãå«ãèå¥åãã£ãŒã«ãããããŸãã
/** * @discussion The hardware UID of the tag. */ var identifier: Data { get }
- ååŸATRã®ãããã
ãããããšæãããã³ã¢NFCãåãåãããšãã§ããªãATRãããã®ããã®ç¬ç«ããããŒã«ã¯ãã¬ãŒã ã¯ãŒã¯ã«ååšããªãããããããŠããªããåŸãããšãã§ããªãATRã䜿çšããAPDUã³ãã³ããã
çµè«
äžçªäžã®è¡ã¯äœã§ããïŒ
- ISO/IEC 7816 ( UID), Core NFC;
- , Apple ;
- , , iPhone, , Application â ;
- , AID â .
æåã«æèµ·ããã質åã«çããŠããŠã©ã¬ãããŠãŒã¶ãŒã«éè¡ã«ãŒããiPhoneã«æ¥ç¶ããŠããŒãã©ãã«ããŒãããæ©äŒãäžããããšãã§ããŸããïŒããããããã¯ãŸã å¯èœã§ã¯ãããŸããã
ã¿ã¹ã¯ã®äžç°ãšããŠãå€éšBLEãªãŒããŒã䜿çšããŠãiPhoneããããã·ããŠã§ã¢ã©ãã«ããã€ã¹ã«ãã³ã¯ã«ãŒãããŒã¯ã³ãããŒãããããšã«ããŸããã
ããŸãããã°ãå°æ¥çã«ã¯ãAppleã¯NFC Coreã®æ©èœãæ¡åŒµããŠããããšããµãŒãããŒãã£ã¢ããªã±ãŒã·ã§ã³ã§ã®ãã®ä»ã®ããŒã¯ã³åããã³æ¯æãã¿ã¹ã¯ã®ç¯å²ãå®çŸããäºå®ã§ããããããæè¿ã®ãã¥ãŒã¹ã¯ããããè¿ãå°æ¥ã«èµ·ããå¯èœæ§ãäœãããšã瀺ããŠããŸãã
ç ç©¶ã®å¯äœçš
äœæ¥ã®éçšã§ãAppleã¹ããŒããã©ã³ã§ã¯åçŸã§ããªãæœåšçãªè©æ¬ºã¹ããŒã ãçãŸããŸããããNFCãµããŒããšãã¹ãã«ãŒããšãã¥ã¬ãŒã·ã§ã³ãã¯ãããžãŒãåããAndroidã¹ããŒããã©ã³ãä»ããŠå®è£ ããããšã¯å¯èœã§ãã
çµè«ã¯æ¬¡ã®ãšããã§ãã
- æåã®ã¹ããŒããã©ã³ã¯ç«¯æ«ãšããŠäœ¿çšãããŸããã€ãŸããéè¡ã«ãŒãã«æ¥ç¶ããæ¯æãã¢ããªã¬ãããšå¯Ÿè©±ããŸãã
- 2çªç®ã®ã¹ããŒããã©ã³-æ¯æãææ®µãšããŠïŒãã§ãã¯ã¢ãŠãæã«ã¯ãã¹ããŒããã©ã³ã§ã®éåžžã®æ¯æãã®ããã«èŠããŸãïŒã
ãã®ã¹ããŒã ã䜿çšãããšããã§ãŒã³ãã³ã¯ã«ãŒã-ã¹ããŒããã©ã³-ã¹ããŒããã©ã³-æ¯æã端æ«ãäœæã§ããŸãã
- æåã®ã¹ããŒããã©ã³ã¯ã©ã®éè¡ã«ãŒãã«ãæ¥ç¶ãããŠããŸãã
- 2çªç®ã¯æ¯æã端æ«ã«é©çšãããŸãã
- 2çªç®ã®ã¹ããŒããã©ã³ã¯ã端æ«ããæåã®ã¹ããŒããã©ã³ã«éä¿¡ãããAPDUã³ãã³ããéä¿¡ããããšã«ãããéè¡ã«ãŒãããšãã¥ã¬ãŒãããŸãã
- æåã®ã¹ããŒããã©ã³ã¯ãããã®ã³ãã³ããæ¥ç¶ãããéè¡ã«ãŒãã«éä¿¡ãããã®å¿çã2çªç®ã®ã¹ããŒããã©ã³ã«éä¿¡ããŸãã
- 2çªç®ã®ã¹ããŒããã©ã³ã¯åä¿¡ããå¿çã端æ«ã«éä¿¡ããŸãã
- æ¯æããå®äºããŸããã
ã€ãŸããè©æ¬ºåž«ãã¹ããŒããã©ã³ããã±ããã«å ¥ããŠè³Œå ¥ä»£éãæ¯æãå¯èœæ§ããããŸããæ³šæããŠãã ããïŒ
ãã®ãããªäžæ£ãªã¹ããŒã ã®ç ç²ã«ãªãããšãé¿ããããã«ãããšãã°ãéè¡ã«ãŒããã¹ããŒããã©ã³ã«è»¢éãããã©ã¹ããã¯ãæºåž¯ããªãããã«ããããšãã§ããŸãã
çµè«ã®ä»£ããã«
äž»é¡åéã®çšèªãæ·±ãæãäžããã«ãç°¡åãªèšèªã§èšäºãæžãããšããŸããããã®äžã§ãç§ãã¡ãåãçµãã§ãã驿°çãªãããžã§ã¯ãã®1ã€ã§ããäž»é¡åéãšãiOS CoreNFCãã¬ãŒã ã¯ãŒã¯ã®æ°æ©èœã«é¢ããå°ãã®ç ç©¶ã«ã€ããŠèª¬æããŸããã
質åãã¬ãã¥ãŒãã³ã¡ã³ãã远å ã建èšçãªæ¹å€ãªã©ããããããã£ãŒãããã¯ãæè¿ããŸãã
䟿å©ãªãªã³ã¯
ãã®èšäºã§èª¬æãããŠãããããã¯ã«èå³ãããå Žåã¯ã以äžã«ããã詳现ãªèª¿æ»ã®ããã®ããã€ãã®ãªã³ã¯ã瀺ããŸãã
- I. M. Goldovskyãã®èæžéè¡ãã€ã¯ãããã»ããµã«ãŒãã
- ã³ã³ã»ããEMVæ¯æãããŒã¯ã³å
- IoTåžå Žã®åæãå«ãèšäºïŒ