
ãã®æãã³ã³ãã¯ããªç¡ç·ã¢ãžã¥ãŒã«ïŒä»¥äžããã©ã³ã¹ãã³ããŒãšåŒã³ãŸãïŒãäœæãããšããã¢ã€ãã¢ãæµ®ãã³ãŸãããããã¯ãè»ã®ã€ã°ããã·ã§ã³ããŒã«çŽæ¥çµã¿èŸŒãŸããŸããã è»ã«ã¯ãã€ã¢ãã©ã€ã¶ãŒãèšçœ®ãããç¡ç·ãã£ãã«ãä»ããŠãã©ã³ã¹ãã³ããŒãšéä¿¡ããŸããã ã€ã¢ãã©ã€ã¶ãŒã¯ãã©ã³ã¹ãã³ããŒã«ãªã¯ãšã¹ããéä¿¡ãããã©ã³ã¹ãã³ããŒã¯ç¹å®ã®ã³ãŒãã§å¿çããŸãããããããªãã§ã¯ã€ã¢ãã©ã€ã¶ãŒã¯ãšã³ãžã³ã®å§åãèš±å¯ããŸããã§ããã ãã ããæåã¯ãã©ã³ã¹ãã³ããŒã¯ãŸã ããªãåå§çã§ãããã€ã¹ãæ¯èŒçç°¡åã«è€è£œã§ããŸããã 亀æã¢ã«ãŽãªãºã ãç解ãããã©ã³ã¹ãã³ãã®å¿çãã·ãã¥ã¬ãŒãããã«ã¯ãè©ã«ã©ãžãªã€ã³ã¿ãŒã»ãã¿ãŒãšã©ã€ãããããããã°ååã§ãã ã€ã¢ãã©ã€ã¶ãŒãšãã©ã³ã¹ãã³ããŒéã®éä¿¡ã¢ã«ãŽãªãºã ã®æ ¹æ¬çãªå€æŽãå¿ èŠã§ããã
ä»æ¥ã¯ããããã®ã¢ã«ãŽãªãºã ã®ããããã®åºçŸãšãã®åŸã®ãããã³ã°ã®æŽå²ãããã³ç§å¯æå·åããŒã®ãã«ãŒããã©ãŒã¹ããã»ã¹ã®å®éã®è©³çŽ°ã«ã€ããŠèª¬æããŸãã
ããã«ãå¿ èŠã«å¿ããŠè©³çŽ°ã«èª¿ã¹ãããšãã§ããããã«ããã¹ãŠã®åçãã¯ãªãã¯ã§ããŸãã
ããŒã1ïŒãã€ãã£ãã¢ã¡ãªã«ã³ãžã§ãŒ
ãã®ãããéèŠã¯äŸçµŠãçã¿åºããŸããããŒã¿ãç¡ç·ã§éä¿¡ããããã»ã¹ã§æå·åã䜿çšããã·ã¹ãã ãåŸã ã«åžå Žã«ç»å Žãå§ããŸããã å®éããããã®ã·ã¹ãã ã¯ãéµã®ææè ãã¯ã€ã€ã¬ã¹ã§èå¥ããããã»ã¹ãå®è¡ããŸããã åæã«ããã©ã³ã¹ãã³ããŒã«ä¿åãããç§å¯éµã¯ã©ã®ãããªåœ¢åŒã§ããããŒããã£ã¹ããããŸããã§ããããã€ã¢ãã©ã€ã¶ãŒããåä¿¡ããèŠæ±ã®æå·åã眲åãã«äœ¿çšãããŸããã ãããã®ã·ã¹ãã ã®1ã€ã¯ããããµã¹ã€ã³ã¹ãã«ã¡ã³ãã®ãšã³ãžãã¢ã«ãã£ãŠéçºãããŸããã 圌ããéçºãããã©ã³ã¹ãã³ããŒã¯ã ããžã¿ã«çœ²åãã©ã³ã¹ãã³ã㌠ïŒDSTãšç¥ãããŸãïŒãšåŒã°ããŠããŸããã

ãã©ã³ã¹ãã³ããŒã¯ã次ã®äž»èŠã³ã³ããŒãã³ãã§æ§æãããŠããŸãã

- ã¢ã³ããããã³ãã©ã³ã·ãŒããŒïŒä»¥éããã©ã³ã·ãŒããŒãšåŒã³ãŸãïŒïŒãã©ã³ã¹ãã³ããŒã«é»åãäŸçµŠããç¡ç·ãã£ãã«ãä»ããŠåºå°å±ãšéä¿¡ããããã«èšèšãããŠããŸãã
- æå·åã¹ããŒã ïŒåºå°å±ããåä¿¡ãããªã¯ãšã¹ããããã·ã¥ããããã«èšèšãããŠããŸãã
- äžæ®çºæ§ã®æžãæãå¯èœãªã¡ã¢ãªïŒæå·åããŒãšããã€ãã®è¿œå ãã©ã¡ãŒã¿ãŒïŒãã©ã³ã¹ãã³ããŒã®ã·ãªã¢ã«çªå·ãã¡ãŒã«ãŒIDãªã©ïŒãä¿åããããã«èšèšãããŠããŸãã
ãã©ã³ã¹ãã³ããŒã¯ãããã°ã©ããŒã«çŽæ¥æ¥ç¶ããããšãªããç¡ç·ã§ããã°ã©ã ãããŸãã ã»ãšãã©ãã¹ãŠã®æ å ±ãäžæžãã§ããŸãããæžã蟌ã¿ä¿è·ããããèšå®ãããŠããªãå Žåã®ã¿ã§ãã èšé²ããããã©ã³ã¹ãã³ããŒã¯ãè¿œå ã®ããã€ã¹ã䜿çšããã«ããŒã¹ã¹ããŒã·ã§ã³ã«ç°¡åã«ãªã³ã¯ã§ããŸãïŒåææ¡ä»¶ã¯ããã©ã³ã¹ãã³ããŒãšããŒã¹ã¹ããŒã·ã§ã³ã®ã¡ãŒã«ãŒIDã®äžèŽã§ãïŒã
ã¯ã€ã€ã¬ã¹èªèšŒã·ã¹ãã å šäœã®ã¢ã«ãŽãªãºã ã¯æ¬¡ã®ãšããã§ãã

- åºå°å±ã¯ãåºå°å±ãã©ã³ã·ãŒããŒã®ã«ãã¬ããžãšãªã¢ã«ãããã©ã³ã¹ãã³ããŒã®é»ååè·¯å šäœã«é»åãäŸçµŠããã®ã«ååãªé»åãšæéã®ç¡å€èª¿ç¡ç·ä¿¡å·ãéä¿¡ããŸãã
- åºå°å±ã¯ãä¹±æ°çºçåšã䜿çšããŠã40ãããã®èŠæ±ãçæãããããä¿åããç¡ç·ä¿¡å·ã®æ¯å¹ å€èª¿ã䜿çšããŠãããŒããã£ã¹ãããŸãã
- ãã©ã³ã·ãŒããŒã¯ãã°ããã®éãå€èª¿ãããŠããªãç¡ç·ä¿¡å·ãçºä¿¡ããŸãããã®ããããã©ã³ã¹ãã³ããŒã¯èšç®æäœãå®è¡ããã®ã«ååãªé»åãæã£ãŠããŸãã
- åºå°å±ããèŠæ±ãåä¿¡ãããšããã©ã³ã¹ãã³ãã¯ãäžæ®çºæ§ã¡ã¢ãªã«ä¿åãããŠãã40ãããæå·åããŒã䜿çšããŠDST40ã¢ã«ãŽãªãºã ã«åŸã£ãŠããã·ã¥ãå®è¡ããŸããçµæã¯ããããã眲åãã§ãã
- ãã©ã³ã¹ãã³ããŒã¯ãããžã¿ã«çœ²åãšãµãŒãã¹æ å ±ãåºå°å±ã«éä¿¡ããŸãã
- åºå°å±ã¯ãæ ŒçŽãããŠããã®ãšåãæå·åããŒã䜿çšããŠãã©ã³ã¹ãã³ããŒã«éä¿¡ãããèŠæ±ãããã·ã¥ããŸããçµæããã©ã³ã¹ãã³ããŒããåä¿¡ããçµæãšäžèŽããå ŽåãèªèšŒã¯æåãããšèŠãªãããŸãã ãã®ããŒã¹ã¹ããŒã·ã§ã³ãè»ã®ã€ã¢ãã©ã€ã¶ãŒãšããŠäœ¿çšãããŠããå ŽåãèªèšŒã«æåãããšããšã³ãžã³ãèµ·åããèš±å¯ãè»ã®äžå€®ã³ã³ãã¥ãŒã¿ãŒã«éä¿¡ããŸãã
éçºãšã³ãžãã¢ã®èæ ®äºé ãäœã«åºã¥ããŠããã®ãã¯æ確ã§ã¯ãããŸããããäºå®ã¯æ®ã£ãŠããŸãïŒããã·ã¥ããã»ã¹ã§äœ¿çšãããæå·åããŒã®é·ãã¯ããã40ãããã§ãïŒããããã¢ã«ãŽãªãºã ãDST40ãšåŒã°ããçç±ã§ãïŒã ææ°ã®èŠ³ç¹ããèŠããšããã®ãããªæå·åããŒã®é·ãã¯ãå°ãªããšãããçšåºŠã®ã»ãã¥ãªãã£ã確ä¿ããã«ã¯å®å šã«äžååã§ãã ããããåœæãéçºãšã³ãžãã¢ã¯ããã¯æããªãã£ãããã§ãã ããã«ãDST40ã¢ã«ãŽãªãºã ã¯å®å šã«ç¬èªä»æ§ã§ãããæãå³æ Œãªéé瀺ãµãã¹ã¯ãªãã·ã§ã³ã®äžã§ã®ã¿ã¡ãŒã«ãŒã«é瀺ãããŸãã
é·ãéãã¢ã«ãŽãªãºã ã¯éåããªãã£ããããå°æ¥ããã©ã³ã¹ãã³ããŒã®å®å šæ§ã«å¯Ÿããã¡ãŒã«ãŒã®ä¿¡é Œã¯ããã«é«ãŸããŸããã
ãã®çµæãDST40ãã©ã³ã¹ãã³ããŒã¯éåžžã«äººæ°ããããŸãã ãããã¯ãå€ãã®å€§æèªåè»äŒç€ŸïŒããšãã°ãããšã¿ããã©ãŒãããªã³ã«ãŒã³ãæ¥ç£ãªã©ïŒã«æ¡çšãããŸããã ã€ã¢ãã©ã€ã¶ãŒãDST40ãã©ã³ã¹ãã³ããŒã䜿çšããäœçŸäžå°ãã®è»ããç±³åœåžå Žã ãã§ãªããç±³åœããè»ãç©æ¥µçã«èŒžå ¥ããŠããä»ã®åœã®åžå Žã«ãåŸã ã«æ®ºå°ããŸããã ããã«ããããã®ãã©ã³ã¹ãã³ããŒã¯ã ç±³åœã®ããŸããŸãªãã¡ãŒã¹ãããŒããã¹ãŒããŒããŒã±ãããã¬ã¹ãã©ã³ãã¬ãœãªã³ã¹ã¿ã³ããæ¥éã«ç²åŸããŠããSpeedPasséæ¥è§Šå決æžã·ã¹ãã ã§ã䜿çšããå§ããŸããã
ããŒã2ïŒãããŠé·ã襲ããŸããïŒ
誰ãããã€ã³ãã®ãžã§ãŒã誰ã圌ãå¿ èŠãšããªãç¬éãŸã§ãšããã©ããã®ãªããŸãŸã§ããããšãé·ãéç¥ã£ãŠããŸããã ãããã£ãŠããã®ã¹ããŒãªãŒã§ã¯ãDST40ã¢ã«ãŽãªãºã ã¯ãè¥ããŠå æ°ãªäººãã¡ããããåãäžãããŸã§éåããããšã¯ãããŸããã§ããã

å®éããã®äŒè°ã«ã¯æå·åã®å°é家ããžã§ã³ãºãããã³ã¹å€§åŠæ å ±ã»ãã¥ãªãã£å€§åŠïŒç±³åœïŒã®ææã§ããAviel D. RubinææãåºåžããŸããã ã¢ã«ãŽãªãºã ã®äžè¬çãªã¹ããŒã ãäžç®èŠãã ãã§ãæ·±å»ãªã»ãã¥ãªãã£ããŒã«ãèŠã€ããããšãã§ããŸããã ããã¯ãã®å³ãã©ã®ããã«èŠãããã§ãïŒ
ã¹ããŒã ã¯éåžžã«äžè¬çã§ãããå€ãã®åŸ®åŠãªè©³çŽ°ãæ¬ ããŠãããšããäºå®ã«ãããããããçµéšè±å¯ãªæå·äœæè ã®èšç·Žãããç®ã¯ããã«ããã€ãã®è匱æ§ã«æ°ã¥ããŸããïŒãŸããæå·åããŒãšãªã¯ãšã¹ã/ã¬ã¹ãã³ã¹ã¬ãžã¹ã¿ãåã¯ããã¯ãµã€ã¯ã«ã§æå°éã®ä¿®æ£ãåããããšã»ãã®å°ãã§ã 第äºã«ããŒãã®ã¿ã§æ§æãããã匱ããæå·åããŒãããããšã¯æããã§ãã-ããã·ã¥åŠçäžãæåŸãŸã§ãŒãã®ãŸãŸã«ãªããŸãã ããã«ããããã©ã³ã¹ãã³ããŒã®å éšæ§é ãæããã«ã§ããããŸããŸãªæå·è§£æå®éšãè¡ãå¯èœæ§ãéãããŸããã ãããŠç¬¬äžã«ãããŒã®é·ãã¯ããã40ãããã§ããã2004幎ã®èŠæ Œã§ã¯ãããŒããŠã§ã¢ã䜿çšããŠå®è¡ããããã«ãŒããã©ãŒã¹ã«èããã«ã¯å®å šã«äžååã§ããã

次ã®ã¹ãããã¯ãTIã·ãªãŒãº2000éçºããã-Texas Instrumentsã®LF RFIDã®è²·åã§ããã ãã®ã»ããã«ã¯ããã©ã³ã¹ãã³ããŒããã³ããã€ãã®ãã©ã³ã¹ãã³ããŒãšéä¿¡ããããã®ãã©ã³ã·ãŒããŒãå«ãŸããŠããŸããããDST40ã¢ã«ãŽãªãºã ã䜿çšããŠæå·åãå®è¡ããªãã£ãããããããã¯ãŸã£ãã圹ã«ç«ã¡ãŸããã§ããã ãã®ãããé£äžã¯ãã©ã³ã¹ãã³ããŒãåå¥ã«å ¥æããå¿ èŠããããŸããã
ã¡ãªã¿ã«ããã®éçºãããã«ã¯ãDST40ã¢ã«ãŽãªãºã ã䜿çšããæå·åãå¯èœã«ãããœãããŠã§ã¢ãå«ãŸããŠããŸããã ãããã圌ãã¯åŸã«USENIXã·ã³ããžãŠã ã«åºåžããå šå¡ãä¿èšŒããããšãèªã£ããããã©ã€ã»ã³ã¹å¥çŽã§çŠæ¢ãããŠããããããããã©ã€ãšã¿ãªã¢ã«ãŽãªãºã ã®æããããã³ã¯è²ã®ããã£ã«å°éããããã«ããã°ã©ã ã³ãŒããå解ããã³ãããã°ããŸããã§ããã
代ããã«ã圌ãã¯ãããã³ã°ã«ãäºæž¬ããŸãã¯ããã©ãã¯ããã¯ã¹ãæ¹åŒã䜿çšããããšã«ããŸããã ç°¡åã«èšãã°ã圌ãã¯ããŸããŸãªå®éšãè¡ããç°ãªãæå·åããŒããã©ã³ã¹ãã³ããŒã«æžã蟌ã¿ãç°ãªãèŠæ±ãéä¿¡ãããããããåŸãããããã·ã¥çµæã調æ»ãå§ããŸããã
Kaiserã¹ããŒã ãããæå·åã¹ããŒã ã®åºç€ã¯ãåºå®ççå€è¡šãæã€è«çèŠçŽ äžã®ä»ã®æå·åã¢ã«ãŽãªãºã ã§åºã䜿çšãããŠããFeistelãããã¯ãŒã¯ã§ããããšãããããŸããã ã¢ã«ãŽãªãºã ãå®å šã«è§£èªããã«ã¯ã3ã€ã®åé¡ã解決ããå¿ èŠããããŸããã
- ã«ã€ã¶ãŒã¹ããŒã ãæ£ãããã©ããã確èªããŸãã
- ããŒã¬ãžã¹ã¿ã®åãããããã®ä¿¡å·ã®é ç·ãšè«çèŠçŽ ãžã®èŠæ±ã決å®ããŸãã
- ãã¹ãŠã®è«çèŠçŽ ã®ççå€è¡šãèšç®ããŸãã
å®æœãããŠããå®éšã®è©³çŽ°ã«ã¯è§ŠããŸããã2005幎ã«ãã«ãã¢ã¢ã§éå¬ããã第14åUSENIXã»ãã¥ãªãã£ã·ã³ããžãŠã ã§äžè¬å ¬éããããã®ããã¥ã¡ã³ã㧠ãèå³ã®ãã人ã¯èª°ã§ããã®ããã¥ã¡ã³ããèŠãããšãã§ããŸãã
ãã®çµæã3人ãåé¡ããã¹ãŠè§£æ±ºããDST40æå·åã¢ãžã¥ãŒã«ã«å«ãŸããæ©èœãããã¯ã®å®å šãªæ¥ç¶å³ïŒãããã®ãããã¯ã®ççå€è¡šãå«ãïŒã埩å ã§ãããšèšããŸãã ããã«ãå®éã®æ©èœã¹ããŒã ã¯ãã«ã€ã¶ãŒã¹ããŒã ãšå®å šã«äžèŽããŠããªãããšãå€æããããšã«æ³šæããŠãã ããã ããã€ãã®éãããããŸããã
- ããã·ã¥ã®éå§åŸã400ã§ã¯ãªã200ã¯ããã¯ãã«ã¹ãã¹ããŒã ã«äŸçµŠãããŸãã
- åã¡ãžã£ãŒã®èŠæ±ã¬ãžã¹ã¿ãŒã¯ã1ãããã§ã¯ãªãã2ããããã€ã·ãããããŸãã
- Kaiserã¹ããŒã ãF21ãã«ç€ºãããŠããè«çèŠçŽ ã«ã¯ã1ã€ã§ã¯ãªãã2ã€ã®åºåããããŸããããã¯ãèŠæ±ã¬ãžã¹ã¿ã®å·Šç«¯ïŒã¹ããŒã ã«ããïŒ2ãããã«å ¥ãåã«ãåãã¬ãžã¹ã¿ã®å³2ããããšXORã§ãã
- æå·åããŒã®æ¬¡ã®å·Šã®ïŒã¹ããŒã ã«å¿ããïŒããããèšç®ããããã«ãã¹ããŒã ã«è¡šç€ºãããŠããééã£ããããã䜿çšãããŸãã
ãŸããæå·åããŒãå€æŽããããã®ã¢ã«ãŽãªãºã ãèŠã€ããããšãã§ããŸãããããŒã¯ã2çªç®ãã3çªç®ã®æž¬å®ããšã«å€æŽãããŸãã
ããã ãã§ãªããçµæã®ããã·ã¥ã¯ãã©ã³ã¹ãã³ããŒã«ãã£ãŠãšãŒãã«ã«éä¿¡ãããªãããšãå€æããŸããã40ããããã¹ãŠã§ã¯ãªãããã®ãã¡ã®24ãããã ãã§ãã ãã®çµæãæå·åããŒã®ãã¹ãŠã®å¯èœãªçµã¿åãããããã«åæããéã«ãå€æ°ã®èª€ã£ãçµæã衚瀺ãããŸãã ãã ããããã¯ããã»ã©å€§ããªåé¡ã«ã¯ãªããŸããã§ããã次ã®ããŒãå床確èªããã®ã«ååã§ããããç°ãªããªã¯ãšã¹ã/ã¬ã¹ãã³ã¹ã®ãã¢ã䜿çšããŸããã 2çªç®ã®ãã§ãã¯ã§ãäžèŽããå ŽåãããŒã¯èŠã€ãã£ããšèŠãªãããŸãã

æåã®å®éšãŠãµã®ã¯ããŸãã«ãã®ãããªãã©ã³ã¹ãã³ããŒãåãã2005幎ã®Ford Escape SUVè»ã®ç¹ç«ããŒã§ããã éçºè ã®ãããã䜿çšããŠã2ã€ã®ã©ã³ãã ãªèŠæ±ãããŒã«éä¿¡ããã2ã€ã®å¯Ÿå¿ããå¿çãåä¿¡ãããŸããã ãããã®2çµã®èŠæ±/å¿çã¯ãæ€çŽ¢ãéå§ããåã«ãã«ãŒããã©ãŒã¹åŒ·å¶ã«éä¿¡ããããœãŒã¹ããŒã¿ã«ãªããŸããã æ€çŽ¢ã®éå§ãã1æé以å ã«ãç§å¯éµãæ£åžžã«èŠã€ãããŸããã

以äžã®ãããªã§ã¯ãAdamãšMatthewãã·ãã¥ã¬ãŒã¿ã䜿çšããŠãšã³ãžã³ãèµ·åããããã»ã¹ã瀺ããŠããŸãã
次ã«ããã®ã·ãã¥ã¬ãŒã¿ã䜿çšããŠãSpeedPassæ¯æãã·ã¹ãã ãåããã¬ãœãªã³ã¹ã¿ã³ãã§ã¬ãœãªã³ãè³Œå ¥ããŸããã
ããããã¹ãŠã®å®éšãæ£åžžã«å®äºããåŸãåãåã£ãæ å ±ãå ¬éããããšã決å®ãããŸããã åœæãEvieã¯USENIXåäŒã®çäºäŒã®ã¡ã³ããŒã§ããããããã£ãŠã次ã®USENIXã»ãã¥ãªãã£ã·ã³ããžãŠã ã§ã®ãã®æ å ±ã®å ¬éã¯è«ççãªæ±ºå®ã«ãªããŸããã
ããããæ¯æãã·ã¹ãã ã®æ¥éãªåŽ©å£ãé²ããæ³¥æ£ã«ã€ã¢ãã©ã€ã¶ãŒã«ç°¡åã«äŸµå ¥ããããã®ããŒã«ãæäŸããªãããã«ã圌ãã¯ãã¹ãŠã®æ å ±ãå ¬éããŸããã§ããã ããšãã°ãæçµçãªããã·ã¥é¢æ°å³ã¯å ¬éãããŠããŸããã 圌ãã圌ãã®èšèã®ä¿¡ofæ§ã®ç¢ºèªãšããŠæäŸããå¯äžã®ãã®ã¯ãããŒããã·ã¥ã¢ã«ãŽãªãºã ãšFeistelãããã¯ãŒã¯ãæ§æããæ©èœèŠçŽ ã®ççå€è¡šãèšè¿°ããå ¬åŒã§ãã ããã¯ããããµã¹ã€ã³ã¹ãã«ã¡ã³ãã®ãšã³ãžãã¢ãDST40ã¢ã«ãŽãªãºã ã®å®å šãªå€±æãå®çŸããã®ã«ååãªãã®ã§ããã
ããŒã3ïŒããããããããå©çãåŸãããšãã§ããŸããïŒ
2009幎ã§ããã 匷ããå¢ããŠããå±æ©ã®æ³¢ã¯ã倧声ã§å°çã«æ²¿ã£ãŠè»¢ãã£ãŠããŸããã ã¹ãã£ãŒããšãžã§ã³ãšãã2人ã®äººã ã¯ãçžå¯Ÿçã«åå ¥ã皌ãããã®éžæè¢ãç©æ¥µçã«æ¢ããŠããŸããã DST40ãã©ã³ã¹ãã³ããŒããããã³ã°ããããšã«ã€ããŠã®ã»ã³ã»ãŒã·ã§ãã«ãªç©èªã¯ã圌ãã«ããã§å°ããéã皌ãããšãã§ãããšèããããã«ä¿ããŸããã ã¢ã€ãã¢ã¯ãåæ§ã®ã€ã¢ãã©ã€ã¶ãŒãè£ åããè»ã®ææè ã«ãªã¢ãŒããšã³ãžã³ã¹ã¿ãŒãã·ã¹ãã ã®ã€ã³ã¹ããŒã«ãæäŸããããšã§ããã åœæãåæ§ã®ã·ã¹ãã ããã§ã«ååšããŠããŸãããããããã®ãã¹ãŠã1å°ã®è»ã®ããŒãç ç²ã«ããå¿ èŠããããŸãããããã¯ãªã¢ãŒãã¹ã¿ãŒãããã€ã¹ã®ããè¿ãã®ãã£ãã³ã«é 眮ããå¿ èŠããããŸããã ããã«ãããã€ã¢ãã©ã€ã¶ãŒã®äœ¿çšãäžåæå³ã倱ããè»ã®ææè ãè»ã«å¥ã®ã¢ã©ãŒã ãåãä»ããããšãäœåãªããããããšã¯æããã§ãã ãã®å Žåãè»ã®ææè ã¯ãããã®æ¬ ç¹ã®ãªãã·ã¹ãã ãæäŸãããŸãããã€ã°ããã·ã§ã³ããŒèªäœãã·ãã¥ã¬ãŒããããšæ³å®ããããšã³ãžã³ãé éå§åããã³ãã³ããåä¿¡ããããšãã«ã®ã¿ãããè¡ããŸãã
ã¹ãã£ãŒããšãžã§ã³ã¯ä»äºã«åãããããUSENIXã·ã³ããžãŠã ã§å ¬éãããããã¥ã¡ã³ããç 究ããããã·ã¥ã¡ã«ããºã ãèŠã€ããŸããã 圌ãã®åªåã®çµæããã®ãããªã¹ããŒã ã¯ãäžèšã®ææžã®14ããŒãžã«å ¬éãããå ¬åŒã«å®å šã«æºæ ããããã«ãªããŸããïŒ
次ã«ã2ã€ã®ãã¶ã€ã³ãäœæããŸããã
ãããã®æåã¯DST40ãã©ã³ã¹ãã³ããŒããã°ã©ããŒã§ããã è»ã®ã€ã¢ãã©ã€ã¶ãŒã®ããã«ããã©ã³ã¹ãã³ããŒãããªãŒãã³æ å ±ãèªã¿åãããã©ã³ã¹ãã³ããŒã«ãªã¯ãšã¹ããéä¿¡ããããã·ã¥çµæãåä¿¡ã§ããŸãããŸããæå·åããŒãšãšãã«ãã©ã³ã¹ãã³ããŒã«ãªãŒãã³æ å ±ãæžã蟌ãããšãã§ããŸããã ããã°ã©ããŒã䜿çšããŠã2005ããšã¿ã«ã ãªããã€ã°ããã·ã§ã³ããŒã®2ã€ã®èŠæ±/å¿çãã¢ãåãåããŸããã
2çªç®ã®èšèšã¯ãXilinx Spartan 3E FPGAãããã«åºã¥ããŠæ§ç¯ããããã«ãŒããã©ãŒã¹ãšã³ãžã³ã§ããã ãã«ãŒããã©ãŒãµãŒã¯ããã«ãŒããã©ãŒã¹ã¡ãœããããã©ã³ã¹ãã³ããŒã«ä¿åãããæå·åããŒãèŠã€ããããšãå¯èœã«ããŸããã ãããè¡ãããã«ããã«ãŒããã©ãŒã¹ã®å ¥åã«ã¯ãèŠæ±/å¿çãšæå·åããŒã®2ã€ã®çµã¿åããã®åœ¢åŒã§åæããŒã¿ãæäŸãããããããæ€çŽ¢ãéå§ããå¿ èŠããããŸããã ãã«ãŒããã©ãŒã¹ã¯135ã¡ã¬ãã«ãã®åšæ³¢æ°ã§åäœããFPGAãããäžã«32åã®ããã·ã¥ã³ã¢ãå«ã¿ãçŽ14æéã§ãã¹ãŠã®çµã¿åããã®å®å šãªåæãå®è¡ããŸããã
çµæã¯ãççŽã«èšã£ãŠãåæ°ã¥ãããããã®ã§ã¯ãããŸããã§ããã匷åŒãªåŽåè ãä»äºããããšãã«æ°æéåŸ ã€ã®ã¯ããšãŠã楜ããçµéšã§ã¯ãããŸããã§ããã ãã®ãããã¹ãã£ãŒããšãžã§ã³ã¯ãããšã¿ã®äžå€®ã³ã³ãã¥ãŒã¿ãŒãšã€ã¢ãã©ã€ã¶ãŒãŠãããã®éã®ããŒã¿è»¢éã®å¥ã®é åã«ç®ãåããŸããã å°èŠæš¡ãªæ€æ»ãšããã€ãã®ãã¹ããå®æœããåŸããã®ãµã€ãã¯éä¿¡ããŒã¿ã®ãã¹ãã³ã°ã¯ããçšåºŠãããŸãããéåžžã«åå§çã§ãããããææ¡ããŠããã€ã¹ããã®é åã®ééã«å°å ¥ããããšã¯é£ãããããŸããã§ããã ããã€ã¹ãã¹ã¿ã³ãã€ã¢ãŒãã§åäœããŠããéãã³ã³ãã¥ãŒã¿ãŒããã€ã¢ãã©ã€ã¶ãŒã«ããŒã¿ãéä¿¡ããããèªäœã§ããŒã¿ãéãè¿ããŸããã ãªã¢ãŒããšã³ãžã³ãã©ã³ããžã®ã³ãã³ããåä¿¡ãããšãã€ã¢ãã©ã€ã¶ãŒããªãã«ããã€ã¢ãã©ã€ã¶ãŒããã®è¯å®çãªå¿çãã·ãã¥ã¬ãŒãããŠãã³ã³ãã¥ãŒã¿ãŒãšã®éä¿¡ãéå§ããŸããã ãããŠããã®ããã»ã¹å šäœã§æãéèŠãªããšã¯ãã€ã¢ãã©ã€ã¶ãŒã®å¿çãã³ã³ãã¥ãŒã¿ãŒã®èŠæ±ã®ã¿ã«äŸåããããšã§ããã ã€ã°ããã·ã§ã³ããŒã¯å¿ èŠãããŸããã§ããã
ããã°ã©ããŒããã³ãã«ãŒããã©ãŒã¹ãã©ã¯ãŒããŒã¯ãè«æ±ãããŸããã§ããã
ããŒã4ïŒçŽç²ã«ã¹ããŒãã®èå³

