Skip to content

Latest commit

ย 

History

History
187 lines (133 loc) ยท 9.68 KB

File metadata and controls

187 lines (133 loc) ยท 9.68 KB

HTTP์™€ HTTPS



HTTP์™€ HTTPS ์ฐจ์ด์ 

HTTP HTTPS
HyperText Transfer Protocol HyperText Transfer Protocol over Secure Socket Layer(SSL)
์ธํ„ฐ๋„ท์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์›น ์„œ๋ฒ„์™€ ์‚ฌ์šฉ์ž์˜ ์ธํ„ฐ๋„ท ๋ธŒ๋ผ์šฐ์ € ์‚ฌ์ด์— ๋ฌธ์„œ๋ฅผ ์ „์†กํ•˜๊ธฐ ์œ„ํ•œ ํ†ต์‹  ๊ทœ์•ฝ
ํฌํŠธ๋ฒˆํ˜ธ : 80 ํฌํŠธ๋ฒˆํ˜ธ : 443
์•”ํ˜ธํ™”๊ฐ€ ์ „ํ˜€ ๋˜์–ด ์žˆ์ง€ ์•Š์•„, ๊ทธ๋ƒฅ ํ…์ŠคํŠธ ๊ทธ๋Œ€๋กœ ์ „์†ก ์†Œ์ผ“ ํ†ต์‹ ์—์„œ ์ผ๋ฐ˜ ํ…์ŠคํŠธ๋ฅผ ์ด์šฉํ•˜๋Š” ๋Œ€์‹ ์—, TLS ํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•ด ์„ธ์…˜ ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™”
wireshark์™€ ๊ฐ™์€ ํŒจํ‚ท์บก์ณ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ํŒจํ‚ท์บก์ณ๋ฅผ ํ•ด๋ณด๋ฉด ์ •๋ณด๊ฐ€ ๊ทธ๋Œ€๋กœ ๋…ธ์ถœ๋˜์–ด ์žˆ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŒจํ‚ท์„ ์•”ํ˜ธํ™”ํ•˜์—ฌ ์ „์†กํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํŒจํ‚ท์บก์ณ๋ฅผ ํ•ด๋ณด์•„๋„ ์•”ํ˜ธํ™”๋œ ๋‚ด์šฉ๋งŒ ๋ณด์ด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
HTTPS๋ณด๋‹ค ํŠธ๋ž˜ํ”ฝ์ด ์ ๊ฒŒ ๋ฐœ์ƒ ์„ค์น˜ ๋ฐ ์ธ์ฆ์„œ๋ฅผ ์œ ์ง€ํ•˜๋Š” ๋ฐ์— ์ถ”๊ฐ€๋น„์šฉ ๋ฐœ์ƒ
HTTPS์˜ ์•”ํ˜ธํ™”๋Š” Transport ๊ณ„์ธต์—์„œ ์ด๋ฃจ์–ด์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. (TLS - Transport Layer Security : SSL3.0์„ ๊ธฐ๋ฐ˜)

  • ๋ชจ๋“  ์‚ฌ์ดํŠธ์—์„œ HTTPS๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด ์„œ๋ฒ„์— ๊ณผ๋ถ€ํ™”๊ฐ€ ๊ฑธ๋ฆด ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ๋Œ€๋ถ€๋ถ„ ์ค‘์š”ํ•œ ์‚ฌ์ดํŠธ๋Š” HTTPS๋กœ ๊ด€๋ฆฌํ•˜๊ณ  ๋‚˜๋จธ์ง€ ์ผ๋ฐ˜์ ์ธ ์‚ฌ์ดํŠธ๋Š” HTTP๋กœ ์„ธํŒ…ํ•ฉ๋‹ˆ๋‹ค.
  • SSL์€ ๊ณต๊ฐœํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹๊ณผ ๊ณต๊ฐœํ‚ค์˜ ๋‹จ์ ์„ ๋ณด์™„ํ•œ ๋Œ€์นญํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹์„ ํ•จ๊ป˜ ์‚ฌ์šฉํ•œ๋‹ค. (๊ณต๊ฐœํ‚ค ๋ฐฉ์‹์€ ๋А๋ฆฌ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค.)

๊ณต๊ฐœํ‚ค๋ฐฉ์‹์œผ๋กœ ๋Œ€์นญํ‚ค๋ฅผ ์ „๋‹ฌํ•˜๊ณ , ์„œ๋กœ ๊ณต์œ ๋œ ๋Œ€์นญํ‚ค๋ฅผ ๊ฐ€์ง€๊ณ  ํ†ต์‹ ํ•˜๊ฒŒ ๋œ๋‹ค.




SSL๊ณผ TLS ์ฐจ์ด์ 

๋Œ€๋ถ€๋ถ„ HTTP์™€ HTTPS๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋ฉด, HTTPS๋Š” HTTP์—์„œ SSL/TLS ์ธ์ฆ์„œ ๊ฐœ๋…์ด ๋”ํ•ด์ง„ HTTP๋ณด๋‹ค ๋ณด์•ˆ์ด ๋” ๊ฐ•ํ•œ ํ”„๋กœํ† ์ฝœ์ด๋ผ๊ณ  ๋‚˜์˜ต๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ SSL๊ณผ TLS์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ผ๊นŒ์š”?

  • SSL (Secure Sockets Layer) : Netscape ์‚ฌ์—์„œ ๊ฐœ๋ฐœ
  • TLS (Transport Layer Security) : IETF ์‚ฌ์—์„œ ๊ฐœ๋ฐœ


SSL๊ณผ TLS ๋ชจ๋‘ ์‚ฌ์šฉ์ž์™€ ์›น ๋ธŒ๋ผ์šฐ์ € ๊ฐ„ ํ†ต์‹ ์„ ์•”ํ˜ธํ™”ํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค.

TLS๋Š” SSL๊ณผ ๋น„์Šทํ•˜๋‹ค๊ณ  ๋ณด๋ฉด ๋˜๋Š”๋ฐ TLS๋Š” SSL3.0์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐœ์„ ๋œ ์‹ ๊ทœ ๋ชจ๋ธ ํ”„๋กœํ† ์ฝœ๋กœ, SSL์€ ๋”์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๊ณ  TLS๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ SSL์ด๋ผ๋Š” ๋‹จ์–ด๊ฐ€ ์ต์ˆ™ํ•ด์„œ SSL์™€ TLS๋ผ๋Š” ๋‹จ์–ด๊ฐ€ ํ˜ผ์šฉ๋˜์„œ ์‚ฌ์šฉ๋  ๋•Œ๊ฐ€ ๋งŽ์€๋ฐ, ๊ทธ๋ƒฅ HTTPS์—๋Š” TLS๊ฐ€ ์‚ฌ์šฉ๋œ๋‹ค๊ณ  ๋ณด๋ฉด ๋ฉ๋‹ˆ๋‹ค.

TLS๋Š” ๊ณต๊ฐœํ‚ค์™€ ๊ฐœ์ธํ‚ค๋ฅผ ๊ตํ™˜ํ•˜์—ฌ ๋ณด์•ˆ ์„ธ์…˜์„ ์ƒ์„ฑํ•œ ํ›„ ํ†ต์‹ ์„ ์•”ํ˜ธํ™” ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค.

SSL์™€ TLS๋Š” TCP/IP ๋„คํŠธ์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํ†ต์‹ ์— ์ ์šฉ๋˜๋ฉฐ, ํ†ต์‹  ๊ณผ์ •์—์„œ ์ „์†ก๊ณ„์ธต ์ข…๋‹จ ๊ฐ„ ๋ณด์•ˆ๊ณผ ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ์„ ํ™•๋ณดํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

๋ฌด๊ฒฐ์„ฑ : ์ •๋ณด๊ฐ€ ๋ณ€ํ˜•๋˜์ง€ ์•Š๊ณ  ๊ทธ๋Œ€๋กœ ์ „๋‹ฌ๋˜๋Š” ์„ฑ์งˆ




TLS ํ†ต์‹  ๊ณผ์ •



๐Ÿค handshake ๐Ÿค

  • Handshake๋Š” ์‹ค์ œ๋กœ ์•”ํ˜ธํ™” ์ž์ฒด๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ๊ณต์œ ๋˜๋Š” ๋น„๋ฐ€ ๋ฐ ์‚ฌ์šฉ๋  ์•”ํ˜ธํ™” ์œ ํ˜•์„ ๊ฒฐ์ •ํ•˜๋Š” ์ ˆ์ฐจ๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • ์•”ํ˜ธํ™”๋œ HTTP ๋ฉ”์‹œ์ง€๋ฅผ ๊ตํ™˜ํ•˜๊ธฐ ์ „์— Client์™€ Server๋Š” SSL ํ•ธ๋“œ์‰์ดํฌ๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค.

  • Handshake์˜ ๋ชฉ์ 
    • ํ”„๋กœํ† ์ฝœ ๋ฒ„์ „ ๋ฒˆํ˜ธ ๊ตํ™˜
    • ์–‘์ชฝ์ด ์•Œ๊ณ  ์žˆ๋Š” pre-master secret key ์ƒ์„ฑ ๋ฐ ๊ตํ™˜
    • ์–‘์ชฝ์˜ ์‹ ์› ์ธ์ฆ
    • ์ฑ„๋„์„ ์•”ํ˜ธํ™” ํ•˜๊ธฐ ์œ„ํ•œ ์ž„์‹œ ์„ธ์…˜ํ‚ค ์ƒ์„ฑ


