김보안의 블로깅
  • 🏠 Home
  • 📚 Project
    • Blockchain
      • 🎦 PickMe
      • 🎦 IoTC
      • 🎦 Blackchain
      • 📃 Gemology
      • 🎦 PickMe
      • 🎦 PickMe
    • AI
      • 👋 A.I. Dream Reader
      • 🎦 A.I. Dream Reader
    • Security
      • 🎦 SNAC
    • Education
      • 🎦 Smart Lecture
  • 🤸‍♂ Hobby
    • Music
      • Violin
      • Guitar
      • Piano
      • Drum
    • Flower
      • Flower Certificate
    • Sport
      • Ski
      • Skateboard
      • Golf
      • Boxing

2024년 11월 28일 목요일

블루투스 BLE 보안 모드와 보안 레벨 (BLE SECURITY MODE and SECURITY LEVEL)

 SecureKim     오후 11:00     BLE, bluetooth, Security, SecurityLevel, SecurityMode     No comments   

 

BLE에서 무슨 모드와 무슨 레벨을 사용해야 가장 안전할까?

(글 맨 밑에 답 있음)

블루투스는 워낙 표준이 다양하고 버전따라서 달라서 다들 다른 이야기를 하는 것 같다.

BLE와 BT는 전혀 별개의 표준인데 같은거라고 이야기하는 사람도 있고

특히 Security Mode와 Security Level에 대해서 찾아보면 다들 조금씩 다르게 정리하곤 한다.

오늘은 Security Mode와 Security Level 에 대해서 총 정리해본다.


1. 23-09-24 All ABOUT CIRCUITS - Nthatisi Hlapisi

이 분이 제일 잘 정리한 것 같아서 먼저 정리 해보면 

보안 모드는 3가지가 있고 각 모드에 따라 레벨의 갯수가 다르다고 한다.

대부분의 사람들이 Security Mode 1과 2를 말하는데, 3은 처음 보았다.

1. Security Mode 1

여기에는 보안 레벨 1~4까지가 있다고 한다.

    Security Level 1 : 보안 없음 (인증, 암호화 없음)

    Security Level 2 : 암호화만 있고 인증은 없음. (Just works)

    Security Level 3 : 인증된 페어링 (OOBE, Passkey)

    Security Level 4 : 128bit 강도 암호화 키를 사용해 인증된 페어링 (Numeric Comparison)

2. Security Mode 2

는 MAC 등 연결 기반 데이터 서명만 하는 모드이고 암호화는 없다.

여기는 보안 레벨 1~2까지가 있다고 한다.

    Security Level 1 : 서명은 하지만 인증 없음 (Just works)

    Security Level 2 : 서명 및 인증 있음 (OOBE, Passkey, Numeric Comparison)

3. Security Mode 3

브로드캐스팅 관련 장치를 다룰 때 사용하는 모드라고 한다. 

    Security Level 1 : 암호화 안함

    Security Level 2 : 인증 안된 Broadcast_Code 를 Airwaves 타기 전에 암호화

    Security Level 3 : 인증 된 Broadcast_Code 암호화


2. 18-01-09 Decipher - Mark Loveless

내용이 정확히 BT 인지 BLE인지 정확하게 기재되어있지는 않지만

보안 모드는 LE Security Mode 1과 LE Security Mode 2 이렇게 2개가 있다고 하는걸로 봐서 BLE를 말하는 것으로 보인다. 

그리고 Security Mode 1에 데이터 서명이 없다고 하고 암호화 여부도 명시가 되지 않아서 가장 잘못 정리된 글이 아닌가 싶다.

보안 모드는 2개가 있다고 한다.

Security Mode 1 : 데이터 서명 없음

Security Mode 2 : 페어링과 관계 없이 데이터 서명 필요

Mixed Security Mode : 1과 2를 모두 지원해야 함

보안 레벨은 4개가 있다고 한다. 

    Security Level 1 : 보안이 전혀 없는 통신 

    Security Level 2 : 페어링 안 된 상태에서 AES-CMAC 암호화 지원

    Security Level 3 : 암호화 지원, 페어링이 요구됨.

    Security Level 4 : ECDHE 또는 P-256 사용


3. 21-09-21 Reliability Connect의 CEO 마이클 하워드

Bluetooth Low Energy Encryption의 Security Mode에는 2가지가 있고 

Security Mode 1 

    Security Level 1 : 인증 없음, 암호화 없음

    Security Level 2 : 인증 없음, 암호화 있음

    Security Level 3 : 인증 있음, 암호화 있음

    Security Level 4 : 인증 있음, 128bit 강도 암호화 키 사용한 보안 연결 페어링

Security Mode 2 는 암호화가 없고

    Security Level 1 : 서명 있음, 인증되지 않은 페어링

    Security Level 2 : 서명 있음, 인증된 페어링


4. 24-08-22 ELVIS (Embedded Lab Vienna for IoT & Security)

Bluetooth 클래식과 BLE 보안에 대한 것이 둘 다 나와있다.

BT는 보안모드 4개가 있고, 각 레벨은 모드에 따라 다르다고 한다.

1. BT 보안

Security Mode 1 : 보안 없음

Security Mode 2 : 

    Security Level 1 : 기본 모드 (모두 허용)

    Security Level 2 : 2단계 인증 필요 (고정된 PIN 등)

    Security Level 3 : 인증 및 승인 필요 (PIN 입력)

Security Mode 3 : 인증 및 암호화 지원

Security Mode 4 : BT 버전 2.1부터 도입, 4.1부터 SSP는 P-256 타원곡선으로 링크 키 생성

    Security Level 0 : 서비스 검색 프로토콜에서만 사용하고 보안 기능 없음 (암호화도 없음)

    Security Level 1 : 보안 기능 없음, 암호화

    Security Level 2 : 인증 되지 않은 링크 키 사용, 암호화

    Security Level 3 : 페어링 시 사용자 인증된 링크 키 사용, 암호화 

    Security Level 4 : 페어링 시 사용자 인증된 링크키 사용, FIPS 승인 된 알고리즘 사용 

2. BLE 보안

LE Security Mode 1 : 암호화와 연관 되어 있음.

    Security Level 1 : 인증 없음, 암호화 없음

    Security Level 2 : 인증 없음, 암호화 있음

    Security Level 3 : 인증된 페어링, 암호화 있음

    Security Level 4 : 인증된 보안 연결 페어링, 암호화 있음

LE Security Mode 2 : 데이터 무결성(서명)과 연관 되어 있음. 암호화 없음

    Security Level 1 : 인증되지 않은 페어링, 데이터 서명 있음

    Security Level 2 : 인증된 페어링, 데이터 서명 있음

Mode 1에 Level 4가 페어링 및 암호화에 AES-CMAC과 P-256타원 곡선을 사용해서 가장 안전하다


그럼 페어링 시 채널을 어떻게 안전하게 보호하는가?

디스플레이가 있으면 6자리 PIN 띄워주고 사용자가 직접 비교 한 다음 컨펌하는 

Numeric Comparison 을 사용하면 되는데,

이게 대체 어떤 식으로 작동하길래 중간자 공격에 안전한 걸까?

-> DH 등 키 교환 매커니즘을 통해서 키를 교환하고, 이것과 시간으로 HMAC을 계산해서 

(시간 동기화가 잘 안 수 있는데 이런 경우 그냥 SALT같은 것을 임의로 만들어 사용하면 된다)

앞의 6자리를 잘라낸 뒤, HEX 값을 숫자로 변환 한 다음 다시 앞의 6자리를 잘라서 PIN으로 사용한다.

이렇게 되면 중간자 공격을 수행 했을 때 양쪽에서 띄워지는 PIN이 다를 수 밖에 없어서 안전한 것이다.


그래서, BLE에서 무슨 모드와 무슨 레벨을 사용해야 할까?

Security Mode : 1 / Security Level : 4 가 가장 안전하다.



  • Share This:  
  •  Facebook
  •  Twitter
  •  Stumble
  •  Digg
이메일로 전송BlogThis!X에 공유Facebook에서 공유
이전 게시물 홈

0 개의 댓글:

댓글 쓰기

페이지

  • 홈
  • Hobby

Categories

  • AI
  • AWS
  • Blockchain
  • Hardware
  • Javascript
  • Node.js
  • Plasma
  • Security
  • Study
  • Video
  • android
  • mysql
  • review
  • windows

Popular Posts

  • 회사 프록시와 인증서에 고통받는 그대를 위한 글 (Bash, Gradle, Python, wget, nodejs(npm), apt-get, cURL, git, yarn, androidStudio)
    대기업에 입사하면 장단점이 있는데, 단점 중에 하나가 회사에서 프록시를 사용하여 트래픽 감시를 하므로 프록시 설정을 해주어야 한다는 점 입니다. 특히, 회사에서는 https 트래픽도 감시를 하므로 인증서도 설정해 주어야 합니다. 그런데 문...
  • 다빈치리졸브로 영상의 음성 보정 (잡음 노이즈 없애기)
      잡음 없애는 방법 1. 음악 쪽 들어가서 음악에서 소스 우클릭 - Normalize Audio Levels 2. 우측의 Mixer에서 Dynamics 더블클릭, Effects아래 +누르고 Metering에 Meter 그럼 아래처럼 나오는데  Gat...
  • 블랙보드 강의 녹화 영상 다운로드 가능한 방법 (노설치)
    별도의 설치도 필요 없고 아주 쉽습니다. 구글 크롬브라우저 에서 블랙보드 녹화 영상에  다운로드 가능한 메뉴가 나오게 하는 코드입니다.  먼저 블랙보드 강의자료에 입장하고, 재생 버튼을 클릭 하지 않은 상태로 F12 를 입력합니다. 재생을 클릭하지 마...

Blog Archive

  • ▼  2024 (2)
    • ▼  11월 (2)
      • 블루투스 BLE 보안 모드와 보안 레벨 (BLE SECURITY MODE and SECUR...
      • 다빈치리졸브로 영상의 음성 보정 (잡음 노이즈 없애기)
  • ►  2023 (2)
    • ►  10월 (1)
    • ►  1월 (1)
  • ►  2022 (10)
    • ►  12월 (1)
    • ►  11월 (3)
    • ►  9월 (1)
    • ►  8월 (1)
    • ►  6월 (2)
    • ►  3월 (2)
  • ►  2021 (9)
    • ►  12월 (3)
    • ►  11월 (1)
    • ►  6월 (1)
    • ►  5월 (2)
    • ►  4월 (2)
  • ►  2020 (12)
    • ►  10월 (1)
    • ►  9월 (2)
    • ►  7월 (1)
    • ►  6월 (1)
    • ►  5월 (5)
    • ►  4월 (1)
    • ►  2월 (1)
  • ►  2019 (14)
    • ►  10월 (2)
    • ►  7월 (1)
    • ►  3월 (4)
    • ►  2월 (2)
    • ►  1월 (5)
  • ►  2018 (14)
    • ►  12월 (2)
    • ►  11월 (4)
    • ►  10월 (1)
    • ►  8월 (2)
    • ►  5월 (4)
    • ►  1월 (1)
  • ►  2017 (12)
    • ►  10월 (2)
    • ►  9월 (9)
    • ►  5월 (1)
  • ►  2016 (8)
    • ►  10월 (2)
    • ►  8월 (1)
    • ►  6월 (1)
    • ►  1월 (4)
  • ►  2015 (6)
    • ►  12월 (3)
    • ►  10월 (1)
    • ►  6월 (1)
    • ►  5월 (1)
  • ►  2014 (10)
    • ►  11월 (1)
    • ►  9월 (1)
    • ►  7월 (1)
    • ►  6월 (1)
    • ►  5월 (3)
    • ►  4월 (1)
    • ►  3월 (2)
  • ►  2013 (28)
    • ►  12월 (3)
    • ►  11월 (6)
    • ►  10월 (6)
    • ►  9월 (6)
    • ►  8월 (1)
    • ►  7월 (3)
    • ►  6월 (3)

구독

글
Atom
글
댓글
Atom
댓글

로드 중입니다...

각오

직접 해보지 않은 것은 포스팅 하지 않겠습니다.

Copyright © 김보안의 블로깅 | Powered by Blogger
Design by Hardeep Asrani | Blogger Theme by NewBloggerThemes.com | Distributed By Gooyaabi Templates