2024-03-29 16:25 (금)
[암호화 키 관리 A to Z④] 데이터 생명주기 차원의 암호화 키 관리
상태바
[암호화 키 관리 A to Z④] 데이터 생명주기 차원의 암호화 키 관리
  • 길민권
  • 승인 2014.10.08 12:45
이 기사를 공유합니다

데이터 생성부터 폐기까지 생명주기 차원의 암호화 키 관리의 중요성
개인정보 보호에 있어 가장 보편적으로 적용되는 기술은 암호화이다. 이처럼 널리 쓰이는 암호화 기술이 제 역할을 하기 위해서는 한 가지 전제 조건이 만족되어야 한다. 바로 암호화된 데이터와 암호화 키는 물리적으로 안전하게 분리되어 있어야 한다는 것이다. 하지만 이를 제대로 실천하지 못하는 곳이 생각 외로 많다. 암호화를 했음에도 데이터 유출/침해 시도에 번번히 당하는 곳이 늘면서 최근 암호화 키 관리의 중요성이 뜨는 이유다. 연재를 통해 전사 차원의 암호화 키 관리 방안을 살펴보겠다.
 
<연재 순서>
1. 암호화 키 관리 및 공격 유형
2. 암호화 키 관리 권고 사항
3. HSM 도입의 가장 중요한 판단 기준 ‘FIPS 140-2’
4. 데이터 생성부터 폐기까지 생명주기 차원의 암호화 키 관리
5. 온 프레미스와 클라우드 간 암호화 및 키 관리 연계 전략
 
암호화란 무엇일까? 오늘 날 국내 보안 시장은 DB 암호화로 인해 진실이 곡해되고 있다. 암호화 대상은 방대하고 그 중심에는 키 관리가 이루어져야 한다. 암호화의 개념과 원리는 매우 간단한데 기업에서 이루어지는 암호화는 특정 시점과 지점에 한정되어 있는 경우가 태반이다.
 
◇암호화 바로 보기
암호화를 제대로 이해하기 위해서는 먼저 2014년 현재 암호화의 기능과 역할이 어떻게 바뀌었는지를 살펴야 한다. 근대적 암호화는 키가 중심에 있다. 이이 비해 과거에는 알고리즘에 무게가 더 실렸다. 즉, 예전에는 알고리즘 그 자체가 관심사였고 어떤 알고리즘을 썼는지가 중요했다. 그러던 것이 암호화 대상이 늘면서 자연스럽게 암호화된 데이터를 푸는 데 쓰이는 열쇠에 무게가 실리고 있다. 암호화 알고리즘이란 것은 결국 공개된 표준이기 때문에 이를 따지는 것은 사실 큰 의미가 없고 열쇠를 어떻게 만들고. 저장하고. 관리할 것인지가 중요하다는 인식의 변화가 온 것이다.
 
그렇다면 근대적 암호화와 키 관리는 어떻게 이해해야 할까? 오늘 날 IT 환경을 묘사할 때 ‘연결된 세상’이란 표현을 많이 한다. 이처럼 오늘 날 기업에서 만들어지고, 이리저리 전달하는 데이터는 모두 연결을 통해 이동하고 여러 위치에 저장된다. 이처럼 연결을 전제로 할 때 암호화로 데이터의 보안을 확보한다는 것은 결국 해당 데이터에 접근할 수 있는 권한 즉, 키에 대한 인증과 통제 활동을 하는 것을 뜻한다. 정리해보자면 근대적 암호화란 결국 키를 통해 데이터 오너십(ownership)을 가진 사용자에 대한 인증과 통제를 하는 일련의 활동 전체를 뜻한다.


▲그림 1. 암호화 알고리즘과 키의 상관 관계
 
