본문 바로가기
  • (개인)정보보호/최신ICT 정보 공유 블로그
(부제) 나는 CISO 이다/SecureDog 프로젝트

암호화의 개요

by 노벰버맨 2022. 4. 1.

제1절 암호화의 개요

제1항 암호화의 개요

암호화는 정보를 즉시 접근할 수 없도록 감추는 기술이라고 볼 수 있으며 정보화 시대 훨씬 이전부터 민감하거나 중요한 정보를 보호하기 위해 사용되어 왔으며 이러한 암호화와 관련된 수단, 기법 등을 연구하는 학문을 암호학이라고 한다.
암호화는 송수신 또는 저장된 정보를 해독할 수 없도록 정보를 비밀 코드로 변환하는 기법이다. 기본적으로 알고리즘을 사용해 데이터를 변환하게 되며, 이렇게 변환된 데이터를 수신하는 측은 해독 키를 사용해 데이터를 해독한다. 암호화되지 않은 메시지를 '평문'이라 하고 암호화된 메시지를 '암호문'이라 부른다.
가장 간단한 암호화 기법은 대치 암호이다. A, B, C 등의 알파벳 글자를 다른 글자로 변환하는 방식이다.

[표] 대치 암호 예시

원문 a b c d e f g h i j k l m
대치문 t u v w x y z a b c d e f
원문 n o p q r s t u v w x y z
대치문 g h i j k l m n o p q r s

[그림] 암호화 예시

이는 아주 간단한 암호화의 예이며 많은 역사서에서 암호화 사례를 쉽게 발견할 수 있다.  고대 사회에서는 황제가 지방관리에게 보내는 비밀문서, 전쟁이나 첩보와 관련된 정보를 전달하기 위해 종이에 쓴 메시지가 평상시에는 보이지 않지만 불빛을 비추면 보이는 방법 등 다양한 비밀통신 기법을 사용했다. 하지만 이러한 방식은 적들도 통신방식을 알 경우 쉽게 내용이 유출될 수 있는 문제점을 가지고 있다.
암호화는 17세기 근대 수학의 발전과 함께 발전하기 시작하여 20세기 두 차례의 세계대전을 통해 암호에 대한 필요성이 높아지고 암호에 대한 연구가 더욱 활발하게 진행되었다. 2차 세계대전에서 독일군이 애니그마(Enigma)를 이용하여 복잡한 암호화를 수행하고 연합군이 고급분석을 통해 암호문을 유추한 것과 같이 정보가 유출, 도청되더라도 원문의 내용을 알아보지 못하도록 하는 방향과 적의 암호문으로부터 패턴을 찾아 원문을 알아보기 위한 방향으로 발전하였다. 그러나 암호화가 반드시 수학을 기반으로 할 필요는 없다. 2차 세계대전에서 미군은 미국 원주민의 언어인 코만치(Comanche)와 나바호(Navajo)와 같은 코드 토커(code talkers)를 사용했다. 이들 언어로 대화하면, 암호 화자는 무선을 통해 명령 및 기타 정보를 전달할 수 있지만 독일, 이탈리아, 일본 군대는 전송된 내용을 쉽게 가로챌 수 있지만 아메리카 원주민 화자에게 접근할 수 없기 때문에 해독할 수 없었다.
현대암호에서는 종래의 대칭키 암호방식이 아닌 공개키 암호방식을 이용하여 공개키와 비밀키로 구성된 한 쌍의 키를 생성하고, 공개키는 공개하고, 비밀키는 사용자가 안전하게 보관하여 불특정 다수 간에 비밀키를 공유하지 않고 암호 통신을 할 수 있게 되었다. 또한 이전의 암호 방식에서는 사용하는 키뿐만 아니라 암호 알고리즘도 비밀로 하였으나 현대 암호에서는 암호 알고리즘을 공개하여 공개적으로 안전성을 검토할 수 있도록 하고 있다.
양자컴퓨터에서 사용 가능한 양자 기반 알고리즘인 Shor알고리즘은 인수분해 문제의 해결 속도를 감소시켜 RSA, ECC 등 인수분해 및 이산대수 기반의 공개키 암호 알고리즘을 더 이상 사용할 수 없게 한다. 또한, Grover알고리즘은 정렬되지 않은 데이터베이스의 원소를 검색하는 속도를 향상시켜 대칭키 암호는 키 사이즈를 2배, 해시 함수의 출력길이를 3배 증가시켜야 기존의 안전성을 가질 수 있게 된다. 이러한 환경의 변화에 따라 기존 암호 기술의 한계를 극복하기 위해 양자 내성 암호, 동형암호, 형태보존암호, 경량암호 등이 연구되고 있다.
조직 및 기업의 저장매체에는 성명, 비밀번호, 주소, 연락처, 주민등록번호 등과 같은 직원 또는 고객의 개인정보와 조직 및 기업의 재정 상태, 영업 기밀, 신기술 노하우 등 승인된 소수의 사람으로만 접근이 제한되어야 하는 데이터가 상당히 많다. 암호화는 이러한 중요한 데이터에 대한 기밀성 또는 무결성을 훼손시키는 사이버 범죄의 위협을 보호하는 가장 좋은 방법이다.
암호화는 4차 산업혁명시대와 정보화에서 중요한 역할을 담당한다. 정보통신기술이 발전하면서 많은 데이터들이 끊임없이 수집되고 사물인터넷이 활성화되어 모든 기기가 연결되는 초연결의 시대가 도래하였다. 기술의 발달로 우리 일상은 편리해지고 있지만, 한편으로 개인정보 유출 등 보안위험도 높아지고 있다. 조직 및 기업에서는 보안위험을 낮추기 위해 생체인증 등 다양한 보호대책이 개발되고, 정보보호 전문가 고용 등 다양한 정보보호 방안들을 고려하고 있으며 비즈니스 활동을 하면서 수집, 저장, 이용되는 중요정보를 안전하게 보호하기 위해 데이터베이스, 단말기 내의 중요 정보를 암호화 저장하거나 IPSec, SSL 등을 통해 전송 중인 중요정보를 보호하기 위해 암호화를 사용하고 있으며 암호화 특징은 다음과 같다.

[표] 암호화 특징

특징 기술 설명
인증 X.509 사용자 신원 확인
기밀성 DES, AES, SEED 송수신자 외 내용 열람 불가
무결성 MD5, SHA-2 정보 조작 또는 임의 변경 불가
가용성 암호/인증 정보 요구 시 서비스 제공
부인방지 PKI, 전자서명 송수신 사실 부인 불가

보안전문가들은 침해사고와 랜섬웨어 등의 보안위협에 대해 인지하고 이러한 보안위협을 차단하기 위해 노력하고 있으나 여전히 이러한 공격들은 지속적으로 발생하고 있는 추세이다.
지속적으로 증가하는 보안위협을 막기 위해, 조직 및 기업은 많은 투자와 노력을 기울이고 있지만 끊임없이 취약점을 연구하고 공격기회를 노리는 해커들의 공격을 완벽하게 막는 것은 불가능에 가까운 일이다. 하지만 보호하려는 데이터를 암호화함으로써 사고 발생시 데이터를 무의미하게 만든다면, 보안위협에 대한 대응방안으로 최선의 방안이기 때문에 암호화는 클라우드 및 온프레미스 환경에서 산재된 데이터를 내·외부 위협으로부터 민감한 고객의 데이터를 안전하게 지킬 수 있는 필수 불가결한 선택이다.
국가와 조직 및 기관 등이 개인정보보호의 중요성을 인식함에 따라, GDPR (Global Data Protection Regulation), CCPA (California Consumer Protection Act), ISMS-P (Information and Privacy Security Management System), PIA (Privacy Impact Assessment) 등과 같은 컴플라이언스를 제정하고 있다.
암호화는 이러한 컴플라이언스를 준수하기 위해 중요한 요소 기술이다. 중요하고 민감한 데이터도난 시, 데이터를 무용지물로 만듦으로써, 데이터 보호라는 컴플라이언스 요건을 충족시킬 수 있으며 파트너, 협력사 또는 지사 간의 데이터 공유 시 민감한 데이터의 마스킹 처리 또는 토큰화 등과 같은 방법을 통해 컴플라이언스 요건을 준수할 필요가 있다.
생체정보란 지문, 얼굴, 홍채, 정맥, 음성, 필적 등 개인의 신체적, 생리적, 행동적 특징에 관한 정보로서 특정 개인을 인증 식별하거나 개인에 관한 특징(연령, 성별, 감정 등)을 알아보기 위해 일정한 기술적 수단을 통해 처리되는 정보를 의미하며 이중에 특정 개인을 인증, 식별하기 위한 목적으로 처리되는 정보를 생체인식정보라 한다. 지문, 홍채를 이용한 스마트폰 잠금 해제, 안면인식을 활용한 출입통제, 음성 기반 AI 비서 서비스 등 다양한 분야에서 생체정보를 활용한 인증 식별 서비스가 증가하고 있다. 반면에 최근 생체정보가 유출되거나 위∙변조되는 사례가 발생하면서 국민의 우로도 높아지고 있어 EU 등 주요 국가들은 생체인식정보를 보호하기 위한 원칙 등을 담은 가이드라인 등을 발표하고 있다.

제2항 암호화의 원리

암호화는 송수신 또는 저장된 정보를 해독할 수 없도록 정보를 비밀 코드로 변환하는 기법이며 기본적으로 알고리즘을 사용해 데이터를 변환하는 암호화를 하게 되며, 이렇게 변환된 데이터를 수신하는 측은 동일한 알고리즘을 사용해 데이터를 복호화 하게 된다. 암호화되지 않은 파일에 포함된 변환되지 않은 메시지는 평문으로, 암호화된 형식의 메시지는 암호문으로 부른다.
암호화는 인류가 기록을 시작한 이래로 다양한 유형으로 존재해 왔습니다. 고대 그리스인들은 '스키테일'이라는 도구를 사용해 메시지를 암호화했고, 제2차 세계대전에서는 독일이 그 유명한 '에니그마' 장비를 사용해 군사적 통신을 보호했다. 현대의 암호화 기술은 크게 대칭 키 알고리즘과 비대칭 키 알고리즘의 2가지 유형으로 구분되는 양방향 암호화 알고리즘과 단방향 알고리즘으로 구분된다.
이론적으로는 암호화 키 없이도 암호화된 파일을 해독하는 것이 가능하다. 하지만 안전하도록 설계된 암호화 체계를 무너뜨리려면 '무차별 공격'이라는 용어가 의미하는 것처럼 엄청난 양의 연산 능력이 필요하다. 최신 암호화 방식을 강력한 암호키와 결합해 사용하면 무차별 공격을 잘 방어할 수 있지만, 컴퓨터 성능 및 암호 해독에 대한 기법이 점점 더 개선되고 있어 미래에는 공격에 취약해질 가능성이 높아질 수 있다.
암호화의 발전사를 보면 1세대 암호는 PASSWORD이다. 단순히 문자를 다른 문자로 바꾸거나 순서를 바꾸어 암호문을 만들었으며 이후 2차 세계대전에서 무선통신이 발달하면서 2세대 암호인 대칭키 암호가 사용되었다. 평문을 암호화키 A(A Key)로 암호화하여 암호문을 만들고 암호문을 다시 암호화키 A(A Key)로 복호화 해 평문 결과로 바꾸는 과정을 거치는데 여기서 암호화와 복호화에 같은 키를 사용하여 대칭키 암호라고 부른다.
그러나 대칭키 암호를 사용할 경우 암호화키를 수신자에게 전달해야 하는 문제점 때문에 키 관리가 어렵다는 단점이 있다. 이러한 단점을 보완하여 3세대 암호인 공개키 암호가 개발되었다. 암호화 키와 복호화 키를 다르게 사용하는 방식인데 개인키 A는 키 보유자만 가지고 있고, 공개키 B는 상대방에게 전달하거나 파일 서버 등에 올려 공개하여 이용하게 되며 공개키로 암호화하여 전달한 평문을 개인키로 복호화 하거나, 개인키로 암호화하여 전달한 평문을 공개키로 복호화 하는 형태로 사용할 수 있다. 많은 양의 데이터를 복호화 하는 것은 기술적, 비용적으로 큰 손실을 유발하고 컴퓨팅 활용에도 제약을 갖는다. 4세대 암호인 동형암호(HE, Homomorphic Encryption)는 암호화된 정보들을 이용하여 분석을 수행할 수 있어 복호화 하는 과정을 줄일 수 있는 기술이며 현재 동형암호 상용화를 위해 연구 중에 있다.

[표] 암호화 원리 개념도 및 설명

암호화 원리 개념도 설명
대치 암호
(Substitution)

글자 간 매칭 테이블을 이용하여 대체
전치 암호
(Transposition)
문자열 위치를 변경하여 문자의 순서를 무작위 규칙에 따라 변경
확장
(Expansion)
무의미한 문자 삽입
압축
(Compaction)

문자열 중 일부 문자를 삭제
혼돈과 확산
(Confusion & Diffusion)
혼돈: 평문과 암호문의 상관관계를 숨기는 성질
확산: 평문에서의 문자 빈도특성을 없애는 성질
블록 암호
(Blocking)
블록 단위로 암호화
스트림 암호
(Stream)
연속적인 비트 또는 바이트를 순차적을 암호화

'(부제) 나는 CISO 이다 > SecureDog 프로젝트' 카테고리의 다른 글

마이크로세그먼테이션  (0) 2022.04.08
제로 트러스트  (0) 2022.04.08
권한 부여 (인가, Authorization)  (0) 2022.03.27
인증과 권한 부여  (0) 2022.03.27
접근통제 메커니즘  (0) 2022.03.18

댓글