Skip to main content
QUICK REVIEW

[논문 리뷰] Storage Enforcement with Kolmogorov Complexity and List Decoding

Mohammad Husain, Steve Ko|arXiv (Cornell University)|2011. 04. 15.
Cryptography and Data Security참고 문헌 19인용 수 4
한 줄 요약

이 논문은 클라이언트의 스토리지 및 통신 비용을 최소화하면서 데이터 무결성을 보장하기 위해 코모고로프 복잡도와 리스트 디코딩을 활용한 새로운 검증 프로토콜을 제안한다. 클라이언트가 확률 ε로 검증에 통과하는 서버는 데이터의 코모고로프 복잡도 C(x)에 대해 C(x) − o(C(x)) 비트 이상의 정보를 저장해야 하며, 암호학적 가정 없이도 최적의 클라이언트 측 오버헤드를 달성한다.

ABSTRACT

We consider the following problem that arises in outsourced storage: a user stores her data $x$ on a remote server but wants to audit the server at some later point to make sure it actually did store $x$. The goal is to design a (randomized) verification protocol that has the property that if the server passes the verification with some reasonably high probability then the user can rest assured that the server is storing $x$. In this work we present an optimal solution (in terms of the user's storage and communication) while at the same time ensuring that a server that passes the verification protocol with any reasonable probability will store, to within a small extit{additive} factor, $C(x)$ bits of information, where $C(x)$ is the plain Kolmogorov complexity of $x$. (Since we cannot prevent the server from compressing $x$, $C(x)$ is a natural upper bound.) The proof of security of our protocol combines Kolmogorov complexity with list decoding and unlike previous work that relies upon cryptographic assumptions, we allow the server to have unlimited computational power. To the best of our knowledge, this is the first work that combines Kolmogorov complexity and list decoding. Our framework is general enough to capture extensions where the user splits up $x$ and stores the fragment across multiple servers and our verification protocol can handle non-responsive servers and colluding servers. As a by-product, we also get a proof of retrievability. Finally, our results also have an application in `storage enforcement' schemes, which in turn have an application in trying to update a remote server that is potentially infected with a virus.

연구 동기 및 목표

  • 클라이언트 스토리지 및 통신 비용을 최소화하면서도 데이터 무결성을 보장하는 외주 스토리지 검증 프로토콜을 설계한다.
  • 암호학적 가정에 의존하지 않고 코모고로프 복잡도와 리스트 디코딩에 기반한 정보이론적 기법을 통해 이를 달성한다.
  • 데이터를 저장하는 서버가 반드시 C(x) − o(C(x)) 비트 이상의 정보를 유지해야 하도록 강제한다. 여기서 C(x)는 데이터의 코모고로프 복잡도이다.
  • 다중 서버 환경에서 비응답 또는 공모하는 서버에 대한 강건성을 확보한다.
  • 데이터 복구 가능성을 입증하고 악성코드 존재 상황에서도 안전한 원격 서버 업데이트 등의 응용을 가능하게 한다.

제안 방법

  • cheating 서버를 탐지하기 위해 높은 리스트 디코딩 반경을 가진 리스트 디코딩 가능한 코드(특히 리드-소로몬 및 CRT 코드)를 활용한다.
  • 모듈러 해싱(예: 카프-라빈 또는 다항식 해싱)을 통한 무작위 투영을 이용해 데이터에서 압축된 챌린지를 생성한다.
  • 리스트 디코딩 용량에 관한 정리 9를 적용하여 주어진 거리 내의 가능한 코드워드 수를 제한함으로써, 고도의 코모고로프 복잡도를 가진 데이터만 검증에 통과할 수 있도록 보장한다.
  • 데이터 스트림 상에서 해시 값 계산을 효율적으로 수행하기 위해 일회성, 저공간 알고리즘을 활용하여 클라이언트 스토리지 비용을 최소화한다.
  • 클라이언트가 무작위 인덱스를 사용해 다수의 서버를 챌린지하고, 응답 간 일관성을 검증하는 다자 검증 프로토콜을 설계한다.
  • 리스트 디코딩 가능한 코드의 구조를 활용하여, 서버가 프로토콜에 성공적으로 통과할 확률에 기반해 서버가 저장한 정보의 최소량에 하한을 설정한다.

실험 결과

연구 질문

  • RQ1암호학적 가정 없이도 근사적으로 최적의 정보(C(x) 수준)를 저장하도록 강제하는 데이터 소유성 프로토콜을 설계할 수 있는가?
  • RQ2코모고로프 복잡도는 서버가 검증에 통과하기 위해 저장해야 할 정보의 이론적 하한으로 어떻게 활용될 수 있는가?
  • RQ3리스트 디코딩 기법을 활용해 계산 능력이 무한한 서버에 대해서도 안전한 검증 프로토콜을 구축할 수 있는가?
  • RQ4원격 서버가 원본 데이터의 대부분을 저장하고 있음을 검증하기 위해 필요한 최소한의 클라이언트 스토리지 및 통신 오버헤드는 얼마인가?
  • RQ5이 프로토콜은 다수의 서버, 비응답 서버, 또는 서버 간 공모 상황을 다룰 수 있도록 어떻게 확장될 수 있는가?

주요 결과

  • 프로토콜은 최적의 클라이언트 측 스토리지 및 통신 복잡도를 달성하며, s개의 서버에 대해 클라이언트 스토리지가 O(s(log k + log(1/ε))) 비트 이하로 제한된다.
  • 확률 ε로 검증 프로토콜에 통과하는 서버는 데이터의 코모고로프 복잡도 C(x)에 대해 최소 C(x) − O(s(log k + log(1/ε))) 비트의 정보를 저장해야 한다.
  • n = k/ε²인 리드-소로몬 코드는 (1−ε, 2k²/ε⁴)-리스트 디코딩 가능하며, 거리 내 가능한 코드워드 수에 대한 강력한 보장을 제공한다.
  • 프로토콜은 일회성, 저공간 계산(O(log k + log(1/ε)) 비트)을 지원하여 스트리밍 데이터에 대해 효율적이다.
  • 프로토콜은 다중 서버 환경으로 확장 가능하며, 최대 e대의 비응답 서버가 존재하더라도 최소한의 오버헤드로 보안성과 정확성을 유지한다.
  • 프로토콜은 데이터 복구 가능성을 입증하고, 악성코드 존재 상황에서도 안전한 원격 서버 업데이트를 가능하게 하며, 이는 저장 강제 메커니즘의 부산물이다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.