DOI QR코드

DOI QR Code

Sun 등이 제안한 착용 가능한 토큰 시스템의 취약점 분석에 관한 연구

Weaknesses of the new design of wearable token system proposed by Sun et al.

  • 투고 : 2009.04.21
  • 심사 : 2009.12.08
  • 발행 : 2010.10.31

초록

Sun 등은 노트북이나 PDA와 같은 모바일 장치의 보안을 위해, 착용 가능한 토큰 시스템을 제안하였다. 본 논문을 통해, Sun 등의 시스템이 오프라인 패스워드 추측 공격, 그리고 기지평문 공격에 기반한 중간자 공격에 취약하다는 것을 보여준다. 우리는 성능저하를 최소화 하는 동시에, Sun 등의 시스템의 보안 문제점을 극복하는 해결책을 제시한다. Sun 등의 시스템과 비교하여, 제안하는 프로토콜에서는 연산 능력이 부족한 토큰의 경우 곱셈 연산이 1회 추가되었으며, 연산 능력이 우수한 노트북, PDA와 같은 모바일 장치에서는 지수승 연산이 1회 추가되었다. 제안하는 프로토콜에서는 Sun 등의 시스템에 존재하는 보안 문제점 뿐 아니라, 알려진 어떠한 보안 문제점도 존재하지 않는다. 즉, 제안하는 시스템은 최소한의 추가적인 오버헤드 만으로, Sun 등의 보안 취약점을 모두 극복하였다.

Sun et al. proposed a new design of wearable token system for security of mobile devices, such as a notebook and PDA. In this paper, we show that Sun et al.'s system is vulnerable to off-line password guessing attack and man in the middle attack based on known plain-text attack. We propose an improved scheme which overcomes the weaknesses of Sun et al.'s system. The proposed protocol requires to perform one modular multiplication in the wearable token, which has low computation ability, and modular exponentiation in the mobile devices, which have sufficient computing resources. Our protocol has no security problem, which threatens Sun's system, and known vulnerabilities. That is, the proposed protocol overcomes the security problems of Sun's system with minimal overheads.

키워드

Ⅰ. 서론

휴대전화, 랩톱 (laptop) 컴퓨터, PDA와 같은 모바일 장치는 사용자에게 편의를 제공하는 반면, 여러 물리적인 위협에 쉽게 노출될 수 있다. 예를 들어, 모바일 장치의 사용자가 자리를 비운 사이, 공격자가 해당 모바일 장치로부터 민감한 정보를 열람할 수 있다. 또한, 모바일 장치의 휴대성으로 인해 공격자는 모바일 장치를 쉽게 탈취할 수 있고, 이는 더욱 심각한 결과를 초래한다.

Corner와 Noble [1], Nicholson 등〔2〕, 그리고 Sun 등〔3〕은 이와 같은 모바일 장치의 물리적 위협의 주된 원인으로서. 사용자가 모바일 장치로부터 떨어져 있는 동안에도 모바일 장치가 계속해서 동작한다는 점을 지적하였다. 이러한 문제를 극복하기 위해, Corner와 Noble은 Zero-Interactive Authenti­ cation (ZIA) 이라는 새로운 파일시스템을 제안하였다〔1〕. ZIA를 사용하는 모바일 장치에는 민감한 정보들이 모두 암호화되어 저장된다. 그리고 암호화 된 정보를 복호화 할 수 있는 키는, 사용자가 착용하고 있는 토큰으로부터 인증을 받은 후에 획득할 수 있다. 따라서 토큰을 착용하고 있는 人]용자가 모바일 장치에 인접해 있을 때에만 모바일 장치에 저장되어 있는 민감한 정보의 복호화 및 열람이 7] 능하다. Nicholson 등은 ZIA를 더욱 상세하게 구현하고 그 성능을 평가하였다 ⑵.

