검색 가능한 암호화의 새로운 진전, 클라우드에서도 과거 검색 기록을 지키는 FBR-PAEKS 기술


이 연구의 의미는 암호화된 데이터를 안전하게 검색하는 데 필요한 여러 보안 기능을 하나의 구조로 통합했다는 데 있다. 기존 기술은 검색 기능, 사용자 권한 회수, 과거 검색 보호 가운데 일부만 지원하는 경우가 많았다. 반면 FBR-PAEKS는 사용자가 조직을 떠나거나 비밀키가 유출됐을 때 접근 권한을 차단하면서도, 현재 정보의 노출이 과거 검색 기록으로 이어지지 않도록 설계됐다. 

의료·공공·금융처럼 민감한 데이터를 장기간 클라우드에 보관하는 분야에서 검색 편의성과 개인정보 보호를 함께 구현할 가능성을 보여준 연구다.


사용자 폐기와 전방향 프라이버시를 동시에 구현한 검색 암호화 기술

최근 Frontiers in Computer Science에 게재된 미샬 이스마엘과 알리 라자 연구진의 연구는 동적인 클라우드 환경을 위한 새로운 공개키 기반 검색 암호화 기술인 FBR-PAEKS를 제안했다. 이 기술은 권한이 사라진 사용자를 암호학적으로 차단하는 기능과 현재의 비밀 정보가 노출돼도 과거 검색 정보를 보호하는 전방향 프라이버시를 함께 제공한다. 또한 여러 사용자가 참여하는 환경에서 복잡한 검색 조건과 논리적 문서 삭제까지 지원하도록 설계됐다. :contentReference[oaicite:0]{index=0}

오늘날 병원, 정부기관, 금융회사, 연구기관은 방대한 데이터를 클라우드에 저장한다. 클라우드는 저장 공간과 관리 비용을 줄여주지만, 개인정보와 기밀문서를 외부 서버에 맡긴다는 위험도 만든다. 데이터를 암호화하면 내용은 보호되지만 서버가 문서를 읽을 수 없기 때문에 일반적인 키워드 검색도 어려워진다.

이 문제를 해결하기 위해 등장한 기술이 검색 가능한 암호화다. 검색 가능한 암호화는 서버가 문서의 실제 내용이나 검색어를 직접 확인하지 않고도 암호화된 문서에서 특정 키워드의 존재 여부를 검사할 수 있게 한다. 사용자는 검색어를 그대로 서버에 보내는 대신 암호학적으로 만들어진 검색 토큰을 보내며, 서버는 이 토큰을 암호화된 색인과 비교해 조건에 맞는 문서를 찾는다.


암호화하면 검색하기 어렵다는 문제를 해결한다

예를 들어 여러 병원이 환자의 진료 기록을 암호화해 하나의 클라우드에 저장한다고 가정할 수 있다. 의사는 “심장질환”과 “당뇨병”이 함께 기록된 환자 자료를 찾아야 하지만, 클라우드 서버가 진료 기록을 직접 읽게 해서는 안 된다.

검색 가능한 암호화에서는 병원이 문서의 본문과 키워드 색인을 암호화해 올린다. 의사는 자신이 찾으려는 조건을 검색 토큰으로 변환하고, 서버는 암호문과 토큰이 수학적으로 일치하는지만 검사한다. 정상적으로 설계된 시스템이라면 서버는 검색을 수행하면서도 “의사가 어떤 질환을 검색했는가”와 “문서에 어떤 질환명이 들어 있는가”를 알 수 없어야 한다.

그러나 현실의 클라우드 환경은 단순한 송신자 한 명과 수신자 한 명으로 구성되지 않는다. 여러 병원과 검사기관이 데이터를 올리고, 의사·보험사·연구자 등 여러 유형의 사용자가 서로 다른 권한으로 검색한다. 사용자도 계속 추가되거나 퇴사, 계약 종료, 기기 분실 등의 이유로 제거된다. 연구진은 기존 공개키 기반 검색 암호화 기술이 이런 동적인 환경을 충분히 반영하지 못했다고 설명한다.


권한이 사라진 사용자는 다음 시점부터 검색 토큰을 만들 수 없다

FBR-PAEKS가 해결하려 한 핵심 문제 가운데 하나는 사용자 권한 회수다. 병원을 떠난 의사나 계약이 종료된 외부 연구자는 더 이상 환자 기록을 검색할 수 없어야 한다. 단순히 계정을 정지하는 것만으로는 충분하지 않다. 사용자가 과거에 받은 비밀키와 공개된 업데이트 정보를 조합해 새로운 검색 토큰을 만들 가능성까지 막아야 하기 때문이다.

연구진은 이를 위해 사용자를 이진 트리의 잎에 배치하고, 권한이 유지된 사용자에게만 매 시점의 갱신 정보를 전달하는 구조를 적용했다. 이때 사용된 방법이 Complete Subtree 기반의 KUNode 알고리즘이다. 전체 사용자에게 새 키를 하나씩 다시 나눠주는 대신, 권한이 있는 사용자들을 포함하는 트리의 일부 노드만 선택해 갱신 정보를 배포한다.

이 구조에서 폐기된 사용자의 경로에는 유효한 갱신 노드가 포함되지 않는다. 따라서 해당 사용자는 과거에 보유한 비밀값이 있더라도 폐기 시점 이후의 정상적인 암호문이나 검색 토큰을 만들 수 없다. 여러 명의 폐기된 사용자가 각자의 정보를 합치더라도 권한을 되찾기 어렵도록 설계된 점도 중요하다.

사용자 수를 N, 폐기된 사용자 수를 r이라고 할 때 갱신에 필요한 노드 수는 이론적으로 약 O(r log(N/r)) 규모로 표현된다. 이는 사용자 전체에게 개별적으로 새 정보를 보내는 방식보다 대규모 조직에서 효율적일 가능성이 있음을 뜻한다.


현재의 비밀 정보가 유출돼도 과거 검색은 되돌릴 수 없다

전방향 프라이버시는 현재 사용자의 검색 상태가 공격자에게 노출되더라도 과거 시점의 검색 정보까지 함께 드러나지 않도록 하는 성질이다. 클라우드에는 암호화된 색인이 수년간 남을 수 있기 때문에 이 기능이 없다면 한 번의 기기 탈취가 과거 전체의 검색 프라이버시를 위협할 수 있다.

연구진은 수신자가 가진 비밀 상태를 시점마다 단방향 해시 함수로 갱신하는 방식을 사용했다. 상태가 σT라면 다음 상태는 H3T)로 계산된다. 단방향 함수는 앞의 값으로 다음 값을 계산하기는 쉽지만, 다음 값을 보고 이전 값을 복원하기는 어렵게 설계된 함수다.

수신자는 새로운 시점으로 이동한 뒤 이전 상태를 안전하게 삭제한다. 따라서 공격자가 현재 상태를 탈취하더라도 이전 시점의 비밀값을 역산하기 어렵다. 연구진은 각 시점의 비밀값을 암호문과 검색 토큰 계산에 함께 묶어 과거와 현재의 검색 상태를 암호학적으로 분리했다.

“현재 비밀키가 유출되면 예전 암호문도 검색할 수 있는가”라는 질문에 대해 이 연구가 제시하는 답은 제한적이지만 명확하다. 논문이 설정한 보안 가정이 유지되고 단방향 함수가 깨지지 않는다면, 현재의 상태만으로 과거 시점의 검색 토큰을 복원하거나 과거 암호문을 검사하기 어렵다.


AND와 OR를 넘어 일정 개수 이상 일치하는 검색도 지원한다

현실의 데이터 검색은 한 단어를 찾는 수준에서 끝나지 않는다. 의료진은 “심장질환 AND 당뇨병”, “응급 OR 중환자”, “다섯 가지 조건 가운데 세 가지 이상 만족”과 같은 복합 조건을 사용할 수 있다.

FBR-PAEKS는 이런 조건을 표현하기 위해 선형 비밀분산 방식, 즉 LSSS를 활용했다. LSSS는 하나의 비밀값을 여러 조각으로 나누고, 미리 정한 조건을 만족하는 조각들이 모였을 때만 원래의 값을 수학적으로 재구성할 수 있게 하는 방법이다.

이 구조에서는 각 키워드가 행렬의 특정 행과 연결된다. 검색 조건을 만족하는 키워드 집합이 모이면 암호 계산에 필요한 값을 재구성할 수 있지만, 조건을 충족하지 못한 키워드 집합으로는 검색 결과를 얻지 못한다. 이를 통해 AND, OR뿐 아니라 2-out-of-3이나 3-out-of-5와 같은 임계값 검색 정책도 표현할 수 있다.

예를 들어 “심장질환, 고혈압, 당뇨병 가운데 두 가지 이상이 기록된 환자”라는 조건을 만들 수 있다. 이는 고정된 한두 개의 검색 방식보다 실제 의료·행정 데이터의 분류 규칙을 더 유연하게 반영할 수 있다는 뜻이다.


송신자와 수신자만 아는 공유값이 키워드 추측을 막는다

검색 가능한 암호화에서 중요한 공격 가운데 하나는 키워드 추측 공격이다. 검색어는 일반 문장보다 후보가 적은 경우가 많다. 질병명, 부서명, 문서 등급처럼 자주 사용되는 단어를 서버가 하나씩 대입해 암호문과 비교할 수 있다면, 암호문을 해독하지 않고도 키워드를 알아낼 가능성이 생긴다.

특히 클라우드 서버는 암호문과 검색 토큰을 모두 처리하므로 외부 공격자보다 더 많은 정보를 가진다. 연구진은 이러한 내부자형 공격을 막기 위해 송신자와 수신자만 계산할 수 있는 공유 요소를 암호문과 검색 토큰에 포함했다.

이 공유 요소는 Diffie–Hellman 계산을 기반으로 만들어진다. 송신자가 가진 비밀값을 s, 수신자가 가진 비밀값을 r이라고 하면 양쪽은 공개키와 자신의 비밀키를 이용해 같은 gsr 값을 계산할 수 있다. 하지만 두 비밀키를 모르는 클라우드 서버는 이 값을 계산하기 어렵다.

연구진은 이 값에 해시 함수 H4를 적용한 hS,R을 암호 계산에 넣었다. 그 결과 클라우드 서버는 특정 키워드를 추측하더라도 송신자와 수신자가 공유하는 요소가 없으면 그 추측이 맞는지 독립적으로 확인하기 어렵다.

보조 서버와 클라우드 서버가 역할을 나누는 구조를 사용한다

FBR-PAEKS의 시스템은 송신자, 수신자, 보조 서버, 클라우드 서버라는 네 주체로 구성된다. 논문 8쪽의 시스템 모형 그림은 데이터 업로드와 검색 요청이 두 서버를 거쳐 처리되는 흐름을 보여준다.

송신자는 문서의 암호화된 키워드 색인을 만들고, 수신자는 검색 조건을 담은 트랩도어를 생성한다. 트랩도어는 암호문을 열기 위한 일반적인 복호화 키가 아니라, 특정 검색 조건이 암호화된 색인과 일치하는지 검사하기 위한 검색 토큰이다.

보조 서버는 사용자 등록, 시점별 키 갱신, 권한 폐기, 암호문과 트랩도어의 검증 및 변환을 맡는다. 클라우드 서버는 변환된 암호문을 저장하고, 변환된 트랩도어와 비교해 조건에 맞는 결과를 반환한다.

역할을 나눈 이유는 어느 한 서버도 전체 검색 구조와 비밀 정보를 모두 갖지 못하게 하기 위해서다. 다만 이 보안성은 보조 서버와 클라우드 서버가 공모하지 않는다는 분리 신뢰 가정에 의존한다.


삭제 태그는 남아 있는 암호문을 검색 결과에서 제외한다

클라우드에 저장된 암호화 색인을 물리적으로 완전히 삭제하는 일은 항상 간단하지 않다. 백업본이나 분산 저장본이 남아 있을 수 있고, 대규모 색인에서 특정 항목만 즉시 제거하는 데 비용이 들 수 있다.

연구진은 이를 보완하기 위해 삭제 태그 기능을 넣었다. 문서가 폐기되면 보조 서버가 해당 문서 식별자와 삭제 시점을 바탕으로 태그를 만들고, 클라우드 서버는 이를 삭제 목록에 기록한다.

검색 과정에서 조건에 맞는 문서가 발견되더라도 삭제 목록에 등록된 식별자는 최종 결과에서 제외된다. 이는 원본 암호문을 즉시 제거하지 못하는 상황에서 문서를 논리적으로 비활성화하는 방법이다. 다만 논리적 삭제는 저장 매체에서 데이터가 완전히 지워졌다는 의미와는 구분해야 한다.


다섯 가지 보안 게임으로 공격 가능성을 검토했다

연구진은 제안한 구조의 안전성을 설명하기 위해 다섯 가지 보안 게임을 정의했다. 첫 번째는 공격자가 두 키워드 가운데 어떤 단어가 암호화됐는지 구분할 수 있는지를 확인하는 암호문 구분 게임이다.

두 번째는 클라우드 서버가 자신의 비밀키와 검색 과정에서 얻은 정보를 이용해 키워드를 추측할 수 있는지 평가한다. 세 번째는 권한이 폐기된 사용자가 미래 시점의 암호문을 위조할 수 있는지 검사한다.

네 번째는 현재 상태가 노출됐을 때 과거 암호문의 키워드를 구별할 수 있는지 다루며, 다섯 번째는 권한이 없는 사용자가 유효한 검색 트랩도어를 위조할 수 있는지 검증한다.

연구진은 CDH, mDLIN, 의사난수함수의 안전성, 단방향 해시 함수의 역산 어려움, 전자서명의 위조 불가능성과 같은 암호학적 가정 아래에서 공격 성공 확률이 무시할 수 있을 만큼 작아진다는 환원 증명을 제시했다.

이 결과는 실제 시스템이 절대 해킹되지 않는다는 뜻은 아니다. 암호학적 증명은 논문에서 설정한 공격 모델과 가정, 구현 조건이 유지될 때 특정 공격이 어렵다는 점을 보여준다. 소프트웨어 오류, 서버 설정 실수, 키 관리 실패와 같은 구현상의 위험은 별도로 검증해야 한다.


의료·공공·금융 분야의 장기 데이터 검색에 활용될 수 있다

FBR-PAEKS가 가장 직접적으로 적용될 수 있는 분야는 전자의무기록 시스템이다. 여러 병원과 검사기관이 암호화된 환자 기록을 올리고, 권한을 가진 의료진이 여러 조건을 조합해 필요한 기록을 찾는 환경과 잘 맞는다.

공공기관에서도 부처별로 생산한 암호화 문서를 권한에 따라 검색하는 데 활용할 수 있다. 사용자의 인사 이동이 잦고 문서 보존 기간이 긴 조직에서는 사용자 폐기와 시점별 상태 분리가 특히 중요하다.

금융기관에서는 고객 문서, 이상거래 기록, 감사 자료처럼 민감한 정보를 검색하는 구조에 응용할 수 있다. 기업의 기밀문서 관리나 기관 간 연구 데이터 공유에서도 유사한 활용 가능성이 있다.

다만 이 기술은 문서 본문 전체에 대한 일반 검색 엔진을 곧바로 대체하는 방식이 아니다. 송신자가 미리 키워드 색인을 생성해야 하며, 검색 가능한 항목과 정책도 시스템 설계 단계에서 정해야 한다. 따라서 실제 적용에서는 색인 생성 비용과 키워드 관리 방식, 정책 변경 절차를 함께 고려해야 한다.


수학적 안전성 외에 대규모 구현 검증이 더 필요하다

이번 연구는 새로운 암호 구조의 설계와 이론적 안전성 증명, 계산 및 통신 비용 비교에 초점을 맞췄다. 논문은 기존 PAEKS 계열 기법과 비교해 추가 기능을 제공하면서도 경쟁력 있는 성능을 유지한다고 평가한다.

그러나 실제 상용 클라우드에서 수백만 개의 문서와 많은 사용자를 대상으로 장기간 운영한 실증 결과는 별도의 문제다. 검색 조건이 복잡해질수록 LSSS 행렬의 크기가 증가할 수 있고, 암호화·트랩도어 생성·쌍선형 페어링 연산의 비용도 늘어날 수 있다.

보조 서버와 클라우드 서버가 공모하지 않는다는 가정도 실제 배치에서 검토해야 한다. 두 서버가 같은 사업자에게 운영되거나 관리 권한이 통합돼 있다면 분리 신뢰의 효과가 약해질 수 있다. 연구진 역시 서버 간 공모를 허용하는 더 강한 공격 모델은 후속 연구 과제로 남겼다.

삭제 태그 역시 검색 결과에서 문서를 제외하는 기능이지, 물리적 데이터 삭제를 증명하는 기능은 아니다. 개인정보 보호 규정이나 데이터 파기 의무가 적용되는 환경에서는 저장장치의 실제 삭제, 백업 관리, 감사 기록과 함께 사용해야 한다.


검색 편의성과 장기 개인정보 보호를 함께 설계한 통합형 접근이다

이번 연구의 핵심은 새로운 단일 기능을 제안한 데만 있지 않다. 사용자 폐기, 전방향 프라이버시, 복합 키워드 정책, 내부자의 키워드 추측 방지, 논리적 삭제를 하나의 공개키 기반 검색 암호화 구조 안에 연결했다는 점이 중요하다.

클라우드에서 암호화된 데이터를 검색할 때는 문서 내용만 숨기는 것으로 충분하지 않다. 누가 검색할 수 있는지, 권한이 사라진 사용자를 어떻게 차단할지, 현재 상태의 유출이 과거 기록에 어떤 영향을 미치는지, 서버가 검색어를 추측할 수 있는지까지 함께 고려해야 한다.

FBR-PAEKS는 이런 요구를 암호학적으로 통합하는 하나의 방향을 제시했다. 앞으로 대규모 데이터와 실제 네트워크 환경에서의 성능, 서버 간 공모에 대한 방어, 구현 안전성이 추가로 검증된다면 의료·공공·금융 분야에서 개인정보를 보호하며 데이터를 활용하는 기반 기술로 발전할 가능성이 있다.


출처 

Ismaeel, M., & Raza, A. (2026). FBR-PAEKS: Revocable public-key authenticated keyword search with forward privacy for dynamic cloud environments. Frontiers in Computer Science, 8, 1871563. https://doi.org/10.3389/fcomp.2026.1871563