◇암호화 대상이 늘고 있는 배경
키가 암호화의 중심에 위치한 데에는 암호화 대상 증가란 배경이 자리하고 있다. 암호화 대상이 늘면 암호화 된 데이터를 누구와 공유할 것인지 오너십은 누구에게 주어져 있는지 등을 정하는 일이 점점 더 복잡해지고 어려워 진다. 문제는 규제가 강화되면서 암호화 대상이 정형 데이터에서 비정형 데이터까지 확대되고 있다는 것이다. 더불어 데이터 유출 방지에 대한 감사 기준이 강화 되고 유출 시 져야 하는 책임까지 확대되고 있다. DB 암호화와 같이 특정 데이터만 암호화를 해서는 규제에 도저히 대응할 수 없는 상황이 벌어지고 있는 것이다. 이런 이유로 데이터 접근 관리 강화, 키 관리 등 포인트 솔루션이 아니라 플랫폼 차원의 접근에 관심을 보이는 기업들이 늘고 있다.
 
◇암호화 데이터가 위치하는 모든 곳
플랫폼이란 기반을 토대로 암호화 대상을 늘려야 하는 이유는 분명하다. 데이터는 생성, 저장, 사용, 공유, 장기 보관, 폐기라는 일련의 생명주기를 가진다. 오늘 날 규제 강화 방향을 볼 때 데이터 암호화는 생명주기 전체에 걸쳐 수행되는 쪽으로 적용 방식이 변하고 있다. 우리가 익히 잘 아는 DB 암호화는 생명주기 차원에서 보면 극히 일부만 보호할 뿐이다. 기업에서는 동일한 데이터가 여러 번 복제되어 있거나, 동일 데이터가 매초 비즈니스 트랜잭션을 타고 여러 사용자에게 전달된다. 즉, 특정 위치만 지키는 것은 무의미하다. 데이터가 있는 모든 곳에 대해 암호화를 고려해야 한다. 이를 위해서는 먼저 암호화 된 데이터의 위치를 구분하는 기준이 있어야 한다. 기업에서 보호해야 하는 데이터는 그 위치를 크게 세 곳으로 나눌 수 있다.


▲그림 2. 암호화 데이터, 키, 사용자의 다양한 위치
 
-라이브 데이터: 간단히 말해 '움직이는' 데이터다. 비즈니스 애플리케이션과 데이터베이스 그리고 각종 서비스에 있는 데이터를 라이브 데이터라 구분할 수 있다. 이들 데이터는 특정 위치에 저장되어 있기도 하지만 비즈니스 트랜잭션 관점에서 데이터가 오가고, 참조된다고 보는 편이 맞다. 따라서 라이브 데이터를 보호하기 위해 적용해야 할 암호화는 다음과 같이 다양하다.
 
·데이터베이스 암호화
·애플리케이션 (API 방식 암호화) 암호화
·파일 서버 암호화
·중요 정보 토큰화 (Tokenization)
·전용선 암호화 (L2 기반 통신 암호화)
 
-저장된 데이터: 말 그대로 '스토리지에 저장되어 있는' 데이터다. 엔터프라이즈에서 사용되는 NAS나 SAN 장비에는 무수히 많은 데이터가 저장된다. 여기에 저장되는 정형, 비정형 데이터를 안전하게 보호하기 위해서는 네트워크 기반 스토리지 암호화가 필요하다.
 
-가상화 환경의 데이터: 가상화 인프라에 담기는 모든 데이터를 의미한다. 가상 머신에 연결된 가상 디스크를 보호하는 것은 기본이다. 오늘 날 기업은 다음과 같은 사항을 포괄하는 관점에서 암호화를 고려해야 한다.
 
·사설 클라우드 내 가상 머신
·공용 클라우드 기반 SaaS
 
◇생명주기 차원의 암호화 키 관리 방안
앞서 소개한 데로 암호화 대상 데이터와 키는 매우 다양한 위치에 존재한다. 이를 일관성 있게 관리하려면? 생명주기 관점에서 적재적소에 맞는 기술과 방법이 적용되어야 한다. 데이터는 생성, 저장, 사용, 공유, 장기 보관 등 시점에 맞는 암호화 방식이 적용되어야 하고 키는 암호화 알고리즘이나 방식과 독립적으로 전용 HSM(Hardware Security Module)로 관리해야 한다. 필자가 고객에게 자주 질문을 받는 상황을 예로 간단히 설명하겠다. 다시 한번 강조하지만 암호화는 데이터의 종류, 위치, 중요도를 감안해 선택적으로 적용되어야 한다. 모든 것에 맞는 방식은 존재하지 않기 때문이다.


▲그림 3: 데이터 생명주기와 다양한 암호화 기법
 
