KR101810904B1 - 비디오 보호 시스템 - Google Patents
비디오 보호 시스템 Download PDFInfo
- Publication number
- KR101810904B1 KR101810904B1 KR1020170065028A KR20170065028A KR101810904B1 KR 101810904 B1 KR101810904 B1 KR 101810904B1 KR 1020170065028 A KR1020170065028 A KR 1020170065028A KR 20170065028 A KR20170065028 A KR 20170065028A KR 101810904 B1 KR101810904 B1 KR 101810904B1
- Authority
- KR
- South Korea
- Prior art keywords
- video
- key
- export
- server
- local
- Prior art date
Links
- 238000013475 authorization Methods 0.000 claims abstract description 60
- 238000000034 method Methods 0.000 claims description 18
- 230000004044 response Effects 0.000 claims description 6
- 238000012546 transfer Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 5
- 230000000873 masking effect Effects 0.000 claims description 3
- 238000007726 management method Methods 0.000 description 80
- 230000008569 process Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000009434 installation Methods 0.000 description 3
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- MWRWFPQBGSZWNV-UHFFFAOYSA-N Dinitrosopentamethylenetetramine Chemical compound C1N2CN(N=O)CN1CN(N=O)C2 MWRWFPQBGSZWNV-UHFFFAOYSA-N 0.000 description 1
- 102100027581 Forkhead box protein P3 Human genes 0.000 description 1
- 101000861452 Homo sapiens Forkhead box protein P3 Proteins 0.000 description 1
- 201000004029 Immune dysregulation-polyendocrinopathy-enteropathy-X-linked syndrome Diseases 0.000 description 1
- 229940112112 capex Drugs 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- FEBLZLNTKCEFIT-VSXGLTOVSA-N fluocinolone acetonide Chemical compound C1([C@@H](F)C2)=CC(=O)C=C[C@]1(C)[C@]1(F)[C@@H]2[C@@H]2C[C@H]3OC(C)(C)O[C@@]3(C(=O)CO)[C@@]2(C)C[C@@H]1O FEBLZLNTKCEFIT-VSXGLTOVSA-N 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000013011 mating Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2347—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/765—Interface circuits between an apparatus for recording and another apparatus
- H04N5/77—Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
- H04N7/181—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/60—Digital content management, e.g. content distribution
- H04L2209/603—Digital right managament [DRM]
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
비디오 데이터를 생성하는 카메라(CAM), 상기 카메라(CAM)에 연결되어 비디오 데이터를 받는 네트워크 비디오 레코더(NVR)(Network Video Recorder), 상기 네트워크 비디오 레코더(NVR)로부터 비디오 데이터를 받아 플레이하는 리모트 비디오 플레이어(RVP)(Remote Video Player), 상기 네트워크 비디오 레코더(NVR)에 직접 연결되어, 상기 비디오 데이터의 암호화에 이용되는 제1 로컬 키(LK1)를 제공하는 제1 로컬 키 서버(LKS1)(Local Key Server), 상기 네트워크 비디오 레코더(NVR)와 상기 리모트 비디오 플레이어(RVP)에 연결되어, 인증 기능과 플레이 키(PK) 전달 기능을 수행하는 액세스 승인 서버(AAS)(Access Authrization Server), 및 상기 액세스 승인 서버(AAS)에 직접 연결되어, 상기 제1 로컬 키(LK1)의 암호화에 이용되는 플레이 키(PK)를 제공하는 상위 로컬 키 서버(LKSa)(Local Key Server)가 포함되어 이루어지고, 상기 카메라(CAM)에는 상기 비디오 데이터를 암호화하여 암호화 비디오 데이터를 생성하는 비디오 암호화 에이전트(VEA)(Video Encryption Agent)가 구비되고, 상기 네트워크 비디오 레코더(NVR)에는 상기 비디오 데이터를 관리하는 비디오 관리 에이전트(VMA)(Video Management Agent)가 구비되며, 상기 리모트 비디오 플레이어(RVP)에는 상기 암호화 비디오 데이터를 복호화하는 비디오 복호화 에이전트(VDA)(Video Decryption Agent)가 구비된다.
Description
본 발명은, 시스템 내의 비디오의 유출 및 오용을 방지하는 비디오 보호 시스템에 관한 것이다.
<비디오 보호 시스템의 정의>
비디오 보호 시스템(VPS)(Video Protection System)은, 비디오 관련 시스템 내에서 생성되고 유통되는 모든 비디오 및 디지털 데이터를 보호하기 위한 보안 시스템을 말한다. 여기서, 데이터의 생성은, 예컨대, CCTV 또는 비디오 감시 시스템(VSS)(Video Surveillance System)의 카메라(CAM)를 통해서 이루어질 수 있다.
비디오 보호 시스템(VPS)은, 카메라(CAM)에서의 데이터의 생성단계(예컨대 생성시 리얼타임 암호화), 카메라(CAM)와 네트워크 비디오 레코더(NVR)(Network Video Recorder) 사이의 데이터 송수신 단계(예컨대 통신채널을 암호화함으로써 영상 바꿔치기나 영상 유출을 방지), 네트워크 비디오 레코더(NVR)에서의 저장단계(예컨대 저장되는 모든 파일을 암호화함으로써 유출시 무용화), 네트워크 비디오 레코더(NVR)에서 외부 데이터 송신단계(예컨대 나가는 모든 파일의 암호화 상태를 유지하고 인증을 통한 접근 제어 실행)에서 작용될 수 있다.
그리고 비디오 보호 시스템(VPS)은, 반출 관리 시스템(XMS)(Export Management System) 기능을 기본으로 포함할 수도 있다. 반출 관리 시스템(XMS)은, 예컨대 CCTV 운용주체로부터 외부로 비디오를 반출할 때, 그 파일을 암호화하고 접근을 제한하며 사용 권한을 제어하도록 구성될 수 있다.
<CCTV 기술 및 시장의 특성>
본 발명의 비디오 보호 시스템(VPS)은, 비디오 관련 시스템에 모두 적용될 수 있지만, 이하에서는 CCTV 시스템을 주된 예로 들어서 설명한다.
일반적으로, CCTV 시스템의 기본 기능은, 업체별로 큰 차이가 없다. 그리고 대개는, 업체별로 독자적인 비디오 파일 포맷을 사용하지만, 리얼타임 전송 프로토콜(RTP, Real-time Transportation Protocol)이나 mp4 같은 표준 기술을 이용하기도 한다. 코덱(codec)은 H.264와 H.265를 주로 사용하고, 네트워크 비디오 레코더(NVR)의 파일은, 크기나 시간을 기준으로 분할되어 저장되기도 하고 별도의 독자적인 파일시스템에 저장되는 경우도 있다.
IP 카메라(CAM)에는 백업 용도의 SD 카드 슬롯이 구비되어 있고, 네트워크 비디오 레코더(NVR)는 카메라(CAM)와 IP 망으로 연결된다. 그러나 네트워크 비디오 레코더(NVR) 중에는 인터넷에는 연결되지 않는, 소위 아이솔레이티드(Isolated) 네트워크 비디오 레코더(NVR)가 많다.
비디오의 플레이 면에서는, 브라우저에서 비디오 플레이를 하는 경우도 있지만, 전용 앱(app, application, 응용프로그램)도 많이 사용된다. 다만, HTML5 브라우저에 대한 지원은 아직 많지 않다.
하나의 카메라(CAM)에 대해 여러 채널로부터의 동시 요청이 가능하고, 하나의 카메라(CAM)에서 둘 이상의 비디오 스트림 생성이 가능하다. 이때, 풀(Full) HD인 프라이머리(primary) 비디오의 비트 레이트(bit rate)는 2~5 Mbps 정도이고, 라이브 디스플레이 목적의 비디오는 해상도(resolution)나 비트 레이트가 더 낮아진다.
네트워크 비디오 레코더(NVR)로 전달된 비디오는, 파일 형태로 저장되거나, 화면에 출력되거나, 외부로 실시간 전송되거나, USB 등의 디바이스로 백업될 수 있다. 하나의 네트워크 비디오 레코더(NVR)가 최대 처리 가능한 채널 수는 128채널 정도이다. 이 경우에는 라이브 스트림을 CIF 정도의 해상도로 보내서 화면에 표시되도록 한다.
<배경기술>
종래에 특허문헌에 의하면, 카메라(100) 및 영상 관리 서버(200)를 포함하는 CCTV 영상 보안 관리 시스템이 개시되어 있다. 특허문헌의 도 2에 도시된 바와 같이 이 CCTV 영상 보안 관리 시스템은 영상 관리 서버(200)가 카메라(100)에 영상의 제공을 요청하면, 카메라(100)가 부호화된 영상을 영상 관리 서버(200)에 송신하고, 영상 관리 서버(200)는 상기 부호화된 영상을 원상복원하고, 추가적으로 프라이버시 제공 영상으로 변환하여 저장(단락 [28])한다.
여기서, 영상 관리 서버(200)는 영상 관리 서버(200)에 연결된 카메라(100) 전체의 식별 정보 및 패스워드를 저장하고, 카메라(100)는 카메라 자신의 식별 정보 및 패스워드를 저장할 수 있다. 상기 식별 정보는, 예를 들어 고유의 아이디(ID)일 수 있다. 영상 관리 서버(200)는 카메라(100)에 촬영 영상 제공 요청을 송신할 수 있다. 일 실시예에 따르면, 영상 관리 서버(200)가 상기 촬영 영상 제공 요청을 카메라(100)에 송신하지 않더라도, 카메라(100)가 촬영 영상을 제공(단락 [33], [34])할 수 있다.
카메라(100)는 타임스탬프를 생성하고, 상기 카메라의 패스워드와 상기 타임스탬프를 제1 일방향 함수에 입력하여 부호화 키를 생성하며, 상기 부호화 키를 이용하여 촬영 영상을 대칭형 부호화하여 부호화 영상 데이터를 생성하고, 상기 부호화 영상 데이터, 상기 타임스탬프 및 상기 카메라의 식별정보를 영상 관리 서버에 송신(단락 [35])한다.
영상 관리 서버(200)는 상기 수신된 카메라의 식별정보에 대응하는 패스워드를 기 저장된 카메라 정보에서 조회하여 카메라 패스워드를 얻는다. 또한, 영상 관리 서버(200)는 상기 카메라 패스워드 및 상기 수신된 타임스탬프를 상기 카메라와 공유된 소정의 일방향 함수에 입력하여 부호화 키를 생성한다. 예를 들어, 상기 부호화 키는 상기 카메라 패스워드 및 상기 타임스탬프 값을 입력 파라미터로 하는 제1 해쉬 함수의 해쉬 값일 수 있다. 또한, 영상 관리 서버(200)는 상기 수신된 부호화 영상 데이터를 상기 부호화 키를 이용하여 원상복원(단락 [38]~[40])한다.
이 특허문헌의 CCTV 영상 보안 관리 시스템은 카메라(100)의 패스워드를 알지 못하면, 부호화 키를 얻을 수 없으므로 부호화 영상 데이터를 원상복원할 수 없으므로, 카메라(100)가 영상 관리 서버(200)에 송신하는 데이터가 중간에 유출되더라도 원본 영상이 유출되는 것은 막을 수 있는 효과(단락 [41])가 있다.
<보안공격 모델-문제점>
그런데 이러한 종래의 일반적인 CCTV 시스템에 있어서는, 기본적으로 ID와 패스워드(password)에 의존하는 취약한 보안이 문제된다.
먼저, 시스템 사용자가 자신의 ID와 패스워드를 타인과 공유할 수 있다. 그리고 모든 네트워크와 I/O 채널에서 중개자 공격(man-in-the-middle attack)이 발생할 수 있다. 또한, 시스템 내의 모든 통신 메시지에 대한 재전송(replay) 공격이 가능하다. 그리고 바이너리로 제공되는 에이전트 라이브러리(agent library)에 대한 리버스 엔지니어링 공격이 가능하다. 또한, 파일 형태로 저장되는 모든 데이터에 대해 변경, 복사, 삭제 등이 가능하다.
그리고 키의 생성 제공부, 예컨대 특허문헌의 카메라(100)에 대해, 또는 카메라에 연결된 장치에 직접 연결 설치되는 로컬 키 생성 제공부에 대해 제거, 변경 등의 공격이 가능하다. 그리고 로컬 키 서버(LKS)에 대해 랜덤 메시지 공격이 가능하다. 그리고 로컬 키 서버(LKS) 내부 저장장치에 대한 접근 공격이 가능하다. 또는 키의 외부 생성 제공부인 액세스 승인 서버(AAS)(Access Authrization Server)에 대한 침입 공격이 가능하다. 그리고 액세스 승인 서버(AAS)에 대한 DDOS 공격이 가능하다.
<요구사항-과제>
상기 문제를 해소하기 위해, 본 발명은, CCTV 시스템을 통해서 유통되는 비디오 파일을 전 과정에 걸쳐 보호하는 비디오 보호 시스템을 제공하고자 한다.
또한, 카메라(CAM), 네트워크 비디오 레코더(NVR), 로컬 비디오 플레이어(LVP)(Local Video Player), 리모트 비디오 플레이어(RVP)(Remote Video Player), 비디오 반출 시스템(VXS), 반출 비디오 플레이어(XVP)(Export Video Player) 등 전체에 필요한 인증과 암호화 및 복호화를 수행하는 비디오 보호 시스템을 제공하고자 한다.
그리고 DRM 기술을 기반으로 한 비디오 보호 시스템을 구현하여 제공하고자 한다.
그리고 인터넷이 없는 아이솔레이티드(isolated) 환경에도 적용이 가능한 보안 메커니즘을 고안하여 구현된 비디오 보호 시스템을 제공하고자 한다.
삭제
그리고 가능한 한 다양한 CCTV 시스템의 동작 모델을 지원할 수 있도록 포괄적인 시스템 구성이 가능한 비디오 보호 시스템을 제공하고자 한다.
그리고 최강의 보안성을 추구하기보다는 비용 대비 효용성이 있는 보안 기술을 기반으로 하는 비디오 보호 시스템을 제공하고자 한다.
삭제
그리고 키 발급 시스템의 클라우드화가 가능한 구조를 가지는 비디오 보호 시스템을 제공하고자 한다.
상기 과제를 달성하기 위한 본 발명의 비디오 보호 시스템은, 비디오 데이터를 생성하는 카메라(CAM), 상기 카메라(CAM)에 연결되어 비디오 데이터를 받는 네트워크 비디오 레코더(NVR)(Network Video Recorder), 상기 네트워크 비디오 레코더(NVR)로부터 비디오 데이터를 받아 플레이하는 리모트 비디오 플레이어(RVP)(Remote Video Player), 상기 네트워크 비디오 레코더(NVR)에 직접 연결되어, 상기 비디오 데이터의 암호화에 이용되는 제1 로컬 키(LK1)를 제공하는 제1 로컬 키 서버(LKS1)(Local Key Server), 상기 네트워크 비디오 레코더(NVR)와 상기 리모트 비디오 플레이어(RVP)에 연결되어, 인증 기능과 플레이 키(PK) 전달 기능을 수행하는 액세스 승인 서버(AAS)(Access Authorization Server), 및 상기 액세스 승인 서버(AAS)에 직접 연결되어, 상기 제1 로컬 키(LK1)의 암호화에 이용되는 플레이 키(PK)를 제공하는 상위 로컬 키 서버(LKSa)(Local Key Server)가 포함되어 이루어지고, 상기 카메라(CAM)에는 상기 비디오 데이터를 암호화하여 암호화 비디오 데이터를 생성하는 비디오 암호화 에이전트(VEA)(Video Encryption Agent)가 구비되고, 상기 네트워크 비디오 레코더(NVR)에는 상기 암호화 비디오 데이터를 관리하는 비디오 관리 에이전트(VMA)(Video Management Agent)가 구비되며, 상기 리모트 비디오 플레이어(RVP)에는 상기 암호화 비디오 데이터를 복호화하는 비디오 복호화 에이전트(VDA)(Video Decryption Agent)가 구비되고, 상기 비디오 데이터의 전송시에, 상기 네트워크 비디오 레코더(NVR)의 상기 비디오 관리 에이전트(VMA)는, 상기 카메라(CAM)의 상기 비디오 암호화 에이전트(VEA)로부터의 요청에 의해 상기 제1 로컬 키 서버(LKS1)에 제1 로컬 키(LK1)를 요청하고, 상기 제1 로컬 키 서버(LKS1)로부터 제1 로컬 키(LK1)를 받아서 상기 비디오 암호화 에이전트(VEA)에 전달하고, 상기 카메라(CAM)의 상기 비디오 암호화 에이전트(VEA)는, 상기 제1 로컬 키(LK1)로 상기 비디오 데이터를 암호화함으로써 상기 암호화 비디오 데이터를 생성하여 상기 네트워크 비디오 레코더(NVR)의 상기 비디오 관리 에이전트(VMA)에 전송하고, 상기 액세스 승인 서버(AAS)는, 상기 네트워크 비디오 레코더(NVR)의 상기 비디오 관리 에이전트(VMA)로부터의 요청에 의해 상기 상위 로컬 키 서버(LKSa)에 플레이 키(PK)를 요청하고, 상기 상위 로컬 키 서버(LKSa)로부터 플레이 키(PK)를 받아 플레이 키 ID(PKID)와 함께 상기 비디오 관리 에이전트(VMA)에 전달하고, 상기 네트워크 비디오 레코더(NVR)의 상기 비디오 관리 에이전트(VMA)는, 상기 제1 로컬 키 서버(LKS1)에 플레이 키(PK)를 제공하면서 키 블럭(key block)을 요청하고, 상기 제1 로컬 키 서버(LKS1)는, 상기 플레이 키(PK)를 내부에 저장하고 상기 플레이 키(PK)로 암호화하여 생성한 암호화 로컬 키(LK)를 포함하는 상기 키 블럭을 상기 암호화 비디오 데이터에 추가하여 저장하고, 상기 비디오 관리 에이전트(VMA)는, 상기 암호화 비디오 데이터, 플레이 키 ID(PKID)를 상기 리모트 비디오 플레이어(RVP)에 전송하도록 제어되고, 상기 암호화 비디오 데이터의 플레이시에, 상기 리모트 비디오 플레이어(RVP)의 상기 비디오 복호화 에이전트(VDA)는, 상기 리모트 비디오 플레이어(RVP)로부터 상기 암호화 비디오 데이터, 및 플레이 키 ID(PKID)를 받고, 상기 액세스 승인 서버(AAS)에 상기 플레이 키 ID(PKID)를 전송하여 플레이 키(PK)를 받고, 상기 플레이 키(PK)를 이용하여 상기 암호화 비디오 데이터로부터 읽어낸 상기 키 블럭에 포함된 상기 제1 로컬 키(LK1)를 복호화하고, 상기 복호화된 제1 로컬 키(LK1)를 이용하여 상기 암호화 비디오 데이터를 복호화하여 플레이하도록 제어됨을 특징으로 한다.
여기서, 상기 네트워크 비디오 레코더(NVR)로부터 받는 상기 암호화 비디오 데이터를 외부로 반출하는 비디오 반출 시스템(VXS)(Video Export System), 상기 비디오 반출 시스템(VXS)으로부터 상기 암호화 비디오 데이터를 받아 플레이하는 반출 비디오 플레이어(XVP)(Export Video Player), 및 상기 비디오 반출 시스템(VXS)에 직접 연결되어, 상기 비디오 데이터의 반출용 암호화에 이용되는 제2 로컬 키(LK)를 제공하는 제2 로컬 키 서버(LKS2)(Local Key Server)가 더 포함되어 이루어지고, 상기 액세스 승인 서버(AAS)는, 상기 비디오 반출 시스템(VXS)과 상기 반출 비디오 플레이어(XVP)에 연결되며, 상기 비디오 반출 시스템(VXS)에는 상기 비디오 복호화 에이전트(VDA)와 비디오 반출 에이전트(VXA)(Video Export Agent)가 구비되고, 상기 반출 비디오 플레이어(XVP)에는 상기 비디오 복호화 에이전트(VDA)가 구비되며, 상기 암호화 비디오 데이터의 반출시에, 상기 비디오 반출 시스템(VXS)의 상기 비디오 반출 에이전트(VXA)는, 상기 비디오 반출 시스템(VXS)으로부터 상기 암호화 비디오 데이터, 및 플레이 키 ID(PKID)를 받고, 상기 비디오 반출 시스템(VXS)의 상기 비디오 반출 에이전트(VXA)는, 상기 제2 로컬 키 서버(LKS2)에 제2 로컬 키(LK2)를 요청하고, 상기 제2 로컬 키 서버(LKS2)로부터 제2 로컬 키(LK2)를 받고, 상기 액세스 승인 서버(AAS)는, 상기 비디오 반출 에이전트(VXA)로부터의 요청에 의해 상기 상위 로컬 키 서버(LKSa)에 반출 키(XK)를 요청하고, 상기 상위 로컬 키 서버(LKSa)로부터 반출 키(XK)를 받아 반출 키 ID(XKID)와 함께 상기 비디오 반출 에이전트(VXA)에 전달하고, 상기 비디오 반출 시스템(VXS)의 상기 비디오 반출 에이전트(VXA)는, 상기 액세스 승인 서버(AAS)에 상기 플레이 키 ID(PKID)를 전송하여 플레이 키(PK)를 받고, 상기 비디오 반출 시스템(VXS)의 상기 비디오 복호화 에이전트(VDA)는, 상기 플레이 키(PK)를 이용하여 상기 암호화 비디오 데이터로부터 읽어낸 상기 키 블럭에 포함된 상기 제1 로컬 키(LK1)를 복호화하고, 상기 비디오 반출 시스템(VXS)의 상기 비디오 복호화 에이전트(VDA)는, 상기 복호화된 제1 로컬 키(LK1)를 이용하여 상기 암호화 비디오 데이터를 복호화하고, 상기 비디오 반출 시스템(VXS)의 상기 비디오 반출 에이전트(VXA)는, 워터마킹을 행하고, 상기 비디오 반출 시스템(VXS)의 상기 비디오 반출 에이전트(VXA)는, 상기 제2 로컬 키 서버(LKS2)에 반출 키(XK)를 제공하면서 키 블럭(key block)을 요청하고, 상기 제2 로컬 키 서버(LKS2)가 상기 반출 키(XK)로 암호화하여 생성된 암호화 로컬 키(LK)를 포함하는 상기 키 블럭을 받아, 상기 암호화 비디오 데이터, 반출 키 ID(XKID), 키 블럭을 상기 반출 비디오 플레이어(XVP)에 전송하도록 제어되고, 상기 암호화 비디오 데이터의 플레이시에, 상기 반출 비디오 플레이어(XVP)의 상기 비디오 복호화 에이전트(VDA)는, 상기 반출 비디오 플레이어(XVP)로부터 상기 키 블럭, 상기 암호화 비디오 데이터, 및 반출 키 ID(XKID)를 받고, 상기 액세스 승인 서버(AAS)에 상기 반출 키 ID(XKID)를 전송하여 반출 키(XK)를 받고, 상기 반출 키(XK)를 이용하여 상기 키 블럭에 포함된 상기 제2 로컬 키(LK2)를 복호화하고, 상기 복호화된 제2 로컬 키(LK2)를 이용하여 상기 암호화 비디오 데이터를 복호화하여 플레이하도록 제어되어도 좋다.
그리고 상기 네트워크 비디오 레코더(NVR) 내에서 비디오 데이터를 플레이하는 로컬 비디오 플레이어(LVP) (Local Video Player)가 더 구비되고, 상기 로컬 비디오 플레이어(LVP)에는 상기 비디오 복호화 에이전트(VDA)가 구비되며, 상기 암호화 비디오 데이터의 플레이시에, 상기 네트워크 비디오 레코더(NVR)의 상기 비디오 관리 에이전트(VMA) 또는 상기 로컬 비디오 플레이어(LVP)의 상기 비디오 복호화 에이전트(VDA)는, 상기 제1 로컬 키 서버(LKS1)에 상기 키 블럭을 전송하면서 제1 로컬 키(LK1)를 요청하고, 상기 제1 로컬 키 서버(LKS1)는, 보관 중인 플레이 키(PK)로 상기 키 블럭에 포함된 상기 제1 로컬 키(LK1)를 복호화하여 상기 비디오 관리 에이전트(VMA) 또는 상기 비디오 복호화 에이전트(VDA)에 전송하고, 상기 비디오 관리 에이전트(VMA) 또는 상기 비디오 복호화 에이전트(VDA)는, 상기 제1 로컬 키(LK1)로 상기 암호화 비디오 데이터를 복호화하여 플레이하도록 제어되어도 좋다.
그리고 상기 제1 로컬 키 서버(LKS1)와 상기 네트워크 비디오 레코더(NVR) 사이의 연결 또는 상위 로컬 키 서버(LKSa)와 상기 액세스 승인 서버(AAS) 사이의 연결 또는 상기 제2 로컬 키 서버(LKS2)와 상기 비디오 반출 시스템(VXS) 사이의 연결은, 보안 세션(secure session)으로 이루어짐이 바람직하다.
그리고 상기 액세스 승인 서버(AAS)의 사용이 불가능한 경우에는, 상기 제1 로컬 키 서버(LKS1) 또는 상기 제2 로컬 키 서버(LKS2)가 상기 액세스 승인 서버(AAS)의 기능을 대체하도록 스위칭됨이 바람직하다.
그리고 상기 플레이 키(PK) 또는 상기 반출 키(XK)는, 상기 제1 로컬 키 서버(LKS1) 또는 상기 제2 로컬 키 서버(LKS2)에 저장되어 있는 것을 사용하거나, 상기 액세스 승인 서버(AAS)에 플레이 키 ID(PKID) 또는 상기 반출 키 ID(XKID)를 송신하여 재발급 받아서 사용하도록 구성됨이 바람직하다.
본 발명에 의하면, CCTV 시스템을 통해서 유통되는 비디오 파일을 전 과정에 걸쳐 보호하는 비디오 보호 시스템이 제공된다.
또한, 카메라(CAM), 네트워크 비디오 레코더(NVR), 로컬 비디오 플레이어(LVP)(Local Video Player), 리모트 비디오 플레이어(RVP)(Remote Video Player), 비디오 반출 시스템(VXS), 반출 비디오 플레이어(XVP)(Export Video Player) 등 전체에 필요한 인증과 암호화 및 복호화를 수행하는 비디오 보호 시스템이 제공된다.
그리고 DRM 기술을 기반으로 한 비디오 보호 시스템이 제공된다.
그리고 인터넷이 없는 아이솔레이티드(isolated) 환경에도 적용이 가능한 보안 메커니즘을 고안하여 구현된 비디오 보호 시스템이 제공된다.
삭제
그리고 가능한 한 다양한 CCTV 시스템의 동작 모델을 지원할 수 있도록 포괄적인 시스템 구성이 가능한 비디오 보호 시스템이 제공된다.
그리고 최강의 보안성을 추구하기보다는 비용 대비 효용성이 있는 보안 기술을 기반으로 하는 비디오 보호 시스템이 제공된다.
삭제
그리고 키 발급 시스템의 클라우드화가 가능한 구조를 가지는 비디오 보호 시스템이 제공된다.
도 1은, 본 발명의 비디오 보호 시스템의 일실시예의 구성을 나타내는 개략 블럭도이다.
도 2a는, 본 발명에 의해 보호되는 비디오 데이터가 리모트 비디오 플레이어나 로컬 비디오 플레이어에서 플레이되는 경우의 시퀀스다이어그램이다.
도 2b는, 본 발명에 의해 보호되는 비디오 데이터가 비디오 반출 시스템을 거쳐 반출 비디오 플레이어에서 플레이되는 경우의 시퀀스다이어그램이다.
도 2a는, 본 발명에 의해 보호되는 비디오 데이터가 리모트 비디오 플레이어나 로컬 비디오 플레이어에서 플레이되는 경우의 시퀀스다이어그램이다.
도 2b는, 본 발명에 의해 보호되는 비디오 데이터가 비디오 반출 시스템을 거쳐 반출 비디오 플레이어에서 플레이되는 경우의 시퀀스다이어그램이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라, 서로 다른 다양한 형태로 구현될 수 있고, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은, 명백하게 특별히 정의되지 않는 한, 이상적으로 또는 과도하게 해석되지 않는다.
<전체 시스템 구성>
도 1에 도시된 바와 같이, 본 발명의 비디오 보호 시스템은, 비디오 데이터를 생성하는 카메라(CAM)(10), 상기 카메라(CAM)(10)에 연결되어 비디오 데이터를 받는 네트워크 비디오 레코더(NVR)(Network Video Recorder)(20), 상기 네트워크 비디오 레코더(NVR)(20)로부터 비디오 데이터를 받아 플레이하는 리모트 비디오 플레이어(RVP)(Remote Video Player)(30), 상기 네트워크 비디오 레코더(NVR)(20)에 직접 연결되어, 상기 비디오 데이터의 암호화에 이용되는 제1 로컬 키(LK1)를 제공하는 제1 로컬 키 서버(LKS1)(Local Key Server)(41), 상기 네트워크 비디오 레코더(NVR)(20)와 상기 리모트 비디오 플레이어(RVP)(30)에 연결되어, 인증 기능과 플레이 키(PK) 전달 기능을 수행하는 액세스 승인 서버(AAS)(Access Authorization Server)(50), 및 상기 액세스 승인 서버(AAS)(50)에 직접 연결되어, 상기 제1 로컬 키(LK1)의 암호화에 이용되는 플레이 키(PK)를 제공하는 상위 로컬 키 서버(LKSa)(Local Key Server)(43)가 포함되어 이루어진다.
그리고 상기 카메라(CAM)(10)에는 상기 비디오 데이터를 암호화하여 암호화 비디오 데이터를 생성하는 비디오 암호화 에이전트(VEA)(Video Encryption Agent)가 구비되고, 상기 네트워크 비디오 레코더(NVR)(20)에는 상기 암호화 비디오 데이터를 관리하는 비디오 관리 에이전트(VMA)(Video Management Agent)가 구비되며, 상기 리모트 비디오 플레이어(RVP)(30)에는 상기 암호화 비디오 데이터를 복호화하는 비디오 복호화 에이전트(VDA)(Video Decryption Agent)가 구비되어 있다.
그리고 상기 비디오 데이터의 전송시에, 상기 비디오 관리 에이전트(VMA)는, 상기 제1 로컬 키 서버(LKS1)(41)에 제1 로컬 키(LK1)를 요청하고, 상기 제1 로컬 키 서버(LKS1)(41)로부터 제1 로컬 키(LK1)를 받아서 상기 비디오 암호화 에이전트(VEA)에 전달한다. 그러면 상기 비디오 암호화 에이전트(VEA)는, 상기 제1 로컬 키(LK1)로 상기 비디오 데이터를 암호화함으로써 상기 암호화 비디오 데이터를 생성하고, 이를 상기 카메라(CAM)(10)가 상기 네트워크 비디오 레코더(NVR)(20)에 전송한다.
그리고 상기 액세스 승인 서버(AAS)(50)는, 상기 비디오 관리 에이전트(VMA)로부터의 요청에 의해 상기 상위 로컬 키 서버(LKSa)(43)에 플레이 키(PK)를 요청하고, 상기 상위 로컬 키 서버(LKSa)(43)로부터 플레이 키(PK)를 받아 플레이 키 ID(PKID)와 함께 상기 비디오 관리 에이전트(VMA)에 전달한다. 그러면 상기 비디오 관리 에이전트(VMA)는, 상기 제1 로컬 키 서버(LKS1)(41)에 플레이 키(PK)를 제공하면서 키 블럭(key block)을 요청하고, 상기 제1 로컬 키 서버(LKS1)(41)는, 상기 플레이 키(PK)를 내부에 저장하고 상기 플레이 키(PK)로 암호화하여 생성한 암호화 로컬 키(LK)를 포함하는 상기 키 블럭을 상기 암호화 비디오 데이터에 추가하여 저장하고, 상기 비디오 관리 에이전트(VMA)는, 상기 키 블럭이 추가된 상기 암호화 비디오 데이터, 플레이 키 ID(PKID)를 상기 비디오 복호화 에이전트(VDA)에 전송하도록 제어된다.
한편, 상기 암호화 비디오 데이터의 플레이시에, 상기 비디오 복호화 에이전트(VDA)는, 상기 리모트 비디오 플레이어(RVP)(30)로부터 상기 암호화 비디오 데이터, 및 플레이 키 ID(PKID)를 받고, 상기 액세스 승인 서버(AAS)(50)에 상기 플레이 키 ID(PKID)를 전송하여 플레이 키(PK)를 받는다. 그리고 상기 플레이 키(PK)를 이용하여 상기 암호화 비디오 데이터로부터 읽어낸 상기 키 블럭에 포함된 상기 제1 로컬 키(LK1)를 복호화하고, 상기 복호화된 제1 로컬 키(LK1)를 이용하여 상기 암호화 비디오 데이터를 복호화하여 플레이하도록 제어된다.
다른 실시예에 있어서, 상기 네트워크 비디오 레코더(NVR)(20)로부터 받는 상기 암호화 비디오 데이터를 외부로 반출하는 비디오 반출 시스템(VXS)(Video Export System)(60), 상기 비디오 반출 시스템(VXS)(60)으로부터 상기 암호화 비디오 데이터를 받아 플레이하는 반출 비디오 플레이어(XVP)(Export Video Player)(70), 및 상기 비디오 반출 시스템(VXS)(60)에 직접 연결되어, 상기 비디오 데이터의 반출용 암호화에 이용되는 제2 로컬 키(LK)를 제공하는 제2 로컬 키 서버(LKS2)(Local Key Server)(42)가 더 포함되어 이루어져도 좋다. 이때, 상기 액세스 승인 서버(AAS)(50)는, 상기 비디오 반출 시스템(VXS)(60)과 상기 반출 비디오 플레이어(XVP)(70)에 연결된다. 여기서, 상기 비디오 반출 시스템(VXS)(60)에는 상기 비디오 복호화 에이전트(VDA)와 비디오 반출 에이전트(VXA)(Video Export Agent)가 구비되고, 상기 반출 비디오 플레이어(XVP)(70)에는 상기 비디오 복호화 에이전트(VDA)가 구비된다.
이 경우, 상기 암호화 비디오 데이터의 반출시에, 상기 비디오 반출 에이전트(VXA)는, 상기 비디오 반출 시스템(VXS)(60)으로부터 상기 암호화 비디오 데이터, 및 플레이 키 ID(PKID)를 받는다. 그 후, 상기 비디오 반출 에이전트(VXA)는, 상기 제2 로컬 키 서버(LKS2)(42)에 제2 로컬 키(LK2)를 요청하고, 상기 제2 로컬 키 서버(LKS2)(42)로부터 제2 로컬 키(LK2)를 받는다.
그리고 상기 액세스 승인 서버(AAS)(50)는, 상기 비디오 반출 에이전트(VXA)로부터의 요청에 의해 상기 상위 로컬 키 서버(LKSa)(43)에 반출 키(XK)를 요청하고, 상기 상위 로컬 키 서버(LKSa)(43)로부터 반출 키(XK)를 받아 반출 키 ID(XKID)와 함께 상기 비디오 반출 에이전트(VXA)에 전달하고, 상기 비디오 반출 에이전트(VXA)는, 상기 액세스 승인 서버(AAS)(50)에 상기 플레이 키 ID(PKID)를 전송하여 플레이 키(PK)를 받는다.
그 후, 상기 비디오 반출 시스템(VXS)(60)의 상기 비디오 복호화 에이전트(VDA)는, 상기 플레이 키(PK)를 이용하여 상기 암호화 비디오 데이터로부터 읽어낸 상기 키 블럭에 포함된 상기 제1 로컬 키(LK1)를 복호화한다. 또한, 상기 비디오 반출 시스템(VXS)(60)의 상기 비디오 복호화 에이전트(VDA)는, 상기 복호화된 제1 로컬 키(LK1)를 이용하여 상기 암호화 비디오 데이터를 복호화한다. 그 후, 상기 비디오 반출 에이전트(VXA)는, 워터마킹을 행한다.
그리고 상기 비디오 반출 에이전트(VXA)는, 상기 제2 로컬 키 서버(LKS2)(42)에 반출 키(XK)를 제공하면서 키 블럭(key block)을 요청하고, 상기 제2 로컬 키 서버(LKS2)(42)가 상기 반출 키(XK)로 암호화하여 생성된 암호화 로컬 키(LK)를 포함하는 상기 키 블럭을 받아, 상기 암호화 비디오 데이터에 추가한다. 그리고 상기 비디오 반출 시스템(VXS)(60)은, 상기 키 블럭이 추가된 상기 암호화 비디오 데이터, 반출 키 ID(XKID)를 상기 반출 비디오 플레이어(XVP)(70)에 전송하도록 제어된다.
한편, 상기 암호화 비디오 데이터의 플레이시에, 상기 반출 비디오 플레이어(XVP)(70)의 상기 비디오 복호화 에이전트(VDA)는, 상기 반출 비디오 플레이어(XVP)(70)로부터 상기 키 블럭 추가된 상기 암호화 비디오 데이터, 및 반출 키 ID(XKID)를 받고, 상기 액세스 승인 서버(AAS)(50)에 상기 반출 키 ID(XKID)를 전송하여 반출 키(XK)를 받는다.
그리고 상기 반출 키(XK)를 이용하여 상기 키 블럭에 포함된 상기 제2 로컬 키(LK2)를 복호화하고, 상기 복호화된 제2 로컬 키(LK2)를 이용하여 상기 암호화 비디오 데이터를 복호화하여 플레이하도록 제어된다.
그리고, 나아가서, 상기 네트워크 비디오 레코더(NVR)(20) 내에서 비디오 데이터를 플레이하는 로컬 비디오 플레이어(LVP)(Local Video Player)가 더 구비되어도 좋다. 이때, 상기 로컬 비디오 플레이어(LVP)에는 비디오 복호화 에이전트(VDA)가 구비된다. 다만, 상기 로컬 비디오 플레이어(LVP)의 상기 비디오 복호화 에이전트(VDA)의 기능은, 상기 비디오 관리 에이전트(VMA)에 흡수되어 구현될 수 있다.
이 경우는, 상기 암호화 비디오 데이터의 플레이시에, 상기 네트워크 비디오 레코더(NVR)(20)는, 상기 암호화 비디오 데이터로부터 상기 키 블럭을 읽어서 상기 비디오 관리 에이전트(VMA)에 전달하면서 복호화를 요청한다. 상기 비디오 관리 에이전트(VMA)는, 상기 제1 로컬 키 서버(LKS1)(41)에 상기 키 블럭을 전송하면서 제1 로컬 키(LK1)를 요청한다. 그러면, 상기 제1 로컬 키 서버(LKS1)(41)는, 보관 중인 플레이 키(PK)로 상기 키 블럭에 포함된 상기 제1 로컬 키(LK1)를 복호화하여 상기 비디오 관리 에이전트(VMA)에 전송하고, 상기 비디오 관리 에이전트(VMA)는, 상기 제1 로컬 키(LK1)로 상기 암호화 비디오 데이터를 복호화하여 플레이하도록 제어된다.
그리고 상기 제1 로컬 키 서버(LKS1)(41)와 상기 네트워크 비디오 레코더(NVR)(20) 사이의 연결 또는 상위 로컬 키 서버(LKSa)(43)와 상기 액세스 승인 서버(AAS)(50) 사이의 연결 또는 상기 제2 로컬 키 서버(LKS2)(42)와 상기 비디오 반출 시스템(VXS)(60) 사이의 연결은, 보안 세션(secure session)으로 이루어짐이 바람직하다.
그리고 상기 액세스 승인 서버(AAS)(50)의 사용이 불가능한 경우에는, 상기 제1 로컬 키 서버(LKS1)(41) 또는 상기 제2 로컬 키 서버(LKS2)(42)가 상기 액세스 승인 서버(AAS)(50)의 기능을 대체하도록 스위칭됨이 바람직하다.
그리고 상기 플레이 키(PK) 또는 상기 반출 키(XK)는, 상기 제1 로컬 키 서버(LKS1)(41) 또는 상기 제2 로컬 키 서버(LKS2)(42)에 저장되어 있는 것을 사용하거나, 상기 액세스 승인 서버(AAS)(50)에 플레이 키 ID(PKID) 또는 상기 반출 키 ID(XKID)를 송신하여 재발급 받아서 사용하도록 구성되어도 좋다.
이하, 상술한다.
<카메라(CAM) 전송 비디오의 암호화>
카메라(CAM)(10)는, 부팅시에 비디오 암호화 에이전트(VEA)(Video Encryption Agent)의 초기화 루틴을 호출한다. 비디오 암호화 에이전트(VEA)는, 미리 정의된 URL에 대기하고 있는 예컨대 http 데몬을 생성한다. 네트워크 비디오 레코더(NVR)(20)의 비디오 관리 에이전트(VMA)(Video Management Agent)가 이 데몬을 통해 비디오 암호화 에이전트(VEA)와 보안 세션(secure session)을 생성한다.
이를 위해, 예컨대 키 교환 프로토콜을 이용하여 세션 키(SK)(Session Key)를 교환하고, 세션 시퀀스 번호(sequential number)를 설정한다.
비디오 관리 에이전트(VMA)는, 카메라(CAM)(10)의 예컨대 ID와 MAC 주소를 이용하여 카메라(CAM)(10)를 인증한다. 이를 위해, 설치 후 최초 접속 시에, 비디오 관리 에이전트(VMA)는, 카메라(CAM)(10) IP 주소와 ID, MAC 주소를 조회하여 저장한다.
카메라(CAM)(10)는, 비디오 전송 바로 직전에 비디오 암호화 에이전트(VEA) API를 호출하여 비디오 데이터에 대한 암호화를 요청한다. 이 암호화를 위해, 비디오 관리 에이전트(VMA)가 각 카메라(CAM)(10)별로 별도의 키를 생성하여 미리 전송해 놓아야 한다. 그리고 비디오 암호화 에이전트(VEA)는, 암호화를 수행하기 위해, 예컨대 H.264/H.265 NAL 유닛 시퀀스를 추출한다. 다만, 전체 영역을 암호화하지 않고, 중요 데이터 부분만 암호화하도록 해서, 기존 네트워크 비디오 레코더(NVR)(20) 프로그램의 동작이나 성능에 영향이 없도록 함이 바람직하다. 예컨대 CoreCrypt(등록상표)의 패키징 알고리즘을 이용할 수 있다.
다중 스트림을 전송하는 경우에는, 모든 스트림을 동일한 키로 암호화할 수 있다. 그리고 네트워크 비디오 레코더(NVR)(20)로 전송된 비디오 데이터는, 복호화되지 않은 채로 바로 저장된다.
네트워크 비디오 레코더(NVR)(20)는, 각 카메라(CAM)(10)의 비디오를 크기나 시간 기준에 의해 별도의 파일로 분할하여 순차적으로 저장한다. 이때, 보안성을 높이기 위해 다른 파일에 대해 상이한 키가 사용되도록 할 수 있다.
비디오 관리 에이전트(VMA)는, 순차적으로 생성되는 키에 대해 짝수 번째 키와 홀수 번째 키를 구분한다. 비디오 관리 에이전트(VMA)는, 처음 시작할 때, 2개의 키를 비디오 암호화 에이전트(VEA)에게 미리 보내 놓는다. 따라서, 비디오 암호화 에이전트(VEA)는 항상, 짝(even)-홀(odd)이나 홀-짝의 순서로, 두 개의 키를 갖고 있다.
비디오 관리 에이전트(VMA)는, 저장 파일이 바뀌는 시점에 새로운 키를 하나 할당해, 비디오 암호화 에이전트(VEA)에 보낸다. 예를 들어, 비디오 암호화 에이전트(VEA)가 현재 짝 키와 홀 키를 갖고 있다면, 새로 전송된 키는 짝 키가 되고, 암호화에 사용되는 키를 현재의 짝 키에서 홀 키로 바꾼다. 따라서, 비디오 암호화 에이전트(VEA)는, 홀 키와 신규 짝 키를 갖게 되고, 이 과정은 순차적으로 반복된다.
현재 암호화에 사용되는 키가 짝인지 홀인지 여부가, 전송 패킷에 기록되어야 한다. MPEG2-TS나 리얼타임 전송 프로토콜 등의 표준 프로토콜인 경우에는, 해당 필드(field)를 찾아서 기록해야 한다. 네트워크 비디오 레코더(NVR)(20)의 벤더의 전용 포맷인 경우에는, 데이터 필드 추가를 요청해야 하고, 데이터 설정 SDK를 구현해야 한다.
비디오 관리 에이전트(VMA)와 비디오 암호화 에이전트(VEA)가 비동기적으로 동작하기 때문에, 저장되는 파일이 바뀐 후에도, 이전 키에 의해 암호화된 패킷들이 있을 수 있다. 이 키 정렬(alignment) 문제는, 비디오 관리 에이전트(VMA)가 해결해야 한다.
단순 모드에 대한 고려도 필요하다. 벤더에 따라서는, 짝, 홀 구분이 불가능한 경우도 있을 수 있다. 이 경우에는, 암호화 키를 변경하지 않고, 동일한 키를 계속 사용하고, 시스템이 리셋되는 경우에만, 키 변경이 가능하다.
<네트워크 비디오 레코더(NVR)의 암호화 파일 저장>
네트워크 비디오 레코더(NVR)(20)는, 부팅 시에 비디오 관리 에이전트(VMA)의 초기화 루틴을 호출한다. 비디오 관리 에이전트(VMA)는, 라이브 비디오 스트림에 대한 키를 제공하기 위한 http 데몬을 생성하고, 네트워크 비디오 레코더(NVR)(20)에 연결된 각 카메라(CAM)(10)의 비디오 암호화 에이전트(VEA)의 URL을 확인하여, 보안 세션을 생성한다. 그리고 로컬 키 서버(LKS1)(41)와 보안 세션을 생성하고 인증을 받은 후, 각 카메라(CAM)(10)에 대해 로컬 키(LK1) 2개를 발급받아서, 짝 키와 홀 키로 전송해 놓는다.
커넥티드(Connected) 네트워크 비디오 레코더(NVR)(20)인 경우에는, 액세스 승인 서버(AAS)(50)와 보안 세션을 생성하고, 로컬 키 서버(LKS1)(41)에서 받은 신임장(credential)을 보내서 자신의 인증을 진행한다.
네트워크 비디오 레코더(NVR)(20)는, 카메라(CAM)(10)로부터 도착한 모든 패킷에 대해 비디오 관리 에이전트(VMA)의 키 정렬 API를 호출한다. 비디오 관리 에이전트(VMA)는, 비디오 암호화 에이전트(VEA)가 현재 암호화를 위해 사용 중인 키가 어떤 것인지 알 수 있다. 예를 들어, 비디오 암호화 에이전트(VEA)가 짝과 홀 키를 가지고 있고, 짝 키로 암호화를 진행 중일 때에 파일이 바뀌어서 새 짝 키를 보내면, 홀 키로 암호화 키가 바뀐다.
다만, 새 키의 전달 시간이 걸릴 수 있기 때문에, 그동안의 일부 패킷은 올드 짝 키로 계속 암호화된다. 비디오 관리 에이전트(VMA)는, 올드 짝 키로 암호화된 패킷인 경우, 복호화를 수행하고 홀 키로 재암호화를 수행한다. 비디오 관리 에이전트(VMA)는, 재암호화가 필요 없는 경우에는 원본 패킷을 그대로 리턴한다.
카메라(CAM)(10)가 단순 방식의 암호화만을 수행하는 경우에는, 키 정렬 API에서 복호화를 수행하고, 다른 로컬 키(LK1)를 할당받아 재암호화를 실행할 수 있다.
네트워크 비디오 레코더(NVR)(20)는, 각 파일 저장을 마무리할 때에 비디오 관리 에이전트(VMA)에게 키 블럭(block)을 요청하고, 그 데이터를 파일의 끝에 붙여서 저장한다. 이 키 블럭은, 암호화에 사용된 로컬 키(LK1)를 포함한다.
로컬 키 서버(LKS1)(41)가 응답하지 않는 경우에, 아이솔레이티드 네트워크 비디오 레코더(NVR)(20)의 비디오 관리 에이전트(VMA)는, 로컬 키(LK1)를 자체 생성해서 사용하고, 임시 생성한 플레이 키(PK)를 이용하여 로컬 키(LK1)를 암호화한다. 그리고 로컬 키 서버(LKS1)(41)가 복구된 후에, 이 플레이 키(PK)를 사용한 파일들에 대해, 키 블럭을 로컬 키 서버(LKS1)(41)의 플레이 키(PK)로 재암호화한다.
커넥티드 네트워크 비디오 레코더(NVR)(20)의 비디오 관리 에이전트(VMA)가 로컬 키 서버(LKS1)(41)로부터 응답을 받지 못하는 경우에는, 액세스 승인 서버(AAS)(50)에 직접 로컬 키(LK1)와 키 블럭을 요청한다.
<로컬 키 서버(LKS1)>
로컬 키 서버(LKS1)(41)는, 네트워크 비디오 레코더(NVR)(20)와 통신을 하면서 키 발급 등의 요청을 처리해 주는, 예컨대 USB 동글 형태의 컴퓨터이다. 이 로컬 키 서버(LKS1)(41)는, 개발된 프로그램의 설치 및 실행이 가능해야 한다. 그리고 자체 클럭을 가지고 있어야 한다. 또한, 동작의 안정성 및 시스템 수명이 일반 컴퓨터와 동일한 수준이어야 한다.
로컬 키 서버(LKS1)(41)는, 키 페어(pair)를 내부 생성, 저장하고, 암호화 작업을 실행할 수 있는 암복호화 기능을 수행하는 칩을 포함하고 있다. CCTV 시스템 설치 고객을 식별하기 위한 네트워크 비디오 레코더(NVR)의 사이트(Site) ID(SID)(NVR SID)와 네트워크 비디오 레코더(NVR)의 ID(NVR ID) 및 자신의 식별자인 로컬 키 서버 ID(LKS ID)를 저장하고 있다.
설치 후 최초 접속 시에, 비디오 관리 에이전트(VMA)는, 자신의 네트워크 비디오 레코더(NVR)(20)의 사이트 ID(NVR SID)와 네트워크 비디오 레코더(NVR) ID(NVR ID)를 포함하는 식별 정보를 제공해서, 추후 접속 시 로컬 키 서버(LKS1)(41)가 인증할 수 있도록 해야 한다. 이를 통해, 로컬 키 서버(LKS1)(41)는, 처음 연결된 네트워크 비디오 레코더(NVR)(20)와 디바이스 페어링된다. 식별 정보로는, MAC 주소나 HDD ID 등이 활용될 수 있다. 로컬 키 서버(LKS1)(41)에 대한 비디오 관리 에이전트(VMA)의 인증은, 로컬 키 서버(LKS1)(41)가 프로토콜 시퀀스를 위배하지 않는 한, 통과된 것으로 볼 수 있다.
로컬 키 서버(LKS1)(41)는, 암호화를 위한 로컬 키(LK1) 생성 기능을 수행한다. 네트워크 비디오 레코더(NVR)(20)의 비디오 관리 에이전트(VMA)의 요청에 따라, 랜덤 로컬 키(LK1)와 로컬 키 ID(LKID)를 생성해서 발급한다. 키 전송 채널의 해킹을 막기 위해, 비디오 관리 에이전트(VMA)는, 예컨대 키 교환 프로토콜을 이용해, 로컬 키 서버(LKS1)(41)와 보안 세션을 생성한다.
로컬 키 서버(LKS1)(41)는, 키 블럭 제공 기능을 수행한다. 비디오 관리 에이전트(VMA)가 로컬 키 ID(LKID)로 요청을 하면, 그 해당 로컬 키(LK1)를 포함하는 키 블럭을 생성해서 전송한다. 이 키 블럭 내에 플레이 키(PK)에 의해 암호화된 로컬 키(LK1)가 포함되며, 이 플레이 키(PK)는, 키 ID(PKID)와 함께 액세스 승인 서버(AAS)(50)에 의해 발급된다. 네트워크 비디오 레코더 사이트 ID(NVR SID), 키 ID(PKID), 암호화된 로컬 키, 생성시간, 액세스 승인 서버 URL(AAS URL) 등이 키 블럭에 포함될 수 있다.
로컬 키 서버(LKS1)(41)는, 커넥티드 네트워크 비디오 레코더(NVR)(20)의 주기적 플레이 키(PK)를 업데이트한다. 로컬 키 서버(LKS1)(41)는, 비디오 관리 에이전트(VMA)를 통해 주기적으로 액세스 승인 서버(AAS)(50)에 접속하고, 플레이 키(PK)를 업데이트할 수 있다. 상호 인증을 위해, 네트워크 비디오 레코더(NVR)(20)의 로컬 키 서버(LKS1)(41)와 액세스 승인 서버(AAS)(50)는, 각자의 전자서명과 공개키 및 식별용 토큰을 이용할 수 있다.
로컬 키 서버(LKS1)(41)는, 아이솔레이티드 네트워크 비디오 레코더(NVR)(20)의 플레이 키(PK)를 업데이트한다. 아이솔레이티드 네트워크 비디오 레코더(NVR)(20)의 로컬 키 서버(LKS1)(41)는, 초기 설정 시에, 액세스 승인 서버(AAS)(50)로부터 발급된 플레이 키(PK)를 변경 없이 계속 사용한다. 이는, 키의 보안 수준은 떨어지지만, 인터넷에 연결되지 않은 상태에서 동작이 가능한 방식이다. 수동으로 인터넷 접속 후, 업데이트하는 것은 가능하다.
다만, 키 업데이트가 이루어져도, 이전 플레이 키(PK)는 로컬 키 서버(LKS1)(41) 내에 계속 저장되어 있어야 하고, 관련 파일이 모두 삭제될 때까지 유지되어야 한다.
로컬 키 서버(LKS1)(41)를 초기 설정하기 위해서는, 배포하기 전에 직접 액세스 승인 서버(AAS)(50)에 연결하고, 액세스 승인 서버(AAS)(50)의 로컬 키 서버(LKS1)(41) 초기 설정 과정을 실행한다. 액세스 승인 서버(AAS)(50)에는 이미, 로컬 키 서버(LKS1)(41)가 설치될 네트워크 비디오 레코더(NVR)(20) 사이트에 대해, 사이트 ID(NVR SID), 네트워크 비디오 레코더 ID(NVR ID), 비디오 반출 시스템 ID(VXS ID)를 포함한 여러 정보가 등록되어 있어야 한다. 액세스 승인 서버(AAS)(50)는, 로컬 키 서버(LKS1)(41)에 키 페어 생성 명령을 내리고, 로컬 키 서버(LKS1)(41)는 그에 따라 키 페어를 생성하고, 자신의 유니크 로컬 키 서버 ID(LKS ID), 공개키, 인증용 토큰을 리턴한다. 액세스 승인 서버(AAS)(50)는, 자신의 공개키와 인증용 토큰 및 네트워크 비디오 레코더(NVR)(20) 사이트 관련 정보를 연결된 로컬 키 서버(LKS1)(41)로 전송한다. 액세스 승인 서버(AAS)(50)는 또한, 첫 번째 플레이 키(PK)나 반출 키(XK)로 사용할 키와 키 ID(PKID, XPID)를 생성해서, 자기 DB에 기록하고, 로컬 키 서버(LKS1)(41)에 전송한다.
로컬 키 서버(LKS1)(41)는, 로컬 키 서버(LKS1)(41)에 대한 리플리케이션(replication, 복제) 기능을 제공해야 한다. 리플리케이션 작업은 액세스 승인 서버(AAS)(50)에 직접 연결된 상태에서 관리자에 의해 이루어져야 한다. 로컬 키 서버(LKS1)(41)는, 자신만의 키 페어(pair)와 로컬 키 서버 ID(LKS ID), 인증용 토큰을 생성하고, 나머지 모든 정보는, 복제하고자 하는 원 로컬 키 서버(LKS1)(41)의 것을 그대로 복사한다.
그리고 로컬 키 서버(LKS1)(41)는, 비디오 관리 에이전트(VMA)의 요청에 따라, 자신을 인증시키기 위한 신임장(credential)을 제공한다. 이는, 로컬 키 서버(LKS1)(41) 자신의 인증용 토큰에 대해 전자서명한 값이다.
<로컬 비디오 플레이어(LVP)에 의한 비디오 복호화>
로컬 비디오 플레이어(LVP)를 사용하기 위해, 인터넷에 연결된 네트워크 비디오 레코더(NVR)(20)의 경우는, 액세스 승인 서버(AAS)(50)로부터 사용자 인증을 받고, 인터넷에 연결이 안 된 네트워크 비디오 레코더(NVR)(20)의 경우에는, 로컬 키 서버(LKS1)(41)로부터 사용자 인증을 받는다. 로컬 비디오 플레이어(LVP)는, 파일 비디오나 라이브 비디오를 플레이할 수 있다.
저장돼 있는 파일 비디오를 플레이하기 위해, 네트워크 비디오 레코더(NVR)(20)는, 비디오 관리 에이전트(VMA)에게 복호화를 요청한다. 먼저, 그 파일의 끝에서 키 블럭을 읽어서, 비디오 관리 에이전트(VMA)에게 전달한다. 비디오 관리 에이전트(VMA)는, 보안 세션을 통해 로컬 키 서버(LKS1)(41)에게 키 블럭을 전송한다. 로컬 키 서버(LKS1)(41)는, 자신이 저장하고 있는 플레이 키(PK)를 이용하여, 로컬 키(LK1)를 구하고, 리플라이(reply)한다. 비디오 관리 에이전트(VMA)는, 이 로컬 키(LK1)를 이용하여, 네트워크 비디오 레코더(NVR)(20)가 요청한 비디오 데이터를 복호화한다.
카메라(CAM)(10)로부터 실시간 전송되는 라이브 비디오를 플레이하기 위해, 네트워크 비디오 레코더(NVR)(20)는, 수신된 패킷을 바로 복호화하도록 비디오 관리 에이전트(VMA)에게 요청한다. 비디오 관리 에이전트(VMA)는, 현재 복호화를 위해 어떤 키를 사용해야 하는지 알 수 있다. 예를 들어, 현재 키가 홀 키일 때, 요청받은 패킷이 짝으로 설정돼 있다면, 그 패킷은 올드 짝 키로 암호화돼 있는 것이다. 따라서, 비디오 관리 에이전트(VMA)는, 현재 키와 바로 이전 키, 그리고 다음 키를 모두 저장하고 있어야 한다.
<리모트 비디오 플레이어(RVP)의 비디오 복호화>
리모트 비디오 플레이어(RVP)(30)는, 네트워크 비디오 레코더(NVR)(20)에 저장된 파일 비디오나 실시간으로 전송되는 라이브 비디오를 외부 장치에서 플레이할 수 있는, CCTV 벤더의 프로그램이다. 이 프로그램은, 예컨대 PC(윈도우즈(Windows), 리눅스(Linux))나 스마트 폰(안드로이드(Android), iOS)에서 동작한다.
파일 비디오는, 스트림 형태로 전송될 수도 있다. 스트리밍에 의해 비디오 데이터를 전송하는 경우에는, 키 블럭을 먼저 전송하도록 한다.
플레이어는, 비디오 데이터를 처리하기 전에 비디오 복호화 에이전트(VDA)를 호출하여, 복호화 과정을 수행해야 한다. 비디오 복호화 에이전트(VDA)는, 예컨대 네트워크 비디오 레코더(NVR)(20)의 벤더가 제공하는 예컨대 NAL 유닛 액세스 SDK를 이용하여, 예컨대 H.264/H.265 NAL 유닛 시퀀스를 추출해서, 복호화한다.
네트워크 비디오 레코더(NVR)(20) 외부의 리모트 비디오 플레이어(RVP)(30)는, 인터넷을 통해 항상 액세스 승인 서버(AAS)(50)에 접근 가능해야 한다. 리모트 비디오 플레이어(RVP)(30)의 비디오 복호화 에이전트(VDA)(Video Decryption Agent)의 초기화 루틴은, 액세스 승인 서버(AAS)(50)와 보안 세션을 생성하고, 자신을 인증받아야 한다. 이를 위해, 설치 후 최초 접속 시에, MAC 주소 등의 자기 식별 정보를 등록해야 한다. 액세스 승인 서버(AAS)(50)는, 이 정보를 이용하여, 사용자 당 플레이 가능한 리모트 비디오 플레이어(RVP)(30) 디바이스의 허용 개수를 관리할 수도 있다. 사용자는, 리모트 비디오 플레이어(RVP)(30)를 사용하기 위해, 액세스 승인 서버(AAS)(50)로부터 사용자 인증을 받아야 한다.
파일 비디오를 복호화하기 위해, 비디오 복호화 에이전트(VDA)는, 액세스 승인 서버(AAS)(50)로 키 ID(PKID)를 전송한다. 액세스 승인 서버(AAS)(50)는, 해당되는 플레이 키(PK)를 찾아서 리플라이한다. 비디오 복호화 에이전트(VDA)는, 플레이 키(PK)를 이용하여, 키 블럭을 복호화하고, 비디오 데이터를 복호화할 로컬 키(LK1)를 구한다. 이 키를 이용하여, 현재 요청되는 스트림이나 파일 비디오 데이터에 대한 복호화를 수행한다.
라이브 비디오를 복호화하기 위해, 비디오 복호화 에이전트(VDA)는, 액세스 승인 서버(AAS)(50)로부터 액세스 승인 서버(AAS)(50)의 신임장을 받는다. 이 신임장은, 액세스 승인 서버(AAS)(50) 인증용 토큰에 대한 액세스 승인 서버(AAS)(50)의 전자서명 값이다. 네트워크 비디오 레코더(NVR)(20)의 비디오 관리 에이전트(VMA)의 URL을 이용하여, 보안 세션을 생성하고, 이 신임장과 함께 라이브 비디오 복호화용 키를 요청한다. 첫 번째 요청에 대해 비디오 관리 에이전트(VMA)는, 로컬 키 서버(LKS1)(41)에게 의뢰하여 신임장을 검증하고, 이전 키, 현재 키, 다음 키를 모두 전송한다. 비디오 복호화 에이전트(VDA)는, 복호화해야 하는 패킷의 키 설정이 변경될 때마다, 비디오 관리 에이전트(VMA)에게 새 키를 요청한다. 키 설정이 변경됐다는 것은, 비디오 관리 에이전트(VMA)가 새로운 키를 발급받아 가지고 있다는 것을 의미한다.
<액세스 승인 서버(AAS)를 통한 사용자 인증 방안>
네트워크 비디오 레코더(NVR)(20) 내부의 로컬 비디오 플레이어(LVP), 외부의 리모트 비디오 플레이어(RVP)(30), 및 비디오 반출 시스템(VXS)(60)은, 동작을 위해 각각 비디오 관리 에이전트(VMA), 비디오 복호화 에이전트(VDA), 및 비디오 반출 에이전트(VXA)를 통해, 액세스 승인 서버(AAS)(50)로부터 사용자 인증을 받아야 한다.
스마트 폰 앱에서 생성되는 OTP(One Time Password, 일회용 패스워드)를 이용해서, 기존의 ID/패스워드 이외에 추가적인 인증을 진행한다.
OTP 생성 앱에 있어서, 스마트 폰에 앱을 설치한 후, 접속할 액세스 승인 서버(AAS)(50)의 URL과 네트워크 비디오 레코더 사이트 ID(NVR SID)를 등록하면, 앱은 사용자 ID와 전화번호, IMSI 같은 식별 정보와 함께, 액세스 승인 서버(AAS)(50)에 앱 사용 승인 요청을 전송한다. 액세스 승인 서버(AAS)(50)의 관리자는, 예컨대 직접적인 확인 과정을 거쳐, 요청 폰을 수동으로 승인 처리한다. 액세스 승인 서버(AAS)(50)는, 앱 사용자가 새 OTP를 요청할 때마다, 난수를 생성해서 전송하고 기록한다. 새로운 OTP를 요청할 때마다, 그 이전 OTP는 바로 무효화된다. 그리고 1분 정도 사용을 하지 않아도 바로 무효화된다.
로컬 비디오 플레이어(LVP), 리모트 비디오 플레이어(RVP)(30), 및 비디오 반출 시스템(VXS)(60)은, 사용자 ID와 패스워드 이외에 OTP를 입력받아야 한다. 비디오 관리 에이전트(VMA), 비디오 복호화 에이전트(VDA), 및 비디오 반출 에이전트(VXA)는, 자신의 네트워크 비디오 레코더 사이트 ID(NVR SID)와 사용자 ID, OTP를 액세스 승인 서버(AAS)(50)에 전송한다. 액세스 승인 서버(AAS)(50)는, 사용자의 식별 정보와 저장돼 있는 난수를 해시하여 사용자 인증을 행한다.
사용자 인증은, 액세스 승인 서버(AAS)(50)와의 세션이 유지되는 동안 유효하다. 프로그램 인스턴스(instance)가 유지되는 동안은, 사용자 인증을 다시 진행할 필요가 없다.
<로컬 키 서버(LKS1, LKS2)를 통한 사용자 인증 방안>
네트워크 비디오 레코더(NVR)(20)의 로컬 비디오 플레이어(LVP)나 비디오 반출 시스템(VXS)(60)은, 인터넷 접속이 안 될 때, 로컬 키 서버(LKS1, LKS2)(41, 42)를 통해서 사용자 인증을 진행하는 것이 가능하다. 아이솔레이티드 모드로 동작하는 시스템 뿐만 아니라, 일시적 인터넷 접속 장애를 갖는 시스템에서도 이 형태의 사용자 인증이 가능하다.
이를 위해, 스마트 폰의 OTP 생성 앱을 로컬 모드로 실행해야 한다. 로컬 모드로 실행되는 앱은, 액세스 승인 서버(AAS)(50)와 시간 동기화가 돼 있어야 한다. OTP를 생성하기 위해, 환경 변수와 사용자 정보를 이용하여 예컨대 6자리 OTP를 생성한다. 로컬 비디오 플레이어(LVP)나 비디오 반출 시스템(VXS)(60)은, 로그인 창을 통해 ID/패스워드 및 OTP를 입력받아, 로컬 키 서버(LKS1, LKS2)(41, 42)에 전달한다. 로컬 키 서버(LKS1, LKS2)(41, 42)는, 사전에 액세스 승인 서버(AAS)(50)와 시간 동기화가 돼 있어야 한다. 로컬 키 서버(LKS1, LKS2)(41, 42)는, 환경 변수와 사용자 정보를 이용하여, OTP에 대한 검증을 진행한다.
<비디오 반출 시스템(VXS)>
비디오 데이터를 네트워크 비디오 레코더(NVR)(20) 사이트의 외부로 반출하기 위해, 가공을 하고 암호화를 수행하는 것이 반출 관리 시스템(XMS)이다. 비디오 반출 시스템(VXS)(60)은, 네트워크 비디오 레코더(NVR)(20)의 암호화된 파일이나 비암호화(plain) 파일을 모두, 입력으로 받을 수 있다. 비디오 반출 시스템(VXS)(60)은, 로컬 비디오 플레이어(LVP)와 동일한 방식으로, OTP를 이용하여 액세스 승인 서버(AAS)(50)나 로컬 키 서버(LKS2)(42)로부터 사용자 인증을 받는다. 비디오 반출 에이전트(VXA)는, 초기화 중에 로컬 키 서버(LKS2)(42)와 보안 세션을 생성하고, 인증을 받은 후, 로컬 키 서버(LKS2)(42)의 신임장을 받는다. 커넥티드 비디오 반출 시스템(VXS)(60)인 경우, 비디오 반출 에이전트(VXA)는, 액세스 승인 서버(AAS)(50)와 보안 세션을 생성하고, 로컬 키 서버(LKS2)(42)의 신임장을 보내, 자신을 인증받는다.
비디오 반출 시스템(VXS)(60)은, 반출할 각 파일에 대해, 예컨대 6자리의 비밀번호를 자동 할당하고 표시한다.
비디오 반출 시스템(VXS)(60)은, NAL 유닛을 추출하고, 암호화돼 있는 파일인 경우는, 비디오 복호화 에이전트(VDA)를 호출하여, 복호화를 진행한다. 비디오 복호화 에이전트(VDA)는, 리모트 비디오 플레이어(RVP)(30)와 동일한 방식으로, 액세스 승인 서버(AAS)(50)에서 플레이 키(PK)를 조회하여, 복호화를 수행한다. 결과적으로, 아이솔레이티드 비디오 반출 시스템(VXS)(60)에서는, 이 과정이 불가능하기 때문에, 비암호화 파일만 작업 가능하다. 그러나, 로컬 키 서버(LKS2)(42)를 네트워크 비디오 레코더(NVR)(20)에 연결해, 해당 플레이 키를 받아오는 기능을 구현하면, 아이솔레이티드 상태에서도 가능하다.
비디오 반출 시스템(VXS)(60)은, 예컨대 NAL 유닛 시퀀스를 디코딩(decoding)하고, 객체 기반의 마스킹(masking) 작업을 자동/수동으로 수행한다.
비디오 반출 시스템(VXS)(60)은, 마스킹 작업이 완료되면, 현재 진행 중인 반출 작업을 식별하기 위한 유니크 반출 ID(XID)를 생성해서, 로우(raw) 비디오 데이터에 워터마크(watermark)로 삽입한다. 워터마크 삽입 후에, 각 프레임은, 바로 인코딩(encoding)되고, 예컨대 NAL 유닛 시퀀스가 암호화를 위해 비디오 반출 에이전트(VXA)로 전달된다.
비디오 반출 에이전트(VXA)는, 로컬 키 서버(LKS2)(42)에서 로컬 키(LK2)를 발급받아, 암호화를 진행한다. 비디오 반출 에이전트(VXA)는, 새 파일에 대해 반출 작업이 시작될 때, 유니크 반출 ID와 사용 기간, 사용 회수, 사용 가능 디바이스 개수로 구성되는 사용조건을 입력받는다.
커넥티드인 경우, 비디오 반출 에이전트(VXA)는, 반출 ID(XID)와 사용조건을 액세스 승인 서버(AAS)(50)에 등록하고, 반출 키(XK)와 그에 대한 키 ID(XKID)를 발급받아, 로컬 키 서버(LKS2)(42)에 전달한다.
아이솔레이티드인 경우는, 로컬 키 서버(LKS2)(42)에 저장돼 있는 최근 반출 키(XK)가 사용되고, 반출 ID(XID)에 관한 정보는, 액세스 승인 서버(AAS)(50)에 등록 안 된다. 이 경우에, 하나의 반출 키(XK)가 여러 파일에 대해 사용될 수 있다. 이 경우에, 반출 사용조건에 대한 내용은, 액세스 승인 서버(AAS)(50)가 아닌 로컬 키 서버(LKS2)(42)로 전달돼서, 키 블럭에 포함된다. 로컬 키 서버(LKS2)(42)는, 플레이 키(PK)의 경우와 달리, 최근 등록된 반출 키(XK)와 키 ID(XKID)만을 저장하고 있다. 이 키(XK)는, 아이솔레이티드 상태의 비디오 반출 시스템(VXS)(60)에 의해서 사용된다. 비디오 반출 에이전트(VXA)는 또한, 초기에 비디오 반출 시스템(VXS)(60)으로부터 전달받은 예컨대 6자리 비밀번호와 반출 ID(XID)를 로컬 키 서버(LKS2)(42)에 전달한다.
로컬 키 서버(LKS2)(42)는, 네트워크 비디오 레코더 사이트 ID(NVR SID), 반출 ID(XID), 로컬 키(LK2), 사용자 정책, 액세스 승인 서버 URL(AAS URL)을 반출 키(XK)로 암호화한 키 블럭을 생성해서, 비디오 반출 에이전트(VXA)에 제공한다. 다만, 커넥티드인 경우에는, 사용자 정책이 키 블럭에 포함되지 않다.
비디오 반출 시스템(VXS)(60)은, 암호화된 데이터를 예컨대 mp4 형식으로 저장하고, 키 블럭을 자유 공간 박스에 삽입해 놓는다. 파일의 확장자는 예컨대 mp4x가 되도록 한다.
비디오 반출 시스템(VXS)(60)의 사용자는, 암호화된 파일과 함께 반출 비디오 플레이어(XVP)(70) 실행 파일을 제공한다. 이 프로그램은, 로컬 폴더에 있는 mp4x 파일만을 찾아서 플레이할 수 있다.
<반출 비디오 플레이어(XVP)의 사용 권한 제어 방안>
기본적으로, 반출되는 모든 파일은, 로컬 키 서버(LKS2)(42)에서 발급된 로컬 키(LK2)로 암호화되고, 그 키는 키 블럭에 포함된다. 커넥티드 비디오 반출 시스템(VXS)(60)에 의해 반출이 이루어진 경우에는, 그에 대한 반출 ID(XID), 키 ID(XKID)와 사용조건에 대한 레코드가 액세스 승인 서버(AAS)(50)의 DB에 생성돼 있다. 아이솔레이티드 비디오 반출 시스템(VXS)(60)에 의한 반출의 경우에는, 관련 레코드가 액세스 승인 서버(AAS)(50)의 DB에 생성돼 있지 않다. 실제 이 레코드가 액세스 승인 서버(AAS)(50)에 등록되는 시점은, 반출 ID(XID)와 키 ID(XKID)를 이용해 반출 키(XK)에 대한 요청이 처음 올 때이다. 이 경우의 사용조건에 관한 값은, 요청 메시지를 통해 전달되고, 처음 요청 시 레코드에 기록된다.
삭제
반출 비디오 플레이어(XVP)(70)는, 암호화 컨텐츠 파일을 플레이할 때 비밀번호를 입력받고, 키 블럭을 읽어서, 액세스 승인 서버(AAS)(50)에 반출 ID(XID)와 키 ID(XKID), 사용자 정책을 보내고 반출 키(XK)를 요청한다. 키 블럭에 사용조건이 포함돼 있으면, 그것도 요청 메시지에 포함시켜야 한다. 사용조건이 포함되는 경우는, 아이솔레이티드 비디오 반출 시스템(VXS)(60)을 통해 반출된 것으로, 액세스 승인 서버(AAS)(50)는, 관련 레코드를 생성한다. 액세스 승인 서버(AAS)(50)는, 키 ID(XKID)를 이용하여 반출 키(XK)를 찾고, 반출 ID(XID)를 이용하여 관련 반출 레코드를 찾아서, 사용조건을 검사하고, 반출 키(XK)를 리턴한다.
플레이어는, 세션을 통해 안전하게 받은 반출 키(XK)를 이용하여, 키 블럭에 저장된 비밀번호를 인증하고, 로컬 키(LK2)를 구해서 파일에 대한 복호화를 진행한다. 액세스 승인 서버(AAS)(50)는, 반출 생성시간 대비 현재 요청 시점까지의 경과 시간이 사용 기간을 초과한 경우에는, 레코드를 삭제하고 에러(error)를 리턴한다. 액세스 승인 서버(AAS)(50)는, 요청이 올 때마다 사용 가능 회수를 차감하고, 0이 되면 레코드를 만료(expired)로 표시한 후, 그 이후의 요청에 대해서는 에러를 리턴한다. 이 레코드는, 사용 기간이 만료된 후에 DB에서 삭제된다. 액세스 승인 서버(AAS)(50)는, 사용자 PC의 식별 정보를 기록해서, 사용 디바이스 개수를 넘지 않도록 제어한다. 액세스 승인 서버(AAS)(50)로부터 에러가 리턴되는 경우에, 플레이어는 비디오 파일을 삭제한다.
<액세스 승인 서버(AAS)(50)>
액세스 승인 서버(AAS)(50)의 주요 기능은 다음과 같다.
- 네트워크 비디오 레코더(NVR)(20) 사이트에 배포되는 로컬 키 서버(LKS1)(41)의 초기 등록 과정을 실행한다. 이때, 로컬 키 서버(LKS1)(41)의 백업 과정을 실행한다.
- 네트워크 비디오 레코더(NVR)(20)의 로컬 키 서버(LKS1)(41)의 요청에 따라, 플레이 키(PK)를 생성 발급하고, DB에 생성시간과 함께 기록한다.
- 네트워크 비디오 레코더 사이트 ID(NVR SID)를 생성하고 등록한다.
- 네트워크 비디오 레코더(NVR)(20) ID(NVR ID)와 비디오 반출 시스템 ID(VXS ID)를 생성하고 등록한다.
- 비디오 복호화 에이전트(VDA)를 인증하고 요청받은 플레이 키(PK)를 제공한다.
- OTP를 발급받을 스마트 폰의 등록을 처리한다.
- OTP 생성 앱의 요청에 따라 OTP를 발급한다.
- 비디오 반출 에이전트(VXA)의 요청에 따라, 반출 키(XK)를 생성 발급하고, DB에 생성시간과 함께 기록한다.
- 비디오 파일 반출을 위한 사용조건을 등록한다.
- 반출 비디오 플레이어(XVP)(70)를 인증하고, 요청에 대한 사용조건을 검사해서 반출 키(XK)를 제공한다.
- 자신의 키 페어를 저장하고, 전자서명을 수행하기 위한 로컬 키 서버(LKSa)(43)를 가진다.
액세스 승인 서버(AAS)(50)는 기본적으로, 네트워크 비디오 레코더(NVR)(20) 사이트에 한 대 설치되어 운영된다. 여러 대의 네트워크 비디오 레코더(NVR)(20)과 비디오 반출 시스템(VXS)(60)을 동시에 지원하는 것이 가능하다.
액세스 승인 서버(AAS)(50)는 클라우드 서비스로 운용될 수 있다. 클라우드로 운용되는 액세스 승인 서버(AAS)(50)를 액세스 승인 센터(AAC)라 하기로 한다. 액세스 승인 센터(AAC)에도 로컬 키 서버(LKSa)(43)가 연결되어, 액세스 승인 센터(AAC) 자신의 인증 정보를 저장하고, 네트워크 비디오 레코더(NVR)(20) 사이트에 배포되는 로컬 키 서버(LKS1)(41)의 초기 설정 과정을 진행한다.
<기능>
본 발명에 의하면, CCTV 시스템을 통해 유통되는 비디오 파일에 대해 엔드 투 엔드(end-to-end) 보호를 제공한다.
DRM 기술을 기반으로, 가볍지만 높은 수준의 보안 성능을 제공한다.
아이솔레이티드 네트워크 비디오 레코더(NVR)(20)에 보관되는 파일에 대해서도 암호화가 가능하고, 인터넷이 연결돼 있는 어떤 시스템에서도 이 파일에 대한 플레이가 가능하다.
기존 CCTV 시스템과의 정합 지점 수 및 정합 작업을 최소화해, 단기간 내에 시스템 배치(deployment)가 가능하다.
소규모부터 대규모까지, 복잡하고 다양한 CCTV 시스템 구성 및 동작 모델을 지원할 수 있다.
최적의 가격 대비 성능 비를 제공한다.
비디오 보호 시스템(VPS)과 비디오 반출 시스템(VXS)(60)의 분리 구축이 가능하다.
CAPEX 대신 OPEX 기반의 클라우드 서비스 이용이 가능하다.
일시적 인터넷 단절 상태에서도, 네트워크 비디오 레코더(NVR)(20)와 비디오 반출 시스템(VXS)(60)은, 정상 동작이 가능하다.
<네트워크 비디오 레코더(NVR)가 DB 형태로 비디오 데이터를 저장하는 경우>
이 경우에 대해 카메라(CAM)(10)와 네트워크 비디오 레코더(NVR)(20) 사이의 전송을 암호화하는 것을, 본 발명에서 관여할 수 있는데, 이 경우, 키가 변경되지 않는 구조를 상정한다.
스트림 프로그램이 DB에서 데이터를 읽어 외부의 리모트 비디오 플레이어(RVP)(30)로 전송하는 부분을 암호화하도록 한다. 로컬 키 서버(LKS1)(41)에서 로컬 키(LK1)를 발급받아 암호화 키로 사용한다. 사용 세션이 유지되는 동안에는, 키를 바꾸지 않는다. 리모트 비디오 플레이어(RVP)(30)는, 비디오 관리 에이전트(VMA)로부터 이 키를 조회한다.
파일 저장 프로그램이 DB 데이터를 파일로 저장하는 경우에, 암호화를 하도록 한다. 비디오 관리 에이전트(VMA)가, 로컬 키(LK1)를 발급받고, 암호화하는 기능을 수행하고, 키 블럭을 첨부한다.
실제 암호화가 이루어지는 시점과 위치만 다를 뿐, 액세스 승인 서버(AAS)(50)와 로컬 키 서버(LKS1)(41)의 기능은 그대로 유지된다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
본 발명은, 시스템 내의 비디오의 유출 및 오용을 방지하는 비디오 보호 시스템에 관련된 산업에 이용될 수 있다.
10: 카메라(CAM)
20: 네트워크 비디오 레코더(NVR)(Network Video Recorder)
30: 리모트 비디오 플레이어(RVP)(Remote Video Player)
40, 41, 42, 43: 로컬 키 서버(LKS)(Local Key Server)
50: 액세스 승인 서버(AAS)(Access Authrization Server)
60: 비디오 반출 시스템(VXS)(Video Export System)(60)
70: 반출 비디오 플레이어(XVP)(Export Video Player)
20: 네트워크 비디오 레코더(NVR)(Network Video Recorder)
30: 리모트 비디오 플레이어(RVP)(Remote Video Player)
40, 41, 42, 43: 로컬 키 서버(LKS)(Local Key Server)
50: 액세스 승인 서버(AAS)(Access Authrization Server)
60: 비디오 반출 시스템(VXS)(Video Export System)(60)
70: 반출 비디오 플레이어(XVP)(Export Video Player)
Claims (9)
- 촬상된 비디오 데이터가 암호화된 암호화 비디오 데이터를 출력하는 카메라(CAM), 상기 카메라(CAM)로부터 상기 암호화 비디오 데이터를 받아 저장하는 네트워크 비디오 레코더(NVR), 및 상기 네트워크 비디오 레코더(NVR)로부터 키 블럭(key block)이 추가된 상기 암호화 비디오 데이터를 받아 플레이하는 리모트 비디오 플레이어(RVP)가 포함되어 이루어지는 비디오 보호 시스템에 있어서,
상기 네트워크 비디오 레코더(NVR)에 착탈 가능하게 접속되어, 상기 비디오 데이터의 암호화에 이용되는 제1 로컬 키(LK1)를 제공하는 제1 로컬 키 서버(LKS1)와,
상기 네트워크 비디오 레코더(NVR) 및 상기 리모트 비디오 플레이어(RVP)에 네트워크를 통해 연결되어, 인증 및 키 전달 기능을 수행하는 액세스 승인 서버(AAS)
가 더 포함되고,
상기 카메라(CAM)에는, 상기 암호화 비디오 데이터를 생성하는 비디오 암호화 에이전트(VEA)가 구비되고,
상기 네트워크 비디오 레코더(NVR)에는, 상기 암호화 비디오 데이터를 관리하는 비디오 관리 에이전트(VMA)가 구비되며,
상기 리모트 비디오 플레이어(RVP)에는, 상기 키 블럭이 추가된 상기 암호화 비디오 데이터를 복호화하는 비디오 복호화 에이전트(VDA)가 구비되고,
상기 키 블럭의 생성 전에,
상기 비디오 관리 에이전트(VMA)는, 상기 액세스 승인 서버(AAS)에 플레이 키(PK)를 요청하고,
상기 액세스 승인 서버(AAS)는, 신규 생성된 상기 플레이 키(PK)와 함께 플레이 키 ID(PKID)를 상기 비디오 관리 에이전트(VMA)에 전송하고,
상기 비디오 관리 에이전트(VMA)는, 상기 플레이 키(PK)와 플레이 키 ID(PKID)를 상기 제1 로컬 키 서버(LKS1)에 전송하고
상기 키 블럭의 생성 시에,
상기 비디오 관리 에이전트(VMA)는, 상기 암호화에 사용된 상기 제1 로컬 키(LK1)에 대해 상기 키 블럭을 상기 제1 로컬 키 서버(LKS1)에 요청하고,
상기 제1 로컬 키 서버(LKS1)는, 저장된 플레이 키(PK)로 상기 제1 로컬 키(LK1)를 암호화한 것과, 상기 플레이 키(PK)에 해당되는 플레이 키 ID(PKID)가 적어도 포함되도록 상기 키 블럭을 생성하며,
상기 암호화 비디오 데이터의 복호화 시에,
상기 비디오 복호화 에이전트(VDA)는, 상기 키 블럭의 상기 플레이 키 ID(PKID)를 이용해 상기 액세스 승인 서버(AAS)로부터 얻은 상기 플레이 키(PK)로 복호화한 상기 제1 로컬 키(LK1)로 상기 암호화 비디오 데이터를 복호화함
을 특징으로 하는 비디오 보호 시스템. - 청구항 1에 있어서,
상기 액세스 승인 서버(AAS)에 착탈 가능하게 접속되어, 상기 플레이 키(PK)를 생성하여 제공하는 상위 로컬 키 서버(LKSa)가 더 포함되어 이루어지고,
상기 플레이 키(PK)의 생성 시에,
상기 액세스 승인 서버(AAS)는, 상기 플레이 키 ID(PKID)를 정하고 상기 상위 로컬 키 서버(LKSa)에 상기 플레이 키(PK)의 생성을 요청하고,
상기 상위 로컬 키 서버(LKSa)는, 상기 요청에 따라 비로소 상기 플레이 키(PK)를 신규 생성하여 상기 액세스 승인 서버(AAS)에 전송함
을 특징으로 하는 비디오 보호 시스템. - 청구항 1에 있어서,
상기 제1 로컬 키 서버(LKS1)가 응답하지 않는 경우,
상기 비디오 관리 에이전트(VMA)는, 상기 액세스 승인 서버(AAS)에 상기 제1 로컬 키(LK1)를 요청함
을 특징으로 하는 비디오 보호 시스템. - 청구항 1에 있어서,
상기 제1 로컬 키 서버(LKS1)가 응답하지 않는 경우,
상기 비디오 관리 에이전트(VMA)는, 상기 액세스 승인 서버(AAS)에 상기 키 블럭을 요청함
을 특징으로 하는 비디오 보호 시스템. - 청구항 1에 있어서,
상기 제1 로컬 키 서버(LKS1)는, 상기 비디오 관리 에이전트(VMA)를 통해 주기적으로 상기 액세스 승인 서버(AAS)에 접속하고, 상기 플레이 키(PK)를 업데이트함
을 특징으로 하는 비디오 보호 시스템. - 청구항 1에 있어서,
상기 네트워크 비디오 레코더(NVR)로부터 상기 암호화 비디오 데이터를 받아 플레이하는 로컬 비디오 플레이어(LVP)가 더 구비되고,
상기 로컬 비디오 플레이어(LVP)에는, 상기 상기 암호화 비디오 데이터를 복호화하는 비디오 복호화 에이전트(VDA)가 구비되며,
상기 로컬 비디오 플레이어(LVP)는, 상기 비디오 관리 에이전트(VMA)를 통하여 상기 액세스 승인 서버(AAS)에서 사용자 인증을 받음
을 특징으로 하는 비디오 보호 시스템. - 촬상된 비디오 데이터가 제1 로컬 키(LK1)로 암호화된 암호화 비디오 데이터에, 플레이 키(PK)로 상기 제1 로컬 키(LK1)를 암호화한 것과 플레이 키 ID(PKID)를 적어도 포함하는 키 블럭(key block)을 추가하여 출력하는 네트워크 비디오 레코더(NVR), 상기 네트워크 비디오 레코더(NVR)로부터 상기 키 블럭이 추가된 상기 암호화 비디오 데이터를 받아 반출용 키블럭이 추가된 반출용 암호화 비디오 데이터로 변환하여 반출하는 비디오 반출 시스템(VXS), 및 상기 비디오 반출 시스템(VXS)으로부터 상기 반출용 키블럭이 추가된 상기 반출용 암호화 비디오 데이터를 받아 플레이하는 반출 비디오 플레이어(XVP)가 포함되어 이루어지는 비디오 보호 시스템에 있어서,
상기 비디오 반출 시스템(VXS)에 착탈 가능하게 접속되어, 상기 비디오 데이터의 반출용 암호화에 이용되는 제2 로컬 키(LK2)를 제공하는 제2 로컬 키 서버(LKS2)와,
상기 비디오 반출 시스템(VXS) 및 상기 반출 비디오 플레이어(XVP)에 네트워크를 통해 연결되어, 인증 및 키 전달 기능을 수행하는 액세스 승인 서버(AAS)
가 더 포함되고,
상기 네트워크 비디오 레코더(NVR)에는, 상기 키 블럭이 추가된 상기 암호화 비디오 데이터를 생성하는 비디오 관리 에이전트(VMA)가 구비되고,
상기 비디오 반출 시스템(VXS)에는, 상기 키 블럭이 추가된 상기 암호화 비디오 데이터를 복호화하는 비디오 복호화 에이전트(VDA)와, 복호화된 비디오 데이터에 반출준비 처리를 하고, 상기 반출용 키 블럭이 추가된 상기 반출용 암호화 비디오 데이터를 생성하는 비디오 반출 에이전트(VXA)가 구비되며,
상기 반출 비디오 플레이어(XVP)에는, 상기 반출용 키 블럭이 추가된 상기 반출용 암호화 비디오 데이터를 복호화하는 비디오 복호화 에이전트(VDA)가 구비되고,
상기 암호화 비디오 데이터의 복호화를 위해, 상기 비디오 반출 시스템(VXS)의 상기 비디오 복호화 에이전트(VDA)는, 상기 키 블럭의 상기 플레이 키 ID(PKID)를 이용해 상기 액세스 승인 서버(AAS)로부터 얻은 상기 플레이 키(PK)로 복호화한 상기 제1 로컬 키(LK1)로 상기 암호화 비디오 데이터를 복호화하고,
상기 복호화된 비디오 데이터의 상기 반출준비 처리를 위해, 상기 비디오 반출 에이전트(VXA)는, 상기 비디오 데이터에 마스킹, 반출 ID(XID) 워터마킹, DRM 정보, 사용조건 추가처리 중 적어도 하나를 행하고, 상기 액세스 승인 서버(AAS)에 상기 반출 ID(XID) 및 사용조건을 적어도 등록하고,
상기 반출준비 처리된 비디오 데이터의 암호화를 위해, 상기 비디오 반출 에이전트(VXA)는, 상기 제2 로컬 키 서버(LKS2)로부터 상기 제2 로컬 키(LK2)를 받아 상기 반출준비 처리된 비디오 데이터를 암호화하고,
상기 반출용 키 블럭의 생성 전에, 상기 비디오 반출 에이전트(VXA)는, 상기 액세스 승인 서버(AAS)로부터 신규 생성된 반출 키(XK)와 반출 키 ID(XKID)를 받아 상기 제2 로컬 키 서버(LKS2)에 전달하고,
상기 반출용 키 블럭의 생성 시에, 상기 비디오 반출 에이전트(VXA)는, 상기 반출용 암호화에 사용된 상기 제2 로컬 키(LK2)에 대해 상기 반출용 키 블럭을 상기 제2 로컬 키 서버(LKS2)에 요청하고, 상기 제2 로컬 키 서버(LKS2)는, 저장된 반출 키(XK)로 상기 제2 로컬 키(LK2)를 암호화한 것과, 상기 반출 키(XK)에 해당되는 반출 키 ID(XKID)가 적어도 포함되도록 상기 반출용 키 블럭을 생성하며,
상기 반출용 암호화 비디오 데이터의 복호화 시에, 반출 비디오 플레이어(XVP)의 상기 비디오 복호화 에이전트(VDA)는, 상기 반출용 키 블럭의 상기 반출 키 ID(XKID)를 이용해 상기 액세스 승인 서버(AAS)로부터 얻은 상기 반출 키(XK)로 복호화한 상기 제2 로컬 키(LK2)로 상기 반출용 암호화 비디오 데이터를 복호화함
을 특징으로 하는 비디오 보호 시스템. - 청구항 7에 있어서,
상기 제2 로컬 키(LK2)의 생성 시에 있어서,
상기 비디오 반출 에이전트(VXA)는, 상기 제2 로컬 키 서버(LKS2)에 상기 제2 로컬 키(LK2)의 생성을 요청하고,
상기 제2 로컬 키 서버(LKS2)는, 상기 요청에 따라 비로소 상기 제2 로컬 키(LK2)를 신규 생성하고 상기 비디오 반출 에이전트(VXA)에 전송함
을 특징으로 하는 비디오 보호 시스템. - 청구항 7에 있어서,
상기 액세스 승인 서버(AAS)에 착탈 가능하게 접속되어, 상기 제2 로컬 키(LK2)의 암호화에 이용되는 반출 키(XK)를 제공하는 상위 로컬 키 서버(LKSa)가 더 구비되고,
상기 반출 키(XK)의 생성 시에 있어서,
상기 비디오 반출 에이전트(VXA)는, 상기 액세스 승인 서버(AAS)에 상기 반출 키(XK)의 생성을 요청하고,
상기 액세스 승인 서버(AAS)는, 상기 상위 로컬 키 서버(LKSa)에 상기 반출 키(XK)의 생성을 요청하고,
상기 상위 로컬 키 서버(LKSa)는, 상기 요청에 따라 비로소 상기 반출 키(XK)를 신규 생성하고 상기 액세스 승인 서버(AAS)에 전송하고,
상기 액세스 승인 서버(AAS)는, 상기 반출 키(XK)를 상기 비디오 반출 에이전트(VXA)에 전송함
을 특징으로 하는 비디오 보호 시스템.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170065028A KR101810904B1 (ko) | 2017-05-26 | 2017-05-26 | 비디오 보호 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170065028A KR101810904B1 (ko) | 2017-05-26 | 2017-05-26 | 비디오 보호 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101810904B1 true KR101810904B1 (ko) | 2017-12-26 |
Family
ID=60936747
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170065028A KR101810904B1 (ko) | 2017-05-26 | 2017-05-26 | 비디오 보호 시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101810904B1 (ko) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114640878A (zh) * | 2020-12-15 | 2022-06-17 | 中国联合网络通信集团有限公司 | 视频获取方法、标识服务器及地址服务器 |
KR102506816B1 (ko) * | 2021-11-11 | 2023-03-07 | 주식회사 아이디스 | 재생 승인자의 승인에 기반한 영상 재생 시스템 |
KR102577403B1 (ko) * | 2023-05-03 | 2023-09-13 | 주식회사 포딕스시스템 | 데이터 암호화를 통한 유출 방지 및 분산 저장 cctv 시스템 |
CN118055270A (zh) * | 2024-04-16 | 2024-05-17 | 腾讯科技(深圳)有限公司 | 视频处理方法、系统、装置、电子设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101738334B1 (ko) * | 2016-10-12 | 2017-05-22 | 주식회사에스에이티 | 클라우드 컴퓨팅 환경을 이용한 cctv 보안 감시 장치 및 그 방법 |
-
2017
- 2017-05-26 KR KR1020170065028A patent/KR101810904B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101738334B1 (ko) * | 2016-10-12 | 2017-05-22 | 주식회사에스에이티 | 클라우드 컴퓨팅 환경을 이용한 cctv 보안 감시 장치 및 그 방법 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114640878A (zh) * | 2020-12-15 | 2022-06-17 | 中国联合网络通信集团有限公司 | 视频获取方法、标识服务器及地址服务器 |
CN114640878B (zh) * | 2020-12-15 | 2023-05-16 | 中国联合网络通信集团有限公司 | 视频获取方法、标识服务器及地址服务器 |
KR102506816B1 (ko) * | 2021-11-11 | 2023-03-07 | 주식회사 아이디스 | 재생 승인자의 승인에 기반한 영상 재생 시스템 |
EP4179953A1 (en) * | 2021-11-11 | 2023-05-17 | Idis Co., Ltd. | Video playback system based on approval of playback approver |
US11825166B2 (en) | 2021-11-11 | 2023-11-21 | Idis Co., Ltd. | Video playback system based on approval of playback approver |
KR102577403B1 (ko) * | 2023-05-03 | 2023-09-13 | 주식회사 포딕스시스템 | 데이터 암호화를 통한 유출 방지 및 분산 저장 cctv 시스템 |
CN118055270A (zh) * | 2024-04-16 | 2024-05-17 | 腾讯科技(深圳)有限公司 | 视频处理方法、系统、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5200204B2 (ja) | 高信頼性システムを含む連合型デジタル権限管理機構 | |
US8800059B2 (en) | System and method for processing and protecting content | |
KR101837188B1 (ko) | 비디오 보호 시스템 | |
US10055553B2 (en) | PC secure video path | |
KR100936885B1 (ko) | 다운로드 가능한 제한수신시스템에서의 상호 인증 방법 및그 장치 | |
US7937750B2 (en) | DRM system for devices communicating with a portable device | |
US20100017599A1 (en) | Secure digital content management using mutating identifiers | |
CA2939396A1 (en) | System and method for securing content keys delivered in manifest files | |
KR101452708B1 (ko) | Ce 장치 관리 서버, ce 장치 관리 서버를 이용한drm 키 발급 방법, 및 그 방법을 실행하기 위한프로그램 기록매체 | |
JP2006115329A (ja) | データ転送システム及びデータ転送方法 | |
KR20070009983A (ko) | 콘텐츠로의 액세스를 인증하는 방법 | |
CN101605137A (zh) | 安全分布式文件系统 | |
JP2004362547A (ja) | スマートカードを用いた装置認証によりホームドメインを構成する方法、及びホームドメインを構成するためのスマートカード | |
KR20080103599A (ko) | 디지털 저작권 보호를 위한 방법, 시스템, 사용자 장치 및 멀티미디어 서버 | |
KR101810904B1 (ko) | 비디오 보호 시스템 | |
US8995821B2 (en) | System and method for transferring digital content | |
JP4113462B2 (ja) | コンテンツ通信履歴解析システム及びデータ通信制御装置 | |
KR100947326B1 (ko) | Dcas 호스트 장치 및 이의 보안 강화 방법 | |
KR20090022493A (ko) | 디바이스 인증 방법, 장치 및 그 방법을 실행하는프로그램이 기록된 기록매체 | |
US11977644B2 (en) | Systems and methods for remote ownership and content control of media files on untrusted systems | |
CN100468436C (zh) | 一种内容保护的方法和系统 | |
KR100947313B1 (ko) | Dcas 기반 인증 방법 및 장치 | |
EP1780622A1 (en) | An authentication token which implements DRM functionally with a double key arrangement | |
JP2007043475A (ja) | 情報通信システム、情報通信装置及び情報通信方法、並びにコンピュータ・プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |