엔벨로프 암호화로 데이터 보호

Key Protect에서는 엔벨로프 암호화를 사용하여 Key Protect 데이터. 엔벨로프 암호화에서는 데이터 암호화 키를 사용하여 데이터를 암호화한 다음, 루트 키로 데이터 암호화 키를 암호화합니다. 이 주제에서는 엔벨로프 암호화 프로세스 및 Key Protect를 사용하여 데이터를 암호화하고 보호화하는 방법을 설명합니다.

중요한 데이터에 대해 작업할 때 고급 암호화 기술을 사용하여 데이터 위반을 방지하는 것이 중요합니다. 기밀 데이터가 상당량 있는 경우, 데이터 보안을 유지하는 데 도움이 되도록 키 관리 시스템을 활용하는 것이 종종 유용합니다. Key Protect에서는 엔벨로프 암호화 기술을 사용하여 데이터의 복원성을 유지합니다. 엔벨로프 암호화는 암호화된 키, 데이터 암호화 키 및 루트 키를 사용하여 중요한 데이터를 보호하는 프로세스입니다.

동료에게 편지를 보내려 한다고 상상해 보십시오. 매우 중요한 정보에 대해 설명하려 하므로 문자로 메시지를 작성(암호화)하는 데 사용되는 보안 코드(데이터 암호화 키)를 생성합니다. 이 편지는 메일함(데이터 암호화 키 랩핑됨)으로 전달되며 동료를 포함하여 메일함 키(루트 키)의 사본이 있는 사용자만 열 수 있습니다. 정확한 키 사본이 없는 모든 사용자는 편지함을 열어 내용을 볼 수 없습니다. 동료가 키를 사용하여 편지함을 잠금 해제(암호화 해제)하는 경우 메시지를 이해할 수 있으려면 편지가 작성된 보안 코드를 알아야 합니다. 보안 코드를 모르는 모든 사용자는 편지가 임의 문자로 혼합되었으며 편지 내용을 이해할 수 없다고 결론을 내릴 것입니다.

데이터 암호화 키(DEK)는 데이터를 암호화하도록 설계되었으며 서비스 또는 IBM Cloud 서비스에서 생성하고 관리할 수 있습니다.

엔벨로프 암호화는 데이터를 보호하기 위한 몇 가지 이점을 제공합니다.

  • 여러 알고리즘 조합에 따른 보호 엔벤로프 암호화에서는 대칭 및 공개 키 알고리즘의 이점을 최대한 활용하여 키를 안전하게 유지합니다.
    1. 대칭 키 알고리즘은 공개 키 알고리즘보다 빠르고 확장 가능하며 더 안전합니다. 공개 키 알고리즘은 특히 대용량 데이터를 처리할 때 계산 오버헤드를 증가시키는 복잡한 수학을 사용합니다. 공개 키 알고리즘은 해커가 쉽게 인식할 수 있는 개인 키 알고리즘 구성요소가 있기 때문에 무차별 대입 공격에도 더 취약합니다. 대칭 키 알고리즘에는 더 적은 계산 능력이 필요하며 인식 가능성이 낮은 구조가 있으므로 무차별 대입 공격에 강합니다.
    2. 공개 키 알고리즘을 사용하면 대칭 키 알고리즘과 비교하여 개별 레벨에서 키에 대한 액세스 권한을 부여할 때 더 쉽게 액세스 권한을 제어할 수 있습니다. 대칭 키 알고리즘에는 보안 키에 대한 액세스가 보안 전송을 통해서만 교환될 수 있다는 키 교환 문제가 있습니다. 공개 키 알고리즘을 사용하면 암호화된 루트 키에 대한 액세스 권한이 있는 사용자만 암호화된 DEK(wDEK)를 공유하고 암호화를 해제할 수 있으므로 대칭 알고리즘의 키 교환 문제를 완화할 수 있습니다.
  • 손쉬운 키 관리: 단일 루트 키로 여러 DEK를 암호화할 수 있으므로 키 관리 서비스에서 관리해야 하는 키의 양이 최소화됩니다. 모든 DEK를 교체하고 다시 암호화하는 대신 루트 키만 교체하여 키 유지보수 시간을 절약하도록 선택할 수도 있습니다. 직원 이직, 프로세스 오작동 또는 보안 문제 감지와 같은 경우 사건과 관련된 모든 DEK 및 루트 키를 교체하는 것이 좋습니다.
  • 데이터 Key Protect: DEK는 루트 키로 랩핑되므로 암호화된 데이터 키를 저장하는 방법에 대해 걱정할 필요가 없습니다. 따라서 연관된 암호화된 데이터와 함께 wDEK를 저장할 수 있습니다.

Key Protect에서는 Galois/Counter Mode(AES GCM)의 고급 암호화 표준 알고리즘을 사용하여 DEK를 랩핑 및 랩핑 해제합니다. 가져오지 않은 CRK는 256비트 키 자료로 작성됩니다. 가져온 CRK는 128, 192 또는 256비트 키 자료를 포함할 수 있습니다.

엔벨로프 암호화 작동 방법

