brunch

You can make anything
by writing

C.S.Lewis

by 테크유람 Oct 11. 2020

카카오톡 QR 체크인에는 어떤 개인 정보가 담겨있을까?

내가 다녀간 곳과 내 출입 정보는 어떻게 저장되는것일까?

Covid-19의 국내 영향으로 인해 중앙사고 수습본부는 클럽, 노래방, 유흥주점 등 코로나19 고위험 시설에 전자출입명부 도입을 의무화했습니다. 이에 네이버, Pass, 카카오는 보건복지부와 협의를 거쳐 이용자들이 QR 체크인을 이용할 수 있도록 서비스를 구현했습니다.


이 서비스를 QR 기반 전자출입명부(Ki-Pass, Korea Internet - Pass)라고 합니다.


카카오톡에서 QR 체크인을 하기 위한 방법은 카카오톡 실행 후 하단의 #탭(세 번째 탭)에서 맨 앞의 ‘코로나19’ 특별페이지에 위치한 QR 체크인 버튼을 선택하면 됩니다. 이후 개인 정보 동의를 거치면 QR코드가 생성됩니다. 최초 이용 시 전화번호 확인 인증이 필요하며 전화번호 확인 인증은 한 달간 유효합니다.


<카카오톡 하단 세 번째 메뉴 '#' 선택>


<첫 번째 메뉴 "#코로나19" 선택하기>

최초 1번은 전화 인증이 필요하며, 한 달간 유효합니다.

<발급된 QR 코드>


발급된 QR 코드를 QR 코드 내용을 분석할 수 있는 앱으로 읽어보니 아래 문구가 도출되었습니다. 네이버 QR 체크인과 동일하게 JWT(JSON Web Token) 정보입니다.


002| eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. eyJzdWIiOiJmYTRhN......cyI6Imtha2FvdGFsayIsImV4cCI6MTYwMjA0OTIyOSwidmVyc2lvbiI6IjAwMiJ9. 77GaVhfZvwMp0U9m......oCmVFBnn5WSg9nHGjZED5g


해당 정보를JWT.IO에서 분석해보면 다음과 같이 세부 정보를 볼 수 있습니다.


이중 내용을 담당하는 PAYLOAD에는 이런 정보가 있네요. sub는 체크인 한 사용자 관련 정보, iss는 발급자, exp는 토큰 만료 시간, version은 시스템 혹은 개발 버전으로 예상됩니다.


{ "sub": "fa4a62024b......4dc3a15c8b91e",   "iss": "kakaotalk",   "exp": 1602049229,   "version": "002" }


네이버 QR 코드와 비교해보았습니다.

#카카오톡으로 발급한 QR 코드 정보
{"sub": "fa4a62024b......4dc3a15c8b91e",   "iss": "kakaotalk",   "exp": 1602049229,   "version": "002" }

#네이버로 발급한 QR 코드 정보
{"version": "001",   "exp": 1600257331,   "sub": "8fe25f89.......8958e88d8",   "iss": "NAVER" }


Claim의 순서만 다를 뿐 동일한 형식이며 카카오 QR 코드 역시 개인 정보는 없고 해당인을 특정할 수 있는 고유한 값이 Sub에 저장되어 있습니다. Sub 값만 보면 사용자 ID 등 특정인을 유추할 수 있는 정보는 없습니다.


그렇다면 추후에 이 매장에 확진자가 발생하여 체크인 한 사람들에게 연락을 취해야 한다면 어떻게 동작할까요? 카카오의공지 게시물에잘 나와있습니다


카카오는 개인정보보호를 최우선 순위로 고려, 카카오톡 유저 정보와 출입기록이 분리되어 관리될 수 있도록 했다. 발급된 QR코드는 암호화를 거쳐 사회보장정보원과 분산해 저장된다. 역학조사가 필요할 때만 방역당국이 두 정보를 합쳐 이용자를 식별하며, 정보는 4주 후 자동 폐기된다. 카카오톡에는 이용자가 방문한 장소가 기록되지 않고, QR코드를 사용해 입장한 시설은 사용자의 인적 사항을 확인할 수 없어 개인의 프라이버시를 지킬 수 있도록 설계했다.

출처: https://www.kakaocorp.com/kakao/prChannel/pressReleasesView?boardIdx=10149


위에 Sub 값이 발급된 QR 코드의 핵심 정보이지만, 이 값은 결국 개인을 유추하는 특정 값이 나누어진 것이고, 필요시 사회보장정보원에 나눠 저장된 값과 합쳐야만 특정 시간에 특정 장소에 출입한 이용자의 식별이 가능하다는 의미입니다.


● 네이버 등 QR 발급 회사는 이용자의 동의에 기반하여 암호화된 일회용 이용자 QR 코드를 생성하고, 생성된 QR 정보와 생성 시간만을 저장

● 한국사회보장정보원의 전자출입명부 시스템에는 시설명, 출입 시간과 암호화된 QR만 저장

● (확진자 발생 시) 질병관리본부 등 방역당국은 확진자의 전화번호 혹은 역학조사 결과에서 확인한 시설명, 일시 등을 특정하여 2개 기관(QR 발급회사와 사회보장정보원)에 접촉자 정보를 요청하여 역학조사에 활용

● 역학조사관은 해당 시설의 위험도, 노출 정도 등을 감안하여 접촉 수준에 따라 자가격리, 코로나19 검사, 문자 발송 및 검사 실시 등 방역조치를 신속하게 실시


더 자세한 내용은 보건복지부에서 발행한 자료에 있습니다.



브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari