Internet Engineering Task Force (IETF) M. Thomson
Request for Comments: 8470 Mozilla
Category: Standards Track M. Nottingham
ISSN: 2070-1721 Fastly
W. Tarreau
HAProxy Technologies
September 2018

HTTP์—์„œ Early Data ์‚ฌ์šฉ


์ดˆ๋ก

TLS early data๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์žฌ์ƒ(replay) ๊ณต๊ฒฉ์˜ ๊ฐ€๋Šฅ์„ฑ์— ๋…ธ์ถœ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์„œ๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ early data๋กœ ์ „์†กํ•œ HTTP ์š”์ฒญ์— ๋Œ€ํ•ด ์„œ๋ฒ„์™€ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•˜๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ์žฌ์ƒ ์œ„ํ—˜์„ ์™„ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์ด๋Ÿฌํ•œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋ฒ•๋“ค์ด ์„ค๋ช…๋ฉ๋‹ˆ๋‹ค.

์ด ๋ฉ”๋ชจ์˜ ์ƒํƒœ

์ด ๋ฌธ์„œ๋Š” Internet Standards Track ๋ฌธ์„œ์ž…๋‹ˆ๋‹ค.

์ด ๋ฌธ์„œ๋Š” Internet Engineering Task Force (IETF)์˜ ์‚ฐ๋ฌผ์ž…๋‹ˆ๋‹ค. ์ด๋Š” IETF ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ํ•ฉ์˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋ฉฐ, ๊ณต๊ฐœ ๊ฒ€ํ† ๋ฅผ ๊ฑฐ์ณ Internet Engineering Steering Group (IESG)์— ์˜ํ•ด ์ถœํŒ ์Šน์ธ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ์ธํ„ฐ๋„ท ํ‘œ์ค€์— ๊ด€ํ•œ ์ถ”๊ฐ€ ์ •๋ณด๋Š” RFC 7841์˜ ์„น์…˜ 2์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ฌธ์„œ์˜ ํ˜„์žฌ ์ƒํƒœ, ์˜ค๋ฅ˜ ์ •์ •(errata), ๋ฐ ํ”ผ๋“œ๋ฐฑ ์ œ๊ณต ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ •๋ณด๋Š” https://www.rfc-editor.org/info/rfc8470์—์„œ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Copyright Notice

Copyright (c) 2018 IETF Trust and the persons identified as the document authors. All rights reserved.

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.

1. ์†Œ๊ฐœ

TLS 1.3 [TLS13] ์€ ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ(์ œ๋กœ ๋ผ์šด๋“œ ํŠธ๋ฆฝ ํƒ€์ž„(0-RTT) ๋ฐ์ดํ„ฐ๋ผ๊ณ ๋„ ํ•จ)์˜ ๊ฐœ๋…์„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋™์ผํ•œ ์„œ๋ฒ„์™€ ์ตœ๊ทผ์— ํ†ต์‹ ํ•œ ์ ์ด ์žˆ๋‹ค๋ฉด, ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋Š” TLS ํ•ธ๋“œ์…ฐ์ดํฌ๊ฐ€ ์™„๋ฃŒ๋˜๊ธฐ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ  ์—ฐ๊ฒฐ์˜ ์ฒซ ๋ฒˆ์งธ ์™•๋ณต์—์„œ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

HTTP [HTTP] ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ๋  ๋•Œ, ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ฆ‰์‹œ ์š”์ฒญ์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜์—ฌ TLS ํ•ธ๋“œ์…ฐ์ดํฌ์— ํ•„์š”ํ•œ ํ•œ๋‘ ๋ฒˆ์˜ ์™•๋ณต ์ง€์—ฐ์„ ํ”ผํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ค‘์š”ํ•œ ์„ฑ๋Šฅ ํ–ฅ์ƒ์ด๋‚˜, ์ค‘์š”ํ•œ ์ œ์•ฝ์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ์˜ ์ฃผ์š” ์œ„ํ—˜์€ ๊ณต๊ฒฉ์ž๊ฐ€ ํ•ด๋‹น ์š”์ฒญ๋“ค์„ ์บก์ฒ˜ํ•˜์—ฌ ์žฌ์ƒ(replay)ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค. TLS [TLS13] ์€ ๊ณต๊ฒฉ์ž๊ฐ€ ์š”์ฒญ์„ ์„ฑ๊ณต์ ์œผ๋กœ ์žฌ์ƒํ•  ๊ฐ€๋Šฅ์„ฑ์„ ์ค„์ด๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ์ˆ ๋“ค์„ ์„ค๋ช…ํ•˜์ง€๋งŒ, ์ด๋Ÿฌํ•œ ๊ธฐ์ˆ ์€ ๋ฐฐํฌ๊ฐ€ ์–ด๋ ต๊ณ  ์—ฌ์ „ํžˆ ์„ฑ๊ณต์ ์ธ ๊ณต๊ฒฉ ๊ฐ€๋Šฅ์„ฑ์„ ์™„์ „ํžˆ ๋ฐฐ์ œํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.

์ด๋Š” ์ž๋™ ๋˜๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์‹œ์ž‘ํ•œ ์žฌ์‹œ๋„์™€๋Š” ๋‹ค๋ฅด๋‹ค๋Š” ์ ์— ์œ ์˜ํ•˜์‹ญ์‹œ์˜ค; ์žฌํ”Œ๋ ˆ์ด๋Š” ํด๋ผ์ด์–ธํŠธ์˜ ์ธ์ง€ ์—†์ด ๊ณต๊ฒฉ์ž์— ์˜ํ•ด ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค.

HTTP์—์„œ ์žฌํ”Œ๋ ˆ์ด ์œ„ํ—˜์„ ์™„ํ™”ํ•˜๊ธฐ ์œ„ํ•ด, ์ด ๋ฌธ์„œ๋Š” ์„œ๋ฒ„์—์„œ ์ด๋Ÿฌํ•œ ์œ„ํ—˜์„ ์ œ์–ดํ•˜๋Š” ๊ธฐ๋ฒ•์˜ ๊ฐœ์š”๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ์—์„œ ์š”์ฒญ์„ ๋ณด๋‚ผ ๋•Œ ํด๋ผ์ด์–ธํŠธ์— ๋Œ€ํ•œ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ฌธ์„œ์˜ ๊ถŒ๊ณ ๋Š” HTTP over QUIC์—์„œ์˜ 0-RTT ์‚ฌ์šฉ([HQ])์—๋„ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

1.1. ๊ด€์Šต ๋ฐ ์ •์˜

์ด ๋ฌธ์„œ์—์„œ ๋‹จ์–ด โ€œMUSTโ€, โ€œMUST NOTโ€, โ€œREQUIREDโ€, โ€œSHALLโ€, โ€œSHALL NOTโ€, โ€œSHOULDโ€, โ€œSHOULD NOTโ€, โ€œRECOMMENDEDโ€, โ€œNOT RECOMMENDEDโ€, โ€œMAYโ€, ๋ฐ โ€œOPTIONALโ€์€ BCP 14 [RFC2119] [RFC8174] ์—์„œ ์„ค๋ช…๋œ ๋ฐ”์™€ ๊ฐ™์ด, ๊ทธ๋ฆฌ๊ณ  ์˜ค์ง ๋ชจ๋‘ ๋Œ€๋ฌธ์ž๋กœ ๋‚˜ํƒ€๋‚  ๋•Œ์—๋งŒ ๊ทธ๋ ‡๊ฒŒ ํ•ด์„๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

2. HTTP์˜ Early Data

๊ฐœ๋…์ ์œผ๋กœ, ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋Š” ๋‹ค๋ฅธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐ์ดํ„ฐ์™€ ์ด์–ด๋ถ™์—ฌ ๋‹จ์ผ ์ŠคํŠธ๋ฆผ์„ ํ˜•์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์š”์ฒญ์ด ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ ์•ˆ์— ์™„์ „ํžˆ ํฌํ•จ๋  ์ˆ˜ ์žˆ๊ฑฐ๋‚˜ ์š”์ฒญ์˜ ์ผ๋ถ€๋งŒ์ด ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ์ผ ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. HTTP/2 [RFC7540] ๋˜๋Š” HTTP/QUIC [HQ] ๊ฐ™์€ ๋ฉ€ํ‹ฐํ”Œ๋ ‰์Šค ํ”„๋กœํ† ์ฝœ์—์„œ๋Š” ์—ฌ๋Ÿฌ ์š”์ฒญ์ด ๋ถ€๋ถ„์ ์œผ๋กœ ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋กœ ์ „๋‹ฌ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ฌธ์„œ๊ฐ€ ๊ฐ€์ •ํ•˜๋Š” ๋ชจ๋ธ์€ TLS ํ•ธ๋“œ์…ฐ์ดํฌ๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ํ•ด๋‹น TLS ์—ฐ๊ฒฐ์—์„œ ์ˆ˜์‹ ๋œ ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๊ฐ€ ์žฌ์ƒ๋œ ๋ณต์‚ฌ๋ณธ์ด ์•„๋‹˜์ด ์•Œ๋ ค์ง„๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‹ค๋งŒ, ์ด๊ฒƒ์€ ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๊ฐ€ ๋‹ค๋ฅธ ์—ฐ๊ฒฐ์—์„œ ์žฌ์ƒ๋˜์ง€ ์•Š์„ ๊ฒƒ์ด๋ผ๋Š” ์˜๋ฏธ๋Š” ์•„๋‹ˆ๋ผ๋Š” ์ ์„ ์ฃผ์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

3. HTTP ์„œ๋ฒ„์—์„œ Early Data ์ง€์›

์„œ๋ฒ„๋Š” TLS ์„ธ์…˜ ํ‹ฐ์ผ“์„ ๋ณด๋‚ผ ๋•Œ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํ–ฅํ›„ ์—ฐ๊ฒฐ์—์„œ ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ• ์ง€ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

TLS [TLS13] ์€ ๊ณต๊ฒฉ์ž๊ฐ€ ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ์žฌ์ƒํ•  ๊ฐ€๋Šฅ์„ฑ์„ ์ค„์ด๋Š” ์žฌ์ƒ ๊ฐ์ง€ ์ „๋žต์˜ ์‚ฌ์šฉ์„ ์š”๊ตฌํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฐ˜์žฌ์ƒ ๊ธฐ์ˆ ์€ ์žฌ์ƒ ๊ฐ€๋Šฅ์„ฑ์„ ์ค„์ด์ง€๋งŒ ์™„์ „ํžˆ ์ œ๊ฑฐํ•˜์ง€๋Š” ์•Š์œผ๋ฉฐ ์žฌ์ƒ ํšŸ์ˆ˜์— ๋Œ€ํ•œ ๊ณ ์ •๋œ ์ƒํ•œ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

์„œ๋ฒ„๊ฐ€ ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์„ฑํ™”ํ•  ๋•Œ ์žฌ์ƒ ์œ„ํ—˜์„ ์™„ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์—ฌ๋Ÿฌ ๊ธฐ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค:

  1. ์„œ๋ฒ„๋Š” TLS ๊ณ„์ธต์—์„œ ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฑฐ๋ถ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„œ๋ฒ„๋Š” ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ์„ ํƒ์ ์œผ๋กœ ๊ฑฐ๋ถ€ํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ, ์ด๋Š” ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋กœ ์ „์†ก๋œ ๋ชจ๋“  ์š”์ฒญ์ด ํ๊ธฐ๋จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
  2. ์„œ๋ฒ„๋Š” TLS ํ•ธ๋“œ์…ฐ์ดํฌ๊ฐ€ ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ์˜ ์ฒ˜๋ฆฌ๋ฅผ ์ง€์—ฐ์‹œํ‚ค๋„๋ก ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒ˜๋ฆฌ๋ฅผ ์—ฐ๊ธฐํ•จ์œผ๋กœ์จ ํ•ด๋‹น ์—ฐ๊ฒฐ์ด ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒ๋œ ๊ฒฝ์šฐ์—๋งŒ ๊ทธ ์•ˆ์˜ ์š”์ฒญ์ด ์‚ฌ์šฉ๋˜๋„๋ก ๋ณด์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์„œ๋ฒ„์— ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๊ฐ€ ์žฌ์ƒ๋˜์ง€ ์•Š์•˜์„ ๊ฒƒ์ด๋ผ๋Š” ์ผ๋ถ€ ํ™•์‹ ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„๊ฐ€ ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ์—์„œ ์—ฌ๋Ÿฌ ์š”์ฒญ์„ ์ˆ˜์‹ ํ•˜๋ฉด, HTTP ์ฒ˜๋ฆฌ๋ฅผ ์š”์ฒญ๋ณ„๋กœ ์ง€์—ฐํ• ์ง€ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  3. ์„œ๋ฒ„๋Š” ์žฌ์ƒ ์œ„ํ—˜์ด ๋„ˆ๋ฌด ํฌ๋‹ค๊ณ  ํŒ๋‹จ๋˜๋Š” ๊ฒฝ์šฐ 425 (Too Early) ์ƒํƒœ ์ฝ”๋“œ(์„น์…˜ 5.2)๋กœ ์‘๋‹ตํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๊ฐœ๋ณ„ ์š”์ฒญ์„ ์žฌ์‹œ๋„ํ•˜๊ฒŒ ๋งŒ๋“ค๊ณ  ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ชจ๋“  ๊ธฐ๋ฒ•์€ ํšจ๊ณผ๊ฐ€ ๋™์ผํ•˜๋ฉฐ, ์„œ๋ฒ„๋Š” ์ž์‹ ์—๊ฒŒ ๊ฐ€์žฅ ์ ํ•ฉํ•œ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํŠน์ • ์š”์ฒญ์— ๋Œ€ํ•ด ์žฌ์ƒ ์œ„ํ—˜์— ๋Œ€ํ•œ ํ—ˆ์šฉ ์ˆ˜์ค€์€ ๊ทธ ์š”์ฒญ์ด ์ž‘๋™ํ•˜๋Š” ์ž์›์— ํŠนํ™”๋˜์–ด ์žˆ์œผ๋ฉฐ(๋”ฐ๋ผ์„œ ์˜ค๋ฆฌ์ง„ ์„œ๋ฒ„๋งŒ์ด ์•Œ ์ˆ˜ ์žˆ์Œ), ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ์˜ ์ฃผ์š” ์œ„ํ—˜์€ ์„œ๋ฒ„๊ฐ€ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๋™์ž‘๋“ค์ž…๋‹ˆ๋‹ค. ์ค‘๋ณต ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋ฉด ์ค‘๋ณต๋œ ํšจ๊ณผ์™€ ๋ถ€์ž‘์šฉ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. TLS์˜ Appendix E.5๋„ ์ค‘๋ณต๋œ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๊ธฐํƒ€ ํšจ๊ณผ๋ฅผ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์š”์ฒญ ๋ฉ”์„œ๋“œ์˜ ์•ˆ์ „์„ฑ([RFC7231], ์„น์…˜ 4.2.1)์€ ์ด๋ฅผ ํŒ๋‹จํ•˜๋Š” ํ•œ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ผ๋ถ€ ์ž์›์€ ์•ˆ์ „ํ•œ ๋ฉ”์„œ๋“œ๋กœ๋„ ๋ถ€์ž‘์šฉ์„ ์ผ์œผํ‚ฌ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ด ๋ฐฉ๋ฒ•๋งŒ์œผ๋กœ ์ „์ ์œผ๋กœ ์‹ ๋ขฐํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค.

์˜ค๋ฆฌ์ง„ ์„œ๋ฒ„๋Š” ๋ฆฌ์†Œ์Šค๊ฐ€ ์š”์ฒญ์—์„œ ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ ์ ˆํ•œ์ง€ ๋ช…์‹œ์ ์œผ๋กœ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋ช…์‹œ์  ์ •๋ณด๊ฐ€ ์—†์œผ๋ฉด ์˜ค๋ฆฌ์ง„ ์„œ๋ฒ„๋Š” ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฑฐ๋ถ€ํ•˜๊ฑฐ๋‚˜ ์ด ๋ฌธ์„œ์— ์„ค๋ช…๋œ ๊ธฐ๋ฒ•์„ ๊ตฌํ˜„ํ•˜์—ฌ TLS ํ•ธ๋“œ์…ฐ์ดํฌ ์™„๋ฃŒ ์ด์ „์— ์š”์ฒญ์ด ์ฒ˜๋ฆฌ๋˜์ง€ ์•Š๋„๋ก ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์š”์ฒญ์ด ์ผ๋ถ€๋Š” ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋กœ, ๋‚˜๋จธ์ง€๋Š” ํ•ธ๋“œ์…ฐ์ดํฌ ์™„๋ฃŒ ํ›„์— ์ „์†ก๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๋ฐ˜๋“œ์‹œ ๊ทธ ์š”์ฒญ์˜ ์ฒ˜๋ฆฌ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋ฉฐ, ์ค‘์š”ํ•œ ๊ฒƒ์€ ์„œ๋ฒ„๊ฐ€ ์š”์ฒญ์˜ ๋‚ด์šฉ์„ ์–ธ์ œ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์‹œ์ž‘ํ•˜๋Š”๊ฐ€์ž…๋‹ˆ๋‹ค. ์–ด๋–ค ์„œ๋ฒ„ ์ธ์Šคํ„ด์Šค๋ผ๋„ ํ•ธ๋“œ์…ฐ์ดํฌ ์™„๋ฃŒ ์ด์ „์— ์ฒ˜๋ฆฌ๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ, ๋ชจ๋“  ์„œ๋ฒ„ ์ธ์Šคํ„ด์Šค๋Š” ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ์˜ ์žฌ์ƒ ๊ฐ€๋Šฅ์„ฑ๊ณผ ๊ทธ๊ฒƒ์ด ์ฒ˜๋ฆฌ์— ๋ฏธ์น  ์ˆ˜ ์žˆ๋Š” ์˜ํ–ฅ์„ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(์ฐธ์กฐ: ์„น์…˜ 6.2).

