Apple ã® AirTags ãã¯ãããžãŒãæè¿ãªãªãŒã¹ãããåŸããæ¢ãããªãã©ã€ã³æ€çŽ¢ã·ã¹ãã ãæªçšããŠãWiFi ãŸãã¯ã¢ãã€ã« ã€ã³ã¿ãŒãããã«æ¥ç¶ãããŠããªãããã€ã¹ããä»»æã®ããŒã¿ãã€ã³ã¿ãŒãããã«ã¢ããããŒãã§ããªãããšèããŸããããã®ããŒã¿ã¯ãBluetooth Low Energy ãä»ããŠãããŒããã£ã¹ããããè¿ãã® Apple ããã€ã¹ã«ãã£ãŠååŸãããå¯èœæ§ããããŸãããããã®ããã€ã¹ã¯ãã€ã³ã¿ãŒãããã«æ¥ç¶ãããšããã«ãã®ããŒã¿ã Apple ãµãŒããŒã«è»¢éããåŸã§ååŸã§ããããã«ããŸãããã®ãããªæè¡ã¯ãã¢ãã€ã«ã€ã³ã¿ãŒãããã䜿çšããŠäœåãªãšãã«ã®ãŒãç¡é§ã«ããªãããã«ãå¶åŸ¡ãããŠããªãç°å¢ã®å°ããªã»ã³ãµãŒã§äœ¿çšã§ããŸããããã«ããã¡ã©ã㌠ã±ãŒãžã§ä¿è·ãããå ŽæããããŒã¿ãçããšãiPhone ãæã£ãŠãã人ãããã«ç®ãåããã ãã§é¢çœããããããŸããã
çè«çã«ã¯ãããã¯å¯èœã§ãã2 ã€ã® AirTags ããšãã¥ã¬ãŒãã§ããã°ãäžåºŠã« 1 ã€ã ããã¢ã¯ãã£ãã«ããããšã§ããŒã¿ããšã³ã³ãŒãã§ããŸãããã®å Žåãåä¿¡åŽããã€ã¹ã¯ãã©ã® AirTag ããã€ã¢ã¯ãã£ãã ã£ããã確èªããããŒã¿ããã³ãŒãããŠå ã®åœ¢åŒã«æ»ãå¿ èŠããããŸãããã ãããã®ãããªã¹ããŒã ã¯éåžžã«ä¿¡é Œæ§ãäœãããã§ãããããŒã¿é信垯åå¹ ãéåžžã«çããããããããå®éã®å®éã®ç¶æ³ã§ã®äœ¿çšã«ã¯é©ããŠããŸãã (ç¹ã«ãApple ID ã§ã® 16 AirTagã®å¶éãèæ ®ã«å ¥ãããšã ããŒã¿ã®éã¯è»¢é㯠1 æéãããæ°ããããè¶ ããããšã¯ã§ããŸãã)ã
ãããã£ãŠããã®ã¢ã€ãã¢ã®å®çŸå¯èœæ§ã¯ãã·ã¹ãã ãã©ã®ããã«èšèšããã³å®è£ ããããã«äŸåããŸãããªãã©ã€ã³ã®ä»çµã¿ãèšèšããéã«ã»ãã¥ãªãã£ãšãã©ã€ãã·ãŒã確ââä¿ãããšããæ±ºå®ã¯ãç§ãã¡ãææ¡ããã±ãŒã¹ãäŸµå ¥ã®æ¹æ³ãšããŠéåžžã«å¹æçã§ããããšã瀺ããŠããããããé²åŸ¡ããããšã¯ã»ãšãã©äžå¯èœã§ããããšãããããŸããã
âçµæ: å°çšã® Mac ã¢ããªã䜿çšããŠã以åã«è»¢é/ããŠã³ããŒãããããŒã¿ãæœåºããŸãã
- ããªãã¯ã§ããä»»æã®ããŒã¿ãããŠã³ããŒããããã ãã€ã³ã¿ãŒãããã«æ¥ç¶ãããŠããªãããã€ã¹BLEïŒBluetoothã®äœãšãã«ã®ãŒïŒæè¡ãä»ããŠãç§ã®ã¡ãã»ãŒãžãæ¢ããããŒããã£ã¹ãããããšã«ãã£ãŠ è¿ãã®Appleããã€ã¹ã«ããã®åŸããªãã®ããã®ããŒã¿ãããŠã³ããŒãããŸã
- ESP32, ( ) macOS, , : https://github.com/positive-security/send-my
- , - Find My, ,
ã¢ãã ã®æ€çŽ¢ (ESP32) //
è¿ãã® Apple ããã€ã¹ // è¿ãã® Apple
Mobile Tower ãŸã㯠Wifi ã¢ã¯ã»ã¹ ãã€ã³ã // ã»ã« ã¿ã¯ãŒãŸã㯠Wifi ã¢ã¯ã»ã¹ ãã€ã³ã
macOS ããã€ã¹ãšããŒã¿ååŸã¢ã㪠// ããŒã¿ååŸã¢ããªãåãã macOS ããã€ã¹
ããŒã¿ãã㌠// ããŒã¿ãããŒ
.
ãªãã©ã€ã³æ€çŽ¢ãããã¯ãŒã¯ã®èª¬æ
幞ããªããšã«ããã®ãããã³ã«ã¯ããã«ã ã·ã¥ã¿ããå·¥ç§å€§åŠã®ç ç©¶è ã°ã«ãŒãã«ãã£ãŠãã§ã«å€§éšåããªããŒã¹ ãšã³ãžãã¢ãªã³ã°ãããŠããã ã誰ãç§ã® ããã€ã¹ãèŠã€ããããšãã§ã ãŸãã?ã2021 幎 3 æã«ãæŠå¿µå®èšŒã®ããã«OpenHaystack ã®ãªãŒãã³ ãœãŒã¹å®è£ ã ãªãªãŒã¹ããŸããããã®å®è£ ã«ãããApple Find My ãããã¯ãŒã¯ã§è¿œè·¡ãããç¬èªã®ã³ã³ããŒãã³ããäœæã§ããŸãããã®ããŒã ã«æè¬ããŸãïŒç§ãã¡ã®ä»äºãå®çŸã§ããã®ã¯åœŒãã®ãããã§ããããã¡ãŒã ãŠã§ã¢ (æŠå¿µå®èšŒã®ããã«ãè¡ãããŸãã) ãš Mac ã¢ããªã®äž¡æ¹ã OpenHaystack ã«åºã¥ããŠããŸãã
å°ãç°¡ç¥åãã圢åŒã§ãFind My ãªãã©ã€ã³æ€çŽ¢ã·ã¹ãã ã®åçã¯æ¬¡ã®ãšããã§ãã
- AirTag Apple, , , AirTag ( )
- 2 AirTag Bluetooth, , ( 15 )
- , , .., Find My, , ( ECIES)
- ããã€ã¹ãæ€çŽ¢ãããšãããã¢ãªã³ã°ãããææè ã®ããã€ã¹ã¯ãAirTag ãæè¿äœ¿çšããã¯ãã®äº€æå¯èœãªå ¬ééµã®ãªã¹ããçæããApple ã« SHA256 ããã·ã¥ãèŠæ±ããŸããApple ããã¯ãšã³ãã¯ãID ãèŠæ±ãããããŒã®æå·åããããã±ãŒã·ã§ã³ ã¬ããŒããè¿ããŸãã
- ææè ã®ããã€ã¹ã¯ãäœçœ®ã¬ããŒãããã³ãŒãããããããã®äœçœ®ãåºåããŸãã
Apple ã®ãµãŒã㌠// Apple ãµãŒããŒ
Finder ããã€ã¹ // ããã€ã¹ã®æ€çŽ¢
ææè ã®ããã€ã¹ // ææè ã®ããã€ã¹
çŽå€±ããããã€ã¹ // çŽå€±ããããã€ã¹
- // åæèšå®æã®ãã¢ãªã³ã°
- // ãããŒããã£ã¹ãããŸããBluetooth å ¬ééµã®ãã¬ãŒã³ããŒã·ã§ã³
- // æå·åãããäœçœ®ã¬ããŒããããŠã³ããŒã
- // ãã±ãŒã·ã§ã³ ã¬ããŒããããŠã³ããŒãããŠåŸ©å·åãã
å³ã1. ãªãã©ã€ã³ã§ããã€ã¹ãèŠã€ãããšãã«è§£æ±ºãããã¿ã¹ã¯ã®ç°¡ç¥åããããããŒå³
ãã®éåžžã«çŸãããã¶ã€ã³ã«ã¯ãç¹ã«æ¬¡ã®ç¹åŸŽçãªã»ãã¥ãªã㣠ããããã£ããããŸãã
- åãå€ãå¯èœãªå ¬ééµã«ããè¿ãã®æ»æè ã«å¯Ÿãã远跡ä¿è·
- Apple ãŠãŒã¶ãŒã®äœçœ®ãç¹å®ã§ããªã
ãã ãããã®å Žåã®ç§ãã¡ã«ãšã£ãŠæãè峿·±ãã®ã¯ãApple ã¯ã©ã®å ¬ééµã AirTag ã«å±ããŠãããããããã£ãŠãã©ã®ãã±ãŒã·ã§ã³ ã¬ããŒããããªãã«å®ãŠãããŠããããç¥ããŸããããããã£ãŠãç¹å®ã®ã㌠ID ã®ãã±ãŒã·ã§ã³ ã¬ããŒããèŠæ±ãããšã³ããã€ã³ãã¯ãæ¿èªãå®è¡ããŸãã (ãã ãããšã³ããã€ã³ãã«ã¢ã¯ã»ã¹ããã«ã¯ãApple ID ã§èªèšŒããå¿ èŠããããŸã)ã
ãã¹ãŠã®ã»ãã¥ãªãã£ã¯ãäœçœ®ã¬ããŒãã®æå·åã®ã¬ãã«ã§ä¿èšŒãããŸã: äœçœ®ã¯æ£ããç§å¯éµã§ã®ã¿åŸ©å·åã§ãããã¢ã«ãªã£ãŠããææè ã®ããã€ã¹ã«ã®ã¿ä¿åãããåçŽãªãã«ãŒããã©ãŒã¹ã§ãããæŸãããšã¯äžå¯èœã§ãæ»æã
ããŒã¿çé£ãããã³ã«ã®èšèš
ããã¯ãããŒã¿ã®æå·åã«äœ¿çšã§ããå¯äžã®åªäœããããŒããã£ã¹ã EC å ¬ééµã§ããããšã瀺åããŠããŸã (ããšãã°ããæ€çŽ¢ãããã€ã¹ã GPS 座æšã远å ãããããGPS 座æšã«åœ±é¿ãäžããããšã¯ã§ããŸãã)ã
次ã®ã»ã¯ã·ã§ã³ã§ã¯ãApple ããã¯ãšã³ããå ¬éããŒå€ã®å ±æã¹ãã¢ãšèŠãªããŸããSHA256 ããã·ã¥ãããŒãšããŠäœ¿çšãããæå·åãããäœçœ®ã¬ããŒããå€ãšããŠäœ¿çšãããŸããããã«ãäž»ãªæäœã¯æ¬¡ã®ãšããã§ãã
- ç¹å®ã®ããã·ã¥ã®äœçœ®ã¬ããŒããååšãããã©ããã確èªã§ããŸãã SHA256
- 察å¿ããå ¬ééµããããŒããã£ã¹ãããããšã§ãç¹å®ã® SHA256 ããã·ã¥ã«äœçœ®ã¬ããŒãã远å ã§ããŸãã
ãã§ã«ã€ãã³ãã®æµããçè§£ããŠãããšæããŸããå ±æããŒãšå€ã¹ãã¢ã«ä»»æã®ããããèšå®ããŠãå床ã¯ãšãªãå®è¡ã§ããŸããéä¿¡è ãšåä¿¡è ã®äž¡æ¹ããã®ãããªæå·åæ¹åŒã«åæãããšãããã䜿çšããŠä»»æã®ããŒã¿ãéä¿¡ã§ããŸãã
ã·ãªã¢ã« ã€ã³ã¿ãŒãã§ã€ã¹ãä»ããŠã¡ãã»ãŒãžãåãåããæ°ããã¡ãã»ãŒãžãåä¿¡ããããŸã§ãã®ããŒã¿ãã«ãŒãããã¢ãã ãæ§ç¯ããããšã«ããŸããã ã0ãããããšèšå®ãããŠããªãããããåºå¥ã§ããããã«ããããã«ããããå€ã«å¿ããŠç°ãªãå ¬ééµããããŒããã£ã¹ãããåä¿¡è ã«äž¡æ¹ã®å¯èœãªå ¬ééµãç §äŒããŸãã
ç¹å®ã®ãããŒããã£ã¹ã ã¡ãã»ãŒãžãäœçœ®ã¬ããŒããšã㊠Apple ããã¯ãšã³ãã«ã¢ããããŒããããææ (ãŸãã¯ããã°) ã«ã€ããŠã®ä¿èšŒã¯ãããŸããããã€ã³ãã¯ãäžéšã®ãã±ããã Apple ããã€ã¹ã«å°éããªãå¯èœæ§ããããããã€ã¹ãæ€çŽ¢ããå ŽåããããŒããã£ã¹ã ã¡ãã»ãŒãžã®åä¿¡ãšãã±ãŒã·ã§ã³ ã¬ããŒãã®ããŠã³ããŒãã®éã«éåžžã«ã°ãã€ãã®ããé å»¶ãçºçããå¯èœæ§ãããããšã§ããããã¯ãã¢ããã¹ããªãŒã æ¥ç¶ãŸãã¯é»åã¢ãŒãã«äŸåããå¯èœæ§ããããŸãããããã£ãŠãããŒã¿ ãšã³ã³ãŒãã£ã³ã°ã¯ãã©ã®äœçœ®ã¬ããŒããã©ã®é åºã§å°çãããã«äŸåãããéšåçã«åä¿¡ããããŒã¿ ã¹ããªãŒã (äžéšã®ããããå®å šã«å€±ããããã®) ã®å埩ãå¯èœã«ããå¿ èŠããããŸãããããå®çŸããããã«ããããŒããã£ã¹ãããšã« 1 ãããã®ããŒã¿ãæå·åããããšã«æ±ºããŸãããã©ã®ã¡ãã»ãŒãž ããããèšå®ãããŠãããã远å ã®ã¡ãã»ãŒãžãšã¢ãã ID ã®ãããã§ãã·ã¹ãã ã¯è€æ°ã®ã¡ãã»ãŒãžãåŠçããè€æ°ã®ãŠãŒã¶ãŒã«ããè€æ°ã®äœ¿çšã«é©ããŠããŸãã
ããã§ãç¹å®ã®ããããéä¿¡ããããšã§ãã[4bãããã€ã³ããã¯ã¹] [4bã¡ãã»ãŒãžID] [4bã¢ãã ID] [ãŒãããã£ã³ã°...] [ãããå€]ãã®ããã«28ãã€ãã®é åãäœæãããããªãã¯ãšããŠéçšããŸãããšãã°ããã¡ãã»ãŒãž 0 ã®ããã 0 㯠1ããšããæ å ±ããããŒããã£ã¹ãããããã®ããŒãšéä¿¡ã®è¡šçŸ BLEã
å®å šãªã¡ãã»ãŒãžãéä¿¡ããããã«ãããã°ã©ã ã¯åçŽã«ãã®ãã¹ãŠã®ããããç¹°ãè¿ãããã®è¡šçŸãå ¬ééµã§ãããã«éä¿¡ããŸãããã®ãããã®ã€ã³ããã¯ã¹ãšå€ã¯æå·åãããŸãã
ãšã³ã³ãŒãããã¡ãã»ãŒãž // ãšã³ã³ãŒãããã¡ãã»ãŒãž
ãããŒããã£ã¹ããã çæãããå ¬éã㌠// ãããŒããã£ã¹ãçšã«çæãããå ¬éããŒ
ããã ã€ã³ããã¯ã¹ // ããã ã€ã³ããã¯ã¹
ãããå€ // ãããå€
ã¡ãã»ãŒãž ãããããããŒããã£ã¹ã ãã€ããŒãã«ãšã³ã³ãŒã
ãã ããŒã¿ããã§ãããããšããåä¿¡åŽã¢ããªã±ãŒã·ã§ã³ã¯åã 28 ãçæããŸã-ãã€ãé å (ãããããšã« 2 ã€ãå¯èœãªãããå€ã¯ 0 ãš 1) ã§ããããã®ãå ¬éããŒãã® SHA256 ããã·ã¥ã䜿çšã㊠Apple ãµãŒãã¹ãèŠæ±ããŸãããããã®ããŒã® 1 ã€ã ãã«ãã±ãŒã·ã§ã³ ã¬ããŒããæ·»ä»ããå¿ èŠããããŸããããã«ãããè§£éã§ããŸã (ããšãã°ãã€ã³ããã¯ã¹ 0 ã®ããã㯠1 ã§ã)ã
ã¯ãšãªããå¯èœæ§ã®ããããã // ã¯ãšãªããå¯èœæ§ã®ããããã
ãã¹ãããå¯èœæ§ã®ããå ¬ééµ // ãã¹ãããå¯èœæ§ã®ããå ¬ééµ
ã¯ãšãª Apple ããã¯ãšã³ã // Apple
Decodeããã¯ãšã³ãã®å ¬ééµã®ååšãå ã®ããŒã¿ã«ã¯ãšãª // ã«ãã£ãŠå ¬ééµã埩å·åããçããŒã¿ã®
ååŸ ã€ã³ã¿ãŒãããã«æ¥ç¶ããã macOS ããã€ã¹ãã以åã«éä¿¡ãããããŒã¿ã ååŸããŸã
泚: ã¡ãã»ãŒãžããšã« 1 ãããã ãã§ãªããããšãã°ãå ¬ééµã®æåŸã® 8 ããããå«ããã€ãå šäœãéä¿¡ããããšãã§ããŸããããã«ã¯ããåºãããŒã¿é信垯åå¹ ãå¿ èŠã§ãããåä¿¡è 㯠1 ãã€ããéžæ/ãã«ãŒã ãã©ãŒã¹ããããã« 255 ã®ç°ãªãã㌠ID ãèŠæ±ããå¿ èŠããããŸã (ãããããšã®ãšã³ã³ãŒãã®å Žåã® 16 ã㌠ID ãšæ¯èŒããŠãã ãã)ã
å®è£
éä¿¡åŽ
éä¿¡åŽã§ã¯ããŸã£ããæ®éã§å®äŸ¡ãªãã€ã¯ãã³ã³ãããŒã©ãŒã§ãã ESP32 ã䜿çšããããšã«ããŸãã (ç°¡åãªãã¹ãã§ã¯ãBT MAC ã¢ãã¬ã¹ããããšãã° Linux ããŒã¹ã® Raspberry Pi ãããã¯ããã«éã倿Žã§ããããšã瀺ãããŸãã)ãèµ·åæã«ãOpenHaystack ããŒã¹ã®ãã¡ãŒã ãŠã§ã¢ã¯ããŒãã³ãŒããããããã©ã«ã ã¡ãã»ãŒãžããããŒããã£ã¹ãããã·ãªã¢ã« ã€ã³ã¿ãŒãã§ã€ã¹ã (ã«ãŒããšããŠ) ãªãã¹ã³ããŠãæ°ãããããŒããã£ã¹ã ããŒã¿ãå°çãããã©ããã確èªããŸããå ¬ééµããããŒããã£ã¹ãããå ŽåãBluetooth MAC ã¢ãã¬ã¹ã®æåã® 6 ãã€ãã§åå²ããŠãšã³ã³ãŒãããå¿ èŠããããŸã (Bluetooth èŠæ Œã§ã¯æåã® 2 ãããã 1 ã«èšå®ããå¿ èŠããããããæåã® 2 ããããé€ããã¹ãŠ)ãç§ãã¡ã¯ããªããåç §ããŸã ãã«ã ã·ã¥ã¿ããå·¥ç§å€§åŠã®èšäºã®ã»ã¯ã·ã§ã³ 6.2 ãåç §ããŠãã ããããã®èªå®¶è£œã®ãšã³ã³ãŒãã£ã³ã°ã«ã€ããŠè©³ãã説æããŠããŸãã
BT 仿§ã§åé¡ãçºçããªãããã«ããã€ããŒãã«éçãã¬ãã£ãã¯ã¹ã远å ããå ¬éããŒã®æåã® 6 ãã€ãã«å¢åããã ã€ã³ããã¯ã¹ãå«ããã®ã§ãéä¿¡ãããåãããã«ã¯ç¬èªã® BT MAC ããããŸããã¹ã¿ãã¯å ã®ã©ããã« MAC ã¢ãã¬ã¹ ããŒã¹ã®ã¬ãŒãå¶éãããå Žåã«åããŠãã¢ãã¬ã¹ãæå®ããŸãã
ã·ãªã¢ã«ã³ã³ãœãŒã«ã§ESP32ã¢ãã åºåA
ããŒã¿åãåºãåŽ
Mac ã¢ããªã OpenHaystack ã«åºã¥ããŠãããAppleMail ãã©ã°ã€ã³ã§åãããªãã¯ã䜿çšããŠãé©åã«èªèšŒãããäœçœ®ååŸãªã¯ãšã¹ãã Apple ããã¯ãšã³ãã«éä¿¡ããŸãããŠãŒã¶ãŒã¯ 4 ãã€ãã®ã¢ãã ID (ESP ãã¡ãŒã ãŠã§ã¢äžã«èšå®ã§ããŸã) ãå ¥åããããã«æ±ããããŸãããã®åŸãã¢ããªã±ãŒã·ã§ã³ã¯ ID 0 ã®ã¡ãã»ãŒãžãèªåçã«éžæããã³ãŒãã衚瀺ããŸãããã®åŸããŠãŒã¶ãŒã¯ä»ã®ã¡ãã»ãŒãžãéžæããããã¢ãã ã倿Žã§ããŸãã .
ã¡ãã»ãŒãžã¯ã(ãã€ãå šäœã®) ã¬ããŒãããªããªããŸã§ãäžåºŠã« 16 ãã€ã (128 ããã) ãã§ãããããŸã (256 åã®ã㌠ID ãèŠæ±ãããŸã)ã
ãã€ããŒãªåé¡: å ¬ééµã®æå¹æé
éä¿¡åŽãšåä¿¡åŽã®äž¡æ¹ãå®è£ ããåŸããããŒããã£ã¹ãã㊠32 ãããå€ãååŸããããšããæåã®ãã¹ããå®è¡ããŸãããæ°ååŸã32 ãããã®ãã¡ 23 ããããååŸã§ããŸããããããããééããªãæ£ãããçŽ 100 ã®äœçœ®ã¬ããŒããå«ãŸããŠããŸãããæ®ãã® 9 ãããã«ã€ããŠã¯ãã®ãããªã¬ããŒãã¯ååŸã§ããŸããã§ããã
çæãããå ¬ééµã®äžéšããECIES æå·åãã§ãŒãºäžã«è¿ãã® Apple ããã€ã¹ã«ãã£ãŠç¡å¹ãªå ¬ééµãšããŠæåŠãããçãããããŸãã Python fastecdsa ããã±ãŒãž: ãã±ãŒã·ã§ã³ ã¬ããŒãããªããããããšã«ããã€ã¯ãã³ã³ãããŒã©ã¯å ¬éããŒããããŒããã£ã¹ãããfastecdsa ããŒãã€ã³ããŒããããšãã« InvalidSEC1PublicKey äŸå€ãã¹ããŒããŸããã
ããã§äœ¿çšãããæå·åã®ã³ã³ããã¹ã:
- 28 ãã€ãã® EC ãããªãã¯ã¯ãSEC1 ã§ãšã³ã³ãŒããããç¹å®ã®ç¹ã® X 座æšã衚ããŸãã
- SEC1 å ¬ééµã«ã¯ãéåžžãæå®ããã X 座æšã«å¯ŸããŠå¯èœãª 2 ã€ã® Y 座æšã®ã©ã¡ãããšã³ã³ãŒãããããæ±ºå®ããã笊å·ããããããããŸãããã®ãããã¯ãããŒããã£ã¹ãäžã«ã¯éä¿¡ããããå ¬ééµã®æå¹æéã«ã¯éèŠã§ã¯ãããŸããã
- å§çž®ãããå ¬ééµããã³ãŒããããšãã察å¿ãã Y 座æšã¯åºå®æ²ç·ãã©ã¡ãŒã¿ã䜿çšããŠèšç®ãããéµãæå¹ãã©ãããæ€èšŒãããŸããçæãããå ¬ééµã®äžéšã¯ããã®ãã¹ãã«å€±æããŸãã詳现ã«ã€ããŠã¯ãèšäºãæ¥åæ²ç·äžã®å ¬ééµã®æ€èšŒãã®ã»ã¯ã·ã§ã³ 3.2.2 ãåç §ããŠãã ããã
ãã®ç¡å¹ãªå ¬ééµã®åé¡ã¯ãå°ãªããšã 2 ã€ã®æ¹æ³ã§è§£æ±ºã§ããŸãã
2 çªç®ã®ãªãã·ã§ã³ã®å©ç¹ã¯ãåä¿¡ãããããããšã«äœçœ®ã¬ããŒãã埩å·åããŠãç¹å®ã®ããããåä¿¡ããããã€ã³ããç¹å®ã§ããããšã§ãããããã«ã¯ããå°ãèšç®åŠçãå¿ èŠã§ãããã®ãªãã·ã§ã³ãå®è£ ããŠãããšãã« ãããã«äœ¿çšããã uECC ã©ã€ãã©ãªã§ã®æ¥åæ²ç·ä¹ç®ã®å®è£ ã®ãã°ã«ãã ãäžéšã®ç§å¯éµã«ã€ããŠãESP ã Mac ã® BoringSSL ããã³ Python ã® fastecdsa ãšã¯ç°ãªãå ¬ééµãèšç®ããããšãããããŸãã (å·®åãã¡ãžã³ã°ã誀ã£ãŠå¿ã³èŸŒã¿ãŸããã? )ããããã®å ¬ééµã¯ãuECC èªèº«ã® uECC_valid_public_key () 颿°ã«ãã£ãŠãç¡å¹ãšèŠãªãããŠããŸããããããã£ãŠããã®ãã€ããã ãããžã§ã¯ãã§ã¯ããªãã·ã§ã³ 1 ã«èœã¡çããŸããã
ãšã³ã³ãŒã//ãšã³ã³ãŒããããã¡ãã»ãŒãžãžã®ã¡ãã»ãŒãžã¯ã
ãšã³ã³ãŒãã«å ¬ééµãçæ//ãšã³ã³ãŒãã«å ¬ééµãçæ
BT MACã¢ãã¬ã¹// BT MACã¢ãã¬ã¹
ãã¹ãåŠ¥åœæ§ãä»ã®ã€ã³ã¯ãªã¡ã³ãã«ãŠã³ã¿//ããŒãæå¹ã§ãããã©ããããã§ãã¯ããããã§ãªãå Žåãã«ãã£ãŠã«ãŠã³ã¿ãå¢å ããŸã1 ã€ã®
åºåãã€ããŒã // ãã¬ãŒã³ããŒã·ã§ã³ã®ãã€ããŒã
ã¡ãã»ãŒãžã®ãšã³ã³ãŒããšéä¿¡
詊éšã»æ§èœ
å ¬ééµã®æ€èšŒãã§ãã¯ãå®è£ ãããšããã¹ãŠãåé¡ãªãæ©èœããŸããå€§èŠæš¡ãªããã©ãŒãã³ã¹ ãã¹ããæž¬å®ã¯è¡ã£ãŠããŸããããããã€ãã®æšå®å€ã次ã«ç€ºããŸãã
- ~3 . ,
- - Mac. 16 ~5
- 1 60 , , , . . , , , , ( , Apple)
CDF // 环ç©ååžé¢æ°
äžå€®å€âŠ å // äžå€®å€âŠ 26.3 å
å ¬éé å»¶ (å) // å ¬éãŸã§ã®é å»¶ (å)
å³ 8. §7.1 ã§çޝç©ååžé¢æ°ãšèŠãªããããã¹ãŠã®ã¬ããŒãã®åä¿¡ã®
é å»¶ ãã«ã ã·ã¥ã¿ããå·¥ç§å€§åŠã®ããŒã ã«ãã£ãŠæž¬å®ããããã誰ãç§ã®ããã€ã¹ãèŠã€ããããšãã§ããŸãã?ããšããè³æã«åºã¥ããŠæž¬å®ããã¬ããŒãã®åä¿¡ã®é å»¶ ã
æœåšçãªçšé
ç§ã¯äž»ã«ç§ã説æãããã®ã®å®çŸå¯èœæ§ããã§ãã¯ããããšã«èå³ããããŸããããããããæãäžè¬çãªå®çšçãªã¢ããªã±ãŒã·ã§ã³ã¯ããããŒããã³ã ã¢ãã ãSIM ã«ãŒããããŒã¿ ãã©ã³ããŸã㯠Wi-Fi æ¥ç¶ãªãã§ãã»ã³ãµãŒèªã¿åãå€ãŸãã¯IoT ããã€ã¹ãã ããŒã¿ãããŠã³ããŒãããããšã ãšæããŸã ã AmazonãEchoããã€ã¹ã䜿çšããŠSidewalkãšåŒã°ããåæ§ã®ãããã¯ãŒã¯ã䜿çšããŠããããšãèãã ãšã ãã®ãããªæè¡ã«å¯ŸããéèŠããããããããŸããããµãŒãã£ãŒã®ãã£ãã·ã¥ã¯åä¿¡ãããããŒããã£ã¹ããèç©ããã€ã³ã¿ãŒãããæ¥ç¶ã確ç«ããããŸã§ããã«ãããããããã€ã¹ãæã£ã人ããã®ãããªå Žæãæ©ããŠããã°ãã»ã³ãµãŒã¯ã¢ãã€ã« ãããã¯ãŒã¯ã®å°éç¯å²å€ã®ãšãªã¢ããã§ãããŒã¿ãéä¿¡ã§ããŸãã ã¬ãŒã¶ãŒãšã¹ãã£ããŒãçµã¿åãããæè¡ã ãšã¢ã®ã£ãããåããããã®ææãªããªãã¯ã§ããããã«èŠãã é«åºŠãªã»ãã¥ãªã㣠ãããã¯ãŒã¯ã®
äžç ã§ã¯ã蚪åè ãæã£ãŠãã Apple ããã€ã¹ã¯ããšã¢ã®ã£ãã ã·ã¹ãã ãã ããŒã¿ãçãããã®å®è¡å¯èœãªä»²ä»è ãšããŠæ©èœããããšãã§ã ãŸãããŸãã¯ãã¡ã©ããŒã±ãŒãžã§ä¿è·ãããéšå±ã
ãŸãããªãã©ã€ã³æ€åºãããã³ã«ã䜿çšããŠãç¡å¶éã®é¢çšã«æ¥ç¶ãããŠããè¿ãã® iPhone ã®ãã©ãã£ãã¯ãæµåºãããå¯èœæ§ããããã ã§ãã1 人ã®ã·ãŒã«ãŒããéä¿¡ã§ããäœçœ®ã¬ããŒãã®æ°ãå¶éã (ã«ãŠã³ã ãã€ãã 1 ã§ããããã255 ã®ã¬ããŒã/éä¿¡)ãåã¬ããŒãã 100 ãã€ããè¶ ããããã倿°ã®äžæã®å ¬ééµããããŒããã£ã¹ããããšãéä¿¡ãã©ãã£ãã¯ãå€§å¹ ã«å¢å ããå¯èœæ§ããããŸããã¹ããŒããã©ã³ããããã±ãŒã·ã§ã³ ã¬ããŒãã®éä¿¡é »åºŠã®å¶éã«ã¯æ°ä»ããŸããã§ããããæ¶è²»ã§ããããŒã¿éã®ãã¹ããè¡ããŸããã§ããã
åé¡ã解決ããæ¹æ³
æåã«è¿°ã¹ãããã«ãããããããããšãéžæããå ŽåãApple ããã®çš®ã®æªçšã«å¯ŸããŠé²åŸ¡ããããšã¯å°é£ã§ãã
Apple ã¯ãããŒã¿çµæžã念é ã«çœ®ããŠã·ã¹ãã ãèšèšããŸãããæå·åãããŠããªãå Žæãèªã¿åãããšã¯ã§ãããAirTag ã«å±ããå ¬ééµããç¹å®ã®æå·åãããå Žæã¬ããŒããé¢é£ä»ããããŠããå ¬ééµãããããããŸãã (å ¬ééµã® SHA256 ããã·ã¥ã®ã¿ãåãåããã)ã
ããã«ç §ãããŠãApple ID ã® AirTags ã®äžéã 16 ã«èŠå®ãããŠããããšã¯è峿·±ãããšã§ãããªããªããçŸæç¹ã§ã¯ Apple ã¯ããã䜿çšãã矩åãè² ãããšãã§ããªãããã«æãããããã§ãã
ãã ããããšãã°æ¬¡ã® 2 ã€ã®é åã§ã¯ããã®ã·ã¹ãã ãããã«åŒ·åããããšãã§ããŸãã
- BLE. , , AirTag OpenHaystack, AirTag . , , , BLE , , AirTag , , .
- Apple , id id AirTag, id , 15 16 id Apple ID ( id ). , , : Apple ID .
ãã®èšäºã§ã¯ãä»ã®ãŠãŒã¶ãŒãææãã Apple ããã€ã¹ã䜿çšããŠä»»æã®ããŒã¿ãããŠã³ããŒãã§ãããã©ãããšãã質åã«çããŸããã
ESP32 ã¢ãã ã®ãã¡ãŒã ãŠã§ã¢ãš macOS çšã®ããŒã¿ãæœåºããããã®ã¢ããªã±ãŒã·ã§ã³ãå®è£ ãããŠããã Githubã«æçš¿ãããŠããã®ã§ã詊ãããšãã§ããŸãã
ãã®å®è£ ã¯åãªããå®çŸå¯èœæ§ã®èšŒæãã§ãããããããã³ã«ãèªäœã¯æå·åãèªèšŒããããŠããªãããšã«æ³šæããŠãã ãããããšãã°ãID 0x42424242 ã®ã¢ãã ã®è©³çްã¯ããã® ID ãå ¥åããã ãã§èª¿ã¹ãããšãã§ããŸã (ããããããã®ãããã³ã«ã«ã¯èªèšŒããªãããšã蚌æã§ãã人ãããã§ããã)ã
æåŸã« 1 ã€æ³šæããŠãã ããããã®æçš¿ãæºåããŠãããšãã«ãBLE ãã¥ãŒã«å«ãŸãããã¹ããŒã¿ã¹ ãã€ããããããšãã°ããããªãŒ ã¬ãã« ã€ã³ãžã±ãŒã¿ãŒãšããŠæããã«äœ¿çšãããŠããããšã«æ°ä»ããŸãããããŒããŒã·ã§ã³ãããæ±ºå®è«çã«çæãããç§å¯éµãšçµã¿åããããšãããããå¥ã®ããŒã¿æŒæŽ©ããŒã« (ãã¥ãŒãããã®ãã€ãæ°) ãéãå¯èœæ§ããããŸããããã®ã¢ãããŒãã¯ãã¹ãããŠããŸããã
Macleod ã®ã¯ã©ãŠã ãµãŒã㌠ã¯é«éã§å®å šã§ãã
äžèšã®ãªã³ã¯ã䜿çšãããããããŒãã¯ãªãã¯ããŠç»é²ãããšãä»»æã®æ§æã®ãµãŒããŒãã¬ã³ã¿ã«ããæåã® 1 ãæéã 10% å²åŒã«ãªããŸãã