(Teletype / Telecommunication / Terminal Network)
: 원격 접속 프로토콜
사용자가 원격 시스템에 로그인하여 명령을 실행할 수 있도록 하는 네트워크 프로토콜
사용자 계정과 비밀번호로 원격 로그인
트래픽 암호화 X 패킷 스니핑*에 취약
Packet Sniffing
: 네트워크 통신을 몰래 도청하는 행위로, WireShark 같은 패킷 분석 프로그램을 이용하면 쉽게 원격 접속 과정에서 옮겨지는 비밀번호나 파일 내용 등의 데이터를 탈취할 수 있음
Network Bandwitdh(대역폭)
: 네트워크에서 특정 시간 내에 전송될 수 있는 데이터의 최대 용량
: 네트워크를 통한 원격 호스트 연결 과정을 보호하기 위해 고안됨
: 서버와 클라이언트가 공유하는 대칭키로 정보 암호화
→ 대칭키의 교환을 위해 임시 비대칭키 이용
: 함께 생성된 공개키와 개인키 (Key Pair)만 서로 해석 가능
→ 연결 상대 인증
: 데이터 패킷과 이 패킷으로 생성된 해시값을 함께 전송하여, 사전 협상한 알고리즘으로 해시값의 진위 여부 확인
→ 패킷의 무결성 확인 → 스푸핑(위변조) 방지
: 브라우저와 서버 사이에 보안 통신을 하기 위한 프로토콜
→ 넷스케이프사의 SSL 3.0 → IETF의 TLS 1.0 (Transport Layer Security)
: 클라이언트와 서버간의 통신을 제3자가 보증해주는 전자화된 문서
: 접속한 서버가 클라이언트가 의도한 서버가 맞는지 보장하는 인증기관
→ CA는 자신의 비공개키를 이용해서 서버의 인증서를 암호화하여 발급
(공인 CA를 통해 인증서를 구입해야 브라우저에 경고가 출력되지 않음)
1~2. 암호화 방식 협상
➕ 서버는 클라이언트에게 인증서 제공
➕ 랜덤데이터
3. 브라우저는 서버 인증서를 발급한 CA가 내장된 CA 리스트에 있는지 확인 후, 해당 CA의 공개키로 인증서를 복호화
➕ 클라이언트가 서버의 랜덤 데이터와 자신의 랜덤 데이터를 조합해서 pre-master secret 생성
CA의 공개키로 인증서를 복호화할 수 있음
= 인증서가 CA의 비공개키로 암호화된 것임
= 인증서가 CA에 의해서 발급된 것임
인증서에 들어있는 공개키로 pre-master secret을 암호화해서 서버로 전송
서버는 자신의 비공개키로 pre-master secret 복호화
서버와 클라이언트는 pre-master key로 master secret 생성
→ master secret으로 session key 생성