지난주, MongoDB는 Queryable Encryption에 접두사(prefix), 접미사(suffix), 부분 문자열(substring) 쿼리 지원을 정식 출시했다고 발표했습니다. 이러한 역량으로 Queryable Encryption은 같음 및 범위 쿼리 외에도 다양한 기능을 제공하며, 이제 프로덕션 워크로드에서 완전히 지원됩니다.
MongoDB Queryable Encryption은 MongoDB 암호화 연구 그룹에서 개발한 획기적인 업계 최초의 사용 중 암호화 기술입니다. 이 솔루션을 통해 고객은 민감한 애플리케이션 데이터를 암호화하고, 암호화된 형식으로 MongoDB에 저장하고, 암호화된 데이터를 복호화하지 않고도 해당 데이터에 대해 표현형 쿼리를 실행할 수 있습니다. 데이터베이스는 일반 텍스트의 데이터를 보지 않습니다.
이제 조직은 프로덕션 환경의 암호화된 데이터에 대해 유연한 텍스트 검색을 실행하여 부분 이름, 단어 또는 식별자를 일치시킬 수 있습니다. 이를 통해 기본 정보를 설계상 보호하고 명확하게 정의된 보안 보장 하에 유지할 수 있습니다. 이는 더 강력한 데이터 보호, 더 간단한 컴플라이언스, 외부 검색 인덱스와 같은 우회 방법이 필요 없음을 의미합니다. 코드 변경은 최소화하고 새로운 인프라는 필요 없습니다.
Queryable Encryption에서 접두사, 접미사, 부분 문자열 쿼리를 지원하게 되면서 MongoDB는 조직이 휴면 상태, 전송 중, 사용 중인 민감한 데이터를 라이프사이클 전체에 걸쳐 보호할 수 있게 되었습니다. 결과적으로 팀은 기능을 저하시키지 않으면서 안전하고 개인 정보를 보호하는 애플리케이션을 구축할 수 있습니다. Queryable Encryption은 MongoDB Atlas, Enterprise Advanced, MongoDB Community Edition에서 추가 비용 없이 사용할 수 있습니다.
과제: 데이터를 사용할 때까지는 데이터가 보호됩니다.
대부분의 조직은 이름 및 주민등록번호와 같은 개인 식별 정보(PII)나 의료 기록과 같은 보호 대상 건강 정보(PHI)와 같은 민감한 데이터를 저장합니다. 데이터가 저장소에 있거나 네트워크를 통해 이동할 때 해당 데이터를 안전하게 보호하는 방법은 잘 알려져 있습니다. 오늘날 미사용 데이터 암호화 및 전송 중인 데이터 암호화는 표준 관행입니다.
그 데이터를 쿼리하는 것은 또 다른 이야기입니다. 전통적인 암호화를 사용하면 데이터를 읽을 수 없게 되므로, 데이터베이스는 데이터를 먼저 복호화하지 않고는 검색할 수 없습니다. "부종"이라는 단어가 포함된 진단을 받는 모든 환자를 찾아야 하는 의료 제공자를 예로 들어보겠습니다. 기록을 복호화하지 않으면 데이터베이스에서 해당 텀을 검색할 수 없습니다.
이를 해결하기 위해 많은 조직은 민감한 필드를 암호화되지 않은 상태로 두거나 애플리케이션에 필요한 쿼리를 활성화하기 위해 외부 검색 인덱스를 빌드합니다. 두 방식 모두 운영 오버헤드를 발생시킵니다. 두 경우 모두 민감한 데이터가 가장 많이 노출되는 순간에 무단 액세스 위험이 증가합니다.
규제 압력이 가중됨에 따라 이는 더욱 어려워집니다. HIPAA(Health 보험 Portability and Accountability Act), PCI-DSS(Payment Card Industry Data 보안 Standard), GDPR(General Data Protection Regulation)과 같은 표준은 휴면 중이거나 전송 중일 때뿐만 아니라 모든 단계에서 민감한 데이터가 보호되고 있음을 입증하도록 조직에 점점 더 많이 요구하고 있습니다. 데이터가 활발하게 사용되는 동안 보호 기능을 제공하는 것은 대부분의 암호화 방식이 다루지 못하는 부분입니다.
민감한 데이터를 완전히 보호하고 컴플라이언스 요구 사항을 충족하기 위해 조직은 성능을 희생하거나 새로운 인프라를 추가하지 않고도 암호화된 데이터를 복호화하지 않고 검색할 수 있는 방법이 필요합니다.
데이터 노출 제로 보호
MongoDB Queryable Encryption은 이러한 격차를 해소하기 위해 빌드되었습니다. 이 솔루션은 다른 암호화 방식으로는 도달할 수 없는 단계인 검색 중인 민감한 데이터까지 암호화된 상태로 유지합니다.
Queryable Encryption을 사용하면 민감한 필드가 데이터베이스 서버 자체에서도 일반 텍스트로 저장, 전송, 처리 또는 반환되지 않습니다. 쿼리는 암호화된 데이터에 대해 실행됩니다. 복호화가 없고 데이터가 노출되는 창도 없습니다.
이는 Queryable Encryption이 서버에서 쿼리 처리 중에 항상 데이터를 암호화 상태로 유지하는 구조적 암호화 스키마를 기반으로 구축되었기 때문에 가능합니다. 이 스키마는 완전히 오픈 소스이며 독립적으로 검증 가능하므로 벤더의 주장을 무조건적으로 받아들일 필요가 없습니다. 이는 업계 최초의 접근 방식입니다. 현재 이 정도 수준의 사용 중 암호화를 제공하는 다른 데이터베이스 기술은 없으며, 보안 엔클레이브와 같은 특수 hardware에 의존하지도 않습니다.
조직은 이미 Queryable Encryption이 가장 민감한 데이터를 보호할 것으로 신뢰하고 있습니다. 프랑스 내부 보안군(ANFSI)은 정부 수준의 보안 검토에 힘입어 민감한 기록을 보호하기 위해 이에 의존합니다.
PII, PHI 또는 기타 규제 대상 데이터를 처리하는 팀의 경우 이는 민감한 정보가 노출될 수 있는 위험 요소를 하나 줄일 수 있음을 의미하며, 데이터베이스에 직접 액세스하는 내부자로부터의 노출도 방지할 수 있습니다.
더 표현력 높은 검색, 내장
지금까지 Queryable Encryption은 일반적으로 사용 가능한 동등 및 범위 쿼리를 지원해 왔습니다. 여기에는 정확한 일치 및 제한된 숫자 조회는 포함되지만, 애플리케이션에는 부분 이름 조회, 자동 완성 또는 부분 단어 필터링과 같이 더 유연한 것이 필요한 경우가 많습니다. 이제 접두사, 접미사 및 하위 문자열 쿼리를 일반적으로 사용할 수 있게 됨에 따라 이러한 격차가 해소되었습니다.
이제 암호화된 필드에서 직접 수행할 수 있는 작업은 다음과 같습니다.
접두사 쿼리는 필드 값이 특정 문자 시퀀스로 시작하는 문서를 반환합니다. 예시, 성이 'Mac'으로 시작하는 모든 고객을 찾습니다.
접미사 쿼리는 필드 값이 특정 시퀀스로 끝나는 문서를 반환합니다. 예를 들어, 암호화된 사회보장번호의 마지막 4자리와 일치하는 것을 찾습니다.
하위 문자열 쿼리는 특정 시퀀스가 필드 어디에나 나타나는 문서를 반환합니다. 하위 문자열 검색은 최대 50자의 짧은 구조화된 필드를 다루며, 2~6자의 텀을 검색합니다. 예시, 암호화됨 작업 제목 필드 내에서 "eng"를 검색하여 "Engineer"와 "Engineering 관리자"를 모두 일치시킵니다.
범위 쿼리 (기존)는 암호화된 급여 범위처럼 필드 값이 지정된 하한 및 상한 내에 있는 문서를 반환합니다.
동등성 쿼리 (기존)는 특정 암호화된 이메일 주소와 같이 필드 값이 정확하게 일치하는 문서를 반환합니다.
이러한 쿼리 유형은 MongoDB의 네이티브 쿼리 엔진 및 드라이버를 통해 실행됩니다. 이는 다른 모든 쿼리 유형에 사용되는 것과 동일합니다. 설치할 외부 검색 인덱스나 유지 관리할 미들웨어가 없으며 애플리케이션 코드 변경도 최소화됩니다. 팀은 이미 실행 중인 동일한 아키텍처를 사용하여 암호화된 데이터에 대해 표현력이 뛰어나고 부분 일치가 가능한 검색을 수행할 수 있습니다.
주장이 아닌, 증명할 수 있는 컴플라이언스
HIPAA, PCI-DSS, GDPR과 같은 요구 사항을 충족하려면 단순히 주장하는 것이 아니라 민감한 데이터가 보호되고 있음을 입증해야 합니다. 암호화 주장을 독립적으로 검증할 수 없는 경우라면 더욱 어렵고, 데이터가 활발히 사용 중일 때 해당 클레임이 데이터를 보호하지 못하는 경우 더욱 그렇습니다.
Queryable Encryption은 컴플라이언스 및 위험 관리 팀에 방어 가능한 답변을 제공합니다. 구조화된 암호화 스키마는 완전히 오픈 소스이므로, 그 배후의 암호화 기술을 무조건적으로 신뢰하는 대신 독자적으로 검토할 수 있습니다. 또한 쿼리 처리를 통해 데이터를 보호하므로(데이터 저장 및 전송 중은 물론) 대부분의 컴플라이언스 프로그램에서 설명할 수 없는 단계를 해결합니다.
이제 접두사, 접미사, 부분 문자열 쿼리를 일반적으로 사용할 수 있게 되면서 동일한 증거가 부분 이름 및 이메일 검색, 자유 텍스트 필드의 부분 단어 필터링, 부분 ID 일치와 같은 더 많은 사용 사례로 확장됩니다. 결과적으로 워크로드가 온프레미스, 하이브리드 환경 또는 여러 cloud 어디에서 실행되든 감사 격차와 조정해야 할 파편화된 도구가 줄어듭니다.
이제 팀이 구축할 수 있는 것
Queryable Encryption에서 접두사, 접미사 및 하위 문자열 쿼리를 일반적으로 사용할 수 있게 됨에 따라 조직이 이제 달성할 수 있는 몇 가지 예시는 다음과 같습니다.
컴플라이언스 및 사용성을 위한 PII 검색: GDPR 및 HIPAA와 같은 규정은 개인 정보에 대한 엄격한 프라이버시를 의무화합니다. 접두사 쿼리를 사용하면 팀은 기본 데이터를 암호화한 상태로 유지하면서 성 또는 이메일 접두사별로 사용자를 검색할 수 있습니다. 따라서 검색 기능을 희생하지 않고도 컴플라이언스가 더 쉬워집니다.
구조화된 필드에 대한 부분 단어 필터: 진단과 같은 구조화된 필드에는 종종 부분 일치가 필요합니다. 하위 문자열 쿼리를 지원하므로 팀은 'diabet'과 같은 텀에 대해 암호화된 건강 상태 필드를 검색하여 'diabetes' 및 'diabetic' 모두와 일치시킬 수 있습니다.
보안 ID 유효성 검사: ID 워크플로는 종종 사회보장번호(Social Security Number), 보험(Insurance) 번호 또는 Aadhaar 번호의 마지막 4자리와 같은 부분 식별자에 의존합니다. 접미사 쿼리를 사용하면 전체 값을 공개하지 않고도 암호화된 필드에서 이러한 조회를 수행할 수 있으므로 규제 환경에서 데이터 유출 위험이 줄어듭니다.
공공 기관을 위한 사례 관리: 공공 부문 애플리케이션의 사례 번호와 참고 ID는 구조화된 형식을 따르는 경우가 많습니다. 접두사 쿼리를 사용하면 기관은 'NYC-' 또는 'EUR-'와 같은 리전 또는 사무실 기반 접두사를 사용하여 민감한 사례 메타데이터를 노출하지 않고도 기록을 조회할 수 있습니다.
Queryable Encryption 시작하기
접두사, 접미사 및 하위 문자열 쿼리를 통해 팀은 보안과 기능 중에서 선택할 필요 없이 민감한 데이터를 검색하는 새로운 차원의 유연성을 확보할 수 있습니다. 컴플라이언스 요구 사항을 충족하는 것이든, 인프라 복잡성을 줄이는 것이든, 아니면 단순히 더 나은 애플리케이션을 구축하는 것이든, 이러한 역량은 오늘날 프로덕션에 준비되어 있습니다.
접두사, 접미사 및 하위 문자열 쿼리를 통해 팀은 민감한 데이터를 검색할 때 새로운 수준의 유연성을 확보할 수 있습니다. 이러한 새로운 쿼리 유형은 민감한 데이터를 무단 액세스로부터 보호하고 컴플라이언스 요구 사항을 충족하는 동시에 인프라 및 운영 복잡성을 줄이는 데 도움이 됩니다.
다음 단계
Queryable Encryption과 작동 방식에 대해 자세히 알아보려면 Queryable Encryption 기능 페이지를 방문하세요. 시작하려면 퀵 스타트 가이드를 확인하세요.