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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000009877 rendering Methods 0.000 claims abstract description 44
- 238000010422 painting Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 description 15
- 241000256836 Apis Species 0.000 description 13
- 239000008186 active pharmaceutical agent Substances 0.000 description 13
- 230000006870 function Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 10
- 230000004044 response Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/128—Restricting 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—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text 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
Description
본 발명은 하이브리드 어플리케이션에 관한 것으로, 더욱 상세하게는 하이브리드 어플리케이션의 소스 정보를 암호화하여 암호화된 웹 리소스부에 저장하고, 로컬 웹 서버가 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
상기 웹 리소스부(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(200)는 입력처리부(INPUT)(202)와 서비스 처리부(SERVICES)(204)와 그래픽 처리부(GRAPHICS)(206)와 센서처리부(SENSORS)(208) 등으로 구성된다. The mobile OS 200 includes an
상기한 하이브리드 어플리케이션은 웹 표준 기술에 따라 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.
본 발명은 하이브리드 어플리케이션의 소스 정보를 암호화하여 암호화된 웹 리소스부에 저장하고, 로컬 웹 서버가 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
그리고 상기 모바일 OS(200)는 입력처리부(202)와 서비스 처리부(204)와 그래픽 처리부(206)와 센서처리부(208) 등을 구비한다. 상기 입력처리부(202)는 데이터를 화면으로부터 입력받아 처리하고, 상기 서비스 처리부(204)는 사용자와 상호작용하는 컴포넌트는 아니며, 백그라운드로 동작하는 컨포넌트이다. 즉, 어플리케이션이 종료되어 있는 상태에서도 동작할 수 있도록 처리한다. 상기 그래픽 처리부(206)는 사용자에게 안내하기 위해 표시하고자 하는 데이터를 이미지화하여 뷰잉한다. 상기 센서 처리부(208)는 모바일 디바이스에서 포함되어 있는 가속계, 자기장, 터치센서 등의 데이터를 처리한다. The mobile OS 200 includes an
상기 하이브리드 어플리케이션(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
상기 암호화된 웹 리소스부(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
상기 로컬 웹 서버(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
상기 네이티브 플러그인부(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
이러한 본 발명은 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
이제 상기 하이브리드 어플리케이션의 처리과정에 적용된 상기 로컬 웹 서버(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
<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
<자바 스크립트 처리 과정><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
여기서, 멀티미디어 쓰레드, 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 렌더링 엔진부와 상기 웹 리소스부 사이의 인터페이스를 이행하며,
상기 암호화된 소스정보는 웹 페이지를 구성하기 위한 리소스임을 특징으로 하는 하이브리드 어플리케이션의 웹 리소스 보안방법.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.
상기 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.
상기 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.
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.
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)
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)
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)
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)
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 |
-
2015
- 2015-10-06 KR KR1020150140253A patent/KR20170040945A/en not_active Application Discontinuation
- 2015-10-20 WO PCT/KR2015/011076 patent/WO2017061654A1/en active Application Filing
Patent Citations (4)
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)
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 |