Key Management Service 개념
    • PDF

    Key Management Service 개념

    • PDF

    Article Summary

    Classic/VPC 환경에서 이용 가능합니다 .

    Key Management Service의 원활한 이용을 위해 암호화 및 암호화 키와 관련된 다양한 기본 개념을 설명합니다.

    데이터 암호화

    데이터 암호화란 임의의 키를 사용하여 평문 데이터를 해석이 불가능한 암호문 데이터로 변환하는 것을 말합니다. 사용자는 암호문 데이터에 적합한 키를 사용하여 복호화 과정을 거친 후 원래의 평문 데이터를 얻을 수 있습니다. 이 때 가장 중요한 요소는 바로 '키'입니다. 키를 안전하게 보호한다면 인가되지 않는 방법을 통한 평문 노출은 거의 불가능하다고 알려져 있습니다.
    데이터를 주고 받고자 하는 송·수신 양측이 안전하게 공유된 키를 서로 알고 있을 경우 키를 이용하여 암/복호화 통신을 하게 되면 데이터의 기밀성을 보장할 수 있습니다. 통신에서 송·수신 간 키를 안전하게 공유하여 데이터를 암/복호화 하는 방법은 다양할 수 있지만 일반적으로 잘 알려진 SSL/TLS 프로토콜을 이용합니다.

    키 생명 주기

    데이터 암호화 시 사용하는 암호화 키는 생성되어 소멸되는 일련의 생명 주기를 가집니다. 생명 주기에 따라 사용 가능, 사용 중지, 삭제 요청, 삭제의 상태로 구분할 수 있습니다. 키 상태는 해당 키의 모든 버전에 상속됩니다. 예를 들어 3개의 버전을 가지고 있는 키의 상태가 사용 중지로 전환되면 3개의 버전 모두 사용 중지 상태가 됩니다. 만약 다시 활성화되어 사용 가능 상태가 되면 버전 상태는 자동으로 이전에 가지고 있던 상태로 돌아갑니다.

    kms-1-1-3_ko

    Key Management Service에서는 키별로 최대 100개의 버전을 생성하여 관리할 수 있는데, 키의 상태는 해당 키의 모든 버전에 상속됩니다. 예를 들어 3개 버전을 가지고 있는 키의 상태가 사용 중지로 전환되면 3개의 버전 모두 사용 중지 상태가 됩니다. 만약 다시 활성화되어 사용 가능 상태가 되면 버전 상태는 자동으로 이전에 가지고 있던 상태로 돌아갑니다. 생명 주기의 각 상태별 설명은 다음과 같습니다.

    • 생성
      키의 생성이 요청되면, 키 관리 권고에 따른 키 생성 절차에 따라 안전하게 생성되어 고유의 식별자가 부여됩니다. 식별자가 부여된 키는 암호화된 저장소에 안전하게 저장되고, 유사시를 대비한 백업 지점이 생성됩니다.

    • 사용 가능
      모든 암/복호화 요청에 이용될 수 있는 키입니다. 생성된 키는 자동으로 활성화되어 사용 가능 상태로 전환되며, 언제든지 비활성화하여 사용을 중지할 수 있습니다. 사용 가능 상태의 키는 관리 과금 대상입니다.

    • 사용 중지
      비활성화되어 사용이 중지된 키이며, 언제든지 다시 활성화하여 사용 가능 상태로 전환할 수 있습니다. 언제든지 사용 가능한 상태로 유지하기 위해 사용 중지 상태의 키는 회전 주기를 따릅니다. 즉, 사용 중지 상태의 키라고 할지라도 다음 회전일에 예정대로 회전을 수행하여 새로운 버전으로 갱신됩니다. 사용 중지 상태의 키는 암/복호화 요청에 이용될 수 없습니다. 사용 중지 상태의 키는 관리 과금 대상입니다.

    • 삭제 요청
      더 이상 사용되지 않기 때문에 오·사용 및 불필요한 유지/관리를 줄이도록 사용자에 의해 삭제가 요청된 키입니다. 삭제 요청 상태의 키는 사용자의 키 삭제 요청이 발생한 72시간 후에 영구적으로 삭제됩니다. 사용자의 요청에 의해 삭제된 키는 복구할 수 없습니다. 삭제 요청 시에는 더 이상 사용하고 있는 사용자가 없는지 확인 후 신중하게 삭제 요청해야 합니다.
      단, 최종 삭제 이전까지 삭제 요청은 취소할 수 있으며 삭제 요청이 취소된 키는 즉시 사용 중지 상태로 전환됩니다. 사용 중지 상태와 마찬가지로 삭제 요청 상태의 키는 회전 주기를 따르며, 관리 과금 대상입니다. 만약 이미 해당 키의 사용자가 없다면 [즉시 삭제] 버튼을 클릭하여 바로 영구 삭제를 진행할 수도 있습니다.

    • 삭제
      영구적으로 삭제된 키이며, 사용자가 직접 확인할 수 없습니다. Key Management Service 내에서도 키는 삭제된 상태이며, 키의 정보 및 사용 이력 등 관리 정보 조회만 네이버 클라우드 플랫폼의 고객지원 > 문의하기를 통해 요청할 수 있습니다. 삭제된 키의 관리 정보는 1년간 유지된 후 삭제됩니다.

    봉투 암호화

    키를 사용하여 데이터를 암호화하는 방식은 다양합니다. 그 중에서도 봉투 암호화(Envelope Encryption) 방식은 키의 계층적 관리를 통해 데이터 기밀성과 통제권을 모두 만족시키기 때문에 권장되고 있습니다. 여기에서는 봉투 암호화의 개념을 소개하고, Key Management Service를 이용하여 봉투 암호화를 사용하는 경우 알아두어야 할 키의 계층 구조와 정책에 대해 설명합니다.

    키의 계층적 관리

    일반적으로 데이터를 보호하기 위해서는 암호화를 이용하지만 암호화를 적용했다고 해서 데이터가 완벽하게 보호되는 것은 아닙니다. 데이터 보호가 얼마나 잘 되어 있는지 기준은 단순히 암호화의 적용 여부가 아닌 암호화 키가 어떻게 관리되고 있는지에 달려 있습니다.
    키는 안전한 키 관리 솔루션을 이용하여 관리하는 것이 가장 바람직합니다. 이러한 경우 중요하게 고려해야 할 요소는 데이터 통제권의 보장입니다. 데이터 통제권의 보장이란, 필요한 시점에 데이터에 접근할 수 있어야 함은 물론이고 허가 되지 않은 접근을 원천적으로 차단할 수 있는 접근 제어 원칙의 준수를 의미합니다. 키를 외부에 위탁하여 보관하는 경우 데이터 복호화가 가능한 외부 접점이 늘어나게 되므로 데이터 통제권에 대한 위협이 증가하게 됩니다.
    가장 잘 알려진 안전한 암호화 키 관리 방법 중 하나는 키를 계층적으로 관리하는 것입니다. 즉, 데이터 암호화에 직접 이용되는 키를 또 다른 키로 암호화하여 보호합니다. 이 때 키를 암호화하는 또 다른 키를 일반적으로 마스터 키라고 부릅니다. 마스터 키를 조직 내·외부의 키 관리 솔루션을 이용하여 관리하면 데이터 통제권에 대한 위협을 감소시킬 수 있습니다. 이렇게 키를 계층적으로 관리하는 암호화 방식을 봉투 암호화 (Envelope Encryption)라고 부릅니다. 데이터를 직접 암호화하여 보호하는 것이 아니라 데이터를 암호화한 암호 방식을 보호함으로써 데이터 기밀성과 통제권을 모두 만족시키는 방식입니다.

    kms-1-1-1_ko

    봉투 암호화에서 실제 데이터를 암/복호화 하는 키는 데이터 키입니다. Key Management Service를 이용하여 봉투 암호화 방식을 이용한다면 데이터 키는 봉인하여 관리할 수 있습니다. 단, 실제 데이터를 암/복호화하는 시점에서는 봉인 해제된 데이터 키를 사용하게 됩니다. Key Management Service를 통해 봉인이 해제된 키를 전달받은 후부터는 사용자에게 해당 키의 관리 책임이 있으므로, 전달받은 키를 사용하여 데이터 암/복호를 진행 후 해당 키는 즉시 삭제한 후 봉인된 형태의 데이터 키만 보관하는 것을 권장합니다.

    참고

    네이버 클라우드 플랫폼과 사용자의 클라우드 책임 공유 모델에 대한 설명은 네이버 클라우드 플랫폼 포털의 보안 센터를 참조해 주십시오.

    키 관리 정책

    Key Management Service에서는 키를 계층적인 구조로 관리하기 때문에 계층별 주요 키에 대한 개념과 역할에 대한 이해가 필요합니다.

    kms-1-1-2_ko

    데이터 암호화 키(Data Encryption Key)

    데이터 암/복호화에 직접 이용되는 키로 사용자 관리 영역에 안전하게 보관되어야 합니다. Key Management Service를 통해 데이터 암호화 키를 보호한다면 관리적 측면에서 부담을 덜 수 있습니다. Key Management Service를 이용하여 데이터 암호화 키를 보호하는 방법에는 사용자가 직접 키를 생성하여 사용자 관리 키로 암호화하여 '봉인'하는 방법과 Key Management Service의 커스텀 키 생성 API Create User Custom Key를 이용하는 방법이 있습니다. API를 이용하면 안전하게 생성된 임의의 키와 이를 사용자 관리 키로 암호화된 형태를 한번에 얻을 수 있어 유용합니다.

    사용자 관리 키(User Managed Key)

    사용자가 Key Management Service에 생성한 키입니다. 생성 및 회전, 삭제까지 모두 사용자의 관리 하에 운영됩니다. 키 저장소 내 모든 키를 관리하는 Key Management Service 관리자나 할당된 키만을 관리하는 키 매니저 권한을 가진 사용자는 네이버 클라우드 플랫폼 콘솔에서 편리하게 키를 관리할 수 있습니다. 사용자 관리 키가 데이터 암호화 키를 보호하는데 사용된다면, 이를 키 암호화 키 (Key Encryption Key) 또는 마스터 키라고 부릅니다.

    루트 키(Root Key)

    사용자 관리 키는 시스템 운영 키 또는 루트 키라고 불리는 키로 암호화되어 Key Management Service 내부 스토리지에 저장됩니다. 루트 키는 안전한 키 생성 절차를 통해 생성됩니다. 이후에는 루트 키 역시 사용자 관리 키와 동일한 관리 정책으로 운영됩니다. 예를 들어, 루트 키 역시 1년 주기로 회전되어 갱신되며 엄격한 키 접근 권한 관리가 이루어집니다. 사용자 관리 키와 유일한 차이점은 키 활성화 절차가 오프라인으로 이루어진다는 점입니다.

    루트 키의 분실 또는 혹시 모를 루트 키 관리자의 악의적 행위에 대비하여 루트 키는 다수의 조각으로 분할되어 물리적 보안 매체에 각각 저장됩니다. 이 키 조각을 관리하는 3명의 관리자는 물리적 보안 매체를 봉인한 후 시스템이 운영되는 IDC에 설치된 내화 데이터 금고에 지역적으로 격리되어 보관합니다. 한번 봉인된 키에 접근하기 위해서는 다수 책임자의 승인을 얻고 녹화 장치를 가진 제 3자가 동반하는 등의 엄격한 절차를 거치게 됩니다.


    이 문서가 도움이 되었습니까?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.