DOI QR코드

DOI QR Code

User Authentication Protocol preserving Enhanced Anonymity and Untraceability for TMIS

  • Mi-Og Park (Dept. of Computer Engineering, Sungkyul University)
  • Received : 2023.09.05
  • Accepted : 2023.09.26
  • Published : 2023.10.31

Abstract

In this paper, as a result of analyzing the TMIS authentication protocol using ECC and biometric information proposed by Chen-Chen in 2023, there were security problems such as user impersonation attack, man-in-the-middle attack, and user anonymity. Therefore, this paper proposes an improved authentication protocol that provides user anonymity to solve these problems. As a result of analyzing the security of the protocol proposed in this paper, it was analyzed to be secure for various attacks such as offline password guessing attack, user impersonation attack, smart-card loss attack, insider attack, perfect forward attack. It has also been shown to provided user privacy by guaranteeing user anonymity and untraceability, which must be guaranteed in TMIS. In addition, there was no significant increase in computational complexity, so the efficiency of execution time was achieved. Therefore, the proposed protocol in this paper is a suitable user authentication protocol for TMIS.

본 논문에서는 2023년에 Chen-Chen이 제안한 ECC와 생체정보를 사용한 TMIS 인증 프로토콜을 분석한 결과, 사용자 가장 공격, 중간자 공격, 사용자 익명성 등의 안전성 문제가 있었다. 그러므로 본 논문에서는 이러한 문제를 해결하기 위하여 사용자 익명성을 제공하는 개선된 인증 프로토콜을 제안한다. 본 논문에서 제안한 프로토콜의 안전성 문제를 분석한 결과, 제안한 프로토콜은 오프라인 패스워드 추측 공격, 사용자 가장 공격, 스마트카드 분실 공격, 내부자 공격, 전방향 안전성, 재생 공격 등 여러 공격에 안전한 것으로 분석되었다. 또한 TMIS에서 반드시 보장해야 하는 사용자 익명성과 추적 불가능성도 함께 보장하여 사용자의 프라이버시를 보장하는 것으로 나타났다. 게다가 계산 복잡도에서도 크게 증가하지 않아 실행시간의 효율성도 달성하였다. 그러므로 본 논문에서 제안한 프로토콜은 TMIS에 적합한 사용자 인증 프로토콜이다.

Keywords

I. Introduction

TMIS는 원격의료 정보 시스템(telecare medicine information system)의 간략화 된 명칭으로 그 명칭에서 보듯이 의료 서비스를 원격으로 지원하는 시스템으로, 환자(사용자)의 개인 정보와 의료정보들이 오픈 채널을 통하여 전송된다. TMIS는 환자가 병원에 직접 가지 않고 의료 서비스를 받을 수 있는 편리성은 제공하나, 오픈 채널 상에 전송되는 데이터가 모두 드러나기 때문에 전송 데이터의 비밀성(secrecy)과 무결성(confidentiality) 등을 보장해야 한다. 또한 개인의 민감한 의료정보가 전송되기 때문에, 익명성(anonymity)을 제공하여 사용자의 프라이버시도 보장해야한다. 이러한TMIS의 안전성을 위하여 2015년 Chaudhry et al[1]은 타원곡선 암호(ECC, elliptic curve cryptosystem)와 바이오 해싱함수(biohashing)를 이용한 사용자 인증 프로토콜을 제안하면서, Lu et al.[2]의 인증 프로토콜에 대한 안전성 문제를 지적하였다. Lu et al.은 Arshad et al[3]의 인증 프로토콜이 오프라인 패스워드 추측 공격으로 사용자의 ID와 패스워드 추측 공격, 사용자 가장 공격에 대한 저항성이 없다고 지적하고 이러한 문제를 해결하기 위하여 ECC을 사용한 인증 프로토콜을 제안하였다. 그러나 Chaudhry et al.은 그들의 인증 프로토콜이 사용자 가장 공격, 서버 가장 공격, 그리고 사용자 익명성을 제공하지 못한다고 지적하였다. 또한 이로 인하여 사용자에 대한 추적 불가능성도 제공하지 못한다고 지적하였다.

