자사는 엄격한 테스트와 조사를 기반으로 공급업체를 리뷰하지만 사용자의 피드백과 공급업체와의 제휴 커미션도 고려합니다. 일부 공급업체는 자사의 모회사가 소유하고 있습니다.
자세한 내용 보기
vpnMentor는 VPN 서비스를 리뷰하고 개인정보 보호와 관련된 이야기를 다루는 독립적인 사이트로 2014년에 설립되었습니다. 오늘날 수백 명의 사이버 보안 연구원, 작가, 에디터로 구성된 저희 팀은 웹사이트 내 순위에 오르고 리뷰될 수 있는 ExpressVPN, CyberGhost 및 Private Internet Access를 소유한 Kape Technologies PLC와 협력하여 독자들의 온라인 자유를 돕고 있습니다. vpnMentor에서 소개되는 리뷰는 게시된 날짜 기준으로 정확한 것으로 간주되며, 사용자를 위한 상업적 가치와 함께 제품의 기술적 능력과 품질을 고려한 리뷰어의 독립적이고 전문적이며 솔직한 리뷰를 우선으로 하는 꼼꼼한 리뷰 기준에 따라 작성되었습니다. 또한 저희가 게시하는 순위와 리뷰는 위에서 언급한 공통 소유권과 웹사이트의 링크를 통해 구매 시 얻는 제휴 수수료를 고려할 수 있습니다. 저희는 모든 VPN 제공업체를 리뷰하지 않으며 정보는 각 글의 게시 날짜 기준으로 정확하다고 간주됩니다.
광고 공시

vpnMentor는 VPN 서비스를 리뷰하고 개인정보 보호와 관련된 이야기를 다루는 독립적인 사이트로 2014년에 설립되었습니다. 오늘날 수백 명의 사이버 보안 연구원, 작가, 에디터로 구성된 저희 팀은 웹사이트 내 순위에 오르고 리뷰될 수 있는 ExpressVPN, CyberGhost 및 Private Internet Access를 소유한 Kape Technologies PLC와 협력하여 독자들의 온라인 자유를 돕고 있습니다. vpnMentor에서 소개되는 리뷰는 게시된 날짜 기준으로 정확한 것으로 간주되며, 사용자를 위한 상업적 가치와 함께 제품의 기술적 능력과 품질을 고려한 리뷰어의 독립적이고 전문적이며 솔직한 리뷰를 우선으로 하는 꼼꼼한 리뷰 기준에 따라 작성되었습니다. 또한 저희가 게시하는 순위와 리뷰는 위에서 언급한 공통 소유권과 웹사이트의 링크를 통해 구매 시 얻는 제휴 수수료를 고려할 수 있습니다. 저희는 모든 VPN 제공업체를 리뷰하지 않으며 정보는 각 글의 게시 날짜 기준으로 정확하다고 간주됩니다.

암호화란 무엇이며 어떻게 작동할까?

하쉬 마우리아 선임 기술 전문가

오늘날 암호화 기술은 가장 간단한 응용프로그램(앱)에도 사용되어진다. 너무나도 쉽게 온라인 해킹이 일어나는 현대에서, 암호화 기술을 비롯한 기타 유형의 암호 방식은 정보를 보호할 수 있는 최고의 도구이다.

대부분의 응용프로그램(앱)과 프로그램은 암호화 기술을 사용한다. 최고의 VPN 서비스들은 256 bit 키의 AES를 사용하며, 이 때문에 VPN은 온라인 활동을 보호하는 최고의 방법으로 간주된다.

왓츠앱(WhatsApp)이나 지메일 등 다른 인기 앱 역시 암호화 기술을 사용 중이다.

대부분의 사람들이 일상에서 특정 유형의 암호 방식을 사용하고 있지만, 대부분이 암호 방식의 작동 원리에 대해서는 전혀 알지 못한다.

오늘 이 포스트에서는 암호 방식의 작동 원리를 이해하기 위해, 한 가지 실례를 살펴보려 한다.

오픈채널과 관련된 문제