Sun 등은 ZIA의 성능을 더욱 향상시키기 위한 모바일 장치와 토큰 간의 상호인증 프로토콜을 새롭게 제안하였다〔3〕. 그러나 Sun 등의 시스템은 1) 착용 가능한 토큰의 특성과, 2) 사용자들이 지정하는 비밀번호의 취약성으로 인해, 오프라인 패스워드 추측 공격〔4〕〔5〕 〔6〕에 취약하다. 뿐만 아니라, Sun 등의 시스템은 기지평문 공격에 기반한 중간자 공격에도 취약하기 때문에. 공격자는 정상적인 모바일 장치로 위장하여 착용 가능한 토큰으로부터 모바일 장치의 사용 권한을 획득할 수 있다. 본 논문을 통해, 우리는 여러 가지 공격 시나리오를 제시함으로써 Sun 등의 시스템의 취약점을 제시하고, 이를 극복하기 위한 향상된 스킴을 제안한다. 우리가 제안하는 스킴은 최소한의 성능 저하 만으로 Sun 등의 시스템의 알려진 보안 문제점을 모두 해결한다.

Ⅱ. Sun 등의 시스템의 요약

Sun 등의 시스템은 모바일 장치와 착용 가능한 토큰으로 구성되어 있다.〔표 1〕은 Sun 등의 시스템의 요약을 위해 사용되는 변수 및 함수를 나타낸다. 모바일 장치는 민감한 정보들을 평문으로 저장하지 않고, 파일키 (玲)를 이용하여 암호화 한 형태로 저장함으로써 민감한 정보들을 보호한다. 그리고 Kf 또한 평문으로 저장되지 않고, 루트키 (瓦)로 암호화 된 형태로 저장된다. 모바일 장치에는 Kr 이 저장되지 않기 때문에, 모바일 장치만으로는 Kf를 복호화할 수 없고, 따라서 모바일 장치만으로는 암호화된 할정보들을 복호화 할 수 없다. 모바일 장치에는 파일키 Kf 대신 비밀키 Ka = h(丑為 I I Kr)가 저장된다. 단, h(・)는 SHAT과 같은 일방향 해쉬 함수를 의미하고, IDm은모바일 장치의 아이디를 의미한다. 모바일 장치에서 민감한 정보를 열람하기 위해서는, 먼저 비밀키 瓦를이용하여 착용 가능한 토큰과 상호인증을 수행하여 둘 사이의 세션키 K를 생성하고, 이후에 토큰으로부터 K로 암호화 된 파일키 Kf를 수신한다. 그리고 모바일장치는 암호화 된 & 를 K로 복호화하여 K를 획득하고, 及를 이용하여 암호화된 민감한 정보를 복호화할 수 있다.

(표 1) Sun 등의 시스템의 요약에서 사용되는 표기 및 변수정리

착용 가능한 토큰에는 루트키 K/을 비밀번호 PW 로 XOR한 값인 珞釦冲꽈. 사전에 등록한 모바일장치들의 각각의 ID가 저장되어 있다. Sun 등은 사용자가 착용 가능한 토큰을 분실할 수 있다고 주장했으며 , 분실한 토큰을 습득한 공격자가 토큰을 남용하는 것에 대비하여 최소한 하루에 한 번씩 사용자로부터 비밀번호를 입력받도록 시스템을 설계하였다. 비밀번호를 입력 받은 후, 토큰은 저장하고 있는 Kr® FW에 입력 받은 비밀번호를 XOR 함으로써 Kr을 유도한다. 이후 토큰은 루트키 Kr로부터 비밀키 Ka = h(Wm 11 Kr)를 계산하고, K를 이용하여 모바일 장치와의 상호인증을 수행한다.

사용자가 모바일 장치에 저장되어 있는 암호화 된 정보를 복호화 하고 열람하기 위해서는, 토큰으로부터파일키 及를 수신해야 하며, 이를 위해서는 모바일 장치와 토큰의 상호인증이 먼저 수행되어야 한다. 그리고 토큰은 이 과정에서 설립된 세션 키로 파일키 瓦를암호화 하여 모바일 장치에게 안전하게 전달해야 한다. 〔그림 1〕은 Sun 등의 시스템에서 모바일 장치와 토큰의 상호인증 및 세션 키 설립 과정을 나타낸다. 모바일 장치는 랜덤 값 n을 선택하고, 디피-헬 만 알고리즘〔7〕기반의 辭를 계산하고, 그 결과를 ZDm과 함께토큰에게 전달한다. 이를 수신한 토큰은 Ka를 계산한 후. 랜덤값 性을 선택하고. 디피-헬 만 알고리즘 를기반의 梦를 계산한다. 그리고 타임 스탬프 Nt와 萨, 를 珞로 암호화하여 모바일 장치에게 전달한다. 모바일 장치는 수신한 메시지를 Ka로 복호화한 후. 타임 스탬프 N? 를 확인하여 재전송 여부를 검사하고, 자신이 저장하고 있는 F과 수신한 由을 비교하여 토큰을 인증한다. 그리고 모바일 장치는 타임 스탬프 Nd왁 車 를 Ka로 암호화하여 토큰에게 전달한다. 토큰은 수신한 메시지를 & 로 복호화한 후, 타임 스탬프 Nd를 확인하여 재전송 여부를 검사하고, 자신이 저장하고 있는 革와 수신한 K를 비교하여 모바일 장치를 인증한다. 상호인증이 완료되면 모바일 장치와 토큰은 공통된 세션키 K = h0勺를 생성한다.

이후에 토큰은 1초 간격으로 새로운 타임 스탬프를 세션 키 瓦로 암호화하여 모바일 장치에게 전달함으로써 연결을 유지한다.

상호인증 이후 모바일 장치는 루트키 Kr로 암호화 된파일키 Ek「(K»를 토큰에게 전달하고, 토큰은 이 메시지를 Kr로 복호화 히. 여 K를 획득한다. 그리고 토큰은세션키 瓦로 K를 암호화하고, 그_ 결과값인 EiM 를 모바일 장치에게 전달한다. 모바일 장치는 이 메시지를 세션키 K로 복호화하여 파일키 氏를 획득하고, 이를 이용하여 암호화된 정보를 열람할 수 있다.

Ⅲ. Sun 등의 시스템의 취약점 분석

Sun 등은 착용 가능한 토큰은 최소한 히루에 한 번씩 비밀번호를 입력받도록 되어 있기 때문에, 다른 사용자의 토큰을 획득한 공격자는 토큰을 기껏해야 하루 밖에 사용할 수 없다고 주장하였다. 그러나 공격자는 오프라인 패스워드 추측 공격을 통해 짧은 시간 내에 해당 사용자의 비밀번호를 획득할 수 있으며 , 이를 통해 토큰의 지속적인 사용이 가능하다. 또한, 공격자는 기지평문 공격에 기반한 중간자 공격을 통해, 올바른 모바일 장치로 위장하여 토큰으로부터 파일키 K/를수신하고, 이를 통해 진짜 모바일 장치에 저장되어 있는 민감한 정보를 열람할 수 있다.

3.1 오프라인 패스워드 추측 공격

오프라인 패스워드 추측 공격〔4〕〔5〕〔6〕은 사용자의 정상적인 인증 과정에서 발생하는 일부 정보들을 수집한 후, 이를 이용하여 농 격자가 오프라인으로 사용자의 비밀번호를 찾는 공격을 의미한다. Sun 등의 시스템에 대한 오프라인 패스워드 추측 공격의 시나리오는 다음과 같다.

먼저. 공격자는 모바일 장치와 착용 가능한 토큰의 정상적인 인증 과정을 도청하여, 〔그림 1〕의 첫 번째 메시지 U爲 丨 丨 K와, 두 번째 메시지 E爲(Nr 11 萨 丨 I 를 수집한다. 이후에 공격자가 해당 토큰을 획득하게 되면, 해당 토큰에 저장되어 있는 에 비밀번호 후보 PWr 을 XOR 하여 Kr ' = Kr(SPW (DPVT 을 계산한디' 그리고 공격자는 /(" 로부터 Ka ' = h(Wm H Kr ' )을 계산하여, 수집한 메시지 Ek3(Nt II 萨 I I /.)< Ka ' 으로 복호화 한다. 만약 복호화 한 由과 수집한 由이 동일하다면, 공격자는 비밀번호를 발견한 것이고, 그렇지 않다면 다른 비밀번호 후보를 추측하여 위 과정을 반복한다.

〔그림 1) Sun 등의 시스템의 동작 과정

일반적으로 사용자들은 강력한 패스워드 보다는 기억하기 쉽고 짧은 패스워드를 사용한다. 뿐만 아니라. 착용 가능한 토큰은 크기가 작기 때문에. 패스워드로 입력할 수 있는 문자의 종류가 제한적이다. 따라서, Sun 등의 시스템의 토큰에서 사용되는 패스워드는 공격자에 의해 노출되기 쉽다.

3.2 중간자 공격

Sun 등의 시스템은 기지 평문 공격에 기반한 중간자 공격에 취약하다.〔그림 1] 에서 볼 수 있듯이, Sun 등의 시스템에서는 모바일 장치가 착용 가능한토큰에게 m과 *을 전딜-하면, 토큰은 타임스탬프 Nt. /2, 그리고 矿을 모바일 장치와 공유하고 있는 비밀키인 瓦로 암호화하여 전달한다. 따라서 공격자가 임의의 평문을 선택하여 丑万과 함께 토큰에게 전달하면, 이를 수신한 토큰은 타임 스탬프 Nt. g咨 함께 공격자로부터 수신한 평문을 암호화한 결과를 전달한다. 이러한 사실에 기반하여, Sun 등의 시스템에서는 공격자가 임의의 평문과 그에 대한 암호문을 획득할 수 있는 기지 평문 공격이 가능하다. 암호화 키 획득을 목적으로 하는 일반적인 기지 평문 공격과 달리. 여기서는 단지 평문 블럭과 그에 대한 암호문 블럭의 획득이 목적이기 때문에, 공격에 소요되는 시간이 더욱 짧다. Sun 등의 시스템에서의 기지평문 공격시나리오는 다음과 같다.

Sun 등의 시스템에서는 암호화 알고리즘으로 AE$〔8〕in CBC mode를 사용하고, 梦 및 萨를 1024비트로 가정하고 있다. AES의 하나의 블럭은 128비트이기 때문에, Sun 등의 시스템에서 Nt II 車 11 矿를 암호화하는 과정은〔그림 2] 와 같다 (단, 타임스탬프 Nt는 64비트로 가정한다) . 공격자는 /*, pad. (단. pad.는 패딩을 의미한다), E&(M11 11 由)을 알기 때문에, 〔그림 2] 의 mio. mu,. mu, ci, cz....... ¥을 알 수 있다. 이제 공격자는 입력값 mw®c9, mn®cio, .... mi7®ci6°fl 대한 암호화의 결과값이 각각 Cio, C11, .... C17 이라는 사실을 알 수 있다.

(그림 2] CBC mode를 이용한 NT||gr2||gr1의 암호화 과정

공격자는 착용 가능한 토큰에게 임의의 평문을 〃為과 함께 전송함으로써, Ka를 이용한 암호화의 여러 입력값과 그에 해당하는 결과값을 획득할 수 있다. 이 과정은 모바일 장치와 토큰의 상호인증이 수행되기 이전에 발생하기 때문에, 토큰은 공격 여부를 식별할 수 없다.

공격자는 이러한 기지 평문 공격에 기반한 중간자 공격을 통해 모바일 장치로 위장할 수 있다.〔그림 3] 은 중간자 공격 과정을 나타낸다. 먼저 모바일 장치가 공격자에게 상호인증 요청을 위해 丑爲과 K을 전송하면, 공격자는 이를 토큰에게 전달한다. 그러면 토큰은 비밀키인《를 계산하고, 〔그림 3〕의 메시지 (a) 와 같이 타임 스탬프 Nt. /2, 萨을 생성하여 이를 Ka 로 암호화 한 후 모바일 장치로 가장한 공격자에게 전달한다. 이를 수신한 공격자는 토큰과의 상호인증 과정을 처음부터 다시 수행하기 위해 토큰에게 abort 메시지를 송신한다. zl 후 공격자는 랜덤값 心를 선택하고 〃為과 曲를 토큰에게 전송한다. 이를 수신한 토큰은〔그림 3〕의 메시지 (b) 와 같이 타임 스탬프 N T' , 車 '、#"을 생성하여 이를 Ka로 암호화 한 후 모바일 장치로 가장한 공격자에게 전달한다.

(그림 3) 기지 평문 공격에 기반한 중간자 공격

이제 공격자는 토큰으로 위장하여 모바일 장치에 게 자신을 인증하기 위해, 〔그림 3] 의 메시지 (b)를 변조한다. 즉, 메시지 (b)가〔그림 2] 오+ 같이 17개의블럭으로 구성되어 있을 경우, 공격자는 메시지 (b) 의암호문 블럭 Cg, C9 C17을 메시지 (a)의 암호문블럭 C8, Cg C17으로 대체하면, 메시지 (b) 는 메시지 (c) 와 같이 EkANt ' 11 " 丨 丨 矿)로 변조된다. ^2〃 와萨, 은 마지막 블럭 두 개만 다르고 나머지 블럭은 동일하다. 그리고 공격자는 메시지(C)를 모바일 장치에게 전달한다.

메시지(C)를 수신한 모바일 장치는 비밀키 Ka로 메시지 (c) 를 복호화하고, 타임 스탬프 Nr' 을 확인한 후, 저장된 K과 수신한 矿을 비교하여 토큰으로 위장한 공격자를 인증한다. 메시지 (c) 의 寸에 대한암호문 블럭이 메시지 (b) 의 것으로 대체되었기 때문에, 인증은 성공한다.

이후 모바일 장치는〔그림 3] 의 메시지 (d)와 같이 타임스탬프 地와 者* " 를 Ka로 암호화 하여 토큰으로 위장한 공격자에게 전달한다. 공격자는 토큰에게모바일 장치로서 인증받기 위해, 메시지 (d)의 마지막 암호문 블럭을 수정하여 메시지 (d) 를 메시지 (e) 로 변조해야 한다. 이를 위해 공격자는 기지평문 공격으로 수집해두었던 암호 알고리즘의 입력값과 결과값쌍을 이용하여, [그림 3] 의 메시지 (b) 로부터 을 찾는다. 즉, AES in CBC mode에서 암호문 블럭 G에 대한 입력값은 CH企也闵고, 이 값에 CH을 XOR하면 m르 구할 수 있다. 공격자는 기지평문 공격으로 수집해두었던 암호 알고리즘의 입력값과 결과값 쌍을 이용하여, 위와 같은 방식으로 g处 ' 을 찾을 수 있다. 그리고 공격자는 기지 평문 공격으로 수집해두었던 값들을 이용하여〔그림 3] 의 메시지 (d) 를 메시지 (e) 로 변조힌다. 메시지 (d)의 革 "과 메시지 (e)의 萨 ' 은 마지막 블럭 두 개만 다르기 때문에 , 공격자는 메시지 (d) 의 마지막 블럭 두 개만 대체하면 된다.

토큰은 메시지 (e) 를 로 복호화 하여 타임 스탬프 Nd를 확인하고, 저장된 車 ' 와 수신한 * ' 을 비교하여 모바일 장치로 위장한 공격자를 인증한다. 인증에 성공하면 공격자와 토큰은 세션키 Ks = h(/ 2' 勺를 공유한다. 공격자는 메시지 (d)를 변조하는 과정에서 章 ' 을 이미 획득하였기 때문에, 車 ' 에 대해 자신이 생성한 爲로 모듈로 기반의 지수연산을 수행하고, 그 결과를 해쉬연산 함으로써 K를 구할 수 있다.

결과적으로 공격자는 모바일 장치로 위장하여 토큰과 상호인증에 성공할 수 있고, 토큰으로부터 세션 키 Ks로 암호화된 파일키 氏를 수신하여 모바일 장치에 저장되어 있는 암호화 된 정보들을 복호화 할 수 있다.

Ⅳ. 제안하는 스킴

우리는 Sun 등의 시스템에서 발생할 수 있는 오프라인 패스워드 추측 공격을 방지하고, 기지평문 공격의 발생 가능성을 차단하기 위한 향상된 스킴을 제안한다. 제안하는 스킴은 기존 Sun 등의 시스템과 유-사한 성능을 유지하면서, Sun 등의 시스템의 보안 문제점들을 해결한다.

〔그림 4) 는 제안하는 스킴의 동작 과정을 나타낸다. 먼저 모바일 장치는 사전에 소수 p, q를 선택하여 n = p X q를 계산하고, RSA(9) 알고리즘에 기반하여 e・d 三 1 mod 0(n)을 만족하는 키 e와 d를 생성한다. 여기서 0는 Euler's totient function을 나타낸다. 또한. 모바일 장치는 랜덤 값 门을 선택하고, /' mod n을 계산한 후, ID, ”과 함께 Exa(e I 丨 n 丨 /l mod n) 을 토큰에게 전송한다. 이를 수신한 토큰은 랜덤값 “을 선택하고, r-2 X e를 계산한 후 mod n을 계산한다. 그리고 토큰은 Ka를 계산한 후, 타임스탬프 Nt와 g" mod n를 키 &amp; 로 암호화 한결 과를 모바일 장치에게 전달한다. 모바일 장치는 수신한 메시지를 3 복호화한 후, 타임스탬프 Nt를확인하여 재전송 여부를 검사하는 동시에 토큰을 인증한다. 즉, 모바일 장치는 복호화한 타임스탬프 Nt가유효한지 확인함으로써 토큰을 인증할 수 있다. 토큰의 인증에 성공하면 모바일 장치는 革13 mod n에 대해 키 d로 모듈로 기반의 지수연산을 수행하여 /2 mod n를 계산한다. 그리고 모바일 장치는 토 큰 과의 세션 키 Ks = g7*" mod n를 계산하고, 타임스탬프 Nd를 瓦로 암호화하여 토큰에게 전달한다. 토큰은 공통된 세션키 Ks = g" mod n를 생성한 후, 수신한 메시지를 Ks로 복호화하고, 타임 스탬프 Nd를 확인하여 재전송 여부를 검사하는 동시에 모바일 장치를 인증한다. 즉' 토큰은 복호화한 타임 스탬프 Nd가 유효한지 확인함으로써 모바일 장치를 인증할 수 있다. 모바일 장치의 인증에 성공하면 토큰은 모바일 장치와의 통신을 수행한다.

〔그림 4) 제안하는 스킴의 동작 과정

Ⅴ. 제안하는 스킴의 안전성 분석

본 장에서는 제안하는 스킴의 안전성을 분석한다. 안전성 분석의 대상으로는 오프라인 패스워드 추측 공격, 기지평문 공격, 중간자 공격을 선정하였다. 이 공격들은 Sun 등의 시스템에서 발생 가능한 공격들로서 , 제안하는 스킴은 이 공격들을 차단하여 Sun 등의 시스템을 개선하기 위해 제안되었다.

5.1 오프라인 패스워드 추측 공격

Sun 등의 시스템에서는 인증에 사용되는 값들 중, 패스워드를 제외한 모든 값을 공격자가 획득할 수 있다. 따라서, 공격자는 패스워드를 미지수로 하는 1차 방정식을 설립할 수 있고, 1차 방정식을 만족하는 미지수를 추측하여 방정식의 성립 여부를 확인함으로써 패스워드를 찾아낼 수 있다. 일반적으로 사용자들은 기억하기 쉬운 취약한 패스워드를 사용하는 경향이 있기 때문에, 공격자가 설립한 1차 방정식의 미지수인 패스워드는 짧은 시간 내에 공격자가 찾아낼 수 있다.

그러나 제안하는 스킴에서는, 공격자가 획득할 수 없는 미지수가 2개 (八 혹은 r2, 패스워드) 이기 때문에. 공격자는 2차 방정식을 설립할 수 밖에 없다. 물론. 2차 방정식이라도 미지수들이 모두 취약한 패스워드만으로 구성되어 있다면, 공격자는 짧은 시간 내에 방정식을 만족하는 미지수 2개의 조합을 쉽게 찾아낼 수 있을 것이다. 그러나 제안하는 스킴의 미지수 중 1 개는 난수 Cn 혹은 r2) 이기 때문에, 공격자는 이 미지수를 찾기 위해 상당한 시간 동안 전수조사를 수행해야 한다. 이 전수조사는 현실적으로 성공하기 어려울 정도로 많은 시간을 필요로 한다. 따라서, 제안하는 스킴은 오프라인 패스워드 추측 공격으로부터 안전하다.

5.2 기지 평문 공격

Sun 등의 시스템에서는 임의의 노출된 평문에 대해 그 암호문이 드러나기 때문에, 공격자는 정상적인 인증 과정 혹은 공격자가 임의로 유발시킨 인증 과정을 통해 다수의 평문 및 암호문 쌍을 수집할 수 있다. 그러나 제안하는 스킴에서는 임의의 노출된 평문에 대해 그 암호문이 드러나지 않기 때문에, 공격자는 평문과 암호문의 쌍을 수집할 수 없다. 따라서, 제안하는 스킴은 Sun 등이 제안한 시스템에 비해 기지평문공격으로부터 안전하다.

5.3 중간자 공격

제안하는 스킴에서 공격자가 중간자 공격을 수행하여 세션을 가로채기 위해서는 e, n. 矿 mod n, g财 mod n 등을 공격자의 의도대로 수정해야 한다. 그러나, 위에서 언급한 모든 값은 키 Ka로 암호화 되어 송신되며, 키 瓦는 패스워드를 알고 있는 사용자만이 계산할 수 있는 값이기 때문에, 패스워드를 모르는 공격자는 e, n, mod n. g, " mod n를 자신이 의도한 값으로 수정할 수 없다. 따라서, 제안하는 스킴은 중간자 공격으로부터 안전하다.

Ⅵ. 제안하는 스킴의 성능 평가 및 분석

제안하는 스킴은 Sun 등의 시스템과 달리, 소수를 선택하는 연산. 키 e, d를 생성하는 연산을 필요로 한다. 그러나, 이 연산들은 모두 인증이 시작되기 이전에 미리 계산이 가능하기 때문에, 성능 분석 및 평가 시 고려하지 않는다. 한편, 제안하는 스킴의 성능 분석 및 평가를 위해. 모바일 장치의 ID 및 각 타임 스탬프를 64비트라고 가정하였고, Sun 등의 시스템에서디피-헬 만 알고리즘에 의해 생성된 값과 제안하는 스킴의 ”을 각각 1024비트라고 가정하였다. 그리고 제안하는 스킴의 e와 d 또한 각각 1024비트라고 가정하였다.

〔표 2] 는 Sun 등의 시스템과 제안하는 프로토콜의 성능 비교 결과를 나타낸다. 연산 오버헤드 측면에서 볼 때, 〔표 2〕는 토큰과 모바일 장치에서 수행되는 각 연산의 수행 횟수 및 복잡도를 나타내고 있다. H는 해쉬함수의 수행에 소요되는 시간이며, A는 AES 암/복호화에 소요되는 시간, 그리고 M은 모듈로 곱셈 연산을 의미한다. E는 모듈로 지수 연산을 나타낸다. H. A. M은 수행 시간이 거의 동일하기 때문에 모두 A로 나타낼 수 있다. 즉, 가벼운 연산인 A와 무거운 연산인 E를 이용하여 Sun 등의 시스템과 제안하는 스킴의 성능을 비교할 수 있다.

(표 2) Sun 등의 시스템과 제안하는 프로토콜의 성능 비교 결과

Sun 등의 시스템에서 토큰과 모바일 장치는 각각 26개의 평문 블록에 대해 AES 암/복호화를 수행해야 하며, 일방향 해쉬 알고리즘은 토큰의 경우 2회, 모바일 장치의 경우 1회 수행해야 한다. 또한 토큰과 모바일 장치는 모듈로 지수 연산을 각각 2회씩 수행해야 한다’ 제안하는 스킴에서 토큰과 모바일 장치는 각각 34개의 평문 블록에 대해 AES 암/복호화를 수행해야 하며 , 일방향 해쉬 알고리즘은 토큰의 경우 1 회 수행해야 하고, 모바일 장치의 경우 수행하지 않아도 된다. 또한 모듈로 지수 연산은 토큰의 경우 2회 , 모바일 장치의 경우 3회 수행해야 한다. 추가적으로, 제안하는 스킴에서는 토큰이 곱셈 연산을 1회 수행해야 한다.

결과적으로 제안하는 스킴과 Sun 등의 시스템의 연산량의 차이를 비교해보면, 제안하는 스킴이 AES 암/복호화를 토큰과 모바일 장치에서 각각 8개의 블록에 대해 추가적으로 수행해야 하며, 일방향 해쉬 알고리즘은 1회씩 더 적게 수행하고, 모듈로 지수 연산의 경우 모바일 장치만 1회 더 수행해야 한다. 그리고 토큰의 곱셈 연산 1회가 추가되었다. 즉, AES 암/복호화 및 곱셈 연산과 같이 빠른 연산은 토큰과 모바일장치 양쪽 모두에서 그 횟수가 증가하였으나, 모듈로 지수 연산과 같이 느린 연산은 모바일 장치 측에서만 1회 더 증가하였다’ 모바일 장치는 토큰에 비해 우수한 성능을 보유하고 있기 때문에, 모바일 장치에서의 모듈로 지수 연산의 1회 증가는 인증 과정의 전체적인 성능에 큰 영향을 미치지 않는다.

통신 오버헤드 측면에서 볼 때, Sun 등의 시스템에서는 토큰이 총 2112비트를 송신하며. 모바일 장치가 총 2176비트를 송신하여 결과적으로 상호인증 과정에서 총 4288비트가 송신된다. 제안하는 스킴에서는 토큰이 총 1088비트를 송신하며, 모바일 장치가 총 3200비트를 송신하여 결과적으로 상호인증 과정에서 총 4288비트가 송신된다. 즉, 제안하는 스킴은 Sun 등의 시스템에 비해 추가적인 통신 오버헤드가" 없다.

Ⅶ. 결론

노트북과 같은 모바일 장치의 물리적 보안을 향상시키기 위해, Sun 등은 토큰과 같은 소형 장치를 이용한 시스템에서의 상호 인증 프로토콜을 제안하였다. 우리는 Sun 등이 제안한 시스템이 오프라인 패스워드 추측 공격에 취약하며, 공격자는 기지평문 공격에 기반한 중간자 공격을 통해 모바일 장치로 위장할 수 있다는 사실을 공격 시나리오를 통해 제시하였다. 그리고 우리는 이를 극복하기 위한 개선책을 제시하였다. 제안하는 개선책은 기존 Sun 등이 제안한 시스템에 존재하는 보안 취약점을 가지고 있지 않으며, 토큰과 같은 소형징치에서 충분히 수행할 수 있는 가벼운 연신.이 추가되었다.

참고문헌

  1. M. D. Corner and B. D. Noble, "Zerointeraction authentication," in Proc. 8th Int'l Conf. Mobile Computing and Networking, Georgia, pp. 1-11, Sep. 2002.
  2. A. J. Nicholson, M. D. Corner, and B. D. Noble, "Mobile device security using transient authentication," IEEE Trans. Mob. Comput., vol. 5, no. 11, pp. 1489-1502, Nov. 2006. https://doi.org/10.1109/TMC.2006.169
  3. D. Z. Sun, J. P. Huai, J. Z. Sun, J. W. Zhang, and Z. Y. Feng, "A New Design of Wearable Token System for Mobile Device Security," IEEE Trans. Consumer Electronics, vol.54, no.4, pp.1784-1789, Nov. 2008. https://doi.org/10.1109/TCE.2008.4711235
  4. T. Cao and D. Lin, "Cryptanalysis of Two Password Authenticated Key Exchange Protocols Based on RSA," IEEE Communications Letters, vol. 10, no. 8, pp. 623-625, Aug. 2006. https://doi.org/10.1109/LCOMM.2006.1665131
  5. C. C. Yang and R. C. Wang, "Cryptanalysis of Improvement of Password Authenticated Key Exchange Based on RSA for Imbalanced Wireless Networks," IEICE Transactions on Communications, vol. e88-b, no. 11, pp. 4370-4372, Nov. 2005. https://doi.org/10.1093/ietcom/e88-b.11.4370
  6. W. C. Ku, "Weaknesses and Drawbacks of a Password Authentication Scheme Using Neural Networks for Multiserver Architecture," IEEE Transactions on Neural Networks, vol. 16, no. 4, pp. 1002-1005, Jul. 2005. https://doi.org/10.1109/TNN.2005.849781
  7. W. Diffie and M. E. Hellman, "New Directions in Cryptography," IEEE Transactions on Information Theory, vol. IT-22, pp. 644-654, Nov. 1976.
  8. Joan Daemen and Vincent Rijmen, The Design of Rijndael: AES - The Advanced Encryption Standard, Springer-Verlag, 2002.
  9. R. Rivest, A. Shamir, and L. Adleman, "A Method for Obtaining Digital Signatures and Public-Key Cryptosystems," Communications of the ACM, vol. 21, no. 2, pp. 120-126, Feb. 1978. https://doi.org/10.1145/359340.359342