스마트카드 기반 혼돈지도 인증의 치명적 결함 분석
초록
본 논문은 텔레케어 의료 정보 시스템을 위한 Lee의 혼돈지도 기반 인증·키합의 스킴을 검토하고, 스마트카드에 저장된 파라미터를 이용한 오프라인 비밀번호 추측 공격, 로그인 단계에서 비밀번호 검증 부재에 따른 불필요한 연산·통신 오버헤드, 그리고 잘못된 비밀번호 입력 시 서비스 거부(DoS) 공격을 초래하는 비밀번호 변경 단계의 취약점을 상세히 제시한다.
상세 분석
Lee가 제안한 인증·키합의 프로토콜은 네 단계(파라미터 생성, 등록, 인증, 비밀번호 변경)로 구성되며, 마스터키 mk와 Chaotic map 기반 해시 h, H, 대칭 암호 E_k/D_k 등을 활용한다. 등록 단계에서 서버는 사용자에게 IM₁=mk⊕r, IM₂=h(mk‖r)⊕ID, D₁=h(ID‖mk)⊕h(PW⊕b) 등을 스마트카드에 저장하고, 사용자는 D₂=h(PW)⊕b 를 추가 저장한다.
이 설계의 핵심 취약점은 스마트카드에 저장된 IM₁, IM₂, D₁, D₂ 가 모두 노출될 경우, 공격자는 오프라인에서 비밀번호를 추측할 수 있다는 점이다. 구체적으로, 공격자는 임의의 비밀번호 PW* 를 가정하고 b* = D₂ ⊕ h(PW*) 와 K* = D₁ ⊕ h(PW*‖b*) 를 계산한다. 이후 인증 단계에서 전송되는 X₁ = h(K‖IM₁‖IM₂‖T_u(K)‖T₁) 과 비교하여 일치하면 비밀번호 추측에 성공한다. 해시 함수 h 가 충돌 저항성을 갖더라도, 위와 같은 구조적 연산은 무차별 대입 공격을 실질적으로 가능하게 만든다.
또한 로그인 단계에서 스마트카드는 입력된 비밀번호의 정확성을 사전에 검증하지 않는다. 사용자가 잘못된 PW* 을 입력하면, 스마트카드는 여전히 u, b*, K* 등을 계산하고 서버에 M₁* 을 전송한다. 서버는 타임스탬프 검증은 통과하지만 K* 와 실제 K 가 다르므로 최종 인증을 거부한다. 이 과정에서 발생하는 해시 연산 4·T_X + 6·T_h + T_ch (해시, XOR, Chaotic map 연산) 만큼의 불필요한 연산·통신 비용이 발생한다.
비밀번호 변경 단계 역시 동일한 설계 결함을 가지고 있다. 사용자가 기존 비밀번호를 잘못 입력한 상태에서 새로운 비밀번호 PW_new 를 제공하면, 스마트카드는 D₁, D₂ 를 잘못된 b* 를 기반으로 업데이트한다. 결과적으로 스마트카드 내부의 인증 파라미터가 손상되어 이후 정상적인 로그인조차 불가능해진다. 이는 서비스 거부(DoS) 공격으로 이어지며, 사용자는 카드 자체를 교체하거나 서버와 재등록해야 하는 심각한 불편을 겪는다.
이러한 취약점은 기존 문헌에서 제시된 스마트카드 기반 인증 프로토콜(예: Guo‑Chang 2012, Hao‑et al. 2013)에서도 비슷한 구조적 결함이 발견된 바와 일치한다. 즉, 비밀번호 검증을 사후에 수행하고, 스마트카드에 중요한 비밀값을 평문 형태로 저장하는 설계는 근본적으로 안전하지 않다. 논문은 이러한 문제점을 지적함과 동시에, 비밀번호 검증을 로그인·비밀번호 변경 초기에 수행하고, 스마트카드에 저장되는 값은 일방향 해시 혹은 비대칭 암호화된 형태로 제한하는 설계 개선을 권고한다.
댓글 및 학술 토론
Loading comments...
의견 남기기