ã¹ãã£ãŒããšãžã§ã³ãæããã¹ããŒã ãšãããšã¿ããŒããåãåã£ã2çµã®ãªã¯ãšã¹ã/ã¬ã¹ãã³ã¹ãæå ã«çœ®ããŠãä»äºã«åãããããŸããã æåã¯ãããã·ã¥ã³ã¢ã®æ°ãå€§å¹ ã«å¢ããç°¡åãªæ¹æ³ãéžæãããŸããããã®ã³ã¢ã®128åããã®ããŒãã®FPGAã¯ãªã¹ã¿ã«ã«åãŸããŸãã
ãã®å³ã«ã¯ã次ã®ã³ã³ããŒãã³ãã衚瀺ãããŸãã
- HPSããã»ããµ-dst40ããã°ã©ã ãå®è¡ããŸãã ãŠãŒã¶ãŒã«åæããŒã¿ãèŠæ±ããããããã³ã³ãããŒã«ãŠãããã®ã¬ãžã¹ã¿ãŒã«ããŒãããæ€çŽ¢ããã»ã¹ãéå§/åæ¢ããçŸåšã®ç¶æ
ã«é¢ããæ
å ±ãç»é¢ã«è¡šç€ºããŸãã
- ã³ã³ãããŒã«ãŠãããã ãã®ã¿ã¹ã¯ã¯ããã¹ãŠã®ããã·ã¥ã«ãŒãã«ã®ãœãŒã¹ããŒã¿ãæºåãããããã®äœæ¥ã管çããçµæãæ€èšŒããŠHPSã«è»¢éããããšã§ãã
- ã«ãŒãã«ã®ããã·ã¥ã åã³ã¢ã¯ã2ã€ã®éšåã®åæããŒãçæããŸãïŒã³ã¢ã®ã·ãªã¢ã«çªå·ã«äžèŽãã7ãããã®åºå®äžäœéšåïŒã³ã¢çªå·0ã®å Žåã¯00Hãã³ã¢çªå·127ã®å Žåã¯7FHïŒãšãã³ã³ãããŒã«ãŠãããããååŸãã33ãããã®äžäœå€æ°ã ã«ãŒãã«ã¯ãDST40ã¢ã«ãŽãªãºã ã䜿çšããŠèŠæ±ã®ããã·ã¥ãå®è¡ããŸã;ãã®ããã»ã¹ã®æåŸã«ãããã·ã¥çµæãå¿çãšæ¯èŒãããæ¯èŒçµæãå¶åŸ¡ãŠãããã«éä¿¡ãããŸãã
ããã€ã¹å šäœã®åäœã®è¿äŒŒã¢ã«ãŽãªãºã ã¯æ¬¡ã®ãšããã§ãã
- ããã°ã©ã ã¯ãŠãŒã¶ãŒã«åæããŒã¿ãèŠæ±ããŸãããã©ã³ã¹ãã³ããŒã«éä¿¡ããã2ã€ã®èŠæ±ãšãã©ã³ã¹ãã³ããŒããåä¿¡ããã2ã€ã®å¯Ÿå¿ããå¿çãããã³æ€çŽ¢ãéå§ããæå·åããŒã
- ããã°ã©ã ã¯æåã®èŠæ±/å¿çãšããŒãã³ã³ãããŒã«ãŠãããã«ããŒãããæ€çŽ¢ããã»ã¹ãéå§ããŸãã ãã®åŸãå¶åŸ¡ãŠããããäžèŽã®æ€åºãŸãã¯æ€çŽ¢äžã®ããŒã®æ¯æžãéç¥ããã®ãåŸ ã¡ãŸãã
- å¶åŸ¡ãŠãããã¯ããã¹ãŠã®ã³ã¢ã®ãœãŒã¹ããŒã¿ã®å ¥åã«èŠæ±/å¿çããã³ããŒãèšå®ãããããã«ããã·ã¥ãéå§ããã³ãã³ããäžããŸãã
- åã³ã¢ã¯ãªã¯ãšã¹ããããã·ã¥ããŸãã ããã«ã¯200ã¯ããã¯ãµã€ã¯ã«ããããŸãã äœæ¥ã®æåŸã«ãåã³ã¢ã¯ããã·ã¥çµæãšå¿çãæ¯èŒããæ¯èŒçµæãå¶åŸ¡ãŠãããã«éä¿¡ããŸãã
- ã³ã³ãããŒã«ãŠãããã¯ããã¹ãŠã®ã³ã¢ã®çµæãè©äŸ¡ããŸããäžèŽãããã®ãèŠã€ãããªãå ŽåãããŒãã€ã³ã¯ãªã¡ã³ãããã¢ã«ãŽãªãºã ã®ã¹ããã3ã«é²ã¿ãŸãã
- - , , .
- / .
- 3 5 . â .
- â , . . , .
ãã¶ã€ã³ã®ããŒããŠã§ã¢ã¯ã200ã¡ã¬ãã«ãã®ã¯ããã¯åšæ³¢æ°ã§ç²åŸããŠããŸããçµæãšããŠãæ€çŽ¢é床ã¯ã128x200x10ã6ç§/ 200 =1.28åããã·ã¥ãããã€ã¹ã¯ã2æé24åã§ãã¹ãŠã®ãªãã·ã§ã³ã®å®å šãªåæãå®è¡ããŸããããã¡ãããããã¯éåžžã«è¯ãçµæã§ããããããã§ãããã»ã©è¯ãã¯ãããŸããã§ããã
次ã«ãæ€çŽ¢ããã»ã¹ãé«éåããããã®ããã€ãã®æé ã説æããŸããã ãã...
æåã®ã¹ããã
ã¢ã«ãŽãªãºã ãæé©åããããšããå§ããŸããããäžèšã®ããã·ã¥ã¹ããŒã ãããäžåºŠèŠãŠãã ãããããã·ã¥çµæããªã¯ãšã¹ã/ã¬ã¹ãã³ã¹ã¬ãžã¹ã¿ã®äžäœ24ãããããèªã¿åãããããšãããããŸããäžäœ16ãããã¯äœ¿çšãããŸãããè«ççãªçåãçããŸããçµæãç Žæ£ãããå ŽåãæåŸã®8ã€ã®æž¬å®ãå®è¡ããã®ã¯ãªãã§ããïŒåçïŒãŸã£ããå¿ èŠãããŸããã192ã¯ããã¯ãµã€ã¯ã«ãåè·¯ã«é©çšããã¬ãžã¹ã¿ã®äžäœ24ãããããããã·ã¥çµæãååŸããã ãã§ååã§ããããã§ã¯ãããããã£ãŠã¿ãŸããããããã«ãããé床ãå®å šã«ç¡æã§4ïŒ åäžããŸãã
第äºæ®µé
ããã¥ã¡ã³ãã®æåŸã«ããè«çèŠçŽ ã®ççå€è¡šãèŠãŠã¿ãŸãããã
é¢æ°Feã®ççå€è¡šãããèŠãŠãã ãã
00000: 0
00001: 0
00010: 1
00011: 1
00100: 0
00101: 0
00110: 1
00111: 1
01000: 0
01001: 0
01010: 0
01011: 0
01100: 1
01101: 1
01110: 1
01111: 1
10000: 1
10001: 1
10010: 1
10011: 1
10100: 0
10101: 0
10110: 0
10111: 0
11000: 1
11001: 1
11010: 0
11011: 0
11100: 1
11101: 1
11110: 0
11111: 0
è¡ããã¢ã§è€è£œãããŠããããšã¯ç°¡åã«ããããŸãã ããã¯ãæäžäœã®å ¥åããããçµæã«åœ±é¿ãããæå·ãªãã§ç Žæ£ã§ããããšãæå³ããŸãã ããã«èšã£ãŠãã£ãã
ççå€è¡šã¯ãã®åœ¢åŒãååŸããŸãã
0000: 0
0001: 1
0010: 0
0011: 1
0100: 0
0101: 0
0110: 1
0111: 1
1000: 1
1001: 1
1010: 0
1011: 0
1100: 1
1101: 0
1110: 1
1111: 0
ããã«ãããé床ãæããã«åäžããããšã¯ãããŸããã ãã ãããåãã®ãšãããåæåè·¯ã®çµã¿åããããžãã¯ã®æ°ãæžãããšãã¯ããã¯åšæ³¢æ°ãäžããå¯èœæ§ã«ãã©ã¹ã®å¹æããããŸãã
ãã®çµæãäžèšã®å€æŽãèæ ®ããã«ãŒãã«ã¹ããŒã ãèªçããŸããïŒãŸããã«ãŠã³ãããŒãããå§ãŸãããã«ã¬ãžã¹ã¿ã®ãããã®çªå·ãä»ãçŽãããŸã-ãããããäžè¬çã§ãïŒã
第äžæ®µé
ããã°ã©ã ã®ã«ãŒãéšåããæ倧é床ãååŸããããšããããã°ã©ããŒã¯ããã«ãŒãå±éããªã©ã®æé©åæ¹æ³ã䜿çšããŸãã ããã¯ãã«ãŒãã«ãŠã³ã¿ãŒãNåæžå°ãããã®ãµã€ã¯ã«ã§å®è¡ãããäžé£ã®ã³ãã³ãã次ã ãšNåç¹°ãè¿ããããšããäºå®ã«ãããŸãã ããã«ããããµã€ã¯ã«ã«ãŠã³ã¿ãŒã¡ã³ããã³ã¹ããŒã ã«ãã£ãŠå°å ¥ãããåé·æ§ãåæžãããŸãã
è©ŠããŠã¿ãŠããã®æ¹æ³ã䜿çšããŸãã192ãµã€ã¯ã«ãµã€ã¯ã«å šäœã1æ¬ã®å®ç·ã«æ¡åŒµããŸãã åãµã€ã¯ã«ã®äœæ¥ã¯åã®ãµã€ã¯ã«ã®çµæã«ã®ã¿äŸåããä»ã«ã¯äœãäŸåããªãããããã®ãªãã·ã§ã³ã®å®è£ ã¯éåžžã«å¯èœã§ãã
ãã®ã¹ããŒã ã§ã¯ããCYCLE Nããšããååã®åããžãã¯ãããã¯ã«ã¯ãDST40ã¢ã«ãŽãªãºã ã§äœ¿çšãããFeistelãããã¯ãŒã¯å šäœãå«ãŸããŸãã è«çåè·¯ã®é·ããç°åžžã«é·ããªããã¯ããã¯é床ãå€§å¹ ã«äœäžãããå¿ èŠãããããšã¯æããã§ãã ãã ãããã®ãããªã¹ããŒã ã§ã¯ãå ã ã®192çªç®ã®ã¡ãžã£ãŒããšã§ã¯ãªããåã¡ãžã£ãŒããšã«çµæãçæãããŸããè©ŠããŠã¿ã䟡å€ããããŸãã
ãã®ãããªã¹ããŒã ãå®è£ ããŠãã¹ãããŸããäºæ³ã©ãããã¯ããã¯åšæ³¢æ°ã2ã¡ã¬ãã«ãã«äžããå¿ èŠãããã8ã³ã¢ãã»ãšãã©æ°Žæ¶ã«åãŸããªãã»ã©å€ãã®ããžãã¯ããããŸããã æ¯ç§1600äžã®ããã·ã¥-ããã¯å®å šã«è»œèã§ãïŒ
ãã®ã¢ã€ãã¢ãåãç«ãŠå°ã«æšãŠãŸããïŒ ãŸããïŒ ã¹ãªãŒãããåŒãæãããšãã§ããå¥ã®åãæããããŸãã ã³ã³ãã¢ãšåŒã°ããŸãã èªè ã®å€ãã¯ãã€ãã©ã€ã³ã«ã€ããŠç¥ã£ãŠãããšæããŸãã äžæãªå Žåã¯ãIvan ShevchukïŒ ishevchukãšãåŒã°ããïŒã®ãã°ãããèšäºã§ã FPGAã®ãã€ãã©ã€ã³ã«é¢ããããã€ãã®èšè ãã§ãããã«ã€ããŠèªãããšããå§ãããŸãã
ãã®ãããè«çãã§ãŒã³ã192åã®ãªã³ã¯ã«ã«ãããããã®ãžã§ã€ã³ãã§2ã€ã®40ãããã¬ãžã¹ã¿ãé 眮ããŸãã
ã³ã³ãã€ã«ããŸãã ãã®èšèšã¯ã128ã³ã¢ã®å ã®èšèšãšåãåšæ³¢æ°-200ã¡ã¬ãã«ãã§åäœããŸããã ããããæ°ãããœãŒã¹ããŒã¿ãåã¡ãžã£ãŒã®å ¥åã«ãªããŸããã ãŸããçµæã¯åã¯ããã¯ãµã€ã¯ã«ïŒã¯ããã¯ãµã€ã¯ã«192ããéå§ïŒã®åè·¯ã®åºåããåé€ãããŸãã å éã¯192åã§ããïŒ ãã£ã㌠ãããããã¹ãŠãç§ãã¡ãæãã»ã©ãã©è²ã§ã¯ãããŸããã ã³ã¢ã¹ããŒã ã¯éåžžã«èšæœ€ããŠããããã1ã€ã®ã³ã¢ã®ã¿ãçµæ¶ã«é©åããŸãã çµæã®åæçã¯ã1ç§ããã2åããã·ã¥ã§ããã
絶æããªãã§ãã ãã-劥åç¹ãæ¢ããŸãããã çµæã®å³ãããäžåºŠããèŠãŠã¿ãŸãããã 192ãªã³ã¯ã®ãã§ãŒã³å šäœã3ãªã³ã¯ã®64åã®åäžãããã¯ã§æ§æãããŠããããšãå°è±¡çã§ãïŒãããã¯ã®æåã®ãªã³ã¯ã§ã¯ãããŒã¬ãžã¹ã¿ã¯å€æŽãããã2çªç®ã§ã¯-1ãããã·ããããã3çªç®ã§ã¯åã³å€æŽãããŸããã ã¹ããŒã ãå€æŽããŠã¿ãŸãããããããã®ãããã¯ã3ã€ã®éšåã«åå²ããã¬ãžã¹ã¿ãåé€ããŸãã ãããã£ãŠããã§ãŒã³ãªã³ã¯ã®æ°ã¯64ã«åæžãããåãªã³ã¯ã®è«çãã§ãŒã³ã®é·ãã¯3åã«ãªããŸãã ããã«ãããã¯ããã¯åšæ³¢æ°ãäžããå¿ èŠãçããŸãããåæã«ãã³ã¢ã®ãµã€ãºãå€§å¹ ã«åæžããå¿ èŠããããŸãã
ãã®ãããªã¹ããŒã ãå®è£ ãããã®çµæãçµæ¶äžã«4ã€ã®ãã®ãããªæ žãé 眮ããæ©äŒãåŸãŸãã TimeQuestã¢ãã©ã€ã¶ãŒã§ã¯ããã®åè·¯ã125ã¡ã¬ãã«ãã§å®è¡ã§ããŸããã ãããã4ã€ã®ã³ã¢ããããã¹ããŒã ããµã€ã¯ã«ããšã«4ã€ã®çµæãæäŸããããïŒ64çªç®ããéå§ïŒãåèšåæé床ã¯4x125x10 6 = 5åããã·ã¥/ç§ã§ããã ãã§ã«ããªãè¯ãã§ãïŒ
第4ã¹ããã
ããŠãæåŸã®ä»äžãã¯ãªãŒããŒã¯ããã¯ã§ãïŒ åœŒãªãã§ã¯ã©ãã«ããã®ã§ããããïŒ åã®ã¹ãããã§åŸããã125ã¡ã¬ãã«ãã¯ãTimeQuestã¢ãã©ã€ã¶ãŒãèªããªãåšæ³¢æ°ã§ãã ããããCyclone Vãããã®é床ã«ã¯ããªãã®ãå®å šããŒãžã³ãããããŸãã ãããå©çšããŠãåè·¯ãééãå§ãããŸã§åè·¯ã®ã¯ããã¯åšæ³¢æ°ãäžããŸã-ãœãŒã¹ããŒã¿ã®æ£ããçµã¿åããã§è³ãããæããŸãã åè·¯ã®æ£ããåäœãè©äŸ¡ããããã«ãHPSããã»ããµã®ããã°ã©ã ã¯ãã¹ãããã°ã©ã ã«çœ®ãæããããŸããïŒåãµã€ã¯ã«ã§ãã©ã³ãã ããŒ/ãªã¯ãšã¹ããã¢ãçæããçããèšç®ããããããã¹ãŠããã€ãã©ã€ã³ã«ããŒãããŠãåè·¯ãèµ·åããŸããã 64ã¯ããã¯ãµã€ã¯ã«åŸãåè·¯ãäžèŽæ€åºã®æåãå ±åããªãã£ãå Žåããã¹ãã¯äžåæ ŒãšèŠãªãããåè·¯ã®åšæ³¢æ°ãäžããå¿ èŠããããŸããã ãã®ããã«ããŠãåè·¯ãåäœãç¶ããéçåšæ³¢æ°ã§ãã170ã¡ã¬ãã«ããèŠã€ãããŸããã 175ã¡ã¬ãã«ãã§ãåè·¯ãæ éãå§ããŸããã 170ã¡ã¬ãã«ãã§ã¯ãæ€çŽ¢é床ã¯4x170x10 6 = 680ããªç§ã®ããã·ã¥ã§ãã ããã€ã¹ã¯ã27å以å ã«ããŒã®ãã¹ãŠã®å¯èœãªãªãã·ã§ã³ã®åŸ¹åºçãªæ€çŽ¢ã«å¯ŸåŠããŸããã
以äžã¯ããã®ãã«ãŒããã©ãŒã¹ã®å®éã®äœ¿çšã瀺ããããªã§ãã
ããŒã5ïŒæçµ
DE0-Nano-SoCããŒã¹ã®ãã«ãŒããã©ãŒãµãŒã®å šäœçãªå¹çã¯ãEviããŒã ã«ãã£ãŠæ§ç¯ããã512ã³ã¢ã¯ã©ã¹ã¿ãŒã®å¹çãçŽ90åïŒèšèšã¯30åå®ãã3åé«éã§ããããšãå€æïŒ-çŸåšã®æ®µéã§ã¯é©ãããšã§ã¯ãããŸããã
誰ãããœãŒã¹ããæãäžããããå Žåã ããã§è¡ãããšãã§ããŸã ã binãã£ã¬ã¯ããªã«ã¯ãFPGAã«ã¢ããããŒãããããã®ã³ã³ãã€ã«ããããã¡ãŒã ãŠã§ã¢ïŒä¿¡é Œæ§ã®ããã«ã¯ããã¯åšæ³¢æ°ã¯150 MHzã«å¶éãããŠããŸãïŒãšãLinuxã®äžã§HPSã§å®è¡ããããã®ã³ã³ãã€ã«ãããããã°ã©ã ããããŸãã
ããã§ã¯ãäŒæãåãããŠãã ããïŒ ãã¹ãŠã®å¥åº·ãšå¹žéãïŒ ãæž èŽããããšãããããŸããïŒ