ä»æ¥ãã€ã³ã¿ãŒãããã»ãã¥ãªãã£ã«å€§ããªåé¡ãããããšã¯åšç¥ã®äºå®ã§ãã ãŠãŒã¶ãŒã¯è»œããã¹ã¯ãŒãã䜿çšããä»ã®ãªãœãŒã¹ã§ããããåå©çšããŸãã ãã¹ã¯ãŒããããŒãžã£ã¯ãŸã å¹³åçãªãŠãŒã¶ãŒã«ãšã£ãŠæ°ãããã®ã§ãããç¥æ¯ã«é«ããšã³ããããŒãæã€ã©ã³ãã ãªã¯ã³ã¿ã€ã ãã¹ã¯ãŒãã®äœ¿çšã匷å¶ããããšã¯ã»ãšãã©ã§ããŸããã 人çã¯è
æãšçã¿ã§ã...
web2.0ã®å€æãã«ããã¹ã¯ãŒããäžè¶³ããŠããããšãèªèãå§ãã2èŠçŽ èªèšŒãŸãã¯2FAãçºæããŸããã
ä»æ¥ã®2FAãœãªã¥ãŒã·ã§ã³ãšã¯äœã§ããïŒ
SMS-SMSçµç±ã§éä¿¡ãããã¯ã³ã¿ã€ã ãã¹ã¯ãŒãã
OTPïŒTOTP / HOTPïŒ-ãã¹ã¿ãŒããŒã«åºã¥ããŠçæãããã¯ã³ã¿ã€ã ãã¹ã¯ãŒãã äŸïŒGoogleèªèšŒã·ã¹ãã ãYubikeyãéè¡OTPããŒã¯ã³ã
- æå·åããŒã¯ã³-ãŠãŒã¶ãŒã®å€èŠçŽ èªèšŒçšã®ããŒããŠã§ã¢ã äŸïŒRSA SecureIDãRutokenã
ãœãªã¥ãŒã·ã§ã³ã®éžæè¢ãå€ãããããŠãŒã¶ãŒã¯ãŸã ã¢ã«ãŠã³ããé¢ããŠããŸãã ã§ã¯ããªãæ¢åã®æè¡ã§ã¯åé¡ã解決ããªãã£ãã®ã§ããããïŒ
å€ãã®çç±ããããŸãã
ãã£ãã·ã³ã°-ãªã¹ãããããœãªã¥ãŒã·ã§ã³ã®ã»ãšãã©ãã¹ãŠãMITMïŒäžéè
ïŒæ»æãããã³ããã«å¿ãããã£ãã·ã³ã°ã«å¯ŸããŠè匱ã§ãã ãŠãŒã¶ãŒåãšãã¹ã¯ãŒããæ¢ã«å
¥åããŠãããŠãŒã¶ãŒãã¯ã³ã¿ã€ã ãã¹ã¯ãŒããå
¥åã§ããªãããã«ããã«ã¯ã©ãããã°ããã§ããïŒ
ã»ãã¥ãªãã£-ãã®å ŽåãSMSã«ã€ããŠèª¬æããŸãã SMSã¯çŸåšãåžå Žã§æã人æ°ã®ãã2FAãœãªã¥ãŒã·ã§ã³ã§ãã SIMã«ãŒãã®åãªãªãŒã¹ã«é¢ãã話ã¯ããã·ã¢ã ãã§ãªãã ã¢ã¡ãªã« ã åã¢ããªã« ã ã€ã®ãªã¹ ããã®ä»ã®åœã§ãçºçããŠããŸãã ã»ãŒãã¹ãŠã®ãããã€ããŒãSIMã«ãŒãã埩å
ããæ©èœãæäŸããŠããããœãŒã·ã£ã«ãšã³ãžãã¢ãªã³ã°ã®æ¹æ³ããã£ã³ã»ã«ãã人ã¯ããŸããã
ã³ã¹ã-ã¹ã€ã¹ã®éè¡ã§ã顧客ã7æ¡ã®å€è²šãä¿ç®¡ããŠããå ŽåãRSAããŒã¯ã³ã¯é¡§å®¢ã®å£åº§ã®ã»ãã¥ãªãã£ã確ä¿ããããã®ããããªäŸ¡æ Œã§ãã ãŸããTwitterãŸãã¯Facebookã®å ŽåãåãŠãŒã¶ãŒã«é«äŸ¡ãªããŒã¯ã³ãé
åžããããšã¯äžå¯èœã§ãã SMSã«ãè²»çšãããããŸããFreeBSDã§KDEã«ããããé©çšããæ¹æ³ã«ã€ããŠã®ã¢ããã¥ã¢ã¢ãã¡ãã£ã¹ã«ãã·ã§ã³ãã©ãŒã©ã ãããå ŽåãSMSã賌å
¥ããäœè£ã¯ã»ãšãã©ãããŸããã
äºææ§-ãã©ã€ããŒããããã®ã奜ããªäººã¯ããŸãããããããRSAãšRutokenããŸã äžçãåŸæããŠããªãçç±ã®1ã€ã§ãã
- 䜿ãããã-ã¯ã³ã¿ã€ã ãã¹ã¯ãŒãã®å
¥åã¯é¢åã§ãã ç»é¢ã®ããã¯ã解é€ããã¡ãã»ãŒãžãéããã³ãŒããèªã¿ãééããç¯ããé»è©±ãšã³ã³ãã¥ãŒã¿ãŒãçŒããŸããããã¯ããŠãŒã¶ãŒã€ã³ã¿ã©ã¯ã·ã§ã³ãš2èŠçŽ èªèšŒã®æšæºã¢ã«ãŽãªãºã ã§ãã
ãã®ãªã¹ãã¯é·ãéç¶ããããšãã§ããŸããããã®èãã¯äŒããããŠãããšæããŸãã ä»æ¥ã®ãœãªã¥ãŒã·ã§ã³ã¯ããŠãŒã¶ãŒã確å®ã«ä¿è·ããããšãã§ããã䜿ãã«ãããé«äŸ¡ã§ãããæ®éçã§ã¯ãããŸããã
FIDO U2F-2çªç®ã®èŠçŽ ã®æ®éå
2013幎ãã·ãªã³ã³ãã¬ãŒã§FIDO ïŒFast IDentity OnlineïŒã¢ã©ã€ã¢ã³ã¹ãçµç¹ãããã€ã³ã¿ãŒãããã§ã®ç°¡åã§å®å
šãªèªèšŒã®èª²é¡ã«å¯ŸåŠããŸããã çŸåšãFIDOã«ã¯300人以äžã®æºäŒå¡ãš30人ã®åœ¹å¡ãããŸãã åç· åœ¹ã®ãªã¹ãã«ã¯ãGoogleãYubicoãMicrosoftãVisaãMastercardãAmerican ExpressãPaypalãªã©ã®äŒæ¥ãå«ãŸããŸãã
FIDOãèšå®ããäž»ãªç®æšã¯ã䜿ããããå®å
šã§ãã©ã€ããŒããªæšæºåããããœãªã¥ãŒã·ã§ã³ã§ãã
çŸåšãFIDOã¯æ¬¡ã®2ã€ã®æšæºãå°å
¥ããŠããŸããU2FïŒUniversal Second FactorïŒ-ãŠãããŒãµã«2çªç®ã®èŠå ãUAFïŒUniversal Authentication FrameworkïŒ-çäœèªèšŒã®ãŠãããŒãµã«èªèšŒãã¬ãŒã ã¯ãŒã¯ã ä»æ¥ã¯U2Fã«ã€ããŠã話ããŸãã ãããã¯ãèå³æ·±ãå Žåãå°æ¥çã«ã¯UAFã«é¢ããèšäºãæžãããšãã§ããŸãã
U2Fã¯ãé»åããžã¿ã«çœ²åã䜿çšããåŒã³åºãå¿çèªèšŒã«åºã¥ãã2èŠçŽ èªèšŒçšã®ãªãŒãã³ãªãã©ã€ããŒã¬ã¹ãããã³ã«ã§ãã
ã©ã®ããã«æ©èœããŸããïŒ
U2Fãããã³ã«ã«ã¯ããŠãŒã¶ãŒããã©ãŠã¶ïŒæè¡ã¯ã©ã€ã¢ã³ãïŒããããã³ã«èªäœã®3ã€ã®æœè±¡åã¬ãã«ããããŸãã
ãŠãŒã¶ãŒ

ãŠãŒã¶ãŒã«ãšã£ãŠã¯ããã¹ãŠãéåžžã«ç°¡åã§ãã ãŠãŒã¶ãŒã¯ãŠãŒã¶ãŒåãšãã¹ã¯ãŒããå
¥åããU2Fããã€ã¹ãæ¿å
¥ãããã¿ã³ãæŒããŠèªèšŒã«æåããŸãã å®éãããã«ã€ããŠã¯ãã§ã«HabraHabrã«æžããŠããŸãã
ãã©ãŠã¶

U2Fãšã®ãã©ãŠã¶ãŒåŽã®å¯Ÿè©±ã¢ã«ãŽãªãºã ã¯æ¬¡ã®ãšããã§ãã
ãŠãŒã¶ãŒããããšãã°ããã¿ã³ãæŒããã2èŠçŽ èªèšŒãå®è¡ãããšããåžæã確èªããå Žåãããã€ã¹ã¯ã³ãŒã«çœ²åãè¿ããŸã
ãããã³ã«-ãŸãã¯2èŠçŽ èªèšŒãä¿è·ããããã®5段éåã®æé
ã¹ããã1-ã³ãŒã«ã¬ã¹ãã³ã¹

ãŸããç°¡åãªé»è©±å¿çãè¡ããŸãã ãµãŒããŒã¯ã©ã³ãã åŒã³åºããéä¿¡ããŸãã ããã€ã¹ã¯ã³ãŒã«ã«çœ²åãããµãŒããŒã«çœ²åãè¿ããŸãããã®åŸããµãŒããŒã¯çœ²åãæ€èšŒããŸãã
ã¹ããã2-ãã£ãã·ã³ã°ä¿è·
å
ã®URLãšãã£ã³ãã«IDã«çœ²åãã
mail.ruã§ã¯ãªãr n ail.ruã«ãã°ã€ã³ããå Žåã眲åã䜿çšããŠã¢ã«ãŠã³ãã«ãã°ã€ã³ã§ãããããã¢ã³ãµãŒã³ãŒã«ã ãã§ã¯ãã£ãã·ã³ã°ã®åé¡ã¯è§£æ±ºããŸããã ãããé²ãããã«ããã©ãŠã¶ãŒã¯åŒã³åºãã«çœ²åèŠæ±ã®éä¿¡å
ã®URLãšTLSãã£ãã«IDãè¿œå ãããã®åŸãäŸåé¢ä¿è
ããã®ããŒã¿ã確èªããŸãã
ã¹ããã3-ãã©ã€ãã·ãŒãŸãã¯ç»é²äŸåã®ããŒãã¢
ç»é²äŸåã®ãã¢ãçæããŸã
çŸæç¹ã§ã¯ãããã€ã¹ã¯1çµã®ããŒã§ãã¹ãŠã«çœ²åããŠããŸãã ããã¯ãå
¬éããŒãã©ãã§ãåãã§ãããšããäºå®ã«ããããã©ã€ãã·ãŒã®åé¡ãåŒãèµ·ãããŸãã ããšãã°ãæªåé«ãAshleyMadison.comã«ç»é²ãããŠããå Žåãæ»æè
ã¯ããŒãžãããå
¬éããŒãšä»ã®ã¢ã«ãŠã³ãããã€ã³ãããæœåšçã«ç©ççããã³é埳çãªå®³ãåŒãèµ·ããå¯èœæ§ããããšããŸãããã
ç»é²äžã«ãã©ã€ãã·ãŒãä¿è·ããããã«ãäŸåé¢ä¿è
ã¯ã¢ããªã±ãŒã·ã§ã³IDïŒAppIDïŒãšã·ãŒãïŒä¹±æ°ïŒãæž¡ããŸãã ãã®ããŒã¿ã«åºã¥ããŠãããã€ã¹ã¯äžæã®ç»é²äŸåããŒãã¢ãçæããŸãã ããã€ã¹ããã¢ãçæããæ¹æ³ã¯ãããã³ã«ã§ã¯èª¬æãããŠããŸããããããã€ã¹ã®è£œé å
ã®è£éã§å®å
šã«èª¬æãããŠããŸãã ããšãã°ãåYubikeyã«ã¯ç¬èªã®ãã¹ã¿ãŒããŒããããHMACããã³PRNGïŒPseudo Random Number GeneratorïŒãšçµã¿åãããŠæ°ãããã¢ãçæããŸãã
https://developers.yubico.com/U2F/Protocol_details/Key_generation.html
ããŒãã¢ã¯ç»é²ããšã«äžæã§ãããããè€æ°ã®ã¢ã«ãŠã³ãã§åäžã®U2Fããã€ã¹ãå
±æããããšãå¯èœã«ãªããŸãã
ã¹ããã4-ã¯ããŒã³ä¿è·

U2Fã¯ãããã³ã«ã«ãããªããããããŒããŠã§ã¢ãšãœãããŠã§ã¢ã§ç°ãªãå®è£
ãè¡ãããšãã§ããŸãã äžéšã®å®è£
ã¯ãã¯ããŒã³äœæã«èæ§ããªãå ŽåããããŸãã ãããé²ãããã«ãU2Fããã€ã¹ã«ã¯çµã¿èŸŒã¿ã®ã«ãŠã³ã¿ãŒããããŸãã 眲åãšç»é²ããšã«ãã«ãŠã³ã¿ãŒã®ç¶æ
ã1ã€ãã€å¢å ããŸãã ã«ãŠã³ã¿ãŒã¹ããŒã¿ã¹ã眲åãããäŸåé¢ä¿è
ã«è¿ãããŸãã U2Fããã€ã¹ãåŸæããŠããå Žåãè€è£œãããããã€ã¹ã®ã«ãŠã³ã¿ãŒã¹ããŒã¿ã¹ã¯å
ã®ããã€ã¹ã®ã«ãŠã³ã¿ãŒã¹ããŒã¿ã¹ãããå°ããå¯èœæ§ãé«ããæ€èšŒäžã«ãšã©ãŒãçºçããŸãã
ã¹ããã5-ããŒèªèšŒ

ç°ãªããããã³ã«ã®å®è£
ã¯å®å
šã§ã¯ãªãå ŽåããããŸãã ãããåé¿ãããããåU2Fããã€ã¹ã«ã¯çµ±åãããããŒãã£èšŒææžããããããã¯çŽ10äžããã€ã¹ããšã«ã€ã³ã¹ããŒã«ãããŸãã å眲åãšç»é²ã¯ãå
¬ééµãå
¬éãã£ã¬ã¯ããªã«ãã蚌ææžã§ããã«çœ²åãããŸãã
ãªããããå¿
èŠãªã®ã§ããïŒ ããšãã°ãåç«ã«é¢ãããã©ãŒã©ã ã®å ŽåããŠãŒã¶ãŒã®U2Fããã€ã¹ã®å®å
šæ§ã«ã€ããŠããŸãå¿é
ããå¿
èŠã¯ãããŸãããéè¡ã®å Žåã¯ãããŒããŠã§ã¢ã§äœæãããããã€ã¹ã®ã¿ãèš±å¯ã§ããŸãã
ã¹ããã6å-ãªãŒããŒãã«ä¿è·

ãŠãŒã¶ãŒãããã€ã¹ããé¢ããŠããç¶æ³ã§ã¯ãæªæã®ãããœãããŠã§ã¢ã培åºçãªæ€çŽ¢ãŸãã¯ãã®ä»ã®çš®é¡ã®æ»æã«ãã£ãŠããã€ã¹ãæ»æããããšããå ŽåããããŸãã ãããé²ããããU2FèŠæ Œã§ã¯ãããŒããŠã§ã¢ãšãœãããŠã§ã¢ã®ãã¹ãŠã®å®è£
ããŠãŒã¶ãŒãã¢ã¯ãã£ãã«ããå¿
èŠããããŸãã ãŠãŒã¶ãŒã¯ãäºèŠçŽ èªèšŒã«é¢ãã決å®ã確èªããå¿
èŠããããŸãã ãã®ã¢ã¯ã·ã§ã³ã«ã¯ããã¿ã³ãæŒãã ããPINã³ãŒããå
¥åãããæçŽãªã©ãååŸããããšãã§ããŸãã
è€æ°ã®ãšã³ããªãŒãµãŒãã¹
GmailãäŸã«ãšã£ãŠã¿ãŸãããã

ãŠã§ãã€ã³ã¿ãŒãã§ãŒã¹ãšã¢ãã€ã«ã®äž¡æ¹ããGmailã«ãã°ã€ã³ã§ããŸãã ã¢ããªã±ãŒã·ã§ã³ã®AppIDãšãµãŒãã¹ã®AppIDãç°ãªãå ŽåãAndroidã¢ããªã±ãŒã·ã§ã³ãããŠãŒã¶ãŒãæ¿èªããã«ã¯ã©ãããã°ããã§ããïŒ
ããã«ã¯ãã¡ã»ããããããŸãã
ãã¡ã»ããã¯ãéžæãããµãŒãã¹ã®èªèšŒãèš±å¯ãããŠãããã¹ãŠã®IDã®ãªã¹ããå«ãJSONãã¡ã€ã«ã§ãã ããšãã°ãGoogleã®ãã¡ã»ããã¯æ¬¡ã®ãšããã§ãã
{ "trustedFacets": [{ "version": { "major": 1, "minor" : 0 }, "ids": [ "https://accounts.google.com", "https://myaccount.google.com", "https://security.google.com", "android:apk-key-hash:FD18FA800DD00C0D9D7724328B6...", "android:apk-key-hash:Rj6gA3QDA2ddyQyi21JXly6gw9...", "ios:bundle-id:com.google.SecurityKey.dogfood" ] }] }
ãã¡ã»ããã¯ãAppIDãšåããã¡ã€ã³ç©ºéã«ååšããå¿
èŠããããŸãã ããšãã°ãAppIDãhttps://example.com/facets.jsonã®å Žåã httpsïŒ//**security**.example**.com ã¯ãã¹ãã«åæ ŒããŸããã httpsïŒ//security.example .net ** ã¯åæ ŒããŸããã
ã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ã®å Žåããã¡ã»ããã«ã¯ãOSïŒTYPEïŒIDããšãã圢åŒã®URIã¹ããŒã ããããŸãã Androidã®å ŽåãSHA-1 apk眲å蚌ææžãèšç®ãããŸãã iOSã®å Žåãããã¯ãã³ãã«IDã§ãã
ãã¡ã»ããã¯HTTPSçµç±ã§é
åžããå¿
èŠããããŸãïŒ
ä»æ§æž

çŸæç¹ã§ã¯ãUSBãNFCãããã³Bluetooth LEã®ä»æ§ã¯æºåãã§ããŠããŸãã
ãã©ãŠã¶ã®ãµããŒã

Chromeã¯2015幎åé ããU2Fããã®ãŸãŸãµããŒãããŠããŸããFirefoxã§ã®U2FãµããŒãã¯çŸåšæŽ»çºã«éçºãããŠããŸãã Microsoftã¯FIDO2.0ã¹ã¿ãã¯ã®äžéšãšããŠWindows 10ãšEdgeã®äž¡æ¹ã®U2FãµããŒããçºè¡šããŸããããInsider Buildã§ãã§ã«å©çšå¯èœã§ãã
誰ã䜿çšããŠããŸããïŒ

GoogleãGithubãWordpressãDropboxãEvernoteã è±åœæ¿åºã¯æè¿ãåœå¶ãµã€ãã«U2FãµããŒããå°å
¥ããŸããããããã¯éåžžã«å€ãã®ããšã§ãã
U2Fã«åãæ¿ããéã«èæ
®ãã¹ãããšã¯äœã§ããïŒ
HTTPSã¯å¿
é ã§ããããã«ããŠãŒã¶ãŒã«HTTPSãæäŸããªãå ŽåããŠãŒã¶ãŒã®ã»ãã¥ãªãã£ã«ã€ããŠå¿é
ããå¿
èŠã¯ãªããU2Fã¯ã»ãšãã©é¢å¿ããããŸããã FirefoxãChromeãããã³Edgeã§ã¯ãU2F APIã䜿çšããããã«HTTPSæ¥ç¶ãå¿
èŠã§ãã
TLS SessionIDãè©ŠããŠãã ããã
- U2Fã¯2çªç®ã®èŠå ã§ãã éè¡ã®ããã«ãªããªãã§ãã ããã äž»èŠå ãšããŠ2FAã䜿çšããªãã§ãã ããã
ãŸãšãããš
U2Fã¯ãé©åã«èšèšããã匷åã§ããªãŒãã³ã§ãæšæºåããããã¯ãããžãŒã§ãã Googleã¯ãçŸåšã2èŠçŽ èªèšŒã®äž»ãªæ¹æ³ãšããŠU2Fã䜿çšããŠããåŸæ¥å¡ã«å¯ŸããŠGoogleã«ãããã¹ãã«æåããŸããã
U2Fã¯åãªããããã³ã«ã§ãããU2Fã«åºã¥ããœãªã¥ãŒã·ã§ã³ã®å·šå€§ãªåžå Žã®åµåºã䌎ããŸãã ã»ãã¥ã¢ãªèŠçŽ ãåããæå·ããŒãJavaCardå®è£
ãããã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ãçäœèªèšŒã§ä¿è·ãããU2Fããã€ã¹ãŸã§ãU2Fã¯ãããé©çšã§ããæ³ååã®èªç±ãäžããŸãã
泚é
U2Fãšãã®å®è£
ãããã³FIDOã¢ã©ã€ã¢ã³ã¹ã®ä»ã®ãœãªã¥ãŒã·ã§ã³ã«ã€ããŠè©³ããç¥ãããå Žåã¯ãã³ã¡ã³ãã«æžããŠãã ããã