상세 컨텐츠

본문 제목

secure sockets layer = TLS 20220920

보안

by MustThanks 2022. 9. 20. 01:56

본문

반응형

SSL

 

정의

 secure sockets layer 암호규약( =Transport Layer Security TLS)

 TLS는 클라이언트 / 서버 응용 프로그램이 네트워크로 통신을 하는 과정에서 도청 간섭 위조를 방지하기 위해서 설계 되었고 암호화를 이용해 최종단의 인증 통신 기밀성을 유지

 

 TLS 1.0은 SSL 3.0을 계송

 

 SSL 인증서 정의

 - SSL 인증서란 클라이언트와 서버간의 통신을 제 3자가 보증을 해주는 문서

 - 클라이언트가 서버에 접속하면 서버는 클라이언트에게 인증서를 전달하면 클라이언트는 이 인증서를 보고 신뢰할수 있는지 확인 후 데이터를 보내는 등의 다음 절차를 수행

 

SSL 장점

  - 전달되느 내용이 다른 사람에게 노출되는 것을 막를 수 있다

  - 클라이언트가 접속하려는 서버가 신뢰할 수 있는 서버인지 알 수 있다.

 - 전달되는 내용이 악의적으로 변경되는 것을 막을 수 있다

 

SSL 통신 과정

1. client hello

 - 클라이언트가 생성한 랜덤 데이터, 사용가능한 암호화 방식 후보들을 서버에 전달

 

2. Server hello

 - 서버가 생성한 랜덤 데이터, 서버가 선택한 클라이언트 암호화 방식, 인증서

    인증서와 함께 공개키 , 서버에서 생성한 랜덤한 데이터, 가장 안전한 암호화 수단 방식

 - 암호화 수단 방식은 클라이언트가 지원 가능한 암호화 방식 목록 중 선택

 

3. 인증서 확인 pre master secret 암호화

 - 인증서가 CA에 의해서 발급된 것인지 화인(전자서명 활둉), 클라이언트와 서버가 생성한 랜덤 데이너를 조합해서 pre master secret 키 생성(대칭키로 활용 예정)

  • 클라이언트는 내장되어있는 CA 리스트에서 각 CA의 공개키를 이용하여 서버가 보낸 인증서를 복호화한다.
  • 만약 CA리스트에 없는 인증서라면 사용자에게 경고의 메시지를 띄운다.
  • 만약 복호화를 성공했을 시( 개인키로 암호화 -> 공개키로 복호화 )서버가 전송한 랜덤한 데이터 를 조합하여 Pre Master Secret 키를 생성한다.
  • 그리고 클라이언트가 전송한 랜덤한 데이터 와 해당 인증서는 CA의 개인키로 암호화 한 문서임이 보증되었기 때문에 서버를 신뢰할 수 있게 된다.

4. pre master secret

- 인증서 안에 들어있는 공개키를 이용하여 pre master secret 값을 암호화하여 서버로 전송

  • Step 2에서 받은 공개키를 이용하여이 때 Pre Master Secret 키는 절대 노출되어선 안된다. ( 공개키는 인증서에 포함되어 있다. )
  • Pre Master Secret 키를 암호화하여 서버로 전송을 한다.
  • 서버는 Pre Master Secret 값을 자신의 비밀키로 복호화하고 이로써 클라이언트와 서버는 Pre Master Secret 키를 공유하게 된다.

5. pre master secret 복호화

 - 서버는 자신의 비공개 키로 복호화

 

6. master secret 및  session key(대칭키) 생성

- 서버와 클라이언트 모두 동일한 값을 생성

  • 서버와 클라이언트는 일련의 과정을 거쳐그리고 Master Secret를 이용하여 Session Key를 만든다.
  • Pre Matser Secret 값을 Master Secret 값으로 만든다.

7. session key를 활용한 대칭키 암호화 방식 통신

  • 클라이언트와 서버간의 세션이 형성되고즉 대칭키 방식으로 데이터를 주고 받는다.
  • Session Key를 이용하여 암호화하여 데이터를 주고 받는다.  대칭키 방식으로 데이터를 주고 받는다.

8. 세션 종료 session key 폐기

 

통신을 위해서 핸드쉐이크 - 세션 - 세션 종료의 과정을 검침

암호화된 http 메시지를 교환하기 전에 클라이언트와 서버는 ssl 핸드훼이크를 진행한다

SSL 핸드웨이킹에서 핵심은 공개키와 대칭키 2가지 방법을 함께 사용한다는 것

 

  • 대칭키는 공개키에 비해 빠르지만 키 배송 문제가 존재한다.
  • 그렇기 때문에 SSL 핸드쉐이킹 과정에서는세션이 형성 된 후에는 대칭키 방식으로 효율을 높혔다.
  • Key를 공유하기 위해 공개키 방식을 사용하였고 세션이 형성 된 후에는 대칭키 방식으로 효율을 높혔다.

 

문서.rtf
3.66MB

출처 : SSL(Secure Sockets Layer) 개념 및 동작 원리 알아보기 (goodgid.github.io)

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

free float 계산 (PMP) 20220927  (0) 2022.09.27
IPSec VPN NAT PAT 20220926  (0) 2022.09.26
IPSec VPN 사용 목적과 아키턱처 20220920  (0) 2022.09.19
VPN 20220916  (0) 2022.09.16
방화벽에서의 syn 관리 20220915  (0) 2022.09.15

관련글 더보기

댓글 영역