비밀번호 없이 비밀번호를 동기화하는 PALPAS
초록
PALPAS는 사용자가 기억해야 할 마스터 비밀번호 하나만으로, 고엔트로피 시드와 서비스별 무작위 솔트를 이용해 각 서비스에 맞는 강력한 비밀번호를 실시간으로 생성한다. 비밀번호 자체는 서버에 저장되지 않으며, 솔트와 서비스 정책만이 중앙 서버에 보관된다. 정책 자동 수집·검증 메커니즘과 공개키 기반 인증을 결합해, 서버 침해 시에도 비밀번호가 유출되지 않도록 설계되었다.
상세 분석
본 논문은 기존 비밀번호 관리·동기화 솔루션이 갖는 ‘저엔트로피 마스터 비밀번호 기반 암호화 → 서버 탈취 → 오프라인 무차별 공격’이라는 구조적 취약점을 근본적으로 해소하고자 한다. PALPAS는 세 가지 핵심 비밀을 분리한다. 첫째, 모든 디바이스가 공유하는 고엔트로피 시드 S는 최초 설치 시 무작위 생성 후 사용자가 직접 전송하며, 로컬에서만 K_MPW(마스터 비밀번호 기반 키)로 암호화돼 저장된다. 둘째, 서비스별 솔트 salt는 중앙 Salt Synchronization Service(SSS)에 저장되지만, 식별자는 서비스 URL을 K_E(디바이스 전용 비밀)로 해시한 값이므로 서버 관리자는 사용자가 어떤 사이트를 이용하는지 알 수 없다. 셋째, 디바이스 인증은 공개키 기반 PKI로 수행돼, 비밀번호 기반 인증이 전혀 사용되지 않는다. 비밀번호 생성 흐름은 PRG(seed, salt) → 난수값 → PG(난수, 정책) 순으로 결정적이며, 동일한 시드·솔트·정책이면 언제든 동일 비밀번호가 재현된다. 정책 부분에서는 Password Policy Service(PPS)를 도입해, 사용자가 한번 입력한 정책을 커뮤니티 검증 후 중앙에 배포한다. PPS는 엔트로피 최소 기준, 다중 사용자 동의, 평판 시스템 등을 적용해 정책의 신뢰성을 확보한다. 이렇게 자동으로 정책을 가져오면 사용자는 서비스별 요구사항을 일일이 조사할 필요가 없으며, 정책 변화 시 PPS에 업데이트를 제출하면 자동 반영된다. 보안 분석에서는(1) 서버 침해 시 탈취되는 것은 솔트와 해시된 식별자뿐이며, 이는 비밀번호와 독립적인 통계적 정보이므로 역산이 불가능하고, (2) 로컬 시드가 K_MPW에 의해 보호돼 물리적 디바이스 탈취 시에도 마스터 비밀번호 없이는 시드 복구가 어렵다, (3) 공개키 기반 인증으로 피싱 위험을 크게 감소시킨다. 전체 설계는 ‘보안·사용성·프라이버시’ 삼위일체를 균형 있게 만족시키며, 특히 비밀번호 정책 자동화와 서버‑클라이언트 데이터 분리라는 두 가지 혁신이 실용성을 크게 높인다.
댓글 및 학술 토론
Loading comments...
의견 남기기