KR102200432B1 - 상호 인증 방법 및 그 시스템 - Google Patents

상호 인증 방법 및 그 시스템 Download PDF

Info

Publication number
KR102200432B1
KR102200432B1 KR1020170085581A KR20170085581A KR102200432B1 KR 102200432 B1 KR102200432 B1 KR 102200432B1 KR 1020170085581 A KR1020170085581 A KR 1020170085581A KR 20170085581 A KR20170085581 A KR 20170085581A KR 102200432 B1 KR102200432 B1 KR 102200432B1
Authority
KR
South Korea
Prior art keywords
key
authentication
value
hash
transmission device
Prior art date
Application number
KR1020170085581A
Other languages
English (en)
Other versions
KR20190005044A (ko
Inventor
윤사무엘
김봉기
이미숙
이종건
Original Assignee
주식회사 케이티
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 케이티 filed Critical 주식회사 케이티
Priority to KR1020170085581A priority Critical patent/KR102200432B1/ko
Publication of KR20190005044A publication Critical patent/KR20190005044A/ko
Application granted granted Critical
Publication of KR102200432B1 publication Critical patent/KR102200432B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3273Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

상호 인증 방법 및 그 시스템이 제공된다. 이 방법은 적어도 하나의 프로세서에 의해 동작하는 영상 전송 장치에서 수행되는 상호 인증 방법으로서, 네트워크를 통해 연결된 영상 모니터링 장치로부터 연결 요청을 수신하는 단계, 인증 요청을 상기 영상 모니터링 장치에게 전송하는 단계, 상기 영상 모니터링 장치로부터 제1 인증값 및 제1 변수(cnonce)가 포함된 인증 응답을 수신하는 단계, 상기 제1 변수(cnonce)와 기 저장된 마스터 키를 키 유도 함수(Key Derivation Function, KDF)에 대입하여, 도출한 적어도 하나의 키를 이용한 해시연산을 통하여 제2 인증값을 생성하는 단계, 그리고 상기 제1 인증값과 상기 제2 인증값이 서로 일치하는지 비교하여, 일치하면, 상기 연결 요청에 대한 연결 수락을 상기 영상 모니터링 장치로 전송하는 단계를 포함하고, 상기 제1 인증값과 상기 제2 인증값은, 상기 영상 전송 장치와 상기 영상 모니터링 장치가 상호 약속한 동일한 해시 알고리즘을 이용하여 생성된다.

Description

상호 인증 방법 및 그 시스템{METHOD AND SYSTEM FOR TWO-WAY AUTHENTICATION}
본 발명은 상호 인증 방법 및 그 시스템에 관한 것으로서, 보다 자세하게는 클라이언트 장치와 서버 장치가 네트워크를 통해 연결되어 데이터를 송수신하기 전에 상호 인증하는 기술에 관한 것이다.
최근 들어 정보 통신 기술의 발달로 인하여 영상을 촬영하여 전송하는 기술이 나날이 발전하고 있다. 현재 카메라에서 촬영한 영상을 부호화하여 IP 패킷으로 변환한 후, 네트워크를 통해 전송하여 저장하는 IP 카메라 기반의 영상 모니터링 시스템이 대세를 이루고 있다. 일예로, 고화질 CCTV(Closed Circuit Television)를 통한 영상 감시와 최첨단 영상 분석, IoT(Internet of Things) 융복합 기반의 통합관제가 가능한 지능형 영상 보안 서비스가 출시되었다.
종래에 영상 보안 서비스는 표준 RTSP(Real-Time Streaming Protocol) 인증 절차를 사용하며, 이 절차에 따르면, 원격지에서 네트워크 카메라가 촬영한 영상을 모니터링하는 서버와, 네트워크 카메라는 패스워드(Password) 및 변수(nonce)를 MD(Message-Digest algorithm)5 해시함수를 통해 연산한 값으로 상호 인증을 수행한다. 상호 인증에 사용되는 인증값(Respose)은 도 1과 같이 생성된다.
도 1은 종래에 상호 인증을 위한 인증값(Respose)을 생성하는 개략도이다.
도 1을 참조하면, 네트워크 카메라와 원격지 서버는 각각 패스워드(Password) 및 변수(nonce)를 MD5 해시함수에 입력값으로 하여, 인증값(Respose)을 생성한다. 그리고 이러한 인증값(Respose)이 서로 일치하는지를 비교하여 상호 인증한다.
그런데, MD5 해시함수에 입력되는 패스워드(Password)는 네트워크 카메라 별로 디폴트(default) 설정된 값으로서, 일반적으로 네트워크 카메라 정보를 알면 확인이 가능하다. 예를들면, 카메라 일련번호를 구글에 검색만 해도 패스워드(Password)를 알 수 있을 정도로 외부 공개가 쉽다. 그리고 변수(nonce)는 상호 인증 절차에서 네트워크 카메라가 원격지 서버로 전송하는데, 전송 과정에서 해킹에 노출될 가능성이 있으므로, 외부에서 전혀 알 수 없는 정보라고는 할 수 없다.
또한, MD5의 경우, 1996년부터 설계상 결함이 발견되기 시작하였고, 현재는 MD5 알고리즘을 보안 관련 용도로 쓰는 것은 권장하지 않고 있다. 2008년 12월에는 MD5의 결함을 이용해 SSL(Secure Sockets Layer) 인증서를 변조하는 것이 가능하다는 것이 발표되기도 하였다.
이와 같이, 종래에 상호 인증 절차는 외부에 공개가 쉬운 패스워드(Password) 및 변수(nonce)와, 보안상 취약하다고 알려진 MD5 연산을 사용하므로, 정당하지 않은 사용자가 쉽게 네트워크 카메라의 인증을 통과하여 무단으로 네트워크 카메라의 촬영 영상을 획득할 가능성이 크다. 따라서, 보안에 취약하여 해킹을 통한 심각한 문제가 발생할 가능성 또한 높은 실정이다.
본 발명이 해결하고자 하는 과제는 외부에 공개가 쉽지 않은 정보를 사용하고 다단계 연산을 통해 생성한 인증값을 상호 인증시 사용함으로써, 보안이 강화된 상호 인증 방법 및 그 시스템을 제공하는 것이다.
본 발명의 하나의 특징에 따르면, 상호 인증 방법은 적어도 하나의 프로세서에 의해 동작하는 영상 전송 장치에서 수행되는 상호 인증 방법으로서, 네트워크를 통해 연결된 영상 모니터링 장치로부터 연결 요청을 수신하는 단계, 인증 요청을 상기 영상 모니터링 장치에게 전송하는 단계, 상기 영상 모니터링 장치로부터 제1 인증값 및 제1 변수(cnonce)가 포함된 인증 응답을 수신하는 단계, 상기 제1 변수(cnonce)와 기 저장된 마스터 키를 키 유도 함수(Key Derivation Function, KDF)에 대입하여, 도출한 적어도 하나의 키를 이용한 해시연산을 통하여 제2 인증값을 생성하는 단계, 그리고 상기 제1 인증값과 상기 제2 인증값이 서로 일치하는지 비교하여, 일치하면, 상기 연결 요청에 대한 연결 수락을 상기 영상 모니터링 장치로 전송하는 단계를 포함하고, 상기 제1 인증값과 상기 제2 인증값은, 상기 영상 전송 장치와 상기 영상 모니터링 장치가 상호 약속한 동일한 해시 알고리즘을 이용하여 생성한다.
상기 제2 인증값을 생성하는 단계 이전에, 상기 제1 변수(cnonce)와 상기 마스터 키를 키 유도 함수(KDF)에 대입하여, 제1 키를 도출하는 단계를 더 포함하고,
상기 제2 인증값을 생성하는 단계는, 상기 제1 키를 해시연산한 값과, 상기 인증 응답에서 획득한 사용자 ID와, 기 설정된 고정값(realm)을 해시연산하여 제1 해시값(HA1)을 생성하는 단계, 그리고 상기 제1 해시값(HA1) 및 상기 제2 변수(nonce)를 이용한 해시연산을 통하여 상기 제2 인증값을 생성하는 단계를 포함할 수 있다.
상기 제1 키를 해시연산한 값 및 상기 제1 해시값(HA1)은, SHA(Secure Hash Algorithm) 연산을 통해 생성되고, 상기 제2 인증값은, MD(Message-Digest algorithm) 연산을 통해 생성될 수 있다.
상기 제2 인증값을 생성하는 단계 이전에, RTSP(Real Time Streaming Protocol) URI(Uniform Resource Identifier)를 SHA 연산한 제2 해시값(HA2)을 생성하는 단계를 더 포함하고,
상기 제2 인증값을 생성하는 단계는, 상기 제1 해시값(HA1), 상기 제2 변수(nonce) 및 상기 제2 해시값(HA2)을 MD 연산한 상기 제2 인증값을 생성할 수 있다.
상기 제1 변수는, 상기 RTSP URI에 추가되는 형태로 상기 인증 응답에 포함될 수 있다.
상기 인증 요청은, 상기 영상 전송 장치에서 생성된 제2 변수(nonce)와, 상기 고정값(realm)을 포함할 수 있다.
상기 제1 키를 도출하는 단계 이후, 상기 제1 키를 상기 키 유도 함수(KDF)에 대입하여, 제2 키를 도출하는 단계를 더 포함하고,
상기 연결 수락은, 상기 영상 전송 장치에서 상기 영상 모니터링 장치로 전송되는 실시간 스트림에 대한 세션 디스크립션 프로토콜(Session Description Protocol, SDP) 파일을 포함하며,
상기 세션 디스크립션 프로토콜(SDP) 파일은, 상기 제2 키를 해시연산한 값을 포함하며,
상기 제2 키는, 상기 영상 모니터링 장치에서 상기 영상 전송 장치와의 상호 인증을 검증하는데 사용될 수 있다.
상기 제2 키를 해시연산한 값은, 상기 세션 디스크립션 프로토콜(SDP) 파일에 새로 정의된 양방향 인증 필드에 수록될 수 있다.
상기 전송하는 단계 이후, 근거리 통신망을 통해 연결된 로컬 모니터링 앱으로부터 연결 요청을 수신하면, 인증 요청을 전송하는 단계, 상기 로컬 모니터링 앱으로부터 사용자 ID 및 제1 인증값이 포함된 인증 응답을 수신하는 단계, 양방향 인증키와 상기 영상 전송 장치에 설정된 비밀번호를 해시연산한 값과, 상기 고정값(realm)과, 상기 사용자 ID를 해시연산하여 제2 인증값을 생성하는 단계, 그리고 상기 제1 인증값과 상기 제2 인증값이 서로 일치하면, 연결 수락을 상기 로컬 모니터링 앱으로 전송하는 단계를 더 포함하고, 상기 양방향 인증키는, 상기 제2 키가 사용될 수 있다.
상기 제2 키를 도출하는 단계 이후, 상기 제2 키를 상기 키 유도 함수(KDF)에 대입하여, 제3 키를 도출하는 단계, 그리고 상기 제3 키를 상기 키 유도 함수(KDF)에 대입하여, 제4 키를 도출하는 단계를 더 포함하고,
상기 전송하는 단계 이후, 상기 제3 키 및 상기 제4 키를 이용하여 암호화한 영상 패킷을 상기 영상 모니터링 장치로 실시간 스트리밍하는 단계를 더 포함할 수 있다.
본 발명의 다른 특징에 따르면, 상호 인증 방법은 적어도 하나의 프로세서에 의해 동작하는 영상 모니터링 장치에서 수행되는 상호 인증 방법으로서, 연결하고자 하는 영상 전송 장치에게 네트워크를 통해 연결 요청을 전송하는 단계, 상기 영상 전송 장치로부터 인증 요청을 수신하는 단계, 제1 변수(cnonce)를 생성하여 키 관리 서버에 전송하하여, 상기 키 관리 서버로부터 상기 제1 변수(cnonce)와 상기 영상 전송 장치의 마스터 키가 키 유도 함수(Key Derivation Function, KDF)에 대입되어 도출된 적어도 하나의 키를 수신하는 단계, 상기 적어도 하나의 키를 이용한 해시연산을 통하여 생성된 인증값을 포함하는 인증 응답을 상기 영상 전송 장치로 전송하는 단계, 그리고 상기 영상 전송 장치에 의해 상기 인증값이 유효하다고 판단된 경우, 상기 영상 전송 장치로부터 연결 수락을 수신하는 단계를 포함하고, 상기 전송한 인증값은, 상기 영상 전송 장치와 상기 영상 모니터링 장치가 상호 약속한 동일한 해시 알고리즘을 이용하여 상기 영상 전송 장치에서 생성된 인증값과 일치할 경우, 유효하다고 판단된다.
상기 인증 요청은, 상기 영상 전송 장치에 설정된 고정값(realm) 및 상기 영상 전송 장치에서 생성된 제2 변수(nonce)를 포함하고,
상기 인증값은, 상기 제1 변수(cnonce)와 상기 마스터 키를 키 유도 함수(KDF)에 대입하여 도출된 제1 키를 해시연산한 값, 사용자 ID 및 상기 고정값(realm)을 해시연산한 제1 해시값(HA1)과, 상기 제2 변수(nonce)를 해시연산한 값일 수 있다.
상기 인증값은, 상기 제1 해시값(HA1), 상기 제2 변수(nonce) 및 RTSP(Real Time Streaming Protocol) URI(Uniform Resource Identifier)를 SHA 연산한 제2 해시값(HA2)을 해시연산한 값일 수 있다.
상기 제1 키를 해시연산한 값, 상기 제1 해시값(HA1) 및 상기 제2 해시값(HA2)은, SHA(Secure Hash Algorithm) 연산을 통해 생성되고, 상기 제2 인증값은, MD(Message-Digest algorithm) 연산을 통해 생성될 수 있다.
상기 적어도 하나의 키는, 상기 제1 키와, 상기 제1 키를 상기 키 유도 함수(KDF)에 대입하여 도출된 제2 키를 포함하고,
상기 연결 수락을 수신하는 단계 이후, 상기 연결 수락에 포함된 실시간 스트림에 대한 세션 디스크립션 프로토콜(Session Description Protocol, SDP) 파일로부터 해시연산키를 추출하는 단계, 그리고 상기 해시연산키를 역해시연산하여 도출한 키가 상기 제2 키와 동일한지 판단하여, 동일하면, 상호 인증을 완료하는 단계를 더 포함할 수 있다.
본 발명의 또 다른 특징에 따르면, 상호 인증 시스템은 네트워크를 통해 연결을 요청하고, 제1 인증값을 생성하는 클라이언트 장치, 그리고 상기 클라이언트 장치로부터 연결이 요청되면, 상기 클라이언트 장치에게 요청하여 상기 제1 인증값을 수신하고, 제2 인증값을 생성하여 상기 제1 인증값과 일치하는지 검증하여 연결 수락 여부를 결정하는 서버 장치를 포함하고,
상기 제1 인증값 및 상기 제2 인증값은, 제1 변수(cnonce) 및 상기 서버 장치의 마스터 키를 키 유도 함수(Key Derivation Function, KDF)에 대입하여 도출된 제1 키를 해시연산한 값, 상기 서버 장치에 설정된 고정값(realm) 및 사용자 ID를 해시연산하여 생성한 제1 해시값(HA1), 제2 변수(nonce) 및 상기 서버 장치의 접속 주소를 해시연산하여 생성한 제2 해시값(HA2)을 해시연산하여 생성된다.
상기 제1 키와, 상기 제1 키를 상기 키 유도 함수(KDF)에 대입하여 도출되는 제2 키와, 상기 제2 키를 상기 키 유도 함수(KDF)에 대입하여 도출되는 제3 키와, 상기 제3 키를 상기 키 유도 함수(KDF)에 대입하여 도출되는 제4 키를 생성 및 관리하는 키 관리 서버를 더 포함하고,
상기 제2 키는, 상기 서버 장치가 상기 클라이언트 장치로 전송하는 연결 수락의 세션 디스크립션 프로토콜(Session Description Protocol, SDP) 파일에 포함되고, 상기 클라이언트 장치가 상기 키 관리 서버로부터 획득한 제2 키와 일치하면 상호 인증을 완료하는데 사용되고,
상기 제3 키 및 상기 제4 키는, 상기 서버 장치가 상기 클라이언트 장치고 암호화 데이터를 전송하기 위한 암호키로 사용될 수 있다.
로컬 모니터링 앱이 설치되고, 근거리 통신망을 통해 상기 서버 장치와 연결되는 로컬 클라이언트 장치를 더 포함하고,
상기 로컬 클라이언트 장치는, 상기 서버 장치에 이미 생성되어 저장된 상기 제1 키 및 상기 제2 키를 이용하여 상호 인증을 수행할 수 있다.
로컬 모니터링 앱이 설치되고, 근거리 통신망을 통해 상기 서버 장치와 연결되는 로컬 클라이언트 장치를 더 포함하고,
상기 로컬 클라이언트 장치는, 상기 제2 키와 상기 서버 장치에 로그온하기 위한 비밀번호를 해시연산한 값과, 상기 사용자 ID와, 상기 서버 장치로부터 수신한 상기 고정값을 해시연산하여 제3 인증값을 생성하고,
상기 서버 장치는, 상기 로컬 클라이언트 장치로부터 수신한 상기 제3 인증값을, 상기 로컬 클라이언트 장치와 동일한 방식으로 생성한 제4 인증값과 비교하여 일치하면, 연결을 수락할 수 있다.
본 발명의 실시예에 따르면, 외부에 공개되지 않는 정보를 사용하여 다단계 연산을 통해 생성된 인증값을 상호 인증시 사용함으로써, 종래에 고정된 ID 및 패스워드(Password) 사용으로 인한 문제와 보안상 취약하다고 알려진 MD5 연산의 문제를 해결할 수 있다.
도 1은 종래에 상호 인증을 위한 인증값(Respose)을 생성하는 개략도이다.
도 2는 본 발명의 한 실시예에 따른 영상 보안 서비스 시스템의 구성을 나타낸다.
도 3은 본 발명의 한 실시예에 따른 영상 보안 서비스의 상호 인증 방법을 나타낸 흐름도이다.
도 4는 본 발명의 한 실시예에 따른 RTSP URI(Uniform Resource Identifier) 획득 절차를 나타낸 흐름도이다.
도 5는 본 발명의 한 실시예에 따른 키 생성 과정을 도식화한 것이다.
도 6은 본 발명의 한 실시예에 따른 상호 인증을 위한 인증값(Respose)을 생성하는 개략도이다.
도 7은 본 발명의 다른 실시예에 따른 영상 보안 서비스 시스템의 구성을 나타낸다.
도 8은 본 발명의 다른 실시예에 따른 영상 보안 서비스의 상호 인증 방법을 나타낸 흐름도이다.
도 9는 본 발명의 또 다른 실시예에 따른 영상 보안 서비스 시스템의 구성을 나타낸다.
도 10은 본 발명의 또 다른 실시예에 따른 영상 보안 서비스의 상호 인증 방법을 나타낸 흐름도이다.
도 11은 본 발명의 실시예에 따른 상호 인증을 수행하는 장치의 하드웨어 구성을 나타낸 블록도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함" 한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "…모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 2는 본 발명의 한 실시예에 따른 영상 보안 서비스 시스템의 구성을 나타낸다.
도 2를 참조하면, 영상 보안 서비스 시스템은 적어도 하나의 영상 전송 장치(100), 네트워크(200), 영상 모니터링 장치(300) 및 키 관리 장치(400)를 포함한다.
적어도 하나의 영상 전송 장치(100)는 관제 지역에 설치되고, 관제하고자 하는 관제 지점을 촬영하여 영상 신호를 획득한 후, 네트워크(200)를 통하여 전송한다. 이때, RTSP(real-time streaming protocol)를 이용하여 실시간으로 촬영한 영상을 전송한다.
적어도 하나의 영상 전송 장치(100)는 영상을 촬영하여 전송하는 것뿐만 아니라, 촬영한 영상 신호를 코덱을 이용하여 하나 이상의 영상 정보 파일로 변환하여 네트워크(200)로 스트리밍하고, 실시간 스트리밍을 위한 버퍼를 구비할 수 있다.
적어도 하나의 영상 전송 장치(100)는 네트워크 카메라로서, 다양한 종류의 인터페이스를 가진 직접적으로 네트워크에 접속될 수 있는 네트워크 카메라와 간접적으로 네트워크에 접속될 수 있는 인터페이스를 구비한 카메라를 모두 포함할 수 있다.
또한, 적어도 하나의 영상 전송 장치(100)는 영상 모니터링 장치(300)가 요청한 영상을 제공하므로, 영상 모니터링 장치(300)에 대한 서버 장치로 동작한다.
네트워크(200)는 유·무선 인터넷, 와이파이 등을 포함한 현재 공지되어 있는 각종 통신망으로서, 적어도 하나의 영상 전송 장치(100), 영상 모니터링 장치(300) 및 키 관리 장치(400) 사이의 통신 회선을 연결하여 상호 간에 데이터 통신이 이루어지도록 한다.
영상 모니터링 장치(300)는 적어도 하나의 영상 전송 장치(100)로부터 전송되는 영상 신호를 모니터링한다. 영상 모니터링 장치(300)는 영상 신호를 화면에 표시할 수도 있고, 내부 메모리 또는 별도의 저장 장치에 저장할 수도 있으며, 네트워크(200)를 통해 별도의 관제 단말(미도시)로 전송하는 중계 장치로 동작할 수도 있는 등 다양하게 구현될 수 있다. 따라서, 특정 기능이나 동작으로 국한되지 않도록, 본 발명의 실시예에서 영상 모니터링 장치(300)는 영상 전송 장치(100)에 접속하여 실시간 영상을 획득하는 장치로 정의한다. 또한, 영상 모니터링 장치(300)는 영상 전송 장치(100)에게 영상을 요청하여 수신하므로, 영상 전송 장치(100)에 대한 클라이언트 장치로 동작한다.
키 관리 장치(400)는 영상 보안 서비스를 제공하는 사업자 측에서 직접 운영하거나 또는 제휴된 기관에서 운영하는 장비로서, 영상 모니터링 장치(300)가 요청하는 키를 생성하여 제공하고, 관리한다.
이때, 적어도 하나의 영상 전송 장치(100)와 영상 모니터링 서버(300)는 RTSP 표준 규격에 따른 인증 절차를 거친 후, 실시간 영상을 송수신하는데, 종래의 인증 절차는 보안에 취약한 문제점이 있으므로, 본 발명의 실시예에서는 이러한 문제점을 해결하는 보안이 강화된 인증 절차를 다양한 실시예로 제시한다.
도 3은 본 발명의 한 실시예에 따른 영상 보안 서비스의 상호 인증 방법을 나타낸 흐름도이고, 도 4는 본 발명의 한 실시예에 따른 RTSP URI 획득 절차를 나타낸 흐름도이며, 도 5는 본 발명의 한 실시예에 따른 키 생성 과정을 도식화한 것이고, 도 6은 본 발명의 한 실시예에 따른 상호 인증을 위한 인증값(Respose)을 생성하는 개략도이다.
먼저, 도 3을 참조하면, 영상 모니터링 장치(300)가 자신에게 할당된 영상 전송 장치(100)에게 RTSP 연결 요청을 전송한다(S101). 이때, RTSP 연결 요청은 영상 전송 장치(100)의 RTSP URI가 포함되어 있다. 여기서, RTSP URI는 RTSP 접속을 희망하는 상대방을 지정하는 정보로서, 영상 모니터링 장치(300)의 제조사에서 입력되거나, 운용자가 수동으로 입력할 수도 있고, 정해진 규격을 사용하여 온라인으로 획득할 수도 있다. 본 발명의 실시예에서는 도 4와 같이, ONVIF(Open Network Video Interface Forum) 규격을 사용하여 온라인상에서 자동으로 획득한다.
도 4를 참조하면, 영상 모니터링 장치(300)가 디스커버리(Discovery)를 전송(S201)하면, 영상 전송 장치(100)가 ONVIF 서비스 URL(Uniform Resource Locator)을 전송한다(S203).
그러면, 영상 모니터링 장치(300)는 ONVIF 서비스 URL로 접속하여, 영상 전송 장치의 프로파일을 요청하는 '<get profiles> Request'를 전송한다(S205).
영상 전송 장치(100)는 자신의 능력을 나타내는 적어도 하나의 프로파일이 포함된 응답(Response<Profiles1, Profiles2, …)을 영상 모니터링 장치(300)에게 전송한다(S207). 이때, 각각의 프로파일(Profiles1, Profiles2, …)은 지원하는 코덱, 코덱의 프로파일 정보, 코덱의 레벨 정보, 해상도 정보, 초당 프레임수 등을 포함할 수 있다.
영상 모니터링 장치(300)는 하나의 프로파일을 선택하고, 선택한 프로파일에 대한 스트림 전송 주소를 요청하는 '<Profiles1 get stream URI> Request'를 전송한다(S209).
그러면, 영상 전송 장치(100)는 요청받은 스트림 전송 주소, 즉, RTSP URI가 포함된 응답(Response)을 전송한다(S211). 여기서, RTSP URI는 예를들면, 'rtsp://211.54.3.128:554/stream/onvif/profiles1'의 형태일 수 있으나, 이에 국한되는 것은 아니다.
이상의 일련의 과정(S201~S211)을 통하여 영상 모니터링 장치(300)는 영상 전송 장치(100)의 RTSP URI를 획득할 수 있다.
다시, 도 3을 참조하면, 영상 전송 장치(100)는 영상 모니터링 장치(300)로부터 RTSP 연결 요청(RTSP URI)이 수신(S101)되면, 변수(nonce)를 생성한다(S103).
영상 전송 장치(100)는 변수(nonce)와 고정값(realm)을 포함하는 인증 요청을 영상 모니터링 장치(300)에게 전송한다(S105). 여기서, 고정값(realm)은 영상 전송 장치(100)에 설정된 고정값으로서, 예를들면, 영상 전송 장치(100)의 도메인 주소일 수 있다.
영상 모니터링 장치(300)는 인증 요청이 수신(S105)되면, 변수(cnonce)를 생성한다(S107). 영상 모니터링 장치(300)는 변수(cnonce)와 영상 전송 장치(100)의 ID(cam_ID)를 포함하는 키 생성 요청을 키 관리 장치(400)로 전송한다(S109).
키 관리 장치(400)는 cam_ID에 매칭되는 마스터 키(MasterKey)를 검색한다(S111). 이때, cam_ID는 영상 전송 장치(100)의 기기 일련번호 또는 기기 식별번호를 나타내는 시리얼 넘버(Serial No), MAC(Media Access Control) 어드레스(Address) 중 하나가 사용될 수 있다. 이러한 cam_ID는 영상 전송 장치(100)의 RTSP URI를 획득하는 과정에서 알 수 있다.
키 관리 장치(400)는 S111 단계에서 검색된 마스터키를 이용하여 연쇄적으로 네개의 키(Key_1, Key_2, Key_3, Key_4)를 생성한다(S113). 이때, 네개의 키는 도 5와 같이 생성될 수 있다.
도 5를 참조하면, 키 관리 장치(400)는 키 유도 함수(Key Derivation Function, KDF)를 이용하여 네개의 키(Key_1, Key_2, Key_3, Key_4)를 연쇄적으로 도출한다. 먼저, 마스터키와 변수(conoce)를 키 유도 함수(KDF)에 대입하여 제1키(Key_1)를 도출한다. 다음, 제1키(Key_1)를 키 유도 함수(KDF)에 대입하여 제2키(Key_2)를 도출한다. 다음, 제2키(Key_2)를 키 유도 함수(KDF)에 대입하여 제3키(Key_3)를 도출한다. 마지막으로, 제3키(Key_3)를 키 유도 함수(KDF)에 대입하여 제4키(Key_4)를 도출한다.
다시, 도 3을 참조하면, 키 관리 장치(400)는 S113 단계에서 생성한 네개의 키(Key_1, Key_2, Key_3, Key_4)를 영상 모니터링 장치(300)로 전송한다(S115).
영상 모니터링 장치(300)는 S105 단계에서 수신한 변수(nonce) 및 고정값(realm), S107 단계에서 생성한 변수(cnonce), S115 단계에서 수신한 제1키(Key_1)를 이용하여 인증값(Response)을 생성하는데, 도 6과 같이 도식화하였다.
도 3 및 도 6을 참조하면, 영상 모니터링 장치(300)는 제1키(Key_1)를 SHA(Secure Hash Algorithm)-2 해시함수를 이용하여 연산한 값(SHA-2(Key_1))과, 사용자 ID(UserID) 및 고정값(realm)을 SHA-2 해시함수로 연산하여 제1 해시값(HA1)을 생성한다(S117).
영상 모니터링 장치(300)는 RTSP URI를 SHA-2 해시함수로 연산하여 제2 해시값(HA2)을 생성한다(S119).
영상 모니터링 장치(300)는 제1 해시값(HA1) 및 제2 해시값(HA2)을 MD5 연산하여 인증값(Response)을 생성한다(S121).
영상 모니터링 장치(300)는 S121 단계에서 생성된 인증값(Response), 사용자 ID 및 RTSP URI를 포함하는 인증 응답을 전송(S123)하는데, 이때, RTSP URI는 변수(cnonce)를 포함한다.
영상 전송 장치(100)는 기 저장된 마스터키와 S123 단계에서 수신한 인증 응답으로부터 추출한 변수(cnonce)를 키 유도 함수(KDF)에 대입하여 도 5와 동일하게 제1키(Key_1), 제2키(Key_2), 제3키(Key_3), 제4키(Key_4)를 생성한다(S125).
여기서, 마스터 키는 영상 전송 장치(100) 별로 설정된 고정 비밀키로서, 영상 전송 장치(100)와 키 관리 장치(400)만 알고 있다.
영상 전송 장치(100)는 영상 모니터링 장치(300)에서 수행된 S117 단계, S119 단계, S121 단계 각각에 대응하는 단계들(S127, S129, S131)을 수행하여, 인증값(Response)을 생성한다. 이때, 영상 전송 장치(100)와 영상 모니터링 장치(300)는 사전에 S117 단계, S119 단계, S121 단계 그리고 S127 단계, S129 단계, S131 단계와 같이 다단계적인 해시연산 알고리즘을 통해 인증값(Response)을 생성하기로 상호 약속되어 있다.
영상 전송 장치(100)는 S123 단계에서 수신한 인증값(Response)과 S131 단계에서 생성한 인증값(Response)을 비교하여 일치하는지 판단한다(S133). 만약, 불일치하면, 영상 전송 장치(100)는 S101 단계의 연결 요청에 대한 응답으로 연결 불허를 전송한다(S135).
그러나, 일치하면, 영상 전송 장치(100)는 S101 단계의 연결 요청에 대한 응답으로 연결 수락을 전송한다(S137). 이때, 연결 수락 응답은 200OK 메시지일 수 있다. 또한, 연결 수락 응답은 영상 전송 장치(100)에서 영상 모니터링 장치(300)로 전송하는 실시간 스트림에 대한 세션 디스크립션 프로토콜(Session Description Protocol, SDP) 파일을 포함한다. 한 실시예에 따르면, 세션 디스크립션 프로토콜(SDP) 파일은, 제2 키(Key_2)를 SHA-2 해시함수로 연산한 값(SHA-2(Key_2))을 포함한다. 이러한 연산값(SHA-2(Key_2))은 세션 디스크립션 프로토콜(SDP) 파일에 새로 정의된 필드에 수록되는데, 예를들면, 양방향 인증 필드(2-WAY AUTH FIELD)에 수록될 수 있다.
영상 모니터링 장치(300)는 연결 수락 응답의 특정 필드로부터 추출한 연산값(SHA-2(Key_2))을 역해시연산하여, 제2 키(Key_2)를 도출한다. 그리고 도출한 제2 키(Key_2)가 S115 단계에서 수신한 제2 키(Key_2)와 동일한지 판단하는 검증을 수행한다(S139). 이때, 검증에 성공하면, 영상 모니터링 장치(300)는 상호 인증을 성공으로 완료 처리한다.
이후, 영상 전송 장치(100)는 실시간으로 촬영한 영상 신호를 영상 모니터링 장치(300)로 스트리밍하는데, 암호화된 형태로 스트리밍할 수 있다(S141). 이때, 제3 키(Key_3)는 SRTP 키로 사용할 수 있고, 제4 키(Key_4)는 솔트(Salt)로 사용될 수 있다.
다음, 실시예는 로컬 모니터링 앱으로 영상 전송 장치(100)와 연결되는 경우에 해당한다. 로컬 모니터링 앱은 영상 전송 장치(100)와 근거리 통신망을 통해 연결된다. 예를들면, 유무선 공유기를 통해 연결되어 동일한 랜(LAN)에 속할 수 있다. 따라서, 로컬 모니터링 앱과 영상 전송 장치(100)는 홈내에 위치한다고 할 수 있으므로, 해킹의 위험이 상대적으로 덜할 것이라는 전제하에 도 3 ~ 도 6의 상호 인증 절차를 간략화시킨 인증 절차를 사용할 수 있다. 이렇게 하면, 도 3 ~ 도 6의 상호 인증 절차에 비해 프로세싱 오버로드를 감소시킬 수 있다.
도 7은 본 발명의 다른 실시예에 따른 영상 보안 서비스 시스템의 구성을 나타내며, 도 2와 동일한 구성 및 동작에 대한 설명은 생략하고 실시예에 따라 차이가 있는 구성에 대해서 설명한다.
도 7을 참조하면, 영상 보안 서비스 시스템은 적어도 하나의 영상 전송 장치(100)가 근거리 통신망(500)을 통하여 로컬 모니터링 앱이 설치된 단말(600)과 연결된다. 로컬 모니터링 앱이 설치된 단말(600)은 네트워크(200)를 통하여 플랫폼 장치(700)에 연결되고, 플랫폼 장치(700)는 키 관리 장치(400)에 연결된다.
여기서, 로컬 모니터링 앱이 설치된 단말(600)은 스마트폰, PC 등이 될 수 있다. 로컬 모니터링 앱이 설치된 단말(600)은 영상 전송 장치(100)가 촬영한 영상을 실시간으로 수신하여 재생한다. 로컬 모니터링 앱이 설치된 단말(600)은 영상 전송 장치(100)와 같은 로컬 영역 또는 로컬 네트워크에 위치한다.
이때, 로컬 모니터링 앱이 설치된 단말(600)과 영상 전송 장치(100)는 상호 인증을 수행하는데, 상호 인증 방법은 다음 도 10, 도 11과 같이 두가지 실시예로 구현될 수 있다.
도 8은 본 발명의 다른 실시예에 따른 영상 보안 서비스의 상호 인증 방법을 나타낸 흐름도로서, 도 3과 유사한 동작에 대한 설명은 생략한다.
도 8을 참조하면, 로컬 모니터링 앱이 설치된 단말(600)(이하, 로컬 모니터링앱으로 통칭함)이 자신에게 할당된 영상 전송 장치(100)에게 RTSP URI가 포함된 RTSP 연결 요청을 전송한다(S301). 이때, RTSP URI는 로컬 모니터링 앱(600)에 저장되어 있거나 사용자가 직접 입력할 수도 있지만, 본 발명의 실시예에서는 도 4와 같이, ONVIF(Open Network Video Interface Forum) 규격을 사용하여 온라인상에서 자동으로 획득한다.
영상 전송 장치(100)는 로컬 모니터링 앱(600)으로부터 RTSP 연결 요청(RTSP URI)이 수신(S401)되면, 변수(nonce)를 생성한다(S303).
영상 전송 장치(100)는 변수(nonce)와 고정값(realm)을 포함하는 인증 요청을 로컬 모니터링 앱(600)에게 전송한다(S305).
로컬 모니터링 앱(600)은 인증 요청이 수신(S405)되면, 변수(cnonce)를 생성한다(S307). 로컬 모니터링 앱(600)은 변수(cnonce)와 영상 전송 장치(100)의 ID(cam_ID)를 포함하는 키 생성 요청을 플랫폼 장치(700)로 전송한다(S309). 그러면, 플랫폼 장치(700)는 키 관리 장치(400)로 키 생성 요청을 전달한다(S311).
키 관리 장치(400)는 cam_ID에 매칭되는 마스터 키(MasterKey)를 검색한다(S313). 키 관리 장치(400)는 S413 단계에서 검색된 마스터키를 이용하여 연쇄적으로 두개의 키(Key_1, Key_2)를 생성한다(S315). 이때, 두개의 키는 도 5와 같이 생성된다.
키 관리 장치(400)는 S315 단계에서 생성한 두개의 키(Key_1, Key_2)를 플랫폼 장치(700)로 전송한다(S317). 그러면, 플랫폼 장치(700)는 수신한 두개의 키(Key_1, Key_2)를 로컬 모니터링 앱(600)으로 전달한다(S319).
로컬 모니터링 앱(600)은 S305 단계에서 수신한 변수(nonce) 및 고정값(realm), S307 단계에서 생성한 변수(cnonce), S319 단계에서 수신한 제1키(Key_1)를 이용하여 인증값(Response)을 생성하는데, 도 3 및 도 6과 동일하다.
즉, 로컬 모니터링 앱(600)은 제1키(Key_1)를 SHA(Secure Hash Algorithm)-2 해시함수를 이용하여 연산한 값(SHA-2(Key_1))과, 사용자 ID(UserID) 및 고정값(realm)을 SHA-2 해시함수로 연산하여 제1 해시값(HA1)을 생성한다(S321).
로컬 모니터링 앱(600)은 RTSP URI를 SHA-2 해시함수로 연산하여 제2 해시값(HA2)을 생성한다(S323).
로컬 모니터링 앱(600)제1 해시값(HA1) 및 제2 해시값(HA2)을 MD5 연산하여 인증값(Response)을 생성한다(S325).
로컬 모니터링 앱(600)은 S325 단계에서 생성된 인증값(Response), 사용자 ID 및 RTSP URI를 포함하는 인증 응답을 전송(S327)한다.
영상 전송 장치(100)는 기 저장된 마스터키와 S327 단계에서 수신한 인증 응답으로부터 추출한 변수(cnonce)를 키 유도 함수(KDF)에 대입하여 로컬 모니터링 앱(600)과 동일하게 제1키(Key_1), 제2키(Key_2)를 생성한다(S329).
영상 전송 장치(100)는 로컬 모니터링 앱(600)에서 수행된 S321, S323, S325 각각에 대응하는 단계들(S331, S333, S335)을 수행하여, 인증값(Response)을 생성한다. 이때, 영상 전송 장치(100)와 로컬 모니터링 앱(600)은 사전에 S321, S323, S325 그리고 S331, S333, S335와 같이 다단계적인 해시연산 알고리즘을 통해 인증값(Response)을 생성하기로 상호 약속되어 있다.
영상 전송 장치(100)는 S327 단계에서 수신한 인증값(Response)과 S335 단계에서 생성한 인증값(Response)을 비교하여 일치하는지 판단한다(S337). 만약, 불일치하면, 영상 전송 장치(100)는 S301 단계의 연결 요청에 대한 응답으로 연결 불허를 전송한다(S339).
그러나, 일치하면, 영상 전송 장치(100)는 S301 단계의 연결 요청에 대한 응답으로 연결 수락을 전송한다(S341). 이때, 연결 수락 응답은 200 OK 메시지일 수 있다. 또한, 연결 수락 응답은 영상 전송 장치(100)에서 로컬 모니터링 앱(600)으로 전송하는 실시간 스트림에 대한 세션 디스크립션 프로토콜(SDP) 파일을 포함한다. 한 실시예에 따르면, 세션 디스크립션 프로토콜(SDP) 파일은, 제2 키(Key_2)를 SHA-2 해시함수로 연산한 값(SHA-2(Key_2))을 포함한다. 이러한 연산값(SHA-2(Key_2))은 세션 디스크립션 프로토콜(SDP) 파일에 새로 정의된 필드에 수록되는데, 예를들면, 양방향 인증 필드(2-WAY AUTH FIELD)에 수록될 수 있다.
로컬 모니터링앱(600)은 연결 수락 응답의 특정 필드로부터 추출한 연산값(SHA-2(Key_2))을 역해시연산하여, 제2 키(Key_2)를 도출한다. 그리고 도출한 제2 키(Key_2)가 S319 단계에서 수신한 제2 키(Key_2)와 동일한지 판단하는 검증을 수행한다(S343). 이때, 검증에 성공하면, 로컬 모니터링앱(600)은 상호 인증을 성공으로 완료 처리한다.
이후, 영상 전송 장치(100)는 실시간으로 촬영한 영상 신호를 로컬 모니터링앱(600)으로 스트리밍한다.
이와 같이, 도 3과 달리, 암호화 전송을 하는데 필요한 두개의 키(Key_3, Key_4)를 제외하여 상호 인증을 수행하므로, 영상 전송 장치(100)와 로컬 모니터링 앱(600)에서 키 유도 함수(KDF)의 연산 복잡도를 감소시킬 수 있다.
다음, 실시예는 영상 전송 장치(100)가 도 3 ~ 도 6의 실시예를 동작한 이후, 로컬 모니터링 앱(600)과 연결된 경우에는, 영상 전송 장치(100)가 이미 키 유도 함수(KDF) 연산을 수행한 후이다. 이때, 영상 전송 장치(100)는 전원이 온되어 네트워크(200)에 최초 접속하면, 영상 모니터링 서버(300)에 연결되어 상호 인증을 수행하는 절차가 디폴트로 설정되어 있을 수 있다. 이와 같이, 영상 전송 장치(100)가 한번 키 유도 함수(KDF) 연산을 수행한 후에는 재차 수행하지 않도록 간략화된 인증 절차를 제시하는데, 도 9 및 도 10과 같다.
도 9는 본 발명의 또 다른 실시예에 따른 영상 보안 서비스 시스템의 구성을 나타내고, 도 10은 본 발명의 또 다른 실시예에 따른 영상 보안 서비스의 상호 인증 방법을 나타낸 흐름도로서, 도 2, 도 3, 도 7 및 도 8과 유사한 동작에 대한 설명은 생략한다.
먼저, 도 9를 참조하면, 영상 전송 장치(100)가 영상 모니터링 서버(300)에 연결되어 상호 인증을 수행한 후, 로컬 모니터링 앱(600)에 접속된다. 이때, 플랫폼 장치(700)는 영상 모니터링 서버(300)와 연동하여 동작한다. 따라서, 영상 모니터링 서버(300)로부터 키(Key)들을 요청하여 수신할 수 있다.
도 10을 참조하면, 로컬 모니터링 앱(600)이 자신에게 할당된 영상 전송 장치(100)에게 영상 전송 장치(100)의 RTSP URI가 포함된 RTSP 연결 요청을 전송한다(S401).
영상 전송 장치(100)는 변수(nonce)를 생성한다(S403). 그리고 변수(nonce)와 고정값(realm)을 포함하는 인증 요청을 로컬 모니터링 앱(600)에게 전송한다(S405).
로컬 모니터링 앱(600)은 변수(cnonce)를 생성한다(S407). 로컬 모니터링 앱(600)은 영상 전송 장치(100)의 ID(cam_ID)를 포함하는 키 요청을 플랫폼 장치(700)로 전송한다(S409). 플랫폼 장치(700)는 영상 모니터링 장치(300)로부터 양방향 세션 인증키를 획득하여 로컬 모니터링 앱(600)으로 전송한다(S411). 이때, 양방향 세션 인증키는 영상 전송 장치(100)과 로컬 모니터링 앱(600)이 사전에 제2 키(Key_2)를 사용하기로 약속되어 있다.
로컬 모니터링 앱(600)은 S411 단계에서 수신한 제2키(Key_2)와 영상 전송 장치(100)에 로그인하기 위한 비밀번호를 SHA-2 해시함수로 연산한 값과, S405 단계에서 수신한 고정값(realm)과, 영상 전송 장치(100)에 로그인하기 위한 사용자 ID를 MD5 해시함수로 연산하여 인증값(Response)을 생성한다(S413).
로컬 모니터링 앱(600)은 S413 단계에서 생성된 인증값(Response), 사용자 ID를 포함하는 인증 응답을 전송(S415)한다.
영상 전송 장치(100)는 캐싱(Caching)되어 있는, 즉 도 3의 절차를 통해 기 생성되어 저장된 제2키(Key_2)를 호출한다(S417).
영상 전송 장치(100)는 호출한 제2키(Key_2)와 패스워드를 SHA-2 해시함수로 연산한 값, 고정값(realm) 및 사용자 ID를 MD5 해시함수로 연산하여 인증값(Response)을 생성한다(S419).
영상 전송 장치(100)는 S415 단계에서 수신한 인증값(Response)과 S419 단계에서 생성한 인증값(Response)이 일치하는지 판단(S421)하여, 불일치하면, 연결 불허를 전송한다(S423). 반면, 일치하면, 연결 응답을 전송한다(S425).
이후, 영상 전송 장치(100)는 실시간으로 촬영한 영상 신호를 로컬 모니터링앱(600)으로 스트리밍한다.
이와 같이, 로컬 모니터링 앱(600)의 인증값(Response) 생성 단계가 단순화되고, 양방향 인증 세션키로 이전에 생성되어 저장된 키(Key_2)를 사용하므로, 키 도출 과정이 생략되어 프로세스 오버헤드가 상당히 줄어드는 효과가 있다. 또한, 외부에 공개되기 힘든 마스터키를 이용하여 생성된 키(Key_2)를 양방향 인증 세션키로 사용하므로, 인증 단계가 단순해지더라도 종래에 비해 보안이 강화된다.
한편, 도 11은 본 발명의 실시예에 따른 상호 인증을 수행하는 장치의 하드웨어 구성을 나타낸 블록도로서, 영상 전송 장치(100), 영상 모니터링 장치(300), 키 관리 장치(400), 로컬 모니터링 앱(600), 플랫폼 장치(700) 각각의 하드웨어 구성을 나타낸다.
도 11을 참조하면, 상호 인증을 수행하는 장치(이하, 상호 인증 장치로 통칭함)(800)은 통신 장치(801), 메모리(803) 및 프로세서(805)를 포함한다. 통신 장치(801)는 프로세서(805)와 연결되어, 네트워크(200, 500)를 통해 데이터를 송신 및/또는 수신한다. 메모리(803)는 프로세서(805)와 연결되어, 도 1 내지 도 10에서 설명한 실시예들에 따른 구성 및/또는 방법을 실행하게 하는 명령어(instructions)들을 포함하는 프로그램을 저장한다. 프로세서(805)는 메모리(803)에 저장된 프로그램을 실행한다.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (19)

  1. 적어도 하나의 프로세서에 의해 동작하는 영상 전송 장치에서 수행되는 상호 인증 방법으로서,
    네트워크를 통해 연결된 영상 모니터링 장치로부터 연결 요청을 수신하는 단계,
    상기 영상 모니터링 장치에게 인증 요청을 전송하는 단계,
    상기 영상 모니터링 장치로부터 제1 인증값 및 제1 변수(cnonce)가 포함된 인증 응답을 수신하는 단계,
    상기 제1 변수(cnonce)와 기 저장된 마스터 키를 키 유도 함수(Key Derivation Function, KDF)에 대입하여 도출한 적어도 하나의 키를 이용하는 해시연산을 통하여 제2 인증값을 생성하는 단계, 그리고
    상기 제1 인증값과 상기 제2 인증값이 서로 일치하는지 비교하여, 일치하면, 상기 연결 요청에 대한 연결 수락을 상기 영상 모니터링 장치로 전송하는 단계를 포함하고,
    상기 제1 변수(cnonce)는,
    영상 모니터링 장치가 상기 영상 전송 장치로부터 인증 요청을 수신할 때마다 상기 영상 모니터링 장치에 의해 생성되고,
    상기 제1 인증값과 상기 제2 인증값은,
    상기 영상 전송 장치와 상기 영상 모니터링 장치가 상호 약속한 동일한 해시 알고리즘을 이용하여 생성되고,
    제1 해시값(HA1)이 상기 해시 알고리즘에 사용되며,
    상기 제1 해시값(HA1)은 상기 제1 변수(cnonce) 및 상기 마스터 키를 사용하여 연쇄적으로 생성된 복수개의 키 중 하나의 키의 해시연산값을 이용하여 생성되는, 상호 인증 방법.
  2. 제1항에서,
    상기 제2 인증값을 생성하는 단계 이전에,
    상기 제1 변수(cnonce)와 상기 마스터 키를 키 유도 함수(KDF)에 대입하여, 제1 키를 도출하는 단계를 더 포함하고,
    상기 제2 인증값을 생성하는 단계는,
    상기 제1 키를 해시연산한 값과, 상기 인증 응답에서 획득한 사용자 ID와, 기 설정된 고정값(realm)을 해시연산하여 제1 해시값(HA1)을 생성하는 단계, 그리고
    상기 제1 해시값(HA1) 및 제2 변수(nonce)를 이용한 해시연산을 통하여 상기 제2 인증값을 생성하는 단계
    를 포함하는, 상호 인증 방법.
  3. 제2항에서,
    상기 제1 키를 해시연산한 값 및 상기 제1 해시값(HA1)은,
    SHA(Secure Hash Algorithm) 연산을 통해 생성되고,
    상기 제2 인증값은,
    MD(Message-Digest algorithm) 연산을 통해 생성되는, 상호 인증 방법.
  4. 제3항에서,
    상기 제2 인증값을 생성하는 단계 이전에,
    RTSP(Real Time Streaming Protocol) URI(Uniform Resource Identifier)를 SHA 연산한 제2 해시값(HA2)을 생성하는 단계를 더 포함하고,
    상기 제2 인증값을 생성하는 단계는,
    상기 제1 해시값(HA1), 상기 제2 변수(nonce) 및 상기 제2 해시값(HA2)을 MD 연산하여 상기 제2 인증값을 생성하는, 상호 인증 방법.
  5. 제4항에서,
    상기 제1 변수는,
    상기 RTSP URI에 추가되는 형태로 상기 인증 응답에 포함되는, 상호 인증 방법.
  6. 제4항에서,
    상기 인증 요청은,
    상기 영상 전송 장치에서 생성된 제2 변수(nonce)와, 상기 고정값(realm)을 포함하는, 상호 인증 방법.
  7. 제2항에서,
    상기 제1 키를 도출하는 단계 이후,
    상기 제1 키를 상기 키 유도 함수(KDF)에 대입하여, 제2 키를 도출하는 단계를 더 포함하고,
    상기 연결 수락은,
    상기 영상 전송 장치에서 상기 영상 모니터링 장치로 전송되는 실시간 스트림에 대한 세션 디스크립션 프로토콜(Session Description Protocol, SDP) 파일을 포함하며,
    상기 세션 디스크립션 프로토콜(SDP) 파일은,
    상기 제2 키를 해시연산한 값을 포함하며,
    상기 제2 키는,
    상기 영상 모니터링 장치에서 상기 영상 전송 장치와의 상호 인증을 검증하는데 사용되는, 상호 인증 방법.
  8. 제7항에서,
    상기 제2 키를 해시연산한 값은,
    상기 세션 디스크립션 프로토콜(SDP) 파일에 새로 정의된 양방향 인증 필드에 수록되는, 상호 인증 방법.
  9. 제7항에서,
    상기 전송하는 단계 이후,
    근거리 통신망을 통해 연결된 로컬 모니터링 앱으로부터 연결 요청을 수신하면, 인증 요청을 전송하는 단계,
    상기 로컬 모니터링 앱으로부터 사용자 ID 및 제1 인증값이 포함된 인증 응답을 수신하는 단계,
    양방향 인증키와 상기 영상 전송 장치에 설정된 비밀번호를 해시연산한 값과, 상기 고정값(realm)과, 상기 사용자 ID를 해시연산하여 제2 인증값을 생성하는 단계, 그리고
    상기 제1 인증값과 상기 제2 인증값이 서로 일치하면, 연결 수락을 상기 로컬 모니터링 앱으로 전송하는 단계를 더 포함하고,
    상기 양방향 인증키는,
    상기 제2 키가 사용되는, 상호 인증 방법.
  10. 제7항에서,
    상기 제2 키를 도출하는 단계 이후,
    상기 제2 키를 상기 키 유도 함수(KDF)에 대입하여, 제3 키를 도출하는 단계, 그리고
    상기 제3 키를 상기 키 유도 함수(KDF)에 대입하여, 제4 키를 도출하는 단계를 더 포함하고,
    상기 전송하는 단계 이후,
    상기 제3 키 및 상기 제4 키를 이용하여 암호화한 영상 패킷을 상기 영상 모니터링 장치로 실시간 스트리밍하는 단계
    를 더 포함하는, 상호 인증 방법.
  11. 적어도 하나의 프로세서에 의해 동작하는 영상 모니터링 장치에서 수행되는 상호 인증 방법으로서,
    연결하고자 하는 영상 전송 장치에게 네트워크를 통해 연결 요청을 전송하는 단계,
    상기 영상 전송 장치로부터 인증 요청을 수신하는 단계,
    제1 변수(cnonce)를 생성하여 키 관리 서버에 전송하여, 상기 키 관리 서버로부터 복수개의 키를 수신하는 단계,
    상기 복수개의 키 중 하나의 키의 해시연산값을 이용하여 생성된 제1 해시값(HA1)을 이용한 해시연산을 통하여 생성된 인증값을 포함하는 인증 응답을 상기 영상 전송 장치로 전송하는 단계, 그리고
    상기 영상 전송 장치에 의해 상기 인증값이 유효하다고 판단된 경우, 상기 영상 전송 장치로부터 연결 수락을 수신하는 단계를 포함하고,
    상기 제1 변수(cnonce)는,
    상기 영상 모니터링 장치가 상기 영상 전송 장치로부터 인증 요청을 수신할 때마다 상기 영상 모니터링 장치에 의해 생성되고,
    상기 전송한 인증값은,
    상기 영상 전송 장치와 상기 영상 모니터링 장치가 상호 약속한 동일한 해시 알고리즘을 이용하여 상기 영상 전송 장치에서 생성된 인증값과 일치할 경우, 유효하다고 판단되고,
    상기 복수개의 키는,
    상기 제1 변수(cnonce)와 상기 영상 전송 장치의 마스터 키가 키 유도 함수(Key Derivation Function, KDF)에 대입되어 연쇄적으로 도출되는, 상호 인증 방법.
  12. 제11항에서,
    상기 인증 요청은,
    상기 영상 전송 장치에 설정된 고정값(realm) 및 상기 영상 전송 장치에서 생성된 제2 변수(nonce)를 포함하고,
    상기 인증값은,
    상기 제1 변수(cnonce)와 상기 마스터 키를 키 유도 함수(KDF)에 대입하여 도출된 제1 키를 해시연산한 값, 사용자 ID 및 상기 고정값(realm)을 해시연산한 제1 해시값(HA1)과, 상기 제2 변수(nonce)를 해시연산한 값인, 상호 인증 방법.
  13. 제12항에서,
    상기 인증값은,
    상기 제1 해시값(HA1), 상기 제2 변수(nonce) 및 RTSP(Real Time Streaming Protocol) URI(Uniform Resource Identifier)를 SHA 연산한 제2 해시값(HA2)을 해시연산한 값인, 상호 인증 방법.
  14. 제13항에서,
    상기 제1 키를 해시연산한 값, 상기 제1 해시값(HA1) 및 상기 제2 해시값(HA2)은, SHA(Secure Hash Algorithm) 연산을 통해 생성되고,
    상기 인증값은, MD(Message-Digest algorithm) 연산을 통해 생성되는, 상호 인증 방법.
  15. 제12항에서,
    상기 적어도 하나의 키는,
    상기 제1 키와, 상기 제1 키를 상기 키 유도 함수(KDF)에 대입하여 도출된 제2 키를 포함하고,
    상기 연결 수락을 수신하는 단계 이후,
    상기 연결 수락에 포함된 실시간 스트림에 대한 세션 디스크립션 프로토콜(Session Description Protocol, SDP) 파일로부터 해시연산키를 추출하는 단계, 그리고
    상기 해시연산키를 역해시연산하여 도출한 키가 상기 제2 키와 동일한지 판단하여, 동일하면, 상호 인증을 완료하는 단계
    를 더 포함하는, 상호 인증 방법.
  16. 네트워크를 통해 연결을 요청하고, 제1 인증값을 생성하는 클라이언트 장치, 그리고
    상기 클라이언트 장치로부터 연결이 요청되면, 상기 클라이언트 장치에게 요청하여 상기 제1 인증값을 수신하고, 제2 인증값을 생성하여 상기 제1 인증값과 일치하는지에 따라 연결 수락 여부를 결정하는 서버 장치를 포함하고,
    상기 제1 인증값 및 상기 제2 인증값은,
    제1 변수(cnonce) 및 상기 서버 장치의 마스터 키를 키 유도 함수(Key Derivation Function, KDF)에 대입하여 도출된 제1 키를 해시연산한 값, 상기 서버 장치에 설정된 고정값(realm) 및 사용자 ID를 해시연산하여 생성한 제1 해시값(HA1), 제2 변수(nonce) 및 상기 서버 장치의 접속 주소를 해시연산하여 생성한 제2 해시값(HA2)을 해시연산하여 생성되는, 상호 인증 시스템.
  17. 제16항에서,
    상기 제1 키와, 상기 제1 키를 상기 키 유도 함수(KDF)에 대입하여 도출되는 제2 키와, 상기 제2 키를 상기 키 유도 함수(KDF)에 대입하여 도출되는 제3 키와, 상기 제3 키를 상기 키 유도 함수(KDF)에 대입하여 도출되는 제4 키를 생성 및 관리하는 키 관리 서버를 더 포함하고,
    상기 제2 키는,
    상기 서버 장치가 상기 클라이언트 장치로 전송하는 연결 수락의 세션 디스크립션 프로토콜(Session Description Protocol, SDP) 파일에 포함되고, 상기 클라이언트 장치가 상기 키 관리 서버로부터 획득한 제2 키와 일치하면 상호 인증을 완료하는데 사용되고,
    상기 제3 키 및 상기 제4 키는,
    상기 서버 장치가 상기 클라이언트 장치와 암호화 데이터를 전송하기 위한 암호키로 사용되는, 상호 인증 시스템.
  18. 제17항에서,
    로컬 모니터링 앱이 설치되고, 근거리 통신망을 통해 상기 서버 장치와 연결되는 로컬 클라이언트 장치를 더 포함하고,
    상기 로컬 클라이언트 장치는,
    상기 서버 장치에 이미 생성되어 저장된 상기 제1 키 및 상기 제2 키를 이용하여 상호 인증을 수행하는, 상호 인증 시스템.
  19. 제17항에서,
    로컬 모니터링 앱이 설치되고, 근거리 통신망을 통해 상기 서버 장치와 연결되는 로컬 클라이언트 장치를 더 포함하고,
    상기 로컬 클라이언트 장치는,
    상기 제2 키와 상기 서버 장치에 로그온하기 위한 비밀번호를 해시연산한 값과, 상기 사용자 ID와, 상기 서버 장치로부터 수신한 상기 고정값을 해시연산하여 제3 인증값을 생성하고,
    상기 서버 장치는,
    상기 로컬 클라이언트 장치로부터 수신한 상기 제3 인증값을, 상기 로컬 클라이언트 장치와 동일한 방식으로 생성한 제4 인증값과 비교하여 일치하면, 연결을 수락하는, 상호 인증 시스템.
KR1020170085581A 2017-07-05 2017-07-05 상호 인증 방법 및 그 시스템 KR102200432B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170085581A KR102200432B1 (ko) 2017-07-05 2017-07-05 상호 인증 방법 및 그 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170085581A KR102200432B1 (ko) 2017-07-05 2017-07-05 상호 인증 방법 및 그 시스템

Publications (2)

Publication Number Publication Date
KR20190005044A KR20190005044A (ko) 2019-01-15
KR102200432B1 true KR102200432B1 (ko) 2021-01-07

Family

ID=65030506

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170085581A KR102200432B1 (ko) 2017-07-05 2017-07-05 상호 인증 방법 및 그 시스템

Country Status (1)

Country Link
KR (1) KR102200432B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230133561A (ko) 2022-03-11 2023-09-19 (주)지우정보기술 유무선 병합 통신 시스템에서의 무선 통신 그룹의 암호화 통신용 키 관리 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220125503A (ko) * 2021-03-05 2022-09-14 삼성전자주식회사 네트워크 슬라이스와 데이터 세션을 수립하는 전자 장치 및 그 동작 방법
CN116340954B (zh) * 2023-03-24 2024-01-23 合芯科技有限公司 一种数据安全通道建立方法、***控制处理器和启动固件

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7181196B2 (en) * 2003-05-15 2007-02-20 Lucent Technologies Inc. Performing authentication in a communications system
KR20050025872A (ko) * 2003-09-08 2005-03-14 삼성전자주식회사 실시간 스트리밍 프로토콜을 이용한 감시시스템의 제어방법
KR101137340B1 (ko) * 2005-10-18 2012-04-19 엘지전자 주식회사 릴레이 스테이션의 보안 제공 방법
CN101854332B (zh) * 2009-03-30 2013-04-24 华为软件技术有限公司 流媒体业务的处理方法、装置及***

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
T. Dierks 외 1명, The TLS Protocol Version 1.0, Request for Comments : 2246 (1999.)*

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230133561A (ko) 2022-03-11 2023-09-19 (주)지우정보기술 유무선 병합 통신 시스템에서의 무선 통신 그룹의 암호화 통신용 키 관리 방법

Also Published As

Publication number Publication date
KR20190005044A (ko) 2019-01-15

Similar Documents

Publication Publication Date Title
CN106034104B (zh) 用于网络应用访问的验证方法、装置和***
US7526641B2 (en) IPsec communication method, communication control apparatus, and network camera
US8024488B2 (en) Methods and apparatus to validate configuration of computerized devices
JP6643373B2 (ja) 情報処理システムと、その制御方法とプログラム
US8925059B2 (en) Dynamic trust connection
US9954687B2 (en) Establishing a wireless connection to a wireless access point
WO2018090183A1 (zh) 一种身份认证的方法、终端设备、认证服务器及电子设备
JP2018519706A (ja) ネットワークアクセスデバイスをワイヤレスネットワークアクセスポイントにアクセスさせるための方法、ネットワークアクセスデバイス、アプリケーションサーバ、および不揮発性コンピュータ可読記憶媒体
CN111030996B (zh) 一种访问资源的方法及装置
WO2022127434A1 (zh) 无线局域网认证方法及装置、电子设备、存储介质
KR102200432B1 (ko) 상호 인증 방법 및 그 시스템
DK2924944T3 (en) Presence authentication
CN112231692A (zh) 安全认证方法、装置、设备及存储介质
US11848926B2 (en) Network authentication
CN111953656B (zh) 监控视频加密传输方法、装置、设备及介质
CN110808829A (zh) 一种基于密钥分配中心的ssh认证方法
JP2011077769A (ja) Vpnシステムおよびその動作制御方法
US8918508B2 (en) Method for transferring resource and method for providing information
CN104247485A (zh) 在通用自举架构中的网络应用功能授权
JP2003259417A (ja) 無線lanシステム及びそれに用いるアクセス制御方法
WO2018099407A1 (zh) 账户认证登录方法及装置
JP2005348164A (ja) クライアント端末、ゲートウエイ装置、及びこれらを備えたネットワークシステム
US20160105407A1 (en) Information processing apparatus, terminal, information processing system, and information processing method
CN111611574B (zh) 信息获取方法、装置、设备和***
KR101259472B1 (ko) 일반 유저 계정에서 슈퍼 유저 계정으로 전환하기 위한 방법 및 이를 이용한 계정 전환 시스템

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant