KR20140106940A - Apparatus for application for mobile terminal - Google Patents

Apparatus for application for mobile terminal Download PDF

Info

Publication number
KR20140106940A
KR20140106940A KR1020130021260A KR20130021260A KR20140106940A KR 20140106940 A KR20140106940 A KR 20140106940A KR 1020130021260 A KR1020130021260 A KR 1020130021260A KR 20130021260 A KR20130021260 A KR 20130021260A KR 20140106940 A KR20140106940 A KR 20140106940A
Authority
KR
South Korea
Prior art keywords
application
information
server
verification
authentication
Prior art date
Application number
KR1020130021260A
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 KR1020130021260A priority Critical patent/KR20140106940A/en
Publication of KR20140106940A publication Critical patent/KR20140106940A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)

Abstract

The present invention discloses an application verification device for a mobile terminal which can verify whether an application installed or executed on the mobile terminal such as a smartphone is forged. The application verification device includes: an application verification information generation unit which generates basic application information and data to be used in the application′s forgery verification process at a service usage point when the application is executed; and an application verification request processing unit which conducts the application′s forgery verification process based on the basic information and data from the application verification information generation unit at the service usage point.

Description

모바일 단말용 애플리케이션 검증 장치{Apparatus for application for mobile terminal}[0001] Apparatus for application for mobile terminal [

본 발명은 모바일 단말용 애플리케이션 검증 장치에 관한 것으로, 보다 상세하게는 금융 기능과 같이 보안 기능이 필수적인 서비스에 대한 애플리케이션 인증을 수행하는 장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an application verification apparatus for a mobile terminal, and more particularly, to an apparatus for performing application authentication for a service in which a security function is essential, such as a financial function.

아이폰의 등장 이후로 운영체제를 탑재한 스마트폰의 사용이 급속도로 늘어가고 있다. 기존 피쳐폰에서는 통화, SMS와 같은 통신 기능들이 주로 사용된 반면, 운영체제를 갖춘 스마트폰을 통해서는 다양한 애플리케이션(application)이 구동 가능함으로써 통신 기능 외에 전자메일(e-mail), 웹 브라우징, 모바일 뱅킹 등의 다양한 서비스를 이용할 수 있게 되었다. Since the advent of the iPhone, the use of smartphones equipped with an operating system has been rapidly increasing. In the conventional feature phone, communication functions such as call and SMS are mainly used, but a variety of applications can be operated through a smart phone equipped with an operating system. Therefore, besides communication functions, e-mail, web browsing, And so on.

사용자와의 접근성에 다양한 애플리케이션의 수행 가능성이 더해짐으로써 스마트폰의 사용은 점점 더 확산되고 있는 추세이다. 국내의 경우도 스마트폰 이용자가 2011년에 2천만명이 넘어설 정도로 급증 추세에 있다. 이와 같은 스마트폰의 확산은 스마트폰을 통한 모바일 서비스 시장의 활성화를 이끌었다. The use of smartphones is becoming more and more widespread as accessibility with users increases the possibility of various applications. In Korea, the number of smartphone users has surged to more than 20 million in 2011. The proliferation of such smartphones has led to the activation of the mobile service market through smartphones.

다양한 개발자들이 스마트폰을 통해 서비스를 제공하기 위한 앱(app; 스마트폰에서 실행되는 응용프로그램, 애플리케이션으로 불리우기도 함)을 만들었다. 이러한 앱들은 앱 스토어(app store), 안드로이드 마켓 등의 공식적인 마켓뿐만 아니라, 비공식적으로 운영되는 사이트들을 통해서 배포되어 사용되고 있다. Various developers have created apps (called apps and applications that run on smartphones) to provide services through smartphones. These apps are distributed through informal sites as well as official stores such as the app store and the Android Market.

그러나, 스마트폰은 범용 OS를 채택하고 있고, 이식성이 높아 모바일 악성코드의 제작이 용이하고, 다양한 형태의 경로를 통해 악성 코드의 유포가 가능하다는 문제점을 갖는다. 또한, 대부분의 시간 동안 작동하고 있다는 점과 악의적으로 이용될 수 있는 개인 정보를 많이 가지고 있다는 점과 같은 스마트폰의 특징들은 악의적 목적을 가진 사람들에게 큰 관심을 일으키고 있다. However, the smartphone adopts a general-purpose OS, has a high portability, is easy to manufacture mobile malicious codes, and has a problem that malicious code can be distributed through various types of routes. In addition, smartphone features such as being in operation for most of the time and having a lot of personal information that can be used maliciously are causing great interest to people with malicious intentions.

실제, 모바일 공격의 규모는 점차적으로 증가하고 있으며 추후로도 계속 규모 및 피해가 증가 될 것으로 예상되고 있다. 일 예로 트렌드 마이크로는 2012년 1분기에만 개인 정보, 신용 정보를 탈취하고 금전적인 이득을 취할 수 있도록 설계된 약 5000개의 악성 앱(app)들을 식별했다고 발표했다. Actually, the scale of mobile attacks is gradually increasing, and it is expected that the scale and damage will continue to increase in the future. For example, Trend Micro announced in the first quarter of 2012 that it has identified about 5,000 malicious apps designed to steal personal information, credit information, and monetize money.

이러한 이유로 금융 서비스 제공과 같이 중요 개인 정보를 다루거나 금전과 관련 된 서비스들은 앱(app) 제작 시 다양한 보안 기능을 포함하고 있다. For this reason, services that deal with sensitive personal information, such as providing financial services, or money-related services, include a variety of security features when creating apps.

그러나, 기존의 앱을 크랙하여 위변조한 앱들이 생성/유포되어 사용되고 있으며, 위 변조된 앱들은 기존에 구축해 놓은 보안 기능을 우회하는 것으로 알려져 있다. 일 예로, 위변조된 모바일 뱅킹 앱 응용프로그램이 인터넷에 퍼져 실제 거래에 빈번히 쓰이는 것으로 확인되었다. 이러한 위변조된 앱들은 사용자 몰래 개인정보를 빼내거나 제 3자에게 돈을 이체시키는 피싱 도구로 악용될 수 있다. However, it is known that apps that have been cracked and cracked by existing apps are created / circulated and used, and that the apps that are outmoded are bypassing the existing security functions. For example, it has been confirmed that forged mobile banking app applications spread over the Internet and are frequently used in real transactions. These forged apps can be exploited as a phishing tool to steal personal information from the user or transfer money to a third party.

따라서, 이러한 악성 앱들로부터 사용자의 개인 정보 유출 및 피해를 막기 위해서는 앱 자체가 위변조되었는지를 확인할 수 있는 방법이 필요하다.Therefore, in order to prevent leakage and damage of the user's personal information from such malicious apps, a method of checking whether the app itself is falsified or not is needed.

대한민국 공개특허공보 10-2006-0116822호에는 실행할 때와 마찬가지로 다운로드할 때 애플리케이션의 인증을 위한 방법이 제시되었다.Korean Patent Laid-Open Publication No. 10-2006-0116822 discloses a method for authentication of an application at the time of download as in the case of execution.

대한민국 공개특허공보 10-2006-0116822호에 제시된 발명은, 네트워크(NET)에 의해 컨트롤 서버(CSE)에 연결된 장비(CB) 내에서 동작하는 하나 이상의 애플리케이션(APP)의 인증 방법에 있어서, 상기 장비는 보안모듈(SIM)에 부분적으로 연결되고, 상기 장비(CB)의 애플리케이션 실행 환경(AEE)을 수단으로 로드 및/또는 실행되고 보안모듈(SIM)에 저장된 리소스(RES)를 사용하는 상기 애플리케이션(APP)은, 상기 컨트롤(CSE) 서버가 네트워크(NET)를 통해 최소한 장비(CB) 식별자(IMEISV)와 보안모듈(SIM) 식별자(IMSI)를 포함하는 데이터를 수신하는 단계와, 상기 컨트롤 서버(CSE)가 상기 데이터를 분석 및 검증하는 단계와, 애플리케이션(APP)의 다이제스트(FIN1), 장비(CB)와 보안 모듈(SIM)을 식별하는 데이터 및 상기 모듈로 예정된 명령(INS_RES)을 포함한 암호문(CRY)을 생성하는 단계와, 네트워크(NET)와 장비(CB)를 통해 보안 모듈(SIM)로 암호문(CRY)을 전송하는 단계와, 보안모듈(SIM)에 의해 결정된 다이제스트(FIN2)와 수신된 암호문(CRY)으로부터 추출된 다이제스트(FIN1)를 비교하여 애플리케이션을 검증하는 단계를 포함한다. 그리고, 상기 방법은 애플리케이션(APP)의 초기화 및/또는 활성화 기간 동안, 보안모듈(SIM)이 암호문(CRY)으로부터 추출된 명령(INS_RES)을 실행하고, 미리 수행된 애플리케이션(APP)에 적합한 검증 결과에 따른 상기 보안모듈(SIM)의 특정 리소스(RES)로의 액세스를 해지하고, 각각 차단한다.The invention disclosed in Korean Patent Application Publication No. 10-2006-0116822 is directed to an authentication method of one or more applications (APP) operating in a device (CB) connected to a control server (CSE) by a network (NET) Which is partially connected to a security module (SIM) and loaded and / or executed by means of an application execution environment (AEE) of the equipment (CB) and which uses a resource (RES) stored in a security module (SIM) APP) comprises the steps of: the control (CSE) server receiving data including at least an equipment identifier (CB) identifier (IMEISV) and a security module (SIM) identifier (IMSI) over a network (NET) CSE) analyzes and verifies the data; data identifying the digest (FIN1) of the application (APP), the equipment (CB) and the security module (SIM), and the ciphertext (INS_RES) CRY) < / RTI > (CRY) to the security module (SIM) via the network (NET) and the equipment (CB), and transmitting the ciphertext (CRY) from the digest FIN2 determined by the security module (SIM) And comparing the digest FIN1 to verify the application. The method further comprises the steps of: during execution of the initialization and / or activation of the application (APP), the security module (SIM) executes the command (INS_RES) extracted from the ciphertext (CRY) The access to the specific resource (RES) of the security module (SIM) according to the request is canceled, and each of them is blocked.

상술한 대한민국 공개특허공보 10-2006-0116822호에 제시된 발명은 이동통신 단말의 애플리케이션 실행 및 단말을 인증하는 방법을 제시한 것으로서, 애플리케이션의 인증을 통해 애플리케이션이 사용자 정보를 포함하고 있는 보안모듈(SIM)의 특정한 리소스에 접근하는 것을 제어하기 위한 것이다. 이와 같은 대한민국 공개특허공보 10-2006-0116822호에 제시된 발명에서 어플리케이션은 네트워크 사업자에 의해서 검증된 후 네트워크 사업자를 통해 폐쇄된 환경에서 설치된다. 즉, 어플리케이션 자체가 악의적 목적으로 변조된 후 설치되지 않는다. The invention disclosed in Korean Patent Laid-Open Publication No. 10-2006-0116822 proposes a method of executing an application of a mobile communication terminal and authenticating a terminal, wherein an application authenticates a security module (SIM To control access to specific resources of the system. In the invention disclosed in Korean Patent Laid-Open Publication No. 10-2006-0116822, an application is installed in a closed environment through a network operator after being verified by a network operator. That is, the application itself is not installed after being modulated for malicious purposes.

본 발명은 상기한 종래의 문제점을 해결하기 위해 제안된 것으로, 스마트폰과 같은 모바일 단말에 설치되거나 그 모바일 단말에서 실행되는 애플리케이션이 위변조되었는지를 판별할 수 있도록 하는 모바일 단말용 애플리케이션 검증 장치를 제공함에 그 목적이 있다.Disclosure of Invention Technical Problem [8] The present invention has been proposed in order to solve the above-mentioned problems, and provides a device for verifying an application for a mobile terminal, which is capable of discriminating whether an application installed in a mobile terminal such as a smart phone or an application executed in the mobile terminal is forged It has its purpose.

즉, 본 발명은 악의적 목적으로 변조된 앱의 설치 및 실행 여부를 탐지하기 위한 것으로서, 특히 애플리케이션 설치 및 업데이트시 뿐만 아니라 응용 서버를 통한 서비스 이용 시점 시 애플리케이션의 위변조 여부 탐지를 수행하는 장치를 제공함에 그 목적이 있다. That is, the present invention provides an apparatus for detecting whether or not an application modulated for malicious purposes is installed and executed, and more particularly, to an apparatus for detecting forgery or falsification of an application at the time of using a service through an application server as well as installing and updating an application It has its purpose.

상기와 같은 목적을 달성하기 위하여 본 발명의 바람직한 실시양태에 따른 모바일 단말용 애플리케이션 검증 장치는, 애플리케이션의 실행에 의한 서비스 이용 시점에, 상기 애플리케이션의 기본 정보 및 상기 애플리케이션의 위/변조 검증시 사용할 데이터를 생성하는 앱 인증 정보 생성부; 및 상기 서비스 이용 시점에, 상기 앱 인증 정보 생성부로부터의 기본 정보 및 데이터를 근거로 상기 애플리케이션의 위/변조 검증을 수행하는 앱 인증 요청 처리부;를 포함한다.In order to accomplish the above object, according to a preferred embodiment of the present invention, there is provided an apparatus for verifying an application for a mobile terminal, the method comprising the steps of: An app authentication information generating unit for generating an app authentication information; And an application authentication request processor for performing up / modulation verification of the application based on basic information and data from the application authentication information generator at the time of using the service.

바람직하게, 상기 기본 정보는 상기 애플리케이션의 식별자, 상기 애플리케이션의 패키지 이름 및 버전 정보를 포함한다. 상기 기본 정보는 애플리케이션 코드의 이미지 또는 상기 애플리케이션 코드의 이미지에 대한 레퍼런스를 추가로 포함한다.Preferably, the basic information includes an identifier of the application, a package name of the application, and version information. The basic information further includes an image of the application code or a reference to the image of the application code.

상기 위/변조 검증시 사용할 데이터는 상기 애플리케이션 코드에 대한 해쉬 알고리즘, 계산된 해쉬값을 포함한다.The data to be used in the up / modulation verification includes a hash algorithm for the application code, and a calculated hash value.

상기 앱 인증 요청 처리부는 응용 서버의 앱 인증 검증 모듈 클라이언트부와의 연동에 의해 상기 애플리케이션의 위/변조 검증을 수행한다.The application authentication request processing unit performs the up / modulation verification of the application by interworking with the application authentication module client unit of the application server.

상기 앱 인증 요청 처리부는 상기 위/변조 검증시 사용할 데이터에 포함된 계산된 해쉬값과 상기 응용 서버의 앱 인증 검증 모듈 클라이언트부로부터의 계산된 해쉬값을 비교하여 서로 일치하지 않으면 상기 애플리케이션이 위/변조된 것으로 판단한다.The app authentication request processing unit compares the calculated hash value included in the data to be used in the up / modulation verification with the calculated hash value from the application authentication module client unit of the application server, and if the application does not match, It is judged to be modulated.

상기 앱 인증 정보 생성부에서 생성되는 결과를 저장하는 앱 인증 데이터 저장부를 추가로 포함하여도 된다.
And an app authentication data storage unit for storing a result generated by the app authentication information generating unit.

본 발명의 다른 실시양태에 따른 모바일 단말용 애플리케이션 검증 장치는, 애플리케이션의 설치 또는 업데이트시, 애플리케이션의 기본 정보 및 상기 애플리케이션의 무결성 검증시 필요한 데이터를 생성하는 앱 인증 정보 생성부; 및 상기 애플리케이션의 설치 또는 업데이트시, 상기 앱 인증 정보 생성부로부터의 기본 정보 및 데이터를 근거로 상기 애플리케이션에 대한 무결성 검증을 수행하는 앱 무결성 확인부;를 포함한다.An apparatus for verifying an application for a mobile terminal according to another embodiment of the present invention includes an app authentication information generator for generating basic information of an application and data necessary for verifying integrity of the application when an application is installed or updated; And an application integrity verification unit for performing integrity verification of the application based on basic information and data from the application authentication information generation unit when the application is installed or updated.

바람직하게, 상기 기본 정보는 상기 애플리케이션의 식별자, 및 상기 애플리케이션의 무결성 검증 정보를 포함한다. 상기 무결성 검증 정보는 상기 애플리케이션의 타입 및 버전 정보를 포함한다.Preferably, the basic information includes an identifier of the application, and integrity verification information of the application. The integrity verification information includes the type and version information of the application.

상기 무결성 검증시 필요한 데이터는 상기 애플리케이션의 코드에 대한 해쉬 알고리즘 및 계산된 해쉬값을 포함한다.The data required for the integrity verification includes a hash algorithm for the code of the application and a computed hash value.

상기 앱 무결성 확인부는 응용 서버의 앱 무결정 검증 모듈 서버부와의 연동에 의해 상기 애플리케이션의 무결성 검증을 수행한다.The application integrity checking unit performs integrity verification of the application by interlocking with the application deciding verification module server unit of the application server.

상기 앱 무결성 확인부는, 상기 애플리케이션이 설치됨에 따라 상기 애플리케이션의 기본 정보내의 무결정 검증 정보가 유효한지 및 사용자 확인을 수행하고, 상기 무결정 검증 정보가 유효하고 사용자 확인이 성공하면 상기 무결성 검증시 필요한 데이터에 포함된 해쉬값과 상기 응용 서버의 앱 무결정 검증 모듈 서버부로부터의 계산된 해쉬값을 비교하여 서로 일치하지 않으면 상기 애플리케이션이 위/변조된 것으로 판단한다.Wherein the application integrity checking unit determines whether the non-deterministic verification information in the basic information of the application is valid according to the application being installed and performs user verification, and when the non-deterministic verification information is valid and the user verification is successful, The hash value included in the data is compared with the calculated hash value from the application undecision verification module server unit of the application server, and if the hash value does not coincide with each other, it is determined that the application is up / modulated.

상기 앱 무결성 확인부는 상기 무결성 검증의 성공 및 실패 정보를 출력한다.The app integrity verification unit outputs the integrity verification success and failure information.

상기 앱 인증 정보 생성부에서 생성되는 결과를 저장하는 앱 인증 데이터 저장부를 추가로 포함하여도 된다.And an app authentication data storage unit for storing a result generated by the app authentication information generating unit.

이러한 구성의 본 발명에 따르면, 모바일 뱅킹과 같이 서비스를 제공하는데 응용 서버와의 상호 연동이 필수적인 서비스에 대해서 실행 시점에 응용 서비스 제공자가 서비스를 이용하고자 하는 애플리케이션(약칭으로 앱(app))이 위변조되었는지를 확인할 수 있다. According to the present invention having such a configuration, an application (abbreviated as an app) intended to be used by an application service provider at an execution time for a service, which is required to interwork with an application server in providing a service such as mobile banking, Can be confirmed.

이를 통해 위변조된 앱에서의 서비스 이용 및 데이터 접근을 제한 및/또는 차단함으로서 위변조된 앱을 통한 2차 피해를 막을 수 있는 이점이 있다. Thus, it is possible to prevent the second damage through the forged application by restricting and / or blocking the service use and data access in the forged application.

또한, 본 발명의 구성에 따르면, 사용자가 앱에 대한 인증 여부를 확인할 수 있어서, 금융 서비스와 같이 보안이 필요한 서비스에 대해 위변조된 앱을 사용하는 것을 피하는 것을 도울 수 있다. In addition, according to the configuration of the present invention, the user can confirm whether or not the application is authenticated, thereby helping to avoid using a forged application for a service that requires security, such as a financial service.

도 1은 본 발명의 일실시예에 따른 모바일 단말용 애플리케이션 검증 장치가 채용된 시스템의 구성도이다.
도 2는 도 1에 도시된 사용자 단말의 앱 인증 검증 모듈 서버부와 응용 서버의 앱 인증 검증 모듈 클라이언트부와의 연동에 의해 수행되는 애플리케이션 위/변조 검증 과정을 설명하는 플로우차트이다.
도 3은 본 발명의 다른 실시예에 따른 모바일 단말용 애플리케이션 검증 장치가 채용된 시스템의 구성도이다.
도 4는 도 3의 설명에 채용되는 무결성 검증 정보의 일 예를 나타낸 도면이다.
도 5는 본 발명의 다른 실시예에 따른 모바일 단말용 애플리케이션 검증장치에 의한 애플리케이션 무결성 검증 과정을 설명하는 플로우차트이다.
1 is a configuration diagram of a system employing an apparatus for verifying an application for a mobile terminal according to an embodiment of the present invention.
2 is a flowchart illustrating an application stochastic / modulation verification process performed by interlocking the application authentication module server unit of the user terminal and the application authentication module client unit of the application server shown in FIG.
3 is a configuration diagram of a system employing an apparatus for verifying an application for a mobile terminal according to another embodiment of the present invention.
4 is a diagram showing an example of integrity verification information employed in the description of FIG.
5 is a flowchart illustrating an application integrity verification process performed by the application verification device for a mobile terminal according to another embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 실시예에 따른 모바일 단말용 애플리케이션 검증 장치에 대하여 설명하면 다음과 같다. 본 발명의 상세한 설명에 앞서, 이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니된다. 따라서, 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일실시예에 불과할 뿐이고 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.Hereinafter, an apparatus for verifying an application for a mobile terminal according to an embodiment of the present invention will be described with reference to the accompanying drawings. Prior to the detailed description of the present invention, terms and words used in the present specification and claims should not be construed as limited to ordinary or dictionary terms. Therefore, the embodiments described in this specification and the configurations shown in the drawings are merely the most preferred embodiments of the present invention and do not represent all the technical ideas of the present invention. Therefore, It is to be understood that equivalents and modifications are possible.

위/변조된 앱은 사용자 단말의 주요 정보를 유출 할 뿐만 아니라 해당 서비스가 응용 서버를 통해 제공되는 경우 해당 서버 역시 공략 할 수 있다. 일 예로 금융서비스의 경우, 위/변조된 앱을 통해 사용자 단말의 주요 정보가 유출되는 것 외에도 응용 서버에서 관리되는 데이터에 대한 불법 접근 및 사용자가 수행하지 않는 계좌 이체 요청 등과 같이 응용 서버와의 연동을 통한 악의적 행동이 발생 될 수 있다. 따라서, 상기 서비스와 같은 경우, 응용 서버는 위/변조된 앱으로부터의 서비스 이용 요청을 제한할 필요가 있다. 이와 같은 문제를 해결하기 위하여 응용 서버는 서비스 제공 시점에 해당 앱에 대한 위/변조 여부를 확인할 필요가 있다.The up / modulated application can not only leak important information of the user terminal but can also target the corresponding server if the service is provided through the application server. For example, in the case of financial services, in addition to the leakage of important information of the user terminal through the up / modulated application, the illegal access to the data managed by the application server and the connection request with the application server May result in malicious behavior. Therefore, in the case of the above service, the application server needs to restrict the service use request from the up / modulated application. To solve this problem, the application server needs to check whether the application is up / modulated at the time of providing the service.

도 1은 응용 서비스 요청 시, 응용 서버에 의한 앱 위/변조 여부를 검증하기 위한 방법을 구현하기 위해 필요한 시스템의 기본 구성을 나타낸 것으로서, 본 발명의 일실시예에 따른 모바일 단말용 애플리케이션 검증 장치가 채용된 시스템의 구성도이다.1 shows a basic configuration of a system required to implement a method for verifying whether an application server is up / modulated by an application server when requesting an application service. The application verification apparatus for a mobile terminal according to an embodiment of the present invention And Fig.

도 1에서 볼 수 있는 것과 같이 응용 서버(40)에 의한 서비스 요청 앱의 위/변조 검증을 수행하기 위해서는 응용 서버(40)와 사용자 단말(10)에 이를 수행하기 위한 모듈이 존재해야 한다. 편의상 사용자 단말(10)에 있는 해당 모듈을 앱 인증 검증 모듈 서버부(20)로 하고, 응용 서버(40)에 있는 해당 모듈을 앱 인증 검증 모듈 클라이언부(50)라고 표현한다. As shown in FIG. 1, the application server 40 and the user terminal 10 must have a module for performing the up / modulation verification of the service request application by the application server 40. For convenience, the module in the user terminal 10 is referred to as an application authentication verification module server unit 20, and the corresponding module in the application server 40 is referred to as an application authentication verification module client unit 50.

여기서, 사용자 단말(10)의 앱 인증 검증 모듈 서버부(20)는 사용자 단말 내부에 시스템 소프트웨어 또는 OS의 부가 기능으로서 동작할 수 있다. 앱 인증 검증 모듈 서버부(20)는 앱 인증 정보 생성부(22), 앱 인증 데이터 DB(24), 앱 네트워크 사용 정보 관리부(26), 및 앱 인증 요청 처리부(28)를 포함한다.Here, the app authentication verification module server unit 20 of the user terminal 10 may operate as an additional function of the system software or the OS in the user terminal. The application authentication verification module server unit 20 includes an application authentication information generation unit 22, an application authentication data DB 24, an application network usage information management unit 26, and an application authentication request processing unit 28.

앱 인증 정보 생성부(22)는 새로운 애플리케이션(약칭하여 "앱(app)"이라고 함)의 설치 또는 애플리케이션의 동작 시점에 해당 애플리케이션의 기본 정보와 함께 위/변조 검증시 사용할 데이터를 생성한다. 앱 인증 정보 생성부(22)는 생성한 기본 정보와 데이터를 앱 인증 데이터 DB(24)에 저장한다. 여기서, 애플리케이션의 기본 정보에는 사용자 단말(10)에서 관리되는 해당 애플리케이션의 식별자와 함께 해당 애플리케이션의 패키지 이름, 버전 정보 등이 있다. 이와 같은 기본 정보는 안드로이드의 manifest.xml 파일과 같이 애플리케이션과 함께 배포되는 정보로부터 획득할 수도 있고, 앱 설치시 사용자로부터 획득할 수도 있다. 또한, 그 애플리케이션의 기본 정보는 위/변조 검증을 위한 해쉬값 확인을 응용 서버(40)와의 연동을 통해 동적으로 수행하는 경우를 대비하여 애플리케이션 코드의 이미지 자체 또는 그 이미지에 대한 레퍼런스(reference)를 추가적으로 포함할 수 있다. 그리고, 위/변조 검증 시 사용할 데이터는 상기 애플리케이션 코드에 대한 해쉬 알고리즘, 계산된 해쉬값을 포함할 수 있다.The application authentication information generating unit 22 generates data to be used at the time of installing a new application (abbreviated as "app") or at the time of operation of the application together with basic information of the application. The app authentication information generating unit 22 stores the generated basic information and data in the app authentication data DB 24. Here, the basic information of the application includes an identifier of the corresponding application managed by the user terminal 10, package name of the application, version information, and the like. This basic information can be obtained from the information distributed with the application, such as the Android manifest.xml file, or acquired from the user at the time of installing the application. In addition, the basic information of the application may include a reference to the image of the application code itself or a reference to the image, in case that the hash value confirmation for the up / modulation verification is dynamically performed in cooperation with the application server 40 May be included. The data to be used in up / modulation verification may include a hash algorithm for the application code, and a calculated hash value.

앱 네트워크 사용 정보 관리부(26)는 사용자 단말(10)에서 실행 중인 애플리케이션에서 네트워크(30)를 이용하는 경우, 상기 네트워크(30)에 대한 정보를 관리한다. 예를 들어, 특정 애플리케이션이 무선 랜(wireless lan)을 통하여 응용 서버(40)에 접속하고자 하였다면, 앱 네트워크 사용 정보 관리부(26)는 해당 애플리케이션의 식별자와 함께 접속에 사용된 소스 IP(source IP), 프로토콜(protocol), 소스 포트(source port), 목적지 IP(destination IP), 목적지 포트(destination port) 등을 관리할 수 있다. 상술한 예는 하나의 예로서 각 접속 매체에 알맞은 데이터가 관리되어야 한다. 즉, 앱 네트워크 사용 정보 관리부(26)는 서비스 이용 시점에, 애플리케이션과 응용 서버(40)와의 네트워크 정보를 관리함으로써, 응용 서버(40)로부터 수신받은 인증 요청에 해당하는 애플리케이션을 인지하여 앱 인증 요청 처리부(28)에게로 통보한다. The application network usage information management unit 26 manages information on the network 30 when using the network 30 in an application running on the user terminal 10. [ For example, if a specific application intends to access the application server 40 via a wireless LAN, the application network usage information management unit 26 transmits an identifier of the application and a source IP (source IP) A protocol, a source port, a destination IP, a destination port, and the like. In the above-described example, as an example, data suitable for each connection medium must be managed. That is, the application network usage information management unit 26 manages the network information between the application and the application server 40 at the time of using the service, recognizes the application corresponding to the authentication request received from the application server 40, And notifies the processing unit 28 of the result.

앱 인증 요청 처리부(28)는 응용 서버(40)의 앱 인증 모듈 클라이언트부(50)와 함께 서비스 요청 시점에 애플리케이션의 위/변조 검증을 수행한다. 다시 말해서, 앱 인증 요청 처리부(28)는 앱 네트워크 사용 정보 관리부(26)에서 인지한 인증 요청에 해당하는 애플리케이션에 대한 위/변조 검증을 앱 인증 데이터 DB(24)의 정보 및 응용 서버(40)와의 연동을 통해 수행한다. 앱 인증 요청 처리부(28)는 앱 네트워크 사용 정보 관리부(26)를 통해 응용 서버(40)로부터 애플리케이션에 대한 인증 요청을 수신함에 따라, 앱 인증 데이터 DB(24)에 저장된 정보 및 응용 서버(40)와의 연동을 통해 애플리케이션의 위/변조 검증을 수행한다. 앱 인증 요청 처리부(28)에 의한 애플리케이션의 위/변조 검증 방법에 대해서는 도 2의 설명에서 보다 자세히 기술한다. The application authentication request processing unit 28 performs the up / modulation verification of the application at the time of the service request together with the application authentication module client unit 50 of the application server 40. In other words, the application authentication request processing unit 28 transmits the information of the application authentication data DB 24 and the information of the application server 40 to the application authentication data DB 24, . The application authentication request processing unit 28 receives the authentication request for the application from the application server 40 via the application network usage information management unit 26 and transmits the information stored in the application authentication data DB 24 and the application server 40, And performs up / modulation verification of the application through interworking with the base station. The method of verifying the position / modulation of the application by the application authentication request processing unit 28 will be described in more detail in the description of FIG.

도 1에서, 응용 서버(40)는 앱 인증 검증 모듈 클라이언트부(50) 및 앱 데이터 DB(60)를 포함한다.1, the application server 40 includes an app authentication verification module client unit 50 and an app data DB 60. [

앱 인증 검증 모듈 클라이언트부(50)는 사용자 단말(10)의 앱 인증 요청 처리부(28)와의 연동에 의해 애플리케이션의 위/변조 검증을 수행한다. The application authentication module client unit 50 performs the up / modulation verification of the application by interlocking with the application authentication request processing unit 28 of the user terminal 10. [

앱 데이터 DB(60)는 애플리케이션 위/변조 검증을 위해 사용될 데이터가 저장된다. 여기서, 애플리케이션 위/변조 검증을 위해 사용될 데이터는 해당 응용 서버(40)에서 배포한 애플리케이션들에 대한 애플리케이션의 패키지 이름 및 각 버전(version) 별로 애플리케이션 코드 자체를 포함한다. 앱 데이터 DB(60)에 저장되는 데이터는 앱 인증 검증 모듈 클라이언트부(50)에 의해 관리될 수 있다.
The app data DB 60 stores data to be used for application up / modulation verification. Here, the data to be used for the application up / modulation verification includes the package name of the application for the applications distributed by the application server 40 and the application code itself for each version. The data stored in the app data DB 60 can be managed by the app authentication authentication module client unit 50. [

도 2는 도 1에 도시된 사용자 단말(10)의 앱 인증 검증 모듈 서버부(20)와 응용 서버(40)의 앱 인증 검증 모듈 클라이언트부(50)와의 연동에 의해 수행되는 애플리케이션 위/변조 검증 과정을 설명하는 플로우차트로서, 서비스 수행 시점에 애플리케이션 위/변조 여부를 검증하기 위한 방법을 나타낸다. 2 is a diagram showing an application up / down modulation verification process performed by the application authentication module server unit 20 of the user terminal 10 shown in FIG. 1 and the application authentication module client unit 50 of the application server 40 interlocked with each other. And shows a method for verifying whether the application is up / modulated at the time of executing the service.

사용자 단말(10)의 특정 애플리케이션(즉, 앱 1 ~ 앱 N중에서 어느 하나)이 네트워크(30)를 통하여 서비스를 이용하고자 하는 시도가 있는 경우(S10) 해당 시도는 사용자 단말(10)의 앱 인증 검증 모듈 서버부(20)내의 앱 네트워크 사용 정보 관리부(26)로 전달된다. 앱 네트워크 사용 정보 관리부(26)는 해당 요청을 네트워크(30)로 전송함과 더불어 사용자 단말(10)에서 관리되는 상기 애플리케이션에 대한 식별자와 함께 네트워크 접속 정보를 관리한다(S12). If there is an attempt to use a service through the network 30 (S10), the corresponding application (i.e., any one of the applications 1 to N) of the user terminal 10 And transmitted to the application network usage information management unit 26 in the verification module server unit 20. [ The app network usage information management unit 26 transmits the request to the network 30 and manages the network access information together with the identifier of the application managed by the user terminal 10 (S12).

네트워크(30)를 통해 사용자 단말(10)의 애플리케이션으로부터 서비스 요청을 수신받은 응용 서버(40)는 수신한 해당 요청을 앱 인증 검증 모듈 클라이언트부(50)에게로 송부한다(S14). The application server 40 receiving the service request from the application of the user terminal 10 via the network 30 sends the received request to the application authentication module client 50 (S14).

응용 서버(40)의 앱 인증 검증 모듈 클라이언트부(50)는 서비스를 요청한 사용자 단말(10)의 앱 인증 검증 모듈 서버부(20)에게로 해당 애플리케이션에 대한 정보(즉, 앱 정보)를 요청한다(S16). 여기서, 정보 요청을 위해서는 사용자 단말(10)의 앱 인증 요청 처리부(28)의 접속 정보를 알아야 한다. 이는 고정적으로 정의해서 사용할 수도 있고, 앱 네트워크 사용 정보 관리부(26)에 의해서 서비스 요청이 전달될 때 동적으로 사용할 정보를 알려줄 수도 있다. The application authentication module client unit 50 of the application server 40 requests the application authentication module server unit 20 of the user terminal 10 requesting the service to the information of the application (i.e., the application information) (S16). Here, in order to request the information, the access information of the application authentication request processing unit 28 of the user terminal 10 must be known. It may be fixedly used or may be informed of information to be used dynamically when a service request is transmitted by the app network usage information management unit 26. [

사용자 단말(10)의 앱 인증 요청 처리부(28)는 앱 정보 요청을 수신한 경우(S18), 앱 네트워크 사용 정보 관리부(26)를 통해 상기 요청이 어떤 앱에 대한 인증 요청인지를 확인한 후, 해당 앱에 대한 정보 즉, 앱 인증 데이터 DB(24)에 저장되어 관리되는 앱 정보(예컨대, 해당 애플리케이션의 기본 정보)를 응용 서버(40)의 앱 인증 검증 모듈 클라이언트부(50)에게로 송신한다(S20). When the app authentication request processing unit 28 of the user terminal 10 receives the app information request (S18), it verifies through the app network usage information management unit 26 whether the request is an authentication request for an app, (For example, basic information of the application) stored in the application authentication data DB 24 to the application authentication module client unit 50 of the application server 40 S20).

그에 따라, 응용 서버(40)의 앱 인증 검증 모듈 클라이언트부(50)는 사용자 단말(10)의 앱 인증 요청 처리부(28)로부터의 앱 정보를 수신한다(S22).Accordingly, the application authentication module client unit 50 of the application server 40 receives the application information from the application authentication request processing unit 28 of the user terminal 10 (S22).

그리고 나서, 응용 서버(40)는 사용자 단말(10)로부터의 앱 정보와 서비스 요청시 해당 애플리케이션으로부터 직접 받은 정보가 일치하는지를 확인한다(S24). Then, the application server 40 confirms whether the app information from the user terminal 10 matches the information directly received from the application at the time of the service request (S24).

만약, 두 정보가 불일치한 경우(S24에서 "아니오") 응용 서버(40)의 앱 인증 검증 모듈 클라이언트부(50)는 상기 애플리케이션이 위/변조되었다고 판단하고 사용자 단말(10)에게로 검증 실패 정보를 보내게 된다(S26). 사용자 단말(10)는 검증 실패 정보를 수신한다(S28). 여기서, 이와 같은 응용 서버(40)에서의 앱 정보 검증은 애플리케이션이 사용자 단말(10)에 알려주는 정보와 실제 애플리케이션에서 사용하는 정보가 다를 경우를 확인하는 것으로 이에 대한 검증을 수행할 지는 선택사항이다. 즉, 응용 서버(40)에서의 앱 정보에 대한 일치 여부 확인 없이 바로 애플리케이션 이미지에 대한 검증 단계로 넘어갈 수 있다.If the two pieces of information do not coincide with each other (S24: NO), the application authentication module client unit 50 of the application server 40 determines that the application has been tampered with or tampered with, (S26). The user terminal 10 receives the verification failure information (S28). Here, the verification of the application information in the application server 40 is performed by verifying the case where the information notified by the application to the user terminal 10 is different from the information used by the actual application, and it is optional to perform the verification . That is, the application server 40 can directly go to the verification step for the application image without checking whether the application information matches with the application information.

앱 정보가 일치한 경우(S24에서 "예") 앱 인증 검증 모듈 클라이언트부(50)와 앱 인증 검증 모듈 서버부(20)는 사용자 단말(10)에서 동작하는 애플리케이션이 실제 서비스 제공자가 작성한 애플리케이션인지를 판단하기 위해 사용할 알고리즘에 대한 협상을 수행한다(S30, S32). 이는 애플리케이션 코드에 대한 이미지의 해쉬값을 계산하기 위해 사용할 알고리즘을 정의하는 단계이다. 만약, 응용 서버(40)가 정적으로 계산된 애플리케이션에 대한 해쉬값을 사용하는 것을 허락한다면, 상기 협상 과정을 통해 앱 인증 검증 모듈 서버부(20)는 앱 인증 정보 생성부(22)에서 해당 애플리케이션에 대한 해쉬값을 만들 때 사용한 알고리즘 정보를 응용 서버(40)로 전송할 것이다. 응용 서버(40)가 동적으로 협상된 알고리즘을 가지고 애플리케이션에 대한 해쉬값을 계산하길 원하고 이를 사용자 단말(10)의 앱 인증 검증 모듈 서버부(20)가 지원한다면(이를 위해서는 앱 인증 데이터가 해당 애플리케이션의 코드 또는 코드의 레퍼런스(reference)를 포함해야 한다.) 사용자 단말(10)과 응용 서버(40)에서 지원되는 알고리즘 중 현재 사용할 알고리즘 협상이 수행된다. If the application information matches (YES in S24), the application authentication verification module client unit 50 and the application authentication verification module server unit 20 determine whether the application operating in the user terminal 10 is an application created by the actual service provider (S30, S32). This is the step of defining the algorithm to use to calculate the hash value of the image for the application code. If the application server 40 permits the use of the hash value for the statically calculated application, the application authentication verification module server unit 20, through the negotiation process, To the application server 40, the algorithm information used to generate the hash value for the hash value. If the application server 40 wishes to calculate a hash value for the application with a dynamically negotiated algorithm and the application authentication module server 20 of the user terminal 10 supports it The application code or code reference must be included). Algorithm negotiation is currently performed among the algorithms supported by the user terminal 10 and the application server 40.

이와 같이 사용할 알고리즘에 대한 협상이 끝난 경우, 사용자 단말(10) 및 응용 서버(40)는 협상에 의해 결정된 알고리즘을 이용하여 애플리케이션에 대한 해쉬값을 각자 계산한다(S34, S38). 물론, 사용자 단말(10) 및 응용 서버(40)는 협상 결과에 따라 기계산된 값을 사용할 수 있다. When the negotiation for the algorithm to be used is completed, the user terminal 10 and the application server 40 respectively calculate the hash value for the application using the algorithm determined by negotiation (S34, S38). Of course, the user terminal 10 and the application server 40 can use the previously calculated value according to the negotiation result.

그리고 나서, 사용자 단말(10) 및 응용 서버(40)는 각자 계산된 해쉬값을 서로 교환한다(S36, S40). 본 발명의 실시예에서는 각자 계산된 해쉬값을 서로 교환하는 것으로 하였으나, 사용자 단말(10)에서 응용 서버(40)에게로 또는 응용 서버(40)에서 사용자 단말(10)에게로 단방향성으로 이루어질 수 있다. 이에 대한 비교 역시 사용자 단말(10) 또는 응용 서버(40) 한 곳에서 수행될 수 있다. 이 경우 검증 성공 여부가 상대방에게로 전송될 것이다. Then, the user terminal 10 and the application server 40 mutually exchange the calculated hash values (S36, S40). In the embodiment of the present invention, the calculated hash values are mutually exchanged. However, the hash values may be unidirectionally transmitted from the user terminal 10 to the application server 40 or from the application server 40 to the user terminal 10 have. This comparison can also be performed in the user terminal 10 or in one application server 40. In this case, the verification success will be sent to the other party.

이때, 두 값이 일치하면(S42에서 "예") 해당 애플리케이션이 응용 서버(40)에서 정상적으로 배포된 것으로 판단할 수 있으므로, 응용 서버(40)의 앱 인증 검증 모듈 클라이언트부(50)는 상기 서비스 요청을 응용 서비스 로직에 전달한다(S44). 반대로, 두 값이 일치하지 않는 경우(S42에서 "아니오") 응용 서버(40)의 앱 인증 검증 모듈 클라이언트부(50)는 사용자 단말(10)에서 동작 중인 애플리케이션이 위/변조된 것으로 판단한다. 애플리케이션이 위/변조된 것으로 판단된 경우 응용 서버(40)는 정책에 따라 서비스 요청을 거부하거나 서비스 이용에 제한을 둘 수 있다. At this time, if the two values match (YES in S42), it can be determined that the application is normally distributed in the application server 40, so that the application authentication module client part 50 of the application server 40 And transmits the request to the application service logic (S44). Conversely, when the two values do not match ("NO" in S42), the application authentication module client unit 50 of the application server 40 judges that the application running on the user terminal 10 is up / modulated. If it is determined that the application is up / modulated, the application server 40 may deny the service request or restrict the use of the service according to the policy.

한편, 사용자 단말(10)에서 두 값의 비교 결과 두 값이 일치하면(S46에서 "예") 해당 애플리케이션이 응용 서버(40)에서 정상적으로 배포된 것으로 판단할 수 있으므로, 사용자 단말(10)은 해당 애플리케이션에 대한 검증을 성공한 것으로 한다(S48). 반대로, 사용자 단말(10)에서 두 값의 비교 결과 두 값이 일치하지 않으면(S46에서 "아니오") 사용자 단말(10)은 애플리케이션이 위/변조된 것으로 판단하고 이를 사용자에게 알려준다.
On the other hand, when two values of the comparison result of the two values in the user terminal 10 coincide with each other (YES in S46), it is determined that the application is normally distributed in the application server 40, It is determined that the verification of the application is successful (S48). Conversely, if the two values of the comparison result in the user terminal 10 do not match (NO in S46), the user terminal 10 judges that the application is up / modulated and informs the user of the fact.

상술한 도 1과 도 2는 서비스 이용 시점, 더욱 상세하게는 응용 서버(40)를 통한 서비스 이용 시점에 애플리케이션의 위/변조 여부를 판단하는 방법을 설명한다. 그러나, 위/변조된 애플리케이션이 피싱(phishing)과 같은 역할을 수행할 경우 해당 응용 서버(40)로 요청이 수행되지 않을 수 있다. 이 경우, 도 1 및 도 2를 통해 상술한 방법으로는 애플리케이션의 위/변조 여부를 확인할 수 없다. 따라서, 사용자의 피해를 막기 위해서는 애플리케이션 자체에 대한 인증 역시 필요하다. 이를 위해서는 공인된 인증기관으로부터 인증서를 발급받은 후, 해당 인증서 정보와 실제 애플리케이션이 일치하는가를 비교하여 판별할 수 있다. 그러나, 수많은 애플리케이션이 개발되는 환경에서 공인된 인증기관이 각 애플리케이션에 대한 인증서를 발행하는 데에는 많은 시간이 소요될 것이다. 특히, 공인된 인증 기관의 경우 단순히 애플리케이션의 무결성 체크를 수행하기 위한 인증서를 발급하더라도 악성 애플리케이션에 대한 무결성 인증서를 발급할 경우 발생할 수 있는 신뢰도의 하락으로 인해 무결성 검증 인증서를 쉽게 발행할 수 없을 수 있다. 따라서, 단순히 위/변조 검증을 수행함으로써 빠르게 적용할 수 있는 별도의 방법이 필요할 수 있다고 여겨진다. 특히 금융과 관련된 서비스 제공자의 입장에서는 공인 인증기관을 통한 인증서 발급이 되지 않더라도 이를 보완할 수 있는 방법이 필요할 수 있다. FIG. 1 and FIG. 2 describe a method for determining whether the application is up / modulated at the time of using the service, more specifically, at the time of using the service through the application server 40. FIG. However, when the up / modulated application acts as phishing, the request may not be made to the application server 40. In this case, it is impossible to confirm whether the application is up / modulated by the method described above with reference to FIG. 1 and FIG. Therefore, authentication of the application itself is also required to prevent damage to the user. In this case, after issuing the certificate from the authorized certificate authority, it is possible to compare the certificate information with the actual application to determine whether the certificate matches. However, in an environment where numerous applications are being developed, it will take a long time for an accredited certification authority to issue a certificate for each application. In particular, in the case of an authorized certification authority, even if issuing a certificate for performing an integrity check of an application, the integrity verification certificate may not be easily issued due to a decrease in reliability that may occur when issuing an integrity certificate for a malicious application . Therefore, it may be necessary to have a separate method that can be applied quickly by simply performing up-modulation verification. In particular, for financial service providers, there is a need for a method that can complement the issuance of a certificate even though it can not be issued by an accredited certification authority.

도 3은 상기 문제를 해결하기 위한 방법으로서 사용자 단말에 애플리케이션을 설치 또는 업데이트시, 그 애플리케이션과 관련된 응용 서버 또는 응용 서버들로부터 무결성 검증을 위탁받은 대행 서버와의 연동을 통해 애플리케이션에 대한 무결성 검증을 수행하기 위패 필요한 시스템의 기본 구성을 나타낸다.FIG. 3 is a method for solving the above problem. When installing or updating an application in a user terminal, integrity verification is performed for an application through interworking with an agent server that is subjected to integrity verification from an application server or application servers related to the application. It represents the basic configuration of the system that needs to be executed.

도 3에서 볼 수 있는 것과 같이, 사용자 단말(70)에 애플리케이션 설치 또는 업데이트(update) 시 사용자 단말(70)에 의한 애플리케이션 무결성 검증을 수행하기 위해서는 사용자 단말(70)과 응용 서버 또는 응용 서버로부터 무결성 검증을 위탁 받은 대행 서버(100)에 이를 수행하기 위한 모듈이 존재해야 한다. 편의상 사용자 단말(70)에 있는 해당 모듈을 앱 무결성 검증 모듈 클라이언트부(80)라고 하고, 응용 서버 또는 대행 서버(100)에 있는 상기 모듈을 앱 무결성 검증 모듈 서버부(110)로 표현한다. 3, in order to perform application integrity verification by the user terminal 70 when installing or updating an application on the user terminal 70, it is necessary to verify integrity from the user terminal 70 and the application server or application server There is a module for performing this in the proxy server 100 that has been verified. For convenience, the module in the user terminal 70 is referred to as an application integrity verification module client unit 80, and the module in the application server or the proxy server 100 is represented by the application integrity verification module server unit 110.

사용자 단말(70)의 앱 무결성 검증 모듈 클라이언트부(80)는 사용자 단말(70) 내부에 시스템 소프트웨어 또는 OS의 부가 기능으로서 동작할 수 있다. The application integrity verification module client unit 80 of the user terminal 70 can operate as an additional function of the system software or the OS inside the user terminal 70. [

앱 무결성 검증 모듈 클라이언트부(80)는 앱 인증 정보 생성부(82), 앱 인증 데이터 DB(84), 및 앱 무결성 확인부(86)를 포함한다. The application integrity verification module client section 80 includes an application authentication information generation section 82, an application authentication data DB 84, and an application integrity verification section 86.

앱 인증 정보 생성부(82)는 새로운 애플리케이션의 설치 또는 업데이트 시점에 해당 애플리케이션의 기본 정보와 함께 애플리케이션의 무결성 검증 시 필요한 데이터를 생성한다. 앱 인증 정보 생성부(82)는 생성한 기본 정보 및 데이터를 앱 인증 데이터 DB(84)에 저장한다. 여기서, 애플리케이션의 기본 정보는 사용자 단말(70)에서 관리되는 해당 애플리케이션의 식별자 및 그 애플리케이션과 함께 제공되는 해당 애플리케이션의 무결성 검증 정보를 포함할 수 있다. 그 무결성 검증 정보는 도 4에서 자세히 설명하기로 한다. 그리고, 무결성 검증 시 사용할 데이터는 상기 애플리케이션 코드에 대한 해쉬값 생성 알고리즘(해쉬 알고리즘) 및 계산된 해쉬값을 포함할 수 있다. The application authentication information generating unit 82 generates basic data of the application at the time of installing or updating the new application and data necessary for the integrity verification of the application. The app authentication information generating unit 82 stores the generated basic information and data in the app authentication data DB 84. [ Here, the basic information of the application may include an identifier of the corresponding application managed by the user terminal 70 and integrity verification information of the application provided with the application. The integrity verification information will be described in detail in FIG. The data to be used in the integrity verification may include a hash value generation algorithm (hash algorithm) for the application code and a calculated hash value.

앱 무결성 확인부(86)는 애플리케이션 설치 또는 업데이트(update) 시 무결성 검증 대행 서버 또는 응용 서버(100)의 앱 무결성 검증 모듈 서버부(110)와 연동하여 무결성 검증을 수행한다. 즉, 앱 무결성 확인부(86)는 애플리케이션의 설치 또는 업데이트시, 앱 인증 정보 생성부(82)로부터의 기본 정보 및 데이터를 근거로 응용 서버 또는 대행서버(100)와의 연동을 통해 해당 애플리케이션에 대한 무결성 검증을 수행한다. 이를 위한 방법은 도 5에서 보다 자세히 설명하기로 한다. The application integrity verification unit 86 performs integrity verification in conjunction with the integrity verification proxy server or the application integrity verification module server unit 110 of the application server 100 when the application is installed or updated. That is, at the time of installing or updating the application, the application integrity verifying unit 86 interlocks with the application server or the proxy server 100 based on the basic information and data from the application authentication information generating unit 82, Perform integrity verification. A method for this will be described in more detail with reference to FIG.

도 3에서, 응용 서버 또는 무결성 검증 대행 서버(100)는 앱 무결성 검증 모듈 서버부(110) 및 앱 데이터 DB(120)를 포함한다.3, an application server or an integrity verification proxy server 100 includes an application integrity verification module server unit 110 and an application data DB 120. [

앱 무결성 검증 모듈 서버부(110)는 네트워크(90)를 통해 사용자 단말(70)의 앱 무결성 확인부(86)와의 연동에 의해 애플리케이션에 대한 무결성 검증을 수행한다.The application integrity verification module server unit 110 performs integrity verification on the application by interworking with the application integrity verification unit 86 of the user terminal 70 through the network 90. [

앱 데이터 DB(120)는 애플리케이션 무결성 검증을 위해 사용될 데이터를 저장한다. 여기서, 애플리케이션 무결성 검증을 위해 사용될 데이터는 해당 응용 서버 또는 대행 서버(100)들에서 배포한 애플리케이션들에 대한 무결성 검증 정보 및 각 버전(version) 별로 애플리케이션 코드 자체를 포함한다. 앱 데이터 DB(120)에 저장되는 데이터는 앱 무결성 검증 모듈 서버부(110)에 의해 관리될 수 있다.
The app data DB 120 stores data to be used for application integrity verification. Here, the data to be used for application integrity verification includes integrity verification information for applications distributed by the application server 100 or the proxy servers 100, and application code itself for each version. The data stored in the app data DB 120 may be managed by the app integrity verification module server unit 110.

상술한 도 1 및 도 2를 통해 설명된 검증 장치와 방법과 도 3 이하를 통해 설명되는 검증 장치와 방법이 동시에 사용될 수 있으므로, 약간의 수정으로 공통으로 사용될 수 있는 세부 모듈의 경우 모듈 이름을 도 1과 같게 표기하였다. 예를 들어, 도 1의 앱 인증 검증 모듈 서버부(20)와 도 3의 앱 무결성 검증 모듈 클라이언트부(80)가 사용자 단말에 함께 구성되고, 도 1의 앱 인증 검증 모듈 클라이언트부(50)와 도 3의 앱 무결성 검증 모듈 서버부(110)가 응용 서버에 함께 구성될 수도 있다.
Since the verifying apparatus and method described above with reference to FIGS. 1 and 2 and the verifying apparatus and method described with reference to FIG. 3 can be used at the same time, in the case of a detailed module that can be used in common with slight modifications, 1, respectively. For example, the application authentication verification module server unit 20 of FIG. 1 and the application integrity verification module client unit 80 of FIG. 3 are configured together in a user terminal, and the application authentication verification module client unit 50 The application integrity verification module server unit 110 of FIG. 3 may be configured together with the application server.

도 4는 도 3의 설명에 채용되는 무결성 검증 정보의 일 예를 나타낸 도면으로서, 애플리케이션 배포 시 첨부되는 무결성 검증 정보의 일 예를 보여준다. FIG. 4 is a diagram showing an example of integrity verification information employed in the description of FIG. 3, and shows an example of integrity verification information attached at the time of application distribution.

서비스가 적용되기 위해서는 이와 같은 무결성 검증 정보가 표준화되어 일괄적으로 사용될 수 있어야 한다. 예를 들어, 안드로이드에 배포되는 애플리케이션의 경우 애플리케이션 배포시 포함되는 manifest.xml 파일이 무결성 검증 정보를 포함시킬 수 있다.In order for the service to be applied, such integrity verification information should be standardized and used in a batch. For example, for applications deployed on Android, the manifest.xml file included in the application deployment can include integrity verification information.

무결성 검증 정보는 도 4에 예시한 바와 같이 앱 타입(app type), 앱(app) 식별자 1, 앱(app) 식별자 2, 앱 버전(app version) 정보를 포함할 수 있다. 여기서, 앱 타입(App type)과 앱(app) 식별자들은 애플리케이션에 대한 무결성 검증을 위하여 접속해야 할 응용 서버 및 대행 서버(100)의 위치를 알기 위해 사용하는 것으로서, 사용자가 인식할 수 있는 값으로 설정되어야 한다. 예를 들어, 도 4에 예시된 바와 같이 무결성 검증 정보는 사용자가 해당 애플리케이션의 용도를 확인할 수 있고, 접속해야 할 서버의 정보를 쉽게 찾을 수 있는 조건을 만족하면 된다.
The integrity verification information may include an app type, an app identifier 1, an app identifier 2, and an app version information as illustrated in FIG. Here, the app type and the app identifiers are used to know the location of the application server and the proxy server 100 to be connected to verify the integrity of the application, Should be set. For example, as illustrated in FIG. 4, the integrity verification information may satisfy the condition that the user can confirm the purpose of the application and easily find the information of the server to be connected.

도 5는 본 발명의 다른 실시예에 따른 모바일 단말용 애플리케이션 검증장치에 의한 애플리케이션 무결성 검증 과정을 설명하는 플로우차트로서, 애플리케이션의 설치 및 업데이트(update) 시점에 애플리케이션의 무결성을 검증하기 위한 방법을 나타낸다. 5 is a flowchart illustrating an application integrity verification process performed by an application verification device for a mobile terminal according to another embodiment of the present invention, and shows a method for verifying the integrity of an application at the time of application installation and update .

사용자 단말(70)이 애플리케이션을 설치하려고 할 때, 해당 정보는 그 사용자 단말(70)의 앱 무결성 검증 모듈 클라이언트부(80)의 앱 무결성 확인부(86)에게로 전달된다. When the user terminal 70 tries to install the application, the information is transmitted to the application integrity verification unit 86 of the application integrity verification module client unit 80 of the user terminal 70.

그에 따라, 앱 무결성 확인부(86)는 애플리케이션 설치 시 배포되는 정보에 무결성 검증 정보가 존재하는지를 확인한다(S60). Accordingly, the application integrity verifying unit 86 confirms whether integrity verification information exists in the information distributed when the application is installed (S60).

만약, 무결성 검증 정보가 없으면(S60에서 "아니오") 검증 실패로 간주하고 검증을 종료한다(S62). If there is no integrity verification information ("NO" in S60), it is regarded as verification failure and verification ends (S62).

반대로, 무결성 검증 정보가 존재하는 경우(S60에서 "예") 앱 무결성 확인부(86)는 그 무결성 검증 정보가 유효한지를 확인한다(S64). 이는 그 무결성 검증 정보와 연결된 응용 서버 및 대행 서버(100)가 존재하는지를 확인함으로써 수행 가능하다. 이를 위해서, 사용자 단말(70)의 앱 무결성 확인부(86)는 각 응용서버와 연결되는 검증 정보의 리스트를 알아야 한다. 무결성 검증 정보를 제공하는 서비스가 많아질 경우, 사용자 단말(70)이 관리해야 하는 데이터가 많아진다. 이와 같은 경우에는 상기 정보를 관리해 주는 대행 서버를 고려할 수 있다. 이 경우 사용자 단말(70)은 대행 서버(100)의 리스트를 간직하고 상기 대행 서버(100)들로 유효성 여부를 문의할 수 있다. On the other hand, if the integrity verification information exists (YES in S60), the application integrity verifying unit 86 confirms whether the integrity verification information is valid (S64). This can be performed by checking whether the application server and the proxy server 100 are connected to the integrity verification information. To this end, the application integrity checking unit 86 of the user terminal 70 needs to know the list of verification information to be connected to each application server. When the number of services providing integrity verification information increases, data to be managed by the user terminal 70 increases. In such a case, a proxy server for managing the information may be considered. In this case, the user terminal 70 may keep a list of the proxy servers 100 and inquire of the proxy servers 100 about validity.

만약, 그 무결성 검증 정보가 유효하지 않다면(S64에서 "아니오") 검증을 종료한다. 반대로, 그 무결성 검증 정보가 유효하다고 판단된 경우(S64에서 "예")에는 앱 무결성 확인부(86)는 그 무결성 검증 정보를 사용자로부터 확인하는 작업을 수행한다(S66). 즉, 도 4와 같은 정보를 갖는 애플리케이션을 사용자 단말(70)에 설치한다고 가정하였을 경우, 설치시 사용자에게 금융 서비스를 위해 우리은행에서 제공하는 모바일 뱅킹 서비스를 설치하려고 하는 것이 맞는지를 확인하는 절차를 수행한다. 이는 악의적 작성자에 의해 검증 정보가 변경된 경우를 대비하기 위해서이다. If the integrity verification information is not valid (No at S64), the verification is terminated. On the other hand, if it is determined that the integrity verification information is valid (Yes in S64), the application integrity verifying unit 86 confirms the integrity verification information from the user (S66). That is, when it is assumed that an application having information as shown in FIG. 4 is installed in the user terminal 70, a procedure for confirming whether or not the user intends to install a mobile banking service provided by Woori Bank for financial services . This is to prepare for the case where the verification information is changed by the malicious author.

만약, 사용자가 설치하고자 한 애플리케이션과 무결성 검증 정보가 다를 경우(S66에서 "실패")에는 검증 실패로 간주하고 검증을 종료한다. If the application to be installed by the user is different from the integrity verification information ("failure" in S66), it is regarded as a verification failure and the verification is terminated.

반대로, 사용자로부터의 정보 확인이 성공한 경우(S66에서 "성공), 사용자 단말(70)의 앱 무결성 확인부(86)는 응용 또는 대행 서버(100)의 앱 무결성 검증 모듈 서버부(110)와의 연동을 통해 앱 무결성 검증을 위한 해쉬값 형성을 위해 사용할 알고리즘을 협상한다(S68). 도 5에서는 응용 또는 대행 서버(100)의 앱 무결성 검증 모듈 서버부(110)와의 연동 과정에 대해서는 생략하였다. On the contrary, if the information confirmation from the user is successful ("Successful " in S66), the application integrity verification unit 86 of the user terminal 70 interlocks with the application integrity verification module server unit 110 of the application or proxy server 100 (S68). In FIG. 5, the process of interworking with the application integrity verification module server unit 110 of the application or proxy server 100 is omitted.

이와 같이 사용할 알고리즘에 대한 협상이 끝난 경우, 사용자 단말(70) 및 응용 서버 또는 대행 서버(100)는 협상에 의해 결정된 알고리즘을 이용하여 애플리케이션에 대한 해쉬값을 각자 계산한다(S70). 그리고 나서, 사용자 단말(70) 및 응용 서버 또는 대행 서버(100)는 각자 계산한 해쉬값을 서로 교환한다.When the negotiation for the algorithm to be used is completed, the user terminal 70 and the application server or the proxy server 100 each calculate the hash value for the application using the algorithm determined by the negotiation (S70). Then, the user terminal 70 and the application server or the proxy server 100 exchange their calculated hash values with each other.

이어, 사용자 단말(70)의 앱 무결성 확인부(86)는 응용 서버 또는 대행 서버(100)의 앱 무결성 검증 모듈 서버부(110)와의 연동을 통해 상기 값이 올바른가를 확인한다(S72). Next, the application integrity verifying unit 86 of the user terminal 70 confirms whether the value is correct by interlocking with the application integrity verification module server unit 110 of the application server 100 or the proxy server 100 (S72).

해당 값이 올바르다면, 즉 사용자 단말(70)측에서의 해쉬값과 응용 서버 또는 대행 서버(100)측에서의 해쉬값이 서로 일치하면(S72에서 "예"), 해당 애플리케이션이 위변조되지 않았다는 것을 검증한 것이므로, 앱 무결성 확인부(86)는 상기 값을 앱 인증 데이터 DB(84)에 저장하고(S74) 사용자에게 통보한다(S76). 물론, 응용 서버 또는 대행 서버(100)의 앱 무결성 검증 모듈 서버부(110)는 상기 두 값이 일치하면 해당 애플리케이션이 무결성하다는 것으로 판단한다.If the corresponding value is correct, that is, if the hash value at the user terminal 70 side matches the hash value at the application server or proxy server 100 side (YES at S72), it is verified that the corresponding application has not been tampered with. The application integrity verifying unit 86 stores the value in the app authentication data DB 84 (S74) and notifies the user (S76). Of course, the application integrity verification module server unit 110 of the application server or the proxy server 100 determines that the corresponding application is integrity if the two values match.

반대로, 두 값이 다르다면(S72에서 "아니오") 위/변조된 애플리케이션이므로 앱 무결성 확인부(86)는 상기 사실을 사용자에게 통보한다. 물론, 응용 서버 또는 대행 서버(100)의 앱 무결성 검증 모듈 서버부(110)는 상기 두 값이 일치하지 않으면 해당 애플리케이션이 위/변조된 것으로 판단한다.On the contrary, if the two values are different ("NO" in S72), the application integrity verifying unit 86 notifies the user of the fact that the application is an up / modulated application. Of course, the application integrity verification module server unit 110 of the application server or the proxy server 100 determines that the application is up / modulated if the two values do not match.

무결성 검증이 실패한 애플리케이션의 경우는 사용자 단말(70)의 보안 정책 및 실패 단계에 따라 설치 중지 또는 설치 후 애플리케이션의 권한과 상관없이 사용을 제한할 수 있다. 또한, 무결성 검증 성공 및 실패 정보는 검증 종료 시 사용자에게 통보될 수도 있다. 검증 후 성공한 애플리케이션에 대해서는 애플리케이션 주위에 박스(box)를 표기하는 방식 또는 애플리케이션 아이콘 주위에 색을 다르게 하는 방식 등을 통해 사용자가 항시 검증 여부를 판단할 수 있게 하여도 된다. 이는 애플리케이션 이용에 주의를 기울일 수 있게 도움을 준다. 또한, 상기와 같이 무결성 검증을 성공한 애플리케이션들에 대해서는 실행 시점에 설치 시 생성/계산된 값과의 일치 여부를 확인함으로써 주기적인 무결성 체크를 수행할 수 있다. In the case of an application in which the integrity verification has failed, the use of the application can be restricted regardless of the privilege of the application after the installation suspension or installation according to the security policy and the failure level of the user terminal 70. [ Also, the integrity verification success and failure information may be notified to the user at the end of verification. For a successful application after verification, the user may be able to determine whether or not to always verify by displaying a box around the application or changing the color around the application icon. This will help you pay attention to your application. In addition, it is possible to perform a periodic integrity check by confirming whether the integrity verification is successful or not in accordance with the values generated and calculated at the time of execution at the time of execution.

사용자 단말(70)은 상기 진술한 애플리케이션 설치 시점의 위/변조 검증과 애플리케이션 이용 시점의 위/변조 검증 중 하나만을 수행할 수도 있고, 이들 모두를 수행할 수도 있다. 모두를 수행하는 경우에 있어서, 애플리케이션 이용 시점의 위/변조 검증은 애플리케이션 설치 시점의 위/변조 검증 수행 결과를 활용할 수 있으며, 두 기능은 세부 기능들 중 일부를 공통으로 사용할 수 있다.
The user terminal 70 may perform only one of the above-mentioned up / modulation verification of the application installation time and the up / modulation verification of the application use time, or both of them. In the case of performing both, the up / modulation verification of the application usage point can utilize the result of performing up / modulation verification at the time of application installation, and both functions can use some of the detailed functions in common.

한편, 본 발명은 상술한 실시예로만 한정되는 것이 아니라 본 발명의 요지를 벗어나지 않는 범위내에서 수정 및 변형하여 실시할 수 있고, 그러한 수정 및 변형이 가해진 기술사상 역시 이하의 특허청구범위에 속하는 것으로 보아야 한다.While the present invention has been described in connection with what is presently considered to be practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims. You must see.

10, 70 : 사용자 단말 20 : 앱 인증 검증 모듈 서버부
22, 82 : 앱 인증 정보 생성부 24, 84 : 앱 인증 데이터 DB
26 : 앱 네트워크 사용 정보 관리부 28 : 앱 인증 요청 처리부
30, 90 : 네트워크 40 : 응용 서버
50 : 앱 인증 검증 모듈 클라이언트부
60, 120 : 앱 데이터 DB
80 : 앱 무결성 검증 모듈 클라이언트부
86 : 앱 무결성 확인부
100 : 무결성 검증 대행 서버/응용 서버
110 : 앱 무결성 검증 모듈 서버부
10, 70: user terminal 20: app authentication authentication module server section
22, 82: App authentication information generation unit 24, 84: App authentication data DB
26: App network use information management unit 28: App authentication request processing unit
30, 90: network 40: application server
50: App authentication authentication module client part
60, 120: App data DB
80: App Integrity Verification Module Client
86: App Integrity Verification Unit
100: Integrity verification proxy server / application server
110: App Integrity Verification Module Server Section

Claims (1)

애플리케이션의 설치 시점 및 실행에 의한 서비스 이용 시점에, 상기 애플리케이션의 기본 정보 및 상기 애플리케이션의 위/변조 검증시 사용할 데이터를 생성하는 앱 인증 정보 생성부;
상기 앱 인증 정보 생성부에서 생성된 상기 애플리케이션의 기본 정보 및 상기 애플리케이션의 위/변조 검증시 사용할 데이터를 저장하는 앱 인증 데이터 DB;
상기 애플리케이션에서 네트워크를 이용함에 따라 상기 네트워크에 대한 정보를 관리하고, 응용 서버로부터 수신받은 인증 요청에 해당하는 애플리케이션을 인지하는 앱 네트워크 사용 정보 관리부; 및
상기 앱 네트워크 사용 정보 관리부에서 인지한 상기 인증 요청에 해당하는 애플리케이션에 대한 위/변조 검증을 상기 앱 인증 데이터 DB 및 상기 응용 서버와의 연동을 통해 수행하는 앱 인증 요청 처리부;를 포함하는 것을 특징으로 하는 모바일 단말용 애플리케이션 검증 장치.
An app authentication information generating unit for generating basic information of the application and data to be used when verifying the application is tampered with when the application is installed and when the service is used by execution;
An app authentication data DB for storing basic information of the application generated by the app authentication information generating unit and data to be used in verifying the up /
An application network usage information management unit for managing information on the network by using the network in the application and recognizing an application corresponding to an authentication request received from the application server; And
And an app authentication request processing unit that performs up / modulation verification of an application corresponding to the authentication request, which is recognized by the app network usage information management unit, through the application authentication data DB and the application server in cooperation with each other. The application verifying device for the mobile terminal.
KR1020130021260A 2013-02-27 2013-02-27 Apparatus for application for mobile terminal KR20140106940A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130021260A KR20140106940A (en) 2013-02-27 2013-02-27 Apparatus for application for mobile terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130021260A KR20140106940A (en) 2013-02-27 2013-02-27 Apparatus for application for mobile terminal

Publications (1)

Publication Number Publication Date
KR20140106940A true KR20140106940A (en) 2014-09-04

Family

ID=51755041

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130021260A KR20140106940A (en) 2013-02-27 2013-02-27 Apparatus for application for mobile terminal

Country Status (1)

Country Link
KR (1) KR20140106940A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101537205B1 (en) * 2014-10-20 2015-07-16 숭실대학교산학협력단 User Terminal to Detect the Tampering of the Applications Using Hash Value and Method for Tamper Detection Using the Same
WO2016126090A1 (en) * 2015-02-02 2016-08-11 대한민국(관리부서:행정자치부 국립과학수사연구원장) System and method for prooving digital file tampering by using smart phone, smart phone having smart phone screen capture image authentication function, and method for authenticating smart phone screen capture image
US11308238B2 (en) 2018-11-28 2022-04-19 Samsung Electronics Co., Ltd. Server and method for identifying integrity of application

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101537205B1 (en) * 2014-10-20 2015-07-16 숭실대학교산학협력단 User Terminal to Detect the Tampering of the Applications Using Hash Value and Method for Tamper Detection Using the Same
WO2016064041A1 (en) * 2014-10-20 2016-04-28 숭실대학교 산학협력단 User terminal using hash value to detect whether application program has been tampered and method for tamper detection using the user terminal
WO2016126090A1 (en) * 2015-02-02 2016-08-11 대한민국(관리부서:행정자치부 국립과학수사연구원장) System and method for prooving digital file tampering by using smart phone, smart phone having smart phone screen capture image authentication function, and method for authenticating smart phone screen capture image
US11308238B2 (en) 2018-11-28 2022-04-19 Samsung Electronics Co., Ltd. Server and method for identifying integrity of application

Similar Documents

Publication Publication Date Title
JP7457173B2 (en) Internet of Things (IOT) device management
KR102181600B1 (en) Method for sso service through blockchain, and terminal and server using the same
JP6092998B2 (en) System and method for enhancing transaction security
EP3429243B1 (en) Remote management method and device
RU2364049C2 (en) Application authentification method
US9867043B2 (en) Secure device service enrollment
KR101819102B1 (en) Method of performing a secure application in an nfc device
TWI586137B (en) Methods and apparatus for storage and execution of access control clients
EP2063378B1 (en) Telecommunications device security
US20080003980A1 (en) Subsidy-controlled handset device via a sim card using asymmetric verification and method thereof
EP3061027A1 (en) Verifying the security of a remote server
CN104221347A (en) Methods and apparatus for large scale distribution of electronic access clients
US8751811B2 (en) Integrated circuit and system for installing computer code thereon
EP3293656A1 (en) Method for controlling access to a trusted application in a terminal
CN110326266A (en) A kind of method and device of data processing
US20030059049A1 (en) Method and apparatus for secure mobile transaction
CN108604990A (en) The application method and device of local authorized certificate in terminal
CN104821951B (en) A kind of method and apparatus of secure communication
EP3048553B1 (en) Method for distributing applets, and entities for distributing applets
US20210288811A1 (en) Electronic device for processing digital key, and operation method therefor
US10616262B2 (en) Automated and personalized protection system for mobile applications
KR20140106940A (en) Apparatus for application for mobile terminal
KR101879843B1 (en) Authentication mehtod and system using ip address and short message service
WO2016045042A1 (en) Method and device for managing content in secure element
KR20200062100A (en) Method for sso service through blockchain, and terminal and server using the same

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid