2020.06.02

애플의 코로나19 노출 알림 API 작동 방식 심층 분석

Jason Cross | Macworld
iOS 13.5 배포 정보에서 다소 불길한 메시지를 발견할 수 있다. 공중보건 당국의 코로나19 접촉 추적 앱을 지원하는 노출 알림 API(Application programming Interface)를 도입했다는 내용이다.
 
ⓒ Jason Cross/IDG

이는 마치 정부가 개인을 추적하고 사생활을 침해하는 것처럼 들린다. 그러나 다행히 이 우려는 사실과는 매우 다르다. 접촉 추적과 노출 알림은 코로나19의 확산을 억제하고 봉쇄정책을 완화하는 데 도움이 되는 중요한 툴이다. 다만, 실질적인 도움이 되려면 노출 알림 API가 널리 적용돼야 한다.

코로나 확산 방지를 지원하기 위해 애플과 구글은 지난 4월에 사용자가 주변의 코로나19 감염자에 노출된 경우 사용자의 신원, 위치, 개인 정보를 공개하지 않고 통지하는 기술을 공동으로 개발했다. 그 결과인 노출 알림 API를 안드로이드와 iOS 버전으로 내놓았고, 정부 보건 기관이 이를 활용한 앱을 개발해 확진자와 동선이 겹치는 사람에게 코로나19 노출 여부를 알릴 수 있게 됐다. 애플과 구글이 공동 개발한 노출 알림 API의 기능과 작동 방식을 살펴보자.
 

노출 알림 API란

API는 기본적으로 앱 개발자가 운영체제가 제공하는 기능을 요청하는 방식이다. 예를 들어, 지도 앱은 사용자 위치를 알면 지도에 사용자 위치를 표시할 수 있다. 지도 애플리케이션은 사용자 휴대폰의 GPS 하드웨어와 통신하기 위해 많은 코드가 필요 없으며, iOS 위치 API에서 함수를 호출하기만 하면 된다.

애플과 구글은 일련의 함수를 안드로이드와 iOS에 내장해, 개발자가 코로나19 확진자에 노출됐을 때 이를 알릴 수 있는 앱을 개발할 수 있도록 지원한다. 단, 노출 알림 API는 모든 개발자가 사용할 수 있는 것이 아니라, 전 세계 정부의 공식 보건 기관에서만 사용할 수 있다. 또한, 앱을 개발할 때도 많은 제약이 있다. 예를 들어 미국에서는 이 API를 사용한 앱은 주 보건부 또는 이와 동급의 기관에서만 제공할 수 있다.
 
노출 알림이 작동하는 샘플 이미지. 실제 화면은 앱에 따라 차이가 있을 수 있다. © APPLE

현재까지 미국에서 이 노출 알림 API를 사용하겠다고 공개적으로 밝힌 주는 앨라배마주, 사우스캐롤라이나주, 노스다코타주 3곳뿐이다. 하지만 모든 상황이 빠르게 진행되고 있으며, 아마도 바뀔 것으로 보인다. 이 API는 글로벌 기술 프로그램으로, 다른 국가의 보건 기관에서도 사용할 수 있다.
 

노출 알림 API 작동 원리

애플은 이 노출 알림 API의 작동 방식에 대해 많은 기술적 세부 사항과 매우 유용한 FAQ를 제공한다. 이에 따르면 먼저, 사용자의 아이폰에는 임의의 블루투스 식별자가 부여되며, 이는 숫자와 문자를 조합해 사용자마다 다르다. 이 식별자에는 그 어떤 개인정보도 포함하지 않는다. 이름, 이메일 주소, 애플 ID, 위치, 나이 등이 노출될 우려는 전혀 없다. 단지 문자와 숫자의 긴 조합으로, 사용자마다 고유한 식별자를 부여하기 위한 목적일 뿐이다. 또한 고유 ID 번호는 10~20분마다 바뀐다.

사용자의 스마트폰은 이 고유 ID 문자열을 가까이 다가오는 주변의 다른 모든 스마트폰에 블루투스로 전송한다. 그리고 다른 스마트폰도 각자의 식별자를 전송하고, 모든 스마트폰은 로그를 보관한다. 이는 사용자 스마트폰에 다가오는 모든 고유의, 하지만 익명의 ID에 대한 기록이다. 사용자가 누구인지 알 수 있는 정보나, 근처에 있을 때의 위치를 알려주는 정보는 전혀 포함하고 있지 않다.

이제 근처에 있는 누군가가 코로나19 검사를 받고 양성이 확정됐다고 하자. 그러면 해당 스마트폰의 사용자가 동의한다는 가정하에, 공공 보건 당국의 앱을 사용해 자신의 블루투스 식별자를 중앙 데이터베이스에 업로드한다. 다시 강조하면 여기에 사용자의 개인정보나 위치 기록은 전혀 포함되지 않는다.
 
© APPLE

이제 노출 알림 앱을 사용하는 이들은 사용자 본인을 포함해, 모든 사람의 스마트폰으로 코로나19 확진자의 식별자 목록을 중앙 서버에서 주기적으로 다운받을 수 있다. 여기에는 그 어떤 개인 정보나 위치 정보도 없다. 단지 '코로나19 확진자의 익명 무작위 블루투스 ID 숫자 목록'에 불과하다. 사용자의 스마트폰은 주변에 있던 스마트폰의 ID 로그를 다운받은 확진자 ID 데이터베이스와 비교한다.

일치하는 항목이 있으면 사용자 아이폰은 경고를 표시한다. 확진자에게 노출됐을 가능성과, 확진자의 양성 판별이 나온 날짜, 확진자와 동선이 겹친 날짜를 보여준다. 노출 알림 앱을 이용하면 사용자와 근접해 있던 ID, 블루투스 신호로 판별한 서로 간의 거리, 머문 시간을 확인할 수 있다. 서로 10초 이내에 스쳐 지나간 경우는 경고를 표시하지 않겠지만, 애완견 놀이터 같은 곳에서 10분 정도 가까이 머물렀다면 경고가 나타난다.
 
© APPLE
 

프라이버시를 보호 방안

프라이버시 보호를 위해 사용자는 언제든 이 기술을 비활성화할 수 있다. 설정 > 개인정보보호 > 건강 항목에서 코로나19 노출 로깅을 찾는다. 활성화된 앱을 확인하고 토글 키로 끄거나 킬 수 있다. 하지만 먼저 공공 보건 당국에서 앱을 다운로드해 기능을 켜야 한다. 모두에게 기본 활성화되는 기능이 아니다. 로깅을 할 앱이 없으면 실행도 할 수 없다.

또한, 다른 사람과 사용자 본인의 스마트폰은 서로의 개인 정보를 주고받지 않는다. 실제로 주고받는 것은 임의의 식별자일 뿐이다. 위치 정보도 기록되지 않는다. 사용자 스마트폰은 사용자의 다른 사람과 접촉한 기록을 누구에게도, 어느 곳에도 전송하지 않는다. 애플이나 구글이든, 정부나 다른 사용자든 알 수 없다.

사용자가 확진된 경우, 공공 보건 기관이 사용자의 허락을 받은 후 임의의 ID를 얻을 수 있지만, 접촉한 사람의 목록은 얻을 수 없다. 또한 어떤 상황에서도 위치 기록을 알 수 없다. 확진자의 ID와 사용자가 만난 사람과의 모든 매칭은 사용자의 기기 내에서만 이뤄진다.

휴대폰이 기기내 접촉 기록에 있는 ID와 공공 보건 기관의 확진자 검진 ID 로그가 일치하는 경우를 찾으면, 앱은 공공 보건 당국에 확진자와 접촉이 발생했다는 사실만 알리고 연관된 사람이 누구인지는 알려주지 않는다. 그 외, 접촉이 발생한 날짜, 지속 시간, 블루투스 신호 강도를 알려줄 뿐, 다른 정보는 없다. 애플과 구글은 이런 정보조차 알 수 없다. 확진자 ID도, 사용자의 접촉자 명단도, 아무것도 알 수 없다.

