코로나바이러스감염증-19 예방접종 사전예약 접속기

개요

본 웹 문서는 코로나바이러스감염증-19 예방접종 사전예약 시스템(https://ncvr.kdca.go.kr, 이하 '사전예약 시스템'이라 함)의 접속 과정에서 NetFunnel 대기에 따른 피로를 줄이기 위해 작성되었습니다.

구동 원리

본 웹문서는 예약 시작 시간 이전에 먼저 질병관리청 NetFunnel 서버로부터 대기 코드와 순번을 부여받고 그 코드를 지속 사용 가능한 상태를 유지하기 위해 지속하여 그 키를 갱신합니다. 함께 배포된 파이썬 스크립트에서 휴대폰 본인인증을 마치고 본 웹 문서 상의 키를 입력하면 본인인증 결과 코드와 넷퓨넬키를 입력하여 사전예약 시스템에 접속하게 됩니다. 이 떄 넷퓨넬 키는 해당 키 값은 해당 이용자의 IP주소로 질병관리청 NetFunnel 서버에서 발급받은 Key 값이므로 사전예약 시스템은 정상 접근으로 인식하고 접속을 허용합니다.

본 방식의 한계점

이러한 방식에도 불구하고 이 웹문서를 통한 이용한 사전예약 시스템 접속 및 이용 과정에서는 다음과 같은 한계점이 있습니다.

  1. 질병관리청 NetFunnel 서버에서 본 웹문서가 있는 페이지에서의 접근을 허용할 이유가 없으므로 질병관리청 NetFunnel 서버에 키를 주고 받는 과정에서 NetFunnel 서버의 응답 헤더의 Access-Control-Allow-Origin 값에 이 문서가 속한 도메인이 없습니다. 따라서 브라우저는 교차 출처 리소스 공유(CORS) 정책 위반으로 본 웹문서 내의 Javascript가 넷퓨넬 서버의 응답 내용을 활용할 수 없게 조치합니다. 본 문서에서는 크롬 웹스토어의 'Allow CORS' 확장 기능을 설치하여 활성화하는 방법으로 해당 정책 위반을 무시하고 진행할 수 있도록 안내하고 있습니다만, CORS 정책의 역할을 고려하였을 때 이러한 조치를 취하는 것이 이용자 보안에 이로운 행동은 아닙니다.
  2. (9일 현재 기준) 현재 ncvr2.kdca.go.kr으로 테스트를 진행하고 있습니다만, 개발 용 임시 서버로 생각이 되고 있습니다. 이후, 9일 첫 예약 개시시 도메인이 변경될 우려가 있습니다.
  3. 본 접속기는 사전예약시스템 접속을 위해 민간에 위탁해놓은 본인인증 서버에서 인증을 수행합니다. 따라서, 질병관리청이 휴대폰 본인인증 위탁사업자로 지정한 코리아크레딧뷰로의 해당 서버의 문제가 발생할 경우 본인인증 문제로 접속에 문제가 발생할 수 있습니다.
  4. 질병관리청은 때때로 잠수함 패치로 이런 우회법을 지속적으로 막아오고 있습니다. 본 방법 역시 언제든 무력화될 수 있습니다.

안내 사항

  1. 본 문서는 ASP, PHP, JSP 등 웹 프로그래밍 언어로 작성된 웹 프로그램이 아니므로, 본 문서의 코드는 여러분들이 소스 보기를 통해 볼 수 있는 코드가 전부입니다.
  2. 또한, 파이썬 스크립트 역시 EXE 파일이 아닌 py 파일로 제공하므로써, 코드를 공개하고 있습니다.
  3. 배포되는 자료 중 파이썬 스크립트는 휴대폰 본인인증 처리를 위해 예약자의 개인정보를 입력받습니다. 이는 본인인증을 위해 코리아크레딧뷰로 서버로 전송됩니다. 그 외 제3자에게 제공되지 않습니다.
  4. 함께 배포되는 파이썬 스크립트로 성명, 내외국민 종류, 생년월일, 성별, 이동통신사, 휴대폰번호를 모두 입력함으로써, 가입한 이동통신사의 개인정보 수집.이용.취급위탁 동의, 고유식별정보처리 동의, KCB 휴대폰 본인확인 이용약관, 이동통신사 본인확인서비스 이용약관, (KT, LG U+망 알뜰폰 사용자 한정) 개인정보 제3자 제공 동의에 모두 동의된 것으로 간주됩니다.

면책 사항

본 웹 문서 제작자는 본 웹문서를 통해 항시 사전예약 시스템에 접속하는 것이 가능하다라거나 이 방법이 문제가 없다라는 보장을 하는 것은 아니므로, 이를 이용하여 예방접종 예약을 시도하여 발생하는 문제는 이용자 본인에게 있음을 인지하고 사용하셔야 합니다. 이 웹 문서 이용으로 발생하는 문제는 이용자 본인이 감수하여야 합니다.