KR101284676B1 - Cryptography-based copy protection system and method for android apps - Google Patents

Cryptography-based copy protection system and method for android apps Download PDF

Info

Publication number
KR101284676B1
KR101284676B1 KR1020120020519A KR20120020519A KR101284676B1 KR 101284676 B1 KR101284676 B1 KR 101284676B1 KR 1020120020519 A KR1020120020519 A KR 1020120020519A KR 20120020519 A KR20120020519 A KR 20120020519A KR 101284676 B1 KR101284676 B1 KR 101284676B1
Authority
KR
South Korea
Prior art keywords
file
encryption
odex
app
dalvik
Prior art date
Application number
KR1020120020519A
Other languages
Korean (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 KR1020120020519A priority Critical patent/KR101284676B1/en
Application granted granted Critical
Publication of KR101284676B1 publication Critical patent/KR101284676B1/en

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/12Protecting executable software
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • H04L2209/603Digital right managament [DRM]

Abstract

PURPOSE: An encryption-based user authentication/android application illegal copy prevention system and a method thereof allow only legitimate users to launch an android application by utilizing the odex file format and pre-encoding the files to be stored. CONSTITUTION: A Dalvik virtual machine (VM) extracts an encoded classes.dex from an apk file and generates an odex file by using a decoding module. An encoding module stores the odex file, performing an encoding process, and stores the processed file in a mobile device. If a legitimate user who has paid to use an application, the decoding module decodes the odex file. The encoding/decoding modules of the Dalvik VM perform a checksum investigation and an offset adjustment on the dex file and the odex file in order to encode and decode the files before and after the optimization/verification processes (classes.dex-decoding-Optimization/Verification-odex-encoding).

Description

암호화 기반 사용자 인증 및 안드로이드 앱 불법복제 방지시스템 및 그 방법{Cryptography-based Copy Protection System and method for Android Apps}Cryptography-based Copy Protection System and method for Android Apps}

본 발명은 암호화 기반 사용자 인증 및 안드로이드 앱 불법복제 방지시스템 및 그 방법에 대한 것으로서, 보다 상세하게는 암호기술을 사용하여 앱을 암호화된 상태로 배포하고, 실행시에 합법 사용자만이 암호화된 앱을 복호화하여 실행이 가능하도록 하는 암호화 기반 사용자 인증 및 안드로이드 앱 불법복제 방지시스템 및 그 방법에 관한 것이다.The present invention relates to an encryption-based user authentication and Android app piracy prevention system and method thereof, and more specifically, to distribute the app in an encrypted state by using encryption technology, only a legitimate user at the time of execution The present invention relates to an encryption-based user authentication and an Android app piracy prevention system and method for decryption and execution.

본 발명은 문화체육관광부 및 한국저작권위원회의 2011년도 저작권기술개발사업의 연구결과로 수행되었다.
The present invention was carried out as a result of the 2011 copyright technology development project of the Ministry of Culture, Sports and Tourism and the Korea Copyright Commission.

최근 스마트폰의 보급이 급속히 확대되면서 “앱”이라 불리는 스마트폰의 응용프로그램 또한 급격히 증가하고 있는 추세이다. With the recent rapid expansion of smartphones, the application of smartphones called "apps" is also increasing rapidly.

미국방언협회(American Dialect Society)가 2010년 올해의 단어로 “앱(app)”을 선정하였고 2011년 3월 기준 애플 아이폰(Apple's iPhone) 앱의 개수는 35만개 이상이며, 구글 안드로이드(Google's Android) 앱의 개수 또한 25만개가 넘었다.특히 안드로이드의 경우 증가폭이 더욱 급속하게 늘어나는 추세이다.The American Dialect Society chose “app” as the word of the year in 2010, and as of March 2011, Apple's iPhone has more than 350,000 apps, and Google's Android The number of apps has also surpassed 250,000, especially for Android, which is growing more rapidly.

앱과 같은 디지털 정보의 경우 정보의 손실 없이 원본과 동일한 복제본을 무제한적으로 생성하는 것이 가능하여 적절한 앱 불법 복제 방지 기술의 부재로 인해 현재 앱 불법 복제가 성행하고 있다.In the case of digital information, such as apps, it is possible to create an unlimited number of copies identical to the original without losing information, and app piracy is currently prevalent due to the lack of proper app piracy prevention technology.

2010년 하반기에 적발된 불법 스마트폰 앱의 개수는 2만 2661점에 달하며, 게임의 경우도 3741점이 넘었다. 대부분의 경우가 저작권이 있는 콘텐츠를 허가 없이 사용하거나 불법으로 유통시킨 사례이다.안드로이드에서는 라이선스 관리를 위한 모듈을 제공하고 있기는 하지만 이를 우회할 수 있는 기법이 나온 상태이며, 온라인 기반 유통환경에서 저작권자가 불법 복제 또는 저작권 침해 사실을 확인하더라도 이에 대한 법적 대응이 쉽지 않다.The number of illegal smartphone apps caught in the second half of 2010 amounted to 26,261 points, and games also exceeded 3741 points. In most cases, this is the use of copyrighted content without permission or illegal distribution.And while Android provides a module for managing licenses, there is a technique that can be circumvented. Even if it finds illegal copying or copyright infringement, the legal response is not easy.

현재는 기존의 앱 불법 복제 방지 기술들은 DRM(Digital Rights Management)을 기반으로 하는 경우가 대부분이다.Currently, most existing anti-piracy technologies are based on Digital Rights Management (DRM).

그러나 DRM은 기술간 호환성이 결여된 폐쇄성을 특성으로 하고 있어 일부 사업자에 의한 독점시장구축 수단으로도 악용되고 있다.However, DRM is used as a monopoly market building tool by some operators because of its closedness that lacks compatibility between technologies.

한편 안드로이드 마켓의 경우 현재 유료 앱의 비율은 전체 앱의 약 40%를 차지하고 있다.In the Android Market, paid apps currently account for about 40% of all apps.

그러나 유료 앱을 정당한 지불없이 받을 수 있는 앱이 존재하며 웹상에서도 블로그나 웹페이지를 통해서도 받을 수 있는 경로는 굉장히 많다. However, there are apps that can receive paid apps without just paying, and there are many ways to receive them through blogs or web pages on the web.

구글에서는 안드로이드 유료 앱의 라이센스 관리를 위하여 LVL(License Verification library)를 제공하고 있으나 이를 우회할 수 있는 기법이 나온 상태이며, 온라인 기반 유통환경에서 저작권자가 불법복제 또는 저작권 침해 사실은 확인하더라도 이에 대한 법적대응이 쉽지 않다. Google provides the License Verification Library (LVL) for license management of Android paid apps, but there is a technique to circumvent it, and even if the copyright holder confirms illegal copying or copyright infringement in online-based distribution environment, It is not easy to respond.

이외에도 다른 종래 기술로서 한국공개특허 제2011-0038152호는 소스 자료로부터 포렌식 마킹 이미지 데이터를 생성하는 시스템 및 방법에 관한 것으로, 생성된 포렌식 마크는 소스 이미지 데이터의 복사물마다 변경되는 포렌식 마킹 파라미터와 선택된 포렌식 마킹 기술을 사용하여 복사물과 복사물 사이에서 변경되는 것에 대하여 기재되어 있다.In addition, as another conventional technology, Korean Laid-Open Patent Publication No. 2011-0038152 relates to a system and method for generating forensic marking image data from source material. The generated forensic mark is a forensic marking parameter that is changed for each copy of the source image data. Changes between copies and copies are described using marking techniques.

따라서 저작권 보호 기술 개발을 통하여 앱의 보안성을 향상시키고 올바른 유통문화를 형성할 수 있는 새로운 시스템 및 방법의 개발이 필요하게 되었다.Therefore, it is necessary to develop a new system and method that can improve the security of the app and form the right distribution culture through the development of copyright protection technology.

상술한 문제점을 해결하기 위하여, 본 발명은 안드로이드 앱 복제 방지 시스템은 루팅이 쉽고 비교적 불법 앱 다운로드를 쉽게 할 수 있는 안드로이드 환경에서 불법 다운로드를 막을 수 있는 암호화 기반 사용자 인증 및 안드로이드 앱 불법복제 방지시스템 및 그 방법을 제공하는 데 목적이 있다.In order to solve the above problems, the present invention, the Android app copy protection system is an encryption-based user authentication and Android app piracy prevention system that can prevent illegal downloads in the Android environment that can be easily rooted and relatively illegal app download and The purpose is to provide a method.

본 발명은 달빅가상머신(Dalvik VM)에서 Apk 파일로부터 암호화된 classes.dex을 추출하여 상기 달빅가상머신에 추가한 복호화 모듈을 통해 odex 파일을 생성하는 단계와, 상기 odex 파일을 저장하기 이전에 삽입한 암호화 모듈을 통해 암호화를 수행한 후 모바일 디바이스에 저장하는 단계와, 정당한 사용자만이 앱을 실행하면 복호화 모듈을 통해서 상기 odex 파일을 복호화하는 단계를 포함하여 구성된다.The present invention extracts encrypted classes.dex from an Apk file in a Dalvik VM and generates an odex file through a decryption module added to the Dalvik virtual machine, and inserts it before storing the odex file. Performing encryption through one encryption module and storing it in a mobile device; and decrypting the odex file through a decryption module when only a legitimate user executes the app.

본 발명은 상기 달빅가상머신 내 암호화/복호화 모듈이 optimization과 verifycation 이전과 이후에 암호화와 복호화를 수행하기 위해, ‘classes.dex- 복호화- Optimaiztion/Verifycation - odex - 암호화’의 실행 순서를 거쳐 dex 파일과 odex 파일의 checksum 검사와 offset 수정하는 단계를 더 포함하여 구성된다.In the present invention, in order to perform encryption and decryption before and after optimization and verifycation of the encryption / decryption module in the Dalvik virtual machine, the dex file goes through an execution sequence of 'classes.dex-decryption-Optimization / Verifycation-odex-encryption'. And checksum check and offset correction of the odex file.

본 발명은 상기 안드로이드 소스내의 dalvik 디렉토리에서 암호화/복호화 모듈을 사용하기 위해 dalvik/dexopt/Optmain.c에서 호출되는 dexZipExtractEntrytoFile() 함수가 Apk 파일로부터 classes.dex 파일을 얻게되는 단계를 더 포함하여 구성된다.The invention further comprises the step of dexZipExtractEntrytoFile () function called in dalvik / dexopt / Optmain.c to use the encryption / decryption module in the dalvik directory in the Android source to obtain the classes.dex file from the Apk file. .

본 발명은 상기 복호화된 classes.dex 파일을 dalvik/vm/dexprepare.c의 dexContinueoptimization() 이라는 함수에서 odex 파일로 변환하여 생성하는 단계를 더 포함하여 구성된다.The present invention further comprises the step of converting the decrypted classes.dex file into an odex file in a function called dexContinueoptimization () of dalvik / vm / dexprepare.c.

본 발명은 상기 생성된 odex 파일을 암호화된 상태로 저장하기 위해 optimaze와 verify, offset조정, dexoptHeader가 쓰여져 odex 파일이 생성된 이후 암호화 모듈을 삽입하여 odex파일을 암호화 하는 단계를 더 포함하여 구성된다.The present invention further comprises the step of encrypting the odex file by inserting an encryption module after optimaze, verify, offset adjustment and dexoptHeader are written to store the generated odex file in an encrypted state and the odex file is generated.

본 발명은 상기 사용자가 App을 실행하기 위해 해당 App의 아이콘을 클릭하게 되면 /data/dalvik-cache 내에 있는 classes.dex 파일을 이용하여 App을 실행하는 단계를 더 포함하여 구성된다.The present invention further includes the step of executing the app using the classes.dex file in / data / dalvik-cache when the user clicks the icon of the app to execute the App.

