JP5834118B2 - Information operation device, information output device, and information operation program - Google Patents

Information operation device, information output device, and information operation program Download PDF

Info

Publication number
JP5834118B2
JP5834118B2 JP2014161626A JP2014161626A JP5834118B2 JP 5834118 B2 JP5834118 B2 JP 5834118B2 JP 2014161626 A JP2014161626 A JP 2014161626A JP 2014161626 A JP2014161626 A JP 2014161626A JP 5834118 B2 JP5834118 B2 JP 5834118B2
Authority
JP
Japan
Prior art keywords
unit
information
application
authentication
connection
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.)
Expired - Fee Related
Application number
JP2014161626A
Other languages
Japanese (ja)
Other versions
JP2014239522A (en
Inventor
遵 金井
遵 金井
宏 磯崎
宏 磯崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2014161626A priority Critical patent/JP5834118B2/en
Publication of JP2014239522A publication Critical patent/JP2014239522A/en
Application granted granted Critical
Publication of JP5834118B2 publication Critical patent/JP5834118B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Selective Calling Equipment (AREA)

Description

本発明の実施形態は、機器操作命令の送受を行う情報操作装置、情報出力装置および情報操作プログラムに関する。   Embodiments described herein relate generally to an information operation device, an information output device, and an information operation program that transmit and receive device operation commands.

近年、スマートフォンやタブレット等の情報操作端末とTVをインタフェースを介して接続し、TVを操作する技術がある。   In recent years, there is a technique for operating a TV by connecting an information operation terminal such as a smartphone or a tablet to the TV via an interface.

特開2005-149205号公報JP 2005-149205 A

本実施形態は、ユーザの許諾なしに情報出力装置が勝手に操作されることを防止しつつ、情報操作装置から情報出力装置を操作できるようにして利便性を向上させた情報操作装置、情報出力装置および情報操作プログラムを提供するものである。   The present embodiment provides an information operation device and an information output device that improve the convenience by allowing the information output device to be operated from the information operation device while preventing the information output device from being operated without permission from the user. An apparatus and an information operation program are provided.

本実施形態によれば、アプリケーションを実行して機器操作命令を生成するアプリ実行部と、
第1通信機器に認証要求を送信し、これに応答して前記第1通信機器から送信された認証要求子を受信する第1通信処理部と、
受信した前記認証要求子を、前記第1通信機器との間で共有する鍵と、所定の鍵情報とに基づいて暗号化したプラットホーム認証子を生成するアプリ認証処理部と、
前記プラットホーム認証子に前記アプリケーションの出所情報を付与するアプリ出所情報付与部と、
前記第1通信機器に、前記機器操作命令と前記出所情報が付与されたプラットホーム認証子とを送信する第2通信処理部と、を備えることを特徴とする情報操作装置が提供される。
According to the present embodiment, an application execution unit that executes an application and generates a device operation instruction;
A first communication processing unit for transmitting an authentication request to the first communication device and receiving an authentication requestor transmitted from the first communication device in response to the authentication request;
An application authentication processing unit that generates a platform authenticator that is encrypted based on a key shared with the first communication device and the predetermined key information for the received authentication requestor;
An application origin information giving unit for giving origin information of the application to the platform authenticator;
There is provided an information operation device comprising: a second communication processing unit that transmits the device operation command and a platform authenticator to which the origin information is given to the first communication device.

情報処理システム4の全体構成の一例を示すブロック図。2 is a block diagram showing an example of the overall configuration of the information processing system 4. FIG. 第1の実施形態における情報操作装置1の内部構成を示すブロック図。The block diagram which shows the internal structure of the information operating device 1 in 1st Embodiment. Webアプリ実行部21とアプリ認証処理部23の内部構成を示すブロック図。The block diagram which shows the internal structure of the web application execution part 21 and the application authentication process part 23. FIG. 第1の実施形態における情報出力装置3の内部構成を示すブロック図。The block diagram which shows the internal structure of the information output device 3 in 1st Embodiment. 第1の実施形態におけるWebアプリ配布サーバ5の内部構成を示すブロック図。The block diagram which shows the internal structure of the web application distribution server 5 in 1st Embodiment. Webアプリ実行部21とアプリ認証処理部23の起動時のフローチャート。The flowchart at the time of starting of the web application execution part 21 and the application authentication process part 23. FIG. 認証要求命令検知時の処理手順の一例を示すフローチャート。The flowchart which shows an example of the process sequence at the time of authentication request command detection. 情報出力装置3への機器操作命令の送信手順の一例を示すフローチャート。5 is a flowchart illustrating an example of a procedure for transmitting a device operation command to the information output device 3; 認証要求受信時の情報出力装置3の処理手順の一例を示すフローチャート。The flowchart which shows an example of the process sequence of the information output device 3 at the time of authentication request reception. 第3のコネクション確立要求時の情報出力装置3の処理手順のフローチャート。The flowchart of the process sequence of the information output device 3 at the time of the 3rd connection establishment request | requirement. 情報操作装置1と情報出力装置3の処理手順の一例を示すシーケンス図。FIG. 5 is a sequence diagram showing an example of processing procedures of the information operating device 1 and the information output device 3. 第2の実施形態における情報操作装置1の内部構成の一例を示すブロック図。The block diagram which shows an example of an internal structure of the information operating device 1 in 2nd Embodiment. 許可出所リスト10のデータ構造の一例を示す図。The figure which shows an example of the data structure of the permission origin list | wrist 10. FIG. 認証要求命令検出時の処理手順の一例を示すフローチャート。The flowchart which shows an example of the process sequence at the time of authentication request command detection. 第3の実施形態における情報操作装置1の内部構成の一例を示すブロック図。The block diagram which shows an example of the internal structure of the information operating device 1 in 3rd Embodiment. 第3の実施形態におけるWebアプリ配布サーバ5の内部構造を示すブロック図。The block diagram which shows the internal structure of the web application distribution server 5 in 3rd Embodiment. 許可出所リスト更新の処理手順の一例を示すフローチャート。The flowchart which shows an example of the process sequence of permission origin list update. 第4の実施形態における情報操作装置1の内部構成の一例を示すブロック図。The block diagram which shows an example of the internal structure of the information operating device 1 in 4th Embodiment. 第4の実施形態におけるWebアプリ配布サーバ5の内部構造を示すブロック図。The block diagram which shows the internal structure of the web application distribution server 5 in 4th Embodiment. 認証要求命令検出時の処理手順の一例を示すフローチャート。The flowchart which shows an example of the process sequence at the time of authentication request command detection. 第5の実施形態における情報操作装置1の内部構成を示すブロック図。The block diagram which shows the internal structure of the information operating device 1 in 5th Embodiment. 第5の実施形態における認証要求命令検出時の処理手順を示すフローチャート。The flowchart which shows the process sequence at the time of the authentication request command detection in 5th Embodiment. 第6の実施形態における情報処理装置の内部構成を示すブロック図。The block diagram which shows the internal structure of the information processing apparatus in 6th Embodiment. 第6の実施形態における認証要求命令検出時の処理手順を示すフローチャート。10 is a flowchart showing a processing procedure when an authentication request command is detected in the sixth embodiment. 第7の実施形態における情報処理装置の内部構成を示すブロック図。The block diagram which shows the internal structure of the information processing apparatus in 7th Embodiment. 鍵番号、鍵有効性および鍵情報の対応関係を登録したテーブルを示す図。The figure which shows the table which registered the correspondence of key number, key validity, and key information. 第7の実施形態におけるWebアプリ配布サーバ5の内部構造を示すブロック図。The block diagram which shows the internal structure of the web application distribution server 5 in 7th Embodiment. 第7の実施形態における情報出力装置3の内部構造を示すブロック図。The block diagram which shows the internal structure of the information output device 3 in 7th Embodiment. リボーク処理を含む認証要求時の処理手順を示すフローチャート。The flowchart which shows the process sequence at the time of the authentication request | requirement containing a revocation process. 第7の実施形態における鍵更新時の処理手順を示すフローチャート。The flowchart which shows the process sequence at the time of the key update in 7th Embodiment.

以下、図面を参照しながら、本発明の一実施形態を説明する。   Hereinafter, an embodiment of the present invention will be described with reference to the drawings.

(第1の実施形態)
図1は情報操作装置1からネットワーク2経由で機器操作命令を送信して情報出力装置(第2通信装置)3を遠隔操作する情報処理システム4の全体構成の一例を示すブロック図である。図1の情報処理システム4は、ウェブアプリケーションをサーバから受信して遠隔機器操作命令を含むプログラムを実行する情報操作装置1と、映像等を表示する情報出力装置3と、アプリケーションを配布するWebアプリ配布サーバ(第1通信装置)5とを備えている。情報操作装置1とWebアプリ配布サーバ5はインターネット等のネットワーク2で接続され、同様に、情報操作装置1と情報出力装置3もネットワーク2で接続され、ネットワークインタフェースを介して情報の送受を行う。ここで、ウェブアプリケーションの構成部品であるページファイルやメディアファイルは、サーバ(Webアプリ配布サーバ5)上で管理され、URL(Uniform Resource Locator)と呼ばれる位置識別子で格納位置が特定される。
(First embodiment)
FIG. 1 is a block diagram showing an example of the overall configuration of an information processing system 4 that transmits a device operation command from the information operation device 1 via the network 2 to remotely operate the information output device (second communication device) 3. An information processing system 4 in FIG. 1 includes an information operation device 1 that receives a web application from a server and executes a program including a remote device operation instruction, an information output device 3 that displays an image, and a web application that distributes the application. A distribution server (first communication device) 5 is provided. The information operating device 1 and the web application distribution server 5 are connected by a network 2 such as the Internet. Similarly, the information operating device 1 and the information output device 3 are also connected by the network 2 and send and receive information via a network interface. Here, page files and media files that are components of the web application are managed on the server (Web application distribution server 5), and the storage location is specified by a location identifier called URL (Uniform Resource Locator).

情報操作装置1は、共通のバス11に接続された、CPU12、主記憶13、ディスプレイ14、入力機器15、ネットワークインタフェース部16、およびストレージ部17を有する。入力機器15は、マウス、キーボード、およびタッチパネル等である。ストレージ部17は、ウェブアプリケーション(Webアプリ)とプラットホームアプリケーション(以下、PFアプリ)を格納している。WebアプリはWebアプリ実行部21で実行され、PFアプリはPFアプリ実行部(アプリ認証処理部22)で実行される。Webアプリの内部には、ソフトウエアモジュールである、IPコネクション管理部24、入力受信部25、HTTP処理部26およびアプリ出所付与部27が含まれている。   The information operating device 1 includes a CPU 12, a main memory 13, a display 14, an input device 15, a network interface unit 16, and a storage unit 17 connected to a common bus 11. The input device 15 is a mouse, a keyboard, a touch panel, or the like. The storage unit 17 stores a web application (Web application) and a platform application (hereinafter, PF application). The web application is executed by the web application execution unit 21, and the PF application is executed by the PF application execution unit (application authentication processing unit 22). The web application includes an IP connection management unit 24, an input reception unit 25, an HTTP processing unit 26, and an application origin giving unit 27, which are software modules.

情報出力装置3は、ネットワークインタフェース部31と、情報操作装置1から送信された機器操作命令を処理する機器操作命令処理部32とを有する。   The information output device 3 includes a network interface unit 31 and a device operation command processing unit 32 that processes a device operation command transmitted from the information operation device 1.

Webアプリ配布サーバ5は、ネットワークインタフェース部41と、ストレージ部42とを有する。ストレージ部42には、後述するように、ページファイル42aとメディアファイル42bが格納される。   The web application distribution server 5 includes a network interface unit 41 and a storage unit 42. As will be described later, the storage unit 42 stores a page file 42a and a media file 42b.

情報操作装置1でWebアプリを実行する際には、下準備として、Webアプリの実行環境であるアプリ実行部プログラムの実行を行う。この際、情報操作装置1のCPU12で実行されているOSなどのシェルプログラムがユーザの要求等に従い、アプリ実行部プログラムを情報操作装置1内のストレージ部から読み取る。また、CPU12は読み取ったアプリ実行部プログラムを主記憶13に保存し、アプリ実行部プログラムを実行する。   When a web application is executed by the information operating device 1, an application execution unit program that is an execution environment of the web application is executed as a preparation. At this time, a shell program such as an OS executed by the CPU 12 of the information operating device 1 reads the application execution unit program from the storage unit in the information operating device 1 according to a user request or the like. Further, the CPU 12 stores the read application execution unit program in the main memory 13 and executes the application execution unit program.

Webアプリは、ユーザもしくはプログラムにてページファイルのURLを指定することにより実行開始される。その際、CPU12はネットワークインタフェース部16に対して指定URLのページファイルの取得命令を出す。ネットワークインタフェース部16は指定URLのサーバに接続し、該当ファイルのダウンロード命令を発行する。   The Web application is started by specifying the URL of the page file by the user or program. At that time, the CPU 12 issues a command to acquire a page file of the specified URL to the network interface unit 16. The network interface unit 16 connects to the server of the specified URL and issues a download instruction for the corresponding file.

Webアプリ配布サーバ5のネットワークインタフェース部41はストレージ部42から該当ファイルを読み取って情報操作装置1に返信する。情報操作装置1のネットワークインタフェース部16は該当ファイルを主記憶13に配置する。ページファイルにはアプリケーションが利用するメディアファイルのURLが列挙されており、ページファイルと同様にCPU12はネットワークインタフェース部16にこれらのファイルについてもダウンロード命令を発行し、ダウンロードされたファイルを主記憶13やストレージ部17に配置する。   The network interface unit 41 of the Web application distribution server 5 reads the corresponding file from the storage unit 42 and returns it to the information operating device 1. The network interface unit 16 of the information operating device 1 places the corresponding file in the main memory 13. In the page file, URLs of media files used by the application are listed. Similarly to the page file, the CPU 12 issues a download command to the network interface unit 16 for these files, and the downloaded file is stored in the main memory 13 or Arranged in the storage unit 17.

実行に必要なファイルが用意された時点で、アプリ実行部プログラムは主記憶13やストレージ部17に配置されたページファイルをCPU12が解釈できる命令に変換してCPU12で実行する。ページファイルに含まれる配置データに従い、実行結果は情報操作装置1のディスプレイ14に出力される。配置データには別のページファイルを表示および実行するためのボタン(リンク)が存在し、そのページファイルのURL情報が含まれる。ユーザ要求などによりそのボタンが選択されると、アプリ実行部プログラムは新たにページファイルのダウンロード要求を出し、そのページファイルで利用するメディアファイルも含めて、必要なファイルがそろった時点で新しいページファイルの表示および実行を開始する。   When a file necessary for execution is prepared, the application execution unit program converts the page file arranged in the main memory 13 or the storage unit 17 into an instruction that can be interpreted by the CPU 12 and executes it by the CPU 12. The execution result is output to the display 14 of the information operating device 1 according to the arrangement data included in the page file. The arrangement data includes a button (link) for displaying and executing another page file, and includes URL information of the page file. When the button is selected due to a user request, the application execution program issues a new page file download request, and when the necessary files are available, including the media files used in the page file, a new page file is created. Display and execution of.

このページファイルなどに含まれるJavaScript(登録商標)と呼ばれるスクリプト言語を介して、HTTPやWebSocketプロトコルと呼ばれるプロトコルでHTTPサーバもしくはWebSocketサーバと通信することができる。すなわち、Webアプリ配布サーバ5側でHTTPやWebSocketを介した操作機能を提供する場合には、JavaScriptプログラムを用いて遠隔操作を行うことができる。Webアプリによりアプリケーション開発者は遠隔操作アプリケーションを簡単に作成できるが、このとき何もWebアプリ配布サーバ5側でアクセス制御を行わなければ、不正なWebアプリから遠隔操作が行われてしまうという危険性もある。このため、Webアプリを識別する情報として、WebSocketヘッダやHTTPヘッダに含まれるURL情報(Origin情報)がある。このURL情報を用いて情報出力装置3側でアクセス制御を行うことで、特定のサーバ上にあるWebアプリにのみ遠隔操作を許可することが出来るようになる。   Via a script language called JavaScript (registered trademark) included in the page file or the like, it is possible to communicate with an HTTP server or a WebSocket server using a protocol called HTTP or a WebSocket protocol. That is, when an operation function via HTTP or WebSocket is provided on the Web application distribution server 5 side, remote operation can be performed using a JavaScript program. Application developers can easily create a remote operation application using a web application, but if there is no access control on the web application distribution server 5 at this time, there is a risk that remote operation will be performed from an unauthorized web application. There is also. For this reason, as information for identifying a Web application, there is URL information (Origin information) included in a WebSocket header or an HTTP header. By performing access control on the information output device 3 side using this URL information, it becomes possible to permit remote operation only to a Web application on a specific server.

しかしながら、HTTPやWebSocketプロトコルは公開情報であるため、HTTPやWebSocketプロトコルのURL情報を偽装するWebアプリの実行環境(以下、プラットホーム)が出現した場合には対処することが出来ない。このため、何らかの情報を用いてWebアプリが正しいプラットホーム上で動作していることをHTTPサーバやWebSocketサーバに伝える必要がある。正しいプラットホームであれば、そのプラットホームが付与したURL情報は信用できるためである。この情報として例えば、Webアプリ側で共通鍵を用いて機器操作命令を暗号化して送るといった解決策が考えられるが、Webアプリのページファイルはプレーンテキストで記述されており、機密情報を格納することはできないため、共通鍵の格納方法が問題になる。   However, since the HTTP and WebSocket protocols are public information, it cannot be dealt with when an execution environment (hereinafter referred to as a platform) of a Web application that disguises the URL information of the HTTP or WebSocket protocol appears. For this reason, it is necessary to use some information to tell the HTTP server or WebSocket server that the Web application is running on the correct platform. This is because the URL information given by the platform can be trusted if the platform is correct. As this information, for example, the web application side may use a common key to encrypt and send device operation instructions, but the web application page file is written in plain text and should store confidential information. The method of storing the common key becomes a problem.

また、Webアプリの難読化処理を行うことにより共通鍵を取得できにくくする手法もあるが、最終的にはブラウザが解釈可能な形式に変換されるため、比較的容易に共通鍵を取得できてしまい、セキュリティ強度に問題がある。   In addition, there is a technique that makes it difficult to obtain the common key by obfuscating the web application, but since it is finally converted into a format that can be interpreted by the browser, the common key can be obtained relatively easily. Therefore, there is a problem with the security strength.

別の手法として、プラットホーム側で機器操作命令を暗号化することも考えられるが、プラットホームの実体であるブラウザに機器操作命令の暗号化機能を加えると、既存ブラウザへの変更が大規模になってしまい、得策でない。   Another method is to encrypt the device operation instructions on the platform side, but if the device operation instruction encryption function is added to the browser that is the platform entity, the change to the existing browser becomes large-scale. It ’s not a good idea.

HTTPやWebSocketプロトコルを用いて情報出力装置3の遠隔操作を行う際、操作を要求しているWebアプリの出所情報(URL情報)を用いてアクセス制御を行うことも考えられるが、HTTPやWebSocketプロトコルのヘッダに含まれるURL情報は信頼できない場合がある。なぜなら、HTTPやWebSocketプロトコルは仕様が公開されたプロトコルであり、詐称したURL情報を送るプラットホーム(偽ブラウザ)を開発することは比較的容易なためである。正しくアクセス制御を行うためには、操作を要求しているWebアプリが正しいプラットホーム上で動作し、URL情報が信頼できることを情報出力装置3に対して保証する必要がある。   When performing remote operation of the information output device 3 using HTTP or WebSocket protocol, it is conceivable to perform access control using the origin information (URL information) of the web application requesting the operation, but HTTP or WebSocket protocol The URL information contained in the header may not be reliable. This is because the specifications of HTTP and WebSocket protocols are open to the public, and it is relatively easy to develop a platform (fake browser) that sends spoofed URL information. In order to perform access control correctly, it is necessary to guarantee to the information output apparatus 3 that the Web application requesting the operation operates on the correct platform and the URL information is reliable.

以上の観点から、図1の情報処理システム4は、情報操作装置1が実行するWebアプリのURL情報が信頼できることを情報出力装置3に対して保証できるようにしている。   From the above viewpoint, the information processing system 4 in FIG. 1 can guarantee to the information output device 3 that the URL information of the Web application executed by the information operating device 1 is reliable.

図2は第1の実施形態における情報操作装置1の内部構成を示すブロック図である。図2の情報操作装置1は、Webアプリを実行するWebアプリ実行部21と、PFアプリを実行するPFアプリ実行部22と、このPFアプリ実行部22の内部に設けられるアプリ認証処理部23と、情報出力装置3に機器操作命令と認証トークン(プラットホーム認証子)を送信する制御を行うIPコネクション管理部24と、ユーザ入力を受け付ける入力受信部25と、Webアプリ配布サーバ5からWebアプリを取得するHTTP処理部26と、Webアプリの出所情報を認証トークンに付与するアプリ出所付与部27と、情報出力装置3を検索する処理を行う機器検索処理部28と、ウェブアプリケーションを取得するための第1のコネクションの確立処理を行い、ウェブアプリケーションを受信する第1コネクション部33と、情報出力装置3との第2のコネクションを確立して認証要求を送信するとともに認証要求子を受信する第2コネクション部34と、情報処理装置3との第3のコネクションを確立して機器操作命令と出所情報が付与されたプラットホーム認証子を送信する第3コネクション部35と、機器検索を行うための第4のコネクションを確立して機器検索命令の送信を行うとともに検索結果を受信する第4コネクション部36とを有する。   FIG. 2 is a block diagram showing an internal configuration of the information operating device 1 according to the first embodiment. 2 includes a web application execution unit 21 that executes a web application, a PF application execution unit 22 that executes a PF application, and an application authentication processing unit 23 provided in the PF application execution unit 22. An IP connection management unit 24 that performs control to transmit a device operation command and an authentication token (platform authenticator) to the information output device 3, an input reception unit 25 that receives user input, and a Web application from the Web application distribution server 5 HTTP processing unit 26 for performing, application origin giving unit 27 for granting origin information of the Web application to the authentication token, device search processing unit 28 for performing processing for searching for the information output device 3, and a first for acquiring the web application The second connection between the information output device 3 and the first connection unit 33 that performs the connection establishment process 1 and receives the web application The second connection unit 34 that transmits the authentication request and receives the authentication requester, and the third connection with the information processing apparatus 3 and the platform authenticator to which the device operation instruction and the source information are given. And a fourth connection unit 36 that establishes a fourth connection for performing device search, transmits a device search command, and receives a search result.

アプリ認証処理部23は、Webアプリが正しいプラットホーム上で動作していることを保証する認証子(認証トークン)を生成する。   The application authentication processing unit 23 generates an authenticator (authentication token) that guarantees that the Web application is operating on the correct platform.

Webアプリ実行部21は、ブラウザ上で動作するWebアプリを実行するための実行環境であるブラウザ機能を有する。PFアプリ実行部22が実行するPFアプリは、直接計算機が実行できる命令形式で構成されるネイティブアプリケーションである。一方、Webアプリは、一般にプレーンテキスト形式で記述されたHTMLやJavaScriptファイル、これらから利用される各種メディアファイルなどである。   The web application execution unit 21 has a browser function that is an execution environment for executing a web application that runs on a browser. The PF application executed by the PF application execution unit 22 is a native application configured in an instruction format that can be directly executed by a computer. On the other hand, the web application is generally an HTML or JavaScript file described in a plain text format, or various media files used from these.

Webアプリ実行部21が実行するWebアプリとPFアプリ実行部22が実行するPFアプリは別々に開発できるが、Webアプリ実行部21は一般に仕組みが複雑で新たな機能追加は困難である。何らかの特有の機能を実現したい場合には、アプリ認証処理部23で目的機能を実現することができれば、ブラウザ内部を変更するよりも開発コストを下げて開発を行うことができる。また、Webアプリの記述言語であるHTMLやJavaScriptには秘密情報を含ませることは困難だが、PFアプリはネイティブアプリケーションであるため、秘密情報の保護強度を高くできる。   Although the web application executed by the web application execution unit 21 and the PF application executed by the PF application execution unit 22 can be developed separately, the web application execution unit 21 generally has a complicated mechanism and it is difficult to add a new function. When it is desired to realize some specific function, if the target function can be realized by the application authentication processing unit 23, development can be performed at a lower development cost than when the inside of the browser is changed. Although it is difficult to include secret information in HTML and JavaScript, which are Web application description languages, the protection strength of secret information can be increased because the PF application is a native application.

一方、PFアプリは、ブラウザの内部データ(例えばコネクションのデータや通信するデータ)を操作することが原則できず、ブラウザにより外部操作用インタフェースが公開されていない場合のみ、ブラウザの内部データを操作できるため、自由度は低くなる。   On the other hand, the PF application cannot operate the internal data of the browser (for example, connection data or data to be communicated), and can operate the internal data of the browser only when the external operation interface is not disclosed by the browser. Therefore, the degree of freedom is low.

Webアプリ実行部21は、HTMLやJavaScriptで記述されたWebアプリおよびWebアプリが参照する動画像や音声などのメディアファイルを取得し、実行および表示を行う機能を有する。Webアプリ実行部21は、ユーザ入力を受け付ける入力受信部25や後述する認証要求部からのアプリ実行要求を契機として、Webアプリの取得をHTTP処理部26に要求し、取得したWebアプリの実行を開始する。   The web application execution unit 21 has a function of acquiring, executing, and displaying a web application written in HTML or JavaScript and a media file such as a moving image or a sound referred to by the web application. The web application execution unit 21 requests the HTTP processing unit 26 to acquire a web application in response to an application execution request from an input receiving unit 25 that accepts user input or an authentication request unit described later, and executes the acquired web application. Start.

加えて、Webアプリ実行部21は、WebアプリのJavaScript等で記述されたプログラムに遠隔機器操作命令が含まれる場合には、アプリ認証処理部23に対して正規プラットホーム上でアプリが実行されていることを保証する認証子(認証トークン)の取得を依頼する機能を有する。アプリ認証処理部23は、取得した認証トークンを、情報出力装置3の位置を識別するための情報(例えばFully Qualified Domain Name(FQDN)やIPアドレス)とともにアプリ出所付与部27に渡す。アプリ出所付与部27は、認証トークンにアプリの出所の位置識別子(例えばURL情報やOrigin情報)を付与する。ここで、Origin情報とはURLのドメイン部分であり、例えばhttp://www.toshiba.com/application_1/から取得したアプリケーションであればOriginはwww.toshiba.comとなる。   In addition, the web application execution unit 21 executes the application on the authorized platform with respect to the application authentication processing unit 23 when a remote device operation instruction is included in the program written in JavaScript or the like of the web application. It has a function of requesting acquisition of an authenticator (authentication token) that guarantees that. The application authentication processing unit 23 passes the acquired authentication token to the application origin giving unit 27 together with information for identifying the position of the information output device 3 (for example, Fully Qualified Domain Name (FQDN) or IP address). The application origin assigning unit 27 assigns an application origin location identifier (for example, URL information or Origin information) to the authentication token. Here, Origin information is the domain portion of the URL. For example, if the application is acquired from http://www.toshiba.com/application_1, Origin is www.toshiba.com.

アプリ出所付与部27は、アプリの出所の位置識別子を付与した認証トークンを情報出力装置3とのコネクションを管理する第3コネクション部35を用いて情報出力装置3に送信するよう、IPコネクション管理部24に指示する。IPコネクション管理部24は、第3コネクション部35に認証トークンを送るための第3のコネクション確立を指示して第3のコネクションを確立させて、その後に、第3コネクション部35は認証トークンを情報出力装置3に送る。これにより、情報出力装置3は認証トークンが送られてきた第3のコネクションが正規のプラットホームにより確立されたコネクションであることを判別できる。また、情報出力装置3は、アプリの出所についても正規プラットホームにより付与されたものであることを判別できる。情報出力装置3側にいったん認証トークンが送信されると、再度別のコネクションで同一の認証トークンが送信されると、認証無効とされる(ワンタイムパスワードとする)。これにより、情報セキュリティを向上できる。   The application origination granting unit 27 transmits the authentication token assigned with the location identifier of the app origination to the information output device 3 using the third connection unit 35 that manages the connection with the information output device 3. 24. The IP connection management unit 24 instructs the third connection unit 35 to establish the third connection for sending the authentication token, and establishes the third connection. Thereafter, the third connection unit 35 stores the authentication token as information. Send to output device 3. As a result, the information output apparatus 3 can determine that the third connection to which the authentication token has been sent is a connection established by a legitimate platform. Further, the information output device 3 can determine that the origin of the application is given by the regular platform. Once the authentication token is transmitted to the information output device 3, the authentication is invalidated (the one-time password is assumed) when the same authentication token is transmitted again through another connection. Thereby, information security can be improved.

Webアプリ実行部21はさらに機器操作命令を生成する機能を有し、IPコネクション管理部24に対して第3コネクション部35を利用して送信することを依頼する機能を有する。このため、IPコネクション管理部24は第3コネクション部35を利用して機器操作命令を情報出力装置3に対して送る機能を有する。情報出力装置3は既に第3コネクション部35により認証トークンが送られているため、第3のコネクションが正規プラットホームにより確立されたコネクションであることが判別できているため、同じコネクションにより送られた機器操作命令についても正規プラットホーム上で動作するアプリケーションから送られていると判断でき、アプリケーションの出所についても正しく判別することが出来る。   The Web application execution unit 21 further has a function of generating a device operation command, and has a function of requesting the IP connection management unit 24 to transmit using the third connection unit 35. Therefore, the IP connection management unit 24 has a function of sending a device operation command to the information output device 3 using the third connection unit 35. Since the information output device 3 has already sent the authentication token by the third connection unit 35, it can be determined that the third connection is a connection established by the legitimate platform. It can be determined that the operation command is sent from an application running on a regular platform, and the origin of the application can also be correctly determined.

アプリ認証処理部23は、Webアプリ実行部21からの認証トークン生成要求に対して、認証トークンを生成してWebアプリ実行部21に渡す機能を有する。情報出力装置3が操作元のプラットホームが正しいことを検証するためには、情報出力装置3とアプリ認証処理部23が認証を行う必要がある。このため、アプリ認証処理部23は情報出力装置3と第2のコネクションが確立されていない場合にはIPコネクション管理部24を通じて第2コネクション部34に対して第2のコネクションの確立要求を出してコネクションを確立し、認証を要求する機能を有する。認証方式としてはパスワード認証、チャレンジ・アンド・レスポンスなど一般によく知られた方式を用いればよい。例えば認証方式としてチャレンジ・アンド・レスポンスを利用する場合には、アプリ認証処理部23はIPコネクション管理部24を通じて第2コネクション部34を指定して第2のコネクションにより認証要求を送り、情報出力装置3から認証要求子であるチャレンジを受け取り、レスポンスを生成して認証子(認証トークン)としてWebアプリ実行部21に渡す機能を有する。この後、Webアプリ実行部21が第3コネクション部35を指定してIPコネクション管理部24から当該レスポンスを送れば、認証完了となる。また、通常のパスワード認証を用いる場合には、アプリ認証処理部23が情報出力装置3に対して第2コネクション部34を指定してIPコネクション管理部24からパスワードを送信し、認証結果として情報出力装置3から受け取ったランダムな文字列をWebアプリ実行部21に渡し、Webアプリ実行部21が第3コネクション部35を指定してIPコネクション管理部24により当該文字列を送り、情報出力装置3が送った文字列と受け取った文字列が一致すれば第3のコネクションが正当なものであることが証明できる。   In response to an authentication token generation request from the web application execution unit 21, the application authentication processing unit 23 has a function of generating an authentication token and passing it to the web application execution unit 21. In order for the information output device 3 to verify that the operating platform is correct, the information output device 3 and the application authentication processing unit 23 need to authenticate. Therefore, the application authentication processing unit 23 issues a second connection establishment request to the second connection unit 34 through the IP connection management unit 24 when the second connection with the information output device 3 is not established. It has a function of establishing a connection and requesting authentication. As the authentication method, generally well-known methods such as password authentication and challenge-and-response may be used. For example, when challenge-and-response is used as an authentication method, the application authentication processing unit 23 designates the second connection unit 34 through the IP connection management unit 24 and sends an authentication request through the second connection. 3 has a function of receiving a challenge, which is an authentication requestor, from 3 and generating a response and passing it as an authenticator (authentication token) to the web application execution unit 21. Thereafter, when the Web application execution unit 21 designates the third connection unit 35 and sends the response from the IP connection management unit 24, the authentication is completed. When normal password authentication is used, the application authentication processing unit 23 designates the second connection unit 34 to the information output device 3 and transmits a password from the IP connection management unit 24, and outputs information as an authentication result. The random character string received from the device 3 is passed to the web application execution unit 21. The web application execution unit 21 designates the third connection unit 35 and sends the character string by the IP connection management unit 24. If the sent character string matches the received character string, it can be proved that the third connection is valid.

このように、第2のコネクションと第3のコネクションを分離することにより、情報出力装置3にWebアプリケーションに対して秘匿すべき情報、もしくは改ざんされては困る情報を送る際に、第2のコネクションを用いて秘匿すべきもしくは改ざんされて困る情報を送ることで、Webアプリケーションは第1のコネクションで送受信されるデータのみにアクセスできるため、情報を秘匿し、改ざんを防止することができる。   In this way, when the second connection and the third connection are separated, the second connection is sent to the information output device 3 when the information to be kept secret from the Web application or the information that cannot be tampered with is sent. By sending information that should be concealed or tampered with the Web application, the Web application can access only the data transmitted and received through the first connection, so that the information can be concealed and tampering can be prevented.

IPコネクション管理部24は、上述した第1乃至第4コネクション部33〜36を含む複数のコネクション部を識別し、IPコネクション管理部24の呼出し元から指定されたコネクション部を利用してデータを送信する。   The IP connection management unit 24 identifies a plurality of connection units including the first to fourth connection units 33 to 36 described above, and transmits data using the connection unit specified by the caller of the IP connection management unit 24. To do.

第1コネクション部33はIPコネクション管理部24から呼び出され、IPコネクション管理部24から指定されたWebアプリ配布サーバの位置情報とアプリケーションの位置情報を受け取り、Webアプリ配布サーバ5とのコネクションである第1のコネクションを確立したのち、Webアプリケーションを取得してIPコネクション管理部24に返す機能を有する。   The first connection unit 33 is called from the IP connection management unit 24, receives the location information of the web application distribution server and the location information of the application specified from the IP connection management unit 24, and is a connection with the web application distribution server 5. 1 has a function of acquiring a Web application and returning it to the IP connection management unit 24.

第2コネクション部34はIPコネクション管理部24から呼び出され、IPコネクション管理部24から指定された情報出力装置3の位置情報を受け取り、第2のコネクションが確立されていない場合には確立を行い、情報出力装置3に認証要求を送信し、さらに情報出力装置3から認証要求子を受信してIPコネクション管理部24に返却する機能を有する。   The second connection unit 34 is called from the IP connection management unit 24, receives the position information of the information output device 3 designated from the IP connection management unit 24, and establishes the second connection if it is not established, It has a function of transmitting an authentication request to the information output device 3, receiving an authentication request from the information output device 3, and returning it to the IP connection management unit 24.

第3コネクション部35はIPコネクション管理部24から呼び出され、IPコネクション管理部24から指定された情報出力装置3の位置情報を受け取り、第3のコネクションが確立されていない場合には確立を行い、IPコネクション管理部24から渡された認証トークンや機器操作命令を送信する機能を有する。   The third connection unit 35 is called from the IP connection management unit 24 and receives the location information of the information output device 3 designated from the IP connection management unit 24. If the third connection is not established, the third connection unit 35 is established. It has a function of transmitting an authentication token and a device operation command passed from the IP connection management unit 24.

第4コネクション部36はIPコネクション管理部24から呼び出され、IPコネクション管理部24から受け取った機器検索命令を第4のコネクションを確立して送信し、受信した機器検索結果をIPコネクション管理部24に返す機能を有する。   The fourth connection unit 36 is called from the IP connection management unit 24, transmits the device search command received from the IP connection management unit 24 by establishing the fourth connection, and sends the received device search result to the IP connection management unit 24. Has a function to return.

図3は図2の情報操作装置1内のWebアプリ実行部21とアプリ認証処理部23の内部構成を示すブロック図である。図3では、PFアプリ実行部22を省略しているが、図2と同様に、アプリ認証処理部23はPFアプリ実行部22の内部に設けられている。以下、図3を用いて情報処理装置の詳細構成を説明する。   FIG. 3 is a block diagram showing an internal configuration of the Web application execution unit 21 and the application authentication processing unit 23 in the information operating device 1 of FIG. In FIG. 3, the PF application execution unit 22 is omitted, but the application authentication processing unit 23 is provided inside the PF application execution unit 22 as in FIG. 2. The detailed configuration of the information processing apparatus will be described below with reference to FIG.

Webアプリ実行部21は、Webアプリを表示および実行する機能を有するページ実行部51(いわゆるウェブブラウザ)と、Webアプリから自分自身が正規プラットホーム上で動作していることを証明する認証子(認証トークン)を要求する機能を有する認証要求部52と、遠隔機器操作命令を生成する機能を有する操作命令生成部53と、機器操作命令を送信する機能を有する操作命令送信部54と、認証トークンを送信する機能を有する認証トークン送信部55とを有する。   The web application execution unit 21 includes a page execution unit 51 (so-called web browser) having a function of displaying and executing a web application, and an authenticator (authentication) that proves that the web application itself is operating on a regular platform. An authentication request unit 52 having a function of requesting a token), an operation command generating unit 53 having a function of generating a remote device operation command, an operation command transmitting unit 54 having a function of transmitting a device operation command, and an authentication token. An authentication token transmission unit 55 having a transmission function.

ウェブブラウザからなるページ実行部51以外の認証要求部52、操作命令生成部53、操作命令送信部54および認証トークン送信部55は、Webアプリ内のソフトウエアモジュールである。   The authentication request unit 52, the operation command generation unit 53, the operation command transmission unit 54, and the authentication token transmission unit 55 other than the page execution unit 51 formed of a web browser are software modules in the web application.

アプリ認証処理部23は、正しいプラットホームであることを証明するための認証トークンを生成する機能を有する認証トークン生成部61と、アプリケーションが最初に表示するページのURLを管理する機能を有する開始アプリURL管理部62と、認証トークンを生成するための鍵を管理する機能を有する鍵管理部63と、HTTPサーバやWebSocketサーバに対して認証要求を行う機能を有する認証処理部64とを有する。   The application authentication processing unit 23 includes an authentication token generation unit 61 having a function of generating an authentication token for proving that the application is a correct platform, and a start application URL having a function of managing a URL of a page displayed first by the application The management unit 62 includes a key management unit 63 having a function of managing a key for generating an authentication token, and an authentication processing unit 64 having a function of making an authentication request to the HTTP server or the WebSocket server.

アプリ認証処理部23とWebアプリ実行部21を分離することにより、Webアプリ実行部21側に秘密の情報を格納することなく、安全にプラットホームの正当性を保証するための認証トークンを生成できるようになる。   By separating the application authentication processing unit 23 and the web application execution unit 21, it is possible to generate an authentication token for guaranteeing the validity of the platform safely without storing secret information on the web application execution unit 21 side. become.

Webアプリ実行部21内のページ実行部51は、入力受信部25や開始アプリURL管理部62からWebアプリの開始要求と開始位置情報(開始URL情報)を受け取り、Webアプリの実行を行う機能を有する。ページ実行部51は、開始要求を受け取った場合には、HTTP処理部26に対して開始URL情報を渡し、当該Webアプリの取得を行う。さらに習得したWebアプリに記述された処理内容を元にWebアプリの実行を行う機能を有する。さらに認証要求がWebアプリに含まれる場合に、情報出力装置3の位置情報(例えばIPアドレス)を指定して認証要求部52を呼び出して認証トークンを取得した後、認証トークン送信部55に認証要求部52から取得した認証トークンを渡して呼び出す機能を有する。また、操作要求がWebアプリに含まれる場合に、機器操作命令の識別子を指定して操作命令生成部53を呼び出して機器操作命令を生成し、操作命令送信部54に機器操作命令を指定して呼び出す機能を有する。また、ページ実行部51は実行中のアプリの出所の位置情報をアプリ出所付与部27からの要求に従って渡す機能を有する。   The page execution unit 51 in the web application execution unit 21 has a function of receiving a web application start request and start position information (start URL information) from the input reception unit 25 and the start application URL management unit 62 and executing the web application. Have. When receiving a start request, the page execution unit 51 passes start URL information to the HTTP processing unit 26 and acquires the Web application. Furthermore, it has a function to execute the web application based on the processing contents described in the learned web application. Further, when the authentication request is included in the Web application, the authentication request unit 52 is called by specifying the position information (for example, IP address) of the information output device 3 to acquire the authentication token, and then the authentication request is sent to the authentication token transmission unit 55 The authentication token acquired from the unit 52 is passed and called. Further, when the operation request is included in the Web application, the device operation command is generated by designating the device operation command identifier, calling the operation command generation unit 53, and specifying the device operation command in the operation command transmission unit 54. Has a function to call. Further, the page execution unit 51 has a function of passing location information of the origin of the application being executed in accordance with a request from the application origin giving unit 27.

認証要求部52は、ページ実行部51から情報出力装置3の位置情報を受け取り、アプリ認証処理部23の認証トークン生成部61を呼び出す機能を有する。また、認証トークン生成部61から認証子(認証トークン)を受け取り、ページ実行部51に渡す機能を有する。後述するように、認証子を多重に暗号化する場合にはユーザにパスワードを入力させ、そのパスワードを認証トークン生成部61に渡してもよい。   The authentication request unit 52 has a function of receiving the position information of the information output device 3 from the page execution unit 51 and calling the authentication token generation unit 61 of the application authentication processing unit 23. Further, it has a function of receiving an authenticator (authentication token) from the authentication token generation unit 61 and passing it to the page execution unit 51. As will be described later, when multiple authenticators are encrypted, the user may input a password and pass the password to the authentication token generator 61.

認証トークン送信部55は、ページ実行部51から情報出力装置3の位置情報と認証トークンを受け取り、情報出力装置3の位置情報と認証トークンをアプリ出所付与部27に渡して呼び出す機能を有する。また、認証トークン送信部55はアプリ出所付与部27からコネクション部の識別子(第3コネクション部35の識別子)を受け取って、主記憶13等に保存する機能を有する。   The authentication token transmission unit 55 has a function of receiving the location information and the authentication token of the information output device 3 from the page execution unit 51, passing the location information and the authentication token of the information output device 3 to the application origin giving unit 27 and calling them. The authentication token transmission unit 55 has a function of receiving the connection unit identifier (identifier of the third connection unit 35) from the application origin providing unit 27 and storing it in the main memory 13 or the like.

操作命令生成部53は、ページ実行部51から機器操作命令の種別を受け取って、特定のフォーマットで機器操作命令を生成し、ページ実行部51に渡す機能を有する。このフォーマットは情報出力装置3と操作命令生成部53の間で予め取り決めておけばフォーマットの詳細形式は問わない。   The operation command generation unit 53 has a function of receiving the type of device operation command from the page execution unit 51, generating a device operation command in a specific format, and passing it to the page execution unit 51. As long as this format is determined in advance between the information output device 3 and the operation command generator 53, the detailed format of the format is not limited.

操作命令送信部54はページ実行部51から機器操作命令を受け取って、認証トークン送信部55が主記憶13等に保存したコネクション部の識別子を取得し、機器操作命令を送信メッセージ、送信先を第3コネクション部35としてIPコネクション管理部24に渡して呼び出す機能を有する。このとき、当該コネクションが切断されない限り、複数回の機器操作命令を認証トークンを再送することなく送信することができる。   The operation command transmission unit 54 receives the device operation command from the page execution unit 51, acquires the identifier of the connection unit stored in the main memory 13 or the like by the authentication token transmission unit 55, sends the device operation command to the transmission message, and specifies the transmission destination. The 3-connection unit 35 has a function of passing to the IP connection management unit 24 and calling it. At this time, as long as the connection is not disconnected, a plurality of device operation commands can be transmitted without retransmitting the authentication token.

アプリ出所付与部27は、認証トークン送信部55から認証トークンと情報出力装置3の位置情報を受け取って、認証トークンにアプリの出所の位置情報(URL情報)をページ実行部51から取得して付与する。また、認証トークンにアプリ出所情報を付与したものを送信メッセージ、送信先を情報出力装置3の位置情報としてIPコネクション管理部24に渡して呼び出す機能を有する。アプリ出所付与部27により、情報出力装置3はどのアプリケーションが機器操作命令を発行したかを把握できる。   The application origin giving unit 27 receives the authentication token and the location information of the information output device 3 from the authentication token sending unit 55, and acquires the location information (URL information) of the application origin from the page execution unit 51 and gives it to the authentication token. To do. In addition, it has a function of passing an authentication token with application origin information to the IP connection management unit 24 as a transmission message and a transmission destination as position information of the information output device 3. By the application origin giving unit 27, the information output device 3 can grasp which application has issued the device operation command.

認証トークン生成部61は、Webアプリ実行部21の認証要求部52からの認証要求を情報出力装置3の位置情報とともに受け取って、認証用コネクションである第2のコネクションが確立されていない場合にはIPコネクション管理部24に対して認証用コネクションの確立を依頼する機能を有する。すなわち、認証要求命令を送信メッセージ、情報出力装置3の位置情報を送信先として渡し、第2コネクション部34を呼び出して第2のコネクションの確立要求を行う機能を有する。第2のコネクションが既に確立されている場合には認証要求メッセージのみを送る。また、IPコネクション管理部24からコネクション確立結果(コネクション確立を行った場合のみ)と認証先からのメッセージを受け取り、これらをアプリ認証処理部23に渡して認証の実行を要求し、その結果を認証要求部52に渡す。例えば、チャレンジ・アンド・レスポンスによる認証の場合には、IPコネクション管理部24から認証要求命令の返答であるチャレンジを受け取ってアプリ認証処理部23に渡す機能と、アプリ認証処理部23からレスポンスを受け取って認証要求部52に認証トークンとして返す機能とを有する。認証要求部52からパスワードを受け取った場合には、アプリ認証処理部23に認証の実行を要求する場合に、受け取ったパスワードもアプリ認証処理部23に渡す。   The authentication token generation unit 61 receives the authentication request from the authentication request unit 52 of the Web application execution unit 21 together with the position information of the information output device 3, and when the second connection as the authentication connection is not established It has a function of requesting the IP connection management unit 24 to establish an authentication connection. That is, it has a function of passing an authentication request command as a transmission message and position information of the information output device 3 as a transmission destination and calling the second connection unit 34 to make a request for establishing a second connection. If the second connection has already been established, only the authentication request message is sent. Also, a connection establishment result (only when connection is established) and a message from the authentication destination are received from the IP connection management unit 24, and these are passed to the application authentication processing unit 23 to request execution of authentication, and the result is authenticated. It passes to the request unit 52. For example, in the case of authentication by challenge and response, a function that receives a challenge that is a response to the authentication request command from the IP connection management unit 24 and passes it to the application authentication processing unit 23, and a response from the application authentication processing unit 23 And a function of returning it to the authentication request unit 52 as an authentication token. When a password is received from the authentication request unit 52, the received password is also passed to the application authentication processing unit 23 when the application authentication processing unit 23 is requested to execute authentication.

アプリ認証処理部23は、認証トークン生成部61から認証要求を認証先から受け取ったメッセージと共に受け取って、鍵管理部63に対して鍵取得命令を出し、受け取った鍵と認証先から受け取ったメッセージから認証トークンを生成する機能を有する。例えばチャレンジ・アンド・レスポンスでは、認証先から受け取ったメッセージ(チャレンジ)と鍵により、HMAC-SHA1、HMAC-MD5などの方式を用いてレスポンスを生成する。このレスポンスを認証トークンとして、認証トークン生成部61に対して渡す機能を有する。このレスポンスを生成する前に、チャレンジを別の鍵でさらに暗号化してからレスポンスを生成してもよい。すなわち、レスポンスを多重に暗号化してもよい。この鍵としてはユーザが入力したパスワードを認証要求部52から受け取って利用する方法等がある。暗号化の方法としては、AES等の共通鍵暗号やXOR演算など、一般に知られた方法を使えばよい。また同様にレスポンスを生成するための鍵を前記ユーザが入力したパスワードで暗号化してからその暗号化した鍵でレスポンスを生成してもよいし、生成したレスポンスをさらに前記ユーザが入力したパスワードで暗号化してもよい。   The application authentication processing unit 23 receives the authentication request from the authentication token generation unit 61 together with the message received from the authentication destination, issues a key acquisition command to the key management unit 63, and receives the received key and the message received from the authentication destination. It has a function to generate an authentication token. For example, in challenge-and-response, a response is generated using a method (such as HMAC-SHA1 or HMAC-MD5) using a message (challenge) and a key received from an authentication destination. It has a function of passing this response as an authentication token to the authentication token generating unit 61. Before generating this response, the response may be generated after further encrypting the challenge with another key. That is, the response may be encrypted in multiple. As this key, there is a method of receiving and using a password input by the user from the authentication request unit 52. As an encryption method, a generally known method such as a common key encryption such as AES or an XOR operation may be used. Similarly, a key for generating a response may be encrypted with the password input by the user, and then a response may be generated with the encrypted key. The generated response may be further encrypted with the password input by the user. May be used.

鍵管理部63は、アプリ認証処理部23からの鍵取得要求に対して鍵を渡す機能を有する。この鍵については、鍵管理部63以外が読み取り不可能、もしくは読み取り困難な場所に格納し、その場所から取得する機能を有する。   The key management unit 63 has a function of passing a key in response to a key acquisition request from the application authentication processing unit 23. This key has a function of being stored in a place where it cannot be read or difficult to read by other than the key management unit 63 and obtained from that place.

開始アプリURL管理部62は、アプリケーションの起動時に開始URL情報を二次記憶などから読み込んでページ実行部51に渡してWebアプリの起動を要求する機能を有する。   The start application URL management unit 62 has a function of reading start URL information from secondary storage or the like when starting an application and passing it to the page execution unit 51 to request the start of the Web application.

IPコネクション管理部24は、WebSocketプロトコルやHTTPなどの通信プロトコルを用いて、サーバとのコネクションの確立とデータの送受信を行う機能を有する。送信先サーバの指定としては、位置識別子(FQDN情報やIPアドレス情報)もしくは既に接続されたコネクション識別子情報を受け取り、位置識別子が指定された場合にはまず位置識別子情報を元に対応するサーバとのコネクションを確立する。その後、位置識別子が指定された場合には接続したコネクションを、既に接続されたコネクション識別子情報を受け取った場合には指定されたコネクションを用いて、呼出し元から指定された送信メッセージを送る機能を有する。また、サーバからの返答を受信し、呼出し元にコネクション情報と共に返す機能を有する。IPコネクション管理部24は、第3コネクション部35を介して認証トークンと機器操作命令を、第2コネクション部34を介して認証要求を送ることができる。また、アプリケーションを取得する第1コネクション部33を管理する機能も有する。このために複数コネクション部を同時に管理でき、呼出し元やコネクション識別子によって利用するコネクション部を分別する機能を有することを特徴とする。   The IP connection management unit 24 has a function of establishing a connection with a server and transmitting / receiving data using a communication protocol such as WebSocket protocol or HTTP. As a destination server designation, a location identifier (FQDN information or IP address information) or connection identifier information that has already been connected is received. When a location identifier is designated, the server is first connected with the corresponding server based on the location identifier information. Establish a connection. After that, when a location identifier is specified, it has a function of sending a connection message specified by the caller using a connected connection, and when receiving connection identifier information that has already been connected, using the specified connection. . It also has a function of receiving a response from the server and returning it with the connection information to the caller. The IP connection management unit 24 can send an authentication token and a device operation command via the third connection unit 35 and an authentication request via the second connection unit 34. Moreover, it also has a function of managing the first connection unit 33 that acquires applications. For this purpose, a plurality of connection units can be managed simultaneously, and the connection unit to be used is classified according to the caller or connection identifier.

また、IPコネクション管理部24は、コネクション接続断や接続失敗が発生した場合に、接続断や接続失敗が発生したコネクション部を判別後に、そのコネクション部の確立要求元ブロックを判別してエラーを返す機能を備えていてもよい。加えて、情報操作装置1に後述の機器検索処理部28を備える場合には、IPコネクション管理部24は機器検索用コネクションである第4のコネクションを管理する第4コネクション部36を別途管理する機能も有する。   In addition, when a connection disconnection or connection failure occurs, the IP connection management unit 24 determines the connection part where the connection disconnection or connection failure has occurred, determines the establishment request source block of the connection part, and returns an error. It may have a function. In addition, when the information search device 1 includes a device search processing unit 28 described later, the IP connection management unit 24 separately manages a fourth connection unit 36 that manages a fourth connection that is a device search connection. Also have.

機器検索処理部28は、情報出力装置3の検索命令を受け取って機器検索命令を生成し、IPコネクション管理部24とIPコネクション管理部24から呼び出される第4コネクション部36を用いて情報出力装置3を検索し、見つかった情報出力装置3の位置識別子のリストを返す機能を有する。この機器発見のプロトコルとしては、UPnP、NetBIOSなど一般に知られたプロトコルを用いればよい。Webアプリ実行部21が情報出力装置3の位置識別子が予め分かっている場合など、必ずしも機器検索処理部28は必須ではない。機器検索処理部28により、予めネットワーク2内にどの被操作機器が存在するかといった情報を操作機器側に設定する必要がなくなる。機器検索処理部28が存在しない場合には、第4コネクション部36は必須ではない。   The device search processing unit 28 receives the search command of the information output device 3 to generate a device search command, and uses the IP connection management unit 24 and the fourth connection unit 36 called from the IP connection management unit 24 to use the information output device 3. And a list of position identifiers of the found information output device 3 is returned. As a device discovery protocol, a generally known protocol such as UPnP or NetBIOS may be used. When the web application execution unit 21 knows the position identifier of the information output device 3 in advance, the device search processing unit 28 is not necessarily required. The device search processing unit 28 eliminates the need to previously set information on which operated device exists in the network 2 on the operating device side. When the device search processing unit 28 does not exist, the fourth connection unit 36 is not essential.

アプリ認証処理部23は、機器検索処理部28により取得した情報出力装置3の位置識別子を用いて、当該情報出力装置3との間で第2コネクション部34を介して認証要求および認証トークンの送受を行う。   The application authentication processing unit 23 uses the location identifier of the information output device 3 acquired by the device search processing unit 28 to send / receive an authentication request and an authentication token to / from the information output device 3 via the second connection unit 34. I do.

入力受信部25は、ユーザ入力を受け取り、その入力に応じてページ実行部51に対して入力内容を渡す機能を有する。例えば、ページに含まれるリンクのマウスやキーボードなどの外部入力装置による選択時にはページ実行部51に選択情報を伝え、ページ実行部51は受け取った選択情報に基づいてリンク先のページ取得、実行を行う。   The input receiving unit 25 has a function of receiving a user input and passing the input content to the page execution unit 51 in accordance with the input. For example, when a link included in a page is selected by an external input device such as a mouse or a keyboard, selection information is transmitted to the page execution unit 51, and the page execution unit 51 acquires and executes a link destination page based on the received selection information. .

HTTP処理部26はサーバ上のデータ取得要求とともに取得データの位置識別子(URL情報)を受け取り、IPコネクション管理部24および第1コネクション部33を介してURL情報に対応するサーバに接続し、データ取得を行う機能を有する。受け取ったデータはデータ取得要求元に渡す機能を有する。   The HTTP processing unit 26 receives the location identifier (URL information) of the acquired data together with the data acquisition request on the server, connects to the server corresponding to the URL information via the IP connection management unit 24 and the first connection unit 33, and acquires the data It has a function to perform. The received data has a function of passing to the data acquisition request source.

図4は第1の実施形態における情報出力装置3の内部構成を示すブロック図である。図4の情報出力装置3は、IPコネクション管理部70、メッセージ分析部71、認証用チャレンジ生成部72、認証トークン検査部73、機器操作命令処理部74、アプリ出所検査部75、機器検索応答部76、第1〜第4コネクション部78、34〜36を有する。本明細書では、情報操作装置1内の第2〜第4コネクション部34〜36と、情報操作装置1内の第2〜第4コネクション部34〜36に同一の符号を付している。すなわち、同一の符号の付されたコネクション部同士で、接続確立処理を行う。   FIG. 4 is a block diagram showing an internal configuration of the information output apparatus 3 in the first embodiment. 4 includes an IP connection management unit 70, a message analysis unit 71, an authentication challenge generation unit 72, an authentication token inspection unit 73, a device operation command processing unit 74, an application origin inspection unit 75, and a device search response unit. 76, first to fourth connection sections 78, 34-36. In the present specification, the second to fourth connection units 34 to 36 in the information operating device 1 and the second to fourth connection units 34 to 36 in the information operating device 1 are denoted by the same reference numerals. That is, the connection establishment process is performed between the connection parts having the same reference numerals.

IPコネクション管理部70は、WebSocketプロトコルやHTTPなどの通信プロトコルを用いて、情報操作装置1とのコネクションの確立、データの送受信を行う機能を有する。IPコネクション管理部70は、第2コネクション部34と第3コネクション部35を別々に管理し、第3コネクション部35にて認証トークンや出所情報、機器操作命令を受信する機能と、第2コネクション部34にて認証要求を受信して認証要求子である認証用チャレンジを送信する機能とを有する。このために、IPコネクション管理部70は、複数コネクション部を同時に管理でき、呼出し元やコネクション識別子によって利用するコネクション部を分別する機能を有することを特徴とする。加えて、情報出力装置3が後述の機器検索応答部を備える場合には、IPコネクション管理部70は機器検索用コネクションの確立や検索命令の受信と検索命令への応答送信を行う第4コネクション部36を別途管理する機能も有する。また、IPコネクション管理部70は許可出所リストを取得する第1コネクション部78を別途管理する機能を有してもよい。   The IP connection management unit 70 has functions of establishing a connection with the information operating device 1 and transmitting / receiving data using a communication protocol such as WebSocket protocol or HTTP. The IP connection management unit 70 separately manages the second connection unit 34 and the third connection unit 35, and receives the authentication token, the origin information, and the device operation command in the third connection unit 35, and the second connection unit And a function of receiving an authentication request at 34 and transmitting an authentication challenge as an authentication requestor. To this end, the IP connection management unit 70 is capable of managing a plurality of connection units at the same time, and has a function of separating connection units to be used according to a caller or a connection identifier. In addition, when the information output device 3 includes a later-described device search response unit, the IP connection management unit 70 establishes a device search connection, receives a search command, and transmits a response to the search command. 36 is also managed separately. Further, the IP connection management unit 70 may have a function of separately managing the first connection unit 78 that acquires the permitted source list.

メッセージ分析部71は、第3コネクション部35を介して受信した命令を、機器操作命令、認証トークンおよび出所情報に分割し、認証トークンは認証トークン検査部73に渡し、出所情報はアプリ出所検査部75に渡す機能を有する。機器操作命令については、アプリ出所検査部75や認証トークン検査部73からの検査結果を受け取り、出所情報および認証トークンが適正と判断された場合にのみ、機器操作命令処理部74に渡す機能を有する。   The message analysis unit 71 divides the command received via the third connection unit 35 into a device operation command, an authentication token, and source information, and passes the authentication token to the authentication token inspection unit 73, where the source information is the application source inspection unit. 75. The device operation command has a function of receiving the inspection result from the application origin inspection unit 75 or the authentication token inspection unit 73 and passing it to the device operation instruction processing unit 74 only when the origin information and the authentication token are determined to be appropriate. .

認証用チャレンジ生成部72は、IPコネクション管理部70から第2コネクション部34を介して認証要求が渡された場合に、認証用チャレンジを生成して第2コネクション部34を介して要求元に返す機能を有する。このチャレンジの生成方法はランダムな文字列の生成などで良い。また、認証用チャレンジに対するレスポンスを情報出力装置3に格納される鍵情報(共通鍵)を用いて生成して、検証用認証トークン情報として保存する機能を有する。   The authentication challenge generation unit 72 generates an authentication challenge and returns it to the request source via the second connection unit 34 when an authentication request is passed from the IP connection management unit 70 via the second connection unit 34. It has a function. This challenge may be generated by generating a random character string. In addition, it has a function of generating a response to the authentication challenge using key information (common key) stored in the information output device 3 and storing it as verification authentication token information.

認証トークン検査部73は、第2コネクション部34を介して渡された認証トークンを検査する機能を有する。認証用チャレンジ生成部72が保存した検証用認証トークン情報の中に渡された認証トークンが存在するかどうかを確認し、存在する場合には認証トークンが適正という結果を返し、存在しない場合には認証トークンが不正という結果を返す。認証トークンが適正な場合には、保存された検証用認証トークン情報を削除する機能を有する。これにより、一回の認証でのみ有効なパスワード(ワンタイムパスワード)を生成できる。   The authentication token inspection unit 73 has a function of inspecting the authentication token passed through the second connection unit 34. The authentication challenge generator 72 checks whether the authentication token passed in the verification authentication token information stored is present, and if it exists, returns a result indicating that the authentication token is proper. Returns a result that the authentication token is invalid. When the authentication token is appropriate, the authentication token information stored is deleted. As a result, it is possible to generate a password (one-time password) that is valid only once.

機器操作命令処理部74は、情報操作装置1から受信した機器操作命令を処理し、不図示のチューナー部を制御したり、不図示の画面出力部に表示する映像等を切り替える指示を送ったりする機能を有する。   The device operation command processing unit 74 processes the device operation command received from the information operation device 1 and controls a tuner unit (not shown) or sends an instruction to switch a video displayed on a screen output unit (not shown). It has a function.

アプリ出所検査部75は、第3のコネクションの確立時のヘッダ情報を分析し、コネクション確立要求を行ったアプリケーションの出所を判定し、許可出所リストにその出所が含まれるか否かを判定して、含まれる場合には出所が適正という結果を返し、含まれない場合に不正という結果を返す機能を有する。ここで、許可出所リストとは、認証トークンの発行を行うことが可能なWebアプリの取得先をリストアップしたものであり、Webアプリごとに設けられる。許可出所リストは、例えばWebアプリ配布サーバ5が管理する。   The application origin inspection unit 75 analyzes the header information at the time of establishing the third connection, determines the source of the application that has made the connection establishment request, and determines whether the source is included in the permitted source list. If it is included, it returns a result that the source is appropriate, and if it is not included, it has a function to return a result that is invalid. Here, the permitted source list is a list of Web application acquisition sources that can issue authentication tokens, and is provided for each Web application. The permitted origin list is managed by, for example, the web application distribution server 5.

機器検索応答部76は、後述する情報操作装置1からの装置検索要求に応答して、自装置の名前やIPアドレスを返信する処理を行う。装置検索のプロトコルとしてUPnP規格で定められた方式や、NetBIOSによる名前検索方式を用いてもよい。なお、この機器検索応答部76は必須の構成ではない。   In response to a device search request from the information operating device 1, which will be described later, the device search response unit 76 performs a process of returning the name and IP address of the device itself. As a device search protocol, a method defined by the UPnP standard or a name search method using NetBIOS may be used. The device search response unit 76 is not an essential component.

図5は第1の実施形態におけるWebアプリ配布サーバ5の内部構成を示すブロック図である。図5の情報出力装置3は、HTTPサーバ処理部43と、コンテンツ・メディアファイル取得部44とを有する。HTTPサーバ処理部43の内部には図1に示したネットワークインタフェース部41が設けられ、コンテンツ・メディアファイル取得部44の内部には図1に示したストレージ部42が設けられている。   FIG. 5 is a block diagram showing an internal configuration of the Web application distribution server 5 in the first embodiment. The information output device 3 in FIG. 5 includes an HTTP server processing unit 43 and a content / media file acquisition unit 44. The HTTP server processing unit 43 includes the network interface unit 41 illustrated in FIG. 1, and the content / media file acquisition unit 44 includes the storage unit 42 illustrated in FIG. 1.

HTTPサーバ処理部43は、情報操作装置1から渡されたURL情報をコンテンツ・メディアファイル取得部44に渡してファイル取得を要求し、受け取ったファイルを情報操作装置1に渡す機能を有する。   The HTTP server processing unit 43 has a function of passing the URL information passed from the information operating device 1 to the content / media file acquiring unit 44 to request file acquisition, and passing the received file to the information operating device 1.

コンテンツ・メディアファイル取得部44はHTTPサーバ処理部43から渡されたURL情報をWebアプリ配布サーバ5が備える不図示のストレージ内のファイル位置に変換し、ストレージ部からファイルを読み込んで、HTTPサーバ処理部43に渡す機能を有する。   The content / media file acquisition unit 44 converts the URL information passed from the HTTP server processing unit 43 into a file position in a storage (not shown) provided in the Web application distribution server 5, reads the file from the storage unit, and performs HTTP server processing. It has a function to pass to the unit 43.

図6は情報操作装置1内のWebアプリ実行部21とアプリ認証処理部23の起動時の処理手順の一例を示すフローチャートである。起動時にはアプリ(装置)毎に設定された最初に表示するページをWebアプリ配布サーバ5から取得して実行する。以下はその詳細である。   FIG. 6 is a flowchart illustrating an example of a processing procedure when the web application execution unit 21 and the application authentication processing unit 23 in the information operating device 1 are activated. At startup, the first page to be displayed set for each application (apparatus) is acquired from the Web application distribution server 5 and executed. The details are as follows.

アプリ認証処理部23内の開始アプリURL管理部62は、ストレージ等の開始アプリURL管理部62の管理する領域からアプリケーション起動時に最初に表示するページのURL情報をロードし、ページ実行部51に対してURL情報を渡してページ表示を要求する(ステップS1)。   The start application URL management unit 62 in the application authentication processing unit 23 loads URL information of a page to be displayed first at the time of application activation from the area managed by the start application URL management unit 62 such as storage, and the page execution unit 51 The URL information is passed to request page display (step S1).

ページ実行部51はURL情報を受信し、HTTP処理部26に対してURL情報が指すページデータの取得を要求する(ステップS2)。   The page execution unit 51 receives the URL information, and requests the HTTP processing unit 26 to obtain page data pointed to by the URL information (step S2).

HTTP処理部26は、URLが指すサーバに接続し、URL情報に基づいてページ取得命令を出して、ページのデータ取得後、ページ実行部51にデータを返す(ステップS3)。ページ実行部51は取得したデータを元にWebアプリの実行を開始する(ステップS4)。   The HTTP processing unit 26 connects to the server pointed to by the URL, issues a page acquisition command based on the URL information, and returns the data to the page execution unit 51 after acquiring the page data (step S3). The page execution unit 51 starts executing the web application based on the acquired data (step S4).

情報操作装置1毎に管理するURL情報を変えることで、サーバ上から取得するページデータが変わるため、処理内容を変更することができる。例えばチャンネル変更アプリ(装置)と、録画視聴アプリ(装置)を別のアプリケーションとして実現することが可能となる。   By changing the URL information managed for each information operating device 1, the page data acquired from the server changes, so that the processing content can be changed. For example, the channel change application (apparatus) and the recording / viewing application (apparatus) can be realized as separate applications.

Webアプリの実行中に認証要求命令が現れた場合には、プラットホームの正当性を示す認証トークンの認証用コネクション(第2のコネクション)の確立と、情報出力装置3との機器操作用コネクション(第3のコネクション)の確立とを行う。   When an authentication request command appears during the execution of the Web application, establishment of an authentication token authentication connection (second connection) indicating the validity of the platform, and device operation connection (first connection) with the information output device 3 3 connection) is established.

図7はチャレンジ・アンド・レスポンスによる認証を行う際の認証要求命令検知時の処理手順の一例を示すフローチャートである。   FIG. 7 is a flowchart showing an example of a processing procedure when an authentication request command is detected when performing authentication by challenge and response.

ページ実行部51はWebアプリの実行中に認証要求命令を検知すると(ステップS11)、認証要求部52に対して情報出力装置3の位置情報を渡して認証要求を行う。この際にユーザにパスワード入力を要求して受け取ったパスワードを認証要求部52に渡してもよい。次に認証要求部52は認証トークン生成部61に対して情報出力装置3の位置情報とパスワードを受け取った場合にはパスワードを渡して認証トークンの生成を要求する(ステップS12)。   When the page execution unit 51 detects an authentication request command during execution of the Web application (step S11), it passes the position information of the information output device 3 to the authentication request unit 52 and makes an authentication request. At this time, the password received by requesting the user to input the password may be passed to the authentication request unit 52. Next, when receiving the location information and password of the information output device 3 to the authentication token generating unit 61, the authentication requesting unit 52 passes the password and requests generation of the authentication token (step S12).

認証トークン生成部61は、第2コネクション部34の情報を取得し(ステップS13)、第2のコネクションが既に確立されているか確認する(ステップS14)。まだ確立されていない場合には情報出力装置3の位置情報からIPコネクション管理部24に対して情報出力装置3とのコネクション(認証用コネクション、第2のコネクション)の確立を要求する(ステップS15)。IPコネクション管理部24は第2コネクション部34を用いて情報出力装置3との第2のコネクションを確立させる。第2のコネクションの確立後、認証トークン生成部61は第2コネクション部34の識別子情報を主記憶13等に保存する(ステップS16)。   The authentication token generation unit 61 acquires information of the second connection unit 34 (step S13), and confirms whether the second connection has already been established (step S14). If it has not been established yet, it requests the IP connection management unit 24 to establish a connection (authentication connection, second connection) with the information output device 3 from the location information of the information output device 3 (step S15). . The IP connection management unit 24 establishes a second connection with the information output device 3 using the second connection unit 34. After establishing the second connection, the authentication token generating unit 61 stores the identifier information of the second connection unit 34 in the main memory 13 or the like (step S16).

ステップS16の処理が終了した場合か、あるいは既に第2のコネクションが確立されていた場合は、情報出力装置3にIPコネクション管理部24に対して第2コネクション部34を通じて認証要求を送信する(ステップS17)。   When the process of step S16 is completed, or when the second connection has already been established, an authentication request is transmitted to the information output device 3 through the second connection unit 34 to the IP connection management unit 24 (step S16). S17).

IPコネクション管理部24は、第2コネクション部34を通じて情報出力装置3からのチャレンジを受信して(ステップS18)、第2コネクション部34は認証トークン生成部61にチャレンジを返す。この際に第2のコネクションの確立を破棄してもよい。次に認証トークン生成部61はアプリ認証処理部23に対して受信したチャレンジを渡し、レスポンスの依頼を生成する(ステップS19)。   The IP connection management unit 24 receives the challenge from the information output device 3 through the second connection unit 34 (step S18), and the second connection unit 34 returns the challenge to the authentication token generation unit 61. At this time, the establishment of the second connection may be discarded. Next, the authentication token generation unit 61 passes the received challenge to the application authentication processing unit 23, and generates a response request (step S19).

アプリ認証処理部23は、情報出力装置3からのチャレンジを受けると、レスポンスを生成するための鍵の取得を鍵管理部63に対して要求する。鍵管理部63はアプリ認証処理部23からの要求に従い、ストレージ等から鍵を取得して、アプリ認証処理部23に対して鍵を返す(ステップS20)。その後、アプリ認証処理部23は、取得した鍵とチャレンジからレスポンスを生成して認証トークン生成部61に対して返す(ステップS21)。レスポンスを生成するためのアルゴリズムとしてはHMAC-SHA1、HMAC-MD5など、一般に知られた方法を使えばよい。この際に、チャレンジやレスポンス、チャレンジ生成に用いる鍵をさらにページ実行部51から受け取ったパスワードで暗号化してもよい。   Upon receiving a challenge from the information output device 3, the application authentication processing unit 23 requests the key management unit 63 to obtain a key for generating a response. In accordance with the request from the application authentication processing unit 23, the key management unit 63 acquires a key from the storage or the like, and returns the key to the application authentication processing unit 23 (step S20). Thereafter, the application authentication processing unit 23 generates a response from the acquired key and challenge, and returns the response to the authentication token generation unit 61 (step S21). As an algorithm for generating a response, a generally known method such as HMAC-SHA1 or HMAC-MD5 may be used. At this time, a key used for challenge, response, and challenge generation may be further encrypted with the password received from the page execution unit 51.

認証トークン生成部61は、認証トークン送信部55に対して、認証要求部52に対する認証トークンを返す。このとき、認証トークンを送信メッセージとし、情報出力装置3の位置情報を接続先情報として、認証トークン送信部55に認証トークンの送信を依頼する(ステップS22)。   The authentication token generation unit 61 returns an authentication token for the authentication request unit 52 to the authentication token transmission unit 55. At this time, the authentication token is used as a transmission message, the position information of the information output device 3 is used as connection destination information, and the authentication token transmission unit 55 is requested to transmit the authentication token (step S22).

認証トークン送信部55は、出所情報付与部に対してコネクション確立要求を認証トークンと共に渡し、出所情報付与部はアプリの出所の位置情報(URL情報)をページ実行部51から取得して送信データに付与し(ステップS23)、送信データと接続先情報をIPコネクション管理部24に渡す。   The authentication token transmission unit 55 passes a connection establishment request to the source information adding unit together with the authentication token, and the source information adding unit acquires the location information (URL information) of the source of the application from the page execution unit 51 and transmits it to the transmission data. The transmission data and the connection destination information are transferred to the IP connection management unit 24 (step S23).

IPコネクション管理部24は、受け取った接続先情報を元に情報出力装置3との第の3コネクション(操作用コネクション)を第3コネクション部35を介して確立させる(ステップS24)。   The IP connection management unit 24 establishes a third connection (operation connection) with the information output device 3 through the third connection unit 35 based on the received connection destination information (step S24).

その後、IPコネクション管理部24は、第3コネクション部35を介して情報出力装置3へ認証トークンを送信し(ステップS25)、第3コネクション部35の識別子情報を認証トークン送信部55に返す。最後に、認証トークン送信部55は受け取った第3コネクション部35の識別子情報を主記憶13などに保存する(ステップS26)。この際に第3コネクション部35は第3のコネクションを切断しないことにより、第3コネクション部35を用いて何度でも機器操作命令を送信できる。   Thereafter, the IP connection management unit 24 transmits an authentication token to the information output device 3 via the third connection unit 35 (step S25), and returns the identifier information of the third connection unit 35 to the authentication token transmission unit 55. Finally, the authentication token transmission unit 55 stores the received identifier information of the third connection unit 35 in the main memory 13 or the like (step S26). At this time, the third connection unit 35 can transmit the device operation command any number of times using the third connection unit 35 without disconnecting the third connection.

第3のコネクションは、WebSocketプロトコルではページ実行部51によるページ移動、すなわち別ページの実行開始時や、Webアプリ自身による明示的なコネクション切断によりコネクションが切断される。その際には図7に示される認証処理が再度行われる。HTTPでは一般に通信の度にコネクションが切断されるため、認証トークンと機器操作命令を同時に送信する。   In the WebSocket protocol, the third connection is disconnected when the page is moved by the page execution unit 51, that is, when another page starts to be executed, or when the Web application itself explicitly disconnects the connection. At that time, the authentication process shown in FIG. 7 is performed again. In HTTP, since the connection is generally disconnected for each communication, an authentication token and a device operation command are transmitted simultaneously.

Webアプリの実行中に機器操作命令が現れた場合には、第3コネクション部35を介して機器操作命令を送信する。   When a device operation command appears during execution of the Web application, the device operation command is transmitted via the third connection unit 35.

図8は情報操作装置1から情報出力装置3への機器操作命令の送信手順の一例を示すフローチャートである。ページ実行部51はWebアプリの実行中に機器操作命令が現れると、操作命令生成部53に対して操作要求内容を通知して、機器操作要求の生成依頼を行う(ステップS31)。   FIG. 8 is a flowchart showing an example of a procedure for transmitting a device operation command from the information operating device 1 to the information output device 3. When a device operation command appears during the execution of the Web application, the page execution unit 51 notifies the operation command generation unit 53 of the operation request content and makes a device operation request generation request (step S31).

操作命令生成部53は第3コネクション部35を介して第3のコネクションで送ることのできる形の機器操作命令を特定のフォーマットで生成し、ページ実行部51に返す(ステップS32)。ページ実行部51は操作命令生成部53から受け取った機器操作命令を操作命令送信部54に対して渡し、機器操作命令の送信を依頼する。操作命令送信部54は、主記憶13等から第3のコネクション確立時に認証トークン送信部55が保存した第3コネクション部35の識別子情報を取得する(ステップS33)。   The operation command generating unit 53 generates a device operation command in a specific format that can be sent through the third connection via the third connection unit 35, and returns it to the page execution unit 51 (step S32). The page execution unit 51 passes the device operation command received from the operation command generation unit 53 to the operation command transmission unit 54 and requests transmission of the device operation command. The operation command transmission unit 54 acquires the identifier information of the third connection unit 35 stored by the authentication token transmission unit 55 when the third connection is established from the main memory 13 or the like (step S33).

識別子情報が取得出来ない場合には(ステップS34)、操作命令送信部54は第3のコネクションが確立されていないものと見なしてエラーをページ実行部51に対して返す(ステップS35)。識別子情報がある場合には操作命令送信部54はIPコネクション管理部24に対して、ページ実行部51から受け取った機器操作命令と主記憶13等から取得した第3コネクション部35の識別子情報を渡し、機器操作命令の送信を依頼する。IPコネクション管理部24は第1コネクション部の識別子情報からコネクションを特定し、第3コネクション部35に機器操作命令を渡して機器操作命令を送信する(ステップS36)。ここでも、第3のコネクションについては切断しないことにより、第3コネクション部35を用いて何度も機器操作命令を送信することが可能となる。   When the identifier information cannot be acquired (step S34), the operation command transmission unit 54 considers that the third connection has not been established and returns an error to the page execution unit 51 (step S35). When there is identifier information, the operation command transmission unit 54 passes the device operation command received from the page execution unit 51 and the identifier information of the third connection unit 35 acquired from the main memory 13 to the IP connection management unit 24. Request transmission of equipment operation command. The IP connection management unit 24 identifies the connection from the identifier information of the first connection unit, passes the device operation command to the third connection unit 35, and transmits the device operation command (step S36). Again, by not disconnecting the third connection, it is possible to transmit the device operation command many times using the third connection unit 35.

図9は認証要求受信時の情報出力装置3の処理手順の一例を示すフローチャートである。情報出力装置3のIPコネクション管理部70は、第2コネクション部34により第2のコネクションが確立されて認証要求を受信すると(ステップS41)、認証用チャレンジ生成部72に対して認証要求子(チャレンジ)の生成を要求する(ステップS42)。認証用チャレンジ生成部72はその要求に対して、例えばランダム文字列を生成してチャレンジとする。また、情報出力装置3の不図示のストレージなどの格納領域に保存されている認証用鍵を取得し(ステップS43)、チャレンジに対応する認証子(レスポンス)を生成し、認証子リスト(レスポンスリスト)に登録する(ステップS44)。この際に、パスワードでさらにチャレンジもしくはレスポンス、もしくはチャレンジを生成するための認証用鍵で暗号化してもよい。さらに、生成した認証要求子(チャレンジ)をIPコネクション管理部70に返し、IPコネクション管理部70は情報操作装置1に対して第2コネクション部34を介して認証要求子を返す(ステップS45)。   FIG. 9 is a flowchart showing an example of a processing procedure of the information output apparatus 3 when receiving an authentication request. When the second connection is established by the second connection unit 34 and the authentication request is received (step S41), the IP connection management unit 70 of the information output device 3 sends an authentication request (challenge) to the authentication challenge generation unit 72. ) Is requested (step S42). In response to the request, the authentication challenge generation unit 72 generates, for example, a random character string as a challenge. Also, an authentication key stored in a storage area such as a storage (not shown) of the information output device 3 is acquired (step S43), an authenticator (response) corresponding to the challenge is generated, and an authenticator list (response list) (Step S44). At this time, the password may be further encrypted with a challenge or response, or an authentication key for generating a challenge. Further, the generated authentication requestor (challenge) is returned to the IP connection management unit 70, and the IP connection management unit 70 returns an authentication requestor to the information operating device 1 via the second connection unit 34 (step S45).

図10は第3のコネクション確立要求時の情報出力装置3の処理手順の一例を示すフローチャートである。情報出力装置3のIPコネクション管理部70は、第3コネクション部35を通じて第3のコネクションの確立要求を受信した場合に(ステップS51)、メッセージ分析部71を呼び出す。メッセージ分析部71はコネクション確立要求のメッセージに含まれる確立要求元のWebアプリの出所情報を取得し(ステップS52)、アプリ出所検査部75に渡す。   FIG. 10 is a flowchart showing an example of the processing procedure of the information output apparatus 3 at the time of the third connection establishment request. The IP connection management unit 70 of the information output device 3 calls the message analysis unit 71 when a request for establishment of the third connection is received through the third connection unit 35 (step S51). The message analysis unit 71 acquires the origin information of the establishment request source Web application included in the connection establishment request message (step S52), and passes it to the application origin inspection unit 75.

アプリ出所検査部75は不図示の情報出力装置3のストレージ等の格納領域から許可出所リストを取得し、取得した出所情報が許可出所リストに含まれるかどうか判定する(ステップS53)。含まれない場合には、エラーを発生させ(ステップS54)、第3のコネクションを切断する。一方、含まれた場合には、メッセージ分析部71は同じくコネクション確立要求のメッセージに含まれる認証トークン(認証子)情報を取得し(ステップS55)、認証トークン検査部73に渡す。   The application origin inspection unit 75 acquires a permitted origin list from a storage area such as a storage of the information output device 3 (not shown), and determines whether the acquired origin information is included in the permitted origin list (step S53). If not included, an error is generated (step S54), and the third connection is disconnected. On the other hand, if it is included, the message analysis unit 71 also acquires authentication token (authentication) information included in the message of the connection establishment request (step S55) and passes it to the authentication token checking unit 73.

認証トークン検査部73は認証用チャレンジ生成部72から認証子リスト(レスポンスリスト)を取得し、受信した認証トークン情報がレスポンスリストに含まれるかどうか判定する(ステップS56)。含まれた場合には、正しい認証子が送られてきたと判定し、第3のコネクション確立を完了する(ステップS57)。一方、レスポンスリストに受信した認証トークン情報がない場合には、不正なコネクションが張られたものとしてコネクションを切断する(ステップS54)。   The authentication token checking unit 73 acquires the authenticator list (response list) from the authentication challenge generating unit 72, and determines whether or not the received authentication token information is included in the response list (step S56). If it is included, it is determined that a correct authenticator has been sent, and the third connection establishment is completed (step S57). On the other hand, if there is no received authentication token information in the response list, the connection is disconnected assuming that an illegal connection is established (step S54).

図11は第1の実施形態における認証トークンの生成と機器操作命令の送信を含む情報操作装置1と情報出力装置3の処理手順の一例を示すシーケンス図である。   FIG. 11 is a sequence diagram illustrating an example of processing procedures of the information operation device 1 and the information output device 3 including generation of an authentication token and transmission of a device operation command in the first embodiment.

情報操作装置1は初回の認証要求時にまず、情報出力装置3に対して第2コネクション部34により第2のコネクションの確立を要求する(ステップS61)。次に、情報操作装置1は情報出力装置3で生成した認証用チャレンジを受け取り(ステップS62、S63)、レスポンスを生成して認証トークンとする(ステップS64)。   At the time of the first authentication request, the information operating device 1 first requests the information output device 3 to establish a second connection by the second connection unit 34 (step S61). Next, the information operating device 1 receives the authentication challenge generated by the information output device 3 (steps S62 and S63), generates a response, and uses it as an authentication token (step S64).

次に、第3コネクション部35による第3のコネクションの確立要求に先立ち、情報操作装置1は送信メッセージにWebアプリの出所情報の付与を行い(ステップS65)、情報出力装置3に対して第3のコネクションの確立要求と共に出所情報を送信する(ステップS66)。   Next, prior to the request for establishment of the third connection by the third connection unit 35, the information operating device 1 adds the origin information of the web application to the transmission message (step S65), and the information output device 3 The origin information is transmitted together with the request for establishing the connection (step S66).

情報出力装置3は、第3のコネクションを介して渡された認証トークンの検証を行い(ステップS67)、正しい場合には処理を続行する。また、情報操作装置1は情報出力装置3への機器操作命令送信を第3コネクション部35を介して行う(ステップS68)。ページ遷移などによって第3のコネクションが切断された場合には、情報操作装置1は第2コネクション部34を介して再度認証要求を行う(ステップS69)。その後に、情報操作装置1は第3のコネクションを切断する(ステップS70)。   The information output device 3 verifies the authentication token passed through the third connection (step S67), and if it is correct, continues the processing. Further, the information operating device 1 transmits a device operation command to the information output device 3 through the third connection unit 35 (step S68). When the third connection is disconnected due to page transition or the like, the information operating device 1 makes an authentication request again via the second connection unit 34 (step S69). Thereafter, the information operating device 1 disconnects the third connection (step S70).

第2のコネクションが切断されていなければ、再度第2コネクション部34により第2のコネクションの確立要求を行う必要はない。認証要求を行った(ステップS71)後は、ステップS62以降の処理を繰り返す。   If the second connection is not disconnected, the second connection unit 34 does not need to make a second connection establishment request again. After the authentication request is made (step S71), the processing after step S62 is repeated.

このように、本実施形態によれば、プラットホームの正当性を保証する認証トークンを機器操作命令の送信用セッションの通信に付与することができる。すなわち、従来は出所情報が信頼できないため困難だったHTTPやWebSocketなどにおけるWebアプリの出所情報を用いた情報出力装置3の機器アクセス制御を情報出力装置3側で確実に行えるようになる。これにより、Webアプリによって可能な機器操作の内容を変えるといった柔軟な遠隔操作時のアクセス制御の実現が可能になる。   As described above, according to the present embodiment, an authentication token that guarantees the validity of the platform can be given to communication of a session for transmitting a device operation command. That is, the device output control of the information output device 3 using the source information of the Web application in HTTP, WebSocket, etc., which has been difficult since the source information is not reliable, can be reliably performed on the information output device 3 side. This makes it possible to implement flexible access control during remote operation, such as changing the contents of device operations that can be performed by a Web application.

例えば、被操作機器の録画コンテンツの削除機能についてWebSocketプロトコルを介してwww.toshiba.comで配布するWebアプリに公開したとする。WebSocketに含まれるヘッダのチェックのみの場合、アプリケーションの実際の出所にかかわらず出所情報としてwww.toshiba.comを付加するような情報操作装置1にもコンテンツ削除を許してしまい、www.toshiba.com以外のサーバ、特に誰でもWebアプリが自由に置けるようなサーバに置かれた悪意あるWebアプリからコンテンツ削除が行われてしまう可能性がある。   For example, it is assumed that the recorded content deletion function of the operated device is released to a web application distributed on www.toshiba.com via the WebSocket protocol. In the case of only checking the header included in WebSocket, the information manipulation device 1 that adds www.toshiba.com as the source information regardless of the actual source of the application is allowed to delete the content, and www.toshiba.com There is a possibility that content will be deleted from a malicious web application that is placed on other servers, especially servers where anyone can freely place a web application.

本実施形態は、Webアプリ実行部21とアプリ認証処理部23が分離されていることに大きな特徴がある。一般にWebアプリの処理内容を記述するための言語であるJavaScriptに秘密情報を持たせることは困難であり(JavaScript等のWebアプリ実行部21の一部に相当)、プラットホームの正当性を保証するための鍵などを格納するには不適当である。そこで本実施形態では、Webアプリ実行部21とアプリ認証処理部23を分離し、解析が困難なアプリ認証処理部23側に秘密情報である鍵情報を持たせ、認証の一部や認証トークン生成処理を実行することで、同等の動作すなわち、本実施形態のエミュレートを行うプラットホームの作成を困難にしている。Webアプリ実行部21とアプリ認証処理部23が分離されている本実施形態では、認証要求部52と認証トークン生成部61が両モジュールを結びつける機能を有する。   The present embodiment is greatly characterized in that the web application execution unit 21 and the application authentication processing unit 23 are separated. In general, it is difficult to provide confidential information in JavaScript, which is a language for describing the processing contents of a Web application (corresponding to a part of the Web application execution unit 21 such as JavaScript), and to ensure the validity of the platform. It is unsuitable for storing such keys. Therefore, in the present embodiment, the Web application execution unit 21 and the application authentication processing unit 23 are separated, and the key information that is secret information is provided on the side of the application authentication processing unit 23 that is difficult to analyze, and a part of authentication or generation of an authentication token is performed. By executing the processing, it is difficult to create a platform that performs the equivalent operation, that is, the emulation of this embodiment. In the present embodiment in which the Web application execution unit 21 and the application authentication processing unit 23 are separated, the authentication request unit 52 and the authentication token generation unit 61 have a function of connecting both modules.

認証トークン生成用の共通鍵を取得できないと、情報出力装置3との認証が通らないため、情報出力装置3は正しいプラットホームからの機器操作命令かどうかを正しく判別できる。   If the common key for generating the authentication token cannot be acquired, authentication with the information output device 3 cannot be performed, so that the information output device 3 can correctly determine whether it is a device operation command from the correct platform.

また、Webアプリの実行環境自体(ブラウザ)には手を加えられないことが多いが、本実施形態ではアプリ認証処理部23とブラウザ部分(Webアプリ実行部21の一部)が明確に分離されており、アプリ認証処理部23をプラグインなどとして実装することができる利点もある。   Further, in many cases, the application environment itself (browser) of the web application cannot be changed, but in this embodiment, the application authentication processing unit 23 and the browser part (part of the web application execution unit 21) are clearly separated. There is also an advantage that the application authentication processing unit 23 can be implemented as a plug-in or the like.

さらに、アプリ認証処理部23とWebアプリ実行部21側ではモジュールが分離されることや、実装に使用する言語などが異なる可能性があり、同じコネクションを共有できないことも多いと考えられる。このため、本実施形態では、Webアプリ実行部21が利用する操作用のコネクション(第3のコネクション)を管理する第3コネクション部35とアプリ認証処理部23が利用する認証用のコネクション(第2のコネクション)を管理する第2コネクション部34を分離していることも大きな特徴である。   Furthermore, the application authentication processing unit 23 and the Web application execution unit 21 side may be separated from each other in modules, may have different languages used for mounting, and often cannot share the same connection. For this reason, in the present embodiment, the third connection unit 35 that manages the operation connection (third connection) used by the Web application execution unit 21 and the authentication connection (second connection) used by the application authentication processing unit 23. It is also a great feature that the second connection unit 34 that manages the connection) is separated.

コネクションを分離した場合、同一の情報操作装置1との間で第2のコネクションと第3のコネクションとが確立されたことを情報出力装置3側で確認できる必要がある。すなわち、第3のコネクションがプロトコルを模倣する悪意あるアプリケーションから張られたものか、正規アプリケーションから張られたものかを区別する必要がある。これを解決するために、本実施形態では秘密情報を格納できないWebアプリ実行部21から確立された第3のコネクションを管理する第3コネクション部35では、第2コネクション部34を介してアプリ認証処理部23で生成した認証トークンをアプリ認証処理部23から受け取って送ることにより正しいプラットホーム上から確立された操作コネクションであることを情報出力装置3に対して証明するための仕組みを持つ。本機能を実現するために第3コネクション部35と第2コネクション部34を独立して管理するためのIPコネクション管理部24を備えることが本実施形態の特徴的な点である。   When the connection is separated, it is necessary to be able to confirm on the information output device 3 side that the second connection and the third connection are established with the same information operating device 1. That is, it is necessary to distinguish whether the third connection is made from a malicious application that imitates the protocol or from a legitimate application. In order to solve this, in the third embodiment, the third connection unit 35 that manages the third connection established from the Web application execution unit 21 that cannot store the secret information uses the second connection unit 34 to perform the application authentication process. The authentication token generated by the unit 23 is received from the application authentication processing unit 23 and sent to prove to the information output device 3 that the operation connection is established from the correct platform. In order to realize this function, it is a characteristic point of the present embodiment that an IP connection management unit 24 for independently managing the third connection unit 35 and the second connection unit 34 is provided.

関連する技術としてモバイルエージェント向けのセキュリティに関する研究や特許、例えばモバイルエージェントが移動する先のプラットホームでモバイルエージェントの正しさの検証を行う研究や特許が存在する。特許文献1では移動元のプラットホームでモバイルエージェントに署名を付与し、移動先でモバイルエージェントが改ざんされていないことを検証することにより、改ざんされた不正なモバイルエージェントの動作を防止できる。しかしながら、本実施形態で前提とするシステムでは機器操作コードを含むアプリケーションに署名したとしても情報出力装置3が受信するのは機器操作命令のみであるため、アプリケーションの署名検証はできず、そのアプリケーションの正しさは保証できない。また、機器操作命令のみに署名することも考えられるが、機器操作プロトコルを模倣するプラットホーム上で署名された機器操作命令全体をコピーされて別のアプリケーションに流用される可能性がある。本実施形態によれば、機器操作命令をコピーされても、ネイティブコードで記述されるコード中に含まれて抜き出し困難な認証鍵(共通鍵)がコピーされない限り、認証トークンを生成できず、機器の不正な操作を行うプラットホームは作成できない。   As related technologies, there are research and patents related to security for mobile agents, for example, research and patents for verifying the correctness of mobile agents on the platform to which the mobile agent moves. According to Patent Document 1, it is possible to prevent the operation of an unauthorized mobile agent that has been tampered with by signing the mobile agent on the platform of the movement source and verifying that the mobile agent has not been tampered with at the movement destination. However, in the system assumed in the present embodiment, even if the application including the device operation code is signed, the information output apparatus 3 receives only the device operation command. Therefore, the signature of the application cannot be verified. Correctness cannot be guaranteed. Although it is possible to sign only the device operation command, there is a possibility that the entire device operation command signed on the platform imitating the device operation protocol is copied and used for another application. According to the present embodiment, even if a device operation instruction is copied, an authentication token cannot be generated unless an authentication key (common key) included in the code described in the native code and difficult to extract is copied, and the device It is not possible to create a platform for performing illegal operations.

このように、第1の実施形態では、情報操作装置1が実行したWebアプリに従って、情報出力装置3に対して第2コネクション部34により第2のコネクションの確立と認証要求を行い、これを受けて情報出力装置3は、認証要求子(チャレンジ)を生成して、情報操作装置1に送信する。   As described above, in the first embodiment, according to the Web application executed by the information operating device 1, the second connection unit 34 establishes the second connection and requests the authentication to the information output device 3, and receives this request. The information output device 3 generates an authentication requestor (challenge) and transmits it to the information operating device 1.

この認証要求子を受信した情報操作装置1は、鍵管理部63で管理する共通鍵を用いて認証要求子を暗号化し、認証トークンを生成する。この認証トークンは、認証要求子を送信した情報出力装置3に送信され、認証トークンを受信した情報出力装置3は、自身が所持する共通鍵で認証要求子を暗号化して、受信したものと一致するかどうかにより認証トークンが正規の情報操作装置1から送信されたものかどうかを検証できる。   The information operating device 1 that has received the authentication requester encrypts the authentication requestor using the common key managed by the key management unit 63 and generates an authentication token. This authentication token is transmitted to the information output device 3 that has transmitted the authentication requester, and the information output device 3 that has received the authentication token encrypts the authentication requestor with the common key that it owns and matches the received one. Whether or not the authentication token is transmitted from the legitimate information operating device 1 can be verified.

また、情報操作装置1は、認証トークンを情報出力装置3に送信する前に、認証トークンと機器操作命令を送信するための第3のコネクションの確立要求を情報出力装置3に送信する。その際、第3のコネクションの確立要求のヘッダ情報として、Webアプリの出所情報を含める。第3のコネクションの確立要求を受信した情報出力装置3は、この確立要求に含まれるWebアプリの出所が、自身が有する許可出所リストに登録されているか否かを検証し、登録されている場合のみ、第3のコネクションの確立処理を行う。これにより、意図しないWebアプリから送信された機器操作命令で、情報出力装置3が勝手に操作されてしまうことを防止できる。   Further, the information operation device 1 transmits a request for establishing a third connection for transmitting the authentication token and the device operation command to the information output device 3 before transmitting the authentication token to the information output device 3. At that time, the origin information of the Web application is included as header information of the establishment request for the third connection. The information output device 3 that has received the request for establishment of the third connection verifies whether or not the origin of the Web application included in the establishment request is registered in its own authorized origin list and is registered Only the third connection establishment process is performed. As a result, it is possible to prevent the information output device 3 from being arbitrarily operated by a device operation command transmitted from an unintended Web application.

さらに、情報操作装置1は、Webアプリ配布サーバ5からWebアプリを取得するための第1のコネクションを管理する第1コネクション部33と、認証子および認証要求子の送受を行うための第2のコネクションを管理する第2コネクション部34と、認証トークンおよび機器操作命令を送信するための第3のコネクションを管理する第3コネクション部35とを別個に設けて、これらコネクション部の管理をIPコネクション管理部24で行うため、各コネクションで送受される各種情報を統一的に管理できる。   Furthermore, the information operating device 1 includes a first connection unit 33 that manages a first connection for acquiring a Web application from the Web application distribution server 5 and a second connection for transmitting and receiving an authenticator and an authentication requestor. A second connection unit 34 for managing the connection and a third connection unit 35 for managing the third connection for transmitting the authentication token and the device operation command are separately provided, and management of these connection units is performed by IP connection management. Since it is performed by the unit 24, various information transmitted and received by each connection can be managed in a unified manner.

また、認証トークンの生成等に用いる共通鍵をPFアプリ実行部22内のアプリ認証処理部23に保持し、HTMLやJavaScript等の汎用言語で記述されるWebアプリを実行するWebアプリ実行部21内では共通鍵を管理しないようにしたため、共通鍵を安全に管理することができる。   In addition, a common key used for generating an authentication token is held in the application authentication processing unit 23 in the PF application execution unit 22, and the web application execution unit 21 that executes a web application written in a general language such as HTML or JavaScript is used. However, since the common key is not managed, the common key can be managed safely.

(第2の実施形態)
第1の実施形態では、アプリ認証処理部23はページ実行部51で実行しているWebアプリの出所について検査を行っていなかった。このため、例えば悪意あるWebアプリが動作し、認証要求を行った場合にも認証トークンを渡してしまうという欠点が存在した。このため、悪意あるWebアプリが認証トークンを外部に渡すような場合、第3コネクション部35で送受信される情報を模倣する悪意あるプラットホームと連携して情報出力装置3の不正な操作が可能になってしまう。このため、第2の実施形態では、Webアプリの出所チェックを行うことで、例えば信頼できるWebアプリ配布サーバ5から取得したWebアプリにのみ認証トークンを渡すようにでき、認証トークンの不正利用を防ぐことが可能となる。
(Second Embodiment)
In the first embodiment, the application authentication processing unit 23 has not inspected the origin of the web application executed by the page execution unit 51. For this reason, for example, even when a malicious web application operates and makes an authentication request, there is a drawback that an authentication token is passed. For this reason, when a malicious web application passes an authentication token to the outside, the information output device 3 can be illegally operated in cooperation with a malicious platform that imitates information transmitted and received by the third connection unit 35. End up. For this reason, in the second embodiment, by checking the origin of the web application, for example, the authentication token can be passed only to the web application acquired from the reliable web application distribution server 5 to prevent unauthorized use of the authentication token. It becomes possible.

図12は第2の実施形態における情報操作装置1の内部構成の一例を示すブロック図である。図3のアプリ認証処理部23に、アプリ出所検査部65と許可出所リスト検査部66を追加した点で異なる。このうち、許可出所リスト検査部66は必須の構成ではない。なお、図12では、PFアプリ実行部22を省略しているが、図2と同様に、アプリ認証処理部23はPFアプリ実行部22の内部に設けられている。   FIG. 12 is a block diagram illustrating an example of an internal configuration of the information operating device 1 according to the second embodiment. 3 in that an application origin inspection unit 65 and a permitted origin list inspection unit 66 are added to the application authentication processing unit 23 of FIG. Of these, the permitted origin list inspection unit 66 is not an essential component. In FIG. 12, the PF application execution unit 22 is omitted, but the application authentication processing unit 23 is provided inside the PF application execution unit 22 as in FIG.

アプリ出所検査部65は現在実行中のページの出所情報から、その出所に認証トークンを渡して良いかどうか判定する機能を有する。このためにアプリ出所検査部65は、認証要求部52から認証トークン生成部61に対して認証トークンの生成要求があった際に、ページ実行部51から現在実行中のページの出所情報を取得する。また、情報操作装置1内のストレージ部17、主記憶13などデータ格納領域からトークンを渡しても良い出所情報のリスト(以下、許可出所リスト)を取得し、そのリストの中に現在実行中のページの出所情報が含まれるかどうかを判定する。出所情報が含まれる場合には、認証トークンを渡して良いと判定して処理を続行し、出所情報が含まれない場合には認証トークンを渡してはいけないと判定してページ実行部51に対してエラーを返す機能を有する。例えば、www.toshiba.com、www.toshiba.co.jpドメインが許可出所リストに含まれる場合には、実行中のWebアプリがwww.toshiba.comドメインから取得したWebアプリの場合には認証トークンを渡すが、www.toshiba.co.ukドメインから取得したWebアプリの場合には認証トークンを渡さない。また本情報操作装置1が許可出所リスト検査部66を備える場合には、許可出所リストを渡して、許可出所リストの正当性検証を依頼する機能を有する。   The application origin inspection unit 65 has a function of determining whether or not an authentication token can be passed to the origin from the origin information of the currently executed page. For this purpose, the application origin inspection unit 65 obtains the origin information of the currently executed page from the page execution unit 51 when the authentication request generation unit 61 requests the authentication token generation unit 61 to generate an authentication token. . Further, a list of source information that may be given a token from the data storage area such as the storage unit 17 and the main memory 13 in the information operating device 1 (hereinafter referred to as a permitted source list) is acquired, and the list currently being executed is included in the list. Determine whether page origin information is included. If the origin information is included, it is determined that the authentication token can be passed, and the processing is continued. If the origin information is not included, it is determined that the authentication token should not be passed, and the page execution unit 51 is determined. Function to return an error. For example, if the www.toshiba.com and www.toshiba.co.jp domains are included in the permitted source list, an authentication token if the running web application is a web application obtained from the www.toshiba.com domain But does not pass an authentication token for web apps obtained from the www.toshiba.co.uk domain. Further, when the information operating device 1 includes the permitted source list inspection unit 66, the information operating device 1 has a function of passing the permitted source list and requesting the validity verification of the permitted source list.

また、許可出所リストが改ざんされると想定していない情報出力装置3に対して認証トークンを渡してしまう危険性がある。このため、第2の実施形態における情報操作装置1には許可出所リストの改ざん検証を行う許可出所リスト検査部66を備えても良い。アプリ出所リストをリードオンリーメモリなど改ざんが困難な格納領域に保存できる場合には、許可出所リスト検査部66は必須の構成ではない。許可出所リスト検査部66は、許可出所リストに付与された署名を許可出所リスト検査部66が持つ公開鍵を用いて検証して改ざんの検証を行い、改ざんが検出された場合にはエラーを返す機能を有する。署名検証の方法としては、RSA署名、DSA署名など一般に知られた方式を使えばよい。   In addition, there is a risk of passing an authentication token to the information output device 3 that is not assumed to be falsified. For this reason, the information manipulation device 1 according to the second embodiment may include a permitted origin list inspection unit 66 that performs falsification verification of the permitted origin list. If the application origin list can be stored in a storage area that is difficult to tamper with, such as a read-only memory, the permitted origin list inspection unit 66 is not an essential component. The permitted source list checking unit 66 verifies the signature by giving the signature given to the permitted source list using the public key held by the permitted source list checking unit 66, and returns an error when the tampering is detected. It has a function. As a signature verification method, a generally known method such as RSA signature or DSA signature may be used.

図13は許可出所リスト10のデータ構造の一例を示す図である。許可出所リスト10は許可出所リスト部10aと署名部10bとに分かれ、許可出所リスト部10aには(1)許可する出所の数、(2)許可する出所のリスト(要素数は(1)で指定したもの)が含まれる。このとき許可する出所情報には、例えばPOSIX規格により定められる、文字列の集合を一つの文字列で表現する方法の一つである正規表現を使った情報を含んでも良い。一方、署名部10bには、許可出所リスト部10aに対する改ざんを検証するための署名が含まれる。この署名は許可出所リスト検査部66が持つ公開鍵に対する秘密鍵により署名されている。   FIG. 13 is a diagram showing an example of the data structure of the permitted source list 10. The permitted source list 10 is divided into a permitted source list part 10a and a signature part 10b. The permitted source list part 10a includes (1) the number of permitted sources, (2) a list of permitted sources (the number of elements is (1) Specified). The origin information permitted at this time may include, for example, information using a regular expression, which is one of methods for expressing a set of character strings as one character string, which is defined by the POSIX standard. On the other hand, the signature part 10b includes a signature for verifying tampering with the permitted source list part 10a. This signature is signed by a secret key for the public key possessed by the permitted origin list inspection unit 66.

図14は認証要求命令検出時の処理手順の一例を示すフローチャートである。図14のフローチャートは、図7と比較して、(1)〜(4)のアプリ出所検証処理が入る点が異なる。ここでは(1)〜(4)の処理のみを説明する。   FIG. 14 is a flowchart illustrating an example of a processing procedure when an authentication request command is detected. The flowchart in FIG. 14 differs from that in FIG. 7 in that the application origin verification process (1) to (4) is entered. Here, only the processes (1) to (4) will be described.

認証トークン生成部61は認証要求部52から認証要求があった際に、アプリ出所検査部65にアプリ出所検査を依頼する。アプリ出所検査部65は、ページ実行部51から現在実行中の認証要求があったWebアプリの出所を取得する(ステップS81)。すなわち、ページ実行部51は現在実行中のWebアプリの出所を取得し、要求に応じて出所データを返す機能を有する。   When an authentication request is received from the authentication request unit 52, the authentication token generation unit 61 requests the application origin inspection unit 65 to perform application origin inspection. The application origin inspection unit 65 acquires the origin of the web application for which there is an authentication request currently being executed from the page execution unit 51 (step S81). That is, the page execution unit 51 has a function of acquiring the origin of the web application currently being executed and returning the origin data in response to the request.

次に、アプリ出所検査部65はストレージ等の記憶装置から許可出所リストを取得する(ステップS82)。また、情報操作装置1が許可出所検査部を備える場合には、アプリ出所検査部65は許可出所リスト検査部66に対して許可出所リストを渡し、許可出所リストの改ざん検証を依頼する。許可出所リスト検査部66は自身が管理する許可出所リスト検査部66に付与された署名を検証するための公開鍵を取得する(ステップS83)。許可リスト検査部はこの公開鍵を用いて許可出所リストの署名を検証する(ステップS84)。検証の結果、改ざんが検出されなければ、アプリの出所が許可出所リストに含まれるか否かを判定する(ステップS85、S86)。   Next, the application origin inspection unit 65 acquires a permitted origin list from a storage device such as a storage (step S82). In the case where the information operating device 1 includes a permitted origin inspection unit, the application origin inspection unit 65 passes the permitted source list to the permitted source list inspection unit 66 and requests falsification verification of the permitted source list. The permitted origin list inspection unit 66 acquires a public key for verifying the signature given to the permitted origin list inspection unit 66 managed by itself (step S83). The permission list inspection unit verifies the signature of the permission source list using this public key (step S84). If no alteration is detected as a result of the verification, it is determined whether the origin of the application is included in the permitted origin list (steps S85 and S86).

ステップS84で改ざんが検出された場合、またはステップS85で許可出所リストに含まれないと判定された場合は、ページ実行部51にエラーを返し(ステップS85、S87)、許可出所リストに含まれる場合は、図7のステップS13以降の処理を行う。   If tampering is detected in step S84, or if it is determined that it is not included in the permitted source list in step S85, an error is returned to the page execution unit 51 (steps S85, S87), and it is included in the permitted source list. Performs the processing from step S13 onward in FIG.

本実施形態により、許可出所リストの制作者が想定した以外のWebアプリ配布サーバ5上に置かれたWebアプリに対して認証トークンを生成することを防止でき、認証トークンを不正なWebアプリに対して生成するリスクを下げることができる。認証トークンの不正利用のリスク、すなわち不正なWebアプリによる遠隔操作を防ぐことが出来るようになる。   According to the present embodiment, it is possible to prevent an authentication token from being generated for a Web application placed on the Web application distribution server 5 other than that assumed by the author of the permitted source list, and an authentication token can be used for an unauthorized Web application. Can reduce the risk of generation. The risk of unauthorized use of the authentication token, that is, remote operation by an unauthorized web application can be prevented.

このように、第2の実施形態では、情報出力装置3に認証要求を行う際に、認証要求を行ったWebアプリの出所が許可出所リストに登録されているか否かを情報操作装置1の内部で検証するようにしたため、意図しないWebアプリからの認証要求を情報出力装置3に送信するおそれがなくなる。   As described above, in the second embodiment, when making an authentication request to the information output device 3, whether or not the origin of the Web application that has made the authentication request is registered in the permitted origin list Therefore, there is no possibility that an authentication request from an unintended Web application is transmitted to the information output device 3.

(第3の実施形態)
第2の実施形態では許可出所リストの更新を行っていなかった。このため許可出所リストは固定で、遠隔操作を許可するWebアプリが置かれるWebアプリ配布サーバ5の追加や削除ができない。これに対して第3の実施形態では許可出所リストの更新を行い、Webアプリ配布サーバ5の追加や削除が可能となる。
(Third embodiment)
In the second embodiment, the permitted source list is not updated. For this reason, the permitted source list is fixed, and it is impossible to add or delete the Web application distribution server 5 where the Web application that permits remote operation is placed. In contrast, in the third embodiment, the permitted source list is updated, and the Web application distribution server 5 can be added or deleted.

図15は第3の実施形態における情報操作装置1の内部構成の一例を示すブロック図である。図15は図3のアプリ認証処理部23内に許可出所リスト取得部67を追加した点で異なる。なお、図15では、PFアプリ実行部22を省略しているが、図2と同様に、アプリ認証処理部23はPFアプリ実行部22の内部に設けられている。   FIG. 15 is a block diagram illustrating an example of an internal configuration of the information operating device 1 according to the third embodiment. FIG. 15 differs in that a permitted origin list acquisition unit 67 is added to the application authentication processing unit 23 of FIG. In FIG. 15, the PF application execution unit 22 is omitted, but the application authentication processing unit 23 is provided inside the PF application execution unit 22 as in FIG.

許可出所リスト取得部67は、HTTP処理部26を利用してIPコネクション管理部24とIPコネクション管理部24から呼び出される第1コネクション部33を介してWebアプリ配布サーバ5から許可出所リストを取得し、更新されていた場合には、許可出所リスト検査部66に取得した許可出所リストを渡して検証依頼を出す機能を有する。例えば更新されているかどうかの判定は、情報操作装置1内に保存されている許可出所リストとの比較や、リストファイルの最終更新日時との比較を行えばよい。さらに許可出所リスト検査部66の検証結果を取得し、改ざんが検出されなかった場合に情報操作装置1のストレージ内部に保存されている許可出所リストをWebアプリ配布サーバ5から取得した許可出所リストに置き換える機能を有する。   The permitted origin list acquisition unit 67 uses the HTTP processing unit 26 to acquire the permitted source list from the web application distribution server 5 via the IP connection management unit 24 and the first connection unit 33 called from the IP connection management unit 24. If it has been updated, it has a function of issuing a verification request by passing the acquired permitted source list to the permitted source list inspection unit 66. For example, whether or not it has been updated may be compared with the permitted source list stored in the information operating device 1 or with the last update date and time of the list file. Further, the verification result of the permitted source list inspection unit 66 is acquired, and when the alteration is not detected, the permitted source list stored in the storage of the information operating device 1 is added to the permitted source list acquired from the web application distribution server 5. Has a function to replace.

図16は第3の実施形態におけるWebアプリ配布サーバ5の内部構造を示すブロック図である。図5のWebアプリ配布サーバ5に許可リスト取得部45を追加した点で異なる。   FIG. 16 is a block diagram showing the internal structure of the Web application distribution server 5 in the third embodiment. The difference is that a permission list acquisition unit 45 is added to the Web application distribution server 5 of FIG.

許可リスト取得部45は情報操作装置1もしくは情報出力装置3からの要求に従い、不図示のストレージから最新の許可出所リストを取得し、HTTPサーバ処理部43を介して要求元に返す機能を有する。Webアプリ配布サーバ5が管理する許可出所リストを更新することにより、情報操作装置1や情報出力装置3は許可出所リストを最新の情報に保つことができる。   The permission list acquisition unit 45 has a function of acquiring the latest permission source list from a storage (not shown) in accordance with a request from the information operating device 1 or the information output device 3 and returning it to the request source via the HTTP server processing unit 43. By updating the permitted source list managed by the Web application distribution server 5, the information operating device 1 and the information output device 3 can keep the permitted source list up-to-date.

図17は許可出所リスト更新の処理手順の一例を示すフローチャートである。許可リスト取得部45は、情報操作装置1の起動時もしくは、一定期間ごとに定期的に呼び出され、最新の許可出所リストをHTTP処理部26とHTTP処理部26から呼び出されるIPコネクション管理部24とIPコネクション管理部24から呼び出される第1コネクション部33を介してWebアプリ配布サーバ5から取得(ダウンロード)する(ステップS91)。そして、情報操作装置1内に保存された許可出所リストとの比較を行う(ステップS92)。更新がなかったと判定された場合は処理を終了し、更新があったと判定された場合には、署名検証用の公開鍵を情報操作装置1内から取得し(ステップS93)、Webアプリ配布サーバ5から取得した許可出所リストの署名を検証する(ステップS94)。改ざんがあった場合にはエラーを発生させ(ステップS95、S96)、改ざんが検出されなかった場合には情報操作装置1内に保存されていた許可出所リストをWebアプリ配布サーバ5から取得した許可出所リストで上書きする(ステップS95、S97)。   FIG. 17 is a flowchart showing an example of a processing procedure for updating the permitted source list. The permission list acquisition unit 45 is called when the information operating device 1 is started or periodically at regular intervals, and the latest permission source list is called from the HTTP processing unit 26 and the HTTP processing unit 26. Obtained (downloaded) from the Web application distribution server 5 via the first connection unit 33 called from the IP connection management unit 24 (step S91). Then, a comparison is made with the permitted origin list stored in the information operating device 1 (step S92). If it is determined that there is no update, the process is terminated. If it is determined that there is an update, a public key for signature verification is obtained from the information operating device 1 (step S93), and the Web application distribution server 5 is acquired. The signature of the permitted origin list acquired from (1) is verified (step S94). If tampering occurs, an error is generated (steps S95 and S96). If tampering is not detected, the permission source list stored in the information operating device 1 is acquired from the web application distribution server 5. The source list is overwritten (steps S95 and S97).

このように、第3の実施形態では、Webアプリ配布サーバ5で許可出所リストの更新を行うことから、情報操作装置1から定期的にWebアプリ配布サーバ5にアクセスして、許可出所リストの最新版を取得することで、情報操作装置1が保持する許可出所リストを常に最新のものに維持できる。   As described above, in the third embodiment, since the web application distribution server 5 updates the permitted source list, the information operating device 1 periodically accesses the web application distribution server 5 to update the permitted source list. By obtaining the version, the permitted source list held by the information operating device 1 can always be kept up-to-date.

(第4の実施形態)
以下に説明する第4の実施形態では、アプリケーション毎に信頼できるサーバが発行する利用許可証に許可出所リストを付与し、そのリストを元に認証トークンを渡して良いか判断する機能を有する。Webアプリ単位で許可出所情報を変更することが可能になる。ここで、利用許可証とは、機器操作命令を送信するWebアプリが正規のWebアプリ配布サーバ5から配布されたものであることを証明する情報であり、利用許可証はWebアプリごとに発行される。すべてのWebアプリに対応して利用許可証が発行されるわけではなく、利用許可証を利用できるWebアプリは制限されている。
(Fourth embodiment)
The fourth embodiment described below has a function of assigning a permission source list to a usage certificate issued by a reliable server for each application, and determining whether or not to pass an authentication token based on the list. Allowed source information can be changed on a Web application basis. Here, the usage permit is information that proves that the Web application that transmits the device operation instruction is distributed from the regular Web application distribution server 5, and the usage certificate is issued for each Web application. The A license is not issued for every Web application, and the Web applications that can use the license are limited.

図18は第4の実施形態における情報操作装置1の内部構成の一例を示すブロック図である。図18は図3のアプリ認証処理部23内に利用許可証分析部68を追加し、かつ図3のWebアプリ実行部21内に利用許可証管理部56を追加した点で異なる。なお、図18では、PFアプリ実行部22を省略しているが、図2と同様に、アプリ認証処理部23はPFアプリ実行部22の内部に設けられている。   FIG. 18 is a block diagram illustrating an example of an internal configuration of the information operating device 1 according to the fourth embodiment. 18 differs from the application authentication processing unit 23 of FIG. 3 in that a usage permit analysis unit 68 is added and a usage permit management unit 56 is added to the Web application execution unit 21 of FIG. In FIG. 18, the PF application execution unit 22 is omitted, but the application authentication processing unit 23 is provided inside the PF application execution unit 22 as in FIG. 2.

利用許可証管理部56はIPコネクション管理部24とIPコネクション管理部24から呼び出される第1コネクション部33を介して信頼できるサーバからWebアプリ毎にWebアプリ配布サーバ5から利用許可証を取得し、利用許可証分析部68に渡す機能を有する。この際にはアプリケーションの識別情報を渡す。利用許可証には、機器操作の許可情報と共に、許可出所リスト情報、署名情報が含まれる。この署名は公開鍵暗号で署名される。公開鍵暗号方式としてはRSA暗号など、一般に知られた方法を用いればよい。   The usage permit management unit 56 acquires a usage permit from the web application distribution server 5 for each web application from a reliable server via the IP connection management unit 24 and the first connection unit 33 called from the IP connection management unit 24. It has a function of passing to the license analysis unit 68. In this case, application identification information is passed. The usage permit includes permission source list information and signature information along with device operation permission information. This signature is signed with public key cryptography. A publicly known method such as RSA encryption may be used as the public key encryption method.

利用許可証分析部68は利用許可証管理部56から取得した利用許可証を分析し、許可出所リストを取り出す機能を有する。   The license analysis unit 68 has a function of analyzing the license acquired from the license management unit 56 and extracting a license origin list.

図19は第4の実施形態におけるWebアプリ配布サーバ5の内部構造を示すブロック図である。図5のWebアプリ配布サーバ5に利用許可証生成部46を追加した点で異なる。   FIG. 19 is a block diagram showing the internal structure of the Web application distribution server 5 in the fourth embodiment. The difference is that a usage certificate generating unit 46 is added to the Web application distribution server 5 of FIG.

利用許可証生成部46は情報操作装置1からの利用許可証の取得要求に従って、Webアプリ毎の利用許可証を生成して返す機能を有する。利用許可証生成部46はWebアプリの識別情報を受け取り、Webアプリに対応する許可出所リスト情報や機器操作の許可情報を不図示のストレージから取得して、署名してHTTPサーバ処理部43を介して要求元に返す機能を有する。利用許可証生成部46は利用許可証を取得要求時に動的に生成するのではなく、あらかじめ利用許可証を生成して非図示のストレージに格納しておき、利用許可証の取得要求時にストレージから利用許可証を読み取って返す機能を有しても良い。   The usage certificate generating unit 46 has a function of generating and returning a usage certificate for each Web application in accordance with a usage certificate acquisition request from the information operating device 1. The usage certificate generation unit 46 receives the identification information of the web application, obtains permission source list information and device operation permission information corresponding to the web application from a storage (not shown), signs them, and passes them through the HTTP server processing unit 43. Function to return to the request source. The usage certificate generation unit 46 does not dynamically generate a usage certificate at the time of acquisition request, but generates a usage certificate in advance and stores it in a storage (not shown). It may have a function of reading and returning a usage permit.

図20は認証要求命令検出時の処理手順の一例を示すフローチャートである。図14とは(1)〜(2)の許可出所リスト取得方法が異なる。ここでは(1)〜(2)の処理についてのみ述べる。   FIG. 20 is a flowchart illustrating an example of a processing procedure when an authentication request command is detected. 14 differs from FIG. 14 in the permitted source list acquisition method of (1) to (2). Here, only the processes (1) to (2) will be described.

利用許可証管理部56はアプリ出所検査部65から呼び出され、IPコネクション管理部24から呼び出される第1コネクション部33を介してアプリ毎の利用許可証をWebアプリ配布サーバ5から取得する(ステップS101)。次に、取得した利用許可証を利用許可証分析部68に渡す。利用許可証分析部68は受け取った利用許可証を分析し、利用許可証の中から許可出所リストを取り出す(ステップS102)。さらに許可出所リスト検査部66に渡して、改ざんの有無の検査を依頼する。   The usage permit management unit 56 is called from the application origin inspection unit 65, and acquires a usage permit for each application from the web application distribution server 5 via the first connection unit 33 called from the IP connection management unit 24 (step S101). ). Next, the obtained license is passed to the license analyzer 68. The usage license analysis unit 68 analyzes the received usage license and extracts a permitted origin list from the usage certificate (step S102). Furthermore, it passes to the permission origin list inspection part 66, and requests the inspection of the presence or absence of falsification.

Webアプリ配布サーバ5から取得した利用許可証は、機器操作命令とともに、情報出力装置3に送られる。利用許可証と機器操作命令を受けた情報出力装置3は、利用許可証の内容に基づいて、機器操作命令を受け付けるかどうかを判断する。   The usage permit acquired from the Web application distribution server 5 is sent to the information output device 3 together with the device operation command. The information output device 3 that has received the usage permit and the device operation command determines whether to accept the device operation command based on the contents of the usage permit.

このように、第4の実施形態では、情報操作装置1がWebアプリ配布サーバ5から利用許可証を取得し、この利用許可証に含まれる許可出所リストに基づいて、認証要求を行ったWebアプリの出所を検証するため、意図しないWebアプリからの認証要求を情報出力装置3に送信するおそれがなくなる。また、情報操作装置1は、利用許可証によって、Webアプリが正規のWebアプリ配布サーバ5から送信されたものであることを検証できる。   As described above, in the fourth embodiment, the information operating device 1 obtains a usage permit from the web application distribution server 5 and makes an authentication request based on the permitted origin list included in the usage permit. Therefore, there is no possibility of sending an authentication request from an unintended Web application to the information output device 3. Further, the information operating device 1 can verify that the web application is transmitted from the legitimate web application distribution server 5 based on the usage permit.

(第5の実施形態)
第1の実施形態ではアプリ認証処理部23の呼出し元の検証を行っていなかった。アプリ認証処理部23の実装形態によっては、アプリ認証処理部23のみを取り出し、アプリ出所情報を偽った不正な情報操作装置1に流用できてしまう。これに対して第5の実施形態では、アプリ認証処理部23の呼出し元の検証を行い、想定する呼出し元情報と一致するか判定することにより、不正な流用を防ぐことができる。
(Fifth embodiment)
In the first embodiment, the caller of the application authentication processing unit 23 is not verified. Depending on the implementation form of the application authentication processing unit 23, only the application authentication processing unit 23 can be taken out and used for an unauthorized information manipulation device 1 in which the application origin information is fake. On the other hand, in the fifth embodiment, it is possible to prevent unauthorized diversion by verifying the call source of the application authentication processing unit 23 and determining whether it matches the assumed call source information.

図21は第5の実施形態における情報操作装置1の内部構成を示すブロック図である。図21は図3のアプリ認証処理部23に呼出し元検出部81とプラットホーム検証部82を追加したものである。   FIG. 21 is a block diagram showing an internal configuration of the information operating device 1 according to the fifth embodiment. FIG. 21 is obtained by adding a caller detection unit 81 and a platform verification unit 82 to the application authentication processing unit 23 of FIG.

呼出し元検出部81は認証要求時にアプリ認証処理部23がWebアプリの中のどこから呼び出されたかを判別し、識別子を得る機能を有する。Webアプリは、多数のソフトウエアモジュール(以下、単にモジュールと呼ぶ)の集合体であり、呼出し元検出部81は、呼出し元モジュール識別子をプラットホーム検証部82に渡して呼出し、呼出し元が正しいものであるかどうかの判定を依頼する機能を有する。   The caller detection unit 81 has a function of determining where in the web application the application authentication processing unit 23 has been called when an authentication request is made, and obtaining an identifier. The web application is a collection of a large number of software modules (hereinafter simply referred to as modules), and the call source detection unit 81 passes the call source module identifier to the platform verification unit 82 and calls it, so that the call source is correct. It has a function of requesting determination of whether or not there is.

プラットホーム検証部82は呼出し元が想定したモジュールか否かを判定する機能を有する。呼出し元検出部81から呼出し元モジュールの識別子を受け取り、プラットホーム検証部82は自身が管理する想定する呼出し元情報および実際の呼出し元モジュールの情報を取得して、一致するかどうかの検証を行う。この際の検証方法としては、呼出し元モジュールのハッシュ値を計算して想定するものと一致するかどうかを判定する方法や、モジュールの呼出しの流れ(呼出し元アドレス)を参照し、想定するものと一致するかどうかを判定する方法、呼出し元モジュールのファイル名と一致するかどうかを判定する方法などがある。   The platform verification unit 82 has a function of determining whether or not the caller is an assumed module. The identifier of the caller module is received from the caller detection unit 81, and the platform verification unit 82 acquires the caller information assumed by itself and the information of the actual caller module, and verifies whether they match. As a verification method at this time, it is assumed that the hash value of the caller module is calculated to determine whether it matches the expected one, and the flow of the module call (caller address) is referred to and assumed. There are a method for determining whether they match, a method for determining whether they match the file name of the calling module, and the like.

本実施形態では、呼出し側、すなわちWebアプリ実行部21に秘密を格納することなく、不正な呼出し元を排除することが可能となる。   In the present embodiment, it is possible to exclude an unauthorized caller without storing a secret in the caller, that is, the Web application execution unit 21.

図22は第5の実施形態における認証要求命令検出時の処理手順を示すフローチャートである。図22のフローチャートは、図7と比較して、(1)〜(2)のプラットホーム検証処理が入る点が異なる。ここでは(1)〜(2)の処理のみを説明する。   FIG. 22 is a flowchart showing a processing procedure when an authentication request command is detected in the fifth embodiment. The flowchart of FIG. 22 is different from FIG. 7 in that the platform verification process of (1) to (2) is entered. Here, only the processes (1) to (2) will be described.

認証要求部52が認証トークン生成部61を呼び出した際に、認証トークン生成部61は呼出し元検出部81に対して呼出し元の検出を依頼する(ステップS12)。呼出し元検出部81は、認証トークン生成部61を呼び出したモジュールを判別し(ステップS111)、モジュールの識別子を認証トークン生成部61に対して返す。認証トークン生成部61はさらに、プラットホーム検証部82に対して呼出し元検出部81から受け取ったモジュールの識別子を渡して呼出し元の検証を依頼し(ステップS112)、プラットホーム検証部82はモジュールの識別子からモジュールの固有情報(a)を取得する(ステップS113)。この固有情報としては、モジュールのプログラムのハッシュ値、モジュールが存在する主記憶13上の呼出し元アドレス、ファイル名などが考えられる。さらにプラットホーム検証部82は改ざんが困難な領域に予め格納されている固有情報(b)を取得する。さらに呼出し元から取得した固有情報(a)と想定する固有情報(b)が一致するか判定する(ステップS114)。一致した場合には正しい呼出し元と判定して図7のステップS13〜S26の処理を続行し、一致しない場合には不正な呼出し元と判定してエラーを発生させる(ステップS115)。   When the authentication request unit 52 calls the authentication token generation unit 61, the authentication token generation unit 61 requests the call source detection unit 81 to detect the call source (step S12). The caller detection unit 81 determines the module that has called the authentication token generation unit 61 (step S111), and returns the module identifier to the authentication token generation unit 61. The authentication token generation unit 61 further passes the module identifier received from the call source detection unit 81 to the platform verification unit 82 to request verification of the call source (step S112), and the platform verification unit 82 uses the module identifier. Module specific information (a) is acquired (step S113). As the unique information, a hash value of the module program, a caller address on the main memory 13 where the module exists, a file name, and the like can be considered. Further, the platform verification unit 82 acquires unique information (b) stored in advance in an area where alteration is difficult. Further, it is determined whether the unique information (a) acquired from the caller matches the assumed unique information (b) (step S114). If they match, it is determined that the caller is correct and the processing in steps S13 to S26 of FIG. 7 is continued. If they do not match, it is determined that the caller is invalid and an error is generated (step S115).

このように、第5の実施形態では、認証トークンを生成するアプリ認証処理部23を偽った不正な情報操作装置1を防止するために、アプリ認証処理部23がどこから呼び出されたかを検証するプラットホーム検証部82を設けている。これにより、Webアプリの中のどこからアプリ認証処理部23が呼び出されたかを特定でき、アプリ認証処理部23を偽るような不正を防止できる。   As described above, in the fifth embodiment, a platform for verifying where the application authentication processing unit 23 is called from in order to prevent an unauthorized information manipulation device 1 that impersonates the application authentication processing unit 23 that generates an authentication token. A verification unit 82 is provided. Thereby, it is possible to specify where the application authentication processing unit 23 is called from within the Web application, and it is possible to prevent fraud such as faking the application authentication processing unit 23.

(第6の実施形態)
第5の実施形態ではWebアプリ実行部21に秘密を持たせないことを前提としていたが、Webアプリ実行部21が秘密情報を持たせることができる場合には、認証によるアプリ認証処理部23の不正利用防止が実現できる。
(Sixth embodiment)
In the fifth embodiment, it is assumed that the web application execution unit 21 does not have a secret. However, when the web application execution unit 21 can have secret information, the authentication of the application authentication processing unit 23 by authentication is performed. Unauthorized use prevention can be realized.

図23は第6の実施形態における情報処理装置の内部構成を示すブロック図である。図23は図21と比較して、Webアプリ実行部21内にプラットホーム検証認証部57を追加した点で異なる。なお、図23では、PFアプリ実行部22を省略しているが、図2と同様に、アプリ認証処理部23はPFアプリ実行部22の内部に設けられている。   FIG. 23 is a block diagram illustrating an internal configuration of the information processing apparatus according to the sixth embodiment. FIG. 23 is different from FIG. 21 in that a platform verification / authentication unit 57 is added in the Web application execution unit 21. In FIG. 23, the PF application execution unit 22 is omitted, but the application authentication processing unit 23 is provided inside the PF application execution unit 22 as in FIG.

プラットホーム検証認証部57は鍵情報を有し、その鍵を用いてプラットホーム検証部82と認証を行う機能を有する。この認証方法としては例えばチャレンジ・アンド・レスポンスなど、一般によく知られた方法を使えばよい。認証に用いる鍵情報が盗み取られない限り、プラットホーム検証認証部57を模倣する操作機器を作ることは困難である。一般に第5の実施形態で述べた完全性検証よりも認証の方が実装コストが低いという特徴があり、Webアプリ実行部21に秘密を持たせることが出来る、すなわちWebアプリ実行部21に鍵情報を第三者から読み取り困難に格納できる場合には第6の実施形態を利用する利点がある。   The platform verification authentication unit 57 has key information, and has a function of performing authentication with the platform verification unit 82 using the key. As this authentication method, a generally well-known method such as challenge and response may be used. Unless key information used for authentication is stolen, it is difficult to create an operation device that imitates the platform verification and authentication unit 57. Generally, authentication has a feature that the implementation cost is lower than the integrity verification described in the fifth embodiment, and the Web application execution unit 21 can be kept secret, that is, the Web application execution unit 21 has key information. Can be stored in a manner that is difficult to read from a third party, there is an advantage of using the sixth embodiment.

図24は第6の実施形態における認証要求命令検出時の処理手順を示すフローチャートである。図24のフローチャートは、図22と比較して、(1)〜(2)のプラットホーム検証処理が異なる。ここでは(1)〜(2)の処理のみを説明する。   FIG. 24 is a flowchart showing a processing procedure when an authentication request command is detected in the sixth embodiment. The flowchart of FIG. 24 is different from FIG. 22 in the platform verification processing of (1) to (2). Here, only the processes (1) to (2) will be described.

認証要求部52が認証トークン生成部61を呼び出した際に認証トークン生成部61は呼出し元検出部81に対して呼出し元の検出を依頼する(ステップS12)。呼出し元検出部81は、認証トークン生成部61を呼び出したモジュールを判別し(ステップS111)、モジュールの識別子を認証トークン生成部61に対して返す。認証トークン生成部61はまた、モジュールの識別子をプラットホーム検証部82に渡して、認証要求を出す。プラットホーム検証部82は渡されたモジュールの識別子で識別されるモジュールのプラットホーム検証認証部57に対して認証要求を出す(ステップS121)。プラットホーム検証認証部57は認証要求に対して自身の持つ鍵を用いて認証に対する返答を実施する(ステップS122)。この認証方法としては例えばチャレンジ・アンド・レスポンスなど、一般によく知られた方法を使えばよい。プラットホーム検証部82は認証結果を検査し(ステップS123)、認証が成功した場合には図7の第2コネクション部34情報取得以降の処理(ステップS13〜S26)を続ける一方、認証が失敗した場合にはエラーを発生させる(ステップS124)。   When the authentication request unit 52 calls the authentication token generation unit 61, the authentication token generation unit 61 requests the call source detection unit 81 to detect the call source (step S12). The caller detection unit 81 determines the module that has called the authentication token generation unit 61 (step S111), and returns the module identifier to the authentication token generation unit 61. The authentication token generation unit 61 also passes the module identifier to the platform verification unit 82 and issues an authentication request. The platform verification unit 82 issues an authentication request to the platform verification authentication unit 57 of the module identified by the passed module identifier (step S121). The platform verification / authentication unit 57 responds to the authentication by using the key possessed by itself for the authentication request (step S122). As this authentication method, a generally well-known method such as challenge and response may be used. The platform verification unit 82 checks the authentication result (step S123). If the authentication is successful, the processing after the second connection unit 34 information acquisition in FIG. 7 (steps S13 to S26) is continued, while the authentication fails. Causes an error (step S124).

このように、第6の実施形態では、Webアプリ実行部21に秘密情報を持たせることができる場合には、Webアプリ実行部21内にプラットホーム検証認証部57を設けることで、認証要求を行ったWebアプリの中のどこからアプリ認証処理部23が呼び出されたかを特定でき、アプリ実行部21を偽るような不正を防止できる。   As described above, in the sixth embodiment, when the web application execution unit 21 can have secret information, the platform verification authentication unit 57 is provided in the web application execution unit 21 to perform an authentication request. It is possible to specify where in the Web application the application authentication processing unit 23 has been called, and to prevent fraud such as faking the application execution unit 21.

(第7の実施形態)
第1の実施形態では認証トークン生成に用いる鍵の有効性の確認を行っていなかった。認証トークン生成用鍵が盗まれてしまうと、認証トークンの不正生成が可能になり、不正なプラットホームにより情報出力装置3の遠隔操作が可能になってしまう。これに対して第7の実施形態では、認証トークン生成用の鍵の有効性の確認および、不正な鍵のリボーク(無効化)処理を行い、鍵盗用時の脅威に対処することが可能となる。
(Seventh embodiment)
In the first embodiment, the validity of the key used for generating the authentication token is not confirmed. If the authentication token generation key is stolen, the authentication token can be illegally generated, and the information output device 3 can be remotely operated by an unauthorized platform. On the other hand, in the seventh embodiment, it is possible to check the validity of the key for generating the authentication token and to revoke (invalidate) the illegal key to cope with the threat at the time of key theft. .

図25は第7の実施形態における情報処理装置の内部構成を示すブロック図である。図25は、図3と比較して、アプリ認証処理部23内にリボーク検出部83、鍵無効化部84および鍵更新部85を追加した点で異なる。なお、図25では、PFアプリ実行部22を省略しているが、図2と同様に、アプリ認証処理部23はPFアプリ実行部22の内部に設けられている。   FIG. 25 is a block diagram illustrating an internal configuration of the information processing apparatus according to the seventh embodiment. FIG. 25 differs from FIG. 3 in that a revocation detection unit 83, a key revocation unit 84, and a key update unit 85 are added to the application authentication processing unit 23. 25, the PF application execution unit 22 is omitted, but the application authentication processing unit 23 is provided inside the PF application execution unit 22 as in FIG.

本実施形態においては、鍵管理部63は図26に示すように複数の鍵を管理し、鍵番号で区別する。鍵データとして、例えば鍵番号、鍵有効性および鍵情報の情報を持つ。   In the present embodiment, the key management unit 63 manages a plurality of keys as shown in FIG. As key data, for example, it has information of a key number, key validity, and key information.

リボーク検出部83は鍵の無効(リボーク)を検出する機能を有する。この方法として例えば、情報出力装置3と連携して認証要求時に情報出力装置3は第2コネクション部34を介してチャレンジとともに、認証に用いる鍵番号を送信し、リボーク検出部83が与えられた鍵番号未満の鍵を無効と判断する方法や、Webアプリ配布サーバ5に無効化された鍵の番号を問い合わせる機能を有する。   The revocation detection unit 83 has a function of detecting key invalidity (revocation). As this method, for example, in cooperation with the information output device 3, the information output device 3 transmits a key number used for authentication along with the challenge via the second connection unit 34, and a key given by the revoke detection unit 83. It has a function of determining that a key less than the number is invalid, and a function of inquiring the invalid number of the key to the Web application distribution server 5.

鍵無効化部84はリボーク検出部83からリボークされた鍵番号情報を受け取り、実際に鍵を無効にする機能を有する。例えば、図26は、鍵管理部63が管理する鍵番号、鍵有効性および鍵情報の対応関係を登録したテーブルを示している。図26の鍵情報では初期状態として鍵番号0が無効、1,2…Nが有効であるが、リボーク検出部83から3未満の鍵情報が無効という情報が与えられた場合には、鍵番号1、2の鍵有効性情報について無効という情報を書き込む。   The key revocation unit 84 has a function of receiving the revoked key number information from the revocation detection unit 83 and actually revoking the key. For example, FIG. 26 shows a table in which the correspondence between key numbers, key validity, and key information managed by the key management unit 63 is registered. In the key information shown in FIG. 26, the key number 0 is invalid and 1, 2,... N are valid as an initial state. Write invalid information about the key validity information of 1 and 2.

鍵更新部85はIPコネクション管理部24とIPコネクション管理部24から呼び出される第1コネクション部33を介してWebアプリ配布サーバ5から最新の鍵情報をダウンロードして、署名検証を行い、改ざんが検出されなかった場合には、操作機器に保存される鍵情報を上書きする機能を有する。鍵更新部85は必須の構成ではない。   The key update unit 85 downloads the latest key information from the Web application distribution server 5 via the IP connection management unit 24 and the first connection unit 33 called from the IP connection management unit 24, performs signature verification, and detects falsification. If not, the key information stored in the operating device is overwritten. The key update unit 85 is not an essential configuration.

図27は第7の実施形態におけるWebアプリ配布サーバ5の内部構造を示すブロック図である。図27のWebアプリ配布サーバ5は、図5と比較して、鍵情報提供部47を追加した点で異なる。   FIG. 27 is a block diagram showing the internal structure of the Web application distribution server 5 in the seventh embodiment. 27 differs from FIG. 5 in that a key information providing unit 47 is added.

鍵情報提供部47は、情報操作装置1もしくは情報出力装置3からの鍵情報の取得要求に従って、最新の鍵情報を不図示のWebアプリ配布サーバ5が備えるストレージから取得し、HTTPサーバ処理部43を介して要求元に送信する機能を有する。   The key information providing unit 47 acquires the latest key information from the storage included in the web application distribution server 5 (not shown) in accordance with the key information acquisition request from the information operating device 1 or the information output device 3, and the HTTP server processing unit 43 It has the function to transmit to a request origin via.

図28は第7の実施形態における情報出力装置3の内部構造を示すブロック図である。図4の情報出力装置3に鍵更新部77を備える点が異なる。   FIG. 28 is a block diagram showing the internal structure of the information output device 3 in the seventh embodiment. The difference is that the information output device 3 of FIG.

鍵更新部77はIPコネクション管理部70とIPコネクション管理部70から呼び出される第1コネクション部78を介してWebアプリ配布サーバ5に対して最新の鍵情報の取得要求を送信する機能を有する。鍵更新部77は鍵情報を受け取ると、情報出力装置3の不図示のストレージに格納される鍵情報を受け取った鍵情報で上書きする。鍵更新部77は情報出力装置3の起動時もしくは定期的に実行され、鍵情報を最新に保つことができる。   The key update unit 77 has a function of transmitting an acquisition request for the latest key information to the Web application distribution server 5 via the IP connection management unit 70 and the first connection unit 78 called from the IP connection management unit 70. When the key update unit 77 receives the key information, it overwrites the key information stored in a storage (not shown) of the information output device 3 with the received key information. The key update unit 77 is executed when the information output device 3 is activated or periodically, and can keep the key information up-to-date.

図29は第7の実施形態におけるリボーク処理を含む認証要求時の処理手順を示すフローチャートである。図29のフローチャートは、図7と比較して、レスポンス生成依頼からレスポンス(認証トークン)生成までの処理が異なるため、異なる処理を中心に説明する。   FIG. 29 is a flowchart showing a processing procedure at the time of an authentication request including a revoke process in the seventh embodiment. The flowchart of FIG. 29 differs from that of FIG. 7 in that the processing from the response generation request to the response (authentication token) generation is different.

認証トークン生成部61はチャレンジ情報に対応するレスポンスの生成依頼を出した(ステップS131)後、リボーク検出部83は第2コネクション部34を介して情報出力装置3から伝えられた鍵番号(Nとする)を取得し(ステップS132)、その鍵番号未満(0….N-1)の鍵を無効と判定し、鍵無効化部84を呼び出す。鍵無効化部84は図26に示されるような鍵情報について、与えられた鍵番号0….N-1の鍵の鍵有効性情報を無効に書き換える(ステップS133)。その後、鍵管理部63は鍵番号Nの鍵情報を取得する(ステップS134)。アプリ認証処理部23は取得した鍵情報と受け取ったチャレンジ情報からレスポンスを生成し、認証トークンとして返す(ステップS135)。   After the authentication token generating unit 61 issues a request for generating a response corresponding to the challenge information (step S131), the revoke detecting unit 83 receives the key number (N and N) transmitted from the information output device 3 via the second connection unit 34. (Step S132), it is determined that a key less than the key number (0... N-1) is invalid, and the key revocation unit 84 is called. The key revocation unit 84 rewrites the key validity information of the key having the given key number 0... N-1 to the key information as shown in FIG. 26 (step S133). Thereafter, the key management unit 63 acquires key information of the key number N (step S134). The application authentication processing unit 23 generates a response from the acquired key information and the received challenge information, and returns it as an authentication token (step S135).

図30は第7の実施形態における鍵更新時の処理手順を示すフローチャートである。鍵更新部77は、情報操作装置1の起動時や一定期間ごとに鍵更新処理を行う。鍵更新部77はまず、IPコネクション管理部70とIPコネクション管理部70から呼び出される第1コネクション部78を介してWebアプリ配布サーバ5から最新鍵データのダウンロードを行う(ステップS141)。次に、情報操作装置1内に保存されている署名検証用公開鍵を読み込み(ステップS142)、ダウンロードした鍵データの署名検証を行う(ステップS143)。改ざんが検出された場合にはエラーを発生させ(ステップS144、S145)、検出されなかった場合にはダウンロードした鍵データで情報操作装置1内に保存されている図30に示される形式の鍵データを上書き保存する(ステップS144、S146)。   FIG. 30 is a flowchart showing a processing procedure at the time of key update in the seventh embodiment. The key update unit 77 performs a key update process when the information operating device 1 is activated or at regular intervals. First, the key update unit 77 downloads the latest key data from the Web application distribution server 5 via the IP connection management unit 70 and the first connection unit 78 called from the IP connection management unit 70 (step S141). Next, the signature verification public key stored in the information operating device 1 is read (step S142), and signature verification of the downloaded key data is performed (step S143). If tampering is detected, an error is generated (steps S144 and S145). If no tampering is detected, the key data in the format shown in FIG. Is overwritten and saved (steps S144 and S146).

このように、第7の実施形態では、Webアプリ配布サーバ5から取得した鍵データを情報操作装置1が所持する署名検証用公開鍵を利用して検証し、検証に成功したら、認証トークン生成用の鍵を更新するようにしたため、安全に鍵の更新作業を行うことができる。   As described above, in the seventh embodiment, the key data acquired from the Web application distribution server 5 is verified using the public key for signature verification possessed by the information operating device 1. Since the key is updated, the key can be updated safely.

ここで、上述した実施形態に係る発明の利用場面について、説明する。   Here, a use scene of the invention according to the above-described embodiment will be described.

近年、HTMLやJavaScriptでリッチなクライアントアプリケーション(ウェブアプリケーション)を記述することが一般的になりつつある。これに伴い、デジタルTVや携帯電話、スマートフォン等のデジタル機器でも、実行させるアプリケーションソフトウェアをウェブアプリケーションで記述する例が出てきている。デジタルTVにおけるIPTVなどはその端的な例であり、ウェブアプリケーションの技術を用いてメニュー画面や動画再生画面を表示する規格が登場している。   In recent years, it has become common to write rich client applications (web applications) in HTML and JavaScript. Along with this, examples of describing application software to be executed by a digital application such as a digital TV, a mobile phone, a smart phone, etc. by a web application have come out. IPTV in digital TV is a straightforward example, and a standard for displaying a menu screen or a moving image playback screen using web application technology has appeared.

このウェブアプリケーションはHTMLやJavaScriptなどが解釈できるブラウザベースの実行環境で実行される。このウェブアプリケーションは、一般に複数のページファイルとメディアファイルとで構成される。ここでいうメディアファイルとは、JPEG、GIF、MPEGなどの動画像データを格納するファイルや、MP3などの音声データを格納するファイルのことをいう。一方、ページファイルには、HTMLなどで記述される文字や画像等の配置情報と表示文字データなどに加えて、JavaScriptのような制御プログラム情報が格納される場合がある。また、JavaScriptは、HTTP(XMLHTTPRequest)やWebSocketと呼ばれるプロトコルで、HTTPサーバやWebSocketサーバと通信することができる。   This web application is executed in a browser-based execution environment that can interpret HTML and JavaScript. This web application is generally composed of a plurality of page files and media files. The media file here refers to a file that stores moving image data such as JPEG, GIF, and MPEG, and a file that stores audio data such as MP3. On the other hand, in a page file, control program information such as JavaScript may be stored in addition to arrangement information such as characters and images described in HTML and display character data. JavaScript is a protocol called HTTP (XMLHTTPRequest) or WebSocket, and can communicate with an HTTP server or WebSocket server.

HTTPサーバやWebSocketサーバは、サーバ上の機器が備える各種機能を操作するインタフェースを搭載することにより、機器の遠隔操作を行えるようになる。例えばデジタルTVにWebSocketサーバを搭載し、そのWebSocketプロトコルを介してチャンネル変更や録画予約機能を行えるようにした場合には、例えばタブレット端末のブラウザで動作するウェブアプリケーションからチャンネル変更や録画予約などの遠隔操作を行えるようになる。   HTTP servers and WebSocket servers can be remotely operated by installing interfaces that operate various functions of the devices on the server. For example, when a WebSocket server is installed in a digital TV and channel change and recording reservation functions can be performed via the WebSocket protocol, remote control such as channel change and recording reservation can be performed from a web application that runs on the browser of a tablet terminal. It becomes possible to operate.

タブレット端末等の情報操作装置から、デジタルTV等の情報出力装置の各種機能を操作するための機器操作命令を無線送信して、情報出力装置を遠隔操作する場合、情報操作装置は、ウェブサーバにアクセスして、機器操作命令が記述されたウェブアプリケーションを取得して実行し、その実行結果に基づいて、機器操作命令を情報出力装置に送信することになる。   When an information operation device for operating various functions of an information output device such as a digital TV is wirelessly transmitted from an information operation device such as a tablet terminal to remotely operate the information output device, the information operation device is connected to a web server. The web application in which the device operation command is described is acquired and executed, and the device operation command is transmitted to the information output device based on the execution result.

したがって、情報操作装置が実行するウェブアプリケーションが信頼のおけるものでないと、情報出力装置が勝手に操作されてしまうことになる。そのような場合に、上述した実施形態に係る発明は、ユーザの許諾なしに情報出力装置が勝手に操作されることを防止しつつ、情報操作装置から情報出力装置を操作できるようにして利便性を向上させることができる。   Therefore, if the web application executed by the information operation device is not reliable, the information output device is operated without permission. In such a case, the invention according to the above-described embodiment allows the information output apparatus to be operated from the information operation apparatus while preventing the information output apparatus from being operated without the user's permission. Can be improved.

上述した実施形態で説明した情報操作装置1および情報出力装置3の少なくとも一部は、ハードウェアで構成してもよいし、ソフトウェアで構成してもよい。ソフトウェアで構成する場合には、情報操作装置1および情報出力装置3の少なくとも一部の機能を実現するプログラムをフレキシブルディスクやCD−ROM等の記録媒体に収納し、コンピュータに読み込ませて実行させてもよい。記録媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でもよい。   At least a part of the information operation device 1 and the information output device 3 described in the above-described embodiment may be configured by hardware or software. When configured by software, a program that realizes at least a part of the functions of the information operating device 1 and the information output device 3 is stored in a recording medium such as a flexible disk or a CD-ROM, and is read and executed by a computer. Also good. The recording medium is not limited to a removable medium such as a magnetic disk or an optical disk, but may be a fixed recording medium such as a hard disk device or a memory.

また、情報操作装置1および情報出力装置3の少なくとも一部の機能を実現するプログラムを、インターネット等の通信回線(無線通信も含む)を介して頒布してもよい。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布してもよい。   Further, a program for realizing at least a part of the functions of the information operating device 1 and the information output device 3 may be distributed via a communication line (including wireless communication) such as the Internet. Further, the program may be distributed in a state where the program is encrypted, modulated or compressed, and stored in a recording medium via a wired line such as the Internet or a wireless line.

本発明の態様は、上述した個々の実施形態に限定されるものではなく、当業者が想到しうる種々の変形も含むものであり、本発明の効果も上述した内容に限定されない。すなわち、特許請求の範囲に規定された内容およびその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲で種々の追加、変更および部分的削除が可能である。   The aspect of the present invention is not limited to the individual embodiments described above, and includes various modifications that can be conceived by those skilled in the art, and the effects of the present invention are not limited to the contents described above. That is, various additions, modifications, and partial deletions can be made without departing from the concept and spirit of the present invention derived from the contents defined in the claims and equivalents thereof.

1 情報操作装置、3 情報出力装置、5 Webアプリ配布サーバ、21 Webアプリ実行部、23 アプリ認証処理部、24 IPコネクション管理部、25 入力受信部、26 HTTP処理部、27 アプリ出所付与部、28 機器検索処理部、33 第1コネクション部、34 第2コネクション部、35 第3コネクション部、36 第4コネクション部、51 ページ実行部、52 認証要求部、53 操作命令生成部、54 操作命令送信部、55 認証トークン送信部、61 認証トークン生成部、62 開始アプリURL管理部、63 鍵管理部、64 認証処理部、70 IPコネクション管理部、71 メッセージ分析部、72 認証用チャレンジ生成部、73 認証トークン検査部、74 機器操作命令処理部、75 アプリ出所検査部、76 機器検索応答部、77 鍵更新部、78 第1コネクション部   DESCRIPTION OF SYMBOLS 1 Information operation apparatus, 3 Information output apparatus, 5 Web application distribution server, 21 Web application execution part, 23 Application authentication process part, 24 IP connection management part, 25 Input reception part, 26 HTTP process part, 27 Application origin provision part, 28 device search processing unit, 33 first connection unit, 34 second connection unit, 35 third connection unit, 36 fourth connection unit, 51 page execution unit, 52 authentication request unit, 53 operation command generation unit, 54 operation command transmission , 55 Authentication token transmission unit, 61 Authentication token generation unit, 62 Start application URL management unit, 63 Key management unit, 64 Authentication processing unit, 70 IP connection management unit, 71 Message analysis unit, 72 Authentication challenge generation unit, 73 Authentication token inspection unit, 74 Device operation command processing unit, 75 Application origin inspection unit, 76 Device search response Department, 77 key update unit, 78 first connection part

Claims (12)

アプリケーションを実行して機器操作命令を生成するアプリ実行部と、
第1通信機器に認証要求を送信し、これに応答して前記第1通信機器から送信された認証要求子を受信する第1通信処理部と、
受信した前記認証要求子を、前記第1通信機器との間で共有する鍵と、所定の鍵情報とに基づいて暗号化したプラットホーム認証子を生成するアプリ認証処理部と、
前記プラットホーム認証子に前記アプリケーションの出所情報を付与するアプリ出所情報付与部と、
前記第1通信機器に、前記機器操作命令と前記出所情報が付与されたプラットホーム認証子とを送信する第2通信処理部と、を備えることを特徴とする情報操作装置。
An application execution unit that executes an application and generates a device operation instruction;
A first communication processing unit for transmitting an authentication request to the first communication device and receiving an authentication requestor transmitted from the first communication device in response to the authentication request;
An application authentication processing unit that generates a platform authenticator that is encrypted based on a key shared with the first communication device and the predetermined key information for the received authentication requestor;
An application origin information giving unit for giving origin information of the application to the platform authenticator;
An information operation device comprising: a second communication processing unit configured to transmit the device operation command and a platform authenticator to which the origin information is given to the first communication device.
前記第1通信機器を検索するための機器検索命令を送信するための接続確立処理を行うとともに、確立したコネクションを利用して機器検索命令を送信する第3通信処理部と、
前記機器検索命令に応答して前記第1通信機器から送信された前記第1通信機器の位置識別情報を、前記第3通信処理部を介して受信する機器検索処理部と、を備え、
前記第1通信処理部および前記第2通信処理部は、前記位置識別情報に基づいて、前記位置識別情報を送信した前記第1通信機器との間でそれぞれの接続確立処理を行うことを特徴とする請求項1に記載の情報操作装置。
A third communication processing unit for performing connection establishment processing for transmitting a device search command for searching for the first communication device, and transmitting a device search command using the established connection;
A device search processing unit that receives, via the third communication processing unit, position identification information of the first communication device transmitted from the first communication device in response to the device search command;
The first communication processing unit and the second communication processing unit perform respective connection establishment processes with the first communication device that has transmitted the position identification information based on the position identification information. The information operation device according to claim 1.
前記プラットホーム認証子の生成命令の発行を行うことが可能なアプリケーションの取得先をリストアップした許可出所リストを取得する許可出所リスト取得部と、
前記アプリケーションの取得先が前記許可出所リストに含まれるか否かを検証するアプリ出所検証部と、を備え、
前記アプリ認証処理部は、前記アプリ出所検証部により含まれないと検証されると、前記プラットホーム認証子の生成を禁止することを特徴とする請求項1または2に記載の情報操作装置。
A permitted source list acquisition unit that acquires a permitted source list that lists acquisition destinations of applications that can issue the platform authenticator generation instruction;
An application origin verification unit that verifies whether the acquisition source of the application is included in the permitted origin list,
3. The information operating device according to claim 1, wherein the application authentication processing unit prohibits generation of the platform authenticator when it is verified that the application origin verification unit does not include the application authentication processing unit.
前記許可出所リストに付属する署名が正しいか否かを署名検証用公開鍵で検証する許可出所リスト検査部を備え、
前記アプリ認証処理部は、前記許可出所リスト検査部により前記署名が正しくないと検証されると、前記プラットホーム認証子の生成を禁止することを特徴とする請求項3に記載の情報操作装置。
A permitted origin list inspection unit for verifying whether or not a signature attached to the permitted origin list is correct with a public key for signature verification;
4. The information operating device according to claim 3, wherein the application authentication processing unit prohibits generation of the platform authenticator when the authorized source list checking unit verifies that the signature is not correct.
第2通信機器とデータの送受信を行う第4通信処理部を備え、
前記アプリ実行部は、前記アプリケーションが正規の取得先から送信されたものであることを証明する利用許可証を前記第4通信処理部を介して前記第2通信機器から取得し、
前記許可出所リスト取得部は、前記利用許可証の中に含まれる前記許可出所リストを取得することを特徴とする請求項3または4に記載の情報操作装置。
A fourth communication processing unit for transmitting and receiving data to and from the second communication device;
The application execution unit acquires a usage permit certifying that the application is transmitted from a regular acquisition source from the second communication device via the fourth communication processing unit,
The information operating device according to claim 3 or 4, wherein the permitted origin list acquisition unit acquires the permitted origin list included in the usage permit.
前記許可出所リストは、前記アプリケーションのそれぞれごとに設けられることを特徴とする請求項4または5に記載の情報操作装置。   6. The information operating device according to claim 4, wherein the permitted origin list is provided for each of the applications. 前記許可出所リスト取得部は、前記第2通信機器から送信された最新の前記許可出所リストを前記第4通信処理部を介して定期的に受信して、前記許可出所リストを更新することを特徴とする請求項3乃至6のいずれかに記載の情報操作装置。   The permitted source list acquisition unit periodically receives the latest permitted source list transmitted from the second communication device via the fourth communication processing unit, and updates the permitted source list. An information operating device according to any one of claims 3 to 6. 前記アプリ実行部を識別する情報と、前記アプリ実行部が前記アプリケーションを実行する手順との少なくとも一方が予め想定されたものと一致するか否かを検証するプラットホーム検証部を備え、
前記アプリ認証処理部は、前記プラットホーム検証部により一致すると検証された場合のみ、前記プラットホーム認証子を生成することを特徴とする請求項1乃至7のいずれかに記載の情報操作装置。
A platform verification unit that verifies whether at least one of the information for identifying the application execution unit and the procedure for executing the application by the application execution unit matches a presumed one,
8. The information operating device according to claim 1, wherein the application authentication processing unit generates the platform authenticator only when it is verified that the application is matched by the platform verification unit. 9.
前記プラットホーム認証子を生成するのに用いる前記鍵の有効性を前記第2通信機器に問い合わせるリボーク検出部と、
前記リボーク部の問合せに応答して、前記第2通信機器から無効である旨の情報を受信した場合には、前記鍵の無効化処理を行う鍵無効化部と、を備えることを特徴とする請求項1乃至8のいずれかに記載の情報操作装置。
A revoke detector that inquires of the second communication device about the validity of the key used to generate the platform authenticator;
A key revocation unit that performs revocation processing of the key when information indicating that the revocation unit is invalid is received from the second communication device in response to the inquiry from the revocation unit. The information operating device according to claim 1.
前記プラットホーム認証子を生成するのに用いる前記鍵の鍵情報を、前記第4通信処理部を介して前記第2通信機器から受信して、前記鍵情報に基づいて前記鍵の無効化処理を行う鍵無効化部を備えることを特徴とする請求項1乃至8のいずれかに記載の情報操作装置。   The key information of the key used to generate the platform authenticator is received from the second communication device via the fourth communication processing unit, and the key invalidation process is performed based on the key information. The information manipulation device according to claim 1, further comprising a key revocation unit. 情報操作装置に認証要求子を送信する第1通信処理部と、
前記情報操作装置からの機器操作命令およびプラットホーム認証子を受信するための接続確立処理を行う第2通信処理部と、
前記情報操作装置から送信された前記第2通信処理部の接続要求に含まれるアプリケーションの出所情報が許可出所リストに登録されているか否かを検証する許可出所検証部と、
前記情報操作装置から送信された前記プラットホーム認証子が認証子リストに登録されているか否かを検証する認証子検証部と、
前記許可出所検証部で登録されていると検証され、かつ前記認証子検証部で登録されていると検証された場合に、前記第1通信処理部を介して前記情報操作装置からの前記機器操作命令を受信する制御を行うコネクション管理部と、を備えることを特徴とする情報出力装置。
A first communication processing unit for transmitting an authentication requestor to the information operating device;
A second communication processing unit for performing connection establishment processing for receiving a device operation command and a platform authenticator from the information operation device;
A permitted origin verification unit that verifies whether or not the origin information of the application included in the connection request of the second communication processing unit transmitted from the information manipulation device is registered in the permitted source list;
An authenticator verification unit for verifying whether or not the platform authenticator transmitted from the information manipulation device is registered in an authenticator list;
The device operation from the information operating device via the first communication processing unit when it is verified that it is registered by the permitted origin verification unit and is verified by the authenticator verification unit. An information output device comprising: a connection management unit that performs control to receive a command.
アプリケーションから認証要求を受けると、第1通信機器に認証要求を送信するとともに、これに応答して前記第1通信機器から送信された認証要求子を受信するための接続確立処理を行い、認証要求子を受信するステップと、
前記第1通信機器から受信した前記認証要求子を、前記第1通信機器との間で共有する鍵とユーザが入力した鍵情報とに基づいて暗号化したプラットホーム認証子を生成するステップと、
前記プラットホーム認証子に前記アプリケーションの出所情報を付与するステップと、
前記第1通信機器に、前記機器操作命令と前記出所情報が付与されたプラットホーム認証子を送信するステップと、をコンピュータに実行させるコンピュータ読み込み可能な情報操作プログラム。
Upon receiving an authentication request from the application, an authentication request is transmitted to the first communication device, and in response to this, a connection establishment process for receiving the authentication requestor transmitted from the first communication device is performed, and the authentication request Receiving a child;
Generating an authentication requestor received from the first communication device based on a key shared with the first communication device and key information input by a user;
Providing source information of the application to the platform authenticator;
A computer-readable information operation program for causing a computer to execute a step of transmitting a platform authenticator to which the device operation command and the origin information are given to the first communication device.
JP2014161626A 2014-08-07 2014-08-07 Information operation device, information output device, and information operation program Expired - Fee Related JP5834118B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014161626A JP5834118B2 (en) 2014-08-07 2014-08-07 Information operation device, information output device, and information operation program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014161626A JP5834118B2 (en) 2014-08-07 2014-08-07 Information operation device, information output device, and information operation program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2012181021A Division JP5597230B2 (en) 2012-08-17 2012-08-17 Information operation device, information output device, and information operation program

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2015213790A Division JP2016028532A (en) 2015-10-30 2015-10-30 Information operation device, information output device, and information operation program

Publications (2)

Publication Number Publication Date
JP2014239522A JP2014239522A (en) 2014-12-18
JP5834118B2 true JP5834118B2 (en) 2015-12-16

Family

ID=52136238

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014161626A Expired - Fee Related JP5834118B2 (en) 2014-08-07 2014-08-07 Information operation device, information output device, and information operation program

Country Status (1)

Country Link
JP (1) JP5834118B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6084258B2 (en) * 2015-07-07 2017-02-22 ネットエージェント株式会社 Authentication system and display program
CN112560015A (en) 2020-12-17 2021-03-26 北京百度网讯科技有限公司 Password updating method, device, equipment and storage medium of electronic equipment

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10124418A (en) * 1996-10-22 1998-05-15 Nippon Telegr & Teleph Corp <Ntt> Remote control method using www server
JP2002135867A (en) * 2000-10-20 2002-05-10 Canon Inc Remote control system
JP4145118B2 (en) * 2001-11-26 2008-09-03 松下電器産業株式会社 Application authentication system
JP2003318894A (en) * 2002-02-21 2003-11-07 Matsushita Electric Ind Co Ltd Method for processing authentication between pieces of apparatus using challenge and response system

Also Published As

Publication number Publication date
JP2014239522A (en) 2014-12-18

Similar Documents

Publication Publication Date Title
JP5597230B2 (en) Information operation device, information output device, and information operation program
JP5662391B2 (en) Information operating device, information output device, and information processing method
CN108322461B (en) Method, system, device, equipment and medium for automatically logging in application program
US11831680B2 (en) Electronic authentication infrastructure
JP5925335B2 (en) Network security protection method, apparatus and system
JP2023541599A (en) Service communication methods, systems, devices and electronic equipment
JP5644770B2 (en) Access control system, server, and access control method
JP6609788B1 (en) Information communication device, authentication program for information communication device, and authentication method
KR20150054828A (en) Securely handling server certificate errors in synchronization communication
EP1785901B1 (en) Secure License Key Method and System
WO2015019821A1 (en) Information processing device, information processing method, and computer program
JP2008048135A (en) Two-dimensional code-using system
CN111460410A (en) Server login method, device and system and computer readable storage medium
JP2012008732A (en) Installation control device and program
JP2011082923A (en) Terminal device, signature producing server, simple id management system, simple id management method, and program
JP6786830B2 (en) Certificate management system, certificate management method and program
JP5834118B2 (en) Information operation device, information output device, and information operation program
JP2009071430A (en) Multi-factor authentication system, authentication proxy device, terminal, multi-factor authentication program, and multi-factor authentication method
KR20200000576A (en) A Method For Detecting Counterfeit application in Mobile Device Based On Blockchain
KR100458515B1 (en) System and method that can facilitate secure installation of JAVA application for mobile client through wireless internet
JP2019036781A (en) Authentication system and authentication method
CN110034922B (en) Request processing method, processing device, request verification method and verification device
JP2016028532A (en) Information operation device, information output device, and information operation program
JP5161053B2 (en) User authentication method, user authentication system, service providing apparatus, and authentication control apparatus
JP2011024155A (en) Electronic signature system and method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150909

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: 20151002

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151030

R151 Written notification of patent or utility model registration

Ref document number: 5834118

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees