블록체인의 이해 0

블록체인의 이해, 지갑의 오해

블록체인의 이해, 지갑의 오해

 

괜히 길고 복잡하게 말할 것도 없이 곧 닥칠 근미래는 사물인터넷 그리고 블록체인 기술 기반으로 작동하는 스마트 사회일 것이다. 특히 블록체인. 블록체인 기술에 대한 정확한 이해 없이는 그 어떤 미래 전망도 제대로 옳을 수 없다.

블록체인의 이해엔 블록체인 지갑의 이해가 필수적이다. 그런데 ‘지갑’이란 말은 너무 익숙하기 때문에 오히려 잘못된 오해가 많아, 지갑의 오해가 블록체인의 이해를 방해한다. 이에 지갑의 오해를 살펴봄으로써 블록체인에 대한 이해도를 높여 보자.

 

오해1) 지갑에 돈을 넣어 둔다?

 

우리 일상에서 ‘지갑’이란 화폐, 신용카드, 신분증 등을 넣어 보관하고 휴대하기 위한 작은 물건이다. 그러다 보니 ‘블록체인 지갑’이나 ‘암호화폐 지갑’이라고 하면 암호화폐를 넣어 보관하고 휴대하는, 호주머니 속 진짜 지갑 같은 물체를 떠올린다. 비트코인이나 이더리움 등 암호화폐 그리고 그 화폐의 장부인 블록체인이 지갑 안에 들어 있을 것 같다. 그러나 암호화폐 지갑 안에는 암호화폐도 블록체인도 없다. 암호화폐 지갑은 블록체인 분산원장에 기록되는 거래 트랜잭션 데이터를 생성하고 서명하는 데 쓰이는 비공개키, 즉 내 열쇠를 보관하고 관리하기 위한 도구다. 어쩌면 지갑보다 ‘열쇠고리’가 더 어울리는 말이다 싶기도 하다.

 

블록체인의 이해 1

 

그렇다면 암호화폐는 지갑이 아니라 어디에 있을까. 참여자 모두가 공유하는 블록체인 속에 있다. 내 자산, 만약 비트코인이라면 내 키와 연결된 주소의 UTXO 합, 이더리움이라면 내 키와 연결된 계좌의 밸런스를 뜻하는 내 자산은 블록체인에 기록되어 있다. 그러다 혹시 지갑 안에 넣어 둔 키를 잃어 버린다면? 암호화폐가 사라지는 게 아니라 열쇠를 잃어버리는 거라, 즉 소유권을 증명할 방법을 잃게 되는 것이다. 그렇기 때문에 암호화폐 관리에 있어 가장 중요한 일은 키 관리다. 암호화폐 지갑이란 바로 그 키 관리를 하기 위한 도구다.

 

진실1) 지갑에는 열쇠를 넣어 둔다.

 

 

오해2) 지갑은 사적인 물건이다?

 

‘사적’이란 말은 개인의 사사로운 일을 뜻하니, 간단히 말해 사람지갑이라는 뜻이다. 그렇지 않다. 사물에 탑재되는 ‘사물지갑’도 있다. 사물지갑은 다가오는 ‘블록체인+IoT=BIoT’ 시대의 기술 저변이다. 사물과 사물이 서로 사물인증 그리고 사물결제를 통해 소통함으로써 스마트 사회가 동작하는 기반이 되는 것이다. BIoT 시대 사물들은 제각각 지갑을 통해 서로 연결되고 서로의 신분을 확인하고 소통한다. 사물 1개당 지갑 1개씩을 가지는 것도 아니다. 대규모 조립산업 특성상 하나의 사물이 여러 지갑을 가지고 있을 필요도 있다. 예를 들어 아주 복잡한 사물인 자동차를 보자.

 

블록체인의 이해 2

 

자동차 내부는 극단적으로 강력한 특허들의 전쟁터다. 각 부품들이 모여 마치 하나같이 서로 긴밀히 통하면 좋겠지만 엄격한 특허 때문에 그럴 수 없다. 따라서 부품과 부품이 서로 거래 형식으로 소통할 수밖에 없다. 그래서 자동차라는 1개의 사물이라도 그 내부에서는 여러 개의 지갑들이 서로 정보와 이해를 주거니 받거니 거래함으로써 동작한다. 그 소통의 중심에는 무엇이 있을까, 이 문제 또한 아주 치열해 특허 전장에서 그나마 중립적으로 보이는 배터리가 비무장지대 DMZ로서 중심에 서게 될 거라는 주장도 있다. 어떤 타협과 결론이 나든 규모와 방식이 아주 다양한 여러 형상의 사물지갑은 필요하다. ‘사물결제’라 하면 지갑의 오해와 마찬가지로 돈을 주고 받는 거래로 오해할 수도 있으니 ‘사물결정’의 뜻으로 이해해도 되겠다. 물론 사물은 사람의 완전한 통제 하에 있다.

 

진실2) BIoT 시대, 사물인증과 사물결제가 일어나는 사물지갑도 있다.

 

오해3) 지갑은 내 호주머니에 넣어 둔다?

 

이 또한 개인 사용자에 한정된 내용이다. 개인 사용자가 아닌 기업이 사용하는 대규모 엔터프라이즈 지갑도 있다. 맡은 바 역할 규모가 크다 보니 모든 기능이 내장된 어플라이언스 타입의 장비 형상이다. 앞서 살펴본 ‘지갑’이란 말에 따른 오해를 불식하고자 ‘블록체인 KMS(Key Management System)’나 키를 위탁해 관리한다는 뜻으로 ‘키 커스터디 서버’ 등 보다 거창한 이름으로 불리기도 하지만 기술의 본질은 역시 지갑이다. 사용자 키를 위탁 보관하는 암호화폐 거래소용 지갑뿐 아니라, 블록체인 기반으로 금융 서비스를 제공하는 ‘블록체인 핀테크 서비스’ 운영에 있어 엔터프라이즈 지갑은 필수도구다.

 

블록체인의 이해 3

 

블록체인 핀테크 서비스는 오늘날 흔히 볼 수 있는 인터넷뱅킹이나 모바일뱅킹과 같은 형태로 블록체인 기반 금융 서비스를 제공한다. 자산을 위탁 관리하는 커스터디 등 서비스 자체가 강력하게 요구하는 보안성 필요뿐 아니라, 개인 사용자에게 있어 가장 번거롭고 또 위험하기도 한 문제인 키 관리 및 책임 부담을 덜어주기 위한 멀티 인증 등 편의성 필요도 엔터프라이즈 지갑을 통해 해결할 수 있다. 그러기 위해 엔터프라이즈 지갑은 단순히 개인 지갑을 잔뜩 쌓아 두기만 하는 수준을 넘어 기업정보보안의 핵심인 키 관리 서버 KMS 등급의 규모와 보안성을 갖추도록 설계한다. 서비스 영역 바깥에서 키를 안전하게 보관하기 위한 콜드 지갑도 필수다.

 

진실3) 블록체인 핀테크 서비스를 위한 대규모 엔터프라이즈 지갑도 있다.

 

 

그림1

‘제로 트러스트’의 구체적 방법

제로 트러스트’의 구체적 방법

 

“아무도 믿지 마라!”, ‘제로 트러스트(Zero Trust)’ 보안론이 유행이다. 2010년 시장조사업체 ‘포레스터 리서치’의 애널리스트 존 킨더박(John Kindervag)이 기본 모형을 제시하고, 미국 역사상 최악의 정보보안 사고 중 하나로 기록된 인사관리처(OPM) 개인정보 유출 사건을 분석한 2015년 연방정부 보고서를 통해 공식화된 용어다.

제로 트러스트. 시스템 외부와 내부를 따로 나누지 않고 모든 곳이 위험하다고 전제하고, 적절한 인증 절차 없이는 그 누구도 믿어서는 안 되며, 누구든 시스템에 접근하려면 권한을 부여하기 전에 재차 신원을 확인해야 한다는, 어찌 보면 원래 그랬어야 했던 당연한 이야기가 새삼스럽게 요란한 것 같기도 하다. 하지만 이렇듯 깔끔하게 용어 하나로 딱 정리되니 그 계몽적 집중 효과는 기대해 볼 만하겠다.

 

제로 트러스트’ 방법?

 

주로 거론되는 ‘제로 트러스트’ 방법론은 보안을 바라보는 관점과 정책에 집중된다. 시스템 전체를 한꺼번에 지켜야 할 하나의 큰 덩어리로 보지 않고 모든 부분들을 ‘미세-분할(micro-segmentation)’ 요소로 나누고, 각 요소에 대해 ‘과립형 경계 시행(granular perimeter enforcement)’ 방식으로 보안을 적용해야 한다는 ‘제로 트러스트’ 모형은 보안의 관점과 정책 문제다.

 

그림1

 

위험은 시스템 바깥에만 존재하고 내부는 안전하다는 전제로 세운 기존 보안정책은 위험하니 당장 폐기하라고 경고하고, 외곽 경계 차단 방식의 보안은 전혀 효과 없다는 사실이 숱한 보안사고들을 통해 증명되었는데도 아직도 ‘내부는 무조건 안전해야만 해’ 고집하는 안일한 태도를 지적한다. 혹독한 현실을 똑바로 직시함으로써 시스템의 안이든 밖이든 모든 게 다 위험하니 철저히 대비해야 한다는 것이 ‘제로 트러스트’ 모형의 핵심 메시지다. 적절하다. 하지만 구체적으로 뭘 어떻게 하라는 말인지 뜻은 다소 모호하다.

제로 트러스트 보안의 실제 적용 방법으로 오케스트레이션, 애널리틱스, 스코어링 등이 열거된다. 여러 보안도구 및 보안체계를 종합해 분석함으로써 전체적 보안조치의 효율을 높이고 수준을 제고하자는 취지의 ‘오케스트레이션’, 데이터 분석을 통한 위협 탐지 ‘애널리틱스’, 전체 시스템을 이루는 각 부분들의 보안 수준을 점수화해 관리함으로써 전체 보안수준을 높이자는 ‘스코어링’ 등은 주로 보안관리 측면에 초점을 맞춘 방법들이다. 요긴한 방법들이긴 하나 ‘제로 트러스트’의 기본 모형인 미세-분할과 과립형 경계 시행 원칙을 구체화한 방법이라고 보기는 어렵다.

 

그렇다면 제로 트러스트의 구체적 방법은 뭘까. 우선 제로 트러스트의 원래 의미를 되짚어 보자.

 

제로 트러스트’, 그 뜻에 따른 구체적 방법

 

지금까지 대부분의 기업들은 마치 성을 짓듯 네트워크 바깥 경계선(perimeter)에 벽을 쌓는 방식의 보안조치를 통해 외부로부터의 침입 방지에만 최우선 집중하는 보안을 고집해 왔다. 그 까닭은 뭘까. 순전히 업무 편의 때문이다. 시스템 내부는 무조건 안전하다고 믿어야만 그 울타리 안에서 내부자들의 자유로운 활동이 가능하고 번거롭고 불편한 보안정책이 업무를 방해하지 않는다고 생각하기 때문이다. 하지만 그러한 시스템은 일단 침입하기만 하면 이후 데이터 유출을 막을 방법이 없다.

보안조치를 네트워크 바깥 경계선(perimeter)이 아니라 모든 ‘유의미(relevant)’한 데이터 각각의 바깥 경계선(microperimeter)에 적용해 데이터를 과립 형태로 보호하자는, 즉 미세-분할 그리고 과립형 경계 시행을 적용하자는 것이 바로 ‘제로 트러스트’ 보안이다. 그럼 그 뜻에 따라 구체적 방법을 살펴보자.

 

