728x90

SSL / TLS (Secure Socket Layer, Transport Layer Security)

1. 단말과 단말간의 암호화 통신을 위한 프로토콜

 

SSL Handshake

1. Client Hello - Client가 서버에게 자신이 사용가능한 Random byte(대칭키 생성에 사용), Session ID, SSL , TLS 버전이 포함된 Cipher suite list를 전달한다.

 

2. Server Hello - Server가 Client가 보낸 Cipher suite list 중 하나를 선택해 전달

 

3. Cleint Key Exchange - 키교환 실시 ( 실제 데이터 암호화에 사용할 키를 전달하며, SSL 인증서에서 추출된 공개키로 암호화 )

 

4. Server certificate - 서버의 인증서를 클라이언트에게 전송

 

5. Server hello done - 서버 전달 종료

 

6. Change cipher Spaces, Finished - 이후 보내는 메세지들은 협상된 암호화 알고리즘에 따라 보낼것을 통보

 

7. Finshed, Change cipher Specs - 클라이언트가 보낸 메시지를 확인한 후, handshake를 종료하고 하나의 대칭키로 통신한다고 통보

 

 

Cipher Suite

1. 암호화 세팅이다.

 

2. (암호화 프로토콜) - 키 교환 방식 - 인증서 검증 - WITH - 암호화 알고리즘(Cipher) - 메시지 인증방식

 

3. (공개키) 키교환 방식

 

4. 인증 방식

1. cleint는 받은 서버의 인증서가 신뢰할 수 있는지 검토 후 공개키를 추출한다.

 

2. 먼저 서명자는 문서의 데이터 일부를 해시 함수를 이용해 해시값을 생성하고 , 이를 개인키로암호화한뒤 문서에 첨부함

 

3. client는 이 인증서를 공개키로 복호화 한 뒤, 개인키로 암호화된 해시 값 역시 공개키로 복호화

 

4. 인증서 내부 데이터를 같은 해시 함수를 이용해 해시 값을 얻어냄

   이 2가지를 비교하여 인증서 검증

 

MAC

 

1. 무결성 확인용 인증방식

 

2. 메시지 데이터 일부를 MAC 알고리즘으로 변환하여 메시지에 첨부한 후 수신자가 똑같은 방식으로 변환 일치 여부 검사

https://aws-hyoh.tistory.com/11

728x90

'네트워크' 카테고리의 다른 글

표준 입력,출력,에러 / 파일 디스크립터  (0) 2022.02.25
[쉘 스크립트] 특수 문자  (0) 2022.02.23
프록시  (0) 2022.02.22
HTTPS 통신에대한 생각정리  (0) 2022.02.21

+ Recent posts