ãã©ã³ã¹ãã¼ã層ã»ãã¥ãªãã£
ãã©ã³ã¹ãã¼ã層ã»ãã¥ãªã㣠(TLS, Transport Layer Security) ã使ç¨ããæ¥ç¶ã®ã»ãã¥ãªãã£ã¯ã鏿ããã¦ããæå·ã¹ã¤ã¼ãã¨ã»ãã¥ãªãã£å¼æ°ã«å¼·ãä¾åãã¾ãããã®è¨äºã®ç®çã¯ãã¯ã©ã¤ã¢ã³ãã¨ãµã¼ãã¼ã®éã®æ©å¯æ§ã¨å®å ¨æ§ã®éä¿¡ã確å®ã«ããããã«ã鏿ã®åèã«ãªããã¨ã§ãã Mozilla Operations Security (OpSec) ãã¼ã ã¯ããµã¼ãã¼ã®è¨å®é ç®ã®ãªãã¡ã¬ã³ã¹ãä»ããã¦ã£ãè¨äºã管çãã¦ãã¾ãã
ãã©ã³ã¹ãã¼ã層ã»ãã¥ãªã㣠(TLS) ãããã³ã«ã¯ããããã¯ã¼ã¯ã§çµã°ãã 2 ã¤ã®ã¢ããªã±ã¼ã·ã§ã³ã端æ«ããç§çã«ãã¤å¼·åºã«æ å ±äº¤æããããã®æ¨æºã§ãã TLS ã使ç¨ããã¢ããªã±ã¼ã·ã§ã³ã¯ãã»ãã¥ãªãã£å¼æ°ã鏿ãããã¨ãã§ããããã¯ããã¼ã¿ã®ã»ãã¥ãªãã£ã¨ä¿¡é ¼æ§ã«å¤§ããªå½±é¿ãä¸ããå¯è½æ§ãããã¾ãããã®è¨äºã§ã¯ã TLS ã®æ¦è¦ã¨ãã³ã³ãã³ããä¿è·ããããã«å¿ è¦ãªæ±ºå®ã®ç¨®é¡ã«ã¤ãã¦èª¬æãã¾ãã
æ´å²
HTTPS ãå°å ¥ãããã¨ã㯠Secure Sockets Layer (SSL) 2.0 ã¨ããã Netscape ããããããæè¡ã«åºã¥ãã¦ãã¾ããããã®å¾ã§éããªã SSL 3.0 ã«æ´æ°ãããç¨éãæ¡å¤§ããã¦ã§ããã©ã¦ã¶ã¼ã¨ãµã¼ãã¼ã®éã®ç¸äºéç¨æ§ãä¿è¨¼ããããã«ãå ±éã§æ¨æºåãããæå·åæè¡ãè¦å®ãããã¨ãå¿ è¦ã«ãªãã¾ããã Internet Engineering Task Force (IETF) 㯠TLS 1.0 ã RFC 2246 ã§ 1999 å¹´ 1 æã«è¦å®ãã¾ããã TLS ã®ç¾å¨ã®ãã¼ã¸ã§ã³ã¯ 1.3 (RFC 8446) ã§ãã
ã¦ã§ãã§ã¯æå·åã« TLS ã使ç¨ããããã«ãªã£ãã¨ããäºå®ã«é¢ããããå¤ãã®äººã ã¯ã¾ã ç¿æ £çã« "SSL" ã¨å¼ãã§ãã¾ãã
TLS ã¯ã©ã®ãããªä½æ°´æºã®ãã©ã³ã¹ãã¼ããããã³ã«ã®ä¸ã§ã使ç¨ãããã¨ãã§ãã¾ããããã®ãããã³ã«ã®æ¬æ¥ã®ç®æ¨ã¯ HTTP ãã©ãã£ãã¯ãæå·åãããã¨ã§ããã HTTP ã TLS ã§æå·åãããã¨ã¯ãä¸è¬ã« HTTPS ã¨å¼ã°ãã¦ãã¾ããæå·åããã¦ããªã HTTP ãæ¢å®ã§ 80 çªãã¼ãã使ç¨ããã®ã«å¯¾ãã TLS ã§æå·åãããã¦ã§ããã©ãã£ãã¯ã¯ãæ £ç¿ã¨ãã¦æ¢å®ã§ 443 çªãã¼ãã§äº¤ãããã¾ãã HTTPS ã¯å¼ãç¶ãã TLS ã®éè¦ãªç¨éã§ãã
HTTP over TLS
TLS ã¯ãããã¨äº¤æããããã¼ã¿ã®å®å ¨æ§ã¨ã»ãã¥ãªãã£ã確ä¿ããããã® 3 ã¤ã®ä¸»è¦ãªãµã¼ãã¹ãæä¾ãã¦ãã¾ãã
- èªè¨¼
-
èªè¨¼ã¯ãéä¿¡ã®åå½äºè ãç¸æãèªåã®ä¸»å¼µãã人ç©ã§ãããã¨ã確èªãããã¨ãå¯è½ã«ãã¾ãã
- æå·å
-
ãã¼ã¿ã¯ãã¦ã¼ã¶ã¼ã¨ã¼ã¸ã§ã³ãã¨ãµã¼ãã¼ã®éã§éä¿¡ããã¦ããéã¯æå·åããã¦ãããæ¨©éã®ãªãè ã«ãã£ã¦èªã¿åããããè§£éãããããããã¨ãé²ããã¨ãã§ãã¾ãã
- å®å ¨æ§
-
TLS ã¯ããã¼ã¿ã®æå·åããéä¿¡ã復å·åã¾ã§ã®éã«ãæ å ±ã®ç´å¤±ãç ´æãæ¹ãããå½é ããªããã¨ãä¿è¨¼ãã¾ãã
TLS æ¥ç¶ã¯ãã¯ã©ã¤ã¢ã³ãã¨ãµã¼ãã¼ãå ±æã·ã¼ã¯ã¬ããã«åæããæå·ã¹ã¤ã¼ãã®ãããªéè¦ãªãã©ã¡ã¼ã¿ã¼ããã´ã·ã¨ã¼ãããããã³ãã·ã§ã¤ã¯ãã§ã¼ãºããå§ã¾ãã¾ãã䏿¦ããã©ã¡ã¼ã¿ã¼ã¨ HTTP ãªã©ã®ã¢ããªã±ã¼ã·ã§ã³ãã¼ã¿ã交æããããã¼ã¿äº¤æã¢ã¼ãã«ãªãã¾ãã
æå·ã¹ã¤ã¼ã
TLS ã®ãã³ãã·ã§ã¤ã¯ããã´ã·ã¨ã¼ããã主ãªãã©ã¡ã¼ã¿ã¼ã¯ cipher suite ã§ãã
TLS 1.2 ããã³ãã以åã®ãã¼ã¸ã§ã³ã§ã¯ããã´ã·ã¨ã¼ããããæå·ã¹ã¤ã¼ãã«ã¯ãå ±æç§å¯ã®ãã´ã·ã¨ã¼ãããµã¼ãã¼ã®èªè¨¼ææ®µããã¼ã¿ã®æå·åã«ä½¿ç¨ãããæ¹æ³ãæä¾ããä¸é£ã®æå·ã¢ã«ã´ãªãºã ãå«ã¾ãã¦ãã¾ãã
TLS 1.3 ã®æå·åã¹ã¤ã¼ãã¯ä¸»ã«ãã¼ã¿ã®æå·åã管çããéµã®åæã¨èªè¨¼ã«ã¯åå¥ã®ãã´ã·ã¨ã¼ã·ã§ã³æ¹æ³ã使ç¨ããã¾ãã
ç°ãªãã½ããã¦ã§ã¢ã§ã¯ãåãæå·ã¹ã¤ã¼ãã«å¯¾ãã¦ç°ãªãååã使ç¨ãã¦ããå ´åãããã¾ããä¾ãã°ãOpenSSL ã GnuTLS ã§ä½¿ããã¦ããåå㯠TLS æ¨æºã®ãã®ã¨ã¯ç°ãªãã¾ããMozilla OpSec ãã¼ã ã® TLS è¨å®ã«é¢ããè¨äºã®æå·å対å¿è¡¨ã«ã¯ããããã®ååã¨äºææ§ãã»ãã¥ãªãã£ã¬ãã«ã«é¢ããæ å ±ãè¨è¼ããã¦ãã¾ãã
ãµã¼ãã¼ã®æ§ç¯
ãµã¼ãã¼ãæ£ããè¨å®ãããã¨ã¯é常ã«éè¦ã§ããä¸è¬çã«ã¯ããµã¤ãã«æ¥ç¶ã§ããããã«ããããã©ã¦ã¶ã¼ã¨äºææ§ã®ãããå¯è½ãªéãææ°ã®æå·ããµãã¼ãããããã«ãã¦ãã ãããMozilla OpSec ã¬ã¤ãã® TLS è¨å®ã§ã¯ãæ¨å¥¨ãããè¨å®ã«ã¤ãã¦ã®è©³ç´°ãªæ å ±ãæä¾ãã¦ãã¾ãã
ãµã¤ãã®è¨å®ãæ¯æ´ããããã«ãMozilla ã¯ä»¥ä¸ã®ã¦ã§ããµã¼ãã¼ç¨ã®è¨å®ãã¡ã¤ã«ãçæãã便å©ãª TLS è¨å®ã¸ã§ãã¬ã¼ã¿ã¼ãæä¾ãã¦ãã¾ãã
- Apache
- Nginx
- Lighttpd
- HAProxy
- Amazon Web Services CloudFormation Elastic Load Balancer
å¿ è¦ã«å¿ãã¦è¨å®ã使ããã«ã¯ãã³ã³ãã£ã°ã¬ã¼ã¿ã¼ã使ç¨ãããã¨ããå§ããã¾ããè¨å®ãã¡ã¤ã«ãã³ãã¼ãã¦ãµã¼ãã¼ä¸ã®é©åãªãã¡ã¤ã«ã«è²¼ãä»ãããµã¼ãã¼ãåèµ·åãã¦å¤æ´ãåæ ããã¾ããè¨å®ãã¡ã¤ã«ã«ã¯ã«ã¹ã¿ã è¨å®ãå«ããããã®èª¿æ´ãå¿ è¦ãªå ´åãããã¾ãã®ã§ã使ç¨ããåã«çæãããè¨å®ã確èªãã¦ãã ããããã¡ã¤ã³åãªã©ã®åç §ãæ£ãããã¨ã確èªããã«è¨å®ãã¡ã¤ã«ãã¤ã³ã¹ãã¼ã«ããã¨ããµã¼ãã¼ãåä½ããªããªãã¾ãã
TLS 1.3
RFC 8446: TLS 1.3 ã¯ãTLS ã®ã¡ã¸ã£ã¼ãªãã¸ã§ã³ã§ããTLS 1.3 ã«ã¯ãã»ãã¥ãªãã£ã¨ããã©ã¼ãã³ã¹ãåä¸ããã夿°ã®å¤æ´ãå«ã¾ãã¦ãã¾ããTLS 1.3 ã®ç®æ¨ã¯ä»¥ä¸ã®éãã§ãã
- TLS 1.2 ã®æªä½¿ç¨ã§å®å ¨ã§ãªãæ©è½ãåé¤ãã¾ã
- å¼·åãªã»ãã¥ãªãã£åæãè¨è¨ã«å«ãã¾ã
- ãããã³ã«ãããå¤ãæå·åãããã¨ã§ããã©ã¤ãã·ã¼ãåä¸ããã¾ã
- ãã³ãã·ã§ã¤ã¯ãå®äºããã¾ã§ã®æéãç縮ãã¾ã
TLS 1.3 ã¯ãããã³ã«ã®åºæ¬çãªé¨åã®å¤ãã夿´ãã¦ãã¾ããã以åã®ãã¼ã¸ã§ã³ã® TLS ã¨åæ§ã«åºæ¬çãªæ©è½ã®ã»ã¨ãã©ãã¹ã¦ãä¿æãã¦ãã¾ããã¦ã§ãã§ã¯ãTLS 1.3 ã¯ããã¤ãã®ã¾ããªä¾å¤ãé¤ãã¦ãäºææ§ã«å½±é¿ãä¸ãããã¨ãªãæå¹ã«ãããã¨ãã§ãã¾ã (以ä¸ãåç §)ã
TLS 1.3 ã®ä¸»ãªå¤æ´ç¹ã¯ä»¥ä¸ã®éãã§ãã
- TLS 1.3 ã®ãã³ãã·ã§ã¤ã¯ã¯ãã»ã¨ãã©ã®å ´å 1 åã®ã©ã¦ã³ãããªããã§å®äºãããã³ãã·ã§ã¤ã¯ã®å¾ ã¡æéãç縮ãã¾ã
- ãµã¼ãã¼ã¯ 0-RTT (ã¼ãã©ã¦ã³ãããªããã¿ã¤ã ) ãã³ãã·ã§ã¤ã¯ãæå¹ã«ãããã¨ãã§ãã¾ãããµã¼ãã¼ã«åæ¥ç¶ããã¯ã©ã¤ã¢ã³ãã¯ããã«ãªã¯ã¨ã¹ããéããã¨ãã§ããTLS ãã³ãã·ã§ã¤ã¯ã®å¾ ã¡æéãå®å ¨ã«æé¤ã§ãã¾ãã0-RTT ã«ããããã©ã¼ãã³ã¹ã®åä¸ã¯å¤§ããªãã®ã§ããããªãã¬ã¤æ»æã®ãªã¹ã¯ãããã¾ãã®ã§ããã®æ©è½ãæå¹ã«ããåã«ã¯æ³¨æãå¿ è¦ã§ã
- TLS 1.3 ã¯ãæ¥ç¶ãåéãããããäºåã«å ±æãããéµã使ç¨ããªãéãããã©ã¯ã¼ãã»ãã¥ã¢ã¢ã¼ãã®ã¿ããµãã¼ããã¦ãã¾ã
- TLS 1.3 ã¯ãTLS 1.3 å°ç¨ã®æ°ããæå·ã¹ã¤ã¼ããå®ç¾©ãã¦ãã¾ãããããã®æå·åã¹ã¤ã¼ãã¯ãã¹ã¦ææ°ã® Authenticated Encryption with Associated Data (AEAD) ã¢ã«ã´ãªãºã ã使ç¨ãã¦ãã¾ã
- TLS 1.3 ã®ãã³ãã·ã§ã¤ã¯ã¯ãå ±æã·ã¼ã¯ã¬ããã確ç«ããããã«å¿ è¦ãªã¡ãã»ã¼ã¸ãé¤ããæå·åããã¦ãã¾ããç¹ã«ãããã¯ãµã¼ãã¼è¨¼ææ¸ã¨ã¯ã©ã¤ã¢ã³ãè¨¼ææ¸ãæå·åããã¦ãããã¨ãæå³ãã¾ãããã ããã¯ã©ã¤ã¢ã³ãããµã¼ãã¼ã«éä¿¡ãããµã¼ãã¼ ID (ãµã¼ãã¼åã¾ã㯠SNI æ¡å¼µå) ã¯æå·åãããªããã¨ã«æ³¨æãã¦ãã ãã
- æ°å¤ãã®ã¡ã«ããºã ãç¡å¹åããã¦ãã¾ã: ãªãã´ã·ã¨ã¼ã·ã§ã³ãä¸è¬çãªãã¼ã¿å§ç¸®ããã¸ã¿ã«ç½²åã¢ã«ã´ãªãºã ã(DSA) è¨¼ææ¸ãéç RSA éµäº¤æãã«ã¹ã¿ã Diffie-Hellman (DH) ã°ã«ã¼ãã¨ã®éµäº¤æ
TLS 1.3 ã®ãã©ããçã®å®è£ ãå ¬éããã¦ãã¾ããTLS 1.3 㯠0-RTT ã¢ã¼ããå«ãããã¤ãã®ãã©ã¦ã¶ã¼ã§æå¹ã«ãªã£ã¦ãã¾ããTLS 1.3 ãæå¹ã«ãã¦ããã¦ã§ããµã¼ãã¼ã§ã¯ãTLS 1.3 ãæ£å¸¸ã«åä½ããããã«è¨å®ã調æ´ããå¿ è¦ãããããããã¾ããã
TLS 1.3 ã§ã¯ãéè¦ãªæ°ããã¦ã¼ã¹ã±ã¼ã¹ã 1 ã¤ã ã追å ããã¾ããã0-RTT ãã³ãã·ã§ã¤ã¯ã¯ãã¦ã§ãã®ãããªã¬ã¤ãã³ã·ã«ææãªã¢ããªã±ã¼ã·ã§ã³ã«å¤§ããªããã©ã¼ãã³ã¹ã®åä¸ãããããã¾ãã0-RTT ãæå¹ã«ããã«ã¯ãå°å ¥ã確å®ã«æåããããªãã¬ã¤æ»æã®ãªã¹ã¯ã管çããããã®è¿½å ã®ã¹ããããå¿ è¦ã§ãã
TLS 1.3 ã§ãªãã´ã·ã¨ã¼ã·ã§ã³ãåé¤ããããã¨ã¯ãè¨¼ææ¸ã使ã£ãã¯ã©ã¤ã¢ã³ãèªè¨¼ã«ä¾åããä¸é¨ã®ã¦ã§ããµã¼ãã¼ã«å½±é¿ãä¸ããå¯è½æ§ãããã¾ããä¸é¨ã®ã¦ã§ããµã¼ãã¼ã¯ãã¯ã©ã¤ã¢ã³ãè¨¼ææ¸ãæå·åããã¦ãããã¨ã確å®ã«ããããããããã¯ç¹å®ã®ãªã½ã¼ã¹ãè¦æ±ãããã¨ãã«ã®ã¿ã¯ã©ã¤ã¢ã³ãè¨¼ææ¸ãè¦æ±ããããã«ããªãã´ã·ã¨ã¼ã·ã§ã³ã使ç¨ãã¦ãã¾ããã¯ã©ã¤ã¢ã³ãè¨¼ææ¸ã®ãã©ã¤ãã·ã¼ãå®ãããã«ãTLS 1.3 ãã³ãã·ã§ã¤ã¯ã®æå·åã«ãã£ã¦ã¯ã©ã¤ã¢ã³ãè¨¼ææ¸ã®æå·åã確å®ã«è¡ããã¾ãããããã«ã¯ã½ããã¦ã§ã¢ã®å¤æ´ãå¿ è¦ã«ãªãããããã¾ãããè¨¼ææ¸ã使ã£ããªã¢ã¯ãã£ããªã¯ã©ã¤ã¢ã³ãèªè¨¼ã¯ TLS 1.3 ã§ãµãã¼ãããã¦ãã¾ãããåºãã¯å®è£ ããã¦ãã¾ããã代æ¿ã®ã¡ã«ããºã ã¯ç¾å¨éçºä¸ã§ãHTTP/2 ããµãã¼ãããäºå®ã§ãã
å¤ããã¼ã¸ã§ã³ã® TLS ã®å¼é
ããç¾ä»£çã§å®å ¨ãªã¦ã§ãã«åãã¦ã®åãçµã¿ã«ããã2020 年第 1 ååæã« TLS 1.0 ããã³ 1.1 ã®ãµãã¼ãããã¹ã¦ã®ä¸»è¦ãã©ã¦ã¶ã¼ããåé¤ããã¾ããã¦ã§ããµã¼ãã¼ãä»å¾ TLS 1.2 ã¾ã㯠1.3 ããµãã¼ããããã¨ã確èªããå¿ è¦ãããã¾ãã
Firefox ã¯ãã¼ã¸ã§ã³ 74 以éãå¤ã TLS ãã¼ã¸ã§ã³ã使ç¨ãã¦ãµã¼ãã¼ã«æ¥ç¶ãã㨠Secure Connection Failed ã¨ã©ã¼ãè¿ãã¾ã (Firefox ãã° 1606734) ã
TLS ãã³ãã·ã§ã¤ã¯ã¿ã¤ã ã¢ã¦ãå¤
ä½ããã®çç±ã§ TLS ãã³ãã·ã§ã¤ã¯ãé ããªã£ãããåå¿ããªããªã£ããããã¨ãã¦ã¼ã¶ã¼ã®ä½é¨ã«å¤§ããªå½±é¿ãä¸ããå¯è½æ§ãããã¾ãããã®åé¡ã軽æ¸ããããã«ãæè¿ã®ãã©ã¦ã¶ã¼ã¯ãã³ãã·ã§ã¤ã¯ã®ã¿ã¤ã ã¢ã¦ããå®è£ ãã¦ãã¾ãã
- ãã¼ã¸ã§ã³ 58 以éãFirefox 㯠TLS ãã³ãã·ã§ã¤ã¯ã®ã¿ã¤ã ã¢ã¦ããæ¢å®å¤ã® 30 ç§ã§å®è£
ãã¦ãã¾ããã¿ã¤ã ã¢ã¦ãã®å¤ã¯ãabout:config ã®
network.http.tls-handshake-timeoutè¨å®å¤ãç·¨éãããã¨ã§å¤æ´ã§ãã¾ã
é¢é£æ å ±
- Mozilla SSL Configuration Generator ããã³ Cipherlist.eu ã¯ããµã¼ãã¼ããµã¤ãã®å®å ¨ã確ä¿ããããã®æ§æãã¡ã¤ã«ãçæããã®ã«å½¹ç«ã¤ããããã¾ããã
- Mozilla Operations Security (OpSec) ãã¼ã ã¯ã reference TLS configurations ã®ã¦ã£ããã¼ã¸ãä¿å®ãã¦ãã¾ãã
- HTTP Observatory, SSL Labs ã¯ãµã¤ãã® HTTP/TLS æ§æãã©ãã ãå®å ¨ãã確èªãããã¹ãã«å½¹ç«ã¡ã¾ãã
- ä¿è·ãããã³ã³ããã¹ã
- Strict-Transport-Security HTTP ãããã¼