220420_유명조달기업
IP CCTV 환경에서 악의적인 사용자를 차단하기 위한 사용자 인증프로토콜 설계 및 구현
상태바
IP CCTV 환경에서 악의적인 사용자를 차단하기 위한 사용자 인증프로토콜 설계 및 구현
  • CCTV뉴스
  • 승인 2011.12.29 00:00
  • 댓글 0
이 기사를 공유합니다

박태성 박사과정 숭실대학교 통신보안연구실
서론

CCTV란 Closed Circuit Television의 약어로써 비디오 카메라를 이용해 특정 장소의 한정된 모니터로 신호를 전송하는 방법을 쓰며 흔히 범죄를 예방하기 위한 하나의 방책으로 감시 카메라에 많이 쓰이고 있다.
기존의 웹은 많은 취약점이 존재하는데 CCTV가 Network화 되면서 이런 웹의 취약점에 그대로 노출이 되는 문제가 발생하였다. 또한 CCTV영상이란 사생활관련 영상이며 이러한 영상이 불특정 다수에 노출이 된다면 충분히 민감한 문제라 할 수 있다.
최근 CCTV 관련으로 여러 가지 문제점에 나타나는데, 관리자가 네트워크 카메라의 공인 IP 혹은 유동 IP를 수시로 변경하지 않는 탓에 외부에 노출되기 쉽고, IP 주소가 유출되면 비밀번호를 알아낼 수 있는 크랙 프로그램으로 관리자 계정에 접근하여 언제든 감시 영상을 빼낼 수 있는 문제가 발생한다. 허나 네트워크 감시카메라는 다른 IT 자원과 달리 데이터 용량이 크고 스트림 방식으로 데이터를 전송하므로 IP주소를 바꾸기 어렵고 쉽게 외부에 노출되는 실정이다. 이러한 문제점 때문에 감시영상이 유출되는 것은 시간문제라 할 수 있다. 따라서 본 고에서는 악의적인 사용자의 접근을 제한하기 위한 Network CCTV환경에서의 사용자 인증 프로토콜을 제안한다.

관련연구
Network CCTV 시스템의 문제점
시민들의 안전을 보호하는 경찰의 수는 매년 늘고 있는 추세이지만 사회적인 강력 범죄 발생 및 치안 문제의 증가로 인해 시민의 보호와 개인 보안을 목적으로 한 네트워크 기반의 CCTV 시스템의 설치·운영이 전국적으로 확산되고 있다. 특히, 인터넷 기술의 발전에 힘입어 쓰레기 불법투기, 치안 방범, 불법 주·정차 단속 등 그 활용 범위도 다양해졌다.
한편 CCTV 시스템의 설치·운영이 증대되어 가는 것에 반해 상대적으로 이에 대한 뚜렷한 정부의 지침과 기준 없이 무분별한 도입으로 인한 보안 문제들이 쟁점으로 부각되고 있다.

네트워크 기반의 CCTV 시스템에서 발생하는 보안 위협
현재 한국 시장은 여전히 아날로그 카메라, DVR이 주를 이루고 있다 할 수 있다. 그러나 세계적인 추세로 볼 때 DVR의 성장세는 계속 감퇴되고 있는 반면 네트워크 기반의 CCTV 시스템 시장 규모가 매년 수 십 퍼센트 이상씩 성장하고 있다.
현재 공공기관에 설치된 수많은 네트워크 기반의 CCTV 시스템이 외부의 해킹에 무방비로 노출되고 있으며, 노출된 영상의 이미지가 악의적으로 이용되는 것에 대한 많은 사례들이 이슈화 되고 있다. 이러한 네트워크 기반의 CCTV 시스템에서는 [그림 1-1]과 같이 인터넷망을 통해 영상정보의 수집과 원격제어가 가능하여 영상정보의 유출 위험이 점진적으로 증가하고 있다.
아래 [그림 1-1]는 네트워크 기반의 CCTV 시스템이다.


[그림1-1] 네트워크 기반의 CCTV 시스템