본 발명은 Apk 파일로부터 암호화된 classes.dex을 추출하여 복호화 모듈을 통해 odex 파일을 생성하는 달빅가상머신(Dalvik VM)과, 상기 odex 파일을 저장하고, 암호화를 수행한 후 모바일 디바이스에 저장하는 암호화 모듈과, 정당한 사용자만이 앱을 실행하면 상기 odex 파일을 복호화하는 복호화 모듈을 포함하여 구성된다.The present invention is to encrypt the Dalvik VM (Dalvik VM) to extract the encrypted classes.dex from the Apk file to create an odex file through the decryption module, and to store the odex file, and then to encrypt and store in the mobile device Module and a decryption module for decrypting the odex file when only a legitimate user executes the app.

상기 달빅가상머신 내 암호화/복호화 모듈은 optimization과 verifycation 이전과 이후에 암호화와 복호화를 수행하기 위해, ‘classes.dex- 복호화 - Optimaiztion/Verifycation - odex - 암호화’의 실행 순서를 거쳐 dex 파일과 odex 파일의 checksum 검사와 offset 수정한다.The encryption / decryption module in the Dalvik virtual machine performs a dex file and an odex file through an execution order of 'classes.dex-decryption-optimization / Verifycation-odex-encryption' to perform encryption and decryption before and after optimization and verifycation. Checksum checks and offsets are fixed.

상기 안드로이드 소스내의 dalvik 디렉토리에서 암호화/복호화 모듈을 사용하기 위해 dalvik/dexopt/Optmain.c에서 호출되는 dexZipExtractEntrytoFile() 함수가 Apk 파일로부터 classes.dex 파일을 얻게된다.To use the encryption / decryption module in the dalvik directory in the Android source, the dexZipExtractEntrytoFile () function called in dalvik / dexopt / Optmain.c gets the classes.dex file from the Apk file.

상기 복호화된 classes.dex 파일은 dalvik/vm/dexprepare.c의 dexContinueoptimization() 이라는 함수에서 odex 파일로 변환하여 생성한다.The decrypted classes.dex file is generated by converting it into an odex file in a function called dexContinueoptimization () of dalvik / vm / dexprepare.c.

상기 생성된 odex 파일을 암호화된 상태로 저장하기 위해 optimaze와 verify, offset조정, dexoptHeader가 쓰여져 odex 파일이 생성된 이후 암호화 모듈을 삽입하여 odex파일을 암호화 하고, 상기 생성된 odex 파일은 /data/dalvik-cache에 data@app@[filename]@classes.dex라는 형태로 저장한다.In order to store the generated odex file in an encrypted state, after optimaze, verify, offset adjustment, and dexoptHeader are written and the odex file is generated, an encryption module is inserted to encrypt the odex file, and the generated odex file is / data / dalvik Store it in -cache as data @ app @ [filename] @ classes.dex.

상기 사용자가 App을 실행하기 위해 해당 App의 아이콘을 클릭하게 되면 /data/dalvik-cache 내에 있는 classes.dex 파일을 이용하여 App을 실행하고, 상기 dex 파일을 호출하는 부분은 dalvik/analysis/vm/dexprepare.c 내의 dvmOpenCachedDexFile() 함수이며, 상기 odex파일은 암호화된 상태로 저장되어 있기 때문에 이 부분에 추가되어 있는 복호화 모듈을 통해 복호화를 수행한 후 odex 파일을 리턴하여 App 실행에 사용된다.When the user clicks the icon of the app to execute the app, the app is executed using the classes.dex file in / data / dalvik-cache, and the part calling the dex file is dalvik / analysis / vm / dvmOpenCachedDexFile () function in dexprepare.c. Since the odex file is stored in an encrypted state, after decryption is performed through the decryption module added to this part, the odex file is returned and used to execute the App.

본 발명에 따르면 암호화된 앱은 일반 앱과 달리 odex 파일로 저장시 암호화된 상태로 저장하게 되기 때문에 비용을 지불한 정당한 사용자만이 실행이 가능하다. According to the present invention, since the encrypted app is stored in an encrypted state when it is stored as an odex file, unlike a normal app, only a legitimate user who pays the fee can be executed.

본 발명에 따르면 저작권 보호 기술 개발을 통하여 앱의 보안성을 향상시키고 올바른 유통문화를 형성할 수 있다.According to the present invention it is possible to improve the security of the app and to form the right distribution culture through the development of copyright protection technology.

도1은 본 발명에 따른 암호화 기반 사용자 인증 및 안드로이드 앱 불법복제 방지시스템의 전체 흐름을 나타내는 도면.
도2는 본 발명에 따른 (a), (c)는 암호화된 Apk File 설치 흐름도,
(b) odex File Format을 나타내는 도면.
도3은 본 발명에 따른 암호화된 Apk File 설치 과정을 보여주는 도면.
도4는 본 발명에 따른 수정된 Dalvik VM 디렉토리 및 메소드를 보여주는 도면.
도5는 본 발명에 따른 암호화된 Odex File을 통한 App 실행 과정을 보여주는 도면.
1 is a view showing the entire flow of encryption-based user authentication and Android app piracy prevention system according to the present invention.
Figure 2 (a), (c) is an encrypted Apk File installation flow chart according to the present invention,
(b) A diagram showing an odex file format.
3 is a diagram illustrating an encrypted Apk File installation process according to the present invention;
4 illustrates a modified Dalvik VM directory and method in accordance with the present invention.
5 is a view showing an App execution process through an encrypted Odex file according to the present invention.

이하 본 발명의 실시를 위한 구체적인 내용을 도면을 참고하여 자세히 설명한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail with reference to the drawings.

도1에서 보는 바와 같이 서버(100)에는 가입 서비스모듈(12)과 인증 서비스 모듈(14)을 포함하는 가입/인증 서비스 모듈(10)과 RSA, AES 키를 사용하는 모듈(20)이 포함되고, 인증 및 다운로드 모듈(30)과 암호화 모듈(40)을 포함하는 디바이스(200)가 더 포함된다.As shown in FIG. 1, the server 100 includes a subscription / authentication service module 10 including a subscription service module 12 and an authentication service module 14, and a module 20 using RSA and AES keys. The device 200 further includes an authentication and download module 30 and an encryption module 40.

여기에서 AES(Advanced Encryption Standard)는 미 연방 표준 128비트 블록 암호로, 128/192/256비트의 비밀키를 사용하며, 각각의 키에 따라 10/12/14라운드를 사용한다.Here, AES (Advanced Encryption Standard) is a US standard 128-bit block cipher that uses 128/192 / 256-bit secret keys and 10/12/14 rounds depending on each key.

AES는 지금까지 알려진 블록 암호 알고리즘에 대한 공격 방법들에 대해 안전하도록 설계되었고, 구현시 속도와 구현의 편의성 면에서 효율적이므로 본 발명에서는 어플리케이션 암호화에 AES 알고리즘을 사용하도록 한다.AES is designed to be safe against attack methods known to the block cipher algorithm so far, and since the implementation is efficient in terms of speed and ease of implementation, the present invention allows the AES algorithm to be used for application encryption.

그리고 해당 어플리케이션을 암호화한 AES 비밀키의 보안을 위해 공개키 암호화 알고리즘인 RSA를 사용한다. RSA는 1024비트 이상의 큰 정수를 기반으로 한 모And to secure the AES secret key that encrypts the application, public key encryption algorithm RSA is used. RSA is based on a large integer of 1024 bits or more.

듈로 연산에 의해 수행되며, 큰 정수 계수의 소인수 분해가 매우 어렵기 때문에 높은 보안성을 유지한다. 따라서 RSA로 AES 비밀키를 암호화 한다면, 상대적으로 낮은 보안성을 가지는 AES의 단점을 보완할 수 있다.It is performed by a modulo operation and maintains high security because the prime factorization of large integer coefficients is very difficult. Therefore, encrypting the AES secret key with RSA can compensate for the disadvantages of AES with relatively low security.

또한 상기 인증 및 다운로드 모듈(30)은 가입요청모듈(32)과 인증요청모듈(34)과 다운로드모듈(36)을 더 포함할 수도 있다.The authentication and download module 30 may further include a subscription request module 32, an authentication request module 34, and a download module 36.

즉 본 발명의 일실시예에 따른 암호화 기반 사용자 인증 및 안드로이드 앱 불법복제 방지시스템은 Apk 파일로부터 암호화된 classes.dex을 추출하여 상기 달빅가상머신에 추가한 복호화 모듈을 통해 odex 파일을 생성하는 달빅가상머신(Dalvik VM)과, 상기 odex 파일을 저장하고, 암호화를 수행한 후 모바일 디바이스에 저장하는 암호화 모듈과, 정당한 사용자만이 앱을 실행하면 상기 odex 파일을 복호화하는 복호화 모듈로 크게 나뉘어 구성된다.That is, the encryption-based user authentication and Android app piracy prevention system according to an embodiment of the present invention extracts encrypted classes.dex from an Apk file and generates an odex file through a decryption module added to the Dalvik virtual machine. It is divided into a machine (Dalvik VM), an encryption module that stores the odex file, encrypts and stores it on a mobile device, and a decryption module that decrypts the odex file when only a legitimate user executes the app.

구체적으로 살펴보면, 도2(a)는 서버로부터 암호화된 Apk 파일을 다운로드 받아 설치하는 과정이다. Specifically, Figure 2 (a) is a process of downloading and installing the encrypted Apk file from the server.

일반 Apk 파일은 달빅가상머신(Dalvik VM)에서 Apk 파일로부터 classes.dex 파일을 추출하여 optimize 와 verifiy 수행후 odex 파일을 생성하여 모바일 디바이General Apk file extracts classes.dex file from Apk file in Dalvik VM and executes optimized and verifiy.

스에 저장하는 것으로 설치과정이 종료된다.The installation process is terminated by saving it to the system.

도2(b)는 Apk 파일로부터 암호화된 classes.dex을 추출하여 복호화하는 과정을 나타낸 흐름도이다.2 (b) is a flowchart illustrating a process of extracting and decrypting encrypted classes.dex from an Apk file.

암호화된 부분은 Apk 파일 내의 classes.dex 파일이며, classes.dex 파일 중에서도 헤더부분을 제외한 나머지 부분이 실질적으로 암호화 되어 있다. The encrypted part is the classes.dex file in the Apk file, and the rest of the classes.dex file except the header part is actually encrypted.

Dalvik VM에 추가한 복호화 모듈을 통해 이 부분을 복호화하며 복호화된 classes.dex 파일은 optimize와 verify후 일련의 과정을 거쳐 odex 파일을 생성한다.The decryption module added to the Dalvik VM decrypts this part, and the decrypted classes.dex file creates an odex file through a series of processes after optimization and verify.

도2(c)에서 보는 바와 같이 생성된 odex 파일을 저장하기 이전에 삽입한 암호화 모듈을 통해 암호화를 수행한 후 모바일 디바이스에 저장되며, 저장이 끝나면 모든 설치과정이 종료된다.As shown in FIG. 2 (c), after the encryption is performed through the encryption module inserted before the generated odex file is stored, it is stored in the mobile device. When the saving is completed, all installation processes are terminated.

암호화된 앱은 일반 앱과 달리 odex 파일로 저장시 암호화된 상태로 저장하게 되기 때문에 비용을 지불한 정당한 사용자만이 실행이 가능하다. Unlike regular apps, encrypted apps are stored in an encrypted state when they are saved as odex files, so only authorized users who have paid for them can run them.

사용자가 앱을 실행하기 위해 해당 아이콘을 클릭하면 odex 파일이 복호화되는 과정을 거쳐 앱을 사용할 수 있게 된다.When the user clicks the icon to run the app, the app will be decoded so that the app can be used.

도3에서 보는 바와 같이 암호화된 App을 설치하기 위해서는 Dalvik VM 내 암호화/복호화 모듈이 추가 되어야 한다. As shown in FIG. 3, in order to install an encrypted app, an encryption / decryption module in the Dalvik VM should be added.

여기서 가장 중요한 부분은 optimization과 verifycation 이전과 이후에 암호화와 복호화를 수행해야 한다는 점이다. ‘classes.dex- 복호화 - Optimaiztion/Verifycation - odex - 암호화’의 실행순서를 거쳐야만 dex 파일과 odex 파일의 checksum 검사와 offset 수정과정을 에러없이 통과할The most important part here is that encryption and decryption must be performed before and after optimization and verifycation. Only after the execution order of `` classes.dex- decryption-Optimaiztion / Verifycation-odex-encryption '', the checksum check and offset correction process of dex file and odex file can be passed without error.

수 있게 된다..

도3은 실제로 안드로이드 소스내의 dalvik 디렉토리에서 암호화/복호화 모듈을 사용하기 위해 수정된 부분을 나타낸다.Figure 3 shows the modifications actually made to use the encryption / decryption module in the dalvik directory in the Android source.

도4는 본 발명에 따른 수정된 Dalvik VM 디렉토리 및 메소드를 보여준다.4 shows a modified Dalvik VM directory and method in accordance with the present invention.

본 발명에 따른 dalvik/dexopt/Optmain.c에서 호출되는 dexZipExtractEntrytoFile() 함수는 Apk 파일로부터 classes.dex 파일을 얻게되는 부분이다. The dexZipExtractEntrytoFile () function called in dalvik / dexopt / Optmain.c according to the present invention is a part of obtaining classes.dex file from Apk file.

상기 함수는 dalvik/libdex/ZipArchive.c 에 존재하며, 얻게된 classes.dex 파일을 복호화하기 위하여 복호화 모듈을 이곳에 삽입한다.The function exists in dalvik / libdex / ZipArchive.c and inserts a decryption module here to decrypt the obtained classes.dex file.

또한 본 발명에 따라 복호화된 classes.dex 파일은 dalvik/vm/dexprepare.c의 dexContinueoptimization() 이라는 함수에서 odex 파일로 변환하여 생성하게 된다. In addition, the classes.dex file decoded according to the present invention is generated by converting it into an odex file in a function called dexContinueoptimization () of dalvik / vm / dexprepare.c.

생성된 odex 파일을 암호화된 상태로 저장하기 위해 optimaze와 verify, offset조정, dexoptHeader가 쓰여져 완전한 odex 파일이 생성된 이후 암호화 모듈을 삽입하여 odex파일을 암호화 한다. To save the generated odex file in encrypted state, optimaze, verify, offset adjustment, and dexoptHeader are used to create the complete odex file.

본 발명에 따라 생성된 odex 파일은 /data/dalvik-cache에data@app@[filename]@classes.dex라는 형태로 저장된다.The odex file created according to the present invention is stored in the form of data @ app @ [filename] @ classes.dex in / data / dalvik-cache.

도5에서 보는 바와 같이 사용자가 App을 실행하기 위해 해당 App의 아이콘을 클릭하게 되면 /data/dalvik-cache 내에 있는 classes.dex 파일을 이용하여 App을 실행하게 된다.As shown in FIG. 5, when the user clicks the icon of the app to execute the app, the app is executed using the classes.dex file in / data / dalvik-cache.

본 발명에 따라 dex 파일을 호출하는 부분은 dalvik/analysis/vm/dexprepare.c 내의 dvmOpenCachedDexFile() 함수이며, odex파일은 암호화된 상태로 저장되어 있기 때문에 이 부분에 추가되어 있는 복호화 모듈을 통해 복호화를 수행한 후 odex 파일을 리턴하여 App 실행에 사용된다.
According to the present invention, the part calling the dex file is the dvmOpenCachedDexFile () function in dalvik / analysis / vm / dexprepare.c, and since the odex file is stored in an encrypted state, decryption is performed through a decryption module added to this part. After executing, it returns odex file and is used to execute App.

이하 본 발명의 일실시예에 따른 암호화 기반 사용자 인증 및 안드로이드 앱 불법복제 방지 방법에 대하여 자세히 설명한다.Hereinafter, an encryption-based user authentication and an Android app piracy prevention method according to an embodiment of the present invention will be described in detail.

먼저 달빅가상머신(Dalvik VM)에서 Apk 파일로부터 암호화된 classes.dex을 추출하여 상기 달빅가상머신에 추가한 복호화 모듈을 통해 odex 파일을 생성한다.First, an encrypted classes.dex is extracted from an Apk file in a Dalvik VM and an odex file is generated through a decryption module added to the Dalvik virtual machine.

그리고 상기 odex 파일을 저장하기 이전에 삽입한 암호화 모듈을 통해 암호화를 수행한 후 모바일 디바이스에 저장한다.In addition, the encryption is performed through the encryption module inserted before the odex file is stored and then stored in the mobile device.

계속하여 정당한 사용자만이 앱을 실행하면 복호화 모듈을 통해서 상기 odex 파일을 복호화한다.If only a legitimate user runs the app, the decryption module decrypts the odex file.

또한 상기 달빅가상머신 내 암호화/복호화 모듈이 optimization과 verifycation 이전과 이후에 암호화와 복호화를 수행하기 위해, ‘classes.dex- 복호화 - Optimaiztion/Verifycation - odex - 암호화’의 실행 순서를 거쳐 dex 파일과 odex 파일의 checksum 검사와 offset 수정한다. In addition, in order to perform encryption and decryption before and after optimization and verifycation, the encryption / decryption module in the Dalvik virtual machine runs dex file and odex through the execution sequence of 'classes.dex-decryption-Optimization / Verifycation-odex-encryption'. Checksum checks and offsets of files.

또한 상기 안드로이드 소스내의 dalvik 디렉토리에서 암호화/복호화 모듈을 사용하기 위해 dalvik/dexopt/Optmain.c에서 호출되는 dexZipExtractEntrytoFile() 함수가 Apk 파일로부터 classes.dex 파일을 얻게된다.Also, to use the encryption / decryption module in the dalvik directory in the Android source, the dexZipExtractEntrytoFile () function, which is called in dalvik / dexopt / Optmain.c, obtains the classes.dex file from the Apk file.

여기에서 상기 복호화된 classes.dex 파일을 dalvik/vm/dexprepare.c의 dexContinueoptimization() 이라는 함수에서 odex 파일로 변환하여 생성한다.Here, the decrypted classes.dex file is generated by converting it into an odex file in a function called dexContinueoptimization () of dalvik / vm / dexprepare.c.

그리고 상기 생성된 odex 파일을 암호화된 상태로 저장하기 위해 optimaze와 verify, offset조정, dexoptHeader가 쓰여져 odex 파일이 생성된 이후 암호화 모듈을 삽입하여 odex파일을 암호화하고, 상기 사용자가 App을 실행하기 위해 해당 App의 아이콘을 클릭하게 되면 /data/dalvik-cache 내에 있는 classes.dex 파일을 이용하여 App을 실행한다.In order to store the generated odex file in an encrypted state, optimaze, verify, offset adjustment, and dexoptHeader are written to encrypt the odex file by inserting an encryption module after the odex file is generated, and the user executes the App. If you click on the icon of the app, you run the app using the classes.dex file in / data / dalvik-cache.

100 : 서버
10 : 가입/인증 서비스 모듈
12 : 가입 서비스모듈
14 : 인증 서비스 모듈
20 : RSA, AES 키를 사용하는 모듈
30 : 인증 및 다운로드 모듈
40 : 암호화 모듈
200 : 디바이스
100: Server
10: Subscription / Authentication Service Module
12: subscription service module
14: authentication service module
20: module using RSA, AES keys
30: Authentication and Download Module
40: encryption module
200: device

Claims (12)

달빅가상머신(Dalvik VM)에서 Apk 파일로부터 암호화된 classes.dex을 추출하여 상기 달빅가상머신에 추가한 복호화 모듈을 통해 odex 파일을 생성하는 단계와;
상기 odex 파일을 저장하기 이전에 삽입한 암호화 모듈을 통해 암호화를 수행한 후 모바일 디바이스에 저장하는 단계와;
비용을 지불한 정당한 사용자만이 앱을 실행하면 복호화 모듈을 통해서 상기 odex 파일을 복호화하는 단계;
를 포함하여 구성되는 것을 특징으로 하는 암호화 기반 사용자 인증 및 안드로이드 앱 불법복제 방지 방법.
Extracting encrypted classes.dex from an Apk file in a Dalvik VM and generating an odex file through a decryption module added to the Dalvik virtual machine;
Performing encryption through an encryption module inserted before storing the odex file and storing the encrypted file on a mobile device;
Decrypting the odex file through a decryption module when only a legitimate user who has paid the fee is executed;
Encryption-based user authentication and Android app piracy prevention method characterized in that it comprises a.
제1항에 있어서,
상기 달빅가상머신 내 암호화/복호화 모듈이 optimization과 verifycation 이전과 이후에 암호화와 복호화를 수행하기 위해, ‘classes.dex- 복호화 - Optimaiztion/Verifycation - odex - 암호화’의 실행 순서를 거쳐 dex 파일과 odex 파일의 checksum 검사와 offset 수정하는 단계;
를 더 포함하여 구성되는 것을 특징으로 하는 암호화 기반 사용자 인증 및 안드로이드 앱 불법복제 방지 방법.
The method of claim 1,
In order to perform encryption and decryption before and after optimization and verifycation, the encryption / decryption module in the Dalvik virtual machine goes through the execution order of 'classes.dex-decryption-Optimization / Verifycation-odex-encryption'. Checking the checksum and correcting the offset;
Encryption-based user authentication and Android app piracy prevention method, characterized in that further comprises a.
제1항에 있어서,
상기 안드로이드 소스내의 dalvik 디렉토리에서 암호화/복호화 모듈을 사용하기 위해 dalvik/dexopt/Optmain.c에서 호출되는 dexZipExtractEntrytoFile() 함수가 Apk 파일로부터 classes.dex 파일을 얻게되는 단계;
를 더 포함하여 구성되는 것을 특징으로 하는 암호화 기반 사용자 인증 및 안드로이드 앱 불법복제 방지 방법.
The method of claim 1,
Obtaining a classes.dex file from an Apk file by a dexZipExtractEntrytoFile () function called in dalvik / dexopt / Optmain.c to use an encryption / decryption module in the dalvik directory in the Android source;
Encryption-based user authentication and Android app piracy prevention method, characterized in that further comprises a.
제2항에 있어서,
상기 복호화된 classes.dex 파일을 dalvik/vm/dexprepare.c의 dexContinueoptimization() 이라는 함수에서 odex 파일로 변환하여 생성하는 단계;
를 더 포함하여 구성되는 것을 특징으로 하는 암호화 기반 사용자 인증 및 안드로이드 앱 불법복제 방지 방법.
The method of claim 2,
Converting the decrypted classes.dex file into an odex file in a function called dexContinueoptimization () of dalvik / vm / dexprepare.c;
Encryption-based user authentication and Android app piracy prevention method, characterized in that further comprises a.
제4항에 있어서,
상기 생성된 odex 파일을 암호화된 상태로 저장하기 위해 optimaze와 verify, offset조정, dexoptHeader가 쓰여져 odex 파일이 생성된 이후 암호화 모듈을 삽입하여 odex파일을 암호화 하는 단계;
를 더 포함하여 구성되는 것을 특징으로 하는 암호화 기반 사용자 인증 및 안드로이드 앱 불법복제 방지 방법.
5. The method of claim 4,
Encrypting the odex file by inserting an encryption module after optimaze, verify, offset adjustment, and dexoptHeader are written to store the generated odex file in an encrypted state and the odex file is generated;
Encryption-based user authentication and Android app piracy prevention method, characterized in that further comprises a.
제1항에 있어서,
상기 사용자가 App을 실행하기 위해 해당 App의 아이콘을 클릭하게 되면 /data/dalvik-cache 내에 있는 classes.dex 파일을 이용하여 App을 실행하는 단계;
를 더 포함하여 구성되는 것을 특징으로 하는 암호화 기반 사용자 인증 및 안드로이드 앱 불법복제 방지 방법.
The method of claim 1,
If the user clicks on the icon of the App to execute the App, executing the App using the classes.dex file in / data / dalvik-cache;
Encryption-based user authentication and Android app piracy prevention method, characterized in that further comprises a.
Apk 파일로부터 암호화된 classes.dex을 추출하여, 복호화 모듈을 통해 odex 파일을 생성하는 달빅가상머신(Dalvik VM)과;
상기 odex 파일을 저장하고, 암호화를 수행한 후 모바일 디바이스에 저장하는 암호화 모듈과;
비용을 지불한 정당한 사용자만이 앱을 실행하면 상기 odex 파일을 복호화하는 복호화 모듈;
을 포함하여 구성되는 것을 특징으로 하는 암호화 기반 사용자 인증 및 안드로이드 앱 불법복제 방지시스템.
A Dalvik VM which extracts encrypted classes.dex from an Apk file and generates an odex file through a decryption module;
An encryption module for storing the odex file, performing encryption, and storing the odex file in a mobile device;
A decryption module for decrypting the odex file when only a legitimate user who has paid the fee is executed;
Encryption-based user authentication and Android app piracy prevention system, characterized in that comprises a.
제7항에 있어서,
상기 달빅가상머신 내 암호화/복호화 모듈은,
optimization과 verifycation 이전과 이후에 암호화와 복호화를 수행하기 위해, ‘classes.dex- 복호화 - Optimaiztion/Verifycation - odex - 암호화’의 실행 순서를 거쳐 dex 파일과 odex 파일의 checksum 검사와 offset 수정하는 것을 특징으로 하는 암호화 기반 사용자 인증 및 안드로이드 앱 불법복제 방지시스템.
The method of claim 7, wherein
The encryption / decryption module in the Dalvik virtual machine,
In order to perform encryption and decryption before and after optimization and verifycation, the checksum check and offset of dex and odex files are modified through the execution sequence of 'classes.dex-decryption-optimization / verificationcation-odex-encryption'. Encryption based user authentication and Android app piracy prevention system.
제7항에 있어서,
상기 안드로이드 소스내의 dalvik 디렉토리에서 암호화/복호화 모듈을 사용하기 위해 dalvik/dexopt/Optmain.c에서 호출되는 dexZipExtractEntrytoFile() 함수가 Apk 파일로부터 classes.dex 파일을 얻게되는 것을 특징으로 하는 암호화 기반 사용자 인증 및 안드로이드 앱 불법복제 방지시스템.
The method of claim 7, wherein
Encryption-based user authentication and Android, in which the dexZipExtractEntrytoFile () function called in dalvik / dexopt / Optmain.c gets a classes.dex file from an Apk file to use the encryption / decryption module in the dalvik directory in the Android source. App anti-piracy system.
제8항에 있어서,
상기 복호화된 classes.dex 파일은 dalvik/vm/dexprepare.c의 dexContinueoptimization() 이라는 함수에서 odex 파일로 변환하여 생성하는 것을 특징으로 하는 암호화 기반 사용자 인증 및 안드로이드 앱 불법복제 방지시스템.
9. The method of claim 8,
The decrypted classes.dex file is an encryption-based user authentication and Android app piracy prevention system, characterized in that generated by converting to the odex file in a function called dexContinueoptimization () of dalvik / vm / depreprere.c.
제10항에 있어서,
상기 생성된 odex 파일을 암호화된 상태로 저장하기 위해 optimaze와 verify, offset조정, dexoptHeader가 쓰여져 odex 파일이 생성된 이후 암호화 모듈을 삽입하여 odex파일을 암호화 하고, 상기 생성된 odex 파일은 /data/dalvik-cache에 data@app@[filename]@classes.dex라는 형태로 저장하는 것을 특징으로 하는 암호화 기반 사용자 인증 및 안드로이드 앱 불법복제 방지시스템.
The method of claim 10,
In order to store the generated odex file in an encrypted state, after optimaze, verify, offset adjustment, and dexoptHeader are written and the odex file is generated, an encryption module is inserted to encrypt the odex file, and the generated odex file is / data / dalvik Encryption-based user authentication and Android app piracy prevention system, characterized in that stored in the form of data @ app @ [filename] @ classes.dex in the -cache.
제7항에 있어서,
상기 사용자가 App을 실행하기 위해 해당 App의 아이콘을 클릭하게 되면 /data/dalvik-cache 내에 있는 classes.dex 파일을 이용하여 App을 실행하고, 상기 dex 파일을 호출하는 부분은 dalvik/analysis/vm/dexprepare.c 내의 dvmOpenCachedDexFile() 함수이며, 상기 odex파일은 암호화된 상태로 저장되어 있기 때문에 이 부분에 추가되어 있는 복호화 모듈을 통해 복호화를 수행한 후 odex 파일을 리턴하여 App 실행에 사용되는 것을 특징으로 하는 암호화 기반 사용자 인증 및 안드로이드 앱 불법복제 방지시스템.
The method of claim 7, wherein
When the user clicks the icon of the app to execute the app, the app is executed using the classes.dex file in / data / dalvik-cache, and the part calling the dex file is dalvik / analysis / vm / dvmOpenCachedDexFile () function in dexprepare.c, and since the odex file is stored in an encrypted state, it is used to execute the app by returning the odex file after decrypting through the decryption module added to this part. Encryption based user authentication and Android app piracy prevention system.
KR1020120020519A 2012-02-28 2012-02-28 Cryptography-based copy protection system and method for android apps KR101284676B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120020519A KR101284676B1 (en) 2012-02-28 2012-02-28 Cryptography-based copy protection system and method for android apps

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120020519A KR101284676B1 (en) 2012-02-28 2012-02-28 Cryptography-based copy protection system and method for android apps

Publications (1)

Publication Number Publication Date
KR101284676B1 true KR101284676B1 (en) 2013-08-23

Family

ID=49219499

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120020519A KR101284676B1 (en) 2012-02-28 2012-02-28 Cryptography-based copy protection system and method for android apps

Country Status (1)

Country Link
KR (1) KR101284676B1 (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103886230A (en) * 2014-02-24 2014-06-25 四川长虹电器股份有限公司 Software copyright protection method of android system and system thereof
CN104408337A (en) * 2014-11-18 2015-03-11 刘鹏 Reinforcement method for preventing reverse of APK (Android package) file
CN104462883A (en) * 2014-11-09 2015-03-25 刘鹏 APK file strengthening method
CN104462879A (en) * 2014-11-28 2015-03-25 北京奇虎科技有限公司 Root-free running control method and device of application program
CN104484585A (en) * 2014-11-26 2015-04-01 北京奇虎科技有限公司 Application program installation package processing method and device, and mobile apparatus
KR101532763B1 (en) * 2013-12-26 2015-07-02 주식회사 엔젠소프트 System and method for preventing illegal copy of application
KR101604892B1 (en) 2013-11-05 2016-03-25 단국대학교 산학협력단 Method and devices for fraud prevention of android-based applications
KR101614189B1 (en) * 2013-12-11 2016-04-20 단국대학교 산학협력단 Method and device for prevention of illegal application deployment
CN106681736A (en) * 2016-12-30 2017-05-17 深圳Tcl数字技术有限公司 Method and device for implementing Linux system service in Android system
CN107391223A (en) * 2017-03-30 2017-11-24 阿里巴巴集团控股有限公司 A kind of document handling method and device
KR20180051618A (en) * 2015-10-16 2018-05-16 제말토 에스에이 How to manage your application
KR20180100779A (en) 2017-03-02 2018-09-12 브이피 주식회사 ENCRYPTION METHOD FOR Multi-DEX FILE OF ANDROID APPLICATION
CN109145619A (en) * 2018-08-13 2019-01-04 中金金融认证中心有限公司 A kind of Android application resource reinforcement means and system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100951866B1 (en) * 2007-12-04 2010-04-12 주식회사 텔레칩스 Virtual machine based mobile application protecting system, and method for the same
KR20120006664A (en) * 2010-07-13 2012-01-19 (주)앵글스톤테크놀러지 Method for loading java class in terminal loading dalvik virtual machine
KR20120120686A (en) * 2011-04-25 2012-11-02 삼성전자주식회사 Apparatus and method for processing application package in portable terminal

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100951866B1 (en) * 2007-12-04 2010-04-12 주식회사 텔레칩스 Virtual machine based mobile application protecting system, and method for the same
KR20120006664A (en) * 2010-07-13 2012-01-19 (주)앵글스톤테크놀러지 Method for loading java class in terminal loading dalvik virtual machine
KR20120120686A (en) * 2011-04-25 2012-11-02 삼성전자주식회사 Apparatus and method for processing application package in portable terminal

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
논문(2009.11) *

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101604892B1 (en) 2013-11-05 2016-03-25 단국대학교 산학협력단 Method and devices for fraud prevention of android-based applications
KR101614189B1 (en) * 2013-12-11 2016-04-20 단국대학교 산학협력단 Method and device for prevention of illegal application deployment
KR101532763B1 (en) * 2013-12-26 2015-07-02 주식회사 엔젠소프트 System and method for preventing illegal copy of application
CN103886230A (en) * 2014-02-24 2014-06-25 四川长虹电器股份有限公司 Software copyright protection method of android system and system thereof
CN104462883A (en) * 2014-11-09 2015-03-25 刘鹏 APK file strengthening method
CN104408337A (en) * 2014-11-18 2015-03-11 刘鹏 Reinforcement method for preventing reverse of APK (Android package) file
CN104484585A (en) * 2014-11-26 2015-04-01 北京奇虎科技有限公司 Application program installation package processing method and device, and mobile apparatus
CN104462879A (en) * 2014-11-28 2015-03-25 北京奇虎科技有限公司 Root-free running control method and device of application program
KR20180051618A (en) * 2015-10-16 2018-05-16 제말토 에스에이 How to manage your application
KR102026279B1 (en) 2015-10-16 2019-09-27 제말토 에스에이 How to manage your application
CN106681736A (en) * 2016-12-30 2017-05-17 深圳Tcl数字技术有限公司 Method and device for implementing Linux system service in Android system
KR20180100779A (en) 2017-03-02 2018-09-12 브이피 주식회사 ENCRYPTION METHOD FOR Multi-DEX FILE OF ANDROID APPLICATION
CN107391223A (en) * 2017-03-30 2017-11-24 阿里巴巴集团控股有限公司 A kind of document handling method and device
CN107391223B (en) * 2017-03-30 2021-03-19 创新先进技术有限公司 File processing method and device
CN109145619A (en) * 2018-08-13 2019-01-04 中金金融认证中心有限公司 A kind of Android application resource reinforcement means and system

Similar Documents

Publication Publication Date Title
KR101284676B1 (en) Cryptography-based copy protection system and method for android apps
JP4916512B2 (en) Copy digital content between content protection systems
JP5237375B2 (en) Apparatus and method for backup of copyright objects
US7480802B2 (en) License-based cryptographic technique, particularly suited for use in a digital rights management system, for controlling access and use of bore resistant software objects in a client computer
US6801999B1 (en) Passive and active software objects containing bore resistant watermarking
JP4304220B2 (en) Computer-readable recording medium having recorded self-protecting document and method of using self-protecting document
CN101872404B (en) Method for protecting Java software program
US20040039932A1 (en) Apparatus, system and method for securing digital documents in a digital appliance
US20080005033A1 (en) Secure device licensing
EP2065828B1 (en) Media storage structures for storing content, devices for using such structures, systems for distributing such structures
CN102236757A (en) Software protection method and system applicable to Android system
CN102087605A (en) Android-based platform application installation control method and system
JP2005284525A (en) Content distribution system, encryption unit, content provision unit, content playback unit, license information provision unit, encryption method, content provision method, content playback method, license information provision method, information processing program, and storage medium
CN101923616A (en) Service provision device in copyright protection, user terminal and copyright protection method
JP2009075720A (en) Information processor and information processing program
KR20090014575A (en) Apparatus and method for sharing drm agents
KR101579696B1 (en) System and method for obfuscating initiation values of a cryptography protocol
Bahaa-Eldin et al. A comprehensive software copy protection and digital rights management platform
CN103532712A (en) Digital media file protection method, system and client
KR101415786B1 (en) A Hybrid Design system and method of Online Execution Class and Encryption-based Copyright Protection for Android Apps
KR100973333B1 (en) System and method for preventing illegal use of a work based on time
Lau et al. PlaySafe: A Digital Rights Management System for Media Content Consumption
KR20060096404A (en) Copyright protection method for multimedia transmission system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160701

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170703

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180702

Year of fee payment: 6