암호화된 검색을 구현하는 것은 절대 불가능한 일이 아닙니다. 진정한 난관은 보안(보안처럼 보이기만 하는 것은 무수히 많은 방법이 있지만, 기초 통계학만 아는 사람 앞에서도 금세 무너집니다), 효율성(대규모 데이터셋 검색이 너무 오래 걸리지 않아야 함), 그리고 효과성(원하는 결과를 얻는 것, 단순히 요청한 내용만 나오는 것이 아님) 이 세 가지 조건을 모두 충족하는 것을 만드는 것입니다. 말하자면… 쉬운 일이 아닙니다.
이러한 주제는 저에게 꽤나 관심 있는 분야입니다. 저는 Encrypted Query Operations 프로젝트(enquo.org)의 설립자로서, 바로 이러한 종류의 연구에 종사하고 있습니다. 저는 Discourse를 실용적인 검색 가능 암호화(queryable encryption)를 위한 시험대(testbed)로 사용해 왔지만(현재는 다른 일에 집중하면서 해당 작업은 보류 중입니다).
이것이 현실이 될 수 있도록 충분한 관심이 있다면, 전진하려는 분들과 함께 이 일을 추진하는 데 매우 열려 있습니다.
추가 편집: ProtonMail과 Wire의 검색 기능을 살펴봤습니다. ProtonMail은 이 페이지에 따르면 "이메일의 로컬 인덱스를 생성하고 브라우저의 웹 스토리지에 저장하는 방식으로 이를 구현합니다"라고 명시되어 있어 클라이언트 측 검색을 사용하는 것으로 보입니다. Wire는 보안 백서에서 검색 방식을 언급하지 않고 있는데, 이는 해당 백서에 반드시 공개되었어야 할 암호화 메커니즘이 관여되지 않는다는 점에서, Wire 역시 아마도 클라이언트 측 검색을 사용하고 있을 것으로 추정됩니다.