2016년 Chaudhry et al.[4]는 ECC와 바이오 해싱함수를 사용한 인증 프로토콜을 제안하였고, Amin et al.[5]의 프로토콜이 스마트카드 분실 공격과 패스워드를 변경할 때 CMS(control management system)라는 최상위 서버와 상호연동을 해야 하고, 검증(verifier) 테이블을 유지하는 오래된 인증 방식을 사용하여 도난된 검증자 공격(stolen verifier attack)에 안전하지 않다고 지적하였다. 여기서 Amin et al.의 인증 프로토콜은 인증과 키 교환(Authentication and Key Agreement, AKA)의 제안 외에 TMIS의 전체 구조(architecture)를 제안하였고, 이 구조의 최상위 서버를 CMS라고 지칭하였다.

2017년 Han et al.[6]의 인증 프로토콜은 Lu et al.의 인증 프로토콜이 사용자 익명성과 사용자 및 서버 가장 공격에 안전하지 않고, 동적 ID의 잘못된 설계로 인하여 연결 익명성(unlinkability)을제공하지 못한다고 지적하였다. 그리하여 이러한 동적 ID의 문제를 해결하기 위하여 ECC와 바이오 해싱함수를 사용한 프로토콜을 제안하였다.

2018년 Sahoo-Mohanty[7]은 ECC와 퍼지 추출함수(fuzzy extractor)를 사용한 가벼운(lightweight) 프로토콜을 제안하였고, 계산 복잡도와 전송비용이 다른 인증 프로토콜들보다 더 효율적이라고 주장하였다. 그러나 본 논문에서 Sahoo-Mohanty의 프로토콜을 검토한 결과 전송비용은 관련된 다른 프로토콜들보다 더 효율적이지만, 계산 복잡도에서는Arshad et al.[8]을 제외한 나머지 프로토콜들과 비슷하고, 내부 공격자가 스마트카드의 정보를 획득하였다고 가정할 경우, 등록단계에서 사용자가 서버에 제출한 정보들을 가지고 사용자가 생성한 난수를 계산해 낼 수 있고, 이로 인하여 사용자의 동적 ID와 세션키를 계산해 낼 수 있다. 그러므로 Sahoo-Mohanty의 인증 프로토콜도 안전성 문제들이 존재하기 때문에 다른 인증 프로토콜들보다 더 효율적인 프로토콜이라고 할 수 없다.

2019년 Sarif et al.[9]의 인증 프로토콜은 Ravanbakhsh-Nazari[10]의 인증 프로토콜에 대한 전방향 안전성(perfect forward secrecy) 문제를 지적하고, 이 문제를 해결하기 위하여 익명성을 제공하는 ECC 기반의 2-factor TMIS 프로토콜을 제안하였다. 그러나 2023년 Chen-Chen[11]의 인증 프로토콜은 Sarif et al.의 인증 프로토콜이 사용자의 ID와 패스워드 입력 시 이 값들의 정확성(correctness)을 확인하지 않고 그 다음 과정을 곧바로 진행하는 로그인 단계의 문제가 있다고 지적하였다. 또한 오프라인 패스워드 추측 공격의 문제도 함께 지적하였다. Chen-Chen의 인증 프로토콜은 이러한 문제를 해결하기 위하여 퍼지 추출함수를 사용한 ECC 기반의 TMIS 프로토콜을 제안하였다.

그러나 본 논문에서 Chen-Chen의 인증 프로토콜을 분석한 결과, 사용자 익명성을 위하여 동적 ID을 사용하였으나 현재 세션에서 서버가 생성한 새로운 동적 ID을 공개적으로 전송하고, 사용자는 이 값을 다음 세션의 동적 ID로 그대로 사용하기 때문에 사용자에게 안전한 익명성을 제공하지 못한다. 또한 이러한 문제로 인하여 사용자에 대한 추적 불가능성도 제공하지 못한다. 그러므로 본 논문에서는 이러한 문제점을 해결하기 위하여 ECC와 생체정보를 사용한 개선된 TMIS 인증 프로토콜을 제안한다.

본 논문의 구성은 2장에서 Chen-Chen의 인증 프로토콜에 대하여 살펴보고, 3장에서 Chen-Chen의 인증 프로토콜에 대한 문제점을 분석한다. 4장에서는 문제를 개선한 새로운 인증 프로토콜을 제안하고 그에 대한 안전성을 5장에서 분석한다. 6장에서는 전체 논문의 결론을 요약하고 본 논문을 마무리한다.

II. Chen and Chen’s Protocol

Chen-Chen의 TMIS 인증 프로토콜은 다음과 같다.

IDi, PWi: i번째 사용자의 ID와 패스워드

Bi: i번째 사용자의 생체정보

x: 서버 s의 개인키(private key)

h(): 안전한 단방향 해시함수(hash function)

⊕: XOR 연산, ||: 연접(concatenation) 연산

1. System initialization phase

ECC 알고리즘을 사용하는 Chen-Chen 인증 프로토콜은 다음과 같은 초기화 작업을 진행한다.

1.서버는 타원 곡선 E(Fp)와 E(Fp)상의 큰 난수 q을 가지는 기본 점 G을 선택한다.

2.서버는 안전한 단방향 해시 함수 h()을 선택한다.

3.서버는 개인키로 사용할 난수 x∈Z*q을 선택하고, 공개키 Pubs = x∙ G을 계산하여 {E(Fp), G, Pubs, q, h()}을 공개한다.

2. Registration phase

Chen-Chen이 제안한 등록 단계는 다음과 같다.

1.환자 Ui은 자신의 IDi와 패스워드 PWi, 그리고 자신의 생체정보 Bi을 입력하고, 난수 r을 생성하여, (σi, θi) = Gen(Bi)과 OPWi = h(IDi||ri||PWi)을 계산한 후, 안전한 채널을 통해 {IDi, OPWi}을 서버에 전달한다.

2.메시지를 받은 서버는 h(IDi)가 데이터베이스에 존재하는지 확인하고, 존재하면 다른 IDi을 선택하도록 요구한다. 만약 IDi가 존재하지 않으면 서버는 Ai= h(IDi||x), Di = OPWi ⊕ Ai을 계산한 후 난수 rs을 생성하여 EIDi = Ex(IDi||rs), Ci = h(IDi||Ai||OPWi)을 계산한다. 서버는 스마트카드에 {EIDi, Di, Ci, h( )}을 저장하여 안전한 채널을 통해 사용자에게 전달한다.

3.환자는 yi = ri ⊕ h(σi)을 계산하여 스마트카드에 θi, yi을 추가적으로 저장한다.

3. Login and authentication phase

Chen-Chen의 로그인 단계와 인증 단계의 간략화는 Fig. 1과 같고, 자세한 과정은 다음과 같다.

CPTSCQ_2023_v28n10_93_f0001.png 이미지

Fig. 1. Chen and Chen’s Login and Authentication

1.환자 Ui가 자신의 IDi, PWi, 생체정보 Bi을 입력하면 모바일 장치는 메모리의 yi와 Di을 검색하여 σi = Ren(Bi, θi), ri = yi⊕ h(σi), OPWi = h(IDi||ri|PWi), Ai = OPWi⊕ Di을 계산한다. 그런 다음 모바일 장치는 h(IDi||Ai||OPWi)? = Ci의 여부를 확인하여, 동일하지 않으면 세션을 종료하고 그렇지 않으면 난수 α와 타임스탬프 Ti을 생성하여 Xi = α∙ G, Vi = h(IDi||Ai||Xi||Ti)을 계산한다. 그런 다음 모바일 장치는 {EIDi, Xi, Vi, Ti}를 서버에 전송한다.

