|
Matter는 스마트홈과 IoT 환경에서 큰 주목을 받고 있습니다. Matter의 구성 방식은 표준에 의해 정의되며, 이를 살펴보는 것은 가치 있는 일입니다. 본 포스팅에서는 Matter의 Commissioning 과정을 상세히 소개하였고 이 과정에서 Network Provisioning이 어떻게 탐색되고 형성되는지에 대한 깊은 이해를 제공합니다. 더불어 이러한 과정이 어떻게 당사의 SmartThings와 Hub의 발전에 도움이 되는지, 그리고 미래의 Matter Commissioning 확장에 어떻게 연결될 수 있는지에 대해서도 설명하였습니다. |
들어가며
안녕하세요. Samsung Research MDE Lab의 탁현욱입니다. 이번 기술 블로그 포스팅에서 저희가 소개드리고 싶은 것은 스마트홈과 IoT 환경에서 많은 관심을 받고 있는 Matter가 CSA 적합성 표준 아래에 어떻게 구성되는가에 대한 내용입니다. 중요한 국제 규격과 인증 과정에 대한 설명에서 생소한 단어들을 발견하실 텐데 이해하기 쉽게 하나씩 설명드리며 소개하겠습니다.
이제 ‘스마트홈’이라는 말을 처음 들어보시는 분은 계시지 않을 거라 생각합니다. 삼성전자는 여러 매체를 통해 스마트홈 기술을 꾸준히 알려왔습니다. 스마트홈은 인터넷을 통해 가전제품과 기기들을 연결하고 제어하는 기술을 기반으로 한 시스템으로, 사용자의 편의와 생활의 질을 향상시키고 보안을 강화하는 데 목표를 두고 있습니다. 이러한 시스템은 가전제품, 조명, 보안, 난방, 냉방 시스템 등을 포함하며, IoT 기술의 발전과 함께 그 범위가 점점 확장되고 있습니다.
스마트홈 시스템의 핵심 구성요소는 중앙 제어 유닛으로, 허브 또는 게이트웨이로도 불립니다. 이 유닛은 가정 내 모든 스마트 기기를 연결하고 제어하는 역할을 합니다. 사용자의 지시에 따라 특정 작업을 수행하거나, 미리 설정된 시나리오에 따라 자동으로 작동하여 사용자가 편리하고 효율적인 생활을 즐길 수 있도록 합니다. 스마트 기기와의 원활한 통신과 제어를 가능하게 하기 위해, Wi-Fi, 블루투스, Zigbee, Z-Wave 등과 같은 표준화된 무선 기술이 사용됩니다.
스마트홈 기술이 빠르게 발전하면서 점차 우리 삶에 들어오고 있지만, 아직도 성장과 개선이 필요한 부분이 많습니다. 스마트 디바이스의 높은 가격, 일반 사용자들의 접근성 부족, 그리고 다양한 브랜드의 디바이스를 원활하게 연동하는 문제 등, 여전히 해결해야 할 과제들이 남아 있습니다.
사용자가 기대하는 체감 속도와 실제 기술의 발전 속도에는 거리가 있기 마련입니다. 그런데 2019년 12월 CHIP(Connected Home over IP)이라는 이름으로 시작된 프로젝트가 2021년 ‘Matter’로 이름을 바꾸며 스마트홈 연동 표준과 인증 프로그램을 공식화했습니다. Matter는 Apple, Google, Amazon 등 주요 기업들이 참여하여 서로 다른 제조사의 스마트홈 기기들이 원활하게 연결되고 통신할 수 있도록 만든 개방형 스마트홈 연결 표준입니다.
그동안 다양한 연결 표준 간의 상호 호환성 부재로 소비자에게는 큰 불편함이 있었는데요. 이 문제를 해결하기 위해 400개가 넘는 기업들이 모여 CSA(Connectivity Standards Alliance)를 구성하고, 공동의 노력으로 스마트홈 프로토콜 Matter 1.0 버전을 2022년 10월에 선보였습니다. 이 표준의 도입으로, 다양한 브랜드의 스마트홈 기기를 원활하게 연동하여 사용할 수 있게 되었습니다.
이렇게 일련의 역사를 짚어보니 한결 이해하기 쉬워지셨을 겁니다.
Matter 표준, Matter 프로젝트
공식 CSA의 Matter 홈페이지 대문에는 ‘The Foundation for Connected Things’라는 헤드 카피가 걸려 있습니다.
Matter는 Wi-Fi, Bluetooth, Thread 및 Ethernet과 같은 고도 기술을 운영하는 CSA에서 개발한 IoT 생태계의 새로운 표준입니다. IPv6 프로토콜을 기반으로 하는 애플리케이션 계층 연결 표준이며 신뢰성, 사용 용이성 및 향상된 보안을 위해 개발되었습니다.
스마트홈 분야에서 관심을 받고 있는 Matter 프로젝트는 CSA에서 주도하는 핵심적인 오픈소스로, 다양한 플랫폼에서 Matter 개발을 적법하고 적합한 절차를 거쳐 쉽게 할 수 있도록 합니다. Matter는 스마트홈, IoT 환경에서의 보안과 호환성을 향상시키는 것을 목표로 하고 오픈소스 기반으로 하는 표준입니다. 삼성전자, 구글, 애플, 아마존 등 500개 이상의 기업이 회원으로 참여하고 있는 CSA에서 Matter 표준과 오픈소스 개발을 주도하고 있습니다. 더 많은 정보는 여기서 확인하실 수 있습니다.
스마트홈에서 Matter가 구성되는 방법
이제 스마트홈에서 Matter가 구성되는 방법을 알아보겠습니다. Matter는 Wi-Fi, Thread 또는 Ethernet과 같이 잘 알려진 IP 네트워크 위에 구축되는 애플리케이션 계층의 프로토콜입니다. BLE(Bluetooth Low Energy, 저전력 블루투스)를 이용하여 네트워크 형성에 필요한 디바이스 식별 및 로직 구성과 관련된 프로세스인 Wireless Network Commissioning을 진행합니다. Matter 인프라를 통해 사용자는 QR코드를 스캔하는 간단한 동작으로 새로운 Matter 기기를 홈 네트워크에 연결할 수 있습니다. 스캔하면 스마트폰의 BLE 기능이 활성화되어 Matter 기기를 매핑하고 식별할 수 있습니다. 그 후, QR 코드에 포함된 Discriminator, Passcode와 같은 주요 정보를 기반으로 Commissioning이 시작됩니다. Commissioning에 대한 정보는 여기서 더 확인하실 수 있습니다.
Matter의 Commissioning 과정
Matter 기기가 홈에서 구성되기 위한 Commissioning 과정을 조금 더 자세히 알아보겠습니다. Matter에서 Commissioning이란 새 기기에 Fabric 사용자 인증 정보를 할당하는 프로세스를 의미합니다. 개략적으로 Commissioning 흐름은 여러 단계로 나눌 수 있습니다.
1. Device Discovery
먼저, 기기 검색 단계입니다. Commissioning 절차를 시작하기 위해 Commissionee는 Onboarding Payload와 함께 Advertising을 시작합니다.
1.1. Commissionable Discovery 방법
Commissionee는 세 가지의 Commissionable Discovery 방법 중 하나를 사용하여 스스로를 Advertising할 수 있습니다. Commissionable Discovery 방법으로는 BLE, Wi-Fi Soft AP, IP 네트워크의 DNS-SD(기존 IP 보유 네트워크)입니다. Matter 사양에 따라 Product ID 및 Vender ID는 필수가 아니지만 포함할 수도 있습니다. Discriminator는 필수이며 동일한 기기 여러 개가 동시에 연결된 경우 올바른 기기를 구분하여 Provisioning하는 Commissioning 프로세스의 중요한 정보입니다.
1.1.1. BLE
저전력 블루투스 모드로, 이 모드에서는 Commissioner가 BLE advertisement를 볼 수 있습니다. Commissionee는 GAP(Generic Access Profile)로 Commissioning되지 않은 상태를 주기적으로 Advertising해야 합니다. 기기를 켠 후 처음 30초 동안 Advertising 빈도는 20~60 밀리초 간격으로 높아야 합니다. 30초 후에 기기는 150~1500 밀리초 간격의 낮은 빈도로 Advertising합니다. 첫 번째 Fabric에 Commissioning되면, 기기는 BLE advertisement를 중지해야 합니다.
1.1.2. Wi-Fi Soft AP
Wi-Fi Soft AP를 사용하는 경우, 임시 Soft AP(Soft Access Point) 네트워크를 통해 Commissionee를 검색합니다. 네트워크의 SSID는 MATTER-ddd-vvvv-pppp 형식입니다. 여기서 ddd는 discriminator, vvvv는 Vendor ID, pppp는 Product ID를 의미합니다. Commissioner와 Commissionee가 연결될 때마다 고유한 IPv6 link-local 주소를 구성하여 Wi-Fi 레이어에서 연결을 활성화합니다. 이 시점부터는 다음 섹션에서 다루는 DNS-SD 방법과 동일하게 검색이 계속됩니다. (참고로, Wi-Fi Soft AP는 Matter SDK version 1.0에서 구현되지 않으므로 현재 이 방법을 사용하는 기기는 없습니다.)
1.1.3. DNS-SD
Commissionee는 Node가 제공하는 서비스에 대한 정보가 포함된 DNS-SD(Domain Name Service – Service Discovery) Advertisement를 통해 발견됩니다. Commissioning 대상이 이미 다른 Fabric에 Commissioning되어 Wi-Fi 또는 Thread 네트워크에 연결되어 있다면 BLE Advertising을 사용하거나 Soft AP를 만들 수 없습니다. 이는 일반적으로 기기를 검색하는 데 사용되는 방법입니다. 이때, Thread 기기의 경우는 DNS-SD를 직접 사용하지 않고 Thread Border Router에서 제공하는 Proxy 방식을 사용합니다. Thread 기기는 Thread Border Router에서 제공하는 SRP 서비스에 등록하고, 이 서비스는 프로토콜에서 발생한 트래픽을 Thread 네트워크에 영향을 주지 않고 등록된 각 Thread Node를 대신하여 mDNS 트래픽을 처리합니다.
2. Connect to device(PASE)
Commissioner가 Commissionee의 Advertisement를 보고 찾는 Discriminator와 일치하면, Onboarding Payload의 Passcode를 사용하여 PASE(Passcode Authenticated Session Establishment)를 구성하여 기기에 연결합니다. 이는 두 기기가 통신을 설정하는 데 사용할 수 있는 Key를 안전하게 설정하는 방법입니다. 이 단계에서 Fail-safe도 설정하여 Commissioning이 성공적으로 완료되지 않을 경우 기기를 원래 상태로 롤백합니다.
3. Get Commissionee information
Commissioner는 Commissionee의 Vendor ID, Product ID, Product Name, Serial Number와 같은 정보가 포함되어 있는 기본정보 Cluster를 읽습니다. 이 단계에서 Commissioner는 UX 구성에 사용할 수 있는 정보인 Device Type도 읽습니다.
4. Regulatory config
- ArmFailSafe
- SetRegulatoryConfig
- SetUtcTime
Commissioner는 Commissionee에 대한 규제 정보를 구성합니다. 규제 정보에는 기기의 위치(Location: Indoor[0], Outdoor[1], IndoorOutdoor[2]) 구성과 국가 코드(Country code) 설정과 같은 정보가 포함됩니다.
5. Commissionee attestation
이 단계의 목적은 기기의 인증 여부와 정품 Matter 기기인지 여부를 결정하는 것입니다. Commissioner는 Commissionee로부터 DAC(Device Attestation Certificate) 및 PAI(Product Attestation Intermediate) 인증서를 추출합니다. 인증서에는 Vendor ID, Product ID, Attestation Public Key가 포함되어 있습니다. Commissioner는 Attestation Private Key로 서명해야 하는 Challenge 요청을 하여 Commissionee의 진위를 확인합니다.
6. Certificate Signing Request(CSR)
Commissioner는 Commissionee에게 인증서 서명 요청 CSR(Certificate Signing Request)을 보냅니다. Commissionee는 나중에 CASE(Certificate Authenticated Session Establishment)에서 사용될 Unique Operational Key 쌍을 생성합니다. 그리고 Commissionee는 결과 CSR 정보를 Commissioner에게 반환합니다.
7. Add Node Operational Certificate(NOC)
- AddTrustedRootCertReq
- AddNOC
Commissioner는 Commissionee로부터 받은 CSR 정보를 신뢰할 수 있는 NOC(Node Operational Certificate)를 생성하기 위해 ADM(Administrative Domain Manager)에 전달합니다. Commissioner는 Commissionee에 Root Certificate와 Node Operational Certificate를 설치합니다.
8. Network Provisioning
- ScanNetworks
- Add/UpdateWifi/ThreadNetwork
- ConnectNetwork
Commissioner는 Commissionee의 Operational Network를 구성합니다. 이 단계는 이미 네트워크에 연결된 Ethernet 기기에는 필요하지 않고, Thread 또는 Wi-Fi 기기에 필요합니다.
9. Operational Discovery
새로운 Commissioned Node가 네트워크에 연결되면 Commissioner는 Operational Discovery의 DNS-SD를 사용하여 Operational Network에서 Node를 찾습니다. 이 과정을 통해 Node의 IP 주소와 Port를 알 수 있습니다. DNS-SD 서비스 유형은 _matter._tcp입니다. _tcp 이름으로 지정되긴 하지만 UDP와 같은 다른 전송을 사용할 수 있습니다.
10. CASE(Certificate Authenticated Session Establishment) session establishment
새로운 Commissioned Node가 발견되면, Commissioner와 기기 간에 CASE session이 설정됩니다. 이 Session은 Commissioner가 시작하고, 기기에서 응답합니다. 이 단계에서는 Operational Certificates가 교환되고 동일한 Logical Fabric에 있는지 확인하여 Shared Trust를 설정합니다.
11. Commissioning Complete
- CommissioningComplete
Commissioning Process의 마지막 단계입니다. Commissioning이 성공적으로 완료되면 기기는 Operational Network의 다른 Node처럼 작동합니다.
Network Provisioning 과정
앞서 Matter의 Commissioning 과정에서 Network Provisioning을 통해 기기가 Operational Network에 구성되는 단계를 살펴보았습니다.
- AddWiFiNetwork: SSID, Password
- AddThreadNetwork: PanId, ExtPanId, Channel, Masterkey
이 단계가 필요한 Wi-Fi 또는 Thread 기기는 위와 같은 정보를 이용하여 Operational Network를 구성합니다.
Thread Network 탐색 및 형성
Thread Network의 탐색과 형성되는 과정을 자세히 알아보겠습니다. 먼저, Thread Network는 세 가지 고유 식별자로 식별됩니다.
- PAN ID: 2 Byte의 Personal Area Network ID
- XPAN ID: 8 Byte의 Extended Personal Area Network ID
- Network Name: 사람이 읽을 수 있는 네트워크 이름
새로운 Thread Network를 만들거나 Join할 기존 Thread Network를 검색하는 과정은 다음과 같습니다.
1. 기기는 특정 채널에서 802.15.4 Beacon Request를 Broadcast합니다.
2. 범위 내에 있는 모든 Router 및 REED(Router Eligible End Device) 는 Thread Network의 PAN ID, XPAN ID, Network Name을 포함한 Beacon을 Broadcast 합니다.
3. 기기는 각 채널에 대해 위의 두 과정을 반복합니다.
Thread 기기는 주변의 모든 네트워크를 탐색한 후 기존 네트워크가 있다면 그 네트워크에 연결하고 만일 발견된 네트워크가 없다면 새로운 네트워크를 생성할 수 있습니다.
새로운 Network 생성
Thread 기기가 새로운 네트워크를 생성하기로 선택한 경우, 가장 사용량이 적은 채널과 다른 네트워크에서 사용하지 않은 PAN ID를 선택하여 Router 역할을 수행하고, 자신을 Leader로 선택합니다. 이 기기는 스캔을 수행하는 다른 Thread 기기의 Beacon Request에 응답합니다.
기존 Thread Network에 연결
Thread 기기가 기존에 존재하는 Network에 Join하기로 선택한 경우 Thread Commissioning을 통해 대상이 되는 Network와 일치하도록 PAN ID, XPAN ID, Network Name을 구성한 후 연결 과정을 거쳐 Child/End Device로 Join합니다. 모든 기기는 Router 가능 여부에 관계없이 처음에는 Child/End Device로 Thread Network에 연결됩니다. Thread Network에 Join하는 과정은 다음과 같습니다.
1. Parent Request
Child는 대상 네트워크의 모든 인접 Router와 REED에게 Parent Request를 Multicast합니다. Parent Request는 대상 네트워크의 인접한 Router와 REED를 검색하는데 사용되는 Multicast 요청입니다.
2. Parent Response
모든 인접 Router와 REED(Parent Request의 Scan Mask에 REED가 포함된 경우)는 자신에 대한 정보와 함께 Parent Response를 전송합니다. Parent Response는 Router와 REED에 관한 정보를 연결 기기에 제공하는 Parent Request에 대한 Unicast 응답입니다.
3. Child ID Request
Child는 Parent 기기를 선택하고 Child ID Request를 보냅니다. Child ID Request는 Child-Parent 링크 설정을 목적으로 Parent(Router와 REED)로 전송되는 Child(연결 기기)의 Unicast 요청입니다. 요청이 REED로 전송되면 요청을 수락하기 전에 자체적으로 Router로 업그레이드 됩니다.
4. Child ID Response
Parent는 링크 설정을 확인하기 위해 Child ID Response를 보냅니다. Child ID Response는 Child-Parent 링크가 설정되었음을 확인하기 위해 Child에게 전송되는 Parent의 Unicast 응답입니다.
이러한 과정을 거쳐 Thread 기기는 Operational Network를 구성합니다.
Matter Commissioning의 확장
스마트홈 환경에서 Matter가 구성되는 방법에 대하여 살펴보고, Matter의 Commissioning 과정을 자세히 알아보면서 어떻게 Matter 기기가 홈 환경에서 구성이 되는지 확인하였습니다. 그리고 더 나아가, Network Provisioning 과정에서 Thread Network는 어떻게 탐색하고 형성되는지도 알아보았습니다.
Matter 및 Thread의 표준을 기반으로 삼성전자에서는 스마트싱스(Smartthings)와 함께 스마트홈 구성을 위한 Border Router 역할의 Hub를 목표로 발전시키고 있습니다. 앞으로의 Matter Commissioning 확장에서는 얼마나 쉽고 간편하게 구성할 수 있는지에 주목할 필요가 있습니다. 현재의 Wi-Fi Only Things를 Matter 세계로 어떻게 끌어들일 수 있을지에 대한 고민을 통해 이 기술의 발전은 계속 이루어질 것입니다. BLE, DNS-SD와 더불어 Wi-Fi DPP, Wi-Fi Aware 등이 그 예일 것입니다.
Wi-Fi Easy Connect(DPP)
DPP(Device Provisioning Protocol)는 Easy Connect라는 이름으로도 잘 알려져 있으며, Wi-Fi Alliance에서 인증한 Provisioning 프로토콜입니다. Easy Connect를 사용하면 QR 코드를 스캔하는 것만큼 간단하게 네트워크에 새 장치를 추가할 수 있습니다. 이를 통해 스마트홈 및 IoT 제품과 같이 UI가 없는 기기를 Onboarding하는 동안 복잡성이 줄어들고 사용자 경험이 향상됩니다. 사용이 간단하고 직관적이며 새로운 장치 설정을 위해 따라야 할 복잡한 지침이 없습니다. 그리고 Provisioning되는 장치에 비밀번호를 기억하고 입력할 필요가 없습니다.
Wi-Fi Aware
Wi-Fi Alliance에서 개발한 Wi-Fi Aware 인증은 P2P 연결을 개선하고 기기에 다양한 Application을 제공하도록 설계되었습니다. 이를 위해 특정 기기는 Publisher로 지정되어 다른 장치의 연결 신호를 지속적으로 Broadcast합니다. 다른 기기를 Subscriber로 간주하며 Publisher 기기를 검색합니다. Publisher 기기 범위 내에 있으면 Subscriber는 자동으로 요청을 시작하여 장치 간 연결을 설정합니다. 이 기술은 IoT의 자연스러운 진화로 AP(Access Point) 또는 사람의 감독 없이도 기기가 사용자 경험을 향상시키는 방식으로 상호 작용할 수 있게 해줍니다.
CES 2022 행사에서 가장 주목해야 할 기술 중 하나는 역시 Matter였습니다. Matter 기반의 스마트홈 환경이 급변할 것이고 이를 바탕으로 많은 시장 기회가 생길 것으로 전망했는데요. 삼성전자는 친환경과 연결성(Connectivity)을 특히 강조했고 차별화된 고객 경험을 위해 Matter와 스마트싱스 허브 소프트웨어를 배치했습니다.
그동안 스마트폰 앱으로만 존재하던 스마트싱스 허브 소프트웨어를 스마트TV나 모니터 혹은 디스플레이가 탑재된 냉장고 등에 탑재함으로써 어디서나 디바이스의 상태를 확인하고 제어하며 지능화된 서비스를 제공하겠다는 목표를 알렸습니다.
지금까지 Samsung Research MDE Lab의 탁현욱이었습니다.
감사합니다.
|
|
