2021.10.06

"암호화란 무엇인가" 암호화의 의미와 작동 방식

Michael Crider | PCWorld
암호화는 개인 데이터를 훔쳐보는 것으로부터 보호한다. 이번 기사에서는 암호화가 무엇인지 알아보고, 작동 방식에 관해 설명한다. 
 
ⓒ Getty Images Bank

지난 몇 년동안 ‘암호화(encryption)’라는 용어가 많이 회자되고 있다. 간단한 개념이지만, 실제 사용은 매우 복잡하다. 최신 기기에서 암호화가 어떻게 사용되는지 설명하려면 우선 암호화가 무엇인지부터 설명해야 한다. 


암호화의 기본 

가장 단순하고 기본적인 수준에서 암호화는 정보를 즉시 접근할 수 없도록 감추는 방법이다. 암호화는 정보화 시대가 도래하기 훨씬 이전인 수천 년 전부터 민감하거나 귀중한 지식을 보호하기 위해 사용되어 왔다. 암호화, 코드 및 정보를 보호하거나 숨기는 방법을 사용하고 연구하는 것을 암호학(cryptography)이라고 한다. 

가장 간단한 암호화 버전은 기본 대체 암호(cipher)다. A=1, B=2 등으로 알파벳 문자를 숫자로 나타낼 경우, 해당 코드를 메시지로 보낼 수 있다. 즉시 인식할 수는 없지만, 코드를 아는 사람은 누구나 메시지를 빠르게 해독할 수 있다. 

따라서 20 8 5 16 1 19 19 23 15 18 4 9 19 19 23 15 18 4 6 9 19 8와 같은 이 숫자는 겉보기에는 임의의 숫자 열 같지만, 이를 읽을 수 있는 사람에게는 중요한 정보가 될 수 있다.  

T h e p a s s w o r d i s s w o r d f i s h

이는 아주 간단한 암호화의 기본적인 예이며, 고전적인 디코더 링(decoder ring) 장난감에서도 찾을 수 있을 정도다. 고고학자들은 수천 년 된 기록에서도 암호화하는 사람들의 예를 발견했다. 메소포타미아 도공들은 새로운 유약을 만드는 방법을 경쟁자들에게 알리지 않고 친구에게 전달하기 위해 서로에게 점토로 암호화된 메시지를 보냈다. 이를 폴리비오스 스퀘어(Polybius square)라고 하며, 다중 알파벳 치환 암호화의 또 다른 예다. 메시지를 잠금 해제하기 위해서는 키가 필요하다. 이는 유럽 중세 시대에도 여전히 사용됐다. 

 
전시의 암호학

암호학은 정보를 보호하는 데 사용되었는데, 전쟁보다 더 중요한 쓰임새는 없었다. 군대는 통신이 도청되더라도, 적들이 자신의 계획을 알 수 있도록 메시지를 암호화했다. 반대로 적들의 암호화를 깨고 원래 키 없이 코드의 패턴을 찾으려고 노력했다. 둘 다 암호학 분야를 크게 발전시켰다. 

실제 암호화의 대표적인 두 가지 예시는 2차 세계대전에서 볼 수 있다. 독일군은 애니그마(Enigma)라는 물리적 전자 장치를 사용했는데, 이 장치는 엄청나게 복잡한 메시지를 인코딩하고 해독함으로써 빠르고 비밀스러운 통신을 가능케 했다. 그러나 연합군은 매일 순환하는 코드를 파악하고 고급 분석을 통해 애니그마 장치의 암호화를 깨뜨릴 수 있었다. 암호화된 독일의 무선 메시지를 듣고 연합군은 진짜 내용에 접근함으로써 결정적인 군사적 이점을 얻을 수 있었다. 
 
그러나 암호화 코드가 반드시 복잡한 수학을 기반으로 할 필요는 없다. 미군은 비밀 무선 통신을 위해 일반 음성과 기본 단어, 문자 암호 코드 모두를 미국 원주민의 언어인 코만치(Comanche)와 나바호(Navajo)와 같은 코드 토커(code talkers)를 사용했다. 이들 언어로 대화하면, 암호 화자는 무선을 통해 명령 및 기타 정보를 전달할 수 있었다. 독일, 이탈리아, 일본 군대는 이런 전송을 쉽게 가로챌 수 있었지만, 아메리카 원주민 화자에게 접근할 수 없었기 때문에, 이 간단한 암호화 방법을 해독할 수 없었다. 


현대의 전자 암호 방식 

현대 사회에서의 암호학은 거의 전적으로 컴퓨터를 통해 이뤄진다. 전자 암호학은 각 단어나 문자를 다른 것으로 암호화하거나 패턴에 따라 암호화하는 대신, 무작위 방식으로 개별 데이터 비트를 ‘스크램블(scrambles)’하고 키도 스크램블한다. 올바른 키를 가지고 있더라도 이 정보의 아주 일부분이라도 수동으로 해독하려면 평생 이상 걸릴 것이다. 
  
IT 세계에서 빠른 연산이 가능해짐에 따라 디지털 방식으로 암호화된 데이터는 기존의 방법으로 ‘크랙(crack)’하는 것은 거의 불가능하다. 예를 들어, 공통 128비트 고급 암호화 표준(Advanced Encryption Standard, AES)으로 인코딩된 파일의 디지털 콘텐츠를 구성하는 1과 0(비트)는 세미랜덤(semi-random) 패턴으로 약 10회 스크램블된다. 다른 컴퓨터가 키 없이 올바른 순서로 재배열하려면 아주 오랜 시간이 걸린다. 이는 AES의 가장 약한 버전이다. 192비트 및 256비트 키 크기도 제공된다. 


암호화를 통해 할 수 있는 것 

윈도우, 맥OS, iOS, 안드로이드 및 리눅스와 같은 모든 주요 최신 운영체제에는 데이터 암호화를 위한 도구를 포함하고 있다. 윈도우의 비트로커(Bitlocker) 시스템이 한 예이다. 어느 정도까지는 모든 데이터를 암호화할 수 있으므로 잠금을 해제하려면 키가 필요하다. 온라인 파일 저장소와 은행과 같은 다른 안전한 위치에 저장된 개인정보도 마찬가지다. 
 
암호화된 정보에 접근하기 위해 3가지 유형의 키 가운데 하나를 사용할 수 있다. 컴퓨터 보안에서는 이를 ‘알고 있는 것(비밀번호 또는 PIN)’, ‘갖고 있는 것(유비키(Yubikey)와 같은 물리적 암호화 키)’, 그리고 ‘있는 것(지문이나 안면 인식과 같은 생체인증)’이라고 한다. 

기기의 스토리지를 암호화하면 이런 잠금 해제 방법 가운데 하나가 없으면 누구도 해당 데이터에 접근하는 것이 어려워진다. 데이터를 암호화하고 해독하는 추가 처리 과정으로 인해 스토리지의 성능이 느려질 수 있지만 최신 소프트웨어는 이런 속도 감소를 최소화할 수 있다. 

물론 다른 사람이 사용자의 비밀번호, 물리적 키 또는 지문을 갖게 된다면, 해당 데이터에 접근할 수 있다. 그렇기 때문에 추가 보안 방법을 사용하는 것이 좋다. 일반적인 이중 인증 시스템(two-Factor Authentication system, 2FA)은 비밀번호와 휴대폰으로 전송된 문자 메시지를 모두 사용해 로그인한다. 이는 해당 시스템에 저장된 모든 정보에 추가 보안 계층을 제공한다. 비밀번호 관리자를 사용해 사용하는 각 사이트 또는 서비스에 대해 고유한 비밀번호를 생성하면 보안이 더욱 강화되어 공격자가 해당 서비스에 대한 자격증명을 훔치는 경우, 로그인 정보를 재사용하는 것을 방지할 수 있다. 

데이터를 암호화한다고 해서 부적절하게 접근하는 것이 절대적으로 불가능한 것은 아니다. 보안에는 항상 약점과 뚫을 방법이 있다. 그러나 기본 암호화 도구를 사용하는 것만으로도 기본적으로 제공되는 것보다 훨씬 더 많은 데이터를 보호할 수 있다. editor@itworld.co.kr


2021.10.06

"암호화란 무엇인가" 암호화의 의미와 작동 방식

Michael Crider | PCWorld
암호화는 개인 데이터를 훔쳐보는 것으로부터 보호한다. 이번 기사에서는 암호화가 무엇인지 알아보고, 작동 방식에 관해 설명한다. 
 
ⓒ Getty Images Bank

지난 몇 년동안 ‘암호화(encryption)’라는 용어가 많이 회자되고 있다. 간단한 개념이지만, 실제 사용은 매우 복잡하다. 최신 기기에서 암호화가 어떻게 사용되는지 설명하려면 우선 암호화가 무엇인지부터 설명해야 한다. 


암호화의 기본 

가장 단순하고 기본적인 수준에서 암호화는 정보를 즉시 접근할 수 없도록 감추는 방법이다. 암호화는 정보화 시대가 도래하기 훨씬 이전인 수천 년 전부터 민감하거나 귀중한 지식을 보호하기 위해 사용되어 왔다. 암호화, 코드 및 정보를 보호하거나 숨기는 방법을 사용하고 연구하는 것을 암호학(cryptography)이라고 한다. 

가장 간단한 암호화 버전은 기본 대체 암호(cipher)다. A=1, B=2 등으로 알파벳 문자를 숫자로 나타낼 경우, 해당 코드를 메시지로 보낼 수 있다. 즉시 인식할 수는 없지만, 코드를 아는 사람은 누구나 메시지를 빠르게 해독할 수 있다. 

따라서 20 8 5 16 1 19 19 23 15 18 4 9 19 19 23 15 18 4 6 9 19 8와 같은 이 숫자는 겉보기에는 임의의 숫자 열 같지만, 이를 읽을 수 있는 사람에게는 중요한 정보가 될 수 있다.  

T h e p a s s w o r d i s s w o r d f i s h

이는 아주 간단한 암호화의 기본적인 예이며, 고전적인 디코더 링(decoder ring) 장난감에서도 찾을 수 있을 정도다. 고고학자들은 수천 년 된 기록에서도 암호화하는 사람들의 예를 발견했다. 메소포타미아 도공들은 새로운 유약을 만드는 방법을 경쟁자들에게 알리지 않고 친구에게 전달하기 위해 서로에게 점토로 암호화된 메시지를 보냈다. 이를 폴리비오스 스퀘어(Polybius square)라고 하며, 다중 알파벳 치환 암호화의 또 다른 예다. 메시지를 잠금 해제하기 위해서는 키가 필요하다. 이는 유럽 중세 시대에도 여전히 사용됐다. 

 
전시의 암호학

암호학은 정보를 보호하는 데 사용되었는데, 전쟁보다 더 중요한 쓰임새는 없었다. 군대는 통신이 도청되더라도, 적들이 자신의 계획을 알 수 있도록 메시지를 암호화했다. 반대로 적들의 암호화를 깨고 원래 키 없이 코드의 패턴을 찾으려고 노력했다. 둘 다 암호학 분야를 크게 발전시켰다. 

실제 암호화의 대표적인 두 가지 예시는 2차 세계대전에서 볼 수 있다. 독일군은 애니그마(Enigma)라는 물리적 전자 장치를 사용했는데, 이 장치는 엄청나게 복잡한 메시지를 인코딩하고 해독함으로써 빠르고 비밀스러운 통신을 가능케 했다. 그러나 연합군은 매일 순환하는 코드를 파악하고 고급 분석을 통해 애니그마 장치의 암호화를 깨뜨릴 수 있었다. 암호화된 독일의 무선 메시지를 듣고 연합군은 진짜 내용에 접근함으로써 결정적인 군사적 이점을 얻을 수 있었다. 
 
그러나 암호화 코드가 반드시 복잡한 수학을 기반으로 할 필요는 없다. 미군은 비밀 무선 통신을 위해 일반 음성과 기본 단어, 문자 암호 코드 모두를 미국 원주민의 언어인 코만치(Comanche)와 나바호(Navajo)와 같은 코드 토커(code talkers)를 사용했다. 이들 언어로 대화하면, 암호 화자는 무선을 통해 명령 및 기타 정보를 전달할 수 있었다. 독일, 이탈리아, 일본 군대는 이런 전송을 쉽게 가로챌 수 있었지만, 아메리카 원주민 화자에게 접근할 수 없었기 때문에, 이 간단한 암호화 방법을 해독할 수 없었다. 


현대의 전자 암호 방식 

현대 사회에서의 암호학은 거의 전적으로 컴퓨터를 통해 이뤄진다. 전자 암호학은 각 단어나 문자를 다른 것으로 암호화하거나 패턴에 따라 암호화하는 대신, 무작위 방식으로 개별 데이터 비트를 ‘스크램블(scrambles)’하고 키도 스크램블한다. 올바른 키를 가지고 있더라도 이 정보의 아주 일부분이라도 수동으로 해독하려면 평생 이상 걸릴 것이다. 
  
IT 세계에서 빠른 연산이 가능해짐에 따라 디지털 방식으로 암호화된 데이터는 기존의 방법으로 ‘크랙(crack)’하는 것은 거의 불가능하다. 예를 들어, 공통 128비트 고급 암호화 표준(Advanced Encryption Standard, AES)으로 인코딩된 파일의 디지털 콘텐츠를 구성하는 1과 0(비트)는 세미랜덤(semi-random) 패턴으로 약 10회 스크램블된다. 다른 컴퓨터가 키 없이 올바른 순서로 재배열하려면 아주 오랜 시간이 걸린다. 이는 AES의 가장 약한 버전이다. 192비트 및 256비트 키 크기도 제공된다. 


암호화를 통해 할 수 있는 것 

윈도우, 맥OS, iOS, 안드로이드 및 리눅스와 같은 모든 주요 최신 운영체제에는 데이터 암호화를 위한 도구를 포함하고 있다. 윈도우의 비트로커(Bitlocker) 시스템이 한 예이다. 어느 정도까지는 모든 데이터를 암호화할 수 있으므로 잠금을 해제하려면 키가 필요하다. 온라인 파일 저장소와 은행과 같은 다른 안전한 위치에 저장된 개인정보도 마찬가지다. 
 
암호화된 정보에 접근하기 위해 3가지 유형의 키 가운데 하나를 사용할 수 있다. 컴퓨터 보안에서는 이를 ‘알고 있는 것(비밀번호 또는 PIN)’, ‘갖고 있는 것(유비키(Yubikey)와 같은 물리적 암호화 키)’, 그리고 ‘있는 것(지문이나 안면 인식과 같은 생체인증)’이라고 한다. 

기기의 스토리지를 암호화하면 이런 잠금 해제 방법 가운데 하나가 없으면 누구도 해당 데이터에 접근하는 것이 어려워진다. 데이터를 암호화하고 해독하는 추가 처리 과정으로 인해 스토리지의 성능이 느려질 수 있지만 최신 소프트웨어는 이런 속도 감소를 최소화할 수 있다. 

물론 다른 사람이 사용자의 비밀번호, 물리적 키 또는 지문을 갖게 된다면, 해당 데이터에 접근할 수 있다. 그렇기 때문에 추가 보안 방법을 사용하는 것이 좋다. 일반적인 이중 인증 시스템(two-Factor Authentication system, 2FA)은 비밀번호와 휴대폰으로 전송된 문자 메시지를 모두 사용해 로그인한다. 이는 해당 시스템에 저장된 모든 정보에 추가 보안 계층을 제공한다. 비밀번호 관리자를 사용해 사용하는 각 사이트 또는 서비스에 대해 고유한 비밀번호를 생성하면 보안이 더욱 강화되어 공격자가 해당 서비스에 대한 자격증명을 훔치는 경우, 로그인 정보를 재사용하는 것을 방지할 수 있다. 

데이터를 암호화한다고 해서 부적절하게 접근하는 것이 절대적으로 불가능한 것은 아니다. 보안에는 항상 약점과 뚫을 방법이 있다. 그러나 기본 암호화 도구를 사용하는 것만으로도 기본적으로 제공되는 것보다 훨씬 더 많은 데이터를 보호할 수 있다. editor@itworld.co.kr


X