보안 프로토콜의 개요
- 인터넷은 전 세계적으로 연결된 거대한 통신망으로, 데이터 전달 과정에서 여러 호스트와 매체를 통과한다 .이 과정에서 다양한 보안 문제에 직면할 수 있다.
- 특히 중간에 위치한 라우터들의 보안 등급이 낮게 설정된 경우에는 위험에 노출될 가능성이 더 높다.
- 이러한 위협 요소에는 전송 데이터를 중간에서 감청하거나 임의로 변경하는 경우, 원격 호스트의 데이터에 위협을 가하는 등 직접적으로 특정 시스템의 내부에 침입하는 경우, 과도한 트래픽을 발생시켜 특정 호스트의 통신을 방해하는 경우 등이 있다.
감청
- 감청은 허가받지 않은 자가 직간접적인 방법으로 전송 중인 데이터를 얻는 것이다. 또한 불법으로 획득한 정보를 변경한 후 이를 통신 과정에서 다시 입력함으로써, 송수신 호스트의 통신 내용을 왜곡하는 것도 넓은 의미에서 감청에 포함된다.
- 전통적으로 감청의 가장 일반적인 형태는 유선의 통신 선로에서 이루어지는데, 인터넷의 경우 이더넷 선로에 감청 장비를 연결해 패킷을 훔쳐낸다.
ex)감청하려는 호스트의 MAC 주소와 같은 값을 설정한 장비를 연결하여 전달되는 패킷을 전부 감청할 수 있다.
휴대폰의 무선 데이터는 무선 신호가 넓은 범위로 전파되기 때문에 물리적인 감청이 훨씬 용이하다. 따라서 유선 환경의 보안과 더불어, 무선 신호의 송수신 호스트는 암호화 과정을 통해 보안을 유지하는 작업이 필요하다.
암호화
전송 선로에서 감청 위협으로부터 데이터를 안전하게 보호하는 방법에는 물리 계층에서 데이터를 송신하기 전에 암호화하는 데이터 링크 계층 암호화가 있다.
- 응용 계층부터 네트워크 계층까지 정보는 암호화되지 않으며, 전송 직전인 데이터 링크 계층에서 암호화하는 방식이 데이터 링크 계층 암호화이다.
- 수신 호스트는 암호화된 데이터를 수신하므로 데이터 링크 계층에서 해독하여 상위 계층에 전달애햐 한다. 이 방식은 호스트 사이에 있는 전송 선로에서 발생할 수 있는 감청 위협으로부터 데이터를 보호 한다.
- 데이터링크 계층 암호화의 단점은 네트워크 계층에서 데이터가 암호화되지 않기 때문에 송수신자 사이의 라우터에서 보안이 되지 않는다는 것이다.
- 즉, 라우터를 포함한 전송 호스트 내부에서는 보안을 지원하지 않고, 호스트나 라우터 사이의 전송 과정에서만 보안이 유지된다. 호스트 내부의 보안을 지원하려면 응용 계층 암호화 방식을 사용해야 한다.
- 이 방식은 송수신 과정의 끝단에 위치한 응용 계층에서 암호화하는 방식이다.
암호문 작성이 송신 호스트의 응용 계층에서 이루어지므로 라우팅을 포함하여 모든 전송 과정에서 보안을 유지할 수 있다.
트래픽 제어
- 특정 호스트가 누구와 통신을 많이 하는지에 대한 정보도 네트워크 보안에 포함된다.
- 외부 침입자의 통신량 분석을 방해하는 간단한 방법은 무의미한 가공 데이터를 여러 호스트에서 주기적으로 발생시킴으로써 통계 자료에 혼선을 주는 것이다.
- 이러한 가상 데이터의 통신량, 송신자, 수신자 등은 랜덤하게 생성된다.
방화벽
- 인터넷이 널리 보급되면서 허가받지 않은 사용자의 불법적인 사설망 접근을 방지하는 문제가 중요한 이슈로 인식되거 있다. 따라서 개방적인 공중 인터넷망과 제한된 사용자 그룹에 허가된 사설망 사이에 보안 기능이 필요하며, 이를 방화벽이라 한다.
- 사설망을 외부로부터 보호하는 간단한 방법은 외부 망을 끊어버리는 것이다. 그러나 사설망의 내부 사용자가 공중 인터넷망에 접속하면서 보안을 유지하려면 아래와 같은 방화벽 기능이 필요하다.
사설망을 공중 인터넷망으로부터 보호하는 기술은 크게 두가지이다.
- 패킷 필터링 방법이다. 이 방식은 방화벽이 패킷의 헤더를 검색하거나, 필요에 따라서는 내용까지 검색하여 적절하지 못한 패킷을 배제한다. 이러한 기능은 보통 라우터에서 구현된다. 방화벽의 또 다른 기능은 해커와 같이 의심스러운 행위를 하는 사용자를 감시하는 것이다.
- 방화벽 구현
라우터: 네트워크 계층과 전송 계층의 헤더에 기초하여 방화벽 기능을 수행
프록시: 가상의 응용 프로그램을 시뮬레이션하는 방화벽
라우터를 이용한 방화벽 구현
- 인터넷에 연결된 호스트들은 외부 통신망과 연결하기 위해 반드시 라우터의 중개 과정을 거친다. 따라서 라우터를 이용해 방화벽을 구현하는 것은 간단하면서도 효과적이다.
- 라우터는 자신과 연결된 네트워크로부터 입력된 패킷의 정보를 분석하여 어느 네트워크로 중개할 것인지를 결정하므로, 패킷을 계속 전송할지에 대한 권한도 가진다.
- 라우터의 차단 기능은 다양하게 사용할 수 있는데, 외부의 특정 호스트가 스팸 메일을 자주 보낼 때는 이 호스트를 발신자로 하는 패킷을 차단한다. 반대로 내부 사용자가 불법 도박 사이트나 유해한 게임사이트에 접근하는 것도 차단한다.
- 호스트의 IP 주소뿐 아니라, 포트 번호를 이용한 응용 프로그램의 접근도 차단할 수 있다. FTP, 텔넷, 전자메일 프로그램은 특정한 Well-Known 포트 번호를 사용하므로 이 포트 번호를 송수신 주소로 사용하는 패킷을 차단할 수 있다. 따라서 내부에서 외부로, 혹은 외부에서 내부로 특정 응용 서비스에 접근하는 것을 제어할 수 있다.
프록시를 이용한 방화벽 구현
라우터의 방화벽 기능은 네트워크 계층과 전송 계층의 헤더 정보에 기초하여 이루어진다. 그러므로 메일 내용처럼 패킷 내부에 위치한 응용 데이터는 제어할 수 없다.
프록시(Proxy)는 응용 환경에서 적절하게 처리할 수 있는 정보만 수신하도록 가상의 응용 프로그램을 시뮬레이션 하는 방화벽이다. 프록시는 내부 네트워크의 호스트에는 외부 네트워크의 응용 연결처럼 보이고, 외부 네트워크에는 내부 네트워크의 응용 연결처럼 보인다.
- 메일 송신자와 수신자 사이에 메일 프록시를 설치한다. 메일 수신자는 메일 프록시 내부에 있는 가상 송신자를 메일 송신자로 인식하고, 메일 송신자는 메일 프록시 내부에 있는 가상 수신자를 메일 수신자로 인식하여 SMTP 메시지를 전송한다.
- 중간에 있는 프록시는 메일 시스템이라는 응용 서비스 기능을 구현하기 때문에 메일 송신자가 전송한 SMTP 메시지를 해석할 수 있다. 따라서 잘못된 메시지는 프록시가 차단하므로 메일 수신자가 올바르게 처리할 수 있는 메시지만 전달된다.
- 웹 기능이 구현된 웹 프록시의 경우를 가정하면 내부 네트워크 사용자가 어떤 웹 서버를 어느정도 방문하는지에 대한 통계 등을 관리할 수 있다. 따라서 자주 방문하는 사이트 정보는 프록시에 저장하여 사용자에게 정보를 더 빠르게 제공할 수 있다.
Reference
쉽게 배우는 데이터 통신과 컴퓨터 네트워크
https://step-by-step-developer.tistory.com/10
암호화와 네트워크 보안
암호화의 이해 네트워크는 개방형 시스템으로 외부 노출 가능성이 있다. 암호화 관련 용어 - 메시지 읽기: 전송 선로를 도청, 암호화 기법으로 해결함 - 전송 방해: 송수신자 간의 통신을 방해,
step-by-step-developer.tistory.com
'CS > Network' 카테고리의 다른 글
[Chapter 17] 암호화와 네트워크 보안 (암호화 시스템) (0) | 2025.02.19 |
---|---|
[Chapter 17] 암호화와 네트워크 보안 (암호화의 이해) (0) | 2025.02.19 |
[Chapter 16] 파일 전송 (TFTP 동작 과정과 예) (0) | 2025.02.19 |
[Chapter 16] 파일 전송 (FTP 원리) (0) | 2025.02.19 |
[Chapter 16] 파일 전송 (파일 전송을 위한 사용자 환경) (0) | 2025.02.19 |