또한, 이 노출 알림 API를 사용하는 앱에는 다음과 같은 제한 사항도 있다.
 
  • 오직 정부 공공 보건 당국만 앱을 만들 수 있으며 코로나19 대응을 하는 목적으로 사용이 제한된다
  • 먼저 사용자 동의를 받아야 앱이 API를 사용할 수 있다.
  • 먼저 사용자 동의를 받아야 확진 검진 결과를 공공 보건 당국과 공유할 수 있다.
  • 앱은 최소한의 필요한 데이터만 수집하며 코로나19 대응 목적으로만 사용할 수 있다. 사용자 정보는 타깃 광고를 포함해 다른 모든 사용이 허용되지 않는다.
  • 앱은 위치 서비스 접근 허가를 요구할 수 없다.
 

노출 알림 기능을 사용해야 할까

현재까지 이 기능을 지원하는 앱은 아직 나오지 않았다. 따라서 미국 내 사용자에게 노출 알림 API로 할 수 있는 것은 아직은 없다. 이 API를 사용하는 앱을 출시한 유일한 국가는 스위스이며, 현재 군인, 의료진, 공무원으로 앱 사용이 제한돼있다.

공공 보건 기관에서 API를 지원하는 앱을 배포한다면 사용하는 것이 좋다. 많은 사람이 이 앱을 사용한다면, 보건 기관이 코로나19가 얼마나 확산 혹은 감소하는지, 기업이나 공공 활동에 정확히 어떤 제한을 적용하거나 해제해야 하는지 판단하는 데 큰 도움이 될 수 있다.

전 세계의 다른 비슷한 프로그램과 비교해, 이 애플/구글 공동 솔루션은 개인정보보호에 매우 효과적이다. 사실, 미국의 일부 주에서는 노출 알림 API를 활용한 앱을 사용하길 꺼린다. 사용자 위치 추적 기능처럼 개인을 식별할 수 있는 정보를 충분히 제공하지 않기 때문이다. editor@itworld.co.kr


2020.06.02

애플의 코로나19 노출 알림 API 작동 방식 심층 분석

Jason Cross | Macworld
iOS 13.5 배포 정보에서 다소 불길한 메시지를 발견할 수 있다. 공중보건 당국의 코로나19 접촉 추적 앱을 지원하는 노출 알림 API(Application programming Interface)를 도입했다는 내용이다.
 
ⓒ Jason Cross/IDG

이는 마치 정부가 개인을 추적하고 사생활을 침해하는 것처럼 들린다. 그러나 다행히 이 우려는 사실과는 매우 다르다. 접촉 추적과 노출 알림은 코로나19의 확산을 억제하고 봉쇄정책을 완화하는 데 도움이 되는 중요한 툴이다. 다만, 실질적인 도움이 되려면 노출 알림 API가 널리 적용돼야 한다.

코로나 확산 방지를 지원하기 위해 애플과 구글은 지난 4월에 사용자가 주변의 코로나19 감염자에 노출된 경우 사용자의 신원, 위치, 개인 정보를 공개하지 않고 통지하는 기술을 공동으로 개발했다. 그 결과인 노출 알림 API를 안드로이드와 iOS 버전으로 내놓았고, 정부 보건 기관이 이를 활용한 앱을 개발해 확진자와 동선이 겹치는 사람에게 코로나19 노출 여부를 알릴 수 있게 됐다. 애플과 구글이 공동 개발한 노출 알림 API의 기능과 작동 방식을 살펴보자.
 

노출 알림 API란

API는 기본적으로 앱 개발자가 운영체제가 제공하는 기능을 요청하는 방식이다. 예를 들어, 지도 앱은 사용자 위치를 알면 지도에 사용자 위치를 표시할 수 있다. 지도 애플리케이션은 사용자 휴대폰의 GPS 하드웨어와 통신하기 위해 많은 코드가 필요 없으며, iOS 위치 API에서 함수를 호출하기만 하면 된다.

