KR20220062866A - 네트워크 카메라 및 그의 보안 서비스 제공 방법 - Google Patents

네트워크 카메라 및 그의 보안 서비스 제공 방법 Download PDF

Info

Publication number
KR20220062866A
KR20220062866A KR1020200148549A KR20200148549A KR20220062866A KR 20220062866 A KR20220062866 A KR 20220062866A KR 1020200148549 A KR1020200148549 A KR 1020200148549A KR 20200148549 A KR20200148549 A KR 20200148549A KR 20220062866 A KR20220062866 A KR 20220062866A
Authority
KR
South Korea
Prior art keywords
data
memory
secret key
shared space
tpm
Prior art date
Application number
KR1020200148549A
Other languages
English (en)
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 KR1020200148549A priority Critical patent/KR20220062866A/ko
Publication of KR20220062866A publication Critical patent/KR20220062866A/ko

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/77Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/907Television signal recording using static stores, e.g. storage tubes or semiconductor memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명의 실시예들은 강화된 보안 서비스를 제공할 수 있는 네트워크 카메라 시스템을 제공한다.

Description

네트워크 카메라 및 그의 보안 서비스 제공 방법{Network camera and method for providing security service thereof}
본 발명의 실시예는 TEE 기반의 TPM이 탑재된 네트워크 카메라 및 그의 보안 서비스 제공 방법에 관한 것이다.
최근 들어, 컴퓨터 시스템을 포함한 각종 단말기 등에 대한 보안 위협이 급증하면서, 그 해결 방안을 다양한 각도에서 검색 및 개발하고 있다.
본 발명의 실시예들은 강화된 보안 서비스를 제공할 수 있는 네트워크 카메라 시스템 및 그의 보안 서비스 제공 방법을 제공하는 것이다.
본 발명의 일 실시예에 따른 TPM(Trusted Platform Module)이 탑재된 네트워크 카메라에 있어서, 상기 TPM은, 범용 운영체제가 실행되는 제1운영환경과 보안 운영체제가 실행되는 제2운영환경을 갖는 프로세서; 상기 제1운영환경에서 동작하는 클라이언트 애플리케이션; 상기 제2운영환경에서 동작하는 신뢰 애플리케이션; 상기 클라이언트 애플리케이션에 의해 호출되고, 상기 제1운영환경으로 입력되는 데이터를 상기 신뢰 애플리케이션에 전달하는 클라이언트 인터페이스; 상기 신뢰 애플리케이션에 의해 호출되는 신뢰 인터페이스; 및 보안 영역과, 상기 클라이언트 애플리케이션과 상기 신뢰 애플리케이션 간의 데이터 송수신을 위한 공유공간을 포함하는 비보안 영역으로 구성된 메모리;를 포함한다. 상기 메모리의 보안 영역은, 암호화와 복호화를 위한 복수의 키들이 저장된 제1메모리와, 상기 신뢰 애플리케이션에 의해 상기 보안 영역에서 처리된 결과 데이터가 저장된 제2메모리를 포함한다.
상기 네트워크 카메라에 의한 암호화 서비스 제공 방법은, 상기 클라이언트 애플리케이션이 상기 제1운영환경으로 입력되는 제1데이터의 쓰기 명령에 응답하여, 상기 클라이언트 인터페이스를 통해 상기 제1데이터를 상기 공유공간으로 입력하는 단계; 및 상기 신뢰 애플리케이션이 상기 제1메모리에 저장된 비밀키와 상기 공유공간의 제1데이터를 입력받고, 상기 신뢰 인터페이스를 통해 상기 제1데이터를 상기 비밀키로 암호화한 암호화 데이터를 상기 제2메모리에 저장하는 단계;를 포함할 수 있다.
상기 네트워크 카메라에 의한 복호화 서비스 제공 방법은, 상기 클라이언트 애플리케이션이 상기 제1운영환경으로 입력되는 데이터 읽기 명령에 응답하여, 상기 클라이언트 인터페이스를 통해 상기 읽기 명령에서 요청하는 데이터가 저장된 상기 제2메모리의 슬롯 번호를 상기 공유공간으로 입력하는 단계; 및 상기 신뢰 애플리케이션이 상기 제1메모리에 저장된 비밀키와 상기 제2메모리의 상기 슬롯 번호에 대응한 슬롯에 저장된 암호화 데이터를 입력받고, 상기 신뢰 인터페이스를 통해 상기 암호화 데이터를 상기 비밀키로 복호화한 복호화 데이터를 상기 공유공간으로 입력하는 단계;를 포함할 수 있다.
상기 네트워크 카메라에 의한 검증 서비스 제공 방법은, 상기 클라이언트 애플리케이션이 상기 제1운영환경으로 입력되는 제2데이터의 검증 명령에 응답하여, 상기 클라이언트 인터페이스를 통해 상기 제2데이터를 해시한 해시 데이터를 상기 공유공간으로 입력하는 단계; 상기 신뢰 애플리케이션이 상기 제1메모리에 저장된 공개키와 상기 공유공간의 해시 데이터를 입력받고, 상기 신뢰 인터페이스를 통해 상기 해시 데이터를 상기 공개키로 암호화한 암호화 해시 데이터를 상기 공유공간으로 입력하는 단계; 및 상기 클라이언트 애플리케이션이 상기 제2데이터에 첨부된 서명과 상기 암호화 해시 데이터를 비교하여 상기 제2데이터를 검증하는 단계;를 포함할 수 있다.
상기 네트워크 카메라에 의한 복구 서비스 제공 방법은, 상기 클라이언트 애플리케이션이 상기 제1운영환경으로 입력되는 복구데이터에 의한 상기 제2메모리의 초기화 명령에 응답하여, 상기 클라이언트 인터페이스를 통해 상기 복구데이터를 상기 공유공간으로 입력하는 단계; 상기 신뢰 애플리케이션이 상기 제1메모리에 저장된 제1비밀키와 상기 공유공간의 복구데이터를 입력받고, 상기 신뢰 인터페이스를 통해 상기 복구데이터를 상기 제1비밀키로 복호화한 제3데이터를 생성하는 단계; 상기 신뢰 애플리케이션이 상기 제1메모리에 저장된 제2비밀키를 입력받고, 상기 신뢰 인터페이스를 통해 상기 제3데이터를 상기 제2비밀키로 암호화한 암호화 데이터를 상기 제2메모리에 저장하는 단계;를 포함할 수 있다.
상기 제1비밀키는 복수의 카메라들에 동일한 고유키이고, 상기 제2비밀키는 상기 복수의 카메라들 각각에 상이한 랜덤키일 수 있다.
본 발명의 실시예들은 메모리의 보안 영역에 신뢰환경에서 데이터 처리된 결과를 저장할 뿐만 아니라, 신뢰환경에서 데이터 처리를 위해 필요한 키 값들을 메모리의 보안 영역에 저장함으로써 강화된 보안 서비스를 제공할 수 있다.
도 1은 일 실시예에 따른 네트워크 카메라 시스템을 나타내는 개략도이다.
도 2는 일 실시예에 따른 카메라에 탑재된 신뢰 플랫폼 모듈을 개략적으로 나타낸 도면이다.
도 3 및 도 4는 일 실시예에 따른 TPM에 의해 쓰기 또는 암호화 서비스를 제공하는 방법을 설명하는 도면들이다.
도 5 및 도 6은 일 실시예에 TPM에 의해 따른 읽기 또는 복호화 서비스를 제공하는 방법을 설명하는 도면들이다.
도 7 및 도 8은 일 실시예에 따른 TPM에 의해 데이터 업데이트를 위한 검증 서비스를 제공하는 방법을 설명하는 도면들이다.
도 9 및 도 10은 일 실시예에 따른 TPM에 의해 데이터 복구 서비스를 제공하는 방법을 설명하는 도면들이다.
이하의 내용은 단지 본 발명의 원리를 예시한다. 그러므로 당업자는 비록 본 명세서에 명확히 설명되거나 도시되지 않았지만 본 발명의 원리를 구현하고 본 발명의 개념과 범위에 포함된 다양한 장치를 발명할 수 있는 것이다. 또한, 본 명세서에 열거된 모든 조건부 용어 및 실시예들은 원칙적으로, 본 발명의 개념이 이해되도록 하기 위한 목적으로만 명백히 의도되고, 이와 같이 특별히 열거된 실시예들 및 상태들에 제한적이지 않는 것으로 이해되어야 한다. 또한, 본 발명의 원리, 관점 및 실시예들 뿐만 아니라 특정 실시예를 열거하는 모든 상세한 설명은 이러한 사항의 구조적 및 기능적 균등물을 포함하도록 의도되는 것으로 이해되어야 한다. 또한, 이러한 균등물들은 현재 공지된 균등물뿐만 아니라 장래에 개발될 균등물 즉 구조와 무관하게 동일한 기능을 수행하도록 발명된 모든 소자를 포함하는 것으로 이해되어야 한다.
따라서, 프로세서 또는 이와 유사한 개념으로 표시된 기능 블록을 포함하는 도면에 도시된 다양한 소자의 기능은 전용 하드웨어뿐만 아니라 적절한 소프트웨어와 관련하여 소프트웨어를 실행할 능력을 가진 하드웨어의 사용으로 제공될 수 있다. 프로세서에 의해 제공될 때, 기능은 단일 전용 프로세서, 단일 공유 프로세서 또는 복수의 개별적 프로세서에 의해 제공될 수 있고, 이들 중 일부는 공유될 수 있다. 또한, 프로세서, 제어 또는 이와 유사한 개념으로 제시되는 용어의 사용은 소프트웨어를 실행할 능력을 가진 하드웨어를 배타적으로 인용하여 해석되어서는 아니 되고, 제한 없이 디지털 신호 프로세서(DSP) 하드웨어, 소프트웨어를 저장하기 위한 롬(ROM), 램(RAM) 및 비휘발성 메모리를 암시적으로 포함하는 것으로 이해되어야 한다. 주지 관용의 다른 하드웨어도 포함될 수 있다.
상술한 목적, 특징 및 장점들은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 더욱 분명해 질 것이다. 본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략하거나 간략하게 설명하는 것으로 한다.
한편, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하, 첨부된 도면을 참조하여 바람직한 실시예에 따른 본 발명을 상세히 설명하기로 한다.
도 1은 일 실시예에 따른 네트워크 카메라 시스템을 나타내는 개략도이다.
도 1을 참조하면, 일 실시예에 따른 네트워크 카메라 시스템은 적어도 하나의 카메라(100)(카메라1 내지 카메라n), 및 적어도 하나의 사용자 단말(사용자 단말1 내지 사용자 단말m)(300)을 포함할 수 있다.
카메라(100)(카메라 장치)는 소정 영역에 설치되고, 통신수단과 정보처리수단을 구비하고, 설정된 영역을 촬영한 영상을 획득할 수 있다. 카메라(100)는 서버 일체형 네트워크 카메라일 수 있다. 카메라(100)는 사용자 단말(300)과 데이터를 송수신하고, 접속된 사용자 단말(300)로 보안 서비스를 제공할 수 있다. 여기서, 카메라(100)가 제공하는 보안 서비스는 사용자 인증, 인증서 인증, 펌웨어/애플리케이션 검증, 데이터 복구 등을 포함할 수 있다.
카메라(100)는 신뢰 플랫폼 모듈(Trusted Platform Modue, TPM)을 탑재하고, 신뢰 플랫폼 모듈은 신뢰실행환경(Trusted Execution Environmnet, TEE) 기술을 기반으로 사용자 단말(300)에 보안 서비스 제공을 위해 요구되는 데이터의 저장/판독/인증/초기화/복구 기능을 수행할 수 있다.
본 발명의 실시예에 따른 신뢰 플랫폼 모듈(TPM)은 REE(Rich Execution Environment) 및 TEE(Trusted Execution Environment) 기반에서 동작하는 비보안/보안 애플리케이션, 비보안/보안 운영체제, 비보안/보안 메모리 구성될 수 있다. 본 발명의 실시예에 따른 신뢰 플랫폼 모듈(TPM)은 구성요소들의 일부가 별개의 칩으로 구현될 수도 있고, 또는 SoC(System on Chip)로 구현될 수도 있다. 본 발명의 실시예는 프로세서, 주변장치 및 저장장치를 대상으로 보안 서비스를 제공할 수 있다.
사용자 단말(300)은 데스크탑 PC(desktop PC), 태블릿 PC(tablet PC), 슬레이트 PC(slate PC), 노트북 컴퓨터(notebook computer), 스마트폰과 같은 휴대용 단말기 등을 포함할 수 있다.
카메라(100) 및 사용자 단말(300)은 통신 네트워크를 통해 연결될 수 있다. 통신 네트워크는 유선 네트워크 및 3G, 4G(LTE), 5G, 와이파이(WiFi), 와이브로(Wibro), 와이맥스(Wimax) 등과 같은 무선 인터넷 및 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(IrDA, infrared Data Association), UWB(Ultra Wideband), 지그비(ZigBee), NFC(Near Field Communication) 등의 근거리 통신을 포함하는 무선 네트워크를 포함할 수 있다. 무선 이동 통신의 경우, 네트워크는 기지국(BTS), 이동교환국(MSC), 홈 위치 등록기(HLR), 무선 패킷 데이터의 송수신을 가능하게 하는 액세스 게이트웨이(Access Gateway), PDSN(Packet Data Serving Node) 등과 같은 구성 요소를 추가로 포함할 수 있다.
도 2는 일 실시예에 따른 카메라에 탑재된 신뢰 플랫폼 모듈을 개략적으로 나타낸 도면이다.
도 2를 참조하면, 일 실시예에 따른 신뢰 플랫폼 모듈(TPM)은 메모리(210) 및 CPU(230)를 포함할 수 있다. 신뢰 플랫폼 모듈(TPM)은 보안 영역과 비보안 영역의 분리를 지원하는 하드웨어와 이를 이용하여 보안 서비스를 제공하는 소프트웨어로 구성될 수 있다.
메모리(210)는 휘발성 메모리와 비휘발성 메모리로 구성될 수 있다. 휘발성 메모리는 저장된 정보를 유지하기 위해 전기를 요구하는 컴퓨터 메모리로서, 동적 램(DRAM), 정적 램(SRAM)을 포함한 랜덤 액세스 메모리(RAM)로 구현될 수 있고, 비휘발성 메모리는 시스템에서 전원이 공급되지 않아도 내부 정보가 지워지지 않는 메모리로서, 플래시 메모리, 롬, 마그네틱 컴퓨터 기억장치 등으로 구현될 수 있다.
메모리(210)는 공유공간(213)을 포함하는 비보안영역(212)과 보안영역(216)으로 구성될 수 있다. 비보안영역(212)은 제1운영체제(258)에 의해 관리될 수 있고, 보안영역(216)은 제2운영체제(276)에 의해 관리될 수 있다.
비보안영역(212) 내 공유공간(213)은 TPM_CA(234)와 TPM_TA(272)가 공유하는 공유 메모리로서, TPM_CA(234)가 TPM_TA(272)로 서비스를 요청할 때 수반되는 데이터 송수신을 위해 사용될 수 있다. 이하 공유공간(213)은 공유 메모리로도 칭할 수 있다.
보안영역(216)은 보안 데이터를 저장하고, 암호화와 복호화를 위한 복수의 키들이 저장되는 제1메모리(217)와 제2운영환경(270)에서 처리된 결과 데이터가 저장되는 제2메모리(218)를 포함할 수 있다. 제1메모리(217)는 OTP(One time Programmable) 메모리로 구현될 수 있다. 제2메모리(218)는 EEPROM으로 구현될 수 있다. 일 실시예에서, 제1메모리(217)와 제2메모리(218)는 각각 별개의 칩으로 구현될 수 있다.
제1메모리(217)에 저장되는 보안데이터는 암호화와 복호화를 위한 복수의 키들일 수 있다. 예를 들어, 제1메모리(217)에 저장되는 보안데이터는 비밀키(private key) 및 공개키(public key)를 포함할 수 있다. 비밀키(private key)는, 카메라들 각각에 동일한, 즉 카메라들에 탑재되는 칩들(예컨대, OTP 칩 또는 TPM 칩)에 동일한 고유키(Unique key)와, 카메라들 각각에 상이한, 즉 카메라에 탑재되는 칩(예컨대, OTP 칩 또는 TPM 칩)마다 상이한 랜덤키(Random key)를 포함할 수 있다. 공개키(public key)는 RSA 공개키일 수 있다. 일 실시예에서, 제1메모리(217)에는 도 3 내지 도 10을 참조하여 후술하는 바와 같이, 제1 내지 제3키들(key1, key2, key3)이 저장될 수 있다. 이하 제1키(key1)는 고유키(Unique key)를 나타내고, 제2키(key2)는 랜덤키(Random key)를 나타내고, 제3키(key3)는 공개키(public key)를 나타낼 수 있다.
제2메모리(218)에 저장되는 보안 데이터는 사용자의 아이디/패스워드(ID/PASSWORD), CA(Certification Authority) 인증서 등을 포함할 수 있다. 제2메모리(218)에 저장되는 보안 데이터는 사용자의 아이디/패스워드(ID/PASSWORD), CA 인증서 등이 암호화된 암호화 데이터일 수 있다.
CPU(230)는 명령어들을 처리할 수 있는 임의의 디바이스 또는 컴포넌트들을 총칭적으로 지칭하기 위해 사용되며, 마이크로프로세서, 마이크로제어기, 프로그래밍가능 논리 디바이스 또는 다른 컴퓨팅 디바이스를 포함할 수 있다. CPU(230)는 입력들을 수신하고, 메모리에 저장된 명령어들에 따라 입력들을 처리하고 출력들을 생성(예를 들어 메모리 컴포넌트들에 또는 디스플레이(상에 출력)하기 위한 임의의 적합한 논리 회로에 의해 제공될 수 있다. CPU(230)는 메모리 어드레스가능 공간을 갖는 단일 코어 또는 멀티-코어 프로세서일 수 있다.
CPU(230)는 물리적으로 비보안영역인 제1운영환경(250)과 보안영역인 제2운영환경(270)으로 구분될 수 있다. 제2운영환경(270)은 제1운영환경(250)으로부터 하드웨어-분리될 수 있어, 제1운영환경(250) 내에 위치된 애플리케이션들, 커널들, 모듈들 및 운영체제가 제2운영환경(270) 내에 제공된 애플리케이션들, 커널들, 모듈들 및 운영체제에 액세스할 수 없다는 것을 보장한다. 제1운영환경(250)은 REE(Rich Execution Environment)에 대응하고, 및 제2운영환경(270)은 TEE(Trusted Execution Environment)에 대응할 수 있다.
제1운영환경(250)은 TPM API(252), TPM_CA(254), TEEC API(256) 및 제1운영체제(258)로 구성될 수 있다. 제2운영환경(270)은 TPM_TA(272), TEES API(274), 제2운영체제(276) 및 TPM 드라이버(278)로 구성될 수 있다.
애플리케이션은 제1운영환경(250)에서 동작하는 적어도 하나의 클라이언트 어플리케이션(Client Application)인 TPM_CA(254)와 제2운영환경(270)에서 동작하는 적어도 하나의 신뢰 어플리케이션(Trusted Application)인 TPM_TA(272)로 구분될 수 있다. 특정 서비스를 제공하기 위해 TPM_CA(254)는 TEEC API(256)를 호출함으로써 TPM_TA(272)와 연결되어 TPM_TA(272)에 서비스를 요청할 수 있다. TPM_CA(254)와 TPM_TA(272)는 공유공간(213)을 통해 서비스를 실행하기 위한 데이터를 송수신할 수 있다.
TPM API(252)는 제1운영환경(250)으로 입력되는 데이터를 TPM_CA(254)로 전달함으로써 특정 서비스를 제공하는 TPM_CA(254)의 실행을 지원하는 인터페이스일 수 있다. TPM_CA(254)는 TPM API(252)로부터 데이터를 입력받고, TEEC API(25)를 호출함으로써 TPM_TA(272)로 서비스를 요청할 수 있다. TEEC API(256)는 TPM_CA(254)에 의해 호출되어 동작하는 공개 API(Open Application Programmer Interface)일 수 있다. 일부 실시예에서, TPM_CA(254)는 TEEC API(256)를 통해 제1운영환경(250)으로 입력되는 데이터를 공유공간(213)에 입력할 수 있다. 제1운영체제(238)는 제1운영환경(250)에 위치하는 TPM_CA(234)의 동작을 지원하기 위해 TEEC API(236)를 제공하는 범용(汎用) 운영체제(예를 들어, Linux)일 수 있다.
TPM_TA(272)는 TPM_CA(234)와 연결됨으로써 TPM_CA(234)가 요청하는 서비스를 실행할 수 있다. TPM_TA(272)는 TEES API(274)를 호출함으로써 서비스를 실행할 수 있다. TEES API(274)는 TPM_TA(272)에 의해 호출되어 데이터를 처리하기 위한 보안 API(Security Application Programmer Interface)로서, 일종의 라이브러리 기능을 가질 수 있다. 일부 실시예에서, TPM_TA(272)는 제2운영환경(270)에서의 데이터 처리 결과를 공유공간(213)에 입력할 수 있다. 제2운영체제(276)는 제2운영환경(270)에 위치하는 TPM_TA(272)의 동작을 지원하기 위해 TEES API(274)를 제공하는 보안 운영체제(Secure OS)일 수 있다. TPM 드라이버(278)는 제2운영환경(250)과 보안영역(210) 내 제1메모리(217) 및 제2메모리(218) 간의 통신을 제어할 수 있다.
도 3 및 도 4는 일 실시예에 따른 TPM에 의해 쓰기 또는 암호화 서비스를 제공하는 방법을 설명하는 도면들이다.
도 3 및 도 4를 함께 참조하면, TPM은 제1운영환경(250)으로 암호화할 데이터(제1데이터)가 입력되면, TPM API(252)를 호출하고(S41), TPM API(252)는 TPM CA(254)를 호출할 수 있다(S42). TPM API(252)는 제1데이터의 쓰기 명령(write(plain data1))을 TPM CA(254)로 전달할 수 있다. 도 4에서 암호화할 데이터(제1데이터)는 "plain data1"로 표시하였다. 암호화할 데이터는 사용자의 로그인정보(예를 들어, ID/PASSWORD), CA 인증서 등을 포함할 수 있다.
TPM CA(254)는 제1데이터를 입력받고, TEEC API(256)를 호출할 수 있다(S43), TPM CA(254)는 제1데이터의 쓰기 명령에 응답하여, TPM API(252)를 통해 제1데이터 및 제1데이터의 암호화 명령(enc(plain data1))을 공유공간(213)에 입력할 수 있다(S44).
TPM CA(254)와 연결된 TPM TA(272)는 제1데이터의 암호화 명령에 따라 제1메모리(217)에 저장된 비밀키와 공유공간(213)의 제1데이터를 입력받고, TEES API(274)를 통해 제1데이터를 비밀키로 암호화한 암호화 데이터를 제2메모리(218)에 저장할 수 있다.
구체적으로, TPM TA(272)는 TPM 드라이버(278)에 비밀키를 요청할 수 있다(S45). TPM 드라이버(278)는 제1메모리(217)로부터 비밀키를 획득할 수 있다(S46). 여기서, 비밀키는 랜덤키인 제2키(key2)일 수 있다.
TPM TA(272)는 공유공간(213)과 TPM 드라이버(278)로부터 각각 제1데이터와 제2키(key2)를 입력받고, TEES API(274)를 호출할 수 있다(S47). TPM TA(272)는 TEES API(274)를 통해 제2키(key2)를 이용하여 제1데이터를 암호화하고, 암호화 결과인 암호화 데이터(encryption data1)를 TPM 드라이버(278)에 입력할 수 있다(S48).
TPM 드라이버(278)는 제2메모리(218)에 암호화 데이터(encryption data1)를 저장하고, 암호화 결과에 대한 성공(Success) 또는 실패(Fail)를 리턴할 수 있다(S49).
암호화 데이터(encryption data1)는 종류에 따라 제2메모리(218)의 할당된 슬롯에 저장될 수 있다. 각 슬롯에 슬롯 번호가 할당될 수 있다. 예컨대, 제1슬롯(slot1)에 암호화된 사용자별 ID가 저장되고, 제2슬롯(slot2)에 암호화된 사용자별 PASSWORD가 저장되고, 제3슬롯(slot3)에 암호화된 인증서가 저장될 수 있다.
TPM 드라이버(278)의 성공(Success) 또는 실패(Fail) 응답에 응답하여 TPM CA(254)에서 서비스 실행 결과를 성공(Success) 또는 실패(Fail)로 처리할 수 있다(S50).
도 5 및 도 6은 일 실시예에 TPM에 의해 따른 읽기 또는 복호화 서비스를 제공하는 방법을 설명하는 도면들이다.
도 5 및 도 6을 함께 참조하면, TPM은 데이터 읽기 요청이 입력되면, TPM API(252)를 호출하고(S61), TPM API(252)는 TPM CA(254)를 호출할 수 있다(S62). TPM API(252)는 데이터 읽기 명령(read(slot Num))을 TPM CA(254)로 전달할 수 있다. 읽기 명령에서 요청하는 데이터는 제2메모리(218)에 저장된 암호화 데이터의 원본 데이터에 대응하며, 원본 데이터가 저장된 제2메모리(218)의 슬롯 번호(slot Num)로 요청 데이터를 나타낼 수 있다. 일 실시예에서 TPM API(252)는 슬롯 번호를 포함하는 데이터 읽기 명령(read(slot Num))을 TPM CA(254)로 전달할 수 있다.
TPM CA(254)는 슬롯 번호를 포함하는 데이터 읽기 명령(read(slot Num))을 입력받고, TEEC API(256)를 호출할 수 있다(S63). TPM CA(254)는 슬롯 번호를 포함하는 데이터 읽기 명령(read(slot Num))에 응답하여, TPM API(252)를 통해 슬롯 번호 및 복호화 명령(dec(slot Num))을 공유공간(213)에 입력할 수 있다(S64).
TPM CA(254)와 연결된 TPM TA(272)는 제1메모리(217)에 저장된 비밀키와 제2메모리(218)의 해당 슬롯에 저장된 암호화 데이터를 입력받고, TEES API(274)를 통해 암호화 데이터를 비밀키로 복호화한 복호화 데이터를 공유공간으로 입력할 수 있다.
구체적으로, TPM TA(272)는 TPM 드라이버(278)에 제2데이터의 슬롯 번호를 입력하고, TPM 드라이버(278)에 비밀키를 요청할 수 있다(S65). 여기서, 비밀키는 랜덤키인 제2키(key2)일 수 있다.
TPM 드라이버(278)는 제1메모리(217)로부터 제2키(key2)를 획득하고, 제2메모리(218)의 슬롯 번호에 대응한 슬롯에 저장된 암호화 데이터(encryption data1)를 획득할 수 있다(S66).
TPM TA(272)는 TPM 드라이버(278)로부터 제2키(key2)와 암호화 데이터(encryption data1)를 입력받고, TEES API(274)를 호출할 수 있다(S67). TPM TA(272)는 TEES API(274)를 통해 제2키(key2)를 이용하여 암호화 데이터(encryption data1)를 복호화하고, 복호화 결과인 원본 데이터를 공유공간(213)에 입력할 수 있다(S68). 원본 데이터는 도 3 및 도 4의 제1데이터(plain data1)일 수 있다.
TPM CA(254)는 공유공간(213)으로부터 제1데이터(plain data1)를 입력받아 처리할 수 있다(S70). 예컨대, TPM CA(254)는 사용자의 로그인정보(예를 들어, ID/PASSWORD) 또는 CA 인증서를 제1데이터(plain data1)와 비교함으로써 사용자 인증 또는 인증서 인증 결과를 출력할 수 있다.
도 7 및 도 8은 일 실시예에 따른 TPM에 의해 검증 서비스를 제공하는 방법을 설명하는 도면들이다.
본 발명의 일 실시예에 따른 검증 서비스는 RSA 알고리즘을 이용할 수 있다. RSA 알고리즘은 정보를 해시한 해시 값을 공개키 또는 비밀키로 암호화한 결과인 서명을 정보에 첨부함으로써 전자서명이 가능한 비대칭키 암호화 알고리즘으로, 공지된 기술이므로 상세한 설명은 생략한다. 본 발명의 실시예에 따른 검증 서비스는 입력 데이터에 첨부된 서명과, 입력 데이터를 해시한 값을 기 저장된 공개키로 암호화한 결과 값을 비교함으로써 입력 데이터를 검증할 수 있다.
도 7 및 도 8을 함께 참조하면, TPM은 제1운영환경(250)으로 검증할 데이터(제2데이터)가 입력되면, TPM API(252)를 호출하고(S81), TPM API(252)는 TPM CA(254)를 호출할 수 있다(S82). 도 7에서 검증할 데이터(제2데이터)는 "data_u"로 표시하였다. 검증할 데이터는 펌웨어(firmware) 또는 애플리케이션일 수 있다. 검증할 데이터에는 서명(signature)이 첨부되어 있다. TPM API(252)는 TPM CA(254)로 검증할 데이터(data_u)의 검증 명령(verify(data_u, signature))을 전달할 수 있다.
TPM CA(254)는 검증할 데이터(data_u)와 서명(signature)을 입력받고, 검증할 데이터(data_u)에 해시알고리즘을 적용하여 검증할 데이터(data_u)를 해시한 해시 데이터(sha_data)를 생성하고, TEEC API(256)를 호출할 수 있다(S83). TPM CA(254)는 검증 명령(verify(data_u, signature))에 응답하여, TPM API(252)를 통해 해시 데이터(sha_data) 및 해시 데이터의 암호화 명령(enc(sha_data))을 공유공간(213)에 입력할 수 있다(S84).
TPM CA(254)와 연결된 TPM TA(272)는 제1메모리(217)에 저장된 공개키와 공유공간(213)의 해시 데이터를 입력받고, TEES API(274)를 통해 해시 데이터를 공개키로 암호화한 암호화 해시 데이터를 공유공간(213)으로 입력할 수 있다.
구체적으로, TPM TA(272)는 해시 데이터의 암호화 명령에 따라 TPM 드라이버(278)에 공개키(public key)를 요청할 수 있다(S85). 여기서 공개키는 RSA 공개키인 제3키(key3)일 수 있다.
TPM 드라이버(278)는 제1메모리(217)로부터 제3키(key3)를 획득할 수 있다(S86).
TPM TA(272)는 공유공간(213)과 TPM 드라이버(278)로부터 각각 해시 데이터(sha_data)와 제3키(key3)를 입력받고, TEES API(274)를 호출할 수 있다(S87). TPM TA(272)는 TEES API(274)를 통해 제3키(key3)를 이용하여 해시 데이터(sha_data)를 암호화하고, 암호화 결과인 암호화 해시 데이터(encryption sha_data)를 공유공간(213)에 입력할 수 있다(S88).
TPM CA(254)는 공유공간(213)으로부터 암호화 해시 데이터(encryption sha_data)를 입력받고, 이를 검증할 데이터(data_u)에 첨부된 서명(signature)과 비교하여 검증할 데이터(data_u)의 검증을 수행하고, 검증 결과를 성공(Success) 또는 실패(Fail)로 처리할 수 있다(S89). TPM CA(254)는 암호화 해시 데이터(encryption sha_data)와 서명(signature)이 동일하면 검증할 데이터(data_u)의 검증 성공으로 처리하고, 암호화 해시 데이터(encryption sha_data)와 서명(signature)이 상이하면 검증할 데이터(data_u)의 검증 실패로 처리할 수 있다. 예컨대, TPM CA(254)는 펌웨어의 서명과 암호화 해시 데이터(encryption sha_data)를 비교함으로써 펌웨어를 검증하고, 검증이 성공이면 펌웨어를 업데이트할 수 있다.
본 실시예는 RSA 암호화의 해시 과정과 암호화 과정을 나누어, 해시 과정은 제1운영환경(230)에서 수행하고, 암호화 과정은 제2운영환경(250)에서 수행함으로써 제2운영환경(250)의 로드를 줄일 수 있다.
도 9 및 도 10은 일 실시예에 따른 TPM에 의해 데이터 복구 서비스를 제공하는 방법을 설명하는 도면들이다.
일 실시예에 따른 복구 서비스는 제2메모리에 데이터(예를 들어, 카메라를 인증하는 CA 인증서 등)를 저장(업데이트)하는 동안 시스템 오류에 의해 데이터 저장이 실패한 경우, 복구데이터를 이용하여 제2메모리에 데이터 저장을 완료하는 서비스 및 제2메모리에 기 저장된 초기값(예를 들어, 카메라를 인증하는 CA 인증서 등)에 오류가 발생한 경우, 복구데이터를 이용하여 제2메모리의 초기값을 다시 쓰는 서비스이다. 복구 서비스는 제2메모리의 오류 데이터를 복구데이터로 대체하는 초기화 서비스로 이해될 수 있다.
도 9 및 도 10을 참조하면, TPM은 제1운영환경(250)으로 복구 데이터(recovery data)가 입력되면, TPM API(252)를 호출하고(S101), TPM API(252)는 TPM CA(254)를 호출할 수 있다(S102). 복구 데이터(recovery data)는 고유키(Unique key)로 암호화된 파일 값으로, 예컨대 고유키(Unique key)로 암호화된 제2메모리의 초기값일 수 있다. 복구 데이터는 펌웨어 배포시 펌웨어에 포함될 수 있다. TPM API(252)는 복구 데이터(recovery data)를 이용한 제2메모리(218)의 초기화 명령(initialize(recovery data))을 TPM CA(254)로 전달할 수 있다.
TPM CA(254)는 복구 데이터(recovery data) 및 초기화 명령을 입력받고, TEEC API(256)를 호출할 수 있다(S103). TPM CA(254)는 초기화 명령에 응답하여, TPM API(252)를 통해 복구 데이터(recovery data) 및 복구 데이터의 복호화 명령(dec(recovery data))을 공유공간(213)에 입력할 수 있다(S104).
TPM CA(254)와 연결된 TPM TA(272)는 제1메모리(217)에 저장된 제1비밀키와 공유공간(213)의 복구데이터를 입력받고, TEES API(274)를 통해 복구데이터를 제1비밀키로 복호화한 제3데이터를 생성하고, 제1메모리(217)에 저장된 제2비밀키를 입력받고, EES API(274)를 통해 제3데이터를 제2비밀키로 암호화한 암호화 데이터를 제2메모리(218)에 저장할 수 있다.
구체적으로, TPM CA(254)는 복구 데이터의 복호화 명령에 따라 TPM 드라이버(278)에 제1비밀키와 제2비밀키를 요청할 수 있다(S105). 여기서, 제1비밀키는 고유키인 제1키(key1)이고, 제2비밀키는 랜덤키인 제2키(key2)일 수 있다.
TPM 드라이버(278)는 제1메모리(217)로부터 제1키(key1)와 제2키(key2)를 획득할 수 있다(S106).
TPM TA(272)는 공유공간(213)과 TPM 드라이버(278)로부터 각각 복구 데이터(recovery data)와 제1키(key1)를 입력받고, TEES API(274)를 호출할 수 있다(S107). TPM TA(272)는 TEES API(274)를 통해 제1키(key1)를 이용하여 복구 데이터(recovery data)를 복호화하고, 복호화 결과인 복호화 데이터(plain data2)(제3데이터)를 생성할 수 있다(S108).
TPM TA(272)는 TPM 드라이버(278)로부터 제2키(key2)를 입력받고, TEES API(274)를 호출할 수 있다(S109). TPM TA(272)는 TEES API(274)를 통해 제2키(key2)를 이용하여 복호화 데이터(plain data2)를 암호화하고, 암호화 결과인 암호화 데이터(encryption data2)를 TPM 드라이버(278)에 입력할 수 있다(S110).
TPM 드라이버(278)는 제2메모리(218)에 암호화 데이터(encryption data2)를 저장하고, 암호화 결과에 대한 성공(Success) 또는 실패(Fail)를 리턴할 수 있다(S111).
TPM 드라이버(278)의 성공(Success) 또는 실패(Fail) 응답에 대응하여 TPM CA(254)에서 복구 서비스 실행 결과를 성공(Success) 또는 실패(Fail)로 처리할 수 있다(S112).
본 실시예는 제1키(key1)로 복구 데이터(recovery data)를 복호화하므로, 동일한 모델의 카메라들은 동일한 데이터(예컨대, 동일한 펌웨어 및/또는 동일한 애플리케이션)로 업데이트할 수 있다. 또한 제2키(key2)로 복호화된 복구 데이터를 암호화하여 저장하므로, 제2메모리를 다른 장치에 탑재시키더라도, 다른 장치에서 제2메모리의 데이터를 사용할 수 없다.
중요한 데이터(Critical Data)를 공개키 또는 비밀키로 암호화 및 복호화 동작을 수행함에 있어서, 암호화 프로그램이 메모리에 적재되어 실행할 때, 사용되는 키 값이 노출될 수 있다. 기존 TPM의 경우 프로그램을 업데이트 하려면 하드웨어 교체가 필요하여 많은 비용이 소모되는 등 하드웨어(HW)에 의존적이다. 또한 TEE/REE 시스템의 표준 TEEC API와 TEES API를 사용하여 암복호화 동작을 수행할 경우, 키 값이 REE 영역에 노출되어 보안이 취약하다.
본 발명의 실시예들은 네트워크 카메라 시스템에서 사용하는 민감한 데이터를 저장하고 가져오고 검증하는 방법에 있어서, 사용되는 공개키와 비밀키를 보다 안전한 보안저장소에 분리하여 저장하면서, 키와 알고리즘을 운용하는 프로그램을 접근이 제한된 신뢰환경(TEE영역)에서 실행함으로써 보안을 향상시킬 수 있다.
또한, 본 발명의 실시예들은 접근이 제한된 소프트웨어 프로그램으로 동작함으로써, 업데이트가 필요한 경우, 본 발명의 검증 실시예와 같이, 암호화된 프로그램을 보안영역의 메모리로부터 다운받아 검증 수행함으로써 유연하고 안전하게 업데이트가 가능하다.
본 발명의 실시예들은 네트워크 카메라 시스템뿐만 아니라, 중요한 정보를 쓰기(Write)/읽기(Read)/검증(Verify)하는 시스템에서 이용가능하며, 중요한 데이터(Critical Data)에 대한 사이즈 이외의 제약 사항이 없고, 데이터 사이즈 또한 메모리의 보안영역(즉, 제2메모리)의 사이즈에 맞춰 유연하게 증감할 수 있다.
본 발명의 실시예들은 보안 알고리즘이 동작하는 소프트웨어 프로그램이 유연하게 업데이트 가능하도록 하기 때문에, 시간의 흐름에 따라 보안 알고리즘의 업데이트에 맞춰서 소프트웨어 프로그램을 검증하여 업데이트하고 실행할 수 있다. 즉, 본 발명의 실시예들은 적은 비용으로 안전하고 쉽게 중요한 데이터를 관리하면서, SW를 업데이트 해야하는 시스템에서 유용하게 사용할 수 있다.
본 발명에 따른 네트워크 카메라의 보안 서비스 제공 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
본 발명은 첨부된 도면에 도시된 일 실시예를 참고로 설명되었으나, 이는 예시적인 것에 불과하며, 당해 기술분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 수 있을 것이다. 따라서, 본 발명의 진정한 보호 범위는 첨부된 청구 범위에 의해서만 정해져야 할 것이다.

Claims (10)

  1. TPM(Trusted Platform Module)이 탑재된 네트워크 카메라에 있어서,
    상기 TPM은,
    범용 운영체제가 실행되는 제1운영환경과 보안 운영체제가 실행되는 제2운영환경을 갖는 프로세서;
    상기 제1운영환경에서 동작하는 클라이언트 애플리케이션;
    상기 제2운영환경에서 동작하는 신뢰 애플리케이션;
    상기 클라이언트 애플리케이션에 의해 호출되고, 상기 제1운영환경으로 입력되는 데이터를 상기 신뢰 애플리케이션에 전달하는 클라이언트 인터페이스;
    상기 신뢰 애플리케이션에 의해 호출되는 신뢰 인터페이스; 및
    보안 영역과, 상기 클라이언트 애플리케이션과 상기 신뢰 애플리케이션 간의 데이터 송수신을 위한 공유공간을 포함하는 비보안 영역으로 구성된 메모리;를 포함하고,
    상기 메모리의 보안 영역은, 암호화와 복호화를 위한 복수의 키들이 저장된 제1메모리와, 상기 신뢰 애플리케이션에 의해 상기 보안 영역에서 처리된 결과 데이터가 저장된 제2메모리를 포함하는, 네트워크 카메라.
  2. 제1항에 있어서,
    상기 클라이언트 애플리케이션이 상기 제1운영환경으로 입력되는 제1데이터의 쓰기 명령에 응답하여, 상기 클라이언트 인터페이스를 통해 상기 제1데이터를 상기 공유공간으로 입력하고,
    상기 신뢰 애플리케이션이 상기 제1메모리에 저장된 비밀키와 상기 공유공간의 제1데이터를 입력받고, 상기 신뢰 인터페이스를 통해 상기 제1데이터를 상기 비밀키로 암호화한 암호화 데이터를 상기 제2메모리에 저장하는, 네트워크 카메라.
  3. 제1항에 있어서,
    상기 클라이언트 애플리케이션이 상기 제1운영환경으로 입력되는 데이터 읽기 명령에 응답하여, 상기 클라이언트 인터페이스를 통해 상기 읽기 명령에서 요청하는 데이터가 저장된 상기 제2메모리의 슬롯 번호를 상기 공유공간으로 입력하고,
    상기 신뢰 애플리케이션이 상기 제1메모리에 저장된 비밀키와 상기 제2메모리의 상기 슬롯 번호에 대응한 슬롯에 저장된 암호화 데이터를 입력받고, 상기 신뢰 인터페이스를 통해 상기 암호화 데이터를 상기 비밀키로 복호화한 복호화 데이터를 상기 공유공간으로 입력하는, 네트워크 카메라.
  4. 제1항에 있어서,
    상기 클라이언트 애플리케이션이 상기 제1운영환경으로 입력되는 제2데이터의 검증 명령에 응답하여, 상기 클라이언트 인터페이스를 통해 상기 제2데이터를 해시한 해시 데이터를 상기 공유공간으로 입력하고,
    상기 신뢰 애플리케이션이 상기 제1메모리에 저장된 공개키와 상기 공유공간의 해시 데이터를 입력받고, 상기 신뢰 인터페이스를 통해 상기 해시 데이터를 상기 공개키로 암호화한 암호화 해시 데이터를 상기 공유공간으로 입력하고,
    상기 클라이언트 애플리케이션이 상기 제2데이터에 첨부된 서명과 상기 암호화 해시 데이터를 비교하여 상기 제2데이터를 검증하는, 네트워크 카메라.
  5. 제1항에 있어서,
    상기 클라이언트 애플리케이션이 상기 제1운영환경으로 입력되는 복구데이터에 의한 상기 제2메모리의 초기화 명령에 응답하여, 상기 클라이언트 인터페이스를 통해 상기 복구데이터를 상기 공유공간으로 입력하고,
    상기 신뢰 애플리케이션이 상기 제1메모리에 저장된 제1비밀키와 상기 공유공간의 복구데이터를 입력받고, 상기 신뢰 인터페이스를 통해 상기 복구데이터를 상기 제1비밀키로 복호화한 제3데이터를 생성하고,
    상기 신뢰 애플리케이션이 상기 제1메모리에 저장된 제2비밀키를 입력받고, 상기 신뢰 인터페이스를 통해 상기 제3데이터를 상기 제2비밀키로 암호화한 암호화 데이터를 상기 제2메모리에 저장하는, 네트워크 카메라.
  6. 제5항에 있어서,
    상기 제1비밀키는 복수의 카메라들에 동일한 고유키이고,
    상기 제2비밀키는 상기 복수의 카메라들 각각에 상이한 랜덤키인, 카메라 장치.
  7. 제1항의 네트워크 카메라에 의한 암호화 서비스 제공 방법에 있어서,
    상기 클라이언트 애플리케이션이 상기 제1운영환경으로 입력되는 제1데이터의 쓰기 명령에 응답하여, 상기 클라이언트 인터페이스를 통해 상기 제1데이터를 상기 공유공간으로 입력하는 단계; 및
    상기 신뢰 애플리케이션이 상기 제1메모리에 저장된 비밀키와 상기 공유공간의 제1데이터를 입력받고, 상기 신뢰 인터페이스를 통해 상기 제1데이터를 상기 비밀키로 암호화한 암호화 데이터를 상기 제2메모리에 저장하는 단계;를 포함하는 암호화 서비스 제공 방법.
  8. 제1항의 네트워크 카메라에 의한 복호화 서비스 제공 방법에 있어서,
    상기 클라이언트 애플리케이션이 상기 제1운영환경으로 입력되는 데이터 읽기 명령에 응답하여, 상기 클라이언트 인터페이스를 통해 상기 읽기 명령에서 요청하는 데이터가 저장된 상기 제2메모리의 슬롯 번호를 상기 공유공간으로 입력하는 단계; 및
    상기 신뢰 애플리케이션이 상기 제1메모리에 저장된 비밀키와 상기 제2메모리의 상기 슬롯 번호에 대응한 슬롯에 저장된 암호화 데이터를 입력받고, 상기 신뢰 인터페이스를 통해 상기 암호화 데이터를 상기 비밀키로 복호화한 복호화 데이터를 상기 공유공간으로 입력하는 단계;를 포함하는 복호화 서비스 제공 방법.
  9. 제1항의 네트워크 카메라에 의한 검증 서비스 제공 방법에 있어서,
    상기 클라이언트 애플리케이션이 상기 제1운영환경으로 입력되는 제2데이터의 검증 명령에 응답하여, 상기 클라이언트 인터페이스를 통해 상기 제2데이터를 해시한 해시 데이터를 상기 공유공간으로 입력하는 단계;
    상기 신뢰 애플리케이션이 상기 제1메모리에 저장된 공개키와 상기 공유공간의 해시 데이터를 입력받고, 상기 신뢰 인터페이스를 통해 상기 해시 데이터를 상기 공개키로 암호화한 암호화 해시 데이터를 상기 공유공간으로 입력하는 단계; 및
    상기 클라이언트 애플리케이션이 상기 제2데이터에 첨부된 서명과 상기 암호화 해시 데이터를 비교하여 상기 제2데이터를 검증하는 단계;를 포함하는 검증 서비스 제공 방법.
  10. 제1항의 네트워크 카메라에 의한 복구 서비스 제공 방법에 있어서,
    상기 클라이언트 애플리케이션이 상기 제1운영환경으로 입력되는 복구데이터에 의한 상기 제2메모리의 초기화 명령에 응답하여, 상기 클라이언트 인터페이스를 통해 상기 복구데이터를 상기 공유공간으로 입력하는 단계;
    상기 신뢰 애플리케이션이 상기 제1메모리에 저장된 제1비밀키와 상기 공유공간의 복구데이터를 입력받고, 상기 신뢰 인터페이스를 통해 상기 복구데이터를 상기 제1비밀키로 복호화한 제3데이터를 생성하는 단계;
    상기 신뢰 애플리케이션이 상기 제1메모리에 저장된 제2비밀키를 입력받고, 상기 신뢰 인터페이스를 통해 상기 제3데이터를 상기 제2비밀키로 암호화한 암호화 데이터를 상기 제2메모리에 저장하는 단계;를 포함하고,
    상기 제1비밀키는 복수의 카메라들에 동일한 고유키이고,
    상기 제2비밀키는 상기 복수의 카메라들 각각에 상이한 랜덤키인, 복구 서비스 제공 방법.
KR1020200148549A 2020-11-09 2020-11-09 네트워크 카메라 및 그의 보안 서비스 제공 방법 KR20220062866A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200148549A KR20220062866A (ko) 2020-11-09 2020-11-09 네트워크 카메라 및 그의 보안 서비스 제공 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200148549A KR20220062866A (ko) 2020-11-09 2020-11-09 네트워크 카메라 및 그의 보안 서비스 제공 방법

Publications (1)

Publication Number Publication Date
KR20220062866A true KR20220062866A (ko) 2022-05-17

Family

ID=81803590

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200148549A KR20220062866A (ko) 2020-11-09 2020-11-09 네트워크 카메라 및 그의 보안 서비스 제공 방법

Country Status (1)

Country Link
KR (1) KR20220062866A (ko)

Similar Documents

Publication Publication Date Title
US10705894B2 (en) Electronic device for authenticating application and operating method thereof
US11362840B2 (en) Methods, apparatuses, devices and systems for backtracking service behavior
CN109313690B (zh) 自包含的加密引导策略验证
CN107077574B (zh) 用于客户端设备的信任服务
US10069629B2 (en) Controlled access to data in a sandboxed environment
US10530576B2 (en) System and method for computing device with improved firmware service security using credential-derived encryption key
US20220006617A1 (en) Method and apparatus for data storage and verification
KR20190131712A (ko) 복수의 프로세서들과 연결된 보안 모듈의 제어 방법 및 이를 구현한 전자 장치
US9660986B2 (en) Secure access method and secure access device for an application program
JP2007512787A (ja) トラステッド・モバイル・プラットフォーム・アーキテクチャ
EP3462365A1 (en) Method, apparatus, and cloud system for executing an application in a cloud system
KR102013983B1 (ko) 애플리케이션 무결성 인증 방법 및 인증 서버
CN112800436B (zh) 数据授权方法、装置及电子设备
BR112018004760B1 (pt) Métodos e dispositivos de registro e autenticação de informação
KR20170136406A (ko) 어플리케이션을 인증하는 전자 장치 및 그것의 동작 방법
US11233661B2 (en) Device and method for authenticating application in execution environment in trust zone
JP6199712B2 (ja) 通信端末装置、通信端末関連付け方法、及びコンピュータプログラム
US11520859B2 (en) Display of protected content using trusted execution environment
KR101473656B1 (ko) 모바일 데이터 보안 장치 및 방법
US11616769B2 (en) Runtime identity confirmation for restricted server communication control
KR20210132721A (ko) 네트워크에 액세스 시의 보안 통신
KR20210089486A (ko) 키를 안전하게 관리하기 위한 장치 및 방법
CN115941336A (zh) 数据的处理方法、装置及设备
US11811948B2 (en) Flexible security enclave for protecting data at rest and in motion
KR20220062866A (ko) 네트워크 카메라 및 그의 보안 서비스 제공 방법

Legal Events

Date Code Title Description
A201 Request for examination