메시지를 주고 받으며 소통할 수 있는 일반적인 온라인 채팅방을 떠올려보자. 암호화된 메시지로 보안된 채팅방을 생성할 수 있는 원리는 무엇일까?

첫번째 시행은 간단한 TCP 기반의 통신 채널이다. 여기에는 따로 보안이 없기 때문에, 사용자가 전송하는 모든 메시지는 무방비 상태로 공격에 노출된다.

예로 철수와 영희라는 두 사람이 서로에게 메시지를 보낼 때, 공격자들은 간단하게 그들의 대화를 엿볼 수 있는 것이다. 이를 전문 용어로 중간자 공격(a Man in the Middle attack)이라고 한다. 또, 해커들은 이 두 사람의 메시지를 변경하고 재라우팅할 수도 있다.

이가 가능한 이유는 기본 설정된 통신 채널이 메시지들을 암호화하지 않은 데이터 형식인 평문으로 전달하기 때문이다. 이러한 위험에 노출되기는 공개 와이파이 네트워크를 통해 이루어지는 모든 HTTP 통신도 마찬가지다. 이보다는 나은 시스템이 필요한 것은 명확하다.

대칭 암호

대칭 암호는 암호 키를 사용해 원래의 평문 메시지를 암호문으로 이루어진 암호 메시지로 변경하는 알고리즘을 사용한다. 수취인은 동일한 키를 사용해 암호문을 평문으로 다시 변경한다. 이 과정을 실례로 살펴보자.

영희는 철수에게 메시지를 보내고 싶어 메시지를 대칭 키를 사용해 암호화했다. 철수가 해당 메시지를 받았을 때, 동일한 대칭 키를 사용해 메시지를 해독한다. 공격자들은 철수와 영희가 사용한 대칭 키 없이는 이 둘 사이에 오간 암호화된 메시지에 접근할 수 없다. 둘 사이의 대화가 비밀스럽게 유지된 것이다.

일반적으로 대칭 키는 세션 마다 생성되며 이후 통신에는 유효하지 않다. 이 때문에 대칭 키는 세션 키라고도 불린다.

하지만 이 방식에는 단점이 따른다:

  1. 확장성: 이 방식은 확장성이 떨어진다. 1,000명의 사용자가 서로 대화를 나눈다고 가정해보자. 안전한 통신 채널 형성을 위해, 각 사용자는 999개의 서로 다른 키가 필요하다.
  2. 키 분배: 이 방식에는 양 당사자가 대칭 키에 접근할 수 있다는 가정이 전제되어 있다. 하지만, 애초에 어떻게 당사자가 이 대칭 키를 가질 수 있을까? 만약 영희가 대칭 키(세션 키)를 생성해 철수에 보내면, 공격자는 이 과정에서 키를 가로채고 앞으로 발생하는 대화를 해독할 수 있다.

그렇다면, 이를 해결할 방법은 없을까?

비대칭 암호

비대칭 암호는 개인 키와 공개 키 총 두 개의 키를 사용한다. 평문은 공개 키로 암호화되고, 암호화된 메시지는 이에 상응하는 개인 키로 해독된다.

이 방식을 이용하면 대칭 키의 두 가지 문제를 해결할 수 있다. 비대칭 암호 방식은 대칭 암호 방식보다 느리기 때문에, 이 두 방식은 보통 함께 사용되어진다. 그 방법을 살펴보자.

모든 사용자는 공용 키와 개인 키를 한 쌍씩 갖고 있다. 공개 키는 모두가 알고 있고 사용할 수 있는 키인 반면, 개인 키는 각 사람이 소유하고 보호하는 비밀 키이다.

영희가 철수에게 메시지를 보낼 때, 영희는 먼저 대칭 세션 키를 생성한다. 그리고 영희는 철수의 공개 키로 이를 암호화한다. 철수는 이에 상응하는 개인 키를 가지고 있으므로, 철수는 영희가 보낸 메시지를 해독하고 세션 키를 얻을 수 있다.

