본문 바로가기
NETWORK

원격접속, 웹사이트 / 응용 계층 프로토콜

by 정리1023 2023. 10. 8.

원격접속

Telnet

-네트워크에 있는 컴퓨터를 자신의 컴퓨터처럼 사용가능
-패스워드가 암호화되지 않아 보안에 취약

 


SSH(secure shell)

-공개키와 개인키를 사용하여 보안이 강화된 암호화 프로토콜 
(텔넷은 정보를 byte스트림형식  /ssh는 DES, RSA 등 고급 암호화를 통해 통신)
-스니핑같은 해킹기법에 대응하기 위해 사용됨
(스니핑 : 네트워크상의 다른 상대방들의 패킷 교환을 엿듣는 해킹 행위)

1.클라이언트가 서버에 접속할 때 공개키를 요구
2.서버는 요구한 공개키를 찾아 응답하고 개인키를 클라이언트에게 요구
3. 클라이언트는 SSH AGENT에 개인기 탐색을 요청하고 찾으면 서버에 응답
4.서버가 클라이언트의 접속을 승인

해커그룹에 공개키를 알아내도 개인키가 없어서 접근불가능


웹사이트

ICMP(Internet Control Message Protocol)

-3계층 네트워크 계층에서 사용 / 네트워크 장치 간의 제어 메시지를 전송하는 프로토콜
-3계층의 IP protocol은 패킷을 전달에서 문제가 있을 때 에러처리 방법이 명시 되지 않는 단점을 보완
-Query 메시지 = 상태를 조사하기 위한 메세지 / Error 메시지 = 에러를 통지하는 메세지
-네트워크 상황을 모니터링하고, 네트워크 장애의 원인을 파악하는 데 유용

 

도달 불가능 메시지 (Destination Unreachable)
패킷이 목적지에 도달할 수 없는 경우,  송신자에게 상황을 알림/ 목적지에 도착하지 못한 이유를 에러코드로 보냄

시간 초과 메시지 (Time Exceeded)
패킷이 네트워크 상에서 지연되거나 무한 루프에 빠진 경우 (TTL이 0 인경우), 송신자에게 패킷이 파기되었음을  알림

리다이렉트 메시지 (Redirect)
현재 라우터가 최적의 경로로 패킷을 보내지 않을 경우, 최적화 경로를 재설정하라고 메시지를 보냄


HTTP(Hyper Text Transfer Protocol)

-Web서버와 Web 클라이언트 사이에서 하이퍼 텍스트 문서를 교환하기 위한 프로토콜 / 80번 포트번호 할당
-평문으로 데이터를 전송하므로 보안이 취약


HTTPS(Hyper Text Transfer Protocol SSL)

-HTTP과 SSL / TLS 같은 보안 프로토콜을 조합하여 이루어진 프로토콜 / 443번 포트번호 할당
-SSL이나 TLS같은 보안용 프로토콜을 사용하여 데이터를 암호화


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

-전송 계층과 응용 계층 사이에 위치하는 프로토콜로써 인터넷에서 통신을 할 때 주고받는 데이터를 보호하기 위해 사용
-HTTP뿐만 아니라 FTP, XMPP, NNTP같은 다른 응용계층 프로토콜에도 사용가능
-통신이 시작될 때 SSL, TLS Handshake 과정수행 / 상호 인증 및 암호화 통신을 설정 / 인증서 교환 및 암호화 방식 협상

 

SSL, TLS 목적

암호화 Encryption / 도청되더라도 내용을 알 수 없도록 함
인증, Authentication / 정보교환의 당사자가 요청된 당사자임을 보장 
무결성 Integrity/ 내용이 조작되었는지 검출

 

1. Client Hello
클라이언트가 지원하는 암호화 방식, 프로토콜 버전 

2. Server Hello
서버가 선택한 암호화 방식, 프로토콜 버전, 인증서, 서버의 공개키

3. Authentication and Pre-Master Secret
서버가 전달한 인증서가 CA가 발급한 인증서 목록에 있는지 확인
CA에서 공유하는 공개키로 인증서 복호화 ⇒ 신뢰가능
임시 대칭키를 생성하고 서버에게 받은 공개키로 암호화하여 서버에 전달

4. Decryption and Master Secret
서버는 개인키로 임시 대칭키 복호화 = 클라이언트와 서버는 같은 키를 가지게 됨

5. Encryption with Session Key
서버와 클라이언트는 임시 대칭키를 세션키로 바꾸고 세션키를 이용해 통신시작
세션키를 활용하여 데이터 암호화 및 복호화 가능

 

인증서란 서버가 공식으로 인증된 기관인 CA(Certificate Authority)에서 발급받은 문서

서버가 신뢰할 수 있는지 보장하는 역할

제품으로 따지면 품질보증서 같은 존재
인증서를 발급하는 인증기관(Certificate Authority, CA)
Symantec (DigiCert)
Comodo CA (Sectigo)
GlobalSign
GoDaddy
Let's Encrypt
Entrust
Thawte