본문 바로가기

spring/[Spring Security] 기본

인증/보안

HTTPS란?

HTTPS는 HTTP에 Secure(보안) 기능이 추가된 프로토콜이다. 일반 HTTP에 비해 데이터를 암호화하고, 데이터 제공자의 신원을 보장하며, 데이터의 무결성을 보장하는 특징이 있다. 이를 통해 사용자와 서버 간의 통신을 안전하게 보호할 수 있다.

HTTPS의 핵심 요소

  1. 공인된 인증서
    HTTPS를 사용하려면 공인된 인증서를 반드시 발급받아야 한다.
    • 인증서의 역할: 데이터 제공자의 신원을 보장하며, 특정 도메인과 연결된다.
    • 인증서를 통해 클라이언트는 서버가 신뢰할 수 있는 대상임을 확인할 수 있다.
  2. CA(Certificate Authority)
    CA는 공인된 인증서를 발급하는 기관이다.
    • 예: DigiCert, Let's Encrypt, GlobalSign
    • CA를 통해 발급된 인증서는 브라우저와 운영체제에서 신뢰할 수 있는 것으로 간주된다.

비대칭 키 암호화

HTTPS는 비대칭 키 암호화 방식을 사용한다.

  • 비대칭 키의 구조: 두 개의 키(공개키와 개인키)가 한 쌍으로 이루어진다.
    • 공개키(Public Key): 누구에게나 공개 가능하며, 암호화를 수행한다.
    • 개인키(Private Key): 비밀리에 보관되며, 공개키로 암호화된 데이터를 복호화한다.
  • 작동 방식:
    1. 클라이언트는 서버의 공개키를 받아 데이터를 암호화한다.
    2. 서버는 자신의 개인키로 이를 복호화한다.
      이를 통해 데이터가 안전하게 전달되며, 중간에 노출되더라도 해독할 수 없다.

RSA 암호화 알고리즘

HTTPS에서 사용되는 대표적인 비대칭 암호화 알고리즘이 RSA이다.

  • RSA의 특징: 매우 큰 수(2의 수백만 제곱 수준)를 기반으로 하여, 이를 소인수분해하는 것은 사실상 불가능하다.
  • 암호화 강도: 키의 길이가 길어질수록 보안이 강화된다(예: 2048비트, 4096비트).

HTTPS의 장점

  1. 데이터 보안
    • 데이터 암호화를 통해 도청과 스니핑 방지.
  2. 신뢰성
    • 인증서를 통해 서버의 신뢰성을 검증 가능.
  3. 데이터 무결성
    • 데이터가 전송 중 변경되지 않았음을 보장.
  4. SEO 영향
    • 구글과 같은 검색 엔진은 HTTPS를 사용하는 웹사이트를 더 신뢰하며, SEO 점수가 향상된다.

 

 

'spring > [Spring Security] 기본' 카테고리의 다른 글

사용하는 용어 정리  (0) 2024.08.03
요청처리  (0) 2024.07.05
스프링 시큐리티  (0) 2024.07.04
Cookie  (0) 2024.07.03
Hashing  (0) 2024.07.03