์„œ๋ฒ„๋Š” ๋ถˆ์™„์ „ํ•œ ์š”์ฒญ์„ ๋ถ€๋ถ„์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ’์— ๋Œ€ํ•ด ๋™์ž‘์„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๊ณ  ํ—ค๋” ํ•„๋“œ๋ฅผ ํŒŒ์‹ฑํ•˜๊ฑฐ๋‚˜ ์š”์ฒญ ๋ผ์šฐํŒ…์„ ๊ฒฐ์ •ํ•˜๋Š” ๊ฒƒ์€ ๋ถ€์ž‘์šฉ ์ธก๋ฉด์—์„œ ์•ˆ์ „ํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์ง€๋งŒ ๋‹ค๋ฅธ ๋™์ž‘์€ ๊ทธ๋ ‡์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ค‘๊ณ„ ์„œ๋ฒ„(์ธํ„ฐ๋ฏธ๋””์–ด๋ฆฌ)๋Š” ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ํŒ๋‹จํ•˜๊ธฐ์— ์ถฉ๋ถ„ํ•œ ์ •๋ณด๋ฅผ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š์œผ๋ฏ€๋กœ, ์„น์…˜ 5.2์—์„œ๋Š” ํŠน์ • ์š”์ฒญ์ด ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ์— ์ ํ•ฉํ•˜์ง€ ์•Š์Œ์„ ์˜ค๋ฆฌ์ง„์ด ์ค‘๊ณ„์— ์‹ ํ˜ธํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์šฉํ•˜๋Š” ์ค‘๊ณ„๋Š” ํ•ด๋‹น ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๊ตฌํ˜„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์„œ๋ฒ„๋Š” TLS ๊ณ„์ธต์—์„œ ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ์„ ํƒ์ ์œผ๋กœ ๊ฑฐ๋ถ€ํ•  ์ˆ˜ ์—†๋‹ค๋Š” ์ ์— ์œ ์˜ํ•˜์‹ญ์‹œ์˜ค. TLS๋Š” ์„œ๋ฒ„๊ฐ€ ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ๋‘ ํ—ˆ์šฉํ•˜๊ฑฐ๋‚˜ ์ „ํ˜€ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ๋งŒ์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„๊ฐ€ ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ํ—ˆ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ•˜๋ฉด, ์„œ๋ฒ„๋Š” ์š”์ฒญ์„ 425 (Too Early)๋กœ ๊ฑฐ๋ถ€ํ•˜๋”๋ผ๋„ ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ์— ์žˆ๋Š” ๋ชจ๋“  ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์„œ๋ฒ„๋Š” early_data TLS ํ™•์žฅ์˜ max_early_data_size ํ•„๋“œ๋กœ ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ์˜ ์–‘์„ ์ œํ•œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ํ•ธ๋“œ์…ฐ์ดํฌ๊ฐ€ ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ์ง€์—ฐํ•  ์ˆ˜ ์žˆ๋Š” ์š”์ฒญ์— ๋Œ€ํ•ด ์ž„์˜์˜ ์–‘์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ•˜๋Š” ๊ฒƒ์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

4. HTTP ํด๋ผ์ด์–ธํŠธ์—์„œ Early Data ์‚ฌ์šฉ

์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋Š” ํด๋ผ์ด์–ธํŠธ๋Š” TLS ClientHello๋ฅผ ๋ณด๋‚ธ ์งํ›„์— HTTP ์š”์ฒญ์„ ์ฆ‰์‹œ ์ „์†กํ•จ์œผ๋กœ์จ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

๋ณธ์งˆ์ ์œผ๋กœ ํด๋ผ์ด์–ธํŠธ๋Š” ํŠน์ • ์š”์ฒญ์„ ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋กœ ๋ณด๋‚ผ์ง€ ์—ฌ๋ถ€๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์žฌํ”Œ๋ ˆ์ด ์œ„ํ—˜์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์ •๋ณด๊ฐ€ ์—†์œผ๋ฉด ํด๋ผ์ด์–ธํŠธ๋Š” ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•  ๋•Œ ์•ˆ์ „ํ•œ HTTP ๋ฉ”์„œ๋“œ ([RFC7231], ์„น์…˜ 4.2.1)์— ํ•ด๋‹นํ•˜๋Š” ์š”์ฒญ์„ ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋กœ ์ „์†กํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์•ˆ์ „ํ•˜์ง€ ์•Š์€ ๋ฉ”์„œ๋“œ(๋˜๋Š” ์•ˆ์ „์„ฑ์ด ์•Œ๋ ค์ง€์ง€ ์•Š์€ ๋ฉ”์„œ๋“œ)๋ฅผ ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋กœ ์ „์†กํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค.

์„œ๋ฒ„๊ฐ€ TLS ๊ณ„์ธต์—์„œ ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฑฐ๋ถ€ํ•˜๋ฉด, ํด๋ผ์ด์–ธํŠธ๋Š” ์—ฐ๊ฒฐ์ด ์ƒˆ๋กœ ์—ด๋ฆฐ ๊ฒƒ์ฒ˜๋Ÿผ ๋‹ค์‹œ ์ „์†ก์„ ์‹œ์ž‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ๋‚™๊ด€์ ์œผ๋กœ ์‚ฌ์šฉ๋œ ํ”„๋กœํ† ์ฝœ([ALPN]) ๊ณผ ๋‹ค๋ฅธ ํ˜‘์ƒ๋œ ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ํฌํ•จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋กœ ๋ณด๋‚ธ ๋ชจ๋“  ์š”์ฒญ์€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํฌ๊ธฐํ•˜์ง€ ์•Š๋Š” ํ•œ ๋‹ค์‹œ ์ „์†ก๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ž๋™ ์žฌ์‹œ๋„๋Š” ์žฌํ”Œ๋ ˆ์ด ๊ณต๊ฒฉ์˜ ๊ฐ€๋Šฅ์„ฑ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ๊ณต๊ฒฉ์ž๋Š” ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์—ฐ๊ฒฐ์„ ๊ฐ€๋กœ์ฑ„์–ด ๊ทธ ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฅธ ์„œ๋ฒ„ ์ธ์Šคํ„ด์Šค๋กœ ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋‘ ๋ฒˆ์งธ ์„œ๋ฒ„ ์ธ์Šคํ„ด์Šค๋Š” ํ•ธ๋“œ์…ฐ์ดํฌ๋ฅผ ์™„๋ฃŒํ•˜์ง€ ์•Š๋”๋ผ๋„ ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜๋ฝํ•˜๊ณ  ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๊ณต๊ฒฉ์ž๋Š” ์›๋ž˜ ์—ฐ๊ฒฐ์ด ์™„๋ฃŒ๋˜๋„๋ก ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ์„ค๋ น ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๊ฐ€ ์ค‘๋ณต์œผ๋กœ ๊ฐ์ง€๋˜์–ด ๊ฑฐ๋ถ€๋˜๋”๋ผ๋„, ์ฒซ ๋ฒˆ์งธ ์„œ๋ฒ„ ์ธ์Šคํ„ด์Šค๋Š” ์—ฐ๊ฒฐ์„ ์™„๋ฃŒํ•˜๋„๋ก ํ—ˆ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ์—์„œ ๋ณด๋‚ธ ์š”์ฒญ์„ ์žฌ์‹œ๋„ํ•˜๋ฉด ์š”์ฒญ์ด ๋‘ ๋ฒˆ ์ฒ˜๋ฆฌ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์—ฌ๋Ÿฌ ์„œ๋ฒ„ ์ธ์Šคํ„ด์Šค๊ฐ€ ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜๋ฝํ•˜๊ฑฐ๋‚˜ ๋™์ผํ•œ ์„œ๋ฒ„๊ฐ€ ์—ฌ๋Ÿฌ ๋ฒˆ ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜๋ฝํ•˜๋Š” ๊ฒฝ์šฐ์—๋„(ํ›„์ž๋Š” TLS์˜ ์š”๊ตฌ์‚ฌํ•ญ ์œ„๋ฐ˜์ด์ง€๋งŒ) ์žฌํ”Œ๋ ˆ์ด๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ๋Š” 425 (Too Early) ์ƒํƒœ ์ฝ”๋“œ๋ฅผ ์ˆ˜์‹ ํ•˜๋ฉด ์š”์ฒญ์„ ์žฌ์‹œ๋„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค; ์„น์…˜ 5.2๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

์ค‘๊ณ„์ž๋Š” ์ด์ „ ํ™‰์—์„œ ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ฌ์šฉ๋˜์—ˆ๊ฑฐ๋‚˜ ์š”์ฒญ์„ ์•ˆ์ „ํ•˜๊ฒŒ ์žฌ์‹œ๋„ํ•  ์ˆ˜ ์žˆ์Œ์„ ์•Œ๊ณ  ์žˆ์ง€ ์•Š๋Š” ํ•œ, ์š”์ฒญ์„ ์ „๋‹ฌํ•  ๋•Œ ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค(์ผ๋ฐ˜์ ์œผ๋กœ ์˜คํ”„๋ผ์ธ ๊ตฌ์„ฑ ์‚ฌ์šฉ). ๋” ๋‚˜์€ ์ •๋ณด๊ฐ€ ์—†์œผ๋ฉด ์ค‘๊ณ„์ž๋Š” ์š”์ฒญ์ด ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋กœ ๋„์ฐฉํ–ˆ๊ฑฐ๋‚˜ Early-Data ํ—ค๋” ํ•„๋“œ๊ฐ€ โ€œ1โ€๋กœ ์„ค์ •๋˜์–ด ๋„์ฐฉํ•œ ๊ฒฝ์šฐ์—๋งŒ ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์ฐธ์กฐ: ์„น์…˜ 5.1).

5. HTTP์˜ Early Data ํ™•์žฅ

HTTP ์š”์ฒญ์€ ์—ฌ๋Ÿฌ 'ํ™‰'์— ๊ฑธ์น  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ์š”์ฒญ์ด ์ด์ „ ํ™‰์—์„œ ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋กœ ์ „์†ก๋˜์—ˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ์ „๋‹ฌํ•  ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ, ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๊ฐ€ ์›์น˜ ์•Š์„ ๋•Œ ๋ช…์‹œ์ ์œผ๋กœ ์žฌ์‹œ๋„๋ฅผ ์œ ๋ฐœํ•˜๋Š” ์ˆ˜๋‹จ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ, ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์‹ค์ œ๋กœ ๊ทธ๋Ÿฐ ์žฌ์‹œ๋„๋ฅผ ์ˆ˜ํ–‰ํ•  ๊ฒƒ์ธ์ง€ ์•Œ ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ์š”๊ตฌ๋ฅผ ์ถฉ์กฑํ•˜๊ธฐ ์œ„ํ•ด ๋‘ ๊ฐ€์ง€ ์‹ ํ˜ธ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ์ •์˜๋ฉ๋‹ˆ๋‹ค:

  • Early-Data ํ—ค๋” ํ•„๋“œ๋Š” ์š”์ฒญ์ด ํด๋ผ์ด์–ธํŠธ์™€์˜ TLS ํ•ธ๋“œ์…ฐ์ดํฌ ์™„๋ฃŒ ์ด์ „์— ์ค‘๊ณ„์ž์— ์˜ํ•ด ์ „๋‹ฌ๋˜์—ˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋Š” ๊ฒฝ์šฐ์— ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.
  • 425 (Too Early) ์ƒํƒœ ์ฝ”๋“œ๋Š” ์„œ๋ฒ„๊ฐ€ ๊ฐ€๋Šฅํ•œ ์žฌํ”Œ๋ ˆ์ด ๊ณต๊ฒฉ์˜ ๊ฒฐ๊ณผ ๋•Œ๋ฌธ์— ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†์Œ์„ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•ด ์ •์˜๋ฉ๋‹ˆ๋‹ค.

์ด๋“ค์€ ์‚ฌ์šฉ์ž ์—์ด์ „ํŠธ์™€ ์˜ค๋ฆฌ์ง„ ์„œ๋ฒ„ ๊ฐ„์˜ ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ ์‚ฌ์šฉ์— ๋Œ€ํ•œ ๋” ๋‚˜์€ ์กฐ์ •, ๊ทธ๋ฆฌ๊ณ  ๊ฒŒ์ดํŠธ์›จ์ด(์—ญํ”„๋ก์‹œ, CDN, ๋˜๋Š” ์„œ๋Ÿฌ๊ฒŒ์ดํŠธ)๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ์—๋„ ์กฐ์ •์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๊ฒŒ์ดํŠธ์›จ์ด๋Š” ์ฃผ์–ด์ง„ ์š”์ฒญ์ด ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋กœ ์•ˆ์ „ํ•˜๊ฒŒ ์ฒ˜๋ฆฌ๋  ์ˆ˜ ์žˆ๋Š”์ง€์— ๋Œ€ํ•œ ๊ตฌ์ฒด์  ์ •๋ณด๋ฅผ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š์€ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ๋งŽ์€ ๊ฒฝ์šฐ์— ์˜ค๋ฆฌ์ง„ ์„œ๋ฒ„๋งŒ์ด ์žฌํ”Œ๋ ˆ์ด ์œ„ํ—˜์ด ํ—ˆ์šฉ ๊ฐ€๋Šฅํ•œ์ง€ ํŒ๋‹จํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํ™•์žฅ๋“ค์€ ๊ฒŒ์ดํŠธ์›จ์ด์™€ ์˜ค๋ฆฌ์ง„ ์„œ๋ฒ„ ๊ฐ„์˜ ์กฐ์ •์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

5.2. 425 (Too Early) ์ƒํƒœ ์ฝ”๋“œ

425 (Too Early) ์ƒํƒœ ์ฝ”๋“œ๋Š” ์„œ๋ฒ„๊ฐ€ ์žฌ์ƒ๋  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋Š” ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ์œ„ํ—˜์„ ๊ฐ์ˆ˜ํ•˜์ง€ ์•Š๊ฒ ๋‹ค๋Š” ๊ฒƒ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋กœ ์š”์ฒญ์„ ๋ณด๋‚ด๋Š” ์‚ฌ์šฉ์ž ์—์ด์ „ํŠธ๋Š” 425 (Too Early) ์‘๋‹ต ์ƒํƒœ ์ฝ”๋“œ๋ฅผ ์ˆ˜์‹ ํ•˜๋ฉด ๊ทธ ์š”์ฒญ์„ ์žฌ์‹œ๋„ํ•  ๊ฒƒ์œผ๋กœ ๊ธฐ๋Œ€๋ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ์—์ด์ „ํŠธ๋Š” ์ž๋™์œผ๋กœ ์žฌ์‹œ๋„ํ•˜๋Š” ๊ฒƒ์ด ๊ถŒ์žฅ๋˜์ง€๋งŒ, ์žฌ์‹œ๋„๋Š” ์–ด๋– ํ•œ ๊ฒฝ์šฐ์—๋„ ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋กœ ์ „์†ก๋˜์–ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  ๊ฒฝ์šฐ์— ์ค‘๊ณ„์ž๋Š” 425 (Too Early) ์ƒํƒœ ์ฝ”๋“œ๋ฅผ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ค‘๊ณ„์ž๋Š” ์ž์‹ ์ด ์ˆ˜์‹ ํ•˜๊ณ  ์ „๋‹ฌํ•œ ์š”์ฒญ์— Early-Data ํ—ค๋” ํ•„๋“œ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์—ˆ๋‹ค๋ฉด 425 ์ƒํƒœ ์ฝ”๋“œ๋ฅผ ์ „๋‹ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ, ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋กœ ์š”์ฒญ์„ ์ˆ˜์‹ ํ•œ ์ค‘๊ณ„์ž๋Š” 425 ์ƒํƒœ ์ฝ”๋“œ์— ์‘ํ•ด ์ž๋™์œผ๋กœ ํ•ด๋‹น ์š”์ฒญ์„ ์žฌ์‹œ๋„ํ•  ์ˆ˜ ์žˆ์œผ๋‚˜, ์š”์ฒญ์„ ์ˆ˜์‹ ํ•œ ์—ฐ๊ฒฐ์—์„œ TLS ํ•ธ๋“œ์…ฐ์ดํฌ๊ฐ€ ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ค์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์„œ๋ฒ„๋Š” ์š”์ฒญ์ด ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋กœ ์ˆ˜์‹ ๋˜์—ˆ๊ฑฐ๋‚˜ Early-Data ํ—ค๋” ํ•„๋“œ๊ฐ€ โ€œ1โ€๋กœ ์„ค์ •๋˜์ง€ ์•Š๋Š” ํ•œ, ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญ์„ ์žฌ์‹œ๋„ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์กฐ๊ฑด ์ค‘ ํ•˜๋‚˜๊ฐ€ ์ถฉ์กฑ๋˜์ง€ ์•Š์œผ๋ฉด ์„œ๋ฒ„๋Š” 425 ์ƒํƒœ ์ฝ”๋“œ๋ฅผ ๋ฐœํ–‰ํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค.

425 (Too Early) ์ƒํƒœ ์ฝ”๋“œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์บ์‹œํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ ํŽ˜์ด๋กœ๋“œ๋Š” ์–ด๋–ค ์‹๋ณ„๋œ ์ž์›์˜ ํ‘œํ˜„๋„ ์•„๋‹™๋‹ˆ๋‹ค.

6. ๋ณด์•ˆ ๊ณ ๋ ค์‚ฌํ•ญ

