본문 바로가기
Infra/보안

SSL 이란?

by hongdor 2022. 4. 24.
728x90

 

SSL : Secure Sockets Layer

브라우저와 웹사이트 사이에 데이터 전송을 암호화 하는 기술이다.

 

컴퓨터와 컴퓨터가 통신을 할때 HTTP 형식을 사용한다.

이것을 SSL 기술로 암호화하여 전송하면 HTTPS 된다.

 

사실 이것을 정리하는 이유는 항상 찾아보고 이해하지만, 기억에 잘 남지 않기 때문이다. 

그래서 그림으로 그려보며 간단히 정리해보려고 한다.

 

 

대칭키와 공개키

대칭키 : 암호화 할 때, 복호화할 때 같은 키(대칭키)를 사용한다.

공개키 : 공개키로 암호화 하면 비공개키로만 복호화할 수 있다.

 

 

CA 인증서 

CA: cerificate authority (인증 기관)

(서버의 정보 + 서버의 공개키) 의 정보가 CA의 비공개키로 암호화 되어있다.

브라우저는 공인된 CA들의 공개키를 가지고 있어서, 해독할 수 있다. (정상적인 CA인증서의 경우)

 

 

과정

1. A브라우저  ------------------------------랜덤데이터1 + A의 암호화방식들--------------------------------> B서버

2. A브라우저  <-------------랜덤데이터2 + 사용할 A의 암호화 방식 + CA인증서(B의 공개키)------------ B서버

3. A브라우저 : CA 인증서가 정상적인지 확인 ( CA 공개키로 복호화 )

4. A브라우저  ------------서버의 공개키(로 랜덤데이터1,2를 조합해 만든 세션 키를 암호화) ------------> B서버

5. A브라우저와 B서버는 세션키를 통해 HTTP를 암호화/복호화 하여 통신한다. 통신 종료 시 세션키는 폐기

 

 

728x90

'Infra > 보안' 카테고리의 다른 글

개인 정보 암호화 (AES - GCM)  (0) 2023.05.31
Oauth 2.0 (feat. Oauth 1.0)  (0) 2023.05.21
cookie vs localstorage  (0) 2023.02.01

댓글