애플과 구글은 일련의 함수를 안드로이드와 iOS에 내장해, 개발자가 코로나19 확진자에 노출됐을 때 이를 알릴 수 있는 앱을 개발할 수 있도록 지원한다. 단, 노출 알림 API는 모든 개발자가 사용할 수 있는 것이 아니라, 전 세계 정부의 공식 보건 기관에서만 사용할 수 있다. 또한, 앱을 개발할 때도 많은 제약이 있다. 예를 들어 미국에서는 이 API를 사용한 앱은 주 보건부 또는 이와 동급의 기관에서만 제공할 수 있다.
 
노출 알림이 작동하는 샘플 이미지. 실제 화면은 앱에 따라 차이가 있을 수 있다. © APPLE

현재까지 미국에서 이 노출 알림 API를 사용하겠다고 공개적으로 밝힌 주는 앨라배마주, 사우스캐롤라이나주, 노스다코타주 3곳뿐이다. 하지만 모든 상황이 빠르게 진행되고 있으며, 아마도 바뀔 것으로 보인다. 이 API는 글로벌 기술 프로그램으로, 다른 국가의 보건 기관에서도 사용할 수 있다.
 

노출 알림 API 작동 원리

애플은 이 노출 알림 API의 작동 방식에 대해 많은 기술적 세부 사항과 매우 유용한 FAQ를 제공한다. 이에 따르면 먼저, 사용자의 아이폰에는 임의의 블루투스 식별자가 부여되며, 이는 숫자와 문자를 조합해 사용자마다 다르다. 이 식별자에는 그 어떤 개인정보도 포함하지 않는다. 이름, 이메일 주소, 애플 ID, 위치, 나이 등이 노출될 우려는 전혀 없다. 단지 문자와 숫자의 긴 조합으로, 사용자마다 고유한 식별자를 부여하기 위한 목적일 뿐이다. 또한 고유 ID 번호는 10~20분마다 바뀐다.

사용자의 스마트폰은 이 고유 ID 문자열을 가까이 다가오는 주변의 다른 모든 스마트폰에 블루투스로 전송한다. 그리고 다른 스마트폰도 각자의 식별자를 전송하고, 모든 스마트폰은 로그를 보관한다. 이는 사용자 스마트폰에 다가오는 모든 고유의, 하지만 익명의 ID에 대한 기록이다. 사용자가 누구인지 알 수 있는 정보나, 근처에 있을 때의 위치를 알려주는 정보는 전혀 포함하고 있지 않다.

이제 근처에 있는 누군가가 코로나19 검사를 받고 양성이 확정됐다고 하자. 그러면 해당 스마트폰의 사용자가 동의한다는 가정하에, 공공 보건 당국의 앱을 사용해 자신의 블루투스 식별자를 중앙 데이터베이스에 업로드한다. 다시 강조하면 여기에 사용자의 개인정보나 위치 기록은 전혀 포함되지 않는다.
 
© APPLE

이제 노출 알림 앱을 사용하는 이들은 사용자 본인을 포함해, 모든 사람의 스마트폰으로 코로나19 확진자의 식별자 목록을 중앙 서버에서 주기적으로 다운받을 수 있다. 여기에는 그 어떤 개인 정보나 위치 정보도 없다. 단지 '코로나19 확진자의 익명 무작위 블루투스 ID 숫자 목록'에 불과하다. 사용자의 스마트폰은 주변에 있던 스마트폰의 ID 로그를 다운받은 확진자 ID 데이터베이스와 비교한다.

일치하는 항목이 있으면 사용자 아이폰은 경고를 표시한다. 확진자에게 노출됐을 가능성과, 확진자의 양성 판별이 나온 날짜, 확진자와 동선이 겹친 날짜를 보여준다. 노출 알림 앱을 이용하면 사용자와 근접해 있던 ID, 블루투스 신호로 판별한 서로 간의 거리, 머문 시간을 확인할 수 있다. 서로 10초 이내에 스쳐 지나간 경우는 경고를 표시하지 않겠지만, 애완견 놀이터 같은 곳에서 10분 정도 가까이 머물렀다면 경고가 나타난다.
 
© APPLE
 

프라이버시를 보호 방안

프라이버시 보호를 위해 사용자는 언제든 이 기술을 비활성화할 수 있다. 설정 > 개인정보보호 > 건강 항목에서 코로나19 노출 로깅을 찾는다. 활성화된 앱을 확인하고 토글 키로 끄거나 킬 수 있다. 하지만 먼저 공공 보건 당국에서 앱을 다운로드해 기능을 켜야 한다. 모두에게 기본 활성화되는 기능이 아니다. 로깅을 할 앱이 없으면 실행도 할 수 없다.

또한, 다른 사람과 사용자 본인의 스마트폰은 서로의 개인 정보를 주고받지 않는다. 실제로 주고받는 것은 임의의 식별자일 뿐이다. 위치 정보도 기록되지 않는다. 사용자 스마트폰은 사용자의 다른 사람과 접촉한 기록을 누구에게도, 어느 곳에도 전송하지 않는다. 애플이나 구글이든, 정부나 다른 사용자든 알 수 없다.

사용자가 확진된 경우, 공공 보건 기관이 사용자의 허락을 받은 후 임의의 ID를 얻을 수 있지만, 접촉한 사람의 목록은 얻을 수 없다. 또한 어떤 상황에서도 위치 기록을 알 수 없다. 확진자의 ID와 사용자가 만난 사람과의 모든 매칭은 사용자의 기기 내에서만 이뤄진다.

휴대폰이 기기내 접촉 기록에 있는 ID와 공공 보건 기관의 확진자 검진 ID 로그가 일치하는 경우를 찾으면, 앱은 공공 보건 당국에 확진자와 접촉이 발생했다는 사실만 알리고 연관된 사람이 누구인지는 알려주지 않는다. 그 외, 접촉이 발생한 날짜, 지속 시간, 블루투스 신호 강도를 알려줄 뿐, 다른 정보는 없다. 애플과 구글은 이런 정보조차 알 수 없다. 확진자 ID도, 사용자의 접촉자 명단도, 아무것도 알 수 없다.

또한, 이 노출 알림 API를 사용하는 앱에는 다음과 같은 제한 사항도 있다.
 
  • 오직 정부 공공 보건 당국만 앱을 만들 수 있으며 코로나19 대응을 하는 목적으로 사용이 제한된다
  • 먼저 사용자 동의를 받아야 앱이 API를 사용할 수 있다.
  • 먼저 사용자 동의를 받아야 확진 검진 결과를 공공 보건 당국과 공유할 수 있다.
  • 앱은 최소한의 필요한 데이터만 수집하며 코로나19 대응 목적으로만 사용할 수 있다. 사용자 정보는 타깃 광고를 포함해 다른 모든 사용이 허용되지 않는다.
  • 앱은 위치 서비스 접근 허가를 요구할 수 없다.
 

노출 알림 기능을 사용해야 할까

현재까지 이 기능을 지원하는 앱은 아직 나오지 않았다. 따라서 미국 내 사용자에게 노출 알림 API로 할 수 있는 것은 아직은 없다. 이 API를 사용하는 앱을 출시한 유일한 국가는 스위스이며, 현재 군인, 의료진, 공무원으로 앱 사용이 제한돼있다.

공공 보건 기관에서 API를 지원하는 앱을 배포한다면 사용하는 것이 좋다. 많은 사람이 이 앱을 사용한다면, 보건 기관이 코로나19가 얼마나 확산 혹은 감소하는지, 기업이나 공공 활동에 정확히 어떤 제한을 적용하거나 해제해야 하는지 판단하는 데 큰 도움이 될 수 있다.

전 세계의 다른 비슷한 프로그램과 비교해, 이 애플/구글 공동 솔루션은 개인정보보호에 매우 효과적이다. 사실, 미국의 일부 주에서는 노출 알림 API를 활용한 앱을 사용하길 꺼린다. 사용자 위치 추적 기능처럼 개인을 식별할 수 있는 정보를 충분히 제공하지 않기 때문이다. editor@itworld.co.kr


X