1) 지능형 WAF: 패킷 아닌 데이터 단위 분석 웹 보안

 

그림2

 

웹은 가장 많은 보안사고가 발생하는 가장 위험한 지점이다. 따라서 최우선 방어해야 한다. 웹을 통한 침입에 대비해 데이터 단위 분석이 가능한 웹 보안을 적용한다. 기존 바깥 경계선 보안의 대표적 도구인 방화벽과 IPS는 데이터 단위 분석이 불가능하므로 웹을 오가는 패킷이 데이터로 합쳐진 뒤, 즉 유의미 분석이 가능한 상태로 만들고 나서 데이터 분석을 통해 악의적 침입을 차단한다. 분할해 경계를 감시할 과립형 요소의 단위가 무엇이냐의 문제다. ‘유의미’ 기준에 따라 패킷이 아니라 데이터다. 이를 위해 의미 및 구문 분석이 가능한 논리 엔진을 탑재한 ‘지능형 웹 어플리케이션 방화벽(intelligent WAF)’ 이용을 권장한다.

 

2) 컬럼 단위 암호화: 암호화 내용 공개 범위 최소화해야 안전

 

그림3

 

데이터 암호화는 너무나 당연한 일이다. 무조건 해야만 한다. 그 방법이 문제일 뿐. 암호화의 왕도는 최소 범위를 최소 인원에게 최단 시간 동안 노출하는 것이다. 많은 데이터를 많은 사람에게 오래 노출하면 할수록 위험하다. 이를테면 데이터베이스 전체 암호화를 적용했다고 가정해 보자. 업무시간 전체에 걸쳐 내부 사용자 전원에게 암호화되지 않은 상태로 내용을 공개해야만 업무가 가능하다. 전체 암호화 방식은 그 자체로 보안성이 취약한 것이다. DB 내용 중 암호화가 필요한 비밀정보의 양은 그리 많지 않다. 그리고 대개 일정한 컬럼 형태로 군집을 이룬다. 비밀정보만 컬럼 단위로 암호화해 두고 나머지는 평문 상태로 자유롭게 이용하되, 암호화한 내용이 필요한 경우 제한된 사용자 그리고 제한된 시간에 한정해 공개하는 ‘컬럼 단위 암호화’ 방식이 가장 안전하고 효율적이다. 제로 트러스트의 미세-분할 방향성에도 부합한다.

 

3) 클라우드 환경 유리: 자체 설비 관리 부담에 따른 권한 오남용

회사가 자체 보유한 하드웨어 관리 부담에 따른 ‘인간적’ 보안사고가 아주 빈번하다. 하드웨어를 기준으로 한 보안정책은 대개 서버 관리자, 시스템 관리자 등 직책과 임무로서 지정되기 때문에 인간적 잘못이 발생할 위험이 크다. 업무 편리, 담당자 부재시 상황 대응, 보안의식 낮음 등의 이유로 권한 관리가 실패한다. 단지 “불편하다”는 이유로 임의로 서버 접근 권한을 아무에게나 부여해 버리는 사례도 빈번하다. 보안정책을 원론적으로 적용하고 보다 투명하게 관리할 수 있다는 점에서 클라우드 환경이 오히려 보안에 유리하다고 볼 수 있다. 웹보안, 데이터 암호화 등 필수적 기업정보보안 도구들은 기존 전산 환경뿐 아니라 클라우드 환경도 충분히 지원하고 있다. 반면, 클라우드는 클라우드의 보안 위험성이 따로 존재하므로 주의를 요한다. 이에 대해서는 우선 클라우드 보안 전문기업의 컨설팅을 받아 보길 권한다.

 

4) 사용성 저하 방지: 보안 수준은 높이되 사용자 불편은 줄여야

데이터 접근은 엄격히 제한하되, 사용자 편의성은 낮아지지 않아야 한다. 절차가 너무 복잡하면 효율이 급격히 저하된다. 그에 따라 불편이 핑계인 편법이 만연하게 되는데, 이를 단지 개인의 보안의식 부족 탓으로만 모는 지적은 결국 쓸데없는 헛된 말로 그치고 마는 게 현실이다. 인간은 뭐든 조금이라도 불편하면 무조건 편한 방법을 찾기 마련이니까. 통합인증 SSO(Single Sign On) 등 시스템 접근 도구를 이용해 편의성과 사용성을 높이되, 그것만으로는 안전하지 않으니 추가로 보안성까지 충족하게끔 보강된 ‘보안 SSO(Secure SSO)’ 사용을 권한다.

 

여기에 앞서 열거한 오케스트레이션, 애널리틱스, 스코어링 등 보안관리 정책까지 더해야지 제로 트러스트 보안론에 충실한 보안을 제대로 적용했다고 할 수 있다. 하지만 ‘제로 트러스트’란 어떤 방향성이니, 애초에 방법론 완성이란 게 없는 일이다. 취지에 맞게끔 구체적 방법을 설계하고 적절한 도구를 배치하고 엄격한 정책을 적용하고 또 계속 보완해 갈 일이고, 그 기준은 ‘미세-분할’과 ‘과립형 경계 시행’ 원론이다. 다시 말해, 보안의 기본에서 찾을 일이다.

5G의 위험과 불만…보안과 공정

 

5G 시대가 열렸다. 큰 맘 먹고 비싸게 샀는데 제대로 터지지도 않는다는 소비자 불만이 뜨겁지만, 4G 도입기에도 마찬가지였다. 그리 뜨겁게 좌충우돌하며 기술은 확산되다 곧 안정되고 어느새 자연스럽게 일상으로 받아들여지게 될 것이다. 그때쯤 6G가 등장하고 또 뜨거워지겠지만.

일반 확산에, 우려는 있다. 5G 대표선수가 아직은 좀 멀게 느껴지는 사물인터넷(IoT)이기 때문이다. 5G는 단순히 통신 속도 향상이 목적인 기술이 아니다. 물론 속도가 이론상 20배 정도로 빠르다지만 그보다는 저지연성이 기술의 핵심이다. 4G의 20ms에서 1ms까지 획기적으로 줄어든 ‘랙타임’에 따른 가장 큰 변화를 IoT 분야에서 가장 두드러지게 체감할 수 있다.

따라서 지금껏 동작 지연에 따른 위험 때문에 실용화되지 못했던 중장비 원격조종이나 위험물 원격처리 등 위험 작업의 원격화, 그리고 역시 저지연성이 필수적인 원격의료와 로봇 수술 등 의료계 활용도가 높으리라 전망된다. 실시간이란 말이 일반적 의미인 동시성이 아니라 순서 정확성과 절차 엄격성의 뜻으로 통하는 공장에서의 쓸모도 주목할 만하다. 특히 스마트카, 자율주행차 등 모빌리티 혁명이 5G 시대의 가장 두드러진 변화일 거라 예상된다.

 

그러나 위 열거한 용도는 일반 사용자에게 해당하는 일이 아니다. 그래서 일반 사용자는 5G 등장에 따른 획기적 변화를 당장은 직접 체감하기 어렵다. 구글과 애플이 엄청난 자본을 투자하고 있는 게임 구독 서비스가 상용화될 때쯤에야 대중은 비로소 5G 효과를 제대로 느끼게 될 것 같다. 대중에게 4G의 인상이 동영상 실시간 스트리밍 서비스였다면, 5G의 인상은 게임 플레이 스트리밍 서비스가 되리라 예상한다. 각종 서비스의 정적 이용이 동적 이용으로 변하는 것이다. 직접 체감 기회는 다소 늦어질지 몰라도 뭔가 확실히 달라졌음은 곧 체감하게 될 것이다.

5G의 위험: 보안

그런데 5G의 태생적 위험이 있다. 구조적으로 보안에 취약하다. 분야별 그리고 용도별로 서로 폐쇄적이던 기존 망 구조와 달리, 5G는 개방형으로 설계되어 용도에 따른 분산 구조로 적용된다. 대역을 쪼개 여러 분야에 분산해 적용하는 네트워크 슬라이싱 방식이다. 하나의 망을 통신, IoT, VR, 자율주행 등 가상 전용망으로 나눠 통신한다. 이리저리 분리하긴 하지만 어쨌든 결국 한 바구니에 담는 방식이다. 따라서 일반 기지국에서도 모든 종류의 데이터가 오가게 된다.

그래서 벌어진 것이 요즘 한창 요란한 화웨이 안보위협 논쟁이다. 망이 분야별로 폐쇄적일 때는 혹시 장비 해킹이 일어나더라도 해당 분야의 피해에 그치고, 보안 조치를 분야마다 최적화해 적용하는 일도 비교적 간단하다. 하지만 5G 환경에서는 장비 해킹을 통해 모든 종류의 데이터를 건드릴 위험성이 있고 이는 심지어 국가안보와 정보전쟁 문제로까지 이어진다는 것이 미국 등 서방국가들의 주장이다. 예비역 장성 등 미국사회 주요인사 일각에서는 “중국이 IoT 네트워크를 장악하면 상대국가 전체를 무기화할 수 있다” 등 거친 발언이 나오는 것도 아주 틀린 말이라 할 수는 없으니, 이 논쟁은 앞으로도 한동안 계속될 듯싶다.

그러니 국내외 통신사들도 하나같이 ‘보안이야말로 5G 사업의 경쟁력’이라고 말한다. 5G와 IoT 덕분에 서비스는 아주 화려해지겠지만, 보안이 무너지면 원격의료나 자율주행차 등 사람 목숨이 걸린 사고로까지 이어질 수 있기 때문에 사업 전체가 송두리째 위기를 맞게 될 위험이 있다. 그래서 보안 리스크 관리가 다른 그 무엇보다도 중요한 사업 경쟁력이 된다. 5G 보안 해법으로 KT는 블록체인을, SKT는 양자암호를 내세우는데, 결국엔 모든 기술이 복합적으로 통합 적용되어야 할 것이다. 블록체인과 암호화, 5G 보안의 두 가지 핵심 키워드다. 물론 IoT 보안 또한 당연히 필수다. 5G는 즉 IoT니까.

5G의 불만: 공정

소비자에게 체감 기회 지연과 함께 5G 여론을 험하게 만들 것으로 예상되는 건, 공정함에 대한 불만이다. 한껏 화려한 5G 서비스를 자유롭게 이용하려면 엄청난 양의 데이터 통신이 필요하다. 서비스가 아무리 멋지더라도 합리적 가격에 이용할 수 있어야지 만족할 텐데, 데이터 양이 너무 크기 때문에 데이터 이용 요금 문제가 쉽게 풀 수 없는 난제가 된다. 단지 값이 싸냐 비싸냐하는 문제가 아니다. 요금의 정당성 문제도 있다. 이를테면, 자동차를 보자.

5G 시대 자동차는 ‘데이터 드리븐 카’다. 데이터 통신에 전적으로 의존해 주행한다. 그리고 주행 중에 생산되는 드라이빙 데이터는 각종 서비스를 만드는 재료로 쓰인다. 데이터는 5G 시대 자동차 관련 업계 전체를 움직이는 연료인 셈이다. 따라서 사용자의 드라이빙 데이터, 즉 나의 운전 기록 데이터에는 확실한 금전적 가치가 있다. 그런데 그 데이터 비용 그리고 그 데이터로 만든 서비스 비용을 모두 다 내야 한다면? 사용자 입장에서는 어째 억울한 기분이다. 내 데이터를 상품 원료로 제공하는데 그 데이터로 만든 상품을 내 돈 내고 사야 하다니, 확실히 공정하지 않다.

드라이빙 데이터뿐만이 아니다. 사용자가 생산하는 모든 종류의 데이터 저작권 문제가 소비자 불만이 될 수 있다. 데이터 생산자에게 정당한 권리를 제대로 챙겨 줘야만 비로소 거래가 공정해질 텐데 아직은 그 방법이 미비하다. 사용자 데이터가 원료인 산업 분야를 분류하고 불량 데이터를 걸러내고 정제한 데이터가 데이터 마켓에서 거래되어야 해결될 일이다. 이때 블록체인 기술이 해법이 될 수 있다. 블록체인을 통해 산업재 데이터에 데이터 생산자 명의와 가격표를 붙여 거래하는 것이다. 데이터 값 결정은 시장 자체의 동작에 맡겨도 될 일이다.

보안칼럼_안전한 암호화폐 지갑

암호화폐 지갑이란?

 

완벽한 암호화폐 보안, 절대 쉬운 일 아니다. 세상에 숱한 암호화폐 지갑 제조사들이 자기네 지갑만 쓰면 완벽하게 안전하다고 주장하지만 실상과는 거리가 있다. 이에 안전한 암호화폐 지갑에 대해 알아보기로 하고, 우선 암호화폐 지갑이 뭔지부터 살펴보자.

 

암호화폐 지갑이란?

일상에서 ‘지갑’은 화폐, 신용카드, 신분증 등을 넣고 휴대하는 물건이다. 그래서 ‘암호화폐 지갑’이라 하면 흔히 암호화폐를 보관하는 진짜 지갑 같은 물건을 떠올린다. 비트코인이나 이더리움 등 암호화폐가 지갑 안에 들어 있을 것 같다. 그러나 암호화폐 지갑 안에는 암호화폐가 없다. 암호화폐 지갑은 블록체인 분산원장에 기록되는 거래 트랜잭션 데이터를 생성하고 서명하는 일에 사용되는 비공개키를 보관하고 관리하기 위한 도구일 뿐이다.

그림1

그럼 암호화폐는 지갑이 아니라 어디에 있는 걸까? 참여자 모두가 공유하는 블록체인 안에 있다. 내 자산, 비트코인이라면 내 키와 연결된 주소의 UTXO 합, 이더리움이라면 내 키와 연결된 계좌의 밸런스, 그러한 내 자산은 블록체인에 들어 있다. 혹시 지갑 안에 보관하는 키를 잃어버리면 암호화폐가 사라지는 것이 아니라 내 자산의 소유권을 증명할 수 없게 되는 것이다. 그렇기 때문에 암호화폐 자산 관리에 있어 가장 중요한 일은 키 관리다. 암호화폐 지갑이란 바로 그 키 관리를 하기 위한 도구다.

 

암호화폐 거래 증명과 암호화 기술

암호화폐 거래 즉 트랜잭션은 모두 ‘공개키 암호화’ 방식을 이용해 서명해야만 유효한 것으로 인정된다. 공개키 암호화 방식이란 개인키 그리고 그 개인키에 대응하는 공개키의 쌍으로 이루어지는 암호화 과정이다. 암호화폐 거래 시 개인키로 서명한 트랜잭션을 공개키로 검증함으로써 거래의 주체가 확실하다는 사실을 검증한다.

그림2

[ Public-key cryptography : https://en.wikipedia.org/wiki/Public-key_cryptography  ]

 

개인키는 절대 남에게 공개하지 않고 은밀히 관리해야 하기 때문에 ‘비공개키’라고도 한다. 256 비트의 랜덤 숫자를 일반적으로 사용하는 내 개인키가 외부로 노출될 경우 나 아닌 다른 사람이 나인 척 유효한 서명을 할 수 있게 된다. 이는 다시 말해 내 자산을 모두 다 가져가 버릴 수 있다는 뜻이다. 따라서 개인키를 안전하게 관리하는 일이 암호화폐 지갑의 제1의 목적이다.

공개키는 말뜻 그대로 공개되어 있는 키다. 개인키를 통해 공개키를 쉽게 생성할 수는 있지만, 개인키의 소유자가 아닌 사람이 공개키로부터 개인키를 생성하는 일은 불가능하다. 따라서 공개키가 일반에 공개되어 있더라도 쌍을 이루는 개인키가 없는 한 아무나 그 공개키를 이용할 수 없는 성질을 이용한 것이 공개키 암호화 방식이다. 그러한 성질에 따라 공개키에 SHA-256 일방향 암호화를 반복해 적용하는 이중 해싱 인코딩 등을 적용해 암호화폐 주소를 만든다. 일방향 암호화로 공개키를 통해 주소를 생성하지만 주소 즉 공개키로부터 개인키를 알아내는 일은 불가능하다.

 

암호화폐 지갑 기술의 발전사

인류 문명의 발전사는 결국 온갖 도구의 편리한 이용을 향한 연구개발의 역사 아닌가 싶다. 암호화폐 지갑도 날이 갈수록 점점 더 편리해졌는데, 그 변화는 암호화폐 지갑 기술에 대한 아주 중요한 의미를 담고 있으니 간략하게나마 살펴보자.

앞서 암호화폐 거래는 개인키와 공개키 쌍에 대한 검증을 통해 증명된다 했다. 그렇다면 개인키와 공개키 각각 1개씩만 갖고 있으면 거래를 막 해도 되는 걸까. 그렇진 않다. 거래 트랜잭션에는 거래자 명의와 주소 그리고 공개키 정보가 기록된다. 그리고 모든 트랜잭션은 나 말고도 누구나 간단히 조회할 수 있기 때문에, 같은 키와 주소를 계속 사용하면 내 자산 규모나 거래 내역 등이 모두 다 노출된다. 이는 개인의 프라이버시 침해 문제라 이를 피하고 사용자 편의를 향상하는 방법이 지속적으로 개선되어 왔고, 그 변화가 암호화폐 지갑 기술의 발전사라 할 수 있다.

최초의 암호화폐 지갑은 주소와 키 재사용을 피하기 위해 기본 100개 이상의 개인키를 무작위로 생성하고 코인별 그리고 용도별로 다른 개인키와 공개키를 사용했다. 이로써 프라이버시 노출 문제는 피할 수 있었지만 모든 거래에 대해 사용된 키를 저장하고 관리해야 하는 불편함이 컸다. 키를 무작위로 생성하기 때문에 이를 ‘랜덤 지갑(Random Wallets)’이라 한다. 아래 결정성 지갑과 대비해 ‘비결정성 지갑(Nondeterministic Wallets)’이라고도 부른다.

랜덤 지갑의 불편함을 해소하기 위해 개발된 것이 ‘결정성 지갑(Deterministic Wallets)’이다. 결정성 지갑은 다수의 난수표로부터 하나를 골라 난수를 생성하는 랜덤 시드 값을 이용하기 때문에 ‘시드 지갑(Seeded Wallets)’이라고도 부른다. 결정성 지갑은 날것의 무작위 키를 생성하지 않고 하나의 시드 값으로 순차적으로 키를 생성한다. 따라서 시드를 안전하게 보관하기만 하면 언제든 시드로부터 개인키를 순차적으로 재생성할 수 있기 때문에 거래에 사용된 모든 키를 백업하고 관리하는 불편함 문제를 해소한 지갑이다.

 

그림3

[ BIP-0032 : https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki ]

 

하지만 완전히 편리해진 건 아니다. 암호화폐 종류는 다양하고 한 사용자가 여러 주소를 가질 수도 있는데 결정성 지갑만으로는 그 복잡다단한 환경 전체를 모두 다 관리할 수가 없다. 그래서 ‘계층 구조 결정성 지갑(Hierarchical Deterministic Wallets)’ 개념이 제안되었다. 줄여서 ‘HD 지갑’이라고도 부르는 계층 구조 결정성 지갑은 마스터 시드로부터 개인키를 계층적으로 생성하고 관리함으로써 하나의 지갑으로 여러 화폐 그리고 주소를 관리할 수 있게 되었다. HD 지갑 기술은 ‘BIP-0032’란 이름의 형식으로 사실상 표준화되었고, BIP-0032 이후 BIP-0043 그리고 BIP-0044 등을 통해 계층 구조를 보다 정교화하는 등 기술을 보강해 왔다.

 

니모닉 코드, 사람이 읽을 수 있는 시드

HD 지갑에서는 마스터 시드만 있으면 모든 키를 재생성함으로써 지갑 전체를 복원할 수 있다. 하지만 16진법 32자리 무작위 텍스트로 출력되는 마스터 시드를 기억하고 보관하는 건 결코 쉬운 일이 아니다. 시드 값이 사람이 읽을 수 있는 단어가 아니기 때문이다. 그래서 사용 편리와 사용자 실수 예방을 위해 시드 값을 사람이 읽을 수 있는, 사전에 나오는 일상 단어로 표현해 줄 필요가 있다.

‘니모닉(Mnemonic) 코드’가 바로 그 역할을 맡는다. 일반 텍스트 단어로 표현되는 니모닉 코드는 암호화폐 지갑 사용자가 난해한 기술에 대한 이해 없이도 지갑을 편리하게 사용할 수 있도록 돕는다. ‘BIP-0039’ 형식으로 정리된 니모닉 코드는 임의의 값을 사전에 정의된 일상적 단어 리스트에 매핑한다. 니모닉 코드는 해시 함수를 재귀적으로 반복하는 키 스트레칭 과정을 거쳐 마스터 시드를 생성하고, 그 마스터 시드는 HD 지갑 동작의 바탕이 된다.

니모닉 코드는 흔히 볼 수 있는 단어의 조합으로 구성되기 때문에 왠지 보안적으로 불안해 보이기도 하지만 이는 착각일 뿐이다. 니모닉 코드에 대한 가장 단순한 그러나 강력한 무작위 대입(Broute-force) 공격을 한다더라도 목적을 달성하는데 12개 니모닉 사용 시 2의 128승의 조합이 필요하고 50% 확률로 찾으려 해도 2의 127승의 시도가 필요하다. 즉 니모닉 코드 해킹을 위한 노력보다 암호화폐 채광 쪽이 더 경제적 판단이라, 해커 입장에서도 니모닉 코드 해킹하려고 애쓰기보다 차라리 부지런히 채광이나 하는 게 낫다.

 

동작은 하는 지갑, 안전하진 않다

위 기술들만 있으면 지갑을 만들 수 있다. 모두 공통 표준 기술로 일반에 공개되어 있기 때문에 기술에 대한 깊은 이해 없이도 가져다 쓰기만 하면 어쨌든 지갑을 만들 수는 있다. 오류만 없다면 지갑은 제대로 동작할 것이다. 하지만 안전한 지갑이라 할 수는 없다.

안전한 암호화폐 지갑은 단지 지갑만의 문제가 아니다. 지갑이 아무리 튼튼하더라도 암호화폐는 눈 깜짝할 새 어디론가 사라질 수 있다. 숱한 암호화폐 해킹 사고들이 위 기술들이 없어서 일어난 게 아니다. “쇠사슬은 가장 약한 고리만큼 약하다”는 보안의 오래된 격언은 여전히 옳다. 앞으로도 계속해서 유효할 것이다.

안전한 암호화폐 지갑은 안전한 암호화폐 환경 전체를 이루고 그 안에서 동작해야만 가능하다. 안전한 암호화폐 지갑을 위해서는 앞서 간략히 살펴본 1)암호화폐 지갑 기술과 2)암호화 등 보안 기술 그리고 그러한 이해를 바탕으로 한 3)안전한 환경 전체를 설계하고 구축하는 보안 아키텍처 기술, 3가지가 모두 다 필요하다. 특히 2)의 심도 깊은 이해는 3)의 필수다. 

2017-06-14-1497416430-1422267-50_00-thumb

자동차회사=소프트웨어회사?

 

2017-06-14-1497416430-1422267-50_00-thumb

 

 

자동차회사 기술자들과 자동차보안 관련 회의를 할 때, 예전에 비해 분위기가 많이 달라졌음을 느낀다. 중공업 특유의 하드함이 접근을 거부하는 높은 벽 같아 왠지 답답했는데, 요즘은 많이 소프트해진 느낌이다. “자동차회사는 소프트웨어 개발사” 선언 전후로 확실히 달라진 것 같으니, 말이라는 것이 사람의 마음에 미치는 영향은 정말 크구나, 새삼 놀란다. 그리고 오늘날 자동차의 기술적 성질을 볼 때 이는 매우 긍정적인 변화라 생각된다.

그런데 대화가 원론적 수준에서 실무적 수준으로 넘어갈 때쯤, 확실한 변화에 도달하기엔 아직은 갈 길이 좀 멀구나 싶은 생각도 든다. 머리로는 ‘그래, 소프트웨어야’ 라고 생각을 고쳤다 하더라도 몸에 달라붙은 버릇을 바꾸기는 여간 쉬운 일이 아닌가 보다. 여전히 자동차산업은 소프트웨어가 아니라 하드웨어 조립산업으로 인식된다. 그러니 어떤 문제에 대해서든 조립의 단위인 부품 위주로 사고하려는 버릇이 남아 있다. 자동차보안 문제 또한 어떤 부품의 어떤 기능 정도로 생각하는 경향이 있다. 소프트웨어적으로 볼 때 이는 상당히 잘못된 인식이다. 이에, 현장에서 자주 듣는 질문에 답함으로써 ‘자동차=소프트웨어’ 등식을 다시 한 번 생각해 보자.

 

“자동차 부품에 어떤 보안 기능을 탑재해야 하나?”

원론적으로 말하자면, 보안이란 ‘기능’이 아니다. 소프트웨어 세계에서는 보안을 필요에 따라 추가하는 부가적 기능으로 보지 않는다. 언제나 보안을 고려해 시스템을 ‘설계’해야 한다. 보안을 무시하는 개발자는 결국 큰 문제를 일으키고 만다. 결정적으로, 보안과 관련된 기능이 있다고 해서 그 소프트웨어가 저절로 안전해지는 것도 아니다. 총체적으로 안전한 시스템을 설계하는 것이 보안적으로 가장 중요한 일이다.

실무적으로 보더라도, 보안 기능이 필요한 부품이 있고 아닌 부품이 있다. 크게 자동차 ‘내부(Internal)’ 통신 영역과 ‘외부(External)’ 통신 영역으로 나눠 보자면, 내부통신 영역에 해당하는 부품들은 대체로 특별한 보안 기능을 따로 추가할 필요가 없다. 주로 CAN(Controller Area Network)으로 통신하며 자동차 주행에 관련된 각종 장치들을 제어하는 내부 ECU(Electronic Control Unit)들이 여기에 해당한다. 그것들은 보안 기능 추가가 아니라 외부의 위험으로부터의 ‘격리’가 필요한 것들이다. 보안 기능은 CCU(Communication Control Unit)를 통해 자동차 외부와 통신하는 영역에 탑재하고 철저하게 관리하는 것이 일반적으로 적절한 설계다. 외부통신과 직접 관계되는 텔레매틱스(Telematics)나 인포테인먼트(Infotainment) 등이 여기에 해당한다.

특히 ECU 중 구동장치나 제동장치 등 자동차의 주행과 직접 관계되는 부품들은 애초에 주어진 바 각각의 목적에만 충실한 단순 사칙연산만을 수행하는 것이 소프트웨어적으로 오히려 안전하다. 단순해야 할 것은 단순해야 한다는 뜻이다. 안전하게 설계된 시스템이라면, 미국의 자동차 보안 및 사생활 보호 ‘SPY CAR(The Security and Privacy in Your Car)’ 법안에서도 언급하듯 보안이 꼭 필요한 영역과 보안이 불필요한 영역을 안전하게 ‘분리’한 시스템이라면 MCU 등의 부품에는 암호화나 키 관리 등 보안 기능을 따로 탑재할 필요가 없다. 오히려 괜한 복잡성 때문에 예기치 못한 오작동 등 위험성만 높아질 뿐이다.

 

“커넥티드 카 때문에 모든 부품에 보안 기능을 탑재해야 한다던데?”

아니, 오히려 안전을 위해서라도 피해야 할 일이다. ‘커넥티드 카’란 무선통신을 통해 내비게이션, 원격제어, 인포테인먼트, 자율주행 등의 서비스로써 자동차를 단순한 운송수단을 넘어 정보통신기기로 변화하게 만드는 기술을 통칭하는 개념이다. 앞서 말했듯 대체로 자동차 외부통신에 관계된 문제다. 내부통신 영역과 분리해 생각해야 한다.

간단히 말하자면, 커넥티드 카 보안이란 자동차 내부의 ECU 간의 통신을 외부통신으로부터 격리함으로써 안전하게 지키는 일이다. 즉, 자동차 외부에서 내부 장치를 임의로 조작할 수 없어야 한다는 뜻이다. 그렇기 때문에 커넥티드 카 때문에 “모든” 부품에 보안 기능이 탑재되어야 한다는 말은 별 의미가 없는 말이다. 정확히 분석된 보안적 필요에 따라 꼭 필요한 보안 기능을 꼭 필요한 적재적소에 적절하게 적용하는 일, 즉 안전한 시스템 설계야말로 자동차의 소프트웨어적 무결성을 이루는 올바른 방법이다.

“그렇다면 왜들 그리 보안부품을 사야 한다고 말하는가?”

일단은 자동차보안 기술 전반에 대한 이해 부족 때문이라고 생각되고, 부품기업들의 사업 전략적 필요 또한 의심해 볼 수 있겠다. 전장(電裝, E/E, Electrical/Electronic Components) 산업이 자동차 산업의 미래라는 말은 조금도 과장이 아니다. 자동차 제조원가에서 전장부품이 차지하는 비율은 현재 35% 정도에서 곧 50%를 넘으리라 예상된다. 그러니 이를 두고 전 세계적으로 경쟁이 아주 치열하다. 해당 시장의 기존 강자들뿐 아니라 후발주자인 세계적 전자기업들이 막강한 자본력을 무기 삼아 점점 더 커지는 전장 시장을 노리고 덤벼든다. 이를테면 한국의 ‘삼성전자’가 미국의 오디오 전문기업 ‘하만(Harman)’을 80억 달러에 인수한 것도 전장 사업의 미래 가치 때문이다. 그러니 자동차회사 입장에서도 그런 부품회사들에게 사업적으로 종속되지 않기 위해서라도 전장부품을 직접 생산하는 계획을 세울 수밖에 없는 처지다. 그렇기 때문에 기존 제품들과 다른 기술적 특수성이 과장되는 것일 뿐, 그 특수성이 실제로 필요한 것인지와는 전혀 무관한 이야기다. 자동차보안 기술적으로 보더라도, 불필요한 연산을 괜히 낭비할 뿐이다.

 

“커넥티드 카 시대를 대비해 자동차회사는 어떤 일을 해야 하나?”

무조건 보안이다. 즉, 안전한 시스템의 설계다. 10년 뒤 가장 중요한 IT 기술은 자동차보안일 거라 전망한다. 소셜 네트워크, 클라우드 컴퓨팅, 빅 데이터, IoT 등 온갖 요란한 기술들보다 자동차보안이 훨씬 더 중요하다. 다른 것들에 비해 자동차보안은 사람의 목숨이 걸려 있는 일이기 때문이다. 천 번 만 번 잘했다더라도 혹시 단 한 번 잘못하면 기업의 존망까지 위태로워질 수 있다. 커넥티드 카는 하드웨어적으로 그리고 소프트웨어적으로 일단 안전해야 한다. 편의성 등 여타 성질들은 모두 다 안전성 한참 뒤에 놓인다.

그리고, 소프트웨어적 무결성에 도전해야 한다. 과거 자동차는 ‘기계장치’였지만 미래 자동차는 ‘전자장치’다. 지금도 차량 1대에 100개 정도의 ECU와 1억 줄 정도의 코드가 탑재된다. 고가의 차량일수록 탑재된 전장부품의 수가 많고 더 많은 코드를 넣었다고 자랑 아닌 자랑을 하기도 한다. 하지만 통계적으로만 보자면 상업용 소프트웨어는 일반적으로 코드 1,000줄에 7개의 버그를 가지고 있다. 그렇게 보자면 자동차에는 10만 개의 버그가 있다고 가정할 수 있다. 지금도 끊임없이 발생하는 원인을 알 수 없는 온갖 사고들이 이와 무관하지 않을 것이다. 그러니 소프트웨어 개발사가 그러하듯, 소프트웨어로서의 퀄리티 관리와 프로그램의 동작에는 변화 없이 프로그램 내부의 구조를 개선하는 리팩토링 등 사후 확인 작업을 통해 소프트웨어적 최적화에 집중할 것을 권한다. 그런 일들을 제대로 해내기만 해도 현재 원인 불명의 문제들이 대폭 해소되리라 예상한다.

그리고 거듭 강조하는 바, 기존의 하드웨어 조립산업의 패러다임으로부터 벗어나야 한다. 자동차회사는 소프트웨어 개발사로서 자동차를 ‘안전한 시스템’으로 ‘설계’하는 일에 집중해야 한다. 그 일은 부품회사 등 다른 누군가가 대신 해 줄 수 없는 일이다. 지금껏 자동차는 비싼 부품과 싼 부품으로 완제품의 가격을 조절했다. 그래서 값이 10배 이상 차이 나는 제품군이 성립 가능했다. 10배 비싸지만 10배 더 좋은 오디오는 가능하다. 하지만 10배 안전한 보안은 가능한가? 가장 비싼 차보다 10배 싸다고 해서 10배 불안한 자동차를 팔 것인가? 안전 때문에라도 자동차보안 문제는 부품 기준 사고방식으로 풀 수 있는 문제가 아니다. 부품과 무관하게 안전한 소프트웨어 시스템을 설계하고 이를 싼 차와 비싼 차에 모두 적용해야 할 일이다.

“자동차회사는 소프트웨어 개발사”, 정말 그렇게 되기를 기대하고 응원한다.

OLYMPUS DIGITAL CAMERA

사물인터넷도 대기업의 몫인가

 

2017-12-13-1513150747-2514564-61_00-thumb

 

우선, 오해가 있다. 어떤 사물을 인터넷에 연결하기만 하면 ‘사물인터넷’ 된다는 오해.

웹 검색기에 IoT, 스타트업, 사물인터넷, 창업 등 검색어 넣어 보면 온갖 화려한 미사여구로 치장한 글이 엄청 뜬다. 사물인터넷으로 스타트업 육성, IoT 스타트업 이렇게 시작하라, 뜨거운 사물인터넷 창업 열기 등, 아주 뜨겁다. 정부도 마찬가지다. 사물인터넷이야말로 소자본 창업이 용이한 미래산업이므로 우리 모두 창조적으로 뭐 어쩌고저쩌고.. 그런데,

IoT는 정말 소자본 스타트업에 어울리는 사업일까?

결론부터 말하자면, 지금은 그렇지 않다. 그래선 안 된다.

 

IoT는 삼위일체

 

1)디바이스, 2)어플리케이션, 3)클라우드, 이 3가지 요소가 합해 IoT를 이룬다.

어플리케이션이란 말은 그냥 ‘인터넷’으로 바꿔 읽어도 무방하다. 요즘 어플리케이션은 거의 전부가 웹 어플리케이션이니까. 이름부터 ‘사물인터넷’이니 사물도 있고 인터넷도 있어야 하니 1)과 2)는 당연해 보인다. ‘사물’이 ‘인터넷’보다 먼저 나오고 실물이 눈에 딱 보이는 구체성까지 더해져 더 중요해 보이지만 실은 ‘인터넷’이 더 중요하다.

달리 말해, 드론 산업과 마찬가지다. 드론은 눈에 딱 보이는 물건이라서 ‘드론 산업’ 그러면 누구나 드론이라는 사물만 떠올리지만, 그래서 “드론은 중국이 세계 최고!”라며 “한국은 이제 어쩌지,,” 겁도 내고 그러는데, 드론 업의 본질은 날개 4장 달린 납작한 비행 물체를 가장 싸게 만드는 단순 산업공학적 경쟁이 아니라, 국가 규모의 3차원 좌표망 위 특정 위치에 추상적 데이터가 아닌 구체적 사물이 안정적으로 위치 그리고 이동하게끔 만드는 일과 그 관제, 그리고 안전이다. 물건 싸게 만들기만을 두고 경쟁하지 않아도 된다는 뜻이다.

그럼 1과 2)는 그렇다 치고, 3)클라우드는? 그 또한 필수 요소다. 사물로부터 수집한 정보를 클라우드를 통해 취합해 종합하고 분석함으로써 제품의 성능을 개선하고 사용자에게 필요한 서비스를 제공한다. 그게 없다면 사물인터넷이란 고작 어떤 물건에다 전화기를 통해서 켜고 끌 수 있는 원격 스위치를 붙이는 일에 불과할 테니까. 그 스위치마저도 안전이 필수적인 스위치라면 함부로 막 붙일 수도 없고.

 

IoT 보안도 삼위일체

 

1)디바이스, 2)어플리케이션, 3)클라우드가 IoT의 필수요소이므로,
1)디바이스 보안, 2)어플리케이션 보안, 3)클라우드 보안 또한 IoT 보안의 필수요소다.

문제는 그 3가지 보안이 서로 다른 성질의 기술을 요구하므로 기술 연구개발의 성격 또한 다른데, 대기업 규모라면 각각 따로 전담 팀을 운영해 별 문제 없겠지만 소규모 기업 형편으로는 감당하기 어려운 일이다. 모든 팀 다 짜려면 이미 작은 기업이 아니게 되니까. 그래서,

IoT는 정말 소자본 스타트업에 어울리는 사업일까?

지금은 그렇지 않다는 것이다. 그리 함부로 막 덤벼들 일이 아니다. 또 그래서도 안 된다. IoT는 기존 흔한 IT와 달리 사람과 직접 접촉하는 사물을 다루는 기술이기 때문에 안전 문제가 훨씬 더 치명적이다. 따라서 IoT는 “선보안-후연결” 원칙이 필수적이다. 정보만 오가는 IT 사고는 터져도 돈 좀 잃고 회사 상대로 법 두고 다투면 될 일이지만, 사물을 다루는 IoT 사고는 사람 목숨이 위험할 수도 있다. 낮잠 자다가 로봇 청소기에 머리카락이 빨려들어가 119 구조대가 출동한 일쯤은 웃으며 나누는 옛날 이야기처럼 차라리 귀여운 수준의 사고일 수도 있다.

1)디바이스 보안, 2)어플리케이션 보안, 3)클라우드 보안 등, IoT 보안의 삼위일체의 어느 한 요소도 절대 허술해선 안 된다. 그런데도 쉽게 “IoT는 소규모 창업!” 떠드는 어수선한 풍토가 정말 우려스럽다. 그 와중에 인터넷 카메라 등 아직은 고작 태동기 수준에 머물러 있는 IoT 사물들은 온갖 사고를 터뜨리고 있다. 정말 위험한 상황이다.

그렇다고, 포기해야 하나. IoT마저 대기업의 몫이란 말인가. 다행히 그렇진 않다.

 

IoT 개발은, IoT 플랫폼

 

IT 이야기에 흔히 등장하는 ‘플랫폼’이란 용어는 승강장이라는 원래 말뜻을 넘어서 시스템을 구성하는 골격의 뜻으로 여러 산업 분야에서 두루 쓰인다. 여러 사람이 쉽게 이용하는 공용 기반시설 정도의 뜻인데, 이를테면 공장의 생산 과정 전반에서부터 어떤 IT 어플리케이션이 동작하는 바탕이 되는 OS 등 환경까지 전반적으로 일컫는 말이다.

말하자면 산업공학적 합리의 흐름에 따라 정착된 용어인데, 대량생산을 위한 절차 그리고 절차의 자동화를 고민하는 과정을 통해 개념이 각각의 분야에서 점차 구체화되었다. 이에 따라 요즘은 윈도우, macOS, 안드로이드, iOS 등 운영체제나 인터넷 익스플로러, 크롬 등 브라우저까지 플랫폼이라 불리고 있고, 개발 편리를 위해 어떤 언어를 위한 환경을 제공해 주는 보조 어플리케이션도 개발 플랫폼이라 불린다

IoT에도 그런 플랫폼이 있다. IoT가 오늘날 IT 업계의 가장 뜨거운 유행인 만큼 여러 회사들이 경쟁적으로 훌륭한 IoT 플랫폼 서비스를 제공한다. 그러한 플랫폼을 이용하면 작은 회사들도 필요한 모든 기술력을 자체적으로 보유하지 않고도 HTTP 등 프로토콜을 이용해 디바이스를 다른 디바이스 그리고 웹 서비스에 연결하고, 데이터를 주고받으며 상호작용하고, 수집한 데이터를 처리하고, 그 처리 결과에 기반한 서비스를 운영하는 등의 사물인터넷 사업을 훌륭히 운영할 수 있다.

그럼 작은 회사도 IoT 플랫폼 이용해 간편하게 개발하면 될 일 아닌가. 문제는,

 

IoT 보안은, IoT 보안 플랫폼

 

IoT 플랫폼이 제공하는 서비스 사양을 자세히 들여다보면 보안 부분은 어째 좀 부실하다. 이는 클라우드 컴퓨팅 서비스의 보안 부실과도 비슷한 현상이다. 필요한 기능을 모두 다 제공해 주는 것 같지만 유독 보안 부분만은 부실한 것. 플랫폼 서비스 제공자마다 ‘공동책임모델’ 등의 엄격하고 딱딱한 용어를 쓰며 슬쩍 피하려 든다는 느낌이다. 아마도 사고 발생 시 법적 책임 문제 등 여러 복잡한 사정의 이유가 따로 있겠지만 이유야 어쨌든,

상업용 IoT 플랫폼들이 제공하는 IoT 보안은 그 자체만으로는 충분하지 않다. 특히 IoT 보안의 가장 기본이라 할 수 있는 인증서 운영 정책의 단순함에서부터 우려가 크다. IoT 사물에 있어 인증서는 여권과 같다. 사물은 인증서를 여권처럼 지닌 채 인터넷 세계를 여행한다. 그리고 그 여권을 검사하는 일은 인증기관(CA)이 맡는데, 그 체계가 전반적으로 부실한 것이다.

어느 정도의 복잡함은 불가피하다. 디바이스의 종류와 성질에 따라 적용하는 보안 방법론은 완전히 달라져야 한다. 이를테면 기능이 단순하고 제자리에 고정된 스마트 전등의 위험성과 아주 복잡하고 빠르게 달리는 스마트 자동차의 위험성은 하늘과 땅만큼 먼데 그 둘에다 같은 수준의 인증서를 사용할 수는 없잖은가.

IoT 보안에 있어 사물 그리고 사용자를 인증하는 일은 가장 먼저 일어나고 또 가장 중요하다. 그리고 그 중요성은 앞으로 IoT 기술이 점차 발전해 사람:사물 연결을 넘어 사물:사물 연결로 향해 갈수록 더욱 커질 것이다. 인터넷 사용 과정에 사람이 끼면 그 사람의 주의 집중을 강제해 사고를 예방하고 경고에 따르지 않았다는 이유로 문제의 상당한 책임이 사용자에게 있다고 우길 수도 있지만 ‘사물:사물’ 연결은 책임을 떠넘길 사람도 없으니, 이는 IoT 사업자 입장에서는 전에 비해 훨씬 더 커진 사업적 리스크다. 그래서라도 더욱, 선보안-후연결.

잘 짜여진 IoT 보안 플랫폼이 절실하다. 특히 IoT가 적용되는 여러 환경에 대응하는 다양한 인증서를 관리하고 인증기관(CA) 역할도 맡아 처리하는 일을 기반으로 잘 짜여진 IoT 보안 플랫폼이. 기존 IoT 플랫폼이 그 일까지 해 준다면 참 편하겠다만, 앞서 짐작해 본 ‘어른의 사정’ 때문에 아마도 요원한 일일 듯싶다. 세계는 이미 위험 신호를 계속 보내고 있는데 아무도 듣지 않는다. 큰 걱정이다.

2017-11-14-1510634577-7561902-60_00

WPA2, 배신자, 희생양

2017-11-14-1510634577-7561902-60_00

 

‘WPA2(Wi-Fi Protected Access 2)’도 무너졌다. 와이파이 보안 불안이야 늘 뜨거운 화제였지만, 그때마다 WPA2는 유일하게 안전한 방법으로서 권장되었다. 예전 ‘WEP(Wired Equivalent Privacy)’에 비해 WPA2는 이름에서부터 ‘Protected’, 충분히 보호되고 있다는 느낌이 들기도 했다. 보안 전문가들도 WPA2만큼은 안전하다고 말했고, 사용자들은 안심했다.

 

믿었던 WPA2

 

1997년에 도입되었던 WEP 방식은 2001년에 치명적인 보안 취약점이 알려졌고, 이를 대체하기 위해 보안성을 강화한 ‘WPA(Wi-Fi Protected Access)’ 표준이 제정되었다. 하지만 TKIP(Temporal Key Integrity Protocol) 방식의 보안 프로토콜을 사용하는 WPA도 단 60초 내에 해킹 가능하다는 사실이 밝혀졌다.

다행히 그 취약점은 TKIP 암호화 알고리즘이 아니라 AES(Advanced Encryption Standard) 방식을 사용함으로써 회피할 수 있었고, 이에 AES에 기반한 CCMP(Counter Cipher Mode with block chaining message authentication code Protocol)를 기본으로 사용하는 WPA2가 등장했고, 오늘날까지 와이파이 통신 프로토콜 보안 표준으로서 자리매김하고 있다.

그래서 보안 전문가들도 “WPA2를 사용하라!” “WPA2는 안전하다!” 강하게 권장했던 것. 그런데 이제 그 WPA2마저 무너진 것이다. 경위를 살펴보자.

 

‘KRACK’으로 크랙

 

WPA2를 노린 ‘KRACK(Key Reinstallation AttaCK)’은 이름 뜻 그대로 키를 재설정하는 공격이다. WPA2 프로토콜의 키 관리 취약점을 공격한다.

미국 컴퓨터 비상 대응팀(US-CERT: United States Computer Emergency Readiness Team)은 KRACK의 위험성에 대해 “복호화, 패킷 재생, TCP 연결 하이재킹, HTTP 콘텐츠 인잭션 등이 영향을 받는다. 프로토콜 자체의 문제이기 때문에 WPA2 표준의 대부분 또는 모든 부분에 해당한다”고 밝혔다. KRACK 공격자는 와이파이 통신 과정에 개입해 키를 재설정함으로써 지금껏 안전하게 암호화되었다고 믿어 의심치 않던 정보들, 이를테면 신용카드번호, 비밀번호, 이메일, 메시지 등의 민감한 정보를 훔칠 수 있다.

이에 와이파이 사용자들은 혼란에 빠졌다. “WPA2는 믿어도 된다며!” “암호화는 안전하다며!” “AES마저 불안하다는 거냐!” 당연한 반응이다. 그만큼 WPA2에 대한 믿음이 굳건했던 것이다. 그리고 공격에 따른 피해 규모는 감히 상상도 할 수 없을 정도로 심각하다. 생각해 보자. 우리는 와이파이를 통해 얼마나 많은 그리고 위험한 정보를 주고받고 있나. 혼란은 당연하다.

 

혼란과 오해

 

하지만 혼란은 문제에 대한 잘못된 오해를 일으키고 따라서 해법 찾기를 어렵게 만들기도 한다. 당장 “암호화해도 다 뚫리잖아!” 분노를 흔히 볼 수 있다. 결론부터 말하자면, 그렇지 않다. KRACK은 WPA2 보안 프로토콜의 4 웨이 핸드셰이크 과정에 비정상적으로 개입해 무선 액세스 포인트(Wireless Access Point, WAP)가 아닌 사용자 클라이언트에 영향을 미치는 공격이며, 과정의 보안성을 증명하는데 사용되는 수학 즉 암호화를 무용지물로 만드는 공격은 아니다.

“그럼 앞으로는 WPA2를 쓰면 안 되는 건가?” 이 또한, 그렇지 않다. 클라이언트 보안 업데이트 등에 대한 확인 그리고 액세스 포인트 기기의 클라이언트 기능 해제 등의 조치를 취해야 하지만, 당장 WPA2 사용을 중단해서는 안 된다. 다소 거칠게 말하자면, 대안이 없다,,

문득 떠오르는 옛날 이야기,

 

배신자와 희생양

 

첫째, 배신자.

배신은 믿었던 만큼 아프다. 많이 믿었다면 그만큼 많이 아프다. 그렇기 때문에 양측 상호간에 쌓은 도의적 신뢰 관계를 깨는 행위인 배신은 죄질에 비해 억울하다 싶을 정도로 나쁜 취급을 받는다. 고대로부터 배신자는 짐승 이하로 취급했다. 단테가 쓴 ‘신곡’을 보면 지옥은 거꾸로 세운 원뿔 모양으로 되어 있는데, 배신자는 그중 가장 아래층으로 간다. 지옥 밑바닥에는 동생 아벨를 죽인 카인, 자신을 믿었던 카이사르를 암살한 브루투스, 예수를 배신한 가롯 유다가 지옥에서도 가장 지독한 악마들에게 물어뜯기고 있다. 그런 글을 쓸 정도로 배신이라는 행위가 싫은 거다.

둘째, 희생양.

어떤 총체적인 문제가 있다. 대개 사회적, 그러니까 시스템 문제다. 문제를 어떻게든 고치든지 아니면 문제가 아니게끔 서로 합의해서 무시해야 해결되는데, 시스템적 문제가 대개 그러하듯 해결이 어려운 문제다. 그럴 때, 희생양을 이용한다. 고대 이스라엘에서는 속죄일이 되면 양을 세워 두고 사람들의 죄를 이 양이 모두 대신 짊어지고 떠난다고 선언한 뒤 황무지로 내쫓는 풍습이 있었다. 그 시스템의 죄는 양과 함께 시스템 밖으로 떠났으니 죄가 모두 사라졌다는, 지나치게 편리한 해법 아닌 해법이다.

굳게 믿었던 WPA2가 배신했다. 믿었던 것만큼 아프다. 그러나,
WPA2 프로토콜 문제를 암호화에 뒤집어씌우는 건 잘못된 오해다.

과거 WEP 그리고 WPA가 그러했듯 WPA2 또한 방식을 뜯어고쳐야겠지만,
암호화는 여전히 믿을 만한, 사실상 유일한 보안 방법이란 사실은 변함없다.

n-THE-large570

IoT, 미래는 왜 이리 더딘가

n-THE-large570

 

IoT는 미래, 맞다. 이른바,

 

와해성 기술의 대표선수다

 

와해성 기술이란, 널리 확산되기만 하면 기존 시장을 완전히 재편성하고 시장 대부분을 점령하게 될 기술을 뜻한다. 등장 초기엔 시장이 요구하는 상품 조건을 당장 만족시키진 못하지만, 혁신 기업들의 투쟁 그리고 숱한 희생을 통해 존속성을 확보해 가며 전투적으로 시장에 진출, 기존 시장 외곽에서부터 단숨에 중심부를 타격하고 차지한다. 그리고, 시장은 완전히 대체된다. 디지털 카메라 등장으로 필름 시장이 사라지고 MP3 등장으로 LP와 CD 시장이 사라졌듯.

IoT는 클라우드, 인공지능, 무인자동차, 3D 프린팅, 재생 에너지 등의 기술들과 더불어 막강한 와해성 기술로서 그 위세가 아주 당당하다. “이 세상 모든 것들이 인터넷에 연결된다!” 멋지다. 일단 연결되기만 하면 연결되지 않은 것들은 시장에서 싹 사라지게 될 거다. 의심의 여지 없이 확실한 미래, 맞다. 그러나, 언론 플레이는 화려한데 비해 당장 뭔가 눈에 딱 보이는 건 없다 싶다. 맨날 사물인터넷! 사물인터넷! 요란한데 뭐 하나 제대로 볼 만한 건 없다. 왜 그럴까. 왜냐면,

 

연결의 혜택 설득에 성공하지 못했다

 

연결하기만 하면 완전 끝장인데, 연결하지도 못한 것들은 싹 다 사라지게 될 텐데, 정작 연결하면 왜 좋은지를 제대로 말하지 못한 거다. 그러니 소비자 반응은 어째 좀 서먹서먹하다. 이것이 미래라며 막 떠드는데, 감이 영 멀다. 광고를 보자.

냉장고에 붙은 스크린 띡띡띡 눌러 레시피 찾아 국수 삶아 먹으며 자기들끼리 하하호호 웃는다. 이게, 감동이 있나,, 그냥 스마트폰으로 찾아 보면 될 일이다. 소프트웨어와 인터넷을 그리고 게임을 손바닥 위에 올려놓기 위해 얼마나 많은 노력이 있었나. 그에 시장도 아주 화끈하게 반응해 한때 미래의 와해성 기술로 회자되던 스마트폰은 완전한 ‘현재’가 되었다. 기술의 혜택 설득에 성공, 즉 소비자 공감을 얻었기 때문에 가능한 일이었다. 그러니 IoT는 이 아주 단순한 질문에 대답부터 해야 한다.

 

“연결하면 뭐가 좋은데?”

 

지금의 IoT는, 글쎄, “어이쿠, 뭘 이런 걸 다,,” 정도의 느낌, 아닌가. “이것이 IoT입니다!” 열심히들 떠들지만 뭐가 어째서, 어떻게, 왜 좋은지를 모르겠다. 당연한 미래란 건 알겠다. 기존 시장을 완전히 전복할 무시무시한 기술이란 것도 자명하다. 번쩍번쩍 휘황찬란한 IoT 산업 전망, 이를테면 네트워크가 폭발적으로 확장할 거라며 국내외 네트워크 설비 회사들이 잔뜩 들떠 물량전 준비하는 것도 적절한 전략이다. 하지만,

먼저 이 질문에 대답부터 해야 하지 않을까. 연결하면 뭐가 좋은데? ‘IoT’로 검색해 보자. 기사가 정말 엄청나게 많이 뜬다. 하지만 별 감동은 없다. 제조사와 언론 그리고 정부만 잔뜩 흥분해 떠드는 것 같다. 확실한 미래니까 당연한 소란이긴 하다만, 그 소란의 내용은 다시 생각해 봐야 할 듯싶다. 게다가,

 

그 미래, 더디게 와서 차라리 다행이다

 

IoT 보안 사고는 충분히 확산되지 않은 지금도 끊임없이 일어나고 있다. 충분히 확산되고 나서도 지금 같다면, 상상만 해도 정말 무섭다. 지금은 꽤 큰 보안 사고 터져도 기껏 돈 좀 잃으면 그만이다. 하지만 IoT라면, 예컨대 자동차라면! 사람 목숨이 걸린 일이다. 그러니 우선 사후대처 방식에서부터 완전히 뜯어고쳐야 한다. ‘사후’ 따지고 그럴 여유도 없다.

IoT 기기 대부분이 사용자가 직접 패치 업데이트를 하는 사용자 책임 방식으로 되어 있기 때문에 사용자가 알아서 주기적으로 최신 버전 패치 업데이트를 해야 하는데, 그런 거 안 하는 사람들 참 많다. 그리고, 최근 사건들을 보면 해커들은 기기의 취약점보다는 IoT와 연결된 클라우드 환경의 최약점을 노리는 경우가 많다. 따라서 제조사는 디바이스, 애플리케이션, 클라우드 3개 요소의 보안을 모두 다 챙겨야 한다. 대기업 규모라면 각각의 전담 팀을 운영하지만, 작은 회사들 형편으로는 감당하기 쉬운 일이 아니다.

물론 이 문제는 회사 형편 따져 주고 그럴 일도 아닌, 아주 근본적인 문제다.

 

IoT 기기의 분류

 

IoT 기기를 기능에 따라 센싱, 액츄에이팅, 데이터 수집 및 전송 등 맡은 일에 따라 나눌 수 있지만, 그보다는 성능에 따른 분류가 우선이다. 성능에 따라 기기의 성격 자체가 완전히 달라지기 때문이다. IoT 기기는 성능에 따라 0~3등급으로 분류한다. 좀 길지만 중요하니 한 번 쭉 훑어보자면,

‘등급 0’은 초소형 초경량 초절전 저성능, 너무나 보잘것없이 사소해서 기기라고 말하기도 좀 민망한 물건이다. 주로 센서 역할만 맡으며, 메모리 및 프로세싱에 상당한 제한이 걸려 있다. 따라서 안전한 통신, 아니 통신 자체가 매우 제한적이라서 게이트웨이 등 주변 다른 장치가 필수적이다. 센서로 수집한 데이터에 대한 최소한의 보안, 그리고 역시 최소한으로 제한된 최초 설정 파일에 대한 상태 확인 정도의 보안 조치만 가능하다.

‘등급 1’은 8 또는 16비트 프로세서로 작동하는 의료기기, 도어락, 온도조절기, 스마트미터, 웨어러블밴드 등의 기기다. 프로세싱 능력이 제한적이다 보니 HTTP 등 기존의 흔한 프로토콜 통신 또한 제한적이기 때문에 CoAP 등 특수 프로토콜을 사용한다. 게이트웨이 등 기타 장치 도움 없이도 통신이 가능하긴 하나, 보안 기능은 선택적 그리고 제한적으로 가능해 근본적 위험성이 있다. 특수 목적 기기다 보니 전용 어플리케이션 보안이 특히 중요한데, 어플리케이션은 업데이트가 가능하다. 단, 기기 수가 관리하기에 너무 많아지지만 않는다면.

‘등급 2’부터는 그냥 일반 기기라 부를 만하다. 32비트 프로세서로 동작하는 게이트웨이나 스마트폰 등의 기기다. 보안 기능 지원은 충분하지만, 전원 관리 등의 이유로 제한적으로 사용할 때 성능 이득이 있다. 역시 어플리케이션 보안이 가장 중요한데, 등급 1에 비해 전용 어플리케이션이 아닌 경우가 많아서 범용, 즉 본격 헬게이트가 열리는 시작점이라 할 수 있다. ‘등급 3’은 등급 2 이상의 성능을 가진 기기로서 성능 면에서 따로 제한을 두고 생각할 필요가 없다.

자, 이런 사물들에 대해 기존 IT 보안 방법론을 적용해 보자면,

 

너무 작고, 너무 많다,,

 

초소형 초경량 초절전 저성능, 이는 다시 말해 보안 패치 업데이트 등의 조치를 할래야 할 수가 없다는 뜻이다. 애초에 패치가 불가능할 정도로 사소하다. 그러나 기기 수는 아주 많아서 일일이 조치하기가 사실상 불가능하다. 눈에 잘 보이지도 않는 그 쪼매난 물건에다 대고 운영체제 위변조 및 백도어 설치를 방지하고 부정한 비인가 접근을 차단하고 비밀키 유출을 방지하고 애플리케이션 취약점을 탐지해 차단하고 악성코드 감염 시 치료하고 등등등, 이걸 어떻게 하겠나,, 정말 힘든 일이다. 게다가 그런 물건들이 한두 개가 아니다.

작고, 많다. 그러니 도난 및 탈취도 큰 문제다. 따라서 데이터를 수집하되 저장하면 안 되고 송신하되 처리하면 안 된다. 보안의 3대 요소 기밀성 무결성 가용성 뭐 그런 걸 따질 수도 없는 형편인 거다.

세상 모든 사물을 인터넷에 연결했는데, 취약점이 발견되어 기기 업데이트를 해야 한다면, 그건 정말 시작할 엄두조차 나지 않는 어마어마한 일일 거다. 일단 연결하고 취약점이 발견되면 그때 되어서야 보안 조치를 취하는 기존 IT 보안 ‘선연결-후보안’ 방법론을 적용해선 안 되는 이유다. 그래서,

 

IoT는 무조건 ‘선보안-후연결’

 

이거, 아주 심각한 문제다. 예전처럼 그냥 막 연결해선 절대 안 된다. 그럼에도 미래산업 부흥을 위해 일단 띄우고 보자? 그럼 정말 무시무시한 미래가 펼쳐지게 된다. 지금 세상은, 감히 말하건대, 차라리 안전하다. 아직까지는 진짜 아닌 사이버 세계의 위험 정도로 그치고 마니까. 그런데 IoT 세계가 본격적으로 시작되고 그때도 지금처럼 ‘선연결-후보안’ 사후대처 방식으로 안일하게 대처한다면, 그 흔한 사이버 위험들은 고스란히 진짜 세상의 위험이 된다.

IoT는 사람 신체에 직접 영향을 미칠 수 있는 우리 주변 사물들을 동작하게 하는 기술이다. 그 물건들이 오늘날 온갖 사이버 사건사고들처럼 빵빵 터진다면 어떻겠나. 그래서다. 그래서 그 미래, 더디게 와서 차라리 다행이라 말하는 거다. 그래서,

‘선보안-후연결’, 선택이 아닌 필수다.

n-1-large570

IoT 도어락은 안전 문제 해결부터

n-1-large570

IoT 사물인터넷 기술 적용해 그냥 뭐뭐뭐를 스마트 뭐뭐뭐로 바꾸면 이게 좋고 저게 좋고 싹 다 좋다는 이야기, 흔하다. 상당히 사실이긴 하다만, 뭐든 무조건 좋다는 말은 일단 의심하고 봐야겠지. 하지만 IoT가 누구나 입에 담는 지구적 유행어 된 지 한참인데도 안전 이야기는 보기 드물다.

스마트 뭐뭐뭐들 중 스마트 홈, 그중에 스마트 도어락을 보자. 스마트 홈 그러면 전등, 냉장고, 카메라, TV 뭐 그런 물건들 이야기가 많은데, 가장 중요한 건 스마트 도어락 아닐까. 문을 잠그는 행위는 단순한 동작이지만 그 의미는 아주 특별하다. 개인과 가정의 사생활과 재산 보호 및 방범 그리고 독립성 확보의 상징적 행위니까. “엄마 미워!” 외치고 방문 쾅! 닫고 잠그는 의사표현의 방법이기도 하고. 그 단순하지만 아주 특별한 장치가,

 

인터넷에 연결되면, 스마트

그냥 도어락을 스마트 도어락으로 바꾸면 가족 귀가 상황 확인, 비정상적 출입 경고, 방범 카메라 기능, 언제 어디서든 잠금 상태 확인, 방에서 대문 열기, 부재중 대문 열기 등의 편리함이 있다고 한다. 그래, 편리하겠다. 그게 뭐든 인터넷에 연결하기 전에 무조건 보안부터 챙겨야 하는 ‘선보안-후연결’ 원칙을 잠깐 잊는다면, 그저 좋기만 한 미래상 같아 왠지 흐뭇하기도 하다. 그러나,

자물쇠에 있어 가장 먼저 따질 제1의 스펙은 안전 아닌가. 스마트든 아니든 세상 모든 자물쇠들은 안전을 자랑하며 파는 물건이다. 편리는 안전의 맞교환 대상 아니다. 그러니 얼마나 새롭고 편리한 기능들이 추가되었는지에 앞서 얼마나 더 안전해졌는지부터 볼 일이다. 폰으로 문 열기 등은 모두 안전 다음의 일이다. 이것저것 다 되더라도 아무나 문 막 따면 쓸데없다. 자물쇠의 일은 안전이니까.

그래, 지금 쓰는 그냥 도어락의 안전 문제부터 보자면,

 

디지털 도어락은 한국이 1등

한국만큼 디지털 도어락 많이 쓰는 나라가 없다. 한국사람이 쓴 외국 체류기를 보면 디지털 도어락이 없어서 불편하다는 불평이 많다. “이 나라 사람들은 왜 편리한 디지털 도어락을 안 쓰는 걸까? 역시 한국은 IT 강국!” 뭐 그런.

열쇠라는 구식 아날로그 물건에 대한 정서적 애착이 강해서, 나무 문이 많아서 디지털 도어락을 설치할 수 없기 때문에, 대부분이 임대주택이라 집 주인이 따로 열쇠를 가지고 있어야 하기 때문 등, 옛날 열쇠를 고집하는 이유를 이리저리 추리하기도 한다. 그런 짐작이 대개 그러하듯 일부 사실이고 일부 사실 아니다. 실제 가장 큰 이유는,

디지털 도어락은 안전하지 않다고 의심하기 때문이다. 열쇠와 자물쇠는 일종의 인증 장치, 열쇠라는 인증 수단으로 자물쇠라는 인증 과정을 통과한다. 인증 수단은 크게 ‘가진 것’과 ‘아는 것’으로 나뉘는데, 열쇠는 ‘가진 것’ 그리고 비밀번호는 ‘아는 것’의 상징적 수단이다.

‘가진 것’과 ‘아는 것’ 둘 중 뭐가 더 안전하다고 딱 잘라 말할 수는 없다. 가진 것은 뺏기면 그만이고 아는 것은 들키면 그만이니까. 하지만 ‘아는 것’의 안전 한계에 이르면 결국 ‘가진 것’으로 교체하는 추세는 있다. 은행에서 비밀번호 대신 사용하는 OTP 발생기가 그러하고, 최근 온라인 서비스 인증 수준을 높이기 위해 도입되고 있는 보안 동글 등의 장치가 그러한 예다. 이는 뺏기기보다 들키기가 쉽기 때문이기도 하고, 사고 발생 시 뭐든 물건이 있어야 책임 추궁이 편하다는 계산도 있고, 그래서다.

열쇠가 비밀번호보다 안전하다고 단정할 수는 없다. 과거 디지털 도어락이 불안했던 이유, 이를테면 전기 충격을 가하면 문이 저절로 열린다든지 화재 발생 시 작동 불능 상태가 되어 문을 열고 탈출하지 못한다든지 등 문제들은 지금은 대부분 해결되었다. 그럼에도 여전히 디지털 도어락은 불안하다 여긴다. 아주 이상한 걱정은 아니다. 왜냐면,

 

비밀번호를 누가 본다

몰카 비밀번호 유출 사건이 자주 발생한다. 번호 누르는 걸 훔쳐보고 따고 들어온다. 현관 앞 계단에다 스마트폰을 감춘 담배갑을 세워 둔다든지 뻔히 눈에 띄는 짓을 하는 서툰 자들이나 걸려들지, 좀처럼 발견되지 않는 수법도 많다. 아파트 등 공동주택 복도 천장에는 화재탐지기, 스프링클러, 센서 전등, 방범 카메라, LTE 안테나 등이 어지럽게 붙어 있다. 뭐 하나 더 붙여도 알아차리는 사람도 없다. 그런 모양의 몰카는 인터넷 검색하면 쪼르르 뜬다. 특히 화재탐지기나 스프링클러 등 소방설비로 위장한 카메라는 꽤 잘 팔리는 인기템이다. 게다가,

비밀번호 없어도 들어온다. 문 열 때마다 번호 누르기 귀찮다고 문 닫아도 자동으로 잠기지 않게 수동 설정으로 두고 쓰는 사람들이 있다. 그러다 문 잠그는 걸 깜빡 잊고 그냥 외출한다. 열쇠 안 잠그고 그냥 가는 실수보다 번호 안 누르고 그냥 가는 실수가 더 잦은 건 열쇠라는 구체적 물건을 통한 주의 환기 효과 때문이다. 그래서 문고리 돌려 보고 열리는 집만 터는 도둑도 있다.

자동 잠금이더라도 문 닫은 뒤 잠길 때까지 걸리는 시간이 꽤 긴 것도 문제다. 기껏 몇 초 정도지만 후다닥 들이닥치기엔 충분한 시간이니, 이를 악용한 범죄가 흔하다. 대개 혼자 사는 여성을 노린 성범죄다. 그래서 어떤 도어락은 닫는 즉시 잠기는 기능을 자랑하기도 한다. 애초에 왜 그렇게 만들지 않았는지는 모르겠다만.

그래도 여기까진 조심하기만 하면 뭐 어떻게든 될 일이다. 번호 누를 때 몸과 손으로 번호판을 가린다든지, 겉보기 좀 흉하더라도 번호판 가림막을 설치한다든지, 천장이나 벽에 전에 못 보던 수상한 장치가 추가되었는지 늘 관찰한다든지, 문이 잠길 때까지 문고리를 붙잡고 있는다든지 등, 평소 버릇을 고치면 된다. 하지만 버릇만으로는 해결 못할 문제도 있으니,

 

비밀번호는 하나가 아니다

“깜짝 놀랐어요!” 사례들이 있다. 혼자 쉬고 있는데 누가 문을 열고 들어와 깜짝 놀라 달려가 보니 웬 아저씨가 “아, 죄송합니다!” 그러고 나갔다든지, 아이가 장난으로 도어락 번호판을 띡띡띡 눌렀는데 덜컥 문이 열려서 놀랐다든지 등, 이런 일은 왜 생기는 걸까.

디지털 도어락의 비밀번호는 오직 나 그리고 내 가족만 알고 있는 번호라 믿어 의심치 않지만, 비밀번호는 원래 여러 개다. 사용자용 비밀번호 말고 화재 등 비상상황이 발생하거나 세입자와 연락이 되지 않을 때를 대비해 관리자용 비밀번호가 따로 있다. 관리자용 비밀번호는 집주인뿐 아니라 부동산 중개인도 안다. 열쇠는 아무한테나 막 내주진 않아도 비밀번호는 별뜻 없이 그냥 알려 준다. ‘아는 것’은 ‘가진 것’만큼의 경계심 그리고 책임감을 일으키지 못하기 때문이다. 그러니,

비밀번호 조심하느라 아주 복잡한 번호를 짜고 또 자주 바꾸는 등 별짓을 다 해도 그 번호 말고 다른 번호로 열린다. 관리자용 비밀번호는 그저 귀찮다는 이유로 다른 번호로 바꾸지 않고 그냥 쓰는 사람들이 있다. 공장 출시 비밀번호 ‘1234’ 또는 ‘0000’을 그냥 그대로 쓴다. 그러니 공동주택의 경우 같은 번호로 모든 집 현관을 다 열 수도 있고, 공장 번호만 누르고 다니며 빈 집 터는 ‘1234 도둑’도 있다. 명색이 도둑인 주제에 어렵고 복잡한 짓 안 한다. 그냥 1234 그리고 별표 누른다. 안 열리면 0000 누른다. 띠리링, 열린다.

그런데, 이는 모두 디지털 도어락의 작동에 대해 안다면 미리 조심할 수 있는 일들이다. 그런데도 다들 참 태평하게 아무 걱정 없이 그냥 대충 쓴다. 그러고 보면 우리나라 사람들은 어떤 변화든 참 쉽게 받아들인다. 그리고 “원래 그런 것”이란 말도 즐겨 쓰고. 아니, 이상하잖아, 쉽게 변하니 어제 다르고 오늘 다른데 언제부터 그랬다고 원래 그런 거라 그래,,

그래서,

 

IoT 도어락은 그냥 도어락의 문제 해결부터

어떤 기술이든 기존 기술의 문제를 해결하고 가장 중요한 기능을 더 좋게 만드는 일부터 해야지 그건 안 하고 엉뚱한 말만 잔뜩 늘어놓으면 못쓴다. 새 TV는 헌 TV보다 화질부터 좋아야지, 화질 나빠진 대신에 리모콘 버튼 누르기 편해졌다느니 인터넷에 연결할 수 있다느니 뭐 그런 소리만 해선 안 되는 거다. 골수 안전주의자인 내게 디지털 도어락이 딱 그런 느낌이다.

위 디지털 도어락의 안전 문제들은 IoT 기술을 통해 해결할 수 있다. 블루투스나 RFID 등을 이용해 지정된 단말기를 가진 자만 접근이 가능하게 하고 필요에 따라 제한을 임의로 해제할 수도 있고, 지인이나 부동산 중개인 등 방문객에게는 일회용 비밀번호를 따로 만들어 주고, 스마트폰을 통해 비밀번호 외 다른 인증 방법을 선택할 수 있게 하는 등, 종합해 말하자면 ‘가진 것’과 ‘아는 것’의 적절한 조합을 통해 보다 안전해질 수 있다. 무엇보다도,

IoT 보안에 있어 가장 중요한 기술은 인증이다. ‘가진 것’, 이 스마트폰은 그 스마트폰이 맞나, 이 사물은 믿을 수 있는 사물인가, 즉 사물끼리 통신하며 서로를 확인하는 사물 인증이다. ‘가진 것’이 가짜라면 어떤 조치든 애초에 쓸데없어지니까.

IoT 스마트 홈은 좋은 거다. 대문 잠궜나? 가스불 껐나? 에어콘 껐나? 괜한 걱정 안 해도 된다는 점만 하더라도, 아니 이거, 정말 좋지 않나. 한 번 쭉 달려가 볼 만한 방향이다. 단, 충분히 안전하다면.

OLYMPUS DIGITAL CAMERA

싼 게 비지떡, IP 카메라

 

2017-09-22-1506067100-1938966-57_00.jpg

 

“IP 카메라”가 또 털렸다. 그쪽 컴컴한 세계와 전혀 관계 없어 보이는 흔한 대학생과 직장인 몇이서 지난 6개월 동안 일반가정 및 의류매장에 설치된 카메라 1,400여 대의 영상을 녹화하고 배포하다가 적발된 것. 비밀번호 따고 들어간 흔한 ‘디폴트 패스워드’ 사건이다. 그럼에도 이리 뜨거운 화제가 된 건, 털린 곳이 집이기 때문. 노랫말처럼,

 

“집에 있는데도 집에 가고 싶을 거야”

그래, 집이란 그런 곳이다. 집에 있는데도 집에 가고 싶은 곳, 사생활의 집대성이자 마지막 보루. 그런 무조건 은밀해야 할 곳이 털렸으니 이번 사건의 여파가 이리 큰 건 당연한 일이다. 그러니 이 논란엔 지나침이 없다. 엄청 요란하게 호들갑 떨어 온통 어수선하더라도 꼭 바로잡아야만 할 일이다. 집이란 곳은 그래야만 하는 곳이니까.

하지만 혼란 와중에 “이때다!” 달려드는 장사치들이 있다. 그리고 엉뚱한 말로 겁주며 뭘 자꾸 사라고 한다. 대표적인 게 ‘보안칩’ 장사. 이번 사건 경위와 1도 관계 없다. 왜들 이러나, 이 시장은 왜 이리 혼탁한가, 뭘 어떻게 해야 깔끔해질까, 어지럽다. 우선,

 

용어부터 정리해야

일부 보도에서 “가정용 CCTV”란 말을 쓰던데, 잘못이다. CC란 Closed-Circuit, 즉 일반 TV의 개방회로와 달리 특정 대상에게만 한정 제공되는 ‘폐쇄회로’란 뜻이다. 반면 IP란 Internet Protocol, 즉 인터넷으로 연결되었다는 뜻이니 CCTV와는 완전히 다르다. 그걸 자꾸 CCTV라고 부르니 그렇잖아도 헷갈리는데 더 헷갈리게 만드는 꼴. 근데 IP란 말도 어째 좀 어렵다 싶으니 대충 ‘인터넷 카메라’ 정도로 부르면 어떨까.

그리고 CCTV란 말의 뜻도 세월 변화 따라 퇴색해버려 요즘은 뜻하는 바가 보다 명확한 ‘감시카메라’ 또는 ‘방범카메라’라 부르는 추세다. 게다가 CCTV 그러면 중국중앙방송(China Central TV)으로 통하니 이래저래 그 말은 안 쓰는 게 낫겠다.

그리고 이번에 터진 사건은 “해킹”이라 할 만한 짓도 아니다. 그냥 아무데나 들어가 공장 비번 1111 아니면 1234 아무거나 막 눌러 본 거라, 그런 짓까지 해킹이라 한다면, 해커들 섭섭하지,, 이렇듯 용어의 정의와 개념을 혼동하면 이후 대화는 아예 의미가 없어지니 조심할 일이다. 그렇잖아도 안전 의식이 문제라면서 의식의 틀인 용어부터 어지러우니 더욱 노답.

아무튼, 그래서, 구글서 ‘ip c’까지만 쳐도 자동완성 ‘ip camera korea’ 뜬다,,

 

까다로우신 고객님들

당연한 질문이 떠오른다. “공장 비번을 일정 수준의 안전도 확보한 패스워드로 변경하지 않으면 카메라가 아예 작동 안 되게 만드는 등의 조치를 미리 취했어야지!?” 그렇다. “보안은 신경도 안 쓰고 팔고 나면 그만이라는 거냐!” 그만 아니다. 그러나,

공장 입장도 참 난처한 게 제작 공정 추가는 즉 돈인데, 소비자님들께서 ‘가성비’를 그리들 따지시니 싸게 무조건 싸게 단가를 맞춰야 하는데, 뭐든 그냥 싸질 수는 없는 법이니 공정을 뺀다. 무조건 싸게 만들기 위해 이것저것 닥치는 대로 빼되 특히 겉으로 드러나지 않는 보안 관련 공정부터 뺀다. 사고 터지지 않는 한 누가 보안 따위 신경 쓰겠어. 그리고,

적절한 보안 조치 적용해 물건을 만들었다 쳐도 까다로운 소비자님들께서는 이번엔 또 “아니, 이게 왜 안 돼? 그냥 꽂기만 하면 대충 돌아가게 만들지, 왜 이리 고객을 귀찮게 하고 그래!?” 따지신다. “왜 이리 비싸? 저기 저 물건은 싼데!” 화도 내신다. 그러니, 결국 부메랑처럼 되돌아오는 업보다,,

 

보안은 일이고, 일은 돈이 든다

인터넷 카메라, 아니 인터넷에 연결되는 모든 물건에 적용해야 하는 보안 조치는 정말 많다. ‘이딴 초간단한 물건에?’ 싶겠지만, 제아무리 간단해 보이더라도 인터넷에 연결되기만 하면 무조건 꼭 필요한 조치다. 왜냐면,

생활형 IoT 기기들은 표면적으로 하드웨어일 뿐 일종의 앱으로 봐야 하고 앱은 웹으로 연결되니, 보안은 당연한 일이다. 그리고 웹이 앱보다 위험하니 필요한 보안은 겉보기 짐작보다 훨씬 더 많다. 그리고 IoT는 IoT만의 보안이 따로 필요하다. 그리고 무엇보다도 가장 시급한 건 IoT 기술의 이해 아닌가 싶다. (링크 붙이다 보니 어째 잡지 PPL 느낌,,)

당장 필요한 보안 조치들을 떠오르는 대로 쭉 나열해 봐도, 시큐어코딩 취약점제거 물리보안 정기적보안업데이트 정보위변조확인 무결성검증 기기인증 사용자인증 웹어플리케이션보안 전구간데이터암호화 등, 아주 많다. 이게 모두 다 공정이요, 따라서 돈이다. 그럼, 비싸진다. 그런데 비싸면, 안 산다,, 이번에 털린 물건들도 모두 다 중국산 저가품이다.

요즘은 그게 뭐든 제품 관련 문제들의 원인은 모두 다 ‘가성비’란 말로 수렴되지 않나 싶다. 가성비, 가격 대비 성능 비율. 소비자들은 가격 대비 성능을 따진다. 이는 당연한 일이다. 뭐든 싸게 사면 좋지, 까닭 없이 괜히 비싼 걸 누가 사겠어. 그러나,

 

보안도 성능이다

그것도 꼭 필요한 성능이다. ‘안전’이 그러하듯. 당연히 가성비 필수요소로서 따져야.

탈탈 털려 보면 안다. 뭣이 더 중헌지.