HTTPS

Posted by : on

Category : websecurity


๋จผ์ €, HTTP์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž. HTTP๋ž€ HyperText Transfer Protocol์˜ ์•ฝ์ž๋กœ์จ, ํ’€์–ด์„œ ์„ค๋ช…ํ•˜๋ฉดํ•˜์ดํผํ…์ŠคํŠธ(HyperText)๋ฅผ ์ „์†ก(Transfer)ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ํ†ต์‹  ๊ทœ์•ฝ(Protocol)์ด๋‹ค. ์ฆ‰, ์ธํ„ฐ๋„ท์—์„œ HTML๊ณผ ๊ฐ™์€ ๋ฌธ์„œ๋ฅผ ์‚ฌ์šฉ์ž ์ปดํ“จํ„ฐ์— ์„ค์น˜๋œ ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์›น ์„œ๋ฒ„์— ์š”์ฒญํ•  ๋•Œ์˜ ๊ทœ์น™์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

HTTP ์„œ๋ฒ„๋Š” ๊ธฐ๋ณธ ํฌํŠธ์ธ 80๋ฒˆ ํฌํŠธ์—์„œ ์„œ๋น„์Šค ๋Œ€๊ธฐ ์ค‘์ด๋ฉฐ, ํด๋ผ์ด์–ธํŠธ(์›น ๋ธŒ๋ผ์šฐ์ €)๊ฐ€ TCP 80 ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•ด ์—ฐ๊ฒฐํ•˜๋ฉด ์„œ๋ฒ„๋Š” ์š”์ฒญ์— ์‘๋‹ตํ•˜๋ฉด์„œ ์ž๋ฃŒ๋ฅผ ์ „์†กํ•œ๋‹ค. HTTP๋Š” ์ •๋ณด๋ฅผ ํ…์ŠคํŠธ๋กœ ์ฃผ๊ณ  ๋ฐ›๊ธฐ ๋•Œ๋ฌธ์— ๋„คํŠธ์›Œํฌ์—์„œ ์ „์†ก ์‹ ํ˜ธ๋ฅผ ์ธํ„ฐ์…‰ํŠธ ํ•˜๋Š” ๊ฒฝ์šฐ ์›ํ•˜์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ ์œ ์ถœ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ณด์•ˆ ์ทจ์•ฝ์ ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋กœํ† ์ฝœ์ดHTTP์— S(Secure Socket)๊ฐ€ ์ถ”๊ฐ€๋œ HTTPS์ด๋‹ค. Pasted image 20240202164923.png

TLS

Transport Layer Security์˜ ์ค„์ž„๋ง. ๊ณผ๊ฑฐ SSL์—์„œ ๋ฐœ์ „ํ•˜๋ฉฐ ์ด๋ฆ„์ด ๋ณ€๊ฒฝ ๋œ ๊ฒƒ์ด๋‹ค. ํ•˜์ง€๋งŒ ์•„์ง๋„ SSL์ด๋ž€ ๋ช…์นญ์ด ๋งŽ์ด ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋‹ค.

  • ๊ณต๊ฐœํ‚ค(Public Key)์™€ ๋น„๋ฐ€ํ‚ค(Private Key): ๊ณต๊ฐœํ‚ค๋Š” ๋ชจ๋‘๊ฐ€ ๋ณผ ์ˆ˜ ์žˆ๋Š” ํ‚ค์ด๋ฉฐ ๋น„๋ฐ€ํ‚ค๋Š” ์†Œ์œ ์ž๋งŒ์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ํ‚ค๋กœ ์•”/๋ณตํ˜ธํ™”์— ์‚ฌ์šฉ๋œ๋‹ค.
  • ๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”: ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์•”ํ˜ธํ™”/๋ณตํ˜ธํ™”์— ๋™์ผํ•œ ๋น„๋ฐ€ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹, ํ‚ค๋ฅผ ๊ณต์œ ํ•˜๋Š”๋ฐ ์–ด๋ ค์›€์ด ์žˆ์œผ๋‚˜ ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค.
  • ๋น„๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”: ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์•”ํ˜ธํ™”/๋ณตํ˜ธํ™”์— ๊ฐ๊ฐ ๋‹ค๋ฅธ ๋น„๋ฐ€ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹, ๊ณต๊ฐœํ‚ค๋ฅผ ํ†ตํ•ด์„œ ์•”ํ˜ธํ™”๋ฅผ ํ•˜๊ณ  ๋น„๋ฐ€ํ‚ค๋ฅผ ํ†ตํ•ด์„œ ๋ณตํ˜ธํ™”๋ฅผ ํ•œ๋‹ค. ๊ณต๊ฐœํ‚ค๋Š” ๊ณต๊ฐœํ•ด๋„ ์ƒ๊ด€์—†์œผ๋‹ˆ ํ‚ค ๊ด€๋ฆฌ์— ์–ด๋ ค์›€์ด ์—†์œผ๋‚˜, ์†๋„๊ฐ€ ๋А๋ฆฌ๋‹ค.
  • ์ธ์ฆ๊ธฐ๊ด€(Certificate Authority, CA): ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ ‘์†์„ ์š”์ฒญํ•œ ์„œ๋ฒ„๊ฐ€ ์˜๋„ํ•œ ์„œ๋ฒ„๊ฐ€ ๋งž๋Š”์ง€ ์ธ์ฆํ•ด์ฃผ๋Š” ์—ญํ• ์„ ํ•˜๋Š” ๋ณด์ฆ๋œ ๊ธฐ์—…๋“ค์ด๋‹ค. ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„์— ์š”์ฒญ์„ ํ•ด์„œ CA๊ฐ€ ๋ฐœ๊ธ‰ํ•œ ์ธ์ฆ์„œ๋ฅผ ๋ฐ›์€ ๋’ค CA์˜ ๊ณต๊ฐœํ‚ค๋กœ ๋ณตํ˜ธํ™”ํ•˜์—ฌ ์‹ ๋ขฐํ•  ๋งŒํ•œ ์ธ์ฆ์„œ์ธ์ง€ ๊ฒ€์ฆํ•œ๋‹ค. CA์˜ ๊ณต๊ฐœํ‚ค๋กœ ๋ณตํ˜ธํ™”๋˜๋Š” ์ž๋ฃŒ๋Š” ์˜ค์ง CA์˜ ๋น„๋ฐ€ํ‚ค๋กœ ์•”ํ˜ธํ™”ํ•œ ๊ฒฝ์šฐ๋ฐ–์— ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋ณตํ˜ธํ™”๋˜๋ฉด ์‹ ๋ขฐํ•  ๋งŒํ•œ ๊ฒƒ์ด๋‹ค.

