KR20130050664A - 애플리케이션 데이터 보호를 위한 휴대용 단말기의 장치 및 방법 - Google Patents

애플리케이션 데이터 보호를 위한 휴대용 단말기의 장치 및 방법 Download PDF

Info

Publication number
KR20130050664A
KR20130050664A KR1020110115863A KR20110115863A KR20130050664A KR 20130050664 A KR20130050664 A KR 20130050664A KR 1020110115863 A KR1020110115863 A KR 1020110115863A KR 20110115863 A KR20110115863 A KR 20110115863A KR 20130050664 A KR20130050664 A KR 20130050664A
Authority
KR
South Korea
Prior art keywords
application
data
unique key
portable terminal
module
Prior art date
Application number
KR1020110115863A
Other languages
English (en)
Other versions
KR101881303B1 (ko
Inventor
함동읍
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020110115863A priority Critical patent/KR101881303B1/ko
Priority to CN201210443935.8A priority patent/CN103218570B/zh
Priority to US13/672,095 priority patent/US9524391B2/en
Publication of KR20130050664A publication Critical patent/KR20130050664A/ko
Application granted granted Critical
Publication of KR101881303B1 publication Critical patent/KR101881303B1/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/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
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application

Abstract

본 발명은, 애플리케이션 데이터를 암호화하기 위한 휴대용 단말기의 동작방법에 있어서, 애플리케이션에 입력된 데이터를 수신하는 과정; 상기 수신한 데이터를 애플리케이션의 고유의 키를 이용하여 암호화하는 과정; 및 상기 암호화된 데이터를 저장하는 과정을 포함하는 애플리케이션 데이터 보호를 위한 휴대용 단말기의 동작방법이다.

Description

애플리케이션 데이터 보호를 위한 휴대용 단말기의 장치 및 방법{APPARATAS AND METHOD OF PROTECTING FOR APPLICATION DATA IN A PORTABLE TERMINAL}
본 발명은 데이터 보호를 위한 것으로, 보다 구체적으로는 휴대용 단말기의 고유의 키와 애플리케이션의 ID로 애플리케이션의 고유의 키를 생성하여, 휴대용 단말기의 애플리케이션을 암호화하고, 개인 정보를 보호하기 위한 장치 및 방법에 관한 것이다.
정보통신 기술이 발전하면서, 여러 디바이스에 적합한 다양한 소프트웨어가 개발되고 있다. 예를 들면, PC, 스마트 텔레비전, 스마트 폰 등에 적합한 다양한 애플리케이션이 개발되어, 여러 애플리케이션을 사용하고자 하는 사용자의 기호를 충족시켜주고 있다. 이에 따라, 소프트웨어에 포함된 개인 정보를 보호하기 위한 표준화된 방법이 개발되었다. 예를 들면, 애플리케이션을 자체적으로 암호화하는 등 애플리케이션에 포함된 중요 데이터가 노출되지 않도록 하기 위한 방안이 제시되고 있다.
그러나, 상술한 방안은, 브라우징 툴(browsing tool)을 이용하여 애플리케이션이 설치된 디렉토리를 타인이 열람하여 애플리케이션에 포함된 중요 데이터가 노출될 수 있는 문제점이 있다. 또한, 애플리케이션에 자체적으로 암호화하는 경우에도 애플리케이션에서 사용한 키를 타인이 알아내는 경우에는 타 디바이스에서 동일한 메커니즘으로 애플리케이션에 포함된 정보를 열람할 수 있는 문제점도 있다.
따라서, 애플리케이션 등 소프트웨어에 포함된 개인 정보가 타인에게 노출되지 않도록 하기 위한 방안이 시급한 실정이다.
본 발명은 기존에 제안된 방법들의 상기와 같은 문제점들을 해결하기 위해 제안된 것으로서, 휴대용 단말기의 고유의 키와 애플리케이션의 ID로 애플리케이션의 고유의 키를 생성하여, 휴대용 단말기의 애플리케이션을 암호화는 장치 및 방법을 제공하는 것을 목적으로 한다.
본 발명의 다른 목적은, 애플리케이션을 암호화하여, 애플리케이션의 개발자의 중요 정보를 보호할 수 있는 장치 및 방법을 제공하는 것을 목적으로 한다.
본 발명의 또 다른 목적은, 한정된(closed) 파일 시스템 뿐만 아니라 개방된(opened) 파일 시스템에서도 적용되는 호환이 가능한 장치 및 방법을 제공하는 것을 목적으로 한다.
상기한 목적을 달성하기 위한 본 발명의 특징에 따른 애플리케이션 데이터를 암호화하기 위한 휴대용 단말기의 동작방법은, 애플리케이션 데이터를 암호화하기 위한 휴대용 단말기의 동작방법에 있어서, 애플리케이션에 입력된 데이터를 수신하는 과정; 상기 수신한 데이터를 애플리케이션의 고유의 키(device unique key with application identification)를 이용하여 암호화하는 과정; 및 상기 암호화된 데이터를 저장하는 과정을 포함하는 것을 그 구성상의 특징으로 한다.
바람직하게는, 상기 데이터를 요청받는 과정; 상기 암호화된 데이터를 상기 애플리케이션의 고유의 키를 이용하여 복호화하는 과정; 및 상기 복호화된 데이터를 출력하는 과정을 더 포함할 수 있다.
바람직하게는, 상기 애플리케이션의 고유의 키를 이용하여 암호화하는 과정은, 상기 휴대용 단말기의 고유의 키(device unique key) 및 상기 애플리케이션의 ID(globally unique application identification)중 적어도 하나를 입력 값으로 대입하여, 특정 알고리즘으로 상기 애플리케이션의 고유의 키를 생성하는 과정; 및 상기 생성된 애플리케이션의 고유의 키를 이용하여, 상기 수신한 데이터를 암호화하는 과정을 포함할 수 있다.
바람직하게는, 상기 애플리케이션의 고유의 키를 이용하여 복호화하는 과정은, 상기 휴대용 단말기의 고유의 키 및 상기 애플리케이션의 ID중 적어도 하나를 입력 값으로 대입하여, 특정 알고리즘으로 상기 애플리케이션의 고유의 키를 생성하는 과정; 및 상기 생성된 애플리케이션의 고유의 키를 이용하여, 상기 암호화된 데이터를 복호화하는 과정을 포함할 수 있다.
바람직하게는, 상기 특정 알고리즘은, AES(Advanced Encryption Standard)-WRAP 알고리즘을 포함할 수 있다.
상기한 목적을 달성하기 위한 본 발명의 특징에 따른 휴대용 단말기의 애플리케이션 설치방법은, 휴대용 단말기의 애플리케이션 설치방법에 있어서, 적어도 하나의 애플리케이션이 포함된 압축된 데이터를 해제하는 과정; 및 상기 해제된 데이터를 암호화하는 과정을 포함하는 것을 그 구성상의 특징으로 한다.
바람직하게는, 상기 해제된 데이터를 암호화하는 과정은, 상기 휴대용 단말기의 고유의 키(device unique key) 및 상기 애플리케이션의 ID(globally unique application identification)중 적어도 하나를 입력 값으로 대입하여, 특정 알고리즘으로 상기 애플리케이션의 고유의 키를 생성하는 과정; 및 상기 생성된 애플리케이션의 고유의 키를 이용하여, 상기 해제된 데이터를 암호화하는 과정을 포함할 수 있다.
바람직하게는, 상기 특정 알고리즘은, AES(Advanced Encryption Standard)-WRAP 알고리즘을 포함할 수 있다.
바람직하게는, 다른 휴대용 단말기로부터 DRM(Digital Rights Management)이 적용된, 적어도 하나의 애플리케이션이 포함된 압축된 데이터를 수신하는 과정; 및 상기 DRM이 적용된 압축된 데이터를 복호화하는 과정을 더 포함할 수 있다.
바람직하게는, 상기 암호화된 데이터를 저장하는 과정을 더 포함할 수 있다.
상기한 목적을 달성하기 위한 본 발명의 특징에 따른 애플리케이션 데이터를 암호화하기 위한 휴대용 단말기의 장치는, 애플리케이션 데이터를 암호화하기 위한 휴대용 단말기의 장치에 있어서, 애플리케이션에 입력된 데이터를 수신하는 애플리케이션 모듈; 상기 수신한 데이터를 애플리케이션의 고유의 키(device unique key with application identification)를 이용하여 암호화하는 플랫폼 시스템 모듈; 및 상기 암호화된 데이터를 저장하는 파일 시스템 모듈을 포함하는 것을 그 구성상의 특징으로 한다.
바람직하게는, 상기 플랫폼 시스템 모듈은, 상기 애플리케이션 모듈로부터 상기 데이터를 요청받고, 상기 암호화된 데이터를 상기 애플리케이션의 고유의 키를 이용하여 복호화하고, 상기 애플리케이션 모듈은, 상기 복호화된 데이터를 상기 플랫폼 시스템 모듈로부터 수신할 수 있다.
바람직하게는, 상기 플랫폼 시스템 모듈은, 상기 휴대용 단말기의 고유의 키(device unique key) 및 상기 애플리케이션의 ID(globally unique application identification)중 적어도 하나를 입력 값으로 대입하여, 특정 알고리즘으로 상기 애플리케이션의 고유의 키를 생성하고, 상기 생성된 애플리케이션의 고유의 키를 이용하여, 상기 수신한 데이터를 암호화할 수 있다.
바람직하게는, 상기 플랫폼 시스템 모듈은, 상기 휴대용 단말기의 고유의 키 및 상기 애플리케이션의 ID중 적어도 하나를 입력 값으로 대입하여, 특정 알고리즘으로 상기 애플리케이션의 고유의 키를 생성하고, 상기 생성된 애플리케이션의 고유의 키를 이용하여, 상기 암호화된 데이터를 복호화할 수 있다.
바람직하게는, 상기 특정 알고리즘은, AES(Advanced Encryption Standard)-WRAP 알고리즘을 포함할 수 있다.
상기한 목적을 달성하기 위한 본 발명의 특징에 따른 휴대용 단말기의 애플리케이션 설치장치는, 휴대용 단말기의 애플리케이션 설치장치에 있어서, 적어도 하나의 애플리케이션이 포함된 압축된 데이터를 해제하고, 상기 해제된 데이터를 암호화하는 버퍼(buffer)를 포함할 수 있다.
바람직하게는, 상기 버퍼는, 상기 휴대용 단말기의 고유의 키(device unique key) 및 상기 애플리케이션의 ID(globally unique application identification)중 적어도 하나를 입력 값으로 대입하여, 특정 알고리즘으로 상기 애플리케이션의 고유의 키를 생성하고, 상기 생성된 애플리케이션의 고유의 키를 이용하여, 상기 해제된 데이터를 암호화할 수 있다.
바람직하게는, 상기 특정 알고리즘은, AES(Advanced Encryption Standard)-WRAP 알고리즘을 포함할 수 있다.
바람직하게는, 다른 휴대용 단말기로부터 DRM(Digital Rights Management)이 적용된, 적어도 하나의 애플리케이션이 포함된 압축된 데이터를 수신하는 통신모듈을 더 포함하고, 상기 버퍼는, 상기 DRM이 적용된 압축된 데이터를 복호화할 수 있다.
바람직하게는, 상기 암호화된 데이터를 저장하는 저장부를 더 포함할 수 있다.
본 발명의 애플리케이션 데이터 보호를 위한 휴대용 단말기의 장치 및 방법에 따르면, 휴대용 단말기의 고유의 키와 애플리케이션의 ID로 애플리케이션의 고유의 키를 생성하여, 휴대용 단말기의 애플리케이션을 암호화하고, 개인 정보를 보호할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 AES-WRAP 알고리즘을 이용하여 암호화하는 방법을 나타낸 도면.
도 2는 본 발명에 따른 휴대용 단말기의 암호화 및 복호화의 일 실시예를 나타낸 도면.
도 3은 본 발명에 따른 애플리케이션 패키지로부터 애플리케이션을 설치시 데이터를 암호화하는 일 실시예를 나타낸 도면.
도 4는 본 발명에 따른 DRM으로 암호화된 애플리케이션 패키지로부터 애플리케이션을 설치시 데이터를 암호화하는 일 실시예를 나타낸 도면.
도 5는 본 발명의 일 실시예에 따른 휴대용 단말기의 암호화 및 복호화 순서를 도시한 순서도.
도 6은 본 발명의 일 실시예에 따른 애플리케이션 패키지로부터 애플리케이션을 설치시 데이터를 암호화하는 순서를 도시한 순서도.
도 7은 본 발명의 일 실시예에 따른 휴대용 단말기의 구성을 도시한 블록도.
이하, 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예를 상세하게 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. 또한, 유사한 기능 및 작용을 하는 부분에 대해서는 도면 전체에 걸쳐 동일한 부호를 사용한다.
도 1은 본 발명의 일 실시예에 따른 AES(Advanced Encryption Standard)-WRAP 알고리즘을 이용하여 암호화하는 방법을 나타낸 도면이다. 먼저, AES-WRAP 알고리즘(101)이란 미국의 연방 표준 알고리즘으로서 20년이 넘게 사용되어 온 DES(Data Encryption Standard)를 대신할 차세대 표준 알고리즘이다. 1997년 이후 DES의 안정성에 대한 논란이 부각되자 NIST(National Institutes of Technology)가 DES를 대체할 차세대 표준 암호 알고리즘 제정을 위한 프로젝트로 추진한 것이 AES이다.
AES-WRAP 알고리즘(101)은 아래의 수학식 1로 정의될 수 있다.
Figure pat00001
여기서, A와 B값은 AES-WRAP 알고리즘(101)의 입력 값들로 정의되고, C값은 AES-WRAP 알고리즘(101)의 출력 값으로 정의된다.
즉, 임의의 A와 B값을 AES-WRAP 알고리즘(101)의 입력 값들로 대입하여 AES-WRAP 알고리즘(101)을 수행하면, 그 출력 값으로 C의 값이 생성되는 유도 알고리즘이다. 보다 구체적으로, 상술한 수학식 1에서 A와 B값을 AES-WRAP 알고리즘(101)에 입력하면, AES-WRAP 알고리즘(101)은 A와 B값을 조합하여 C값을 생성하는데, 생성된 C 값은 타인이 인지할 수 없도록 암호화된다. 따라서, AES-WRAP 알고리즘(101)을 통하여, C라는 출력 값을 생성한 사용자 이외에는 암호화된 정보가 노출되지 않는다.
디바이스의 고유의 키(device unique key, 102)는 해당 디바이스에 부여된 고유의 키를 말한다. 예를 들면, 디바이스에 구비되어 있는 메인보드(mainboard)의 고유번호, 블루투스(bluetooth) 설정시 디바이스의 ID번호 등이 될 수 있다. 본 발명에서는 상술한 예와 같이, 디바이스마다 부여되는 고유의 키를 이용하여, 디바이스의 고유의 키(102)로 암호화되어 있는 파일은 해당 디바이스만이 복호화 가능하도록 한다.
애플리케이션의 ID(globally unique application identification, 103)는 각각의 애플리케이션에 고유하게 부여된 ID를 의미한다. 예를 들면, 애플리케이션의 개발자가 특정 서버에 자신이 개발한 애플리케이션을 등록하는 경우, 여러 애플리케이션을 구별하기 위하여 서버로부터 애플리케이션의 ID를 부여받는다. 즉, 모든 애플리케이션은 각각의 애플리케이션에 고유하게 부여된 ID를 가지고 있다. 본 발명에서는 AES-WRAP 알고리즘(101)에 입력되는 입력 값 중에 하나로 적용된다.
애플리케이션의 고유의 키(device unique key with application identification, 104)는 애플리케이션에 고유하게 부여된 키로 정의된다. 본 발명에서는 AES-WRAP 알고리즘(101)에 의하여 출력되는 출력 값으로, 애플리케이션의 고유의 키(104)로 암호화되어 있는 파일은 해당 디바이스의 해당 애플리케이션만이 복호화 가능하도록 한다. 즉, 애플리케이션에 포함된 데이터는 애플리케이션의 고유의 키(104)로 암호화되므로, 다른 디바이스에서 해당 애플리케이션의 고유의 키(104)로 암호화되어 있는 데이터는 복호화할 수 없다.
본 발명에서는 아래의 수학식 2에 따라 애플리케이션의 고유의 키(104)를 생성한다.
Figure pat00002
상술한 바와 같이, DUK는 디바이스의 고유의 키(102)를 의미하고, APPID는 애플리케이션의 ID(103)를 의미하며, DUAK는 애플리케이션의 고유의 키(104)를 의미한다. 즉, 디바이스의 고유의 키(102)와 애플리케이션의 ID(103)를 AES-WRAP 알고리즘(101)의 입력 값으로 입력하고, 애플리케이션의 고유의 키(104)를 생성하여, 해당 디바이스의 해당 애플리케이션의 사용자만이 애플리케이션에 포함된 데이터를 확인할 수 있다. 따라서, 애플리케이션에 포함된 사용자의 중요 정보가 공개될 우려가 없어, 사용자의 개인 데이터 및 기술을 보호할 수 있다.
도 2는 본 발명에 따른 휴대용 단말기의 암호화 및 복호화의 일 실시예를 나타낸 도면이다. 도 2에 도시된 바와 같이, 본 발명에 따른 애플리케이션 데이터 보호를 위한 휴대용 단말기는 애플리케이션 모듈(201), 플랫폼 시스템 모듈(202) 및 파일 시스템 모듈(203)로 구성될 수 있다.
먼저, 사용자의 휴대용 단말기의 애플리케이션 모듈(201)에는 애플리케이션이 위치하고 있다. 예를 들면, 사용자가 애플리케이션을 실행하여, 애플리케이션에 새로운 데이터를 입력하여, 입력한 데이터를 파일 시스템 모듈(203)에 저장할 수 있다. 또한, 파일 시스템 모듈(203)에 저장된 데이터를 애플리케이션 모듈(201)로 수신하여, 수신한 데이터를 읽어들일 수 있다. 보다 구체적으로는 사용자에 의하여 입력된 데이터는 애플리케이션 모듈(201)에 저장되고, 애플리케이션 모듈(201)에 저장된 데이터는 플랫폼 시스템 모듈(202)에서 수신한다. 플랫폼 시스템 모듈(202)에서 수신한 데이터는 암호화 과정을 통해 데이터를 암호화하고, 암호화된 데이터를 파일 시스템 모듈(203)로 전송한다. 파일 시스템 모듈(203)에서는 플랫폼 시스템 모듈(202)에서 암호화된 데이터를 수신하여 저장한다. 이후, 애플리케이션 모듈(201)이 파일 시스템 모듈(203)에 저장된 데이트를 읽기 위해서, 플랫폼 시스템 모듈(202)로 일기 요청을 한다. 플랫폼 시스템 모듈(202)은 애플리케이션 모듈(201)로부터 데이터 읽기 요청을 받아, 파일 시스템 모듈(203)로 해당 데이터를 요청한다. 파일 시스템 모듈(203)은 플랫폼 시스템 모듈(202)로부터 데이터를 요청받아, 플랫폼 시스템 모듈(202)로 요청한 데이터를 전송한다. 다시, 플랫폼 시스템 모듈(202)은 암호화된 데이터를 수신하여 암호화된 데이터를 복호화하고, 애플리케이션 모듈(201)로 복호화된 데이터를 송신한다.
플랫폼 시스템 모듈(202)은 애플리케이션 모듈(201)로부터 소정의 데이터를 수신하여, 수신한 데이터를 암호화하고, 암호화한 데이터를 파일 시스템 모듈(203)로 송신한다. 또한, 애플리케이션 모듈(201)로부터 읽기 요청을 전송받아, 파일 시스템 모듈(203)로 해당 데이터를 요청하여 수신하고, 수신한 데이터를 복호화하여 애플리케이션 모듈(201)로 송신하다. 보다 구체적으로, 먼저, 애플리케이션 모듈(201)로부터 애플리케이션에 입력된 데이터를 수신한다. 데이터를 수신한 플랫폼 시스템 모듈(202)은 데이터를 송신한 애플리케이션 모듈(201)로부터 디바이스의 고유의 키 및 애플리케이션의 ID를 전송받는다. 즉, 적어도 하나 이상의 애플리케이션이 애플리케이션 모듈(201)에 위치하고 있는 경우, 플랫폼 시스템 모듈(202)로 데이터를 전송한 디바이스 고유의 키와 애플리케이션의 ID를 데이터와 함께 전송받는다. 바람직하게는, 애플리케이션 모듈(201)과 플랫폼 시스템 모듈(202)은 동일한 디바이스에 위치하고 있음으로, 플랫폼 시스템 모듈(202)에 디바이스 고유의 키가 저장되어 있을 수도 있다.
여기서, 디바이스 고유의 키는 해당 디바이스에 부여된 고유의 키를 말한다. 예를 들면, 디바이스에 구비되어 있는 메인보드의 고유번호, 블루투스 설정시 디바이스의 ID번호 등이 될 수 있다. 그리고, 애플리케이션의 ID는 각각의 애플리케이션에 고유하게 부여된 ID를 의미한다. 즉, 모든 애플리케이션은 각각의 애플리케이션에 고유하게 부여된 ID를 가지고 있다.
상술한 바와 같이, 데이터를 입력한 특정 애플리케이션으로부터 입력한 데이터와 함께 디바이스 고유의 키와 해당 애플리케이션의 ID를 전송받은 플랫폼 시스템 모듈(202)은, 특정 알고리즘을 이용하여 애플리케이션의 고유의 키를 생성한다. 특정 알고리즘으로 다양한 알고리즘을 이용하여 애플리케이션의 고유의 키를 생성할 수 있지만, 본 발명에서는 바람직하게는 AES-WRAP 알고리즘을 사용할 수 있다. 여기서 애플리케이션의 고유의 키는 애플리케이션마다 가지는 고유의 키로 정의된다. 본 발명에서는 AES-WRAP 알고리즘에 의하여 생성되는 출력 값으로, 애플리케이션의 고유의 키로 암호화되어 있는 파일은 해당 디바이스의 해당 애플리케이션만이 복호화 가능하도록 한다. 즉, 애플리케이션에 포함된 데이터는 애플리케이션의 고유의 키로 암호화되므로, 다른 디바이스에서 해당 애플리케이션의 고유의 키로 암호화되어 있는 데이터는 복호화할 수 없다.
AES-WRAP 알고리즘으로 애플리케이션의 고유의 키를 생성하여, 애플리케이션으로부터 전송받은 데이터를 암호화한 플랫폼 시스템 모듈(202)은, 파일 시스템 모듈(203)로 암호화한 데이터를 전송한다. 이후, 애플리케이션 모듈(201)로부터 데이터 읽기 요청을 받은 플랫폼 시스템 모듈(202)은, 파일 시스템 모듈(203)로 해당 데이터를 요청하여 수신한다.
파일 시스템 모듈(203)로부터 데이터를 수신한 플랫폼 시스템 모듈(202)은, 데이터 읽기를 요청한 특정 애플리케이션으로부터 디바이스 고유의 키 및 해당 애플리키에션의 ID를 전송받는다. 디바이스 고유의 키와 해당 애플리케이션의 ID를 전송받은 플랫폼 시스템 모듈(202)은 상술한 암호화 과정과 동일하게 AES-WRAP 알고리즘을 통하여, 애플리케이션의 고유의 키를 생성하고, 생성한 애플리케이션의 고유의 키를 이용하여 암호화된 데이터를 복호화한다. 플랫폼 시스템 모듈(202)이 암호화된 데이터를 복호화할 때, AES-WRAP 알고리즘을 이용하는 이유는 복호화 과정은 암호화 과정과 대칭 시스템으로 동일한 과정을 필요하기 때문이다. 즉, 암호화된 데이터를 복호화하는 경우에도, 디바이스 고유의 키와 해당 애플리케이션의 ID를 입력 값으로 하고, AES-WRAP 알고리즘을 통하여 애플리케이션의 고유의 키를 생성한다.
이후, 생성한 애플리케이션의 고유의 키로 암호화된 데이터를 복호화한다. 상술한 복호화 과정에서 플랫폼 시스템 모듈(202)이 파일 시스템 모듈(203)로부터 암호화된 데이터를 수신하고, AES-WRAP 알고리즘을 통하여 애플리케이션의 고유의 키를 생성할 수도 있지만, 애플리케이션의 고유의 키를 먼저 생성하여 복호화할 수도 있다. 즉, 먼저 플랫폼 시스템 모듈(202)이 애플리케이션의 고유의 키를 생성해놓고, 파일 시스템 모듈(203)로부터 암호화된 데이터를 전송받아 복호화할 수도 있고, 파일 시스템 모듈(203)로부터 암호화된 데이트를 먼저 전송받고, 애플리케이션의 고유의 키를 생성하여 복호화할 수도 있다.
플랫폼 시스템 모듈(202)이 파일 시스템 모듈(203)로부터 암호화된 데이터를 전송받아 복호화를 완료하여 복호화된 데이터를 애플리케이션 모듈(201)로 전송하였다면, 휴대용 단말기의 암호화 및 복호화 모듈의 동작방법은 모두 종료된다.
도 3은 본 발명에 따른 애플리케이션 패키지로부터 애플리케이션을 설치시 데이터를 암호화하는 일 실시예를 나타낸 도면이다. 즉, 도 3은 애플리케이션 패키지(applications package)가 포함된 압축파일을 사용자의 디바이스에 설치시 데이터를 바로 암호화하여 저장하는 일 실시예를 나타낸 것이다.
먼저, 도 3에 도시된 압축파일은 적어도 하나 이상의 애플리케이션이 포함된 파일로, 각각의 애플리케이션이 포함된 파일은 파일 헤더와 압축된 파일이 존재한다. 보다 구체적으로는, 파일 헤더에는 압축된 파일의 이름과 파일의 크기 등이 저장되어 있다. 즉, 파일 헤더에 저장되어 있는 정보를 이용하여, 사용자는 압축되어 있는 파일의 이름과 파일의 크기정보 등을 확인할 수 있다. 압축된 파일에는 파일 헤더에 저장되어 있는 파일정보에 상응하는 파일이 압축되어 있다.
일반적으로 애플리케이션 패키지는 대부분 zip 파일 포맷을 사용하고 있다. 예를 들면, 아이폰(iPhone)에서는 ipa 포맷으로, 안드로이드(Android)에서는 apk 포맷으로, 바다(bada)에서는 oap 포맷으로 zip 파일 포맷을 사용하고 있다. 그러나, 종래에는 상술한 압축파일 포맷으로 되어있는 애플리케이션 패키지를 디바이스에 설치하는 경우에는 파일 시스템에 암호화되지 않는 파일이 존재하는 문제점이 있었다. 보다 구체적으로는, zip 파일 포맷이 사용되는 애플리케이션 패키지를 사용자의 디바이스의 파일 시스템에 설치하는 경우에 zip 파일은 임시 파일을 만들고, 이후 설치 디바이스의 파일 시스템에 저장된다. 즉, 설치 디바이스에 zip 파일이 설치되는 과정에서 암호화되지 않은 임시파일 형태로 디바이스의 파일 시스템에 저장되는 것이다. 따라서, 애플리케이션에 저장되어 있는 사용자의 중요 정보가 노출될 우려가 존재하였다.
그러나, 본 발명에서는 압축파일 형태의 애플리케이션 패키지를 사용자의 디바이스에 설치하는 경우에, 버퍼(buffer)가 저장부로부터 압축된 데이터를 전달받아 바로 암호화하여, zip 파일이 설치되는 과정에서 암호화되지 않는 임시파일 형태로 디바이스의 파일 시스템에 저장되지 않는다. 즉, 본 발명에서는 압축파일로부터 읽은 버퍼가 이를 그대로 암호화하여 파일 시스템에 저장하는 방식을 사용하여 임시로 파일 시스템에 암호화되지 않은 파일이 존재하는 것을 방지한다.
애플리케이션 패키지로부터 설치 디바이스에 애플리케이션을 설치시 파일을 바로 암호화하는 과정을 보다 구체적으로 살펴보자. 먼저, 적어도 하나의 애플리케이션이 포함되어 있는 애플리케이션 패키지가 압축파일 형태로 디바이스의 저장부에 저장되어 있다. 디바이스에서는 파일 시스템에 애플리케이션을 설치하기 위하여 디바이스의 버퍼가 저장부에 압축파일 형태로 저장되어 있는 애플리케이션을 저장부로부터 읽어들인다. 이후, 버퍼는 저장부로부터 읽어들인 압축된 데이터를 일반 데이터로 압축을 해제한다. 압축이 해제되었으면, 압축이 해제된 일반 데이터를 바로 암호화하여 파일 시스템에 저장한다.
버퍼에서 압축이 해제된 일반 데이터를 바로 암호화하는 과정은 상술한 바와 같이, AES-WRAP 알고리즘을 이용하여 암호화한다. 보다 구체적으로는, 디바이스의 고유의 키 및 애플리케이션의 ID를 입력 값으로 대입하여, AES-WRAP 알고리즘을 수행하면, 출력 값으로 애플리케이션의 고유의 키가 생성된다. 이후, 생성된 애플리케이션의 고유의 키를 이용하여, 버퍼에서 압축이 해제된 일반 데이터를 바로 암호화하여 파일 시스템에 저장한다. 따라서, 종래의 기술과 같이, 애플리케이션 패키지를 디바이스에 설치시, 압축을 해제하는 과정에서 임시파일 형태로 설치 디바이스에 남아 있는 경우는 없어, 사용자의 중요 정보가 보호될 수 있다.
도 3에 도시된 압축파일 형태의 애플리케이션 패키지를 디바이스에 설치시, 바로 암호화하는 방법의 또 다른 실시예로는, 테마 애플리케이션(Theme application), 웹 애플리케이션(Web application) 및 플래시 애플리케이션(Flash application)의 경우에도 적용 가능하다. 먼저, 애플리케이션은 애플리케이션에 포함되어 있는 컨텐츠의 종류에 따라 세분화하여 분류될 수 있다. 테마 애플리케이션은 확장자 명이 smt, ttf 등의 파일을 컨텐츠로 가지고 있는 애플리케이션으로 정의되고, 웹 애플리케이션은 확장자 명이 js, css, html, htm 등의 파일을 컨텐츠로 가지고 있는 애플리케이션으로 정의되며, 플래시 애플리케이션은 확장자 명이 swf 파일을 컨텐츠로 가지고 있는 애플리케이션으로 정의된다.
구체적인 예를 들어, 또 다른 실시예를 살펴보면, 먼저, 테마 애플리케이션의 경우 상술한 바와 같이, 파일의 확장자 명이 smt, ttf 등의 파일이 존재하는데, 애플리케이션 패키지를 디바이스에 설치시, 바로 암호화하는 방법을 적용하면, 데마 애플리케이션의 smt, ttf 등의 파일은 암호화되어 저장된다. 그러나, 데마 파일을 플랫폼 시스템에 적용하기 위해서는 다시 smt 파일을 풀어야 하는데, 이때 암호화되지 않은 파일들이 존재하게 된다. 이러한 암호화되지 않은 파일들이 존재하는 것을 방지하기 위하여 테마 파일을 해제하면서, 다시 애플리케이션 패키지를 디바이스에 설치시, 바로 암호화하는 방법을 적용하여 암호화된 파일들로 압축이 해제되는 기술이 적용 가능한 것이다. 마찬가지로, 웹 애플리케이션의 경우 상술한 바와 같이, js, css, htm, html 등의 파일이 존재하는데, 애플리케이션 패키지를 풀면서 보호하는 방식을 적용하면, 컨텐츠들의 보호가 가능하다. 또한 플래시 애플리케이션의 경우 swf 등의 컨텐츠도 동일한 방식으로 적용됨은 물론이다.
도 4는 본 발명에 따른 DRM으로 암호화된 애플리케이션 패키지로부터 애플리케이션을 설치시 데이터를 암호화하는 일 실시예를 나타낸 도면이다. 즉, 도 4는 다른 디바이스로부터 DRM(Digital Rights Management)으로 암호화된 애플리케이션 패키지를 전송받은 후, 사용자의 디바이스에 애플리케이션 패키지를 설치시 데이터를 바로 암호화하여 저장하는 일 실시예를 나타낸 것이다. 여기서, DRM이란 'Digital Rights Management'의 약자로 디지털 저작권 관리를 의미한다. 콘텐츠 제공자의 권리와 이익을 안전하게 보호하며 불법복제를 막고 사용료 부과와 결제대행 등 콘텐츠의 생성에서 유통·관리까지를 일괄적으로 지원하는 기술을 말한다. 여기에는 적법한 사용자만 콘텐츠를 사용하고 적절한 요금을 지불하도록 하는 디지털 저작권 관리기술, 저작권 승인과 집행을 위한 소프트웨어 및 보안기술, 지불·결제기술이 모두 포함된다.
보다 구체적으로는, 먼저, 애플리케이션을 설치하고자 하는 설치 디바이스가 DRM으로 암호화된 애플리케이션 패키지를 다른 디바이스로부터 전송받는다. 이후, 설치 디바이스의 버퍼가 설치 디바이스의 통신모듈로부터 DRM으로 암호화된 데이터를 전달받아, DRM으로 암호화된 데이터를 복호화한다. 버퍼에서 DRM으로 암호화된 데이터를 복호화하였으면, 이후의 과정은 도 3을 통하여 상세히 설명한 바와 같이 동일한 과정으로 암호화된 데이터는 파일 시스템에 저장된다.
즉, 버퍼에서 압축이 해제된 일반 데이터를 바로 암호화하는 과정은 상술한 바와 같이, AES-WRAP 알고리즘을 이용하여 암호화한다. 보다 구체적으로는, 디바이스의 고유의 키 및 애플리케이션의 ID를 입력 값으로 대입하여, AES-WRAP 알고리즘을 수행하면, 출력 값으로 애플리케이션의 고유의 키가 생성된다. 이후, 생성된 애플리케이션의 고유의 키를 이용하여, 버퍼에서 압축이 해제된 일반 데이터를 바로 암호화하여 파일 시스템에 저장한다. 따라서, 종래의 기술과 같이, 애플리케이션 패키지를 디바이스에 설치시, 압축을 해제하는 과정에서 임시파일 형태로 설치 디바이스에 남아 있는 경우는 없어, 사용자의 중요정보가 보호될 수 있다.
도 5는 본 발명의 일 실시예에 따른 휴대용 단말기의 암호화 및 복호화 순서를 도시한 순서도이다. 도 5에 도시된 바와 같이, 애플리케이션 모듈이 사용자에 의하여 작성된 데이터를 저장한다(501). 보다 구체적으로는, 적어도 하나의 애플리케이션이 위치하고 있는 애플리케이션 모듈에 특정 애플리케이션에 사용자가 데이터를 입력한 경우를 나타낸 것이다. 즉, 사용자가 특정 애플리케이션에 데이터를 입력한 경우에 입력된 데이터는 해당 애플리케이션 모듈에 저장된다.
애플리케이션 모듈이 사용자에 의하여 작성된 데이터를 저장하였으면, 플랫폼 시스템 모듈은 애플리케이션 모듈로부터 데이터를 수신하여 암호화한다(502). 보다 구체적으로는, 사용자에 의하여 작성된 데이터는 최종적으로 파일 시스템 모듈로 암호화하여 저장되기 위하여 플랫폼 시스템 모듈이 애플리케이션 모듈로부터 데이터를 수신하여 암호화한다. 플랫폼 시스템 모듈이 암호화하는 과정을 상세히 설명하면, 데이터를 수신한 플랫폼 시스템 모듈은 데이터를 송신한 애플리케이션 모듈로부터 디바이스의 고유의 키 및 애플리케이션의 ID를 전송받는다. 즉, 적어도 하나 이상의 애플리케이션이 애플리케이션 모듈에 위치하고 있는 경우, 플랫폼 시스템 모듈로 데이터를 전송한 디바이스 고유의 키와 애플리케이션의 ID를 데이터와 함께 전송받는다. 바람직하게는, 애플리케이션 모듈과 플랫폼 시스템 모듈은 동일한 디바이스에 위치하고 있음으로, 플랫폼 시스템 모듈에 디바이스 고유의 키가 저장되어 있을 수도 있다. 데이터를 입력한 특정 애플리케이션으로부터 입력한 데이터와 함께 디바이스 고유의 키와 해당 애플리케이션의 ID를 전송받은 플랫폼 시스템 모듈은, AES-WRAP 알고리즘을 통하여 애플리케이션의 고유의 키를 생성한다. 플랫폼 시스템 모듈은 생성된 애플리케이션의 고유의 키를 이용하여, 애플리케이션 모듈로부터 수신한 데이터를 암호화한다.
플랫폼 시스템 모듈이 애플리케이션 모듈로부터 데이터를 수신하여 암호화하였으면, 플랫폼 시스템 모듈은 파일 시스템 모듈로 암호화된 데이터를 송신한다(503). 보다 구체적으로는, 사용자에 의하여 작성된 데이터가 최종적으로 파일 시스템 모듈로 암호화하여 저장된 것이다. 즉, 특정 데이터가 애플리케이션 모듈로부터 플랫폼 시스템 모듈을 거쳐 최종적으로 파일 시스템 모듈로 저장될 때, 애플리케이션에 입력된 데이터를 암호화하여 타인에게 데이터가 노출되지 않도록 데이터를 암호화한 것이다.
이후, 플랫폼 시스템 모듈이 애플리케이션 모듈로부터 데이터를 읽기를 요청받는다(504). 보다 구체적으로는, 파일 시스템에 저장된 데이터를 사용자가 다시 읽기를 원하는 경우에, 사용자에 의하여 읽기 요청을 받은 특정 애플리케이션 모듈은 파일 시스템에 저장된 특정 데이터를 읽어오기 위하여 플랫폼 시스템에 해당 데이터를 요청한다. 즉, 파일 시스템 모듈에 저장되어 있는 암호화된 데이터를 애플리케이션 모듈이 읽기 위해서는 플랫폼 시스템 모듈에서 복호화하는 과정을 거쳐야 하기 때문에, 먼저 애플리케이션 모듈은 플랫폼 시스템 모듈로 특정 데이터 읽기를 요청하는 것이다.
플랫폼 시스템 모듈이 애플리케이션 모듈로부터 특정 데이터 읽기를 요청받았으면, 플랫폼 시스템 모듈은 파일 시스템 모듈로 해당 데이터를 요청하여 수신한다(505). 보다 구체적으로는, 플랫폼 시스템 모듈은 파일 시스템 모듈에 저장되어 있는 특정 데이터를 파일 시스템 모듈로부터 전송받아 복호화하기 위한 과정이다.
플랫폼 시스템 모듈이 파일 시스템 모듈로 데이터를 요청하여 수신하였으면, 플랫폼 시스템 모듈은 수신한 데이터를 복호화한다(506). 보다 구체적으로는, 플랫폼 시스템 모듈은 파일 시스템 모듈에 저장되어 있는 암호화된 특정 데이터를 전송받아 복호화하여 해당 데이터를 요청한 애플리케이션 모듈로 송신하기 위함이다. 플랫폼 시스템 모듈이 특정 데이터를 복호화하는 과정을 상세히 살펴보자. 파일 시스템 모듈로부터 데이터를 수신한 플랫폼 시스템 모듈은, 데이터 읽기를 요청한 특정 애플리케이션으로부터 디바이스 고유의 키 및 해당 애플리키에션의 ID를 전송받는다. 디바이스 고유의 키와 해당 애플리케이션의 ID를 전송받은 플랫폼 시스템 모듈은 상술한 암호화 과정과 동일하게 AES-WRAP 알고리즘을 통하여, 애플리케이션의 고유의 키를 생성하고, 생성한 애플리케이션의 고유의 키를 이용하여 암호화된 데이터를 복호화한다. 플랫폼 시스템 모듈이 암호화된 데이터를 복호화할 때, AES-WRAP 알고리즘을 이용하는 이유는 복호화 과정은 암호화 과정과 대칭 시스템으로 동일한 과정을 필요하기 때문이다. 즉, 암호화된 데이터를 복호화하는 경우에도, 디바이스 고유의 키와 해당 애플리케이션의 ID를 입력 값으로 하고, AES-WRAP 알고리즘을 통하여 애플리케이션의 고유의 키를 생성한다. 이후, 생성한 애플리케이션의 고유의 키로 암호화된 데이터를 복호화한다. 상술한 복호화 과정에서 플랫폼 시스템 모듈이 파일 시스템 모듈로부터 암호화된 데이터를 수신하고, AES-WRAP 알고리즘을 통하여 애플리케이션의 고유의 키를 생성할 수도 있지만, 애플리케이션의 고유의 키를 먼저 생성하여 복호화할 수도 있다. 즉, 먼저 플랫폼 시스템 모듈이 애플리케이션의 고유의 키를 생성해놓고, 파일 시스템 모듈로부터 암호화된 데이터를 전송받아 복호화할 수도 있고, 파일 시스템 모듈로부터 암호화된 데이트를 먼저 전송받고, 애플리케이션의 고유의 키를 생성하여 복호화할 수도 있다.
플랫폼 시스템 모듈이 파일 시스템 모듈로부터 수신한 데이터를 복호화하였다면, 플랫폼 시스템 모듈은 복호화된 데이터를 애플리케이션 모듈로 송신한다(507). 애플리케이션 모듈은 플랫폼 시스템 모듈로부터 복호화된 데이터를 전송받아 저장하고, 이후 사용자의 요청에 따라, 디바이스의 표시부에 복호화된 데이터를 디스플레이하면, 암호화 및 복호화하기 위한 모든 과정은 종료한다.
도 6은 본 발명의 일 실시예에 따른 애플리케이션 패키지로부터 애플리케이션을 설치시 데이터를 암호화하는 순서를 도시한 순서도이다. 도 6에 도시된 바와 같이, 먼저 설치 디바이스의 저장부에 저장된 압축된 애플리케이션 패키지를 버퍼에서 전송받는다(601). 보다 구체적으로는, 압축파일 형태로 저장부에 저장된 애플리케이션 패키지를 디바이스에 설치하고자 하는 경우, 버퍼에서는 저장부에 저장된 애플리케이션 패키지를 읽어들인다. 일반적으로 애플리케이션 패키지는 대부분 zip 파일 포맷을 사용하고 있다. 그러나, 종래에는 상술한 압축파일 포맷으로 되어있는 애플리케이션 패키지를 디바이스에 설치하는 경우에는 파일 시스템에 암호화되지 않는 파일이 존재하는 문제점이 있었다. 보다 구체적으로는, zip 파일 포맷이 사용되는 애플리케이션 패키지를 사용자의 디바이스의 파일 시스템에 설치하는 경우에 zip 파일은 임시 파일을 만들고, 이후 설치 디바이스의 파일 시스템에 저장된다. 즉, 설치 디바이스에 zip 파일이 설치되는 과정에서 암호화되지 않는 임시파일 형태로 디바이스의 파일 시스템에 저장되는 것이다. 따라서, 애플리케이션에 저장되어 있는 사용자의 중요정보가 노출될 우려가 존재하였다. 그러나, 본 발명에서는 압축파일 형태의 애플리케이션 패키지를 사용자의 디바이스에 설치하는 경우에, 버퍼가 저장부로부터 압축된 데이터를 전달받아 바로 암호화하여, zip 파일이 설치되는 과정에서 암호화되지 않는 임시파일 형태로 디바이스의 파일 시스템에 저장되지 않는다. 즉, 본 발명에서는 압축파일로부터 읽은 버퍼가 이를 그대로 암호화하여 파일 시스템에 저장하는 방식을 사용하여 임시로 파일 시스템에 암호화되지 않은 파일이 존재하는 것을 방지한다.
도 6에는 도시하지 않았지만, 다른 디바이스로부터 DRM으로 암호화된 애플리케이션 패키지를 전송받은 후, 사용자의 디바이스에 애플리케이션 패키지를 설치시 데이터를 바로 암호화하여 저장할 수도 있다. 이러한 경우에는 버퍼에서는 애플리케이션 패키지가 DRM으로 암호화된 경우에는 설치 디바이스의 통신모듈이 다른 디바이스로부터 DRM으로 암호화된 데이터를 전송받아, 복호화한다.
압축된 애플리케이션 패키지를 버퍼에서 전송받았으면, 버퍼에서는 전송받은 압축된 애플리케이션 패키지의 압축을 해제한다(602). 보다 구체적으로는, 저장부에 저장되어 있는 압축된 데이터를 버퍼에서 전송받아, 압축된 데이터를 일반 데이터로 압축을 해제한다는 의미이다.
이후, 압축을 해제한 데이터를 암호화한다(603). 압축이 해제된 일반 데이터를 바로 암호화하는 과정은 상술한 바와 같이, AES-WRAP 알고리즘을 이용하여 암호화한다. 보다 구체적으로는, 디바이스의 고유의 키 및 애플리케이션의 ID를 입력 값으로 대입하여, AES-WRAP 알고리즘을 수행하면, 출력 값으로 애플리케이션의 고유의 키가 생성된다. 이후, 생성된 애플리케이션의 고유의 키를 이용하여, 버퍼에서 압축이 해제된 일반 데이터를 바로 암호화한다.
압축을 해제한 일반 데이터를 AES-WRAP 알고리즘을 이용하여 바로 암호화하였으면, 암호화한 데이터를 파일 시스템에 저장한다(604). 본 발명에서는 애플리케이션 패키지를 디바이스에 설치하는 경우, 상술한 바와 같이 바로 데이터를 암호화하여 파일 시스템에 저장한다. 따라서, 종래의 기술과 같이, 애플리케이션 패키지를 디바이스에 설치시, 압축을 해제하는 과정에서 임시파일 형태로 설치 디바이스에 남아 있는 경우는 없어, 사용자의 중요정보가 보호될 수 있다.
도 7은 본 발명의 일 실시예에 따른 휴대용 단말기의 구성을 도시한 블록도이다. 도 7에 도시된 바와 같이, 본 발명에 따른 휴대용 단말기는 제어부(701), 입력부(702), 표시부(703), 저장부(704) 및 통신모듈(705)을 포함하여 구성될 수 있다.
제어부(701)는 휴대용 단말기의 전반적인 동작을 제어한다. 본 발명에서 제어부(701)는 애플리케이션 모듈, 플랫폼 시스템 모듈, 파일 시스템 모듈 및 버퍼를 포함하여 구성될 수 있다.
애플리케이션 모듈은 애플리케이션에 입력된 데이터를 수신하고, 복호화된 데이터를 플랫폼 시스템 모듈로부터 수신한다.
플랫폼 시스템 모듈은 수신한 데이터를 애플리케이션의 고유의 키를 이용하여 암호화하고, 애플리케이션 모듈로부터 데이터를 요청받고, 암호화된 데이터를 애플리케이션의 고유의 키를 이용하여 복호화한다. 또한, 휴대용 단말기의 고유의 키 및 애플리케이션의 ID중 적어도 하나를 입력 값으로 대입하여, 특정 알고리즘으로 애플리케이션의 고유의 키를 생성하고, 생성된 애플리케이션의 고유의 키를 이용하여, 수신한 데이터를 암호화한다. 또한, 휴대용 단말기의 고유의 키 및 애플리케이션의 ID중 적어도 하나를 입력 값으로 대입하여, 특정 알고리즘으로 애플리케이션의 고유의 키를 생성하고, 생성된 애플리케이션의 고유의 키를 이용하여, 암호화된 데이터를 복호화한다.
파일 시스템 모듈은 암호화된 데이터를 저장한다.
버퍼는 적어도 하나의 애플리케이션이 포함된 압축된 데이터를 해제하고, 해제된 데이터를 암호화한다. 또한, 휴대용 단말기의 고유의 키 및 애플리케이션의 ID중 적어도 하나를 입력 값으로 대입하여, 특정 알고리즘으로 애플리케이션의 고유의 키를 생성하고, 생성된 애플리케이션의 고유의 키를 이용하여, 해제된 데이터를 암호화한다. 또한, DRM이 적용된 압축된 데이터를 복호화한다.
입력부(702)는 사용자의 선택에 의해 발생하는 입력 데이터를 제어부(701)로 제공한다.
표시부(703)는 제어부(701)의 제어에 따라 휴대용 단말기의 상태 정보, 메뉴 화면 및 스토리 정보를 표시한다.
저장부(704)는 휴대용 단말기의 동작을 제어하기 위한 프로그램을 저장하는 프로그램 저장부 및 프로그램 수행 중에 발생되는 데이터를 저장하는 데이터 저장부로 구성될 수 있다. 예를 들면, 적어도 하나의 애플리케이션이 포함된 압축된 데이터가 저장되어 있다.
통신 모듈(705)은 음성 및 데이터 통신을 위해 안테나를 통해 송수신되는 신호를 처리한다. 예를 들면, 다른 휴대용 단말기로부터 DRM이 적용된, 적어도 하나의 애플리케이션이 포함된 압축된 데이터를 수신한다.
상술한 블록 구성에서, 제어부(701)는 단말기의 전반적인 기능을 수행할 수 있다. 본 발명에서 이를 별도로 구성하여 도시한 것은 각 기능들을 구별하여 설명하기 위함이다. 따라서 실제로 제품을 구현하는 경우에 단말기의 기능 모두를 제어부(701)에서 처리하도록 구성할 수도 있으며, 기능 중 일부만을 제어부(701)에서 처리하도록 구성할 수도 있다.
이상 설명한 본 발명은 본 발명이 속한 기술분야에서 통상의 지식을 가진 자에 의하여 다양한 변형이나 응용이 가능하며, 본 발명에 따른 기술적 사상의 범위는 아래의 특허청구범위에 의하여 정해져야 할 것이다.
101: AES-WRAP 알고리즘 102: 디바이스의 고유의 키
103: 애플리케이션의 ID 104: 애플리케이션의 고유의 키
201: 애플리케이션 모듈 202: 플랫폼 시스템 모듈
203: 파일 시스템 모듈 701: 제어부
702: 입력부 703: 표시부
704: 저장부 705: 통신모듈

Claims (20)

  1. 애플리케이션 데이터를 암호화하기 위한 휴대용 단말기의 동작방법에 있어서,
    애플리케이션에 입력된 데이터를 수신하는 과정;
    상기 수신한 데이터를 애플리케이션의 고유의 키(device unique key with application identification)를 이용하여 암호화하는 과정; 및
    상기 암호화된 데이터를 저장하는 과정을 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 데이터를 요청받는 과정;
    상기 암호화된 데이터를 상기 애플리케이션의 고유의 키를 이용하여 복호화하는 과정; 및
    상기 복호화된 데이터를 출력하는 과정을 더 포함하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    상기 애플리케이션의 고유의 키를 이용하여 암호화하는 과정은,
    상기 휴대용 단말기의 고유의 키(device unique key) 및 상기 애플리케이션의 ID(globally unique application identification)중 적어도 하나를 입력 값으로 대입하여, 특정 알고리즘으로 상기 애플리케이션의 고유의 키를 생성하는 과정; 및
    상기 생성된 애플리케이션의 고유의 키를 이용하여, 상기 수신한 데이터를 암호화하는 과정을 포함하는 것을 특징으로 하는 방법.
  4. 제2항에 있어서,
    상기 애플리케이션의 고유의 키를 이용하여 복호화하는 과정은,
    상기 휴대용 단말기의 고유의 키 및 상기 애플리케이션의 ID중 적어도 하나를 입력 값으로 대입하여, 특정 알고리즘으로 상기 애플리케이션의 고유의 키를 생성하는 과정; 및
    상기 생성된 애플리케이션의 고유의 키를 이용하여, 상기 암호화된 데이터를 복호화하는 과정을 포함하는 것을 특징으로 하는 방법.
  5. 제3항 또는 제4항에 있어서, 상기 특정 알고리즘은,
    AES(Advanced Encryption Standard)-WRAP 알고리즘을 포함하는 것을 특징으로 하는 방법.
  6. 휴대용 단말기의 애플리케이션 설치방법에 있어서,
    적어도 하나의 애플리케이션이 포함된 압축된 데이터를 해제하는 과정; 및
    상기 해제된 데이터를 암호화하는 과정을 포함하는 것을 특징으로 하는 방법.
  7. 제6항에 있어서, 상기 해제된 데이터를 암호화하는 과정은,
    상기 휴대용 단말기의 고유의 키(device unique key) 및 상기 애플리케이션의 ID(globally unique application identification)중 적어도 하나를 입력 값으로 대입하여, 특정 알고리즘으로 상기 애플리케이션의 고유의 키를 생성하는 과정; 및
    상기 생성된 애플리케이션의 고유의 키를 이용하여, 상기 해제된 데이터를 암호화하는 과정을 포함하는 것을 특징으로 하는 방법.
  8. 제7항에 있어서, 상기 특정 알고리즘은,
    AES(Advanced Encryption Standard)-WRAP 알고리즘을 포함하는 것을 특징으로 하는 방법.
  9. 제6항에 있어서,
    다른 휴대용 단말기로부터 DRM(Digital Rights Management)이 적용된, 적어도 하나의 애플리케이션이 포함된 압축된 데이터를 수신하는 과정; 및
    상기 DRM이 적용된 압축된 데이터를 복호화하는 과정을 더 포함하는 것을 특징으로 하는 방법.
  10. 제6항에 있어서,
    상기 암호화된 데이터를 저장하는 과정을 더 포함하는 것을 특징으로 하는 방법.
  11. 애플리케이션 데이터를 암호화하기 위한 휴대용 단말기의 장치에 있어서,
    애플리케이션에 입력된 데이터를 수신하는 애플리케이션 모듈;
    상기 수신한 데이터를 애플리케이션의 고유의 키(device unique key with application identification)를 이용하여 암호화하는 플랫폼 시스템 모듈; 및
    상기 암호화된 데이터를 저장하는 파일 시스템 모듈을 포함하는 것을 특징으로 하는 장치.
  12. 제11항에 있어서,
    상기 플랫폼 시스템 모듈은, 상기 애플리케이션 모듈로부터 상기 데이터를 요청받고, 상기 암호화된 데이터를 상기 애플리케이션의 고유의 키를 이용하여 복호화하고,
    상기 애플리케이션 모듈은, 상기 복호화된 데이터를 상기 플랫폼 시스템 모듈로부터 수신하는 것을 특징으로 하는 장치.
  13. 제11항에 있어서,
    상기 플랫폼 시스템 모듈은, 상기 휴대용 단말기의 고유의 키(device unique key) 및 상기 애플리케이션의 ID(globally unique application identification)중 적어도 하나를 입력 값으로 대입하여, 특정 알고리즘으로 상기 애플리케이션의 고유의 키를 생성하고, 상기 생성된 애플리케이션의 고유의 키를 이용하여, 상기 수신한 데이터를 암호화하는 것을 특징으로 하는 장치.
  14. 제12항에 있어서,
    상기 플랫폼 시스템 모듈은, 상기 휴대용 단말기의 고유의 키 및 상기 애플리케이션의 ID중 적어도 하나를 입력 값으로 대입하여, 특정 알고리즘으로 상기 애플리케이션의 고유의 키를 생성하고, 상기 생성된 애플리케이션의 고유의 키를 이용하여, 상기 암호화된 데이터를 복호화하는 것을 특징으로 하는 장치.
  15. 제13항 또는 제14항에 있어서, 상기 특정 알고리즘은,
    AES(Advanced Encryption Standard)-WRAP 알고리즘을 포함하는 것을 특징으로 하는 장치.
  16. 휴대용 단말기의 애플리케이션 설치장치에 있어서,
    적어도 하나의 애플리케이션이 포함된 압축된 데이터를 해제하고, 상기 해제된 데이터를 암호화하는 버퍼(buffer)를 포함하는 것을 특징으로 하는 장치.
  17. 제16항에 있어서,
    상기 버퍼는, 상기 휴대용 단말기의 고유의 키(device unique key) 및 상기 애플리케이션의 ID(globally unique application identification)중 적어도 하나를 입력 값으로 대입하여, 특정 알고리즘으로 상기 애플리케이션의 고유의 키를 생성하고, 상기 생성된 애플리케이션의 고유의 키를 이용하여, 상기 해제된 데이터를 암호화하는 것을 특징으로 하는 장치.
  18. 제17항에 있어서, 상기 특정 알고리즘은,
    AES(Advanced Encryption Standard)-WRAP 알고리즘을 포함하는 것을 특징으로 하는 장치.
  19. 제16항에 있어서,
    다른 휴대용 단말기로부터 DRM(Digital Rights Management)이 적용된, 적어도 하나의 애플리케이션이 포함된 압축된 데이터를 수신하는 통신모듈을 더 포함하고,
    상기 버퍼는, 상기 DRM이 적용된 압축된 데이터를 복호화하는 것을 특징으로 하는 장치.
  20. 제16항에 있어서,
    상기 암호화된 데이터를 저장하는 저장부를 더 포함하는 것을 특징으로 하는 장치.
KR1020110115863A 2011-11-08 2011-11-08 애플리케이션 데이터 보호를 위한 휴대용 단말기의 장치 및 방법 KR101881303B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020110115863A KR101881303B1 (ko) 2011-11-08 2011-11-08 애플리케이션 데이터 보호를 위한 휴대용 단말기의 장치 및 방법
CN201210443935.8A CN103218570B (zh) 2011-11-08 2012-11-08 用于应用程序数据保护的便携式终端的装置和方法
US13/672,095 US9524391B2 (en) 2011-11-08 2012-11-08 Apparatus and method of portable terminal for application data protection

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110115863A KR101881303B1 (ko) 2011-11-08 2011-11-08 애플리케이션 데이터 보호를 위한 휴대용 단말기의 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20130050664A true KR20130050664A (ko) 2013-05-16
KR101881303B1 KR101881303B1 (ko) 2018-08-28

Family

ID=48224569

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110115863A KR101881303B1 (ko) 2011-11-08 2011-11-08 애플리케이션 데이터 보호를 위한 휴대용 단말기의 장치 및 방법

Country Status (3)

Country Link
US (1) US9524391B2 (ko)
KR (1) KR101881303B1 (ko)
CN (1) CN103218570B (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150051253A (ko) * 2013-11-01 2015-05-12 에스케이플래닛 주식회사 애플리케이션 데이터 보안 시스템 및 그 방법
US10209915B2 (en) 2015-04-14 2019-02-19 Samsung Electronics Co., Ltd. Electronic device and file read and write method thereof

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104145444B (zh) 2012-02-29 2018-07-06 黑莓有限公司 操作计算设备的方法、计算设备及计算机程序
CN104137466B (zh) 2012-02-29 2018-03-30 黑莓有限公司 操作计算设备的方法及计算设备
CN104145446B (zh) 2012-02-29 2018-06-05 黑莓有限公司 操作计算设备的方法、计算设备及计算机程序
US9397832B2 (en) * 2014-08-27 2016-07-19 International Business Machines Corporation Shared data encryption and confidentiality
KR102249826B1 (ko) * 2015-01-06 2021-05-11 삼성전자주식회사 데이터 관리 방법 및 이를 수행하는 전자 장치
CN106096424B (zh) * 2016-06-01 2019-03-12 联动优势电子商务有限公司 一种对本地数据进行加密方法和终端
CN108279941B (zh) 2016-12-31 2021-06-15 阿里巴巴集团控股有限公司 一种应用程序的压缩方法和装置
US11095662B2 (en) 2017-08-29 2021-08-17 Amazon Technologies, Inc. Federated messaging
US11368442B2 (en) * 2017-08-29 2022-06-21 Amazon Technologies, Inc. Receiving an encrypted communication from a user in a second secure communication network
US11349659B2 (en) * 2017-08-29 2022-05-31 Amazon Technologies, Inc. Transmitting an encrypted communication to a user in a second secure communication network
CN108920573A (zh) * 2018-06-22 2018-11-30 北京奇艺世纪科技有限公司 一种数据缓存处理方法、装置及终端设备
CN109558743A (zh) * 2018-11-27 2019-04-02 广州供电局有限公司 移动终端的数据保护方法、装置、计算机设备和存储介质
CN110401677B (zh) * 2019-08-23 2022-05-17 RealMe重庆移动通信有限公司 数字版权密钥的获取方法、装置、存储介质及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050000824A (ko) * 2003-06-25 2005-01-06 주식회사 코어트러스트 디알엠 기법을 적용한 소프트웨어 불법복제 및 불법사용방지방법 및 시스템
US20090202078A1 (en) * 2008-02-12 2009-08-13 Hagai Bar-El Device, system, and method of securely executing applications
US20090262926A1 (en) * 2008-04-16 2009-10-22 Infineon Technologies Ag Method and apparatus for generating a cryptographic key

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030084332A1 (en) * 2001-10-26 2003-05-01 Koninklijke Philips Electronics N.V. Method for binding a software data domain to specific hardware
US8510846B1 (en) * 2006-06-29 2013-08-13 Google Inc. Data encryption and isolation
KR100958108B1 (ko) 2007-11-12 2010-05-17 한국전자통신연구원 이동통신 단말기의 프로그램 불법복제 방지 방법 및 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050000824A (ko) * 2003-06-25 2005-01-06 주식회사 코어트러스트 디알엠 기법을 적용한 소프트웨어 불법복제 및 불법사용방지방법 및 시스템
US20090202078A1 (en) * 2008-02-12 2009-08-13 Hagai Bar-El Device, system, and method of securely executing applications
US20090262926A1 (en) * 2008-04-16 2009-10-22 Infineon Technologies Ag Method and apparatus for generating a cryptographic key

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150051253A (ko) * 2013-11-01 2015-05-12 에스케이플래닛 주식회사 애플리케이션 데이터 보안 시스템 및 그 방법
US10209915B2 (en) 2015-04-14 2019-02-19 Samsung Electronics Co., Ltd. Electronic device and file read and write method thereof

Also Published As

Publication number Publication date
KR101881303B1 (ko) 2018-08-28
CN103218570B (zh) 2018-06-12
US20130117579A1 (en) 2013-05-09
CN103218570A (zh) 2013-07-24
US9524391B2 (en) 2016-12-20

Similar Documents

Publication Publication Date Title
KR101881303B1 (ko) 애플리케이션 데이터 보호를 위한 휴대용 단말기의 장치 및 방법
USRE47246E1 (en) Integrated circuit for digital rights management
US9330253B2 (en) Apparatus and method for processing application package in portable terminal
CN101661544B (zh) 在主显示器内提供安全显示窗口的方法和设备
TW201939345A (zh) 資料處理方法、可信用戶介面資源資料的應用方法及裝置
US20070271446A1 (en) Application Execution Device and Application Execution Device Application Execution Method
CN105745660A (zh) 用于在客户机设备上支持多个数字权利管理协议的技术
CN111656345B (zh) 启用容器文件中加密的软件模块
US20090210694A1 (en) Information transmission apparatus and method, information reception apparatus and method, and information-providing system
US9292708B2 (en) Protection of interpreted source code in virtual appliances
JP2007233426A (ja) アプリケーション実行装置
KR100951866B1 (ko) 가상머신 기반의 모바일 어플리케이션 보호 시스템 및 방법
CN103605927A (zh) 一种基于嵌入式Linux系统实现加密和解密方法
KR20140089703A (ko) 모바일 데이터 보안 장치 및 방법
US20100241863A1 (en) Device for reproducing digital content, secure electronic entity, system comprising said elements and method for reproducing digital content
KR100871619B1 (ko) 이동통신 단말기에서 멀티미디어 메시지를 통해 컨텐트권리를 수신하는 장치 및 방법
US20160275271A1 (en) User Terminal And Method For Protecting Core Codes Using Peripheral Device of User Terminal
JP6013233B2 (ja) コンテンツ配信システム、装置及びプログラム
US9760693B2 (en) Method and apparatus for a content protecting and packaging system for protecting a content package
CN101112040A (zh) 用于保护数字权限文件描述的方法
KR102326100B1 (ko) 안전한 안드로이드 앱 생성 및 안드로이드 플랫폼에서의 앱 설치/실행을 위한 시스템 및 방법
KR20080063610A (ko) 이동통신 시스템에서 컨텐츠의 미리보기를 관리하는 장치및 방법
CN110912697B (zh) Scheme请求校验方法、装置及设备
US20160239669A1 (en) User Terminal And Method For Protecting Core Codes Of Applications Using The Same
CN116933284A (zh) 文件处理方法、装置及电子设备

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
GRNT Written decision to grant