미국의 유력 경제일간지인 월스트리트저널(WSJ)은 지난 2월 16일자 신문에서 "한국 정부가 5년 전 '중동호흡기증후군(메르스·Middle East Respiratory Syndrome)' 사태 때 투명성 면에 있어 비판을 받았던 경험 때문에 이번 '코로나바이러스감염증-19(코로나19·COVID-19)' 사태에서는 관련 정보를 신속히 공개하고 있다"고 설명하며 "메르스(MERS) 사태 이후 당국이 유행병 발생 시 시설들을 폐쇄하고 개인정보에 접근할 수 있도록 권한을 늘렸고, 규정을 위반한 사람에게 부여하는 벌금을 강화했다"고 보도한 바 있다.
WSJ가 아니더라도 외국 언론에서 코로나19와 관련해 한국의 대응을 칭찬하는 이야기를 한두 번쯤은 들어들 보았을 것이다. 사실 여기에는 2015년 5월 있었던 메르스에 대한 경험이 큰 영향을 미쳤는데 그중 대표적인 것이 '감염병의 예방 및 관리에 관한 법률(감염병예방법)' 개정이다.
코로나 바이러스의 일종으로 이른바 '중동 사스'로도 불리는 메르스는 치사율이 21%였으며 우리나라에만 확진 환자 186명과 사망자 39명을 남겼다. 이는 중동과 지리적으로 가까운 나라들보다도 더 높은 수치로, 우리나라에 사우디아라비아에 이은 세계 2위의 메르스 발병국이라는 오명을 남기기도 했다. 당시 우리 정부는 "감염자의 입원 병원과 동선 등이 투명하게 공개되지 않아 가짜뉴스가 퍼지면서 국민의 불안과 동요를 불러왔고, 일부 환자가 격리 조치까지 위반하면서 결국 감염병에 대한 대응 실패를 낳은 주요 원인이 됐다"고 판단했으며, 이에 감염예방법을 개정하게 되었다.
메르스 항목개정된 감염병예방법은 국민의 건강에 위해가 되는 감염병 확산 시 감염병 환자의 이동 경로, 이동 수단, 진료 의료기관 및 접촉자 현황 등 국민들이 감염병 예방을 위해 알아야 하는 정보를 신속히 공개토록 하고 있으며(제34조의2 제1항), 이를 위해 감염병 환자등 및 감염이 우려되는 사람의 성명 및 주민등록번호, 주소 및 전화번호(휴대전화 포함), 그리고 위치정보를 경찰청, 지방경찰청 및 경찰서의 장에게 요청할 수 있도록 하고 있다(제76조의2). 또한 경찰로부터 이런 요청을 받은 위치정보사업자와 전기통신사업자는 정당한 사유가 없으면 이에 따라야 한다(제76조의2).
이렇게 개정된 감염병예방법이 현재 우리가 극찬을 받고 있는 '투명 방역'의 뼈대가 된 것은 분명하다. 그러나 한편으로는 공공의 이익을 위해 개인의 프라이버시를 심각하게 침해하는 것 아니냐는 우려를 낳고 있는 것 또한 사실이다. 실제로 온라인 커뮤니티에서는 동선 정보를 토대로 확진자의 정체를 유추하거나 희화화하는 글, 확진자의 개인정보가 담긴 공문서 등이 올라오기도 했으며 일부 확진자는 동선 공개 과정에서 사생활 침해를 당했다며 국가인권위원회에 진정을 제기하기도 했다.
이러한 문제를 해결하고자 미국 매사추세츠공대(MIT)와 스탠퍼드대는 각각 'PACT(Private Automated Contact Tracing)'와 'Covid-Watch'라는 기술을 개발했으며, 유럽 Pan-European Privacy-Preserving ProximityTracing(PEPP-PT) 프로젝트팀은 'DP3T(Decentralized Privacy-Preserving Proximity Tracing)'라는 기술을 발표하기도 했다. 또한 지난 10일에는 애플과 구글이 'Privacy-Preserving COVID-19 Contact Tracing' 스마트폰 애플리케이션(앱) 시스템을 공동 개발하기로 했다고 밝혔다.
위에서 언급된 '프라이버시 보호가 가능한 코로나19 감염자 동선 추적 시스템'들의 공통점은 (1)감염자의 동선은 추적하되 개인의 익명성은 보장하며 (2)실내에서 특히 정확도가 떨어지는 GPS 위치정보 대신 스마트폰의 블루투스(Bluetooth, 정확히는 BLE·Bluetooth Low Energy) 무선통신기술을 활용하고 (3)최대한 단순하게 설계함으로써 구현을 쉽고 용이하게 하며 (4)사용자가 더 이상 원하지 않거나 팬데믹(Pandemic·세계적 대유행) 상황이 종료되면 언제든 기능을 끌 수 있게 만들었다는 것이다. 위에서 언급했듯 지금까지 여러 기술들이 발표됐으나 사실 대동소이하기에 여기서는 애플과 구글이 개발한 추적 시스템을 토대로 기술하겠다.
추적시스템...
근접거리에서 PC 주변기기나 가전기기 등을 무선으로 손쉽게 연결하기 위해 사용하는 근거리 무선 통신 기술, '블루투스'는 최대 60~70m 이내의 장치들과 교신할 수 있으며, 5~10㎝ 단위의 구별이 가능할 정도로 정확성이 높고, 전력 소모가 적다는 특징이 있다. 이 블루투스에는 Advertise Mode(또는 Broadcast Mode)라는 것이 있다. 이는 특정 기기를 지정하지 않은 채 주변의 모든 장치들에게 신호를 보낼 때 사용하는 것으로서 주로 주변에 자신의 존재를 알릴 때 사용한다. 다시 말해 주변에 기기가 있건 없건, 다른 기기가 내 신호를 듣건 말건 간에 일방적으로 자신의 신호를 일정 주기로 발산하는 통신 모드라고 생각하면 된다.
'프라이버시 보호가 가능한 코로나19 감염자 동선 추적 시스템'은 바로 이 블루투스 Advertise Mode를 이용한다. 각 사용자의 스마트폰은 주기적으로 (일반적으로 BLE MAC 주소가 바뀌는 15분 단위) 난수를 발생시켜 주변의 모든 장치들에게 보내고, 자신이 생성한 난수와 해당 난수의 생성 시각은 함께 폰 내부에 14일(또는 정부가 결정한 기간) 동안 저장해 둔다. 이 난수를 수신한 주변 기기들 또한 수신한 난수 값과 수신 시각을 스마트폰 내부에 기록하고 14일(또는 정부가 결정한 기간) 동안 저장해둔다. 이렇게 하면 모든 스마트폰들은 근처에 있는 기기들과 일정 주기로 난수 신호를 서로 주고받게 될 것이다.
확진자로 판명될 경우, 질병관리본부(원래 애플과 구글의 논문에서는 'Diagnosis Server'라고 되어 있으나, 여기서는 '질병관리본부'로 표기하겠다)는 해당 확진자의 스마트폰이 지난 14일간 15분 단위로 생성했던 난수들과 해당 난수들의 생성 시각을 모두 공개한다. 그러면 우리들이 소지하고 있는 스마트 폰은 이 목록을 자동으로 다운받아 자신이 해당 시간대에 수신했던 난수 목록들과 비교해 본다. 만일 일치하는 난수 값이 발견되면 이는 곧 과거 본인의 주변에 확진자가 일정 시간 머물렀다는 것을 뜻하므로, 질병관리본부에 신고 후 자발적으로 자가격리에 들어가게 된다.
애플과 구글이 공동으로 개발하고 있는 'Privacy-Preserving COVID-19 Contact Tracing' 앱은 바로 이러한 개념을 조금 세련되게 만든 것이다.
스마트폰에 앱이 설치되면 이 앱은 'Tracing Key'로 불리는 난수 값을 하나 발생시켜 내부에 안전하게 저장해둔다. 이때 이 Tracing Key는 충분히 긴 길이의 숫자이기에 서로 다른 폰에서 동일한 Tracing Key가 발생될 확률은 매우 낮다. 이 Tracing Key를 이용해 COVID-19 Contact Tracing 앱은 매일 다른 키를 만들어 낸다. 이를 'Daily Tracing Key'라고 한다. 일단 Daily Tracing Key가 만들어지면 앱은 이를 바탕으로 15분마다 'RPI(Rolling Proximity ID)'라는 것을 계산해낸다. 여기서 Tracing Key로부터 매일 Daily Tracing Key를 만들어 내거나, Daily Tracing Key로부터 15분마다 RPI를 만들어낼 때 '일방향 함수(One-Way Function)'라 불리는 공개된 알고리즘을 이용하게 된다. 이것은 '출력값으로부터 입력값을 역으로 계산해 내는 것이 불가능한 수식. 즉, y=f(x)에서 y값과 함수 f를 알려줬을 때 x값을 역으로 계산해 내는 것이 불가능한 함수'라고 이해하시면 되겠다(IETF RFC 5869 표준에 정의된 'SHA-256 기반 HKDF 함수'나 IETF RFC 2104 표준에 정의된 'SHA-256 기반 HMAC 함수' 등이 이에 해당).
이렇게 15분마다 바뀌는 RPI 값들을 스마트폰은 블루투스 Advertise Mode를 이용해 주기적으로 주변에 뿌린다. 만일 확진자로 판명이 되면 질병관리본부는 해당 확진자의 스마트폰 앱에서 Daily Tracing Key들을 추출해 Daily Tracing Key가 생성됐던 날짜와 함께 공개한다. 이를 수신한 다른 스마트폰들은 확진자의 공개된 Daily Tracing Key와 생성 날짜로부터 확진자가 발신했던 RPI 값들을 계산해 내고 이를 자신이 과거에 수신했던 RPI 목록과 비교한다.
우리 질병관리본부는 초기에 '확진자1' '확진자2'라는 가명을 써서 동선을 공개해 왔다. 하지만 질병관리본부의 당초 의도와는 달리 우리 네티즌들은 이러한 정보들로부터 손쉽게 확진자의 정체를 유추해냈었다. 충분한 가명화가 이루어지지 않았었다는 얘기다. 애플과 구글이 개발한 코로나19 감염자 동선 추적 시스템 또한 난수 값을 일종의 가명 정보로 이용한다. 다만 이 가명 정보를 15분마다 바뀌게 함으로써 확진자의 신원을 식별하기 어렵게 만든 것이 특징이라 하겠다.
물론 이 기술들이 아직 완벽하다 할 수는 없다. 벌써부터 저명한 보안 전문가인 로스 앤더슨(Ross Anderson) 케임브리지대 교수나 브루스 슈나이어(Bruce Schneier) 하버드대 교수 등은 현실과 이론은 다르다면서 실제 환경에서는 애플과 구글이 개발한 앱이 계획처럼 잘 동작하지 않을 것"이라고 말하고 있으며, 세르주 보드네(Serge Vaudenay) EPFL 교수는 발표된 기술들 또한 프라이버시 침해 가능성이 있다고 우려하고 있다.
결국, 공익과 개인 사익의 조화는 그리 쉬운 일이 아니며 단 하나의 제도나 기술로 쉽게 얻을 수 있는 것 또한 아니다. 많은 전문가들이 앞으로 감염병은 거의 주기적으로 찾아올 것이라고 경고하고 있다. 미래에는 이번에 우리가 사용했던 동선 추적 시스템보다는 좀 더 개선된 기술이 이용될 수 있도록 관련 논의가 계속해서 진행돼 나갔으면 좋겠다.