상세 컨텐츠

본문 제목

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)

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

관련글 더보기

댓글 영역