Telnet & SSH & SSL

sua_ahn·2023년 10월 26일
0

네트워크&보안

목록 보기
3/5
post-thumbnail

Telnet

(Teletype / Telecommunication / Terminal Network)
: 원격 접속 프로토콜
사용자가 원격 시스템에 로그인하여 명령을 실행할 수 있도록 하는 네트워크 프로토콜

특징

  • 사용자 계정과 비밀번호로 원격 로그인

  • 트래픽 암호화 X 패킷 스니핑*에 취약

Packet Sniffing
: 네트워크 통신을 몰래 도청하는 행위로, WireShark 같은 패킷 분석 프로그램을 이용하면 쉽게 원격 접속 과정에서 옮겨지는 비밀번호나 파일 내용 등의 데이터를 탈취할 수 있음

  • NVT (Network Virtual Terminal)
    : 송신 호스트로부터 수신 호스트로 데이터를 전송할 때 두 시스템에서의 데이터 양식이 다르기 때문에 데이터를 변환시키는 가상 장치

Network Bandwitdh(대역폭)
: 네트워크에서 특정 시간 내에 전송될 수 있는 데이터의 최대 용량


SSH (Secure Shell)

: 네트워크를 통한 원격 호스트 연결 과정을 보호하기 위해 고안됨

작동 방식

대칭키(세션키)

: 서버와 클라이언트가 공유하는 대칭키로 정보 암호화
→ 대칭키의 교환을 위해 임시 비대칭키 이용

비대칭키(공개키)

: 함께 생성된 공개키와 개인키 (Key Pair)만 서로 해석 가능
→ 연결 상대 인증

해시 알고리즘

: 데이터 패킷과 이 패킷으로 생성된 해시값을 함께 전송하여, 사전 협상한 알고리즘으로 해시값의 진위 여부 확인
→ 패킷의 무결성 확인 → 스푸핑(위변조) 방지

 


SSL (Secure Sockets Layer)

: 브라우저와 서버 사이에 보안 통신을 하기 위한 프로토콜
→ 넷스케이프사의 SSL 3.0 → IETF의 TLS 1.0 (Transport Layer Security)

SSL 인증서

: 클라이언트와 서버간의 통신을 제3자가 보증해주는 전자화된 문서

기능

  • 신뢰할 수 있는 서버임을 보장
  • 공개키를 클라이언트에게 제공

구성

  • 서비스 정보 (인증서를 발급한 CA, 서비스의 도메인 등등)
  • 서버 측 공개키 (공개키의 내용, 공개키의 암호화 방법)

CA(Certificate authority) 혹은 Root Certificate

: 접속한 서버가 클라이언트가 의도한 서버가 맞는지 보장하는 인증기관
→ CA는 자신의 비공개키를 이용해서 서버의 인증서를 암호화하여 발급
(공인 CA를 통해 인증서를 구입해야 브라우저에 경고가 출력되지 않음)

SSL Handshake

1~2. 암호화 방식 협상
➕ 서버는 클라이언트에게 인증서 제공
➕ 랜덤데이터

3. 브라우저는 서버 인증서를 발급한 CA가 내장된 CA 리스트에 있는지 확인 후, 해당 CA의 공개키로 인증서를 복호화
➕ 클라이언트가 서버의 랜덤 데이터와 자신의 랜덤 데이터를 조합해서 pre-master secret 생성

CA의 공개키로 인증서를 복호화할 수 있음
= 인증서가 CA의 비공개키로 암호화된 것임
= 인증서가 CA에 의해서 발급된 것임

  1. 인증서에 들어있는 공개키로 pre-master secret을 암호화해서 서버로 전송

  2. 서버는 자신의 비공개키로 pre-master secret 복호화 

  3. 서버와 클라이언트는 pre-master key로 master secret 생성
    → master secret으로 session key 생성

profile
해보자구

0개의 댓글