DOI QR코드

DOI QR Code

Security Analysis of Remote Healthcare System in Cloud-based IoT Environment

클라우드 기반 IoT 환경의 원격 헬스케어 시스템에 대한 보안성 분석

  • 권재민 (인제대학교 컴퓨터공학부 정보보호전공) ;
  • 홍세웅 (인제대학교 컴퓨터공학부 정보보호전공) ;
  • 최윤성 (인제대학교 AI융합대학)
  • Received : 2023.02.23
  • Accepted : 2023.03.07
  • Published : 2023.03.30

Abstract

As computer performance is leveled upward, the use of IoT systems is gradually expanding. Although IoT systems are used in many fields, it is true that it is difficult to build a safe system due to performance limitations. To overcome these limitations, many researchers have proposed numerous protocols to improve security issues. Among them, Azrour et al. except. We proposed a new efficient and secure authentication protocol for remote healthcare systems in a cloud-based IoT environment, and claimed that the new protocol could solve the security vulnerabilities of the existing protocols and was more efficient. However, in this paper, through the security analysis of the remote healthcare system in the cloud-based IoT environment proposed by Azrour et al., the protocol of this system was found to be vulnerable to Masquerade attack, Lack of Perfect Forward Secrecy, Off-line password guessing attack, and Replay attack.

Keywords

Ⅰ. 서론

컴퓨팅 파워가 상향 평준화됨에 따라 IoT 시스템의 활용도가 점점 넓어지고 있다. 그럼에도 불구하고 IoT 기기의 태생적인 하드웨어적 한계로 인해 IoT 기기에서 단독으로 프로세스를 처리하는 것보다 클라우드 서버라는 근거리에 있는 서버로 일부 프로세스를 대신 처리하고 중계해주는 솔루션을 적용한 IoT와 클라우드 시스템이 결합된 형태가 제조, 유통, 판매 등 산업계의 IoT 시스템, 개인의 Home-IoT 시스템 등 여러 분야에서 여러 형태로 활용되고 있다. 특히, Kim et al. 의 주장처럼 최근 헬스케어 산업에 대한 수요가 늘어나는 추세이며 기술의 발전과 맞물려 Kim et al. 혹은 Jo et al. 의 연구와 같은 헬스케어 산업에서 전술한 시스템을 활용하는 방안이 대두되고 있다[1-5].

이러한 현상은 의료인력의 보조와 분산을 도와 더욱 많은 사람들이 양질의 헬스케어 서비스를 받을 수 있는 계기가 되어준 반면, IoT와 클라우드의 보안성과 헬스케어 산업의 특성상 개인정보가 포함되어 있다는 점에서 이러한 민감정보가 이전보다 더 쉽게 유출되고, 헬스케어 시스템이 더 위중한, 더 잦은 공격을 당할 수 있는 상황에 놓이게 되었다. 예를 들어, 공격자가 적법한 사용자 간에 공유되는 정보를 쉽게 도청하거나 수정할 수 있고, 적법한 사용자를 가장해 잘못된 프로세스를 진행시키거나 시스템을 마비시킬 수 있다. 게다가 노출된 액세스 포인트와 보편적인 액세스 인터페이스는 그만큼 공격자들도 쉽게 접근이 가능하고, 잘못 설계된 시스템의 인증 프로토콜은 공격자들의 접근을 막지 못하고 오히려 자원 낭비가 될 수 있다. 따라서 사용자를 인증하기 위한 많은 시스템이 새로 제시되어오고 있으며, 기존 시스템의 문제점을 지적하며 보다 향상된 시스템을 제시하기도 한다.

예를 들어, Jin et al. [6] 처럼 안전한 클라우드 서비스를 위한 프레임워크를 제시하는 경우도 있으며, Song et al. [7] 처럼 클라우드 서비스를 위한 상호 인증 프로토콜을 제시하는 경우도 있다. 그 중에서도 Azrour et al. [8] 는 클라우드 기반 원격 헬스케어 시스템에서의 새로운 인증 프로토콜도 이러한 문제를 해결하기 위해 기존 프로토콜에 대한 문제점을 지적하며 Mutual authentication, Data integrity, Verification table, Session key, DoS attack preventation, Perfect forward secrecy, Protecting from off-line password guessing attack, Reply attack tolerance, Avoiding insider attack 등의 면에서 보안적으로 향상된 그들만의 프로토콜을 제안했다.

하지만, 우리는 보안성 분석을 통해 Azrour et al.의 프로토콜이 Masquerade attack, Lack of perfect forward security, Possibility of off-line password guessing attack, Replay attack 등 여전히 여러 보안 취약점이 있다는 것을 발견했고 이를 밝히고자 한다.

본 논문의 구성은 다음과 같다. 2장에서 Azrour et al.의 클라우드 기반 IoT 환경의 헬스케어 시스템의 프로토콜에 관련된 연구를 설명한 후, 3장에서 Azrour et al. 의 클라우드 기반 IoT 환경의 헬스케어시스템의 프로토콜의 동작 과정을 분석하며 4장에서 Azrour et al.의 클라우드 기반 IoT 환경의 헬스케어시스템의 프로토콜 보안성 분석을 통한 취약점을 제시한다. 마지막으로 5장에서 본 논문의 결론을 짓는다.

