HTTPS åãã Web ãã©ãèããã
Update
- 2015/5/8: ææé ããã¿ã¤ãã誤訳ãªã©ãæ´æ°ãã¾ããã
- 2015/5/8: æ§æãä¸é¨ä¿®æ£ãã¾ããã
Intro
4/30 mozaiila ã®ã»ãã¥ãªãã£ããã°ã«ä¸è¨ã®ãããªã¨ã³ããªãæ稿ããã¾ããã
Deprecating Non-Secure HTTP | Mozilla Security Blog
ã¨ã³ããªã¯ããã¾ã§é·ããªãã®ã§ãããã«ç¿»è¨³ã®å ¨æãè¨è¼ãã¾ãã ããã¦ãå ã¨ã³ããªã®ã©ã¤ã»ã³ã¹ã§ãã CC BY-SA 3.0 ã«åãã æ¬ã¨ã³ããªãåãã CC BY-SA 3.0 ã¨ãã¾ãã
Deprecating Non-Secure HTTP
åæ: Deprecating Non-Secure HTTP
ä»æ¥ã¯ã non-secure 㪠HTTP ãããå¾ã ã«å»æ¢ãã¦ããã¨ããæ¹éã«ã¤ãã¦ã¢ãã¦ã³ã¹ãã¾ãã
HTTPS ã Web ãåé²ãããæ段ã§ããã¨ããç¹ã¯ãåºãåæãå¾ããã¦ãã¾ãã ããæ°ã¶æã§ãã IETF, IAB (ãã£ã¡ã® IAB ã§ã), W3C, ãã㦠ã¢ã¡ãªã«æ¿åº ã«ããã¦ãã ã¤ã³ã¿ã¼ãããã®ã¢ããªã±ã¼ã·ã§ã³ã§ã¯ãæå·åéä¿¡ãåºã使ããã¨ãã声æãåºã¦ãã¾ãã Web ã«ã¤ãã¦è¨ãã°ããã㯠HTTPS ã§ãã
ã³ãã¥ãã㣠ML ã§ã®æ´»çºãªè°è«ãè¸ã¾ãã Mozilla ã¯ã»ãã¥ã¢ãª Web ã®éçºã«æ°ããéçºãªã½ã¼ã¹ãæå ¥ããã»ãã¥ã¢ã§ãªã Web ããæ©è½ãåãé¤ãå§ãã¦ããã¨ããåæã«ãããã¾ããã ãã®è¨ç»ã¯ã大ããäºã¤ã®è¦ç´ ããæãã¾ãã
- æéã¨ãªãæ¥ã決ãããã®æ¥ä»¥éã¯ã»ãã¥ã¢ãª Web ãµã¤ãã§ããããã¹ã¦ã®æ°ããæ©è½ã使ããªããã¾ãã
- ç¹ã«ãã¦ã¼ã¶ã«ã¨ã£ã¦ã»ãã¥ãªãã£ããã©ã¤ãã·ã¼ä¸ã®ãªã¹ã¯ãçºçããå¯è½æ§ãããæ©è½ã«ã¤ãã¦ã¯ãå¾ã ã«ã»ãã¥ã¢ã§ã¯ãªã Web ããã¯ã¢ã¯ã»ã¹ã§ããªãããã«ãã¦ããã¾ãã
æåã®ã¹ãããã¨ãã¦ã¯ããã®æéãã³ãã¥ããã£ã§æ±ºããå¿ è¦ãããã¾ããããã¦ãã©ãããæ°ãããæ©è½ãªã®ããå®ç¾©ããå¿ è¦ãããã¾ãã ä¾ãã°ããæ°ãããããPolyfill ã§ããªãæ©è½ãã¨å®ç¾©ãããªã©ãèãããã¾ãã ãããªãã CSS ãä»ã®ã¬ã³ããªã³ã°ã®æ©è½ã¯ããã¼ã¸ä¸ã§ (<canvas> ãªã©ã使ã£ã¦) åç¾ãããã¨ã§ãå¼ãç¶ãã»ãã¥ã¢ã§ã¯ãªã Web ã§ã使ããã¨ãã§ãã¾ãã ããããä¾ãã°ãã¼ãã¦ã§ã¢ã®æ©è½ã«ã¢ã¯ã»ã¹ãããããªãã®ã¯ãå¶éããã¾ãã
ãã®ãã©ã³ã®äºã¤ç®ã®è¦ç´ ã¯ãã»ãã¥ãªãã£ã¨äºææ§ã®ãã¬ã¼ããªããè¸ã¾ãã¦é²ãå¿ è¦ãããã¾ããã»ãã¥ã¢ã§ãªã Web ããæ©è½ãåãã°ãå£ãããµã¤ããåºãããããã¾ããã ãã®ãããç§ãã¡ã¯ãã®ç ´æå ·åãã¢ãã¿ããã»ãã¥ãªãã£çãªã¡ãªããã¨ã®ãã©ã³ã¹ãåãå¿ è¦ãããã¾ãã åæ§ã«ç§ãã¡ã¯æ¢ã«ãã»ãã¥ã¢ã§ã¯ãªããµã¤ããã使ãããæ©è½ã®ããç·©ãå¶éã«ã¤ãã¦ãèãã¦ãã¾ãã ä¾ãã°ã Firefox ã¯ãã§ã«ã«ã¡ã©ããã¤ã¯ã¸ã®ã¢ã¯ã»ã¹æ¨©éã®æä¹ çãªåå¾ããã»ãã¥ã¢ã§ãªã Web ã«ã¯è¨±ãã¦ãã¾ããã(訳注: http:// ã ã¨æ¯åèãããã¨ããæå³) ã»ãã¥ã¢ã§ã¯ãªã Cookie ã®ã¹ã³ã¼ãã«ã¤ãã¦ãå¶éããææ¡ããªããã¦ãã¾ãã
注æãã¦é ãããã®ã¯ããã®ãã©ã³ã¯ URI ã¹ãã¼ãã¨ãã¦ã® "http" ãå¤ãã³ã³ãã³ãã§ã使ããªããªãã¨ããæå³ã§ã¯ãªããã¨ã§ãã HSTS ã CSP ã® upgrade-insecure-requests å±æ§ã使ããã¨ã§ã
http://
ã¹ãã¼ãããã©ã¦ã¶ã«ãã£ã¦èªåã§https://
ã¨è§£éãããã»ãã¥ã¢ã«ãªãã¾ãããã®åãçµã¿ã®ã´ã¼ã«ã¯ã Web éçºè ã³ãã¥ããã£ã«ã Web ãã»ãã¥ã¢ã«ããã¹ãã ã¨ããã¡ãã»ã¼ã¸ãéããã¨ã§ããããã®åãçµã¿ã¯ Web ã®ã³ãã¥ããã£ã¨å¼·èª¿ãã¦é²ãããã¨ã§æãææãå¾ããã¾ãã ç§ãã¡ã¯ãã¾ããªãW3C ã® WebAppSec Working Groupã«å¯¾ãã¦ä½ããã®ææ¡ãä½æããã¤ããã§ãã
ãã® ML ã§è°è«ã«åå ãã¦ãããå¤ãã®äººã«æè¬ãã¾ãã Web ãããã»ãã¥ã¢ã«ãã¾ãããï¼
Richard Barnes, Firefox Security Lead
è¦ããã«ã©ããããã¨ã
ç°¡åã«è¨ãã°ããããããã® Web ã http://
ã使ãã https://
ãä¸å¿ã¨ããã»ãã¥ã¢ãªä¸çã«ãã¦ããããã¨ããææ¡ã§ãã
ããã¾ã§ãããããå®ç¾ããããããå¼ã³ãããã¨ããã¬ãã«ã§ã¯ Mozilla ã Google å«ãå¤ãã®äººãå¤ãã®å ´æã§è¡ã£ã¦ãã¾ããã ãããã Web ã«ã¯ãã§ã« HTTP ã§å ¬éããããµã¼ãã¹ãå¤ãæããããã¯å¾ã ã«ãã移è¡ãã¦ãããã¨ãã§ãã¾ããã
ããã§ããããããå ¬éãã Web ã«ã¤ãã¦ã¯ã極å HTTPS ã«ãããã¨ããç¶æ ãä¿ãããã«ãããããã Web ã«å ¥ãæ°ããæ©è½ã¯ã HTTPS ã®ãµã¤ããããªãã¨ä½¿ããªããããããã«ãããã¨ã§ãéçºè ã«HTTPS ã¸ã®ç§»è¡ãä¿ãã¨ãããã¨ã§ãã
ãã®ããã®ä½æ¥ã¨ãã¦ãã¾ã以ä¸ãããã¾ãã
- ããããã¤ãããããï¼
- æ°ããæ©è½ã£ã¦ã©ãã®ãã¨ãï¼
ãã詳細ãªãã©ã³ã¯ããã«æ¸ããã¦ãã¾ãã
Insecure HTTP Deprecation Plan
ä½ãããã£ã¦ããã®ãï¼
è¨ãã¾ã§ãããã¾ãããã Web ãä¸è¬åãããã®ä½¿ããæ¹ãå¤å²ã«ãããããã«ãªãã¾ããã ããã家㧠PC ãéãã¨ãã ãã§ãªããæ®æ®µæã¡æ©ãæ§ã ãªç«¯æ«ã Web ã«ã¤ãªããã ãã®ä¸ã§ SNS ãã¡ã¼ã«ãéèåå¼ã¾ã§ãããããã¨ãè¡ãã¾ãã
人ãããã«ä¾åããã°ãåæã«æ»æããã¡ãªãããã©ãã©ãå¢ãã¦ããã¾ãã
空港ãã«ãã§ã§ Wifi ã使ãã°ããã®ãã±ããã¯ã ããã«çã¿è¦ããã¦ããããããã¾ããã ã©ããããéããã¦æ¥ãã¡ã¼ã«å ã®ãªã³ã¯ã¯ãç½ ãµã¤ãã«éãã¦ããããããã¾ããã ããã¦ãã¹ãã¼ãã³äºä»¶ã«ãã£ã¦ NSA ã¨ããç±³å½æ©é¢ã¾ã§ããã大è¦æ¨¡ãªçè´ãå®æ½ãã¦ããå¯è½æ§ãã§ã¦ãã¾ããã
ã¨ã¯ããã Web ã®ã¦ã¼ã¶ã®å¤ãã¯ããããã³ã«ãæå·ã®ç¥èãªã©ç¡ãã§ãããã ãããã人ã«ãå®å ¨ã«ä½¿ããããã«ãå®å ¨å´ã«åããã¦ããã®ã¯å¿ ç¶ãã¨æãã¾ãã
ãã°ã¤ã³ç»é¢ã ã HTTPS ã§å¾ã¯ HTTP ã¨ããæ§æãå¤ãæããã¨æãã¾ããã 誰ãã©ãã§ä½ãçè´ãã¦ããããããããªã以ä¸ããã©ããæå·åãã¹ãããã§ã¯ãªããåºæ¬çã«å ¨ã¦æå·åãããã¨ããèãã«ç§»è¡ãã å®éãããã£ããµã¼ãã¹ã¯å¢ãå§ãã¦ãã¾ãã Google ã Twitter ã Github ã®ã³ã³ãã³ãã¯ãããããããä»ã¾ã§ãªãããã°ã¤ã³ç»é¢ã¨è¨å®ç»é¢ä»¥å¤ã¯å¹³æã§è¯ãã ãããã¨æããã¦ããããããã¾ããããå®éããããµã¼ãã¹ã¯ãã« HTTPS åãå®äºãã¦ãã¾ãã
ã¾ããæ°ããåºã¦ãã Web ã® API ããããã³ã«ã«ã¯ãã»ãã¥ãªãã£ä¸ã®çç±ãã HTTPS ã§ç¡ãã¨ä½¿ç¨ã§ããªããã®ãããã¾ãã(å¾è¿°)
ä¸æ¹ã§ã HTTP ã§å ¬éããç¶ãã¦ããå¤ãã³ã³ãã³ãããæ°ããã«ãããããã HTTP ã§å ¬éãããã³ã³ãã³ãã¯ã¾ã ã¾ã ããã¾ãã
Mozilla ã ãã§ãªã Google ãå§ãã¨ããå¤ãã®å£ä½ãä¼æ¥ããããããæ°ããå ¬éãããã³ã³ãã³ãã«ã¤ãã¦ã¯æ¥µå HTTPS ã«ç§»è¡ããããã«å¼ã³ããã¦ãã¾ããã ä»åã®ææ¡ã¯ããããããå éããããã«ãä¸å®ã®å¶ç´ãè¨ãããã¨ã§ãéçºè ã® HTTPS ã¸ã®ç§»è¡ãä¿ããã®ã¨è§£éã§ããã§ãããã
ã©ããªã£ã¦ããã®ãï¼
端çã«è¨ãã°ãæå·åãã¹ããã©ãããã§ã¯ãªãããæå·åããªãçç±ããããããèãããã¨ã«ãªã£ã¦ãããã ã¨æãã¾ããã¤ã¾ããåºæ¬ã¯ HTTPS ã¨ããä¸çã§ãã
å人çã«ã¯ãã£ã¨æ±ã£ã¦ãããã¼ãã§ãããã¾ããã Web ã® HTTPS åã£ã¦ããã®ã¯çµæ§åããå§ã¾ã£ã¦ãã¾ããã ããããããããæ¬æ ¼çã«ããããæ代ã«ãªã£ã¦ãããã ãªã¨ããæ°ããã¾ãã
ãã¡ããã Web ã«æºãã£ã¦ãã人ãªãæãã¨ããã¯ããã§ããããã§ãããããããäºãè¨ã£ã¦ãããå±é¢ã§ã¯ãªãã®ããããã¾ããã
ãããå¹³æ http ã¯ãããã°ãããããã telnet ã§ãéä¿¡ã§ããããå®è£
ããããããã証ææ¸ãè¦ããªãããå
¨é¨ https ã¨ãããããªãããã¿ãããªèãã¯ã Web ã®è²¬åã¨ãé«åº¦åãã API ãè¸ã¾ãã㨠"ç§æç" ã¨è¨ããããããªãã¨ããã¾ã§æ¥ãã¨ãããã¨ãã
— Jxck (@Jxck_) May 1, 2015
ããã¦ã API çã«è¨ã£ã¦ããæ°ãããã¨ããããããã° HTTPSãã«ãªã£ã¦ããå®æã¯ããã¾ããã
- HTTP2 ã«ããã
- ServiceWorker ãç»é²ããã
- ãªãã©ã permission è¦æ±ããããªã(getUserMedia etc)
ãã®è¾ºãã¢ããã¼ã·ã§ã³ã«ãªããå¤å°ç¡çãã¦ã§ããã°ã¤ã³ä»¥å¤ã HTTPS åã«è¸ã¿åããµã¼ãã¹ã¯ã§ã¦ãããããªãã
— Jxck (@Jxck_) April 17, 2015
ã§ãä»åã®ææ¡ã¯ãããéæã«åãã¨ãããããããHTTPS ãããªãã¨æ°ãããã¨ãã§ããªããã®ãã¥ã¢ã³ã¹ãå¼·ããã¨ãããã¨ã§ãããã
俺èªèº«ã¯ãç¹ã«ããã¸ãã¹ç¨éãã§ãããããä½ãããã®ã§ããã°ã HTTPS ãé¸ã°ãªãçç±ã¯ãã¾ãç¡ãã¨æã£ã¦ãã¾ãã
ãããã Web ã¯å¥ã«ãã¸ãã¹ã ãã®åºç¤ã§ã¯ããã¾ãããã©ããªä½¿ãæ¹ãã§ãã¦ãä½ããã¦ãããã
ããããµã¾ãã¦ä¸çªæ°ã«ãªã£ã¦ããã®ã¯ã
ãããã Web ã窮å±ã«ããã®ãã©ããã
ã§ãã
確ãã«ããããã°ãã«ãããªã©ã®æ°æã¡ããããã¾ããèªåãèªåã®ãµã¤ã ã«ã¯ã¤ã«ãã«ã¼ã証ææ¸ãå ¥ãå¹´é 26000 åãããæã£ã¦ãã¾ãã
ã§ããä¾ãã°éã³ã§ä½ã£ã WebRTC ã ServiceWorker ãæªç¨ããã¦èª°ãã«è¿·æããããå ´åã©ãã§ãããã ããããäºä¾ããã£ãå ´åã証ææ¸ã§æ¤è¨¼ã§ããªããã¡ã¤ã³ã§å ¬éããããã¢ã¢ããªã¯æ軽ã«è©¦ããã§ããããï¼ ä¿ºã«ã¯ã¾ã ãã®çãã¯ãããã¾ããã ã§ããããã¯ããããã® Web ãèããä¸ã§éè¦ãªåé¡ã ã¨æãã¾ãã
åç´ã«æ¯éã ãã§å²ãåããåé¡ã§ã¯ãªãããåã ã®ç«å ´ãã³ã³ããã¹ãã«ãã£ã¦çµè«ã¯å¤ãã£ã¦ããã§ãããã å¿ è¦ãããã°å£°ãä¸ããå¿ è¦ãæãããå¿ è¦ã«å¿ãã¦æºåããã¦ããå¿ è¦ãæãã¾ãã
ä»åã¯ãããããè°è«ãããä¸ã§ç¥ã£ã¦ããã¹ãåãã«ã¤ãã¦ç¥ã£ã¦ããç¯å²ã§ç´¹ä»ãã¾ãã
ç¥ã£ã¦ããããåã
ããå°ãæè¡çãªå´é¢ããã HTTPS ãè¦æ±ãããæµãããã®çç±ãç´¹ä»ãã¾ãã
æ°ãããããã³ã«ããã®è¦ç¹
æ°ãããããã³ã«ã Web ã«ãããã¤ããã«ã¯ãä¸éã«å ¥ãå ¨ã¦ã®ãããã¯ã¼ã¯æ©å¨(Proxy, FireWall, NAT ãªã©ã Intermedialies ã Middle Box ã¨è¨ããã) ãããã®ãã±ãããæ£ããééãããå¿ è¦ãããã¾ãã
ä¾ãã° WebSocket ã HTTP2 ã®å¹³æéä¿¡ã使ã£ã¦ãã Upgrade ãããã¯ã Middle Box ã§æå³çã«è½ã¨ããã¦ãã¾ãæ¥ç¶ã確ç«ã§ããªãå ´åãå ±åããã¦ãã¾ãã ã¾ããæ°ãããããã³ã«ãæ°ãããã¼ãã«å²ãå½ã¦ãã«ã¯ãå ¨ã¦ã® FireWall ã§ãã®ãã¼ãã空ããå¿ è¦ãããã¾ãã
ãã®ãã¿ã¼ã³ã«å¯¾å¦ããä¸çªç°¡åãã¤ç¢ºå®ãªæ¹æ³ã®ä¸ã¤ããçµè·¯ãæå·åãã¦ãã¾ãäºã§ãã End-to-End ã§æå·åããã¦ããã°ã Middle Box 㯠Upgrade ãããã¯ãã¨ãããèªåãçµç±ãããã±ãããä¸åè¦ãäºãã§ããªããããåºæ¬çã«ã¯ä¸¸ã£ã¨éããããªããªãã¾ãã ãã㦠HTTPS ã®ããã©ã«ããã¼ãã§ãã 443 ãéãã¦ãã¾ãã°ãæ°ããªç©´ã空ããå¿ è¦ãæãã¾ããã
HTTP2 ã QUIC ãããã§ããããã«ãä»å¾åºã¦ããæ°ãããããã³ã«ã«ã¤ãã¦ããåæ§ã« TLS+443 ã¨ããçµã¿åããã«è¼ã£ã¦ããå¯è½æ§ãäºæ³ããã¾ãã
æ°ãããã©ã¦ã¶ API ããã®è¦ç¹
æè¿ãã©ã¦ã¶ã«è¿½å ãããæ°ããæ©è½ã®ä¸ã«ã¯ãé常ã«éè¦ãªæ å ±ããã¼ãã¦ã§ã¢ã¸ã®ã¢ã¯ã»ã¹ãè¡ã API ãããã¾ãã ãããããã®ã¯ãä»æ§èªä½ãæåããæå·ååæã§ä½ããã¦ãããã®ãããã¾ãã
ä¾ãã° WebRTC ã®é信㯠DTLS ã§ã®æå·åãå¿ é ã«ãªã£ã¦ãã¾ãã
ServiceWorker ã¯ã HTTPS ã§ãªãã¨ç»é²ãããã¨ããã§ãã¾ããã
ããã¦ã WebRTC ã¨ã»ããã§ãã使ããã getUserMedia ã«ããã«ã¡ã©ããã¤ã¯ã®ã¢ã¯ã»ã¹ã¯ã HTTPS ã§ã¯ååã®ã¿ä½¿ç¨è¨±å¯ãæ±ãããã¾ããã HTTP ã®å ´åã¯æ¯åæ±ãããã¾ãã
æè¿ã®æµãã§è¨ãã°ããã©ã¦ã¶ã®ããªãä½ã¬ãã«ãªæ©è½ã¸ã¢ã¯ã»ã¹ãã API ãæ´åããã¤ã¤æãã¾ãã ããããä»æ§ã®çå®ã¯ãã»ãã¥ãªãã£ãµã³ãããã¯ã¹åãé常ã«éè¦ã«ãªããæ éã«è¨è¨ããã¦ãã¾ãã
ããããçç±ããããããããåºã¦ããæ°ãã API ã«ã¤ãã¦ã HTTP ã§ã¯ãããã使ããªãããããã¯å¶éãããããã®ã¯å¢ãã¦ããã¨äºæ³ããã¾ãã
移è¡ãå©ããä»æ§ãªã©
å ¨ã¦ãæå·ååæã«ããã¨ãã£ã¦ããç¾å®çã«é£ããå ´é¢ããããã¨ã¯æ¢ç¥ã®åé¡ã§ãã ããããåé¡ã«å¯¾ãã解決çããããã«æºããåé¿çã¨ãã¦ãæè¿ãã話é¡ã«ã¤ãã¦ç´¹ä»ãã¦ããã¾ãã
Explicit Trusted Proxy
ãã¹ã¦ã®éä¿¡ãæå·åãããã¨éã«å°ãå ´é¢ãèãããã¾ãã ä¾ãã°ããã¢ã¬ã³ã¿ã«ã³ã³ããã¼ã«ãã¦ã¤ã«ã¹å¯¾çã®ãããªãã£ã«ã¿ãªã³ã°ãµã¼ãã¹ãããããã¤ããªã©ãæä¾ãã¦ããå ´åã éä¿¡ãæå·åããã¦ãã¦ã¯ãä¸èº«ãè¦ããªãã®ã§ãã£ã«ã¿ãªã³ã°ã§ãã¾ããã åãããã«ãå¹³æã ã£ãããæä¾ã§ãããµã¼ãã¹ã¯å®ã¯è²ã ããã¾ãã
ããã§ããããããµã¼ãã¹ãæä¾ãã Proxy ããã¦ã¼ã¶ãä¿¡é ¼ããä¸ã§æ示çã«è¨±å¯ããããã¨ã§ã ãã® Proxy ãéä¸ã§éä¿¡ãã»ã©ãã¦ããããããµã¼ãã¹ãæä¾ã§ããããã«ããããã®ä»æ§ãèãããã¦ãã¾ãã è¦ããã« MITM ãæ示çã«è¨±ãã¨ããã¤ã¡ã¼ã¸ã§ãã
ããã "Explicit Trusted Proxy"(æ示çã«ä¿¡é ¼ããã Proxy) ã¨å¼ã°ããè°è«ããã¦ãã¾ãã
- draft-loreto-httpbis-trusted-proxy20-01 - Explicit Trusted Proxy in HTTP/2.0
- HTTP/2における明示的プロキシ(Explicit Trusted Proxy)について | nunnun's weblog
Opportunistic Encription
HTTPS 㯠TLS ã§æå·åããããã TLS ã®æã¤è¨¼ææ¸æ¤è¨¼ã®ä»çµã¿ãªã©ã使ãã¾ãããã®ããã¯ã©ã¤ã¢ã³ãã¯ããµã¼ããæ示ãã証ææ¸ã CA ã«åãåããã¦æ¤è¨¼ããç¸æã確èªããå¿ è¦ãããã¾ãã
ã¨ããããNSA ã®ãããªå¤§è¦æ¨¡ãªçè´ãèããã¨ããç¸æã®æ¤è¨¼ãã¨ãã£ã HTTPS ã®å¤§äºãªé¨åãç ç²ã«ãã¦ã§ã ãã¨ããããéä¿¡çµè·¯ãæå·åãã§ããã¨ããããã¨ããèãæ¹ãã§ãã¾ãã
ãããå®ç¾ããã®ã "Oppotunistic Encription"(é称 OE) ã¨å¼ã°ããæ¹å¼ã§ãæ¥æ¬èªã§ã¯ "æ¥åè¦æå·" ã¨å¼ã°ãã¾ãã
ALT-SVC ã¨ããããããç¨ãã¦ã¯ã©ã¤ã¢ã³ããæå·åéä¿¡ã«èªå°ãã¾ãã ããããæ¤è¨¼ãè¡ãããªããã¨ãåæãªããã証ææ¸ã¯ããããããªã¬ãªã¬è¨¼ææ¸ãã§ãµã¼ãã§ãã¾ãããã ãã¨ã©ã¼ç»é¢ã¯åºã¾ããã
ãã¡ããæ¤è¨¼ãè¡ãããªããã TLS ã®ä»çµã¿ããè¦ã¦ãå®å ¨ãªéä¿¡ãã¨ã¯è¨ãåãã¾ããã 移è¡ãå¯è½ã§ããã° TLS ã«ããããã§ããªãå ´é¢ã¸ã®å¯¾å¿ã¨ããã¨ãã«ãªãã§ãããã
Upgrade Insecure Request
HTTPS ã§æä¾ãããã³ã³ãã³ãã®ä¸ã« HTTP ã§æä¾ããã JS ãç»åã iframe ãªã©ã®ã³ã³ãã³ããå«ã¾ããå ´åã HTTP ã®ã³ã³ãã³ããæ¹ãããããã¨ãããçµç±ã㦠HTTPS ã®ã³ã³ãã³ããæ»æãããå¯è½æ§ãããã¾ãã
ããããæ··å¨ããã³ã³ãã³ã㯠Mixed Content ã¨å¼ã°ããç¾ç¶ãã©ã¦ã¶ã¯ã³ã³ãã³ãã«å¿ãã¦ä»¥ä¸ã®ãããªã¢ãã©ã¼ãã³ã¹ãæä¾ãã¾ãã
- HTTPS ã§ãã URL ãã¼ã® TLS 表示ã«ãã¼ã¯ãä»ã
- ã³ã³ã½ã¼ã«ã« warn ã error ã¡ãã»ã¼ã¸ã表示ãã
- HTTP ã³ã³ãã³ãããããã¯ãã
ç¹ã«ã³ã³ãã³ãããããã¯ãããå ´åãæ£ãã表示ã«ãªããªããªãã¾ãã
ããã¯ãå¤ãã®ã³ã³ãã³ãã http://
ã® URL ã§ãã¼ãã³ã¼ããããã³ã³ãã³ãã«ã¨ã£ã¦ã¯é ã®çãåé¡ã§ã
ããã HTTPS ã¸ã®ç§»è¡ã妨ããåå ã«ãªãå ´åãããã¾ãã
(ãã©ãã ã§ã¯ BBC ã NYT ãªã©ã®è¨å¤§ãªã¬ã¬ã·ã¼ã³ã³ãã³ããä¾ã«åºãã¦ãã¾ãã)
ãã® Mixed Contents ã¸ã®å¯¾çã¨ãã¦ææ¡ããã¦ããã®ã Upgrade Insecure Requests ã§ãã
ãã㯠CSP ã®ãããã« Upgrade Insecure Requests ãæå®ããã¨ãã³ã³ãã³ãå
ã® http://
ãªã³ã¯ã https://
ã«æ¸ãæãã¦ãªã¯ã¨ã¹ããçºè¡ãã¦ãããã¨ãããã®ã§ãã
ããã«ãã URL ããã¼ãã³ã¼ããããã³ã³ãã³ãããã³ã³ãã³ããä¸åãããããµã¼ãã®è¨å®å¤æ´ã ã㧠HTTPS ãªã³ãªã¼ã«ç§»è¡ã§ããã¨ãããã¨ã§ãã
content-security-policy: upgrade-insecure-requests
ããããããã¾ã§åç´ãªä¾ã°ããã§ã¯ãªããããå®éã¯ããç´°ããè¨å®ãå¯è½ã«ãªã£ã¦ãã¾ãã
- Upgrade Insecure Requests
- Upgrade insecure requests - Chromium Dashboard
- DEMO: Upgrade Insecure Requests Sample
ã¡ãªã¿ã«æå¾ã®ãã¢ã¯ãã¬ã¹ãã³ã¹ãããã§ã¯ãªã meta ã¿ã°ã§æå®ããã¦ãã¾ãã
Let's Encrypt
TLS ã®è¨¼ææ¸åå¾ã«ã¯ã種é¡ãªã©ããã©ãããªãã®è²»ç¨ããããã¾ãã ãã¡ããããã¸ãã¹ã§ãã£ã¦ããã®ã§ããã°ãããã¹ã証ææ¸ãè²·ãã¹ãã ã¨æãã¾ããã å人ã§è¶£å³ã§ãã£ã¦ãããµã¤ããªã©ã§è¨¼ææ¸ãå ¥ããã®ã¯ãæ軽ã¨ã¯è¨ããªãç¾å®ãããã¾ãã
ããã§ã Mozilla ã Cisco ã Akamai ãªã©ãå ±åã§ä½ã£ãã®ã "Let's Encrypt" ã§ããã ããã¯èª°ã§ãç¡æã§æ軽ã«è¨¼ææ¸ãåå¾ã§ããã¨ãããã®ã§ãã
ç¡æãªãããä¾ãã°çµç¹ã®èº«å ã証æãããããªæ©è½ã¯ç¡ããåç´ã«ãã¡ã¤ã³ã®ææ権ãæ£ããããè¦ã(DV 証ææ¸)ã ãã®ãã®ã«ãªã£ã¦ãã ãã¸ãã¹ç¨éã§ä½¿ããã®ã§ã¯ããã¾ããããå人ã趣å³ã§ä½¿ããã¡ã¤ã³ãªã©ã«ä½¿ããã¨ãã§ãã¾ãã
ããã©ã¼ãã³ã¹é¢é£
TLS ã«ããã°ã TCP ã® 3-way-handshake ã«å ãã¦ããã¤ãã®ããåãã両è éã§çºçãã¾ãã éä¿¡ãã両è ã ãã§ãªãã CA ãªã©å¤é¨ã¨ã®ããåããçºçãã¾ãã æ¥ç¶ã確ç«ããå¾ã¯ãå¹³æã® HTTP ã«æ¯ãã¦æå·/è¤åã®è¨ç®ã³ã¹ãã追å ããã¾ãã
ããããããããåé¡ã¯æ¢ç¥ã§ãããæé©åã®æ段ãæ´åããã¤ã¤ããå°è±¡ã§ãã
ä¾ãã°ã以ä¸ã®ãããªãã®ãããã¾ãã
- Session Resumption/Session Ticket ãªã©ã«ããæ¥ç¶éå§ã®ç°¡ç¥å
- OCSP-Stapling ã«ãã失å¹ç¢ºèªã®æé©å
- AES-NI ã«ãããã¼ãã¦ã§ã¢ãµãã¼ãã«ããé«éå
ãã®è¾ºã¯ããã®ãã¡ã¾ãå¥éã¾ã¨ãã¦æ¸ãããã¨æãã¾ãã
Acknowledgement
翻訳é¨å㯠@jovi0608 ããã«ã¬ãã¥ã¼é ãã¾ããã
ã¾ãå ¬éå¾ä»¥ä¸ã®æ¹ã ã«ãã£ã¼ãããã¯ãé ãã¾ããã
æé£ããããã¾ããï¼