HTTPS

HTTPS(Hyper Text Transfer Protocol Secure)

TCP/IP ์œ„์— SSL/TLS ์ธต์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์•”ํ˜ธํ™”, ์ธ์ฆ ๊ทธ๋ฆฌ๊ณ  ๋ฌด๊ฒฐ์„ฑ ๋ณด์žฅ์„ ํ†ตํ•ด ๋” ์•ˆ์ „ํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ๋Š” ํ”„๋กœํ† ์ฝœ์ด๋ฉฐ, ๊ธฐ๋ณธ 433ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

SSL(Secure Socket Layer)

์›น ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ์˜ ํ†ต์‹  ์•”ํ˜ธํ™” ํ”„๋กœํ† ์ฝœ์ด๋ฉฐ, ๋„คํŠธ์›Œํฌ ์ƒ์—์„œ ์ฃผ๊ณ  ๋ฐ›๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์กŒ๋‹ค.(1995๋…„ Nescape ๊ฐœ๋ฐœ) Certificate Authority(CA)๋ผ ๋ถˆ๋ฆฌ๋Š” ์„œ๋“œ ํŒŒํ‹ฐ๋กœ๋ถ€ํ„ฐ ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ์˜ ์ธ์ฆ์„ ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. HTTPS๋Š” SSL ํ”„๋กœํ† ์ฝœ ์œ„์—์„œ ๋Œ์•„๊ฐ€๋Š” ํ”„๋กœํ† ์ฝœ์ด๋ฉฐ FTP, NNTP, XMPP ๋“ฑ๋„ SSL ์œ„์—์„œ ๋Œ์•„๊ฐ€๋ฉฐ ๋ณด์•ˆ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.

TLS(Transport Layer Security)

SSL์€ 1996๋…„ 3.0 ๋ฒ„์ „์ด ์ถœ์‹œ๋˜์—ˆ์ง€๋งŒ, ๋ณด์•ˆ์ทจ์•ฝ์ ์œผ๋กœ ์ธํ•ด ํ˜„์žฌ๋Š” ํ‡ด์ถœ๋œ ์ƒํƒœ์ด๋‹ค. TLS๋Š” ๊ตญ์ œ ์ธํ„ฐ๋„ท ํ‘œ์ค€ํ™” ๊ธฐ๊ตฌ์—์„œ ๊ฐœ๋ฐœํ•œ ๊ฒƒ์œผ๋กœ, SSL 3.0์˜ ๋ณด์•ˆ์ทจ์•ฝ์ ์„ ๋ณด์™„ํ•œ ํ†ต์‹  ๋ณด์•ˆ ํ”„๋กœํ† ์ฝœ์ด๋‹ค. ํ˜„์žฌ TLS๋Š” 2018๋…„ 1.3 ๋ฒ„์ „์ด ์ถœ์‹œ๋๋‹ค. SSL์„ ๋ณด์™„ํ•œ ๊ฒƒ์ด TLS์ด์ง€๋งŒ, ์ธํ„ฐ๋„ท์— ์ ์šฉ๋˜๋Š” ํ†ต์‹  ๋ณด์•ˆ ํ”„๋กœํ† ์ฝœ์„ ๋ณดํ†ต SSL์ด๋ผ ๋ถ€๋ฅธ๋‹ค. ํ•˜์ง€๋งŒ SSL์˜ ๋งˆ์ง€๋ง‰ ๋ฒ„์ „์ธ 3.0 ๋งˆ์ € ๊ธˆ์ง€๋์œผ๋ฏ€๋กœ, ํ˜„์žฌ ์‚ฌ์šฉ ์ค‘์ธ ํ†ต์‹  ๋ณด์•ˆ ํ”„๋กœํ† ์ฝœ์€ ๋ชจ๋‘ TLS์ด๋‹ค.

SSL ํŠน์ง•

  • URL ํ”„๋กœํ† ์ฝœ์€ https์ด๋ฉฐ, ๊ธฐ๋ณธ ํฌํŠธ๋Š” 443์ด๋‹ค.
  • ํ†ต์‹  ๋ฐ์ดํ„ฐ๊ฐ€ ์•”ํ˜ธํ™”๋˜์–ด, ํŒจํ‚ท์ด ํƒˆ์ทจ๋˜๋Š” ์‚ฌ๊ณ ๊ฐ€ ๋ฐœ์ƒํ•ด๋„ ๋ฐ์ดํ„ฐ๋ฅผ ์ง€ํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.
  • SSL ์ธ์ฆ์„œ๋ฅผ ํ†ตํ•ด ๋„๋ฉ”์ธ์˜ ์‹ ๋ขฐ์„ฑ์„ ๊ฒ€์ฆํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ ์†ก/์ˆ˜์‹  ๊ณผ์ •์—์„œ ์•”/๋ณตํ˜ธํ™”๊ฐ€ ๋ฐœ์ƒํ•˜๋ฏ€๋กœ ์†๋„๊ฐ€ ๋Š๋ฆฌ๋‹ค.

SSL ํ†ต์‹  ๊ณผ์ •

  1. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํŠน์ • ์ฃผ์†Œ์— ์ ‘๊ทผํ•˜๋ฉด, ํ•ด๋‹นํ•˜๋Š” ์„œ๋ฒ„์— ์š”์ฒญ์„ ๋ณด๋‚ธ๋‹ค.(Client Hello)
    • ๋‚œ์ˆ˜ ๋ฐ์ดํ„ฐ
    • ์•”ํ˜ธํ™” ํ”„๋กœํ† ์ฝœ ์ •๋ณด
    • ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์•”ํ˜ธํ™” ๋ฐฉ์‹
    • ์„ธ์…˜ ์•„์ด๋””
    • ๊ธฐํƒ€ ํ™•์žฅ ์ •๋ณด
  2. ์„œ๋ฒ„๊ฐ€ Client Hello ์š”์ฒญ์„ ๋ฐ›์œผ๋ฉด, ์œ„์˜ ์ •๋ณด๋ฅผ ๋‹ด์•„ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์‘๋‹ตํ•œ๋‹ค.(Server Hello)
    • ๋‚œ์ˆ˜ ๋ฐ์ดํ„ฐ(Client Hello์˜ ๋ฐ์ดํ„ฐ์™€ ๋‹ค๋ฅด๋‹ค.)
    • ์„œ๋ฒ„๊ฐ€ ์‚ฌ์šฉํ•  ์•”ํ˜ธํ™” ๋ฐฉ์‹
    • ์ธ์ฆ์„œ(CA, ๋„๋ฉ”์ธ, ๊ณต๊ฐœํ‚ค)
  3. ํด๋ผ์ด์–ธํŠธ ์ธ์ฆ ํ™•์ธ
    • ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ฐ›์€ ์ธ์ฆ์„œ๊ฐ€ CA์— ์˜ํ•ด ๋ฐœ๊ธ‰๋˜์—ˆ๋Š”์ง€ ๋ณธ์ธ์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ชฉ๋ก์—์„œ ํ™•์ธํ•˜๊ณ , ๋ชฉ๋ก์— ์žˆ๋‹ค๋ฉด CA ๊ณต๊ฐœํ‚ค๋กœ ์ธ์ฆ์„œ ๋ณตํ˜ธํ™”๋ฅผ ํ•œ๋‹ค.
    • ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ๊ฐ์˜ ๋žœ๋ค ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํ•ฉํ•˜์—ฌ pre mastet secret key๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.
    • pre master secret key์„ ๊ณต๊ฐœํ‚ค ๋ฐฉ์‹์œผ๋กœ ์„œ๋ฒ„์— ์ „๋‹ฌํ•œ๋‹ค.
    • ์ผ๋ จ์˜ ๊ณผ์ •์„ ๊ฑฐ์ณ์„œ session key๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.
  4. ์ธ์ฆ์„œ ๊ฒ€ํ† 
    • ์„œ๋ฒ„๊ฐ€ ์ „๋‹ฌํ•œ ์ธ์ฆ์„œ๊ฐ€ ์‹ค์ œ ํ•ด๋‹น ์„œ๋ฒ„์˜ ์ธ์ฆ์„œ์ธ์ง€, ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” CA์—์„œ ๋ฐœ๊ธ‰๋œ ๊ฒƒ์ธ์ง€, ์‹ค์ œ ํ•ด๋‹น CA์—์„œ ๋ฐœ๊ธ‰๋ฐ›์•˜๋Š”์ง€ ๋“ฑ ์ธ์ฆ์„œ๋ฅผ ๊ฒ€ํ† ํ•œ๋‹ค.
  5. pre master secret key ์†ก์ˆ˜์‹ 
    • Client Hello, Server Hello์—์„œ ์†ก์ˆ˜์‹ ํ•œ ๋‚œ์ˆ˜ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํ•ฉํ•˜์—ฌ pre mastet secret key๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.
    • ์ด๋ฅผ Server Hello์—์„œ ์ „๋‹ฌ๋ฐ›์•˜๋˜ ๊ณต๊ฐœํ‚ค๋กœ ์•”ํ˜ธํ™˜ํ•œ๋‹ค. ์ด ๋ฐ์ดํ„ฐ๋Š” ์„œ๋ฒ„๊ฐ€ ๊ฐ€์ง„ ๊ฐœ์ธํ‚ค๋กœ๋งŒ ๋ณตํ˜ธํ™”๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. ์ฆ‰, ์ด ๋ฐ์ดํ„ฐ๋Š” ํƒˆ์ทจ๋œ๋‹ค ํ•˜๋”๋ผ๋„ ๊ทธ ๋‚ด์šฉ์ด ๋ณดํ˜ธ๋œ๋‹ค.
    • ์„œ๋ฒ„๋Š” ์ˆ˜์‹ ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณตํ˜ธํ™”ํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ์™€ ๋™์ผํ•œ pre mastet secret key๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.
  6. ํ†ต์‹ ํ‚ค ์ƒ์„ฑ
    • ๋ณด์œ ํ•œ pre mastet secret key๋ฅผ ํ† ๋Œ€๋กœ master secret key, session key๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.
    • ์ด๋ฅผ ํ†ตํ•ด ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ๋™์ผํ•œ ํ‚ค๋ฅผ ๋ณด์œ ํ•˜๊ฒŒ ๋˜๋ฏ€๋กœ ์•”ํ˜ธํ™” ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
  7. ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹ 
    • ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋Š” ์ €์žฅ๋œ session key๋ฅผ ํ†ตํ•œ ๋Œ€์นญํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹์œผ๋กœ ์•”/๋ณตํ˜ธํ™”ํ•˜์—ฌ ํ†ต์‹ ํ•œ๋‹ค.
  8. ์„ธ์…˜ ์ข…๋ฃŒ
    • ํด๋ผ์ด์–ธํŠธ์™€ ์—ฐ๊ฒฐ์ด ๋Š๊ฒผ์„ ๊ฒฝ์šฐ ์‚ฌ์šฉํ–ˆ๋˜ session key๋Š” ํ๊ธฐ๋œ๋‹ค.

Categories:

Updated:

Leave a comment