VPN의 구성방법과 암호화 이해하기

일반입력 :2002/09/15 00:00

임보혁

허접군 : VPN을 사용하면 인터넷을 저렴하게 사용할 수 있다고 이야기들을 많이 하던데 도대체 VPN이 뭐예요.

슈마 : VPN은 ‘Virtual Private Network’로 우리말로 번역하면 ‘가상 사설 네트워크’ 정도가 되겠지. 이는 인터넷 등의 공중 네트워크를 사설 네트워크처럼 사용할 수 있다는 말로, 인증과 데이터 암호화를 이용해 보안을 강화한 기술이지.

미돌양 : 사설 네트워크라면 회사나 어떤 단체 등이 특정하게 구축한 네트워크이고, 공중 네트워크라면 모든 사람들이 이용할 수 있도록 한 것을 말하나요?

슈마 : 그렇지. 사설 네트워크는 해당 집단의 목적에 의해 만든 자체 네트워크로, 은행에서 구축한 본점과 지점간 전용회선 같은 것을 예로 들 수 있겠지. 이 전용회선은 고객의 예금에 대한 정보 교환을 위해 물리적으로 폐쇄된 회선을 이용하며, 자체적으로 네트워크 장비를 설치해 구성하게 되지. 문제는 그 때문에 투자비도 많이 들고, 운영관리도 별도로 해 줘야 한다는 점이야. 이와 달리 공중 네트워크는 전화 네트워크처럼 모든 이에게 빌려주고 공개돼 있는 것으로, ADSL, ISDN, 다이얼 업 모뎀 등은 공중 네트워크를 이용한 대표적인 사례지. 이용료가 저렴하지만 회선의 신뢰도, 보안 등은 사설 네트워크보다 상대적으로 미흡한 것이 단점이야.

미돌양 : 아하, 그럼 VPN은 공중 네트워크인 ADSL, ISDN, 다이얼 업 등의 방법으로 인터넷에 접속하고, VPN을 이용해 회사내의 사설 네트워크처럼 폐쇄적인 구성을 해 회사 내의 중요한 정보를 주고 받는다는 말이군요.

허접군 : 질문 있습니다. 듣자하니 은행들이 자사 홈페이지를 통해 접속 ID를 입력한 후 은행 본점과 지점 간에 고객 예금 정보를 교환한다고 하던데 이는 VPN과는 다른 건가요?

슈마 : 인터넷으로 은행 사이트에 접속하는 방식은 일반적으로 SSL(Secure Sockets Layer) 인증을 사용하지. 즉, SSL 인증 업체와 계약을 하는데, 이 방식은 데이터 전송시 상대방에 대한 인증을 확인하고 계좌번호, 입금액 등의 중요한 정보는 암호화해 보내게 돼. 때문에 데이터를 전송하는 중간에 해커가 데이터를 가로채더라도 암호화가 돼 있으니 볼 수가 없지. 인증과 암호화로 인터넷 상에서 데이터의 신뢰성을 보장한다는 개념으로 볼 때 VPN과 유사하기는 하지만, VPN은 시스템 장비를 이용해 모든 데이터를 암호화하는 것이니 구성이나 방식이 엄연히 다르지.

미돌양 : SSL 인증업체로는 CA, 베리사인(Verisign), 써트(Thawte) 등이 있다고 들었어요. 제가 신용카드 업체의 사이트나 쇼핑물에 접속할 때 보니 브라우저에 자물쇠 그림이 나오던데 이것과 관련이 있나요?

슈마 : 은행 사이트에 접속할때 하단에 나타나는 자물쇠 그림은 ‘지금부터 입력되거나 보여지는 정보는 암호화돼 외부에서 가로채기 해도 내용을 볼 수 없으니 안심하십시오’라는 뜻이지.

허접군 : 그렇구나. 그럼 VPN은 어떤 용도로 사용되나요?