HTTPS์˜ ์žฅ๋‹จ์ 

  • HTTPS๋Š” ์›น์‚ฌ์ดํŠธ์˜ ๋ฌด๊ฒฐ์„ฑ์„ ๋ณดํ˜ธํ•ด์ค€๋‹ค. ์›น ์‚ฌ์ดํŠธ์™€ ์‚ฌ์šฉ์ž ๋ธŒ๋ผ์šฐ์ € ์‚ฌ์ด์˜ ํ†ต์‹ ์„ ์นจ์ž…์ž๊ฐ€ ๊ฑด๋“œ๋ฆฌ์ง€ ๋ชปํ•˜๋„๋ก ํ•œ๋‹ค. (์นจ์ž…์ž๋ผํ•จ์€, ์•…์˜๊ฐ€ ์žˆ๋Š” ๊ณต๊ฒฉ์ž๋Š” ๋ฌผ๋ก ์ด๊ณ , ํ•ฉ๋ฒ•์ด์ง€๋งŒ ํ†ต์‹ ์— ์นจ์ž…ํ•˜์—ฌ ํŽ˜์ด์ง€์— ๊ด‘๊ณ ๋ฅผ ์‚ฝ์ž…ํ•˜๋Š” ๊ฒฝ์šฐ๋„ ํ•ด๋‹นํ•œ๋‹ค.)
  • ๊ฐ€๋ฒผ์šด ์›น ์„œํ•‘์ด๋ผ๋ฉด HTTP๋„ ์ƒ๊ด€์—†์ง€๋งŒ, ์‚ฌ์šฉ์ž์˜ ์ •๋ณด๋ฅผ ์›น ์„œ๋ฒ„์™€ ์ฃผ๊ณ  ๋ฐ›์•„์•ผํ•˜๋Š” ๊ฒฝ์šฐ๋ผ๋ฉด HTTP๋Š” ์ •๋ณด ์œ ์ถœ์˜ ์œ„ํ—˜์„ฑ์„ ๊ฐ–๊ฒŒ ๋œ๋‹ค. HTTPS๋Š” ์นจ์ž…์ž๊ฐ€ ์›น์‚ฌ์ดํŠธ์™€ ์‚ฌ์šฉ์ž ์‚ฌ์ด์˜ ํ†ต์‹ ์„ ๋ชฐ๋ž˜ ์ˆ˜์‹ ํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•จ์œผ๋กœ์จ ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•ด์ค€๋‹ค.
  • getUserMedia()๋ฅผ ํ†ตํ•œ ์‚ฌ์ง„ ์ดฌ์˜์ด๋‚˜ ์˜ค๋””์˜ค ๋…น์Œ, ํ”„๋กœ๊ทธ๋ ˆ์‹œ๋ธŒ ์›น ์•ฑ๊ณผ ๊ฐ™์€ ๊ฐ•๋ ฅํ•œ ์›น ํ”Œ๋žซํผ ์‹ ๊ธฐ๋Šฅ๋“ค์€ ์‹คํ–‰ํ•˜๋ ค๋ฉด ์‚ฌ์šฉ์ž์˜ ๋ช…์‹œ์ ์ธ ๊ถŒํ•œ ํ—ˆ๋ฝ์„ ํ•„์š”๋กœ ํ•œ๋‹ค.
  • ์ง€์˜ค๋กœ์ผ€์ด์…˜ https://developer.mozilla.org/en-US/docs/Web/API/Geolocation/Using_geolocation
  • API์™€ ๊ฐ™์€ ์˜ค๋ž˜๋œ API๋“ค๋„ ์‹คํ–‰ํ•  ๋•Œ ๊ถŒํ•œ์ด ํ•„์š”ํ•˜๋„๋ก ์—…๋ฐ์ดํŠธ๋˜๊ณ  ์žˆ๋Š”๋ฐ, HTTPS๋Š” ์ด๋Ÿฌํ•œ ์ƒˆ ๊ธฐ๋Šฅ๊ณผ ์—…๋ฐ์ดํŠธ๋œ API์— ๋Œ€ํ•œ ๊ถŒํ•œ ํ—ˆ๋ฝ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•œ๋‹ค.
  • ๋„ค์ด๋ฒ„, ๋‹ค์Œ์€ ๋ฌผ๋ก ์ด๊ณ  ๊ตฌ๊ธ€ ์—ญ์‹œ ๊ฒ€์ƒ‰ ์—”์ง„ ์ตœ์ ํ™”(SEO: Search Engine Optimization) ๊ด€๋ จ ๋‚ด์šฉ์„ HTTPS ์›น์‚ฌ์ดํŠธ์— ๋Œ€ํ•ด์„œ ์ ์šฉํ•˜๊ณ  ์žˆ๋‹ค. ์ฆ‰, ํ‚ค์›Œ๋“œ ๊ฒ€์ƒ‰ ์‹œ ์ƒ์œ„ ๋…ธ์ถœ๋˜๋Š” ๊ธฐ์ค€ ์ค‘ ํ•˜๋‚˜๊ฐ€ ๋ณด์•ˆ ์š”์†Œ์ด๋‹ค.
  • ๋ชจ๋“  ์‚ฌ์ดํŠธ์—์„œ ํ…์ŠคํŠธ๋ฅผ ์•”ํ˜ธํ™”ํ•ด์„œ ์ฃผ๊ณ  ๋ฐ›์œผ๋ฉด ๊ณผ๋ถ€ํ•˜๊ฐ€ ๊ฑธ๋ ค ์†๋„๊ฐ€ ๋А๋ ค์งˆ ์ˆ˜ ์žˆ๋‹ค. ์ค‘์š”ํ•œ ์‚ฌ์ดํŠธ๋Š” HTTPS๋กœ ๊ด€๋ฆฌํ•˜๊ณ , ๊ทธ๋ ‡์ง€ ์•Š์€ ์‚ฌ์ดํŠธ๋Š” HTTP๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
  • HTTPS๋ฅผ ์ง€์›ํ•œ๋‹ค๊ณ  ํ•ด์„œ ๋ฌด์กฐ๊ฑด ์•ˆ์ „ํ•œ ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” CA ๊ธฐ์—…์ด ์•„๋‹ˆ๋ผ ์ž์ฒด์ ์œผ๋กœ ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰ํ•  ์ˆ˜๋„ ์žˆ๊ณ , ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” CA ๊ธฐ์—…์„ ํ†ตํ•ด์„œ ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰๋ฐ›์„ ์ˆ˜๋„ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

    ๋™์ž‘๋ฐฉ์‹

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

  1. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์ ‘์†ํ•˜๊ธฐ ์œ„ํ•ด ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ƒ์„ฑํ•œ ๋žœ๋ค ๋ฐ์ดํ„ฐ(1)๋ฅผ ์„œ๋ฒ„์— ๋ณด๋‚ธ๋‹ค.
  2. ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์„œ๋ฒ„๊ฐ€ ์ƒ์„ฑํ•œ ๋žœ๋ค๋ฐ์ดํ„ฐ(2)์™€ CA์—์„œ ๋ฐœ๊ธ‰๋ฐ›์€ ์ธ์ฆ์„œ๋ฅผ ๋ณด๋‚ธ๋‹ค. ์ธ์ฆ์„œ๊ฐ€ ํ•„์š”ํ•œ ์ด์œ ๋Š” ์„œ๋ฒ„๊ฐ€ ์‹ ๋ขฐํ•  ๋งŒํ•œ ์„œ๋ฒ„์ธ์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค.
  3. ํด๋ผ์ด์–ธํŠธ๋Š” ๊ทธ ์ธ์ฆ์„œ๋ฅผ ๋ฐ›์•„ CA์˜ ๊ณต๊ฐœํ‚ค๋กœ ๋ณตํ˜ธํ™” ํ•œ๋‹ค. ์ธ์ฆ์„œ๋ฅผ ๋ณตํ˜ธํ™” ํ•˜๋ฉด ์ ‘์†ํ•˜๋ ค๋Š” ์‚ฌ์ดํŠธ์˜ ์ •๋ณด์™€ ์‚ฌ์ดํŠธ์˜ ๊ณต๊ฐœํ‚ค๊ฐ€ ๋“ค์–ด์žˆ๋‹ค.
  4. ๋žœ๋ค๋ฐ์ดํ„ฐ1๊ณผ ๋žœ๋ค๋ฐ์ดํ„ฐ2๋ฅผ ์กฐํ•ฉํ•˜์—ฌ ๋Œ€์นญํ‚ค๋กœ ์‚ฌ์šฉํ•  ๊ฒƒ์ธ๋ฐ ์ด๋Š” ํƒˆ์ทจ๋‹นํ•˜๋ฉด ์•ˆ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ธ์ฆ์„œ์— ๋“ค์–ด์žˆ๋˜ ๊ณต๊ฐœํ‚ค๋กœ ์•”ํ˜ธํ™”ํ•˜์—ฌ ์„œ๋ฒ„์— ์ „์†กํ•œ๋‹ค.
  5. ์„œ๋ฒ„๋Š” ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋น„๋ฐ€ํ‚ค๋ฅผ ์ด์šฉํ•ด ๋ณตํ˜ธํ™”ํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ณด๋‚ธ ๋Œ€์นญํ‚ค๋ฅผ ์–ป๋Š”๋‹ค.
  6. ์ดํ›„ ๊ทธ ๋Œ€์นญํ‚ค๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š”๋‹ค.
  7. ์„ธ์…˜์ด ์ข…๋ฃŒ๋˜๋ฉด ๋Œ€์นญํ‚ค๋ฅผ ํ๊ธฐํ•œ๋‹ค.

Pasted image 20240205203951.png Pasted image 20240205204037.png


About ์œ ์žฌ์„
์œ ์žฌ์„

๊ฐœ๋ฐœ์ž ์œ ์žฌ์„ ์ž…๋‹ˆ๋‹ค. Web Developer.

Email : jaeseok9405@gmail.com

Website : https://github.com/yoo94