KR20220050702A - 중계 장치를 통한 카메라 장치 내 애플리케이션의 라이선스 관리 - Google Patents

중계 장치를 통한 카메라 장치 내 애플리케이션의 라이선스 관리 Download PDF

Info

Publication number
KR20220050702A
KR20220050702A KR1020200134679A KR20200134679A KR20220050702A KR 20220050702 A KR20220050702 A KR 20220050702A KR 1020200134679 A KR1020200134679 A KR 1020200134679A KR 20200134679 A KR20200134679 A KR 20200134679A KR 20220050702 A KR20220050702 A KR 20220050702A
Authority
KR
South Korea
Prior art keywords
information
request message
signature
identification information
camera
Prior art date
Application number
KR1020200134679A
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 KR1020200134679A priority Critical patent/KR20220050702A/ko
Priority to US17/498,763 priority patent/US20220124245A1/en
Publication of KR20220050702A publication Critical patent/KR20220050702A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • 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/3263Cryptographic 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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3265Cryptographic 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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate chains, trees or paths; Hierarchical trust model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/617Upgrading or updating of programs or applications for camera control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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)
    • H04L9/0825Key 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) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/3247Cryptographic 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 involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/66Remote control of cameras or camera parts, e.g. by remote control devices
    • H04N23/661Transmitting camera control signals through networks, e.g. control via the Internet
    • 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
    • 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
    • H04N7/183Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a single remote source

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Power Engineering (AREA)
  • Computing Systems (AREA)
  • Technology Law (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Studio Devices (AREA)

Abstract

본 명세서에 개시된 프로그램 라이선스 관리 방법은 중계 장치로부터 인증 요청을 수신하는 동작; 상기 중계 장치가 성공적으로 인증된 후, 애플리케이션 설치를 서버에 요청하는 요청 메시지를 상기 인증된 중계 장치로 전송하는 동작, 상기 요청 메시지는 카메라 장치의 장치 식별 정보를 포함하고; 상기 중계 장치로부터 서명 정보 및 애플리케이션 데이터를 수신하는 동작; 상기 서명 정보에 상기 장치 식별 정보가 포함되었는지 여부 및 상기 서버가 수행한 상기 서명 정보가 유효한지 여부에 대한 판단을 포함하는 라이선스 검증을 수행하는 동작; 및 상기 라이선스 검증이 성공적인 경우 상기 애플리케이션 데이터를 상기 장치에 설치하는 동작을 포함한다.

Description

중계 장치를 통한 카메라 장치 내 애플리케이션의 라이선스 관리{SOFTWARE APPLICATION LICENSE MANAGEMENT OF CAMERA DEVICE THROUGH MEDIATION DEVICE}
본 명세서에 개시된 기술은 중계 장치를 통한 카메라 장치 내 애플리케이션의 라이선스 관리에 대한 것이다.
최근의 네트워크 카메라 내에는 다양한 소프트웨어 애플리케이션이 탑재될 수 있다. 사용자는 앱스토어와 같은 신뢰하는 온라인 마켓플레이스(marketplace)로부터 애플리케이션을 구입하여 설치할 수 있다. 그 밖에 사용자는 인증서를 통해 애플리케이션에 대한 검증 작업을 수행할 수 있다.
네트워크 카메라의 사용자 또는 운영체제가 카메라 내에 탑재된 특정 애플리케이션을 신뢰할 수 있는지 여부를 판단하기 위하여 서버로부터 발급받은 라이선스 데이터를 확인해야 한다. 다만, 네트워크 카메라는 온라인 상태로 항상 동작하는 것이 아니며, 기능적으로 카메라 사용자 인증 또는 식별이 이루어지지 않는 경우 애플리케이션의 구입, 설치 및 라이선스 확인 등의 동작을 수행하기 어렵다.
또한, 네트워크 카메라 중 특정 제조사 또는 장치에 대해서 설치되어 실행되도록 정해진 애플리케이션의 경우 설치될 장치를 식별할 수 있는 정보를 기반으로 라이선스 검증 과정을 수행할 필요가 있다.
본 명세서는 카메라 장치의 프로그램 라이선스 관리 방법을 제시한다. 상기 방법은 중계 장치로부터 인증 요청을 수신하는 동작; 상기 중계 장치가 성공적으로 인증된 후, 애플리케이션 설치를 서버에 요청하는 요청 메시지를 상기 인증된 중계 장치로 전송하는 동작, 상기 요청 메시지는 카메라 장치의 장치 식별 정보를 포함하고; 상기 중계 장치로부터 서명 정보 및 애플리케이션 데이터를 수신하는 동작; 상기 서명 정보에 상기 장치 식별 정보가 포함되었는지 여부 및 상기 서버가 수행한 상기 서명 정보가 유효한지 여부에 대한 판단을 포함하는 라이선스 검증을 수행하는 동작; 및 상기 라이선스 검증이 성공적인 경우 상기 애플리케이션 데이터를 상기 장치에 설치하는 동작을 포함하도록 구성될 수 있다.
상기 방법 및 그 밖의 실시 예는 다음과 같은 특징을 포함할 수 있다. 상기 요청 메시지를 생성하는 동작을 더 포함하되, 상기 요청 메시지 생성 동작은 장치 식별 정보를 카메라 장치의 개인키로 암호화하는 동작; 및 상기 개인키와 암호학적 상관관계가 있는 공개키 정보 및 상기 암호화된 장치 식별 정보를 바탕으로 상기 요청 메시지를 생성하는 동작을 포함할 수 있다. 상기 서명 정보는 배포 기관의 인증서, 서명 데이터 및 상기 서명 데이터에 대한 전자 서명을 포함할 수 있다. 상기 서명 정보가 유효한지 여부는 상기 배포 기관의 인증서에 포함된 공개키를 이용하여 상기 전자 서명을 검증하여 상기 서명 데이터가 복원되는지 여부를 판단하는 것일 수 있다. 상기 서명 정보가 유효한지 여부는 상기 배포 기관이 속한 생태계(ecosystem)의 관리 기관의 인증서에 기반하여 상기 배포 기관의 인증서가 유효한지 여부에 대한 연쇄 검증(chain validation)을 포함할 수 있다. 상기 장치 식별 정보가 포함되었는지 여부는 상기 서명 데이터에 포함된 장치 식별 정보가 상기 요청 메시지로 전송한 상기 장치 식별 정보와 동일한지 여부를 판단하는 것을 포함할 수 있다.
본 명세서는 중계 장치의 프로그램 라이선스 관리 방법을 제시한다. 상기 방법은 카메라 장치로부터 장치 식별 정보를 포함하는 애플리케이션 설치 요청 메시지를 수신하는 동작; 상기 설치 요청 메시지를 서버로 전송하는 동작; 상기 서버로부터 상기 설치 요청 메시지에 대한 응답으로 상기 장치 식별 정보 및 애플리케이션 정보를 포함하는 서명 정보와 애플리케이션 데이터를 수신하는 동작; 상기 카메라 장치로 상기 서명 정보 및 상기 애플리케이션 데이터를 전송하는 동작을 포함하도록 구성될 수 있다.
상기 방법 및 그 밖의 실시 예는 다음과 같은 특징을 포함할 수 있다. 상기 방법은 상기 카메라 장치로 카메라 인증 요청을 전송하는 동작을 더 포함하고, 상기 카메라 인증 요청에 따른 인증이 성공한 경우 상기 카메라 장치로부터 상기 애플리케이션 설치 요청 메시지를 수신할 수 있다. 상기 카메라 인증 결과 상기 카메라 장치로부터 애플리케이션 설치를 지시할 수 있는 권한을 획득할 수 있다. 상기 설치 요청 메시지는 상기 애플리케이션을 구매하는 요청 메시지에 포함되어 상기 서버로 전송될 수 있다. 상기 카메라 장치에 대한 정보에 기초하여 상기 서버의 접속 주소를 결정하는 동작을 더 포함할 수 있다. 상기 카메라 장치에 대한 정보에 기초하여 상기 서버의 주소를 결정하는 동작을 더 포함할 수 있다.
한편, 본 명세서는 서버의 프로그램 라이선스 관리 방법을 제시한다. 상기 방법은 중계 장치의 사용자 인증 정보를 기초로 사용자 인증을 수행하는 동작; 상기 사용자 인증이 성공적인 경우, 카메라 장치에서 생성된 앱 설치 요청 메시지를 수신하는 동작; 상기 앱 설치 요청 메시지에 포함된 장치 식별 정보 및 인증서를 포함하는 서명 데이터를 대상으로 개인키를 이용하여 전자서명을 생성하는 동작; 상기 전자 서명 및 상기 서명 데이터를 기반으로 서명 정보를 생성하는 동작; 및 상기 서명 정보 및 애플리케이션 데이터를 상기 중계 장치로 전송하는 동작을 포함할 수 있다.
상기 방법 그 밖의 실시 예는 다음과 같은 특징을 가질 수 있다. 상기 앱 설치 요청 메시지는 암호화된 장치 식별 정보 및 상기 카메라 장치의 공개키를 포함하고, 상기 장치 식별 정보는 상기 암호화된 장치 식별 정보로부터 상기 카메라 장치의 공개키를 이용하여 복호화함으로써 획득될 수 있다. 상기 앱 설치 요청 메시지는 암호화된 장치 식별 정보 및 상기 카메라 장치의 공개키를 포함하고, 상기 장치 식별 정보는 상기 암호화된 장치 식별 정보로부터 상기 카메라 장치의 공개키를 이용하여 복호화함으로써 획득되는 것일 수 있다.
한편, 본 명세서는 카메라 장치를 제시한다. 상기 카메라 장치는 중계 장치와 통신을 수행하는 통신부; 및 상기 통신부와 전기적으로 연결되어, 이를 제어하는 프로그램을 실행하도록 설정된 제어부를 포함하되, 상기 제어부는 중계 장치로부터 인증 요청을 수신하는 동작; 상기 중계 장치가 성공적으로 인증된 후, 애플리케이션 설치를 서버에 요청하는 요청 메시지를 상기 인증된 중계 장치로 전송하는 동작, 상기 요청 메시지는 카메라 장치의 장치 식별 정보를 포함하고; 상기 중계 장치로부터 서명 정보 및 애플리케이션 데이터를 수신하는 동작; 상기 서명 정보에 상기 장치 식별 정보가 포함되었는지 여부 및 상기 서버가 수행한 상기 서명 정보가 유효한지 여부에 대한 판단을 포함하는 라이선스 검증을 수행하는 동작; 및 상기 라이선스 검증이 성공적인 경우 상기 애플리케이션 데이터를 상기 장치에 설치하는 동작을 수행하는 명령어를 포함하는 프로그램을 실행하도록 설정될 수 있다.
본 명세서에 개시된 실시 예에 따른 카메라 장치는 라이선스 발급 서버에 직접 연결할 수 없는 경우에도 중계 장치를 통해 특정 카메라 장치를 위해 발급된 애플리케이션을 구입 또는 다운로드하여 설치할 수 있다.
카메라 장치에 사용되는 운용체제가 사용자 기반 인증을 통해 애플리케이션 배포 서버에 로그인하여 애플리케이션을 구입하도록 구성되어 있더라도, 동일한 환경에서 카메라 장치는 중계 장치의 사용자 인증 기능을 이용하여 애플리케이션을 구입 또는 다운로드 할 수 있다.
카메라 장치 내에 범용 운용체제가 사용되는 경우 사용자 인증을 통해 구입한 애플리케이션이 모든 카메라 장치에 설치될 수 있는 문제가 있으나, 본 명세서에 개시된 실시 예에 따른 라이선스 관리 방법을 채택한 환경에서는 장치 식별 정보에 기초하여 특정 카메라 장치 만을 위해서 애플리케이션을 구입하는 기능을 수행할 수 있다. 이 경우 카메라 장치를 관리하는 서버 운용 기관에서는 동일 애플리케이션이라도 장치 별로 라이선스 데이터를 활성화 또는 비활성화함으로써 개별 카메라를 제어할 수 있다.
도 1은 카메라 장치에 탑재된 애플리케이션의 라이선스를 관리하는 시스템을 개략적으로 도시한다.
도 2는 카메라 장치의 라이선스 데이터 설치 방법을 도시한 순서도이다.
도 3은 카메라 장치의 라이선스 검증 및 애플리케이션 설치 방법을 상세히 도시한 순서도이다.
도 4는 라이선스 데이터의 구성의 예를 도시한다.
도 5는 카메라 장치의 라이선스 검증 및 애플리케이션 설치 방법을 간단하게 도시한 순서도이다.
도 6은 일 실시예에 따른 카메라 장치를 도시한다.
본 명세서에 개시된 기술은 카메라 관리 장치에 적용될 수 있다. 그러나 본 명세서에 개시된 기술은 이에 한정되지 않고, 상기 기술의 기술적 사상이 적용될 수 있는 모든 전자 장치 및 방법에도 적용될 수 있다.
본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 명세서에 개시된 기술의 사상을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 명세서에 개시된 기술이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 명세서에 개시된 기술의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 본 명세서에 개시된 기술이 속하는 분야에서 통상의 지식을 가진 자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 명세서에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥 상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.
본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예들을 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
또한, 본 명세서에 개시된 기술을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 기술의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 기술의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 그 기술의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다.
도 1은 카메라 장치에 탑재된 애플리케이션의 라이선스를 관리하는 시스템(100)을 개략적으로 도시한다. 카메라 관리 시스템(100)은 카메라 장치(110), 중계 장치(120) 및 서버(130)를 포함하도록 구성될 수 있다.
카메라 장치(110)는 네트워크에 유/무선으로 연결되어 다른 장치와 통신을 수행할 수 있다. 본 명세서에 개시된 실시예의 카메라 장치(110)는 감시카메라(surveillance camera) 또는 CCTV(closed-circuit television)과 같이 불릴 수 있으며, 전술한 바와 같이 네트워크를 통하여 획득한 영상을 관리 장치와 같은 외부 장치로 전송할 수 있다. 상기 카메라 장치(110)는 하나 이상의 소프트웨어 애플리케이션을 탑재할 수 있으며, 이를 위한 운영체제 시스템(Operating System)을 탑재한 전자 기기의 형태로 구현될 수 있다. 상기 카메라 장치(110)에서 동작하는 애플리케이션은 제품에 미리 탑재된(pre-loaded) 형태로 설치되어 있을 수 있으며, 애플리케이션 배포 서버 또는 마켓플레이스(marketplace)와 같은 온라인 스토어에서 구입한 후 시스템에 설치될 수도 있다.
상기 카메라 장치(110)는 애플리케이션을 설치하기 전에 장치에 설치되는 애플리케이션으로 인하여 문제가 발생하지 않도록 허가 받지 않은 프로그램이 설치되는 것을 방지하기 위한 검증 작업을 수행할 수 있으며, 허용되지 않는 애플리케이션으로 판명되는 경우 설치되지 못하도록 금지할 수 있다. 또한 애플리케이션이 상기 카메라 장치(110)에 설치된 후에도 필요에 따라 허가 받은 애플리케이션인지 여부를 확인하는 작업을 수행할 수 있다. 이와 같이 애플리케이션이 상기 카메라 장치(110)에서 사용하도록 허락된 것을 라이선스 받은 것이라고 말할 수 있다.
상기 애플리케이션이 라이선스를 받은 상태임을 나타내는 라이선스 정보는 상기 카메라 장치(110) 내에 저장되거나 또는 애플리케이션 데이터와 함께 상기 서버(130)로부터 수신한 정보의 일부에 포함되어 있을 수 있다. 상기 라이선스 정보는 상기 서버(130)로부터 수신한 것으로, 상기 카메라 장치(110)가 상기 서버(130)와 통신을 수행할 수 있는 경우에는 상기 카메라 장치(110)로부터의 요청에 대한 응답으로 상기 서버(130)가 상기 카메라 장치(110)에 상기 라이선스 정보를 전달할 수 있다.
다만, 상기 카메라 장치(110)가 오프라인 상태이거나 직접 상기 서버(130)에게 라이선스 정보를 수신할 수 없는 상태에는 상기 카메라 장치(110)는 다른 장치를 통해 간접적으로 상기 라이선스 정보를 수신할 수 있다. 상기 카메라 장치(110)가 애플리케이션을 설치하는 과정 또는 설치된 애플리케이션의 상태검사를 하는 과정에서 다른 장치를 통해 상기 서버(130)에 접속하여 상기 라이선스 정보를 수신하거나 검증할 수 있다.
본 명세서에서 개시되는 네트워크는 예를 들어, 무선 네트워크, 유선 네트워크, 인터넷과 같은 공용 네트워크, 사설 네트워크, 모바일 통신 네트워크용 광역 시스템(global system for mobile communication network; GSM) 네트워크, 범용 패킷 무선 네트워크(general packet radio network; GPRS), 근거리 네트워크(local area network; LAN), 광역 네트워크(wide area network; WAN), 거대도시 네트워크(metropolitan area network; MAN), 셀룰러 네트워크, 공중 전화 교환 네트워크(public switched telephone network; PSTN), 개인 네트워크(personal area network), 블루투스, Wi-Fi 다이렉트(Wi-Fi Direct), 근거리장 통신(Near Field communication), 초 광 대역(UltraWide band), 이들의 조합, 또는 임의의 다른 네트워크일 수 있지만 이들로 한정되는 것은 아니다.
상기 카메라 장치(110)가 상기 서버(130)와 직접적인 통신을 수행할 수 없는 환경은 다양한 예가 있다. 예를 들어, 상기 카메라 장치(110)는 근거리 통신 방식에 의하여 인접한 장치와 통신을 수행하도록 설정될 수 있다. 또한, 예를 들어, 상기 카메라 장치(110)는 상기 서버(130)가 속한 공용 네트워크와는 분리된 사설 네트워크에 속할 수 있다. 상기 카메라 장치(100)가 속한 사설 네트워크는 다른 네트워크와 연결되지 않거나 또는 접속을 위하여 접근이 제한된 상태로 구성되어 있어, 상기 서버(130)와 통신이 분리된 것으로 이해될 수 있다. 이 경우, 예를 들어, 상기 카메라 장치(110)가 속한 사설 네트워크는 상기 카메라 장치(110)의 제조사가 참여하는 사설 네트워크 일 수 있으며, 또한 상기 서버(130)가 속한 공용 네트워크는 상기 제조사가 참여하는 관리단체로서 상기 라이선스 정보를 발급하는 기관이 참여 하는 공용 네트워크일 수 있다.
이와 같이 상기 카메라 장치(110)가 분리된 환경에 있는 경우, 상기 중계 장치(120)는 상기 서버(130)로부터 상기 카메라 장치(110)에 탑재되는 소프트웨어 애플리케이션을 위한 라이선스 정보를 수신하여 상기 카메라(110)로 전달할 수 있다. 상기 중계 장치(120)는 실시간 연결 방식으로 상기 라이선스 정보를 전달할 수 있다. 또한, 상기 중계 장치(120)는 저장-후-전달(store-and-forward) 방식으로 상기 라이선스 정보를 수신하여 저장한 후 상기 카메라 장치(110)에 전달할 수도 있다. 또한, 상기 중계 장치(120)는 상기 카메라 장치(110)가 속한 네트워크와 상기 서버(130)가 속한 네트워크에 모두 접속이 가능한 상태에서 통신 방식의 차이에도 불구하고 데이터를 전송할 수 있는 장치일 수 있다. 또한, 예를 들어, 상기 중계 장치(120)는 상기 카메라 장치(110)와 상기 서버(130)가 속한 네트워크들의 망사업자가 서로 다른 경우에 서로 다른 상업 망의 중간에서 상기 라이선스 정보를 전달할 수 있다. 상기 중계 장치(120)는 모바일, PC, 워크스테이션 등 다양한 형태의 전자기기 형태로 구현될 수 있으며, 본 명세서에 개시된 기능을 수행하는 한 구현 형태에 제한되지 아니한다.
상기 서버(130)는 상기 카메라 장치(110)에 설치되어 운용되는 애플리케이션을 위해 라이선스를 제공한다. 상기 서버(130)는 상기 카메라 장치(110)에서 실행되는 소프트웨어 애플리케이션을 판매 또는 배포하는 서비스를 제공하는 장치로서 동작할 수 있으며, 예를 들어, 온라인 스토어, 앱스토어, 마켓플레이스 등으로 불릴 수 있다. 상기 서버(130)는, 예를 들어, 상기 카메라 장치(110)의 제조사, 상기 제조사가 참여하는 관리단체, 애플리케이션의 퍼블리셔 등에 의해 운영될 수 있다. 상기 서버(130)는 단일 서버, 복수의 서버, 또는 클라우드 등 다양한 형태로 구현될 수 있으며, 본 명세서에 개시된 기능을 수행하는 이상 구현 형태에 제한되지 아니한다.
도 2는 카메라 장치의 라이선스 데이터 설치 방법을 도시한 순서도이다.
중계 장치(120)는 서버(130)와 사용자 인증을 수행한다(210). 상기 서버(130)로부터 애플리케이션을 다운로드하기 위해서는 상기 서버(130)에서 요구하는 인증 절차를 성공적으로 마치도록 설정되어 있을 수 있다. 다만, 본 명세서에 개시된 라이선스 관리 방법에 따른 애플리케이션 설치 방법에서, 예를 들어, 상기 카메라 장치(110)가 오프라인 상태이거나, 기타 네트워크 설정 또는 상태로 인해 상기 서버(130)에 직접 접속 할 수 없거나, 사용자 인증(210)에 필요한 사용자 인터페이스(UI)를 포함하지 못하기 때문에, 상기 중계 장치(120)와 상기 서버(130)가 수행하는 사용자 인증 동작(210)으로 상기 카메라 장치(110)에 설치될 애플리케이션을 위한 사용자 인증으로 대신할 수 있다. 이 경우, 상기 중계 장치(120)와 상기 서버(130) 사이의 인증 동작(210)은 실제 애플리케이션 데이터를 다운로드하기 위한 앱 구매 동작(240) 이전에 실행되는 것으로 족하며, 도 2에 도시된 바와 다르게 카메라 인증 동작(220) 또는 앱 요청 메시지 획득 동작(230)이 수행되는 시점과는 무관하게 실행될 수 있다.
또한, 중계 장치(120)는 카메라 장치(110)와 카메라 인증을 수행한다(220). 상기 카메라 인증 동작(220)을 수행하는 것은 카메라 장치(110)의 소유자 또는 허가 받은 사용자의 접근을 통해서만 상기 카메라 장치(110)의 장치 식별 정보에 접속할 수 있게 하고 나아가 상기 카메라 장치(110)에 애플리케이션을 설치하는 동작을 수행할 수 있도록 제한하기 위함이다.
상기 카메라 인증 동작(220)에서 성공적으로 인증을 마친 이후, 상기 중계 장치(120)는 상기 카메라 장치(110)로부터 앱 요청 메시지를 획득한다(230). 상기 앱 요청 메시지는 상기 중계 장치(120)로 하여금 상기 카메라 장치(110)에 설치될 애플리케이션을 획득하기 위해 필요한 정보들을 포함할 수 있다. 상기 앱 요청 메시지는 상기 카메라 장치(110)의 카메라 장치 별로 구분되는 장치 식별 정보를 포함할 수 있다. 상기 장치 식별 정보는 카메라 장치의 제조 또는 조립 과정에서 결정되는 하드웨어 정보를 포함할 수 있다. 상기 장치 식별 정보는, 예를 들어, 카메라 장치(110)에 포함된 통신 인터페이스의 MAC(Medium Access Control) 주소를 적어도 일부 포함할 수 있다. 또한, 상기 장치 식별 정보는 카메라 장치(110)에 포함된 카메라부, 제어부 또는 저장부의 적어도 일부에 더 기초하여 생성된 정보를 적어도 일부 포함할 수 있다. 그 밖에 상기 장치 식별 정보는 상기 카메라 장치 별로 임의로 할당된 정보일 수 있다.
상기 앱 요청 메시지는 상기 카메라 장치의 장치 식별 정보(예: MAC 주소)와 기기(또는 장치 또는 디바이스) 인증서의 결합에 기초하여 생성될 수 있다.
보다 구체적으로, 상기 앱 요청 메시지는 (상기 카메라 장치의) 개인키로 암호화된 장치 식별 정보와 상기 개인키와 암호학적 상관관계가 있는 공개키에 기반하여 생성될 수 있다.
또는, 상기 앱 요청 메시지는 상기 개인키로 암호화된 장치 식별 정보(예: MAC 주소)와 상기 개인키와 암호학적 상관관계가 있는 공개키를 포함할 수 있다.
이후, 상기 중계 장치(120)는 상기 카메라 장치(110)로부터 획득한 앱 요청 메시지를 기반으로 상기 서버(130)로부터 라이선스 데이터 및 애플리케이션 데이터를 획득한다(240). 상기 애플리케이션 획득 동작(240)에서 상기 중계 장치(120)는 상기 앱 요청 메시지에 포함된 애플리케이션 정보를 바탕으로 상기 서버(130)에서 제공하는 애플리케이션 목록으로부터 획득하려는 애플리케이션을 선택하는 동작을 추가로 수행할 수 있다. 또한, 상기 애플리케이션 획득 동작(240)에서 상기 획득하려는 애플리케이션에 대한 결제 동작을 추가로 수행할 수 있으며, 애플리케이션 획득 동작(240)은 애플리케이션을 구매하는 절차일 수 있다.
상기 서버(130)는 상기 앱 요청 메시지에 포함된 상기 장치 식별 정보를 기반으로 라이선스 데이터를 생성한다. 상기 라이선스 데이터에는 상기 장치 식별정보를 기반으로 생성된 서명 정보를 포함한다. 상기 서명 정보는 이후 검증 과정을 통해 해당 장치 식별 정보를 가진 카메라 장치를 위해 해당 인증서가 발급된 것임을 알 수 있게 한다. 또한, 이와 같은 서명 정보를 포함하도록 구성된 애플리케이션 데이터(또는 앱 데이터)는 검증 과정을 통해 장치 식별 정보를 가지는 장치에서만 설치되고 실행될 수 있도록 제어할 수 있다.
본 명세서에서 기술하는 서명 데이터(signed data)는 전자 서명(signature)의 대상이 되는 데이터를 의미할 수 있으며, 전자 서명 데이터(signature data)는 서명 데이터에 전자 서명이 된 데이터를 의미할 수 있다.
또한, 상기 서명 정보는 서명 데이터, 전자 서명 등을 포함하는 개념일 수 있으며, 상기 서명 정보는 상기 라이선스 데이터에 포함될 수 있다.
또한, 상기 서명 데이터는 서명 데이터 정보에 포함될 수 있으며, 상기 서명 데이터 정보는 SignedData Data로 표현될 수 있다.
또한, 상기 전자 서명(signatures)는 전자 서명 데이터(Signature Data)에 포함될 수 있다.
이후, 상기 중계 장치(120)는 상기 카메라 장치(110)로 획득한 라이선스 데이터 및 애플리케이션 데이터를 전송하고, 상기 카메라 장치(110)는 라이선스 데이터를 검증한 후 애플리케이션 데이터를 카메라 장치에 설치한다(250). 여기서, 상기 라이선스 데이터는 상기 애플리케이션 데이터(또는 앱 데이터)에 포함될 수 있거나 또는 별개로 전송될 수 있다. 상기 카메라 장치(110)는 상기 라이선스 데이터에 포함된 서명 정보를 검증할 수 있다. 상기 서명 정보는 서명 데이터(signed data)를 포함하도록 구성될 수 있으며, 상기 서명 데이터는, 예를 들어, 애플리케이션 프로그램에 대한 다이제스트(digest) 데이터, 전자 서명 생성 및 검증에 사용되는 인증서 정보 및 장치 식별 정보를 포함할 수 있다. 또한, 서명 정보는 상기 서명 데이터에 대한 전자 서명(signature)을 포함하도록 구성될 수 있다. 이를 위하여 사용되는 암호화 키(cryptographic key)는 PKI(Public Key Infrastructure) 기반의 보안 프로토콜에 사용될 수 있는 키 쌍으로서, 상호 암호학적 관련성에 따라 생성된 개인키(private key) 및 공개키(public key) 쌍을 이용하여 전자 서명의 생성 및 검증 등의 기능을 수행하기 위해 사용될 수 있다.
실시 예에 따라, 상기 중계 장치(120)도 상기 라이선스 데이터를 검증하는 기능을 탑재하도록 구현될 수 있다. 만약, 상기 중계 장치(120)가 카메라 장치의 장치 식별 번호 목록을 관리하고 상기 서명 검증을 수행하도록 구성된 경우, 상기 중계 장치(120)는 상기 서명 정보 내의 장치 식별 번호를 확인한 후 확인된 장치 식별 번호와 매칭되는 카메라 장치를 선택하여 상기 애플리케이션 데이터를 전송할 수 있다.
도 3은 카메라 장치의 라이선스 검증 및 애플리케이션 설치 방법을 상세히 도시한 순서도이다. 도 3에 따른 동작 중 도 2를 참조하여 설명된 동작들과 중복되는 것들은 생략되었다.
중계 장치(120)는 사용자 인증 요청 메시지를 서버로 전송한다(211). 상기 인증 요청 메시지는 상기 서버(130)가 정한 인증 방식의 인증 요청 메시지에 해당한다. 상기 서버(130)는 인증 요청 메시지에 포함된 암호 등 인증데이터를 바탕으로 상기 서버(130) 내에 미리 저장된 값을 비교함으로써 사용자 인증을 수행할 수 있다(213). 또는, 다른 방식으로, 상기 서버(130)가 다른 방식 또는 외부의 인증 대행 서비스를 이용하여 상기 중계 장치(120)로부터 수신한 상기 인증 요청 메시지에 포함된 인증 데이터를 바탕으로 인증 동작(213)을 수행할 수 있다. 상기 서버(130)는 인증 동작(213) 수행 결과를 상기 중계 장치(120)로 전송한다.
이와 같은 사용자 인증 동작들(211, 213, 215)은 상기 중계 장치(120)와 이후 앱 구매 요청 동작(241)을 위해 필요한 것으로 이미 상기 중계 장치(120)와 사용자 인증이 이루어진 경우 생략될 수 있다.
상기 중계 장치(130)는 카메라 인증 요청을 상기 카메라 장치(110)에 전송하고(221), 상기 카메라 장치(110)는 상기 전송된 카메라 인증 요청에 포함된 인증 데이터를 바탕으로 인증 동작을 수행하고(223), 상기 카메라 인증의 결과를 상기 중계 장치(120)로 전송한다. 상기 카메라 인증 동작(223)은 상기 카메라 장치(110)와 상기 중계 장치(120) 사이에 수행되는 사용자 인증 또는 소유자 인증일 수 있다. 상기 카메라 인증 동작(223)은 상기 카메라 장치(110)의 소유자만 장치내 애플리케이션을 설치할 수 있도록 하기 위한 인증 과정일 수 있다. 상기 카메라 인증 동작(223)에는 예를 들어, 비대칭암호, 생체인식, 사용자이름/암호, 공유키(pre-shared key), 제조번호 인증 등의 다양한 방법이 부가적으로 사용될 수 있다.
상기 중계 장치(120)가 성공적인 카메라 인증에 대한 응답을 수신한 경우 상기 카메라 장치(110)로 앱 설치 요청 메시지를 생성할 것을 요청할 수 있다(227). 상기 앱 설치 요청 메시지를 수신한 상기 카메라 장치(110)는 장치 식별 정보 및 설치하려는 애플리케이션 정보를 포함한 앱 설치 요청 메시지를 생성한다(231).
상기 카메라 장치(110)가 상기 앱 설치 요청 메시지를 생성하는 동작은 상기 카메라 장치(110)의 장치 식별 정보를 획득하고, 획득된 상기 장치 식별 정보를 상기 카메라 장치(110)의 개인키로 암호화하고, 상기 개인키와 암호학적 상관관계가 있는 카메라 장치의 공개키 정보와 상기 암호화된 장치 식별 정보를 바탕으로 앱 설치 요청 메시지를 생성하는 동작을 포함할 수 있다.
상기 앱 설치 요청 메시지를 생성할 것을 요청하는 동작(227)에 대한 응답으로 상기 카메라 장치(110)는 상기 생성된 앱 설치 요청 메시지를 상기 중계 장치(120)에 전송할 수 있다(233).
한편, 구현에 따라서 상기 카메라 인증 관련 동작과 상기 앱 설치 요청 메시지 관련 동작들은 한 번의 요청 및 응답으로 구현될 수 있다. 즉, 구현에 따라서, 상기 카메라 인증 요청 동작(221) 및 상기 앱 설치 요청 메시지 생성 요청(227)을 의미하는 요청을 나타내는 단일 요청을 상기 중계 장치(120)가 상기 카메라 장치(110)로 전송하고, 그에 대한 응답으로 상기 카메라 인증 응답 동작(225) 및 상기 앱 설치 요청 메시지 응답 동작(233)을 의미하는 응답을 나타내는 단일 응답을 상기 카메라 장치(110)가 상기 중계 장치(120)로 전송할 수 있다.
상기 장치 식별 정보는 카메라 장치의 제조 또는 조립 과정에서 결정되는 하드웨어 정보일 수 있다. 상기 장치 식별 정보는, 예를 들어, 카메라 장치(110)에 포함된 통신 인터페이스의 MAC(Medium Access Control) 주소를 적어도 일부 포함할 수 있다. 또한, 상기 장치 식별 정보는 카메라 장치(110)에 포함된 카메라부, 제어부 또는 저장부의 적어도 일부에 더 기초하여 생성된 정보를 적어도 일부 포함할 수 있다. 그 밖에 상기 장치 식별 정보는 상기 카메라 장치 별로 임의로 할당된 정보일 수 있다. 또한, 상기 애플리케이션 정보는 애플리케이션 이름, UUID(Universally Unique Identifier) 또는 애플리케이션 URL(Uniform Resource Locator) 일 수 있다. 상기 애플리케이션 정보는 이전 동작에서 중계 장치(120)로부터 수신한 정보에 기반하여 생성된 것일 수 있다.
상기 중계 장치(120)는 상기 서버(130)로 상기 앱 설치 요청 메시지를 전달한다(241). 상기 앱 설치 요청 메시지를 수신한 상기 서버(130)는 상기 앱 설치 요청 메시지에 포함된 애플리케이션 정보에 따라 라이선스 데이터 및 애플리케이션 데이터를 준비하고(243), 이를 상기 중계 장치(120)에 전송한다. 상기 앱 설치 요청 메시지 내의 상기 장치 식별 정보는 암호화된 형태일 수 있으며, 이 경우 상기 요청 메시지를 수신한 상기 서버(130)는 상기 요청 메시지에 포함된 장치 식별 정보가 변경되었는지 여부를 확인하는 동작을 수행할 수 있다. 예를 들어, 상기 서버(130)는 상기 요청 메시지에 포함된 상기 카메라 장치(110)의 공개키를 이용하여 상기 암호화된 장치 식별 정보를 확인함으로써 상기 장치 식별 정보가 변경되지 않았음을 확인할 수 있다. 상기 서버(130)는 상기 장치 식별 정보가 변경된 것으로 판단되는 경우 앱 데이터 준비 동작을 수행하지 않고 상기 앱 설치 요청 메시지가 포함된 애플리케이션 구매 요청 메시지에 대응하여 거절하는 응답을 보낼 수 있다.
상기 애플리케이션 데이터는 최종적으로 설치되는 상기 카메라 장치(110)에서 실행될 애플리케이션 프로그램을 포함할 수 있으며, 상기 애플리케이션 데이터는 상기 애플리케이션 프로그램이 포함될 수 있으며, 압축된 형태 또는 다른 부가 정보들을 수반한 형태 일 수 있다.
상기 라이선스 데이터를 준비하는 동작은, 애플리케이션 프로그램을 확인하고 상기 앱 설치 요청 메시지에 포함된 정보를 바탕으로 상기 애플리케이션 프로그램에 대한 서명을 생성하는 동작을 포함한다. 상기 서버(130)는 상기 앱 설치 요청 메시지에 포함된 애플리케이션 정보에 따라 애플리케이션 프로그램을 선택하고, 마찬가지로 상기 앱 설치 요청 메시지에 포함된 장치 식별 정보를 바탕으로 상기 애플리케이션 프로그램에 대한 라이선스 데이터를 생성할 수 있다. 상기 라이선스 데이터는 상기 애플리케이션 프로그램에 대한 서명 정보를 포함할 수 있다. 한 예로서, 상기 서명 정보는 애플리케이션 프로그램에 대한 다이제스트(digest), 검증에 사용될 인증서(certificate) 및 장치 식별 정보를 포함하는 서명 데이터(signed data)에 대하여 상기 인증서와 관련된 개인키를 이용한 전자 서명한 값일 수 있다. 한 예로서, 상기 검증에 사용될 인증서는 배포 기관을 위해 발급된 인증서 일 수 있으며, 상기 배포 기관(publisher)은 상기 카메라 장치의 제조사(manufacturer), 상기 애플리케이션 프로그램의 제작자(author) 또는 그 밖의 기관일 수 있다. 한 실시예에 따른 라이선스 데이터의 구성을 도 4를 참조하여 후술한다.
상기 중계 장치(120)는 상기 애플리케이션 데이터와 상기 서명 정보를 포함하는 라이선스 데이터를 수신한 후, 이를 상기 카메라 장치(110)에 전달한다(251). 만약, 상기 중계 장치(120)가 복수의 카메라 장치들을 관리하는 경우, 상기 중계 장치(120)는 카메라 장치의 장치 식별 번호 목록을 관리할 수 있다. 만약, 상기 중계 장치(120)에서도 상기 관리하고 상기 서명 검증을 수행할 수 있다면, 상기 중계 장치(120)는 상기 서명 정보 내의 장치 식별 번호를 확인한 후 확인된 장치 식별 번호와 매칭되는 카메라 장치를 선택하여 상기 애플리케이션 데이터를 전송할 수 있다.
상기 카메라 장치(110)는 상기 애플리케이션 데이터와 상기 라이선스 데이터를 수신한 후 상기 라이선스 데이터를 검증한다(253). 여기서, 상기 라이선스 데이터는 상기 애플리케이션 데이터에 포함되어 전송되거나 또는 상기 애플리케이션 데이터와 별개로 수신될 수 있다. 상기 라이선스 데이터의 검증은 상기 라이선스 데이터에 포함된 서명 정보를 검증하는 동작을 포함한다. 상기 서명 정보의 검증은 상기 서명 정보에 상기 장치 식별 정보가 포함되었는지 여부를 판단하고, 상기 서명 정보가 유효한지 여부를 판단하는 동작을 포함한다. 상기 서명 정보는 서명 데이터(signed data) 및 상기 서명 데이터에 대한 전자 서명(signature)을 포함하도록 구성될 수 있으며, 상기 서명 데이터는, 예를 들어, 애플리케이션 프로그램에 대한 다이제스트(digest) 데이터, 전자 서명 생성 및 검증에 사용되는 인증서 정보 및 장치 식별 정보를 포함할 수 있다. 상기 서명 정보가 유효한지 여부는, 상기 전자 서명을 상기 인증서 정보에 포함된 공개키를 이용하여 확인한 결과가 상기 서명 데이터에 대응되는지 여부를 판단하는 것일 수 있다. 또한, 상기 서명 정보가 유효한지 여부는, 상기 전자 서명을 확인하기 위해 사용된 인증서가 인증기관에 의해 적법하게 발급된 것인지 여부를 판단하는 것일 수 있다. 상기 인증기관에 의해 적법하게 발급된 것인지 여부는 상기 인증서를 발급한 기관이 속한 생태계(ecosystem)의 관리기관의 인증서에 기반하여 상기 인증서를 연쇄 검증하는 동작을 포함할 수 있다. 상기 카메라 장치(110)의 경우, 예를 들어, 상기 인증서는 상기 카메라 제조사 또는 애플리케이션 제작자 등 배포 기관을 위해 발급된 인증서일 수 있으며, 상기 관리 기관의 인증서는 상기 카메라 제조사 등이 속한 컨소시엄, 네트워크 운용사 등 관리 기관을 위해 발급된 인증서 일 수 있다.
또한, 상기 장치 식별 정보가 포함되었는지 여부는 상기 서명 정보가 유효한 것으로 판단된 경우 상기 서명 데이터 내의 상기 장치 식별 정보가 상기 카메라 장치(110)에서 획득한 장치 식별 정보와 동일한지 여부를 판단하는 것일 수 있다. 상기 장치 식별 정보는, 예를 들어, 카메라 장치(110)에 포함된 통신 인터페이스의 MAC(Medium Access Control) 주소를 적어도 일부 포함할 수 있다. 또한, 상기 장치 식별 정보는 카메라 장치(110)에 포함된 카메라부, 제어부 또는 저장부의 적어도 일부에 더 기초하여 생성된 정보를 적어도 일부 포함할 수 있다. 그 밖에 상기 장치 식별 정보는 상기 카메라 장치 별로 임의로 할당된 정보일 수 있다.
상기 라이선스 데이터에 대한 검증이 성공적인 경우 상기 카메라 장치(110)는 상기 애플리케이션 데이터를 설치할 수 있다(255). 그 후 상기 카메라 장치(110)는 상기 설치 동작의 결과를 상기 중계 장치(120)에 전송할 수 있다. 상기 중계 장치(120)는 상기 설치 동작의 결과를 기초로 카메라 장치의 애플리케이션 설치 현황을 관리할 수 있으며 및 장치 식별 정보 등을 관리할 수 있다.
도 4는 라이선스 데이터의 구성의 예를 도시한다. 본 명세서에 개시된 실시 예에 따른 라이선스 데이터(400)는 서명 데이터(signed data, 410), 전자 서명(signatures, 420) 및 공개키(public key, 430)을 포함할 수 있다.
여기서, 서명 정보는 상기 서명 데이터 및 상기 전자 서명을 포함하는 용어로 사용될 수 있다. 상기 전자 서명은 단순히 '서명'으로 표현될 수도 있다.
상기 서명 데이터(signed data, 410)는 다이제스트(digests, 411), 인증서(certificates, 412), MinSDK(Software Development Kit), MaxSDK, 추가 특성(additional attributes, 413) 정보 등을 포함할 수 있다. 상기 다이제스트는 서명에 사용된 알고리즘의 종류를 식별하기 위한 서명 알고리즘 ID(411-1) 및 다이제스트(digest)(411-2)를 포함할 수 있다. 상기 추가 특성 정보는 장치를 식별하기 위한 장치 식별 정보 즉, ID(identifier, 413-1) 및 값(value, 413-2)을 포함할 수 있다. 그리고, 상기 서명 또는 전자 서명(signatures, 420)은 서명에 사용된 알고리즘의 종류를 식별하기 위한 서명 알고리즘 ID(421) 및 서명된 데이터에 대한 서명(signature over signed data, 422)를 포함할 수 있다.
상기 라이선스 데이터는 각 기기(또는 장치 또는 디바이스) 별로 설치되는 애플리케이션(또는 앱 또는 APP) 별로 고유한 정보(예: 디바이스 고유 ID)를 포함한다.
카메라 장치는 도 4의 구성을 포함하여 수신된 라이선스 데이터에 포함된 인증서 및 장치 식별 정보(예: 장치 ID)에 기초하여 라이선스 데이터의 검증을 수행하고, 이를 통해 애플리케이션 데이터의 설치 또는 실행 여부를 결정할 수 있다. 여기서, 상기 라이선스 데이터가 상기 애플리케이션 데이터에 포함되는 경우, 상기 라이선스 데이터의 검증은 애플리케이션 데이터의 검증으로 해석될 수도 있다.
보다 구체적으로, 상기 카메라 장치는 라이선스 데이터에 포함된 서명 정보를 통해 서명 검증을 수행하고, 상기 라이선스 데이터에 포함된 장치 식별 정보(예: 제1 장치 식별 정보)와 자신의 식별 정보(예: 제2 장치 식별 정보)의 매칭 여부를 판단하여 애플리케이션 데이터의 설치 또는 실행 여부를 결정할 수 있다.
여기서, 상기 제2 장치 식별 정보는 앞서 살핀 앱 요청 메시지에 포함된 장치 식별 정보일 수 있다.
여기서, 서명 검증을 수행하는 절차는 OSSA 인증서를 통해 체인을 검증하는 절차를 더 포함할 수 있다.
즉, 상기 카메라 장치는 상기 서명 검증이 유효하고, 장치 식별 정보가 매칭되는 경우, 상기 카메라 장치는 상기 애플리케이션 데이터(또는 애플리케이션)를 설치 또는 실행할 수 있다.
여기서, 애플리케이션을 서명하는 개인키와 인증서는 디바이스 별로 동일할 수 있으나, 라이선스 데이터에 포함되는 디바이스 별 고유 ID가 다르기 때문에 디바이스 별로 생성되는 애플리케이션은 모두 다르게 되어, 특정 디바이스 ID에서만 애플리케이션의 설치 또는 수행이 가능할 수 있다. 이런 점으로 인해, 본 명세서에서 제안하는 라이선스 데이터 또는 애플리케이션 데이터의 검증은 기존의 방식과 다른 특징이 있다.
도 5는 카메라 장치의 라이선스 검증 및 애플리케이션 설치 방법을 간단하게 도시한 순서도이다. 도 3과 비교하여 중복되는 동작에 대한 설명은 생략되었다.
카메라 장치(110)는 카메라 인증 후 설치 요청 메시지를 생성(231)하고, 이를 중계 장치(120)에 전송한다. 상기 설치 요청 메시지에는 상기 카메라 장치(110)의 장치 식별 정보가 포함된다. 상기 중계 장치(120)는 수신한 상기 설치 요청 메시지를 기반으로 사용자 인증을 마친 서버(130)로 전송하고, 상기 서버(130)는 상기 설치 요청 메시지에 포함된 장치 식별 정보 및 애플리케이션 정보를 바탕으로, 애플리케이션 데이터 및 라이선스 데이터를 생성하고(243), 이를 중계 장치로 반환한다(245). 상기 중계 장치(120)는 상기 애플리케이션 데이터 및 라이선스 데이터를 상기 카메라 장치(110)에 전송하고 상기 카메라 장치(110)는 전술된 바와 같이 상기 라이선스 데이터를 성공적으로 검증한 경우 상기 애플리케이션 데이터를 설치할 수 있다.
도 6은 일 실시예에 따른 카메라 장치를 도시한다. 카메라 장치(600)는 통신부(610), 카메라부(620) 및 제어부(690)를 포함하도록 구성될 수 있다. 상기 통신부(610)는 중계 장치와 통신을 수행하도록 구성될 수 있다. 상기 카메라부(620)는 시스템 설정에 따라 이미지 센서를 통해 주위의 영상을 획득하도록 구성되어 있다. 상기 제어부(690)는 상기 통신부(610) 및 상기 카메라부(620)와 전기적으로 연결되어, 이들을 제어하는 프로그램을 실행하도록 설정되어 있다. 상기 제어부(690)는 상기 중계 장치로부터 인증 요청을 수신하는 동작, 상기 중계 장치가 성공적으로 인증된 후, 애플리케이션 설치를 서버에 요청하는 요청 메시지를 상기 인증된 중계 장치로 전송하는 동작을 수행할 수 있다. 상기 요청 메시지는 상기 카메라 장치(600)의 장치 식별 정보를 포함할 수 있으며, 상기 장치 식별 정보는 상기 통신부(610)에 MAC 주소 또는 상기 카메라부(620)의 일련번호 등 시스템 정보의 적어도 일부에 기초하여 생성될 수 있다.
상기 제어부(690)는 상기 중계 장치로부터 서명 정보 및 애플리케이션 데이터를 수신하는 동작, 상기 서명 정보에 상기 장치 식별 정보가 포함되었는지 여부 및 상기 서버가 수행한 상기 서명 정보가 유효한지 여부에 대한 판단을 포함하는 라이선스 검증을 수행할 수 있다.
상기 제어부(690)는 상기 라이선스 검증이 성공적인 경우 상기 애플리케이션 데이터를 상기 장치에 설치하는 동작을 수행할 수 있다.
본 명세서에 개시된 실시예들에 따른 프로그램 라이선스 관리 방법은 컴퓨터로 읽을 수 있는 기록 매체에서 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 명세서의 기술이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
이상에서 본 명세서의 기술에 대한 바람직한 실시 예가 첨부된 도면들을 참조하여 설명되었다. 여기서, 본 명세서 및 청구 범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니되며, 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 한다.
본 발명의 범위는 본 명세서에 개시된 실시 예들로 한정되지 아니하고, 본 발명은 본 발명의 사상 및 특허청구범위에 기재된 범주 내에서 다양한 형태로 수정, 변경, 또는 개선될 수 있다.
110: 카메라 관리 시스템 110: 카메라 장치
120: 중계장치 130: 서버

Claims (15)

  1. 중계 장치로부터 인증 요청을 수신하는 동작;
    상기 중계 장치가 성공적으로 인증된 후, 애플리케이션 설치를 서버에 요청하는 요청 메시지를 상기 인증된 중계 장치로 전송하는 동작, 상기 요청 메시지는 카메라 장치의 장치 식별 정보를 포함하고;
    상기 중계 장치로부터 서명 정보 및 애플리케이션 데이터를 수신하는 동작;
    상기 서명 정보에 상기 장치 식별 정보가 포함되었는지 여부 및 상기 서버가 수행한 상기 서명 정보가 유효한지 여부에 대한 판단을 포함하는 라이선스 검증을 수행하는 동작; 및
    상기 라이선스 검증이 성공적인 경우 상기 애플리케이션 데이터를 상기 장치에 설치하는 동작을 포함하는 프로그램 라이선스 관리 방법.
  2. 제1항에 있어서, 상기 요청 메시지를 생성하는 동작을 더 포함하되,
    상기 요청 메시지 생성 동작은
    장치 식별 정보를 카메라 장치의 개인키로 암호화하는 동작; 및
    상기 개인키와 암호학적 상관관계가 있는 공개키 정보 및 상기 암호화된 장치 식별 정보를 바탕으로 상기 요청 메시지를 생성하는 동작을 포함하는 프로그램 라이선스 관리 방법.
  3. 제1항에 있어서,
    상기 서명 정보는 배포 기관의 인증서, 서명 데이터 및 상기 서명 데이터에 대한 전자 서명을 포함하고,
    상기 서명 정보가 유효한지 여부는
    상기 배포 기관의 인증서에 포함된 공개키를 이용하여 상기 전자 서명을 검증하여 상기 서명 데이터가 복원되는지 여부에 대한 판단인 프로그램 라이선스 관리 방법.
  4. 제3항에 있어서, 상기 서명 정보가 유효한지 여부는
    상기 배포 기관이 속한 생태계(ecosystem)의 관리 기관의 인증서에 기반하여 상기 배포 기관의 인증서가 유효한지 여부에 대한 연쇄 검증(chain validation)을 포함하는 프로그램 라이선스 관리 방법.
  5. 제3항에 있어서, 상기 장치 식별 정보가 포함되었는지 여부는
    상기 서명 데이터에 포함된 장치 식별 정보가 상기 요청 메시지로 전송한 상기 장치 식별 정보와 동일한지 여부를 판단하는 것을 포함하는 프로그램 라이선스 관리 방법.
  6. 카메라 장치로부터 장치 식별 정보를 포함하는 애플리케이션 설치 요청 메시지를 수신하는 동작;
    상기 설치 요청 메시지를 서버로 전송하는 동작;
    상기 서버로부터 상기 설치 요청 메시지에 대한 응답으로 상기 장치 식별 정보 및 애플리케이션 정보를 포함하는 서명 정보와 애플리케이션 데이터를 수신하는 동작;
    상기 카메라 장치로 상기 서명 정보 및 상기 애플리케이션 데이터를 전송하는 동작을 포함하는 프로그램 라이선스 관리 방법.
  7. 제6항에 있어서,
    상기 카메라 장치로 카메라 인증 요청을 전송하는 동작을 더 포함하고,
    상기 카메라 인증 요청에 따른 인증이 성공한 경우 상기 카메라 장치로부터 상기 애플리케이션 설치 요청 메시지를 수신하는 프로그램 라이선스 관리 방법.
  8. 제7항에 있어서,
    상기 카메라 인증 결과 상기 카메라 장치로부터 애플리케이션 설치를 지시할 수 있는 권한을 획득하는 프로그램 라이선스 관리 방법.
  9. 제6항에 있어서, 상기 설치 요청 메시지는 상기 애플리케이션을 구매하는 요청 메시지에 포함되어 상기 서버로 전송되는 프로그램 라이선스 관리 방법.
  10. 제9항에 있어서, 상기 카메라 장치에 대한 정보에 기초하여 상기 서버의 접속 주소를 결정하는 동작을 더 포함하는 프로그램 라이선스 관리 방법.
  11. 제10항에 있어서, 상기 카메라 장치에 대한 정보에 기초하여 상기 서버의 주소를 결정하는 동작을 더 포함하는 프로그램 라이선스 관리 방법.
  12. 중계 장치의 사용자 인증 정보를 기초로 사용자 인증을 수행하는 동작;
    상기 사용자 인증이 성공적인 경우, 카메라 장치에서 생성된 앱 설치 요청 메시지를 수신하는 동작;
    상기 앱 설치 요청 메시지에 포함된 장치 식별 정보 및 인증서를 포함하는 서명 데이터를 대상으로 개인키를 이용하여 전자서명을 생성하는 동작;
    상기 전자 서명 및 상기 서명 데이터를 기반으로 서명 정보를 생성하는 동작; 및
    상기 서명 정보 및 애플리케이션 데이터를 상기 중계 장치로 전송하는 동작을 포함하는 프로그램 라이선스 관리 방법.
  13. 제12항에 있어서,
    상기 앱 설치 요청 메시지는 암호화된 장치 식별 정보 및 상기 카메라 장치의 공개키를 포함하고,
    상기 장치 식별 정보는 상기 암호화된 장치 식별 정보로부터 상기 카메라 장치의 공개키를 이용하여 복호화함으로써 획득되는 프로그램 라이선스 관리 방법.
  14. 제12항에 있어서,
    상기 앱 설치 요청 메시지는 암호화된 장치 식별 정보 및 상기 카메라 장치의 공개키를 포함하고,
    상기 장치 식별 정보는 상기 암호화된 장치 식별 정보로부터 상기 카메라 장치의 공개키를 이용하여 복호화함으로써 획득되는 프로그램 라이선스 관리 방법.
  15. 중계 장치와 통신을 수행하는 통신부; 및
    상기 통신부와 전기적으로 연결되어, 이를 제어하는 프로그램을 실행하도록 설정된 제어부를 포함하되,
    상기 제어부는
    중계 장치로부터 인증 요청을 수신하는 동작;
    상기 중계 장치가 성공적으로 인증된 후, 애플리케이션 설치를 서버에 요청하는 요청 메시지를 상기 인증된 중계 장치로 전송하는 동작, 상기 요청 메시지는 카메라 장치의 장치 식별 정보를 포함하고;
    상기 중계 장치로부터 서명 정보 및 애플리케이션 데이터를 수신하는 동작;
    상기 서명 정보에 상기 장치 식별 정보가 포함되었는지 여부 및 상기 서버가 수행한 상기 서명 정보가 유효한지 여부에 대한 판단을 포함하는 라이선스 검증을 수행하는 동작; 및
    상기 라이선스 검증이 성공적인 경우 상기 애플리케이션 데이터를 상기 장치에 설치하는 동작을 수행하는 명령어를 포함하는 프로그램을 실행하도록 설정된 카메라 장치.
KR1020200134679A 2020-10-16 2020-10-16 중계 장치를 통한 카메라 장치 내 애플리케이션의 라이선스 관리 KR20220050702A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200134679A KR20220050702A (ko) 2020-10-16 2020-10-16 중계 장치를 통한 카메라 장치 내 애플리케이션의 라이선스 관리
US17/498,763 US20220124245A1 (en) 2020-10-16 2021-10-12 Software application license management of camera device through mediation device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200134679A KR20220050702A (ko) 2020-10-16 2020-10-16 중계 장치를 통한 카메라 장치 내 애플리케이션의 라이선스 관리

Publications (1)

Publication Number Publication Date
KR20220050702A true KR20220050702A (ko) 2022-04-25

Family

ID=81185869

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200134679A KR20220050702A (ko) 2020-10-16 2020-10-16 중계 장치를 통한 카메라 장치 내 애플리케이션의 라이선스 관리

Country Status (2)

Country Link
US (1) US20220124245A1 (ko)
KR (1) KR20220050702A (ko)

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8898469B2 (en) * 2010-02-05 2014-11-25 Motorola Mobility Llc Software feature authorization through delegated agents
US9270660B2 (en) * 2012-11-25 2016-02-23 Angel Secure Networks, Inc. System and method for using a separate device to facilitate authentication
US9742570B2 (en) * 2015-05-22 2017-08-22 Garret Grajek Securing multimedia content via certificate-issuing cloud service
US9992681B2 (en) * 2015-08-07 2018-06-05 Qualcomm Incorporated Subsystem for authorization and activation of features
TWI621964B (zh) * 2016-04-11 2018-04-21 群暉科技股份有限公司 透過行動裝置所執行的授權碼認證方法及相關的電腦程式產品
KR102485857B1 (ko) * 2017-09-21 2023-01-05 한화테크윈 주식회사 장치 결합 정보를 포함하는 인증서를 이용한 네트워크 카메라 인증
JP7187351B2 (ja) * 2019-02-27 2022-12-12 キヤノン株式会社 デバイス管理サーバー、その制御方法及びプログラム
US11790053B2 (en) * 2019-03-13 2023-10-17 Ricoh Company, Ltd. Information processing system, server, non-transitory computer-readable medium, and method for controlling assignment of license
US11444935B2 (en) * 2019-12-11 2022-09-13 Arris Enterprises Llc Certificate-based client authentication and authorization for automated interface
JP2021124973A (ja) * 2020-02-05 2021-08-30 キヤノン株式会社 情報処理システムおよびその制御方法、並びにプログラム
JP2021136664A (ja) * 2020-02-28 2021-09-13 キヤノン株式会社 デバイス、制御方法、およびプログラム

Also Published As

Publication number Publication date
US20220124245A1 (en) 2022-04-21

Similar Documents

Publication Publication Date Title
JP7280396B2 (ja) 機器の安全なプロビジョニングと管理
US20160365983A1 (en) Code signing system with machine to machine interaction
CN101194229B (zh) 更新数据指令的方法和设备
US10284374B2 (en) Code signing system with machine to machine interaction
CN111108735A (zh) 资产更新服务
US9160723B2 (en) Framework for provisioning devices with externally acquired component-based identity data
JP6609788B1 (ja) 情報通信機器、情報通信機器用認証プログラム及び認証方法
US20230164136A1 (en) Authenticating a networked camera using a certificate having device binding information
CN113572728B (zh) 认证物联网设备的方法、装置、设备及介质
KR20040099253A (ko) 서버 장치 및 프로그램 관리 시스템
US20090210719A1 (en) Communication control method of determining whether communication is permitted/not permitted, and computer-readable recording medium recording communication control program
US11809528B2 (en) Terminal hardware configuration system
KR20220050702A (ko) 중계 장치를 통한 카메라 장치 내 애플리케이션의 라이선스 관리
WO2021134712A1 (zh) 一种负载认证方法及系统、可移动平台、负载、转接装置
KR102028906B1 (ko) 존 통신 시스템 및 방법
CN114884689A (zh) 一种远程证明方法及装置
KR20100064057A (ko) Drm 도메인 생성 방법