KR101624221B1 - Method for communicating between web browser and native module, and terminal for executing the same - Google Patents

Method for communicating between web browser and native module, and terminal for executing the same Download PDF

Info

Publication number
KR101624221B1
KR101624221B1 KR1020140177562A KR20140177562A KR101624221B1 KR 101624221 B1 KR101624221 B1 KR 101624221B1 KR 1020140177562 A KR1020140177562 A KR 1020140177562A KR 20140177562 A KR20140177562 A KR 20140177562A KR 101624221 B1 KR101624221 B1 KR 101624221B1
Authority
KR
South Korea
Prior art keywords
web server
web browser
local web
local
terminal
Prior art date
Application number
KR1020140177562A
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 KR1020140177562A priority Critical patent/KR101624221B1/en
Application granted granted Critical
Publication of KR101624221B1 publication Critical patent/KR101624221B1/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

Abstract

Provided are a method for communicating between a web browser and a native module, and a terminal for executing the same, which enable communication between the web browser and the native module without using a plug-in. The method for communicating between the web browser and the native module according to an embodiment of the present invention includes the steps of: transmitting, from the web browser in a terminal, an image request massage for verifying whether a local web server in the terminal is normally operating to the local web server; transmitting, from the web browser, an electronic document defined with respect to a connection domain of the web browser to the local web server when a response message according to the image request message is received from the local web server; invoking, from the local web server, the native module in the terminal according to the electronic document; and transmitting, from the local web server, a response according to the electronic document to the web browser after receiving the electronic document from the native module.

Description

웹 브라우저와 네이티브 모듈 간의 통신 방법 및 이를 수행하기 위한 단말{METHOD FOR COMMUNICATING BETWEEN WEB BROWSER AND NATIVE MODULE, AND TERMINAL FOR EXECUTING THE SAME}METHOD FOR COMMUNICATING BETWEEN WEB BROWSER AND NATIVE MODULE, AND TERMINAL FOR EXECUTING THE SAME,

본 발명은 웹 브라우저와 네이티브 모듈 간의 통신 기술에 관한 것이다.
The present invention relates to a communication technique between a web browser and a native module.

플러그 인(Plug in)이란 제3자가 만든 네이티브 모듈(응용 프로그램 또는 어플리케이션)을 이용하여 웹 브라우저가 표시할 수 없는 각종 형식의 파일을 웹 브라우저의 윈도우 내에 표시되도록 하는 프로그램으로서, 예를 들어 액티브 X(Active X), 리얼 오디오(Real Audio) 등이 있다. 종래에는 웹 브라우저에서 전자 서명 등을 하기 위해 단말 내 설치된 네이티브 모듈(예를 들어, 공인 인증서 관리 모듈)과 통신할 수 있는 플러그 인을 사용하였으나, 이러한 플러그 인의 설치로 악성 코드가 배포되는 등 보안상 취약점이 발견되었다. 이에 따라, 웹 브라우저의 벤더(vendor)는 플러그 인에 대한 지원을 점차 중단하고 있는 추세이다. 그러나, 웹 상에서 확장성 있는 프로그램을 개발하기 위해서는 웹 브라우저와 네이티브 모듈과의 통신은 여전히 필요하다.
A plug-in is a program for displaying a file of various formats that can not be displayed by a web browser in a window of a web browser by using a native module (an application program or an application) created by a third party. For example, (Active X), and Real Audio (Real Audio). Conventionally, a plug-in capable of communicating with a native module (for example, an authorized certificate management module) installed in the terminal has been used in order to perform electronic signature in a web browser. However, since the malicious code is distributed by installing such a plug- A vulnerability has been discovered. As a result, vendors of web browsers are gradually stopping to support plug-ins. However, in order to develop a scalable program on the Web, communication between the web browser and the native module is still required.

한국공개특허공보 제10-2010-0081039호(2010.07.14)Korean Patent Publication No. 10-2010-0081039 (July 14, 2010)

본 발명의 실시예들은 플러그 인의 사용 없이 웹 브라우저와 네이티브 모듈 간의 통신을 가능하게 하기 위한 수단을 제공하기 위한 것이다.
Embodiments of the present invention are intended to provide a means for enabling communication between a web browser and a native module without the use of a plug-in.

본 발명의 예시적인 실시예에 따르면, 단말 웹 브라우저에서, 상기 단말 내 로컬 웹 서버의 정상 동작 여부를 확인하기 위한 이미지 요청 메시지를 상기 로컬 웹 서버로 송신하는 단계; 상기 웹 브라우저에서, 상기 이미지 요청 메시지에 대한 응답 메시지를 상기 로컬 웹 서버로부터 수신하는 경우 상기 웹 브라우저의 접속 도메인에 따라 정의된 전문을 상기 로컬 웹 서버로 송신하는 단계; 상기 로컬 웹 서버에서, 상기 전문에 따라 상기 단말 내 설치된 네이티브 모듈(native module)을 호출하는 단계; 및 상기 로컬 웹 서버에서, 상기 네이티브 모듈로부터 상기 전문에 따른 응답을 수신하여 상기 웹 브라우저로 송신하는 단계를 포함하는, 웹 브라우저와 네이티브 모듈 간의 통신 방법이 제공된다.According to an exemplary embodiment of the present invention, there is provided a method of transmitting an image request message to a local web server, the method comprising: transmitting, in a terminal web browser, an image request message for confirming whether the local web server is operating normally; Transmitting, in the web browser, a message defined according to a connection domain of the web browser to the local web server when receiving a response message to the image request message from the local web server; Calling, at the local web server, a native module installed in the terminal according to the message; And receiving, at the local web server, a response from the native module in accordance with the specialization, and transmitting the response to the web browser.

상기 웹 브라우저와 네이티브 모듈 간의 통신 방법은, 상기 이미지 요청 메시지를 상기 로컬 웹 서버로 송신하는 단계 이전에, 상기 로컬 웹 서버에서, 상기 단말 내에 상기 네이티브 모듈을 설치하는 과정에서 상기 웹 브라우저에 암호화 채널용 인증서를 발급하고, 상기 암호화 채널용 인증서를 이용하여 상기 웹 브라우저와의 메시지 송수신을 위한 암호화 채널을 형성하는 단계를 더 포함할 수 있다.The method of communicating between the web browser and the native module may further include the step of transmitting the image request message to the web browser through the encryption channel in the process of installing the native module in the terminal, Issuing a certificate for the encrypted channel, and forming an encrypted channel for message transmission / reception with the web browser using the certificate for the encrypted channel.

상기 웹 브라우저와 네이티브 모듈 간의 통신 방법은, 상기 웹 브라우저에서, 기 설정된 시간 동안 상기 응답 메시지가 수신되지 않는 경우 상기 로컬 웹 서버의 구동 URL로 접속하여 상기 로컬 웹 서버를 구동시키는 단계를 더 포함할 수 있다.The method of communication between the web browser and the native module may further include the step of, when the web browser does not receive the response message for a predetermined period of time, connecting to the driving URL of the local web server to start the local web server .

상기 웹 브라우저와 네이티브 모듈 간의 통신 방법은, 상기 로컬 웹 서버를 구동시키는 단계 이후, 상기 웹 브라우저에서, 상기 이미지 요청 메시지를 상기 로컬 웹 서버로 재송신하는 단계를 더 포함할 수 있다.The method of communicating between the web browser and the native module may further include, after the step of driving the local web server, retransmitting the image request message to the local web server in the web browser.

상기 이미지 요청 메시지는, 상기 로컬 웹 서버에 저장된 특정 이미지의 URL 정보를 포함할 수 있다. The image request message may include URL information of a specific image stored in the local web server.

