Proven by Intelligence
보이지 않는 안전을 인텔리전스로 증명하다.
기술 인사이트를 만나보세요.
지난 포스팅에서 ISO/SAE 21434(자동차), ISA/IEC 62443(산업제어시스템), ISO/IEC 27017(클라우드 서비스) 등에서 공통적으로 요구하고 있는 정보보호관리체계에 대한 국제 표준인 ISO/IEC 27001에 대하여 알아보았다면 이번 포스팅에서는 정보 보호를 위한 암호화의 중요성과 키 관리의 중요성에 대해 알아보도록 하겠습니다.
특히 키 관리는 ISO/SAE 21434(자동차), ISA/IEC 62443(산업제어시스템)에서 수많은 IoT 기기들의 인증에 대하여 중요한 역할을 합니다.
암호화의 중요성
ISO/SAE 21434(자동차), ISA/IEC 62443(산업제어시스템)와 같은 국제 표준에서 ISO/IEC 27001의 암호화와 관리 방안을 제시하는 이유는 외부 공격에 의한 정보 탈취를 막고자 함 입니다.
" 정보가 탈취되더라도 해독할 수 없는 무용지물 "
정보통신의 기술이 발전함에 따라 생활이 편리해 진 반면, 대규모 개인정보 유출 사고도 지속적으로 발생하고 있습니다.
개인정보보호 위원회에 따르면 2020년 상반기에만 지난해 전체 대비 3배 많은 건수(1302만3577건)을 기록했습니다. 2017년 101만 5496건, 2018년 534만 5012건과 비교하면 해마다 정보유출 건수는 크게 증가하고 있습니다.
이런 사고의 예방으로 암호화는 선택이 아닌 필수이며 주요 정보의 암호화에 따른 암호키 관리 또한 필수가 되고 있습니다. 암호화는 했지만 암호를 풀 수 있는 키도 같이 유출된다면 무용지물이 될 것입니다.

[그림 1] 암호 키 관리의 중요성
정형/비정형 암호화 뿐만 아니라 애플리케이션에서 관리되는 Database 연결정보(DB Connection String), 인증 정보(Token key, Server 접근 정보 등)와 같은 민감 정보를 식별할 수 없게 해야 합니다.
해당 기술로는 DB 암호화 모듈인 DB Crypto 및 TDE(Transparent Data Encryption)로 Database를 부분 또는 전체를 암호화하고 Spring Cloud Config Server에서 민감정보를 별도 관리 합니다.
이러한 조치도 필요하지만 더욱 중요한 사항은 각종 암호화 모듈에서 사용하는 키들을 KMS(Key Management System)에서 물리적, 관리적으로 안전하게 사용해야 합니다.
암호화 키를 물리적/관리적으로도 안전하게 사용하기 위해 필요한 ISO/IEC 27002의 “10.1.2 키 관리” 지침 및 요구 조건를 보면, MDS인텔리전스의 NeoKeyManager로 모두 적용이 가능합니다.
키 관리의 중요성
현대의 연결된 세상에서 무수한 정보가 생성되고 이리저리 이동하고 여러 위치에 저장됩니다.이런 환경에서 암호화로 데이터가 보호되어 있다면 데이터에 접근할 권한 즉 키에 대한 인증과 통제가 필요합니다.
결국 키는 데이터 보호의 중심에 있으며 데이터의 생성, 저장, 사용, 공유, 보관 기간, 폐기 등과 같은 데이터의 생명주기를 가지게 되며 키도 동일하게 생성, 저장, 보관, 추출, 배포, 폐지, 파기 등 관리적인 프로세스가 생기게 됩니다.
이런 키를 관리하려고 생각하면 주로 HSM(Hardware Security Module)이 떠오릅니다. 하지만 HSM을 경험해 보셨다면 CLI(Common Line Interface) 툴을 통한 어려움을 잘 아실 것입니다.
HSM을 이용하다보면 키의 생성, 저장, 보관, 추출, 배포, 폐지, 파기 등 관리적인 프로세스를 간편화하기가 상당히 어렵습니다.

[그림 2] 키 관리 시스템의 필요성
키를 보호하는 확실한 대안은 HSM을 통해 분리 보관하는 것이긴 하지만 키의 관리적인 측면에서 볼 때 HSM만으로는 부족합니다. 이를 보완하는 대안이 바로 KMS(Key Management System) 솔루션을 사용하는 것 입니다.
MDS인텔리전스의 NeoKeyManager(네오키매니저)는 OASIS의 KMIP(Key Management Interoperability Protocol)를 준용하여 키의 체계적인 관리를 지원하는 솔루션입니다. 암호키 및 인증서 통합 관리 솔루션으로서 다양한 기능을 통해 관리의 편의성을 제공합니다.

[그림 3] Key Management System의 개요
IoT 키 관리의 중요성
IoT의 진화는 스마트 디바이스 에서부터 스마트카, 스마트팩토리, 스마트시티까지 빠른 발전을 거듭하고 있습니다. 또한 이에 따라, 보안 표준도 여러 협력 기구들이 만들어지고 수립되어 가고 있습니다.
여기서 중요한 점은 IoT 영역의 보안의 핵심이 PKI(Public Key Infrastructure, 공개키기반구조)라는 것입니다.
ISO/SAE 21434(자동차), ISA/IEC 62443(산업제어시스템)에서도 수많은 IoT기기의 인증에서 PKI 기술을 사용하도록 되어 있습니다. IoT의 보안은 인증부터 출발합니다. IoT 기기가 연결시 인가 받은 기기인지, 안전한 통신인지, 데이터는 이상이 없는지 등을 인증합니다. 여기서 일반적으로 인증의 기술은 PKI를 사용합니다. PKI에서 사용하는 비대칭 키는 RSA, DSA, EC, ECDSA 가 있으며 IoT의 인증에 맞는 경량 알고리즘인 ECDSA인증서를 IoT에 발행하여 사용합니다.
하지만 폭발적으로 증가하는 IoT 기기마다 각각 인증서를 발행하여 사용하다보면, 결국 키 관리의 문제를 직면하게 됩니다. 그런데 이 때 만약 하나의 인증서를 모든 IoT, 스마트기기에 사용했다면 인증서가 노출되는 순간 더욱 심각한 보안 문제가 발생합니다. 이런 보안상의 문제를 방지하기 위해서는 인증서 발행을 세세하게 분할(Intermediate CA)하여 관리하여야 합니다.

이런 관리는 NeoKeyManager(네오키매니저)를 통해 쉽게 할 수 있습니다.
NeoKeyManager를 도입하여 인증서를 관리할 경우, 스마트 기기의 인증서가 유출이 되더라도 해당 Intermediate CA만 폐기하면 심각한 피해를 줄일 수 있습니다. 물론 IoT 기기 내부에 PUF(Physical Unclonable. Function) 칩을 탑재하여 이와 같은 기술로도 인증서를 안전하게 보관할 필요도 있습니다.
이번 포스팅에서는 ISO/IEC 27001에 나오는 정보보호를 위한 암호화와 키 관리의 중요성을 살펴보았는데요, 중요한 영역인 만큼 좋은 솔루션 도입이 더욱 필요합니다.
다음 포스팅에서는 국제 인증을 얻기 위해 준비해야 하는 암호화 항목에 대해 알아보도록 하겠습니다.
