SSL μΈμ¦μλ? π¨ "λΉμ μ μΉμ¬μ΄νΈ, ν΄μ»€μκ² λ¬΄λ°©λΉ λ ΈμΆ?" SSL μΈμ¦μ(certificate) μμΌλ©΄ μνν©λλ€! π
π λͺ©μ°¨ (Contents)
- SSL μΈμ¦μλ? π€
- SSL/TLS μΈμ¦μ νμ₯μ μ’ λ₯, μ¬μ© μ©λ
- SSL/TLS μΈμ¦μ 체μΈμ κ΅¬μ± μμ (Root, Intermediate, Leaf μΈμ¦μ)
- μΈμ¦μ μμ± λ° μ κ² λ°©λ² π
- μΈμ¦μκ° νμν μ΄μ μ νκ³μ
- μ€μ μ¬λ‘: SSL μΈμ¦μ κ΄λ ¨ μλΉμ€ μ₯μ π₯
- μΈμ¦μ λ°κΈμ μ 체νλ¦
- μΈμ¦μμ λν μ견
1. SSL μΈμ¦μλ? π€
SSL(Secure Sockets Layer) μΈμ¦μλ μΉμ¬μ΄νΈμ μ¬μ©μμ λΈλΌμ°μ κ° ν΅μ μ μνΈννμ¬ λ°μ΄ν° νμ·¨λ₯Ό λ§λ 보μ κΈ°μ μ λλ€. νμ¬λ "TLS(Transport Layer Security)"κ° SSLμ λ체νκ³ μμ§λ§, μ¬μ ν "SSL μΈμ¦μ"λΌλ μ©μ΄κ° λ리 μ¬μ©λ©λλ€.
SSLμ΄ μ μ©λ μ¬μ΄νΈλ λΈλΌμ°μ μ£Όμμ°½μ π μλ¬Όμ μμ΄μ½μ΄ νμλλ©°, "HTTP" λμ "HTTPS"κ° μ¬μ©λ©λλ€.
✅ SSL μΈμ¦μκ° νμν μ΄μ
✔️ "λ°μ΄ν° μνΈν" – μ€κ°μ 곡격 λ°©μ§
✔️ "μΉμ¬μ΄νΈ μΈμ¦" – μ¬μ©μκ° μ μν μ¬μ΄νΈκ° μ§μ§μΈμ§ νμΈ
✔️ "λ°μ΄ν° λ¬΄κ²°μ± λ³΄μ₯" – λ°μ΄ν° μλ³μ‘° λ°©μ§
✔️ "SEO μ΅μ ν" – HTTPS μ¬μ© μΉμ¬μ΄νΈλ κ²μ μμ μ°μ μ μ©
✔️ "μ¬μ©μ μ λ’°λ μ¦κ°" – 보μ κ²½κ³ μ κ±° λ° νΌμ± λ°©μ§
✅ μ€μ λ‘ SSL μΈμ¦μκ° μλνλ κ³Όμ (TCP → TLS → HTTP μμ²)
1️⃣ DNS μ‘°ν: λΈλΌμ°μ κ° λλ©μΈμ IP μ£Όμλ₯Ό νμΈ
2️⃣ TCP 3-way Handshake: ν΄λΌμ΄μΈνΈμ μλ² κ° μ°κ²° μ립
3️⃣ TLS Handshake: μλ²μ SSL μΈμ¦μ κ²μ¦ λ° μνΈνλ ν΅μ μ€μ
4️⃣ HTTP GET μμ²: μνΈνλ μΉνμ΄μ§ λ°μ΄ν° μμ² λ° μλ΅
π μ΄ κ³Όμ μ ν΅ν΄ λ°μ΄ν°κ° μμ νκ² λ³΄νΈλ©λλ€.
π Thumbprintλ? μΈμ¦μ μ체μ μ§λ¬Έ (ν΄μκ°)μ΄λ©°, μλͺ (Signature) κ²μ¦μ΄λ? μΈμ¦μ λ³Έλ¬Έμ λν λμ§νΈ μλͺ μ μλ―Ένλ©°, μμ CAμ 곡κ°ν€λ₯Ό ν΅ν΄ κ²μ¦κ°λ₯ν©λλ€.
2. SSL/TLS μΈμ¦μ νμ₯μ μ’ λ₯, μ¬μ© μ©λ π ️
SSL/TLS μΈμ¦μλ μ¬λ¬ νμ₯μλ‘ μ 곡λλ©°, κ° νμ₯μλ νΉμ ν μν κ³Ό μ¬μ© λͺ©μ μ΄ μμ΅λλ€. μλλ κ°μ₯ λ§μ΄ μ¬μ©λλ μΈμ¦μ νμΌ νμ₯μμ κ·Έ μν λ° μ¬μ© μ©λμ λν μ 리μ λλ€.
1. .crt
(Certificate)
✅ μν : X.509 μΈμ¦μλ₯Ό μ μ₯νλ νμΌλ‘, μ£Όλ‘ μλ² μΈμ¦μ(Server Certificate) λ₯Ό μλ―Έν©λλ€.
✅ ν¬λ§·: PEM (Base64 μΈμ½λ©λ ASCII ν
μ€νΈ) λλ DER (λ°μ΄λ리)
✅ μ¬μ© μ©λ:
- μΉ μλ²(Apache, Nginx λ±)μμ SSL/TLS μΈμ¦μλ‘ μ€μ ν λ μ¬μ©λ©λλ€.
- ν΄λΌμ΄μΈνΈ(λΈλΌμ°μ )κ° HTTPSλ‘ μ μν λ λ€μ΄λ‘λνλ μλ²μ μΈμ¦μμ λλ€.
openssl s_client -connect yourdomain.com:443
λͺ λ Ήμ΄λ₯Ό ν΅ν΄ νμΈν μ μμ΅λλ€.
πΉ λ³ν κ°λ₯:
- PEM → DER λ³ν:
.crt
λ.cer
μ κ±°μ λμΌν μν μ ν©λλ€.
2. .cer
(Certificate)
✅ μν : .crt
μ λμΌν X.509 μΈμ¦μ νμΌμ΄λ©°, λ¨μ§ νμ₯μκ° λ€λ₯Ό λΏμ
λλ€.
✅ ν¬λ§·: PEM λλ DER
✅ μ¬μ© μ©λ:
- Windows νκ²½μμ μΈμ¦μ κ΄λ¦¬(λλ©μΈ, λ£¨νΈ μΈμ¦μ) λ±μ μ¬μ©λ©λλ€.
- Windowsμμ κΈ°λ³Έμ μΌλ‘ μ¬μ©λλ νμ₯μμ΄λ©°,
.crt
μ μ¬μ€μ λμΌν μν μ ν©λλ€. - λλΈ ν΄λ¦νλ©΄ Windows μΈμ¦μ κ΄λ¦¬ μ½μ(
certmgr.msc
)μμ νμΈν μ μμ΅λλ€.
πΉ λ³ν κ°λ₯:
.cer
→.crt
λ‘ μ΄λ¦ λ³κ²½λ§ ν΄λ μ¬μ© κ°λ₯ν©λλ€.
3. .pem
(Privacy-Enhanced Mail)
✅ μν : Base64λ‘ μΈμ½λ©λ μΈμ¦μ λ° ν€ μ μ₯ (ν
μ€νΈ κΈ°λ°)
✅ ν¬λ§·: PEM (ASCII μΈμ½λ©)
✅ μ¬μ© μ©λ:
- μΈμ¦μ μ²΄μΈ (Certificate Chain) μ μ₯ κ°λ₯ (
cat server.crt intermediate.crt > bundle.pem
) - μλ²μμ SSL/TLS μ€μ μ λ§μ΄ μ¬μ©λ¨ (Apache, Nginx, OpenSSL λ±)
.pem
νμΌ μμλ λ€μν μ νμ μΈμ¦μ μ 보λ₯Ό ν¬ν¨ν μ μμ΅λλ€:- μλ² μΈμ¦μ (
-----BEGIN CERTIFICATE-----
) - κ°μΈ ν€ (Private Key) (
-----BEGIN PRIVATE KEY-----
) - μ€κ° μΈμ¦μ (Intermediate Certificate) (
-----BEGIN CERTIFICATE-----
)
- μλ² μΈμ¦μ (
πΉ λ³ν κ°λ₯:
.pem
→.crt
λ³ν (λ΄μ© λμΌ, λ¨μ νμ₯μ λ³κ²½).pem
→.pfx
λ³ν (λΉλ°λ²νΈ ν¬ν¨λ νμΌλ‘ λ³ν)
4. .pfx
/ .p12
(PKCS#12)
✅ μν : κ°μΈ ν€(Private Key) + μΈμ¦μ(μλ²/μ€κ° λ£¨νΈ μΈμ¦μ)λ₯Ό νλμ νμΌμ μ μ₯
✅ ν¬λ§·: λ°μ΄λ리 (PKCS#12, λΉλ°λ²νΈ λ³΄νΈ κ°λ₯)
✅ μ¬μ© μ©λ:
- Windows, IIS(Internet Information Services)μμ SSL μΈμ¦μ μ€μΉ μ μ¬μ©λ©λλ€.
- κ°μΈ ν€(Private Key)μ μΈμ¦μλ₯Ό ν¨κ» μ μ₯ν΄μΌ ν λ νμν©λλ€.
.p12
μ.pfx
λ λμΌν μν μ νλ©° νμ₯μλ§ λ€λ¦ λλ€.
πΉ λ³ν κ°λ₯:
.pfx
→.pem
λ³ν (κ°μΈ ν€ λ° μΈμ¦μ μΆμΆ).pfx
→.crt
λ°.key
λΆλ¦¬
5. .key
(Private Key)
✅ μν : μλ²μ κ°μΈ ν€(Private Key)λ₯Ό μ μ₯νλ νμΌ
✅ ν¬λ§·: PEM (Base64 μΈμ½λ©)
✅ μ¬μ© μ©λ:
- μλ²μμ SSL/TLS μΈμ¦μμ ν¨κ» μ¬μ©νμ¬ HTTPS ν΅μ μ μνΈνν©λλ€.
.key
νμΌμ μ λ μΈλΆμ λ ΈμΆλλ©΄ μ λ©λλ€!- κ°μΈ ν€κ° μ μΆλλ©΄, ν΄μ»€κ° μ€κ°μ 곡격(MITM, Man-in-the-Middle) μ μνν μ μμ΅λλ€.
πΉ λ³ν κ°λ₯:
.key
νμΌμ΄ μμ€λλ©΄ μΈμ¦μλ₯Ό λ€μ λ°κΈλ°μμΌ ν©λλ€.
6. .der
(Distinguished Encoding Rules)
✅ μν : λ°μ΄λ리 ννμ X.509 μΈμ¦μλ₯Ό μ μ₯νλ νμΌμ
λλ€.
✅ ν¬λ§·: DER (λ°μ΄λ리)
✅ μ¬μ© μ©λ:
- Windows λ° Java νκ²½μμ λ§μ΄ μ¬μ©λ©λλ€ (μ: Tomcat, Java KeyStore).
.der
νμΌμ PEMκ³Ό λ¬λ¦¬ Base64λ‘ μΈμ½λ©λμ§ μμ λ°μ΄λ리 λ°μ΄ν°μ λλ€.- Windows μΈμ¦μ μ€ν μ΄μ μΆκ°ν λ μ¬μ© κ°λ₯ν©λλ€.
πΉ λ³ν κ°λ₯:
.der
→.pem
λ³ν (Base64λ‘ λ³κ²½).pem
→.der
λ³ν
7. .csr
(Certificate Signing Request)
✅ μν : μΈμ¦μ μλͺ
μμ²(CSR) νμΌ, CAμ μΈμ¦μλ₯Ό μμ²ν λ μ¬μ©
✅ ν¬λ§·: PEM (Base64 μΈμ½λ©)
✅ μ¬μ© μ©λ:
- μΉ μλ²μμ SSL μΈμ¦μλ₯Ό λ°κΈλ°κΈ° μν΄ CSRμ μμ±νκ³ CA(Certificate Authority)μ μ μΆν©λλ€.
- CSR νμΌμλ λλ©μΈ μ 보, μ‘°μ§ μ 보, κ³΅κ° ν€(Public Key) λ± ν¬ν¨λ©λλ€.
- CAκ° CSRμ κ²μ¦νκ³ μλͺ
νλ©΄
.crt
νμΌμ λ°κΈν΄ μ€λλ€.
πΉ CSR μμ± μμ:
3. SSL/TLS μΈμ¦μ 체μΈμ κ΅¬μ± μμ
X.509 μΈμ¦μ 체μΈμ ν¬κ² λ£¨νΈ μΈμ¦μ(CA), μ€κ° μΈμ¦μ(Intermediate), 리ν μΈμ¦μ(Leaf) λ‘ λλλ©°,
κ°κ°μ μν μ΄ μμ΅λλ€.
πΉ λ£¨νΈ μΈμ¦μ (Root CA Certificate)
✅ μν :
- κ³΅μΈ μΈμ¦κΈ°κ΄(CA)μ΄ μ§μ λ°κΈν μ΅μμ μΈμ¦μλ‘, λͺ¨λ μΈμ¦μ 체μΈμ μ λ’° κΈ°λ°μ΄ λ©λλ€.
- λ£¨νΈ μΈμ¦μλ μΉ λΈλΌμ°μ , OS, λλ°μ΄μ€ λ±μ μ¬μ μ€μΉλμ΄ μμ.
(μ: Windowscertmgr.msc
, macOS ν€μ²΄μΈ, Linuxca-certificates
) - CAκ° μ§μ μλͺ ν μ체 μλͺ (Self-Signed) μΈμ¦μμ λλ€.
✅ νμΌ μμΉ:
- μλ² μΈμ¦μ νμΌμ ν¬ν¨λμ§ μμ.
- μ΄μ체μ (OS) λλ λΈλΌμ°μ μμ μλμΌλ‘ μ λ’°ν μ μλ CA λͺ©λ‘μμ μ°Έμ‘°λ¨.
- (μ: DigiCert, GlobalSign, Let's Encrypt R3 λ±)
✅ μμ:
πΉ μ€κ° μΈμ¦μ (Intermediate Certificate)
✅ μν :
- λ£¨νΈ CAμ μ§μ μ μΈ μΈμ¦μλ₯Ό μ¬μ©νμ§ μκ³ , μ€κ° CAλ₯Ό ν΅ν΄ μλ² μΈμ¦μλ₯Ό λ°κΈνλ μν .
- λ£¨νΈ CAκ° μ§μ μλͺ νμ§ μκ³ Intermediate CAλ₯Ό ν΅ν΄ λ°κΈνλ©΄ 보μμ±μ΄ ν₯μλ¨.
- μλ² μΈμ¦μ νμΌ(
fullchain.pem
)μ ν¬ν¨λλ κ²½μ°κ° λ§μ.
✅ νμΌ μμΉ:
- μλ² μ€μ μ λ°λΌ μλ² μΈμ¦μ νμΌκ³Ό ν¨κ» μ 곡λ¨.
- μΌλ°μ μΌλ‘
fullchain.pem
λλbundle.crt
κ°μ νμΌμ ν¬ν¨λ¨.
✅ μμ:
πΉ 리ν μΈμ¦μ (Leaf Certificate, Server Certificate)
✅ μν :
- μΉ μλ²κ° νΉμ λλ©μΈ(μ:
yourdomain.com
)μ λν΄ SSL/TLS 보μμ μ 곡νκΈ° μν΄ μ¬μ©νλ μΈμ¦μ. - λΈλΌμ°μ κ° κ²μ¦νλ μ΅μ’ μΈμ¦μμ΄λ©°, μλ²μμ μ§μ μ 곡.
- ν΄λΌμ΄μΈνΈκ° HTTPS μ°κ²°μ ν λ μ μΌ λ¨Όμ νμΈνλ μΈμ¦μ.
✅ νμΌ μμΉ:
- μλ² μΈμ¦μ(
server.crt
,yourdomain.crt
) νμΌμ ν¬ν¨λ¨. - μΌλ°μ μΌλ‘ μλ²μμ μ 곡νλ λ¨μΌ μΈμ¦μ νμΌμ 리ν μΈμ¦μλ§ ν¬ν¨ν¨.
✅ μμ:
4. SSL μΈμ¦μ μμ± λ° μ κ²λ°©λ² π ️
1️⃣ OpenSSLμ μ΄μ©ν SSL μΈμ¦μ μμ± λ°©λ²
# κ°μΈ ν€ μμ±
openssl genrsa -out mysite.key 2048
# CSR μμ±
openssl req -new -key mysite.key -out mysite.csr
# μ체 μλͺ
λ μΈμ¦μ μμ±
openssl x509 -req -days 365 -in mysite.csr -signkey mysite.key -out mysite.crt
π μ£Όμ! Self-signed μΈμ¦μλ 보μ κ²½κ³ κ° λ°μν μ μμΌλ―λ‘ κ³΅μΈ μΈμ¦ κΈ°κ΄(CA)μ μΈμ¦μλ₯Ό μ¬μ©νλ κ²μ΄ μ’μ΅λλ€.
# κ°μΈ ν€ μμ±
openssl genrsa -out mysite.key 2048
# CSR μμ±
openssl req -new -key mysite.key -out mysite.csr
# μ체 μλͺ
λ μΈμ¦μ μμ±
openssl x509 -req -days 365 -in mysite.csr -signkey mysite.key -out mysite.crt
2️⃣ λ¬΄λ£ SSL μΈμ¦μ λ°κΈ (Let's Encrypt)
sudo apt install certbot
# Apache
sudo certbot --apache
# NGINX
sudo certbot --nginx
# SSL μΈμ¦μ κ°±μ
sudo certbot renew --dry-run
sudo apt install certbot
# Apache
sudo certbot --apache
# NGINX
sudo certbot --nginx
# SSL μΈμ¦μ κ°±μ
sudo certbot renew --dry-run
3️⃣ SSL μΈμ¦μ ν μ€νΈ λ° κ²μ¦
π ️. SSL μΈμ¦μ μ€μΉ ν μ κ²νλ λ² π
SSL μΈμ¦μλ₯Ό μ μ©ν ν, μλ μ¬νμ μ κ²νμΈμ.
✅ μΉμ¬μ΄νΈ HTTPS μ μ© νμΈ
https://yourdomain.com
μΌλ‘ μ μ μ λΈλΌμ°μ μ£Όμμ°½μ π μλ¬Όμ μμ΄μ½ νμ μ¬λΆ νμΈ
✅ HSTS μ μ© νμΈ
μΉλΈλΌμ°μ κ°λ°μλꡬ νμ©
✅ SSL/TLS μ΅μ λ²μ μ¬μ© μ¬λΆ νμΈ
- SSL 3.0, TLS 1.0, 1.1μ 보μ μ·¨μ½μ μ΄ μμ΄ TLS 1.2μ΄μ μ¬μ© κΆμ₯
5. SSL μΈμ¦μκ° νμν μ΄μ μ νκ³μ π
SSL μΈμ¦μλ λ¨μν λ°μ΄ν°λ₯Ό μνΈννλ μν λΏλ§ μλλΌ, SEO(κ²μ μμ§ μ΅μ ν)μ μ¬μ©μ μ λ’° ν보μλ μ€μν μν μ ν©λλ€. μ΅κ·Ό λλΆλΆμ μΉμ¬μ΄νΈλ HTTPS(SSL/TLS) κΈ°λ°μΌλ‘ μ΄μλλ©°, μ΄λ₯Ό μ μ©νμ§ μμΌλ©΄ κ²μ μμ λ° μ¬μ©μ κ²½ν(UX)μ λΆμ μ μΈ μν₯μ μ€ μ μμ΅λλ€.
✅ SSL μΈμ¦μμ μ£Όμ μ₯μ
1) κ΅¬κΈ SEO λνΉ μμΉ – HTTPS μΉμ¬μ΄νΈ μ°μ λ ΈμΆ
ꡬκΈμ 2014λ λΆν° HTTPSλ₯Ό μ¬μ©νλ μΉμ¬μ΄νΈλ₯Ό κ²μ κ²°κ³Όμμ μ°μ μ μΌλ‘ λ ΈμΆνλ μ μ± μ μννκ³ μμ΅λλ€.
- κ²μ μμ§ μ΅μ ν(SEO) ν¨κ³Όλ₯Ό μνλ€λ©΄, SSL μΈμ¦μλ₯Ό μ μ©νμ¬ HTTPSλ₯Ό νμ±ννλ κ²μ΄ νμμ λλ€.
- HTTP μ¬μ΄νΈλ κ²μ μμ§ λνΉμμ λΆμ΄μ΅μ λ°μ κ°λ₯μ±μ΄ ν½λλ€.
- νΉν, μ¨λΌμΈ μΌνλͺ°μ΄λ κΈμ΅ μλΉμ€μ²λΌ 보μμ΄ μ€μν μΉμ¬μ΄νΈλ SSLμ΄ νμμ μ λλ€.
2) μ¬μ©μ μ λ’° μ¦κ° – μΉμ¬μ΄νΈ μ λ’°λ μμΉ
μ¬μ©μκ° μΉμ¬μ΄νΈμ μ μνμ λ "π 보μ μ°κ²°(HTTPS)" νμκ° λνλλ©΄, μΉμ¬μ΄νΈκ° μ λ’°ν μ μμμ 보μ¬μ€λλ€.
- λ°λλ‘ SSLμ΄ μλ HTTP μΉμ¬μ΄νΈμμλ **"μ΄ μ¬μ΄νΈλ μμ νμ§ μμ"**μ΄λΌλ κ²½κ³ κ° νμλ©λλ€.
- μ¨λΌμΈ κ²°μ , λ‘κ·ΈμΈ, νμκ°μ μ΄ νμν μ¬μ΄νΈμμλ HTTPSκ° νμμ μ λλ€.
- SSLμ΄ μ μ©λ μΉμ¬μ΄νΈλ λΈλΌμ°μ μ£Όμμ°½μ μλ¬Όμ (π) μμ΄μ½μ΄ νμλλ©°, μ΄λ μ¬μ©μ μ λ’°λλ₯Ό λμ΄λ λ° λμμ μ€λλ€.
3) λΈλΌμ°μ 보μ κ²½κ³ λ°©μ§ – "μ΄ μ¬μ΄νΈλ μμ νμ§ μμ" κ²½κ³ μ°¨λ¨
SSLμ΄ μ μ©λμ§ μμ μΉμ¬μ΄νΈλ ν¬λ‘¬(Chrome), νμ΄μ΄νμ€(Firefox), μ£μ§(Edge) λ± μ£Όμ λΈλΌμ°μ μμ 보μ κ²½κ³ λ₯Ό νμν©λλ€.
- HTTP μΉμ¬μ΄νΈ λ°©λ¬Έ μ, "μ΄ μ¬μ΄νΈλ μμ νμ§ μμ΅λλ€." λΌλ κ²½κ³ κ° νμλλ©°, μ¬μ©μκ° μΉμ¬μ΄νΈλ₯Ό λ λ κ°λ₯μ±μ΄ λμμ§λλ€.
- νΉν, ν¬λ‘¬κ³Ό κ°μ λΈλΌμ°μ μμλ HTTPSκ° μλ μ¬μ΄νΈμμ λΉλ°λ²νΈ μ λ ₯ μ 보μ κ²½κ³ λ₯Ό λμ°λ κΈ°λ₯μ΄ ν¬ν¨λμ΄ μμ΅λλ€.
- 보μ κ²½κ³ κ° νμλλ©΄ μ¬μ©μ μ΄νλ₯ (Bounce Rate)μ΄ μ¦κ°ν κ°λ₯μ±μ΄ λμμ§λλ€.
❌ SSL μΈμ¦μμ νκ³μ (λ¨μ )
⏳ 1) μ ν¨κΈ°κ° λ§λ£ μ κ°±μ νμ
- SSL μΈμ¦μλ μ ν¨κΈ°κ°μ΄ μμΌλ©°, μ£ΌκΈ°μ μΌλ‘ κ°±μ ν΄μΌ ν©λλ€.
- Let's Encrypt κ°μ λ¬΄λ£ SSLμ 90μΌλ§λ€ κ°±μ ν΄μΌ νλ©°, μ λ£ SSLλ 1~2λ λ§λ€ κ°±μ μ΄ νμν©λλ€.
- κ°±μ νμ§ μμΌλ©΄ "μ΄ μΉμ¬μ΄νΈμ 보μ μΈμ¦μκ° λ§λ£λμμ΅λλ€" κ°μ μ€λ₯κ° λ°μν μ μμ΅λλ€.
- μ΄λ₯Ό λ°©μ§νλ €λ©΄ μλ κ°±μ (Auto Renewal) μμ€ν μ μ€μ νλ κ²μ΄ μ’μ΅λλ€.
⚡ 2) μ±λ₯ μ ν κ°λ₯μ± (λκ·λͺ¨ νΈλν½ νκ²½μμ)
- SSL/TLSλ λ°μ΄ν°λ₯Ό μνΈν/볡νΈννλ κ³Όμ μμ CPU 리μμ€λ₯Ό μ¬μ©ν©λλ€.
- μμ κ·λͺ¨μ μΉμ¬μ΄νΈμμλ μ°¨μ΄κ° μμ§λ§, λκ·λͺ¨ νΈλν½μ΄ λ°μνλ μΉμ¬μ΄νΈμμλ μ±λ₯ μ νκ° λ°μν μ μμ΅λλ€.
- μ΄λ₯Ό ν΄κ²°νκΈ° μν΄ SSL μ€νλ‘λ(SSL Offloading) κΈ°μ μ μ¬μ©νμ¬ μ±λ₯μ μ΅μ νν μ μμ΅λλ€.
π° 3) μ λ£ SSL μΈμ¦μ λΉμ© λ° κ΄λ¦¬ νμ
- SSL μΈμ¦μλ 무λ£(λ¬΄λ£ CA: Let's Encrypt)μ μ λ£(Comodo, DigiCert λ±) λ²μ μ΄ μμ΅λλ€.
- λ¬΄λ£ SSLμ κΈ°λ₯μ΄ μ νμ μ΄λ©°, κΈ°μ μ© μΉμ¬μ΄νΈλ κΈμ΅κΈ°κ΄μμλ EV(Extended Validation) μΈμ¦μ κ°μ κ³ κΈ SSLμ΄ νμν μ μμ΅λλ€.
- μ λ£ SSLμ κ²½μ° λΉμ©μ΄ λ°μνλ©°, λλ©μΈ κ²μ¦(DV), μ‘°μ§ κ²μ¦(OV), νμ₯ κ²μ¦(EV) λ±μ 볡μ‘ν μΈμ¦ μ μ°¨κ° νμν μ μμ΅λλ€.
6. μ€μ μ¬λ‘: SSL μΈμ¦μ κ΄λ ¨ μλΉμ€ μ₯μ π₯
1️⃣ Let’s Encrypt λ£¨νΈ μΈμ¦μ λ§λ£ (2021)
- π μν₯λ°μ κΈ°μ /μ§μ: Let’s Encrypt κΈ°λ° SSL μΈμ¦μλ₯Ό μ¬μ©νλ μΉμ¬μ΄νΈ λ€μ
- π λ°μ μκ°: 2021λ 9μ 30μΌ
- ⏳ μ§μ μκ°: 24μκ° μ΄μ μΌλΆ μλΉμ€μμ μν₯
- ⚠️ κΈ°μ μ μμΈ: λ£¨νΈ μΈμ¦μ(ISRG Root X1) μ²΄μΈ κ°±μ μ§μ°
- π μμ½:
2021λ 9μ 30μΌ, Let’s Encryptμ λ£¨νΈ μΈμ¦μ(DST Root CA X3) κ° λ§λ£λλ©΄μ,
μ΄λ₯Ό μ λ’°νλ μΌλΆ μ€λλ μ΄μ체μ (μ: ꡬν Android λ²μ )μ μννΈμ¨μ΄μμ SSL/TLS μΈμ¦ μ€λ₯κ° λ°μνμ΅λλ€. μΌλΆ μ¬μ©μλ μΉμ¬μ΄νΈμ μ μν μ μμμΌλ©°, IoT κΈ°κΈ°μμλ μ₯μ κ° λ³΄κ³ λμμ΅λλ€. μ΄ λ¬Έμ λ Let’s Encryptμμ μλ‘μ΄ λ£¨νΈ μΈμ¦μ(ISRG Root X1)λ‘ μ νν¨μΌλ‘μ¨ ν΄κ²°λμμ΅λλ€.
κ·Έλ¬λ, κΈ°μ λ€μ΄ μ΅μ λ£¨νΈ μΈμ¦μλ₯Ό μ¬μ μ ν μ€νΈνμ§ μμΌλ©΄, μκΈ°μΉ λͺ»ν μ°κ²° λ¬Έμ λ₯Ό κ²ͺμ μ μμμ 보μ¬μ£Όλ μ¬λ‘μμ΅λλ€.
2️⃣ Spotify, Stripe, AWS λ± λ€μ μλΉμ€ μ₯μ (2020)
- π μν₯λ°μ κΈ°μ /μ§μ: Spotify, Stripe, AWS, Cloudflare λ±
- π λ°μ μκ°: 2020λ 5μ 30μΌ
- ⏳ μ§μ μκ°: μ μκ° λμ μ₯μ λ°μ
- ⚠️ κΈ°μ μ μμΈ: μ£Όμ λ£¨νΈ CAμΈ AddTrust External CA Root λ§λ£
- π μμ½:
2020λ 5μ 30μΌ, μ μΈκ³μ μΌλ‘ μ¬μ©λλ AddTrust External CA Root κ° λ§λ£λλ©΄μ,
μ΄λ₯Ό μ¬μ©νλ AWS, Stripe, Cloudflare λ± λ§μ μλΉμ€μμ μΈμ¦μ μ€λ₯κ° λ°μνμ΅λλ€.
νΉν, μ€λλ μ΄μ체μ λ° μμ€ν μμλ λ£¨νΈ μΈμ¦μλ₯Ό μλμΌλ‘ κ°±μ νμ§ λͺ»ν΄ μ₯μ κ° λ°μνμ΅λλ€.
μ΄ μ¬κ³ λ λ£¨νΈ μΈμ¦μ λ§λ£κ° λ¨μν μΉμ¬μ΄νΈ λ¬Έμ λ₯Ό λμ΄, κΈλ‘λ² μλΉμ€μ μΉλͺ μ μΈ μν₯μ λ―ΈμΉ μ μμμ 보μ¬μ€ μ¬λ‘μ λλ€.
7. μΈμ¦μ λ°κΈμ μ 체 μλλ¦¬μ€ π ️
π― μλ리μ€
πΈ κ΄λ¦¬μκ°
abc.test.com
λλ©μΈμ GoDaddyμμ ꡬ맀
πΈ HTTPS μΉμ¬μ΄νΈ μ΄μμ μν΄ κ³΅μΈ μΈμ¦μ λ°κΈμ μμ²
✅ [STEP 1] λλ©μΈ κ΅¬μ – GoDaddy
-
κ΄λ¦¬μλ GoDaddyμμ
abc.test.com
μ λ±λ‘ν©λλ€. -
μ΄λ GoDaddyλ λ¨μν λλ©μΈ λ±λ‘λ§ λ΄λΉνκ³ ,
-
SSL μΈμ¦μλ GoDaddy μ체 CA λλ μ ν΄λ CA(μ: Sectigo, DigiCert λ±)κ° λ°κΈν©λλ€.
✅ [STEP 2] μΉ μλ²μμ CSR (Certificate Signing Request) μμ±
κ΄λ¦¬μλ μΉμλ²(μ: NGINX, Apache, IIS λ±)μμ μλλ₯Ό μμ±ν©λλ€:
-
1️⃣ κ°μΈν€(Private Key) ← μλ²μλ§ λ³΄κ΄ (μ λ μΈλΆ κ³΅κ° κΈμ§)
-
2️⃣ CSR (μΈμ¦μ μλͺ μμ²) ← μ΄κ±Έ CAμκ² μ μΆν¨
π CSR μμλ:
-
λλ©μΈ μ΄λ¦ (CN=abc.test.com)
-
μ‘°μ§ μ 보 (νμ¬λͺ , κ΅κ° λ±)
-
μλ²μ 곡κ°ν€ (Public Key)
-
μλͺ μκ³ λ¦¬μ¦
✅ [STEP 3] CA (μ: GoDaddy λλ DigiCert)λ‘ CSR μ μΆ
-
CSR νμΌμ CAμκ² λ³΄λ λλ€ (μΉ ν¬νΈ ν΅ν΄ μ λ‘λ).
-
CAλ μ΄ μ 보λ₯Ό κ²ν νκ³ λλ©μΈ μμ κΆμ κ²μ¦ν©λλ€.
λλ©μΈ μμ κΆ κ²μ¦ λ°©μ:
-
μ΄λ©μΌ μΈμ¦ (whoisμ λ±λ‘λ μ΄λ©μΌλ‘ νμΈ)
-
DNS λ μ½λ μΆκ° (νΉμ TXT λ μ½λ)
-
μΉμλ²μ νμΌ μ λ‘λ (
/.well-known/
κ²½λ‘)
✅ [STEP 4] CAκ° μλͺ (λΉλ°ν€λ‘ μλͺ )
λ°λ‘ μ¬κΈ°μ λ£¨νΈ CAκ° μλλΌ μ€κ° CAκ° CSRμ λΉλ°ν€λ‘ μλͺ ν©λλ€.
π λ΄λΆ κ³Όμ :
-
CA μλ²λ CSRμ μ΄κ³ , μ λ³΄κ° μ ν¨νμ§ νμΈ
-
μλͺ μκ³ λ¦¬μ¦(SHA256withRSA λ±)μ ν΅ν΄
-
CSRμ ν΄μ κ°μ μ€κ° CAμ λΉλ°ν€λ‘ μνΈν → λμ§νΈ μλͺ μμ±
-
-
μ΄ μλͺ μ λΆμΈ
X.509 μΈμ¦μ
λ₯Ό μμ±
μ΄ μΈμ¦μμλ:
-
κ΄λ¦¬μμ λλ©μΈ μ΄λ¦ (CN=abc.test.com)
-
μλ²μ 곡κ°ν€
-
λ°κΈμΌ, λ§λ£μΌ
-
μλͺ κ°
-
μ€κ° CAμ μ 보 (λ°κΈμ νλ)
✅ [STEP 5] μΈμ¦μμ 체μΈμ μλ²μ μ€μΉ
CAλ λ€μ νμΌλ€μ κ΄λ¦¬μμκ² μ 곡ν©λλ€:
-
abc.test.com.crt
← κ΄λ¦¬μμ λλ©μΈμ© μλ² μΈμ¦μ -
intermediate.crt
← μ€κ° CA μΈμ¦μ -
(λ£¨νΈ CAλ μΌλ°μ μΌλ‘ μ 곡 μ ν¨, λΈλΌμ°μ μ λ΄μ₯λ¨)
κ΄λ¦¬μλ μ΄ μΈμ¦μλ₯Ό μΉ μλ²μ μ€μΉν©λλ€.
✅ [STEP 6] μ¬μ©μκ° μΉμ¬μ΄νΈ μ μ → λΈλΌμ°μ μμ μΈμ¦μ κ²μ¦
-
λΈλΌμ°μ λ
abc.test.com
μ HTTPS μμ² -
ClientHello (TLS λ²μ , Cipher, Client Random)
-
ServerHello + μΈμ¦μ μ²΄μΈ + Server Random
ν΄λΌμ΄μΈνΈ: Pre-Master Secret μμ± → μλ² κ³΅κ°ν€λ‘ μνΈν
μλ²: Private Keyλ‘ λ³΅νΈν → Pre-Master Secret νλ
-
μμͺ½: Pre-Master + λλ€κ°μΌλ‘ λμΉν€ μμ±
Finished λ©μμ§ μνΈν → μλ‘ κ²μ¦
-
π μλ¬Όμ νμ λΈ → μμ ν HTTPS μ°κ²° μλ£!
π― μΈμ¦μμ λν μ견
π SSL/TLS μΈμ¦μλ μΈν°λ· 보μμ ν΅μ¬μ΄μ§λ§, λ¨μν μ μ©νλ κ²λ§μΌλ‘ μΆ©λΆνμ§ μμ΅λλ€. μΈμ¦μ μ²΄μΈ κ΄λ¦¬μ μ΅μ TLS νλ‘ν μ½ μ¬μ©μ΄ ν¨κ» μ΄λ£¨μ΄μ ΈμΌ νλ©°, λκ·λͺ¨ νΈλν½ νκ²½μμλ SSL μ€νλ‘λ κΈ°μ μ΄λ CDNμ νμ©νμ¬ μ±λ₯ μ νλ₯Ό μ΅μνν΄μΌ ν©λλ€. SSLμ μ μ©νλ€κ³ ν΄μ 보μμ΄ μλ²½ν΄μ§λ κ²μ μλλ©°, HSTS μ€μ , WAF μ μ©, μ΅μ μ·¨μ½μ ν¨μΉμ κ°μ μΆκ°μ μΈ μ‘°μΉκ° νμμ μ λλ€. κ²°κ΅, SSL μΈμ¦μλ λ¨μν 보μ λκ΅¬κ° μλλΌ μ§μμ μΌλ‘ κ΄λ¦¬νκ³ μ΅μ νν΄μΌ νλ IT μΈνλΌμ μμμμ μΈμν΄μΌ ν©λλ€.