본 발명의 다른 예시적인 실시예에 따르면, 내부에 설치된 웹 브라우저와 네이티브 모듈(native module) 간의 통신을 수행하기 위한 단말로서, 상기 단말 내 로컬 웹 서버의 정상 동작 여부를 확인하기 위한 이미지 요청 메시지를 상기 로컬 웹 서버로 송신하고, 상기 이미지 요청 메시지에 대한 응답 메시지를 상기 로컬 웹 서버로부터 수신하는 경우 상기 웹 브라우저의 접속 도메인에 따라 정의된 전문을 상기 로컬 웹 서버로 송신하는 웹 브라우저; 및 상기 전문에 따라 상기 네이티브 모듈을 호출하고, 상기 네이티브 모듈로부터 상기 전문에 따른 응답을 수신하여 상기 웹 브라우저로 송신하는 로컬 웹 서버를 포함하는, 단말이 제공된다.According to another exemplary embodiment of the present invention, an image request message for confirming normal operation of the local web server in the terminal, which is a terminal for performing communications between a web browser installed in the inside and a native module A web browser for transmitting to the local web server a message defined in accordance with an access domain of the web browser when receiving a response message to the image request message from the local web server; And a local web server for calling the native module according to the message and for receiving a response from the native module in response to the message and transmitting the response to the web browser.

상기 로컬 웹 서버는, 상기 단말 내에 상기 네이티브 모듈을 설치하는 과정에서 상기 웹 브라우저에 암호화 채널용 인증서를 발급하고, 상기 암호화 채널용 인증서를 이용하여 상기 웹 브라우저와의 메시지 송수신을 위한 암호화 채널을 형성할 수 있다.The local web server issues a certificate for the encrypted channel to the web browser in the process of installing the native module in the terminal and forms an encrypted channel for transmitting and receiving messages with the web browser using the certificate for the encrypted channel can do.

상기 웹 브라우저는, 기 설정된 시간 동안 상기 응답 메시지가 수신되지 않는 경우 상기 로컬 웹 서버의 구동 URL로 접속하여 상기 로컬 웹 서버를 구동시킬 수 있다.If the response message is not received for a preset time, the web browser can connect to the driving URL of the local web server to start the local web server.

상기 웹 브라우저는, 상기 로컬 웹 서버를 구동시킨 이후, 상기 이미지 요청 메시지를 상기 로컬 웹 서버로 재송신할 수 있다.The web browser may re-transmit the image request message to the local web server after driving the local web server.

상기 이미지 요청 메시지는, 상기 로컬 웹 서버에 저장된 특정 이미지의 URL 정보를 포함할 수 있다.
The image request message may include URL information of a specific image stored in the local web server.

본 발명의 실시예들에 따르면, 별도의 플러그 인의 사용 없이, 로컬 웹 서버를 통해 웹 브라우저와 네이티브 모듈 간의 통신을 가능하게 할 수 있다.According to embodiments of the present invention, communication between a web browser and a native module via a local web server can be enabled without using a separate plug-in.

또한, 본 발명의 실시예들에 따르면, 로컬 웹 서버에서 웹 브라우저로 암호화 채널용 인증서를 발급함으로써 웹 브라우저와 로컬 웹 서버와의 메시지 송수신을 위한 암호화 채널이 형성될 수 있다. 특히, 각 단말은 자신의 로컬 호스트에 대해 셀프 사인 인증서를 발급함으로써, 각 단말별로 서로 다른 암호화 채널이 형성될 수 있다. 이에 따라, 웹 브라우저와 로컬 웹 서버와의 통신 과정에서의 보안이 강화되며, HTTPS를 사용하는 웹 사이트에서 발생하는 보안 문제에 관한 경고창 출력 또는 오류 발생 등의 문제를 해결할 수 있다. In addition, according to embodiments of the present invention, an encrypted channel for sending and receiving messages between a web browser and a local web server can be formed by issuing a certificate for an encrypted channel from a local web server to a web browser. In particular, each terminal issues a self-signed certificate to its local host, so that different encryption channels can be formed for each terminal. Accordingly, the security in the process of communicating with the web browser and the local web server is enhanced, and problems such as outputting an alarm window or generating an error related to a security problem occurring in a web site using HTTPS can be solved.

또한, 본 발명의 실시예들에 따르면, 웹 브라우저가 로컬 웹 서버로 송신한 이미지 요청 메시지에 대한 응답 메시지의 수신 여부를 통해 로컬 웹 서버의 정상 동작 여부를 용이하게 확인할 수 있다.
In addition, according to embodiments of the present invention, it is possible to easily confirm whether the local web server is operating normally by receiving a response message to the image request message transmitted to the local web server by the web browser.

도 1은 본 발명의 일 실시예에 따른 단말을 설명하기 위한 블록도
도 2는 본 발명의 일 실시예에 따른 웹 브라우저와 네이티브 모듈 간의 통신 방법을 설명하기 위한 흐름도
도 3은 본 발명의 다른 실시예에 따른 웹 브라우저와 네이티브 모듈 간의 통신 방법을 설명하기 위한 흐름도
1 is a block diagram for explaining a terminal according to an embodiment of the present invention;
2 is a flowchart illustrating a communication method between a web browser and a native module according to an embodiment of the present invention.
3 is a flowchart illustrating a communication method between a web browser and a native module according to another embodiment of the present invention.

이하, 도면을 참조하여 본 발명의 구체적인 실시예를 설명하기로 한다. 그러나 이는 예시적 실시예에 불과하며 본 발명은 이에 한정되지 않는다.Hereinafter, specific embodiments of the present invention will be described with reference to the drawings. However, this is an exemplary embodiment only and the present invention is not limited thereto.

본 발명을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In the following description, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. The following terms are defined in consideration of the functions of the present invention, and may be changed according to the intention or custom of the user, the operator, and the like. Therefore, the definition should be based on the contents throughout this specification.

본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하 실시예는 진보적인 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진자에게 효율적으로 설명하기 위한 일 수단일 뿐이다.
The technical idea of the present invention is determined by the claims, and the following embodiments are merely a means for efficiently describing the technical idea of the present invention to a person having ordinary skill in the art to which the present invention belongs.

도 1은 본 발명의 일 실시예에 따른 단말(100)을 설명하기 위한 블록도이다. 본 발명의 일 실시예에 따른 단말(100)은 데스크탑, 노트북, 태블릿 컴퓨터, PDA, 휴대폰 등과 같은 전자 기기로서, 도 1에 도시된 바와 같이 웹 브라우저(102), 로컬 웹 서버(104) 및 네이티브 모듈(106)을 포함한다. 1 is a block diagram for explaining a terminal 100 according to an embodiment of the present invention. The terminal 100 according to an embodiment of the present invention is an electronic device such as a desktop, a notebook, a tablet computer, a PDA, a mobile phone and the like and includes a web browser 102, a local web server 104, Module 106, as shown in FIG.

웹 브라우저(102)는 인터넷 상의 웹 페이지를 단말(100)의 화면에 표시해 주는 응용 프로그램으로서, 예를 들어 익스플로러, 파이어폭스, 크롬 등이 될 수 있다. 웹 브라우저(102)는 로컬 웹 서버(104)를 통해 네이티브 모듈(106)과 통신할 수 있다. 여기서, 네이티브 모듈(106)은 네이티브 코드(native code)로 작성된 응용 프로그램 또는 어플리케이션으로서, 예를 들어 단말(100) 내 저장된 공인 인증서를 관리하는 공인 인증서 관리 모듈, 또는 백신 프로그램, 키보드 보안 프로그램, 개인 방화벽 프로그램 등이 정상 동작하는지 여부를 점검하는 보안 모듈 등이 될 수 있다. 다만, 네이티브 모듈(106)의 종류가 이에 한정되는 것은 아니며, 본 발명의 실시예에 있어서 네이티브 모듈(106)은 네이티브(native)에서 동작하는 모든 종류의 모듈을 포함하는 넓은 의미로 사용된다. The web browser 102 is an application program for displaying a web page on the Internet on the screen of the terminal 100, and can be, for example, an explorer, a firefox, or a chrome. The web browser 102 may communicate with the native module 106 via the local web server 104. Here, the native module 106 is an application program or an application written in native code, for example, an authorized certificate management module for managing a public certificate stored in the terminal 100, or a vaccine program, A security module for checking whether a firewall program or the like operates normally or the like. However, the type of the native module 106 is not limited thereto, and in the embodiment of the present invention, the native module 106 is used in a broad sense including all kinds of modules operating in a native mode.

웹 브라우저(102)는 접속 도메인에 따라 정의된 전문, 예를 들어 전자 서명 요청 메시지, 단말(100) 내 존재하는 공인 인증서의 목록 요청 메시지, 단말(100) 내 설치된 백신 프로그램, 키보드 보안 프로그램, 개인 방화벽 프로그램 등의 정상 동작 여부 점검 요청 메시지 등을 로컬 웹 서버(104)로 송신할 수 있다. 예를 들어, 웹 브라우저(102)는 A 도메인에 접속시에는 전자 서명 요청 메시지를 로컬 웹 서버(104)로 송신하며, B 도메인에 접속시에는 단말(100) 내 설치된 백신 프로그램의 정상 동작 여부 점검 요청 메시지를 로컬 웹 서버(104)로 송신할 수 있다.The web browser 102 may include a specialization defined in accordance with the connection domain, for example, an electronic signature request message, a list request message of a public certificate existing in the terminal 100, a vaccine program installed in the terminal 100, A normal operation check request message such as a firewall program, and the like to the local web server 104. For example, when accessing the A domain, the web browser 102 transmits an electronic signature request message to the local web server 104. When accessing the B domain, the web browser 102 checks whether the anti- And send a request message to the local web server 104.

일 예시로서, 사용자가 단말(100)을 통해 은행 웹 페이지에 접속하여 계좌 이체에 관한 공인 인증을 수행하고자 하는 경우, 웹 브라우저(102)는 단말(100) 내 저장된 공인 인증서의 목록을 요청하는 내용의 전문을 로컬 웹 서버(104)로 송신할 수 있다. 로컬 웹 서버(104)는 웹 브라우저(102)로부터 수신한 전문을 분석하고, 해당 전문과 매칭되는 네이티브 모듈(106), 예를 들어 공인 인증서 관리 모듈을 호출할 수 있다. 웹 브라우저(102)의 접속 도메인, 전문 및 네이티브 모듈(106)은 기 매칭되어 있을 수 있으며, 로컬 웹 서버(104)는 웹 브라우저(102)로부터 수신한 전문에 따라 단말(100) 내 설치된 하나 이상의 네이티브 모듈(106)을 호출할 수 있다. 이때, 로컬 웹 서버(104)는 웹 브라우저(102)로부터 수신한 전문을 해당 네이티브 모듈(106)로 송신할 수 있다. 이후, 로컬 웹 서버(104)는 해당 전문에 따른 응답, 예를 들어 단말(100)에 저장된 공인 인증서의 목록을 네이티브 모듈(106)로부터 수신할 수 있다. 로컬 웹 서버(104)는 웹 브라우저(102)의 전문 송신에 대한 응답으로서 네이티브 모듈(106)로부터 수신한 응답, 예를 들어 단말(100) 내 저장된 공인 인증서의 목록을 웹 브라우저(102)로 송신할 수 있다. 본 발명의 실시예들에 따르면, 별도의 플러그 인의 사용 없이, 로컬 웹 서버(104)를 통해 웹 브라우저(102)와 네이티브 모듈(106) 간의 통신을 가능하게 할 수 있다. As an example, when a user accesses a bank web page through the terminal 100 and wants to perform public authentication on account transfer, the web browser 102 transmits a request for a list of authorized certificates stored in the terminal 100 Can be transmitted to the local web server 104. The local web server 104 may analyze the text received from the web browser 102 and may call the native module 106, for example, an authorized certificate management module, which matches the text. The local domain and the native domain 106 of the web browser 102 may match each other and the local web server 104 may be configured to match one or more domains installed in the terminal 100 Native module 106 may be called. At this time, the local web server 104 can transmit the message received from the web browser 102 to the corresponding native module 106. Thereafter, the local web server 104 may receive a response according to the specification, for example, a list of authorized certificates stored in the terminal 100, from the native module 106. The local web server 104 transmits a response received from the native module 106 as a response to the special transmission of the web browser 102, for example, a list of public certificates stored in the terminal 100 to the web browser 102 can do. According to embodiments of the present invention, communication between the web browser 102 and the native module 106 may be enabled via the local web server 104 without the use of a separate plug-in.

또한, 웹 브라우저(102)는 로컬 웹 서버(104)로부터 암호화 채널용(SSL : Secure Sockets Layer) 인증서를 발급받을 수 있다. 종래에는 웹 브라우저(102)의 접속 도메인에서 사용하는 통신 프로토콜과 해당 웹 브라우저(102)가 탑재된 단말(100) 내부에서 사용하는 통신 프로토콜이 서로 다른 경우(예를 들어, HTTPS를 사용하는 은행 웹 페이지에 웹 브라우저(102)가 접속한 상태에서 공인 인증을 위해 HTTP 통신을 수행하고자 하는 경우), 웹 브라우저(102)가 보안 상의 이유로 경고창을 띄우거나 해당 접속 도메인에서 수행하고자 하는 기능(예를 들어, 공인 인증 등)의 동작을 블록(block)시켰다. In addition, the web browser 102 may receive a Secure Sockets Layer (SSL) certificate from the local web server 104. When the communication protocol used in the connection domain of the web browser 102 is different from the communication protocol used in the terminal 100 on which the corresponding web browser 102 is mounted (for example, When the Web browser 102 displays an alert window for security reasons or performs a function to be performed in the connection domain (for example, when the Web browser 102 is connected to the Web browser 102 and wishes to perform HTTP communication for public authentication) , Official authentication, etc.) are blocked.

이러한 문제점을 방지하기 위해, 본 발명의 실시예들은 로컬 웹 서버(104)가 단말(100) 내에 네이티브 모듈(106)을 설치하는 과정에서 웹 브라우저(102)와의 HTTPS 통신을 위한 암호화 채널용 인증서를 웹 브라우저(102)에 발급하고, 이를 통해 웹 브라우저(102)와 로컬 웹 서버(104)와의 메시지 송수신을 위한 암호화 채널이 형성될 수 있도록 하였다. 구체적으로, 로컬 웹 서버(104)는 단말(100) 내에 네이티브 모듈(106)을 설치하는 과정에서 암호화 채널용 인증서와 키쌍(공개키, 개인키)을 생성하고, 사용자의 동의 하에 암호화 채널용 인증서를 웹 브라우저(102)에 등록할 수 있다. 로컬 웹 서버(104)는 생성된 암호화 채널용 인증서를 기반으로 웹 브라우저(102)와 키(key)를 공유하고, 이를 이용하여 웹 브라우저(102)와의 메시지 송수신을 위한 암호화 채널을 형성할 수 있다. 여기서, 암호화 채널용 인증서는 공인 인증 기관에서 발급된 공인 인증서가 아닌 로컬 웹 서버(104) 자신이 최상위 인증 기관이 되는 셀프 사인(Self-signed) 인증서이다. 즉, 단말(100)은 자신의 로컬 호스트(127.0.0.1)에 대해 암호화 채널용 인증서를 발급하게 되며, 이 경우 각 단말(100)별로 서로 다른 키쌍이 생성된다. 일반적인 SSL용 공인 인증서는 공인 인증 기관에서 발급되어 특정 도메인(예를 들어, www.naver.com)에서만 사용 가능하며, 이 경우 각 단말(100)은 동일한 공인 인증서를 사용하게 되어 각 단말(100)별로 서로 다른 암호화 채널이 형성될 수 없다. 그러나, 본 발명의 실시예들에 따르면, 단말(100) 각각이 셀프 사인 인증서(암호화 채널용 인증서)를 발급하여 각 단말(100)별로 서로 다른 키쌍을 생성하게 되므로, 각 단말(100)별로 서로 다른 암호화 채널이 형성될 수 있다. 이에 따라, 웹 브라우저(102)와 로컬 웹 서버(104)와의 통신 과정에서의 보안이 강화되며, HTTPS를 사용하는 웹 사이트에서 발생하는 보안 문제에 관한 경고창 출력 또는 오류 발생 등의 문제를 해결할 수 있다. In order to prevent such a problem, the embodiments of the present invention allow the local web server 104 to set a certificate for the encrypted channel for HTTPS communication with the web browser 102 in the process of installing the native module 106 in the terminal 100 To the web browser 102 so that an encrypted channel for sending and receiving messages between the web browser 102 and the local web server 104 can be formed. Specifically, the local web server 104 generates a certificate for the encrypted channel and a key pair (a public key and a private key) in the process of installing the native module 106 in the terminal 100, Can be registered in the web browser 102. The local web server 104 may share a key with the web browser 102 based on the generated certificate for the encrypted channel and form an encrypted channel for transmitting and receiving messages with the web browser 102 using the key . Here, the certificate for the encrypted channel is a self-signed certificate in which the local web server 104 itself is a top-level certificate authority, not a public certificate issued by an authorized certificate authority. That is, the terminal 100 issues a certificate for the encryption channel to its local host (127.0.0.1). In this case, a different key pair is generated for each terminal 100. In this case, each of the terminals 100 uses the same authorized certificate, so that each terminal 100 can use the same authorized certificate. In this case, the authorized certificate is issued by the authorized certification authority and is used only in a specific domain (for example, www.naver.com) Different encryption channels can not be formed. However, according to the embodiments of the present invention, each of the terminals 100 issues a self-signed certificate (certificate for the encrypted channel) to generate different key pairs for each terminal 100, Other encryption channels may be formed. Accordingly, the security in the process of communication between the web browser 102 and the local web server 104 is enhanced, and a problem of outputting an alert window or generating an error related to a security problem occurring in a web site using HTTPS can be solved .

한편, 로컬 웹 서버(104)는 단말(100) 내부에 프로그램 형태로 설치되어 동작하므로, 웹 브라우저(102)가 로컬 웹 서버(104)를 통해 네이티브 모듈(106)과 통신하기 위해서는 단말(100) 자체에서 로컬 웹 서버(104)의 정상 동작 여부를 확인할 수 있어야 한다. 여기서, 로컬 웹 서버(104)의 “정상 동작”이란 로컬 웹 서버(104)가 실행되어 네이티브 모듈(106)로부터 특정 서비스(예를 들어, 전자 서명 등)를 정상적으로 제공받을 수 있는 상태를 의미한다. 만약, 로컬 웹 서버(104)가 단말(100) 내 설치되어 있지 않거나, 또는 웹 브라우저(102)가 보안 상의 이유(예를 들어, 웹 브라우저(102)의 접속 도메인에서 사용하는 통신 프로토콜과 해당 웹 브라우저(102)가 탑재된 단말(100) 내부에서 사용하는 통신 프로토콜이 서로 다른 경우)로 경고창을 띄우거나 해당 접속 도메인에서 수행하고자 하는 기능의 동작을 블록(block)하는 경우, 웹 브라우저(102)는 전문이 로컬 웹 서버(104)에 정상적으로 전달되지 않았음에도 아무런 오류 메시지를 받지 못하거나 또는 이러한 오류 메시지를 받는 데 오랜 시간이 걸릴 수 있다. 만약, 웹 브라우저(102)가 아이프레임(Iframe)의 태그에 “onerror” 이벤트를 걸더라도, 웹 브라우저(102)는 여전히 오류 메시지를 받지 못하게 된다.The local web server 104 is installed and operated as a program in the terminal 100 so that the web browser 102 can access the terminal 100 in order to communicate with the native module 106 through the local web server 104. [ It should be possible to confirm whether the local web server 104 operates normally or not. Here, the " normal operation " of the local web server 104 means a state in which the local web server 104 is executed and a specific service (e.g., electronic signature, etc.) can be normally received from the native module 106 . If the local web server 104 is not installed in the terminal 100 or if the web browser 102 has a security reason (for example, a communication protocol used in the connection domain of the web browser 102, When a warning window is displayed or blocks the operation of a function to be performed in a corresponding connection domain, the web browser 102 may notify the user of the connection domain, May not receive any error message or take a long time to receive such an error message even though the message has not been normally transmitted to the local web server 104. [ Even if the web browser 102 issues an " onerror " event to the tag of the Iframe, the web browser 102 still does not receive the error message.

이러한 문제점을 해결하기 위해, 웹 브라우저(102)는 로컬 웹 서버(104)로의 전문 송신에 앞서 로컬 웹 서버(104)의 정상 동작 여부를 확인하기 위한 이미지 요청 메시지를 생성하여 로컬 웹 서버(104)로 송신할 수 있다. 이미지 요청 메시지는 로컬 웹 서버(104)에 저장된 특정 이미지의 URL 정보를 포함할 수 있다. 만약, 로컬 웹 서버(104)가 정상적으로 동작하고 있는 경우, 웹 브라우저(102)는 로컬 웹 서버(104)로부터 해당 이미지에 대한 정보를 포함하는 응답 메시지를 수신할 수 있으며 이 경우 로컬 웹 서버(104)가 정상 동작하고 있는 것으로 판단할 수 있다. 만약, 로컬 웹 서버(104)가 정상적으로 동작하고 있지 않거나 또는 단말(100)에 설치되어 있지 않은 경우, 웹 브라우저(102)는 이미지 요청 메시지에 대한 응답 메시지를 로컬 웹 서버(104)로부터 수신할 수 없으며, 이 경우 로컬 웹 서버(104)가 정상 동작하고 있지 않은 것으로 판단할 수 있다. In order to solve such a problem, the web browser 102 generates an image request message for confirming whether the local web server 104 operates normally before the special transmission to the local web server 104, As shown in FIG. The image request message may include URL information of a specific image stored in the local web server 104. If the local web server 104 is normally operating, the web browser 102 may receive a response message including information about the image from the local web server 104. In this case, the local web server 104 ) Is operating normally. If the local web server 104 is not operating normally or is not installed in the terminal 100, the web browser 102 can receive a response message for the image request message from the local web server 104 In this case, it can be determined that the local web server 104 is not operating normally.

만약, 웹 브라우저(102)가 기 설정된 시간(예를 들어, 1초) 동안 이미지 요청 메시지에 대한 응답 메시지를 수신하지 못하는 경우, 웹 브라우저(102)는 로컬 웹 서버(104)의 구동 URL로 접속하여 로컬 웹 서버(104)를 구동(또는 실행)시킬 수 있다. 예를 들어, 단말(100) 내에 로컬 웹 서버(104)가 설치되어 있으나, 로컬 웹 서버(104)가 현재 정상적으로 동작하고 있지 않아 웹 브라우저(102)가 기 설정된 시간 동안 이미지 요청 메시지에 대한 응답 메시지를 수신하지 못하는 경우, 웹 브라우저(102)는 외부 서버(미도시)의 “MangoWire://www.yettiesoft.com/execute_program” 로 접속하여 로컬 웹 서버(104)의 구동을 위한 파일을 실행시킬 수 있다. 또한, 단말(100) 내에 로컬 웹 서버(104)가 설치되어 있지 않아, 웹 브라우저(102)가 기 설정된 시간 동안 이미지 요청 메시지에 대한 응답 메시지를 수신하지 못하는 경우, 웹 브라우저(102)는 외부 서버의 “http://www.yettiesoft.com/install_program” 로 접속하여 로컬 웹 서버(104)를 단말(100)에 설치함으로써 로컬 웹 서버(104)를 구동시킬 수도 있다.If the web browser 102 fails to receive a response message for the image request message for a predetermined time (for example, one second), the web browser 102 transmits the response message to the operation URL of the local web server 104 Thereby enabling (or executing) the local web server 104. For example, if the local web server 104 is installed in the terminal 100 but the local web server 104 is not currently operating normally, the web browser 102 transmits a response message to the image request message The web browser 102 can access a file "MangoWire: // www.yettiesoft.com/execute_program" of an external server (not shown) to execute a file for running the local web server 104 have. If the local web server 104 is not installed in the terminal 100 and the web browser 102 fails to receive a response message for the image request message for a predetermined period of time, Quot; http://www.yettiesoft.com/install_program " of the local web server 104 to install the local web server 104 in the terminal 100 to drive the local web server 104.

이와 같은 과정을 통해 단말(100) 내 로컬 웹 서버(104)가 실행되어 정상적으로 동작하게 되며, 웹 브라우저(102)는 앞서 생성한 이미지 요청 메시지를 로컬 웹 서버(104)로 재송신하게 된다. 이후, 웹 브라우저(102)가 로컬 웹 서버(104)로부터 이미지 요청에 대한 응답 메시지를 수신하면, 웹 브라우저(102)는 접속 도메인에 따라 정의된 전문을 로컬 웹 서버(104)로 송신할 수 있다. 즉, 본 발명의 실시예들에 따르면, 웹 브라우저(102)가 로컬 웹 서버(104)로 송신한 이미지 요청 메시지에 대한 응답 메시지의 수신 여부를 통해 로컬 웹 서버(104)의 정상 동작 여부를 용이하게 확인할 수 있다. Through the above process, the local web server 104 in the terminal 100 is executed and operated normally, and the web browser 102 retransmits the generated image request message to the local web server 104. Thereafter, when the web browser 102 receives a response message to the image request from the local web server 104, the web browser 102 can transmit the defined definition to the local web server 104 according to the connected domain . That is, according to the embodiments of the present invention, whether or not the normal operation of the local web server 104 is facilitated through the reception of the response message to the image request message transmitted to the local web server 104 by the web browser 102 .

로컬 웹 서버(104)는 웹 브라우저(102)와 네이티브 모듈(106) 간의 통신을 중계한다. 로컬 웹 서버(104)는 단말(100) 내부에 프로그램 형태로 설치되어 동작할 수 있다. 상술한 바와 같이, 로컬 웹 서버(104)는 웹 브라우저(102)에 암호화 채널용 인증서를 발급하고, 발급한 암호화 채널용 인증서를 이용하여 웹 브라우저(102)와의 메시지 송수신을 위한 암호화 채널을 형성할 수 있다. The local web server 104 relays communication between the web browser 102 and the native module 106. [ The local web server 104 may be installed in the terminal 100 and operated in a program form. As described above, the local web server 104 issues a certificate for the encrypted channel to the web browser 102, and forms an encrypted channel for sending / receiving a message to / from the web browser 102 using the issued certificate for the encrypted channel .

또한, 로컬 웹 서버(104)는 웹 브라우저(102)로부터 이미지 요청 메시지를 수신하고, 이에 따른 응답 메시지를 웹 브라우저(102)로 송신할 수 있다. 상술한 바와 같이, 이미지 요청 메시지는 로컬 웹 서버(104)에 저장된 특정 이미지의 URL 정보를 포함할 수 있다. 로컬 웹 서버(104)는 이미지 요청 메시지에 포함된 이미지의 URL 정보를 이용하여 해당 이미지에 관한 정보를 포함하는 응답 메시지를 생성하고 이를 웹 브라우저(102)로 송신할 수 있다. 웹 브라우저(102)는 이미지 요청 메시지에 대한 응답 메시지를 로컬 웹 서버(104)로부터 수신할 수 있으며 이 경우 로컬 웹 서버(104)가 정상 동작하고 있는 것으로 판단할 수 있다. 이때, 웹 브라우저(102)는 로컬 웹 서버(104)로부터 응답 메시지를 수신하였는지의 여부만을 확인하면 족하며, 응답 메시지에 포함된 이미지 또는 이미지의 정보를 단말(100)의 화면 상에 표시할 필요는 없다. The local web server 104 may also receive an image request message from the web browser 102 and send a response message to the web browser 102 accordingly. As described above, the image request message may include URL information of a specific image stored in the local web server 104. [ The local web server 104 may generate a response message including information on the image using the URL information of the image included in the image request message and transmit the response message to the web browser 102. [ The web browser 102 may receive a response message to the image request message from the local web server 104 and may determine that the local web server 104 is operating normally. At this time, the web browser 102 only needs to check whether or not the response message is received from the local web server 104, and it is necessary to display the image or image information included in the response message on the screen of the terminal 100 There is no.

만약, 로컬 웹 서버(104)가 정상적으로 동작하고 있지 않거나 또는 단말(100)에 설치되어 있지 않은 경우, 웹 브라우저(102)는 이미지 요청 메시지에 대한 응답 메시지를 수신할 수 없으며 이 경우 로컬 웹 서버(104)가 정상 동작하고 있지 않은 것으로 판단할 수 있다. If the local web server 104 is not operating normally or is not installed in the terminal 100, the web browser 102 can not receive a response message for the image request message. In this case, the local web server 104 104 can not be normally operated.

로컬 웹 서버(104)가 이미지 요청 메시지에 대한 응답 메시지를 웹 브라우저(102)로 송신하는 경우, 웹 브라우저(102)는 로컬 웹 서버(104)가 정상 동작하고 있는 것으로 판단하고, 접속 도메인에 따라 정의된 전문을 로컬 웹 서버(104)로 송신할 수 있다. 로컬 웹 서버(104)는 웹 브라우저(102)로부터 수신한 전문을 분석하고, 단말(100) 내 설치된 하나 이상의 네이티브 모듈 중 수신한 전문과 매칭되는 네이티브 모듈(106)을 호출할 수 있다. 예를 들어, 웹 브라우저(102)로부터 수신한 전문에 전자 서명을 요청하는 내용이 포함되어 있는 경우, 로컬 웹 서버(104)는 전자 서명을 수행하는데 사용되는 네이티브 모듈(106), 예를 들어 공인 인증서 관리 모듈을 호출할 수 있다. 네이티브 모듈(106)은 로컬 웹 서버(104)의 호출에 따라 해당 전문에 포함된 요청을 수행하고, 이에 따른 응답을 로컬 웹 서버(104)로 송신할 수 있다. 예를 들어, 네이티브 모듈(106)은 로컬 웹 서버(104)로부터 수신한 전문에 따라 전자 서명을 수행하고, 로컬 웹 서버(104)의 호출에 대한 응답으로서 전자 서명문을 로컬 웹 서버(104)로 송신할 수 있다. 로컬 웹 서버(104)는 네이티브 모듈(106)로부터 수신한 응답, 예를 들어 전자 서명문을 웹 브라우저(102)로 송신할 수 있다. 본 발명의 실시예들에 따르면, 별도의 플러그 인의 사용 없이, 로컬 웹 서버(104)를 통해 웹 브라우저(102)와 네이티브 모듈(106) 간의 통신을 가능하게 할 수 있다.
When the local web server 104 transmits a response message to the image request message to the web browser 102, the web browser 102 determines that the local web server 104 is operating normally, And send the defined text to the local web server 104. The local web server 104 may analyze the message received from the web browser 102 and call the native module 106 that matches the message received from one or more native modules installed in the terminal 100. [ For example, if the content received from the web browser 102 includes a request for an electronic signature, the local web server 104 may include a native module 106 used to perform digital signatures, The certificate management module can be called. The native module 106 may perform a request contained in the message in response to the call of the local web server 104 and send a response to the message in the local web server 104. For example, the native module 106 performs an electronic signature according to the specializations received from the local web server 104 and sends a digital signature statement to the local web server 104 as a response to the call to the local web server 104. [ As shown in FIG. The local web server 104 may send a response, e. G., An electronic signature, received from the native module 106 to the web browser 102. According to embodiments of the present invention, communication between the web browser 102 and the native module 106 may be enabled via the local web server 104 without the use of a separate plug-in.

도 2는 본 발명의 일 실시예에 따른 웹 브라우저(102)와 네이티브 모듈(106) 간의 통신 방법을 설명하기 위한 흐름도이다. 여기서는, 단말(100) 내 로컬 웹 서버(104)가 정상적으로 동작하고 있는 경우를 가정하여 웹 브라우저(102)와 네이티브 모듈(106) 간의 통신 방법을 설명하기로 한다.2 is a flowchart illustrating a communication method between the web browser 102 and the native module 106 according to an embodiment of the present invention. Here, a communication method between the web browser 102 and the native module 106 will be described on the assumption that the local web server 104 in the terminal 100 operates normally.

먼저, 로컬 웹 서버(104)는 단말(100) 내에 네이티브 모듈(106)을 설치하는 과정에서 웹 브라우저(102)에 암호화 채널용 인증서를 발급하고(S202), 이를 이용하여 웹 브라우저(102)와의 메시지 송수신을 위한 암호화 채널을 형성한다(S204). 로컬 웹 서버(104)는 암호화 채널용 인증서와 키쌍(공개키, 개인키)을 생성하고, 사용자의 동의 하에 암호화 채널용 인증서를 웹 브라우저(102)에 등록할 수 있다. 로컬 웹 서버(104)는 생성된 암호화 채널용 인증서를 기반으로 웹 브라우저(102)와 키(key)를 공유하고, 이를 이용하여 웹 브라우저(102)와의 메시지 송수신을 위한 암호화 채널을 형성할 수 있다. 상술한 바와 같이, 암호화 채널용 인증서는 공인 인증 기관에서 발급된 공인 인증서가 아닌 로컬 웹 서버(104) 자신이 최상위 인증 기관이 되는 셀프 사인(Self-signed) 인증서이다. 단말(100)은 자신의 로컬 호스트(127.0.0.1)에 대해 암호화 채널용 인증서를 발급하게 되며, 이 경우 각 단말(100)별로 서로 다른 키쌍이 생성되고 각 단말(100)별로 서로 다른 암호화 채널이 형성될 수 있다. 이에 따라, 웹 브라우저(102)와 로컬 웹 서버(104)와의 통신 과정에서의 보안이 강화되며, HTTPS를 사용하는 웹 사이트에서 발생하는 보안 문제에 관한 경고창 출력 또는 오류 발생 등의 문제를 해결할 수 있다.First, the local web server 104 issues a certificate for the encrypted channel to the web browser 102 in the process of installing the native module 106 in the terminal 100 (S202) And forms an encryption channel for message transmission / reception (S204). The local web server 104 may generate a certificate for the encrypted channel and a key pair (public key, private key), and register the certificate for the encrypted channel in the web browser 102 with the user's consent. The local web server 104 may share a key with the web browser 102 based on the generated certificate for the encrypted channel and form an encrypted channel for transmitting and receiving messages with the web browser 102 using the key . As described above, the certificate for the encrypted channel is a self-signed certificate in which the local web server 104 itself is a top-level certificate authority, not a public certificate issued by an authorized certificate authority. The terminal 100 issues a certificate for the encryption channel to its local host 127.0.0.1. In this case, a different key pair is generated for each terminal 100 and a different encryption channel is generated for each terminal 100 . Accordingly, the security in the process of communication between the web browser 102 and the local web server 104 is enhanced, and a problem of outputting an alert window or generating an error related to a security problem occurring in a web site using HTTPS can be solved .

다음으로, 웹 브라우저(102)는 이미지 요청 메시지를 로컬 웹 서버(104)로 송신한다(S206). 이미지 요청 메시지는 단말(100) 내 로컬 웹 서버(104)의 정상 동작 여부를 확인하기 위한 메시지로서, 로컬 웹 서버(104)에 저장된 특정 이미지의 URL 정보를 포함할 수 있다. 상술한 바와 같이, 로컬 웹 서버(104)는 단말(100) 내에 프로그램 형태로 설치되어 동작하므로, 단말(100) 자체에서 로컬 웹 서버(104)의 정상 동작 여부를 확인하여야 한다.Next, the web browser 102 transmits an image request message to the local web server 104 (S206). The image request message is a message for confirming normal operation of the local web server 104 in the terminal 100 and may include URL information of a specific image stored in the local web server 104. [ As described above, since the local web server 104 is installed in a form of a program in the terminal 100, the terminal 100 itself should check whether the local web server 104 operates normally.

로컬 웹 서버(104)가 정상적으로 동작하고 있는 경우, 로컬 웹 서버(104)는 해당 이미지에 대한 정보를 포함하는 응답 메시지를 웹 브라우저(102)로 송신한다(S208). 웹 브라우저(102)는 예를 들어, 기 설정된 시간(예를 들어, 1초) 이내에 로컬 웹 서버(104)로부터 응답 메시지를 수신하는 경우 로컬 웹 서버(104)가 정상 동작하고 있는 것으로 판단할 수 있다. If the local web server 104 is operating normally, the local web server 104 transmits a response message including information on the image to the web browser 102 (S208). The web browser 102 may determine that the local web server 104 is operating normally when receiving a response message from the local web server 104 within a predetermined period of time (for example, one second) have.

다음으로, 웹 브라우저(102)는 접속 도메인에 따라 정의된 전문을 로컬 웹 서버(104)로 송신한다(S210). 여기서, 전문은 예를 들어, 전자 서명 요청, 공인 인증서 목록 요청, 개인 방화벽의 정상 동작 여부 점검 요청 등의 내용을 포함할 수 있다. 다만, 이는 하나의 실시예에 불과하며, 전문에 포함된 내용이 이에 한정되는 것은 아니다. 전문에 포함된 내용은 웹 브라우저(102)와 네이티브 모듈(106) 간의 통신이 필요한 모든 항목에 적용될 수 있으며, 웹 브라우저(102)의 접속 도메인의 서비스에 따라 달라질 수 있다. Next, the web browser 102 transmits the definition defined according to the connection domain to the local web server 104 (S210). Here, the text may include, for example, a request for an electronic signature, a request for a list of authorized certificates, a request for checking whether the personal firewall is operating normally, and the like. However, this is merely an example and the contents included in the specification are not limited thereto. The contents included in the specialization may be applied to all items requiring communication between the web browser 102 and the native module 106 and may vary depending on the service of the connection domain of the web browser 102. [

다음으로, 로컬 웹 서버(104)는 웹 브라우저(102)로부터 수신한 전문을 분석하고, 해당 전문과 매칭되는 네이티브 모듈(106)을 호출한다(S212). 예를 들어, 웹 브라우저(102)로부터 수신한 전문에 전자 서명을 요청하는 내용이 포함되어 있는 경우, 로컬 웹 서버(104)는 전자 서명을 수행하는데 사용되는 네이티브 모듈(106), 예를 들어 공인 인증서 관리 모듈을 호출할 수 있다. 이 경우, 로컬 웹 서버(104)는 네이티브 모듈(106)의 호출과 함께 웹 브라우저(102)로부터 수신한 전문을 해당 네이티브 모듈(106)로 송신할 수 있다. Next, the local web server 104 analyzes the message received from the web browser 102 and calls the native module 106 matching the message (S212). For example, if the content received from the web browser 102 includes a request for an electronic signature, the local web server 104 may include a native module 106 used to perform digital signatures, The certificate management module can be called. In this case, the local web server 104 can transmit the message received from the web browser 102 to the corresponding native module 106 together with the call of the native module 106.

다음으로, 네이티브 모듈(106)은 로컬 웹 서버(104)의 호출에 따라 해당 전문에 포함된 요청을 수행하고, 이에 따른 응답을 로컬 웹 서버(104)로 송신한다(S214). 예를 들어, 네이티브 모듈(106)은 로컬 웹 서버(104)로부터 수신한 전문에 따라 전자 서명을 수행하고, 로컬 웹 서버(104)의 호출에 대한 응답으로서 전자 서명문을 로컬 웹 서버(104)로 송신할 수 있다. Next, the native module 106 performs a request included in the message according to the call of the local web server 104, and transmits a response to the request in the local web server 104 (S214). For example, the native module 106 performs an electronic signature according to the specializations received from the local web server 104 and sends a digital signature statement to the local web server 104 as a response to the call to the local web server 104. [ As shown in FIG.

마지막으로, 로컬 웹 서버(104)는 네이티브 모듈(106)로부터 수신한 응답, 예를 들어 전자 서명문을 웹 브라우저(102)로 송신한다(S216).
Finally, the local web server 104 transmits a response, for example, a digital signature, received from the native module 106 to the web browser 102 (S216).

도 3은 본 발명의 다른 실시예에 따른 웹 브라우저(102)와 네이티브 모듈(106) 간의 통신 방법을 설명하기 위한 흐름도이다. 여기서는, 단말(100) 내 로컬 웹 서버(104)가 정상적으로 동작하고 있지 않는 경우(예를 들어, 로컬 웹 서버(104)가 실행되지 않은 상태)를 가정하여 웹 브라우저(102)와 네이티브 모듈(106) 간의 통신 방법을 설명하기로 하며, 도 2에서 설명한 부분과 중복되는 부분에 대해서는 간략히 설명하기로 한다.3 is a flowchart illustrating a communication method between the web browser 102 and the native module 106 according to another embodiment of the present invention. Here, assuming that the local web server 104 in the terminal 100 does not operate normally (for example, the local web server 104 is not running), the web browser 102 and the native module 106 ) Will be described. A portion overlapping with the portion described in FIG. 2 will be briefly described.

먼저, 로컬 웹 서버(104)는 단말(100) 내에 네이티브 모듈(106)을 설치하는 과정에서 웹 브라우저(102)에 암호화 채널용 인증서를 발급하고(S302), 이를 이용하여 웹 브라우저(102)와의 메시지 송수신을 위한 암호화 채널을 형성한다(S304). First, the local web server 104 issues a certificate for the encrypted channel to the web browser 102 in the process of installing the native module 106 in the terminal 100 (S302) And forms an encryption channel for message transmission / reception (S304).

다음으로, 웹 브라우저(102)는 이미지 요청 메시지를 로컬 웹 서버(104)로 송신한다(S306).Next, the web browser 102 transmits an image request message to the local web server 104 (S306).

웹 브라우저(102)가 로컬 웹 서버(104)로부터 이미지 요청 메시지에 대한 응답 메시지를 기 설정된 시간 동안 수신하지 못하는 경우, 웹 브라우저(102)는 로컬 웹 서버(104)가 정상적으로 동작하고 있지 않은 것으로 판단하고, 로컬 웹 서버(104)의 구동 URL로 접속하여 로컬 웹 서버(104)를 구동시킨다(S308). 예를 들어, 단말(100) 내에 로컬 웹 서버(104)가 설치되어 있으나, 로컬 웹 서버(104)가 현재 정상적으로 동작하고 있지 않아 웹 브라우저(102)가 기 설정된 시간 동안 이미지 요청 메시지에 대한 응답 메시지를 수신하지 못하는 경우, 웹 브라우저(102)는 외부 서버의 “MangoWire://www.yettiesoft.com/execute_program” 로 접속하여 로컬 웹 서버(104)의 구동을 위한 파일을 실행시킬 수 있다. 또한, 단말(100) 내에 로컬 웹 서버(104)가 설치되어 있지 않아, 웹 브라우저(102)가 기 설정된 시간 동안 이미지 요청 메시지에 대한 응답 메시지를 수신하지 못하는 경우, 웹 브라우저(102)는 외부 서버의 “http://www.yettiesoft.com/install_program” 로 접속하여 로컬 웹 서버(104)를 단말(100)에 설치함으로써 로컬 웹 서버(104)를 구동시킬 수도 있다. 이와 같은 과정을 통해 단말(100) 내 로컬 웹 서버(104)가 실행되어 정상적으로 동작하게 된다.If the web browser 102 fails to receive a response message for the image request message from the local web server 104 for a predetermined period of time, the web browser 102 determines that the local web server 104 is not operating normally , And connects to the driving URL of the local web server 104 to drive the local web server 104 (S308). For example, if the local web server 104 is installed in the terminal 100 but the local web server 104 is not currently operating normally, the web browser 102 transmits a response message to the image request message The web browser 102 can access the external server "MangoWire: //www.yettiesoft.com/execute_program" to execute the file for driving the local web server 104. [ If the local web server 104 is not installed in the terminal 100 and the web browser 102 fails to receive a response message for the image request message for a predetermined period of time, Quot; http://www.yettiesoft.com/install_program " of the local web server 104 to install the local web server 104 in the terminal 100 to drive the local web server 104. Through the above process, the local web server 104 in the terminal 100 is executed and operates normally.

다음으로, 웹 브라우저(102)는 S306 단계에서 생성한 이미지 요청 메시지를 로컬 웹 서버(104)로 재송신한다(S310).Next, the web browser 102 retransmits the image request message generated in step S306 to the local web server 104 (S310).

S308 단계에 의해 로컬 웹 서버(104)가 정상적으로 동작하게 되므로, 로컬 웹 서버(104)는 웹 브라우저(102)의 이미지 요청 메시지에 대한 응답 메시지를 웹 브라우저(102)로 송신한다(S312).The local web server 104 transmits a response message to the image request message of the web browser 102 to the web browser 102 in step S312 because the local web server 104 normally operates in step S308.

다음으로, 웹 브라우저(102)는 접속 도메인에 따라 정의된 전문을 로컬 웹 서버(104)로 송신한다(S314).Next, the web browser 102 transmits the definition defined according to the connection domain to the local web server 104 (S314).

다음으로, 로컬 웹 서버(104)는 웹 브라우저(102)로부터 수신한 전문을 분석하고, 해당 전문과 매칭되는 네이티브 모듈(106)을 호출한다(S316).Next, the local web server 104 analyzes the message received from the web browser 102 and calls the native module 106 matching the message (S316).

다음으로, 네이티브 모듈(106)은 로컬 웹 서버(104)의 호출에 따라 해당 전문에 포함된 요청을 수행하고, 이에 따른 응답을 로컬 웹 서버(104)로 송신한다(S318).Next, the native module 106 performs a request included in the corresponding specialized message according to the call of the local web server 104, and transmits a response to the request, to the local web server 104 (S318).

마지막으로, 로컬 웹 서버(104)는 네이티브 모듈(106)로부터 수신한 응답, 예를 들어 전자 서명문을 웹 브라우저(102)로 송신한다(S320).
Finally, the local web server 104 transmits a response, for example, a digital signature, received from the native module 106 to the web browser 102 (S320).

이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 전술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, I will understand. Therefore, the scope of the present invention should not be limited to the above-described embodiments, but should be determined by equivalents to the appended claims, as well as the appended claims.

100 : 단말
102 : 웹 브라우저
104 : 로컬 웹 서버
106 : 네이티브 모듈
100: terminal
102: Web browser
104: Local Web server
106: Native module

Claims (10)

단말 내 웹 브라우저에서, 상기 단말 내 로컬 웹 서버의 정상 동작 여부를 확인하기 위한 이미지 요청 메시지를 상기 로컬 웹 서버로 송신하는 단계;
상기 웹 브라우저에서, 상기 이미지 요청 메시지에 대한 응답 메시지를 상기 로컬 웹 서버로부터 수신하는 경우 상기 웹 브라우저의 접속 도메인에 따라 정의된 전문을 상기 로컬 웹 서버로 송신하는 단계;
상기 로컬 웹 서버에서, 상기 전문에 따라 상기 단말 내 네이티브 모듈(native module)을 호출하는 단계; 및
상기 로컬 웹 서버에서, 상기 네이티브 모듈로부터 상기 전문에 따른 응답을 수신하여 상기 웹 브라우저로 송신하는 단계를 포함하는, 웹 브라우저와 네이티브 모듈 간의 통신 방법.
Transmitting to the local web server an image request message for confirming whether the local web server in the terminal is operating normally in the terminal web browser;
Transmitting, in the web browser, a message defined according to a connection domain of the web browser to the local web server when receiving a response message to the image request message from the local web server;
Invoking a native module in the terminal according to the message at the local web server; And
Receiving, at the local web server, a response from the native module in accordance with the specialization, and transmitting the response to the web browser.
청구항 1에 있어서,
상기 이미지 요청 메시지를 상기 로컬 웹 서버로 송신하는 단계 이전에,
상기 로컬 웹 서버에서, 상기 단말 내에 상기 네이티브 모듈을 설치하는 과정에서 상기 웹 브라우저에 암호화 채널용 인증서를 발급하고, 상기 암호화 채널용 인증서를 이용하여 상기 웹 브라우저와의 메시지 송수신을 위한 암호화 채널을 형성하는 단계를 더 포함하는, 웹 브라우저와 네이티브 모듈 간의 통신 방법.
The method according to claim 1,
Prior to transmitting the image request message to the local web server,
In the local web server, a certificate for the encrypted channel is issued to the web browser in the process of installing the native module in the terminal, and an encryption channel for transmitting and receiving messages with the web browser is formed using the certificate for the encrypted channel The method further comprising the steps of:
청구항 1에 있어서,
상기 웹 브라우저에서, 기 설정된 시간 동안 상기 응답 메시지가 수신되지 않는 경우, 상기 로컬 웹 서버의 구동 URL로 접속하여 상기 로컬 웹 서버를 구동시키는 단계를 더 포함하는, 웹 브라우저와 네이티브 모듈 간의 통신 방법.
The method according to claim 1,
Further comprising the steps of: if the response message is not received within a predetermined time in the web browser, activating the local web server by accessing a driving URL of the local web server.
청구항 3에 있어서,
상기 로컬 웹 서버를 구동시키는 단계 이후,
상기 웹 브라우저에서, 상기 이미지 요청 메시지를 상기 로컬 웹 서버로 재송신하는 단계를 더 포함하는, 웹 브라우저와 네이티브 모듈 간의 통신 방법.
The method of claim 3,
After running the local web server,
Further comprising, in the web browser, retransmitting the image request message to the local web server.
청구항 1에 있어서,
상기 이미지 요청 메시지는, 상기 로컬 웹 서버에 저장된 특정 이미지의 URL 정보를 포함하는, 웹 브라우저와 네이티브 모듈 간의 통신 방법.
The method according to claim 1,
Wherein the image request message includes URL information of a specific image stored in the local web server.
내부에 설치된 웹 브라우저와 네이티브 모듈(native module) 간의 통신을 수행하기 위한 단말로서,
상기 단말 내 로컬 웹 서버의 정상 동작 여부를 확인하기 위한 이미지 요청 메시지를 상기 로컬 웹 서버로 송신하고, 상기 이미지 요청 메시지에 대한 응답 메시지를 상기 로컬 웹 서버로부터 수신하는 경우 상기 웹 브라우저의 접속 도메인에 따라 정의된 전문을 상기 로컬 웹 서버로 송신하는 웹 브라우저; 및
상기 전문에 따라 상기 네이티브 모듈을 호출하고, 상기 네이티브 모듈로부터 상기 전문에 따른 응답을 수신하여 상기 웹 브라우저로 송신하는 로컬 웹 서버를 포함하는, 단말.
1. A terminal for performing communication between a web browser installed in an internal unit and a native module,
And transmits an image request message to the local web server for confirming whether the local web server in the terminal is normally operating, and when receiving a response message for the image request message from the local web server, A web browser for transmitting the defined text to the local web server; And
And a local web server that calls the native module according to the message and receives a response according to the message from the native module and transmits the response to the web browser.
청구항 6에 있어서,
상기 로컬 웹 서버는, 상기 단말 내에 상기 네이티브 모듈을 설치하는 과정에서 상기 웹 브라우저에 암호화 채널용 인증서를 발급하고, 상기 암호화 채널용 인증서를 이용하여 상기 웹 브라우저와의 메시지 송수신을 위한 암호화 채널을 형성하는, 단말.
The method of claim 6,
The local web server issues a certificate for the encrypted channel to the web browser in the process of installing the native module in the terminal and forms an encrypted channel for transmitting and receiving messages with the web browser using the certificate for the encrypted channel Terminal.
청구항 6에 있어서,
상기 웹 브라우저는, 기 설정된 시간 동안 상기 응답 메시지가 수신되지 않는 경우, 상기 로컬 웹 서버의 구동 URL로 접속하여 상기 로컬 웹 서버를 구동시키는, 단말.
The method of claim 6,
Wherein the web browser connects to a driving URL of the local web server and drives the local web server when the response message is not received for a preset time.
청구항 8에 있어서,
상기 웹 브라우저는, 상기 로컬 웹 서버를 구동시킨 이후, 상기 이미지 요청 메시지를 상기 로컬 웹 서버로 재송신하는, 단말.
The method of claim 8,
Wherein the web browser retransmits the image request message to the local web server after driving the local web server.
청구항 6에 있어서,
상기 이미지 요청 메시지는, 상기 로컬 웹 서버에 저장된 특정 이미지의 URL 정보를 포함하는, 단말.
The method of claim 6,
Wherein the image request message includes URL information of a specific image stored in the local web server.
KR1020140177562A 2014-12-10 2014-12-10 Method for communicating between web browser and native module, and terminal for executing the same KR101624221B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140177562A KR101624221B1 (en) 2014-12-10 2014-12-10 Method for communicating between web browser and native module, and terminal for executing the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140177562A KR101624221B1 (en) 2014-12-10 2014-12-10 Method for communicating between web browser and native module, and terminal for executing the same

Publications (1)

Publication Number Publication Date
KR101624221B1 true KR101624221B1 (en) 2016-05-25

Family

ID=56114627

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140177562A KR101624221B1 (en) 2014-12-10 2014-12-10 Method for communicating between web browser and native module, and terminal for executing the same

Country Status (1)

Country Link
KR (1) KR101624221B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101815145B1 (en) * 2016-06-28 2018-01-05 한국전자인증(주) Certificate sharing method between cross domain

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101446504B1 (en) 2014-07-30 2014-11-04 주식회사위즈베라 Digital Signature Method Executed By Client Program Which Is Operated Independently From Web Browser

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101446504B1 (en) 2014-07-30 2014-11-04 주식회사위즈베라 Digital Signature Method Executed By Client Program Which Is Operated Independently From Web Browser

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101815145B1 (en) * 2016-06-28 2018-01-05 한국전자인증(주) Certificate sharing method between cross domain

Similar Documents

Publication Publication Date Title
US20140181842A1 (en) Secure mobile app connection bus
JP6105721B2 (en) Start of corporate trigger type 2CHK association
JP5663123B2 (en) A new method for secure user authentication and site authentication
CN109639661B (en) Server certificate updating method, device, equipment and computer readable storage medium
TW201929482A (en) Identity authentication method and system, and computing device
US11895107B2 (en) Browser extension for validating communications
CN105072125B (en) A kind of http communication system and method
KR102186114B1 (en) Method, system, and medium for using dynamic public key infrastructure to transmit and receive encrypted messages
JP2014501953A5 (en)
KR20060100920A (en) Trusted third party authentication for web services
US10305913B2 (en) Authentication control device and authentication control method
US20080229109A1 (en) Human-recognizable cryptographic keys
CN113992346B (en) Implementation method of security cloud desktop based on national security reinforcement
KR101879758B1 (en) Method for Generating User Digital Certificate for Individual User Terminal and for Authenticating Using the Same Digital Certificate
JP2015194879A (en) Authentication system, method, and provision device
CN111510448A (en) Communication encryption method, device and system in OTA (over the air) upgrade of automobile
CN114218510A (en) Service page display method, device and equipment
KR100326361B1 (en) Method for transmitting security e-mail using cipher and certification on internet web
KR101624221B1 (en) Method for communicating between web browser and native module, and terminal for executing the same
CN113434882A (en) Communication protection method and device of application program, computer equipment and storage medium
KR101619928B1 (en) Remote control system of mobile
KR100876320B1 (en) Web service security system and method using an embedded security server.
KR20150144009A (en) Terminal, system and method for verifying falsification of web page using the same
CN107153791B (en) Data presentation method and electronic equipment
CN106453291B (en) Electronic signing user management method and system

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190321

Year of fee payment: 4