티안의 원격 사용자 인증 개선안 취약점 분석
초록
본 논문은 티안 등(2014)이 제안한 두 가지 원격 사용자 인증 스키마가 기존 윤 등(2013)의 스키마보다 오히려 보안성이 낮음을 증명한다. 스마트카드 탈취, 오프라인 비밀번호 추측, 재전송 및 위조 공격 등을 통해 해당 스키마가 인증 과정에서 핵심 비밀을 충분히 보호하지 못함을 상세히 보여준다.
상세 분석
티안 등은 윤 등(2013)의 원격 사용자 인증 프로토콜의 몇 가지 약점을 보완하기 위해 두 개의 개선된 스키마를 제시하였다. 두 스키마 모두 스마트카드 기반이며, 해시 함수와 대칭키 암호를 이용해 사용자와 서버 간의 인증 및 세션 키 교환을 수행한다. 그러나 저자들은 이러한 설계가 근본적인 구조적 결함을 내포하고 있음을 발견하였다. 첫 번째 결함은 스마트카드에 저장되는 비밀값이 충분히 난수화되지 않아, 스마트카드가 물리적으로 탈취될 경우 공격자는 저장된 해시값과 함께 사용자의 ID, 랜덤 난수 등을 이용해 오프라인 비밀번호 추측 공격을 수행할 수 있다. 특히, 티안의 첫 번째 스키마에서는 서버가 사용자에게 전송하는 인증 토큰이 단순히 해시값 H(ID‖PW‖R) 형태로 구성되는데, 여기서 R은 서버가 제공하는 랜덤값이다. 공격자는 스마트카드 내부에 저장된 H(PW‖X)와 R을 조합해 무차별 대입을 시도함으로써 비밀번호를 복원할 수 있다. 두 번째 결함은 재전송 공격에 대한 방어가 미흡하다는 점이다. 티안의 두 번째 스키마에서는 세션 키 K를 생성할 때 일회성 난수 N1, N2를 사용하지만, 이 난수들이 각각 사용자와 서버에 의해 독립적으로 생성되지 않고, 한쪽에서만 생성된 값이 그대로 전송되어 검증되지 않는다. 결과적으로 공격자는 이전에 캡처한 인증 메시지를 재전송함으로써 인증을 우회하거나, 중간자 공격을 통해 세션 키를 탈취할 수 있다. 또한, 인증 단계에서 서버가 클라이언트에게 전송하는 확인 메시지가 단순히 H(K‖ID) 형태로만 구성되어 있어, 공격자는 해당 해시값을 이용해 키를 역추적하거나, 키 교환 과정에서 발생하는 중간값을 변조해도 검증에 실패하지 않는다. 이러한 구조적 약점은 티안이 제시한 “향상된 효율성”이 실제 보안성을 희생한 결과임을 명확히 보여준다. 더불어, 저자들은 윤 등(2013)의 원래 스키마가 비밀번호와 스마트카드 비밀을 별도로 관리하고, 인증 토큰에 타임스탬프와 난수 결합을 통해 재전송 방지를 구현함으로써 위와 같은 공격을 효과적으로 차단한다는 점을 강조한다. 따라서 티안의 개선안은 설계 단계에서 보안 원칙을 충분히 고려하지 못했으며, 실제 구현 시 심각한 취약점을 초래한다는 결론에 도달한다.
댓글 및 학술 토론
Loading comments...
의견 남기기