HTTPμ HTTPS
HTTP(Hyper Text Transfer Protocol)
WWW(World-Wide-Web)κΈ°λ° μλΉμ€μμ μΉ μλ²μ WWW ν΄λΌμ΄μΈνΈ(μΉ λΈλΌμ°μ ) κ° ν΅μ μ μν΄ μ¬μ©νλ λ€νΈμν¬ νλ‘ν μ½
μΌλ°μ μΌλ‘ 80
λ² ν¬νΈλ₯Ό μ¬μ©νλ€. ν΄λΌμ΄μΈνΈκ° 80
λ² ν¬νΈλ₯Ό μ΄μ©ν΄ λ°μ΄ν°λ₯Ό μμ²(Request)νλ©΄ μΉ μλ²λ 80
λ² ν¬νΈλ‘ λ€μ΄μ¨ μμ²μ μλ΅(Response)νλ λ°©μμΌλ‘ ν΅μ νλ€.
HTTP μμ²(Request) λ©μμ§μ μλ΅(Response) λ©μμ§λ ν¬κ² Start line, Headers, Body λΆλΆμΌλ‘ ꡬμ±λμ΄ μλ€.
- Start line : Method λ°©μ, νκ² URL, HTTP λ²μ λ±μ μ 보
- Headers : Requestμ Response λ©μμ§ λ©ν μ 보
- Body : μ€μ Requestμ λ° Response λ©μμ§ λ΄μ©
HTTPλ μ§κ΄μ μ΄λ€. μμ² λ° μλ΅ λ©μμ§(HTML νμΌ, ν μ€νΈ λ°μ΄ν°, μ΄λ―Έμ§ λ° νμΌ λ°μ΄ν° λ±)λ₯Ό Bodyμ μ§μ λΆμ¬ μ λ¬νλ€. λ°λΌμ λ°μ΄ν°λ₯Ό λΉ λ₯΄κ³ μ½κ² μ£Όκ³ λ°μ μ μλ€.
HTTPS(Hyper Text Transfer Protocol over Secure-Socket-Layer)
HTTP νλ‘ν μ½μ λν΄ SSL μνΈν ν΅μ κΈ°λ₯μ μΆκ°ν λ€νΈμν¬ νλ‘ν μ½
HTTPλ μΉ μλ²μ ν΄λΌμ΄μΈνΈ(λΈλΌμ°μ ) κ° ν΅μ μ μ μ½ μμ΄ μμ λ‘κ² μ§ννλ€λ©΄, HTTPSλ μΉ μλ²μ ν΄λΌμ΄μΈνΈ(λΈλΌμ°μ ) κ° ν΅μ μ΄ μνΈνλλ―λ‘ μ 3μμ κ°μ μ΄λ μ, λ³μ‘°λ₯Ό λ§μ μ μλ€.
μΌλ°μ μΌλ‘ 443
λ² ν¬νΈλ₯Ό μ¬μ©νλ€. λν URLμ΄ http://
λ‘ μμνλ HTTP νλ‘ν μ½κ³Ό λ¬λ¦¬, HTTPS νλ‘ν μ½μ https://
λ‘ μμνλ―λ‘ URLμ νμΈνλ©΄ μ΄λ€ μΉ μ¬μ΄νΈμμ HTTPS νλ‘ν μ½μ μ¬μ©νλμ§ μ μ μλ€.
SSL(Secure Socket Layer)
μΉ μλ²μ ν΄λΌμ΄μΈνΈ κ° ν΅μ μ 곡μΈλ μ 3μ μΈμ¦ κΈ°κ΄ CA(Certificate Authority)μμ μΈμ¦νμ¬ λ³΄μμ κ°ννλ λ°©λ²
- SSLμ OSI 7κ³μΈ΅μ
μμ© κ³μΈ΅
κ³Όνν κ³μΈ΅
μ€κ°μ λ 립μ μΌλ‘ μ‘΄μ¬νλ€. μμ©κ³μΈ΅μ΄ SSLλ‘ λ°μ΄ν°λ₯Ό μ μ‘νλ©΄ SSLμ μ΄λ₯Ό μνΈννμ¬ TCPλ‘ λ³΄λΈ λ€ μ΄κ²μ΄ μΈλΆ μΈν°λ·μΌλ‘ μ λ¬λλ€. μμ μμ TCPλ‘λΆν° λ°μ΄ν°λ₯Ό μμ λ°μ SSLμ μ΄λ₯Ό 볡νΈννμ¬ μμ©κ³μΈ΅μΌλ‘ μ λ¬νλ€. - μ μ‘ κ³μΈ΅ 보μ(Transport Layer Security, TLS)μ μ‘°κΈ λ μ§νλ λ²μ μ SSLμ΄λ€. μ€λλ λλΆλΆ TLS λ°©μμ μ΄μ©νμ§λ§ SSLμ΄ λ λ§μ΄ μλ €μ ΈμκΈ°λλ¬Έμ μ€μ λ‘λ TLSλ₯Ό μ°κ³ μ©μ΄λ§ SSLμ΄λΌκ³ νλ€.
곡κ°ν€ μνΈν λ°©μ
- λ°μ΄ν°λ₯Ό μνΈν(Encrypt)νκ³ μνΈνλ λ°μ΄ν°λ₯Ό λ€μ νλ¬ΈμΌλ‘ μμ볡ꡬνλ 볡νΈν(decrypt) κ³Όμ μμ κ°κ° μλ‘ λ€λ₯Έ ν€(Key)λ₯Ό μ¬μ©νλ€.
- Aν€λ₯Ό μ΄μ©ν΄ μνΈνν λ°μ΄ν°λ Bν€κ° μμ΄μΌ 볡νΈννμ¬ ν΄μν μ μλ€. λ ν€λ μμ μ΄λ£¬λ€.
- μνΈν ν€(곡κ°ν€)λ λͺ¨λμκ² κ³΅κ°λμ΄ μκΈ° λλ¬Έμ λꡬλ μνΈνν μ μλ€.
- λ€λ§ 볡νΈν ν€(λΉλ°ν€)λ ν΄λΉ λ°μ΄ν°λ₯Ό μ΄λνκ³ μμ ν κΆνμ΄ μλ νΈμ€νΈλ§ κ°μ κ°μΈμ λΉλ°ν€λ₯Ό κ°κ³ μλ€. λ°λΌμ κΆνμ΄ μλ μλ§ λ°μ΄ν°λ₯Ό μ½μ μ μλ€.
곡κ°ν€ μνΈνμ νΉμ±μ μ΄μ©ν μ μ μλͺ
μμ 곡κ°ν€ μνΈν λ°©μμ μμ©νμ¬ μ 보λ₯Ό μ 곡ν μμ μ μμ 보μ₯ν μ μλ λ°©λ²μ΄ μλ€.
- λΉλ°ν€ μμ κ° μμ μ λΉλ°ν€λ₯Ό μ΄μ©ν΄ λ°μ΄ν°λ₯Ό μνΈννκ³ , μ΄ λ°μ΄ν°λ₯Ό 곡κ°ν€μ ν¨κ» λ°°ν¬νλ€.
- λ°μ΄ν°λ₯Ό μμ ν μλ ν¨κ» μμ ν 곡κ°ν€λ₯Ό μ΄μ©ν΄ λ°μ΄ν°λ₯Ό 볡νΈννμ¬ μ κ·Όν μ μλ€.
κΈ°μ‘΄μ 곡κ°ν€ μνΈν λ°©μμμλ 곡κ°ν€λ‘ μνΈνν λ€ λΉλ°ν€λ‘ 볡νΈννλ€λ©΄ μ μ μλͺ μμλ λ°λλ‘ λΉλ°ν€λ‘ μνΈνν λ€ κ³΅κ°ν€λ‘ 볡νΈννλ€. μ΄ λ°©λ²μ μΈλ» 보면 λꡬλ 곡κ°ν€λ₯Ό μ΄μ©ν΄ λ°μ΄ν°λ₯Ό μ½μ΄ μ, λ³μ‘°ν μ μμ΄ μνν΄ λ³΄μΈλ€. νμ§λ§ μνΈνλ λ°μ΄ν°λ₯Ό νΉμ 곡κ°ν€λ‘ 볡νΈνν μ μλ€λ κ²μ ν΄λΉ λ°μ΄ν°κ° νΉμ 곡κ°ν€μ μμ μ΄λ£¨λ νΉμ λΉλ°ν€λ‘ μνΈνλμ΄μλ€λ κ²μ μλ―Ένλ€. λ°λΌμ λ°μ΄ν°λ₯Ό μ 곡ν μμ μ μμ 보μ₯ν μ μλ€.
SSLμ μ΄μ©ν ν΅μ κ³Όμ
-
Handshake
-
ν΄λΌμ΄μΈνΈκ° μλ²μ μ μνλ€.
- μ μ‘νλ μ 보 : ν΄λΌμ΄μΈνΈκ° μμ±ν λλ€ λ°μ΄ν°, μνΈν λ°©μ νμμ μν μ μ, μΈμ μμ΄λ
- λλ€ λ°μ΄ν°λ μ€μ§μ μΈ μμ² λ° μλ΅ λ©μμ§ μνΈν, 볡νΈνλ₯Ό μν΄ μ¬μ©λ¨
- ν΄λΌμ΄μΈνΈ μΈ‘μμ κ°λ₯ν μνΈν λ°©μμ μ’ λ₯λ₯Ό μλ² μΈ‘μ μ μ
- μ΄ν κ°μ μΈμ μμλ SSL νΈλ μμ΄νΉμ μλ΅νκΈ° μν΄ μΈμ μλ³μλ₯Ό ν¨κ» 보λ
-
μλ²λ ν΄λΌμ΄μΈνΈμ μμ²μ μλ΅νλ€.
- μ μ‘νλ μ 보 : μλ²κ° μμ±ν λλ€ λ°μ΄ν°, ν΄λΌμ΄μΈνΈμ μνΈν λ°©μ μ€ μλ²κ° μ νν μνΈν λ°©μ λͺ μ, μΈμ¦μ
- λλ€ λ°μ΄ν°λ μ€μ§μ μΈ μμ² λ° μλ΅ λ©μμ§ μνΈν, 볡νΈνλ₯Ό μν΄ μ¬μ©λ¨
- ν΄λΌμ΄μΈνΈκ° μ μν μνΈν λ°©μ μ€ κ°λ₯ν μνΈν λ°©μμ μ νν¨
- μλ²κ° μκΈ° μμ μμ μΈμ¦νκΈ° μν μΈμ¦μ
-
ν΄λΌμ΄μΈνΈλ μλ²μ μΈμ¦μλ₯Ό ν΅ν΄ μλ²μ μ μμ νλ³νλ€.
- ν΄λΌμ΄μΈνΈλ μλ²μ μΈμ¦μκ° μ λ’°ν μ μλ CAμμ μΈμ¦λ κ²μΈμ§ νμΈνλ€.
- μ λ’°ν μ μλ€λ©΄ ν΄λΉ CAμ 곡κ°ν€λ‘ μλ²μ μΈμ¦μλ₯Ό 볡νΈννλ€.
- 볡νΈνκ° μ±κ³΅νλ€λ κ²μ CAμ 곡κ°ν€μ μμ μ΄λ£¬ ν΄λΉ CAμ λΉλ°ν€λ‘ μνΈνκ° λμλ€λ κ²μ μλ―Ένλ―λ‘ μλ²μ μ μμ νμ€νκ² λ―Ώμ μ μλ€.
-
μ€μ HTTPS ν΅μ λ©μμ§λ₯Ό μνΈννκΈ° μν΄ ν΄λΌμ΄μΈνΈμ μλ²μ λλ€ λ©μμ§λ₯Ό μ‘°ν©νμ¬ pre master secret ν€λ₯Ό μμ±νλ€.
- pre master secret ν€λ λμΉν€μ΄λ―λ‘ μ΄λ₯Ό μ£Όκ³ λ°κΈ° μν΄ λ€μ 곡κ°ν€ λ°©μμ μ΄μ©νλ€. μλ²μ 곡κ°ν€λ‘ pre master secret ν€λ₯Ό μνΈννμ¬ λ³΄λ΄λ©΄ ν΄λΌμ΄μΈνΈλ μ΄λ₯Ό μμ μ λΉλ°ν€λ‘ 볡νΈννμ¬ λ©μμ§λ₯Ό μ½μ ν€(session key)λ₯Ό νλνλ€.
-
-
μΈμ
- ν΄λΌμ΄μΈνΈμ μλ²κ° μ€μ λ°μ΄ν°λ₯Ό μ£Όκ³ λ°λλ€.
- handshake λ¨κ³μμ 곡μ ν session key(λμΉν€)λ₯Ό μ΄μ©ν΄ λ©μμ§λ₯Ό μνΈν λ° λ³΅νΈννλ€.
- λμΉν€μ 곡κ°ν€λ₯Ό νΌμ©νλ μ΄μ : 곡κ°ν€ λ°©μμ΄ μλμ μΌλ‘ λ§μ μ°μ°μ νμλ‘νκΈ° λλ¬Έμ μ°μ°μ μ΅μννκΈ°μν΄ μ€μ λ°μ΄ν°μ μ κ·ΌνκΈ° μν λμΉν€λ§ 곡κ°ν€λ‘ μνΈννλ κ²!
-
μΈμ μ’ λ£
- SSL ν΅μ μ΄ λλ¬μμ μλ‘μκ² ν΅μ§νλ€.
- session keyλ νκΈ°νλ€.
HTTP Vs HTTPS
-
HTTPS νλ‘ν μ½κ³Ό HTTP νλ‘ν μ½μ κ°μ₯ ν° μ°¨μ΄λ 보μμ΄λ€.
- HTTPS νλ‘ν μ½μ SSL μνΈν λ°©μμ μ΄μ©ν΄ μμ²κ³Ό μλ΅ μ£Όμ²΄λ₯Ό μΈμ¦ν μ μκ³ , μ μ‘νλ λ°μ΄ν°λ μνΈν λμ΄μμΌλ―λ‘ ν΄λ νμ¬ μ, λ³μ‘°ν μ μλ€. μ¦, λ°μ΄ν°μ 무결μ±μ 보μ₯νλ€.
- μ¬μ©μμ κ°μΈμ 보λ κ²°μ μ 보 λ±κ³Ό κ°μ΄ λ―Όκ°νκ³ μ€μν μ 보λ₯Ό μ μ‘ν΄μΌν κ²½μ° HTTPS νλ‘ν μ½μ μ΄μ©ν΄μΌ νλ€.
-
λΆκ°μ μΈ μ°¨μ΄λ SEO νμ§μ΄λ€.
- SEO(Search Engine Optimization, κ²μ μμ§ μ΅μ ν) : κ΅¬κΈ λ±μ κ²μ μμ§μμ μΉμ¬μ΄νΈκ° μ κ²μλκ³ λ ΈμΆλ μ μλλ‘ κ²μμ μ΅μ ν νλ μ λ΅
- κ²μ μμ§ κ΅¬κΈμ HTTPS νλ‘ν μ½μ μ΄μ©νλ μΉ μ¬μ΄νΈμ λν΄ SEO κ°μ°μ μ μ 곡νμ¬ μΉ μ¬μ΄νΈλ€μ΄ HTTPS νλ‘ν μ½μ μ΄μ©νλλ‘ μ λνκ³ μλ€.
- λμκ° ν¬λ‘¬κ³Ό κ°μ λΈλΌμ°μ μμλ HTTP νλ‘ν μ½μ μ΄μ©νκ±°λ μ λ’°ν μ μλ μΈμ¦μλ₯Ό μ΄μ©ν΄ ν΅μ ν κ²½μ°
βμμ νμ§ μμβ
μ΄λΌλ λ©μμ§λ₯Ό μΆλ ₯ν¨μΌλ‘μ¨ μ¬μ©μκ° HTTP μΉ μ¬μ΄νΈλ₯Ό μ μνλ κ²μ κ°μ μ μΌλ‘ λ§κ³ μλ€. - λν ꡬκΈμμ μ§μνλ AMP(Accelerated Mobile Pages, κ°μνλ λͺ¨λ°μΌ νμ΄μ§) ννμ λ°κΈ° μν΄μλ HTTPS νλ‘ν μ½μ μ¬μ©ν΄μΌ νλ€.
- λ―Έλ¬ν μ±λ₯ μ°¨μ΄κ° μ‘΄μ¬ν μ μμΌλ κΈ°μ μ λ°λ¬λ‘ 체κ°ν μ μλ μμ€μ΄ λκ±°λ μ€νλ € HTTPSκ° λ μ’μ μ±λ₯μ 보μ΄κΈ°λ νλ―λ‘ λ¬Έμ κ° μλ μμ€μ΄λ€.