[SSL]
SSL(Secure Soket Layer)
- port : 443
- https:// 사용
- 공개키/개인키 대칭키 기반
- SSL(Secure Soket Layer)과 TLS(Transport Layer Security Protocol)는 같은 말이다
- NetScape 사에서 개발한 인터넷과 같은 개방 환경에서 Client와 Server 사이의 안전한 통신을 위해 개발
개인키/공개키 (Private Key/Public Key)
- 하나의 키로 암호화하고 나머지 다른 하나로 복호화 할 수 있도록 되어있다.
- 즉, 하나의 키를 개인적으로 보관하고(Private Key), 나머지 키를 다른사람들에게 공개적으로 보낸다(Public key).
- 이러면 다른 사람들이 나에게 보낼때, 공개키로 암호화를 하면 나는 개인 키로 복호화 하여 볼 수 있다.
SSL 인증 과정
- [클라이언트] SSL로 암호화된 페이지를 요청한다. (https://)
- [서버] Public key(공개키)를 인증서와 함께 전송한다.
- [클라이언트] 인증서가 CA로 부터 서명된 것인지 확인
*CA(Certificate Authority) : 인증기관
- [클라이언트] Public key를 사용해서 랜덤 대칭 암호화키를 비롯한 URL, http 데이터들을 암호화해서 전송
- [서버] Private Key(개인키)를 이용해서 랜덤 대칭 암호화키와 URL, http 데이터를 복호화
- [서버] 요청받은 URL에 대한 응답을 클라이언트로 부터 받은 랜덤 대칭 암호화키를 이용하여 암호화해서 클라이언트로 전송
- [클라이언트] 대칭 키를 이용해서 http 데이터와 html 문서를 복호화하고, 화면에 정보를 뿌려줌
SSL 인증서의 역할
- 클라이언트가 접속한 서버가 신뢰할 수 있는 서버임을 보장
- SSL 통신에 사용할 공개키를 클라이언트에게 제공
SSL 인증서(Certificate)의 내용
- 인증서 소유자의 e-mail 주소
- 소유자의 이름
- 인증서의 용도
- 인증서의 유효기간
- 발행 장소
- Distinguished Name(DN)
- Common Name(CN)
- 인증서 정보에 대해 서명한 사람의 디지털 ID
- Public Key
- Hash(해쉬)
SSL의 특징 및 기능
- SSL 서버 인증 : CA에서 발급받은 것인지를 인증
- 암호화된 통신 : 해쉬 알고리즘 적용
- SSL 클라이언트 인증 : 클라이언트의 인증서를 검증
- 443번 포트 사용
- Transport Layer ~ Application Layer에서 동작 _ http, ftp, telnet, mail
- 비밀성, 무결성, 인증의 3가지 보안 서비스를 제공
SSL 보안 서비스
- 인증 : 거래하고자 하는 사이트가 신뢰되고 검증된 사이트인지 개인정보를 송신하기 전에 먼저 상대 사이트를 인증하는 기능
- 무결성 : 웹 브라우저에서 웹 서버까지의 송신 중 공격자나 제3자에 의해 무단으로 데이터가 위,변조되는 것을 방지하는 기능
- 기밀성 : DES, 3DES, IDEA등 여러가지 암호화 방식을 사용하여 데이터에 대한 불법적인 접근을 통제하는 기능
SSL Handshaking Protocol 세부 과정
- Client Hello : 클라이언트의 브라우저에서 지원하는 암호 알고리즘, 키교환 알고리즘, MAC 암호화, HASH 알고리즘을 서버에게 전송
- Server Hello : Client Hello 메시지 내용 중 서버가 지원할 수 있는 알고리즘들을 클라이언트에게 전송
- Server Hello Done : 클라이언트에게 서버의 요청이 완료되었음을 공지
- Client 인증서 : 서버에서 클라이언트의 인증 요청 발생 시 클라이언트의 인증서를 전달함
- Premaster Key 전송 : 전달받은 서버의 인증서를 통해 신뢰할 수 있는 서버인지 확인 후 암호통신에 사용할 Session Key를 생성하고 이것을 서버의 공개키로 암호화해 Premaster Key를 만들어 서버로 전송함
- Change Cipher Spec : 앞의 단계에서 협의된 암호 알고리즘들을 이후부터 사용한다는 것을 서버에게 ㅏㅇㄹ림
- Finished : 서버에게 협의의 종료를 전달함
- Change Cipher Spec : 서버 또한 클라이언트의 응답에 동의하고 협의된 알고리즘들의 적용을 공지함
- Finished : 클라이언트에게 협의에 대한 종료를 선언함
CA기관
- GlobalSign 인증기관
- GeoTrust 인증기관
- COMODO 인증기관
- Thawte 인증기관
- VeriSign SSL 인증서
- KFTC(금융결제원)
'기타_ > 알쓸신잡' 카테고리의 다른 글
[알쓸신잡] ICMP를 이용한 공격의 모든 것 (0) | 2020.01.02 |
---|---|
[알쓸신잡] RootKit 의 모든 것 (0) | 2020.01.02 |
[알쓸신잡] GDPR (0) | 2019.12.31 |
[알쓸신잡] ENISA, KISA, KUCIS (0) | 2019.12.31 |
[알쓸신잡] ARP 패킷 구조 정리_ ARP Packet Format (0) | 2019.01.25 |
댓글