ãªãããªããã¦ã§ããµã¤ããHTTPSåããã¨ãµã¤ããé ããªã£ã¦ã¦ã¼ã¶ã¼ãéãã¦ããã®ã
ãå®å
¨ã«é£ãã¿ã¤ãã«ã§ããã©ä¸èº«ã¯çé¢ç®ã«æ¸ããã
ãè¿å¹´ãã¦ã§ããµã¤ãã®HTTPSåãæµè¡ã®ããã«ãªã£ã¦ãããç§ã®ç¥ãéããGoogleã®å種ãµã¼ãã¹ãTwitterãFacebookãªã©ãå®å
¨ã«HTTPSã§éä¿¡ãè¡ãããã«ãªã£ã¦ãããHTTPSãã¤ã¾ãSSLã«ããéä¿¡ã®æå·åã«ãã£ã¦ãã¦ã¼ã¶ã«ããã¾ã§ãããå®å
¨ãªã¦ã§ããµã¤ããæä¾ã§ããã
ãããããããªããä½ã£ã¦ãããµã¤ãããµã¨æãã¤ãã§HTTPSåãã¦ãã¾ãã¨ããã¶ããããã¾ã§ããããµã¤ããé
ããªããããã§ã¯ãHTTPSã§éä¿¡ããå ´åã®åé¡ã解説ããã
ãªãé ããªãã®ã
ãHTTPã§éä¿¡ããå ´åãã¯ã©ã¤ã¢ã³ãããµã¼ãã¸ã¨æ¥ç¶ããããã«ã¯TCP/IPã®3ã¦ã§ã¤ãã³ãã·ã§ã¤ã¯ã¨ããæé ãå¿
è¦ã«ãªããããã©ãããã®ã§ããã§ã¯è©³ããã¯èª¬æããªãããè¦ããã«ã¯ã©ã¤ã¢ã³ãããªã¯ã¨ã¹ããæããåã«ãã±ãããï¼å¾å¾©ãããªãã¨ãããªãã®ã§ããããã±ããã®å¾å¾©ã«ã©ããããæéãããããã¯pingã³ãã³ãã§ç°¡åã«ç¢ºèªã§ããããã¨ãã°ãping www.kyoto-u.ac.jpã¨ãã³ãã³ããæã¤ã¨ãããããã¯äº¬é½ã«ãµã¼ããããã§ããã京é½å¤§å¦ã®ãµã¤ãã«ãã±ãããè¡ã£ã¦æ»ã£ã¦ããæéãè¨æ¸¬ã§ããã1å¾å¾©ã§ç´30msãããã ã£ããæ±äº¬-京é½éï¼500kmãããï¼ï¼ã§30msã¨ãããã¨ãè¦ãã¦ããããã
ã30msãã¤ã¾ã0.03ç§ã§ããã°ãããªã«å¤§ãããã¨ã®ãªãæ°åã§ããã
ãå®ã¯ãHTTPSã§ã¯éä¿¡ãã¯ãããåã«å¿
è¦ãªãã±ããã®ããåãã3å¾å¾©ã«ãªãã3å¾å¾©ããã¨ãªãã¨0.09ç§ãããã»ã¨ãã©0.1ç§å¾
ãããããã¨ã«ãªããã¡ãã£ã¨ãããã人éãç¥è¦ã§ãããããã®æéã«ãªã£ã¦ããã
ãä»ã«ãæªããã¥ã¼ã¹ããããSSLã®è¨¼ææ¸ã«ã¯OCSP(Online Certificate Status Protocol)ã¨ããè¨¼ææ¸ã失å¹ãããããã®ä»çµã¿ãããã®ã ããããé
ãã®ã§ããããã®ä»çµã¿ãè¦ç´ããã¨ãè¨¼ææ¸ãåãåã£ããå®éã«éä¿¡ãå§ããåã«OCSPã¬ã¹ãã³ãã¨å¼ã°ãã失广
å ±ã管çãããµã¼ãã«å¯¾ãã¦ãè¨¼ææ¸ã失å¹ãã¦ããªããã©ããã確èªãããã¨ãããã®ã§ãããå¥ã®ãµã¼ãã«åãåãããçºçãããããDNSã§ååã解決ãããããµã¼ãã«ãªã¯ã¨ã¹ããé£ã°ããããã¨ãã£ãæé ãå¿
è¦ã«ãªããéä¿¡ã®éå§ãé
ããããã§ãããå®ãSSLè¨¼ææ¸ã使ãã¨OCSPã¬ã¹ãã³ããæµ·å¤ã«ãããªãã£ãããã¦æªå½±é¿ã大ãããOCSPã¯æè¿ã®ãã©ã¦ã¶ã§ããã°ã»ã¼ç¢ºå®ã«å¯¾å¿ãã¦ããã
ããªãã§OCSPã®ãããªä»çµã¿ãå¿
è¦ãªã®ããè¨¼ææ¸ã¨ããã®ã¯æè¡çã«ã¯å
¬é鵿å·ã®å
¬ééµå´ãªã®ã§ã対å¿ããç§å¯éµãæ¼ããå ´åã«ã¯æªç¨ãé²ãããã«å¤±å¹ãããä»çµã¿ãã»ãããã¨ãããã¨ã§ãããªç¶æ³ã«ãªã£ã¦ããã以åã¯å¤±å¹ããéµã®ãã¼ã¿ãã¼ã¹ï¼Certification Revocation Listï¼ããã¦ã³ãã¼ãããã¨ããæ¹å¼ã ã£ãããã ããæè¿ã®ãã©ã¦ã¶ã¯å
¨é¨OCSPã«ç§»è¡ããã¿ããã ã
ãããã¾ã§ã®èª¬æãç¹°ãè¿ãã¨ãHTTPSã§éä¿¡ãè¡ããã¨ã«ãªãã¨ãTCP/IPã®åã§1å¾å¾©ãSSLã®åã§2å¾å¾©ã®é
ããçºçããOCSPãã§ãã¯ã§2å¾å¾©ãã4å¾å¾©ç¨åº¦ã¯ãã±ããã®å¾å¾©ãçºçããã4å¾å¾©ãã¨ããã®ã¯ãå®ãè¨¼ææ¸ã ã¨ä¸éè¨¼ææ¸ã¨ãããã®ãå
¥ã£ã¦ãããä¸éè¨¼ææ¸ã«ãOCSPãã§ãã¯ãå¿
è¦ã ããã§ãããOCSPãã§ãã¯ã§æµ·å¤ã«ãªã¯ã¨ã¹ããè¡ãå ´åã¯ãã®å¾å¾©ã¯30msã¨ããããªããããæ°åã§ã¯ãªãã1å¾å¾©ã§200msãããããã£ãããããå®éã«ã¯OCSPã«ã¯300msç¨åº¦ã¯ãããã®ããµã¤ãã¿ããã ã
ãã¨ãã訳ã§ãSSLã使ãã¨éä¿¡ãå§ã¾ãã¾ã§ãHTTPã®å ´åã¨æ¯ã¹ãæä½ã§ã120msç¨åº¦ã®é
å»¶ãçºçãããã¨ãè¦æããªãã¨ãããªãã®ã§ããã
ãGoogleでは0.4秒レスポンスが遅くなるとクエリ件数が0.6%程度減少するそうãªã®ã§ãããã120msç¨åº¦ã ã¨ãããªã«æ°ã«ããã»ã©ãããªãããªâ¦â¦ããã ãOCSPãã§ãã¯ã§0.5ç§ã¨ããããã¨ãã¡ãã£ã¨ç¡è¦ã§ããªãæãã«ãªã£ã¦ããã
éãããæ¹æ³ã¯ããã®ã
ãã¨ããããã§ãSSLã使ãã¨ãã¬ã¤ãã³ã·ãããç¨åº¦å¢ãããã¨ã¯ä»æ¹ããªããããããå¤å°ã®å¯¾çã¯åãæ§ãããã以ä¸ã§ã¯ããã¤ãã解説ããã
ã1ã¤ãã¯SSL False Startã¨å¼ã°ããSSLã®éä¿¡éå§æ¹å¼ã§ãããããã¯SSLã§å¿
è¦ãªãã±ããã®å¾å¾©åæ°ã2åãã1åã«æ¸ããã¦ãããããã ããã©ã¦ã¶å´ããµãã¼ããã¦ããªãã¨ä½¿ããªããGoogle Chromeã§ã¯ããã©ã«ãã§æå¹åããã¦ãããFirefoxã§ã¯å®è£
ããã¦ãããããã©ã«ãè¨å®ã§ã¯ç¡å¹ã«ãªã£ã¦ãããã¦ã¼ã¶ãGoogle Chromeã使ã£ã¦ãããã¨ãç¥ãã ããªã®ã§ã対çã¨ã¯å¼ã¹ãªãããæå¹ã§ã¯ããã
ã2ã¤ãã¯ãOCSPã¹ãã¼ããªã³ã°ã¨å¼ã°ããTLSã®æ¡å¼µã§ãããããã¯ãOCSPã¬ã¹ãã³ãã®è¿çãããããããµã¼ãå´ããã£ãã·ã¥ããéä¿¡æã«è¨¼ææ¸ã¨ä¸ç·ã«ã¯ã©ã¤ã¢ã³ãã«éãã¤ãããã¨ã§ãã¯ã©ã¤ã¢ã³ãã§ã¯OCSPã®ãã§ãã¯ãçç¥ã§ãããã¨ãããã®ã§ãããè¨¼ææ¸ã¨ä¸ç·ã«ãããã¹çããã¦ãã¾ãã¤ã¡ã¼ã¸ãªã®ã§ã¹ãã¼ããªã³ã°ã¨è¨ãã®ã ãããèªåã§èªåã®ä½¿ã£ã¦ãè¨¼ææ¸ãæ£ããã¨è¨ã£ã¦ãã ãã§å®å¿ã§ããªãã®ã§ã¯ãã¨ä¸ç¬æã£ã¦ãã¾ãã®ã ããOCSPã¬ã¹ãã³ãã®è¿çã¯æ¹ç«ã§ããªãããã«ãªã£ã¦ããã®ã§ãããã§ã大ä¸å¤«ã§ãããããã使ãã¨OCSPãã§ãã¯ãçç¥ã§ãããApacheã§ããã°2.4ç³»åã§ããã°å¯¾å¿ãã¦ãããNginxã¯ã¾ã å®å®çã§ã¯ãµãã¼ããã¦ãªãããã ãéçºçã§ã¯ãµãã¼ããã¦ãããOCSPã¹ãã¼ããªã³ã°ã¯å¼·åã ãã1ã¤ã®è¨¼ææ¸ã«å¯¾ãã¦ããã¹ãã¼ããªã³ã°ã§ããªãããã®ãããä¸éè¨¼ææ¸ã使ããã¦ããå ´åãOSCPãã§ãã¯ãå®å
¨ã«çç¥ã§ããããã§ã¯ãªãã
ããã®ä»ã«æå¹ãªå¯¾çã¨ãã¦ã¯KeepAliveã®ç§æ°ãåææ¥ç¶æ°ã®è¨å®ãè¦ç´ããã¨ãæãããããHTTPã»ãã·ã§ã³ã使ãã¾ãããã¨ãã§ããããä¸è¨ã®ãã¡ããã¡ãã¨ãããã±ããã®å¾å¾©ã¯å
¨é¨ãã£é£ã°ããã¨ãã§ããããã§ããããã ããååæ¥ç¶æã«ã¯å¹ããªãã
èè¶³
ãOCSP staplingã«ã¤ãã¦èª¿ã¹ãã¨ããã¶ãä¸ã®æ¹ã«Cloudflareã¨GlobalSignã®ææºã§SSLãéããªããããã¿ãããªè©±ãtechcrunchに載っていたがã®ãåºã¦ããã®ã ãããã®è¨äºã«ã¯ééããããã¤ããããã¨ãããã2ã¤ã®è©±ããã£ã¡ãã«ãã¦ãã¾ã£ã¦ãçµæã¨ãã¦ééããçãã¦ããã1ã¤ãã¯CloudflareãSSLçµç±ã§ãã¡ã¤ã«ãããªããªã¼ããéã«OCSP staplingãè¡ãããã«ãã¦é«éã«é
ä¿¡ã§ããããã«ãªã£ããã¨ãã話ã§ãããã«ã¯GlobalSignå´ã®ã·ã¹ãã ã«ã¯ä½ã夿´ã¯çãã¦ããªãã2ã¤ãã¯GlobalSignãCloudFlareã使ã£ã¦OCSPãµã¼ããä¸çä¸ã«é
åãããã¨ãã話ã§ããã¡ãã¯OCSP staplingã¨ã¯é¢ä¿ããªããï¼OCSP staplingã使ããªãã°OCSPãµã¼ãã¯å¤å°é
ãã¦ãåé¡ã¯ãªãããããå®éã«ã¯ä¸éè¨¼ææ¸ã®åé¡ãããããé
ãã¨åé¡ãªãã ãã©ãã¡ã¸ã£ã¼ãªä¸éè¨¼ææ¸ã£ã¦ããã¾ãå¤ããªãã¯ããªã®ã§æ¯è¼çåé¡ã¯å°ãªãâ¦â¦ã¯ãâ¦â¦ãï¼æç³»åãé常ã«è¿ãã話ãè¤éãªã®ã§ä»æ¹ããªãã¨æããCloudFlareのブログ記事の冒頭ã«OCSP staplingã®è©±ãè¼ã£ã¦ããã®ã§èª°ããåéãããã®ã ããã
ã調ã¹ã¦ãã¦æåã¯çå±ãéããã«æ··ä¹±ããã®ã§ãåãéãéãäººãæ¸ãããã«ããã«æ¸ãã¦ããã
åèURL
- http://www.imperialviolet.org/2010/06/25/overclocking-ssl.html
- http://blog.cloudflare.com/ocsp-stapling-how-cloudflare-just-made-ssl-30
- cloudflareãOCSP staplingãæå¹ã«ããæã®ããã°è¨äºãå®éã©ããããéããªãããæ¸ãã¦ããã
ã¾ã¨ã
- ãµã¤ããSSLåããã¨ååã®æ¥ç¶æã«0.xç§ç¨åº¦ã®é å»¶ãçºçãããã¨ã«ãªãã
- Global Signã®SSLè¨¼ææ¸ã使ãã¨OCSPãµã¼ããCDNã§ä¸çä¸ã«é
åããã¦ãã®ã§OCSPãã§ãã¯ãã ãã¶éãã
- ã§ãå人ã§è²·ãã«ã¯ã¡ãã£ã¨é«ããã ãããGlobalSignâ¦â¦ã
- ååæ¥ç¶æã®ãã¨ã¯ããããã¦ãKeep Aliveã®è¨å®ã¨ããè¦ç´ãã®ãããããªã¨æãã
- ã¨ãããããSSL使ãå ´åã¯ã©ãã ãé ããªãã®ãã¯ããããããã¹ããã¦ç¢ºèªããã»ããããã