2.서버는 Ti의 최신성을 검증하여, 타당하지 않으면 세션을 종료하고, 타당하면 (IDi||rs) = Dx(EIDi), Ai = h(IDi||x)을 계산한다. 그런 다음 h(IDi||Ai||Xi||Ti)? = Vi의 동일성 여부를 확인하여, 동일하지 않으면 세션을 여기서 종료하고, 동일하면 난수 β을 생성하여 Xs = β∙ G, SK = h(ID'i||T1||Ai|β∙ Xi)을 계산한다. 서버는 새로운 난수 rnewi을 선택하여, EIDnewi = Ex(IDi||rnews), Vs = h(Ai||T2||EIDnewi||SK)을 계산하여 {EIDnewi, Xs, Vs, T2}을 모바일 장치로 전송한다.

3.모바일 장치는 SK = h(IDi||T1||Ai||α∙ Xi)을 계산하여 h(Ai||T2||EIDnewi||SK)? = Vs이 동일한지 확인하고, 동일하면 EIDi을 새로운 EIDnewi로 대체한다. 동일하지 않을 경우에는 세션을 종료한다.

4. Password biometrics update phase

Chen-Chen 프로토콜의 패스워드 변경 단계는 다음과 같이 진행한다.

1.환자 Ui은 자신의 스마트카드를 카드리더기에 장착하고, 자신의 IDi와 PWi, 그리고 생체정보 Bi을 입력한다. 스마트카드는 σi = Rep(Bi, θi), ri = yi⊕ h(σi), OPWi = h(IDi||ri||PWi), Ai = OPWi⊕ Di을 계산한다.

2.스마트카드는 h(IDi||Ai||OPWi) ? = Ci의 여부를 확인하여 두 값이 동일하지 않으면 세션을 종료하고, 그렇지 않으면 환자에게 새로운 패스워드 PWnewi와 Bnewi을 입력하도록 요청한다.

3.환자는 새로운 패스워드 PWnewi와 생체정보 Bnewi을 입력한다.

4.스마트카드는 새로운 난수 rnewi을 생성하고, (σnewi, θnewi) = Gen(Bnewi), OPWnewi = h(IDi||rnewi||PWnewi), Dnewi = Ai⊕ OPWnewi, Cnewi = h(IDi||Ai||OPWnewi), ynewi = rnewi⊕ h(σnewi)을 계산한다. 마지막으로 스마트카드는 {Di, Ci, θi, yi}을 {Dnewi, Cnewi, θnewi, ynewi}로 업데이트한다.

III. Weakness of Chen and Chen’s Protocol

본 장에서는 Chen-Chen의 인증 프로토콜에 대한 안전성과 설계 측면에서의 문제를 제시한다.

1. Security Analysis

3.1.1 User impersonation attack

공격자는 등록단계의 환자가 서버에 제출하는 정보 {OPWi, IDi}와 스마트카드의 {EIDi, Di, Ci, yi, h()}의 정보 획득에 성공하였다고 가정할 경우, 공격자는 다음과 같은 과정을 통하여 사용자 가장 공격을 할 수 있다. 공격자는 Ai을 계산하기 위하여, 앞에서 획득한 OPW′i와 D'i을 사용하여 A'i = OPWi⊕ Di와 같이 A'i을 계산한다. Vi은 앞에서 획득한 IDi와 A'i , 공개 데이터 Xi, Vi, T1을 사용하여, 획득한 값들의 정확성을 확인할 수 있다.

Vi ? = h(IDi||A'i||Xi||T1)

공격자는 사용자의 생체정보를 획득하기 어려워 난수 ri을 계산해 낼 수 없다고 하더라도, 앞에서 계산해 낸 값들과 로그인 요청 메시지 Vi을 사용하여 사용자를 가장한 공격에 성공할 수 있다.

3.1.2 Man-in-the-middle attack

앞의 사용자 가장 공격에서 획득한 정보들 중 A'i, ID'i, T1, 그리고 메시지 Xs을 그대로 사용하고 공격자 자신이 생성한 난수 α′을 사용하여 Xαi = α'∙ G을 계산하여 서버에 전송하면 공격자는 Fig. 2의 과정에 의하여 서버의 인증과정을 통과할 수 있다. 또한 공격자는 난수 α′을 자신이 생성하였기 때문에 서버로부터 로그인 응답 메시지를 받을 경우, 다음 계산 과정을 진행하여 세션키 SK을 계산할 수 있다. 그러므로 Chen-Chen의 프로토콜은 중간자 공격과 세션키 노출 공격에 안전하지 않다.

CPTSCQ_2023_v28n10_93_f0002.png 이미지

Fig. 2. Man-in-the-middle attack

3.1.3 Unsecure untraceability

Chen-Chen의 프로토콜은 사용자가 EIDi을 사용하여 로그인 요청 메시지를 보내면, 서버는 응답 메시지로 EIDnewi을 공개적으로 사용자에게 보낸다. EIDnewi은 다음에 사용할 동적 ID이기 때문에 공격자가 이 두 개의 공개 데이터만으로는 사용자의 IDi을 직접 계산해 낼 수 없어 어떤 사용자인지는 정확히 알 수 없다 하더라도, EIDnewi을 계속 추적할 경우 임의의 동일한 사용자가 서버에 접속한다는 것을 알 수 있다. 그러므로 Chen-Chen 프로토콜은 안전한 추적 불가능성을 제공하지 못한다.

2. Analysis of Design Defects

Chen-Chen의 등록단계는 사용자의 ID 중복을 확인하기 위하여 h(IDi)가 데이터베이스에 존재하는지의 여부를 확인한다. h(IDi)로 확인하는 것은 데이터베이스의 정보가 노출될 경우를 대비하여 해시함수를 사용한 것으로 보인다. 그러나 해시함수를 사용하여 저장하였다 하더라도 이 값들이 노출될 경우 높은 엔트로피의 ID가 아닌 이상 ID 추측 공격에 안전하다고 할 수 없다.

IV. The Proposed Protocol

본 장에서는 Chen-Chen 프로토콜의 문제를 해결하고자 개선된 안전성과 사용자 익명성을 제공하는 향상된 프로토콜을 제안한다. 시스템 초기화 단계는 Chen-Chen 프로토콜의 과정과 동일하다.

1. Registration phase

서버에 등록을 원하는 새로운 사용자는 다음 과정을 진행한다.

1.환자 Ui은 자신의 IDi, 패스워드 PWi, 그리고 자신의 생체정보 Bi을 입력하고, 난수 ri을 생성하여, Gen(Bi) = (σi, θi), PRWi = h(PWi⊕ ri), OPWi = h(IDi||ri||PWi)을 계산하여, {IDi, RPWi}을 보호된 채널을 통하여 서버로 보낸다.

2.서버는 환자의 IDi에 대한 타당성을 확인하여, 사용가능한 IDi이면 Ai = h(IDi||x), Di = RPWi⊕ Ai을 계산한 후 난수 rs을 생성하여 EIDi = Ex(IDi||rs||Ai)을 계산한다. 서버는 {EIDi, Di, h()}을 스마트카드에 저장하여 보호된 채널을 통하여 환자에게 안전하게 보낸다.

3.환자는 yi = ri⊕ h(σi), Ai = Di⊕ RPWi, Ci = h(IDi||Ai||OPWi), C′i = Ci⊕ ri, 그리고 D′i = Ai⊕ OPWi 을 계산하여 스마트카드에 최종적으로 {EIDi, D′i, C′i, yi, θi, h()}을 저장한다.

2. Login and authentication phase

서버의 로그인 요청을 원하는 사용자는 다음과 같은 과정을 진행하며 간략화 된 과정은 Fig. 3과 같다.

CPTSCQ_2023_v28n10_93_f0003.png 이미지

Fig. 3. The Proposed Login and Authentication

1.환자 Ui가 자신의 IDi와 패스워드 PWi, 생체 정보 Bi을 입력하면 모바일 장치는 yi와 D′i을 검색 하여 σi = Ren(Bi, θi), ri = yi⊕ h(σi), OPWi = h(IDi||ri|PWi), Ai = OPWi⊕ D′i, Ci = C′i⊕ ri을 계산한다. 그런 다음 모바일 장치는 h(IDi||Ai|OPWi) ? = Ci의 여부를 확인하여, 동일하지 않으면 세션을 종료하고 그렇지 않으면 난수 α와 타임스탬프 Ti을 생성하여 Xi = (α⊕ PWi)∙ G, Vi = h(IDi||Ai||Xi||EIDi||T1)을 계산한다. 모바일 장치는 {EIDi, Xi, Vi, T1}를 서버에 전송한다.

2.서버는 T1의 타임스탬프 임계조건을 확인하여 타당하지 않으면 세션을 종료하고, 타당할 경우, 자신의 개인키 x로 복호화 Dx(EIDi) = (IDi||rs)을 계산한 후 A′i = h(IDi||x)을 계산한다. 그런 다음 Vi ? = h(IDi||A'i||Xi||EIDi||T1)의 동일성 여부를 확인하여, 동일하지 않으면 세션을 종료하고 동일할 경우 난수 β을 생성하여 Xs = β∙ G, SK = h(ID′i||T1||A′i||β∙ Xi)을 계산한다. 서버는 새로운 난수 rnewi와 타임스탬프 T2을 생성하여, EIDnewi = Ex(IDi||rnews||A'i), NEIDnewi = EIDnewi⊕ h (A′i||T2), Vs = h(A'i||T2||EIDnewi||SK||Xs)을 계산하여 {NEIDnewi, Xs, Vs, T2}을 환자에게 전송한다.

3.환자는 T2의 타임스탬프 임계조건을 확인하여, 타당하지 않으면 세션을 종료하고, 타당할 경우 세션 키 SK = h(IDi||T1||Ai||(α⊕ PWi)∙ Xs)와 EIDnew'i = NEIDnewi⊕ h(Ai||T2)을 계산하여 h(Ai||T2||EIDnew'i||SK||Xs) ? = Vs이 동일한지 확인한다. 동일하면 EIDnew′i을 EIDi 대신에 저장하고, 동일하지 않을 경우에는 세션을 종료한다.

3. Password biometrics update phase

환자는 다음과 같은 과정을 진행하여 자신의 패스워드를 새롭게 업데이트한다.

1.환자 Ui은 자신의 스마트카드를 카드리더기에 장착하고, 자신의 IDi와 PWi, 그리고 생체정보 Bi을 입력한다. 스마트카드는 σi = Rep(Bi, θi), ri = yi⊕ h(σi), OPWi = h(IDi||ri||PWi), Ai = OPWi⊕ D′i을 계산한다.

2.스마트카드는 h(IDi||Ai||OPWi) ? = Ci의 여부를 확인하여 두 값이 동일하지 않으면 세션을 종료하고, 그렇지 않으면 환자에게 새로운 패스워드 PWnewi와 생체정보 Bnewi을 입력하도록 요청 한다.

3.환자는 새로운 패스워드 PWnewi와 생체정보 Bnewi을 입력한다.

4.스마트카드는 (σnewi, θnewi) = Gen(Bnewi)을 계산한 후, 새로운 난수 rnewi을 생성하여 ynewi = rnewi⊕ h(σnewi), OPWnewi = h(IDi||rnewi|PWnewi), Cnewi = h(IDi||Ai||OPWnewi), C'-newi = Cnewi⊕ rnewi, D'-newi = Ai⊕ OPWnewi을 계산한다. 마지막으로 스마트카드는 새롭게 계산한 {D'-newi,C'-newi, θnewi, ynewi}로 업데이트한다.

V. Analysis of The Proposed Protocol

1. Security analysis

Table. 1은 제안 프로토콜과 관련 프로토콜들에서 제공하는 기능과 안전성을 비교한 것이다.

Table 1. Comparison of Security Functions and Design Defects

CPTSCQ_2023_v28n10_93_t0001.png 이미지

Smart-card/mobile device lost attack

공격자는 스마트카드 SCi을 손에 넣을 경우, SCi에 저장된 EIDi, D′i, C′i, yi, θi들과 식 D′i = Ai⊕ OPWi나 C′i = Ci⊕ ri을 사용하여 사용자의 IDi와 패스워드 PWi에 대한 추측 공격을 시도할 것이다. 그러나 D′i = Ai⊕ OPWi에서 D′i을 제외한 Ai와 OPWi은 SCi에 저장된 값이 아니고, C′i = Ci⊕ ri에서는 C′i은 저장하나 Ci와 ri은 높은 엔트로피의 저장하지 않은 정보들이다.

전송 메시지들 중 EIDi은 Ex(IDi||rs||RPWi)와 같이 서버의 비밀키 x로 암호화되어 있어, 이 비밀키가 노출되지 않는 한 이 식으로부터 사용자의 PWi을 계산해 내기 어렵고, 전송 메시지 Xi = (α⊕∙ PWi)은 ECDLP의 어려움에 근거하여 Xi와 G을 안다고 하더라도 α⊕∙ PWi을 계산해내기 어렵다.

Offline password guessing attack

제안 프로토콜에서 사용자의 패스워드 PWi은 난수 ri와 함께 RPWi나 OPWi와 같이 해시함수로 연산 처리하였고, ri, RPWi, 그리고 OPWi은 저장되지 않는 값이다. 공격자가 난수 ri을 계산해내려면 식 ri = yi⊕ h(σi)을 사용할 수 있는데, 이 식에서 σi은 높은 엔트로피의 사용자 생체정보이므로 이 값을 알아내기 힘들다.

Perfect forward secrecy

공격자가 서버의 개인키 x을 안다고 가정할 경우, 공격자는 EIDi을 복호화(Dx(EIDi) = (IDi||rs||PWi))할 수 있고, 사용자의 IDi을 얻게 된 공격자는 Ai = h(IDi||x)을 계산할 수 있다. 그러나 공격자가 세션키 SK = h(IDi||T1||Ai||β∙ Xi)을 계산하려면 공격자가 서버가 생성한 난수 β을 알아야 하는데, 이 난수는 매 세션마다 새롭게 생성하여 사용하므로 서버의 개인키가 노출되더라도 이전의 세션키를 공격자는 계산할 수 없다.

Insider attack

내부 공격자가 등록단계의 IDi와 RPWi을 손에 넣었을 경우, RPWi로부터 패스워드 추측공격에 성공하려면 난수 ri을 알아야한다. 그러나 높은 엔트로피의 난수와 함께 해시 처리한 RPWi로부터 PWi을 계산해내기 어렵다. 또한 제안 프로토콜은 내부 공격자가 사용자의 PWi을 모른다하더라도 등록단계에서 획득한 RPWi을 재사용할 수 있는데 이러한 재사용을 막기 위해서 서버가 전송한 Di의 값을 사용자는 D′i으로 계산하여 스마트카드에 저장한다. 그러므로 RPWi 값 자체로는 사용자의 PWi을 알아내기 어렵다.

User anonymity

제안 프로토콜은 다음 세션의 동적 ID을 NEIDnewi = EIDnewi⊕ h(A'i||T2)와 같이 계산하여 전송하기 때문에 공격자는 A′i을 알아야 만이 NEIDnewi로부터 EIDnewi을 계산해낼 수 있다. A′i은 OPWi와 D′i을 알아야 계산해 낼 수 있으나, OPWi와 A′i은 저장하지 않는 값이기 때문에 Ai = OPWi⊕ D′i로부터 A′i을 계산해내기 어렵다.

Man-in-the-middle attack

제안 프로토콜에서 공격자가 중간자 공격에 성공하려면 전송 메시지 {EIDi, Xi, Vi, T1}을 생성할 수 있어야 한다. 제안 프로토콜은 Vi 연산 시 전송 메시지의 EIDi, Xi, T1을 모두 포함하여 계산하므로 이 메시지들에 대한 무결성을 제공한다. 그러므로 이 3개의 메시지에 대한 재사용이나 변경은 불가하고, 공격자는 Ai의 값을 알아야 만이 공격에 성공할 수 있다. 그러나 Smart-card lost attack 절에서 분석한 바와 같이 공격자는 스마트카드의 정보들을 획득하였다 할지라도 Ai을 계산해내기 힘들다.

2. Performance Analysis

본 논문에서 비교한 계산 복잡도는 Table 2와 같고, 각 프로토콜의 계산 복잡도는 로그인 단계와 인증 단계에서 사용자와 서버의 계산 복잡도로 각각 구별하여 표기하였다. 계산 복잡도에 사용한 기호들의 의미와 실행시간은 다음과 같이, Th은 해시함수로, 0,0005s의 실행 시간, TBH는 바이오 해시함수로 0.00001s, TEM은 ECC point 곱셈으로 0.0192s, TSY은 대칭키 암·복호화로 0.0087s, TFE은 퍼지 추출함수로 0.001989s이다[3][12][13].

Table 2. Performance Comparison of Related Protocols

CPTSCQ_2023_v28n10_93_t0002.png 이미지

각 프로토콜의 계산 복잡도를 살펴보면, Sharif et al. 프로토콜만 생체정보를 사용하지 않아 0.1007s로 가장 빠르다. 반면에 Chaudhry et al.[2]의 프로토콜은 0.2516s로 가장 긴 실행시간을 나타내는데 이것은 그들의 인증 프로토콜에서 TMIS의 전체 구조를 제어하는 최상위 CMS 서버가 더 추가되었기 때문이다. Sahoo et al.의 프로토콜은 TECM 연산 횟수가 총 7번으로 다른 프로토콜들에 비하여 곱셈연산 횟수가 많아서 실행시간이 두 번째로 크게 나온 것을 볼 수 있다.

Han et al.의 프로토콜은 실행시간이 대략 0.13921s인데, 이 프로토콜에서 사용한 바이오 해시함수를 퍼지 추출함수로 변경하여 실행시간을 계산하면 대략 0.141s로 퍼지 추출함수를 사용한 다른 프로토콜들과 비슷한 실행시간을 보인다. Chen-Chen의 프로토콜도 퍼지 추출함수를 사용한 프로토콜로 실행시간이 대략 0.141189s가 되고, Chen-Chen 프로토콜의 문제점을 개선한 제안한 프로토콜은 0.156189s가 걸린다.

IV. Conclusions

본 논문에서는 Chen-Chen이 제안한 ECC와 생체정보를 사용한 인증 프로토콜을 분석하였고, 사용자 가장 공격, 중간자 공격, 사용자 익명성, 그리고 추적 불가능성 등의 문제가 있었다. 그리하여 본 논문에서는 이러한 문제를 해결하고 사용자 익명성을 제공하는 안전한 인증 프로토콜을 제안하였다.

제안한 프로토콜의 안전성 문제를 분석한 결과, 오프라인 패스워드 추측 공격, 사용자 가장 공격, 스마트카드 분실 공격, 내부자 공격, 전방향 안전성, 재생 공격 등 여러 공격에 안전한 것으로 분석되었다. 또한 제안 프로토콜은 TMIS에서 반드시 보장해야 하는 사용자 익명성을 제공함으로써, 추적 불가능성과 사용자에 대한 프라이버시를 안전하게 보장하였다.

게다가 제안 프로토콜은 Chen-Chen 프로토콜에 비하여 실행시간도 크게 증가하지 않아 계산 복잡도에서도 좋은 결과를 나타내었다. 그러므로 본 논문에서 제안한 프로토콜은 TMIS의 사용자들에게 안전한 익명성과 안전성을 제공하여 민감한 정보를 다루는 TMIS에 적합한 인증 프로토콜이라고 할 수 있다.

References

  1. S. A. Chaudhry, K. Mahmood, H. Naqvi, H., M. K. Khan, "An Improved and Secure Biometric Authentication Scheme for Telecare Medicine Information Systems Based on Elliptic Curve Cryptography," Journal of Medical Systems, Vol. 39, pp.1-12, Sept. 2015. DOI: 10.1007/s10916-015-0335-y 
  2. Y. Lu, L. Li,, H. Peng, and Y. Yang, "An enhanced biometric-based authentication scheme for telecare medicine information systems using elliptic curve cryptosystem, "Journal of Medical Systems, Vol. 39, pp.1-8, Feb. 2015. DOI: 10.1007/s10916-015-0221-7 
  3. H. Arshad, and M. Nikooghadam, "Three-factor anonymous authentication and key agreement scheme for telecare medicine information systems," Journal of Medical Systems, Vol. 38, pp.1-12, Oct. 2014. DOI: 10.1007/s10916-014-0136-8 
  4. S. A. Chaudhry, M. T. Khan, M. K. Khan, and T. Shon, "A multiserver biometric authentication scheme for TMIS using elliptic curve cryptography," Journal of Medical Systems, Vol. 40, pp.1-13, Sept. 2016. DOI: 10.1007/s10916-016-0592-4 
  5. R. Amin, S. H. Islam, G. Biswas, M. K. Khan, and N. Kumar, "An efficient and practical smart card based anonymity preserving user authentication scheme for tmis using elliptic curve cryptography," Journal of Medical Systems, Vol. 39, pp.1-18, Oct. 2015. DOI: 10.1007/s10916-015-0351-y 
  6. L. Han, Q. Xie, and W. Liu, "An Improved Biometric Based Authentication Scheme with User Anonymity Using Elliptic Curve Cryptosystem," International Journal of Network Security, Vol. 19, No. 3, pp.469-478, May 2017. DOI: 10.6633/IJNS.201703.19(3).16 
  7. S. S. Sahoo and S. Mohanty, "A Lightweight Biometric-based Authentication Scheme for Telecare Medicine Information Systems Using ECC," 2018 9th International Conference on Computing, Communication and Networking Technologies (ICCCNT), Bengaluru, India, pp.1-6, July 2018. DOI: 10.1109/ICCCNT.2018.8494092. 
  8. H. Arshad, and A. Rasoolzadegan, "Design of a secure authentication and key agreement scheme preserving user privacy usable in telecare midicine information systems," Journal Medical Systems, Vol. 40, pp.1-19, Sept. 2016. DOI: 10.1007/s10916-016-0585-3 
  9. A. O. Sharif, D. A. Mood, and M. Nikooghadam, "An enhanced anonymous and unlinkable user authentication and key agreement protocol for TMIS by utilization of ECC," International Journal of Communication Systems, Vol. 32, Issue. 5, pp.1-23, Feb. 2019. DOI: 10.1002/dac.3913 
  10. N. Ravanbakhsh, and M. Nazari, "An efficient improvement remote user mutual authentication and session key agreement scheme for E-health care systems," Multimedia Tools and Applications, Vol. 77, No. 1, pp.55-88, 2018. DOI: 10.1007/s11042-016-4208-2 
  11. Y. Chen and J. Chen, "A biometrics-based mutual authentication and key agreement protocol for TMIS using elliptic curve cryptography," Multimedia Tools and Applications, Vol. 82, pp.16009-16032, 2023. DOI: 10.1007/s11042-022-14007-3 
  12. Hathaliyaa, J. J., Tanwar, S. and Evans, R., "Securing electronic healthcare records: A mobile-based biometric authentication approach," Journal of Information Security and Applications, Vol. 53, pp.1-14, May 2020. DOI: 10.1109/ACCESS.2022.3208347. 
  13. Y. Cho, J. Oh, D. Kwon, S. Son, J. Lee, and Y. Park, "A Secure and Anonymous User Authentication Scheme for IoT-Enabled Smart Home Environments Using PUF," IEEE Access, Vol. 10, pp.101330-101346, Sept. 2022. DOI: 10.1109/ACCESS.2022.3208347