KR20170040945A - Web resource security method for hybrid application, and computer-readable recording medium with program for the same - Google Patents

Web resource security method for hybrid application, and computer-readable recording medium with program for the same Download PDF

Info

Publication number
KR20170040945A
KR20170040945A KR1020150140253A KR20150140253A KR20170040945A KR 20170040945 A KR20170040945 A KR 20170040945A KR 1020150140253 A KR1020150140253 A KR 1020150140253A KR 20150140253 A KR20150140253 A KR 20150140253A KR 20170040945 A KR20170040945 A KR 20170040945A
Authority
KR
South Korea
Prior art keywords
source information
information
rendering engine
unit
html
Prior art date
Application number
KR1020150140253A
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 KR1020150140253A priority Critical patent/KR20170040945A/en
Priority to PCT/KR2015/011076 priority patent/WO2017061654A1/en
Publication of KR20170040945A publication Critical patent/KR20170040945A/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
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/128Restricting unauthorised execution of programs involving web programs, i.e. using technology especially used in internet, generally interacting with a web browser, e.g. hypertext markup language [HTML], applets, java
    • G06F17/2247
    • 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/60Protecting data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Bioethics (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Storage Device Security (AREA)

Abstract

A web resource security method for a hybrid application including a web resource unit, a native plug-in unit, and an HTML rendering engine unit according to the present invention comprises the following steps of: storing encrypted source information in the web resource unit; and reading the encrypted source information corresponding to requested source information when a local web server included in the hybrid application is required for the source information stored in the web resource unit from the HTML rendering engine unit, and decrypting the read, encrypted source information to return the same to the HTML rendering engine unit. The local web server performs interface between the HTML rendering engine unit and the web resource unit, and the encrypted source information is a resource for constituting a web page.

Description

하이브리드 어플리케이션의 웹 리소스 보안방법 및 그에 따른 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체{Web resource security method for hybrid application, and computer-readable recording medium with program for the same}Technical Field [0001] The present invention relates to a Web resource security method for a hybrid application, and a computer readable recording medium storing a program for executing the method,

본 발명은 하이브리드 어플리케이션에 관한 것으로, 더욱 상세하게는 하이브리드 어플리케이션의 소스 정보를 암호화하여 암호화된 웹 리소스부에 저장하고, 로컬 웹 서버가 HTML(Hypertext Markup Language) 렌더링 엔진(웹 뷰)이 요청하는 암호화된 소스 정보만을 리드하여 복호화하여 HTML 렌더링 엔진으로 제공하여, 하이브리드 어플리케이션의 소스 정보를 루팅이나 탈옥으로부터 보호할 수 있는 하이브리드 어플리케이션의 웹 리소스 보안방법 및 그에 따른 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다. The present invention relates to a hybrid application, and more particularly, to a hybrid application, in which source information of a hybrid application is encrypted and stored in an encrypted web resource unit, and the local web server encrypts the encryption information requested by a Hypertext Markup Language (HTML) Readable and readable only by the source information and providing it to the HTML rendering engine so as to protect the source information of the hybrid application from routing or jailbreak. To a recording medium on which the recording medium can be recorded.

일반적으로 하이브리드 어플리케이션(App)은 웹 서비스를 모바일 앱에서 이용 가능하게 하는 것으로, 기존의 어플리케이션 및 OS 등을 포함하면서 정보 플랫폼으로 진화해가는 웹이 공존하는 방식이다. 이러한 하이브리드 어플리케이션은 콘텐츠를 여러 모바일 플랫폼에서 쓸 수 있는 모바일 웹 기반 구현방식과 모바일 기기의 고유한 특성을 극대화할 수 있는 모바일 어플리케이션 개발 방식을 절충한 것이다. In general, a hybrid application (App) makes a Web service available in a mobile application, and is a method of coexisting with a web that evolves into an information platform including an existing application and OS. These hybrid applications are a compromise between a mobile web-based implementation that allows content to be written across multiple mobile platforms and a mobile application development approach that maximizes the unique characteristics of mobile devices.

다시 말해 일반적인 어플리케이션 내부에 자바 스크립트, HTML5, CSS3 등의 웹 기술을 적용해 정보를 다루는 개발 방식을 도입한 것을 하이브리드 웹 또는 하이브리드 앱이라고 한다.In other words, it is called hybrid web or hybrid application that introduces a development method that deals with information by applying web technology such as JavaScript, HTML5, CSS3 inside general application.

상기와 같이 하이브리드 앱은 웹 기술을 통하여 내부 구조와 사용자 인터페이스를 구현하고, 카메라나 센서 조작 등의 모바일 기기의 고유 기능을 앱(App)으로 구현시켜 개발되는 어플리케이션으로서, 전반적인 데이터가 웹 상에 존재하기 때문에 웹과 동일하게 실시간 업데이트가 가능한 장점이 있으며, 웹에 대한 지식만으로도 관리가 가능하기 때문에 운영적인 측면에서도 매우 효율적인 장점이 있어 최근에 활용도가 증가하고 있는 상황이다.As described above, the hybrid application is an application developed by embodying an internal structure and a user interface through a web technology and implementing a unique function of a mobile device such as a camera or a sensor operation as an app, This is because it has the advantage of being able to update in real time on the same web as the web, and because it can be managed only by knowledge of the web, it is very efficient in terms of operation.

도 1은 종래의 하이브리드 어플리케이션의 구조를 도시한 것으로, 상기 하이브리드 어플리케이션(100)은 모바일 OS(200) 상에 구현된다. 상기 하이브리드 어플리케이션(100)은 HTML 렌더링 엔진(web view)(102)과 웹 리소스부(106)와 네이티브 플러그인부(104)로 구성되며, 상기 HTML 렌더링 엔진부(102)는 OS APIs(108)를 통해 모바일 OS(200)와 연결되며, HTML/JS APIs(110)를 통해 웹 리소스부(106)와 연결되며, 네이티브 APIs(112)를 통해 네이티브 플러그인부(104)와 연결된다. FIG. 1 shows a structure of a conventional hybrid application. The hybrid application 100 is implemented on a mobile OS 200. FIG. The hybrid application 100 includes an HTML rendering engine (web view) 102, a web resource unit 106, and a native plug-in unit 104. The HTML rendering engine unit 102 includes OS APIs 108 Is connected to the mobile OS 200 via the HTML / JS APIs 110 and is connected to the web resource unit 106 through the HTML / JS APIs 110 and is connected to the native plugin unit 104 through the native APIs 112.

상기 웹 리소스부(106)는 HTML 정보(116), javascript 정보(118), css 정보(120), 이미지 정보(122) 등의 소스 정보로 구성된다. The web resource unit 106 includes source information such as HTML information 116, javascript information 118, css information 120, and image information 122.

그리고 상기 네이티브 플러그인(104)은 모바일 기기의 기능을 실현하기 위한 기능부들로 구성된다. 이러한 네이티브 플러그인(104)은 OS APIs(114)를 통해 모바일 OS(200)와 연결된다. The native plug-in 104 is composed of functional units for realizing functions of a mobile device. This native plug-in 104 is connected to the mobile OS 200 via the OS APIs 114.

상기 모바일 OS(200)는 입력처리부(INPUT)(202)와 서비스 처리부(SERVICES)(204)와 그래픽 처리부(GRAPHICS)(206)와 센서처리부(SENSORS)(208) 등으로 구성된다. The mobile OS 200 includes an input processor 202, a service processor 204, a graphic processor 206 and a sensor processor 208.

상기한 하이브리드 어플리케이션은 웹 표준 기술에 따라 HTML/JS 인터페이스시 웹 리소스부의 소스정보를 평문으로 요구한다. 이에따라 상기 웹 리소스부에 저장되는 소스정보는 단말기의 저장공간에 저장될 때에도 평문 형태로 저장된다. 이에따라 악의적 사용자에 의한 루팅 또는 탈옥에 따라 상기 소스정보가 노출될 수 있는 문제가 있었다. The hybrid application requires the source information of the web resource part as a plain text in the HTML / JS interface according to the Web standard technology. Accordingly, the source information stored in the web resource unit is stored in a plain text form even when the source information is stored in the storage space of the terminal. Accordingly, there is a problem that the source information may be exposed due to routing or jailbreak by a malicious user.

좀더 설명하면, 상기 하이브리드 어플리케이션의 소스 정보에는 웹 접속을 위한 정보뿐만 아니라 금융 또는 결제 등과 같이 기밀이 유지되어야 하는 서비스를 위한 정보들도 포함된다. 그러나 상기한 바와 같이 하이브리드 어플리케이션은 단순한 루팅이나 탈옥만으로도 쉽게 노출됨에 따라 악의적 사용자로부터 소스정보를 보호할 수 없는 문제가 있었다. More specifically, the source information of the hybrid application includes not only information for web connection but also information for services that need to be kept confidential such as finance or payment. However, as described above, the hybrid application is easily exposed by simple routing or jailbreak, and thus the source information can not be protected from the malicious user.

대한민국 특허공개 제1020140017864호Korean Patent Publication No. 1020140017864 대한민국 특허공개 제1020140026815호Korean Patent Publication No. 1020140026815 대한민국 특허공개 제1020130017337호Korean Patent Publication No. 1020130017337 대한민국 특허공개 제1020130082810호Korean Patent Publication No. 1020130082810

본 발명은 하이브리드 어플리케이션의 소스 정보를 암호화하여 암호화된 웹 리소스부에 저장하고, 로컬 웹 서버가 HTML 렌더링 엔진(웹 뷰)이 요청하는 암호화된 소스 정보만을 리드하여 복호화하여 HTML 렌더링 엔진으로 제공하여, 하이브리드 어플리케이션의 소스 정보를 루팅이나 탈옥으로부터 보호할 수 있는 하이브리드 어플리케이션의 웹 리소스 보안방법 및 그에 따른 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 것을 그 목적으로 한다. The present invention stores encrypted source information of a hybrid application in an encrypted web resource unit, and the local web server reads and decrypts only the encrypted source information requested by the HTML rendering engine (web view) and provides it to the HTML rendering engine, It is an object of the present invention to provide a computer readable recording medium storing a program for executing a method of security of a web resource of a hybrid application capable of protecting source information of a hybrid application from routing or jailbreak and a method therefor.

상기한 목적을 달성하기 위한 본 발명에 따르는 웹 리소스부와 네이티브 플러그인부와 HTML 렌더링 엔진부를 포함하는 하이브리드 어플리케이션의 웹 리소스 보안방법은, 상기 웹 리소스부에 암호화된 소스정보를 저장하는 단계; 및 상기 하이브리드 어플리케이션에 포함되는 로컬 웹 서버가 상기 HTML 렌더링 엔진부로부터 상기 웹 리소스부에 저장된 소스정보를 요청받으면, 그 요청된 소스정보에 대응되는 암호화된 소스정보를 리드하고, 그 리드된 암호화된 소스정보를 복호화하여 상기 HTML 렌더링 엔진부로 반환하는 단계;를 구비하며, 상기 로컬 웹 서버가 상기 HTML 렌더링 엔진부와 상기 웹 리소스부 사이의 인터페이스를 이행하며, 상기 암호화된 소스정보는 웹 페이지를 구성하기 위한 리소스임을 특징으로 한다. According to another aspect of the present invention, there is provided a method of securing a web resource of a hybrid application including a web resource unit, a native plugin unit, and an HTML rendering engine unit, the method comprising: storing encrypted source information in the web resource unit; And when a local web server included in the hybrid application receives a request for source information stored in the web resource unit from the HTML rendering engine unit, it reads the encrypted source information corresponding to the requested source information, Decrypting the source information and returning the decoded source information to the HTML rendering engine unit, wherein the local web server implements an interface between the HTML rendering engine unit and the web resource unit, and the encrypted source information constitutes a web page And is a resource for doing so.

상기한 본 발명은 하이브리드 어플리케이션의 소스 정보를 평문으로만 보관하던 종래의 자료형태에서 벗어나, 상기 하이브리드 어플리케이션의 소스 정보를 암호화하여 암호화된 웹 리소스부에 저장하고, 로컬 웹 서버가 HTML 렌더링 엔진(웹 뷰)이 요청하는 암호화된 소스 정보만을 리드하여 복호화하여 HTML 렌더링 엔진으로 제공하고, 평문이 포함된 임시파일까지도 배제할 수 있게 하여, 하이브리드 어플리케이션의 소스 정보를 루팅이나 탈옥으로부터 보호할 수 있는 효과가 있다. The present invention differs from the conventional data format in which the source information of the hybrid application is stored only in plain text. The source information of the hybrid application is encrypted and stored in the encrypted web resource unit, It is possible to prevent the source information of the hybrid application from being routed or jailbreak by allowing only the encrypted source information requested by the view to be read and decoded to be provided to the HTML rendering engine and the temporary file including the plain text can be excluded have.

도 1은 종래 하이브리드 어플리케이션의 구조도.
도 2는 본 발명의 바람직한 실시예에 따른 하이브리드 어플리케이션의 구조도.
도 3 내지 도 5는 본 발명의 바람직한 실시예에 따른 하이브리드 어플리케이션의 로컬 웹 서버의 처리과정을 예시한 도면.
1 is a structural view of a conventional hybrid application.
2 is a structural view of a hybrid application according to a preferred embodiment of the present invention.
FIG. 3 through FIG. 5 illustrate processing of a local web server of a hybrid application according to a preferred embodiment of the present invention.

본 발명은 하이브리드 어플리케이션의 소스 정보를 암호화하여 암호화된 웹 리소스부에 저장하고, 로컬 웹 서버가 HTML 렌더링 엔진(웹 뷰)이 요청하는 암호화된 소스 정보만을 리드하여 복호화하여 HTML 렌더링 엔진으로 제공하여, 하이브리드 어플리케이션의 소스 정보를 루팅이나 탈옥으로부터 보호한다. The present invention stores encrypted source information of a hybrid application in an encrypted web resource unit, and the local web server reads and decrypts only the encrypted source information requested by the HTML rendering engine (web view) and provides it to the HTML rendering engine, Protects the source information of the hybrid application from routing or jailbreak.

이러한 본 발명의 하이브리드 어플리케이션의 웹 리소스 보안방법을 도면을 참조하여 상세히 설명한다. The Web resource security method of the hybrid application of the present invention will be described in detail with reference to the drawings.

<하이브리드 어플리케이션 구조><Hybrid Application Structure>

본 발명의 바람직한 실시예에 따른 하이브리드 어플리케이션 구조를 도 2를 참조하여 설명한다. A hybrid application structure according to a preferred embodiment of the present invention will be described with reference to FIG.

상기 하이브리드 어플리케이션(300)은 HTML 렌더링 엔진부(302)와 암호화된 웹 리소스부(304)와 네이티브 플러그인부(306)와 로컬 웹 서버(308)와 다수의 API(310,312,336,338,340)로 구성된다. The hybrid application 300 includes an HTML rendering engine unit 302, an encrypted web resource unit 304, a native plugin unit 306, a local web server 308, and a plurality of APIs 310, 312, 336, 338 and 340.

그리고 상기 모바일 OS(200)는 입력처리부(202)와 서비스 처리부(204)와 그래픽 처리부(206)와 센서처리부(208) 등을 구비한다. 상기 입력처리부(202)는 데이터를 화면으로부터 입력받아 처리하고, 상기 서비스 처리부(204)는 사용자와 상호작용하는 컴포넌트는 아니며, 백그라운드로 동작하는 컨포넌트이다. 즉, 어플리케이션이 종료되어 있는 상태에서도 동작할 수 있도록 처리한다. 상기 그래픽 처리부(206)는 사용자에게 안내하기 위해 표시하고자 하는 데이터를 이미지화하여 뷰잉한다. 상기 센서 처리부(208)는 모바일 디바이스에서 포함되어 있는 가속계, 자기장, 터치센서 등의 데이터를 처리한다. The mobile OS 200 includes an input processing unit 202, a service processing unit 204, a graphic processing unit 206, a sensor processing unit 208, and the like. The input processing unit 202 receives and processes data from a screen, and the service processing unit 204 is not a component that interacts with a user, but is a component operating in the background. That is, the processing is performed so that the application can be operated even when the application is terminated. The graphic processing unit 206 images and displays data to be displayed to guide the user. The sensor processing unit 208 processes data such as an accelerometer, a magnetic field, and a touch sensor included in the mobile device.

상기 하이브리드 어플리케이션(300)의 상기 HTML 렌더링 엔진부(302)는 모바일 OS(200) 또는 네이티브 플러그인부(306)의 요청에 따라, 암호화된 웹 리소스부(304)에 저장된 소스 정보를 로컬 웹 서버(308)로 요청하며, 상기 로컬 웹 서버(308)가 제공하는 복호화된 소스 정보를 제공하면 그 복호화된 소스 정보에 따른 컨텐츠를 화면에 뷰잉한다. 이를 위해 상기 HTML 렌더링 엔진부(302)는 모바일 OS(400)와 OS APIs(336)로 연결되고, 로컬 웹 서버(308)와 복호화된 HTML/LJS APIs(310)로 연결되고, 네이티브 플러그인부(306)와 네이티브 APIs(340)로 연결된다. The HTML rendering engine unit 302 of the hybrid application 300 transmits the source information stored in the encrypted web resource unit 304 to the local web server 304 in response to a request from the mobile OS 200 or the native plug- 308 and provides the decrypted source information provided by the local web server 308 to view the content according to the decrypted source information on the screen. The HTML rendering engine unit 302 is connected to the mobile OS 400 and the OS APIs 336. The HTML rendering engine unit 302 is connected to the local web server 308 and the decoded HTML / LJS APIs 310, 306 and the native APIs 340.

상기 암호화된 웹 리소스부(304)는 HTML 정보(314) 및 이미지 정보(320)와 CSS 정보(318) 및 JavaScript 정보(316) 등의 소스 정보가 암호화되어 저장되며, 저장장소는 미도시된 단말기의 저장장치에 위치될 수 있다. 이와 같이 본 발명은 소스 정보를 암호화함으로써 루팅 또는 탈옥 등이 발생하더라도 소스 정보를 보호할 수 있다. The encrypted web resource unit 304 encodes and stores HTML information 314 and image information 320, CSS information 318 and JavaScript information 316 and the like, Lt; / RTI &gt; As described above, the present invention can protect source information even if routing or jailbreak occurs by encrypting source information.

상기 로컬 웹 서버(308)는 상기 HTML 렌더링 엔진부(302)와의 HTML/JS 인터페이스 기능을 제공하며, 상기 HTML 렌더링 엔진부(302)의 요청에 따라 상기 암호화된 웹 리소스부(304)에서 암호화된 소스 정보를 독출하고, 그 암호화된 소스 정보를 복호화하여 상기 HTML 렌더링 엔진부(302)로 제공한다. 이를 위해 상기 로컬 웹 서버(308)는 HTML 렌더링 엔진부(302)와는 복호화된 HTML/JS APIs(310)로 연결되고, 상기 암호화된 웹 리소스부(304)와는 암호화된 HTML/JS APIs(312)로 연결된다. The local web server 308 provides an HTML / JS interface function with the HTML rendering engine unit 302. The local web server 308 encrypts the encrypted web resource 304 in the encrypted web resource unit 304 in response to a request from the HTML rendering engine unit 302. [ Reads the source information, decrypts the encrypted source information, and provides the decrypted source information to the HTML rendering engine unit 302. To this end, the local web server 308 is connected to the HTML rendering engine unit 302 through the decoded HTML / JS APIs 310. The encrypted HTML / JS APIs 312 are encrypted with the encrypted web resource unit 304, Lt; / RTI &gt;

상기 네이티브 플러그인부(306)는 하이브리드 어플리케이션을 실행하기 위한 다양한 기능부가 구비되며, 그 기능부로는 accelerometer(322), camera(324), compass(326), custom plug-ins(328), geolocation(330), media(332), 네트워크(334) 등이 있다. 상기 accelerometer(322)는 디바이스의 가속도 센서를 이용하여 필요한 데이터를 처리하고 HTML 렌더링 엔진부(302)로 전달한다. 상기 camera(324)는 디바이스의 카메라를 제어하는 기능을 수행한다. 상기 compass(326)는 디바이스의 자기 센서를 이용하여 나침반 기능을 수행한다. 상기 custom plug-ins(328)는 네이티브 플러그인부에서 제공하는 기능이외에 개발자가 별도로 네이티브 플러그인을 만들어 디바이스를 제어할 수 있는 기능들에 대한 집합체이다. 상기 geolocation(330)은 디바이스의 GPS(GLOBAL POSITIONING SYSTEM)을 활용하여 위도와 경도로 현재 위치를 검색하는 등의 기능을 수행한다. 상기 media(332)는 디바이스에 저장된 이미지나 동영상, 음성 등을 활용할 수 있게 하는 기능을 수행한다. 상기 네트워크(334)는 디바이스의 통신모듈을 활용하여 서버대 클라이언트, 클라이언트대 클라이언트 간의 통신을 할 수 있게 하는 기능을 수행한다. 이러한 기능부들은 하이브리드 어플리케이션의 구성에 따라 선택적으로 채용된다. 이를 위해 상기 네이티브 플러그인부(306)는 HTML 렌더링 엔진부(302)와는 native APIs(340)로 연결되고, 상기 모바일 OS(200)와는 암호화된 OS APIs(312)로 연결된다. The native plug-in unit 306 includes a variety of functional units for executing a hybrid application. The functional units include an accelerometer 322, a camera 324, a compass 326, a custom plug-ins 328, a geolocation 330 media 332, network 334, and so on. The accelerometer 322 processes necessary data using an acceleration sensor of the device and transmits the processed data to the HTML rendering engine unit 302. The camera 324 controls the camera of the device. The compass 326 performs a compass function using the magnetic sensor of the device. The custom plug-ins 328 is a collection of functions that developers can separately create native plug-ins to control devices, in addition to the functions provided by native plug-ins. The geolocation 330 performs a function of searching for a current location by latitude and longitude using a GPS (Global Positioning System) of the device. The media 332 functions to utilize images, moving pictures, audio, etc. stored in the device. The network 334 performs communication between the server and the client and between the client and the client using the communication module of the device. These functional units are selectively employed according to the configuration of the hybrid application. The native plug-in unit 306 is connected to the HTML rendering engine unit 302 through the native APIs 340 and is connected to the OS 200 through the encrypted OS APIs 312.

이러한 본 발명은 HTML 렌더링 엔진부(302)가 HTML/JS 인터페이스 기능을 직접 관여하지 않은채 중간 매개체인 로컬 웹 서버(308)가 대행한다. 이 로컬 웹 서버(308)가 HTML/JS 인터페이스를 담당하며, 상기 암호화된 웹 리소스부(304)의 소스정보 중 HTML 렌더링 엔진부(302)가 요구하는 소스정보만을 임시적으로 복호화하여 HTML 렌더링 엔진부(302)로 제공한다. 이와 같이 암호화된 웹 리소스부(304)에 저장되는 암호화된 소스 정보는 임시로 웹 뷰를 표현하는 메모리상에 복호화되어 전달될 뿐이므로, 루팅이나 탈옥을 통해 확인할 수 있는 단말기의 저장공간에 저장되지 않는다. 이로서 본 발명은 웹 리소스부에 저장되는 소스 정보를 보호할 수 있다. The present invention is performed by the local web server 308, which is an intermediary medium, without the HTML rendering engine 302 directly participating in the HTML / JS interface function. The local web server 308 takes charge of the HTML / JS interface, temporarily decodes only the source information requested by the HTML rendering engine unit 302 among the source information of the encrypted web resource unit 304, (302). Since the encrypted source information stored in the encrypted web resource unit 304 is decrypted and transferred to the memory representing the web view temporarily, it is stored in the storage space of the terminal which can be checked through routing or jailbreak Do not. Thus, the present invention can protect the source information stored in the web resource unit.

이제 상기 하이브리드 어플리케이션의 처리과정에 적용된 상기 로컬 웹 서버(308)의 동작이 적용된 예를 설명한다. Now, an example in which the operation of the local web server 308 applied to the process of the hybrid application is applied will be described.

<주요 실행 과정><Major Implementation Process>

먼저 본 발명의 바람직한 실시예에 따른 하이브리드 어플리케이션(300)의 주요 실행 과정을 도 3을 참조하여 설명한다. First, the main execution process of the hybrid application 300 according to the preferred embodiment of the present invention will be described with reference to FIG.

상기 HTML 렌더링 엔진부(302)는 하이브리드 어플리케이션(300)의 기능 수행에 필요한 소스 정보를 로컬 웹 서버(402)로 요청한다(400단계). 상기 요청에 따라 상기 로컬 웹 서버(308)는 암호화된 웹 리소스부(304)에 저장된 암호화된 소스 정보 중 요청된 암호화된 소스 정보를 리드하여 복호화하여 HTML 렌더링 엔진부(302)로 출력한다(402단계). 상기 HTML 렌더링 엔진부(302)는 상기 복호화된 소스정보를 제공받아 파싱을 이행하여 DOM(Document Object Model) 트리를 생성한다(404단계). 상기 HTML 렌더링 엔진부(302)는 상기 DOM 트리로부터 렌더 트리를 생성한다(406단계). 상기 HTML 렌더링 엔진부(302)는 상기 렌더 트리로부터 렌더 스타일스를 생성하는 스타일 레졸루션을 이행한다(408단계). 이후 상기 HTML 렌더링 엔진부(302)는 상기 렌더 스타일스로부터 레이아웃정보들인 레이어스 및 라인 박스들을 생성한다(410단계). 상기 HTML 렌더링 엔진부(302)는 상기 레이어스 및 라인박스들에 따라 페인팅을 이행한다(412단계).The HTML rendering engine unit 302 requests the local web server 402 for source information necessary for performing the function of the hybrid application 300 (operation 400). In response to the request, the local web server 308 reads and decrypts the requested encrypted source information out of the encrypted source information stored in the encrypted web resource 304, and outputs the encrypted source information to the HTML rendering engine 302 (402 step). The HTML rendering engine 302 receives the decoded source information and performs parsing to generate a DOM (Document Object Model) tree (operation 404). The HTML rendering engine unit 302 generates a render tree from the DOM tree (step 406). The HTML rendering engine unit 302 implements a style resolution to generate a render style from the render tree (step 408). Then, the HTML rendering engine unit 302 generates layouts and line boxes, which are layout information, from the render style (step 410). The HTML rendering engine unit 302 performs painting according to the layer and line boxes (step 412).

<HTML 처리 과정><HTML processing>

그리고 본 발명의 바람직한 실시예에 따른 하이브리드 어플리케이션(300)의 HTML 처리 과정을 도 4를 참조하여 설명한다. The HTML process of the hybrid application 300 according to the preferred embodiment of the present invention will be described with reference to FIG.

상기 로컬 웹 서버(308)는 암호화된 웹 리소스부(304)로부터 암호화된 소스정보가 로딩되면(500단계), 이 암호화된 소스정보를 복호화하여 HTML 렌더링 엔진부(302)로 출력한다(502단계). 상기 복호화된 소스정보는 HTML 정보이다. 상기 HTML 렌더링 엔진부(302)는 상기 복호화된 소스정보를 제공받아 HTML 처리한다(504단계). 이 HTML 처리과정은 HTML document를 HTML HTML element로, 다시 HTML HTML element를 HTML body element로, 다시 HTML body element를 HTML div element와 HTML paragraph element로, 다시 HTML div element를 HTML image element로, HTML paragraph element를 text로 변환하는 과정으로 이루어진다. When the encrypted source information is loaded from the encrypted web resource 304 in step 500, the local web server 308 decrypts the encrypted source information and outputs the decrypted source information to the HTML rendering engine 302 ). The decoded source information is HTML information. The HTML rendering engine 302 receives the decoded source information and performs HTML processing in step 504. This HTML processing process can be divided into an HTML document as an HTML HTML element, a HTML HTML element as an HTML body element, an HTML body element as an HTML div element and an HTML paragraph element, a HTML div element as an HTML image element, To text.

<자바 스크립트 처리 과정><Process of JavaScript processing>

그리고 본 발명의 바람직한 실시예에 따른 하이브리드 어플리케이션(300)의 자바 스크립트 처리 과정을 도 5를 참조하여 설명한다. The JavaScript processing procedure of the hybrid application 300 according to the preferred embodiment of the present invention will now be described with reference to FIG.

상기 로컬 웹 서버(308)는 멀티미디어 쓰레드, JS 워커 쓰레드, 네트워크 쓰레드, 지오로케이션 등으로부터의 요청에 따라 웹키트 메인 쓰레드의 메인 루프(600)는 로컬 웹 서버(308)로 해당 요청에 따른 소스정보를 로딩하도록 요청한다(602단계). 그 요청에 따라 상기 로컬 웹 서버(308)는 해당 소스정보를 암호화된 웹 리소스부(304)에서 리드한 후에 복호화한 후에 웹 키트 메인 쓰레드로 반환한다. 여기서, 복호화된 소스정보는 자바 스크립트 정보이다. 상기 웹 키트 메인 쓰레드는 상기 복호화된 소스정보를 제공받아 파싱하고(606단계), 그 파싱된 결과에 따른 자바 스크립트를 실행한다(608단계). 상기 웹키트 메인 쓰레드는 상기 자바 스크립트 실행결과에 따라 렌더 트리를 생성하고(610단계), 상기 렌더 트리에 따라 렌더 스타일스를 생성하는 스타일 레졸루션을 이행한다(612단계). 이후 상기 웹키트 메인 쓰레드는 상기 렌더 스타일스를 제공받아 레이아웃정보들, 레이어스, 라인 박스들을 생성한다(614단계). 상기 웹키트 메인 쓰레드는 상기 레이어스 및 라인박스들에 따라 페인팅을 이행한다(616단계). In response to a request from a multimedia thread, a JS worker thread, a network thread, a geolocation, or the like, the local web server 308 sends a request to the local web server 308 of the main loop 600 of the web kit main thread, (Step 602). In response to the request, the local web server 308 reads the corresponding source information from the encrypted web resource unit 304, decrypts it, and returns it to the webkit main thread. Here, the decoded source information is JavaScript information. In step 608, the web kit main thread receives and parses the decrypted source information in step 606, and executes JavaScript according to the parsed result in step 608. In step 612, the web kit main thread generates a render tree according to the JavaScript execution result (step 610), and executes style resolution to generate a render style according to the render tree (step 612). In step 614, the web kit main thread receives the render style and generates layout information, layers, and line boxes. The web kit main thread transitions the painting according to the layer and line boxes (step 616).

여기서, 멀티미디어 쓰레드, JS 워커 쓰레드, 네트워크 쓰레드, 지오로케이션에 대해 좀더 설명한다. 화면이 랜더링되는 동안, 작업이 오래 걸려 페이지가 멈춰있는 상태, 즉 매우 복잡한 수학적 계산 작업, 원격지에 있는 리소스에 대한 액세스 작업(또는 로컬 스토로지를 액세스하는 경우), 백그라운드에서 오랜 시간을 작업해야 하는 경우, UI 쓰레드에 방해없이 지속적으로 수행하는 작업 등을 위해 다양한 형태의 쓰레드를 이용한다. Here, we will talk more about multimedia threads, JS worker threads, network threads, and geolocation. While the screen is being rendered, it can take a long time to work, a very busy mathematical computation task, access to resources at a remote location (or access to a local store), a long time in the background , It uses various types of threads to perform tasks such as continuous execution without disturbing the UI thread.

상기 다양한 형태의 쓰레드 중 멀티미디어 쓰레드는 이미지나 동영상, 음성 등의 데이터를 읽어 들이거나 재생하는 등의 기능을 수행하고, JS 워커 쓰레드는 자바 스크립트 업무 중 오래 걸리는 작업들에 대해 백그라운드에서 처리한다. 그리고 상기 네트워크 쓰레드는 디바이스의 통신모듈을 활용하여 서버대 클라이언트, 클라이언트대 클라이언트간의 데이터를 주고 받을 수 있는 기능을 수행하며, 지오로케이션은 디바이스의 GPS를 활용하여 위도와 경도로 현재위치를 검색하는 등의 기능을 수행한다. Among the various types of threads, the multimedia thread performs functions such as reading and playing data such as image, moving picture, voice, and the like, and the JS worker thread processes in the background for long tasks in the JavaScript task. The network thread performs a function of exchanging data between the server and the client and between the client and the client by utilizing the communication module of the device. The geo-location uses the GPS of the device to retrieve the current location by latitude and longitude .

300 : 하이브리드 어플리케이션
302 : HTML 렌더링 엔진부
304 : 암호화된 웹 리소스부
306 : 네이티브 플러그인부
308 : 로컬 웹 서버
300: Hybrid application
302: HTML rendering engine unit
304: Encrypted Web resource part
306: Native plugin part
308: Local Web server

Claims (4)

웹 리소스부와 네이티브 플러그인부와 HTML 렌더링 엔진부를 포함하는 하이브리드 어플리케이션의 웹 리소스 보안방법에 있어서,
상기 웹 리소스부에 암호화된 소스정보를 저장하는 단계; 및
상기 하이브리드 어플리케이션에 포함되는 로컬 웹 서버가 상기 HTML 렌더링 엔진부로부터 상기 웹 리소스부에 저장된 소스정보를 요청받으면, 그 요청된 소스정보에 대응되는 암호화된 소스정보를 리드하고, 그 리드된 암호화된 소스정보를 복호화하여 상기 HTML 렌더링 엔진부로 반환하는 단계;를 구비하며,
상기 로컬 웹 서버가 상기 HTML 렌더링 엔진부와 상기 웹 리소스부 사이의 인터페이스를 이행하며,
상기 암호화된 소스정보는 웹 페이지를 구성하기 위한 리소스임을 특징으로 하는 하이브리드 어플리케이션의 웹 리소스 보안방법.
A Web resource security method of a hybrid application including a Web resource unit, a native plugin unit, and an HTML rendering engine unit,
Storing encrypted source information in the web resource unit; And
When a local web server included in the hybrid application receives a request for source information stored in the web resource unit from the HTML rendering engine unit, it reads the encrypted source information corresponding to the requested source information, Decrypting the information and returning the information to the HTML rendering engine unit,
The local web server performs an interface between the HTML rendering engine unit and the web resource unit,
Wherein the encrypted source information is a resource for configuring a web page.
제1항에 있어서,
상기 HTML 렌더링 엔진부는 복호화된 소스정보를 제공받아 파싱하여 DOM 트리를 생성하고, 그 DOM 트리로부터 렌더 트리를 생성하고, 그 렌더 트리에 따라 스타일 레졸루션을 이행하여 렌더 스타일스를 생성하고, 그 렌더 스타일스에 따라 레이아웃 정보를 생성하고, 그 레이아웃 정보에 따라 페인팅을 이행하는 단계;를 더 구비하며,
상기 소스정보는 HTML 정보임을 특징으로 하는 하이브리드 어플리케이션의 웹 리소스 보안 방법.
The method according to claim 1,
The HTML rendering engine generates and parses the decoded source information to generate a DOM tree, generates a render tree from the DOM tree, and executes style resolution according to the render tree to generate a render style, Generating layout information according to the layout information, and performing painting according to the layout information,
Wherein the source information is HTML information.
제1항에 있어서,
상기 HTML 렌더링 엔진부는 복호화된 소스정보를 제공받아 파싱하여 자바 스트립트를 실행하고, 그 실행결과로부터 렌더 트리를 생성하고, 그 렌더 트리에 따라 스타일 레졸루션을 이행하여 렌더 스타일스를 생성하고, 그 렌더 스타일스에 따라 레이아웃 정보를 생성하고, 그 레이아웃 정보에 따라 페인팅을 이행하는 단계;를 더 구비하며,
상기 소스정보는 자바 스크립트 정보임을 특징으로 하는 하이브리드 어플리케이션의 웹 리소스 보안 방법.
The method according to claim 1,
The HTML rendering engine unit receives the decoded source information and parses it to execute a Java script, generates a render tree from the execution result, and performs style resolution according to the render tree to generate a render style, Generating layout information according to the layout information, and performing painting according to the layout information,
Wherein the source information is JavaScript information.
제1항 내지 제3항 중 어느 하나에 의한 하이브리드 어플리케이션의 웹 리소스 보안 방법의 각 단계를 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
A computer-readable recording medium having recorded thereon a program for executing each step of a web resource security method of a hybrid application according to any one of claims 1 to 3.
KR1020150140253A 2015-10-06 2015-10-06 Web resource security method for hybrid application, and computer-readable recording medium with program for the same KR20170040945A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020150140253A KR20170040945A (en) 2015-10-06 2015-10-06 Web resource security method for hybrid application, and computer-readable recording medium with program for the same
PCT/KR2015/011076 WO2017061654A1 (en) 2015-10-06 2015-10-20 Method for securing web resource of hybrid application, and computer-readable recording medium, onto which program for executing method according thereto is recorded

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150140253A KR20170040945A (en) 2015-10-06 2015-10-06 Web resource security method for hybrid application, and computer-readable recording medium with program for the same

Publications (1)

Publication Number Publication Date
KR20170040945A true KR20170040945A (en) 2017-04-14

Family

ID=58488002

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150140253A KR20170040945A (en) 2015-10-06 2015-10-06 Web resource security method for hybrid application, and computer-readable recording medium with program for the same

Country Status (2)

Country Link
KR (1) KR20170040945A (en)
WO (1) WO2017061654A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108804939A (en) * 2018-05-04 2018-11-13 广州四九游网络科技有限公司 A kind of data processing method of WEBVIEW engines

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107239389B (en) * 2017-06-07 2020-10-09 网易(杭州)网络有限公司 Method and device for determining user operation record in hybrid APP

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130017337A (en) 2011-08-10 2013-02-20 케이티하이텔 주식회사 Hybrid app development platform architecture and test method of the same, and computer-readable recording medium with program for the same
KR20130082810A (en) 2011-12-20 2013-07-22 주식회사 모비라티 Server for providing hybrid web-app page and appratus for generating hybrid web-app page
KR20140017864A (en) 2012-08-01 2014-02-12 주식회사 태영이앤티 Hybrid smart phone app based on the product and customer management system
KR20140026815A (en) 2012-08-23 2014-03-06 주식회사 코드앤 System and method of providing hybrid application using information on progress

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101673610B1 (en) * 2010-09-17 2016-11-07 주식회사 엘지유플러스 Resource protection system for application and method for the same
KR101472346B1 (en) * 2012-05-24 2014-12-16 주식회사 엘지유플러스 Method for providing encrypted web application, terminal supporting the same, and recording medium thereof
KR101416100B1 (en) * 2012-08-07 2014-07-14 인크로스 주식회사 An interface for interworking with javascripts in hybrid web applications
US20140059341A1 (en) * 2012-08-21 2014-02-27 International Business Machines Corporation Creating and accessing encrypted web based content in hybrid applications
KR101499535B1 (en) * 2013-05-29 2015-03-06 주식회사 엘지씨엔에스 Computer-executable hybrid application performing method, coumputer-excutable device and storage media performing the same

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130017337A (en) 2011-08-10 2013-02-20 케이티하이텔 주식회사 Hybrid app development platform architecture and test method of the same, and computer-readable recording medium with program for the same
KR20130082810A (en) 2011-12-20 2013-07-22 주식회사 모비라티 Server for providing hybrid web-app page and appratus for generating hybrid web-app page
KR20140017864A (en) 2012-08-01 2014-02-12 주식회사 태영이앤티 Hybrid smart phone app based on the product and customer management system
KR20140026815A (en) 2012-08-23 2014-03-06 주식회사 코드앤 System and method of providing hybrid application using information on progress

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108804939A (en) * 2018-05-04 2018-11-13 广州四九游网络科技有限公司 A kind of data processing method of WEBVIEW engines

Also Published As

Publication number Publication date
WO2017061654A1 (en) 2017-04-13

Similar Documents

Publication Publication Date Title
US9448776B1 (en) Method and apparatus for converting a website into a native mobile application
US10083320B2 (en) Dynamic content redaction
JP5948342B2 (en) Communication protocol between high-level language and native language
JP6092249B2 (en) Virtual channel for embedded process communication
CN108647527B (en) File packing method, file packing device, file unpacking device and network equipment
WO2017206626A1 (en) Network resource access apparatus, mixed apparatus, and method
US8290152B2 (en) Management system for web service developer keys
KR20090063636A (en) Method and apparatus for sevicing api and creating api mashup, and computer readable medium thereof
US10824770B2 (en) Web application execution with secure elements
JP5543010B1 (en) Login request apparatus and method for requesting login to predetermined server, and program used therefor
US20200244774A1 (en) Method and system for rendering content using templates
US20130205401A1 (en) Apparatuses and methods for content protection using digital rights management (DRM) in webview or webkit
US20200193042A1 (en) Web application execution with secure element extension
CN115982491A (en) Page updating method and device, electronic equipment and computer readable storage medium
CN113220273B (en) Micro front-end application resource processing method, device, equipment and medium
KR20170040945A (en) Web resource security method for hybrid application, and computer-readable recording medium with program for the same
US20130205402A1 (en) Apparatuses and methods for content protection using Digital Rights Management (DRM) in WebView or WebKit
CN112287010B (en) Map service providing method, device, terminal and storage medium based on android system
US10579374B2 (en) Method for converting application and computing device
RU2634221C2 (en) Method and device for drawing presentation of electronic document on screen
CN114115871A (en) Page data embedding method and device, storage medium and electronic equipment
Břoušek Evaluation and Usage of Google Progressive Web Apps Technology
JP6257085B2 (en) Login request apparatus and method for requesting login to predetermined server, and program used therefor
Sikora Dart Essentials
JP2016075978A (en) Data recording device, imaging device, security risk reduction method, and computer program

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application