HTTPS란?
HTTPS는 HTTP에 Secure(보안) 기능이 추가된 프로토콜이다. 일반 HTTP에 비해 데이터를 암호화하고, 데이터 제공자의 신원을 보장하며, 데이터의 무결성을 보장하는 특징이 있다. 이를 통해 사용자와 서버 간의 통신을 안전하게 보호할 수 있다.
HTTPS의 핵심 요소
- 공인된 인증서
HTTPS를 사용하려면 공인된 인증서를 반드시 발급받아야 한다.- 인증서의 역할: 데이터 제공자의 신원을 보장하며, 특정 도메인과 연결된다.
- 인증서를 통해 클라이언트는 서버가 신뢰할 수 있는 대상임을 확인할 수 있다.
- CA(Certificate Authority)
CA는 공인된 인증서를 발급하는 기관이다.- 예: DigiCert, Let's Encrypt, GlobalSign
- CA를 통해 발급된 인증서는 브라우저와 운영체제에서 신뢰할 수 있는 것으로 간주된다.
비대칭 키 암호화
HTTPS는 비대칭 키 암호화 방식을 사용한다.
- 비대칭 키의 구조: 두 개의 키(공개키와 개인키)가 한 쌍으로 이루어진다.
- 공개키(Public Key): 누구에게나 공개 가능하며, 암호화를 수행한다.
- 개인키(Private Key): 비밀리에 보관되며, 공개키로 암호화된 데이터를 복호화한다.
- 작동 방식:
- 클라이언트는 서버의 공개키를 받아 데이터를 암호화한다.
- 서버는 자신의 개인키로 이를 복호화한다.
이를 통해 데이터가 안전하게 전달되며, 중간에 노출되더라도 해독할 수 없다.
RSA 암호화 알고리즘
HTTPS에서 사용되는 대표적인 비대칭 암호화 알고리즘이 RSA이다.
- RSA의 특징: 매우 큰 수(2의 수백만 제곱 수준)를 기반으로 하여, 이를 소인수분해하는 것은 사실상 불가능하다.
- 암호화 강도: 키의 길이가 길어질수록 보안이 강화된다(예: 2048비트, 4096비트).
HTTPS의 장점
- 데이터 보안
- 데이터 암호화를 통해 도청과 스니핑 방지.
- 신뢰성
- 인증서를 통해 서버의 신뢰성을 검증 가능.
- 데이터 무결성
- 데이터가 전송 중 변경되지 않았음을 보장.
- 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 |