λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
IT

SSL, HTTP, HTTPS: μ›Ή λ³΄μ•ˆμ˜ ν•„μˆ˜ ν”„λ‘œν† μ½œ

by πŸ’²πŸŽ΅βœ–οΈβœ”οΈβ˜Ό 2024. 2. 8.
728x90

SSL, HTTP, HTTPS: μ›Ή λ³΄μ•ˆμ˜ ν•„μˆ˜ ν”„λ‘œν† μ½œ

  1. SSL(Secure Sockets Layer)

    1.1 SSL의 κ°œλ…

    SSL은 Secure Sockets Layer의 μ•½μžλ‘œ, μ›Ή μ„œλ²„μ™€ μ›Ή λΈŒλΌμš°μ € κ°„μ˜ μ•ˆμ „ν•œ 데이터 톡신을 μœ„ν•œ ν”„λ‘œν† μ½œμž…λ‹ˆλ‹€. μ£Όμš” κΈ°λŠ₯μœΌλ‘œλŠ” 데이터 μ•”ν˜Έν™”, μƒν˜Έ 인증, 무결성 λ³΄ν˜Έκ°€ μžˆμ–΄ μ‚¬μš©μžμ˜ λ―Όκ°ν•œ 정보λ₯Ό μ•ˆμ „ν•˜κ²Œ μ „μ†‘ν•©λ‹ˆλ‹€.

    1.2 SSL λ™μž‘ 원리

    • ν•Έλ“œμ…°μ΄ν¬: ν΄λΌμ΄μ–ΈνŠΈμ™€ μ„œλ²„ κ°„μ˜ ν•Έλ“œμ…°μ΄ν¬ κ³Όμ •μ—μ„œ μ„œλ‘œμ˜ 신원을 ν™•μΈν•˜κ³  톡신에 μ‚¬μš©ν•  μ•”ν˜Έν™” 방식을 ν˜‘μƒν•©λ‹ˆλ‹€.
    • μ•”ν˜Έν™”: ν˜‘μƒλœ λ°©μ‹μœΌλ‘œ 톡신 λ‚΄μš©μ„ μ•”ν˜Έν™”ν•˜μ—¬ μ „μ†‘ν•©λ‹ˆλ‹€.
    • 해독 및 확인: μƒλŒ€νŽΈμ—μ„œλŠ” 받은 데이터λ₯Ό ν•΄λ…ν•˜κ³ , λ°μ΄ν„°μ˜ 무결성을 ν™•μΈν•©λ‹ˆλ‹€.
  2. HTTP(HyperText Transfer Protocol)

    2.1 HTTP의 κΈ°λ³Έ λ™μž‘

    • κ°œμš”: HTTPλŠ” ν΄λΌμ΄μ–ΈνŠΈμ™€ μ„œλ²„ 간에 데이터λ₯Ό μ£Όκ³ λ°›κΈ° μœ„ν•œ ν”„λ‘œν† μ½œλ‘œ, 주둜 ν‰λ¬ΈμœΌλ‘œ ν†΅μ‹ ν•©λ‹ˆλ‹€.
    • 평문 전솑: HTTPλŠ” 데이터λ₯Ό ν‰λ¬ΈμœΌλ‘œ μ „μ†‘ν•˜κΈ° λ•Œλ¬Έμ— 도청과 데이터 λ³€μ‘°μ˜ μœ„ν—˜μ΄ μžˆμŠ΅λ‹ˆλ‹€.

    2.2 HTTP의 λ³΄μ•ˆ 이슈

    • 도청: 데이터가 ν‰λ¬ΈμœΌλ‘œ μ „μ†‘λ˜μ–΄ 도청이 κ°€λŠ₯ν•©λ‹ˆλ‹€.
    • λ³€μ‘°: 데이터가 μˆ˜μ •λ  μš°λ €κ°€ μžˆμŠ΅λ‹ˆλ‹€.
  3. HTTPS(HyperText Transfer Protocol Secure)

    3.1 HTTPS의 ν•„μš”μ„±

    • λ³΄μ•ˆ κ°•ν™”: HTTP의 λ³΄μ•ˆ 이슈λ₯Ό λ³΄μ™„ν•˜κΈ° μœ„ν•΄ λ“±μž₯ν•œ ν”„λ‘œν† μ½œλ‘œ, SSL λ˜λŠ” TLS ν”„λ‘œν† μ½œμ„ μ‚¬μš©ν•˜μ—¬ 데이터λ₯Ό μ•”ν˜Έν™”ν•˜μ—¬ μ „μ†‘ν•©λ‹ˆλ‹€.
    • 신원 확인: μ„œλ²„μ™€ ν΄λΌμ΄μ–ΈνŠΈ 간에 μ•ˆμ „ν•œ 톡신을 μœ„ν•΄ μƒν˜Έκ°„μ˜ 신원을 ν™•μΈν•©λ‹ˆλ‹€.

    3.2 HTTPS λ™μž‘ 원리

    • SSL ν•Έλ“œμ…°μ΄ν¬: ν΄λΌμ΄μ–ΈνŠΈκ°€ μ„œλ²„μ— 접속할 λ•Œ SSL ν•Έλ“œμ…°μ΄ν¬λ₯Ό 톡해 μ„œλ‘œμ˜ 신원을 ν™•μΈν•˜κ³  톡신에 μ‚¬μš©ν•  λΉ„λ°€ν‚€λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.
    • κ³΅κ°œν‚€ κ΅ν™˜: μ„œλ²„λŠ” ν΄λΌμ΄μ–ΈνŠΈμ—κ²Œ κ³΅κ°œν‚€λ₯Ό μ œκ³΅ν•˜κ³ , ν΄λΌμ΄μ–ΈνŠΈλŠ” 이λ₯Ό μ‚¬μš©ν•˜μ—¬ μ„Έμ…˜ ν‚€λ₯Ό μ•”ν˜Έν™”ν•˜μ—¬ μ „μ†‘ν•©λ‹ˆλ‹€.
    • 데이터 전솑: μ„Έμ…˜ ν‚€λ₯Ό μ‚¬μš©ν•˜μ—¬ μ•”ν˜Έν™”λœ 톡신이 μ΄λ£¨μ–΄μ§‘λ‹ˆλ‹€.

    3.3 HTTPS의 μž₯점

    • λ³΄μ•ˆ κ°•ν™”: λ°μ΄ν„°μ˜ μ•”ν˜Έν™”λ₯Ό 톡해 도청과 λ³€μ‘°λ₯Ό λ°©μ§€ν•©λ‹ˆλ‹€.
    • 신원 확인: SSL/TLS ν•Έλ“œμ…°μ΄ν¬λ₯Ό 톡해 μƒλŒ€λ°©μ˜ 신원을 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.
  4. μ›Ή λ³΄μ•ˆ κ°œλ…κ³Ό μ£Όμ˜ν•΄μ•Ό ν•˜λŠ” 점

    4.1 μ›Ή λ³΄μ•ˆμ˜ κ°œλ…

    • 인증(Authentication): μ‚¬μš©μž 및 μ‹œμŠ€ν…œμ˜ 신원을 ν™•μΈν•˜μ—¬ μ•ˆμ „ν•œ 접근을 보μž₯ν•©λ‹ˆλ‹€.
    • κΈ°λ°€μ„±(Confidentiality): λ―Όκ°ν•œ λ°μ΄ν„°μ˜ μ•”ν˜Έν™”λ₯Ό 톡해 μ™ΈλΆ€μ˜ λˆˆμ— λ…ΈμΆœλ˜μ§€ μ•Šλ„λ‘ λ³΄ν˜Έν•©λ‹ˆλ‹€.
    • 무결성(Integrity): 데이터가 λ³€μ‘°λ˜μ§€ μ•Šλ„λ‘ 보μž₯ν•˜μ—¬ μ •λ³΄μ˜ 신뒰성을 μœ μ§€ν•©λ‹ˆλ‹€.

    4.2 μ›Ή λ³΄μ•ˆ μ£Όμ˜μ‚¬ν•­

    • κ°•λ ₯ν•œ μ•”ν˜Έ μ‚¬μš©: μ•ˆμ „ν•œ 접속을 μœ„ν•΄ κ°•λ ₯ν•œ μ•”ν˜Έλ₯Ό μ‚¬μš©ν•˜κ³  주기적으둜 λ³€κ²½ν•©λ‹ˆλ‹€.
    • 정기적인 λ³΄μ•ˆ μ—…λ°μ΄νŠΈ: μ„œλ²„ 및 μ†Œν”„νŠΈμ›¨μ–΄μ˜ λ³΄μ•ˆ μ—…λ°μ΄νŠΈλ₯Ό μ •κΈ°μ μœΌλ‘œ μˆ˜ν–‰ν•˜μ—¬ μƒˆλ‘œμš΄ λ³΄μ•ˆ 취약점을 λ°©μ§€ν•©λ‹ˆλ‹€.
    • λ³΄μ•ˆ μΈμ¦μ„œμ˜ μœ νš¨μ„± 확인: HTTPSλ₯Ό μ‚¬μš©ν•  경우, μœ νš¨ν•œ SSL μΈμ¦μ„œλ₯Ό μ‚¬μš©ν•˜μ—¬ μ•ˆμ „ν•œ 톡신을 μœ μ§€ν•©λ‹ˆλ‹€.

이처럼 SSL, HTTP, HTTPSλŠ” μ›Ή λ³΄μ•ˆμ„ μœ„ν•œ μ€‘μš”ν•œ ν”„λ‘œν† μ½œμ΄λ©°, μ›Ή μ‚¬μš©μž 및 κ°œλ°œμžλŠ” μ›Ή λ³΄μ•ˆμ˜ κ°œλ…κ³Ό μ£Όμ˜μ‚¬ν•­μ„ μˆ™μ§€ν•˜μ—¬ μ•ˆμ „ν•œ 온라인 ν™˜κ²½μ„ μ‘°μ„±ν•΄ λ‚˜κ°ˆ ν•„μš”κ°€ μžˆμŠ΅λ‹ˆλ‹€.

λŒ“κΈ€