1. Client Hello ๐Ÿ‘‹

  • ์ด ๋ฉ”์‹œ์ง€์—๋Š” client์—์„œ ๊ฐ€๋Šฅํ•œ TLS ๋ฒ„์ „, ์„œ๋ฒ„ ๋„๋ฉ”์ธ, ์„ธ์…˜ ์‹๋ณ„์ž, ์•”ํ˜ธ ์„ค์ • ๋“ฑ์˜ ์ •๋ณด๊ฐ€ ํฌํ•จ๋œ๋‹ค.
  • client๊ฐ€ ์ƒ์„ฑํ•œ ๋žœ๋ค ๋ฐ์ดํ„ฐ A๋„ ์ „์†ก๋œ๋‹ค.

2. Server Hello ๐Ÿ‘‹

  • ์ด ๋ฉ”์‹œ์ง€์—๋Š” Client Hello ๋ฉ”์‹œ์ง€์˜ ์ •๋ณด ์ค‘ Server์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ•œ TLS ๋ฒ„์ „, ์„ธ์…˜ ์‹๋ณ„์ž, ์•”ํ˜ธ ์„ค์ • ๋“ฑ์˜ ์ •๋ณด๊ฐ€ ํฌํ•จ๋œ๋‹ค.
  • Server๊ฐ€ ์ƒ์„ฑํ•œ ๋žœ๋ค ๋ฐ์ดํ„ฐ B๋„ ์ „์†ก๋œ๋‹ค.

3. Certificate Message ๐Ÿ“ฉ

  • ๊ณต๊ฐœํ‚ค(RSA ์•”ํ˜ธ์šฉ)๊ฐ€ ํฌํ•จ๋œ ์„œ๋ฒ„ ์ธ์ฆ์„œ ์ „์†ก
  • ์ด ์ธ์ฆ์„œ๋Š” CA์—์„œ ๋ฐœ๊ธ‰๋ฐ›์€ ๊ฒƒ์ด๋ฉฐ, Server๊ฐ€ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์ž ์ž„์„ ์ธ์ฆํ•ฉ๋‹ˆ๋‹ค.
    • CA(Certificate Authority) : ๋””์ง€ํ„ธ ์ธ์ฆ์„œ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ณต์ธ๋œ ๊ธฐ์—…
  • ์ „์†ก์ด ๋๋‚˜๋ฉด Server Hello Done ๋ฉ”์‹œ์ง€ ์ „๋‹ฌ

4. ์ธ์ฆ์„œ ํ™•์ธ, pre-master secret key ์•”ํ˜ธํ™” ๐Ÿ”

  • Client๋Š” Server์—๊ฒŒ ์ „๋‹ฌ๋ฐ›์€ ์ธ์ฆ์„œ๋ฅผ ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค.
    (์œ ํšจ๊ธฐ๊ฐ„์ด ๋งŒ๋ฃŒ๋˜์ง€ ์•Š์•˜๋Š”์ง€, ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์ธ์ฆ ๊ธฐ๊ด€์—์„œ ๋ฐœ๊ธ‰๋˜์—ˆ๋Š”์ง€, ๊ทธ ์ธ์ฆ์„œ๊ฐ€ ํ•ด๋‹น ์„œ๋ฒ„์—๊ฒŒ ๋ฐœ๊ธ‰๋œ ์ธ์ฆ์„œ๊ฐ€ ๋งž๋Š”์ง€ ๋“ฑ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค)
  • Client๋Š” ๋žœ๋ค ๋ฐ์ดํ„ฐ A์™€ B๋ฅผ ์กฐํ•ฉํ•ด์„œ ์„ธ์…˜ํ‚ค(๋Œ€์นญํ‚ค)๋กœ ์‚ฌ์šฉ๋  ์ž„์˜์˜ pre-master secret key๋ฅผ ์ƒ์„ฑํ•œ ๋’ค, Server๊ฐ€ ๋ณด๋‚ธ ์ธ์ฆ์„œ์— ํฌํ•จ๋œ ๊ณต๊ฐœํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ pre-master secret key๋ฅผ ์•”ํ˜ธํ™” ํ•ฉ๋‹ˆ๋‹ค.