IP를 이용한 보안 위협
네트워크 기반의 CCTV 시스템은 인터넷, 인트라넷, 전용선등을 이용하여 CCTV로 촬영한 영상정보를 NVR 서버로 전송한다. 이 경우 일반적으로 공인 IP나 유동 IP를 이용하게 되는데, 공인 IP를 사용하는 CCTV 시스템의 경우 공인 IP의 수적 한계와 편리함 때문에 처음 CCTV 시스템 설치 시 설정된 후 오랜 기간 사용하게 되어 다양한 경로를 통해 IP주소의 노출에 대한 위협이 존재한다. 이렇게 습득된 IP주소는 여러 가지 크래킹 소프트웨어를 이용해 수 시간 이내에 CCTV 시스템에서 사용하는 관리자의 ID와 패스워드를 찾아내어 무단으로 영상 정보를 보거나 습득할 수 있다.
공인 IP 회선비 부담으로 인해 대부분의 네트워크 CCTV 시스템들은 국내 ISP(Internet Service Provider)들의 유동 IP 회선을 이용하여 CCTV로 촬영한 영상정보들을 전송한다. IP주소가 자주 변경되기 때문에 지정된 호스트 도메인명에 자동 매핑되는 DDNS(Dynamic Domain Name Service) 기술을 이용하게 되는데, 이 경우에도 예측 가능한 경우의 입력으로 인하여 손쉽게 CCTV 시스템의 접근이 가능하다. 오랫동안 사용하면 다양한 경로와 사소한 관리 부실로 인해 노출이 용이하고, 한번 노출되면 CCTV 시스템의 관리자 ID와 패스워드는 수 시간 내에 감지될 수 있다.


악의적인 사용자를 차단하기 위한 RTSP 사용자 인증 프로토콜 


[그림 2-2]  제안하는 시스템 개요도

위의 [그림 2-1]은 제안하는 시스템의 전체적인 개요도이다.
제안하는 사용자 등록 과정에서 사용자의 인증과 더불어 CCTV의 SN를 제공함과 동시에 사전에 사용자와 관련 CCTV를 동기화 시켰으며, 사용자 인증 과정에서 이 SN과 사용자에게 부여한 Random Number로 본인 인증을 강화 하였으며, 단순 CCTV의 IP 접속이나 비밀번호 언락 크랙으로 인한 CCTV의 영상 유출을 불가능하게 하였다.

사용자 등록 프로토콜

아래 [그림 2-2]는 제안하는 프로토콜의 사용자 등록 과정이다.

 
[그림2-2] 제안하는 사용자 등록 프로토콜

제안하는 사용자 등록 프로토콜은 다음 절차를 수행하며 이루어진다.
① 사용자는 VMS의 운영 PC에 IP CCTV 영상 서비스 요청 메시지를 보낸다.
② VMS의 운영 PC는 회원가입에 필요한 사용자 정보를 요청한다.
③ 사용자는 회원가입을 위한 사용자 정보를 전송한다. Response {User Data(Name, Num) } 

   해당 정보는 각각 사용자의 이름과 사용자의 주민등록번호이다④ VMS의 운영 PC는 수신한 사용자 정보를 본인확인기관에 전송 및 인증을 요청한다.

Verify User Data Confirm {User(Name, Num) }
 
    VMS는 사용자에 대한 정보를 식별할 수 있는 기관을 구비하지 않았다. 따라서 VMS의 운영 PC는 사용자로부터 수신한 데이터를 본인확인기관에 전송함으로써 사용자에 대한 정보의 확인을 요청한다.
⑤ 본인확인기관은 사용자의 개인정보를 확인한 후 올바른 정보일 경우 VMS의 운영 PC에 승인 메시지를 전송하고 그렇지 않을 경우엔 거부 메시지를 전송한다.
⑥ VMS의 운영 PC는 본인확인기관으로부터 받은 응답메시지를 인증서버로 전송한다.
⑦ 인증서버는 운영 PC로부터 전송받은 메시지로 사용자의 정보를 확인한다.
⑧ 인증서버는 사용자 정보에 대한 승인 메시지를 운영 PC에 전송한다.
⑨ 운영 PC는 인증서버로부터 받은 승인 메시지를 사용자에게 전송한다.
⑩ 사용자는 사용할 아이디와 패스워드를 VMS의 공개키로 암호화 하여 VMS의 운영 PC에 전송한다.

Send {EVMSPu(ID || PW) } 

    사용자는 아이디와 패스워드를 VMS의 공개키로 암호화해서 전송하게 되는데 이렇게 함으로써 사용자의 아이디와 패스워드는 VMS만이 복호화할 수 있으며 패스워드 추측 공격 같은 외부의 공격으로부터 안전 하다.
⑪ 운영 PC는 사용자로부터 수신한 데이터를 VMS의 개인키로 복호화하여 아이디와 패스워드를 추출해 낸다.

Transaction {DVMSPri(ID || PW) }
⑫ 운영 PC는 인증서버로 사용자의 아이디와 패스워드에 대한 노출을 막기 위해 해시한 값을 인증서버에 전송한다.
 Send {ID || h(PW) }
⑬ 인증서버는 수신한 사용자의 정보를 등록한다.⑭ 인증서버는 회원가입 완료에 대한 결과를 운영 PC에 전송한다.
⑮ 운영 PC는 인증 과정에 필요한 CCTV의 SN값을 사용자의 공개키로 암호화하여 전송해 준다.
Send {EUserPu(SN) } 

    본 사용자 등록 프로토콜은 사용자의 정보를 확인한 후 사용자가 보고자 하는 Network CCTV에 서비스를 요청할 때 필요한 정보인 SN를 취득할 수 있게 해주는 것이 목적이다.

제안하는 사용자 인증 프로토콜

아래 [그림 2-3]은 제안하는 사용자 인증 프로토콜 과정이다. 


  [그림2-3] 제안하는 사용자 인증 프로토콜

제안하는 사용자 인증 프로토콜은 다음 절차를 수행하며 이루어진다.
① 사용자가 VMS의 운영 PC에 서비스를 요청한다.
② 운영 PC는 서비스를 제공하기 전에 사용자의 회원가입 여부를 확인하고 회원인 경우 사용자의 정보와 회원 가입 시 배포했던 CCTV의 SN값을 요청한다.
③ 사용자의 아이디, 패스워드, CCTV의 SN값을 해시한 데이터를 VMS의 공개키로 암호화해서 VMS의 운영 PC에 전송한다.

Response {EVMSPu(ID || PW || h(SN))}

④ 운영 PC는 수신한 데이터를 VMS의 개인키로 복호화하여 CCTV의 SN값을 확인하고 사용자 아이디와 패스워드 노출을 막기 위해 해시하여 인증서버로 전송한다.
 Send {ID || h(PW)}
⑤ 인증서버는 수신한 아이디와 패스워드를 확인하고 해당 사용자에 대한 일회성을 갖는 R값을 생성한다.
⑥ 인증서버는 생성한 R값을 운영 PC로 전송한다.
⑦ 운영 PC는 인증서버로부터 수신한 R값과 SN에 해당하는 CCTV의 IP 정보의 해당 포트번호를 함께 사용자의 공개키로 암호화하여 사용자에게 전송한다.
Send {EUserPu(R || CCTV_IP || P_Num)}
⑧ 사용자는 수신한 데이터를 사용자의 개인키로 복호화하여 CCTV에 접속을 한다. 사용자는 CCTV의 SN를 CCTV의 공개키로 암호화한 데이터와 사용자의 아이디, 패스워드, 랜덤넘버 R값을 VMS의 공개키로 암호화한 데이터와 연접하여 CCTV에 전송한다.

Send {ECCTVPu(SN) || EVMSPu(ID || PW || R)}
⑨ CCTV는 수신한 데이터를 CCTV의 개인키로 복호화한 후 SN값이 자신의 CCTV와 같다면 VMS의 공개키로 암호화된 데이터를 VMS로 전송해준다.
Send {EVMSPu(ID || PW || R)}

⑩ VMS의 운영 PC는 수신한 데이터를 VMS의 개인키로 복호화한 후 아이디, 패스워드, R값을 추출해 낸다.

Transaction {DVMSPri(ID || PW || R) }

⑪ 운영 PC는 아이디와 패스워드에 대한 노출을 막기 위해 해시한 값과 랜덤넘버 R값을 인증서버로 전송해 준다.
 Send {ID || h(PW) || R }


⑫ 인증서버는 수신한 아이디와 패스워드 그리고 R값이 VMS에서 제공한 값이 맞는지 검증을 한다.
 Verify ID, h(PW) and R
⑬ 사용자 검증 메시지를 운영 PC에 전송한다.
⑭ 운영 PC는 사용자 검증 메시지를 CCTV의 공개키로 암호화하여 CCTV에 전송한다.

Send {ECCTVPu(Authentication_data) }

구현 환경 및 결과
본 고에서는 Network CCTV에서의 악의적인 사용자를 차단하기 위한 사용자 인증 프로토콜을 제안하였다. 앞서 설명했듯이 제안하는 사용자 인증 프로토콜은 사용자를 등록할 때 사용자가 취득한 SN값을 인증할 때 사용한다. 인증 받는 과정에서 SN값의 확인과 해당 세션의 R값과 아이디, 패스워드 등의 정보를 비교함으로써 Replay Attack같은 공격으로부터 안전하며 PKI기반의 암호화 메커니즘을 사용함으로써 데이터의 비밀성이 보장되고 사용자의 개인정보를 해쉬알고리즘을 적용시킴으로써 개인정보 또한 무결성이 보장된다. 구현환경은 [표 3-1]과 같다.



