ㅂㄱ
터널링 기술 본문
[터널링 기술]
허접군 : 보안에 대해 공부하다 보니 인증, 기밀성, 무결성이란 말이 자주 나오던데, 한글말임에도 불구하고 해석이 안되요. 무슨 뜻인가요.
미돌양 : 일반적으로 서버에 접속한 사용자 계정을 확인하는 것을 인증이라고 하지 않나요?
슈마 : 인터넷은 공개돼 있고 데이터 경로가 다양해서 상대방이 누구인지를 확인하는 절차를 거쳐야 하는데, 이런 과정에서 필요한 것이 인증(authentication)이야. 즉, 인증은 수신자와 송신자 간의 통신에서 상대방이 내가 통신하려는 사람이 맞는지를 확인하는 것이지. 그럼 기밀성은 무슨 뜻일까?
미돌양 : 일반적으로 기밀이라는 말은 어떤 회사에서 신제품을 개발했을 때, 그 제품에 대한 내용을 비밀로 해서 외부에서는 알지 못하게 할 때 많이 사용하잖아요.
슈마 : 그렇지. 통신 보안에서 기밀성(confidentiality)은 비밀스러운 내용을 통신으로 주고 받을 때 불법 침입자가 혹시 통신 내용을 가로채기 하더라도 해독할 수 없도록 데이터를 암호화하는 것이지. 네트워크 상에서 데이터의 도청을 막기 위해 암호화를 한다고 생각하면 돼.
미돌양 : 무결성이란 말은 좀 어렵네요.
슈마 : 무결성(integrity)은 일반적으로 결함이나 결점이 없다는 말로 사용하는데, 보안에서는 송신된 내용이 변경되지 않았음을 보장하는 것이지. 송신한 데이터에 대한 변조를 막기 위해 주로 해시 함수들이 사용되는데 대표적으로 MD5, SHA-1, RIPEMD-160 등이 있어. 지금까지 이야기한 인증, 기밀성, 무결성의 세 가지 사항은 모두 VPN 장비에서 제공되는 보안 서비스라고 생각하면 돼.
미돌양 : VPN을 구성할 때 터널링을 이용한다고 하던데 어떤 의미인지.
슈마 : 우리가 일상에서 사용하는 터널은 막혀 있는 길 사이에 통로를 만들고 그것을 이용해서 차나 사람들이 지나갈 수 있도록 해 놓은 길을 말하는데, VPN에서 터널은 인증, 기밀성, 무결성을 보장할 수 있는 일종의 보호막이라고 생각하면 돼.
허접군 : 그럼 VPN 사용자는 자신의 환경이 지금 터널링이 된 상태인지 그렇지 않은지 스스로 알 수 있나요?
슈마 : 인터넷 환경에서는 목적 서버 IP 어드레스로 핑(ping)을 치면 경유되는 라우터 등의 네트워크 장비에 대한 정보가 보이는데, 터널링이 됐다면 다음처럼 경유지가 보이지 않게 되겠지.
C:WINDOWS>tracert 203.100.100.21
Tracing route to 203.100.100.21 over a maximum of 30 hops
1 * * * Request timed out.
2 * * * Request timed out.
3 31 ms 57 ms 28 ms 203.100.100.21
Trace complete.
미돌양 : 터널링하는 방법에는 어떤 것들이 있나요?
슈마 : 크게 2계층과 3계층 터널링이 있는데, OSI 2계층에서 동작하는 방식으로는 PPTP, L2TP가 있고, OSI 3계층에서 동작하는 방식으로는 IPSec을 들 수 있어(표 1).
미돌양 : 최근에는 3계층 VPN으로 IPSec을 많이 사용한다고 하던데 어떻게 인증, 암호화를 하는지 알려주세요.
슈마 : 음... 어려운 질문이군. 본사와 지점에 VPN 장비가 설치돼 있다면 터널의 시작과 끝지점을 터널 종단이라고 할 수 있지. 터널 종단으로 들어가기 전의 IP 패킷은 IP 헤더와 페이로드(payload : 전송될 데이터)로 구성돼 있는데, 터널링으로 들어가면 AH(Authentication Header)가 추가돼 캡슐화를 하게 돼. 그 다음에는 ESP(Encapsulating Security Payload) 헤더가 삽입되면서 IP 패킷을 암호화해 전송하게 돼(그림 1).
미돌양 : AH, ESP에 대해 좀 더 자세히 설명해 주세요.
슈마 : AH는 터널링 모드와 트랜스포트 모드로 구분되는데, 트랜스포트 모드는 IP 헤더와 페이로드(전송할 데이터) 사이에 AH 헤더가 삽입돼 IP 헤더의 일부, AH 헤더, IP 페이로드 부분에 대한 인증을 하게 되지. 이 방식은 호스트에서의 구현에 적용할 수 있는데, 터널링 모드는 IP 헤더와 페이로드 앞에 새로운 IP 헤더를 붙여서 IP 헤더의 일부, AH 헤더, 원본 IP 헤더, IP 페이로드에 대한 인증을 수행하게 돼. 이는 주로 호스트나 보안 게이트웨이에 적용이 가능해.
허접군 : 그 말이 그 말 같은데 차이점이 있나요?
슈마 : 트랜스포트 모드는 원본 IP 헤더의 일부분만 인증을 하지만, 터널 모드는 새로운 IP 헤더를 만들면서 원본 IP 헤더와 페이로드까지 인증이 돼. 인증 범위가 넓으니 신뢰성이 더 높아진다고 볼 수 있지.
허접군 : IPSec 터널링에서 AH는 인증을 담당한다고 했는데, 만약 그 과정이 없다면 어떻게 되나요?
슈마 : AH는 네트워크를 통해 데이터를 보낸 자가 누구인지 인증하는 것인데, 예를 들면 허접군이 미돌양에게 메일을 보낼 때 제 3자가 허접군인 것처럼 가장했을 경우에도 미돌양이 허접군이 보낸 메일이 아님을 알 수 있도록 하는 것이 인증의 역할이지. AH는 해시 알고리즘을 이용해 고유의 일련번호를 부여함으로써 재전송 공격(Replay Attack)도 방지할 수 있지.
허접군 : 해시 함수가 뭐예요.
슈마 : 해시 함수(hash function)는 임의의 길이의 데이터를 짧은 길이의 값으로 변환하는 것을 말해. 대용량의 데이터를 대상으로 색인을 할 경우 많은 시간이 걸리지만 해시 함수를 응용하면 두 데이터 간의 해시값만 검색하면 되니, 짧은 시간에 검색이 가능해. 또한 문서나 메시지를 보낸 사람의 신원이 진짜인 것을 증명할 수도 있으니, 전자서명에도 많이 사용하고 있지. 해시 함수로는 MD5, SHA-1 등이 있어.
미돌양 : 어휴∼ 보안의 세계는 참 어렵군요. ESP도 설명해 주세요.
슈마 : ESP(Encapsulation Security Payload)도 터널링 모드와 트랜스포트 모드로 구분할 수 있지. 트랜스포트 모드는 오직 호스트 구현에만 적용이 가능하며, IP 헤더는 암호화로 보호할 수가 없어. 터널링 모드는 호스트나 보안 게이트웨이에서 구현할 때 적용하는 모드로, ESP가 보안 게이트웨이에서 구현될 때는 반드시 터널 모드를 사용하며, 원본 IP 패킷에 추가로 새로운 IP 헤더를 붙여서 터널링을 적용하게 돼. 원본 IP 패킷 전체에 대한 암호화와 ESP 트레일러에 대한 암호화를 하고, ESP 헤더, 원본 IP 패킷, ESP 트레일러에 대한 인증을 하는데 대표적인 암호화 알고리즘에는 DES, 3-DES, IDEA, SEED 등이 있지.
미돌양 : 지금까지 배운 내용을 정리하면, 인터넷을 이용해 본사의 인트라넷에 접속하기 위해서는 터널링이라는 가상의 터널을 만들어 암호화 통신을 하고, 3계층 VPN으로 터널링하기 위해 IPSec을 사용하며, 구성 요소로는 무결성과 인증을 담당하는 AH와 암호화를 담당하는 ESP가 있다는 거죠? 그런데 인터넷을 사용할 경우에도 터널링을 구성하나요?
슈마 : 구성할 수도 있고 안할 수도 있지. 그 역할을 하는 것이 VPN 장비가 제공하는 분산 터널링(Split Tunneling)이야. 예를 들어 본사에서는 인터넷 회선으로 E1(2.048Mbps)을 사용하는데 인터넷을 사용할 때 속도가 평균 100Kbps라고 가정하면, 지점에서 ADSL로 1Mbps의 고속 인터넷을 사용하다가 VPN 소프트웨어를 설치해 본사와 터널링을 구성해 본사 서버와는 안정적으로 통신할 수가 있겠지. 그러나 인터넷을 사용할 때는 본사와 연결된 터널링을 빠져나갈 수가 없으니 본사의 E1 인터넷 회선으로 사용할 수밖에 없을 거야. 그렇게 되면 직원들이 아마 인터넷 접속 속도가 늦다고 불평을 하겠지? 그래서 필요한 것이 분산 터널링이지. 분산 터널링을 적용하지 않으면 모든 트래픽이 VPN 장비까지 연결된 터널링으로 송수신해야 되므로, 사용자들은 인터넷에 접속할때도 본사 VPN을 경유해야 하니 보안은 강화될 지 모르나 속도가 늦어지는 거지. 하지만 분산 터널링을 적용하면 인터넷을 사용할 때는 터널링을 적용하지 않고 바로 ISP로 연결되게 할 수 있기 때문에 인터넷 속도가 빨라지지.
미돌양 : 소규모 회사에서 VPN을 보다 저렴하게 사용하는 방법은 없나요?
슈마 : ISP에서 제공하는 VPN 서비스를 이용하는 것도 하나의 방법이겠지. VPN 장비 뿐 아니라 계정 등도 임대가 가능하니 (표 2)를 참조하면 돼.
미돌양 : 인증 서버라는 것도 있던데 VPN 장비는 인증을 어떻게 하나요?
슈마 : 인증은 VPN 장비의 접속 계정이라고 생각하면 이해가 쉬운데, 소규모 기업에서는 VPN 장비에서 인증에 대한 정보인 ID, 패스워드 등을 통해 관리가 가능하고, 대규모 기업인 경우는 인증 서버를 설치해서 DB 형태로 관리하는 TACACS 방식과 사용자 인증과 사용자 연결 관리를 지원하는 RADIUS 방식이 있지. VPN에 대한 공부는 여기까지 하고, 다음 시간에는 슈마 강좌의 마지막 주제인 케이블에 대해서 알아볼꺼야. @
'컴퓨터 공학 주요 과목 > 네트워크' 카테고리의 다른 글
공중망과 사설망 (0) | 2021.05.11 |
---|---|
DNS(Domain Name System) (0) | 2021.04.29 |
점보 프레임(Jumbo Frame) (0) | 2021.04.29 |
네트워크 가속 (0) | 2021.04.29 |
VPN 등장 배경 (0) | 2021.04.27 |