-상황1: 외주 개발자로부터 데이터 보호
신규 시스템을 개발할 때 100% 내부 인력만 쓸 수 있는 곳은 없다. 외부 인력 투입은 그 규모가 다를 뿐 다들 같다. 가끔 대규모 보안 사고가 개발 시점에 발생하곤 하는 데 이에 대한 가장 확실한 보안 대책은 바로 토큰화(Tokenization)이다. 개발자에게 어떤 데이터가 전달되던 신경 쓸 필요가 없다.
 
-상황2: 비즈니스 트랜잭션 보호
사내 시스템을 통해 이루어지는 비즈니스 트랜잭션이 지사나 지점, 파트너나 고객까지 활발히 이루어지는 경우 가장 이상적인 방법은 API 방식의 암호화를 하는 것이다. 참고로 N-티어 구조로 시스템을 설계 할 때 어떤 미들웨어를 쓰건 상관 없이 API를 연결하는 방법으로 간단히 애플리케이션 수준의 암호화가 이루어져야 한다. 애플리케이션 단위로 하드 코딩 스타일은 피해야 한다.
 
-상황3: BYOD 데이터 보호
최근 사용자들이 쓰는 기기들이 늘면서 해당 기기에 저장되는 정형, 비정형 데이터 보호에 기업들의 관심이 커지고 있다. 엔드포인트 암호화의 경우 최신 SSD의 경우 하드웨어 차원의 암호화를 지원하는 제품이 많다. 이 기능을 윈도우 운영체제가 지원하는 암호화 기능인 비트라커(BitLocker) 등과 연계하면 엔드포인트 암호화를 효과적으로 수행할 수 있다. 단 전제 조건은 암호화 키는 별도의 저장소에 안전하게 보관해야 한다는 것이다.
 
-상황4: 본사, 지사, 공장에 위치한 모든 DB 암호화
모든 시스템이 본사에만 있지 않고 여기저기 물리적으로 떨어진 곳에 분산되어 있을 경우 플러그인 방식의 DB 암호화는 현실적이지 않다. 지사, 사무소 등 모든 곳에 DB 암호화 솔루션을 다룰 수 있는 인력이 있다면 문제될 일 없지만 현실은 그렇지 않다. 설치와 구축까지야 어떻게 한다 해도 원활한 운영은 쉽지 않다. 이처럼 암호화 대상 DB가 지리적으로 분산되어 있을 경우 오라클이나 마이크로소프트 SQL 서버를 쓴다면 TDE를 이용하는 것이 합리적이다. DB의 기본 기능을 통해 암호화를 수행하고 보안 팀은 HSM만 관리할 경우 인력과 비용 등 여러 이슈를 동시에 해결할 수 있다.
 
-상황5: 가상 머신 보호
가상화 인프라가 갖는 이점 중 하나로 ‘이동성(Mobility)’를 꼽는다. 가상 머신을 쉽고 빠르게 마이그레이션 할 수 있다는 점은 관리자들에게 있어 매우 매력적이다. 하지만 이런 이동성이 보안 허점이 된다면 이야기를 달라진다. 가령 스냅샷을 떠 개별 가상 머신을 백업할 때 이미지가 유출된다면? 해커가 자신이 마련한 호스트로 해당 가상 머신을 간단히 띄워 원하는 정보를 뽑아 낼 수 있다. 이를 막으려면 가상 머신을 암호화 해야 한다. 가상 머신 볼륨 전체를 암호화 하고 이를 다른 호스트 상에 올리려 할 때 부팅 단계에서부터 관리자 인증을 수행하고 이후 키를 이용해 복호화 하는 이중 장치가 있다면 가상 머신의 이동성을 살리면서 안전한 보호가 가능하다.
 
<★정보보안 대표 미디어 데일리시큐!★>
 
[글. 세이프넷코리아 박종필 이사]
■ 보안 사건사고 제보 하기

▷ 이메일 : mkgil@dailysecu.com

▷ 제보 내용 : 보안 관련 어떤 내용이든 제보를 기다립니다!

▷ 광고문의 : jywoo@dailysecu.com

★정보보안 대표 미디어 데일리시큐 / Dailysecu, Korea's leading security media!★