데이터베이스를 보호하는 방법
데이터베이스에는 조직의 가장 중요한 자산이 포함되어 있습니다. 정부 및 산업의 늘어나는 데이터 보호 및 보안 규정을 준수하고 회사 평판을 지키기 위해서는 직원에 대한 개인 식별 정보(PII), 기업의 지적 재산, 재무 정보, 경쟁 전략 또는 개인 고객 세부 정보 등을 비롯한 자산을 보호하는 것이 필수적입니다. 데이터베이스가 손상되거나 데이터가 유출되면 대개 많은 복구 비용이 발생하고 소비자의 신뢰가 상실되는 것은 물론, 무거운 벌금을 부과받을 수 있습니다.
주요 과제는 무엇인가요?
조직이 사업을 운영하기 위해 더 많은 정보를 사용함에 따라 데이터의 양과 데이터베이스의 수가 계속해서 증가하고 있습니다. 호스팅 위치(온프레미스, 클라우드, 여러 클라우드 또는 하이브리드 환경)와 관계없이 다양한 데이터베이스를 일관성 있는 방식으로 보호하기가 점점 더 어려워지고 있습니다. 데이터를 보호하고 데이터 기밀성을 유지하는 데 사용되는 암호화 키를 보호하는 것은 매우 중요합니다. 따라서 키 관리가 매우 중요합니다. 키 관리는 신뢰할 수 있는 데이터베이스 보안 전략을 실현하는 데 매우 중요한 요소입니다. 조직은 확장 가능한 키 관리를 통해 데이터베이스 전체에서 암호화 키를 제어하고, 조직의 가장 민감한 자산을 보호하는 것은 물론 규정 준수를 촉진할 수 있습니다.
데이터베이스를 보호하는 방법
데이터베이스를 효과적으로 보호하기 위해 조직은 다양한 툴과 기술을 적용해야 합니다. 목표는 데이터의 기밀성과 무결성을 지키고, 액세스 권한이 있는 사용자와 애플리케이션만 데이터를 사용할 수 있도록 하며, 경계 방어에 실패하더라도 어떠한 사람/대상도 데이터에 액세스하지 못하도록 하는 것입니다. 따라서 조직은 데이터베이스 보안에 대해 사용자 액세스를 제어하고, 미사용, 전송 및 사용 중인 중요한 데이터를 보호하며, 규정 준수를 촉진하는 데 필요한 핵심 요소로 간주해야 합니다.
데이터베이스 내에 있는 데이터를 보호할 때 활용할 수 있는 6가지 보안 옵션이 있습니다. 데이터는 저장소 수준, 파일 시스템, 실제 데이터베이스 스키마, 애플리케이션 수준, 프록시 또는 최종 사용자 애플리케이션 수준에서 보호할 수 있습니다.
저장소 수준 암호화
저장소 수준 암호화에는 데이터의 기밀성을 보호하는 메커니즘을 제공하는 SED(Self-Encrypting Drive)가 포함됩니다. 상용 SED는 일반적으로 KMIP(Key Management Interoperability Protocol)와 같은 표준에 따라 구축되므로, 암호화 키를 일관성 있는 방식으로 외부에서 관리할 수 있습니다. 저장소 수준 솔루션은 일반적으로 저렴하고, 구현과 유지 관리가 쉽습니다. 그러나 물리적 데이터 저장소의 손실만 방지합니다.
파일 수준 암호화
파일 수준 암호화에는 Microsoft BitLocker 또는 Linux LUKS와 같은 기본 운영 체제 솔루션이 포함되어 있으며, 이러한 솔루션은 외부 암호화 기능으로 확장할 수도 있습니다. 솔루션에 따라 권한이 있는 사용자를 방지할 수도 있습니다. 외부 솔루션은 운영 체제에 따라 다르며 사용하기가 더 어려울 수 있습니다.
데이터베이스 수준 암호화
데이터베이스 수준 암호화는 Microsoft SQL, Oracle MySQL 등과 같은 기존 벤더가 온프레미스 및 클라우드에서 AWS, GCP, Microsoft Azure, Oracle Cloud 등을 이용해 TDE(Transparent Database Encryption)를 지원하는 것입니다. 데이터베이스 수준 암호화는 데이터 손실을 효과적으로 방지하지만, 일반적으로 키 관리가 취약합니다. 타사 키 관리자를 사용하여 이 기능을 강화할 수 있습니다.
애플리케이션 레벨 암호화 솔루션 | 엔트러스트
애플리케이션 수준 암호화는 구조를 변경하지 않고 데이터를 보호하기 위해 토큰화 및 형식 보존 암호화와 같은 기술을 사용하여 실현할 수 있습니다. 이러한 메커니즘은 강력한 보안을 제공합니다. 그리고 애플리케이션을 변경할 필요가 없지만 보통 사용자 지정되며 구현하기가 더 어렵습니다.
프록시 계층 암호화
프록시 계층 암호화는 데이터를 처리하는 웹 애플리케이션과 사용자 사이에 투명한 인터페이스를 제공합니다. 일반적으로 애플리케이션을 변경할 필요 없이 강력한 보안을 제공합니다. 그러나 단일 장애 지점이 발생하고, 성능과 확장성이 복잡할 수 있습니다.
최종 사용자 애플리케이션 암호화
최종 사용자 애플리케이션 암호화는 종단 간 보안을 통해 최고 수준의 보호를 제공하지만, 전용 인터페이스가 필요하므로 구현하기가 더 어렵습니다.
모범 사례
여러 측면에서 데이터베이스 보안을 유지하는 역량을 갖추는 것이 중요합니다. 다양한 데이터베이스와 데이터 저장소의 키 관리 기능을 통합하면 데이터 노출을 방지하고 조직은 법적 의무를 준수할 수 있습니다. 암호화 키를 안전하게 관리, 순환 및 공유하려면, 쉽게 배포할 수 있도록 KMIP를 준수하여 중앙 집중식으로 키 관리를 해야 합니다. 클라우드에서 실행되는 데이터베이스의 경우, 조직이 클라우드 서비스 제공업체 전반에서 자체 암호화 키를 생성, 관리 및 사용할 수 있도록 지원하는 BYOK(Bring Your Own Key) 접근 방식을 이용해 키와 데이터를 더 효과적으로 제어할 수 있습니다. 키 관리 솔루션은 위험을 줄이고 규정 준수를 보장하도록 항상 암호화된 데이터에서 키를 분리해야 합니다. 하드웨어 보안 모듈(HSM)은 데이터베이스 암호화 키의 생성, 보호 및 수명 주기 관리를 위한 신뢰 루트를 제공합니다. 모든 데이터베이스에 일관성 있는 보안 정책을 적용하면 오류가 발생하기 쉬운 수동 관행을 완화하는 데 도움이 됩니다. 사용자 및 애플리케이션 액세스 권한을 관리하면 인증된 엔터티만 데이터를 사용할 수 있습니다. 그리고 일관성 있는 보안 정책을 수립하면 손쉽게 데이터 보호 규정 및 업계 의무를 준수하고 감사할 수 있습니다.
GDPR(개인정보보호 규정) 및 CCPA(캘리포니아 소비자 개인정보 보호법)와 같은 데이터 보호법, 그리고 PCI DSS(결제 카드 산업 데이터 보안 표준)와 같은 산업 표준에서는 민감한 데이터를 보호하기 위한 메커니즘으로 암호화하도록 명확하게 요구합니다.