Proven by Intelligence
보이지 않는 안전을 인텔리전스로 증명하다.
기술 인사이트를 만나보세요.
이전 기술 노트에서 IEC6443에서의 키 관리와 키 관리 시스템(Key Management System, KMS)의 기능 요건에 대해 알아 보았습니다.
이번 기술 노트에서는 산업제어시스템(Industrial Control System, ICS)에서 키 관리 시스템을 구축할 때 고려해야 할 사항에 대해 알아 보겠습니다.
이전 기술 노트에서 설명 드린 바와 같이 IEC62443에서 제시하고 있는 키 관리 시스템의 기능 요건에 따라 적절한 키 관리 솔루션을 선정해야 합니다. 이를 위한 최적화된 키 관리 솔루션이 바로 NeoKeyManager입니다.
산업제어시스템에서 키 관리 시스템이 필요한 이유와 NeoKeyManager가 최적의 키 관리 솔루션인 이유를 다음의 질문을 통해 알아보도록 하겠습니다.

Q1. 주기적인 암호 키 변경은 어떻게 할 것인가?
─
산업제어시스템에서 가장 큰 이슈는 키 관리 문제이고, 키 관리에서 가장 중요한 것은 주기적인 키 변경입니다. 제어시스템은 지리적으로 광범위하게 분포되어 있으므로, 주기적인 키 변경이 더욱 어려운 것이 현실입니다. 키를 변경하기 위해 사이트를 방문하는 것은 비용이 많이 들고, 시간이 많이 걸립니다.
이러한 이유로 IEC 62443에서는 원격으로 키를 변경하는 것을 유용한 해결 방법으로 제시하고 있습니다.
NeoKeyManager(네오키매니저)는 키 변경 주기에 맞게 키를 갱신하여 원격 사이트에 자동으로 배포합니다.

Q2. 암호 모듈은 어떤 것을 사용해야 하는가?
─
암호 키를 생성하기 위해서는 효과적인 암호 모듈을 사용해야 합니다. 국제적으로는 NIST/CSE 암호 모듈 검증 프로그램(CMVP)이며, 국내에서는 KCMVP입니다.
자체 개발한 암호 모듈을 사용하여 암호키를 생성한다고 하더라도, 국내의 경우, KCMVP 검증이 없다면, 해당 암호키는 무용지물입니다. IEC62443에서도 CMVP 검증을 받은 암호 모듈을 사용하는 것이 필수입니다.
그러므로 국내에서는 KCMVP 검증 암호 모듈을 사용하여 암호키를 생성해야 하며, NeoKeyManager는 KCMVP검증을 받은 암호 모듈(XecureCrypto v2.0.1.1)을 사용하고 있습니다.

[그림 1] NeoKeyManager에서 사용하는 암호 모듈(KCMVP 검증필)

Q3. 암호 키 배포를 위한 통신 암호화는 어떻게 할 것인가?
─
이전 산업제어시스템에서는 내부 네트워크 내에 있는 장치 간의 데이터 전송이므로, 암호화가 필요 없었습니다. 하지만, 현재의 산업제어시스템은 네트워크 장치와 외부 인터넷 사용의 증가로 인해 통신 암호화가 필요하게 되었습니다. 인터넷을 통해 산업제이서시틈의 중요 정보나 제어 데이터가 전달되는 경우, 데이터의 기밀성과 무결성을 보장하기 위해 통신 암호화가 필수이며, 갱신한 암호 키 또한 통신 암호화를 통해 안전하게 배포되어야 합니다.
통신 암호화를 위해서는 VPN을 도입하거나, TLS 통신을 이용하는 등이 필요합니다.
NeoKeyManager를 도입하면, 별도 솔루션 도입 없이 원격 사이트와 NeoKeyManager 간 TLS 보안 통신을 통해 안전하게 키를 배포할 수 있습니다.


Q4. 어떤 암호 알고리즘을 사용하고, 키 길이는 어느 정도가 적당한가?
─
일반적으로 NIST(National Institute of Standards and Technology, 미국표준기술연구소)에서 권장하는 암호 알고리즘과 키 길이를 많이 사용하고 있습니다.
어떤 암호 알고리즘을 사용하더라도 보안 강도를 높이기 위해서는 키 길이가 점점 늘어나야 합니다.
국내에서도 키 관리 시스템 도입을 위한 제안요청서에 키 관리 시스템은 대칭키 128bit 보안 강도를 가지는 RSA와 ECC 키 길이를 지원하도록 하고 있습니다.

산업제어시스템은 HMI(Human Machine Interface) 응답 시간을 포함한 시간이 중요한 성능이며, 제한 없이 수행되어야 합니다. 이러한 시스템 장비에 공개키 암호화를 사용하는 데는 많은 제약이 있습니다.
그 이유는 공개키 암호화를 사용하기 위해서는 키의 보안 강도를 높이기 위해 키 길이가 매우 길어야 하고, 연산을 위해 장비에 메모리가 추가로 필요하며, 연산 수행 시간이 많이 걸리는 단점이 있습니다.
이러한 공개키 암호화 적용의 단점을 해결하기 위해서는 최신 공개키 알고리즘인 ECC(타원 곡선) 알고리즘을 사용하면 됩니다.
따라서 ECC 알고리즘을 지원하는 NeoKeyManager를 사용하면 이러한 이슈를 해결할 수 있습니다.
NeoKeyManager는 다음의 암호 알고리즘과 키 길이를 지원합니다.


Q5. 부적절한 사용 가능성을 줄이기 위해 키의 활성화와 비활성화 날짜를 정의하여
키 관리 정책에 정의된 기간 동안만 키를 사용할 수 있도록 해야 하는 요건은 어떻게 만족시킬 것인가?
─
키 관리 시스템 없이 자체 암호키를 생성하는 경우, 키의 속성 중 활성화 및 비활성화 날짜를 속성에 추가하는 작업이 필요합니다. 이를 구현하는 것은 많은 개발 시간과 인력, 비용이 드는 일입니다.
키 관리를 위한 국제 표준 프로토콜인 KMIP(Key Management Interoperability Protocol)을 사용하여 암호키를 생성하면 이러한 이슈를 해결할 수 있습니다.
KMIP은 키를 생성 및 관리하는 키 관리 시스템과 다른 암호화 솔루션, 어플리케이션 간에 쉽고 원활하게 연동을 지원하고, 키 생성, 갱신부터 파기까지의 키 라이프사이클 관리를 용이하게 합니다. 또한 KMIP은 키의 활성화와 비활성화 날짜를 포함한 다양한 키 속성들을 정의하고, 관리할 수 있습니다.
KMIP을 적용하지 않은 키 관리 시스템은 특정 솔루션에 대한 의존성이 높아져 기존 또는 신규 암호화 시스템 구성 시 어려움이 발생하고, 키 관리 시스템과의 연동을 위한 API 추가 개발 및 관리 비용이 많이 들며, 제조사의 기술 지원이 불안정하다면, 안정적인 시스템 운영 관리가 불가능합니다. 또한 키 관리 시스템과 각 시스템 간의 상호 연동성이 크게 낮아져 키 통합 관리가 복잡해지는 문제가 발생합니다.
NeoKeyManager는 국제 키 관리 표준 프로토콜을 준수한 제품으로 다른 암호화 솔루션과 DB, 어플리케이션 간의 높은 호환성을 제공합니다. 또한 NeoKeyManager는 KMIP v1.2 ~ KMIP v1.4를 채용한 제품 간의 호환성 테스트 결과서를 보유하고 있습니다.

[그림 2] 국제 키 관리 표준 프로토콜(KMIP)을 준수하는 NeoKeyManager

Q6. 공개 키 인증서를 받기 위한 등록에는 감독자 또는 담당 공무원의 승인이 포함되어야 하며, 신원을 확인하는 보안 프로세스를 사용하여 완료되어야 합니다. 또한 인증서 보유자의 권한을 부여하고 인증서가 의도된 당사자에게 발급되었는지 확인이 필요합니다.
이를 위한 방법은?
─
키 관리 시스템 없이 인증서에 대한 승인 프로세스와 인증서 배포 등을 하려면, 별도의 승인 프로세스를 구축하고, 안전한 인증서 배포를 위한 보안 통신을 마련해야 하며, 인증서 보유자에 대한 권한을 부여하는 작업이 필요합니다.
NeoKeyManager는 최상위 관리자, 그룹 관리자, 감사자의 사용자 별 ID를 생성하고, 최상위 관리자에 의해 등록된 사용자만이 암호화 주체를 등록할 수 있습니다. 또한 암호화 주체 등록 및 암호키 생성 등은 최상위 관리자 승인 처리 후에 사용이 가능합니다.

[그림 3] NeoKeyManager의 승인 처리 프로세스

Q7. 암호 키를 안전하게 별도 보관하는 방법은?
─
암호화 솔루션에서 암호키를 생성하고, 해당 솔루션에 보관하는 것은 단지 물리적으로 분리된 서버에 보관하는 것이지 안전하게 보관하는 방법은 아닙니다. IEC62443에서는 암호키 보관을 다음과 같이 설명하고 있습니다.
"
암호 키는 물리적으로 안전하게 별도 보관되어야 한다.
대표적인 보관 장소는 HSM(Hardware Security Module)이다.
"
그럼 HSM만 사용하면, 앞서 설명 드린 모든 질문에 대한 답이 될까요?
답은 “그렇지 않다”입니다.
물론 HSM은 물리적으로 안전하게 암호키를 보호해 주시는 것은 사실입니다. 하지만, HSM과 암호 솔루션 간에 연동하는 것이 어려우며, 이 연동을 하는 주체는 도입하는 고객사의 개발자가 수행해야 하고, HSM은 키 관리 기능이 없습니다.
NeoKeyManager는 FIPS 140-2 Level 3 인증을 받은 HSM을 탑재한 솔루션이며, 내부에서 생성한 암호키는 HSM을 통해 안전하게 보관하고 있습니다.

[그림 4] NeoKEyMAnager에 탑재된 HSM의 FIPS 140-2 Level 3 인증
지금까지 총 3회에 걸쳐 산업제어시스템의 보안 국제 표준인 IEC62443에 대해 알아보았습니다.
IEC 62443(산업제어시스템 보안 국제 표준) ⑴ - IEC 62443 이란?
IEC 62443(산업제어시스템 보안 국제 표준) ⑵ - IEC 62443에서의 키 관리와 키 관리 시스템의 기능 요건
IEC62443에서는 시스템 내의 자산과 정보를 보호하기 위한 보안 정책과 시스템 전반의 보안 프로세스를 제시하고 있습니다.
보안 프로세스 중에서도 내부 정보를 보호하기 위해서는 암호화가 필수이며, 암호화를 효과적으로 적용하기 위해서는 더더욱 키 관리 시스템이 필요합니다.
키 관리 시스템 도입을 검토 중이시라면...
IEC62443에서 제시하고 있는 키 관리 시스템의 기술 요건을 모두 만족하고, 키 관리 기능과 사설인증체계 구축 기능 등의 다양한 기능을 제공하고, 검증된 암호 모듈 및 HSM을 탑재한 NeoKeyManager가 최적의 솔루션이 될 것입니다.
