개발스토리
SSL/TLS 본문
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 |