Hexo λΈλ‘κ·Έμ HTTPS μ μ©νλ ν¬μ€νΈλ₯Ό μμ±νλ €λ€κ° 보λ λ¨Όμ HTTPSλ₯Ό μ 리νλκ² μ’μ κ² κ°μ΅λλ€. μ΄λ² ν¬μ€νΈμμλ HTTPSμ μ리μ λν΄ μμλ³΄κ² μ΅λλ€.
HTTPS
HTTP(Hypertext Transfer Protocol) μ HTML μ μ£Όκ³ λ°μ λ μλ‘ μ§ν€κΈ°λ‘ μ ν κ·μΉμ λλ€. κ·Έλ¦¬κ³ HTTPS(HTTP Secure) λ HTTP μ 보μμ κ°νν κ²μΌλ‘, μνΈνλ μ°κ²°λ‘ μΉ μλ²μ ν΅μ νλ λ°©μμ λλ€. HTTP λ μλ²μ ν΄λΌμ΄μΈνΈκ° μ£Όκ³ λ°λ λ©μμ§κ° λ ΈμΆλμ΄ κ°λ‘μ±κ±°λ μμ‘°λ μνμ΄ μμ΅λλ€. λ°λΌμ λΉλ°λ²νΈ, κ³μ’λ²νΈ λ± μ€μν μ 보λ₯Ό μ μ‘ν λλ HTTPS λ₯Ό μ΄μ©νκ² λ©λλ€.
HTTPS λ₯Ό μ¬μ©νκ² λλ©΄ λΈλΌμ°μ λ§λ€ μ‘°κΈμ© λ€λ₯΄μ§λ§ μ΄λ‘μκ³Ό μλ¬Όμ νμλ₯Ό μ΄μ©ν΄μ μμ νκ² μ°κ²°λ μ¬μ΄νΈλΌλ κ±Έ μλ €μ€λλ€. μ΄λ μ€λν, νΌμ±, λ°μ΄ν°λ³μ‘° λ±μΌλ‘λΆν° μμ νλ€λ κ²μ μλ―Ένκ³ , λ°©λ¬Έμλ μλΉμ€ μ¬μ©μμκ² μ λ’°κ°μ μ€ μ μμ΅λλ€.[1]
HTTPSλ SSL(Secure Socket Layer) λΌλ κΈ°μ μ μ΄μ©ν©λλ€. μ΄λ IETF(κ΅μ μΈν°λ· νμ€ν 기ꡬ)μμ νμ€ννλ©΄μ μ΄λ¦μ΄ λ°λμ΄ TLS(Transport Layer Security)λΌκ³ λ λΆλ¦ λλ€. κ°μΈν€(Private Key)μ 곡κ°ν€(Public Key)λ₯Ό 볡ν©μ μΌλ‘ μ¬μ©νκ³ , μΈμ¦κΈ°κ΄(Certificate Authority, CA)μ΄λΌλ μ 3μλ₯Ό μ΄μ©ν΄ 보μμ κ°ννκ³ μ μ‘λλ λ°μ΄ν°λ₯Ό μνΈνν©λλ€. SSL μμ μ¬μ©νλ κ°λ λ€μ κ°λ¨νκ² μ΄ν΄λ³΄κ² μ΅λλ€.
μνΈν Encryption
μ€μν μ λ³΄κ° μμ΅λλ€. μ΄ μ 보λ₯Ό νλ½λ μ¬λλ€λ§ λ³Ό μ μλλ‘ νκΈ° μν΄, μκ³ λ¦¬μ¦μ μ΄μ©ν΄ μ 보λ₯Ό μνΈλ¬ΈμΌλ‘ λ°κΏ μ μμ΅λλ€. μ΄λ₯Ό μνΈν(Encryption)μ΄λΌκ³ νκ³ μνΈνλ μ 보λ 볡νΈν(Decryption) κ³Όμ μ ν΅ν΄ ν΄λ ν μ μμ΅λλ€. μ΄λ° μνΈν/볡νΈν κ³Όμ μμ λΉλ°λ²νΈμ λΉμ·ν κΈ°λ₯μ νλ κ²μ ν€(Key)λΌκ³ ν©λλ€.
μΉ μ¬μ΄νΈλ₯Ό ν΅ν΄μ λ―Όκ°ν μ 보λ₯Ό μ£Όκ³ λ°μ λ νμν©λλ€. μ£Όλ‘ λ€μκ³Ό κ°μ μ 보λ₯Ό λ€λ£° λ μ¬μ©λ©λλ€.[2]
- λ‘κ·ΈμΈ λ° μνΈ
- κΈμ΅ μ 보 (μνκ³μ’, μ μ©μΉ΄λ λ²νΈ, 보μμΉ΄λ λ²νΈ λ±)
- λ μ μ μΈ μ 보
- λ²λ₯ λ¬Έμ λ° κ³μ½μ
- κ³ κ° λͺ©λ‘
- μλ£ κΈ°λ‘
λμΉν€ The Symmetric Key
μνΈν λ°©μμμ κ°μ₯ μ½κ² μκ°ν΄λ³Ό μ μλ λ°©λ²μ μνΈνν λ μ¬μ©ν ν€λ₯Ό 볡νΈνν λλ κ·Έλλ‘ μ¬μ©νλ κ²μ λλ€. μ¦ μ 보 A λ₯Ό μνΈνν νμ μ 보λ₯Ό μ λ¬νκ³ , μνΈνμ μ¬μ©ν ν€λ μ λ¬νλ κ²λλ€. μ΄λ° λ°©μμ βλμΉν€β λ°©μμ΄λΌκ³ ν©λλ€. κ°λ¨ν λ°©λ²μ΄μ§λ§ μ΄ ν€λ₯Ό μ λ¬νλ κ² μ체λ μνν κ³Όμ μ λλ€. ν€κ° μ μΆλκΈ° μ½κΈ° λλ¬Έμ μμ ν λ°©λ²μ΄ μλλλ€.
λΉλ°ν€μ 곡κ°ν€ Private Key & Public Key
λμΉν€μ²λΌ λμΌν ν€λ₯Ό μ¬μ©νλ λμ , λ€λ₯Έ λ κ°μ ν€λ₯Ό μ¬μ©νλ κ²μ 'λΉλμΉν€(Asymmetric Key)'λΌκ³ ν©λλ€. νλμ ν€λ‘ μνΈνλ₯Ό μν€λ©΄ λ€λ₯Έ νλμ ν€λ‘ ν μ μλλ‘ ν©λλ€. λΉλ°ν€/곡κ°ν€(Private Key/Public Key) λ°©μμ μ΄λ° ν€ μ(Key pair)λ₯Ό κ΄λ¦¬νλ λ°©μμ λλ€.
λΉλ°ν€λ μμ νκ² λ³΄κ΄λ ν€κ³ , 곡κ°ν€λ λ€λ₯Έ μ¬λλ€μ΄ λ³Ό μ μλλ‘ κ³΅κ°λ ν€μ λλ€. 곡κ°ν€λ₯Ό μ΄μ©ν΄μ μνΈννλ©΄, λΉλ°ν€λ₯Ό κ°μ§ μ¬λλ§μ΄ μ΄ μ 보λ₯Ό 볡νΈνν μ μκ² λ©λλ€.
κ·Έλ λ€λ©΄ λ°λλ‘ λΉλ°ν€λ‘ μ 보λ₯Ό μνΈννλ€λ©΄ μ΄λ¨κΉμ? λ¬Όλ‘ κ³΅κ°ν€λ₯Ό κ°μ§ μ¬λμ΄ ν μ μμ΅λλ€. νμ§λ§ 곡κ°ν€λ λ§ κ·Έλλ‘ κ³΅κ°λμκΈ° λλ¬Έμ λ§μ λ¨ΉμΌλ©΄ λꡬλ ν μ μκ² λ©λλ€.
μ΄λ° λ°©μμ μΈλ°μμ΄ λ³΄μ΄μ§λ§ μ μ©νκ² μ¬μ©λ μ μμ΅λλ€. A λΌλ μ¬λμ΄ λΉλ°ν€/곡κ°ν€ μμ μμ±ν νμ 곡κ°ν€λ₯Ό B λΌλ μ¬λμκ² λ³΄λ λλ€. κ·ΈλΌ A λΌλ μ¬λμ΄ λ³ΈμΈλ§μ΄ κ°μ§κ³ μλ λΉλ°ν€λ‘ μνΈνλ μ 보λ₯Ό 보λμ λ, B κ° κ³΅κ°ν€λ‘ ν μ μκ² μ£ . μ¦, B κ° κ³΅κ°ν€λ‘ ν μ μλ€λ©΄ A κ° μ§μ΄ λ§λ λΉλ°ν€λ₯Ό κ°μ§κ³ μλ€λ κ²μ μ¦λͺ νκ² λ©λλ€. μ΄λ κ² μνΈνλ₯Ό μ΄μ©ν΄ μ μμ μ¦λͺ ν μ μλ λ°©μμ 'μ μμλͺ (digital signature)'μ΄λΌκ³ ν©λλ€.[3]
SSL μΈμ¦μ DIgital Certificate
μΈμ¦μλ₯Ό ν΅ν 보μ λ°©μμλ λ€μκ³Ό κ°μ μΈ κ°μ§ μν μκ° λ±μ₯ν©λλ€.
- ν΄λΌμ΄μΈνΈ : μ¬μ©μ
- μλ² : μλΉμ€ μ 곡μ
- CA : Certificate Authorities μΈμ¦ κΈ°κ΄
μ μ νμΈ
SSL λ°©μμμ ν΅μ¬ μν μ νλ κ²μ΄ SSL μΈμ¦μ(νΉμ λμ§νΈ μΈμ¦μ) μ λλ€. μ΄λ¬ν μΈμ¦μλ μ¬μ©μ(ν΄λΌμ΄μΈνΈ)κ° μ μν μλ²κ° μ μ΄μ μλν μλ²κ° λ§λ κ²μΈμ§λ₯Ό 보μ₯ν΄μ€λλ€. μΈν°λ·λ± νΉ μ¬μ΄νΈμ μ μνλ€λ©΄ μ΄κ² μ λ§ κ·Έ μΈν°λ·λ± νΉμ΄ λ§λμ§, κ°μ§μ¬μ΄νΈλ μλμ§ νμΈν΄μ€λλ€. μ¦, μΉ μ¬μ΄νΈμ μ μμ νμΈν΄μ£Όλ μν μ ν©λλ€.
μ΄λ¬ν μΈμ¦μλ μ λ’°μ±μ 곡μΈλ°μ κΈ°μ μμ ꡬμ ν μ μμ΅λλ€. μ΄λ° κΈ°μ μ CA(Certificate Authorities)λΌκ³ ν©λλ€. CAλ μΈμ¦μ μ μ²μ λ°μμ κ²μ¦νκ³ μΈμ¦μλ₯Ό λ°κΈν΄μ€λλ€. λμ λ΄κ³ μμ ν μ¬μ΄νΈλΌκ³ 보μ₯νλ μΈμ¦μλ₯Ό μ¬λ κ²μ΄μ£ . CAλ μμ ν μ¬μ΄νΈλΌλ κ²μ νμΈνκ³ κ³΅μΈλ μΈμ¦μλ₯Ό μμ μ λΉλ°ν€λ‘ μνΈνν΄μ μ€λλ€. μ΄μ μΈμ¦μ λ°μ νμ¬λ μ¬μ©μκ° μλ²μ μ μν λ μΈμ¦μλ₯Ό 보λ λλ€.
μΈμ¦μλ ν΄λΌμ΄μΈνΈκ° μλ²μ μ μν λ λ€μ΄λ‘λ λ©λλ€. κ·Έλ¦¬κ³ λΈλΌμ°μ μλ μ λ’°ν μ μλ CA λͺ©λ‘κ³Ό CAμ 곡κ°ν€λ₯Ό κ°μ§κ³ μμ΅λλ€. λΈλΌμ°μ κ° ν΄λΉ μλ²μ μΈμ¦μλ₯Ό λ°μμ CAμ 곡κ°ν€λ‘ 볡νΈν ν κ²μ΄κ³ , λ§μ½ νλ¦°λ€λ©΄ CAμ μΈμ¦μ μ λλ‘ λ°μ μμ ν μ¬μ΄νΈμμ νμΈν μ μμ΅λλ€. μμμ μ΄ν΄ λ³Έ μ μμλͺ λ°©μμ μκ°νμλ©΄ λ©λλ€.
λ°λΌμ μ λλ‘ λ μΈμ¦μλ₯Ό κ°μ§ μ¬μ΄νΈμ μ μνλ©΄ HTTPSμ ν¨κ» μ΄λ‘μ νΉμ μλ¬Όμ λ‘ μ°κ²°μ νμνμ§λ§, CAκ° μλ κ³³μμ μΈμ¦μ λ°μλ€λ©΄ HTTPS μ°κ²°μ΄λΌλ λΈλΌμ°μ μμ κ²½κ³ λ©μμ§λ₯Ό 보μ¬μ€λλ€.
λμ λ°©μ
λ¨Όμ μλ²κ° μ λ’°ν μ μλ μ¬μ΄νΈλΌλ κ²μ νμΈν ν΄λΌμ΄μΈνΈλ μλ²μμ νΈλμμ΄ν¬ λ¨κ³μμ μ£Όκ³ λ°μ λλ€ λ°μ΄ν°λ₯Ό μ΄μ©ν΄ ν€λ₯Ό νλ λ§λλλ€. μ΄ ν€λ₯Ό μ΄μ©ν΄μ λμΉν€ λ°©μμΌλ‘ μνΈνλ μ 보λ₯Ό μ£Όκ³ λ°μΌλ €κ³ ν©λλ€. λ¬Έμ λ μ΄ λμΉν€λ₯Ό κ·Έλ₯ 보λ΄λ©΄ μννλ€λ κ±°μ£ .
μΈμ¦μ μμλ ν΄λΉ μ μ²ν μλΉμ€μ μ 보μ μλ²μ 곡κ°ν€κ° λ€μ΄μμ΅λλ€.[4] λμΉν€λ₯Ό μλ²μ μμ νκ² μ μ‘ν λ°©λ²μ λ°λ‘ μ΄ μλ²μ 곡κ°ν€λ₯Ό μ΄μ©ν λ°©λ²μ λλ€. μμ±ν λμΉν€λ₯Ό μλ²μ 곡κ°ν€λ‘ μνΈνν ν μλ²μ 보λ΄λ©΄, λΉλ°ν€λ₯Ό κ°μ§ μλ²λ§ λμΉν€λ₯Ό 볡νΈνν μ μμ΅λλ€. μ΄λ κ² λμΉν€λ₯Ό κ΅ννλ€λ©΄ μ€λΉλ λλ¬μ΅λλ€. λμΉν€μ κ²½μ° κ°λ¨νμ§λ§ λμΉν€ μ체λ₯Ό μ£Όκ³ λ°λ κ²μ΄ λ¬Έμ μλλ° ν΄κ²°λμλ€μ.
λμΉν€λ₯Ό μ΄μ©ν΄μ μ 보λ₯Ό κ΅ννκ³ , μ¬μ©λ λμΉν€λ SSL μ μμ΄ λλλ©΄ νκΈ°λ©λλ€.
μ 리
μ΄λ² ν¬μ€ν μμλ HTTPS μ λν΄μ μ΄ν΄λ΄€μ΅λλ€. λ§μ§λ§μΌλ‘ ν° μ€κΈ°λ§ μ 리ν΄λ³΄κ² μ΅λλ€.
- μ€μν μ 보λ μνΈνκ° νμν΄μ SSLμ΄ μ μ©λ HTTPS λ₯Ό μ¬μ©ν΄μΌ νλ€.
- CAλ μλ²λ₯Ό μΈμ¦νκ³ μΈμ¦μλ₯Ό λ°κΈνλ€.
- μλ²λ μΈμ¦μμ μλΉμ€μ μ 보μ μλ²μ 곡κ°ν€λ₯Ό μ μ₯ν΄ μ 곡νλ€.
- ν΄λΌμ΄μΈνΈλ μΈμ¦μλ₯Ό ν΅ν΄ μλ²κ° μ λ’°ν μ μλμ§ νμΈν μ μκ³ ,
- μΈμ¦μμ μλ 곡κ°ν€λ₯Ό μ΄μ©ν΄ μλ²μ λμΉν€λ₯Ό κ΅νν μ μλ€.