KR20110093468A - 사용자 단말 장치, 서버 및 그 제어 방법 - Google Patents

사용자 단말 장치, 서버 및 그 제어 방법 Download PDF

Info

Publication number
KR20110093468A
KR20110093468A KR1020100013528A KR20100013528A KR20110093468A KR 20110093468 A KR20110093468 A KR 20110093468A KR 1020100013528 A KR1020100013528 A KR 1020100013528A KR 20100013528 A KR20100013528 A KR 20100013528A KR 20110093468 A KR20110093468 A KR 20110093468A
Authority
KR
South Korea
Prior art keywords
application content
encrypted
file
user terminal
license
Prior art date
Application number
KR1020100013528A
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 KR1020100013528A priority Critical patent/KR20110093468A/ko
Priority to EP11151321A priority patent/EP2357585A3/en
Priority to US13/012,461 priority patent/US9547757B2/en
Priority to CN2011100368005A priority patent/CN102163153A/zh
Publication of KR20110093468A publication Critical patent/KR20110093468A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • 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/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
    • 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]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security

Abstract

사용자 단말 장치가 개시된다. 사용자 단말 장치는, 적어도 일 부분이 암호화된 어플리케이션 컨텐츠를 수신하는 통신 인터페이스부, 수신된 어플리케이션 컨텐츠를 저장하는 저장부, 어플리케이션 컨텐츠를 복호화하는 복호화부, 어플리케이션 컨텐츠를 실행하기 위한 실행 명령을 입력받는 사용자 인터페이스부 및, 저장부에 저장된 어플리케이션 컨텐츠를 암호화된 상태로 설치하고, 실행 명령에 따라 설치된 어플리케이션 컨텐츠를 복호화하도록 상기 복호화부를 제어하는 제어부를 포함한다. 이에 따라 실행가능한 컨텐츠인 어플리케이션을 사용자 단말로 안전하게 다운로드하여 안전하게 설치, 사용 및 업데이트 할 수 있게 된다.

Description

사용자 단말 장치, 서버 및 그 제어 방법{User terminal device, server and control method thereof}
본 발명은 사용자 단말 장치, 서버 및 그 제어 방법에 관한 것으로서, 보다 구체적으로는, 부분적으로 암호화된 어플리케이션 컨텐츠를 이용하는 사용자 단말 장치, 서버 및 그 제어 방법에 관한 것이다.
종래 DRM 시스템은 문서, 음악, 영화와 같이 다른 플레이어에 의해 재생되는 수동적인 디지털 컨텐츠의 권한 관리를 위해 설계되었으며 이런 DRM 시스템을 실행 가능한 디지털 컨텐츠인 어플리케이션 보호용으로 차용하여 사용해왔다. 이러한 방식은 디지털 컨텐츠를 전체적으로 암호화하고 그 암호화 키를 라이선스라는 제공자의 서명이 추가된 객체에 포함시켜 배포하는 방식이다. 이렇게 배포된 컨텐츠와 라이선스는 사용자의 단말기에 설치되어 지정된 DRM 클라이언트에 의해 라이선스가 파싱되고 그 과정에서 얻은 암호화키로 컨텐츠를 복호화하여 지정된 뷰어나 플레이어에 의해 실행된다.
하지만, 종래 음악이나 영화와 같은 디지털 컨텐츠 보호용으로 설계된 DRM 시스템에서는 컨텐츠가 전체적으로 암호화되어 있다 하더라도 데이터 중 앞 부분이 재생되는 동안 뒷부분을 복호화하여 연속적으로 제공하면 되므로 컨텐츠의 암호화가 컨텐츠의 재생 시간에 큰 영향을 주지 않지만, 어플리케이션의 암호화의 경우 암호화되어 있는 파일을 먼저 전체적으로 복호화하고 실행하여야 하기 때문에 복호화 시간이 크면 클수록 어플리케이션의 실행 시간에 큰 영향을 미친다. 이러한 실행 시간의 지체는 어플리케이션의 사용상의 불편함을 유발하고 구매 의욕을 떨어뜨리는 문제가 있다.
또한 음악, 영화와 같은 컨텐츠의 경우에는 한 번 다운로드 받으면 그 컨텐츠를 업데이트 하는 경우가 거의 없는 반면 어플리케이션의 경우에는 빈번하게 패치 및 업데이트되어야 한다. 하지만, 기존의 DRM 시스템에서는 이러한 업데이트의 경우 라이선스를 재발급 받는 프로토콜이 설계되지 않았기 때문에 기존의 DRM 시스템을 어플리케이션 보호용으로 그대로 사용하는 것은 어렵다는 문제점이 있다.
마지막으로, 실행 불가능한 컨텐츠의 보호가 주목적이었기 때문에 컨텐츠의 기밀성 보장을 주요한 설계 목표로 하였다. 하지만, 어플리케이션 보호를 위해서는 그것의 기밀성보다는 단말과의 강한 결합성이 보다 중요하므로 이를 해결하기 위한 방안이 요구된다.
본 발명은 상술한 문제점을 해결하기 위한 것으로 본 발명의 목적은 부분적으로 암호화된 어플리케이션 컨텐츠를 이용하는 사용자 단말 장치, 서버 및 그 제어 방법을 제공함에 있다.
이상과 같은 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 사용자 단말 장치는, 적어도 일 부분이 암호화된 어플리케이션 컨텐츠를 수신하는 통신 인터페이스부, 상기 수신된 어플리케이션 컨텐츠를 저장하는 저장부, 상기 어플리케이션 컨텐츠를 복호화하는 복호화부, 상기 어플리케이션 컨텐츠를 실행하기 위한 실행 명령을 입력받는 사용자 인터페이스부, 상기 저장부에 저장된 어플리케이션 컨텐츠를 암호화된 상태로 설치하고, 상기 실행 명령에 따라 상기 설치된 어플리케이션 컨텐츠를 복호화하도록 상기 복호화부를 제어하는 제어부를 포함한다.
여기서, 상기 어플리케이션 컨텐츠는, 부분적으로 암호화된 것일 수 있다.
또한, 상기 어플리케이션 컨텐츠는, 암호화 영역과 비암호화 영역으로 구성된 적어도 하나의 파일을 포함하는 것일 수 있다.
이 경우, 상기 적어도 하나의 파일은 기설정된 크기의 블럭 단위로 구분되고, 적어도 하나의 블럭은 암호화 영역과 비암호화 영역을 포함할 수 있다.
또한, 상기 암호화 영역과 비암호화 영역을 포함하는 파일은, 상기 어플리케이션 컨텐츠을 실행하기 위한 실행 파일이 될 수 있다.
또한, 상기 어플리케이션 컨텐츠의 라이선스를 파싱하고, 상기 어플리케이션 컨텐츠를 복호화하기 위한 복호화 키를 획득하는 라이선스 파싱부를 더 포함하며, 상기 복호화부는, 상기 복호화 키를 이용하여 상기 설치된 암호화된 어플리케이션 컨텐츠를 복호화할 수 있다.
또한, 상기 복호화부는, 트러스티드 플랫폼(Trusted Platform)에 기반하여 부팅시 권한이 있는 사용자만 접근할 수 있는 시큐어 부트(Secure Boot) 기능으로 보호될 수 있다.
또한, 상기 제어부는, 상기 어플리케이션 컨텐츠에 대한 업데이트를 서버에 요청하며, 상기 서버로부터 상기 어플리케이션 컨텐츠를 구성하는 복수 개의 파일 중 업데이트가 필요한 파일을 수신하며, 업데이트될 컨텐츠의 신규 라이선스를 수신하도록 제어할 수 있다.
또한, 본 발명의 일 실시 예에 따른 서버는, 적어도 하나의 어플리케이션 컨텐츠를 암호화하는 암호화부, 상기 부분적으로 암호화된 어플리케이션 컨텐츠를 사용자 단말 장치로 전송하는 통신 인터페이스부 및 상기 어플리케이션 컨텐츠를 부분적으로 암호화하도록 상기 암호화부를 제어하는 제어부를 포함할 수 있다.
여기서, 상기 암호화부는, 상기 어플리케이션 컨텐츠를 구성하는 적어도 하나의 파일이 암호화 영역과 비암호화 영역을 포함하도록 상기 암호화를 수행할 수 있다.
또한, 상기 암호화부는, 상기 파일을 기설정된 크기의 블럭 단위로 구분하고, 적어도 하나의 블럭이 암호화 영역과 비암호화 영역을 포함하도록 상기 암호화를 수행할 수 있다.
이 경우, 상기 암호화 영역과 비암호화 영역을 포함하는 파일은, 상기 어플리케이션 컨텐츠를 실행하기 위한 실행 파일이 될 수 있다.
또한, 상기 부분적으로 암호화된 어플리케이션 컨텐츠를 복호화하기 위한 복호화키를 포함하는 라이선스를 발급하는 라이선스 발급부를 더 포함할 수 있다.
또한, 상기 제어부는, 상기 사용자 단말 장치로부터 상기 어플리케이션 컨텐츠에 대한 업데이트 요청을 수신하면, 상기 어플리케이션 컨텐츠를 구성하는 복수 개의 파일 중 업데이트가 필요한 파일을 상기 사용자 단말 장치로 전송하도록 제어할 수 있다.
또한, 상기 제어부는, 상기 업데이트 요청시 상기 어플리케이션 컨텐츠의 ID, 현 버전 정보, 및 라이선스(License)를 수신하면, 상기 라이선스 발급부에서 업데이트될 컨텐츠에 대한 신규 라이선스를 재발급하도록 제어하고, 상기 재발급된 라이선스 및 상기 업데이트될 컨텐츠의 신규 버전 정보를 상기 사용자 단말 장치로 전송하도록 제어할 수 있다.
한편, 본 발명의 일 실시 예에 따른 사용자 단말 장치의 제어 방법은, 적어도 일 부분이 암호화된 어플리케이션 컨텐츠를 수신하는 단계, 상기 수신된 암호화된 어플리케이션 컨텐츠를 저장하는 단계, 상기 저장된 암호화된 어플리케이션 컨텐츠를 암호화된 상태로 설치하는 단계, 상기 암호화된 어플리케이션 컨텐츠를 실행하기 위한 실행 명령에 따라 상기 암호화된 어플리케이션 컨텐츠를 복호화하는 단계를 포함할 수 있다.
여기서, 상기 어플리케이션 컨텐츠는, 부분적으로 암호화된 것일 수 있다.
또한, 상기 어플리케이션 컨텐츠는, 암호화 영역과 비암호화 영역으로 구성된 적어도 하나의 파일을 포함할 수 있다.
이 경우, 상기 적어도 파일은 기설정된 크기의 블럭 단위로 구분되고, 적어도 하나의 블럭은 암호화 영역과 비암호화 영역을 포함할 수 있다.
또한, 상기 암호화 영역과 비암호화 영역으로 구성된 파일은, 상기 어플리케이션 컨텐츠를 실행하기 위한 실행 파일이 될 수 있다.
또한, 상기 어플리케이션 컨텐츠의 라이선스를 파싱하고, 상기 어플리케이션 컨텐츠를 복호화하기 위한 복호화 키를 획득하는 단계를 더 포함하며, 상기 복호화 단계는, 상기 복호화 키를 이용하여 복호화를 수행할 수 있다.
또한, 상기 복호화 단계는, 트러스티드 플랫폼(Trusted Platform)에 기반하여 부팅시 권한이 있는 사용자만 접근할 수 있는 시큐어 부트(Secure Boot) 기능으로 보호될 수 있다.
또한, 상기 어플리케이션 컨텐츠에 대한 업데이트를 서버에 요청하는 단계 및, 상기 서버로부터 상기 어플리케이션 컨텐츠를 구성하는 복수 개의 파일 중 업데이트가 필요한 파일 및 업데이트될 어플리케이션 컨텐츠에 대해 재발급된 신규라이선스를 수신하는 단계를 더 포함할 수 있다.
또한, 본 발명의 일 실시 예에 따른 서버의 제어 방법은, 적어도 하나의 어플리케이션 컨텐츠를 부분적으로 암호화하는 단계 및, 상기 부분적으로 암호화된 어플리케이션 컨텐츠를 사용자 단말 장치로 전송하는 단계를 포함할 수 있다.
또한, 상기 부분적 암호화 단계는, 상기 어플리케이션 컨텐츠를 구성하는 적어도 하나의 파일이 암호화 영역과 비암호화 영역을 포함하도록 상기 암호화를 수행할 수 있다.
또한, 상기 부분적 암호화 단계는, 상기 파일을 기설정된 크기의 블럭 단위로 구분하고, 적어도 하나의 블럭이 암호화 영역과 비암호화 영역을 포함하도록 상기 암호화를 수행할 수 있다.
여기서, 상기 암호화 영역과 비암호화 영역을 포함하는 파일은, 상기 어플리케이션 컨텐츠을 실행하기 위한 실행 파일이 될 수 있다.
또한, 상기 부분적으로 암호화된 어플리케이션 컨텐츠를 복호화하기 위한 복호화키를 포함하는 라이선스를 발급하는 단계를 더 포함할 수 있다.
또한, 상기 사용자 단말 장치로부터 상기 어플리케이션 컨텐츠에 대한 업데이트 요청을 수신하는 단계 및, 업데이트 요청된 상기 어플리케이션 컨텐츠를 구성하는 복수 개의 파일 중 업데이트가 필요한 파일을 상기 사용자 단말 장치로 전송하는 단계를 더 포함할 수 있다.
또한, 상기 업데이트 요청시 상기 컨텐츠의 ID, 상기 컨텐츠의 현 버전 정보, 및 라이선스(License)를 수신하는 단계, 업데이트될 컨텐츠에 대한 신규 라이선스를 재발급하는 단계 및, 상기 재발급된 라이선스 및 상기 업데이트될 컨텐츠의 신규 버전 정보를 상기 사용자 단말 장치로 전송하는 단계를 더 포함할 수 있다.
이에 따라 실행가능한 컨텐츠인 어플리케이션을 사용자 단말로 안전하게 다운로드하여 안전하게 설치, 사용 및 업데이트 할 수 있게 된다.
도 1은 본 발명에 따른 DRM 시스템의 개략적 구성을 나타내는 블럭도이다.
도 2는 본 발명의 일 실시 예에 따른 사용자 단말 장치의 구성을 나타내는 블럭도이다.
도 3은 본 발명의 일 실시 예에 따른 서버의 구성을 나타내는 블럭도이다.
도 4a 내지 4c는 본 발명의 다양한 실시 예에 따른 부분 암호화 방식을 설명하기 위한 도면들이다.
도 5는 본 발명의 일 실시 예에 따른 사용자 단말의 소프트웨어 플랫폼의 구성을 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시 예에 따른 사용자 단말 장치의 제어 방법을 설명하기 위한 흐름도이다.
도 7은 본 발명의 일 실시 예에 따른 서버의 제어 방법을 설명하기 위한 흐름도이다.
도 8은 본 발명의 다른 실시 예에 따른 어플리케이션 컨텐츠 업데이트 방법을 설명하기 위한 시퀀스도이다.
도 9a 내지 도 9c는 본 발명에 따른 어플리케이션 컨텐츠에 적용되는 라이선스의 구조를 나타내는 도면들이다.
도 10은 본 발명의 일 실시 예에 따른 부분 암호화 구성의 효과를 설명하기 위한 도면이다.
이하에서, 첨부된 도면을 참조하여 본 발명에 대하여 구체적으로 설명한다.
도 1은 본 발명에 따른 DRM 시스템의 개략적 구성을 나타내는 블럭도이다.
도 1에 도시된 DRM 시스템은 DRM 클라이언트(100) 및 DRM 서버(200)를 포함한다.
본 디지털 컨텐츠 권한 관리(DRM) 시스템은 실행가능한 컨텐츠를 사용자의 단말에서 다운로드하여 안전하게 전달, 설치, 사용 및 업데이트하는 일련의 과정에서 어플리케이션 컨텐츠의 제작자 및 배포자의 권한을 관리하도록 할 수 있다. 여기서 실행가능한 컨텐츠는 어플리케이션(application) 컨텐츠(어플리케이션 또는 응용 프로그램이라고도 함)가 될 수 있다.
DRM 서버(200)는 기저장된 어플리케이션 컨텐츠의 적어도 일 부분을 암호화하여 DRM 클라이언트(200)에 전송하는 기능을 한다.
DRM 클라이언트(100)는 DRM 서버(200)로부터 적어도 일 부분이 암호화된 어플리케이션 컨텐츠를 다운로드받아 설치시가 아닌 실행시에 복호화하여 이용할 수 있다. 여기서, DRM 클라이언트(100)는 예를 들어, 휴대폰, PMP, MP3 등과 같은 이동 단말기, DTV, PC 등과 같은 네트워크를 지원하는 장치 등으로 구현될 수 있다.
본 발명에 따른 어플리케이션 컨텐츠의 다운로드는 일반 PC에서 인터넷을 통한 다운로드 및 모바일 디바이스에서 OTA를 통한 다운로드 등 매체와 무관하게 공통적으로 적용될 수 있다.
이하에서 DRM 클라이언트(100) 및 DRM 서버(200)의 상세 구성에 대해 자세히 설명하도록 한다.
도 2는 본 발명의 일 실시 예에 따른 사용자 단말 장치의 구성을 나타내는 블럭도이다.
도 2에 따르면, 사용자 단말 장치(100)는 통신 인터페이스부(110), 저장부(120), 복호화부(130), 사용자 인터페이스부(140), 라이선스 파싱부(150), 제어부(160)를 포함한다. 여기서, 사용자 단말 장치(100)는 도 1에 도시된 DRM 클라이언트(100)로 구현될 수 있다.
통신 인터페이스부(110)는 서버(미도시)와 데이터 통신을 지원한다. 구체적으로 통신 인터페이스부(110)는 서버로부터 암호화된 어플리케이션 컨텐츠를 수신할 수 있다.
또한, 통신 인터페이스부(110)는 서버로부터 부분적으로 암호화된 어플리케이션 컨텐츠를 수신할 수 있다.
여기서, 부분적으로 암호화된 어플리케이션 컨텐츠는 어플리케이션 컨텐츠를 구성하는 적어도 하나의 파일이 암호화된 형태가 될 수 있다. 이 경우 적어도 하나의 파일은 어플리케이션을 실행시키는데 이용되는 실행 파일(exe 파일)이 될 수 있다.
또한, 암호화되는 적어도 하나의 파일이 암호화 영역과 비암호화 영역을 포함하는 형태가 될 수 있다.
또한, 어플리케이션 컨텐츠 컨텐츠를 구성하는 적어도 하나의 파일은 기설정된 크기의 블럭 단위로 구분되고, 적어도 하나의 블럭은 암호화 영역과 비암호화 영역을 포함하는 형태가 될 수 있다.
예를 들어, 블럭의 기설정된 크기는 일반적으로 메모리에 업로드되는 단위인 4Kbytes가 될 수 있다. 이 경우, 블록의 암호화 영역의 크기에 따라 암호화 레벨을 구분할 수 있다. 즉, 각 블럭을 1/2 암호화하는 경우(레벨 1), 각 블럭을 1/4 암호화하는 경우(레벨 2), 각 블럭을 1/16 암호화하는 경우(레벨 3), 각 블럭을 전체 암호화하는 경우(레벨 4) 등으로 구분하는 것이 가능하다. 다만, 이는 일 실시 예에 불과하며 좀 더 다양한 실시 에에 대해서는 후술하도록 한다.
한편, 본 발명에 따른 어플리케이션 컨텐츠의 부분 암호화는 원 목적인 데이터의 기밀성을 떨어뜨리지 않는 수준에서 적용될 수 있다.
저장부(120)는 통신 인터페이스부(110)를 통해 다운로드된 암호화된 어플리케이션 컨텐츠를 저장하는 기능을 한다. 여기서, 저장부(120)는 사용자 단말 장치(100)의 종류에 따라 다양한 형태(Flash, HDD, RAM, ROM 등)로 구현될 수 있다. 예를 들어, 사용자 단말 장치(100)가 이동 단말기의 형태로 구현되는 경우 Flash Memory로 구현될 수 있다.
복호화부(130)는 저장부(120)에 저장된 암호화된 어플리케이션 컨텐츠를 복호화하는 기능을 한다. 구체적으로, 복호화부(130)는 제어부(160)의 제어에 따라 암호화된 어플리케이션 컨텐츠의 설치시가 아닌 실행시에 복호화를 수행할 수 있다. 즉, 암호화된 어플리케이션 컨텐츠는 암호화된 상태에서 실행된 후 설치시에 복호화가 수행되게 된다. 이에 대한 자세한 설명은 제어부(160)의 기능에 대한 설명 부분에서 후술하도록 한다.
사용자 인터페이스부(140)는 사용자 단말 장치(100)에서 제공하는 전반적인 기능에 대한 사용자 명령을 제공받는 기능을 한다.
사용자 인터페이스부(140)는 사용자 단말 장치의 동작을 제어하기 위한 사용자명령이 입력되는 조작키(미도시) 및 사용자 단말 장치에서 제공하는 다양한 기능을 표시하기 위한 LCD (liquid crystal display)와 같은 표시창(미도시)을 포함할 수 있다. 또한, 사용자 인터페이스부(140)는 터치패드 등과 같이 입력과 출력이 동시에 구현되는 장치로 구현가능하다.
라이선스 파싱부(150)는 서버로부터 제공된 어플리케이션 컨텐츠의 라이선스를 파싱하고, 라이선스로부터 어플리케이션 컨텐츠를 복호화하기 위한 복호화 키를 획득할 수 있다. 이에 따라 복호화부(130)는 라이선스 파싱부(150)를 통해 획득된 복호화 키를 이용하여 복호화를 수행할 수 있게 된다.
제어부(160)는 사용자 단말 장치(100)의 전반적인 기능을 제어하는 기능을 한다.
특히, 제어부(160)는 저장부(120)에 저장된 암호화된 어플리케이션 컨텐츠를 암호화된 상태로 사용자 단말 장치(100)에 설치한다.
또한, 제어부(160)는 사용자 인터페이스부(140)를 통해 입력된 사용자의 어플리케이션 컨텐츠 실행 명령에 따라 어플리테이션 컨텐츠의 실행시에 암호화된 어플리케이션 컨텐츠를 복호화하도록 복호화부(130)를 제어할 수 있다.
또한, 제어부(160)는, 서버로부터 제공받은 어플리케이션 컨텐츠에 대한 업데이트를 서버에 요청할 수 있으며, 서버로부터 어플리케이션 컨텐츠를 구성하는 복수 개의 파일 중 업데이트가 필요한 파일만을 수신하도록 통신 인터페이스부(110)를 제어할 수 있다.
또한, 제어부(160)는, 어플리케이션 컨텐츠에 대한 업데이트 요청시 컨텐츠의 ID, 상기 컨텐츠의 현 버전 정보, 및 라이선스(License)를 서버에 전송할 수 있다. 이 경우, 통신 인터페이스부(110)를 통해 서버로부터 업데이트될 컨텐츠의 신규 버전 정보 및 재발급된 신규 라이선스를 수신할 수 있다.
한편, 복호화부(130)는 하드웨어 시큐리티 모듈(HSM:Hardware Security Moudle)에 기반하여 부팅시 권한이 있는 사용자만 접근할 수 있는 시큐어 부트(Secure Boot) 기능으로 보호될 수 있다.
여기서, 하드웨어 시큐리티 모듈(HSM:Hardware Security Moudle)은 TPM(Trusted Platform Module), MTM(Mobile Trusted Module), TCG(Trusted Computing Group) 등으로 구현될 수 있다. 이 중 TPM에 대해서만 간략히 설명하도록 한다.
TPM(Trusted Platform Module)은 하드웨어적으로 신뢰 플랫폼을 제공하기 위한 모듈로써, 공개키 생성, 어플리케이션 컨텐츠의 암호화/복호화를 수행한다.
한편, 시큐어 부트 기능이란 부팅 단계로부터 인가를 받은 사용자만 접근할 수 있는 기능을 의미한다. 시큐어 부트는 부트 로더 및 부트 이미지를 이용하여 수행될 수 있다.
부트 로더란 사용자 단말 장치(100)의 파워 온시 가장 먼저 실행되는 프로그램으로 부트 로더는 OS의 커널을 로드하고 몇몇 커널 파라미터를 커널에 넘겨주는 기능을 한다. 부트 로더는 부트로더 이미지, 커널 이미지, 램디스크 이미지를 관리할 수 있으며, 이는 공지기술이므로 더 이상의 자세한 설명은 생략하도록 한다.
도 3은 본 발명의 일 실시 예에 따른 서버의 구성을 나타내는 블럭도이다.
도 3에 따르면, 서버(200)는 통신 인터페이스부(210), 암호화부(220), 라이선스 발급부(230) 및 제어부(240)를 포함한다.
여기서, 서버(200)는 도 1에 도시된 DRM 서버(200)로 구현될 수 있다.
통신 인터페이스부(210)는 사용자 단말 장치(100)와의 데이터 통신을 지원한다. 구체적으로 통신 인터페이스부(210)는 후술하는 암호화부(220)에 의해 암호화된 어플리케이션 컨텐츠를 사용자 단말 장치(100)로 전송하는 기능을 한다.
암호화부(220)는 적어도 하나의 어플리케이션 컨텐츠를 암호화하는 기능을 한다. 구체적으로 암호화부(220)는 적어도 하나의 어플리케이션 컨텐츠를 부분적으로 암호화할 수 있다.
구체적으로, 암호화부(220)는, 어플리케이션 컨텐츠를 구성하는 적어도 하나의 파일을 암호화할 수 있다. 여기서, 적어도 하나의 파일은 어플리케이션을 실행시키는데 이용되는 실행 파일(exe 파일)이 될 수 있다.
또한, 암호화부(220)는, 어플리케이션 컨텐츠를 구성하는 적어도 하나의 파일이 암호화 영역과 비암호화 영역을 포함하도록 암호화할 수 있다.
또한, 암호화부(220)는 어플리케이션 컨텐츠를 구성하는 적어도 하나의 파일을 기설정된 크기의 블럭 단위로 구분하고, 적어도 하나의 블럭이 암호화 영역과 비암호화 영역을 포함하도록 암호화할 수 있다.
예를 들어, 블럭의 기설정된 크기는 일반적으로 메모리에 업로드되는 단위인 4Kbytes가 될 수 있다. 이 경우, 블록의 암호화 영역의 크기에 따라 레벨을 설정할 수 있다. 즉, 각 블럭을 1/2 암호화하는 경우(레벨 1), 각 블럭을 1/4 암호화하는 경우(레벨 2), 각 블럭을 1/16 암호화하는 경우(레벨 3), 각 블럭을 전체 암호화하는 경우(레벨 4) 등으로 설정가능하다.
하지만, 상술한 구성은 일 실시 예에 불과하며, 각 블럭을 교차적으로 암호화하거나, 블록을 나누지 않고 파일의 임의의 일 영역을 암호화하는 것도 가능하다.
라이선스 발급부(230)는 암호화부(220)에 의해 부분적으로 암호화된 어플리케이션 컨텐츠를 복호화하기 위한 복호화키를 포함하는 라이선스를 발급하는 기능을 한다.
제어부(240)는 적어도 하나의 어플리케이션 컨텐츠를 부분적으로 암호화하도록 암호화부(220)를 제어하는 기능을 한다.
또한, 제어부(240)는, 사용자 단말 장치(100)로부터 어플리케이션 컨텐츠에 대한 업데이트 요청을 수신하면, 어플리케이션 컨텐츠를 구성하는 복수 개의 파일 중 업데이트가 필요한 파일을 사용자 단말 장치(100)로 전송하도록 통신 인터페이스부(210)를 제어할 수 있다.
또한, 제어부(240)는, 업데이트 요청과 더불어 업데이트할 어플리케이션 컨텐츠의 ID, 현 버전 정보, 및 라이선스(License)를 수신하면, 라이선스 발급부(230)에서 업데이트될 컨텐츠에 대한 신규 라이선스를 재발급하도록 제어할 수 있다. 또한, 라이선스 발급부(230)에서 재발급된 라이선스 및 업데이트될 컨텐츠의 신규 버전 정보를 전송하도록 통신 인터페이스부(210)를 제어할 수 있다.
그 밖에 서버(200)는 암호화된 디지털 컨텐츠 및 어플리케이션을 저장하기 위한 저장부(미도시)를 더 포함할 수 있다.
도 4a 내지 4c는 본 발명의 다양한 실시 예에 따른 부분 암호화 방식을 설명하기 위한 도면들이다.
설명의 편의를 위하여 도 4a 내지 4c에 도시된 파일이 어플리케이션 컨텐츠를 실행하기 위한 실행 파일이라고 가정하도록 한다.
도 4a 내지 도 4c에 도시된 바와 같이 어플리케이션 컨텐츠를 실행하기 위한 실행 파일이 다양한 형태로 부분 암호화될 수 있다.
구체적으로, 도 4a에 도시된 바와 같이 실행 파일의 바디 부분은 암호화 영역과 비암호화 영역을 포함할 수 있다.
또는, 도 4b에 도시된 바와 같이 기설정된 블럭 단위로 구분된 실행 파일의 바디 부분은 각 블럭이 교대로 암호화 또는 비암호화된 형태가 될 수 있다.
또는, 도 4c에 도시된 바와 같이 기설정된 블럭 단위로 구분된 실행 파일의 바디 부분은 각 블럭이 각각 암호화 영역 및 비암호화 영역을 포함하는 형태가 될 수 있다.
한편, 도 4b 및 도 4c에서는 각 블럭이 4Kbytes 단위로 구분된 것으로 도시하였으나, 이는 일 실시 예에 불과하며, 각 블럭의 크기는 경우에 따라 적절하게 설정될 수 있다. 또한, 도 4c에서는 각 블럭의 1Kbyte가 암호화(상술한 레벨 2 적용)된 것으로 도시되었으나, 이 또한 일 실시 예에 불과하다.
도 5는 본 발명의 일 실시 예에 따른 사용자 단말의 소프트웨어 플랫폼의 구성을 설명하기 위한 도면이다.
본 발명에 따르면, 사용자 단말 장치를 시스템 플랫폼과 강하게 결속시키기 위해 암호화된 어플리케이션을 위한 라이선스를 파싱하고 어플리케이션 컨텐츠를 복호화하기 위한 복호화 키를 얻어내는 작업을 단말 소프트웨어 플랫폼의 런처가 담당하게 한다.
또한, 실제 어플리케이션의 복호화 작업은 복호화 구문 등을 통해 플랫폼의 로더가 수행한다.
단말 소프트웨어 플랫폼의 런처와 로더는 일반적으로 시스템 커널 영역에 존재하기 때문에 변조되기가 어려우며 안전성을 높이기 위해 그것들의 실행을 하드웨어 기반의 시큐리티 모듈을 이용한 시큐어 부트(Secure Boot) 기능로 보호할 수 있다.
즉, 도 5에 도시된 바와 같이 시스템 커널의 런처와 로더는 신뢰받는 플랫폼(Trusted Platform) 환경에서 하드웨어 시큐리티 모듈이 부트 로더를 인증함으로써, 시큐어 부트(Secure Boot)로 보호될 수 있다.
또한, 부트 로더가 커널 이미지를 인증함으로써 런처와 로더가 보호될 수 있게 된다.
도 6은 본 발명의 일 실시 예에 따른 사용자 단말 장치의 제어 방법을 설명하기 위한 흐름도이다.
도 6에 도시된 사용자 단말 장치의 제어 방법에 따르면, 먼저 사용자 단말 장치가 적어도 일 부분이 암호화된 어플리케이션 컨텐츠를 수신하고(S610), 수신된 암호화된 어플리케이션 컨텐츠를 저장한다(S620).
이어서, S620 단계에서 저장된 암호화된 어플리케이션 컨텐츠를 암호화된 상태로 설치한다(S630).
이 후, 암호화된 어플리케이션 컨텐츠를 실행하기 위한 실행 명령에 따라 상기 암호화된 어플리케이션 컨텐츠를 복호화한다(S640).
여기서 어플리케이션 컨텐츠는, 부분적으로 암호화된 것일 수 있다.
또한, 어플리케이션 컨텐츠는, 암호화 영역과 비암호화 영역으로 구성된 적어도 하나의 파일을 포함하는 형태가 될 수 있다.
이 경우, 적어도 파일은 기설정된 크기의 블럭 단위로 구분되고, 적어도 하나의 블럭은 암호화 영역과 비암호화 영역을 포함하는 형태가 될 수 있다.
또한, 암호화 영역과 비암호화 영역으로 구성된 파일은, 어플리케이션 컨텐츠를 실행하기 위한 실행 파일이 될 수 있다.
또한, 어플리케이션 컨텐츠의 라이선스를 파싱하고, 상기 어플리케이션 컨텐츠를 복호화하기 위한 복호화 키를 획득하는 단계를 더 포함할 수 있으며, S640 단계는, 획득된 복호화 키를 이용하여 복호화를 수행할 수 있다.
또한, S640 단계는, 트러스티드 플랫폼(Trusted Platform)에 기반하여 부팅시 권한이 있는 사용자만 접근할 수 있는 시큐어 부트(Secure Boot) 기능으로 보호될 수 있다.
또한, 본 발명의 다른 실시 예에 따르면, 어플리케이션 컨텐츠에 대한 업데이트를 서버에 요청할 수 있다.
이 경우 서버로부터 상기 어플리케이션 컨텐츠를 구성하는 복수 개의 파일 중 업데이트가 필요한 파일 및 업데이트될 어플리케이션 컨텐츠에 대해 재발급된 신규 라이선스를 수신할 수 있다.
도 7은 본 발명의 일 실시 예에 따른 서버의 제어 방법을 설명하기 위한 흐름도이다.
도 7에 도시된 서버의 제어 방법에 따르면, 먼저, 적어도 하나의 어플리케이션 컨텐츠를 부분적으로 암호화한다(S710).
이어서, S710 단계에서 부분적으로 암호화된 어플리케이션 컨텐츠를 사용자 단말 장치로 전송할 수 있다.
이 경우, S710 단계는 어플리케이션 컨텐츠를 구성하는 적어도 하나의 파일이 암호화 영역과 비암호화 영역을 포함하도록 암호화를 수행할 수 있다.
또한, S710 단계는, 파일을 기설정된 크기의 블럭 단위로 구분하고, 적어도 하나의 블럭이 암호화 영역과 비암호화 영역을 포함하도록 암호화를 수행할 수 있다.
또한, 암호화 영역과 비암호화 영역을 포함하는 파일은, 어플리케이션 컨텐츠을 실행하기 위한 실행 파일이 될 수 있다.
또한, 서버는 부분적으로 암호화된 어플리케이션 컨텐츠를 복호화하기 위한 복호화키를 포함하는 라이선스를 발급할 수 있다.
또한, 서버는 사용자 단말 장치로부터 상기 어플리케이션 컨텐츠에 대한 업데이트 요청을 수신할 수 있다.
이 경우, 서버는 업데이트 요청된 상기 어플리케이션 컨텐츠를 구성하는 복수 개의 파일 중 업데이트가 필요한 파일을 상기 사용자 단말 장치로 전송할 수 있다.
또한, 서버는 업데이트 요청시 상기 컨텐츠의 ID, 상기 컨텐츠의 현 버전 정보, 및 라이선스(License)를 수신할 수 있다.
이 경우, 서버는 업데이트될 컨텐츠에 대한 신규 라이선스를 재발급하고, 재발급된 라이선스 및 업데이트될 컨텐츠의 신규 버전 정보를 사용자 단말 장치로 전송할 수 있다.
도 8은 본 발명의 다른 실시 예에 따른 어플리케이션 컨텐츠 업데이트 방법을 설명하기 위한 시퀀스도이다.
도 8에 도시된 클라이언트 및 서버는 상술한 사용자 단말 장치(100) 및 서버(200)에 대응될 수 있다.
도 8에 도시된 바에 따르면, 클라이언트(100)에서 어플리케이션 A의 업데이트가 필요한 경우 먼저, 어플리케이션 A의 업데이트 요청을 서버에 전달한다.
이 경우, 업데이트 요청과 동시에 어플리케이션 A의 ID(AppID(A))와 현재 버전정보(Ver(A)), 및 어플리케이션 A의 라이선스(Lic(A))를 서버(200)에 업로드할 수 있다.
서버(200)는 어플리케이션 A의 라이선스의 서명을 검증하여 정당한 권한이 있는지 확인한 후 어플리케이션 A를 구성하는 여러 파일들 중 업데이트가 필요한 파일만을 전송해준다. 경우에 따라서는 어플리케이션 A의 라이선스 뿐 아니라 구매 정보 등도 확인할 수 있다.
이 때, 서버(200)는 클라이언트(100)가 전달한 어플리케이션 A의 현재 버전 정보와 서버가 가지고 있는 어플리케이션 A의 최종 버전을 비교하여 업데이트가 필요한 파일의 리스트를 확보하여 전송한다.
또한, 서버(200)는 어플리케이션 A의 새로운 버전 정보(Ver'(A))와 함께 어플리케이션 A의 새로운 라이선스(Lic'(A))를 재발급하여 같이 전송해 줄 수 있다.
이 경우 사용자 단말 장치(100)는 전송된 새 라이선스의 서명을 검증한 후 어플리케이션 A의 업데이트 파일을 설치할 수 있다.
또한, 어플리케이션 컨텐츠에 대한 업데이트 파일에도 도 1 내지 7에 도시된 바와 같은 암호화된 어플리케이션 컨텐츠를 실행시에 복호화하는 구성 및 어플리케이션 컨텐츠을 부분적으로 암호화하는 구성이 적용될 수 있음은 당업자에게 자명하므로 자세한 설명은 생략하도록 한다.
도 9a 내지 도 9c는 본 발명에 따른 어플리케이션 컨텐츠에 적용되는 라이선스의 구조를 나타내는 도면들이다.
도 9a에 도시된 바와 같이 어플리케이션 컨텐츠에 대해 발급되는 라이선스는 어플리케이션 ID(AppID), 현재 버전정보(Version), 어플리케이션 암호화키(AEK:Application Encryption Key), 어플리케이션 해쉬 정보(Applicatiom Hash Information), IMEI(International Mobile Equipment Identity), CPU 시리얼 넘버(CPU Serial Number), 단말기 전화번호(Telephone Number) 등을 포함할 수 있다.
즉, 암호화된 어플리케이션을 복호화하기 위한 키를 저장하고 있는 라이선스에 단말기 하드웨어 및 소프트웨어 플랫폼에 의존적인 정보를 포함시키는 방식이 될 수 있다. 단, 단말기 하드웨어 및 소프트웨어 플랫폼에 의존적인 정보는 사용자 단말 장치에 대해 유일한 식별자이며, 위조하기 어려운 값이어야 한다. 예를 들어, IMEI(International Mobile Equipment Identity), CPU 시리얼 넘버(CPU Serial Number), 단말기 전화번호(Telephone Number) 등이 될 수 있다.
또는 도 9b에 도시된 바와 같이 해당 단말의 정보가 아니라 특정 사용자의 정보가 결합되는 경우도 가능한데 이는 라이선스에 IMEI, CPU 시리얼 넘버가 아닌 IMSI(International Mobile Subscriber Identity)를 포함시킴으로써 구현될 수 있다.
또는 도 9c에 도시된 바와 같이 해당 단말의 정보 뿐 아니라 특정 사용자의 정보가 함께 결합되는 경우도 가능할 수 있다.
도 10은 본 발명의 일 실시 예에 따른 부분 암호화 구성의 효과를 설명하기 위한 도면이다.
도 10은 어플리케이션 실행 파일의 전체 암호화 대비 부분 암호화를 적용하였을 때의 측정된 복호화 성능을 나타낸다. 본 실험에서는 스마트 폰의 파일 열기→파일 읽기 및 복호화→파일 닫기의 순으로 테스트를 진행하였다.
이상과 같이 본 발명에 따르면 사용자 단말 장치에서 암호화된 어플리케이션 컨텐츠를 다운로드 받아 설치, 실행함에 있어 설치시가 아닌 실행시에 복호화를 수행하게 되므로 보안성을 향상시킬 수 있게 된다.
또한, 본 발명에 따르면 어플리케이션 컨텐츠의 부분 암호화 기능을 통해 어플리케이션 DRM 시스템의 성능을 높일 수 있으며 특히 복호화가 되는 어플리케이션 실행 시점에서 복호화해야 하는 블록 사이즈를 크게 줄일 수 있기 때문에 어플리케이션 실행 시간에 미치는 영향을 대폭 줄일 수 있게 된다.
또한, 라이선스에 IMEI, CPU 시리얼 넘버, 전화 번호 등을 넣음으로써 해당 어플리케이션이 해당 사용자 단말에서만 실행되게 하며 이동식 저장장치나 네트워크를 통해 다른 단말로 전달되는 경우 설치 및 사용을 제한하는 효과가 있다. 경우에 따라 단말기가 아닌 사용자에 대한 바인딩으로도 전환하는 것이 쉽게 가능하다.
또한, 사용자 단말은 신뢰받는 플랫폼(Trusted Platform)이며 이에 기반하여 시큐어 부트를 통해 런처나 로더 등이 포함된 시스템 커널이 변조되지 않았음을 확신한다면 그것들에 의해 실행 및 로딩된 어플리케이션들의 안전성도 보장받을 수 있게 된다.
또한, 어플리케이션을 구성하는 여러 파일들 중 업데이트가 필요한 일부 파일만을 다운로드 받아도 되기 때문에 전송량을 크게 줄일 수 있다.
또한 업데이트가 필요한지를 사용자 단말에서 업로드한 라이선스로 확인하기 때문에 서버에서 구매 기록을 가지고 있지 않더라도 신뢰성 있는 업데이트를 진행할 수 있게 된다.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안 될 것이다.
100 : 사용자 단말 장치 110: 통신 인터페이스부
120: 저장부 130: 복호화부
140: 사용자 인터페이스부 150: 라이선스 파싱부
160: 제어부 200: 서버
210: 통신 인터페이스부 220: 암호화부
230: 라이선스 발급부 240: 제어부

Claims (30)

  1. 적어도 일 부분이 암호화된 어플리케이션 컨텐츠를 수신하는 통신 인터페이스부;
    상기 수신된 어플리케이션 컨텐츠를 저장하는 저장부;
    상기 어플리케이션 컨텐츠를 복호화하는 복호화부;
    상기 어플리케이션 컨텐츠를 실행하기 위한 실행 명령을 입력받는 사용자 인터페이스부; 및
    상기 저장부에 저장된 어플리케이션 컨텐츠를 암호화된 상태로 설치하고, 상기 실행 명령에 따라 상기 설치된 어플리케이션 컨텐츠를 복호화하도록 상기 복호화부를 제어하는 제어부;를 포함하는 사용자 단말 장치.
  2. 제1항에 있어서,
    상기 어플리케이션 컨텐츠는,
    부분적으로 암호화된 것을 특징으로 하는 사용자 단말 장치.
  3. 제2항에 있어서,
    상기 어플리케이션 컨텐츠는,
    암호화 영역과 비암호화 영역으로 구성된 적어도 하나의 파일을 포함하는 것을 특징으로 하는 사용자 단말 장치.
  4. 제3항에 있어서,
    상기 적어도 하나의 파일은 기설정된 크기의 블럭 단위로 구분되고, 적어도 하나의 블럭은 암호화 영역과 비암호화 영역을 포함하는 것을 특징으로 하는 사용자 단말 장치.
  5. 제2항에 있어서,
    상기 암호화 영역과 비암호화 영역을 포함하는 파일은,
    상기 어플리케이션 컨텐츠을 실행하기 위한 실행 파일인 것을 특징으로 하는 사용자 단말 장치.
  6. 제1항에 있어서,
    상기 어플리케이션 컨텐츠의 라이선스를 파싱하고, 상기 어플리케이션 컨텐츠를 복호화하기 위한 복호화 키를 획득하는 라이선스 파싱부;를 더 포함하며,
    상기 복호화부는,
    상기 복호화 키를 이용하여 상기 설치된 암호화된 어플리케이션 컨텐츠를 복호화하는 것을 특징으로 하는 사용자 단말 장치.
  7. 제1항에 있어서,
    상기 복호화부는,
    트러스티드 플랫폼(Trusted Platform)에 기반하여 부팅시 권한이 있는 사용자만 접근할 수 있는 시큐어 부트(Secure Boot) 기능으로 보호되는 것을 특징으로 하는 사용자 단말 장치.
  8. 제1항에 있어서,
    상기 제어부는,
    상기 어플리케이션 컨텐츠에 대한 업데이트를 서버에 요청하며, 상기 서버로부터 상기 어플리케이션 컨텐츠를 구성하는 복수 개의 파일 중 업데이트가 필요한 파일을 수신하며, 업데이트될 컨텐츠의 신규 라이선스를 수신하도록 제어하는 것을 특징으로 하는 사용자 단말 장치.
  9. 적어도 하나의 어플리케이션 컨텐츠를 암호화하는 암호화부;
    상기 부분적으로 암호화된 어플리케이션 컨텐츠를 사용자 단말 장치로 전송하는 통신 인터페이스부; 및
    상기 어플리케이션 컨텐츠를 부분적으로 암호화하도록 상기 암호화부를 제어하는 제어부;를 포함하는 서버.
  10. 제9항에 있어서
    상기 암호화부는,
    상기 어플리케이션 컨텐츠를 구성하는 적어도 하나의 파일이 암호화 영역과 비암호화 영역을 포함하도록 상기 암호화를 수행하는 것을 특징으로 하는 서버.
  11. 제10항에 있어서,
    상기 암호화부는,
    상기 파일을 기설정된 크기의 블럭 단위로 구분하고, 적어도 하나의 블럭이 암호화 영역과 비암호화 영역을 포함하도록 상기 암호화를 수행하는 것을 특징으로 하는 서버.
  12. 제10항에 있어서,
    상기 암호화 영역과 비암호화 영역을 포함하는 파일은,
    상기 어플리케이션 컨텐츠를 실행하기 위한 실행 파일인 것을 특징으로 하는 서버.
  13. 제9항에 있어서,
    상기 부분적으로 암호화된 어플리케이션 컨텐츠를 복호화하기 위한 복호화키를 포함하는 라이선스를 발급하는 라이선스 발급부;를 더 포함하는 것을 특징으로 하는 서버.
  14. 제9항에 있어서,
    상기 제어부는,
    상기 사용자 단말 장치로부터 상기 어플리케이션 컨텐츠에 대한 업데이트 요청을 수신하면, 상기 어플리케이션 컨텐츠를 구성하는 복수 개의 파일 중 업데이트가 필요한 파일을 상기 사용자 단말 장치로 전송하도록 제어하는 것을 특징으로 하는 서버.
  15. 제14항에 있어서,
    상기 제어부는,
    상기 업데이트 요청시 상기 어플리케이션 컨텐츠의 ID, 현 버전 정보, 및 라이선스(License)를 수신하면, 상기 라이선스 발급부에서 업데이트될 컨텐츠에 대한 신규 라이선스를 재발급하도록 제어하고, 상기 재발급된 라이선스 및 상기 업데이트될 컨텐츠의 신규 버전 정보를 상기 사용자 단말 장치로 전송하도록 제어하는 것을 특징으로 하는 서버.
  16. 적어도 일 부분이 암호화된 어플리케이션 컨텐츠를 수신하는 단계;
    상기 수신된 암호화된 어플리케이션 컨텐츠를 저장하는 단계;
    상기 저장된 암호화된 어플리케이션 컨텐츠를 암호화된 상태로 설치하는 단계;
    상기 암호화된 어플리케이션 컨텐츠를 실행하기 위한 실행 명령에 따라 상기 암호화된 어플리케이션 컨텐츠를 복호화하는 단계;를 포함하는 사용자 단말 장치의 제어 방법.
  17. 제15항에 있어서,
    상기 어플리케이션 컨텐츠는,
    부분적으로 암호화된 것을 특징으로 하는 사용자 단말 장치의 제어 방법.
  18. 제17항에 있어서,
    상기 어플리케이션 컨텐츠는,
    암호화 영역과 비암호화 영역으로 구성된 적어도 하나의 파일을 포함하는 것을 특징으로 하는 사용자 단말 장치의 제어 방법.
  19. 제18항에 있어서,
    상기 적어도 파일은 기설정된 크기의 블럭 단위로 구분되고, 적어도 하나의 블럭은 암호화 영역과 비암호화 영역을 포함하는 것을 특징으로 하는 사용자 단말 장치의 제어 방법.
  20. 제18항에 있어서,
    상기 암호화 영역과 비암호화 영역으로 구성된 파일은,
    상기 어플리케이션 컨텐츠를 실행하기 위한 실행 파일인 것을 특징으로 하는 사용자 단말 장치.
  21. 제16항에 있어서,
    상기 어플리케이션 컨텐츠의 라이선스를 파싱하고, 상기 어플리케이션 컨텐츠를 복호화하기 위한 복호화 키를 획득하는 단계;를 더 포함하며,
    상기 복호화 단계는,
    상기 복호화 키를 이용하여 복호화를 수행하는 것을 특징으로 하는 사용자 단말 장치의 제어 방법.
  22. 제16항에 있어서,
    상기 복호화 단계는,
    트러스티드 플랫폼(Trusted Platform)에 기반하여 부팅시 권한이 있는 사용자만 접근할 수 있는 시큐어 부트(Secure Boot) 기능으로 보호되는 것을 특징으로 하는 사용자 단말 장치의 제어 방법.
  23. 제16항에 있어서,
    상기 어플리케이션 컨텐츠에 대한 업데이트를 서버에 요청하는 단계; 및
    상기 서버로부터 상기 어플리케이션 컨텐츠를 구성하는 복수 개의 파일 중 업데이트가 필요한 파일 및 업데이트될 어플리케이션 컨텐츠에 대해 재발급된 신규라이선스를 수신하는 단계;를 더 포함하는 것을 특징으로 하는 사용자 단말 장치의 제어 방법.
  24. 적어도 하나의 어플리케이션 컨텐츠를 부분적으로 암호화하는 단계; 및
    상기 부분적으로 암호화된 어플리케이션 컨텐츠를 사용자 단말 장치로 전송하는 단계;를 포함하는 서버의 제어 방법.
  25. 제24항에 있어서,
    상기 부분적 암호화 단계는,
    상기 어플리케이션 컨텐츠를 구성하는 적어도 하나의 파일이 암호화 영역과 비암호화 영역을 포함하도록 상기 암호화를 수행하는 것을 특징으로 하는 서버의 제어 방법.
  26. 제25항에 있어서,
    상기 부분적 암호화 단계는,
    상기 파일을 기설정된 크기의 블럭 단위로 구분하고, 적어도 하나의 블럭이 암호화 영역과 비암호화 영역을 포함하도록 상기 암호화를 수행하는 것을 특징으로 하는 서버의 제어 방법.
  27. 제25항에 있어서,
    상기 암호화 영역과 비암호화 영역을 포함하는 파일은,
    상기 어플리케이션 컨텐츠을 실행하기 위한 실행 파일인 것을 특징으로 하는 서버의 제어 방법.
  28. 제24항에 있어서,
    상기 부분적으로 암호화된 어플리케이션 컨텐츠를 복호화하기 위한 복호화키를 포함하는 라이선스를 발급하는 단계;를 더 포함하는 것을 특징으로 하는 서버의 제어 방법
  29. 제24항에 있어서,
    상기 사용자 단말 장치로부터 상기 어플리케이션 컨텐츠에 대한 업데이트 요청을 수신하는 단계; 및
    업데이트 요청된 상기 어플리케이션 컨텐츠를 구성하는 복수 개의 파일 중 업데이트가 필요한 파일을 상기 사용자 단말 장치로 전송하는 단계;를 더 포함하는 것을 특징으로 하는 서버의 제어 방법
  30. 제29항에 있어서,
    상기 업데이트 요청시 상기 컨텐츠의 ID, 상기 컨텐츠의 현 버전 정보, 및 라이선스(License)를 수신하는 단계;
    업데이트될 컨텐츠에 대한 신규 라이선스를 재발급하는 단계; 및
    상기 재발급된 라이선스 및 상기 업데이트될 컨텐츠의 신규 버전 정보를 상기 사용자 단말 장치로 전송하는 단계;를 더 포함하는 것을 특징으로 하는 서버의 제어 방법.
KR1020100013528A 2010-02-12 2010-02-12 사용자 단말 장치, 서버 및 그 제어 방법 KR20110093468A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020100013528A KR20110093468A (ko) 2010-02-12 2010-02-12 사용자 단말 장치, 서버 및 그 제어 방법
EP11151321A EP2357585A3 (en) 2010-02-12 2011-01-18 User terminal, server and controlling method thereof
US13/012,461 US9547757B2 (en) 2010-02-12 2011-01-24 User terminal, server and controlling method thereof
CN2011100368005A CN102163153A (zh) 2010-02-12 2011-02-12 用户终端、服务器及其控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100013528A KR20110093468A (ko) 2010-02-12 2010-02-12 사용자 단말 장치, 서버 및 그 제어 방법

Publications (1)

Publication Number Publication Date
KR20110093468A true KR20110093468A (ko) 2011-08-18

Family

ID=43920801

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100013528A KR20110093468A (ko) 2010-02-12 2010-02-12 사용자 단말 장치, 서버 및 그 제어 방법

Country Status (4)

Country Link
US (1) US9547757B2 (ko)
EP (1) EP2357585A3 (ko)
KR (1) KR20110093468A (ko)
CN (1) CN102163153A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101499535B1 (ko) * 2013-05-29 2015-03-06 주식회사 엘지씨엔에스 컴퓨터 실행 가능한 하이브리드 어플리케이션 수행 방법, 이를 수행하는 컴퓨터 실행 장치 및 이를 저장한 기록 매체
WO2016159496A1 (ko) * 2015-04-03 2016-10-06 라인 가부시키가이샤 보안 기능이 추가된 애플리케이션 배포 방법, 상기 애플리케이션의 동작 방법

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352749B2 (en) * 2010-12-17 2013-01-08 Google Inc. Local trusted services manager for a contactless smart card
US9152771B2 (en) * 2011-05-31 2015-10-06 Qualcomm Incorporated Apparatus and method of managing a licensable item
US9270657B2 (en) 2011-12-22 2016-02-23 Intel Corporation Activation and monetization of features built into storage subsystems using a trusted connect service back end infrastructure
US9197498B2 (en) 2012-08-31 2015-11-24 Cisco Technology, Inc. Method for automatically applying access control policies based on device types of networked computing devices
US9083751B2 (en) * 2012-08-31 2015-07-14 Cisco Technology, Inc. Method for cloud-based access control policy management
US20150213253A1 (en) * 2014-01-28 2015-07-30 Qualcomm Incorporated Authorizing an application for use by a computing device
CN104113540B (zh) * 2014-07-14 2018-03-13 合肥工业大学 面向安卓平台的数字音乐防copy系统
CA2967471A1 (en) * 2014-12-29 2016-07-07 Visa International Service Association Over-the-air provisioning of application library
CN105512515A (zh) * 2015-11-30 2016-04-20 上海爱数信息技术股份有限公司 一种基于权限码控制功能模块显示的方法
CN105512569A (zh) * 2015-12-17 2016-04-20 浪潮电子信息产业股份有限公司 一种数据库安全加固的方法及装置
WO2017143541A1 (zh) * 2016-02-24 2017-08-31 华为技术有限公司 一种数据安全保护方法及装置
CN110752929B (zh) * 2019-09-29 2022-04-22 华为终端有限公司 应用程序的处理方法及相关产品

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPN002594A0 (en) * 1994-12-13 1995-01-12 Dunn, Alexander Atkinson Improvements in software for the protection of executable programs, libraries and their data
EP1076279A1 (en) 1999-08-13 2001-02-14 Hewlett-Packard Company Computer platforms and their methods of operation
US7603319B2 (en) * 2000-08-28 2009-10-13 Contentguard Holdings, Inc. Method and apparatus for preserving customer identity in on-line transactions
US7124303B2 (en) * 2001-06-06 2006-10-17 Sony Corporation Elementary stream partial encryption
DE50100101D1 (de) * 2001-06-26 2003-03-13 Aladdin Knowledge Systems Gmbh Verfahren zum Erweitern einer mittels eines Installationsprogramms zu installierenden Anwendung um eine Funktion und Computerprogrammprodukt
CN100424611C (zh) * 2005-07-28 2008-10-08 国际商业机器公司 用于处理加密软件的方法和中央处理单元
JP2007065850A (ja) * 2005-08-30 2007-03-15 Fujitsu Ltd 情報処理装置、情報処理方法およびプログラム
KR100753787B1 (ko) 2006-04-11 2007-08-31 (주)이노비츠아이엔씨 번들로 제공된 멀티미디어 컨텐츠를 재생하는 포터블디바이스 및 멀티미디어 컨텐츠 제공 서버의 동작 방법
KR101291075B1 (ko) 2006-10-31 2013-08-01 에스케이플래닛 주식회사 디지털 권한 관리의 선택적 암호화 및 복호화에 대한 방법및 시스템
JP5460150B2 (ja) * 2009-07-06 2014-04-02 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及び、プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101499535B1 (ko) * 2013-05-29 2015-03-06 주식회사 엘지씨엔에스 컴퓨터 실행 가능한 하이브리드 어플리케이션 수행 방법, 이를 수행하는 컴퓨터 실행 장치 및 이를 저장한 기록 매체
WO2016159496A1 (ko) * 2015-04-03 2016-10-06 라인 가부시키가이샤 보안 기능이 추가된 애플리케이션 배포 방법, 상기 애플리케이션의 동작 방법
US10216941B2 (en) 2015-04-03 2019-02-26 Line Corporation Method of distributing application with security features and method of operating the application

Also Published As

Publication number Publication date
EP2357585A2 (en) 2011-08-17
EP2357585A3 (en) 2013-01-02
CN102163153A (zh) 2011-08-24
US20110202751A1 (en) 2011-08-18
US9547757B2 (en) 2017-01-17

Similar Documents

Publication Publication Date Title
KR20110093468A (ko) 사용자 단말 장치, 서버 및 그 제어 방법
CN108810894B (zh) 终端授权方法、装置、计算机设备和存储介质
Buhren et al. Insecure until proven updated: analyzing AMD SEV's remote attestation
KR101397637B1 (ko) 다중 사용자 감응 코드 및 데이터를 보호하는 아키텍처를 포함하는 방법 및 장치
KR101190479B1 (ko) 티켓 인증 보안 설치 및 부트
US8296561B2 (en) Certifying device, verifying device, verifying system, computer program and integrated circuit
US8555089B2 (en) Program execution apparatus, control method, control program, and integrated circuit
US9904557B2 (en) Provisioning of operating systems to user terminals
US11218299B2 (en) Software encryption
EP2278514B1 (en) System and method for providing secure virtual machines
US8392724B2 (en) Information terminal, security device, data protection method, and data protection program
US20080005033A1 (en) Secure device licensing
WO2013048418A1 (en) Decryption and encryption of application data
CN109992987B (zh) 基于Nginx的脚本文件保护方法、装置及终端设备
CA2925733A1 (en) Encryption and decryption processing method, apparatus, and device
CN104680061A (zh) 一种Android环境下应用程序启动中代码签名验证的方法和系统
US20180260568A1 (en) Modifying service operating system of baseboard management controller
CN106156607B (zh) 一种SElinux安全访问方法和POS终端
CN107636672B (zh) 电子设备及电子设备中的方法
KR101711024B1 (ko) 부정조작방지 장치 접근 방법 및 그 방법을 채용한 단말 장치
KR101604892B1 (ko) 안드로이드 기반 어플리케이션의 부정사용 방지 방법 및 장치
KR20140089703A (ko) 모바일 데이터 보안 장치 및 방법
CN115016819A (zh) 一种实现固件升级的方法、权限管理设备及芯片
KR20130048508A (ko) 단말기의 루트 키 생성 시스템 및 방법과 장치, 그리고 이를 지원하는 단말기
CN116070219B (zh) 用于写补丁的方法及系统、电子设备、存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application