์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์ด ์žฌ์ƒ๋  ์œ„ํ—˜์— ๋…ธ์ถœ๋ฉ๋‹ˆ๋‹ค. ์žฌ์‹œ๋„๋˜๊ฑฐ๋‚˜ ์žฌ์ƒ๋œ ์š”์ฒญ์€ ์„œ๋ฒ„์—์„œ ๋‹ค๋ฅธ ๋ถ€์ž‘์šฉ์„ ์ดˆ๋ž˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ถ€์ž‘์šฉ ์™ธ์—, ์žฌํ”Œ๋ ˆ์ด์™€ ์žฌ์‹œ๋„๋Š” ํŠธ๋ž˜ํ”ฝ ๋ถ„์„์— ์‚ฌ์šฉ๋˜์–ด ์š”์ฒญ์ด๋‚˜ ์š”์ฒญ์ด ๋Œ€์ƒ์œผ๋กœ ํ•˜๋Š” ์ž์›์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋ณต๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ, ์žฌ์ƒ๋œ ์š”์ฒญ์€ ๋‹ค๋ฅธ ์‘๋‹ต์„ ์œ ๋ฐœํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” ์ฝ˜ํ…์ธ ๊ฐ€ ๋น„๋ฐ€๋กœ ์œ ์ง€๋˜๋”๋ผ๋„ ๋ณดํ˜ธ๋œ ๋ฐ์ดํ„ฐ์˜ ๊ธธ์ด๋กœ๋ถ€ํ„ฐ ๊ด€์ฐฐ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

6.1. ๊ฒŒ์ดํŠธ์›จ์ด์™€ Early Data

๊ฒŒ์ดํŠธ์›จ์ด๋Š” ์˜ค๋ฆฌ์ง„ ์„œ๋ฒ„ ์ค‘ ์š”์ฒญ์„ ์ „๋‹ฌํ•  ๋Œ€์ƒ์ด Early-Data ํ—ค๋” ํ•„๋“œ๋ฅผ ์ดํ•ดํ•˜๊ณ  425 (Too Early) ์ƒํƒœ ์ฝ”๋“œ๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ƒ์„ฑํ•  ๊ฒƒ์ž„์„ ์•Œ์ง€ ๋ชปํ•˜๋ฉด ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋กœ ์ˆ˜์‹ ๋œ ์š”์ฒญ์„ ์ „๋‹ฌํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ํŠน์ • ์˜ค๋ฆฌ์ง„ ์„œ๋ฒ„์˜ ์ง€์›์ด ํ™•์‹คํ•˜์ง€ ์•Š์€ ๊ฒŒ์ดํŠธ์›จ์ด๋Š” ํด๋ผ์ด์–ธํŠธ์™€์˜ TLS ํ•ธ๋“œ์…ฐ์ดํฌ๊ฐ€ ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ์ „๋‹ฌ์„ ์ง€์—ฐํ•˜๊ฑฐ๋‚˜ ์‘๋‹ต์œผ๋กœ 425 (Too Early) ์ƒํƒœ ์ฝ”๋“œ๋ฅผ ๋ณด๋‚ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ž ์žฌ์  ์˜ค๋ฆฌ์ง„ ์„œ๋ฒ„ ์ค‘ ์ ์–ด๋„ ํ•˜๋‚˜๊ฐ€ Early-Data ํ—ค๋” ํ•„๋“œ๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ, ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์„ฑํ™”ํ•˜์—ฌ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์„ฑ๋Šฅ ์ด์ต์€ ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ๋ฏธ๋ฏธํ•˜๋ฏ€๋กœ ๊ฒŒ์ดํŠธ์›จ์ด๋Š” ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ์™„์ „ํžˆ ๋น„ํ™œ์„ฑํ™”ํ•˜๋Š” ๊ฒƒ์ด ๋” ํšจ์œจ์ ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

6.2. Early Data์˜ ์ผ๊ด€๋œ ์ฒ˜๋ฆฌ

์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋กœ ๋„์ฐฉํ–ˆ๊ฑฐ๋‚˜ ๋ถ€๋ถ„์ ์œผ๋กœ ๋„์ฐฉํ•œ ์š”์ฒญ์„ ์ผ๊ด€๋˜๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์€ ์žฌ์ƒ๋œ ์š”์ฒญ์˜ ๋ถ€์ ์ ˆํ•œ ์ฒ˜๋ฆฌ๋ฅผ ํ”ผํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. TLS ํ•ธ๋“œ์…ฐ์ดํฌ๊ฐ€ ์™„๋ฃŒ๋˜๊ธฐ ์ „์— ์ฒ˜๋ฆฌํ•˜๊ธฐ์— ์•ˆ์ „ํ•˜์ง€ ์•Š์€ ์š”์ฒญ์ด๋ผ๋ฉด, ๋ชจ๋“  ์„œ๋ฒ„ ์ธ์Šคํ„ด์Šค(๊ฒŒ์ดํŠธ์›จ์ด ํฌํ•จ)๋Š” ํ•ฉ์˜ํ•˜์—ฌ ํ•ด๋‹น ์š”์ฒญ์„ ๊ฑฐ๋ถ€ํ•˜๊ฑฐ๋‚˜ ์ฒ˜๋ฆฌ๋ฅผ ์ง€์—ฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ฑฐ๋‚˜ ์š”์ฒญ์„ ์ง€์—ฐํ•˜๊ฑฐ๋‚˜ 425 (Too Early) ์ƒํƒœ ์ฝ”๋“œ๋กœ ์š”์ฒญ์„ ๊ฑฐ๋ถ€ํ•˜๋Š” ๊ฒƒ์€ ์žฌํ”Œ๋ ˆ์ด ๊ณต๊ฒฉ์„ ์™„ํ™”ํ•˜๋Š” ๋ฐ ๋ชจ๋‘ ๋™์ผํ•˜๊ฒŒ ์œ ํšจํ•œ ์กฐ์น˜์ž…๋‹ˆ๋‹ค. ์„œ๋ฒ„ ์ธ์Šคํ„ด์Šค๋Š” ์ด๋Ÿฌํ•œ ์กฐ์น˜๋“ค ์ค‘ ์–ด๋А ๊ฒƒ์„ ๊ตฌํ˜„ํ•˜๋”๋ผ๋„ ์ผ๊ด€๋œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์„œ๋กœ ๋‹ค๋ฅธ ์ธ์Šคํ„ด์Šค๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ค‘์š”ํ•œ ์ ์€ ์„œ๋ฒ„ ๋ถ€ํ•˜์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ์กฐ๊ฑด์— ๋ฐ˜์‘ํ•˜์—ฌ ์„œ๋กœ ๋‹ค๋ฅธ ์™„ํ™”์ฑ…์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์„œ๋ฒ„๋Š” ์ž์‹  ๋ฐ ๋‹ค๋ฅธ ์„œ๋ฒ„ ์ธ์Šคํ„ด์Šค๊ฐ€ ๋™์ผํ•œ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ์„œ๋กœ ๋‹ค๋ฅธ ๊ฒฐ์ •์„ ๋‚ด๋ฆด ์ˆ˜ ์žˆ๋Š” ์ƒํ™ฉ์ด๋ผ๋ฉด ํ•ธ๋“œ์…ฐ์ดํฌ ์™„๋ฃŒ ์ „์— ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ๋™์ž‘์„ ์ˆ˜ํ–‰ํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค.

