Matter: Thread 기반 구조와 Commissioner, 생태계 연동

MatterIoTBLE

Matter는 CSA(Connectivity Standards Alliance)가 만든 스마트홈 프로토콜이다. Apple, Google, Samsung 생태계가 달라도 하나의 디바이스를 공유할 수 있게 해준다.

Matter는 어디에 위치하는가

Matter는 애플리케이션 계층 프로토콜이다. 자체 물리 계층이 없고, 하위 전송으로 WiFi, Ethernet, Thread를 사용한다.

  Matter (애플리케이션)

  IPv6

  WiFi / Ethernet / Thread

BLE는 전송 계층이 아니다. 디바이스를 처음 네트워크에 등록할 때(커미셔닝)만 사용하고, 등록 후에는 쓰지 않는다.

Thread란

IEEE 802.15.4 기반의 저전력 메시 네트워크다. Zigbee도 같은 802.15.4를 쓰지만, Zigbee는 자체 주소 체계를 사용한다. Thread는 네이티브 IPv6를 쓴다. 이 차이가 중요하다. Matter는 IPv6 위에서 동작하므로, Thread 위에 별도 변환 없이 바로 올라간다.

ThreadWiFi
전력낮음. 배터리로 수년높음. 상시 전원 필요
속도250 kbps수십 Mbps
토폴로지메시. 노드가 꺼져도 자동 우회AP 중심 스타
인프라Border Router 필요기존 AP 사용
적합 디바이스센서, 스위치, 잠금장치카메라, 디스플레이

Border Router

Thread 디바이스는 802.15.4 주파수로 통신한다. WiFi 기기와 직접 대화할 수 없다. **Thread Border Router(TBR)**가 두 네트워크를 연결한다.

  [WiFi/Ethernet 네트워크]
        ↕  IPv6 라우팅
  [Thread Border Router]
        ↕  802.15.4
  [Thread 메시: 센서, 스위치, 조명...]

TBR은 Thread 디바이스의 서비스를 WiFi 쪽에 mDNS로 광고해서, 폰이나 허브가 Thread 디바이스를 발견할 수 있게 한다. TBR을 여러 대 두면 하나가 꺼져도 나머지가 브릿지를 유지한다.

디바이스를 등록하는 과정: 커미셔닝

새 Matter 디바이스를 네트워크에 추가하는 과정을 커미셔닝이라 한다. 두 가지 역할이 있다.

  • Commissioner: 디바이스를 등록하는 쪽. 주로 폰 앱 (Apple Home, Google Home 등)
  • Controller: 등록 완료 후 디바이스를 제어하는 쪽. 주로 허브 (HomePod, Nest Hub 등)

폰 앱이 Commissioner로 등록을 진행하고, 이후 허브가 Controller로 상시 제어를 담당하는 구조다.

Thread 디바이스의 커미셔닝 흐름

Thread 디바이스는 아직 IP 네트워크에 참여하지 않은 상태이므로, BLE로 초기 통신을 시작한다.

디바이스              폰 앱              Border Router
   │ ① BLE 광고         │                    │
   │◀── ② BLE + PASE ──│                    │
   │◀── ③ Attestation ──│                    │
   │◀── ④ NOC 발급 ─────│                    │
   │◀── ⑤ Thread 정보 ──│                    │
   │── ⑥ Thread 합류 ──────────────────────▶│
   │   (BLE 종료)        │                    │
   │◀── ⑦ CASE (IPv6) ──│                    │
   │   운영 모드          │                    │

① QR 스캔과 BLE 매칭 - 디바이스가 BLE 광고를 시작한다. 사용자가 QR 코드를 스캔하면, QR에 담긴 discriminator 값으로 광고 중인 디바이스를 특정한다.

② 암호화 채널 수립 (PASE) - QR 코드에 포함된 passcode로 SPAKE2+ 키 교환을 수행한다. passcode 자체는 무선으로 전송되지 않고, 양쪽이 독립적으로 세션키를 유도한다. 이후 BLE 통신은 이 키로 암호화된다.

③ 정품 인증 - 디바이스가 자신의 인증서(DAC)로 서명한 데이터를 보내면, 폰 앱이 인증서 체인을 검증한다.

PAA (루트, CSA 원장에 저장)
 └─ PAI (중간, 디바이스에 저장)
     └─ DAC (리프, 디바이스별 고유, 제조 시 설치)

④ 네트워크 인증서 발급 - 디바이스가 CSR(인증서 서명 요청)을 생성하면, 폰 앱의 생태계 CA가 이 디바이스 전용 NOC(운영 인증서)를 발급한다. 이 NOC가 디바이스의 “네트워크 신분증”이 된다.

⑤ Thread 정보 전달 - 네트워크키, PAN ID, 채널 등을 담은 Thread Operational Dataset을 전달한다.

⑥ Thread 합류 - 디바이스가 802.15.4 라디오로 Thread 메시에 합류한다. BLE는 여기서 끝난다.

⑦ 보안 세션 수립 (CASE) - 이제 디바이스가 IP 네트워크에 있으므로, Border Router를 경유해 IPv6/UDP로 인증서 기반 세션을 수립한다. 이후 모든 통신은 이 세션으로 암호화된다.

Fabric: 생태계의 신뢰 경계

Fabric은 Matter의 신뢰 도메인이다. Apple Home은 Apple fabric, Google Home은 Google fabric을 갖는다. 각 fabric은 자체 Root CA를 가지고, 소속 디바이스에 NOC를 발급한다. 다른 fabric의 인증서로는 디바이스를 제어할 수 없다.

Multi-Admin: 여러 생태계에 동시 등록

하나의 디바이스가 여러 fabric에 동시 참여할 수 있다. Matter 사양상 최소 5개 fabric을 지원해야 한다.

  1. 기존 생태계 앱에서 디바이스의 커미셔닝 윈도우를 연다
  2. 페어링 코드가 생성된다
  3. 새 생태계 앱이 이 코드로 자체 NOC를 설치한다
  4. 디바이스가 양쪽 fabric의 명령에 모두 응답한다

Apple / Google / Samsung 연동 비교

Border Router 역할을 하는 기기

생태계TBR 기기
AppleHomePod mini, HomePod 2세대, Apple TV 4K (2021+)
GoogleNest Hub 2세대, Nest Hub Max, Nest WiFi Pro
SamsungSmartThings Station, SmartThings Hub V3, 삼성 TV(2022+), 사운드바, 냉장고

Samsung은 TV, 냉장고 같은 가전에 TBR을 내장한다. 별도 허브 없이도 Thread 인프라가 갖춰지는 전략이다.

생태계별 특이사항

Apple Home

  • 커미셔닝 시 fabric을 2개 만든다 (폰용 + 허브용). fabric 슬롯을 2개 소모하므로, 3개 생태계에 등록하면 최소 5개 슬롯으로는 부족할 수 있다
  • Thread TBR이 없으면 Thread 디바이스 커미셔닝 자체가 불가능하다

Google Home

  • Android에서 Fast Pair를 지원한다. BLE 광고가 감지되면 폰에 알림이 뜬다
  • 라우터에서 IPv6가 꺼져 있으면 Matter가 동작하지 않는다

Samsung SmartThings

  • 2025년부터 양방향 Thread 네트워크 통합을 지원한다. 기존에는 생태계마다 독립된 Thread 메시가 생겼는데, 이제 하나의 Thread 네트워크를 공유할 수 있다

Multi-Admin 진입 방법

생태계메뉴 위치
Apple Home디바이스 설정 → “페어링 모드 켜기”
Google Home디바이스 설정 → “QR 코드 없이 설정”
SmartThings디바이스 설정 → “다른 서비스와 공유”

메모

  • Thread 디바이스는 BLE 없이는 커미셔닝할 수 없다. 아직 IP 네트워크에 없기 때문이다
  • Thread 네트워크 통합이 없으면 생태계마다 별도 Thread 메시가 생긴다. 같은 집에 3개의 독립 메시가 공존할 수 있다
  • DAC 개인키는 제조 시 설치하며 외부로 추출할 수 없어야 한다. Secure Element 저장이 권장된다
  • PASE는 BLE 구간의 임시 암호화, CASE는 운영 구간의 상시 암호화다. 두 프로토콜의 역할이 다르다