Ⅱ. 관련 연구

신기술의 발전으로, 특히 IoT의 발생 이래로 개인 정보 보호에 관련된, 접근 권한을 제한하는 시스템 혹은 그에 사용되는 데이터 인증 절차가 점점 중요해지고 있다. 본장에서는 본 논문에서 분석한 Azrour et al. 의 클라우드 기반 IoT 환경의 헬스케어 시스템의 인증 프로토콜과 관련된 인증 프로토콜에 대한 연구를 수행하였다.

Watro et al. [9] 이 WSN을 위한 RSA 기반 보안 인증 방식을 제안했고 Wong et al. [10] 은 단방향 해시 함수를 이용한 인증 방식을 제안했다. 해당 프로토콜은 Replay attack, Man-in-the-middle attack, Forgery attack, Key impersonation attack 등 기존의 공격에 대한 내성을 가지고 있다고 여겨졌다. 그러나 해당 시스템의 프로토콜의 Insider attack과 Man-in-the-middle attack에 대한 취약점이 발견되면서 Das et al. [11] 이 안전성을 향상시킨 프로토콜을 제시했다. 그리고 Xu et al. [12] 과 Song [13] 은 2009년과 2010년에 RSA 암호화 알고리즘에 기반한 인증 프로토콜을 각각 제시했다.

Elliptic Curve Cryptography(ECC)에 기반한 Xu et al. [14] 의 프로토콜은 인증과 키 합의 방식을 전산적 문제로 해결하는 방안을 제시했는데, 해당 프로토콜은 동적인 식별자로 기밀성을 보장하는 점도 보여주었다.

그리고 Yen et al. [15] 은 생체 인식 시스템을 기반으로 사용자 인증 시스템을 제안했다. 그러나, 해당 프로토콜은 Replay attack에 취약하며 사용자의 익명성을 보장하지 못한다. 게다가 Mishra et al. [16]이 Yan의 프로토콜이 Off-line password guessing attack에 대한 취약점이 존재한다고 밝혔다. 이러한 문제점을 바탕으로 Mishra et al.이 임의의 숫자를 사용함으로써 강화된 생체 인식 기반 인증 프로토콜을 제안했다. 그 후, Tan [17] 이 3단계의 상호 인증 프로토콜을 제시했다.

Yoon and Kim [18] 은 무선 센서 네트워크에서 보안 향상을 위한 생체 인식 파라미터 기반 사용자 인증 프로토콜을 제시했다. 해당 방식은 DoS attack, Sensor impersonation attack 등의 공격에서 안전성을 확보했다는 것을 보여주었다.

그리고 2012년, He et al. [19] 은 의료 센서 네트워크에서 활용하기 위한 효과적인 인증 프로토콜을 제시했다. 그러나 해당 방식은 Forgery attack과 Password guessing attack에 대한 취약점이 발견되었다. 게다가 Forward privacy service를 제공하지도 못한다. 2014년, Mishra et al. [20] 은 헬스케어 정보 유기체에 사용하기 위한 카오스 맵계산을 활용, 인증과 키 교환 프로토콜을 제시했다. 그러나 이 방법은 Password guessing attack에 대한 취약점이 있다.

2015년, Jiang et al. [21] 은 Chen et al. [22] 이 제시한 프로토콜이 Password guessing attack에 안전하지 않다는 점을 증명했고 해당 문제를 해결하기 위해 Jiang et al.이 또 다른 인증 방식을 제시했다. 그럼에도 해당 방식은 Password guessing attack과 User impersonation attack에 대한 취약점이 있었다.

그리고 2019년, Azrour et al. [23] 이 Ye et al. [24]의 프로토콜이 안전하지 않다고 주장했으며, 같은 해, Cheng et al. [25] 이 다양한 분야의 기기에서 공개된 노드의 식별자를 인증하기 위해 Elliptical curve cryptography와 생체 인식을 기반으로 한 인증 방식을 제시했다. 그리고 2021년, Azrour et al. [26] 다양한 공격에 대한 안정성을 보장하고 효율성을 향상시킨 IoT 기기를 위한 새로운 인증 프로토콜을 제시했다. 또한, Azrour et al.[8]은 본 논문에서 분석하는 클라우드 기반 IoT 환경의 원격 헬스케어 시스템의 인증 프로토콜을 제안하였다.

Ⅲ. 클라우드 기반 IoT 환경의 원격 헬스케어 시스템의 인증 프로토콜 동작과정 분석

본 논문에서 사용한 용어 정보는 아래의 <표 1>과 같으며, Azrour et al. 등은 제안한 클라우드 기반 IoT 환경의 원격 헬스케어 시스템의 인증 프로토콜이 아래와 같은 장점을 가진다고 주장한다.

<표 1> Azrour et al.의 기호 정의

DGTSA8_2023_v19n1_31_t0001.png 이미지

● 같은 값의 세션 키를 서버와 사용자가 각각 제작해 서로를 확인할 수 있다.

● 클라우드 서버가 사용자와 센서 노드의 유효성을 검증해 상호 인증이 가능하다.

● 타임스탬프를 송수신하는 데이터에 합성시켜 공격자의 데이터 변조 공격을 방지할 수 있다.

● 사용자의 비밀번호를 저장하지 않아서 클라우드 서버나 센서 노드 해킹에 성공하더라도 유의미한 정보를 얻을 수 없다.

● 해시 함수와 클라우드 서버의 비밀 키 등을 사용해 역계산 공격에 안전하다.

● 클라우드 서버의 비밀 키와 사용자의 암호화된 ID 등을 이용해 세션 키를 제작해 Perfect Forward Secrecy를 만족시킨다.

3.1 시스템 설정 단계

최고 관리자가 클라우드 서버의 비밀 키 XS와 해시 알고리즘 h를 결정한다. 그리고 안전한 네트워크에 h와 XS를 배포한다.

3.2 센서 등록 단계

서비스 중인 헬스케어 시스템에서 새로운 센서 노드(SNi)를 등록하기 위해 클라우드 서버는 IDSNi와 KCS-SNi를 SNi의 식별자와 유일 키로써 각각 선택한다. 그리고 센서 노드를 관리하는 게이트웨이 노드가 IDSNi와 SKi = h(IDSNi || KCS-SNi)를 안전한 네트워크를 통해 센서의 메모리에 저장시킨다. 그리고 앞으로 쓰일 IDSNi와 HSKi = SKi ⊕ h(XS || IDSNi)를 로컬 데이터베이스에 저장한다.

3.3 사용자 등록 단계

클라우드 서버에 계정을 등록하기 위해, <그림 1>에서 보듯이 의학 전문가 Ui는 클라우드 서버에의 등록 절차를 거쳐야한다.

DGTSA8_2023_v19n1_31_f0001.png 이미지

<그림 1> 사용자 등록 단계

(1) 의학 전문가 Ui가 적절한 IDi와 PWi를 결정한다. 그후, 임의의 수 a와 b를 선택해 MIDi = h(IDi || a), MPWi = h(IDi || PWi || b)를 계산한다. 그리고 MIDi와 MPWi를 클라우드 서버에 안전한 통신망을 이용해 전송한다.

(2) 클라우드 서버 CS가 임의의 수 c를 선택하고 V = h(MIDi || XS) ⊕ h(MPWi || c)를 계산한다. 그리고 CS의 로컬 데이터베이스에 MIDi와 c를 저장하고 V와 c를 Ui에게 전송한다.

(3) Ui는 V, MIDi, a, b, c를 스마트 카드에 저장한다. Azrour et al.의 논문 원문에는 CS가 Ui에게 c를 전송하는 과정을 생략되어 있다. 하지만 c가 전송되지 않으면 사용자 Ui는 로그인 과정에서 Ui가 입력한 IDi와 PWi를 검증이 불가능하므로 [1], 실수로 판단되어 c를 전송하는 것으로 수정하였다. 그리고 HIDi를 저장된다고 명시되어 있으나, MIDi의 오타로 판단되어 본 논문에서는 MIDi로 수정하여 명시하였다.

3.4 로그인 및 인증 단계

의학 전문가 Ui는 등록 절차를 완수하면 모든 센서 노드에 접근할 수 있다. 이를 위해, <그림 2>처럼 Ui는 스마트 카드를 삽입해 로그인 단계를 거쳐 인증을 받아야 한다. 자세한 설명은 아래와 같으며, 이러한 로그인과 인증이 끝나면 Ui는 의료 센서 노드와 상호 작용을 실시간으로 할 수 있다.

DGTSA8_2023_v19n1_31_f0002.png 이미지

<그림 2> 로그인 및 인증 단계

(1) Ui ⟶ CS : {V1, MIDi, IDSNi, A, T1}

먼저, Ui가 ID'i와 PW'i를 입력하면 스마트 카드가 MIDi ?= h(ID'i || a)를 수행해 IDi와 동일한지 검증한다. 여기서 통과하지 못하면 프로세스가 진행되지 않는다. 그리고 스마트 카드는 임의의 수 A를 선택한 후, X1 = V ⊕ h(h(ID'i || PW'i || b) || c)와 V1 = h(X1 || A)를 계산한다. 그리고 클라우드 서버 CS에 {V1, MIDi, IDSNi, A, T1}을 보낸다.

(2) CS ⟶ SNi : {V2, MIDi, B, T2}

Ui의 메시지를 받은 클라우드 서버는 T2 - T'1 <= ΔT로 타임스탬프의 유효성을 검증하고 이를 만족하는 T2를 제작한다. 그리고 W1 = h(MIDi || XS)를 제작하고 V'1 ?= h(W1 || A')를 검증한다. 해당 검증을 통과하면, 클라우드 서버는 임의의 숫자 B를 제작하고 W2 = HSKi ⊕ h(IDSNi' || XS), HIDi = h(MIDi || IDSNi'), V2 = h(HIDi || W2 || T2 || B)를 계산한다. 마지막으로 클라우드 서버는 센서 노드에게 {V2, MIDi, B, T2}로 구성된 메시지를 보낸다.

(3) SNi ⟶ CS : {V3, HIDi, IDSNi, C, T3}

센서 노드 SNi가 CS의 메시지를 받으면, T3 - T'2 <= ΔT인 유효한 타임스탬프를 제작한다. 그리고 HIDi = h(MID'i || IDSNi)를 제작, V2 ?= h(HIDi || SKi || T'2 || B')를 검증해 적합한 CS에서, 자신에게 온 요청인지 확인한다. 그 후, 임의의 숫자 C를 선택해 V3 = h(MIDi || IDSNi || SKi || T3 || C)를 계산하고 {V3, HIDi, IDSNi, C, T3}를 CS에게 다시 보낸다.

(4) CS ⟶ Ui : {V4, IDSNi, D, T4}

센서 노드 SNi의 응답이 클라우드 서버 CS에 도달하면 마지막 타임스탬프 T4 - T'3 <= ΔT와 V'3 ? = h(MIDi || W2 || C' || T'3)의 검증 과정을 거친다. 해당 검증을 완수하면 CS는 임의의 숫자 D를 선택하고 V4 = h(W1 || MIDi || IDSNi || D || T4)를 계산하고 세션 키인 Skey = h(W1 || MIDi || IDSNi)를 제작한다. 그 후, Ui에게 {V4, IDSNi, D, T4}를 전송한다.

(5) 클라우드 서버의 응답을 받은 Ui는 T5 - T4 <= ΔT와 V4 ?= h(X1 || MIDi || IDSNi || D' || T'4)로 유효성을 검증하고 통과할 시, Ui도 세션 키 Skey = h(X1 || MIDi || IDSNi)를 제작한다.

3.5 패스워드 변경 단계

Azrour et al.의 프로토콜에서는 의학 전문가인 사용자 Ui가 클라우드 서버와의 통신으로 자신이 월할 때 패스워드 변경 과정을 수행할 수 있다. 하지만 이러한 과정은 공개 인터넷망이나 통신 암호화 기술이 적용되지 않는 일반적 네트워크 환경에서도 이루어질 수도 있기 때문에, 패스워드 변경에서도 패스워드가 유출되지 않도록 설계하였다. 이에 대한 상세는 <그림 3>과 함께 아래에서 설명한다.

DGTSA8_2023_v19n1_31_f0003.png 이미지

<그림 3> 패스워드 변경 단계

(1) Ui ⟶ CS : {MUi}

의학 전문가인 Ui가 로그인을 위해 IDi와 PWi를 입력하고 이는 MIDi ?= h(IDi || a)로 검증된다. 검증이 완료되면 사용자는 신규 패스워드인 PW*i를 선택할 수 있다. 그리고 두 임의의 수 a*와 b*가 선택되고 MID*i = h(IDi || a*)와 MPW*i = h(IDi || PW*i || b)가 새롭게 계산되고 마지막으로 SKi를 이용해 MUi = ESKi(MPWi|| MPW*i || MIDi || MID*i || V) 암호화하고 클라우드로 전송한다.

(2) CS ⟶ Ui : {MSi}

사용자의 요청을 받은 클라우드 서버 CS는 SKi를 이용해 DSKi(MUi) = (MPWi|| MPW*i || MIDi || MID*i || V)로 복호화한다. 그 후, V ?= h(MIDi' || XS) ⊕ h(MPW'i || c)로 올바른 값인지 검증한다. 여기서, Azrour et al.의 논문에서는 V, MIDi, MPWi의 값이 Ui가 전송한 값인지, CS의 로컬에 저장되어 있는 값인지에 대한 부가적인 설명이 없어서 본 논문에서는 V를 CS의 로컬, MIDi, MPWi를 Ui가 전송한 값으로 판단해 Ui로 그인의 진위성을 확보했다. 해당 과정이 끝나면 CS는 임의로 c*를 선택하고 로컬의 MIDi와 c를 각각 MIDi*와 c*로 대체한다. 그리고 V* = h(MID*i || XS) ⊕ h(MPW*i || c*)를 계산하고 MSi = ESKi(V* || c*)로 암호화해 Ui에게 전송한다. 여기서도 사용자 등록 단계와 마찬가지로 c를 전송하지 않는 오류를 범했다.

(3) CS가 응답하면 Ui는 마지막으로 DSKi(MSi) = (V* || c*)를 복호화하고 V, MIDi, a, b, c를 각각 V*, MID*i, a*, b*, c*로 대체한다.

Ⅳ. 보안성 분석

본 장에서는 Azrour et al. 등은 제안한 클라우드 기반 IoT 환경의 원격 헬스케어 시스템에 대한 보안성 분석을 진행한다. 공격자 𝒜는 다음 능력을 가지고 있다.[27-29]

·공격자 𝒜는 공개된 모든 통신 채널을 제어한다. 𝒜는 복제된 새 메시지를 추출, 재생, 업데이트, 폐지 또는 전달할 수 있다.

·공격자 𝒜는 전력 분석을 통해 스마트카드에 저장된 정보를 입수하거나 유출 할 수 있다.

·공격자 𝒜는 정당한 사용자 또는 서버로 가장할 수 있다.

·서버와 사용자에 관한 정보는 기밀이 아니며, 공격자 𝒜는 모르지만 내부자는 알 수 있다.

4.1 Masquerade Attack

보안성 분석을 통해 본 프로토콜은 <그림 4>와 아래의 설명대로 클라우드 서버 CS의 관련자 𝒜, 혹은 CS에서 유출된 XS를 획득한 공격자 𝒜가 의학 전문가인 사용자 Ui, 그것도 모든 사용자를 사칭할 수 있다는 치명적인 취약점이 존재한다는 점을 밝힐 수 있었다.

DGTSA8_2023_v19n1_31_f0004.png 이미지

<그림 4> Masquerade Attack

(1) 공격자 𝒜는 Ui가 적법한 인증 절차를 거친 후, CS와 상호인증을 하기 위해 전송할 때, MIDi와 V1, A, IDSNi, T1를 탈취할 수 있다. 해당 인증 절차에서 사용되는 V1은 Ui의 카드에 저장되어있는 V와 Ui가 입력한 ID'i, PW'i 등을 포함한 해시값과 합성해 x를 만들고 임의의 값인 A와 합성해 제작된다.

(2) 여기서, 해당 프로토콜의 설명에 따르면 V = h(MIDi || XS) ⊕ h(MPWi || c) = h(MIDi || XS) ⊕ h(h(IDi || PWi || b) || c)를 도출할 수 있으며, 이러한 V와 Ui가 입력한 h(h(ID'i || PW'i || b) || c)를 합성해 X1를 제작하는데, Ui가 올바른 ID'i와 PW'i를 입력했을시, V ⊕ h(h(ID'i || PW'i || b) || c) = h(MIDi || XS) ⊕ h(h(IDi || PWi || b) || c) ⊕ h(h(ID'i || PW'i || b) || c) = h(MIDi || XS) = X1이라는 결과가 나온다.

(3) 이러한 X1와 임의의 값인 A를 합성해 해시값을 낸게 V1인데, 이를 CS가 받으면 CS는 W1 = h(MIDi || XS)과 Ui에게서 수신한 A를 합성해 h(W1 || A)의 값과 수신받은 V1이 같은 값인지 검증 후, 올바르면 나머지 인증 프로세스를 진행한다.

(4) 여기서, XS를 알고있는 공격자 𝒜가 탈취한 MIDi를 이용해 X1를 제작, 임의로 선택한 A와 합성해 V1을 제작, 전송하면 CS는 적법한 사용자로 판단해 인증 프로세스를 거쳐 사용자를 사칭할 수 있다.

위 과정을 토대로 공격자 𝒜가 이전 통신에서 MIDi와 IDSNi 탈취하고 유출된 Xs을 사용하여 h(MIDi||Xs) ⊕ 0을 계산하여 X'1을 획득하고 획득한 X'1을 이용하여 h(X'1 || A’)을 계산하여 V'1을 획득할 수 있다. 획득한 V1’을 CS에 {V'1, MIDi ,A’, IDSNi, T1}을 전송하면 사용자 Ui를 사칭하여 CS에 접속할 수 있다.

4.2 Lack of Perfect Forward Secrecy

Azrour et al.은 그들의 프로토콜이 Perfect Forward Secrecy를 보장한다고 주장한다. 하지만 Perfect Forward Secrecy는 비밀키와 같은 장기적 키(Long-Term Key)가 유출되더라도 세션키를 계산하기 어려워야 만족된다[30]. 하지만 Azrour et al.이 제안한 프로토콜에서 공격자가 장기적 키인 XS를 알고 있을 경우, <그림 5>와 아래의 설명을 통해 세션 키를 임의로 계산할 수 있기 때문에 Perfect Forward Secrecy를 만족하지 못한다.

DGTSA8_2023_v19n1_31_f0005.png 이미지

<그림 5> Lack of Perfect Forward Security

(1) 공격자 𝒜가 사용자를 사칭해 인증 프로세스 요청을 보낸다.

(2) CS는 적법한 사용자에게서의 요청으로 인식해 SNi와 인증 프로세스를 거치고 마지막에 세션키를 만들어 사용자와 통신할 준비를 한다.

(3) 공격자 𝒜가 장기적인 키인 XS를 알고 있으면 공개 통신망을 통해 전송되는 MIDi, IDSNi0을 수집하여 사용자와 CS 간의 세션키 Skey = h(x || MIDi || IDSNi) = h(h(MIDi || XS) || MIDi || IDSNi)를 도출할 수 있다. 또한, <그림 5>에서 IDSNi과 MIDi는 과거 통신 내용을 통해 알 수 있으므로, 𝒜 과거의 세션키도 계산해낼 수 있다. 그러므로 Azrour et al.이 제안한 프로토콜은 Perfect Forward Secrecy를 만족하지 못한다.

위 과정을 토대로 공격자 𝒜가 장기적 키인 XS를 알고 있을 경우 공개 통신망을 통해 전송되는 MIDi, IDSNi0을 수집하고 이 수집한 값을 Skey = h(x || MIDi || IDSNi) = h(h(MIDi || XS) || MIDi || IDSNi) 수식에 대입하여 사용자와 CS 간의 세션키를 획득할 수 있다. 그러므로 Perfect Forward Secrecy를 보장하지 못한다.

4.3 Off-line Password Guessing Attack

Ui가 자신의 스마트카드를 분실하면 공격자 𝒜는 스마트카드의 모든 정보를 얻을 수 있다. Azrour et al.의 프로토콜에서 사용하는 스마트카드에는 Ui가 CS와 상호 인증하는 중요한 정보가 저장되어 있는데, 이는 아래의 설명과 <그림 6>과 같이 공격자 𝒜가 스마트카드에 저장된 정보와 과거 통신 내용에서 탈취한 정보를 사용해 Ui의 IDi와 PWi를 추측할 가능성이 있다.

DGTSA8_2023_v19n1_31_f0006.png 이미지

<그림 6> Off-line Password Guessing Attack

해당 시스템의 프로토콜 진행 과정에서 적법한 사용자는 입력한 ID'i와 스마트카드에 저장되어 있는 a를 이용해 생성한 h(ID'i || a)를 MIDi와 비교해 ID'i의 유효성을 검사한다.

여기서 공격자 𝒜는 스마트카드 탈취로 알게 된 Ui의 MIDi, a를 이용, 로그인 과정을 재구성해 MIDi를 재계산할 수 있다. 그리고 공격자 𝒜는 통신 내용 탈취로 알게 된 V1와 스마트카드 탈취로 알게 된 Ui의 V1, b, c로 V를 재계산할 수 있다. 재계산된 MIDi와 V는 Ui의 IDi와 PWi를 제외하고 모두 알 수 있는 정보들로 구성된다.

|DID|는 정해진 비트 수 내에서 IDi로 성립될 수 있는 ID 집합의 크기, 즉 ID의 개수이며, |DPW|는 정해진 비트 수 내에서 PWi로 성립할 수 있는 PW 집합의 크기, 즉 PW의 개수이다. IDi와 PWi를 알아내기 위한 추측 공격 실행 시간은 O(|DID| * |DPW| * Th)이며 Th는 해시 함수의 실행 시간이다. IDi와 PWi는 사용자가 직접 입력하는 단계에서, 인간이 기억할 수 있는 짧은 길이의 문자열로 구성된다는 점을 알 수 있으며, 이로 인해 공격자 𝒜가 무작위 패스워드를 입력하더라도 경우의 수가 적기 때문에 오프라인 패스워드(아이디) 추측 공격에 매우 취약하다. 다시 말해 사람들이 사용하는 ID 및 패스워드의 개수는 평균적으로 |DID| <= |DPW| <= 106을 만족할 정도로 |DID|, |DPW|의 개수는 매우 제한적이며, ID와 패스워드를 제외한 모든 값을을 알 수 있게 되면 ID와 패스워드를 알아낼 수 있다. 이로 인해 공격자 𝒜는 Ui의 스마트카드 정보와 과거 통신 내용을 이용한 오프라인 패스워드 및 아이디 추측 공격으로 Ui의 IDi와 PWi를 계산할 수 있다.[31]

위 과정을 토대로 공격자 𝒜가 Ui의 스마트카드를 획득하게 되면 획득한 스마트카드를 이용하여 Ui의 {V, a, b, c, MIDi}를 획득할 수 있다. 이 획득한 것들을 이용하여 h(ID'i||a)라는 수식으로 MIDi를 추측하여 획득할 수 있다. 이를 통해 h(V⊕h(ID'i||PW'i||b)||c)라는 수식에서 IDi와 PWi를 변경하면서 V1의 값과 비교함으로써 사용자의 IDi와 PWi를 유추할 수 있다.

4.4 Replay Attack

Azrour et al. 프로토콜은 모든 인증 과정 중, 수신한 타임스탬프와 임의의 숫자(A, B, C, D)의 중복을 검증하는 단계가 존재하지 않는다. 이는 아래의 설명과 <그림 7>과 같이 공격자 𝒜가 수집한 과거의 통신 내용을 그대로 전송해 아주 간단하게 사용자 Ui, 혹은 클라우드 서버 CS를 사칭할 수 있는 보안 취약점이 된다.

DGTSA8_2023_v19n1_31_f0007.png 이미지

<그림 7> Replay Attack

위 <그림 2> 를 보면 Ui가 CS에게 인증받는 수식을 보면 필요한 값들이 {V1, MIDi, IDSNi, A, T1}이 필요하다. 여기서 V1을 검증하는 수식(V1 ?=h{W1||A’})에는 타임스탬프를 사용하여 검증하지 않는다. 그렇기 때문에 Ui가 CS에게 인증받는 수식에 들어가는 T1 만 현재 시각으로 바꾸어주면 된다.

이를 방지하기 위해서는 임의의 숫자에 대한 타임 스탬프를 추가하거나, 중복 검사 혹은 XS, SKi 등의 안전한 키와 규칙 있는 임의의 값, 해시를 통한 유효성 검증하는 간단한 단계를 추가하면 해결할 수 있다.

Ⅴ. 결론

Azrour et al.은 클라우드 기반의 IoT, 특히 헬스케어 분야에서 사용될 수 있는 새로운 원격 사용자 인증 프로토콜을 제안했다. 그들은 해당 프로토콜이 주요 보안 공격으로부터 안전하며 이전의 사용자 인증 프로토콜보다 더 효율적이라고 주장했다. 그러나, Azrour et al.의 프로토콜을 분석하며 이 프로토콜이 Masquerade attack, Lack of Perfect Forward Secrecy, Off-line password guessing attack 에 대한 보안 취약점이 있다는 점을 밝혔다. 본 연구의 결과가 향후 이 시스템에 대한 보안성 연구 및 새로운 시스템의 프로토콜 제안시 필요한 분석자료로 활용될 수 있을 것이라 판단한다.

References

  1. 김정원.신진철.박형근, "Zigbee를 이용한 사용자인식기반의 헬스케어 시스템 구현," 디지털산업정보학회, 디지털산업정보학회 논문지, 제4권, 제3호, 2008, pp.1-8.
  2. 조정원.차시호.안병호.조국현, "홈 헬스케어를 위한 온톨로지 기반 상황인지 플랫폼의 설계 및 구현," 디지털산업정보학회, 디지털산업정보학회 논문지, 제5권, 제3호, 2009, pp.77-86.
  3. 조익성, "스마트 헬스케어 환경에서 복잡도를 고려한 R파 검출 및 QRS 패턴을 통한 향상된 부정맥 분류 방법," 디지털산업정보학회, 디지털산업정보학회 논문지, 제17권, 제1호, 2021, pp.7-14.
  4. 김인환.남윤철, "사물인터넷(IoT) 전시 서비스품질이 전시수용에 미치는 영향," 디지털산업정보학회, 디지털산업정보학회 논문지, 제17권, 제4호, 2021, pp.13-28.
  5. 박종순.박찬길, "IoT 네트워크에서 스토리지와 트랜잭션 보호를 위한 이중 블록체인 구조," 디지털산업정보학회, 디지털산업정보학회 논문지, 제17권, 제4호, 2021, pp.43-52.
  6. 진병욱.김종화.차시호.전문석, "퍼스널 클라우드 환경에서 사용자 관리를 위한 보안 프레임워크의 설계 및 평가," 디지털산업정보학회, 디지털산업정보학회 논문지, 제12권, 제1호, 2016, pp.81-87. https://doi.org/10.17662/ksdim.2016.12.1.081
  7. 송준호.최도현.박중오, "안전한 클라우드 서비스를 위한 상호의존적 다중세션 인증 기법 설계," 디지털산업정보학회, 디지털산업정보학회 논문지, 제10권, 제3호, 2014, pp.181-196.
  8. Azrour, M. Mabrouki, J. and Chaganti, R., "New Efficient and Secured Authentication Protocol for Remote Healthcare Systems in Cloud-IoT," Security and Communication Networks, Vol.2021, Article ID 5546334, 2021, pp.1-12.
  9. Watro, R. Kong, D. Cuti, S. Gardiner, C. Lynn, C. and Kruus, P., "TinyPK: securing sensor networks with public key technology," in Proceedings Of the 2nd ACM Workshop on Security Of Ad Hoc and Sensor Networks, San Diego, CA, USA, 2004, pp.59-64.
  10. Wong, K. H. Zheng, Y. Cao, J. and Wang, S., "A dynamic user authentication scheme for wireless sensor networks," Sensor Networks, Ubiquitous, and Trustworthy Computing, Vol.1, 2006, p.8.
  11. Das, M. L., "Two-factor user authentication in wireless sensor networks," IEEE Transactions on Wireless Communications, Vol.8, No.3, 2009, pp.1086-1090. https://doi.org/10.1109/TWC.2008.080128
  12. Xu, Zhu, W.-T. and Feng, D.-G., "An improved smart card based password authentication scheme with provable security," Computer Standards & Interfaces, Vol.31, No.4, 2009, pp.723-728. https://doi.org/10.1016/j.csi.2008.09.006
  13. Song, R., "Advanced smart card based password authentication protocol," Computer Standards & Interfaces, Vol.32, No.5-6, 2010, pp.321-325.
  14. Xu, X. Jin, Z. P. Zhang, H. and Zhu, P., "A dynamic ID-based authentication scheme based on ECC for telecare medicine information systems," In Applied Mechanics And Materials, Vol.457, 2014, pp.861-866. https://doi.org/10.4028/www.scientific.net/AMM.457-458.861
  15. Yan, X. Li, W. Li, P. Wang, J. Hao, X. and Gong, P., "A secure biometrics-based authentication scheme for telecare medicine information systems," Journal of Medical Systems, Vol.37, No.5, 2013, pp.1-6. https://doi.org/10.1007/s10916-013-9972-1
  16. Mishra, D. Mukhopadhyay, S. Kumari, S. Khan, M. K. and Chaturvedi, A., "Security enhancement of a biometric based authentication scheme for telecare medicine information systems with nonce," Journal of Medical Systems, Vol.38, No.5, 2014, pp.1-11. https://doi.org/10.1007/s10916-013-0001-1
  17. Tan, Z., "A user anonymity preserving three-factor authentication scheme for telecare medicine information systems," Journal of Medical Systems, Vol.38, No.3, 2014, pp.1-9. https://doi.org/10.1007/s10916-013-0001-1
  18. Yoon, E.-J. and Kim, C., "Advanced biometric-based user authentication scheme for wireless sensor networks," Sensor Letters, Vol.11, No.9, 2013, pp.1836-1843. https://doi.org/10.1166/sl.2013.3014
  19. He, D. Chen, C. Chan, S. Bu, J. and Vasilakos, A. V., "ReTrust: attack-resistant and lightweight trust management for medical sensor networks," IEEE Transactions on Information Technology in Biomedicine, Vol.16, No.4, 2012, pp.623-632. https://doi.org/10.1109/TITB.2012.2194788
  20. Mishra, D. Srinivas, J. and Mukhopadhyay, S., "A secure and efficient chaotic map-based authenticated key agreement scheme for telecare medicine information systems," Journal of Medical Systems, Vol.38, No.10, 2014, p.120.
  21. Jiang, Q. Ma, J. Li, G. and Li, X., "Improvement of robust smart-card-based password authentication scheme," International Journal of Communication Systems, Vol.8, No.2, 2015, pp.383-393. https://doi.org/10.1002/dac.2644
  22. Cheng, Z.-Y. Liu, Y. Chang, C.-C. and Chang, S.-C., "An improved protocol for password authentication using smart cards," Vol.22, 2012, no.4.
  23. Azrour, M. Ouanan, M. Farhaoui, Y. and Guezzaz, A., "Authentication Protocol for Internet of Things," Studies in Big Data, Vol.53, 2019, pp.67-74. https://doi.org/10.1007/978-3-030-12048-1_9
  24. NYe, N. Zhu, Y. Wang, R.-c. Malekian, R. and Qiao-min, L., "An efficient authentication and access control scheme for perception layer of internet of things," Applied Mathematics & Information Sciences, Vol.8, No.4, 2014, pp.1617-1624. https://doi.org/10.12785/amis/080416
  25. Cheng, X. Zhang, Z. Chen et al, F., "Secure identity authentication of community medical internet of things," IEEE Access, Vol.7, 2019, pp.115966-115977. https://doi.org/10.1109/ACCESS.2019.2935782
  26. Azrour, M. Mabrouki, J. Guezzaz, A. and Farhaoui, Y., "New enhanced authentication protocol for internet of things," Big Data Mining and Analytics, Vol.4, No.1, 2021, pp.1-9. https://doi.org/10.26599/BDMA.2020.9020010
  27. Eisenbarth, T. Kasper, T. Moradi, A. Paar, C. Salmasizadeh, M. and Shalmani, M., "On the power of power analysis in the real world: A complete break of the KeeLoq code hopping scheme," In Annual International Cryptology Conference, Springer, Berlin, Heidelberg, 2008, pp.203-220.
  28. Dolev, D. and Yao, A., "On the security of public key protocols," IEEE Transactions on information theory, Vol.29, No.2, 1983, pp.198-208. https://doi.org/10.1109/TIT.1983.1056650
  29. Cao, X. and Zhong, S., "Breaking a remote user authentication scheme for multi-server architecture," IEEE Communications Letters, Vol.10, No.8, 2006, pp.580-581. https://doi.org/10.1109/LCOMM.2006.1665116
  30. 최윤성, "퍼지추출 기술을 활용한 스마트 카드 기반 패스워드 인증 스킴," 디지털산업정보학회, 디지털산업정보학회 논문지, 제 14권, 제 4호, 2018, pp.125-134.
  31. Ma, C. G. Wang, D. and Zhao, S. D., "Security flaws in two improved remote user authentication schemes using smart cards," International Journal of Communication Systems, Vol.27, No.10, 2014, pp.2215-2227. https://doi.org/10.1002/dac.2468