“거실 전등 좀 꺼줘” 한마디가, 집 전체를 위험에 빠뜨릴 수도 있다

 





스마트홈은 참 달콤하다. 침대에 누워 “불 꺼” 하면 거실 전등이 꺼지고, 밖에서도 문을 열어줄 수 있고, 로봇청소기가 알아서 움직인다. 그런데 여기엔 불편한 진실이 숨어 있다. 집 안에 붙어 있는 IoT(사물인터넷) 기기들은 생각보다 ‘약한 고리’가 많다는 점이다. 기기 종류도 제각각이고 성능도 들쭉날쭉하다. 어떤 건 작은 센서라서 계산을 거의 못 하고, 어떤 건 허브처럼 똑똑하다. 이런 ‘뒤죽박죽 팀’이 한 집 안에서 네트워크로 연결돼 있으니, 공격자 입장에선 문 하나만 열면 방 전체가 열린다.


논문은 이 문제를 정면으로 겨냥한다. “중앙 서버 하나가 모든 걸 통제하는 구조는 뚫리면 끝장이고, 블록체인만 쓰면 너무 느려서 전등 끄는 데도 버벅인다.” 그러니 둘 다 장점만 섞어서, ‘단단하면서도 빠른’ 보안 구조를 만들자는 이야기다. 그리고 그 조합의 핵심은 네 가지다. 컨소시엄 블록체인스마트 계약그룹 기반 영지식증명, 그리고 오프체인 조정자(코디네이터)다. 여기에 보너스로 머신러닝을 붙여, 기기 상태에 따라 암호 방식을 똑똑하게 바꾸게 만든다.


블록체인은 ‘집안 주민등록’, 코디네이터는 ‘현장 경비’ 역할을 맡는다

이 설계가 재미있는 이유는 역할 분담이 아주 명확해서다. 한 줄로 요약하면 이렇다.

  • 블록체인은 “누가 우리 집 식구냐”를 절대 잊지 않는 기록장이다. 기기의 공개키(신분증 같은 것), 기기 그룹(예: 거실 그룹), 그리고 ‘큰 규칙’(이 사용자가 이 그룹에 이 행동을 해도 되는지)을 바꿀 수 없게 저장한다.
  • 코디네이터는 실시간으로 움직이는 현장 경비다. “지금 너무 자주 요청하는데?”, “밤 3시에 현관문을 열라고?”, “배터리가 바닥인 센서에게 무리한 암호를 시키면 죽겠는데?” 같은 상황 판단을 한다.

여기서 포인트는 “모든 걸 블록체인에 올리지 않는다”는 선택이다. 블록체인은 강력하지만 느리고 비용이 든다. 그래서 논문은 ‘큰 규칙’만 블록체인에 남기고, 자잘하지만 중요한 ‘상황 규칙’은 코디네이터가 처리하게 한다. 예를 들어 시간대 제한요청 횟수 제한(레이트 리밋)기기 상태(배터리, 지연시간) 같은 것들이다. 이런 규칙을 매번 블록체인에 올리면 돈도 들고 속도도 느려진다. 대신 코디네이터가 먼저 걸러낸 뒤, 통과한 것만 블록체인에 올려 ‘확정’받는다. 마치 경기장 입구에서 소지품 검사를 하고, 티켓 확인은 마지막에 하는 느낌이다.


“비밀번호를 보여주지 않고도, 우리가 ‘허락했다’는 걸 증명한다”는 마법

이 논문에서 가장 ‘오, 이거 영화 같은데?’ 싶은 장면은 그룹 기반 영지식증명(Zero-Knowledge Proof, ZKP)이다. 영지식증명은 쉽게 말해 “비밀을 말하지 않고도, 내가 비밀을 알고 있다는 걸 증명하는 기술”이다.


스마트홈에선 이걸 이렇게 쓴다.

  1. 사용자가 “거실 조명 꺼”라고 요청한다.
  2. 거실 그룹에 속한 여러 기기가 함께 “이 요청, 우리 그룹이 승인한다”는 하나의 증명을 만든다.
  3. 이 증명은 ‘그룹의 승인’만 보여주고, 각 기기의 개인키(진짜 비밀)는 밖으로 새지 않는다.
  4. 코디네이터는 증명을 검증해 “진짜 우리 집 거실 그룹이 만든 승인 맞네”라고 확인한다.

여기서 ‘그룹’이 중요하다. 한 기기만 속아서 승인해도 되는 구조라면 공격자가 약한 센서 하나를 뚫고 집을 휘젓는다. 그런데 그룹이 함께 승인해야 한다면? 


논문은 이 증명을 ‘스노르(Schnorr) 계열의 집계 서명처럼’ 묶어서 빠르게 확인하게 설계했다.


성능도 수치로 제시한다. 기기 수가 늘어도 검증 시간이 크게 늘지 않는 게 핵심인데, 500대 규모에서 증명 검증이 평균 약 190ms에 끝났다고 보고한다. ‘집 안 기기 많아지면 느려진다’는 고정관념을 겨냥한 대목이다. 게다가 증명 크기도 그룹당 128바이트로 고정이라 통신 부담이 커지지 않는다고 설명한다.


“전등 끄는 데 3초면 괜찮냐고?” 실험은 이렇게 답했다

보안은 늘 현실과 싸운다. 아무리 안전해도, 버튼 누르고 한참 기다려야 하면 사용자는 결국 꺼버린다. 논문은 그래서 ‘끝에서 끝까지’ 시간을 쟀다. 사용자가 요청하고, 증명이 만들어지고, 블록체인에 기록되고, 코디네이터가 확인하고, 최종적으로 안전한 세션 키를 만들어 기기와 통신하기까지. 그 전체 흐름의 지연시간을 약 3초 수준으로 제시한다.



3초가 길게 느껴질 수도 있다. 하지만 논문은 이 3초의 대부분이 계산이 아니라 “블록체인 트랜잭션 확정 시간”과 “코디네이터가 블록체인을 주기적으로 확인하는 폴링 간격” 때문이라고 짚는다. 즉, 알고리즘이 느려서가 아니라 ‘구조 선택’의 결과라는 말이다. 여기엔 분명 trade-off가 있다. 그래도 “집 전체 보안을 하나의 게이트웨이에 맡기고, 그 게이트웨이가 뚫리면 끝장”인 상황보다 훨씬 현실적인 타협으로 보인다.


그리고 비용도 흥미롭다. 블록체인에서 뭔가를 저장하거나 정책을 설정하는 데 드는 계산량은 가스(gas)라는 단위로 측정된다. 논문은 중요한 접근제어 정책 관련 트랜잭션이 82,748 gas 수준이며, 비교 대상 대비 90% 이상 절감했다고 강조한다. 블록체인의 강점을 쓰되 ‘돈 많이 드는 습관’을 줄인 셈이다.


머신러닝이 보안에 들어오면, ‘강한 암호’ 대신 ‘상황에 맞는 암호’를 고른다

여기서 한 단계 더 나간다. 많은 보안 시스템은 “항상 가장 강한 암호”를 고집한다. 그런데 스마트홈에선 그게 오히려 문제다. 배터리 5% 남은 센서에게 무거운 암호를 돌리면? 기기는 멈추고, 그 틈이 또 공격 기회가 된다.


그래서 논문은 코디네이터가 기기 상태(배터리, 네트워크 지연, 하드웨어 가속 지원 여부 등)를 보고, 그 상황에서 가장 적절한 암호 알고리즘과 키 크기, 키 파생 함수 반복 횟수(PBKDF2 반복)를 예측해 선택하게 했다. 예를 들어 AES-GCM과 ChaCha20-Poly1305 중 어느 쪽이 지금 더 빠르고 적합한지 고른다. 선택 자체는 대략 16ms 정도의 추가 지연으로 처리 가능하다고 보고한다. ‘AI가 보안의 뇌’가 되는 그림이다.


게다가 이상행동 탐지까지 붙인다. 평소와 다른 시간대의 요청, 과도한 요청 빈도, 이상한 패턴을 보고 위험 점수를 매겨 막는다. 단순히 “키 맞으면 통과”가 아니라 “행동이 이상하면 멈춰”가 된다. 집이라는 공간에선 이런 감각이 꽤 중요하다. 도둑은 늘 ‘정상적인 로그인’으로 들어오려고 하니까.


이 설계가 남긴 메시지: 스마트홈 보안은 ‘한 방짜리’가 아니라 ‘층층이 쌓는’ 게임이다

이 논문이 던지는 결론은 단순한 기술 조합이 아니다. 메시지는 더 현실적이다. 스마트홈 보안은 이제 “암호 하나, 인증 하나”로 끝나는 시대가 아니라는 것. 집 안 기기는 계속 늘고(논문은 2025년 271억대, 2030년 400억대 전망을 언급한다), 공격은 더 교묘해지고, 사용자는 더 즉각적인 반응을 원한다. 그러니 보안도 한 겹이 아니라 여러 겹이어야 한다.

  • 블록체인으로 ‘기초 체력’을 만든다. 바꿀 수 없는 신뢰의 바닥을 깐다.
  • 영지식증명으로 ‘개인정보’와 ‘집단 승인’을 동시에 잡는다.
  • 코디네이터로 ‘실시간 상황판단’을 붙인다.
  • 머신러닝으로 ‘기기 상태에 맞춘 보안’을 한다.
  • 이상행동 탐지로 ‘내부자 공격’까지 막는다.

완벽한 시스템은 아니다. 코디네이터가 ‘반드시 신뢰할 수 있는가’라는 질문은 남는다. 논문도 코디네이터는 완전무결한 존재가 아니라 감사 가능하게(블록체인 로그로) 묶어두고, 미래에는 여러 대의 코디네이터 클러스터나 TEE 같은 방식을 고려할 수 있다고 말한다. 즉, “현실에서 쓸 수 있는 수준으로 먼저 만들고, 그다음 더 단단하게”라는 태도다.


스마트홈은 점점 ‘집’이라기보다 작은 데이터센터에 가까워진다. 그리고 데이터센터 보안이 한 가지 기술로 해결되지 않듯, 집도 마찬가지가 됐다. 이제 우리가 사야 할 건 똑똑한 전구만이 아니라, 그 전구가 만든 편리함을 지켜줄 ‘똑똑한 보안’일지도 모른다.



출처: Soni, S., & Singh, A. (2025). A hybrid blockchain and smart contract framework for resilient IoT security in smart homes. Frontiers in Blockchain, 8, 1707911. https://doi.org/10.3389/fbloc.2025.1707911