본문 바로가기
카테고리 없음

암호화의 과학-내 데이터는 어떻게 보호되는가

by windcore 2025. 5. 6.

인터넷을 사용할 때 우리가 주고받는 정보는 마치 편지 봉투 없이 공중을 떠도는 편지처럼 쉽게 노출될 수 있습니다. 해커들은 이 틈을 노려 우리의 개인정보를 훔치기도 합니다
그래서 ‘암호화’는 디지털 세상의 필수적인 데이터보호 장치입니다
해커들은 여러 가지 방법으로 이 정보들을 탈취하려고 하는데 공공 와이파이를 이용해서 해킹하는 방법에 대해서는
이 전 글에서 알아보았습니다 
그러나 해커가 정보를 탈취했더라도 데이터를 해독하지 못하면 우리의 정보는 노출되지 않을 수 있습니다 
데이터의 암호화란 우리가 주고받는 정보를 아무나 알아볼 수 없게 "특정한 규칙에 따라 알아보기 힘든 형태"로 만드는 기술인데  예를 들어 "오늘 4시에 어디서 만나요"라는 메시지를 그냥 인터넷으로 보내면 중간에서 누군가가 가로채기만 해도 그 내용을 다 볼 수 있습니다
그러나 "ue9#2@&n3Ak%~!"과 같이 암호화된 문장으로 바꾸면 중간에서 누군가가 가로챘다 해도 그 내용을 알 수가 없습니다  이 글에서는 데이터의 암호화에 대해서 알아보겠습니다 

데이터의 보안

 

나의 스마트폰의 암호화 과정은 어떻게 작동될까

나의 데이터를 내가 직접 암호화한다면 우리는 아마 네트워크 통신을 사용할 수 없을 것입니다  그 암호문 만들고 해독하느라 엄청난 시간과 노력이 들어갈 테니까요
그러나 우리의 데이터를 암호화하는 것은 바로 크롬과 같은 브라우저와 안드로이드, ios와 같은 운영체제, 그리고 VPN 앱 등의 소프트웨어들입니다  이 소프트웨어들이 우리는 보지 못하지만 백그라운드에서 일하고 있기 때문에 우리의 정보가 보호되고 있는 것입니다 
 소프트웨어들이 데이터를 암호화하는 방법은 2가지가 있습니다 
대칭키 암호화와 비대칭키 암호화입니다 
 

 1 대칭키 암호화

대칭키 암호화는 송신자와 수신자가 같은 암호키를 공유해서 암호화하고 해독하는 방식인데 빠르고 효율적입니다
암호화하는 방법은 아래와 같습니다 
●데이터를 보내는 사람이 자신이 보낼 메시지에 암호키를 사용해서 암호문을 생성합니다
●받는 사람은 받은 암호문을 같은 암호키로 해독해서 원래의 메시지를 읽는 것입니다 
그러나 이러한 방법의 단점은 암호키 자체를 안전하게 전달해야 하는 위험부담이 존재합니다  
 

2 비대칭키 암호화

이 방식은 서버가 공개키를 모두에게 개방하고 접속하고자 하는 사용자가 공개키를 가져와서 자신의 비밀키를 만들어서 다시 서버로 보내면 서버가 자신의 개인키로 그 암호화된 데이터를 풀어내어 비밀키를 알아내는 방법입니다 
아래의 예로 암호화하는 과정을 보겠습니다 
 
● 내가 https를 사용하여 스마트폰이 은행의 웹사이트에 접속(https://bank.com)하려고 합니다
이 문자의 내용은 "안녕하세요 https로 통신하고 싶어요"라는 의미입니다 
●그러면 은행의 서버는 자신의 인증서와 공개키를 보냅니다 
●내 브라우저는 인증서를 확인하고 보내준 공개키를 이용해서 무작위로 비밀 키(대칭키)를  만들어서(예: d3 s8+@20! q% z) 보냅니다
●은행의 서버는 스마트폰이 만든 비밀키를 자신의 개인키로 풀어내서 원래의 비밀키를 알아냅니다
●이후부터 스마트폰과 서버는 공통된 비밀 키를 공유함으로 안전하게 데이터를 주고받을 수 있게 되는 것입니다
 
 
★ 이 방식은 처리 속도가 느리고 복잡하다는 단점이 있지만 암호키를 전달할 필요가 없다는 장점이 있습니다 
 
현재 인터넷 통신은 보안을 비대칭키와 대칭키의 방식을 함께 사용하고 있는데 초기 연결 시에는 비대칭키를 사용하고 암호키를 서로 공유하게 된 뒤에는 대칭키를 사용하는 방식입니다 
이렇게 하는 이유는 초기에 비대칭키를 사용하면은 시간은 걸리지만 암호키를 안전하게 전달할 수 있기 때문입니다  
암호키를 서로 공유하고 난 다음에는 빠르고 효율적인 대칭키를 이용해서 본격적으로 데이터를 주고받기 시작하는 것입니다 
 
★이러한 방식으로 암호화하는 방식을 ssl(Secure Socket Layer)이라고 부르며 이러한 방식은 https의 핵심 원리입니다
 

HTTPS란?

먼저 우리가 흔히 게 접하는 인터넷 주소인 HTTP에 대해서 알아보겠습니다 
HTTP는 Hyper Text Transfer Protocol의 약자인데 여기서 재미있고 의미가 있는 단어는 Hyper Text란 단어입니다 '초월적인 글자' 이 단어를 생각하면 HTTP의 의미를 잊어버리지 않을 것입니다 
우리가 이 문자들을 클릭하면 데이터를 보던 사용자가 한순간에 다른 문자로 이동한다는 뜻입니다 
그리고 이렇게 교환되는 방식의 규칙이 Transfer Protocol입니다 
그러니까 HTTP란 브라우저와 서버 간의 데이터를 주고받는 방식의 규칙이라고 할 수 있습니다 
 
예를 들어서 우리가 검색창에 https://www.naver.com을 입력했을 때 앞에 붙이는 https는 보안 연결방식입니다 
그리고 뒤의 www.naver.com 은 웹사이트의 주소를 뜻합니다 
그런데 이 HTTP는 데이터를 암호화하지 않기 때문에 누군가가 내용을 보려면 쉽게 볼 수 있습니다 
그래서 SSL/TLS방식으로 암호화해서 만든 것이 HTTPS입니다  
즉 HTTPS=HTTP+SSL
그러니까 우리가 https://의 시작되는 인터넷 주소에 접속한다는 것은 암호화된 데이터를 주고받는 사이트란 것을 의미하는 것입니다 
 
https를 사용할 때 주는 이점은 해킹이나 도청에 안전하다는 것이고 가짜 사이트인지 확인할 수 있습니다 
또한 가짜 사이트일 경우, 브라우저가 확인하고 경고 문구를 띄워줍니다 
그뿐 아니라 구글 검색 등에서도 https사이트를 우선적으로 노출시켜 줍니다 
 

 인증서란

만약 내 스마트폰이 https://www.bank.com을 입력하면 은행의 서버는 인증서를 내 스마트폰에 보내줍니다 
그 인증서에는 도메인 이름과 통신할 때 사용할 공개키, 발급자, 유효기간, 전자서명이 들어있습니다 
그러면 내 스마트폰은 인증서를 보고 이 사이트는 믿을 수 있음을 판단합니다 그러나 만약 가짜 인증서라면 브라우저는
"이 웹 사이트는 안전하지 않습니다"라는 경고문을 띄워줍니다
그러니까 인증서란 웹사이트가 진짜인지를 증명해 주는 웹사이트의 신분증이라고 할 수 있습니다 

PKI (Public Key Infrastructure)

 

그런데 이 인증서를 통해서 웹사이트의 진위를 확인하는 시스템이 돌아가려면 네트워크 전체가 신뢰할 수 있는 운영체계가 필요합니다  그것이 바로 PKI입니다 
PKI의 구조는 가장 최상위의 신뢰기관이 발행하는 루트인증서, 그리고 루트 CA로부터 위임받아 실제로 인증서를 발급하는 중간 인증기관, 그리고 웹사이트가 사용하는 서버 인증서로 구성되어 있습니다 
이렇게 인증서는 사슬 같은 구조로 되어있어서 수천만 개의 사이트를 신뢰할 수 있는 구조가 만들어지는 것입니다  

  1.  

 

VPN이란

VPN은 Virtual Private Network의 약자입니다  단어 그대로 해석하면 가상으로 연결된 외부에 공개되지 않고 개인이나 조직만이 사용하는 통신망이라고 할 수 있습니다 
인터넷은 모두가 다니는 공개된 도로와 같은데 VPN을 사용하면 아무도 못 보는 비밀터널을 만들어서 데이터를 주고받는 것과 같습니다 
예를 들어서 카페에서 와이파이를 사용해서 인터넷을 사용하고 있는데 만약 VPN 없이 로그인 정보 등 데이터를 보낸다면 해커가 옆 자리에서 패킷 스니퍼 프로그램을 켜두고 우리의 정보를 다 엿볼 수 있습니다 
그런데 VPN 앱을 사용한다면 VPN서버와 비밀 터널이 만들어져 우리가 로그인하고 검색하는 모든 데이터는 VPN 서버로 전송되고 그다음에 우리가 가고자 하는 사이트로 이동합니다 
 
그러나 VPN은 우리의 정보를 가려주기는 해도 사용자 스스로가 악성 사이트에 개인정보를 입력하면 그것은 막을 수 없습니다 

 

VPN의 한계와 주의할 점

 
모든 VPN이 다 안전한 것은 아닙니다(무료 VPN주의) 
때로 VPN회사가 데이터를 저장하는 경우가 있는데 이럴 경우 추적의 가능성이 있기 때문에 안전하지 않습니다 
 
그러면 VPN 회사가 데이터를 저장하는 이유는 사용자의 분석하여 서비스 품질 개선이 목적이라고 주장하는 회사도 있고 또 때로는 
중국, 러시아 등의 나라에서 "사용자의 로그를 저장하라"라고 법적으로 요구하기 때문에  만약 이 나라들에 서버를 두고 있다면 로그 저장을 할 수밖에 없기 때문이기도 합니다 
또한 무료 VPN은 사용자의 데이터를 팔기도 한다고 합니다 
 

믿을 수 있는 VPN을 고르는 방법

1 사용자의 접속 기록, IP, 방문 사이트 등을 절대 저장하지 않는다 
2 본사의 위치가 정보를 공유하는 협정이 있는 나라는 위험합니다
●전 세계에 충분한 서버가 있는가
●악성코드 차단 기능이 있는가
●동시에 접속 가능한 기기 수 확인
 
●환불정책 확인(30일 무료체험이 있으면 직접 사용해 보고 결정)
●무료나 너무 저가인 VPN은 위험하고 오히려 유료이며 브랜드가 있는 VPN이 안전합니다
●다른 사용자의 리뷰나 커뮤니티의 평의 보고 결정합니다