2024 SWLUG/논문 분석

7. IoT 환경에서 안전한 통신을 위한 인증 및 그룹 키 관리 기법

un_plugged 2024. 11. 12. 13:02

IoT환경에서안전한통신을위한인증및그룹키관리기법.pdf
0.42MB

Internet of Things(IoT)

사물인터넷은 디바이스들에 네트워크 연결 기능을 내장하여 사람과 사물, 사물과 사물 등을 인터넷에 연결하여 무선 네트워크를 통해 사물을 연결하여 통신하는 기술. 네트워크를 통해 통신 가능한 모든 디바이스를 일컫는다. 

  • 네트워크가 가능한 무선 센서
  • 모바일 장비
  • 홈 네트워크에 사용되는 디바이스
  • 웨어 러블 디바이스 

-> 각각 고유의 IP Address를 통해 인터넷에 연결되고 있음

 

대부분 이러한 사물인터넷 디바이스들은 24시간 네 트워크에 연결되어 있고, 기존 PC나 모바일 디바이스와 다르게 메모리나 파워, 연산 능력 등에 한계를 지니고 있어 쉽게 해킹 대상으로 노출되고 있다. 

 

발생 가능한 보안 취약점

1. 현재까지 대부분의 사물인터넷 디바이스들은 리눅스 운영체제 기반에서 적절한 보안 프로토콜을 적용하지 않거나, 신규 취약점들에 대한 보안 업데이트가 이루어지 지 않을 시 지속적인 해킹 위험에 노출될 위험이 있음

-> 사물인터넷 특성상 적절한 업데이트나 보안 프로토콜 적용은 어려운 상황이며, 실제 이러한 취약점을 이용한 공격 사례는 지속적으로 증가하고 있다.

 

2. 표준의 문제

사물인터넷의 급격한 성장에 비해 보안 기술이 따라가지 못하고 있으며, 여러 보안 표준과 프레임워크가 등장하고 있지만, 전 세계적으로 공통의 규정이나 방법론을 확립하지 못하고 있다.

 

OWASP IoT 10대 취약점

  • 암호 취약점: 쉬운 암호와 유추할 수 있는 암호, 그리고 하드코딩된 암호 등 디바이스가 가지는 한계 로 인해 brute force attack 이나 소프트웨어를 통한 백도어 등으로 발생 가능
  • 네트워크 안전성 문제로서 가용성을 훼손하거나 인가되지 않은 사용자에 대한 제어 허용 등으로 인해 발생하는 문제
  • 사용자에 대한 인증 및 승인 기능의 부재, 암호화의 부재 또는 빈약함, 입출력 필터링의 부재 
  • 업데이트 메커니즘
  • 안전하지 않거나 오래된 소프트 웨어를 지속적으로 사용하여 발생하는 문제
  • 불충분한 개인정보에 대한 부분과 안전하지 않은 데이터 통신
  • 디바이스 관리의 부재와 기본 설정의 문제, 물리적 보호 수단의 부재

제안 내용

본 논문에서 디바이스, 사용자 및 인증센터 입장에서 사용자 코드(User Code)와 랜덤(Random Data), 실시 간 요청 시간(Real Time) 값 등을 활용하여 안전한 인증 프로토콜을 제안한다.

 

절차

 

1. 사용자와 IoT 디바이스가 등록하는 과정으로 디바이스 활 용을 위해 인증센터에 사용자 등록을 위한 ID/PW 기반 등록 

-> 이 과정에서 제품의 시리얼 넘버 와 랜덤한 값, 이후 인증 과정에서 활용하게 될 다항식 전송 과정을 거침

 

2. 인증 센터에 접근 권한 획득을 위한 절차로 사용자와 인증 센터, 디바이스의 인 증 과정을 진행한 후 적합한 사용자라 판단되면 접근을 허용

 

3. 디바이스의 실시간 접근 및 제어 과정으로 사용자는 디바이스에 접속하여 적합한 사 용자임을 증명받고 권한을 받아 직접적으로 제어

 

디바이스를 포함한 기타 IoT 디바이스 장치들이 많을수록 인증 절차의 신뢰성이 향상 될 수 있도록 설계하였다.

 

제안하는 프로토콜

안전한 보안 통신을 위해 디바이스와 인증 센터, 사용자간 그룹 키 방식

  • 일정 그룹을 형성한 후 키를 분배하고 내부적으로 접근 요청이 들어왔을 경우 일정 수 이상이 동의했을 때 키를 복원하여 영상을 열람
  • 키를 교환하는 과정에서는 그룹 키를 사용하며 주기적으로 그룹 키를 갱신함으로서 키에 대한 안전성도 보장

등록 절차

1. 사용자는 등록 절차를 위해 인증 센터에 Join Request를 전송

2. 인증센터는 사용자에 응답메시지를 전송하며, 사용자는 ID/PW 기반의 회원 가입 절차를 진행하고 랜덤한 값을 생성하여 함께 전송

3. 인증센터는 사용자의 가입 정보를 데이터베이스에 저장하며 마무리

4. 사용자는 원하는 디바이스의 등록을 위해 네트워 크를 통해 디바이스에 접속을 요청

5. 디바이스는 사용자 정보를 요청하고, 사용자는 요청에 대한 응답으로 인증센터 등록 절차에서 생성 한 ID/PW 및 랜덤 한 값을 전송

