본문 바로가기

블로그

LG CNS 기술블로그 DX Lounge에서 최신 IT 소식을 만나보세요!

보안

생활 속의 암호학

2018.08.06

네트워크의 발달로 다양하고 엄청난 양의 정보가 유통되고 있습니다. 이 정보 중에는 다양하게 공유되어야 할 정보들도 넘쳐나겠지만, 유출되면 개인의 사생활 보호를 위협 할 수 있는 다양한 개인정보, 기업의 흥망을 결정지을 수도 있는 영업비밀, 기술정보, 국가 안보에 치명적인 정보 등 보호 대상이 되는 정보들도 많습니다.

네트워크(특히, 스마트폰을 통한 무선 네트워크)가 발달하는 만큼 정보의 중요도에 따라 사이버 위협도 증가해 뉴스를 통해 다양한 해킹 사고, 유출 사고에 대해서 매일 접하게 되고, 이런 위협들은 현대를 살아가는 모든 개인에게도 멀지 않은 일로 다가올 때가 많습니다.

일부 유출 사고의 경우에는 정보보호의 기반 기술인 암호를 적절히 적용했을 경우 유출되었더라도 보호될 수 있었던 사건도 있었습니다. (관리자 PW 평문 저장, 유출 고객 주민등록번호 평문 저장, 사이트 ID, 비밀번호 유출)

이에 암호학에 대해서 알아보고, 생활 속에 암호학이 어떻게 적용되어 있는지 알아보고자 합니다. 

암호학의 기본 개념 그리고 암호의 기능과 종류

먼저 암호학(Cryptography)이란 무엇인지 또한 암호학에서 주로 사용되는 기본적인 용어에 대해서 알아보겠습니다. 위키피디아에서는 암호학이란 정보를 보호하기 위한 언어학적 및 수학적 방법론을 다루는 학문으로, 수학을 중심으로 컴퓨터, 통신 등 여러 학문 분야에서 공동으로 연구, 개발되고 있습니다.

암호의 어원은 그리스어의 비밀(Secret)이란 뜻을 가진 크립토스(Kryptos)로 알려져 있습니다. 이는 암호학을 이용해 보호해야 할 메시지인 평문을 해독 불가능한 형태로 변형(암호화, Encryption)하거나 암호화된 통신문을 원래의 해독 가능한 상태로 변환(복호화, Decryption)하기 위한 모든 수학적인 원리, 수단, 방법 등을 취급하는 기술이나 과학을 말합니다.

즉, 암호란 중요한 정보를 다른 사람들이 보지 못하도록 하는 방법을 의미합니다.

암호학적 서비스가 제공하고자 하는 보안의 목표에는 다음과 같은 것이 있습니다.

  • 기밀성(Confidentiality): 부적절한 노출 방지. 허가받은 사용자가 아니면 내용에 접근할 수 없어야 함
  • 무결성(Integrity): 부적절한 변경 방지. 허가받은 사용자가 아니면 내용을 변경할 수 없어야 함
  • 인증(Authentication): 임의의 정보에 접근할 수 있는 객체의 자격이나 객체의 내용을 검증하는데 사용되는 성질
  • 부인봉쇄(Non-repudiation): 메시지를 전달하거나 전달받은 사람이 메시지를 전달하거나 전달받았다는 사실을 부인할 수 없어야 함

현대의 암호는 크게 암복호화 가능 여부에 따라 양방향, 일방향 암호로 나뉘고, 각각의 장단점에 따라 사용되는 용도를 달리해 아래와 같이 분류되어 사용되고 있습니다.

암호의 종류, (*)국산 암호 

생활 속의 암호

이러한 암호를 활용해 우리가 생활 속에서 찾아볼 수 있는 암호 활용 사례를 확인해 보겠습니다. 그 전에 국내의 여러 법에서 규정하고 있는 암호화의 대상 및 기준에 대해서 알아보겠습니다.

개인정보 보호법 29조(안전조치의무) 및 개인정보의 안전성 확보조치 기준 고시(행정안전부 고시 제2017-1호)에서 가이드하고 있는 암호화 적용 대상 정보 및 방식을 알아보면 아래와 같습니다.

l 개인정보 항목별 암호화 필수 여부

정보통신망법을 적용받는 경우에는 금융 정보(계좌번호, 카드번호 등)가 추가로 암호화 적용 대상이 되고 있습니다.

l 개인정보 항목별 암호화 필수 여부

전자금융거래법에서는 거래 로그, 내부 사용자, 이용자 비밀번호, 전자금융거래 통신 정보를 암호화 대상으로 식별하고 있습니다.

신용정보 보호법에서는 신용정보업감독 규정의 별표3 기술적 물리적 관리적 보안대책 마련 기준에서 암호화에 대한 기준을 정의하고 있습니다. 그 대상으로는 비밀번호, 바이오 정보 등 본인임을 인증하는 정보, 정보통신망을 통해 송수신하는 개인신용정보 및 인증정보, PC에 저장하는 개인신용정보, 주민등록번호, 개인신용정보 위탁 시 개인식별번호가 있습니다.

‘개인신용정보’란? 신용정보 중 개인의 신용도와 신용거래능력 등을 판단할 때 필요한 정보로서 개인의 성명, 주소, 주민등록번호 등 개인의 식별 정보 및 대출 현황, 채무보증현황, 신용카드 발급 및 해지 사실, 당좌·가계당좌예금 개설 및 해지 사실, 신용카드 현금서비스 현황, 대출금 등의 연체, 신용카드 대금 미결제 정보 등이 포함

위치정보보호법에서는 시행령 제20조(위치정보의 관리적•기술적 보호조치)에서 위치 정보시스템에의 권한 없는 접근을 차단하기 위한 암호화•방화벽 설치 등의 조치를 명시하고 있습니다. 지금까지 국내 여러 법에서 규정하고 있는 암호화 대상에 대해서 살펴보았습니다.

이제부터 본격적으로 생활 속에 적용된 암호 활용 사례를 알아보겠습니다.

① 비밀번호

DB에 저장 시 정보통신망, 보조 저장매체를 통한 송수신 시 필수로 암호화를 해야 하는 대상인 비밀번호는 시스템에 정당한 사용자임을 인증하는 가장 중요하고, 보호해야 하는 개인정보입니다.

개인용도의 비밀번호 유출 시 개인정보의 유출뿐 아니라, 금전적인 손해가 올 수도 있으며, 중요 시스템 관리자의 경우 비밀번호 유출 시 대량의 개인정보가 유출될 수 있으므로, 가장 중요하게 관리되어야 할 개인정보로 인식되고 있습니다.

비밀번호 암호화는 위에서 암호의 종류에서 일방향 암호를 사용하고 있습니다. 일방향 암호라는 것은 단어 뜻 그대로 암호화는 가능하지만, 거꾸로 암호문을 원래의 평문으로 복호화가 불가능하다는 의미입니다.

다만, MD5, SHA-1과 같은 암호화 알고리즘은 현재는 안전하지 않은 암호 알고리즘으로 사용하지 않도록 권고하고 있습니다.

매년 최악의 비밀번호로 사용되는 ‘123456’을 일방향 암호화하는 경우, Decryption 사이트를 통해 원래 비밀번호를 확인할 수 있습니다.

● https://en.wikipedia.org/wiki/List_of_the_most_common_passwords

사용자 입장에서는 비밀번호 사용 시 복잡도, 주기적인 변경, 타인에게 노출 금지 등 지켜야 할 사항을 꼭 기억해야 하며, 시스템 구축 입장에서는 안전한 일방향 암호화 알고리즘(SHA-2 이상)을 적용해야 하며, 과 Salt, Stretching 등을 추가로 적용하는 것이 좋습니다.

② 전송 시 암호화 SSL/TLS

웹서버와 클라이언트(웹브라우저) 간의 암호화 즉 우리가 인터넷을 통해 입력한 정보가 서버로 전달되는 과정에 정보가 암호화가 되는 것입니다.

웹사이트에 ID와 비밀번호를 입력하고 로그인 버튼을 누르는 순간 클라이언트(웹브라우저)에서는 네트워크를 통해 서버로 입력된 ID와 비밀번호를 전송하는데 그대로(평문상태) 전송하게 되는 경우 중요한 인증 정보가 해커에 의해 탈취될 수 있습니다. 인터넷 뱅킹 사이트라면 금융정보가 노출된다는 의미입니다.

따라서 전송구간의 암호를 할 필요가 있는데 아래 2가지 방식 중 일반적으로 브라우저에서 많이 확인할 수 있는 방식이 SSL/TLS 방식입니다.

* 정보통신망을 통한 송수신 시 암호화 방식

1. 웹서버에 SSL(Secure Socket Layer) 인증서를 설치하여 전송하는 정보를 암호화하여 송•수신하는 기능

2. 웹서버에 암호화 응용프로그램을 설치하여 전송하는 정보를 암호화하여 송•수신하는 기능

위 개인정보 보호법에서 암호화 대상 중 정보통신망을 통한 송•수신 시 비밀번호, 바이오 정보, 고유식별정보에 암호화 송•수신을 하라는 부분에 해당합니다. SSL/TLS 암호화 여부는 아래와 같이 HTTPS 또는 주소창의 열쇠 표시로 확인할 수 있습니다.

한편 크롬에서는 버전 68이 릴리스 되는 7월부터 SSL 보안 서버가 적용된 HTTPS 웹페이지는 ‘안전함’으로 표시하고 그렇지 않은 HTTP 사이트에 대해서는 ‘안전하지 않음’ 경고 표시를 적용한다고 지난 2월 7일에 발표했습니다.

국내에서는 로그인 화면, 금융거래 화면에서는 HTTPS가 많이 적용되었지만, 그 외에는 HTTP가 적용된 웹사이트 비중이 높아 해킹 위험에 취약하다는 지적이 나오고 있습니다.

③ 암호화폐

작년부터 뜨거운 화재의 중심이었던 블록체인 기술을 이용한 암호화폐에 대해서 간략히 살펴 보겠습니다.

암호화폐(Cryptocurrency)란 교환 수단으로 기능하도록 고안된 디지털 자산(Digital Asset)으로서 암호화 방법을 사용해 거래의 안전을 확보하고, 추가적 단위의 생성을 통제하며, 그 자산의 이전을 인증하는 것을 말하며 디지털 화폐의 일종이다.

2009년 최초의 암호화폐인 비트코인이 출현했고, 이후 이더리움, 라이트코인, 리플, 모네로, Zcash, Dash, 에이코인 등 수많은 암호화폐가 등장했다. 암호화폐의 시가 총액은 2018년에 1~2 조 달러에 달할 것으로 예상한다.

※ 출처: 위키피디아: https://ko.wikipedia.org/wiki/암호화폐

l 출처: Satoshi Nakamoto ‘Bitcoin: Peer-to-Peer Electronic Cash System

보안을 위해 해시 함수를 사용해 새로운 코인을 생성하고 거래 내역을 검증하는 시스템으로 이루어져 있습니다. 거래 내역을 검증하는 알고리즘에 따라 작업증명, 지분증명 등으로 나뉩니다.

해시 함수를 계산해 블록체인에 새로운 블록을 추가하는 방식으로 조폐와 송금을 합니다. 이때 거래 내역을 공인인증서처럼 전자서명을 통해 블록체인에 추가합니다. 블록체인은 P2P 방식으로 비트코인 코어(Bitcoin Core) 등의 지갑 소프트웨어를 가진 사람들의 컴퓨터에 보관합니다.

조폐와 송금 방법에는 POW(proof-of-work, 작업 증명), POS(proof-of-stake, 지분 증명), POI(proof-of-importance, 중요도 증명) 등이 있습니다.

  • POW(작업증명)는 비트코인 등 대다수의 암호화폐가 채택하고 있으며 작업 증명에 필요한 ‘암호화 해시 함수’를 계산함으로써 그에 대한 대가로 암호화폐를 받습니다.
  • POS(지분증명)는 암호화폐를 만들 때나 거래의 수수료를 받을 때 각자 가진 암호화폐 비율에 따라 지급받으며 퀀텀(Qtum) 등에서 채택하고 있습니다.
  • POI(중요도증명)는 거래 실적이 많을수록 더 많은 마이닝 수입과 수수료 수입을 지급하며 넴(NEM) 등에서 채택하고 있습니다.

송금자, 수신자, 송금 금액 등의 정보를 숨길 수 있는 zero-knowledge proof(영 지식 증명)의 경우 Zcash에서 쓰입니다. 영 지식 증명의 경우 개인 키 등의 정보를 직접 제시해 송금자를 확인하는 대신, 여러 번의 질의응답을 통해 일정 횟수 이상 계속 맞는 답을 한다면 송금자로 인정해주는 것입니다.

일반적으로 많이 얘기하는 채굴이란 ‘암호화폐’를 만들어내는 것을 뜻합니다. 고성능 컴퓨터에 채굴 프로그램을 돌려 복잡한 연산을 수행해, 최근 10분간 쌓인 거래 내역을 검증하고 암호화해 저장하는 과정의 대가로 일정량의 코인을 받는 것입니다.

l 비트코인 거래가 추이

위 그래프에서 볼 수 있는 바와 같이 작년(2017년) 연말 1비트 코인이 2000만 원을 넘어가는 등 비트코인 열풍이 일어나면서 사회의 공론의 중심에 서게 되었습니다. 정부의 규제로 블록체인을 활용한 기술 발전을 저해하고 4차 산업의 발목을 잡는다는 의견과 실체가 없는 화폐에 대해, 인류 역사에서 수없이 되풀이됐던 투기 광풍으로 보는 의견이 충돌하여 많은 이슈를 낳았습니다.

암호학과 상관없지만, 다시 이슈의 중심에 서게 된 것은 줄줄이 이어진 가상화폐 거래소의 해킹입니다. 17년 6월 빗썸, 12월 유빗에 이어 올 6월 국내 7위 가상 화폐 거래소 코인레일이 보유한 가상 화폐 계좌에서 펀디엑스, 엔퍼, 애스톤, 트론, 스톰 등 가상 화폐 9종 36억 개가량이 40분에 걸쳐 인출되었습니다. 해킹 당한 가상 화폐 시세는 모두 합하면 400억 원대 규모로 추산됩니다. 3건 모두 스피어피싱으로 당했을 것으로 추정되고 있습니다.

아이러니하게도 블록체인 기술을 이용한 암호화폐는 안전하지만, 그 암호화폐를 관리하는 거래소의 보안 관리 허점으로 인한 보안 사고라고 판단이 됩니다.

④ 양자 암호

2018년 현시점에서 생활 속의 암호는 아니지만, 미래 언젠가는 생활 속의 암호로 자리 잡지 않을까 예상해 보며, 양자 암호가 무엇인지에 대해서 간단히 알아보겠습니다. 암호학도 어려운 분야지만, 양자 컴퓨팅, 양자 암호 또한 못지않게 어려운 분야로 판단됩니다.

양자 암호(Quantum Cryptography)는 안전한 통신을 위한 암호체계이다. 1984년 C. H. Benett과 G. Brassard가 제안했으며, 기존에 있던 대부분 암호체계가 대부분 수학적 복잡성에 기반한데 비해, 양자 암호는 자연현상에 기반하고 있는 특징을 띄며, 암호에 사용되는 원타임 패드를 생성하는 이상적인 방법 중 하나다.

중간에 도청자가 난입할 경우 그 존재가 드러나며, 신호가 왜곡되어 도청자도 정확한 정보를 얻을 수 없는 보안성을 띠고 있다. 다른 말로 양자 키 분배(Quantum Key Distribution) 체계라고도 한다.

※ 출처: 위키피디아: https://ko.wikipedia.org/wiki/양자암호

가까운 미래 ‘꿈의 컴퓨터’라 불리는 양자 컴퓨터가 등장하면 존재하는 모든 정보가 쉽게 해킹이 가능해진다. 현재 기술로 만들어낼 수 있는 암호는 아무리 복잡하더라도 일정한 패턴이 있기 때문이다. 따라서 양자 컴퓨터가 뚫을 수 없는 건 같은 양자 기술을 활용해 해킹이 원천적으로 불가능한 양자 암호 통신뿐이다.

※ 출처: 그레고아 리보디 IDQ 최고경영자(CEO)

국가, 학계, 산업계가 많은 연구와 투자를 하고 있으며, 지난달에는 국내 7개 기업 및 기관이 공동 제안한 양자 암호 통신 네트워크 기술이 ITU 국제표준안으로 승인되었습니다. 국제표준으로 승인된 기술은 양자 암호 통신을 위한 네트워크 구조 및 기능, 양자 암호 통신 네트워크 전송장비 간 인터페이스, 서비스 절차 기술입니다.

지난 2월에 KT가 KIST와 함께 세계 최초로 구축한 일대다(1:N) 양자 암호 통신 시험망의 구조도 표준에 포함되었습니다. 특히 이 국제표준 기술을 활용해 상용 통신망에서 양자 암호 통신을 구축하는 방법과 해킹 시도에 대응하는 시나리오를 도출해 양자 암호 통신의 상용화 발판을 마련했다는 점에서 의미가 크다고 할 수 있습니다.

한편, 양자를 이용한 암호의 안전성과 반대급부로 양자 컴퓨터의 기술 발전에 의해 기존 암호 기술이 위협을 받는 상황이라, 암호를 구현하는 입장에서는 양자 내성 암호 알고리즘에 대한 가이드를 참조하기를 바랍니다.

지금까지 독자의 대부분에 해당되는, 전공을 하지 않은 사람에게는 꽤 어려운 암호학에 대해서 살펴보았습니다. 아래의 영화를 통해 암호를 좀 더 재미있고 친근하게 접해 보는 것도 생활 속의 암호를 즐기는 방법일 거 같습니다.

● 이미테이션 게임(The Imitation Game) 2015년

24시간마다 바뀌는 해독 불가 에니그마의 암호 암호를 풀고 1,400만 명의 목숨을 구한 천재 수학자 앨런 튜링에 관한 영화

● 윈드토커(Windtalkers) 2002년

제2차 세계 대전 중 암호 및 미군과 일본군 사이의 전투를 소재로 한 영화

● 뷰티풀마인트 2002년

노벨 경제학상을 받은 미국의 수학자 존 포브스 내시의 삶을 다룬 영화. 정부 비밀요원 윌리엄 파처를 만나 소련의 암호 해독 프로젝트에 비밀리에 투입되면서 점점 영혼의 미궁 속으로 빠져들어 가게 된다.

● 에니그마(Enigma) 2001년

제2차 세계 대전 중에 독일이 사용한 상당히 우수한 성능을 지닌 암호 작성/해독 기계와 관련한 첩보 영화

● U-571 2000년

제2차 세계 대전 중 암호해독기의 쟁탈 등을 둘러싼 첩보 스릴러. 실화를 바탕으로 한 나바호 인디언의 복잡한 언어를 이용한 전쟁 영화

● 도라 도라 도라(Tora! Tora! Tora!) 1971년

태평양 전쟁 당시 진주만 기습 사건의 성공을 알리는 암호가 제목인 영화.

암호학의 역사를 살펴보면, 암호가 항상 전쟁을 통해 발전해 왔다는 것을 알 수 있듯이, 영화 속의 암호는 모두가 전쟁 속의 작전을 보호하기 위한 적군(전쟁을 일으키는)과 그 암호를 풀고자 하는 아군(평화를 지키고자 하는)의 갈등임을 알 수가 있습니다.

글 l LG CNS 보안컨설팅팀

챗봇과 대화를 할 수 있어요