여기서부터 세션 키는 이 둘 사이의 메시지를 암호화하고 해독하는 데 사용된다. 이로써 속도가 느려지지 않으면서, 키 분배 문제 역시 해결할 수 있다. 이는 상대적으로 속도가 느린 비대칭 암호 방식을 첫 메시지 교환에서만 사용하기 때문이다.

이 방식으로 확장성의 문제도 해결할 수 있는데, 그 이유는 모두가 대화를 나누기 위해 오직 한 쌍의 공개 키와 개인 키가 필요하기 때문이다.

이제 방식으로 시스템이 훨씬 향상되었다. 하지만 여전히 완벽한 보안을 이룬 것은 아니다. 현 시스템에서는 여전히 다음 두 가지 문제가 발생한다.

  1. 인증: 위의 실례에서 우리는 철수의 공개 키를 출발점으로 삼고 있다. 하지만, 애초에 이 공개 키를 어떻게 얻을 수 있었을까? 최초의 공개 키는 철수가 제공한 걸 수도 있지만, 철수인 척 위장한 공격자가 제공한 것일 수도 있다. 이 상황이 발생하면 보완된 통신을 잘못된 사람과 주고받을 수 있는 것이다.
  2. 데이터 무결성: 해당 메시지는 데이터 전송 중에 변경될 수 있다. 데이터가 중간에 조작되지 않도록 확실히 해야한다.

인증서 & 디지털 서명

인증에는 신뢰할 수 있는 시스템이 필요하다. 신뢰할 수 있는 인증 기관(CA, Certificate Authority)은 각 공개 키가 특정 사람에게만 속하도록 한다. 이 시스템의 각 사용자는 디지털 인증서를 인증 기관에서 등록한다. 이 인증서에는 소유자의 신원 정보와 공개 키가 포함된다.

그래서 영희가 철수와 대화를 원할 때, 인증 기관에 영희가 받은 공개 키가 정말로 철수에게 속한 것인지 확인할 수 있다. 이 방식은 인터넷 상에서의 HTTPS 작동 원리이기도 하다. 하나의 최상위 인증서는 여러 하위 인증서와 연결되어 있는데, 이때 디지털 서명을 사용한다. (아래 자세히 설명되어 있으니 참고하길 바란다)

그렇다면, 여기서 받은 인증서가 공격자가 아닌 최상위 인증 기관이 제공한 것이라는 것을 어떻게 알 수 있을까? 먼저, 신뢰할 수 있는 인증 기관으로부터 온 최상위 인증서는 해당 브라우저에서 하드코딩되기 때문에 믿을 수 있는 기준선을 제시한다.

데이터 무결성 문제는 디지털 서명을 사용하여 해결할 수 있다. (여기서 디지털 서명을 디지털 인증서와 혼동하지 않도록 주의를 기울여야한다)

영희가 철수에 메시지를 보내고 싶을 때, 먼저 영희는 세션 키를 생성하고 이를 철수의 공개 키로 암호화한다. 이 데이터 패킷을 파트1이라 칭하자. 그후, 영희는 수많은 사용 가능한 해싱 알고리즘 (MD5/SHA256) 중 하나를 사용해 메시지 해시를 생성한다. 메시지 해시란 다양한 길이의 바이트(byte)를 고정된 길이의 바이트로 변환하는 일방 변환 방식이다.

해시 값으로부터 원래 메시지를 얻을 수 없으며, 두 메시지가 동일한 해시 값을 갇기란 통계상으로는 불가능하다.

해시 생성 후, 영희는 이를 자신의 개인 키로 암호화한다. 이를 디지털 서명이라 부른다. 이 디지털 서명으로 영희로부터 메시지가 전송되었으며, 해당 메시지가 조작되지 않았음을 확인할 수 있다.

다음으로 이 디지털 서명과 원문 메시지는 세션 키로 암호화된다. 이 작업을 파트 2라 부르자. 이제 다음 두 가지 사항이 준비되어 있다:

파트 1 = 철수_공개_키 -> (세션_키)

파트2 = 세션_키 -> (메시지 + 디지털_서명)

영희는 파트1과 파트2를 철수에 보낸다. 철수만이 개인 키를 가지고 있으므로, 오직 철수만이 파트1을 해독하고 세션_키를 얻을 수 있다.

다음으로 철수는 이 세션 키를 사용해 파트 2를 해독하고 해당 메시지와 디지털 서명을 회수한다. 그후, 철수는 영희의 공개 키를 사용해 디지털 서명을 해독하고 메시지 해시를 회수한다. 철수는 메시지 해시를 계산해 이를 이 전 단계에서 온 메시지 해시와 비교한다.

이때, 두 개의 해시가 부합한다면 중간에 조작이 일어나지 않고 데이터 무결정이 보존되었음을 뜻한다.

이제, 완벽한 보안 시스템이 완성되었다.

인증서와 디지털 서명을 사용해 이제 빠르고, 안전하며, 은밀하고, 확장성까지 갖춘 암호화된 인증 시스템을 생성할 수 있는 것이다.

이제 암호화의 작동 원리를 배웠으니, 이 암호화가 적용된 실례인 VPN 추천 목록 을 한 번 살펴보자.

자사는 엄격한 테스트와 조사를 기반으로 공급업체를 리뷰하지만 사용자의 피드백과 공급업체와의 제휴 커미션도 고려합니다. 일부 공급업체는 자사의 모회사가 소유하고 있습니다.
자세한 내용 보기
vpnMentor는 VPN 서비스를 리뷰하고 개인정보 보호와 관련된 이야기를 다루는 독립적인 사이트로 2014년에 설립되었습니다. 오늘날 수백 명의 사이버 보안 연구원, 작가, 에디터로 구성된 저희 팀은 웹사이트 내 순위에 오르고 리뷰될 수 있는 ExpressVPN, CyberGhost 및 Private Internet Access를 소유한 Kape Technologies PLC와 협력하여 독자들의 온라인 자유를 돕고 있습니다. vpnMentor에서 소개되는 리뷰는 게시된 날짜 기준으로 정확한 것으로 간주되며, 사용자를 위한 상업적 가치와 함께 제품의 기술적 능력과 품질을 고려한 리뷰어의 독립적이고 전문적이며 솔직한 리뷰를 우선으로 하는 꼼꼼한 리뷰 기준에 따라 작성되었습니다. 또한 저희가 게시하는 순위와 리뷰는 위에서 언급한 공통 소유권과 웹사이트의 링크를 통해 구매 시 얻는 제휴 수수료를 고려할 수 있습니다. 저희는 모든 VPN 제공업체를 리뷰하지 않으며 정보는 각 글의 게시 날짜 기준으로 정확하다고 간주됩니다.

작가 소개

하쉬 마우리아는 다수의 오픈소스와 공개 자유 도구에 기여한 기술 애호가이다. 여가시간에는 네트워크 보안에 대한 지식을 널리 공유하는 활동을 펼치는 그는 '해킹 당하지 않는 법 Hot Not To Get Hacked'의 저자이기도 하다.

이 기사가 마음에 드셨나요? 평가해 주세요!
정말 싫습니다 별로 좋아하지 않습니다 괜찮습니다 꽤 좋습니다! 정말 좋습니다!
/10 - 사용자들이 투표함
의견을 보내 주셔서 감사합니다.

이 글을 개선할 수 있는 방법에 대해 의견을 남겨 주세요. 여러분의 피드백이 중요합니다!

댓글 달기

죄송합니다, 이 필드에는 링크가 허용되지 않습니다!

이름은 최소 문자 3개 이상이어야 합니다.

필드내 내용은 %80개 이상의 문자를 초과할 수 없습니다.

죄송합니다, 이 필드에는 링크가 허용되지 않습니다!

올바른 이메일 주소를 입력하십시오.

%%이름%%님, 댓글을 남겨주셔서 감사합니다!

48시간 이내에 모든 댓글이 진짜인지 그리고 불쾌감을 주지 않는지 확인합니다. 그 동안 이 내용을 자유롭게 공유하십시오.