IP CCTV 환경 시스템의 구현은 IP CCTV간에 필요한 사용자 등록 및 인증 서비스, 그리고 본인인증기관을 구현하였다. 사용자는 자신의 이름과 주민등록번호로 개인정보를 확인받은 후 아이디와 패스워드를 입력하여 "등록" 버튼을 클릭하면 사용자의 데이터는 암호화하여 VMS에 전송한다. 전송하는 데이터는 앞에서 설명한 것과 같다. 회원가입을 하기 위해 모든 정보를 입력 하고 아이디 중복이 발생하지 않고 정상적으로 회원가입이 되면 VMS에서 업데이트가 되었다는 메시지를 전송해주며 사용자의 화면에는 [그림 3-2]와 같은 메시지가 뜨는 동시에 SN값을 전송해 준다. 
  

[그림 -31] 사용자 회원가입


[그림3-2] 등록완료 알림


[그림3-3] Server 해당 CCTV 선택
  
앞서 설명했던 회원가입과정은 CCTV가 미가동인 상태여도 상관이 없다. CCTV의 가동 여부와는 상관없이 회원가입은 VMS에 접속을 하여 인증을 받는 과정이기 때문이다. 위의 [그림 3-3]는 VMS 서버의 해당 CCTV 선택 과정이다.

 해당 CCTV를 선택하고 난 후에 아래 [그림 3-4]와 같은 화면이 뜨게 된다. CCTV의 IP와 포트번호를 설정하고 CCTV를 가동시키면 VMS 서버와 IP CCTV는 가동이 시작된다.

[그림3-4] VMS Server 구현

사용자는 아이디 패스워드 그리고 VMS로부터 발급받은 SN값을 이용해 로그인을 할 수 있게 된다. [그림 3-5]와 같이 사용자가 로그인을 하기 위해 아이디 패스워드 SN값을 기입해 "로그인"버튼을 클릭하면 사용자의 정보는 암호화되어 VMS로 전송된다. 


[그림 3-5] 사용자 로그인


 VMS에서 사용자의 정보 확인 후 인증이 완료되면 인증서버에서 생성한 R값과 CCTV의 IP정보, 그리고 해당 포트 번호를 사용자에게 전송한다. 사용자는 로그인 후 CCTV의 IP정보와 랜덤넘버 R값 및 포트번호를 수신하게 되는데 이 값들은 CCTV의 카메라를 보기 위한 정보들이다. IP 주소와 Port번호, 랜덤넘버를 입력하고 사용자가 CCTV영상을 보기위해 "Show Start"버튼을 클릭하면 CCTV영상이 화면에 출력되는 것을 볼 수가 있다.


[그림 3-6] VMS Client 구현

위의 [그림 3-6]은 사용자가 VMS으로부터의 영상을 수신하는 장면이다. 본 구현은 동일 PC를 사용하여 IP주소가 '127.0.0.1'이 출력되었으며, 포트번호는 VMS와 같은 '9999'번, R값은 '81346794'가 출력된 것을 확인할 수 있다.
구현을 통하여 얻은 기존 Network CCTV 시스템 환경과 제안시스템의 안전성은 [표 3-2]와 같다.



패스워드 추측 공격
사용자 익명성이 보장되는 프로토콜에서는 아이디와 패스워드가 추측공격의 대상이 된다. 제안된 인증 프로토콜에서는 아이디와 패스워드는 VMS의 공개키로 암호화되어 전송되므로 패스워드에 관한 정보는 오직 사용자만이 알 수 있다. 또한 일방향성과 난수의 예측 불가능성이라는 특성을 가진 해시함수를 이용하여 비밀번호를 해시하므로 패스워드 추측은 불가능하다.

사용자 위장 공격
제안된 인증 프로토콜은 외부·내부 공격자에 의한 위장 공격에 안전하다. 외부 공격자가 정당한 사용자의 아이디와 패스워드를 얻었다고 가정하였을 때, 정당한 로그인 정보를 위조하기 위해서는 사용자 등록 단계에서 제공하는 SN값과 사용자 인증과정에서 제공하는 R값을 포함하여야 한다. 하지만 공격자는 CCTV의 고유번호인 SN값을 알지 못하기 때문에 정당한 사용자인 척 위장할 수 없다.

재전송 공격
제안된 인증 프로토콜에서 일회성을 가지는 R값을 생성하고 이 값을 사용하여 로그인을 검증한다. 그러므로 제안된 프로토콜은 재전송 공격에 안전하다. 또한 사용자가 인증을 요청할 때마다 이 R값은 매번 바뀌므로 제안된 기법은 재전송 공격에 안전하다.

전방향 안전성
공격자가 사용자의 패스워드를 알아냈다 하더라도 회원가입시 부여받은 SN값을 알 수 없을 경우, 프로토콜이 전 방향 안전성을 만족한다고 한다. 또한 공격자가 사용자에게 부여받는 일회성의 R값을 알 수가 없으므로 해당 프로토콜은 전 방향 안전성이 유효하다.

웹 사이트 해킹
제안된 인증 프로토콜은 SN와 R값을 포함하여 인증 하는 방식이다. 해당 CCTV의 SN가 일치하여야 하고 일회성을 가지는 R값 또한 VMS의 인증 서버와 연동이 되어있다. 공격자가 VMS을 가장한 웹 사이트를 생성하여 사용자를 속여도 SN값과 R값을 미리 알지 못하기 때문에 제안된 기법은 웹 사이트 해킹에 안전하다.

서버의 비밀키 추측 공격
VMS의 공개키를 사용하여 암호화된 전송메시지는 네트워크상에서 많이 사용되므로 공격자가 발행기관의 비밀키를 사용한 메시지를 가로챌 수 있다. 그러나 가로챈 메시지는 패스워드가 암호학적 해시함수의 일방향성과 난수의 예측 불가능성 때문에 유추하기가 매우 어렵다. 그러므로 서버의 비밀키 추측 공격에 안전하다고 할 수 있다.

입력 내용 변조 및 키보드 해킹
공격자가 사용자와 VMS간에 교환하는 데이터를 갈취함으로써 그 내용을 변조하여 사용자에게 전송하더라도 공격자는 사용자가 수신한 SN 및 아이디 패스워드에 맞는 R값을 모르기 때문에 사용자에 대한 입력 내용 변조에 대해 안전하다 할 수 있다. 또한 공격자가 데이터를 VMS에 전송을 하더라도 사용자의 아이디 패스워드 및 SN값을 모르기 때문에 프로그램상 그 이상의 진행단계로 넘어가질 않으므로 VMS에 대한 입력 내용 변조에 대해 안전하다 할 수 있다.
공격자는 사용자에게 부여된 R값을 알 수가 없으며, 사용자가 R값을 수신하여 키보드로 직접 타이핑을 하는 것이 아니라 수신한 데이터를 자동 입력하는 방식이므로 키보드 해킹에 안전하다.


결론
본 고에서는 CCTV의 환경에서의 사용자 인증 및 안전성을 높이기 위하여 악의적인 사용자를 차단하기 위한 사용자 인증 프로토콜에 대하여 연구하였다. 제안한 방식은 사용자의 PC로부터 웹 서비스 기관인 VMS에 서비스를 요청하면 이를 바로 처리하지 않고 VMS의 인증기관을 거쳐 사용자를 확인하고 인증 후에 서비스를 제공함으로써 안전한 사용자의 접근은 제공한다.
기존의 인증 방식에서는 해킹에 대한 취약성이 존재하는 반면에 제안하는 시스템은 사용자의 PC와 서비스 관련 정보를 암호화하고 또한 사용자의 부분적인 익명성을 보장하기 위한 방법으로 SN값과 일회성으로 생성해낸 랜덤넘버 R값을 활용함으로써 기존의 인증 방법보다 해킹에 대한 안전성을 확인하였다.
이는 웹서비스로 CCTV를 활용함으로써 우리 생활에 가져다주는 편리함과 즐거움 이면에 IP CCTV을 사용함으로서 우리가 원하지 않은 방법으로 많은 사생활 관련 영상 및 개인정보들이 노출되는 것을 막아주고, 정당한 범위 내에서, 즉 다른 사람에게 피해를 주지 않는 범위 내에서 개인의 신분을 드러내지 않은 채 IP CCTV을 이용할 수 있게 해준다. 허나 앞으로도 계속 인가되지 않은 사용자가 접근하지 못하도록 계속해서 단점을 보완하고 더욱더 효율적인 알고리즘 개발 및 인증 방식을 모색해야 할 것이다.


<본 고는 숭실대학교 박태성의 학위논문을 바탕으로 정리한 것임을 알려드립니다>

댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
0 / 400
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.