1. "자비스, 불 좀 꺼줘"에서 시작된 재앙
겨울밤, 따뜻한 전기장판 속에 누워 있는데 불을 끄러 가야 할 때의 그 고통. 다들 아실 겁니다. 저는 그게 너무 싫어서 "아이언맨"의 자비스 같은 집을 꿈꾸며 스마트 전구를 하나 샀습니다. "헤이 구글, 불 꺼줘"라고 말하면 꺼지는 그 마법 같은 경험! 정말 신세계였습니다.
그날 이후 저는 열정적으로 스마트 기기를 사 모으기 시작했습니다. 알리익스프레스와 아마존을 드나들며 스마트 플러그, 스마트 커튼, 로봇 청소기, 공기청정기, 그리고 집을 비울 때 강아지를 보기 위한 홈캠(CCTV)까지 주문했습니다. 제 집은 바야흐로 21세기 최첨단 하우스가 된 것 같았습니다. 친구들이 놀러 오면 "오, 미래에 사는 것 같다"며 부러워했죠.
하지만 그 행복은 오래가지 않았습니다. 어느 날 저녁 뉴스를 보다가 등골이 오싹해졌습니다. "국내 아파트 월패드 해킹, 남의 집 거실 훔쳐보다... 영상 유출 심각"
소름이 돋았습니다.
"잠깐, 내 홈캠도 인터넷에 연결되어 있잖아? 누가 내 방을 보고 있으면 어떡하지?"
급하게 기기들을 확인해 봤습니다. 하나같이 중국산 저가형 제품들이었고, 펌웨어 업데이트는 제조사가 망했는지 3년 전이 마지막이었습니다.
더 충격적인 건 비밀번호였습니다. 모든 기기가 기본값 admin / 1234 또는 admin / admin으로 설정되어 있었습니다.
설상가상으로 기기가 30개가 넘어가자 공유기가 비명을 지르기 시작했습니다. 넷플릭스를 보는데 자꾸 버퍼링이 걸리고, 가끔은 스마트 전구가 "응답 없음"이라며 켜지지 않았습니다. 게다가 A사 전구는 A사 앱으로, B사 플러그는 B사 앱으로 켜야 하는 "앱 지옥(App Hell)"에 빠져버렸죠.
저는 결단을 내렸습니다. 이대로는 안 된다. 단순히 편한 집이 아니라 "안전하고 똑똑한 집"을 다시 짓기로 했습니다. 목표는 "외부 클라우드 없이, 내 집 안에서만(Local) 돌아가는 안전한 스마트 홈"입니다.
2. 처음엔 뭐가 문제였나 - 프로토콜의 춘추전국시대
스마트 홈 초보 시절, 저는 무조건 와이파이(WiFi) 제품만 샀습니다. 별도의 허브도 필요 없고, 집에 있는 공유기에 연결만 하면 되니까 편해 보였거든요. 하지만 기기 수가 늘어나자 치명적인 문제들이 터져 나왔습니다.
와이파이(WiFi)의 배신
- 네트워크 과부하: 와이파이는 원래 대용량 데이터를 빠르게 보내기 위해 만들어진 프로토콜입니다. 그런데 고작 "불 켜"라는 1바이트 명령을 받으려고 전구 30개가 24시간 공유기에 붙어서 "나 살아있어!"라고 신호를 보냅니다. 공유기 입장에서는 접속된 기기가 너무 많아지니 과부하가 걸리고, 정작 제가 쓰는 노트북 인터넷 속도가 느려졌습니다.
- 전력 소모: 와이파이는 전기를 많이 먹습니다. 콘센트에 꽂는 전구는 상관없지만, 배터리로 동작하는 '문 열림 센서'나 '온습도 센서'는 와이파이 방식일 경우 배터리가 1달도 못 갑니다. 건전지 값을 감당할 수 없습니다.
- 보안 취약점: 이게 제일 큽니다. 저가형 와이파이 전구가 해킹당하면, 해커는 그 전구를 타고 같은 공유기에 연결된 제 맥북이나 NAS에 침투할 수 있습니다. 전구가 우리 집 네트워크의 "트로이 목마"가 되는 셈입니다.
그래서 저는 눈을 돌려 Zigbee(지그비)와 Z-Wave를 공부하기 시작했습니다.
Zigbee를 선택한 이유
"왜 굳이 5만 원짜리 허브를 따로 사서 지그비를 써야 해?"라고 생각했었습니다. 하지만 써보니 알겠더군요. 이건 스마트 홈을 위해 태어난 기술입니다.
- 메시 네트워크(Mesh Network): 와이파이는 공유기랑 직접 연결되어야 하지만, 지그비는 기기끼리 서로 연결됩니다. 거실 전구가 안방 전구에게 신호를 전달해 줍니다. 그래서 와이파이가 안 닿는 화장실 구석이나 베란다까지 신호가 빵빵하게 터집니다.
- 로컬 제어: 인터넷이 끊겨도 작동합니다. 와이파이 기기들은 제조사 클라우드 서버가 죽으면(또는 인터넷이 끊기면) 먹통이 되지만, 지그비는 집 안에 있는 허브랑만 통신하므로 인터넷 장애와 상관없이 불을 켤 수 있습니다. (이게 핵심입니다!)
- 저전력: 코인 배터리(CR2032) 하나로 2년을 버팁니다. 센서류에는 지그비가 압도적입니다.
저는 센서(문 열림, 온습도, 모션)와 조명은 전부 Zigbee로 바꿨습니다. 이러면 공유기에는 '지그비 허브' 하나만 와이파이로 연결되고, 나머지 30개 기기는 허브랑만 지그비로 대화하니 공유기 부하가 사라졌습니다. 넷플릭스가 다시 빨라졌습니다.
3. 깨달음의 순간 - Home Assistant와 MQTT
기기 통신 방식은 해결했지만, 여전히 "앱 지옥"은 남아있었습니다. 샤오미 센서로 필립스 전구를 켤 수 있을까요? 제조사가 달라서 불가능합니다. 각자 폐쇄적인 생태계를 구축하고 있으니까요.
이 장벽을 허물기 위해, 저는 오픈소스 플랫폼인 Home Assistant (HA)를 도입했습니다. 안 쓰는 라즈베리 파이 4에 HA를 설치했습니다. 이 친구가 이제 우리 집의 '중앙 관제탑'입니다.
그리고 이 관제탑과 기기들이 대화하는 공용어로 MQTT (Message Queuing Telemetry Transport)를 선택했습니다.
MQTT가 왜 필요한가?
MQTT는 사물인터넷(IoT)을 위해 만들어진 아주 가벼운 메시지 프로토콜입니다. 발행(Publish)과 구독(Subscribe) 구조로 되어 있는데, 이게 마치 "단톡방"과 같습니다.
- Publisher (말하는 사람): 샤오미 모션 센서가 거실에서 움직임을 감지하면 "거실/모션: 감지됨"이라는 메시지를 보냅니다. 이건 누구한테 보내는 게 아니라 그냥 허공(Broker)에 외치는 겁니다.
- Broker (방장): 라즈베리 파이에 설치된 MQTT Broker(Mosquitto)가 이 메시지를 받습니다.
- Subscriber (듣는 사람): 필립스 휴 전구는 "거실/모션"이라는 주제를 구독하고 있었습니다. 메시지가 오자마자 "어? 사람 왔네? 켜져야지" 하고 반응합니다.
이 구조 덕분에 제조사가 어디든 상관없이, MQTT만 지원하면 서로 연동할 수 있게 되었습니다. 게다가 HTTP 요청보다 훨씬 가볍고 빨라서, 스위치를 누르면 0.1초 만에 불이 켜집니다. 클라우드를 거치지 않으니 반응 속도가 환상적입니다.
4. 깊게 파고들기 - 보안을 위한 망 분리 (VLAN)
스마트 홈 구축에서 가장 중요한, 하지만 다들 귀찮아서 간과하는 보안 이야기입니다.
앞서 말했듯, 스마트 전구가 해킹당하면 단순히 불이 깜빡거리는 장난으로 끝나지 않습니다. 해커는 그 전구를 교두보(Gateway)로 삼아, 같은 네트워크에 있는 여러분의 PC나 NAS로 횡이동(Lateral Movement)을 시도합니다. 그리고 소중한 가족 사진을 암호화하고 비트코인을 요구하겠죠 (랜섬웨어). 혹은 여러분의 PC를 좀비 PC로 만들어 디도스 공격에 가담시킬 수도 있습니다.
그래서 저는 망 분리(Network Segmentation)를 감행했습니다. 회사에서나 하는 보안 정책을 집구석에 적용한 거죠.
VLAN으로 집 쪼개기
고급 공유기(Unifi나 iptime 고급형)를 쓰면 VLAN(Virtual LAN) 기능을 쓸 수 있습니다. 물리적인 공유기는 하나지만, 논리적으로 네트워크를 찢어놓는 기술입니다.
저는 집 네트워크를 3개로 쪼갰습니다.
- 메인 네트워크 (VLAN 10, 192.168.10.x):
- 신뢰할 수 있는 기기: 내 PC, 맥북, 아이폰, 아이패드, NAS
- 보안 수준: 높음. 자유롭게 인터넷 사용 가능.
- IoT 네트워크 (VLAN 20, 192.168.20.x):
- 신뢰할 수 없는 기기: 중국산 전구, 로봇 청소기, 스마트 냉장고, 월패드
- 보안 수준: 격리 구역 (Quarantine Zone). 인터넷 접속 제한.
- 게스트 네트워크 (VLAN 30, 192.168.30.x):
- 손님용 와이파이. 우리 집 내부망(NAS 등)에는 접근 불가하고 인터넷만 됨.
방화벽 규칙 (Firewall Rules)
그리고 이 네트워크들 사이에 엄격한 국경 검문소(방화벽 규칙)를 세웠습니다.
규칙 1: Main -> IoT (허용) 내 아이폰(Main)에서 전구(IoT)를 제어는 할 수 있어야 합니다. 내가 명령하는 건 OK.
규칙 2: IoT -> Main (차단) 전구(IoT)가 내 아이폰(Main)으로 접근하는 건 절대 금지. 해커가 전구를 탈취해도, 거기서 제 PC로 넘어올 수 없습니다. 벽에 막히거든요.
규칙 3: IoT -> Internet (일부 차단) CCTV나 전구는 외부 인터넷 접속을 아예 막아버립니다. (Local Only). 중국 서버로 내 영상이 전송되는 걸 원천 봉쇄하는 겁니다. 펌웨어 업데이트 할 때만 잠깐 열어줍니다.
이제 중국산 로봇 청소기가 해킹당해도, 제 컴퓨터 근처에는 얼씬도 못 합니다. 고립된 섬에 갇힌 꼴이죠.
5. 적용 - 우리 집 자동화 시나리오
보안이라는 튼튼한 기반을 다졌으니, 이제 진짜 "스마트"한 기능을 구현했습니다. 단순히 폰으로 불 끄는 건 스마트 홈이 아닙니다. 그건 '리모컨'이죠. 진짜 스마트 홈은 내가 아무것도 안 해도 집이 알아서 해주는 것(Automation)입니다.
1) "퇴근 모드" (Geo-fencing)
Home Assistant 앱이 제 아이폰의 GPS 위치를 추적합니다. (물론 데이터는 집 서버에만 저장됩니다). 제가 집 반경 500m 안에 들어오면:
- 여름이면 거실 에어컨을 미리 켜서 시원하게 만듭니다.
- 현관 센서등의 밝기를 100%로 올립니다. (평소엔 50%)
- 제 PC를 미리 켭니다 (Wake-on-LAN). 씻고 나오면 바로 게임을 할 수 있게요.
2) "수면 모드"
밤 11시가 지났는데 안방 모션 센서에 30분간 움직임이 없으면:
- "주인이 잠들었구나" 판단하고 집안의 모든 불을 끕니다.
- 현관문 도어락이 잠겼는지 다시 확인하고, 안 잠겼으면 잠급니다.
- 거실 커튼을 닫습니다.
- 가습기를 '수면 모드'로 전환합니다.
3) "침입 감지 시스템"
가장 공들인 기능입니다. 제가 집을 비운 "외출 모드" 상태에서 현관문이 열리거나 거실에서 움직임이 감지되면:
- 제 텔레그램으로 즉시 "경고: 침입 감지!" 메시지와 함께 CCTV 스냅샷을 보냅니다.
- 홈캠이 영상을 녹화하여 제 개인 NAS에 저장합니다. (클라우드 아님).
- 거실의 구글 홈 스피커로 "경찰에 자동 신고합니다. 즉시 나가십시오."라고 크게 재생합니다. (TTS 기능)
- 집안의 모든 조명을 빨간색으로 깜빡거려 도둑의 멘탈을 공격합니다.
이 모든 게 클라우드 서버 없이 집 안에서 로컬로 돌아갑니다. 해커가 인터넷 선을 끊어도 경보는 울립니다.
6. 마치며 - 편안함에는 대가가 따른다
스마트 홈은 정말 편합니다. 침대에 누워 목소리로 불을 끄고, 집이 알아서 온도를 맞춰주는 건 마치 SF 영화 속 주인공이 된 기분이죠. 퇴근하고 집에 들어왔는데 따뜻한 온기가 나를 반겨줄 때의 그 감동은 해본 사람만 압니다.
하지만 그 편리함 뒤에는 "내 사생활이 털릴 수 있다"는 거대한 위험이 도사리고 있습니다. 우리는 너무 쉽게 내 집의 열쇠를 제조사 클라우드에 넘겨주고 있는 건 아닐까요? "대기업 제품이니까 알아서 잘 보안 챙겼겠지"라고 방심하는 순간, 여러분의 집은 해커들의 놀이터가 됩니다.
조금 귀찮더라도 공부하세요. 네트워크를 분리하고, 로컬 제어 환경을 구축하세요. 가장 안전한 집은, 가장 비싼 기기가 많은 집이 아니라 주인이 시스템을 이해하고 통제하는 집입니다.
오늘 집에 가서 공유기 설정 페이지(192.168.0.1)부터 한 번 열어보시는 건 어떨까요? 거기서부터 여러분의 '사이버 요새' 구축이 시작됩니다.