ããã§ã¯ãå°çæž©æåãåäŸã®é ã®é£¢erããã®ä»ãã¹ãŠã«å ããŠãäžçã¯ã©ã®ãããªåé¡ã«é¢å¿ãæã£ãŠããŸããïŒ åé¡ã¯ã2015幎ã§ãã£ãŠããTLSãã©ã³ã¹ããŒãã¬ã€ã€ãŒã»ãã¥ãªãã£ãããã³ã«ããŸã æ®åããŠããªãããšã§ãã æšå¹Žã®å€ãQuoraã®Webãµã€ãã䜿çšããããšãã«ãèªèšŒããŒãžã«ã¢ã¯ã»ã¹ããŠãåçŽãªhttpã«åºã¥ããŠå®è£ ãããŠããããšã確èªããŸããã ããã«ãhttpã¯æªæã®ããããŒã«ã«ããæ»æãåããããããã¹ã¯ãŒããã¯ãªã¢ããã¹ãã§éä¿¡ããŸãã ãã®æ¹æ³ã§æ¯æ¥ãµã€ãã«ã¢ã¯ã»ã¹ããäœçŸäžäººãã®ã¢ã¯ãã£ããªãŠãŒã¶ãŒãèŠããšãããã¯æ¬åœã«æªãããšã§ãã Quoraã®ç®çã¯ã瀟äŒçç¥èããããŠãããããŠãŒã¶ãŒã®èª€ã£ãæ å ±ãåºããããšã§ããããã¯ãããŸããŸãªãããã¯ã«é¢ãã質åãšåçã®ãµã€ãã§ãã
Googleãšããå°ããªãµã€ãããŸã ãããŸãããããèãã人ã¯æãæããŠãã ããããããã£ãŠãããã§ã¯SSLã䜿çšãããšããæå³ã§åžžã«ååã§ããã ãã ããGoogle Adsã¢ããªã±ãŒã·ã§ã³ã®ãã®ã©ã³ãã£ã³ã°ããŒãžã®ãããªäžéšã®ããŒãžã§ã¯ãåŒãç¶ãããã©ã«ãã§æšæºã®HTTPãããã³ã«ã䜿çšãããŸãã å¿é ããå¿ èŠã¯ãããŸããããŠãŒã¶ãŒããŒã¿ãå¿ èŠãšããªãéçãªå ¬éããŒãžã§ãã ãããããããã®åé¡ãç解ããŠããç§ã®ãããªäººã¯ã[ãã°ã€ã³]ãã¿ã³ãã©ãã«ã€ãªãããããã§ãã¯ããŸãã ãã®ãã¿ã³ãã¯ãªãã¯ããåŸãäœãçããªãäžè¬ãŠãŒã¶ãŒã¯ãã£ãã·ã³ã°ãµã€ãã«ãªãã€ã¬ã¯ããããããã§ç»é²ããŒã¿ãå ¥åã§ããŸãã
ãŸããããã§ã¯HTTPã䜿çšãããŠãããããããã¯äŸç¶ãšããŠåé¡ã§ãã
2çªç®ã®åé¡ã¯ãTLSãã©ã³ã¹ããŒãå±€ä¿è·ãããã³ã«ãååŸããããšã¯ã2015幎ã§ãã£ãŠãäŸç¶ãšããŠéåžžã«é¢åãªããšã§ãã ãããèãã人ã¯èª°ã§ãæãäžããããŠãã ããã ããããèŠãŸãã ãããè¡ãå Žåã¯ãwiki.cremehost.comã«ã¢ã¯ã»ã¹ããŠãCAã«ãã£ãŠèªèšŒãããé»å眲å蚌ææžãè³Œå ¥ããããã«å¿ èŠãª12ã®æé ã確èªã§ããŸãã ãŸããããªãã¯ãŸã ã¢ã«ã³ãŒã«äžæ¯è ã§ã¯ãããŸããããããªãã«ãšã£ãŠããã®æé ã¯éåžžã«éå±ã§ãã
TLSã®æ§æã«ãããæéãèæ ®ããŠãã ããã ããã«ã€ããŠã®ãããªããããŸãã EFFã®ååã®å€ããTLSãæ§æã§ãããã©ããã話ããŸãããã誰ããããè¡ã£ãããšã¯ãããŸããã ç§ã®ãããªãããŸãããããšãé¡ã£ãŠããŸãã
ããŒã1-ããŒã«ãŒãã®ã³ãºãEFF掻å家ã
ãããã«ã¡ã¯ãããŒã«ãŒãä»æ¥ã¯äœãããŠããŸããïŒã
-ãã¹ããµã€ãã«HTTPSãã€ã³ã¹ããŒã«ããããšããŠããŸãã
ããŸããããã¯æ¥œããã§ããïŒã
-ãŸã åãããªããããããŸããã
-ããªãããããã©ããããã«ã€ããŠã®ãããªãäœãããšã¯ã§ããŸããïŒ
-ã¯ããã§ããŸãïŒ
-ãããïŒ
ãããŠãããªãã¯åœŒãå°é£ã«ãããããã®ãèŠãã 圌ã¯[ã¢ã·ã¹ã¿ã³ã]ãã¿ã³ãã¯ãªãã¯ããããŒãžãäœåºŠãèªã¿èŸŒãŸããŸããã倱æããŸãã ããããä»æ¥åœŒã¯æåããªãã ãããšèšã£ãŠãç§ã¯å»ããŸãã
ããŒã2-ãã¢ã
ããã§ãåæ§ã®ããã»ã¹ãç¶ãããã¢ã¯åèšã§çŽ9æéããããŸããã 圌ã¯èªåã®ã¡ãŒã«ã§äœãèµ·ãã£ãŠããã®ãã蚌ææžã®èšå®æ¹æ³ãç解ã§ããªãã®ã§ãã³ãŒããŒã飲ã¿ã«è¡ããŸãã 3æéåŸãç§ã¯åœŒã«æ»ããŸãã
ãããã¯ç§ãã¡ãä¿è·ããããšããŠãããµã€ãã§ããã ãããŠããã®ãã¿ã³ã¯åã³éã¢ã¯ãã£ãã«ãªããŸãã ããã§èšŒææžããã蟌ãããšã¯ã§ããŸããã ããã¹ãŠã®ãã£ãŒã«ããæºããããŠããããã§ã¯ãããŸãããããšããã¡ãã»ãŒãžãå±ããŸãã ç§ã¯åã³ããããåããããšããŸãã ããã§ããããã§ãšãããšããç¢æãçŸããŸããïŒ ãããç§ããããªã«æéãè²»ãããçç±ã§ããïŒ
ããŠãç¶ããŸããããç§ãã¡ã®ãµã€ããç«ã¡äžããŠã¿ãŠãã ããã ãã©ãŒã ã®ããããããŠã³ã¡ãã¥ãŒã§èŠã€ããŠã¯ãªãã¯ãããåŸ ã¡ãã ãã...
æ å ±ãç»é¢ã«è¡šç€ºããããã¢ã¯é©ããŸãããããããŠãããã¯ã©ãããæå³ã§ããïŒ ç§ã®æèŠã§ã¯ãããã¯åŠ¹ã®æçŽãäœããã®è«æ±æžãæ¯æãã§ãã ããã¯ç§ã®ãã©ãŠã¶ã§ããïŒâ
ããã«1æéçµéããŸãã ãã¢ã«æ»ããŸãããã¢ã¯ã圌ã®ãµã€ãã®æå·åã»ãã¥ãªãã£ããŒã®èšŒææžã®ååŸã®æåã確èªããæçŽããŸã åŸ ã£ãŠããŸãã 圌ã¯ãèªèšŒãµãŒãã¹ã䜿çšããŠæè¬ã®æçŽãåãåã£ããšèšããŸãããæçŽã«ç€ºããããªã³ã¯ããã©ãããšããŠãã圌ããäœãåºãŸãããããã¯ããããã圌ã®åŽã®ãããã·ãµãŒããŒã«åé¡ãããããã§ãã
ãã¢ã¯ã1æéãçµéãããã®éã«èšŒææžãååŸããè©Šã¿ãããã«ããã€ã倱æãããšèšããŸãããäœãèµ·ãããŸããã§ããã ãã®æ²ãããããªããaã³ããŸãã
ãã®ãããèªèšŒããã»ã¹ã«æ°æéããããå€ãã®ãšã©ãŒã«é¢é£ä»ããããå€ãã®å Žå倱æããããšã確èªããŸããã
åé¡3ã¯ãTLSã®æ§æããããã«ããããšã§ãã
ãã¹ãŠãç§ãã¡ã®ããã«å®ç§ã«é²ãã ãšä»®å®ããŠã蚌ææžãååŸãããµãŒããŒã«ã€ã³ã¹ããŒã«ããããšããŸãã ãããã圌ã®èšå®ã¯ãã¹ãŠéåžžã«æ··ä¹±ããŠããŸãã æ°å¹Žåã人ã ã¯ãRC4ã¹ããªãŒã æå·ããããŸããéåžžã«å¹æçã§ãïŒã ãããä»ã2015幎ã«ãCloudFlareã³ã³ãã³ãé ä¿¡ãããã¯ãŒã¯ã®ããã¯ãªã©ã®å°é家ã¯ãRC4ãç Žå£ããå¿ èŠããããšäž»åŒµããŠããŸãã
ãã1ã€ã®äŸã¯ãã»ãã¥ã¢ããã·ã¥ã¢ã«ãŽãªãºã SHA-1æå·åããã·ã¥ã¢ã«ãŽãªãºã ã§ããããã¯ããã®ããã·ã¥ãšèšŒææžãã§ãŒã³ã䜿çšãããµã€ããé ããæ©ãããChromeããã³Firefoxãã©ãŠã¶ãŒã«ãã£ãŠå®å šã§ãªããšèªèããããããå®å šã§ãªããšèŠãªãããŸãã
ãããã£ãŠããSHA-256ïŒDeliveranceããšããæ ç»ã«æ³šç®ããŸãã ãã®æ ç»ã¯ãèªåã®Webãµã€ãã§èª€ã£ãŠSHA-1ã䜿çšãããšããŠéé£ãããä»äºããè¿œãåºãããç·æ§ã«é¢ãããã®ã§ãã 圌ã¯ã¢ãŒã¬ã³ã»ããªãŒãã³ã«äŒãã圌ãå®éã«SHA-256ã䜿çšããŠããããšã人ã ã«çŽåŸãããããã«ãã€ãè²»ãããŠããŸãã åœã®ãã¹ãŠã®æ ç»é€šã§èŠãŠãã ããïŒ åè«ã§ããïŒ
次ã«ããPOODLE SSlv3ã®è匱æ§ãããµãŒããŒãä¿è·ããæ¹æ³ããšããã¿ã€ãã«ã®æ¬¡ã®åé¡ã«é²ã¿ãŸãããã SSL v.3æå·åãããã³ã«ã¯Logjamæ»æã®åœ±é¿ãåãããããäžé©åã«èšå®ãããWebãµãŒãã¹ãŸãã¯ã¡ãŒã«ãµãŒããŒã§ç¢ºç«ãããTLSæ¥ç¶ã解èªãŸãã¯ã¯ã©ãã¯ããå¯èœæ§ãããããã人ã ã¯ãããæŸæ£ãããšèšããŸãã
ç¬ç«ããç 究æssllabs.comãå®æœãããµã€ãç£æ»ã®çµæã瀺ããããšæããŸãã ã芧ã®ãšãããletslabcrypt.orgãµã€ãã¯æé«ã®A +è©äŸ¡ãæã¡ãã»ãã¥ãªãã£ã®é¢ã§æé«ã®ãµã€ãã®1ã€ã§ããããã¯ãssllabsãæ·±å»ãªçµç¹ã§ãããä¿¡é Œã§ããããã§ãã æšå¥šãªã¹ãããææ°ã®æå·ã䜿çšããŸãã Fã®æå°è©äŸ¡ãåããä»ã®ãµã€ãã衚瀺ãããŸããåé¡ã¯ãå€ãã®äººã ããŸã SSLãæ£ããæ§æã§ãããå£ããæå·åã䜿çšããŠããããšã§ãã
åé¡ïŒ4ã¯æ··åã³ã³ãã³ãããããã¯ããŠããŸãã SSLã䜿çšãããšãµã€ãããããã¯ãããå ŽåããããŸãããHTTPãä»ããŠãã¹ãŠã®ãªãœãŒã¹ãããŠã³ããŒãããŸãã ãã©ãŠã¶ã¯ããã®ãŠãŒã¶ãŒãHTTPSã»ãã¥ãªãã£ã¬ãã«ã«ç§»åããå¿ èŠããããšèããŠãããããHTTPã³ã³ãã³ãããããã¯ããŸãã ãã®çµæãHTTPçµç±ã§ã¹ã¯ãªãããããŠã³ããŒããããšããµã€ãã¯æ©èœããªããªããŸãã æ°æ©åã«ç¢ºèªããLenovoã®å ŽåãHTTPSã䜿çšã§ããŸããããããã©ã«ãã§ã¯HTTPã䜿çšããå¿ èŠããã£ãããããã©ã³ããã¢ããããŒãããããšããã§ããŸããã§ããã ã¹ã©ã€ãã§HTTPSã®ã¿ã䜿çšããŠãããµã€ãã玹ä»ããŸãã
Peterãšç§ã¯ããã©ãŠã¶ãŒæ¡åŒµæ©èœã®ãµããŒãã«åãçµãã§ããŸãã ãããã£ãŠãChromeãã©ãŠã¶ãŒã䜿çšãããšããã®ãã¹ãŠã®ãªãœãŒã¹ãHTTPSãšããŠèªã¿åãããšãã§ããããšãããããŸãã ã€ãŸãããµã€ããå®å šã§ãªãç¶æ ããå®å šãªç¶æ ã«å€ããããšãã§ãã䟿å©ãªããŒã«ããããŸãã ãµãŒãããŒãã£ã®ã³ã³ãã³ãã䜿çšããŠãããSSLããµããŒãããŠãããã©ããããããªãå Žåã¯ãéçºè ã®ããŒã«ã衚圢åŒã§äœ¿çšããŠéã¶ããšãã§ããŸãã ããã¯ããªãœãŒã¹ã®æžãæãã«åœ¹ç«ã¡ãŸããããã¯éåžžã«åœ¹ç«ã¡ãŸãã
ãå®å šã§ãªããªã¯ãšã¹ãã®ã¢ããã°ã¬ãŒããããå®å šã§ãªããªã¯ãšã¹ãã®æŽæ°ããšåŒã°ããæ°ããããŒãžã¿ã€ãã«ãããããã©ãŠã¶ããããèŠããšããµã€ããšãªã³ã¯ã®ãã¹ãŠã®ãµããªãœãŒã¹ãHTTPã§èšè¿°ãããŠããŠãHTTPSã«å€æããå¿ èŠãããããšãç解ããŸãã ãããã£ãŠããã®ããããŒããµã€ãã«äœ¿çšã§ããŸãã
åé¡ïŒ5ã¯ãã»ãã¥ãªãã£èšŒææžãçºè¡ããä¿¡é Œã§ããçµç¹ãå€ãããããšã§ãã 1幎åãããŒã¿ãŒã¯ãç»é¢ã«è¡šç€ºãããéåžžã«è€éãªããŒãã«ãæããŸããã ããŒã¿ãŒã圌女ã®æå³ã説æããŠãã ããïŒ
Peter Eckersleyæ°ã¯ãããã¯å®å šãªå°å³ãšã¯ã»ã©é ãããäžéšã«éããªããšè¿°ã¹ãŠããŸãã 2010幎ã«SSL Odservatoryãããžã§ã¯ãã«ãã£ãŠDEFCONã§çºè¡šãããŸããã åœæãFirefoxã«ã¯66ã®èªèšŒã»ã³ã¿ãŒããããIEã«ã¯ã»ãŒ150ã®èªèšŒã»ã³ã¿ãŒãããããšãããããŸããã ã€ã³ã¿ãŒããããã¹ãã£ã³ãããšãããããããã¹ãŠä»ã®èªèšŒæ©é¢ã«ãã£ãŠæ¿èªããã³èªèšŒããããã©ãŠã¶ã«ãã£ãŠä¿¡é ŒãããŠããããšã確èªããŸããã ãããã¯ãŒã¯äžã®äœçŸãã®çµç¹ããã¡ã€ã³ã䟵害ããå¯èœæ§ã®ããèªèšŒãµãŒãã¹ã»ã³ã¿ãŒã§ããCASã¯æ°åãããããã¯æãããããã«èŠããŸããã æšå¹ŽãGoogleã¯äžåœã®èªèšŒå±ã«ãã£ãŠçºè¡ããã誀ã£ã蚌ææžãçºèŠãããããããã¯Webãµã€ãã®ã»ãã¥ãªãã£ã«å¯Ÿããåãªãçè«çãªæ»æã§ã¯ãããŸããã
ãããŠä»ãç§ã¯ããŒã¿ãŒã«åºãæž¡ããŸããããŒã¿ãŒã¯ç§ãã¡ãå°æ¥äžçãã©ã®ããã«èŠãŠããããæããŠãããŸãã
ãããã®åé¡ã®è§£æ±ºçãã©ã®ããã«èããŠãããã«ã€ããŠèª¬æããŸãã ãŸããç¡æã®èªååããããªãŒãã³ãªç¬èªã®LetsEncrypt蚌ææžèªèšŒã»ã³ã¿ãŒãäœæã§ããŸãã ããªãã¯ãã®ãžã§ãŒã¯ã楜ããã§ããããã§ãïŒ
å®éãã»ãã¥ãªãã£ãšãããå¿ èŠãšãããã¹ãŠã®ãµã€ãã®äž¡æ¹ã®è©³çŽ°ãªã¬ãã¥ãŒãå¿ èŠã§ãã ã»ãã¥ãªãã£ãšäœ¿ãããããåæã«æäŸãããœãªã¥ãŒã·ã§ã³ãå¿ èŠã§ãã
Webéçºè ãšåŒã°ãã人ã¯ãSSLè匱æ§ã®äœ¿çšã«é¢ãããã¹ãŠã®è©³çŽ°ã«æ·±ãå ¥ããããªãããããããå¿ èŠãšããŸããã ãããã£ãŠãçããªããã°ãªããªãæãéèŠãªè³ªåã¯ã蚌ææžãã©ã®ããã«çºè¡ãããã§ãã çŸåšã®ç¶æ³ã¯èæ¯ã®å Žé¢ãé£æ³ãããã®ã§ãããªããããã«è¡ãããã«åœãããããšã-ç§ã¯ã©ãã§ãããæã£ãŠããªãã®ã-ç§ã¯äœãç¥ããŸããã ãããŠãããªãããããæã£ãŠãããšãããã¯ããªãã«èŠæ±ããããã®ã§ã¯ãªãããšãå€æããŸãã
ããŒãããšããæ°åã§æå®ãã質åã¯ããã»ã«ãããŒãã£ã³ã°ããšåŒã°ããŸãã ããã¯ãæ¢åã®ãªãã·ã§ã³ã䜿çšããŠæ°ãããªãã·ã§ã³ãäœæããããšãæå³ããŸãã å€ãæå·åã«åºã¥ããŠãã©ã®ãœãªã¥ãŒã·ã§ã³ã䜿çšããå¿ èŠããããŸããïŒ ãã®è³ªåã«å¯Ÿããéåžžã®çãã¯ããã¡ã€ã³æ€èšŒDVããŸãã¯ãã¡ã€ã³åã®åæ³åã§ãã ããã¯åãã«ã®æ¯æããå¿ èŠãšããŸãããã¢ãã¬ã¹ã«æçŽãéããããµã€ãã«ãªã¯ãšã¹ããæçš¿ããŠã»ãã¥ãªãã£ãããã³ã«ãã¢ããã°ã¬ãŒãããã ãã§ååã§ãã
Let's Encryptã¯ã©ã®ã¿ã€ãã®DVã䜿çšããŸããïŒ ããŠã³ããŒãã®å Žåãããã¯ããŒã443ãä»ããDVSNIãããã³ã«ããŸãã¯ãããã·ãµãŒããŒã䜿çšããå Žåã®ããŒã88ãä»ããåçŽãªHTTPã§ãã ãã®å ŽåãCASã¯ãµã€ãã管çããããã®ç®¡çè æš©éã確èªããŠããµã€ããæ§æã§ããããã«ããŸãã ã¬ã¿ãŒã«ç€ºãããŠãããªãœãŒã¹ãžã®ãªã³ã¯ã䜿çšããŠãTLSã®å¿çããã³ãã·ã§ã€ã¯ãã確èªãããªãœãŒã¹ã«å¯ŸããŠããã€ãã®ãã¹ãæ»æãå®è¡ããŠããªãœãŒã¹ãå®å šã§ããããšã確èªããŸãã
DNSåãåæ³åããå¯èœæ§ã«ã€ããŠå€ãã®äººãã質åããããŸããåŸã»ã©ãããŒã443ããã³100ã®DVSNI 2ãã¡ã€ã³ã®ãããã³ã«ãã¢ããã°ã¬ãŒãããå¯èœæ§ãšãšãã«ããã®æ©èœãã¯ã©ã€ã¢ã³ãã«å®è£ ããå¯èœæ§ããããŸããååã®å€æŽã®ä»£ããã«ã ããã¯ãéåžžã¯ãã¡ã€ã¢ãŠã©ãŒã«ããã¹ãããããŒã443ãªã©ã®ç¹å¥ãªããŒããå«ããããŸããŸãªããŒãã§å®è¡ã§ããŸãã ãŠãŒã¶ãŒã䜿çšãããããŒããã€ã³ã¿ãŒãããã®åºç¯ãªã¹ãã£ã³ãéããŠç£æ»ããæ©èœããããŸãã
å€ãã¯ããã¡ã€ã³ã®æ€èšŒã«é¢é£ãããã¹ãŠãæããŠããŸãã ãã®å Žåã®ã€ã³ã¿ãŒãããã¯ãæ å ±ã®ãã±ãããéä¿¡ããæ¹æ³ã§ããããŒã¯ããŒã«ã§ããããã«èŠããŸããæ å ±ã®ãã±ããã¯ããã¹ã®éäžã§æ¶ããäžéšã¯ããªãã«æ»ã£ãŠããã¯ããæ¬åœã«ãã®ãã¡ã€ã³ã§ãïŒããšèšããŸãã ããã±ãŒãžãéªæªãªã¢ã³ã¹ã¿ãŒã«é£ãããããéäžã§å€æŽããããã¯ããããŸããã ã«ãŒã¿ãŒãŸãã¯DNSãµãŒããŒãé©åã«ä¿è·ãããŠããªãå Žåãæ»æãåããå¯èœæ§ããããŸãã äžèšã®æ¹æ³ã¯ããŸãå®ç§ã§ã¯ãªãããããããé«åºŠãªãæ€èšŒææ³ã䜿çšã§ããŸãã å€å€éæ€èšŒãã¹ã䜿çšããŠãããŒã¿ã»ã³ã¿ãŒãµãŒããŒãã¯ãŒã«ãã¯ã€ããŠã§ãã®ä»ã®ãªãœãŒã¹ã䜿çšããæ€èšŒèŠæ±ã®è€æ°ã®ããŒãžã§ã³ãŸãã¯DNSã¯ãšãªã®è€æ°ã®ããŒãžã§ã³ãäœæã§ããŸãã ãã®æ¹æ³ã¯ããã匷åãªæµã®æ»æããããªããä¿è·ããŸããããªããªãã被害è ã®ã«ãŒã¿ãŒã®è匱æ§ãå©çšããŠããããéããŠããªãã«å°éã§ããããã§ãã ãããã£ãŠãDVã¯ãã€ã³ã¿ãŒãããå šäœã®ã»ãã¥ãªãã£ã€ã³ãã©ã¹ãã©ã¯ãã£ãäœæããå Žåã«ä¿è·ããæåã®æ¹æ³ã§ã¯ãããŸããã
ãã ããæé«ã®ä¿è·ãªãã·ã§ã³ããããŸãã 幞ããªããšã«ãäžèšã®ãç¹ç¯ããŠããªãã€ã³ã¿ãŒãããé«ééè·¯ã§ã®æ è¡ãã¯äžåºŠã ãå®äºããå¿ èŠããããŸãã 5幎åã«DEFCONã«ã³ãã¡ã¬ã³ã¹ã§SSL調æ»ãããžã§ã¯ãã«ã€ããŠè°è«ããŸãããããã以æ¥ãFirefoxãšGoogleã®ãŠãŒã¶ãŒã®ãµããŒãã®ãããã§äžé£ã®èª¿æ»ãå®æœããŸããã 蚌ææžã®å€§èŠæš¡ãªããŒã¿ããŒã¹ãšã·ã©ãã¹å šäœïŒèª€è§£ã®ãªã¹ãïŒãã§ããã®ã§ããã¥ãŒãžãŒã©ã³ãéè¡ã®ãã¡ã€ã³åã確èªããããã«æ±ããããå Žåã§ãããã®äººãå©ããããšãã§ããŸãã ãã®éè¡ã®äŒæ¥ãããã¯ãŒã¯ã¡ãŒã«ãèããããšã¯ãããŸããããã¯ã©ã€ã¢ã³ãã«èšŒææžããŒã¿ããŒã¹ã調ã¹ãŠããã®ãã¡ã€ã³åã«æ€èšŒèšŒææžãããããšã確èªããããã¢ããã€ã¹ããããšãã§ããŸãã
ããŒã¿ããŒã¹ãžã®ã¢ã¯ã»ã¹ã¯ãããŒã443ã®ã¹ãã£ã³ãCTïŒèšŒææžã®éææ§ïŒæšæºã®ãã°ã®è¡šç€ºããŸãã¯ã¯ã©ã€ã¢ã³ãã®èŠæ±ã«ããæäŸãããŸãã æå·åãããŠããªããã¡ã€ã³ãæ€èšŒããã€ããã¯ãããŸããããæ¢åã®åæ³åããã蚌ææžã®ç§å¯éµãææããŠããããšã蚌æãããããé¡ãããŸãã ãããã£ãŠãèªèšŒãããã»ãã¥ãªãã£èšŒææžã®ããŒã®æçŽãæ¢ã«ææããŠããå Žåã¯ããã€ã§ã蚌ææžãŸãã¯å¥ã®CASã®èšŒææžãååŸã§ããŸãã
ããã¯éåžžã«äŸ¿å©ã§ã¯ãããŸããããªããªãããã®ããŒãæ¢ãå¿ èŠãããããã§ãã çŽå€±ããå Žåã¯ãèªèšŒæé å šäœãå床å®è¡ããèšå®ã®ããã±ãŒãžå šäœã®æéãæ¯æãå¿ èŠããããŸãã
TOFUèªèšŒãæåã®äœ¿çšæã®ä¿¡é Œã«ã€ããŠèããããšããããªãããã®ã¡ã«ããºã ã¯æåã®ããŒéä¿¡ã䟵害ãããŠããªããšããäºå®ã«äŸåããŠããããã®ããŒãèšæ¶ããçªç¶å€æŽããããšãã«ã»ãã¥ãªãã£ç¢ºèªãæåŠããããšãç¥ã£ãŠããŸãã æãå¯èœæ§ãé«ãã®ã¯ãSSHã»ãã¥ã¢ã·ã§ã«ã¢ãã«ã«æ £ããŠããããšã§ãã ããã¯å Žåã«ãã£ãŠã¯è¯ã解決çã§ãã
次ã«éèŠãªåé¡ã¯ãTLSãšHTTPSã®åé¡ã§ãã Ianãæ¢ã«è¿°ã¹ãããã«ãTLSã誀ã£ãŠèšå®ãããšããã®åé¡ãçºçããŸãã ãã®å ŽåãããŒãã«ããã°ãžã£ã ãããããã¬ãŒãæ»æã«å¯ŸããŠè匱ã§ãã ãã®åé¡ã解決ããããã«å¿ èŠãªã®ã¯ããµãŒããŒã§å®è¡ãããå¿ èŠã«å¿ããŠéæ³ã®ããã«èšå®ããã¯ã©ã€ã¢ã³ãã ãã§ãã èšå€§ãªæ°ã®ãµã€ãããµãŒããŒãèšå€§ãªæ å ±ãããããã¹ãŠã®èŠä»¶ãæºããããã«çå£ãªç¥èãå¿ èŠã ããã§ãã ç§ãã¡ã¯ãåé¡ã®è§£æ±ºã«è²¢ç®ããããšããŠãã人ã ã®å°ããªããŒã ã§ãã TLSãæ£ããæ§æããããŒã«ãå¿ èŠãšãããã¹ãŠã®äººãšããŒã«ãå ±æããããšèããŠããŸãã
ãµããŒãããã¯ã©ã€ã¢ã³ãã®ç®æšã¯äœã§ããïŒ ãŠãŒã¶ãŒããã®ã¯ã©ã€ã¢ã³ãã6ãæãŸãã¯1幎éåä¿¡ãããã®å©ãã«ãããApache / Nginxãšã³ãžã³ãŸãã¯å¥ã®çŸåšã®ç¶æ ã«ããæ¢åã®ãµãŒããŒã®èšå®ãç¶æããå¿ èŠãªå€æŽãè¡ã£ãŠãçµæã®èšŒææžãã€ã³ã¹ããŒã«ãããšããäºå®ã«ãããŸãã åæã«ãã¯ã©ã€ã¢ã³ãã¯ããµãŒããŒã®ç¹å®ã®æ§æã«æé©ãªçµæãåŸãããã«æé©ãªæ¹æ³ã§ã»ãã¥ãªãã£æ©èœã調æŽããçŸåšã®èŠä»¶ã«åŸã£ãŠã»ãã¥ãªãã£ã·ã¹ãã ãèªåçã«æŽæ°ããŸãã ã€ãŸããHTTPã®äœ¿çšæã«å€§ããªåé¡ãåŒãèµ·ããã»ãã¥ãªãã£ã€ã³ã·ãã³ãã«èªåçã«å¯ŸæããŸãã
ã»ãã¥ãªãã£èªååãšã¯ã©ãããæå³ã§ããïŒ ããã¯ãããŸããŸãªè€éãã®ã¿ã¹ã¯ã®å šç¯å²ã§ãããèªåã¢ãŒãã§è§£æ±ºãããŸãã ç°¡åãªã¿ã¹ã¯ã«ã¯ãæå·æå·åã»ããã®æ§æãOCSPãããã¹çããããã³CSPã¢ããã°ã¬ãŒããå«ãŸããŸãã ã»ãã¥ãªãã£èšå®ãæŽæ°ãããŠãæ··åã³ã³ãã³ãããããã¯ã§ããæ··å蚌ææžãããã§äœ¿çšããå¿ èŠããããããçŸä»£ã®ã¯ã©ã€ã¢ã³ãã®HTTP 302ïŒãªãã€ã¬ã¯ãã³ãŒãïŒããHTTPSãžã®å€æã¯ããè€éã§ããæ°ããã³ã³ãã³ãã«ã¯æ°ãããå€ãHTTPã³ã³ãã³ãã«ã¯å€ãã äžçšåºŠã®è€éãã®ã¿ã¹ã¯ã¯ããã¡ã€ã³åãå€æŽãããå Žåã®ããŒã®èªåæŽæ°ãšåå²ãåœãŠã§ããããŸããããããå€ãååã®ã»ãããšæ°ããååã®ã»ãããå¿ èŠã ããã§ãã
課é¡ã¯ã蚌ææžãšHSTSãå®å šã«æžãæããããšã§ãã HSTSã¯ãHTTPãããã³ã«ã䜿çšãã代ããã«ãHTTPSãããã³ã«ãä»ããŠåŒ·å¶ã»ãã¥ã¢æ¥ç¶ãã¢ã¯ãã£ãã«ããã¡ã«ããºã ã§ããããã«ãããã»ãã¥ã¢æ¥ç¶ãããã«ç¢ºç«ã§ããŸãã HSTSã䜿çšããªãå Žåããµã€ãã¯å®å šã«ä¿è·ãããŸãããããã®ã¡ã«ããºã ã«ã¯ãäžé©åãªã»ãã¥ãªãã£èšå®ã®å Žåã«ãµã€ãã眮ãããšãã§ããããã€ãã®ç§å¯ã®ããããã£ããããŸãã
æ倧ã®èª²é¡ã¯ãæ··åã³ã³ãã³ãã®ç£æ»ãšä¿®æ£ã§ãã , .
, CA , , , , . ?
, , , .
, . :
- ACME ;
- ;
- Certificate Transparency.
CA HPKP, HTTP Public Key Pinning, . Key Pinning â ( ) . « ».
, , , .
, Let'sEncrypt, EFF, Mozilla .
, - HTTPS , , , TLS-. , - Linux , HTTPS , 20-30 .
- ISRG, EFF, Mozilla, Cisco, Akamai, IdenTrust Automatic. CAS ISRG Mozilla, EFF Mozilla, â EFF , , .
7 , - , CA 16 .
, , , . . , , , , , , , .
, .
.
, . , Python, .
encryption-example.com, , , , â HTTPS.
, , TLS Trust. , â , , TLS â HTTPS .
. Apache. , .
, , . TLS , HTTPS.
, , encryption-example.com. , , , . 30 .
, encryption-example.com . â , HTTPS. , .
, , . HTTP- . , HTTP, OCSP stapling .
, , , SSL HTTPS. , , , .
-, .
, , . Let'sEncrypt.
, -, , . , , .
, . .
質åïŒ
â â ?
:
â ! , , , CA, ? ! . â , . , CA. , , . , , .
質åïŒ
â , , cPanel VPS-?
:
â , , , API, Python. API , .
質åïŒ
â CRL?
:
â , . , , Google , , . , , C, .
質åïŒ
â Apache Nginx. , Chef Puppet?
:
â , Chef Puppet. , .
質åïŒ
â API , , - API?
:
â , API .
質åïŒ
â , SSL? , ?
:
â , , . X.509, . , , . , , , , . .
質åïŒ
â TLS , « ». , encryption-example.com 80, « » TLS. ?
:
â , , «», «» . , , HSTS. , , . HSTS, , , . , « » .
質åïŒ
-ããé«ã¬ãã«ã®ã¯ã€ã«ãã«ãŒã蚌ææžããµããŒãããŸããïŒ
PeterïŒ
-䜿çšãããŠããAPIã¯ããã®ãããªèšŒææžã®ãµããŒããèš±å¯ããŠããŸããããå°æ¥ãã®å¯èœæ§ãæé€ããŸããã
質åïŒ
-ã¯ã©ã€ã¢ã³ãã䜿çšããŠ.localãã¡ã€ã³ã確èªã§ããŸããïŒ
PeterïŒ
ãã®å ŽåãTLSã䜿çšããããšã¯æå³ããªããšæããŸãã競åããªããã¡ã€ã³åãäœæãããããããã®ãã¡ã€ã³ã®æ°ãããã©ãŠã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ãäœæããããåªåããå¿ èŠããããŸããããããããã®ããŒã«ã«ããŒã ã¹ããŒã¹çšã«æ°ããTOFUã¢ãã«ãäœæããå¿ èŠããããŸããããããªãã¯WebããŒãã³ã°ã¹ããŒã¹ããåé¢ããå¿ èŠããããŸãã
ãæ»åšããã ãããããšãããããŸãã ç§ãã¡ã®èšäºã奜ãã§ããïŒ ããèå³æ·±ãè³æãèŠããã§ããïŒ æ³šæããããå人ã«æšå¥šããããšã§ãç§ãã¡ããµããŒãããŸããHabrãŠãŒã¶ãŒãç¬èªã«çºæãããšã³ããªãŒã¬ãã«ãµãŒããŒã®ãŠããŒã¯ãªé¡äŒŒåã§30ïŒ å²åŒïŒ VPSïŒKVMïŒE5-2650 v4ïŒ6ã³ã¢ïŒ10GB DDR4 240GB SSD 1Gbps 20ãã«ãŸãã¯ãµãŒããŒãåå²ããæ¹æ³ïŒ ïŒãªãã·ã§ã³ã¯RAID1ããã³RAID10ãæ倧24ã³ã¢ãæ倧40GB DDR4ã§å©çšå¯èœã§ãïŒã
Dell R730xdã¯2åå®ãã§ããïŒ ãªã©ã³ããšã¢ã¡ãªã«ã§249ãã«ããIntel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 TVã2å°æã£ãŠããã ãã§ãïŒ ã€ã³ãã©ã¹ãã©ã¯ãã£ãã«ã®æ§ç¯æ¹æ³ã«ã€ããŠèªãã§ãã ããã ã¯ã©ã¹Rã¯ã1ç±³ãã«ã§9,000ãŠãŒãã®Dell R730xd E5-2650 v4ãµãŒããŒã䜿çšããŠããŸããïŒ