슈마 : 첫째, 익스트라넷(extranet)을 구축해서 대리점, 협력업체 간의 대금 지불, 구매, 발주 정보 등의 정보를 확인할 때 인터넷으로만 구성돼 있다면 VPN을 이용해서 안전하게 정보를 주고받을 수 있지. 둘째, 부서원이 출장, 교육, 재택 근무를 할 때 집에서 개인적으로 ADSL, 케이블 모뎀, 다이얼업 모뎀 등으로 인터넷을 사용하고 있다면 회사내의 게시판 정보나 급여 등의 인트라넷 정보를 안전하게 볼 수 있지. 셋째, VPN을 이용하면 지방이나 해외 지점에서 비싼 국제 전용회선이 아닌 인터넷 회선을 이용해 본사 서버에 있는 게시판 등의 정보를 볼 수 있지.

미돌양 : VPN을 구성하는 방법에는 어떤 것들이 있나요.

슈마 : VPN 구성 방법은 대략 4가지 정도가 있는데 첫째, 파이어월 장비에 VPN 기능을 추가할 수 있어. 이 경우는 파이어월이 VPN 기능까지 함께 하니 투자비가 절감되고, 안전은 보장이 되지만 문제는 파이어월과 VPN을 한 장비가 모두 처리하려니 CPU 등에 부하가 많이 걸린다는 것이지. 처음에는 다른 업체의 VPN 장비와 호환 부분도 많이 미흡했는데 지금은 다소 개선이 된 것 같아. 둘째, 성능이 좋은 라우터에 VPN 기능을 추가하는 것으로, 역시 투자비는 절감이 되지만 라우터 기능과 VPN 기능을 모두 처리해야 하니 부하가 많이 걸리는 것에 주의해야 하지. 셋째, 소프트웨어 방식으로 ISP에서 대형 VPN 장비를 설치한 후, 인증이나 계정관리를 ISP가 직접 하고, 사용자는 VPN 소프트웨어를 설치해 VPN 서비스를 이용하는 형태야. 별도의 장비 투자비용이 들지 않고 사용료가 저렴한 것이 장점이지만, 서비스 이용이나 관리에 제약이 주어진다는 점이 단점이지. 마지막으로 VPN 전용시스템을 구축하는 방법으로, 초기 투자비는 많이 들지만 대기업과 같이 지점, 대리점이 많은 곳에서는 보안과 확장성을 고려할 때 가장 이상적인 방법이지. 이 같이 각 방법마다 장단점이 있으니 회사 환경에 따라 선택을 잘 해야돼.

미돌양 : VPN에 관한 자료를 좀 찾아 봤더니 인증, 암호화에 대한 이야기가 많던데. 추가 설명 좀 해주세요.

슈마 : 인증은 허접군과 미돌양이 전화 통화를 한다고 가정했을 때 상대방 목소리를 확인한 후에 개인적인 이야기를 시작하듯이 상대방을 확인하는 절차라고 생각하면 돼. 암호화란 비밀 이야기를 하기 위해 남이 알지 못하게 서로 정해진 규칙으로 말하고 듣는 것이지.

허접군 : 암호는 누가 만들어서 사용하기 시작했나요?.

슈마 : 아주 옛날로 거슬러 올라가면 로마시대 쥴리어드 시저가 만든 시저 암호(Caesar cipher)가 있는데, 이 방식은 알파벳을 단순하게 대치하는 방식을 택하고 있어. 예를 들면 암호키를 ‘암호 알파벳에 3 더하기’라고 하면 A→D, B→E, C→F, D→G, E→H와 같은 암호 코드북을 보고 암호를 하는 것이지. 그럼 퀴즈를 하나 내 볼까? 앞에서 말한 방식으로 암호화된 문장인 ‘QUF’는 평문으로 무엇을 뜻할까?

미돌양 : 만약 키를 ‘암호 알파벳에 1 빼기’로 사전에 약속했다면 ‘JTE’로 해석될 것이지만, 처음에 우리가 약속한 대로 암호키를 ‘암호 알파벳에 3 더하기’라고 했다면 이를 푸는 방식은 ‘암호 알파벳에 3 빼기’가 돼 ‘NRC’로 해석할 수 있겠죠.

슈마 : 그렇지. 이렇듯 암호에서 가장 중요한 것은 암호에 사용한 키를 아는 것이지.

허접군 : 현재 사용하고 있는 암호화 방식은 어떤 것들이 있나요.

슈마 : 크게 대칭형 암호와 비대칭형 암호로 나눌 수 있어. 대칭형 방식은 다른 말로 비밀키 방식이라고 하는데, 이는 한개의 키로 암호화와 복호화 모두를 하며 공개키보다 속도가 매우 빠르지. 비대칭형은 다른 말로 공개키 암호라고도 하는데 이는 서로 다른 두 개의 키를 이용하지. 한 개는 사용자만 알 수 있는 개인키이고 다른 한 개는 모든 사람이 알 수 있는 공개키로 암호를 하게 되지.

미돌양 : 암호화는 복잡해 잘 이해가 안되는데 예를 들어 주세요.

슈마 : 내가 허접군이 모르게 미돌양에게만 편지를 보내고 싶은 상황이야. 나는 편지를 쓴 후 금고에 넣고 나만 열 수 있는 자물쇠(개인키)를 채워서 금고를 보낼꺼야. 그러면 미돌양이나 허접군은 모두 그 금고를 열 수가 없겠지. 이후에 미돌양은 미돌양 자물쇠를 상자에 채워서 다시 보내게 되지. 그러면 나는 미돌양 열쇠를 확인한 후 내가 채운 자물쇠를 연 다음 미돌양에게 다시 보내면 미돌양은 자신이 채운 자물쇠를 푼 후에 편지를 읽으면 되겠지.

미돌양 : 만약 미돌양 자물쇠를 상자에 채워서 슈마에게 보낼 때 허접군이 모조품인 가짜 자물쇠를 달아서 보낼 수도 있지 않나요? 미돌양 자물쇠라고 슈마가 잘못 인정해버리면 결국 허접군이 편지를 볼 수도 있잖아요.

슈마 : 그 문제는 PKI(Public Key Infrastructure)의 원리를 이용해서 모든 사람에게 키를 공개해 해결할 수 있는데 자세한 내용은 나중에 설명하도록 하지.

미돌양 : 음. VPN 자료를 보면 DES라는 말이 많이 나오던데 강력한 암호화인가 보죠?

슈마 : DES(Data Encryption Standard)는 IBM에서 처음 개발했으나 이후 77년에 NIST(미국상무성 표준국)에서 암호 표준으로 정했지. 평문의 문자를 8개(64비트) 단위로 블록화한 후 비트의 순서를 바꾸는 작업을 16번 반복해 56비트의 키를 이용해 암호화하는 방식이야.

허접군 : 제가 식음을 전폐하고, 해킹의 길로 가기 위해 한번 풀어 볼까요?

슈마 : 할 수 있으면 한번 해봐라. 암호를 풀기 위해서는 56개나 되는 0과 1의 조합을 시도해야 하는데 72,000,000,000,000,000개 이상의 암호키 사용이 가능하니 아마 허접군 3세까지 대를 이어서 풀어야 할 걸.

허접군 : 헉, 풀어본다는 말 취소.

슈마 : 참고로 미국의 암호업체인 RSA에서 1만 달러의 상금을 걸고 암호를 푸는 대회를 개최했는데 97년에는 96일이 소요됐지만, 99년에는 인터넷에 연결된 10만 대의 PC를 이용해 계산했더니 22시간만에 DES 암호를 풀었지. 때문에 이제 더 이상 DES는 강력한 암호가 아니라고 판단돼 지금은 키 길이가 112비트(2개의 암호화 키를 이용해서)인 3DES(Triple-DES)를 사용하고 있어.

허접군 : 앞에서 DES 설명 중에 나온, 블럭화한 후에 비트의 순서를 바꾼다는 말이 이해가 안되는데요.

슈마 : 예를 들어 평문이 ‘슈마는 슈우크림마가린이다’를 암호화한다면 키가 4바이트라면 ‘슈마는슈’ ‘우크림마’ ‘가린이다’라는 3개의 블럭이 나오고, 각 블럭의 문자를 다른 블럭으로 위치를 바꿔 암호화를 하게 되면 ‘슈마우가’ ‘는크림가’ ‘슈마이다’라는 식으로 뒤죽박죽이 될 것이지. 이것이 1라운드이고 DES는 16라운드를 돌리니 암호화를 16번 반복하는 것이지. 오늘은 여기까지. 다음 시간에는 VPN의 또 다른 주요 기술인 터널링을 통한 데이터 전송 방법에 대해 좀 더 공부한 후에 실제로 VPN 장비를 설치하면서 VPN에 대해 보다 자세히 알아볼꺼야. @