Skip to content
난이도 출제 빈출문제은행 6

네트워크·시스템 보안 기술 ​

인터넷은 원래 누구나 패킷을 엿볼 수 있는 공용 통로라서, 그 위에서 안전하게 통신하려면 어느 계층에선가 암호화와 인증을 덧붙여야 한다. 이 문서는 그 방법인 보안 프로토콜을 모았다. 시험은 IPsec의 구성 요소·모드, 프로토콜이 어느 계층에서 동작하는지, SSH의 포트 번호를 묻는다. SIEM·ISMS·Secure OS는 다음 문서에서 다룬다.

계층별 보안 프로토콜 ​

같은 "암호화 통신"이라도 어느 계층에서 하느냐에 따라 보호 범위가 다르다. 아래 계층에서 할수록 그 위의 모든 응용을 한꺼번에 보호하고, 위 계층에서 할수록 특정 응용만 보호한다.

프로토콜동작 위치보호 대상
IPsec네트워크 계층모든 IP 패킷
SSL/TLS전송 계층과 응용 계층 사이그 위 응용(HTTPS 등)
S-HTTP응용 계층HTTP 메시지 하나하나

IPsec(IP Security)은 IP(Internet Protocol, 인터넷 프로토콜) 계층에서 패킷마다 인증·암호화를 덧붙이는 프로토콜 모음이다. 암호화와 복호화(decryption)에는 양쪽이 같은 키를 쓰는 대칭키 암호(symmetric-key cryptography)를 쓴다. 두 구성 요소 가운데 AH(Authentication Header, 인증 헤더)는 무결성(integrity)과 출처 인증만 제공하고 암호화는 하지 않는다. ESP(Encapsulating Security Payload, 캡슐화 보안 페이로드)는 거기에 암호화를 더해 기밀성(confidentiality)까지 제공한다. 운영 방식도 둘이다. 전송 모드(transport mode)는 원래 IP 헤더를 두고 그 뒤의 데이터만 보호해 호스트끼리 직접 통신할 때 쓴다. 터널 모드(tunnel mode)는 원래 패킷 전체를 보호한 뒤 새 IP 헤더를 씌워 보안 게이트웨이 사이 통신, 즉 VPN(Virtual Private Network, 가상 사설망)에 쓴다.

SSL(Secure Sockets Layer, 보안 소켓 계층)은 TCP(Transmission Control Protocol, 전송 제어 프로토콜) 위에서 서버 인증, 암호화, 무결성을 제공하던 프로토콜이고, 이를 표준화해 이어받은 것이 TLS(Transport Layer Security, 전송 계층 보안)다. 현재 최신은 2018년 RFC(Request for Comments, 인터넷 표준 문서) 8446의 TLS 1.3이다. S-HTTP(Secure HTTP, 보안 HTTP)는 HTTP 메시지 자체를 암호화하는 방식이었지만 널리 쓰이지 않았고, 지금 웹은 TLS 위에 HTTP를 올린 HTTPS를 쓴다.

VPN ​

VPN(Virtual Private Network, 가상 사설망)은 인터넷 같은 공중망 위에 암호화된 통로를 만들어 전용 회선을 쓰는 것처럼 통신하게 하는 기술이다. 전용선을 까는 것보다 훨씬 싸게 지사와 본사, 재택 근무자와 사내망을 이을 수 있다. 어떤 프로토콜로 통로를 만드느냐에 따라 나뉜다.

종류방식
SSL VPN사용자 PC에서 웹 브라우저나 클라이언트로 VPN 서버에 접속, SSL/TLS로 암호화
IPsec VPNVPN 장비가 있는 네트워크끼리 연결, IPsec으로 암호화

SSH ​

SSH(Secure Shell, 보안 셸)는 다른 컴퓨터에 원격으로 접속해 명령을 실행하는 프로토콜이다. 평문으로 오가던 Telnet과 달리 모든 통신을 암호화하므로 보안이 약한 네트워크에서도 안전하다. 기본 포트는 TCP 22번이다. 비밀번호 대신 키 쌍으로 로그인하려면, 사용자가 자기 공개키를 접속할 서버의 허용 목록에 올려 두고 개인키는 자기 PC에만 둔다. RFC 4251은 SSH를 전송 계층, 사용자 인증, 연결의 세 부분으로 나눈다.

시험 포인트 ​

  • 네트워크 계층, 패킷 단위 보호, AH·ESP, 전송·터널 모드 → IPsec.
  • AH는 인증·무결성만, ESP는 암호화까지. 터널 모드는 패킷 전체에 새 IP 헤더.
  • 전송 계층 위·응용 계층 아래에서 인증·암호화·무결성 → SSL/TLS. HTTP 메시지 자체를 암호화 → S-HTTP.

관련 문서