brunch

You can make anything
by writing

C.S.Lewis

by Younggi Seo Apr 14. 2018

가상 사설망(VPN)의 IPsec 인증

정보보안 네트워크 3 | 4 계층 개념


정보보안 기사 실기 단골 문제로 개념을 확실히 잡기가 무척 애매하다. 왜냐하면 네트워크 상의 흐름으로 파악하는 두 종류의 통신 모드 개념과 IPsec 의 기능별로 나뉘는 두 개의 프로토콜 개념이 각각 서로 아교가 되어서 결국 수험자의 머릿속을 새까맣게 만들기 때문이다. 그런데 혼동하지 않고 머리 속에 완전히 구분해서 심상을 형성시킬 수 있는 원리를 캐냈다.




1. 일단 IPsec이 공식적으로 널리 이용되기 전에 네트워크 상에서 인터넷의 무엇의 어떤 취약점을 통해 해커의 공격이 이루어졌기에 IPsec(Internet Protocol Security)이라는 네트워크 보안 프로토콜을 개발할 수밖에 없었는지 살펴보자.



    OSI(Open System Interconnection)*에서 3 계층(네트워크)의 기본 프로토콜인 IP(Internet Protocol)*을 만들 때, IP 자체는 보안을 미리 염두하거나 지금처럼 해킹에 대비한 방어체계가 없었다. 왜냐하면 인터넷의 발생은 지금처럼 전 세계 사용자를 위한 범위가 아니라 대학이나 군사용 연구목적을 위한 소규모 집단의 통신을 위해 개발하였기 때문이다. 그래서 IP 규약은 내부적으로 보안에 취약할 수밖에 없는 구조다. 데이터를 송신하는 자는 데이터를 무방비 상태로 수신자에게 보내고 수신자도 누구한테 왔는지에 대한 확인 과정이 없이 받는 식이였기 때문에 메시지 전송 중 도청이 가능하고 보낸 사람이 진짜로 보낸 건 지(송신자 부인방지 여부) 그리고 메시지 내용이 유출되어(데이터 기밀성 침범 여부) 중간에 바뀐 건 아닌지(통신 전후 내용 무결성 유지 여부)에 대한 보증(인증 여부)도 안된다. 이러한 보안의 취약성을 보완하기 위해 IPsec(IP Security)라는 표준화된 하나의 체계 혹은 규약(프로토콜)이 IETF라는 국제기구에 의해 널리 퍼졌다.



2. 위의 배경지식으로도 IPsec의 터널 모드와 전송 모드를 살펴보면 누구라도 개념의 유추가 가능하리라고 믿는다.


    1) 터널 모드 (Tunnel Mode: IP 프로토콜을 완벽히 보안하기 위한 송수신 기기 간의 가상 파이프로 메시지를 주고받아서 ‘터널링’을 구축했다라고도 부름.)


      아래 그림에서 보이듯이 터널 모드는 끝단과 끝단이 아니라 가운데 장비 간에 기둥모양의 파이프가 그려져 있다. 즉 송신자 서버에서 보내는 패킷(메시지를 담은 봉투)의 보안(인증)이 처음부터 끝까지 이루어지지는 않는다. 포인트는 어디에서 어디까지 데이터 보안이 이루어진다는 것을 처음부터 정해놓고 IPsec이라는 규약을 만든 게 아니라는 점이다. 보내는 패킷 내부의 보호 대상의 범위 가 무엇이냐에 따라 그림에서의 보안이 이루어지는 파이프라인(보안 채널망)의 구간 길이가 결정된다.



      그림처럼 터널 모드는 IP 프로토콜이 속한 3 계층 하위(장비 간 사이에 그려져 있는 외부 인터넷 구간 : 네트워크 구간)에서의 주고받는 데이터(IP 패킷) 전체만이라도 제대로 보호하기 위해 IP 패킷의 둘레에 IPsec 의 보안 프로토콜 중 하나인 ESP(인캡슐레이션 보안 프로토콜)로 감싸버린다(이것을 영어로 Encripted, 암호화됨). 이 IP 패킷 전체에 해당하는 가루(IP HDR 헤더와 데이터)들을 캡슐에 담아서 알약을 만들듯이 캡슐(Encapsulate)화해버리면 출발지와 도착지 주소를 담고 있는 IP 패킷의 머리 부분(헤더)조차 네트워크상에서 보이지 않기 때문에 외부 인터넷망에서 이 아이(패킷)를 어디로 보내야 할지 알 수 없는 미아로 만들어버릴 수 있다.



      그래서 그림 가운데의 네트워크 구간을 가로막고 있는 장비(보안장비/터널 입구)를 지나칠 때는 터널을 따라서 도착해야 할 반대편 장비 목적지를 향해 가야 하므로 새로운 IP 헤더(터널을 오고 가는데 식별하기 위한 장비 간의 주소 정보)를 추가해야 한다. 어쨌든 터널에 진입하면서 동시에 IPsec 이 원본 IP 패킷을 감쌌으므로 기존의 IP 헤더 정보(원 출발지와 원 도착지)는 터널 내부에서는 알 수 없다. 즉 최초 출발지와 최종 목적지에 대한 트래픽(오고 가는 전송 정보)의 기밀성(Confidentiality)은 보장해준다. 단, 새로운 IP 헤더(New IP header)의 구간 정보는 맨 바깥에 둘러싸져 있어서 식별이 가능하므로 전송 도중에 유출될 우려가 있다(제한적 트래픽 흐름의 기밀성이라고 부름).



      그림 가운데 장비 간의 주소지는 공격자가 패킷만 가로채면(도청) 유출될 가능성이 있다. 하지만 중간의 파이프라인(터널 내부)은 IPsec, IP 보안 프로토콜이 활성화된 구간으로 장비 간에 물리적 회선으로 연결되어서 인터넷 공개망으로 이어지는 것이 아닌 논리적(가상의) 연결망(VPN: 가상 프라이빗 네트워크)으로 이어진 보안 채널망이므로 해커가 쉽게 까 볼 수 있는 공간이 아니다. 이 경우 해킹이 가능한 구간은 파이프 라인을 벗어나는 지점인 장비 입구(VPN 장비 게이트웨이)에서 네트워크 B(지점)나 혹은 반대편 장비 입구에서 네트워크 A(본사)로 가는 물리적 회선망 중간에서이다.


      즉 VPN 장비와 사내 네트워크망의 토폴로지를 꿰차고 있는 내부자의 해킹으로 지점에서 본사로 보낸 개인정보나 혹은 본사에서 지점으로 내려온 직원 정보가 무방비(IPsec 보안 채널망에서 벗어나는)인 IP 패킷을 가로채서 데이터 내용의 복원(복호화)을 시도할 수 있다. 그러나 IPsec의 기능별로 나뉘는 프로토콜 중 ESP(인캡슐레이션 보안 프로토콜)의 암호화 수준이 높으면 높을수록(대칭키 암호화 중 3 DES) 복호화하더라도 메시지 원본의 복원은 어려워진다. 만약 낮은 수준의 암호화(대칭키 중 DES)라서 복호화에 성공하여 건당 얼마의 값을 챙길 수 있는 개인신용정보로 확인되면 해커의 소기 목적을 달성할 수 있다.


     그리고 운이 없게도 언론에 기밀정보유출 사건이 알려지면 회사 보안담당자와 최고책임자는 페이스북 최고경영자처럼 청문회에서 백전노장의 의원들 앞에서 궁색 맞게 털리고 벌금형을 맞을 수 있다. 가령 한국의 자유 한국당 의원들과 특히 정의당의 심상정 같은 국회의원이 농담처럼 질문하면서 갑자기 노려보며 대응책이 미비한 거에 대해 해명해라고 질문받는 자가 반드시 국정농단을 일삼은 최순실이 아니라 한 기업의 보안책임자가 될 수도 있다.

  


2) 전송 모드 (Transportation Mode: OSI 네트워크 개념적 모델의 4 계층을 전송층이라고 부르므로 터널 모드에서 3 계층만을 지나는 패킷을 보호하는 게 아니라 4 계층의 데이터(페이로드)도 보호 가능한 것이 이 전송 모드의 특징이다.)


     전송 모드는 아래 그림과 같이 터널 범위가 끝단에서 끝단까지 그려져 있다. 왜냐하면 전송 계층이라는 4 계층은 단대단(End-to-end)의 데이터 전송을 보장하기 때문이다. 즉 비연결적인 속성을 지닌 프로토콜 IP 패킷의 데이터(3 계층 캡슐의 단위인 ‘데이터그램’)의 인증을 보장해주는 터널 모드와는 달리 전송 모드는 본사나 클라이언트(출장나온 직원의 개인 PC)에서 보내는 데이터(4 계층 캡슐의 단위인 '세그먼트')를 보호해준다. 그 까닭은 전송 모드는 터널 모드와 달리 가상 터널망을 구축하기 위한 VPN 장비가 있는 게 아니라, 사용자 PC에서 패킷이 인터넷 공유기(라우터)를 통해 바로 외부 인터넷망으로 보내지기 때문에 사용자 PC에서 보내는 메시지가 공유기를 통해 나가기 전(PC의 운영체제에서 네트워크와 관련된 서비스인 API를 수행하기까지)에 메시지의 보안에 대해 강구해야만 하기 때문이다. 이것을 OSI 7 계층에서 패킷의 흐름(7 계층에서 1 계층에서 메시지의 덩어리가 쪼개지고 알약을 만드는 과정이 반복되는 개념적 모델)을 안다는 과정 하에서 설명을 덧붙이겠다.


 

     아직 사용자 PC에서 보내는 데이터가 7 계층에서 4 계층까지만(네트워크의 양 끝단에 있는 공유기에 진입하기 전) 내려온 상태에서 데이터를 보호해야 하는 절차를 거쳐야 한다. 처음 사용자가 기밀의 내용이 담긴 메일을 본사로 보내기 위해 VPN 터널링 프로그램에 접속하면서 IPsec 인증을 거친다. 컴퓨터 내부에서 메시지가 5 계층에서 4 계층으로 내려올 때 기존의 데이터가 쪼개지고 쪼개진 데이터에 IP 패킷의 헤더와 같은 역할(주소 정보 저장)의 헤더를 부착하는데(캡슐화) 이것은 IP 헤더가 아니라 ‘TCP 헤더’라고 부른다.


      3 계층 규약만을 적용하는 IP 프로토콜의 보안을 위해 만든 IPsec 프로토콜은 이 4 계층 규약을 적용해서 TCP 헤더를 감쌀 수(인증 및 암호화) 없다. 쉽게 말해 서로 다른 규정으로 약속한 통신 구간에서는 적용하는 보안 프로토콜도 달라진다. 그래서 4 계층의 데이터인 세그먼트를 통째로 감쌀 수 없으므로 이 패킷이 3 계층으로 내려오면(컴퓨터의 메일 정보가 네트워크 API 서비스를 통해 공유기로 보내지면) 다시 쪼개져서 IP 헤더가 부착되는 과정(캡슐화)이 이루어지는 게 일반적이다.


      그런데 이 사이에 IPsec 이 AH(Authentication 인증) 프로토콜 혹은 ESP 암호화 프로토콜을 이용해 4 계층에서 쪼개진 데이터인 세그먼트(감싸는 과정을 치러서 불러드린 데이터라고 하여 '페이로드’라고도 함)를 먼저 감싼다. 그림에서와 같이 중간에 IPsec HDR 헤더라는 부분이 끼어들고 IP HDR 헤더를 부착한다. 여기서 AH 프로토콜은 ESP 프로토콜과는 달리 데이터 내용을 외계어로 바꾸는 암호화를 지원하지 않기 때문에 도청(스니핑)되면 내용을 복원하는 복호화(Decripted)를 할 필요 없이 그대로 드러난다(평문).


      파이프라인 아래의 IP HDR(Header)이 IP 헤더인데 실제론 IPsec이 데이터를 감싸기(To be encripted) 전에는 4 계층의 TCP 헤더였고 3 계층으로 내려오면서 양 끝단의 주소지를 가지고 있는 IP 헤더가 부착되면서 공유기를 거치는 순간 정확한 주소지를 가지고 목적지까지 찾아갈 수 있다. 그러므로 터널 모드와 달리 전송 모드에서는 주소지가 데이터의 맨 바깥 부분에서 식별이 가능하므로 따로 공유기(라우터)에서 새로운 IP 헤더를 추가할 필요가 없다. 대신에 터널 내부에서 IPsec 프로토콜은 메일 정보를 포함한 4 계층의 데이터만을 감싸고(암호화) 있고 그 바깥에 IP 헤더가 감싸고(인증) 있는 형태이다.



      전송 모드에서도 외부의 인터넷망으로 패킷이 보내지기 전에는 IPsec 의 AH(인증만 가능)이나 ESP(인증과 암호화) 프로토콜로 보안을 수행했기 때문에 데이터의 보내기 전후 내용의 변조 방지(무결성)만 가능할 수도 있거나(데이터 유출 시 내용의 복원은 인증된 레벨에 따라서 쉬울 수도 있다), 내용의 유출 방지(기밀성)까지 이루어질 수 있다. 메시지 인증 코드(MAC)를 이용하여 데이터 무결성 인증이 이루어지지만 낮은 버전의 IPsec을 이용하는 장비는 이 MAC 값 오류로 통신이 단절될 수도 있다.


      사내 IP 주소가 NAT라는 여러 개의 네트워크 주소를 사용할 수 있는 논리적 회선망을 이용하고 있다면 인증 데이터 계산에 NAT를 통해 변환된 출발지 주소가 포함되어 수신 측에서 검증 시 인증에 실패할 수 있기 때문이다(하단의 기출문제 해설). 또한 사용자 인증은 제공해주지 않기 때문에 사전 키(Pre-shared key)라는 양 당사자 간의 동일한 키(공유키)를 가지고 인증을 해야 한다. 이때 통신의 대상이 많을 경우 키 관리의 어려움이 존재하며 악의적인 내부 공격자가 사용자의 PC 로부터 키 파일을 가로채면 기밀정보가 털리는 것은 터널 모드와 마찬가지이다.


   혹시 여기까지 초심자가 한 번에 읽고 대강의 그림이 머리 속에 그려졌다면 나의 글솜씨는 하늘이 내려주신 선물에 틀림없을 거라고 확신한다. 반대로 무슨 캡슐화 얘기하면서 가루가 알약이 됐거니 하다가 수면제를 타 먹은 느낌이 든 독자가 계신다면 당장 집안의 모든 컴퓨터에 연결된 회선을 자르고 해커가 침범할 수 있을만한 모든 전자기기는 내다 버리며 아날로그형 생활로 하루빨리 복귀하시기를 기원한다. 어이됐든 11회 정보보안 기사를 준비하는 수험생이 이 글을 보고 개념이 잡히면서 이해가 되었더라면 다음의 기출문제 한 문제를 풀어보고 마무리하기를 바랍니다.



문제> 어느 보험사에서 기존의 구형 버전의 IPsec 모듈을 가진 VPN 장비를 재사용하기 위해 장비를 배치한 뒤 통신하는데 ESP 프로토콜 모드로 연결하면 이상이 없지만, AH 프로토콜 모드로 연결하면 전송이 되지 않았다. 회사의 IP주소는 NAT를 통해 내부 사설망으로 연결할 수 있도록 구축하였다. 이러한 환경에서 다음 질문에 답하시오.


1) 현재 상황을 고려할 때 발생한 문제의 근본적인 원인은 무엇인가?

2) Pre-shared key를 사용하여 다른 장비와 연결하고자 한다. 이 기술의 장단점을 기술하시오.




* “1) OSI 7 계층 모델이 1984년 ISO (국제 표준 기구)에 의해 발표되기 이전에 정보통신업체 장비들은 서로 간의 호환성이 부족하다는 문제가 있었다. 이에 이기종 시스템 간의 상호 연결 시, 네트워크 구조에 상관없이 원활한 통신이 이루어질 수 있도록 ISO 에 의해 제정된 국제표준 참조모델임.

  2) OSI 참조모델은 표준 프로토콜의 결여로 인해 어려웠던, 서로 다른 네트워크 장치와 소프트웨어의 상호연결에 대한 표준을 제공하고, 네트워크 전반에 대한 개념을 습득할 수 있는 가치를 제공함.”(전주현, 2016)



** IP는 인터넷 프로토콜(Internet Protocol)의 약자로, 인터넷에서 이루어지는 다양한 활동과 요청, 상호작용을 관장하는 일련의 규칙(ITworld, 2016).

매거진의 이전글 기업의 보안 침해 사고 대응

작품 선택

키워드 선택 0 / 3 0

댓글여부

afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari