코로나바이러스감염증-19 예방접종 사전예약 접속기
개요
본 웹 문서는 코로나바이러스감염증-19 예방접종 사전예약 시스템(https://ncvr.kdca.go.kr, 이하 '사전예약 시스템'이라 함)의 접속 과정에서 NetFunnel 대기에 따른 피로를 줄이기 위해 작성되었습니다.
구동 원리
본 웹문서는 예약 시작 시간 이전에 먼저 질병관리청 NetFunnel 서버로부터 대기 코드와 순번을 부여받고 그 코드를 지속 사용 가능한 상태를 유지하기 위해 지속하여 그 키를 갱신합니다. 함께 배포된 파이썬 스크립트에서 휴대폰 본인인증을 마치고 본 웹 문서 상의 키를 입력하면 본인인증 결과 코드와 넷퓨넬키를 입력하여 사전예약 시스템에 접속하게 됩니다. 이 떄 넷퓨넬 키는 해당 키 값은 해당 이용자의 IP주소로 질병관리청 NetFunnel 서버에서 발급받은 Key 값이므로 사전예약 시스템은 정상 접근으로 인식하고 접속을 허용합니다.
본 방식의 한계점
이러한 방식에도 불구하고 이 웹문서를 통한 이용한 사전예약 시스템 접속 및 이용 과정에서는 다음과 같은 한계점이 있습니다.
- 질병관리청 NetFunnel 서버에서 본 웹문서가 있는 페이지에서의 접근을 허용할 이유가 없으므로 질병관리청 NetFunnel 서버에 키를 주고 받는 과정에서 NetFunnel 서버의 응답 헤더의 Access-Control-Allow-Origin 값에 이 문서가 속한 도메인이 없습니다. 따라서 브라우저는 교차 출처 리소스 공유(CORS) 정책 위반으로 본 웹문서 내의 Javascript가 넷퓨넬 서버의 응답 내용을 활용할 수 없게 조치합니다. 본 문서에서는 크롬 웹스토어의 'Allow CORS' 확장 기능을 설치하여 활성화하는 방법으로 해당 정책 위반을 무시하고 진행할 수 있도록 안내하고 있습니다만, CORS 정책의 역할을 고려하였을 때 이러한 조치를 취하는 것이 이용자 보안에 이로운 행동은 아닙니다.
- (9일 현재 기준) 현재 ncvr2.kdca.go.kr으로 테스트를 진행하고 있습니다만, 개발 용 임시 서버로 생각이 되고 있습니다. 이후, 9일 첫 예약 개시시 도메인이 변경될 우려가 있습니다.
- 본 접속기는 사전예약시스템 접속을 위해 민간에 위탁해놓은 본인인증 서버에서 인증을 수행합니다. 따라서, 질병관리청이 휴대폰 본인인증 위탁사업자로 지정한 코리아크레딧뷰로의 해당 서버의 문제가 발생할 경우 본인인증 문제로 접속에 문제가 발생할 수 있습니다.
- 질병관리청은 때때로 잠수함 패치로 이런 우회법을 지속적으로 막아오고 있습니다. 본 방법 역시 언제든 무력화될 수 있습니다.
안내 사항
- 본 문서는 ASP, PHP, JSP 등 웹 프로그래밍 언어로 작성된 웹 프로그램이 아니므로, 본 문서의 코드는 여러분들이 소스 보기를 통해 볼 수 있는 코드가 전부입니다.
- 또한, 파이썬 스크립트 역시 EXE 파일이 아닌 py 파일로 제공하므로써, 코드를 공개하고 있습니다.
- 배포되는 자료 중 파이썬 스크립트는 휴대폰 본인인증 처리를 위해 예약자의 개인정보를 입력받습니다. 이는 본인인증을 위해 코리아크레딧뷰로 서버로 전송됩니다. 그 외 제3자에게 제공되지 않습니다.
- 함께 배포되는 파이썬 스크립트로 성명, 내외국민 종류, 생년월일, 성별, 이동통신사, 휴대폰번호를 모두 입력함으로써, 가입한 이동통신사의 개인정보 수집.이용.취급위탁 동의, 고유식별정보처리 동의, KCB 휴대폰 본인확인 이용약관, 이동통신사 본인확인서비스 이용약관, (KT, LG U+망 알뜰폰 사용자 한정) 개인정보 제3자 제공 동의에 모두 동의된 것으로 간주됩니다.
면책 사항
본 웹 문서 제작자는 본 웹문서를 통해 항시 사전예약 시스템에 접속하는 것이 가능하다라거나 이 방법이 문제가 없다라는 보장을 하는 것은 아니므로, 이를 이용하여 예방접종 예약을 시도하여 발생하는 문제는 이용자 본인에게 있음을 인지하고 사용하셔야 합니다. 이 웹 문서 이용으로 발생하는 문제는 이용자 본인이 감수하여야 합니다.