KR20140082408A - 어플리케이션 관리 방법 및 그 관리 장치 - Google Patents

어플리케이션 관리 방법 및 그 관리 장치 Download PDF

Info

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
Application number
KR1020120152348A
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 KR1020120152348A priority Critical patent/KR20140082408A/ko
Publication of KR20140082408A publication Critical patent/KR20140082408A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

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

어플리케이션 관리 방법 및 그 관리 장치{METHOD AND APPARATUS FOR MANAGING APPLICATION}
본 발명은 어플리케이션 관리 방법 및 그 관리 장치에 관한 것으로, 더욱 상세하게는 어플리케이션 파일의 실행 파일을 분할하여 암호화하는 기술이 개시된다.
일반 응용프로그램 보호 기법에는 난독화, 워터마킹, 위변조 탐지가 있다. 난독화 기법은 응용프로그램의 구조와 실행 루틴의 형태를 등가적인 로직을 담긴 다른 형태로 바꾸므로 역공학(reverse engineering)시 이해하기 어렵게 하는 기법이다. 워터마킹은 특정 영역에 자신만이 식별할 수 있는 정보를 삽입하는 기술로서 저작권 보호를 하는 기법이다. 마지막으로 위변조 탐지는 사용하는 응용프로그램의 무결성을 탐지하는 기법이다.
현재 존재하는 안드로이드 기반 난독화 기법은 상대적으로 역공학이 쉽게 된다. 워터마킹은 법적인 저작권 보호로서 실제 역공학을 막는 기술은 아니다. 또한 현재의 위변조 탐지 기술은 배포 할 응용프로그램에 위변조 탐지 루틴을 추가하는 것을 통해 실현하는 것이므로 역공학을 통해 이 부분의 루틴을 제거할 수 있다는 문제점이 있다.
본 발명의 배경이 되는 기술은 대한민국 등록특허공보 제10-0635280호(2006. 10. 11 등록)에 개시되어 있다.
본 발명의 해결하고자 하는 기술적 과제는 어플리케이션의 실행 파일을 분할하여 암호화하고 이를 서버와 사용자 단말로 분산함으로써 역공학의 난이도를 높일 수 있는 어플리케이션 관리 방법 및 그 관리 장치를 제공하기 위함이다.
본 발명의 일 실시예에 따른 어플리케이션 관리 방법은, 어플리케이션의 실행 파일을 제1 파일과 제2 파일로 분할하여 암호화하는 단계와, 상기 제1 파일을 다운로드 한 사용자 단말로부터 상기 제1 파일의 서명값을 수신하여 상기 제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 파일 전송부

Claims (1)

  1. 어플리케이션 관리 서버의 어플리케이션 관리 방법에 있어서,
    어플리케이션의 실행 파일을 제1 파일과 제2 파일로 분할하여 암호화하는 단계;
    상기 제1 파일을 다운로드 한 사용자 단말로부터 상기 제1 파일의 서명값을 수신하여 상기 제1 파일의 서명값을 검증하는 단계;
    상기 사용자 단말로 이동 통신 채널을 이용하여 비밀키를 전송하는 단계; 및
    상기 어플리케이션의 위변조를 검증하는 루틴 클래스를 포함하는 상기 제2 파일을 상기 비밀키로 암호화하여 상기 사용자 단말로 전송하는 단계를 포함하는 어플리케이션 관리 방법.
KR1020120152348A 2012-12-24 2012-12-24 어플리케이션 관리 방법 및 그 관리 장치 KR20140082408A (ko)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160065261A (ko) * 2014-11-28 2016-06-09 주식회사 티모넷 앱 위변조 방지시스템 및 그 방법
WO2018164408A1 (ko) * 2017-03-07 2018-09-13 주식회사 케이비금융지주 어플리케이션 보안 방법 및 이를 수행하기 위한 시스템

Cited By (2)

* Cited by examiner, † Cited by third party
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