ì ì¡ ê³ì¸µ ë³´ì
ì ì¡ ê³ì¸µ ë³´ì(TLS)ì ì¬ì©íë 모ë ì°ê²°ì ë³´ìì ì íë ìí¸í ì¤ìí¸ì ë³´ì 매ê°ë³ìì ê°íê² ìì¡´í©ëë¤. ì´ ë¬¸ìì 목íë í´ë¼ì´ì¸í¸ì ìë² ê° íµì ì 기ë°ì±ê³¼ 무결ì±ì ë³´ì¥í기 ìí ê²°ì ì ë´ë¦¬ë ë° ëìì 주ë ê²ì ëë¤. Mozilla ì´ì ë³´ì(OpSec) íì ìë²ë¥¼ ìí 참조 ì¤ì ì´ í¬í¨ë ìí¤ í목ì ì ì§ ê´ë¦¬í©ëë¤.
ì ì¡ ê³ì¸µ ë³´ì(TLS) íë¡í ì½ì ë¤í¸ìí¬ë¡ ì°ê²°ë ë ê°ì ì í리ì¼ì´ì ì´ë ì¥ì¹ê° ë¹ê³µê°ë¡ ê°ë ¥íê² ì 보를 êµíí ì ìëë¡ íë íì¤ì ëë¤. TLS를 ì¬ì©íë ì í리ì¼ì´ì ì ë°ì´í°ì ë³´ìê³¼ ìì ì±ì ìë¹í ìí¥ì ë¯¸ì¹ ì ìë ë³´ì 매ê°ë³ì를 ì íí ì ììµëë¤. ì´ ë¬¸ìììë TLSì ëí ê°ìì ì½í ì¸ ë¥¼ ë³´í¸í ë ë´ë ¤ì¼ íë ê²°ì ì ì¢ ë¥ë¥¼ ì ê³µí©ëë¤.
ìì¬
HTTPSê° ì²ì ìê°ëìì ë Netscapeê° ëì í 기ì ì¸ ë³´ì ìì¼ ê³ì¸µ(SSL) 2.0ì´ ê¸°ë°ì´ììµëë¤. ì¼ë§ ì§ëì§ ìì SSL 3.0ì¼ë¡ ì ë°ì´í¸ëìê³ , ì¬ì©ì´ íëë¨ì ë°ë¼ 모ë ì¹ ë¸ë¼ì°ì ì ìë² ê°ì ìí¸ ì´ì©ì±ì ë³´ì¥í기 ìí´ ê³µíµ íì¤ ìí¸í 기ì ì ì§ì í´ì¼ íë¤ë ê²ì´ ë¶ëª í´ì¡ìµëë¤. Internet Engineering Task Force (IETF)ë 1999ë 1ì RFC 2246ìì TLS 1.0ì 기ì íìµëë¤. TLSì íì¬ ë²ì ì 1.3(RFC 8446)ì ëë¤.
ì´ì ì¹ì´ ìí¸íì TLS를 ì¬ì©íê³ ìììë ë¶êµ¬íê³ , ë§ì ì¬ëë¤ì´ ìì§ê¹ì§ ìµê´ì ì¼ë¡ TLS를 "SSL"ì´ë¼ê³ ì¸ê¸í©ëë¤.
TLSê° ëª¨ë ì ìì¤ì ì ì¡ íë¡í ì½ì ììì ì¬ì©ë ì ìì§ë§, ì´ íë¡í ì½ì ìë HTTP í¸ëí½ì ìí¸ííë ê²ì´ 목ì ì´ììµëë¤. TLSë¡ ìí¸íë HTTPë íí HTTPSë¼ê³ í©ëë¤. TLSë¡ ìí¸íë ì¹ í¸ëí½ì ê´ìµì ì¼ë¡ 443 í¬í¸ë¥¼ íµí´ êµíëìì¼ë©°, ìí¸íëì§ ìì HTTPë 기본ì ì¼ë¡ 80ë² í¬í¸ë¥¼ ì¬ì©í©ëë¤. HTTPSë ì¤ìí TLS ì¬ì© ì¬ë¡ë¡ ë¨ììµëë¤.
HTTP ìì TLS
TLSë ì£¼ê³ ë°ë ë°ì´í°ì ìì ê³¼ ë³´ìì ë³´ì¥íê² íë ì¸ ê°ì§ 주ì ìë¹ì¤ë¥¼ ì ê³µí©ëë¤.
- ì¸ì¦
-
ì¸ì¦ì íµí´ íµì ì ê° ë¹ì¬ìë ìëë°©ì´ ìì ì´ ì£¼ì¥íë ì¬ëì¸ì§ íì¸í ì ììµëë¤.
- ìí¸í
-
ê¶íì´ ìë ì¬ëì´ ë°ì´í°ë¥¼ ì½ê³ í´ìíë ê²ì ë°©ì§í기 ìí´ ì¬ì©ì ìì´ì í¸ì ìë² ì¬ì´ì ë°ì´í°ê° ì ì¡ëë ëì ë°ì´í°ê° ìí¸íë©ëë¤.
- 무결ì±
-
TLSë ë°ì´í°ë¥¼ ìí¸í, ì ì¡, ë³µí¸ííë ëìì ì ë³´ê° ìì´ì§ê±°ë, ìì¤ëê±°ë, ë³ì¡°ëì§ ìë ê²ì ë³´ì¥í©ëë¤.
TLS ì°ê²°ì í´ë¼ì´ì¸í¸ì ìë²ê° ê³µì ìí¸ì ëìíê³ ìí¸í ì¤ìí¸ì ê°ì ì¤ìí 매ê°ë³ìê° íìëë í¸ëìì´í¬ ë¨ê³ë¡ ììë©ëë¤. HTTPì ê°ì ì í리ì¼ì´ì ë°ì´í°ê° êµíëë 매ê°ë³ìì ë°ì´í° êµí 모ëì ëë¤.
ìí¸í ì¤ìí¸
TLS í¸ëìì´í¬ê° íìíë 주ì íë¼ë©í°ë¤ì ìí¸í ì¤ìí¸ì ëë¤.
TLS 1.2ì ê·¸ ì´ì ë²ì ìì íìë ìí¸í ì¤ìí¸ë ê³µì ìí¸ íì, ìë²ê° ì¸ì¦ëë ë°©ë², ë°ì´í°ë¥¼ ìí¸í íëë° ì¬ì©í ë°©ë²ì í¨ê» ì ê³µíë ìí¸í ìê³ ë¦¬ì¦ì ì§í©ì í¬í¨í©ëë¤.
TLS 1.3ì ìí¸ì ì¤ìí¸ë ì£¼ë¡ ë°ì´í° ìí¸í를 ê´ë¦¬íë©° í¤ ê³ì½ê³¼ ì¸ì¦ìë ë³ëì íì ë°©ë²ì´ ì¬ì©ë©ëë¤.
ìë¡ ë¤ë¥¸ ìíí¸ì¨ì´ë ê°ì ìí¸í ì¤ìí¸ì ëí´ ìë¡ ë¤ë¥¸ ì´ë¦ì ì¬ì©í ì ììµëë¤. ì를 ë¤ì´ OpenSSLê³¼ GnuTLSìì ì¬ì©ëë ì´ë¦ì TLS íì¤ìì ì¬ì©ëë ì´ë¦ê³¼ ë¤ë¦ ëë¤. TLS ì¤ì ì ëí Mozilla OpSec í 문ìì ìë ìí¸ ì´ë¦ ëì íìë ì´ë¬í ì´ë¦ê³¼ í¸íì±, ë³´ì ìì¤ì ëí ì ë³´ê° ëì´ëì´ ììµëë¤.
ìë² ì¤ì í기
ìë²ë¥¼ ì¬ë°ë¥´ê² 구ì±íë ê²ì ë§¤ì° ì¤ìí©ëë¤. ì¼ë°ì ì¼ë¡, ì¬ì´í¸ì ì°ê²°íë ¤ë ë¸ë¼ì°ì ì í¸í ê°ë¥í ìµì ìí¸í 기ë¥ì¼ë¡ë§ íì ì ì¼ë¡ ì¤ì íë ê²ì´ ì¢ìµëë¤. ì¬ë°ë¥¸ ì¤ì ê³¼ ê´ë ¨í´ì Mozilla OpSec guide to TLS configurations ìì ì¶ê°ì ì¸ ì 보를 ì»ì ì ììµëë¤.
ì¬ì´í¸ 구ì±ì ë기 ìí´ 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 í¸ëìì´í¬ë ëë¶ë¶ì ê²½ì°ì íë²ì ìë³µë§ì¼ë¡ ìë ¤ëì´ í¸ëìì´í¬ ì§ì°ìê°ì´ ì¤ì´ëëë¤.
- ìë²ë 0-RTT(무 ìë³µ ìê°) í¸ëìì´í¬ë¥¼ íì±íí ì ììµëë¤. ìë²ì ë¤ì ì°ê²°íë í´ë¼ì´ì¸í¸ë ì¦ì ìì²ì ë³´ë¼ ì ìì¼ë¯ë¡ TLS í¸ëìì´í¬ì ë기 ìê°ì´ ìì í ì ê±°ë©ëë¤. 0-RTTì ì±ë¥ í¥ìì´ ìë¹í ì ìì§ë§ ì¬ì 공격ì ìíì´ ìì¼ë¯ë¡ ì´ ê¸°ë¥ì íì±íí기 ì ì ì½ê°ì 주ìê° íìí©ëë¤.
- TLS 1.3ì ì°ê²°ì´ ì¬ê°ëê±°ë ì¬ì ê³µì í¤ë¥¼ ì¬ì©íì§ ìë í ì ë°©í¥ ë³´ì 모ëë§ ì§ìí©ëë¤.
- TLS 1.3ì TLS 1.3 ì ì©ì¸ ìë¡ì´ ìí¸í ì¤ìí¸ë¥¼ ì ìí©ëë¤. ì´ë¬í ìí¸í ì¤ìí¸ë 모ë ìµì ì°ê´ ë°ì´í° ìí¸í ì¸ì¦(AEAD) ìê³ ë¦¬ì¦ì ì¬ì©í©ëë¤.
- ê³µì ë¹ë°ì ì¤ì íë ë° íìí ë©ìì§ë¥¼ ì ì¸í TLS 1.3 í¸ëìì´í¬ë ìí¸íë©ëë¤. í¹í ì´ë ìë²ì í´ë¼ì´ì¸í¸ ì¸ì¦ìê° ìí¸í ëìë¤ë ê²ì ì미í©ëë¤. ê·¸ë¬ë í´ë¼ì´ì¸í¸ê° ìë²ì ë³´ë´ë ìë² ID(server_name ëë SNI íì¥ì)ë ìí¸íëì§ ììµëë¤.
- ì¬íì, ì¼ë° ë°ì´í° ìì¶, ëì§í¸ ìëª ìê³ ë¦¬ì¦ (DSA) ì¸ì¦ì, ì ì RSA í¤ êµí, ì¬ì©ì ì§ì Diffie-Hellman (DH) 그룹과ì í¤ êµí ë±ì ì¬ë¬ ë©ì»¤ëì¦ì´ ë¹íì±íëììµëë¤.
TLS 1.3 ì´ì ë²ì 구íì ê°ë¥í©ëë¤. TLS 1.3ì 0-RTT 모ë를 í¬í¨íì¬ ì¼ë¶ ë¸ë¼ì°ì ìì íì±íëì´ ììµëë¤. TLS 1.3ì íì±íí ì¹ ìë²ë TLS 1.3ì´ ì±ê³µì ì¼ë¡ ìëíëë¡ ì¤ì ì ì¡°ì í´ì¼ í ì ììµëë¤.
TLS 1.3ì ì¤ìí ìë¡ì´ ì¬ì© ì¬ë¡ë¥¼ íëë§ ì¶ê°í©ëë¤. 0-RTT í¸ëìì´í¬ë ì¹ê³¼ ê°ì´ ë기 ìê°ì 민ê°í ì í리ì¼ì´ì ì ìë¹í ì±ë¥ í¥ìì ì ê³µí ì ììµëë¤. 0-RTT를 íì±ííë ¤ë©´ ì±ê³µì ì¸ ë°°í¬ë¥¼ ë³´ì¥íê³ ì¬ì 공격ì ìíì ê´ë¦¬í기 ìí´ ì¶ê° ë¨ê³ê° íìí©ëë¤.
TLS 1.3ìì ì¬íìì ì ê±°íë©´ ì¸ì¦ì를 ì´ì©í í´ë¼ì´ì¸í¸ ì¸ì¦ì ìì¡´íë ì¼ë¶ ì¹ ìë²ê° ìí¥ì ë°ì ì ììµëë¤. ì¼ë¶ ì¹ ìë²ë ì¬íìì ì¬ì©íì¬ í´ë¼ì´ì¸í¸ ì¸ì¦ìê° ìí¸íëìëì§ íì¸íê±°ë í¹ì 리ìì¤ê° ìì²ë ëë§ í´ë¼ì´ì¸í¸ ì¸ì¦ì를 ìì²í©ëë¤. í´ë¼ì´ì¸í¸ ì¸ì¦ìì ê°ì¸ ì ë³´ ë³´í¸ë¥¼ ìí´ TLS 1.3 í¸ëìì´í¬ì ìí¸íë í´ë¼ì´ì¸í¸ ì¸ì¦ìê° ìí¸íëëë¡ í©ëë¤. ê·¸ë¬ë ì¼ë¶ ìíí¸ì¨ì´ ë³ê²½ì´ íìí ì ììµëë¤. ì¸ì¦ì를 ì¬ì©íë ë°ìí í´ë¼ì´ì¸í¸ ì¸ì¦ì TLS 1.3ìì ì§ìëì§ë§ ê´ë²ìíê² êµ¬íëì§ ììµëë¤. HTTP/2ë ì§ìí ëì²´ ë©ì»¤ëì¦ì´ ê°ë° ì¤ì ììµëë¤.
ì´ì TLS ë²ì ì ê±°í기
ë³´ë¤ íëì ì´ê³ ìì í ì¹ì ìí ìì ì ë기 ìí´ ëª¨ë 주ì ë¸ë¼ì°ì ë 2020ë ì´ì TLS 1.0ê³¼ 1.1ì ëí ì§ìì ì ê±°í기 ììíìµëë¤. ìì¼ë¡ ì¹ ìë²ê° TLS 1.2 ëë 1.3ì ì§ìíëì§ íì¸í´ì¼ í©ëë¤.
Firefoxë ë²ì 74ë¶í° ì´ì TLS ë²ì ì ì¬ì©íì¬ ìë²ì ì°ê²°í ë ë³´ì ì°ê²° ì¤í¨ ì¤ë¥ë¥¼ ë°íí©ëë¤(Firefox ë²ê·¸ 1606734).
TLS í¸ëìì´í¬ íììì ê°
ì´ë¤ ì´ì ë¡ TLS í¸ëì °ì´í¬ê° ëë ¤ì§ê±°ë ìëµíì§ ìì¼ë©´ ì¬ì©ì ê²½íì ìë¹í ìí¥ì ë¯¸ì¹ ì ììµëë¤. ì´ ë¬¸ì 를 ìíí기 ìí´ ìµì ë¸ë¼ì°ì ë í¸ëì °ì´í¬ ìê° ì íì 구ííìµëë¤.
ì´ë¤ ì´ì ììë ì§ ê°ì TLS í¸ëìì´í¬ê° ëë ¤ì§ê±°ë ë°ìì´ ìë¤ë©´ ì¬ì©ì ê²½íì ìë¹í ìí¥ì ë¯¸ì¹ ì ììµëë¤. ì´ ë¬¸ì ë¤ì ìíí기 ìí´ ìµì ë¸ë¼ì°ì ë¤ì í¸ëìì´í¬ íìììì ëì íìµëë¤.
- Firefoxë ë²ì 58ë¶í° 기본ê°ì´ 30ì´ì¸ TLS í¸ëìì´í¬ íìììì ëì
íìµëë¤. íììì ê°ì about:configìì
network.http.tls-handshake-timeoutì¤ì ì í¸ì§íì¬ ë³ê²½í ì ììµëë¤.
ê°ì´ 보기
- Mozilla SSL ì¤ì ìì±ê¸°ì Cipherlist.euë ì¬ì´í¸ë¥¼ ë³´í¸í기 ìí´ ìë²ì ëí ì¤ì íì¼ì ìì±íë ë° ëìì´ ë ì ììµëë¤.
- OpSec(Mozilla Operations Security) íì 참조 TLS ì¤ì ì´ í¬í¨ë ìí¤ íì´ì§ë¥¼ ì ì§ ê´ë¦¬í©ëë¤.
- Mozilla Observatory, SSL Labs, ê·¸ë¦¬ê³ Cipherscanì ì¬ì´í¸ë¥¼ í ì¤í¸íì¬ TLS 구ì±ì´ ì¼ë§ë ìì íì§ íì¸íë ë° ëìì ì¤ ì ììµëë¤.
- Secure Contexts
- Strict-Transport-Security HTTP í¤ë