클라우드 환경을 위한 검증 가능한 아웃소싱 복호화 기반 구체적 속성 기반 암호화 설계
초록
본 논문은 속성 기반 암호화(ABE)의 복호화 비용을 크게 낮추기 위해, 복잡한 접근 정책을 가진 암호문에 대해 클라우드 서버에 복호화 연산을 위임하고, 사용자는 가벼운 검증 절차만 수행하도록 설계된 구체적 ABE 스킴을 제안한다. 제안 스킴은 보안성(IND‑CPA, 속성 프라이버시)과 복호화 결과의 무결성을 검증할 수 있는 메커니즘을 동시에 제공한다. 구현 결과, 기존 ABE 대비 사용자 측 연산량이 70 % 이상 감소했으며, 전체 시스템의 응답 시간도 크게 개선된 것으로 나타났다.
상세 분석
본 연구는 기존 ABE가 갖는 “복호화 시 페어링 연산이 정책 복잡도에 비례해 급증한다”는 근본적인 효율성 문제를 해결하고자, 두 가지 핵심 아이디어를 도입한다. 첫째, 복호화 연산을 ‘아웃소싱’ 형태로 클라우드에 위임한다는 점이다. 사용자는 자신의 개인키와 암호문에 포함된 속성 집합을 이용해 최소한의 선형 연산(예: 멀티플라이어와 어드더)만 수행하고, 나머지 복잡한 페어링 연산을 서버에 맡긴다. 둘째, 서버가 제공한 복호화 결과가 올바른지 사용자가 검증할 수 있는 ‘검증 가능성(Verifiable)’ 메커니즘을 설계한다. 이를 위해 스킴은 복호화 과정에서 무작위 챌린지를 삽입하고, 결과에 대한 증명값을 함께 반환하도록 구성한다. 사용자는 이 증명값을 자신의 비밀키와 공개 파라미터만으로 빠르게 검증함으로써, 서버가 악의적으로 연산을 변조하거나 오류를 내는 경우를 방지한다.
구체적인 설계는 다음과 같은 단계로 이루어진다. (1) 시스템 초기화 단계에서 전역 파라미터와 마스터 비밀키를 생성하고, 속성마다 고유한 공개·비밀 키 쌍을 파생한다. (2) 암호화 단계에서는 접근 정책을 LSSS(Linear Secret Sharing Scheme) 형태로 변환하고, 각 행에 대응하는 속성값을 이용해 페어링 기반의 캡슐화(capsule)를 만든다. (3) 아웃소싱 복호화 단계에서 사용자는 자신의 속성 집합이 정책을 만족하는지 LSSS 행을 선택하고, 선택된 행에 대한 부분 복호화 값을 서버에 전송한다. 서버는 이 값을 받아 전체 페어링 연산을 수행하고, 복호화된 세션 키와 함께 검증 증명(Proof)을 반환한다. (4) 최종 복호화 단계에서 사용자는 검증 증명을 검증하고, 세션 키를 이용해 실제 데이터 복호화를 수행한다.
보안 분석에서는 (i) 선택적 평문 공격(IND‑CPA) 하에서의 암호문 보안, (ii) 속성 프라이버시 보장을 위한 속성 숨김(Attr‑Hide) 특성, (iii) 아웃소싱된 복호화 결과의 무결성을 검증하는 정밀성(proof of correctness)을 정형화하였다. 특히, 검증 메커니즘은 복호화 결과가 올바르지 않을 경우 검증 절차에서 확률적으로 1‑ε 이상의 실패 확률을 보장하도록 설계되었다.
성능 평가에서는 구현을 위해 파이썬·C++ 기반의 PBC(Pairing-Based Cryptography) 라이브러리를 활용했으며, 실험 환경은 Intel Xeon 2.6 GHz CPU와 16 GB RAM을 갖춘 서버, 그리고 일반적인 모바일 디바이스(ARM Cortex‑A53)였다. 정책 행 수가 10, 20, 30인 경우에 대해 기존 CP‑ABE와 비교했을 때, 사용자 측 연산 시간은 각각 1.2 s → 0.35 s, 2.5 s → 0.68 s, 4.1 s → 1.02 s 로 평균 70 % 이상 감소하였다. 검증 단계는 0.02 s 내에 완료돼 실용적인 오버헤드가 거의 없음을 확인했다. 또한, 네트워크 전송량은 증명값 포함 약 1 KB 수준으로, 대역폭에 큰 부담을 주지 않는다.
결론적으로, 본 논문은 “보안·무결성·효율성”을 동시에 만족하는 구체적 ABE 스킴을 제시함으로써, 클라우드 기반 데이터 공유 시 사용자 디바이스의 연산 부담을 크게 경감하고, 서버에 대한 신뢰성을 검증 가능한 형태로 제공한다는 점에서 실용적 의의를 가진다. 향후 연구에서는 다중 키워드 검색과 동적 속성 관리, 그리고 양자 저항성을 고려한 확장도 가능할 것으로 기대된다.
댓글 및 학술 토론
Loading comments...
의견 남기기