개발스토리

SSL/TLS 본문

Computer Science/보안

SSL/TLS

무루뭉 2020. 11. 19. 01:19

HTTP  and  HTTPS

- HTTP, HTTPS를 많이 접할텐데 S의 차이가 바로 SSL/TLS의 지원 유무 차이이다.

 

SSL / TLS

● SSL과 TLS는 사실 같은 것이다.

● 웹 기반 전자 상거래를 위해 TCP Layer에서 메시지의 무결성과 비밀성을 제공한다.

● 웹-서버와 웹-브라우저간의 보안이다.

● Handshake(암호 spec, session 관리), record(암호, 무결성 등 보안 서비스) 프로토콜로 나뉜다.

● 인증 수행 -> 세션 키 분배 -> 암호화 메시지 송수신 순서이다.

● 지원하는 보안 서비스 : server/client 인증, confidentiality, integrity

● 부인 방지 기능은 제공이 안된다 -> 전자서명과 같이 사용해야 한다.

● 단순히 웹-서버와 웹-브라우저간의 모든 데이터를 암호화하면 안전할까?

- 아니다. 관찰된 통신내용을 동일하게 재생하면 같은 결과를 얻을 수 있다. ( replay attack )

 

SSL 표준

 

- 기밀성은 암호화 알고리즘으로 제공

- 무결성은 해쉬 함수로 제공

- 서버/클라 인증은 공개 키 알고리즘 사용 (RSA)

-> 다 묶어서 만든 것이 SSL

 

TLS/SSL Protocol 구성

Handshake protocol

- client, server 간 인증, 암호 알고리즘 합의, 키 교환 등 수행

- 사전 합의 단계

- session id, certification, cipher spec(압축, mac 알고리즘), compression method(암호화 이전 압축 알고리즘), master secret key등을 합의함

● Record protocol

- 데이터를 인증, 암호화 처리하고 메시지 송수신

change cipher spec

- 암호 spec을 변경 담당

alter protocol

- 에러 처리

 

<handshake 단계>

 

1단계 : security capability establish

 

 

 

 

 

2단계 : server authentication & key exchange

 

3단계 : client authentication & key exchange

 

4단계 : change cipher specs

 

Record protocol

1. 메시지를 최대 16KB 단위로 fragment

2. 압축(opt)

3. MAC 추가

4. 암호화

5. SSL record header 추가

 

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

Access Control Policy_DAC  (0) 2020.11.24
Access Control(접근 제어)  (0) 2020.11.23
IPsec  (0) 2020.11.18
Kerberos  (0) 2020.11.09
Dos  (0) 2020.11.09
Comments