엔벌로프 암호화는 하나 이상의 데이터 암호화 키(DEK)를 랩핑(암호화)하기 위해 루트 키를 사용하여 작동합니다. 루트 키는 암호화 알고리즘을 사용하여 랩핑된(암호화된) DEK를 보호하여 무단 액세스 또는 노출로부터 보호합니다.

DEK를 랩핑 해제하면 연관된 루트 키를 사용하여 엔벨로프 암호화 프로세스를 되돌리므로 DEK가 암호 해독되고 인증됩니다. 래핑된 DEK는 관련된 루트 키 없이는 래핑을 해제할 수 없으므로, 이는 데이터에 추가적인 보안 계층을 제공합니다.

엔벨로프 암호화는 NIST Special Publication 800-57, Recommendation for Key Management에서 간단하게 다뤄집니다. 자세한 내용은 다음을 참조하십시오. NIST SP 800-57 제1부 개정판 4.

키 유형

서비스는 데이터의 고급 암호화 및 관리를 위해 두 가지 키 유형(루트 키와 표준 키)을 지원합니다.

루트 키
루트 키는 다음의 기본 리소스입니다. Key Protect. 또한 데이터 서비스에 저장된 기타 키를 랩핑(암호화)하고 랩핑 해제(복호화)하기 위한 신뢰 루트로 사용되는 대칭 키-랩핑 키입니다. 루트 키에는 DEK 랩핑 및 랩핑 해제에 사용되는 키 자료가 포함됩니다. 루트 키의 키 자료는 다음 서비스에서 가져오거나 생성할 수 있습니다. Key Protect 서비스.
Key Protect을(를) 사용하여 클라우드에 저장된 다른 DEK를 완전히 제어하기 위해 루트 키의 수명주기를 작성, 저장 및 관리할 수 있습니다. 표준 키와 달리, 루트 키의 일반 텍스트는 다음 서비스의 경계를 벗어날 수 없습니다. Key Protect 서비스.
표준 키
DEK로 사용할 수 있는 표준 키는 암호화된 데이터를 다음에 저장할 수 있습니다. Key Protect. 일반 텍스트 표준 키가 생성되고 기본 데이터를 보호하면 일반 텍스트를 삭제하고 암호화된 표준 키를 안전하게 저장합니다.

엔벨로프 암호화를 사용하여 키 랩핑

완전히 관리할 수 있는 Key Protect의 루트 키를 지정하여 고급 암호화 알고리즘으로 하나 이상의 DEK를 랩핑할 수 있습니다.

엔벨로프 암호화를 통해 데이터를 암호화하려면 다음 단계를 완료하십시오.

  1. 중요한 데이터를 암호화하기 위해 COS와 같은 IBM Cloud 서비스에서 DEK를 생성하거나 프로비저닝하십시오. DEK는 중요한 데이터를 암호화합니다.
  2. 1단계에서 DEK를 보호하는 데 사용될 루트 키를 생성하거나 가져오십시오 .
  3. 루트 키를 사용하여 DEK를 암호화하거나 랩핑하십시오. 최대 암호화 보안을 제공하기 위해 랩핑 요청 중에 추가 인증된 데이터(AAD) 를 지정할 수 있습니다. DEK를 랩핑 해제할 때 동일한 인증 데이터가 필요합니다.
  4. 그런 다음 암호화된 데이터는 메타데이터로 Key Protect 서비스. 랩핑된 DEK의 base64 인코딩된 출력을 앱 또는 서비스와 같은 안전한 위치에 저장하고 유지관리하십시오.

랩핑 요청에서 plaintext 특성을 생략하여 새 DEK를 생성할 수 있습니다. 새로 작성된 DEK는 요청의 일부로 자동으로 랩핑됩니다.

키 랩핑 해제

데이터 암호화 키(DEK)를 랩핑 해제하면 키에서 보호되는 데이터가 암호 해독되고 인증됩니다.

비즈니스 애플리케이션에서 래핑된 DEK의 내용에 접근해야 하는 경우, Key Protect API를 사용하여 서비스에 언랩 요청 을 보낼 수 있습니다.

엔벨로프 암호화를 통해 데이터를 암호화하려면 다음 단계를 완료하십시오.

  1. 랩핑된 DEK의 base64로 인코딩된 암호문을 검색하십시오.
  2. DEK와 연관된 루트 키의 키 ID를 검색하십시오.
  3. 언래핑 요청을 Key Protect로 보냅니다. 이전 랩핑 요청에서 추가 인증 데이터(AAD) 를 지정한 경우 랩핑 해제 요청에서 해당 데이터를 제공해야 합니다.
  4. 리턴된 base64로 인코딩된 일반 텍스트를 사용하여 DEK에서 보호되는 데이터의 암호를 해독하십시오.

IBM Cloud 서비스와 통합

IBM® Key Protect for IBM Cloud®는 여러 IBM Cloud 서비스와 통합하여 해당 서비스에 대한 고객 관리 키로 암호화할 수 있습니다.

클라우드 데이터 서비스의 리소스를 Key Protect의 루트 키와 연결하면 루트 키를 관리하는 동안 저장 데이터를 보호할 수 있습니다.

다음 Key Protect와의 통합을 제공하는 서비스에 대한 자세한 정보는 서비스 통합을 참조하십시오.