6. 디바이스에 해당하는 인증 센터에 사용자의 유효성 확인을 위한 요청을 전송

7. 인증센터는 사용자의 적합성 판단 및 이후 인증을 위해 다항식을 전송하며, 다항식 키 분배 방법을 기술

8. 사용자와 디바이스의 등록 절차를 마무리 

 

디바이스 접근 개요

(1) 사용자는 접근 요청 메시지를 전송

2. 본 논문은 인증 센터의 그룹 매치에 따라 n개 이 상의 디바이스 동의를 통해 권한을 획득하도록 하였디.

-> 각각의 디바이스는 사용자 요청의 적합성을 판단 후 적절하다고 판단되면 본인이 소유한 다항식 정보를 운영 서버로 전송한다.

3. 일정 수 이상의 다항식 키 값이 모이면 검증 후 접근을 허용

 

다항식 키 분배 및 전송 방법

k-1차 다항식을 이용하며 그룹이 형성될수록 강력한 인증 체계를 가질 수 있다.

1. 관제센터는 s를 상수항으로 하는 k-1차의 다항식 f(k)를 선택

2. 관제센터는 j의 값을 정하고 f(j)를 전송한다.

-> 본 논문은 사용자는 n, 인증센터는 n+1, IoT 디바이스들은 n+2이상의 값으로 j 값을 지정하며 전송할 때 네트워크 내 장치들이 미리 배포된 키와 인접 장치들과의 협업을 통해 보안을 유지하며 효율적으로 그룹 키를 갱신하는 방식으로 생성한 그룹 키를 통해 암호화

3. 인증센터에서 키를 전송할 때, 그룹 키로 암호화 하여 전송

4. 인증센터는 k개 이상의 분배키가 모이면 라그랑주 다항식을 이용하여 원본 키를 복원

※라그랑주 다항식: 데이터 포인트의 주어진 집합으로부터 다항식을 보간하는 방법

 

안전성 확보를 위한 키 교환

공격자가 인증센터에서 전송하는 암호문을 탈취하여 상황을 방지하기 위해서 본 논문에서는 암호화 과정에서 랜덤 값을 생성해서 사용함으로서 공격자의 중간자 공격 및 재사용 공격이 불가능 하도록 상호인증에 기반하여 설계하였다.

 

1. 각 초기 전송 과정에서는 랜덤 값 R을 생성하여 암호화 후 전송을 진행

2. 각각의 노드들은 복호화 후 R값을 획득하며, XOR 연산을 통해 키 사용에 이용한 후 인증 절차를 거침

3. 노드 간 난수를 위한 키 생성 및 인증 절차는 앞선 프로토콜의 다항식 기반 함수를 이용

 

실시간 접근 제어

1. 디바이스 제어를 위해 사용자는 IP 카메라에 접속을 요청하며 ID/PW 및 다항식 키 값을 그룹 키로 암호화 하여 전송

2. 디바이스는 전송 받은 로그인 정보에 대한 다항식 키 값을 관제 센터 및 보안 요구사항 정도에 따라 주변 디바이스에 요청

3. 다항식 키 값의 적합성이 확인되면 접근을 허가

4. 사용자가 세션을 종료하면 다항식 키 값을 폐기하며, 다항식 키 값은 일정 주기에 따라 갱신을 진행

 

성능 평가

네트워크상에서 사용되는 잘 알려진 취약점 공격에 대한 안전성을 평가하였다.

 

1. 상호 인증

  • 인증 센터의 경우 이후 인증 과정을 위해 다항식 f(k)를 각각 사용자와 IoT디바이스에 전송하 며 초기 인증 이후에는 이 다항식 값을 가지고 검증 절차를 가짐으로서 상호 인증이 가능
  • 인증 과정을 위해 다항식 f(k)를 각각 사용자와 IoT 디바이스의 직접적인 인증 과정에서도 인증 센터가 인증 과정에 대한 제어 역할을 해 줌으로서 안전한 인증이 가능

2. 재사용 공격

  • 메시지를 탈취 하더라도 지속적인 난수 교환을 통해 이전의 전송 값이 활용되지 못하도록 인증하는 것이 가능
  • 인증 절차 과정에서 타임스탬프를 전송하도록 가정하고 있으므로, 이전 시간에 보내진 정보에 대해 검증 가능

3. 메시지 위변조 공격

데이터 전송 과정에서 암호화 키를 통해 암호문을 생성한 후 전송하고 있어, 공격자가 키를 탈취하지 않는 한 메시지 위변조 공격에 대해 안전성을 가진다. 

 

4. 스니핑

통신 과정에서 발생하는 메시지들에 대해 비밀 키를 이용하여 암호화하고 있으며, 또한 지속적으로 키를 갱신함으로서 스니핑을 통한 메시지 엿보기를 시도하더라도 암호화된 메시지만을 볼 수 있기 때문에 해당 공격 에 안전성을 가진다.

 

5. 스푸핑

이미 사전 통신 과정에서 인증 절차를 진행하며, 스 푸핑 공격을 받더라도 초기 인증 절차에서 공유하고 있 는 각 노드 간 비밀 값을 알지 못하기 때문에 해당 공격 에 대하여 안전성을 가진다.