KR20140082408A - 어플리케이션 관리 방법 및 그 관리 장치 - Google Patents
어플리케이션 관리 방법 및 그 관리 장치 Download PDFInfo
- Publication number
- KR20140082408A KR20140082408A KR1020120152348A KR20120152348A KR20140082408A KR 20140082408 A KR20140082408 A KR 20140082408A KR 1020120152348 A KR1020120152348 A KR 1020120152348A KR 20120152348 A KR20120152348 A KR 20120152348A KR 20140082408 A KR20140082408 A KR 20140082408A
- Authority
- KR
- South Korea
- Prior art keywords
- file
- application
- user terminal
- secret key
- signature value
- Prior art date
Links
- 238000000034 method Methods 0.000 title abstract description 16
- 238000010295 mobile communication Methods 0.000 claims abstract description 8
- 238000007726 management method Methods 0.000 claims description 16
- 238000001514 detection method Methods 0.000 description 8
- 238000012795 verification Methods 0.000 description 6
- 230000002708 enhancing effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/14—Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
본 발명은 어플리케이션 관리 방법 및 그 관리 장치에 관한 것으로, 본 발명의 일 실시예에 따른 어플리케이션 관리 방법은, 어플리케이션의 실행 파일을 제1 파일과 제2 파일로 분할하여 암호화하는 단계와, 상기 제1 파일을 다운로드 한 사용자 단말로부터 상기 제1 파일의 서명값을 수신하여 상기 제1 파일의 서명값을 검증하는 단계와, 상기 사용자 단말로 이동 통신 채널을 이용하여 비밀키를 전송하는 단계와, 상기 어플리케이션의 위변조를 검증하는 루틴 클래스를 포함하는 상기 제2 파일을 상기 비밀키로 암호화하여 상기 사용자 단말로 전송하는 단계를 포함한다.
이에 따라, 어플리케이션의 실행 파일을 분할하여 암호화하고 이를 서버와 사용자 단말로 분산함으로써 역공학의 난이도를 높일 수 있다.
이에 따라, 어플리케이션의 실행 파일을 분할하여 암호화하고 이를 서버와 사용자 단말로 분산함으로써 역공학의 난이도를 높일 수 있다.
Description
본 발명은 어플리케이션 관리 방법 및 그 관리 장치에 관한 것으로, 더욱 상세하게는 어플리케이션 파일의 실행 파일을 분할하여 암호화하는 기술이 개시된다.
일반 응용프로그램 보호 기법에는 난독화, 워터마킹, 위변조 탐지가 있다. 난독화 기법은 응용프로그램의 구조와 실행 루틴의 형태를 등가적인 로직을 담긴 다른 형태로 바꾸므로 역공학(reverse engineering)시 이해하기 어렵게 하는 기법이다. 워터마킹은 특정 영역에 자신만이 식별할 수 있는 정보를 삽입하는 기술로서 저작권 보호를 하는 기법이다. 마지막으로 위변조 탐지는 사용하는 응용프로그램의 무결성을 탐지하는 기법이다.
현재 존재하는 안드로이드 기반 난독화 기법은 상대적으로 역공학이 쉽게 된다. 워터마킹은 법적인 저작권 보호로서 실제 역공학을 막는 기술은 아니다. 또한 현재의 위변조 탐지 기술은 배포 할 응용프로그램에 위변조 탐지 루틴을 추가하는 것을 통해 실현하는 것이므로 역공학을 통해 이 부분의 루틴을 제거할 수 있다는 문제점이 있다.
본 발명의 배경이 되는 기술은 대한민국 등록특허공보 제10-0635280호(2006. 10. 11 등록)에 개시되어 있다.
본 발명의 해결하고자 하는 기술적 과제는 어플리케이션의 실행 파일을 분할하여 암호화하고 이를 서버와 사용자 단말로 분산함으로써 역공학의 난이도를 높일 수 있는 어플리케이션 관리 방법 및 그 관리 장치를 제공하기 위함이다.
본 발명의 일 실시예에 따른 어플리케이션 관리 방법은, 어플리케이션의 실행 파일을 제1 파일과 제2 파일로 분할하여 암호화하는 단계와, 상기 제1 파일을 다운로드 한 사용자 단말로부터 상기 제1 파일의 서명값을 수신하여 상기 제1 파일의 서명값을 검증하는 단계와, 상기 사용자 단말로 이동 통신 채널을 이용하여 비밀키를 전송하는 단계와, 상기 어플리케이션의 위변조를 검증하는 루틴 클래스를 포함하는 상기 제2 파일을 상기 비밀키로 암호화하여 상기 사용자 단말로 전송하는 단계를 포함한다.
이에 따라, 어플리케이션의 실행 파일을 분할하여 암호화하고 이를 서버와 사용자 단말로 분산함으로써 역공학의 난이도를 높일 수 있다. 또한, 위변조 탐지 루틴은 서버에서 배포하는 실행 파일에 삽입하여 위변조 탐지 루틴의 신뢰성을 더욱 높일 수 있다. 또한, 암호화된 루틴의 복호화 비밀키를 이동 통신 채널을 이용하여 사용자 단말로 전송함으로써 비밀키 보안성을 더욱 강화시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 어플리케이션 관리 방법의 흐름도,
도 2는 도 1에 따른 어플리케이션 관리 방법이 구현되는 어플리케이션 관리 장치의 구성도이다.
도 2는 도 1에 따른 어플리케이션 관리 방법이 구현되는 어플리케이션 관리 장치의 구성도이다.
이하, 첨부된 도면들을 참조하여 본 발명의 실시예를 상세하게 설명한다. 사용되는 용어들은 실시예에서의 기능을 고려하여 선택된 용어들로서, 그 용어의 의미는 사용자, 운용자의 의도 또는 판례 등에 따라 달라질 수 있다. 그러므로 후술하는 실시예들에서 사용된 용어의 의미는, 본 명세서에 구체적으로 정의된 경우에는 그 정의에 따르며, 구체적인 정의가 없는 경우는 당업자들이 일반적으로 인식하는 의미로 해석되어야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 어플리케이션 관리 방법의 흐름도이고, 도 2는 도 1에 따른 어플리케이션 관리 방법이 구현되는 어플리케이션 관리 장치의 구성도이다.
도 1 및 도 2를 참조하면, 본 발명의 일 실시예에 따른 어플리케이션 관리 장치(200)는 파일 분할부(210), 서명값 검증부(220), 비밀키 생성부(230) 및 제2 파일 전송부(240)를 포함한다.
먼저, 파일 분할부(210)는 어플리케이션의 실행 파일을 제1 파일과 제2 파일로 분할하여 암호화한다(S110). 이 경우, 어플리케이션이 안드로이드 운영 프로그램인 경우 자바 코드로 구성될 수 있으며, 실행 파일은 덱스(dex) 파일 형태로 구성될 수 있다. 파일 분할부(210)는 어플리케이션의 덱스 파일 중 스터브 덱스(Stub dex) 파일과 코어 덱스(Core dex) 파일을 각각 제1 파일 및 제2 파일로 분할한다. 분할된 각 제1 파일 및 제2 파일은 재명명 난독화, 흐름 제어 난독화, 문자열 난독화, 클래스 암호화 방식으로 암호화된다. 분할된 제1 파일은 사용자 단말로 배포되고, 제2 파일은 어플리케이션 관리 장치(200)의 DB에 저장된다.
다음으로, 서명값 검증부(220)는 제1 파일을 다운로드 한 사용자 단말로부터 제1 파일의 서명값을 수신하여 제1 파일의 서명값을 검증한다(S120). 앞서 설명한 바와 같이 파일 분할부(210)에서 분할된 제1 파일은 사용자 단말로 인터넷을 통해 다운로드 될 수 있으며, 이를 다운로드 한 사용자 단말은 해당 어플리케이션을 실행시 정상적인 프로그램임을 인증받기 위해 제1 파일의 서명값을 어플리케이션 관리 장치(200)로 전송하게 된다. 이 경우, 어플리케이션 관리 장치(200)의 서명값 검증부(220)는 수신된 제1 파일의 서명값 정보를 확인하여 정상적인 프로그램인지를 인증하게 된다.
다음으로, 비밀키 생성부(230)는 비밀키를 생성하여 사용자 단말로 이동 통신 채널을 이용하여 비밀키를 전송한다(S130). 비밀키 생성부(230)는 예를 들어 SMS(short message service)와 같이 인터넷이 아닌 이동 통신 채널을 이용하여 생성된 비밀키를 해당 사용자 단말로 전송한다. 이 경우, 비밀키는 암호화된 제2 파일을 복호화하는데 사용되는 키이며, 사용자 단말에 따라 전송되는 비밀키는 다르게 설정될 수 있다.
다음으로, 제2 파일 전송부(240)는 어플리케이션의 위변조를 검증하는 루틴 클래스를 포함하는 제2 파일을 비밀키로 암호화하여 사용자 단말로 전송한다(S140). 이 경우, 제2 파일에는 사용자 단말의 서명값 검증 루틴과 핵심 루틴이 포함될 수 있다. 서명값 검증 루틴은 사용자 단말의 인증된 서명값을 검증하는 루틴이며, 핵심 루틴은 사용자 단말에서 실행되는 해당 어플리케이션의 위변조 여부를 검증하는 루틴이다. 제2 파일 전송부(240)는 비밀키 생성부(230)에서 생성된 비밀키를 이용하여 제2 파일을 암호화하고, 이를 인터넷을 통해 사용자 단말로 전송하게 된다.
사용자 단말은 제2 파일을 인터넷을 통해 수신하고, 이동 통신 채널을 통해 수신한 비밀키를 이용하여 암호화된 제2 파일을 복호화한다. 제2 파일을 복호화하여 어플리케이션의 위변조 여부에 대한 검증을 완료하게 되면 어플리케이션이 실행되게 된다.
이와 같이 본 발명의 실시예에 따르면, 어플리케이션의 실행 파일을 분할하여 암호화하고 이를 서버와 사용자 단말로 분산함으로써 역공학의 난이도를 높일 수 있다. 또한, 위변조 탐지 루틴은 서버에서 배포하는 실행 파일에 삽입하여 위변조 탐지 루틴의 신뢰성을 더욱 높일 수 있다. 또한, 암호화된 루틴의 복호화 비밀키를 이동 통신 채널을 이용하여 사용자 단말로 전송함으로써 비밀키 보안성을 더욱 강화시킬 수 있다.
이상에서 본 발명은 도면을 참조하면서 기술되는 바람직한 실시예를 중심으로 설명되었지만 이에 한정되는 것은 아니다. 따라서 본 발명은 기재된 실시예로부터 도출 가능한 자명한 변형예를 포괄하도록 의도된 특허청구범위의 기재에 의해 해석되어져야 한다.
200 : 어플리케이션 관리 장치
210 : 파일 분할부
220 : 서명값 검증부
230 : 비밀키 생성부
240 : 제2 파일 전송부
210 : 파일 분할부
220 : 서명값 검증부
230 : 비밀키 생성부
240 : 제2 파일 전송부
Claims (1)
- 어플리케이션 관리 서버의 어플리케이션 관리 방법에 있어서,
어플리케이션의 실행 파일을 제1 파일과 제2 파일로 분할하여 암호화하는 단계;
상기 제1 파일을 다운로드 한 사용자 단말로부터 상기 제1 파일의 서명값을 수신하여 상기 제1 파일의 서명값을 검증하는 단계;
상기 사용자 단말로 이동 통신 채널을 이용하여 비밀키를 전송하는 단계; 및
상기 어플리케이션의 위변조를 검증하는 루틴 클래스를 포함하는 상기 제2 파일을 상기 비밀키로 암호화하여 상기 사용자 단말로 전송하는 단계를 포함하는 어플리케이션 관리 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120152348A KR20140082408A (ko) | 2012-12-24 | 2012-12-24 | 어플리케이션 관리 방법 및 그 관리 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120152348A KR20140082408A (ko) | 2012-12-24 | 2012-12-24 | 어플리케이션 관리 방법 및 그 관리 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20140082408A true KR20140082408A (ko) | 2014-07-02 |
Family
ID=51733356
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120152348A KR20140082408A (ko) | 2012-12-24 | 2012-12-24 | 어플리케이션 관리 방법 및 그 관리 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20140082408A (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160065261A (ko) * | 2014-11-28 | 2016-06-09 | 주식회사 티모넷 | 앱 위변조 방지시스템 및 그 방법 |
WO2018164408A1 (ko) * | 2017-03-07 | 2018-09-13 | 주식회사 케이비금융지주 | 어플리케이션 보안 방법 및 이를 수행하기 위한 시스템 |
-
2012
- 2012-12-24 KR KR1020120152348A patent/KR20140082408A/ko not_active Application Discontinuation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160065261A (ko) * | 2014-11-28 | 2016-06-09 | 주식회사 티모넷 | 앱 위변조 방지시스템 및 그 방법 |
WO2018164408A1 (ko) * | 2017-03-07 | 2018-09-13 | 주식회사 케이비금융지주 | 어플리케이션 보안 방법 및 이를 수행하기 위한 시스템 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7364674B2 (ja) | 安全な無線ファームウェアアップグレード | |
KR101018368B1 (ko) | 트러스티드 프로세싱 기술을 사용하는 디지탈 권리 관리 | |
US7634816B2 (en) | Revocation information management | |
KR20150040017A (ko) | 모바일 민감 데이터 관리 방법 및 이를 수행하는 위탁 서버 | |
JP5590953B2 (ja) | 鍵生成装置及びデータ提供装置及び端末装置及びプログラム | |
CN103186723B (zh) | 数字内容安全协作的方法和系统 | |
WO2010092138A2 (en) | Collaborative reconciliation of application trustworthiness | |
JP2017011491A (ja) | 認証システム | |
JP6333956B2 (ja) | 透かしを非圧縮ビデオデータに埋め込む方法及び装置 | |
US20150047001A1 (en) | Application program execution device | |
US20200036535A1 (en) | Storing Data On Target Data Processing Devices | |
CN117436043A (zh) | 待执行文件的来源验证方法、设备以及可读存储介质 | |
KR101473656B1 (ko) | 모바일 데이터 보안 장치 및 방법 | |
KR101630462B1 (ko) | 키보드 보안 장치 및 방법 | |
KR20140082408A (ko) | 어플리케이션 관리 방법 및 그 관리 장치 | |
KR101711024B1 (ko) | 부정조작방지 장치 접근 방법 및 그 방법을 채용한 단말 장치 | |
CN114040221B (zh) | 基于机顶盒服务器端双签名的安全认证的防拷贝方法 | |
KR101690093B1 (ko) | 제어된 보안 도메인 | |
KR20160055388A (ko) | 서비스 제공사 인증 및 보안 통신이 가능한 환경 기반의 공동앱을 구성하는 방법 | |
KR101415786B1 (ko) | 온라인 실행 코드 기술과 암호화 기반 불법 복제 방지 시스템 및 그 방법 | |
KR101106101B1 (ko) | 환경속성 정보를 이용한 데이터 열람장치 및 데이터 열람방법 | |
CN106789074B (zh) | 一种Java卡的应用身份验证方法及验证系统 | |
KR20160139914A (ko) | 소프트웨어의 변조 여부 탐지 시스템 및 방법 | |
JP2005244313A (ja) | プログラム配信システムおよび車載ゲートウェイ装置 | |
CN105790931B (zh) | 一种密钥分发方法、网络设备、终端设备及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |