Nothing Special   »   [go: up one dir, main page]

JP6451963B1 - Communications system - Google Patents

Communications system Download PDF

Info

Publication number
JP6451963B1
JP6451963B1 JP2017206618A JP2017206618A JP6451963B1 JP 6451963 B1 JP6451963 B1 JP 6451963B1 JP 2017206618 A JP2017206618 A JP 2017206618A JP 2017206618 A JP2017206618 A JP 2017206618A JP 6451963 B1 JP6451963 B1 JP 6451963B1
Authority
JP
Japan
Prior art keywords
unit
web browser
web
native application
application unit
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2017206618A
Other languages
Japanese (ja)
Other versions
JP2019071598A (en
Inventor
治 寺田
治 寺田
Original Assignee
治 寺田
治 寺田
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 治 寺田, 治 寺田 filed Critical 治 寺田
Priority to JP2017206618A priority Critical patent/JP6451963B1/en
Application granted granted Critical
Publication of JP6451963B1 publication Critical patent/JP6451963B1/en
Publication of JP2019071598A publication Critical patent/JP2019071598A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】ウェブブラウザを介したネイティブアプリケーションとウェブアプリケーション間の通信において、非正規のアクセスを防止する方法、通信システムおよび通信プログラムを提供する。【解決手段】ネイティブアプリケーションとウェブアプリケーションは、任意の方法によって共通鍵を共有し、以降のウェブブラウザを介したネイティブアプリケーションとウェブアプリケーション間の通信を、共有した共通鍵によって暗号化し、保護する。【選択図】図1Provided are a method, a communication system, and a communication program for preventing unauthorized access in communication between a native application and a web application via a web browser. A native application and a web application share a common key by an arbitrary method, and communication between the native application and the web application via the web browser thereafter is encrypted and protected by the shared common key. [Selection] Figure 1

Description

本発明はウェブアプリケーションとネイティブアプリケーションがウェブブラウザを介して安全に通信する方法、通信システムおよび通信プログラムに関するものである。The present invention relates to a method, a communication system, and a communication program for securely communicating a web application and a native application via a web browser.

ウェブアプリケーションの需要が高まる中で、ウェブアプリケーション上で高度な処理を行う事が求められている。ウェブアプリケーション上で高度な処理を行う方法として、ウェブアプリケーションにまだ広く利用されていない機能の一つは、実行可能コード(すなわち、JavaScriptコード)が、ウェブブラウザが動作している同じ端末上で動作するネイティブアプリケーションにアクセスできるようにする機能である。As demand for web applications increases, it is required to perform advanced processing on web applications. As a method for performing advanced processing on a web application, one of the functions not yet widely used in web applications is that executable code (that is, JavaScript code) runs on the same terminal where the web browser is running. It is a function that allows you to access the native application you want.

特表2016−517571Special table 2016-517571

WebSocketが切り開くネイティブアプリとWebアプリの融合、ネイティブアプリのGUIツールキットとしてのHTML http://d.hatena.ne.jp/eel3/20120901/1346438606Fusion of native application and web application opened by WebSocket, HTML http: / d. hatena. ne. jp / eel3 / 20120901/1344643866

ネイティブアプリケーションとウェブアプリケーションがウェブブラウザを介して通信する場合、ウェブブラウザとウェブアプリケーション間、またはウェブブラウザとネイティブアプリケーション間の通信はSSL通信により暗号化が可能であったが、ウェブブラウザ上に展開されるHTMLコンテンツの情報はユーザーが容易に改竄できるため、通信の改竄傍受が可能であった。
本発明の目的は、ウェブアプリケーションと、ウェブブラウザと同端末上で実行されるネイティブアプリケーションの通信において、非正規のウェブアプリケーションとの通信や、第三者のなりすましによる通信の改竄傍受から、通信内容を保護し、また不正な通信による命令を排除する方法を提供することである。
When a native application and a web application communicate with each other via a web browser, the communication between the web browser and the web application or between the web browser and the native application can be encrypted by SSL communication, but is deployed on the web browser. Since the HTML content information can be easily tampered by the user, tampering of communication can be intercepted.
The object of the present invention is to communicate between a web application and a native application executed on the same terminal as the web browser, from communication with an unauthorized web application or from tampering with communication by impersonation of a third party. Is provided, and a method for eliminating commands caused by unauthorized communication is provided.

ウェブブラウザと同じ端末上で実行されるネイティブアプリケーションに対するウェブアプリケーションからのアクセスについて、ウェブブラウザが実行可能コードを含むコンテンツを受信することと、ウェブブラウザが実行可能コードを実行することと、ウェブブラウザがネイティブアプリケーションと通信を行うことと、ウェブブラウザがウェブアプリケーションと通信を行うことと、ネイティブアプリケーションとウェブアプリケーションが共通鍵を共有することと、ネイティブアプリケーションが電文を暗号化して送信することと、ウェブアプリケーションが電文を暗号化して送信することで、通信内容を保護することができる。For access from a web application to a native application that runs on the same device as the web browser, the web browser receives content containing executable code, the web browser executes executable code, and the web browser Communicating with the native application, the web browser communicating with the web application, the native application and the web application sharing a common key, the native application encrypting and sending a message, and the web application By encrypting and transmitting a message, communication contents can be protected.

本発明の実施形態を示すブロック図The block diagram which shows embodiment of this invention ネイティブアプリケーションからウェブアプリケーションに共通鍵を送信する場合の実施形態を示すブロック図A block diagram showing an embodiment when a common key is transmitted from a native application to a web application ウェブアプリケーションからネイティブアプリケーションに共通鍵を送信する場合の実施形態を示すブロック図A block diagram showing an embodiment when a common key is transmitted from a web application to a native application ウェブアプリケーションとネイティブアプリケーションにパスワードを設定してパスワードから共通鍵を生成する場合の実施形態を示すブロック図A block diagram showing an embodiment when a common key is generated from a password by setting a password for a web application and a native application ネイティブアプリケーションからウェブアプリケーションに共通鍵を送信する場合の共通鍵の取得方法を示すフローチャートA flowchart showing a method for acquiring a common key when a common key is transmitted from a native application to a web application ウェブアプリケーションからネイティブアプリケーションに共通鍵を送信する場合の共通鍵の取得方法を示すフローチャートA flowchart showing a method for acquiring a common key when a common key is transmitted from a web application to a native application ネイティブアプリケーションからウェブアプリケーションに電文を送信するためのフローチャートFlow chart for sending a message from a native application to a web application ウェブアプリケーションからネイティブアプリケーションに電文を送信するためのフローチャートFlow chart for sending a message from a web application to a native application

ウェブブラウザと同端末上で実行されるネイティブアプリケーションとウェブアプリケーションの通信において、非正規のアクセスによって、通信内容を改竄傍受されることを防止する方法は、ネイティブアプリケーションが電文の暗号化または復号化を可能にする事を含み、ネイティブアプリケーションがウェブブラウザと通信するウェブサーバーを組み込み、ウェブサーバーが電文の暗号化または復号化を可能にする事を含み、その結果、ネイティブアプリケーションとウェブアプリケーションの通信において、通信内容の保護、または不正な通信による命令を排除することが出来る。
たとえば、ウェブアプリケーション提供者が、提供するウェブアプリケーションに対応したネイティブアプリケーションを発行し、ウェブアプリケーションのユーザーがネイティブアプリケーションをインストール済みの場合は、ウェブブラウザとウェブアプリケーションが通信を行い、ウェブブラウザとネイティブアプリケーションが通信を行うことで、ウェブアプリケーションとネイティブアプリケーションの相互通信が可能となる。
または、第三者が発行するネイティブアプリケーションの通信機能に、ウェブアプリケーションが対応することで、ウェブアプリケーションとネイティブアプリケーションの相互通信が可能となる。
さらにウェブアプリケーションとネイティブアプリケーションの双方が同一の共通鍵を共有し、共有した共通鍵によって通信内容を暗号化または復号化することによって、通信の内容を保護することが出来る。
In a communication between a native application and a web application executed on the same terminal as the web browser, the method of preventing tampering and interception of the communication contents due to unauthorized access is to allow the native application to encrypt or decrypt a message. Including a web application that the native application communicates with the web browser, allowing the web server to encrypt or decrypt messages, so that in communication between the native application and the web application, It is possible to protect the contents of communication or eliminate the command due to unauthorized communication.
For example, if a web application provider issues a native application corresponding to the web application to be provided and the web application user has installed the native application, the web browser communicates with the web application, and the web browser and native application By performing communication, mutual communication between the web application and the native application becomes possible.
Alternatively, the web application corresponds to the communication function of the native application issued by a third party, so that the web application and the native application can communicate with each other.
Furthermore, both the web application and the native application share the same common key, and the communication content can be protected by encrypting or decrypting the communication content using the shared common key.

図1は、ネイティブアプリケーションとウェブアプリケーションの通信において、安全な通信を提供するためのシステムの実施形態を例示する機能ブロック図である。クライアント端末100は、ワールドワイドウェブにアクセスすることが可能で、かつネットワーク150を通じてウェブサーバー141に接続されうる任意のコンピュータデバイスでありうる。ネットワーク150は、HTTP、またはHTTPS、またはウェブソケット、またはその他いかなる通信プロトコルでもありうる。FIG. 1 is a functional block diagram illustrating an embodiment of a system for providing secure communication in communication between a native application and a web application. The client terminal 100 can be any computer device that can access the World Wide Web and can be connected to the web server 141 through the network 150. The network 150 can be HTTP, HTTPS, or web socket, or any other communication protocol.

ウェブアプリケーション131は、1つ以上のウェブページ103の形のコンテンツを保持し、配信することができる。HTMLコンテンツ103はHTMLコンテンツを含む様々なウェブベースのコンテンツを含むことができる。ネットワーク150は、任意の広域ネットワークまたはローカルエリアネットワークでありうるし、また、ワールドワイドウェブでありうる。The web application 131 can hold and distribute content in the form of one or more web pages 103. The HTML content 103 can include a variety of web-based content including HTML content. The network 150 can be any wide area network or local area network, and can be the World Wide Web.

クライアント端末100は、図1において、ワールドワイドウェブにアクセス可能な簡略化されたデバイスとして示されている。当業者は、クライアント端末100が、簡略化のために図1では省略されている多くのその他の構成要素を有していることを理解する。クライアント端末100は、ネイティブアプリケーション101とウェブブラウザ102を含む。
ネイティブアプリケーション101は、ウェブアプリケーション131または第三者のサーバーからクライアント端末100にダウンロードされ、実行される。ネイティブアプリケーション101は、ひとつまたは複数の、任意のモジュールまたはアプリケーションでありうる。
The client terminal 100 is shown in FIG. 1 as a simplified device that can access the World Wide Web. Those skilled in the art will appreciate that the client terminal 100 has many other components that are omitted in FIG. 1 for simplicity. The client terminal 100 includes a native application 101 and a web browser 102.
The native application 101 is downloaded from the web application 131 or a third party server to the client terminal 100 and executed. The native application 101 can be one or a plurality of arbitrary modules or applications.

組込ウェブサーバー113は、任意のポートでネットワーク104の接続を待ち受けすることができる。
組込ウェブサーバー113は任意の制御フローに基づき、電文復号化部111、または電文暗号化部112のいづれかと通信し、任意の情報をネットワーク104を通じてネイティブアプリケーション通信部121に送信することができる。
また、組込ウェブサーバー113は任意の制御フローに基づき、ネイティブアプリケーション通信部121と、任意の情報を相互に通信することができる。
The embedded web server 113 can listen to the connection of the network 104 at an arbitrary port.
The embedded web server 113 can communicate with either the message decryption unit 111 or the message encryption unit 112 based on an arbitrary control flow, and transmit arbitrary information to the native application communication unit 121 via the network 104.
The embedded web server 113 can communicate arbitrary information with the native application communication unit 121 based on an arbitrary control flow.

共通鍵114は、AES、またはDES、またはPBEを共通鍵暗号化方式として用いて作成された共通鍵データである。The common key 114 is common key data created using AES, DES, or PBE as a common key encryption method.

共通鍵114と共通鍵145は、任意の方法によって共有された、同一の共通鍵データである。The common key 114 and the common key 145 are the same common key data shared by an arbitrary method.

クライアント端末100とウェブアプリケーション131が任意の方法で共通鍵データを交換し、共通鍵114と共通鍵145が設置されると、以降はネイティブアプリケーション101とウェブアプリケーション131の間で、共通鍵暗号化方式による暗号化通信が可能となる。When the client terminal 100 and the web application 131 exchange common key data by an arbitrary method and the common key 114 and the common key 145 are installed, the common key encryption method is subsequently performed between the native application 101 and the web application 131. Encrypted communication is possible.

電文暗号化部112は、組込ウェブサーバー113から送信された電文を、共通鍵114を使用して、前記共通鍵暗号化方式を用いて暗号化し、組込ウェブサーバー113に送信することができる。
暗号化した電文は、ネットワーク104を通じてネイティブアプリケーション通信部121に送信し、ネイティブアプリケーション通信部121からウェブアプリケーション通信部122に送信し、ウェブアプリケーション通信部122からネットワーク150を通じて、ウェブサーバー141に送信する。
The message encryption unit 112 can encrypt the message transmitted from the embedded web server 113 using the common key encryption method using the common key 114 and transmit the message to the embedded web server 113. .
The encrypted message is transmitted to the native application communication unit 121 through the network 104, transmitted from the native application communication unit 121 to the web application communication unit 122, and transmitted from the web application communication unit 122 to the web server 141 through the network 150.

電文復号化部111は、組込ウェブサーバー113から送信された電文を、共通鍵114を使用して、前記共通鍵暗号化方式を用いて復号化し、組込ウェブサーバー113に送信することができる。The message decryption unit 111 can decrypt the message transmitted from the embedded web server 113 using the common key encryption method using the common key 114 and transmit the message to the embedded web server 113. .

ネットワーク104は、ネイティブアプリケーション通信部121をクライアントとしたHTTP、またはHTTPS、またはウェブソケット、またはWebRTCの通信チャンネルでありうる。The network 104 may be an HTTP, HTTPS, web socket, or WebRTC communication channel with the native application communication unit 121 as a client.

組込ウェブサーバー113は、ネットワーク104がHTTPまたはHTTPSである場合、Cross−Origin Resource Sharingを実装して他ドメインとの通信を許可する。When the network 104 is HTTP or HTTPS, the embedded web server 113 implements Cross-Origin Resource Sharing and permits communication with other domains.

ウェブブラウザ102は、HTML5準拠のウェブサーバとのウェブソケット接続が可能であるHTML5準拠ウェブブラウザである。The web browser 102 is an HTML5-compliant web browser capable of web socket connection with an HTML5-compliant web server.

HTMLコンテンツ103は、HTMLまたはJavaScriptコードを含みうる。
また、JavaScriptコードはネイティブアプリケーション通信部121とウェブアプリケーション通信部122を構成する。
The HTML content 103 can include HTML or JavaScript code.
Further, the JavaScript code constitutes a native application communication unit 121 and a web application communication unit 122.

HTMLコンテンツ103は、HTMLコンテンツ発行部142からネットワーク151を通じてダウンロードされる。
その際の通信方法はHTTP、またはHTTPSである。
The HTML content 103 is downloaded from the HTML content issuing unit 142 through the network 151.
The communication method at that time is HTTP or HTTPS.

HTMLコンテンツ103は、ウェブブラウザ102によって表示される際に、ネイティブアプリケーション通信部121とウェブアプリケーション通信部122を実行可能な状態に構成する。When the HTML content 103 is displayed by the web browser 102, the native application communication unit 121 and the web application communication unit 122 are configured to be executable.

ネイティブアプリケーション通信部121は、任意の制御フローに基づきネットワーク104の接続を組込ウェブサーバー113に要求する。The native application communication unit 121 requests the embedded web server 113 to connect to the network 104 based on an arbitrary control flow.

ネイティブアプリケーション通信部121は、ネットワーク104を通じて、組込ウェブサーバー113と任意の情報を相互に通信することができる。
その際の通信フォーマットは、JSON、またはXML、またはバイナリデータ、または任意の通信フォーマットでありうる。
The native application communication unit 121 can communicate arbitrary information with the embedded web server 113 through the network 104.
The communication format at that time may be JSON, XML, binary data, or any communication format.

ネイティブアプリケーション通信部121は、ウェブアプリケーション通信部122と任意の情報を相互に通信することが出来る。
その際の通信方法は実行可能コード上での情報の交換、またはCOOKIE、またはHTML5準拠のデータストレージ、またはネイティブアプリケーション通信部121とウェブアプリケーション通信部122が相互にアクセス可能な任意の情報交換手段でありうる。
その際の通信フォーマットは、JSON、またはXML、またはバイナリデータ、または任意の通信フォーマットでありうる。
The native application communication unit 121 can communicate arbitrary information with the web application communication unit 122.
The communication method at that time is exchange of information on executable code, COOKIE or HTML5 compliant data storage, or any information exchange means that the native application communication unit 121 and the web application communication unit 122 can access each other. It is possible.
The communication format at that time may be JSON, XML, binary data, or any communication format.

ウェブアプリケーション通信部122は、ネットワーク150を通じてウェブサーバー141と通信することができる。
ウェブアプリケーション通信部122は、任意の制御フローに基づき、ネットワーク150を通じて、AJAX、またはIFRAME、または任意のHTML5準拠の通信方法を用いて、ウェブサーバー141と任意の情報を相互に通信することができる。
その際の通信フォーマットは、JSON、またはXML、またはバイナリデータ、または任意の通信フォーマットでありうる。
The web application communication unit 122 can communicate with the web server 141 through the network 150.
The web application communication unit 122 can communicate arbitrary information with the web server 141 through the network 150 using AJAX, IFRAME, or any HTML5-compliant communication method based on any control flow. .
The communication format at that time may be JSON, XML, binary data, or any communication format.

ネットワーク150は、インターネット、またはイントラネット、または任意のネットワークでありうる。The network 150 can be the Internet, an intranet, or any network.

ネットワーク151は、インターネット、またはイントラネット、または任意のネットワークでありうる。The network 151 can be the Internet, an intranet, or any network.

ウェブアプリケーション131は、任意のコンピューターデバイス上に構築された、任意のプログラムである。
ウェブアプリケーション131はひとつまたは複数の任意のモジュールまたはアプリケーションで構成されうる。
The web application 131 is an arbitrary program constructed on an arbitrary computer device.
The web application 131 can be composed of one or a plurality of arbitrary modules or applications.

ウェブサーバー141は、ApacheまたはNginxまたはIISまたは任意のウェブサーバープログラム上で動作する、任意のプログラムである。The web server 141 is any program that runs on Apache, Nginx, IIS, or any web server program.

HTMLコンテンツ発行部142は、HTTP、またはHTTPSによるウェブブラウザ102の要求に基づき、ネットワーク151を通じて、ウェブブラウザ102にHTMLコンテンツ103を送信する。
HTMLコンテンツ発行部142は、ウェブブラウザ102によりアクセス可能な、URLまたは任意のアドレスとして表現される。
The HTML content issuing unit 142 transmits the HTML content 103 to the web browser 102 via the network 151 based on a request from the web browser 102 using HTTP or HTTPS.
The HTML content issuing unit 142 is expressed as a URL or an arbitrary address accessible by the web browser 102.

ウェブサーバー141は、HTTP、またはHTTPS、またはウェブソケット、またはWebRTC、または任意のプロトコルにより、任意のポートでウェブアプリケーション通信部122の接続を待ち受けすることができる。The web server 141 can wait for a connection of the web application communication unit 122 at any port by HTTP, HTTPS, web socket, WebRTC, or any protocol.

ウェブサーバー141は任意の制御フローに基づき、電文復号化部143、電文暗号化部144、のいづれかと通信し、任意の情報をネットワーク150を通じてウェブアプリケーション通信部122に送信することができる。The web server 141 can communicate with any one of the message decryption unit 143 and the message encryption unit 144 based on an arbitrary control flow, and can transmit arbitrary information to the web application communication unit 122 through the network 150.

電文暗号化部144は、ウェブサーバー141から送信された電文を、共通鍵145を使用して、前記共通鍵暗号化方式を用いて暗号化し、ウェブサーバー141に送信することができる。
暗号化した電文は、ネットワーク150を通じて、ウェブアプリケーション通信部122に送信し、ウェブアプリケーション通信部122からネイティブアプリケーション通信部121に送信し、ネイティブアプリケーション通信部121からネットワーク104を通じて、組込ウェブサーバー113に送信する。
The message encryption unit 144 can encrypt the message transmitted from the web server 141 using the common key encryption method using the common key 145 and transmit the message to the web server 141.
The encrypted message is transmitted to the web application communication unit 122 through the network 150, transmitted from the web application communication unit 122 to the native application communication unit 121, and transmitted from the native application communication unit 121 to the embedded web server 113 through the network 104. Send.

電文復号化部143は、ウェブサーバー141から送信された電文を、共通鍵145を使用して、前記共通鍵暗号化方式を用いて復号化し、ウェブサーバー141に送信することができる。The message decrypting unit 143 can decrypt the message transmitted from the web server 141 using the common key 145 using the common key encryption method, and transmit the decrypted message to the web server 141.

図2は、ネイティブアプリケーション101からウェブアプリケーション131に、共通鍵を送信する場合の実施形態を説明するブロック図である。FIG. 2 is a block diagram illustrating an embodiment when a common key is transmitted from the native application 101 to the web application 131.

共通鍵発行部211は、前記共通鍵暗号化方式を用いて共通鍵114を発行することができる。The common key issuing unit 211 can issue the common key 114 using the common key encryption method.

公開鍵213は、DSA暗号またはRSA暗号を用いて作成された1024〜4096ビットの長さの公開鍵データでありうる。
また、公開鍵213は、秘密鍵222と対応したものであり、秘密鍵222の発行時に公開鍵213が共に発行される。
また、公開鍵213は、任意のタイミングでネイティブアプリケーション101に設定される。
また、公開鍵213は、共通鍵暗号化部212がアクセス可能な任意のストレージに格納される。
The public key 213 may be public key data having a length of 1024 to 4096 bits created using DSA encryption or RSA encryption.
The public key 213 corresponds to the secret key 222, and the public key 213 is issued when the secret key 222 is issued.
The public key 213 is set in the native application 101 at an arbitrary timing.
The public key 213 is stored in an arbitrary storage accessible by the common key encryption unit 212.

共通鍵暗号化部212は、公開鍵213を使用して、共通鍵114を暗号化する。The common key encryption unit 212 encrypts the common key 114 using the public key 213.

共通鍵暗号化部212は、暗号化した共通鍵を、組込ウェブサーバー113を通じ、ネットワーク104を通じて、ネイティブアプリケーション通信部121に送信する。The common key encryption unit 212 transmits the encrypted common key to the native application communication unit 121 through the built-in web server 113 and the network 104.

ネイティブアプリケーション通信部121は、暗号化した共通鍵を、ウェブアプリケーション通信部122に送信する。The native application communication unit 121 transmits the encrypted common key to the web application communication unit 122.

ウェブアプリケーション通信部122は、暗号化した共通鍵を、ネットワーク150を通じ、ウェブサーバー141に送信する。The web application communication unit 122 transmits the encrypted common key to the web server 141 through the network 150.

ウェブサーバー141は、暗号化した共通鍵を、共通鍵復号化部221に送信する。The web server 141 transmits the encrypted common key to the common key decryption unit 221.

共通鍵復号化部221は、暗号化した共通鍵を、秘密鍵222を使用して復号化し、共通鍵145として設置する。The common key decryption unit 221 decrypts the encrypted common key using the secret key 222 and installs it as the common key 145.

図3は、ウェブアプリケーション131からネイティブアプリケーション101に、共通鍵を送信する場合の実施形態を説明するブロック図である。FIG. 3 is a block diagram illustrating an embodiment when a common key is transmitted from the web application 131 to the native application 101.

共通鍵発行部322は、前記共通鍵暗号化方式を用いて共通鍵145を発行することができる。The common key issuing unit 322 can issue the common key 145 using the common key encryption method.

公開鍵323は、DSA暗号またはRSA暗号を用いて作成された1024〜4096ビットの長さの公開鍵データでありうる。
また、公開鍵323は、秘密鍵312と対応したものであり、秘密鍵312の発行時に公開鍵323が共に発行される。
また、公開鍵323は、任意のタイミングでウェブアプリケーション131に設定される。
また、公開鍵323は、共通鍵暗号化部321がアクセス可能な任意のストレージに格納される。
The public key 323 may be public key data having a length of 1024 to 4096 bits created using DSA encryption or RSA encryption.
The public key 323 corresponds to the secret key 312, and the public key 323 is issued when the secret key 312 is issued.
The public key 323 is set in the web application 131 at an arbitrary timing.
The public key 323 is stored in an arbitrary storage accessible by the common key encryption unit 321.

共通鍵暗号化部321は、公開鍵323を使用して、共通鍵145を暗号化する。The common key encryption unit 321 encrypts the common key 145 using the public key 323.

共通鍵暗号化部321は、暗号化した共通鍵を、ウェブサーバー141を通じ、ネットワーク150を通じて、ウェブアプリケーション通信部122に送信する。The common key encryption unit 321 transmits the encrypted common key to the web application communication unit 122 through the web server 141 and the network 150.

ウェブアプリケーション通信部122は、暗号化した共通鍵を、ネイティブアプリケーション通信部121に送信する。The web application communication unit 122 transmits the encrypted common key to the native application communication unit 121.

ネイティブアプリケーション通信部121は、暗号化した共通鍵を、ネットワーク104を通じ、組込ウェブサーバー113に送信する。The native application communication unit 121 transmits the encrypted common key to the embedded web server 113 via the network 104.

組込ウェブサーバー113は、暗号化した共通鍵を、共通鍵復号化部311に送信する。The embedded web server 113 transmits the encrypted common key to the common key decryption unit 311.

共通鍵復号化部311は、暗号化した共通鍵を、秘密鍵312を使用して復号化し、共通鍵114として設置する。The common key decryption unit 311 decrypts the encrypted common key using the secret key 312 and installs it as the common key 114.

図3は、ネイティブアプリケーション101とウェブアプリケーション131へ、パスワードを使用して共通鍵を設定する場合の実施形態を説明するブロック図である。FIG. 3 is a block diagram illustrating an embodiment when a common key is set using a password for the native application 101 and the web application 131.

ユーザー401は、ネイティブアプリケーション101およびウェブアプリケーション131の利用者である。A user 401 is a user of the native application 101 and the web application 131.

パスワード設定402は、ユーザー401からパスワードを受け取る。
ユーザー401からパスワードを受け取る方法は、ネイティブアプリケーション101に備え付けられた設定ダイアログからの入力、またはネイティブアプリケーション101と関連付けられた設定ファイル、または任意の設定方法でありうる。
The password setting 402 receives a password from the user 401.
A method of receiving a password from the user 401 may be input from a setting dialog provided in the native application 101, a setting file associated with the native application 101, or an arbitrary setting method.

パスワード設定402は、ユーザー401から受け取ったパスワードを使用して、PBEにより共通鍵114を生成して、ネイティブアプリケーション101に設置する。The password setting 402 uses the password received from the user 401 to generate the common key 114 by PBE and install it in the native application 101.

パスワード設定403は、ユーザー401からパスワードを受け取る。
ユーザー401からパスワードを受け取る方法は、ウェブアプリケーション131に備え付けられた設定フォームからの入力、またはウェブアプリケーション131と関連付けられた設定ファイル、または任意の設定方法でありうる。
The password setting 403 receives a password from the user 401.
A method of receiving a password from the user 401 may be input from a setting form provided in the web application 131, a setting file associated with the web application 131, or an arbitrary setting method.

パスワード設定403は、ユーザー401から受け取ったパスワードを使用して、PBEにより共通鍵145を生成して、ウェブアプリケーション131に設置する。The password setting 403 uses the password received from the user 401 to generate a common key 145 by PBE and install it in the web application 131.

図4は、ネイティブアプリケーション101からウェブアプリケーション131へ、共通鍵を送信する場合の実施形態を説明するフローチャートである。FIG. 4 is a flowchart illustrating an embodiment in the case where a common key is transmitted from the native application 101 to the web application 131.

ウェブブラウザ102とネイティブアプリケーションの101の間で接続が確立された後、任意のタイミングで共通鍵発行501が実行され、共通鍵114が発行される。After the connection is established between the web browser 102 and the native application 101, the common key issuance 501 is executed at an arbitrary timing, and the common key 114 is issued.

共通鍵114は、ネイティブアプリケーション101からアクセス可能なストレージに保持される。
共通鍵114が発行された後、公開鍵213を使用して共通鍵暗号化502が実行される。
The common key 114 is held in a storage accessible from the native application 101.
After the common key 114 is issued, the common key encryption 502 is executed using the public key 213.

共通鍵暗号化502が実行された後、暗号化済共通鍵返却503によって、ウェブブラウザ102に暗号化済共通鍵が返却される。After the common key encryption 502 is executed, the encrypted common key is returned to the web browser 102 by the encrypted common key return 503.

次に、暗号化済共通鍵返却504によって、ウェブアプリケーション131に暗号化済共通鍵が返却される。Next, the encrypted common key is returned to the web application 131 by the encrypted common key return 504.

ウェブアプリケーション131が暗号化済共通鍵を受け取った後、秘密鍵222を使用して、共通鍵復号化505が実行され、復号化された共通鍵145が取得される。
共通鍵145は、ウェブアプリケーション131からアクセス可能なストレージに保持される。
After the web application 131 receives the encrypted common key, the common key decryption 505 is executed using the secret key 222, and the decrypted common key 145 is obtained.
The common key 145 is held in a storage accessible from the web application 131.

図5は、ウェブアプリケーション131からネイティブアプリケーション101へ、共通鍵を送信する場合の実施形態を説明するフローチャートである。FIG. 5 is a flowchart illustrating an embodiment in the case where a common key is transmitted from the web application 131 to the native application 101.

ウェブブラウザ102とウェブアプリケーション131の間で接続が確立された後、任意のタイミングで共通鍵発行601が実行され、共通鍵145が発行される。After the connection is established between the web browser 102 and the web application 131, the common key issuance 601 is executed at an arbitrary timing, and the common key 145 is issued.

共通鍵145は、ウェブアプリケーション131からアクセス可能なストレージに保持される。
共通鍵145が発行された後、公開鍵323を使用して共通鍵暗号化602が実行される。
The common key 145 is held in a storage accessible from the web application 131.
After the common key 145 is issued, the common key encryption 602 is executed using the public key 323.

共通鍵暗号化602が実行された後、暗号化済共通鍵返却603によって、ウェブブラウザ102に暗号化済共通鍵が返却される。After the common key encryption 602 is executed, the encrypted common key return 603 returns the encrypted common key to the web browser 102.

次に、暗号化済共通鍵返却604によって、ネイティブアプリケーション101に暗号化済共通鍵が返却される。Next, the encrypted common key is returned to the native application 101 by the encrypted common key return 604.

ネイティブアプリケーション101が暗号化済共通鍵を受け取った後、秘密鍵312を使用して、共通鍵復号化605が実行され、復号化された共通鍵114が取得される。
共通鍵114は、ネイティブアプリケーション101からアクセス可能なストレージに保持される。
After the native application 101 receives the encrypted common key, the common key decryption 605 is executed using the secret key 312 to obtain the decrypted common key 114.
The common key 114 is held in a storage accessible from the native application 101.

図6は、ネイティブアプリケーション101からウェブアプリケーション131に、暗号化電文を送信するための実施形態を説明するフローチャートである。FIG. 6 is a flowchart illustrating an embodiment for transmitting an encrypted message from the native application 101 to the web application 131.

処理開始701は、ネイティブアプリケーション101からウェブアプリケーション131に電文を送信する必要があるタイミングで、実行される。The process start 701 is executed at a timing when a message needs to be transmitted from the native application 101 to the web application 131.

電文発行702では、任意の制御フローに基づき、送信が必要な任意の情報の電文を構築する。
電文フォーマットは、JSON、またはXML、またはバイナリ、または任意のフォーマットでありうる。
In the message issue 702, a message of arbitrary information that needs to be transmitted is constructed based on an arbitrary control flow.
The message format can be JSON, XML, or binary, or any format.

電文暗号化703では、共通鍵114を使用して、電文を暗号化する。
暗号化の方法は前記共通鍵暗号化方式でありうる。
In the message encryption 703, the message is encrypted using the common key 114.
The encryption method may be the common key encryption method.

暗号化済電文送信704では、ネイティブアプリケーション101からウェブブラウザ102に暗号化済電文を送信する。In the encrypted message transmission 704, the encrypted message is transmitted from the native application 101 to the web browser 102.

暗号化済電文送信705では、ウェブブラウザ102からウェブアプリケーション131に暗号化済電文を送信する。In encrypted message transmission 705, the encrypted message is transmitted from the web browser 102 to the web application 131.

電文復号化706では、共通鍵145を使用して、電文を復号化する。In the message decryption 706, the message is decrypted using the common key 145.

電文受信707では、電文を任意のプログラムに送信する。In the message reception 707, the message is transmitted to an arbitrary program.

図7は、ウェブアプリケーション131からネイティブアプリケーション101に、暗号化電文を送信するための実施形態を説明するフローチャートである。FIG. 7 is a flowchart illustrating an embodiment for transmitting an encrypted message from the web application 131 to the native application 101.

処理開始801は、ウェブアプリケーション131からネイティブアプリケーション101に電文を送信する必要があるタイミングで、実行される。The process start 801 is executed at a timing when a message needs to be transmitted from the web application 131 to the native application 101.

電文発行802では、任意の制御フローに基づき、送信が必要な任意の情報を任意の電文フォーマットで構築する。
電文フォーマットは、JSON、またはXML、またはバイナリ、または任意のフォーマットでありうる。
In the message issue 802, arbitrary information that needs to be transmitted is constructed in an arbitrary message format based on an arbitrary control flow.
The message format can be JSON, XML, or binary, or any format.

電文暗号化803では、共通鍵145を使用して、電文を暗号化する。
暗号化の方法は前記共通鍵暗号化方式でありうる。
In the message encryption 803, the message is encrypted using the common key 145.
The encryption method may be the common key encryption method.

暗号化済電文送信804では、ウェブアプリケーション131からウェブブラウザ102に暗号化済電文を送信する。In the encrypted message transmission 804, the encrypted message is transmitted from the web application 131 to the web browser 102.

暗号化済電文送信805では、ウェブブラウザ102からネイティブアプリケーション101に暗号化済電文を送信する。In encrypted message transmission 805, the encrypted message is transmitted from the web browser 102 to the native application 101.

電文復号化806では、共通鍵114を使用して、電文を復号化する。In the message decryption 806, the message is decrypted using the common key 114.

電文受信807では、電文を任意のプログラムに送信する。In message reception 807, the message is transmitted to an arbitrary program.

Claims (3)

ウェブブラウザと同じクライアント端末上で実行されるネイティブアプリケーションが、ウェブブラウザを介して、コンピューターデバイス上で実行されるウェブアプリケーションと相互に行う通信について、非正規のアクセスによって、通信内容が改竄傍受されることを防止する通信システムであって、About the communication that the native application that runs on the same client terminal as the web browser interacts with the web application that runs on the computer device via the web browser, the contents of the tampering are intercepted by unauthorized access. A communication system for preventing
クライアント端末がCPUおよびメモリおよびネットワークインターフェースを備え、The client terminal includes a CPU, a memory, and a network interface,
前記クライアント端末はウェブブラウザ部と、前記ウェブブラウザ部と同じ端末上で実行されるネイティブアプリケーション部を備え、The client terminal includes a web browser unit and a native application unit that is executed on the same terminal as the web browser unit,
コンピューターデバイスがCPUおよびメモリおよびネットワークインターフェースを備え、The computer device comprises a CPU and memory and a network interface;
前記コンピューターデバイスはウェブアプリケーション部を備え、The computer device includes a web application unit,
前記クライアント端末が備えるネットワークインターフェースと前記コンピューターデバイスが備えるネットワークインターフェースが、ネットワークにより接続され、A network interface provided in the client terminal and a network interface provided in the computer device are connected by a network,
前記ウェブブラウザ部は実行可能コードを含むコンテンツを受信することと、The web browser portion receives content including executable code;
前記ウェブブラウザ部が前記ウェブブラウザ部上で前記実行可能コードを実行することと、The web browser portion executing the executable code on the web browser portion;
前記ネイティブアプリケーション部が所定のポートで前記ウェブブラウザ部からの接続を待ち受けし、前記ウェブブラウザ部が、前記ウェブブラウザ部上で実行される前記実行可能コードによって、前記ウェブブラウザ部と前記ネイティブアプリケーション部の通信を確立することと、The native application unit waits for a connection from the web browser unit at a predetermined port, and the web browser unit and the native application unit are executed by the executable code executed on the web browser unit. Establishing communication with
前記ウェブアプリケーション部が所定のポートで前記ウェブブラウザ部からの接続を待ち受けし、前記ウェブブラウザ部が、前記ウェブブラウザ部上で実行される前記実行可能コードによって、前記クライアント端末および前記コンピューターデバイスのネットワークインターフェースを使用して、前記ウェブブラウザ部と前記ウェブアプリケーション部の通信を確立することと、The web application unit waits for a connection from the web browser unit at a predetermined port, and the web browser unit is connected to the network of the client terminal and the computer device by the executable code executed on the web browser unit. Establishing communication between the web browser portion and the web application portion using an interface;
前記ウェブブラウザ部が、前記ウェブブラウザ部上で実行される前記実行可能コードによって、前記ネイティブアプリケーション部と前記ウェブアプリケーション部の情報を交換し、前記ウェブブラウザ部経由で前記ウェブアプリケーション部から前記ネイティブアプリケーション部への通信、または、その逆の通信を可能に構成することと、The web browser unit exchanges information between the native application unit and the web application unit by the executable code executed on the web browser unit, and the native application unit communicates with the native application via the web browser unit. Configuring the communication to the department or vice versa,
前記ネイティブアプリケーション部と前記ウェブアプリケーション部が共通鍵を共有し、前記クライアント端末および前記コンピューターデバイスのメモリに保存することと、The native application unit and the web application unit share a common key and stored in a memory of the client terminal and the computer device;
前記ネイティブアプリケーション部が共有された前記共通鍵を使用し、電文を暗号化し、暗号化済電文を前記ウェブブラウザ部に送信し、前記ウェブブラウザ部は前記ネイティブアプリケーション部から受信した前記暗号化済電文を、前記ウェブアプリケーション部に送信し、前記ウェブアプリケーション部が前記コンピューターデバイス上のメモリに保存された前記共通鍵を使用して、前記ウェブアプリケーション部が前記ウェブブラウザ部から受信した前記暗号化済電文を復号化することと、Using the common key shared by the native application unit, encrypting a message, transmitting an encrypted message to the web browser unit, and the web browser unit receiving the encrypted message received from the native application unit Is transmitted to the web application unit, and the web application unit uses the common key stored in the memory on the computer device to receive the encrypted message received from the web browser unit by the web application unit. Decrypting
前記ウェブアプリケーション部が共有された前記共通鍵を使用し、電文を暗号化し、暗号化済電文を前記ウェブブラウザ部に送信し、前記ウェブブラウザ部は前記ウェブアプリケーション部から受信した前記暗号化済電文を、前記ネイティブアプリケーション部に送信し、前記ネイティブアプリケーション部が前記クライアント端末上のメモリに保存された前記共通鍵を使用して、前記ネイティブアプリケーション部が前記ウェブブラウザ部から受信した前記暗号化済電文を復号化することを特徴とする、通信システム。The web application unit uses the shared key shared, encrypts a message, transmits an encrypted message to the web browser unit, and the web browser unit receives the encrypted message received from the web application unit. Is transmitted to the native application unit, and the native application unit uses the common key stored in the memory on the client terminal to receive the encrypted message received from the web browser unit by the native application unit. The communication system characterized by decoding.
前記ウェブブラウザ部が実行可能コードを含むコンテンツを受信することは、前記コンピューターデバイスがHTMLコンテンツ発行部を備え、前記クライアント端末のネットワークインターフェースと、前記コンピューターデバイスのネットワークインターフェースを使用し、前記HTMLコンテンツ発行部から、前記ウェブブラウザ部が備える機能によって構築可能な前記実行可能コードを含むHTMLコンテンツを、前記ウェブブラウザ部に送信し、前記ウェブブラウザ部が前記実行可能コードを含むHTMLコンテンツを構築し、前記ウェブブラウザ部に表示することを含む、請求項1に記載の通信システム。When the web browser unit receives content including executable code, the computer device includes an HTML content issuing unit, and uses the network interface of the client terminal and the network interface of the computer device to issue the HTML content. The HTML content including the executable code that can be constructed by the function provided by the web browser unit is transmitted to the web browser unit, and the web browser unit constructs the HTML content including the executable code, The communication system according to claim 1, comprising displaying on a web browser unit. 前記ウェブブラウザ部が、前記ウェブブラウザ部上で実行される前記実行可能コードによって、前記ネイティブアプリケーション部と前記ウェブアプリケーション部の情報を交換し、前記ウェブブラウザ部経由で前記ウェブアプリケーション部から前記ネイティブアプリケーション部への通信、または、その逆の通信を可能に構成することは、前記ネイティブアプリケーション部と前記ウェブブラウザ部との間で通信をすることと、前記クライアント端末のネットワークインターフェースおよび前記コンピューターデバイスのネットワークインターフェースを使用し、前記ウェブアプリケーション部と前記ウェブブラウザ部との間で通信をすることと、前記ウェブブラウザ部は前記ウェブアプリケーション部から受信した前記暗号化済電文の復号化を行わず、前記ネイティブアプリケーション部に送信する、または、その逆の通信を可能に構成することを含む、請求項1、または請求項2、のいずれかに記載の通信システム。The web browser unit exchanges information between the native application unit and the web application unit by the executable code executed on the web browser unit, and the native application unit communicates with the native application via the web browser unit. The communication between the native application unit and the web browser unit, the network interface of the client terminal, and the network of the computer device are configured to enable communication to the unit or vice versa. Using the interface to communicate between the web application unit and the web browser unit; and the web browser unit is configured to transmit the encrypted message received from the web application unit. Without No. of the transmitted to the native application unit, or includes configuring to enable communication reverse claim 1 or claim 2, the communication system according to any one of.
JP2017206618A 2017-10-09 2017-10-09 Communications system Active JP6451963B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017206618A JP6451963B1 (en) 2017-10-09 2017-10-09 Communications system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017206618A JP6451963B1 (en) 2017-10-09 2017-10-09 Communications system

Publications (2)

Publication Number Publication Date
JP6451963B1 true JP6451963B1 (en) 2019-01-16
JP2019071598A JP2019071598A (en) 2019-05-09

Family

ID=65020464

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017206618A Active JP6451963B1 (en) 2017-10-09 2017-10-09 Communications system

Country Status (1)

Country Link
JP (1) JP6451963B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008068976A1 (en) * 2006-12-04 2008-06-12 Nec Corporation Network system, server, client, and communication method in network system
JP2010026889A (en) * 2008-07-23 2010-02-04 Mitsubishi Electric Corp Web application server, terminal, and web application system
JP2010072916A (en) * 2008-09-18 2010-04-02 Hitachi Software Eng Co Ltd Data protection system and data protection method
JP2015510287A (en) * 2011-12-29 2015-04-02 インテル コーポレイション How to restrict corporate digital information within a corporate boundary
JP2016517571A (en) * 2013-03-13 2016-06-16 クゥアルコム・インコーポレイテッドQualcomm Incorporated System and method for enabling web property access to native applications

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008068976A1 (en) * 2006-12-04 2008-06-12 Nec Corporation Network system, server, client, and communication method in network system
JP2010026889A (en) * 2008-07-23 2010-02-04 Mitsubishi Electric Corp Web application server, terminal, and web application system
JP2010072916A (en) * 2008-09-18 2010-04-02 Hitachi Software Eng Co Ltd Data protection system and data protection method
JP2015510287A (en) * 2011-12-29 2015-04-02 インテル コーポレイション How to restrict corporate digital information within a corporate boundary
JP2016517571A (en) * 2013-03-13 2016-06-16 クゥアルコム・インコーポレイテッドQualcomm Incorporated System and method for enabling web property access to native applications

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
松田規ほか: "検索可能暗号の高速化とWebアプリケーションへの適用方式に関する提案", マルチメディア,分散,協調とモバイル(DICOMO2013)シンポジウム論文集, vol. 第2013巻,第2号, JPN6018010764, 3 July 2013 (2013-07-03), JP, pages 2067 - 2074 *
海野雪絵ほか: "Webアプリケーションから利用者端末内情報へのコンテキストアウェアなアクセス制御手法の提案", 情報処理学会研究報告, JPN6018010765, 15 April 2013 (2013-04-15), JP, pages 1 - 6 *
渡邉充隆: "生産性と機能性を向上させるスマートフォン向けネイティブアプリとウェブアプリのハイブリッド構造", 技報 UNISYS TECHNOLOGY REVIEW, vol. 第30巻,第1号, JPN6018010766, 30 June 2010 (2010-06-30), JP, pages 53 - 62 *

Also Published As

Publication number Publication date
JP2019071598A (en) 2019-05-09

Similar Documents

Publication Publication Date Title
US12047362B2 (en) Systems and methods for secure multi-party communications using a proxy
CN109088889B (en) SSL encryption and decryption method, system and computer readable storage medium
US10887291B2 (en) Secure data distribution of sensitive data across content delivery networks
JP2020502668A (en) Secure acquisition of sensitive data over a network
EP3556072A1 (en) Secure data egress for sensitive data across networks
US20090285118A1 (en) Proxy terminal, service device, proxy terminal communication path setting method, and server device communication path setting method
US20180351737A1 (en) Communication apparatus, communication system, key sharing method, and computer program product
CN103428221A (en) Safety logging method, system and device of mobile application
CN106506552B (en) HTTP request transmission method and device
CN107404469B (en) Session safety processing system, device, apparatus and method
CN107294935B (en) Virtual private network access method, device and system
WO2016112580A1 (en) Service processing method and device
KR101839048B1 (en) End-to-End Security Platform of Internet of Things
KR101541165B1 (en) Mobile message encryption method, computer readable recording medium recording program performing the method and download server storing the method
JP2012100206A (en) Cryptographic communication relay system, cryptographic communication relay method and cryptographic communication relay program
WO2016134631A1 (en) Processing method for openflow message, and network element
WO2024158886A1 (en) Non-custodial techniques for data encryption and decryption
CN113922976A (en) Equipment log transmission method and device, electronic equipment and storage medium
JP6451963B1 (en) Communications system
CN104301102A (en) Widget communication method, device and system
CN111934995B (en) Internet of things gateway system
US20170289195A1 (en) Communication control device, communication control method, recording medium having communication control program stored thereon, and information system
CN104901974A (en) Safety hypertext transport method
JP2002183094A (en) Cooperative system for log-in among a plurality of servers, client device, log-in management device, server device and storage medium
KR20170008514A (en) Method and system for reproducing contents by secure acquiring decryption key for encrypted contents

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171009

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20171009

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20180116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180403

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180521

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180704

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180725

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180910

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181126

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181127

R150 Certificate of patent or registration of utility model

Ref document number: 6451963

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250