본문 바로가기
IT ▶/Security

SSL 인증서란? – SSL 인증서 개념 및 역할 (SSL Certificate)

by 오프로 2020. 2. 19.

 

 

 

1>   SSL 인증서란?

 

 

 

 

- SSL : Secure Sockets Layer 인증서로 웹사이트 신원을 확인하는 디지털 인증서

 

- SSL 기술을 통해 서버 전송 정보를 암호화

 

- 암호화는 데이터를 판독하지 못하도록 변환하는 과정으로 암호 해독키로만 판독 가능

 

- 브라우저 또는 사용자 컴퓨터와 서버 또는 웹사이트 간에 암호화된 연결을 수립하는 데 사용

 

- SSL 연결을 통해 인증되지 않은 연결로부터 보호

 

 

SSL HandShake 프로세스 통하여 웹 서버와 브라우저 간 안전한 연결을 수립합니다.

 

3가지 키를 사용하여 대칭 세션 키를 만들고, 세션 키는 전송 중 데이터 암호화에 사용합니다.

 

 

 

 

2> SSL 인증서 역할

 

 

-   클라이언트가 접속한 서버가 신뢰할 수 있는 서버 보장

 

-   SSL 통신에 사용할 공개키가 클라이언트에게 제공

 

 

 

 

3> CA

 

 

공식적으로 인정된 인증기관(민간기업)으로 인증서를 보증하는 역할

 

 

-- 대표적인 기업 : Symantec(42%), Comodo(26%), GoDaddy(14%), GlobalSign(7%)

 

 

SSL 암호화 통신을 제공하려면 위의 기업과 같은 CA를 통해서 인증서를 구입해야 합니다.

 

 

사설 인증기관으로 별도로 사설 CA인증방식을 통해 SSL 암호화 기능을 이용하면 종종 볼수있는 URL 주소에 경고 표시가 뜹니다.

 

https://test~~~~~.com

 

 

 

 

4> SSL 인증 동작방식

 

 

a. 서버는 비대칭 공개키 사본을 브라우저로 전송

 

 

b. 브라우저는 대칭 세션키를 만들어 서버의 비대칭 공개키로 암호화 한 다음 서버로 전송

 

 

c. 서버는 대칭 세션키를 얻기 위해 비대칭 비공개 키로 암호화된 세션 키를 복호화

 

 

d. 서버와 브라우저에서 대칭 세션키를 통해 전송된 데이터를 암복호화 합니다.

 

(세션 키는 해당 세션에만 사용되어 보안)

 

 

 

 

5> 대칭키

 

 

- 동일한 키로 암호화, 복호화 할 수 있는 암호화 방식

 

- 단점 : 대칭키가 노출되면 암, 복호화 의미가 없어진다.

 

 

 

 

6> 공개키

 

 

- A키로 암호화 ->  B키로 복호화

 

- B키로 암호화 -> A키로 복호화

 

 

위와 같이 하나의 키를 비공개키 (개인키)로 하고, 다른 하나를 공개키(public key) 로 한다.

 

 

비공개키는 자신만 갖고 있고, 공개키를 타인에게 전달한다.

 

 

공개키를 받은 사람은 전달하고자 하는 정보를 공개키로 암호화하여 전달한다.

 

 

받은 사람은 갖고 있던 비공개키로 해당 정보를 복호화한다.

 

 

-> 공개키가 노출되더라도, 비공개키로 복호화 할 수 있어서 안전하다.

 

 

 

 

7> SSL 인증서 정보 : 인증서 보유자 이름, 일련번호 및 만료일, 공개 키 사본, 발행 기관(CA) 디지털 서명

 

 

- 서비스 정보 (인증서 발행 기관(CA) 디지털 서명, 서비스 도메인 등)

 

- 서버 공개키 (공개키 내용, 공개키 암호화 방식)

 

 

1번은 클라이언트가 접속한 서버가 의도한 서버가 맞는지 확인하는 내용이 있고,

 

2번은 서버와 통신할 때 사용할 공개키와 공개키 암호화 방식 정보가 있습니다.

 

위의 내용은 CA 의해 공개키 방식으로 암호화됩니다.

 

 

 

 

8> 인증서가 서버 신뢰성 보장하는 원리

 

 

a. 웹 브라우저 서버 접속

 

b. 서버는 브라우저한테 인증서 제공

 

c. 브라우저에서는 보유하고 있는 CA 리스트에서 해당 인증서 확인

 

d. 해당 CA 공개키로 인증서 복호화

 

 

 

 

9> SSL 동작 방법

 

 

 

SSL은 암호화 데이터 전송을 위해 공개키와 대칭키를 혼합하여 사용합니다.

 

 

클라이언트와 서버가 주고 받는 정보는 대칭키 방식으로 암호화 하고,

 

 

대칭키 방식으로 암호화된 해당 정보를 복호화할 때

 

 

사용할 대칭키는 공개키 방식으로 암호화해서 클라이언트와 서버가 주고 받는다.

 

 

- 실제 데이터 : 대칭키

 

- 대칭키의 키 : 공개키

 

- 악수(handshake) ->전송 -> 세션종료

 

 

 

 

10> 악수 (handshake)

 

 

브라우저와 서버 간 통신을 위해 먼저 핸드쉐이크를 통해 SSL 인증서를 주고 받는다.

 

 

a.   클라이언트가 서버 접속

 

# 클라이언트 측 생성한 랜덤 데이터

 

# 클라이언트에서는 자신이 사용 가능한 암호화 방식 전송

 

# SESSION ID : 이미 SSL 핸드쉐이크를 하였다면, 시간, 자원을 절약하기 위해 기존 Session 을 사용하기 위해 식별자를 서버로 전송

 

 

 

b.   서버는 클라이언트에게 응답

 

# 서버 측 생성한 랜덤 데이터

 

# 클라이언트에서 보내준 암호화 방식 사용 가능한지 서버에서도 사용 가능한 암호화 방식을 전달

 

# 인증서

 

 

클라이언트는 서버한테 받은 인증서를 CA 리스트에서 보유하고 있는지 확인 (CA 공개키를 이용하여 인증서 복호화)

 

 

 

 

참고 - SSL & TLS

 

 

SSL : 네스케이프 개발

 

TLS : SSL이 표준화 기구 통하여 이름 변경 (TLS1.0 SSL3.0 계승)

 

 

 

 

12> SSL 디지털 인증서

 

 

 

클라이언트와 서버 간 통신을 제 3자가 보증하는 방식으로 전자화 문서이다.

 

클라이언트가 서버에 접속 이후 서버는 클라이언트한테 해당 인증서 정보 전달

 

클라이언트는 해당 인증서 정보가 신뢰할 수 있는지 검증한 다음 절차 처리

 

 

 

 

13> SSL SSL 디지털 인증서 장점

 

 

a. 통신 상 정보가 공격자에게 노출 방지

 

b. 클라이언트가 접속하려는 서버가 신뢰할 수 있는 서버인지 판단

 

c.  통신 내용의 악의적인 변경 방지

 

 

 

마지막으로 인증서를 발급받으면 Web서버에 설치하여야 합니다.

 

 

 

 

이상으로 정리하시는데 도움이 되셨으면 좋아요(하트)!!

 

 

수정할 부분이나 의견 있으시면 댓글 부탁드립니다!!

 

 

아래는 웹브라우저 쿠키 관련해서 참고하시기 바랍니다!

 

 

[IT/Security] - 웹브라우저 쿠키란? - 쿠키 개념, 세션 개념 (Cookie & Session)

 

웹브라우저 쿠키란? - 쿠키 개념, 세션 개념 (Cookie & Session)

안녕하세요! 인터넷을 사용하다 보면 쿠키 관련된 정보를 묻거나 설정하는 등 쿠키 정보에 대해 많이 사용이 됩니다. 자주 접하게 되는 쿠키(Cookie)와 세션(Session)이 무엇인지 한번 정리해보았습니다. - 쿠키(C..

lovefor-you.tistory.com

 

 

<참고>

위키백과

생활코딩

 

 

 

728x90
300x250