HTTP vs HTTPS

๊ณผ๊ฑฐ์— ์ •๋ฆฌํ•œ ๊ธ€

HTTP ๋ž€?

Hypertext Transfrer Protocol์˜ ์•ฝ์ž๋กœ, Hypertext์ธ HTML์„ ์ „์†กํ•˜๊ธฐ ์œ„ํ•œ ํ†ต์‹  ๊ทœ์•ฝ์„ ์˜๋ฏธ

HTTPS ๋ž€?

  • HTTPS ์˜ ๋งˆ์ง€๋ง‰ S ๋Š” Over Secure Socket Layer ์˜ ์•ฝ์ž๋กœ Secure๋ผ๋Š” ๋ง์—์„œ ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด ๋ณด์•ˆ์ด ๊ฐ•ํ™”๋œ HTTP ๋ผ๋Š” ๊ฒƒ์„ ์ง์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค

  • HTTP ๋Š” ์•”ํ˜ธํ™”๋˜์ง€ ์•Š์€ ๋ฐฉ๋ฒ•์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๊ธฐ ๋•Œ๋ฌธ์— Server์™€ client๊ฐ€ ์ฃผ๊ณ  ๋ฐ›๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ๊ฐ์ฒญํ•˜๋Š” ๊ฒƒ์ด ๋งค์šฐ ์‰ฝ๋‹ค

    • ์•ˆ์ „ํ•˜์ง€ ์•Š๋‹ค!

      • ex) ๋กœ๊ทธ์ธ์„ ์œ„ํ•ด Server๋กœ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ „์†กํ•˜๊ฑฐ๋‚˜ ์ค‘์š”ํ•œ ๊ธฐ๋ฐ€ ๋ฌธ์„œ๋ฅผ ์—ด๋žŒํ•˜๋Š” ๊ณผ์ •์—์„œ ์•…์˜์ ์ธ ๊ฐ์ฒญ์ด๋‚˜ ๋ฐ์ดํ„ฐ์˜ ๋ณ€์กฐ๋“ฑ์ด ์ผ์–ด๋‚  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ!

    • ๊ทธ๋ž˜์„œ ์ด๋ฅผ ๋ณด์™„ํ•œ ๊ฒƒ์ด HTTPS ๋‹ค!

HTTPS ์™€ SSL (Secure Socket Layer)

  • HTTPS ์™€ SSL์„ ๊ฐ™์€ ์˜๋ฏธ๋กœ ์ดํ•ดํ•˜๊ณ  ์žˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค (๊ณผ๊ฑฐ์˜ ๋‚˜...)

    • ์ด๊ฒƒ์€ ๋งˆ์น˜ ์ธํ„ฐ๋„ท๊ณผ Web์„ ๊ฐ™์€ ์˜๋ฏธ๋กœ ์ดํ•ดํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™๋‹ค!

  • Why?

    • Web์ด ์ธํ„ฐ๋„ท ์œ„์—์„œ ๋Œ์•„๊ฐ€๋Š” ์„œ๋น„์Šค ์ค‘ ํ•˜๋‚˜์ธ ๊ฒƒ ์ฒ˜๋Ÿผ

    • HTTPS ๋„ SSL Protocol ์œ„์—์„œ ๋Œ์•„๊ฐ€๋Š” Protocol์ด๋‹ค!

  • HTTP๊ฐ€ SSL ์œ„์—์„œ ๋™์ž‘ํ•˜๋ฉด HTTPS๊ฐ€ ๋˜๋Š” ๊ฒƒ์ด๋‹ค!

SSL ๊ณผ TLS

  • ์ด ๋‘˜์€ ์‚ฌ์‹ค ๊ฐ™์€๋ง์ด๋‹ค!

    • Netscape์—์„œ SSL์ด ๋ฐœ๋ช…๋˜์—ˆ๊ณ , ์ด๊ฒƒ์ด ์ ์ฐจ ํญ๋„“๊ฒŒ ์‚ฌ์šฉ๋˜๋‹ค๊ฐ€ ํ‘œ์ค€ํ™” ๊ธฐ๊ตฌ์ธ IETF ์˜ ๊ด€๋ฆฌ๋กœ ๋ณ€๊ฒฝ๋˜๋ฉด์„œ TLS๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ๋ฐ”๋€Œ์—ˆ๋‹ค

    • TLS 1.0 ์€ SSL 3.0์„ ๊ณ„์Šนํ•œ๋‹ค

    • ๊ทธ๋ž˜์„œ ์ •์‹ ๋ช…์นญ์€ TLS์ด๋‹ค

      • but, TLS๋ผ๋Š” ์ด๋ฆ„๋ณด๋‹ค SSL์ด๋ผ๋Š” ์ด๋ฆ„์ด ํ›จ์”ฌ ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค!

SSL์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์•”ํ˜ธํ™”์˜ ์ข…๋ฅ˜

  • ๋Œ€์นญํ‚ค ๋ฐฉ์‹ (Symmetric-key algorithm)

    • ๋™์ผํ•œ ํ‚ค๋กœ ์•”ํ˜ธํ™”์™€ ๋ณตํ˜ธํ™”๋ฅผ ๊ฐ™์ด ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ์‹์˜ ์•”ํ˜ธํ™” ๊ธฐ๋ฒ•

      • ์•”ํ˜ธํ™”๋ฅผ ํ•˜๋Š” ์ชฝ๊ณผ ๋ณตํ˜ธํ™”๋ฅผ ํ•˜๋Š” ์ชฝ์ด ๋™์ผํ•œ Key๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค!

    • ๋‹จ์ 

      • ์•”ํ˜ธ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ์‚ฌ๋žŒ๋“ค ์‚ฌ์ด์— ๋Œ€์นญํ‚ค๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ์ด ์–ด๋ ต๋‹ค

        • ๋Œ€์นญํ‚ค๊ฐ€ ์œ ์ถœ๋˜๋ฉด ํ‚ค๋ฅผ ํš๋“ํ•œ ๊ณต๊ฒฉ์ž๋Š” ์•”ํ˜ธ์˜ ๋‚ด์šฉ์„ ๋ณตํ˜ธํ™” ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์•”ํ˜ธ๊ฐ€ ๋ฌด์šฉ์ง€๋ฌผ์ด ๋œ๋‹ค...!

        • ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ key distribution problem์ด๋ผ๊ณ  ํ•œ๋‹ค.

  • ๊ณต๊ฐœํ‚ค/๋น„๋Œ€์นญํ‚ค ๋ฐฉ์‹ (Public-key/asymmetric cryptography)

    • ๋Œ€์นญํ‚ค๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” key distribution problem์„ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด ๋“ฑ์žฅํ•œ ์•”ํ˜ธํ™” ๋ฐฉ์‹

    • ๋Œ€์นญํ‚ค์™€๋Š” ๋‹ค๋ฅด๊ฒŒ Key๊ฐ€ ๋‘ ๊ฐœ ์žˆ๋‹ค

      • A key๋กœ ์•”ํ˜ธํ™”๋ฅผ ํ•˜๋ฉด B key๋กœ ๋ณตํ˜ธํ™” ํ•  ์ˆ˜ ์žˆ๊ณ ,

      • B key๋กœ ์•”ํ˜ธํ™”ํ•˜๋ฉด A key๋กœ ๋ณตํ˜ธํ™” ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ์‹

    • ๋‘ ๊ฐœ์˜ ํ‚ค ์ค‘ ํ•˜๋‚˜๋ฅผ ๋น„๊ณต๊ฐœ ํ‚ค (private key, ๊ฐœ์ธํ‚ค, ๋น„๋ฐ€ํ‚ค) ๋กœ ํ•˜๊ณ ,

      • ๋‚˜๋จธ์ง€๋ฅผ ๊ณต๊ฐœํ‚ค (public key) ๋กœ ์ง€์ •ํ•œ๋‹ค!

    • ๊ณต๊ฐœํ‚ค๊ฐ€ ์œ ์ถœ๋œ๋‹ค๊ณ ํ•ด๋„ ๋น„๊ณต๊ฐœํ‚ค๋ฅผ ๋ชจ๋ฅด๋ฉด ์ •๋ณด๋ฅผ ๋ณตํ˜ธํ™” ํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์•ˆ์ „ ํ•˜๋‹ค!

      • why?

        • ๊ณต๊ฐœํ‚ค๋กœ๋Š” ์•”ํ˜ธํ™”๋Š” ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๋ณตํ˜ธํ™”๋Š” ํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ!

Last updated

Was this helpful?