6.3. ์„œ๋น„์Šค ๊ฑฐ๋ถ€(DoS)

์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜๋ฝํ•˜๋ฉด ์ฒ˜๋ฆฌ ๋น„์šฉ์ด ํฐ ์š”์ฒญ์˜ ์žฌํ”Œ๋ ˆ์ด๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„๊ฐ€ ์„œ๋น„์Šค ๊ฑฐ๋ถ€์— ๋…ธ์ถœ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ถ€ํ•˜๊ฐ€ ๊ฑธ๋ฆฐ ์„œ๋ฒ„๋Š” ๊ฐœ๋ณ„ ์š”์ฒญ์„ ์„ ํƒ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๋Œ€์‹  TLS ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์ฒด์ ์œผ๋กœ ๊ฑฐ๋ถ€ํ•˜๋Š” ํŽธ์ด ๋ฐ”๋žŒ์งํ•ฉ๋‹ˆ๋‹ค. 503 (Service Unavailable) ๋˜๋Š” 425 (Too Early) ์ƒํƒœ ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•˜๋ฉด ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญ์„ ์žฌ์‹œ๋„ํ•˜๊ฒŒ ๋˜์–ด ๋ถ€ํ•˜๊ฐ€ ์ฆ๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

6.4. ์ˆœ์„œ๊ฐ€ ๋’ค๋ฐ”๋€ ์ „๋‹ฌ

QUIC [HQ] ๊ฐ™์€ ์ˆœ์„œ๊ฐ€ ๋’ค๋ฐ”๋€Œ์–ด ์ „๋‹ฌ๋˜๋Š” ํ”„๋กœํ† ์ฝœ์—์„œ๋Š” ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ๊ฐ€ ํ•ธ๋“œ์…ฐ์ดํฌ ์™„๋ฃŒ ์ดํ›„์— ๋„์ฐฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„œ๋ฒ„๋Š” ๋‹ค๋ฅธ ์ธ์Šคํ„ด์Šค๊ฐ€ ๋™์ผํ•œ ์š”์ฒญ์˜ ์žฌํ”Œ๋ ˆ์ด๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•  ๊ฒƒ์ด๋ผ๊ณ  ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์—๋งŒ ํ•ธ๋“œ์…ฐ์ดํฌ ์™„๋ฃŒ ํ›„์— ์ˆ˜์‹ ๋œ ์–ผ๋ฆฌ ๋ฐ์ดํ„ฐ์˜ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

7. IANA ๊ณ ๋ ค์‚ฌํ•ญ

์ด ๋ฌธ์„œ๋Š” โ€œPermanent Message Header Field Namesโ€ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— Early-Data ํ—ค๋” ํ•„๋“œ๋ฅผ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค. ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋Š” <https://www.iana.org/assignments/message-headers>์— ์žˆ์Šต๋‹ˆ๋‹ค.

Header field name:
Early-Data
Applicable protocol:
http
Status:
standard
Author/Change controller:
IETF
Specification document(s):
์ด ๋ฌธ์„œ
Related information:
(empty)

์ด ๋ฌธ์„œ๋Š” โ€œHTTP Status Codesโ€ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— 425 (Too Early) ์ƒํƒœ ์ฝ”๋“œ๋ฅผ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค. ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋Š” <https://www.iana.org/assignments/http-status-codes>์— ์žˆ์Šต๋‹ˆ๋‹ค.

Value:
425
Description:
Too Early
Reference:
์ด ๋ฌธ์„œ

8. ์ฐธ๊ณ  ๋ฌธํ—Œ

8.2. ์ฐธ๊ณ ์ž๋ฃŒ

[ALPN]
Friedl, S., Popov, A., Langley, A., and E. Stephan, โ€œTransport Layer Security (TLS) Application-Layer Protocol Negotiation Extensionโ€, RFC 7301, DOI 10.17487/RFC7301, July 2014, <https://www.rfc-editor.org/info/rfc7301>.
[HQ]
Bishop, M., โ€œHypertext Transfer Protocol (HTTP) over QUICโ€, Work in Progress, draft-ietf-quic-http-14, August 2018.
[RFC7540]
Belshe, M., Peon, R., and M. Thomson, Ed., โ€œHypertext Transfer Protocol Version 2 (HTTP/2)โ€, RFC 7540, DOI 10.17487/RFC7540, May 2015, <https://www.rfc-editor.org/info/rfc7540>.

๊ฐ์‚ฌ์˜ ๋ง

์ด ๋ฌธ์„œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์€ ์‰ฝ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ์‚ฌ๋žŒ๋“ค์€ ๋ฌธ์„œ์˜ ํ’ˆ์งˆ๊ณผ ์™„์„ฑ๋„์— ์ƒ๋‹นํ•œ ๊ธฐ์—ฌ๋ฅผ ํ–ˆ์Šต๋‹ˆ๋‹ค: David Benjamin, Subodh Iyengar, Benjamin Kaduk, Ilari Liusavaara, Kazuho Oku, Eric Rescorla, Kyle Rose, ๋ฐ Victor Vasiliev.

์ €์ž ์—ฐ๋ฝ์ฒ˜

Martin Thomson
Mozilla
EMail: martin.thomson@gmail.com
Mark Nottingham
Fastly
EMail: mnot@mnot.net
Willy Tarreau
HAProxy Technologies
EMail: willy@haproxy.org