5. Client Key Exchange ๐Ÿ”‘

  • ๊ณต๊ฐœํ‚ค๋กœ ์•”ํ˜ธํ™”๋œ pre-master secret key๐Ÿ”‘ ์ „์†ก

6. pre-master secret key ๋ณตํ˜ธํ™”, Session Key (๋Œ€์นญํ‚ค) ์ƒ์„ฑ ๐Ÿ”‘

  • Client์—๊ฒŒ ๋ฐ›์€ ์•”ํ˜ธํ™”๋œ pre-master secret key๋ฅผ Server ์ž์‹ ๋งŒ ์•Œ๊ณ  ์žˆ๋Š” ๊ฐœ์ธํ‚ค๋กœ ๋ณตํ˜ธํ™”ํ•˜์—ฌ pre-master secret key๋ฅผ ์–ป์–ด๋‚ด๊ณ , ์ด๊ฒƒ์„ ์ด์šฉํ•ด์„œ master secret key๋ฅผ ์ƒ์„ฑํ•ด๋ƒ…๋‹ˆ๋‹ค.
  • ์ด master secret key๋ฅผ ํ†ตํ•ด Session Key(๋Œ€์นญํ‚ค)๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  • ์ด ์„ธ์…˜ํ‚ค(๋Œ€์นญํ‚ค)๋Š” ์•ž์œผ๋กœ Server์™€ Client ๊ฐ„์˜ ํ†ต์‹ ์„ ์•”ํ˜ธํ™”ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  • Client ๋˜ํ•œ ๊ฐ™์€ pre-master secret key๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Server์™€ ๊ฐ™์€ Session Key๋ฅผ ๊ฐ€์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ( ๋Œ€์นญ ํ‚ค )

7. Change Cipher Spec ๐Ÿ“ฉ ๐Ÿ“ฌ

  • ์„œ๋กœ์—๊ฒŒ ์•ž์œผ๋กœ ๋ชจ๋“  ํ†ต์‹  ๋‚ด์šฉ์€ ์„ธ์…˜ํ‚ค(๋Œ€์นญํ‚ค)๋กœ ์•”ํ˜ธํ™”ํ•˜์—ฌ ํ†ต์‹ ํ•  ๊ฒƒ์ด๋ผ๊ณ  ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด ์•Œ๋ ค์ค๋‹ˆ๋‹ค.

8. Finished ๐Ÿ—ฃ ๐Ÿ™Œ

  • ๊ทธ๋ฆฌ๊ณ  ๋‚˜์„œ Finished ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด ๊ฐ์ž์˜ Handshake ๊ณผ์ •์ด ๋๋‚ฌ์Œ์„ ์•Œ๋ฆฝ๋‹ˆ๋‹ค.


session

์ดํ›„ ์„ธ์…˜ํ‚ค๋ฅผ ํ™œ์šฉํ•œ ๋Œ€์นญํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹์œผ๋กœ Server์™€ Client๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์Šต๋‹ˆ๋‹ค.



end session

๋ฐ์ดํ„ฐ์˜ ์ „์†ก์ด ๋๋‚˜๋ฉด SSLํ†ต์‹ ์ด ๋๋‚ฌ์Œ์„ ์„œ๋กœ์—๊ฒŒ ์•Œ๋ ค์ค๋‹ˆ๋‹ค.
์ด๋•Œ, ์„ธ์…˜ํ‚ค๐Ÿ”‘๋ฅผ ํ๊ธฐํ•ฉ๋‹ˆ๋‹ค.



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

๋”ฐ๋ผ์„œ ๋…ธ์ถœ๋˜๋ฉด ํฐ์ผ๋‚˜๋Š” ๋Œ€์นญํ‚ค๋ฅผ ๋งŒ๋“ค์–ด ์ฃผ๊ณ ๋ฐ›๋Š” ๊ณผ์ •์€ ๊ณต๊ฐœํ‚ค ์•”ํ˜ธ๋ฐฉ์‹์„ ์ด์šฉํ•˜๊ณ ,
์ฃผ๊ณ ๋ฐ›์€ ๋Œ€์นญํ‚ค๋กœ ํ†ต์‹ ์ด ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค.




๋น„๋Œ€์นญํ‚ค์™€ ๋Œ€์นญํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹

์ถ”๊ฐ€์ ์œผ๋กœ, ๊ณต๊ฐœํ‚ค/๊ฐœ์ธํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹(๋น„๋Œ€์นญํ‚ค ๋ฐฉ์‹)์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
A์™€ B์˜ ๊ณต๊ฐœํ‚ค๊ฐ€ ๊ฐ๊ฐ PUa, PUb๋ผ๊ณ  ํ•˜๊ณ , ๊ฐœ์ธํ‚ค๊ฐ€ ๊ฐ๊ฐ PRa, PRb๋ผ๊ณ  ํ•  ๋•Œ, A๊ฐ€ B์˜ ๊ณต๊ฐœํ‚ค PUb๋กœ ์•”ํ˜ธํ™”ํ•œ ๊ฒƒ์€ B๋งŒ ์•Œ๊ณ  ์žˆ๋Š” ๊ฐœ์ธํ‚ค PRb๋กœ๋งŒ ๋ณตํ˜ธํ™”๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

๋งˆ์ฐฌ๊ฐ€์ง€๋กœ B๊ฐ€ A์˜ ๊ณต๊ฐœํ‚ค PUa๋กœ ์•”ํ˜ธํ™”ํ•œ ๊ฒƒ์€ A๋งŒ ์•Œ๊ณ  ์žˆ๋Š” ๊ฐœ์ธํ‚ค PRa๋กœ๋งŒ ๋ณตํ˜ธํ™”๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

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

๊ทธ๋Ÿผ ์™œ ๋ชจ๋“  ์‚ฌ๋žŒ๋“ค์ด ๋ณผ ์ˆ˜ ์žˆ๋„๋ก ๊ฐœ์ธํ‚ค๐Ÿ”‘๋กœ ์•”ํ˜ธํ™”๐Ÿ” ํ• ๊นŒ์š”?

์ด๋Š” ๋ณด์•ˆ์˜ ๊ธฐ๋Šฅ์ด ์•„๋‹Œ, ์ž์‹ ์„ ์ธ์ฆํ•  ์ˆ˜ ์žˆ๋Š” ํ•˜๋‚˜์˜ ๋ฐฉ์‹์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ๊ฐœ์ธํ‚ค๋กœ ์•”ํ˜ธํ™” ํ•˜๋Š” ์˜ˆ๋กœ ์ „์ž ์„œ๋ช…์„ ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
SSL/TLS ๋™์ž‘ ๋ฐฉ์‹์—์„œ๋„ Server๊ฐ€ Client์—๊ฒŒ ์ธ์ฆ์„œ์™€ ํ•จ๊ป˜ ๊ฑด๋‚ด์ค€ ๊ณต๊ฐœํ‚ค๋ฅผ ์ด์šฉํ•ด์„œ Client๋Š” ๊ทธ ์ธ์ฆ์„œ๊ฐ€ ์‹ ๋ขฐ๋ฐ›๋Š” ๊ธฐ๊ด€์—์„œ Server์—๊ฒŒ ์ค€ ๊ฒƒ์ด๋ผ๋Š” ๊ฒƒ์„ ๊ฒ€์ฆํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  Client๊ฐ€ ๋Œ€์นญํ‚ค๋ฅผ ๋งŒ๋“œ๋Š”๋ฐ ํ™œ์šฉ๋˜๋Š” pre-master secret key๋ฅผ ๊ทธ ๊ณต๊ฐœํ‚ค๋กœ ์•”ํ˜ธํ™” ํ•˜๊ฒŒ ๋˜๋ฉด, ์ด๊ฒƒ์€ Server๋งŒ ์•Œ๊ณ  ์žˆ๋Š” ๊ฐœ์ธํ‚ค๋กœ๋งŒ ๋ณตํ˜ธํ™”ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋ ‡๊ฒŒ ํ•ด์„œ pre-master secret key๋Š” Server์™€ Client๋งŒ ์•Œ ์ˆ˜ ์žˆ๋„๋ก ๋น„๋Œ€์นญํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹์œผ๋กœ ์ฃผ๊ณ ๋ฐ›๊ฒŒ ๋˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ด๋ ‡๊ฒŒ ์ฃผ๊ณ  ๋ฐ›์€ pre-master secret key๋ฅผ ํ†ตํ•ด Server์™€ Client๊ฐ€ ๊ฐ๊ฐ ๊ฐ™์€ Session Key๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜๊ณ , ์ด **์„ธ์…˜ํ‚ค๋ฅผ ์ด์šฉํ•œ ์•”ํ˜ธํ™” ๋ฐฉ์‹(๋Œ€์นญํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹)**์„ ํ†ตํ•ด ํ†ต์‹ ์„ ์ด๋ฃจ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.





Reference