Privileged-Insider 공격에 안전한 원격 사용자 인증 프로토콜
이성엽
†
, 박요한††
, 박영호†††
Secure Remote User Authentication Protocol against Privileged-Insider Attack
SungYup Lee
†
, YoHan Park††
, YoungHo Park†††
ABSTRACT
Recently, Due to the rapid development of the internet and IT technology, users can conveniently use various services provided by the server anytime and anywhere. However, these technologies are exposed to various security threat such as tampering, eavesdropping, and exposing of user’s identity and location information. In 2016, Nikooghadam et al. proposed a lightweight authentication and key agreement protocol preserving user anonymity. This paper overcomes the vulnerability of Nikooghadam’s authentication protocol proposed recently. This paper suggests an enhanced remote user authentication protocol that protects user’s password and provides perfect forward secrecy.
Key words: Remote User Authentication Protocol, Biometric, Privileged-Insider Attack, Symmetric Key
※ Corresponding Author : YoungHo Park, Address:
(702-701) 80 Daehakro, Bukgu, Daegu, Korea, TEL : +82-53-950-7842, FAX : +82-53-950-5505, E-mail : par- [email protected]
Receipt date : Dec. 9, 2016, Revision date : Jan. 26, 2017 Approval date : Feb. 23, 2017
†† † School of Electronics Engineering, Kyungpook National University (E-mail : [email protected])
† †† Division of Information Technology, Korea Nazarene University (E-mail : [email protected])
††† School of Electronics Engineering, Kyungpook National University
1. 서 론
최근 인터넷과 IT 기술의 급속한 발전으로 인하여 사용자들은 네트워크상의 다양한 자원들을 실시간 으로 이용할 수 있게 되었다. 특히, 이러한 기술들은 사람들에게 보다 편리한 삶을 제공하고 삶의 질은 향상 시키고 있다. 하지만, 공개된 채널로 정보를 교 환하므로 사용자의 중요 정보 노출, 메시지의 도청 및 변조 등 다양한 위험 요소에 노출되어 있으며 서 비스 환경에 따른 제약점 역시 존재하고 있다. 이를 해결하기 위해서 제한된 환경을 고려한 보안 프로토 콜 연구가 활발히 이루어지고 있다[1-4].
인증 프로토콜은 대부분 패스워드 기반의 one-
factor 인증 방법을 사용하고 있다. 하지만 패스워드 를 사용하는 one-factor 인증 방법은 공격자가 패스 워드 추측 공격을 통하여 패스워드가 노출되면서 two-factor 인증 방법이 제안 되었다[5-6]. Two- factor 인증 방법은 패스워드와 스마트카드를 함께 사용하여 보안적인 측면을 향상 시켰지만 훔친 스마 트카드 공격(stolen smart card attack)에 취약하게 되었다. 최근에는 two-factor 인증 방법을 보완하여 three-factor 인증 방법이 제안되고 있다. Three- factor 인증 방법은 패스워드, 스마트카드 및 생체정 보를 이용한 방법이다[7-8]. 생체정보를 암호화하기 위해서 퍼지 추출(fuzzy extraction)을 사용하고 있 으며 기존에 사용하던 bio-hashing의 문제점을 보완
한 방법이다. 프로토콜 안에서 노이즈를 제어하기 위 하여 헬퍼스트링 변수를 만들어 랜덤 스트링 값이 일정하게 생성되는 장점이 있으며 생체정보의 프라 이버시도 보호 할 수 있다[9-11]. 따라서 최근 많은 프로토콜에서 생체정보와 퍼지추출을 이용한 three- factor 인증 방법을 사용하고 있다.
최근 연구된 사용자 인증의 대표적 방식들은 다음 과 같다. 2012년 Wang[12] 등은 스마트카드와 패스 워드를 사용한 two-factor 원격사용자 인증 방식을 제안하였다. 하지만 2013년 Chang[4]등은 Wang 등 의 프로토콜은 DoS(denial of service) 공격 및 익명 성을 제공하지 못하는 취약점을 보이며 Wang 등의 문제점을 보완한 프로토콜을 제안하였다. 2014년 Kumari[13] 등은 Chang 등의 프로토콜의 취약점을 분석하여 오프라인 패스워드 추측, 위장 및 DoS 공 격의 취약점을 보이며 향상된 원격 사용자 인증 프로 토콜을 제안하였다. Kumari 등은 기존의 자신의 프 로토콜에 타임스탬프를 추가하여 보안이 향상된 패 스워드 인증 프로토콜을 제안하였다. 하지만 Chaudhry [14] 등은 Kumari 등의 인증 프로토콜은 훔친 스마트 카드 공격 및 익명성을 제공하지 못하는 문제점을 보이며 프라이버시를 보장하는 원격 사용자 인증 프 로토콜을 제안하였다. 최근 Nikooghadam[15] 등은 Kumari 등과 Chaudhry 등의 프로토콜의 취약점을 분석하여 익명성 및 패스워드 추측 공격이 가능함을 보이며 사용자의 익명성을 제공하는 경량화 방식의 인증 프로토콜을 제안하였다.
본 논문에서는 Nikooghadam 등의 프로토콜을 분 석하여 권위 있는 내부자 공격(privileged-insider attack), 순방향 안전성(perfect forward secrecy), DoS 공격에 취약점 및 패스워드 단계의 문제점이 있음을 분석하였으며 이러한 문제점을 개선하여 생 체정보 기반의 인증 및 키 합의 프로토콜을 제안한 다. 생체정보를 이용하면 나누거나 위조할 수 없고 잃어버리거나 잊어버릴 수 없으며 패스워드보다 추 측하기 어려운 장점이 있다.
논문의 구성은 다음과 같다. 2장에서 퍼지 추출, 기호 및 공격자의 능력을 설명하고 3장은 Nikoog- hadam[15] 등의 인증 프로토콜을 등록, 로그인 & 인 증, 패스워드 변경 단계로 설명한다. 4장은 Nikoog- hadam 등의 프로토콜이 권위 있는 내부자 공격, 순 방향 안전성, DoS 공격 및 패스워드 변경 단계의 취
약점을 보인다. 5장에서는 제안한 인증 프로토콜을 등록, 로그인 & 인증, 패스워드 변경 단계로 설명한 다. 6장은 제안한 프로토콜을 보안 분석하고 결론은 7장에서 기술한다.
2. 관련 연구
2.1 퍼지추출(fuzzy extraction)
퍼지추출은 사용자의 생체 정보를 하나의 키로 생성해내는 방법이다. 생성된 키가 암호학적으로 사 용되기 위해서 충분한 엔트로피가 보장되어야 한다. 퍼지추출을 이용한 인증 기술은 생체정보의 노이즈 를 처리할 수 있고 생체 정보에 대한 프라이버시를 보장할 수 있다. 퍼지추출 과정은 생체정보에 헬퍼스 트링을 사용하여 노이즈를 제어하며 랜덤 스트링을 생성하여 인증 과정에서 사용되고 있다. 퍼지 추출은 Gen(generate)와 Rep(reproduce)로 구성되어 있다.
①Gen
생체 인식 템플릿
를 입력 하여 비밀 키
를 생성하는 확률적인 알고리즘이다. 랜덤 스트링인
를 얻기 위해서 헬퍼스트링인
의 도움이 필요하다.② Rep(
′
)=(
). 생체 정보와 헬퍼스트링
를 사용하여 랜덤 스트링
를 다시 만들어내는 결정론 적 알고리즘이다. 사용자의 생체 정보를 입력하게 되 면 헬퍼 스트링인
가 노이즈를 제어하여 오차범위 안에서 동일한
를 생성한다.2.2 기호
본 절에서는 Nikooghadam[15] 등의 프로토콜 및 제안한 프로토콜에서 사용되는 기호들의 정의를 다 음 Table 1과 같이 나타낸다.
2.3 공격자의 능력
공격자 의 능력을 다음과 같이 가정한다.
∙ 는 로그인 & 인증 단계에서 유저와 서버 사 이에 전송되는 모든 통신채널(공개 채널)의 정보를 수정, 삭제, 삽입, 얻을 수 있다.
∙ 는 유저의 스마트카드를 얻거나 훔칠 수 있 고, 스마트카드 안에 저장되어 있는 정보를 얻을 수
Table 1. Notations
Notation Meaning
User
Server
Smartcard of user
Identity of
Password of
Biometric template of
A random number to the selected by
The server private key
The session key between the and
Timestamp
Concatenate operation
⊕ The exclusive-OR operation(XOR)
The symmetric encryption/decryption with the key
A secure one-way hash function
SC h
D E RID L
N ID E RID
N RPW J L
x ID h J
key key i i
i x i
i i i
i i
into (.)}
(.), (.), , , { Stroes
)
||
( number random a Chooses
)
||
( Computes
= Å
= } =
, { ID i RPW i
(.)}
(.), (.), , , , { card Smart
card smart the into Inserts
h D E r RID L r
key key i
= i
)
||
||
( Computes
number random a Chooses
and Chooses
i i i
i i
PW r ID h RPW
r PW ID
=
User Server
channel) (Secure
channel) (Secure
} {SC
Fig. 1. Registration phase of Nikooghadam et al. ‘s protocol.
가 있다.
∙ 가 insider 공격이나 outsider 공격을 통하여 서버에 인증을 받을 수가 있다.
3. Nikooghadam 등의 인증 방식
Nikooghadam[15] 등은 2016년 Kumari[13] 등과 Chaudhry[14] 등의 문제점을 개선한 사용자 익명성 을 제공하는 인증 프로토콜을 제안하였다. 기존의 프
로토콜은 해시 연산과 XOR 연산을 사용하였지만 Nikooghadam의 프로토콜에서는 대칭키 연산을 사 용하여 공개채널의 정보의 기밀성 및 무결성을 보장 하고 있다. 본 장에서는 Nikooghadam 등의 프로토 콜을 등록단계, 로그인 & 인증 단계 및 패스워드 단 계로 설명하고 있다.
3.1 등록 단계
본 단계에서 사용자
는 서버
에게 등록 요청 메시지를 보내고 서버는 합법적인 사용자로 스마트 카드를 다음과 같이 발급할 수 있다1) 사용자
는 자신의 신원
, 패스워드
및 랜덤넘버
을 선택하고
를 계 산을 한다. 사용자
는 등록 요청 메시지={
,
}를 안전한 채널로 서버
에게 전송한다. 2) 서버
는 사용자
에게 받은 등록 요청 메시 지 정보{
}를 받고 랜덤 넘버
을 선택하여
및
를 다음과 같이 계산한다.
⊕
(1)Chooses a random number
3) 서버
는 {
}를 스마 트카드
안에 저장하여 사용자
에게 안전한 채 널로 전송한다.4) 서버
에게 스마트카드를 받은 사용자
는)
||
||
( Computes
? Checks
)
||
||
(
Computes
* 3
* 3
* 3
S i i
i New i S
RN J RN h SK
M M
RN RID
RN h M
=
=
=
)
||
||
||
(
)
||
( Computes
and numbers
random two Chooses
) ( )
||
||
||
(
)
||
( ) ( )
||
( Computes
Checks
*
*
2
1
*
i i S New J i
New i x New i
New S
i J i i i
i i
i x i
i s
RN ID RN RID E M
N ID E RID
N RN
M D RID T RN ID
x ID h J
RID D N ID
T T T
i
i
=
=
=
=
= D
£ -
New i i
S i i
i New i S i i
J i i S New i
RID RID
RN J RN h SK
RN RID RN h M
RN ID
M D RN ID RN
RID
iwith Replaces
)
||
||
(
)
||
||
( Computes
and Checks
) ( )
||
||
||
(
Computes
3
2
=
=
=
} , , {
RID i M 1 T i REQUEST
)
||
||
||
( Computes
number random
a Chooses
)
||
( )
||
||
( Computes
, Inputs and card smart Inserts
1 J i i i i
i i i
i i i
i i
RID T RN ID E M
RN x ID h PW r ID h L J
PW ID
= i
= Å
¬
} {
M 2 CHALLENGE
} {
M 3 RESPONSE
User Server
)
||
||
( RN i J i * RN S h
SK =
Fig. 2. Login & authentication phase of Nikooghadam et al. ‘s protocol.
사용자의 랜덤 값
을 스마트카드 안에 저장한다. 최 종적으로 스마트카드 안에 저장된 정보는
{
}이다.3.2 로그인 & 인증 단계
본 단계에서 사용자
는 로그인 요청 메시지를 서버에게 전송을 하고 서버
는 올바른 사용자의 메시지인지 확인을 하고 응답 메시지를 사용자
에게 전송을 한다. 응답메시지를 받은 사용자는 받은 메시지가 올바른 서버의 메시지인지 확인을 하고 세 션키를 계산하여 서버에게 인증을 받는 단계이다.
1) 사용자
는 스마트카드를 리더기에 넣고
를 입력한다. 입력한
를 사용하여 ← ⊕
를 계산하고 랜덤 넘버
와 현 재 타임스탬프
를 선택한다.i i
New i New
i
New i i
i
New i i
i
New i i
i i
i i
i New i i
i i
i New i
New i i i
J i i S New i
RID L
RID L
PW r ID h x ID h
PW r ID h J
PW r ID h PW r ID h
PW r ID h J PW
r ID h
PW r ID h L L
PW RN ID
M D RN ID RN
RID
iand with and
Replaces
)
||
||
( )
||
(
)
||
||
(
)
||
||
( )
||
||
(
)
||
||
( )
||
||
(
)
||
||
( Computes
password new
Inputes
and Checks
) ( )
||
||
||
(
Computes
2
Å
= Å
=
Å Å
Å
=
Å Å
=
=
)
||
||
||
(
)
||
( Computes
and numbers
random two Chooses
) ( )
||
||
||
(
)
||
( ) ( )
||
( Computes
Checks
*
*
2
1
*
i i S New J i
New i x New i
New S
i J i i i
i i
i x i
i s
RN ID RN RID E M
N ID E RID
N RN
M D RID T RN ID
x ID h J
RID D N ID
T T T
i
i
=
=
=
=
= D
£ - }
, , {
RID i M 1 T i REQUEST
)
||
||
||
( Computes
number random
a Chooses
)
||
( )
||
||
( Computes
, Inputs and card smart Inserts
1 J i i i i
i i i
i i i
i i
RID T RN ID E M
RN x ID h PW r ID h L J
PW ID
= i
= Å
¬
} {
M 2 CHALLENGE
User Server
Fig. 3. Password change phase of Nikooghadam et al. ‘s protocol.
와
를 이용하여
를 계산하여 서버
에게 로그인 요청 메시지 = {
}를 통신채널로 전송한다.2) 로그인 요청 메시지를 받은 서버
는 타임스탬 프를 체크하며 다음 단계로
을 계산한다. 서버
는 랜덤 넘버
와
를 생성하여
,
를 계산하고
를 사용자
에게 전송한다.
(2)
3) 서버
에게
를 받은 사용자
는 다음과 같 이
및
를 계산하고
를 서버
에게 전송 한다.
Checks
and
(3)
Replaces
with
4) 사용자
에게
를 받은 서버
는
를 계산하고 사용자
에게 받은
와
를 체크한다. 만약 값이 같으면
를 계산하고 같지 않으면 세션을 종료한다.5) 사용자
와 서버
가 성공적으로 상호인증을 하면 최종적으로 세션 키
를 확립하고 인증 단계 를 마치게 된다.3.3 패스워드 변경 단계
본 단계에서 사용자
가 패스워드를 변경을 하기 위한 단계로 사용자는 스마트카드를 리더기에 넣고 자신의 아이디와 패스워드를 입력하고 로그인 요청 메시지를 서버
에게 전송을 하게 된다. 메시지를 받은 서버는 올바른 사용자가 접속하였는지 확인하 고 응답메시지를 보내게 되면 사용자는 패스워드를 변경할 수 있다. 패스워드 변경 단계는 다음과 같다.1) 사용자
는 스마트카드를 리더기에 넣고
를 입력한다. 입력한
를 사용하여 ← ⊕
를 계산하고 랜덤 넘버
와 현 재 타임스탬프
를 선택한다.
와
를 이용하여
를 계산하여 서버
에게 로 그인 요청 메시지 = {
}를 공개 채널로 전송 한다.2) 로그인 요청 메시지를 받은 서버
는 타임스탬 프를 체크하며 다음 단계로
을 계산한다. 서버
는 랜덤 넘버
와
를 생성하여
,
를 계산하고
를 사용자
에게 전송한다.
(4)
3) 서버
에게
를 받은 사용자
는 다음과 같 이
를 계산하고
를 체크하고 같으면 새로 운 패스워드
를 입력한다. 새로운 패스워드
를 이용하여
를 계산하고 스마트카드에
와
를 업데이트한다.
Checks
and
(5) ⊕ ⊕
Replaces
and
with
and
4. Nikooghadam 등의 방식의 취약점 분석 Nikooghadam[15] 등의 인증 프로토콜은 사용자 의 프라이버시를 보호하는 경량화 인증 프로토콜이 다. 하지만 권위 있는 내부자 공격, 순방향 안전성, DoS 공격에 취약하고 패스워드 변경단계가 효율적 이지 못하다. 본 장에서는 Nikooghadam 등의 취약 점을 분석한다.
4.1 권위 있는 내부자 공격
권위 있는 내부자 공격이란 공격자 가 등록단계 의 정보나 데이터베이스에 저장되어 있는 정보를 이 용하여 사용자의 중요정보(패스워드, 세션 키)를 찾 을 수 있는 공격이다. Nikooghadam 등의 프로토콜 역시 공격자 가 등록단계에 전송되는 메시지를 획 득하면 다음과 같이 쉽게 사용자의 패스워드
를 계산할 수 있다.∙는 등록단계에 전송되는 메시지 {
} 를 알고 있다.∙는 사용자의 스마트카드 안에서
을 되찾아 온다.∙는 사용자의 패스워드
를 추측한다.∙는
를 계산한다.∙는 등록단계에서 얻은
와 계산한
가 같은지 체크를 한다. 만약 값이 같으면, 는 사용 자의 패스워드
를 성공적으로 계산한 것이다. 만 약 값이 다르면, 는 3단계부터 반복 실행하면 된다.4.2 순방향 안전성
순방향 안전성이란 long-term key가 공격자 에
) ( )
||
||
||
(
)
||
(
) ( )
||
( Computes
Checks
*
*
J a i i i i
i i
i x i
i s
M D RID T RN ID
x ID h J
RID D N ID
T T T
i
=
=
=
D
£ -
)||
||
||
( Computes
number random
a Chooses
)
||
( )
||
||
( Computes
, Inputs and card smart Inserts
i a a a J a
a a a
a i
a
a a
RID T RN ID E M
RN x ID h PW r ID h L J
PW ID
= a
= Å
=
, 1
obtains
ion communicat public
in attack sniffing executes
M RID i
®
Server Attacker
times]
[2 Verify
times]
[1 function hash
times]
[2 Decryption
executes messages,
login s attacker' 1
per
®
®
®
S j
} , ,
1
{RID i M a T a
A =
} , ,
2
{RID i M a T a
A =
} , ,
3
{RID i M a T a
A =
} , , {
...
A = n RID i M a T a
Fig. 4. DoS attack.
게 노출이 되더라도 이전에 세션 키에 지장을 주지 않아야한다. 하지만 Nikooghadam등의 프로토콜은 공격자 가 long- term key인
를 알게 되면 서버
와 사용자
사이의 세션 키를 다음과 같이 쉽게 계산을 할 수 있다.∙가 long-term key
를 안다고 가정을 한다.∙는 공개채널로 전송되는 메시지의 정보 {
}를 획득한다.∙는
및
를 다음과 같이 계산한다.
(6)
∙는 계산한 값을 이용하여 세션 키를 쉽게 계 산할 수 있다.
(7)4.3 DoS 공격
DoS 공격은 서버를 악의적으로 공격해 해당 서버 의 자원을 부족하게 하여 원래의 의도된 용도로 사용 하지 못하게 하는 공격이다. Nikooghadam 등의 프 로토콜은 로그인 단계에서 올바른 사용자가 접속하 였는지 검증하는 단계가 생략이 되어있다. 따라서 공 격자 가 자신의 로그인 요청 메시지를 만들어 다음 과 같이 서버에게 DoS 공격을 할 수 있다.
(.)}
(.), (.), , , , , { card Smart
)
||
||
( Computes
h D E Q RID V L
y PW R ID h Q
key key i i i i
i i i i i
=
Å
=
SC h
D E RID V L
y MID
N MID E RID
y AID MID
y RPW AID h V
RPW J L
y x AID h J
key key i i i
i i
i x i
i i i
i i i i
i i i
i i i
into (.)}
(.), (.), , , , { Stroes
database in } , { Stored
)
||
(
)
||
||
(
)
||
( Computes
=
Å
=
=
Å
= Å
= )
||
( ),
||
(
) ( Gen ,
Computes
and , Chooses
i i i i i i
i i
i
i i i
R PW h RPW R ID h AID
B P
R
B PW ID
=
=
>=
<
User
Server
channel) (Secure
channel) (Secure
} , { AID i RPW i
}
&
{
SC y i
Fig. 5. Registration phase of proposed protocol.
4.4 패스워드 변경 단계의 문제점
Nikooghadam 등의 패스워드 변경단계에는 사용 자가 서버와 함께 패스워드를 변경하고 있다. 최근 제안된 패스워드 변경 단계는[13] 사용자가 패스워 드 변경을 원하면 스마트카드를 이용하여 독자적으 로 패스워드를 변경할 수 있다. 하지만 Nikoogha- dam 등의 프로토콜은 사용자와 서버가 통신하여 패 스워드를 변경하므로 불필요한 메시지 전송, 계산, 랜덤 넘버 생성 및 스마트카드 변수 업데이트를 하고 있다. 따라서 Nikooghadam 등의 패스워드 변경 단 계는 효율적으로 변경 되어야 한다.
5. Privileged-insider 공격에 안전한 원격 사용 자 인증 프로토콜
본 절에는 Nikooghadam[15] 등의 인증프로토콜 의 취약점을 보완한 원격 사용자 인증 프로토콜을 제안한다. 제안한 프로토콜은 생체정보 기반의 원격 사용자 프로토콜이며 생체정보를 랜덤 변수로 사용 하기 위해 퍼지추출을 사용하였다. 프로토콜의 설명 은 등록 단계, 로그인 & 인증 단계, 패스워드 변경 단계로 설명하고 있다.
5.1 등록 단계
본 단계에서 사용자
는 서버
에게 등록 요청 메시지를 보내고 서버는 사용자의 다이나믹한
를 데이터베이스에 저장하고 스마트카드를 다음과 같이 발급받을 수 있다.
1) 사용자
는 자신의 신원
및 패스워드
를 선택하고 생체정보
를 입력하여 퍼지 추출 연산 을 다음과 같이 <
>=Gen
계산한다.
는 랜 덤 스트링
를 이용하여
,
를 계산하여 등록 요청 메시지={
,
}를 안전한 채널로 서버
에게 전송한다. 2) 서버
는 사용자
에게 받은 등록 요청 메시 지 정보{
}를 받고 사용자
의 랜덤 넘버
을 선택하여
및
를 다음과 같이 계산한다. ⊕
⊕
(8) ⊕
3) 서버
는 {
}를 데이터베이스에 저장하 고 스마트카드 안에 {
} 저장하여 사용자
에게 {
&
}를 안전한 채널로 전송한다.4) 서버
에게 메시지를 받은 사용자
는 ⊕
를 계산하여 스마트카드 안에)
||
||
||
( Computes
? Checks
)
||
||
||
(
test freshness timestamp
Checks
*
3
* 3
3
* 3
3
i S i i
i New i S
AID RN J RN h SK
M M
T RN RID RN h M
T
=
=
=
New i i
i S i i
i New i S i i
AID i
i S New i
RID RID
AID RN J RN h SK
T RN RID RN h M
RN ID
M D T RN ID RN RID
T
i
with Replaces
)
||
||
||
(
)
||
||
||
( Computes
and Checks
) ( )
||
||
||
||
(
test freshness timestamp Checks
3 3
2 2
2
=
=
=
)
||
||
||
||
(
)
||
( Computes
and numbers random two Chooses
) ( )
||
||
||
(
)
||
( ,
) ( )
||
( Computes
test freshness timestamp
Checks
2 2
1
*
1
*
T RN ID RN RID E M
N MID E RID
N RN
M D RID T RN ID
y x AID h J y MID AID
RID D N MID
T
i i S New i AID
New i x New i
New S i J i i i
i i i
i i i
i x i
i
i
=
=
= Å
= Å
¬
= )
||
||
||
( Computes
number random a Chooses
)
||
( )
||
(
? Verifies ),
||
||
(
)
||
( ),
||
(
)
||
||
(
) , ( Rep Computes
, , Inputs and card smart Inserts
1 1
*
*
*
*
*
*
*
*
*
*
*
*
i i
i J
i i i i
i i i
i i i
i i i
i i i i i i
i i i i i
i i i
i i i
RID T RN ID E M
RN y x AID h R PW h L J
V V y
RPW AID h V
R ID h AID R PW h RPW
Q PW R ID h y
P B R
B PW ID
=
iÅ
= Å
¬
=
=
=
=
Å
¬
=
User Server
} , , {
RID M 1 T 1 REQUEST i
} , { M 2 T 2 CHALLENGE
} , {
M 3 T 3 RESPONSE
)
||
||
||
(
RN i J i * RN S AID i h
SK =
Fig. 6. Login & authentication phase of proposed protocol.
저장한다. 최종적으로 스마트카드 안에 저장된 정보 는
{
}이다.5.2 로그인 & 인증 단계
본 단계에서 사용자
와 서버
사이에 상호인증 을 통하여 세션 키를 확립하는 단계이다. 서버는 올 바른 사용자의 접속을 확인하기 위해 2번의 검증단 계를 하게 되고 사용자는 올바른 서버의 메시지인지 확인하기 위해 1번의 검증 단계를 하게 된다. 세션키는 다음과 같이 계산을 할 수 있다.
1) 사용자
는 스마트카드를 리더기에 넣고
및
를 입력한다. 입력한
를 사용하여
를 퍼지추출하고
,
및
를 계산한다. ← ⊕
(9)(.)}
(.), (.), , , , , {
card smart on , , Updates
)
||
||
(
)
||
||
(
)
||
( ,
? Verifies ),
||
||
(
)
||
||
(
)
||
( ),
||
(
) , ( Rep Computes
*
*
*
*
*
*
*
*
*
*
*
*
*
h D E Q RID V L SC
Q V L
y PW R ID h Q
y RPW AID h V
RPW J L
R PW h RPW RPW L J
V V y
RPW AID h V
Q PW R ID h y
R PW h RPW R ID h AID
P B R
key key new i i new i new i
new i new i new i
i new i i i new i
i new i i new i
new i i new i
i new i new i i i i
i i i
i i i
i i i i i
i i i i i i
i i i
=
Å
=
=
Å
=
= Å
¬
=
=
Å
¬
=
=
=
SC
Card Smartnew i i i
i PW B PW
ID
, , and Inputschannel) (Secure
} , , ,
{
ID i PW i B i PW i new User
Fig. 7. Password change phase of proposed protocol.
2) 만약
와
가 같지 않으면 세션을 종료하고, 같으면 올바른 사용자
가 접속한 것으로 생각하여
와
을 다음과 같이 계산을 하고 서버
에게 로 그인 요청 메시지 = {
}를 전송한다. ← ⊕ ⊕
(1)
3) 사용자
에게 메시지를 받은 서버
는 타임스 탬프 체크를 하고 다음과 같이
및
을 계산하고 랜덤 넘버
,
를 선택하여
와
를 계산해서 {
}를 서버
에게 전송한다. Checks timestamp freshness test
← ⊕
⊕
(11)
4) 서버
에게 메시지를 받은 사용자
는 다음과 같이
및
를 계산하고 {
,
}를 서버
에 게 전송한다.Checks timestamp freshness test
Checks
and
(12)
Replaces
with
5) 사용자
에게 메시지를 받은 서버
는 타임스 탬프를 체크하고
를 계 산하고 사용자
에게 받은
와
를 체크한다. 만약 값이 같으면 세션 키
를 계산하고 같지 않으면 세션을 종료한다.6) 사용자
와 서버
가 성공적으로 상호인증을 하면 최종적으로 세션 키가 확립된다.5.3 패스워드 변경 단계
본 단계에서 사용자
가 자신의 패스워드
를 변경하는 단계이다. Nikooghadam의 패스워드 변경 단계와 다르게
는 서버
의 인증을 받지 않고 패 스워드를 다음과 같이 변경할 수 있다.1) 사용자