JP5834118B2 - Information operation device, information output device, and information operation program - Google Patents
Information operation device, information output device, and information operation program Download PDFInfo
- 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
Links
- 238000012545 processing Methods 0.000 claims description 150
- 238000000034 method Methods 0.000 claims description 79
- 230000004044 response Effects 0.000 claims description 55
- 238000004891 communication Methods 0.000 claims description 47
- 238000012795 verification Methods 0.000 claims description 47
- 238000007689 inspection Methods 0.000 claims description 38
- 230000008569 process Effects 0.000 claims description 34
- 230000006870 function Effects 0.000 description 99
- 238000007726 management method Methods 0.000 description 94
- 230000005540 biological transmission Effects 0.000 description 35
- 238000010586 diagram Methods 0.000 description 33
- 238000001514 detection method Methods 0.000 description 17
- 238000004458 analytical method Methods 0.000 description 10
- 230000010365 information processing Effects 0.000 description 10
- 230000008859 change Effects 0.000 description 4
- 230000004075 alteration Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 210000000707 wrist Anatomy 0.000 description 1
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.
本実施形態は、ユーザの許諾なしに情報出力装置が勝手に操作されることを防止しつつ、情報操作装置から情報出力装置を操作できるようにして利便性を向上させた情報操作装置、情報出力装置および情報操作プログラムを提供するものである。 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.
以下、図面を参照しながら、本発明の一実施形態を説明する。 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
情報操作装置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
情報出力装置3は、ネットワークインタフェース部31と、情報操作装置1から送信された機器操作命令を処理する機器操作命令処理部32とを有する。
The
Webアプリ配布サーバ5は、ネットワークインタフェース部41と、ストレージ部42とを有する。ストレージ部42には、後述するように、ページファイル42aとメディアファイル42bが格納される。
The web
情報操作装置1でWebアプリを実行する際には、下準備として、Webアプリの実行環境であるアプリ実行部プログラムの実行を行う。この際、情報操作装置1のCPU12で実行されているOSなどのシェルプログラムがユーザの要求等に従い、アプリ実行部プログラムを情報操作装置1内のストレージ部から読み取る。また、CPU12は読み取ったアプリ実行部プログラムを主記憶13に保存し、アプリ実行部プログラムを実行する。
When a web application is executed by the
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
Webアプリ配布サーバ5のネットワークインタフェース部41はストレージ部42から該当ファイルを読み取って情報操作装置1に返信する。情報操作装置1のネットワークインタフェース部16は該当ファイルを主記憶13に配置する。ページファイルにはアプリケーションが利用するメディアファイルのURLが列挙されており、ページファイルと同様にCPU12はネットワークインタフェース部16にこれらのファイルについてもダウンロード命令を発行し、ダウンロードされたファイルを主記憶13やストレージ部17に配置する。
The
実行に必要なファイルが用意された時点で、アプリ実行部プログラムは主記憶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
このページファイルなどに含まれる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
しかしながら、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
以上の観点から、図1の情報処理システム4は、情報操作装置1が実行するWebアプリのURL情報が信頼できることを情報出力装置3に対して保証できるようにしている。
From the above viewpoint, the
図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
アプリ認証処理部23は、Webアプリが正しいプラットホーム上で動作していることを保証する認証子(認証トークン)を生成する。
The application
Webアプリ実行部21は、ブラウザ上で動作するWebアプリを実行するための実行環境であるブラウザ機能を有する。PFアプリ実行部22が実行するPFアプリは、直接計算機が実行できる命令形式で構成されるネイティブアプリケーションである。一方、Webアプリは、一般にプレーンテキスト形式で記述されたHTMLやJavaScriptファイル、これらから利用される各種メディアファイルなどである。
The web
Webアプリ実行部21が実行するWebアプリとPFアプリ実行部22が実行するPFアプリは別々に開発できるが、Webアプリ実行部21は一般に仕組みが複雑で新たな機能追加は困難である。何らかの特有の機能を実現したい場合には、アプリ認証処理部23で目的機能を実現することができれば、ブラウザ内部を変更するよりも開発コストを下げて開発を行うことができる。また、Webアプリの記述言語であるHTMLやJavaScriptには秘密情報を含ませることは困難だが、PFアプリはネイティブアプリケーションであるため、秘密情報の保護強度を高くできる。
Although the web application executed by the web
一方、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
加えて、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
アプリ出所付与部27は、アプリの出所の位置識別子を付与した認証トークンを情報出力装置3とのコネクションを管理する第3コネクション部35を用いて情報出力装置3に送信するよう、IPコネクション管理部24に指示する。IPコネクション管理部24は、第3コネクション部35に認証トークンを送るための第3のコネクション確立を指示して第3のコネクションを確立させて、その後に、第3コネクション部35は認証トークンを情報出力装置3に送る。これにより、情報出力装置3は認証トークンが送られてきた第3のコネクションが正規のプラットホームにより確立されたコネクションであることを判別できる。また、情報出力装置3は、アプリの出所についても正規プラットホームにより付与されたものであることを判別できる。情報出力装置3側にいったん認証トークンが送信されると、再度別のコネクションで同一の認証トークンが送信されると、認証無効とされる(ワンタイムパスワードとする)。これにより、情報セキュリティを向上できる。
The application
Webアプリ実行部21はさらに機器操作命令を生成する機能を有し、IPコネクション管理部24に対して第3コネクション部35を利用して送信することを依頼する機能を有する。このため、IPコネクション管理部24は第3コネクション部35を利用して機器操作命令を情報出力装置3に対して送る機能を有する。情報出力装置3は既に第3コネクション部35により認証トークンが送られているため、第3のコネクションが正規プラットホームにより確立されたコネクションであることが判別できているため、同じコネクションにより送られた機器操作命令についても正規プラットホーム上で動作するアプリケーションから送られていると判断でき、アプリケーションの出所についても正しく判別することが出来る。
The Web
アプリ認証処理部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
このように、第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
IPコネクション管理部24は、上述した第1乃至第4コネクション部33〜36を含む複数のコネクション部を識別し、IPコネクション管理部24の呼出し元から指定されたコネクション部を利用してデータを送信する。
The IP
第1コネクション部33はIPコネクション管理部24から呼び出され、IPコネクション管理部24から指定されたWebアプリ配布サーバの位置情報とアプリケーションの位置情報を受け取り、Webアプリ配布サーバ5とのコネクションである第1のコネクションを確立したのち、Webアプリケーションを取得してIPコネクション管理部24に返す機能を有する。
The
第2コネクション部34はIPコネクション管理部24から呼び出され、IPコネクション管理部24から指定された情報出力装置3の位置情報を受け取り、第2のコネクションが確立されていない場合には確立を行い、情報出力装置3に認証要求を送信し、さらに情報出力装置3から認証要求子を受信してIPコネクション管理部24に返却する機能を有する。
The
第3コネクション部35はIPコネクション管理部24から呼び出され、IPコネクション管理部24から指定された情報出力装置3の位置情報を受け取り、第3のコネクションが確立されていない場合には確立を行い、IPコネクション管理部24から渡された認証トークンや機器操作命令を送信する機能を有する。
The
第4コネクション部36はIPコネクション管理部24から呼び出され、IPコネクション管理部24から受け取った機器検索命令を第4のコネクションを確立して送信し、受信した機器検索結果をIPコネクション管理部24に返す機能を有する。
The
図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
Webアプリ実行部21は、Webアプリを表示および実行する機能を有するページ実行部51(いわゆるウェブブラウザ)と、Webアプリから自分自身が正規プラットホーム上で動作していることを証明する認証子(認証トークン)を要求する機能を有する認証要求部52と、遠隔機器操作命令を生成する機能を有する操作命令生成部53と、機器操作命令を送信する機能を有する操作命令送信部54と、認証トークンを送信する機能を有する認証トークン送信部55とを有する。
The web
ウェブブラウザからなるページ実行部51以外の認証要求部52、操作命令生成部53、操作命令送信部54および認証トークン送信部55は、Webアプリ内のソフトウエアモジュールである。
The
アプリ認証処理部23は、正しいプラットホームであることを証明するための認証トークンを生成する機能を有する認証トークン生成部61と、アプリケーションが最初に表示するページのURLを管理する機能を有する開始アプリURL管理部62と、認証トークンを生成するための鍵を管理する機能を有する鍵管理部63と、HTTPサーバやWebSocketサーバに対して認証要求を行う機能を有する認証処理部64とを有する。
The application
アプリ認証処理部23とWebアプリ実行部21を分離することにより、Webアプリ実行部21側に秘密の情報を格納することなく、安全にプラットホームの正当性を保証するための認証トークンを生成できるようになる。
By separating the application
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
認証要求部52は、ページ実行部51から情報出力装置3の位置情報を受け取り、アプリ認証処理部23の認証トークン生成部61を呼び出す機能を有する。また、認証トークン生成部61から認証子(認証トークン)を受け取り、ページ実行部51に渡す機能を有する。後述するように、認証子を多重に暗号化する場合にはユーザにパスワードを入力させ、そのパスワードを認証トークン生成部61に渡してもよい。
The
認証トークン送信部55は、ページ実行部51から情報出力装置3の位置情報と認証トークンを受け取り、情報出力装置3の位置情報と認証トークンをアプリ出所付与部27に渡して呼び出す機能を有する。また、認証トークン送信部55はアプリ出所付与部27からコネクション部の識別子(第3コネクション部35の識別子)を受け取って、主記憶13等に保存する機能を有する。
The authentication
操作命令生成部53は、ページ実行部51から機器操作命令の種別を受け取って、特定のフォーマットで機器操作命令を生成し、ページ実行部51に渡す機能を有する。このフォーマットは情報出力装置3と操作命令生成部53の間で予め取り決めておけばフォーマットの詳細形式は問わない。
The operation
操作命令送信部54はページ実行部51から機器操作命令を受け取って、認証トークン送信部55が主記憶13等に保存したコネクション部の識別子を取得し、機器操作命令を送信メッセージ、送信先を第3コネクション部35としてIPコネクション管理部24に渡して呼び出す機能を有する。このとき、当該コネクションが切断されない限り、複数回の機器操作命令を認証トークンを再送することなく送信することができる。
The operation
アプリ出所付与部27は、認証トークン送信部55から認証トークンと情報出力装置3の位置情報を受け取って、認証トークンにアプリの出所の位置情報(URL情報)をページ実行部51から取得して付与する。また、認証トークンにアプリ出所情報を付与したものを送信メッセージ、送信先を情報出力装置3の位置情報としてIPコネクション管理部24に渡して呼び出す機能を有する。アプリ出所付与部27により、情報出力装置3はどのアプリケーションが機器操作命令を発行したかを把握できる。
The application
認証トークン生成部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
アプリ認証処理部23は、認証トークン生成部61から認証要求を認証先から受け取ったメッセージと共に受け取って、鍵管理部63に対して鍵取得命令を出し、受け取った鍵と認証先から受け取ったメッセージから認証トークンを生成する機能を有する。例えばチャレンジ・アンド・レスポンスでは、認証先から受け取ったメッセージ(チャレンジ)と鍵により、HMAC-SHA1、HMAC-MD5などの方式を用いてレスポンスを生成する。このレスポンスを認証トークンとして、認証トークン生成部61に対して渡す機能を有する。このレスポンスを生成する前に、チャレンジを別の鍵でさらに暗号化してからレスポンスを生成してもよい。すなわち、レスポンスを多重に暗号化してもよい。この鍵としてはユーザが入力したパスワードを認証要求部52から受け取って利用する方法等がある。暗号化の方法としては、AES等の共通鍵暗号やXOR演算など、一般に知られた方法を使えばよい。また同様にレスポンスを生成するための鍵を前記ユーザが入力したパスワードで暗号化してからその暗号化した鍵でレスポンスを生成してもよいし、生成したレスポンスをさらに前記ユーザが入力したパスワードで暗号化してもよい。
The application
鍵管理部63は、アプリ認証処理部23からの鍵取得要求に対して鍵を渡す機能を有する。この鍵については、鍵管理部63以外が読み取り不可能、もしくは読み取り困難な場所に格納し、その場所から取得する機能を有する。
The
開始アプリURL管理部62は、アプリケーションの起動時に開始URL情報を二次記憶などから読み込んでページ実行部51に渡してWebアプリの起動を要求する機能を有する。
The start application
IPコネクション管理部24は、WebSocketプロトコルやHTTPなどの通信プロトコルを用いて、サーバとのコネクションの確立とデータの送受信を行う機能を有する。送信先サーバの指定としては、位置識別子(FQDN情報やIPアドレス情報)もしくは既に接続されたコネクション識別子情報を受け取り、位置識別子が指定された場合にはまず位置識別子情報を元に対応するサーバとのコネクションを確立する。その後、位置識別子が指定された場合には接続したコネクションを、既に接続されたコネクション識別子情報を受け取った場合には指定されたコネクションを用いて、呼出し元から指定された送信メッセージを送る機能を有する。また、サーバからの返答を受信し、呼出し元にコネクション情報と共に返す機能を有する。IPコネクション管理部24は、第3コネクション部35を介して認証トークンと機器操作命令を、第2コネクション部34を介して認証要求を送ることができる。また、アプリケーションを取得する第1コネクション部33を管理する機能も有する。このために複数コネクション部を同時に管理でき、呼出し元やコネクション識別子によって利用するコネクション部を分別する機能を有することを特徴とする。
The IP
また、IPコネクション管理部24は、コネクション接続断や接続失敗が発生した場合に、接続断や接続失敗が発生したコネクション部を判別後に、そのコネクション部の確立要求元ブロックを判別してエラーを返す機能を備えていてもよい。加えて、情報操作装置1に後述の機器検索処理部28を備える場合には、IPコネクション管理部24は機器検索用コネクションである第4のコネクションを管理する第4コネクション部36を別途管理する機能も有する。
In addition, when a connection disconnection or connection failure occurs, the IP
機器検索処理部28は、情報出力装置3の検索命令を受け取って機器検索命令を生成し、IPコネクション管理部24とIPコネクション管理部24から呼び出される第4コネクション部36を用いて情報出力装置3を検索し、見つかった情報出力装置3の位置識別子のリストを返す機能を有する。この機器発見のプロトコルとしては、UPnP、NetBIOSなど一般に知られたプロトコルを用いればよい。Webアプリ実行部21が情報出力装置3の位置識別子が予め分かっている場合など、必ずしも機器検索処理部28は必須ではない。機器検索処理部28により、予めネットワーク2内にどの被操作機器が存在するかといった情報を操作機器側に設定する必要がなくなる。機器検索処理部28が存在しない場合には、第4コネクション部36は必須ではない。
The device
アプリ認証処理部23は、機器検索処理部28により取得した情報出力装置3の位置識別子を用いて、当該情報出力装置3との間で第2コネクション部34を介して認証要求および認証トークンの送受を行う。
The application
入力受信部25は、ユーザ入力を受け取り、その入力に応じてページ実行部51に対して入力内容を渡す機能を有する。例えば、ページに含まれるリンクのマウスやキーボードなどの外部入力装置による選択時にはページ実行部51に選択情報を伝え、ページ実行部51は受け取った選択情報に基づいてリンク先のページ取得、実行を行う。
The
HTTP処理部26はサーバ上のデータ取得要求とともに取得データの位置識別子(URL情報)を受け取り、IPコネクション管理部24および第1コネクション部33を介してURL情報に対応するサーバに接続し、データ取得を行う機能を有する。受け取ったデータはデータ取得要求元に渡す機能を有する。
The
図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
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
メッセージ分析部71は、第3コネクション部35を介して受信した命令を、機器操作命令、認証トークンおよび出所情報に分割し、認証トークンは認証トークン検査部73に渡し、出所情報はアプリ出所検査部75に渡す機能を有する。機器操作命令については、アプリ出所検査部75や認証トークン検査部73からの検査結果を受け取り、出所情報および認証トークンが適正と判断された場合にのみ、機器操作命令処理部74に渡す機能を有する。
The
認証用チャレンジ生成部72は、IPコネクション管理部70から第2コネクション部34を介して認証要求が渡された場合に、認証用チャレンジを生成して第2コネクション部34を介して要求元に返す機能を有する。このチャレンジの生成方法はランダムな文字列の生成などで良い。また、認証用チャレンジに対するレスポンスを情報出力装置3に格納される鍵情報(共通鍵)を用いて生成して、検証用認証トークン情報として保存する機能を有する。
The authentication
認証トークン検査部73は、第2コネクション部34を介して渡された認証トークンを検査する機能を有する。認証用チャレンジ生成部72が保存した検証用認証トークン情報の中に渡された認証トークンが存在するかどうかを確認し、存在する場合には認証トークンが適正という結果を返し、存在しない場合には認証トークンが不正という結果を返す。認証トークンが適正な場合には、保存された検証用認証トークン情報を削除する機能を有する。これにより、一回の認証でのみ有効なパスワード(ワンタイムパスワード)を生成できる。
The authentication
機器操作命令処理部74は、情報操作装置1から受信した機器操作命令を処理し、不図示のチューナー部を制御したり、不図示の画面出力部に表示する映像等を切り替える指示を送ったりする機能を有する。
The device operation
アプリ出所検査部75は、第3のコネクションの確立時のヘッダ情報を分析し、コネクション確立要求を行ったアプリケーションの出所を判定し、許可出所リストにその出所が含まれるか否かを判定して、含まれる場合には出所が適正という結果を返し、含まれない場合に不正という結果を返す機能を有する。ここで、許可出所リストとは、認証トークンの発行を行うことが可能なWebアプリの取得先をリストアップしたものであり、Webアプリごとに設けられる。許可出所リストは、例えばWebアプリ配布サーバ5が管理する。
The application
機器検索応答部76は、後述する情報操作装置1からの装置検索要求に応答して、自装置の名前やIPアドレスを返信する処理を行う。装置検索のプロトコルとしてUPnP規格で定められた方式や、NetBIOSによる名前検索方式を用いてもよい。なお、この機器検索応答部76は必須の構成ではない。
In response to a device search request from the
図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
HTTPサーバ処理部43は、情報操作装置1から渡されたURL情報をコンテンツ・メディアファイル取得部44に渡してファイル取得を要求し、受け取ったファイルを情報操作装置1に渡す機能を有する。
The HTTP
コンテンツ・メディアファイル取得部44はHTTPサーバ処理部43から渡されたURL情報をWebアプリ配布サーバ5が備える不図示のストレージ内のファイル位置に変換し、ストレージ部からファイルを読み込んで、HTTPサーバ処理部43に渡す機能を有する。
The content / media
図6は情報操作装置1内のWebアプリ実行部21とアプリ認証処理部23の起動時の処理手順の一例を示すフローチャートである。起動時にはアプリ(装置)毎に設定された最初に表示するページをWebアプリ配布サーバ5から取得して実行する。以下はその詳細である。
FIG. 6 is a flowchart illustrating an example of a processing procedure when the web
アプリ認証処理部23内の開始アプリURL管理部62は、ストレージ等の開始アプリURL管理部62の管理する領域からアプリケーション起動時に最初に表示するページのURL情報をロードし、ページ実行部51に対してURL情報を渡してページ表示を要求する(ステップS1)。
The start application
ページ実行部51はURL情報を受信し、HTTP処理部26に対してURL情報が指すページデータの取得を要求する(ステップS2)。
The
HTTP処理部26は、URLが指すサーバに接続し、URL情報に基づいてページ取得命令を出して、ページのデータ取得後、ページ実行部51にデータを返す(ステップS3)。ページ実行部51は取得したデータを元にWebアプリの実行を開始する(ステップS4)。
The
情報操作装置1毎に管理するURL情報を変えることで、サーバ上から取得するページデータが変わるため、処理内容を変更することができる。例えばチャンネル変更アプリ(装置)と、録画視聴アプリ(装置)を別のアプリケーションとして実現することが可能となる。
By changing the URL information managed for each
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
図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
認証トークン生成部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
ステップ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
IPコネクション管理部24は、第2コネクション部34を通じて情報出力装置3からのチャレンジを受信して(ステップS18)、第2コネクション部34は認証トークン生成部61にチャレンジを返す。この際に第2のコネクションの確立を破棄してもよい。次に認証トークン生成部61はアプリ認証処理部23に対して受信したチャレンジを渡し、レスポンスの依頼を生成する(ステップS19)。
The IP
アプリ認証処理部23は、情報出力装置3からのチャレンジを受けると、レスポンスを生成するための鍵の取得を鍵管理部63に対して要求する。鍵管理部63はアプリ認証処理部23からの要求に従い、ストレージ等から鍵を取得して、アプリ認証処理部23に対して鍵を返す(ステップS20)。その後、アプリ認証処理部23は、取得した鍵とチャレンジからレスポンスを生成して認証トークン生成部61に対して返す(ステップS21)。レスポンスを生成するためのアルゴリズムとしてはHMAC-SHA1、HMAC-MD5など、一般に知られた方法を使えばよい。この際に、チャレンジやレスポンス、チャレンジ生成に用いる鍵をさらにページ実行部51から受け取ったパスワードで暗号化してもよい。
Upon receiving a challenge from the
認証トークン生成部61は、認証トークン送信部55に対して、認証要求部52に対する認証トークンを返す。このとき、認証トークンを送信メッセージとし、情報出力装置3の位置情報を接続先情報として、認証トークン送信部55に認証トークンの送信を依頼する(ステップS22)。
The authentication
認証トークン送信部55は、出所情報付与部に対してコネクション確立要求を認証トークンと共に渡し、出所情報付与部はアプリの出所の位置情報(URL情報)をページ実行部51から取得して送信データに付与し(ステップS23)、送信データと接続先情報をIPコネクション管理部24に渡す。
The authentication
IPコネクション管理部24は、受け取った接続先情報を元に情報出力装置3との第の3コネクション(操作用コネクション)を第3コネクション部35を介して確立させる(ステップS24)。
The IP
その後、IPコネクション管理部24は、第3コネクション部35を介して情報出力装置3へ認証トークンを送信し(ステップS25)、第3コネクション部35の識別子情報を認証トークン送信部55に返す。最後に、認証トークン送信部55は受け取った第3コネクション部35の識別子情報を主記憶13などに保存する(ステップS26)。この際に第3コネクション部35は第3のコネクションを切断しないことにより、第3コネクション部35を用いて何度でも機器操作命令を送信できる。
Thereafter, the IP
第3のコネクションは、WebSocketプロトコルではページ実行部51によるページ移動、すなわち別ページの実行開始時や、Webアプリ自身による明示的なコネクション切断によりコネクションが切断される。その際には図7に示される認証処理が再度行われる。HTTPでは一般に通信の度にコネクションが切断されるため、認証トークンと機器操作命令を同時に送信する。
In the WebSocket protocol, the third connection is disconnected when the page is moved by the
Webアプリの実行中に機器操作命令が現れた場合には、第3コネクション部35を介して機器操作命令を送信する。
When a device operation command appears during execution of the Web application, the device operation command is transmitted via the
図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
操作命令生成部53は第3コネクション部35を介して第3のコネクションで送ることのできる形の機器操作命令を特定のフォーマットで生成し、ページ実行部51に返す(ステップS32)。ページ実行部51は操作命令生成部53から受け取った機器操作命令を操作命令送信部54に対して渡し、機器操作命令の送信を依頼する。操作命令送信部54は、主記憶13等から第3のコネクション確立時に認証トークン送信部55が保存した第3コネクション部35の識別子情報を取得する(ステップS33)。
The operation
識別子情報が取得出来ない場合には(ステップ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
図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
図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
アプリ出所検査部75は不図示の情報出力装置3のストレージ等の格納領域から許可出所リストを取得し、取得した出所情報が許可出所リストに含まれるかどうか判定する(ステップS53)。含まれない場合には、エラーを発生させ(ステップS54)、第3のコネクションを切断する。一方、含まれた場合には、メッセージ分析部71は同じくコネクション確立要求のメッセージに含まれる認証トークン(認証子)情報を取得し(ステップS55)、認証トークン検査部73に渡す。
The application
認証トークン検査部73は認証用チャレンジ生成部72から認証子リスト(レスポンスリスト)を取得し、受信した認証トークン情報がレスポンスリストに含まれるかどうか判定する(ステップS56)。含まれた場合には、正しい認証子が送られてきたと判定し、第3のコネクション確立を完了する(ステップS57)。一方、レスポンスリストに受信した認証トークン情報がない場合には、不正なコネクションが張られたものとしてコネクションを切断する(ステップS54)。
The authentication
図11は第1の実施形態における認証トークンの生成と機器操作命令の送信を含む情報操作装置1と情報出力装置3の処理手順の一例を示すシーケンス図である。
FIG. 11 is a sequence diagram illustrating an example of processing procedures of the
情報操作装置1は初回の認証要求時にまず、情報出力装置3に対して第2コネクション部34により第2のコネクションの確立を要求する(ステップS61)。次に、情報操作装置1は情報出力装置3で生成した認証用チャレンジを受け取り(ステップS62、S63)、レスポンスを生成して認証トークンとする(ステップS64)。
At the time of the first authentication request, the
次に、第3コネクション部35による第3のコネクションの確立要求に先立ち、情報操作装置1は送信メッセージにWebアプリの出所情報の付与を行い(ステップS65)、情報出力装置3に対して第3のコネクションの確立要求と共に出所情報を送信する(ステップS66)。
Next, prior to the request for establishment of the third connection by the
情報出力装置3は、第3のコネクションを介して渡された認証トークンの検証を行い(ステップS67)、正しい場合には処理を続行する。また、情報操作装置1は情報出力装置3への機器操作命令送信を第3コネクション部35を介して行う(ステップS68)。ページ遷移などによって第3のコネクションが切断された場合には、情報操作装置1は第2コネクション部34を介して再度認証要求を行う(ステップS69)。その後に、情報操作装置1は第3のコネクションを切断する(ステップS70)。
The
第2のコネクションが切断されていなければ、再度第2コネクション部34により第2のコネクションの確立要求を行う必要はない。認証要求を行った(ステップS71)後は、ステップS62以降の処理を繰り返す。
If the second connection is not disconnected, the
このように、本実施形態によれば、プラットホームの正当性を保証する認証トークンを機器操作命令の送信用セッションの通信に付与することができる。すなわち、従来は出所情報が信頼できないため困難だった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
例えば、被操作機器の録画コンテンツの削除機能について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
本実施形態は、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
認証トークン生成用の共通鍵を取得できないと、情報出力装置3との認証が通らないため、情報出力装置3は正しいプラットホームからの機器操作命令かどうかを正しく判別できる。
If the common key for generating the authentication token cannot be acquired, authentication with the
また、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
さらに、アプリ認証処理部23とWebアプリ実行部21側ではモジュールが分離されることや、実装に使用する言語などが異なる可能性があり、同じコネクションを共有できないことも多いと考えられる。このため、本実施形態では、Webアプリ実行部21が利用する操作用のコネクション(第3のコネクション)を管理する第3コネクション部35とアプリ認証処理部23が利用する認証用のコネクション(第2のコネクション)を管理する第2コネクション部34を分離していることも大きな特徴である。
Furthermore, the application
コネクションを分離した場合、同一の情報操作装置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
関連する技術としてモバイルエージェント向けのセキュリティに関する研究や特許、例えばモバイルエージェントが移動する先のプラットホームでモバイルエージェントの正しさの検証を行う研究や特許が存在する。特許文献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
このように、第1の実施形態では、情報操作装置1が実行したWebアプリに従って、情報出力装置3に対して第2コネクション部34により第2のコネクションの確立と認証要求を行い、これを受けて情報出力装置3は、認証要求子(チャレンジ)を生成して、情報操作装置1に送信する。
As described above, in the first embodiment, according to the Web application executed by the
この認証要求子を受信した情報操作装置1は、鍵管理部63で管理する共通鍵を用いて認証要求子を暗号化し、認証トークンを生成する。この認証トークンは、認証要求子を送信した情報出力装置3に送信され、認証トークンを受信した情報出力装置3は、自身が所持する共通鍵で認証要求子を暗号化して、受信したものと一致するかどうかにより認証トークンが正規の情報操作装置1から送信されたものかどうかを検証できる。
The
また、情報操作装置1は、認証トークンを情報出力装置3に送信する前に、認証トークンと機器操作命令を送信するための第3のコネクションの確立要求を情報出力装置3に送信する。その際、第3のコネクションの確立要求のヘッダ情報として、Webアプリの出所情報を含める。第3のコネクションの確立要求を受信した情報出力装置3は、この確立要求に含まれるWebアプリの出所が、自身が有する許可出所リストに登録されているか否かを検証し、登録されている場合のみ、第3のコネクションの確立処理を行う。これにより、意図しないWebアプリから送信された機器操作命令で、情報出力装置3が勝手に操作されてしまうことを防止できる。
Further, the
さらに、情報操作装置1は、Webアプリ配布サーバ5からWebアプリを取得するための第1のコネクションを管理する第1コネクション部33と、認証子および認証要求子の送受を行うための第2のコネクションを管理する第2コネクション部34と、認証トークンおよび機器操作命令を送信するための第3のコネクションを管理する第3コネクション部35とを別個に設けて、これらコネクション部の管理をIPコネクション管理部24で行うため、各コネクションで送受される各種情報を統一的に管理できる。
Furthermore, the
また、認証トークンの生成等に用いる共通鍵をPFアプリ実行部22内のアプリ認証処理部23に保持し、HTMLやJavaScript等の汎用言語で記述されるWebアプリを実行するWebアプリ実行部21内では共通鍵を管理しないようにしたため、共通鍵を安全に管理することができる。
In addition, a common key used for generating an authentication token is held in the application
(第2の実施形態)
第1の実施形態では、アプリ認証処理部23はページ実行部51で実行しているWebアプリの出所について検査を行っていなかった。このため、例えば悪意あるWebアプリが動作し、認証要求を行った場合にも認証トークンを渡してしまうという欠点が存在した。このため、悪意あるWebアプリが認証トークンを外部に渡すような場合、第3コネクション部35で送受信される情報を模倣する悪意あるプラットホームと連携して情報出力装置3の不正な操作が可能になってしまう。このため、第2の実施形態では、Webアプリの出所チェックを行うことで、例えば信頼できるWebアプリ配布サーバ5から取得したWebアプリにのみ認証トークンを渡すようにでき、認証トークンの不正利用を防ぐことが可能となる。
(Second Embodiment)
In the first embodiment, the application
図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
アプリ出所検査部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
また、許可出所リストが改ざんされると想定していない情報出力装置3に対して認証トークンを渡してしまう危険性がある。このため、第2の実施形態における情報操作装置1には許可出所リストの改ざん検証を行う許可出所リスト検査部66を備えても良い。アプリ出所リストをリードオンリーメモリなど改ざんが困難な格納領域に保存できる場合には、許可出所リスト検査部66は必須の構成ではない。許可出所リスト検査部66は、許可出所リストに付与された署名を許可出所リスト検査部66が持つ公開鍵を用いて検証して改ざんの検証を行い、改ざんが検出された場合にはエラーを返す機能を有する。署名検証の方法としては、RSA署名、DSA署名など一般に知られた方式を使えばよい。
In addition, there is a risk of passing an authentication token to the
図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
図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
次に、アプリ出所検査部65はストレージ等の記憶装置から許可出所リストを取得する(ステップS82)。また、情報操作装置1が許可出所検査部を備える場合には、アプリ出所検査部65は許可出所リスト検査部66に対して許可出所リストを渡し、許可出所リストの改ざん検証を依頼する。許可出所リスト検査部66は自身が管理する許可出所リスト検査部66に付与された署名を検証するための公開鍵を取得する(ステップS83)。許可リスト検査部はこの公開鍵を用いて許可出所リストの署名を検証する(ステップS84)。検証の結果、改ざんが検出されなければ、アプリの出所が許可出所リストに含まれるか否かを判定する(ステップS85、S86)。
Next, the application
ステップ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
このように、第2の実施形態では、情報出力装置3に認証要求を行う際に、認証要求を行ったWebアプリの出所が許可出所リストに登録されているか否かを情報操作装置1の内部で検証するようにしたため、意図しないWebアプリからの認証要求を情報出力装置3に送信するおそれがなくなる。
As described above, in the second embodiment, when making an authentication request to the
(第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
図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
許可出所リスト取得部67は、HTTP処理部26を利用してIPコネクション管理部24とIPコネクション管理部24から呼び出される第1コネクション部33を介してWebアプリ配布サーバ5から許可出所リストを取得し、更新されていた場合には、許可出所リスト検査部66に取得した許可出所リストを渡して検証依頼を出す機能を有する。例えば更新されているかどうかの判定は、情報操作装置1内に保存されている許可出所リストとの比較や、リストファイルの最終更新日時との比較を行えばよい。さらに許可出所リスト検査部66の検証結果を取得し、改ざんが検出されなかった場合に情報操作装置1のストレージ内部に保存されている許可出所リストをWebアプリ配布サーバ5から取得した許可出所リストに置き換える機能を有する。
The permitted origin
図16は第3の実施形態におけるWebアプリ配布サーバ5の内部構造を示すブロック図である。図5のWebアプリ配布サーバ5に許可リスト取得部45を追加した点で異なる。
FIG. 16 is a block diagram showing the internal structure of the Web
許可リスト取得部45は情報操作装置1もしくは情報出力装置3からの要求に従い、不図示のストレージから最新の許可出所リストを取得し、HTTPサーバ処理部43を介して要求元に返す機能を有する。Webアプリ配布サーバ5が管理する許可出所リストを更新することにより、情報操作装置1や情報出力装置3は許可出所リストを最新の情報に保つことができる。
The permission
図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
このように、第3の実施形態では、Webアプリ配布サーバ5で許可出所リストの更新を行うことから、情報操作装置1から定期的にWebアプリ配布サーバ5にアクセスして、許可出所リストの最新版を取得することで、情報操作装置1が保持する許可出所リストを常に最新のものに維持できる。
As described above, in the third embodiment, since the web
(第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
図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
利用許可証管理部56はIPコネクション管理部24とIPコネクション管理部24から呼び出される第1コネクション部33を介して信頼できるサーバからWebアプリ毎にWebアプリ配布サーバ5から利用許可証を取得し、利用許可証分析部68に渡す機能を有する。この際にはアプリケーションの識別情報を渡す。利用許可証には、機器操作の許可情報と共に、許可出所リスト情報、署名情報が含まれる。この署名は公開鍵暗号で署名される。公開鍵暗号方式としてはRSA暗号など、一般に知られた方法を用いればよい。
The usage
利用許可証分析部68は利用許可証管理部56から取得した利用許可証を分析し、許可出所リストを取り出す機能を有する。
The
図19は第4の実施形態におけるWebアプリ配布サーバ5の内部構造を示すブロック図である。図5のWebアプリ配布サーバ5に利用許可証生成部46を追加した点で異なる。
FIG. 19 is a block diagram showing the internal structure of the Web
利用許可証生成部46は情報操作装置1からの利用許可証の取得要求に従って、Webアプリ毎の利用許可証を生成して返す機能を有する。利用許可証生成部46はWebアプリの識別情報を受け取り、Webアプリに対応する許可出所リスト情報や機器操作の許可情報を不図示のストレージから取得して、署名してHTTPサーバ処理部43を介して要求元に返す機能を有する。利用許可証生成部46は利用許可証を取得要求時に動的に生成するのではなく、あらかじめ利用許可証を生成して非図示のストレージに格納しておき、利用許可証の取得要求時にストレージから利用許可証を読み取って返す機能を有しても良い。
The usage
図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
Webアプリ配布サーバ5から取得した利用許可証は、機器操作命令とともに、情報出力装置3に送られる。利用許可証と機器操作命令を受けた情報出力装置3は、利用許可証の内容に基づいて、機器操作命令を受け付けるかどうかを判断する。
The usage permit acquired from the Web
このように、第4の実施形態では、情報操作装置1がWebアプリ配布サーバ5から利用許可証を取得し、この利用許可証に含まれる許可出所リストに基づいて、認証要求を行ったWebアプリの出所を検証するため、意図しないWebアプリからの認証要求を情報出力装置3に送信するおそれがなくなる。また、情報操作装置1は、利用許可証によって、Webアプリが正規のWebアプリ配布サーバ5から送信されたものであることを検証できる。
As described above, in the fourth embodiment, the
(第5の実施形態)
第1の実施形態ではアプリ認証処理部23の呼出し元の検証を行っていなかった。アプリ認証処理部23の実装形態によっては、アプリ認証処理部23のみを取り出し、アプリ出所情報を偽った不正な情報操作装置1に流用できてしまう。これに対して第5の実施形態では、アプリ認証処理部23の呼出し元の検証を行い、想定する呼出し元情報と一致するか判定することにより、不正な流用を防ぐことができる。
(Fifth embodiment)
In the first embodiment, the caller of the application
図21は第5の実施形態における情報操作装置1の内部構成を示すブロック図である。図21は図3のアプリ認証処理部23に呼出し元検出部81とプラットホーム検証部82を追加したものである。
FIG. 21 is a block diagram showing an internal configuration of the
呼出し元検出部81は認証要求時にアプリ認証処理部23がWebアプリの中のどこから呼び出されたかを判別し、識別子を得る機能を有する。Webアプリは、多数のソフトウエアモジュール(以下、単にモジュールと呼ぶ)の集合体であり、呼出し元検出部81は、呼出し元モジュール識別子をプラットホーム検証部82に渡して呼出し、呼出し元が正しいものであるかどうかの判定を依頼する機能を有する。
The
プラットホーム検証部82は呼出し元が想定したモジュールか否かを判定する機能を有する。呼出し元検出部81から呼出し元モジュールの識別子を受け取り、プラットホーム検証部82は自身が管理する想定する呼出し元情報および実際の呼出し元モジュールの情報を取得して、一致するかどうかの検証を行う。この際の検証方法としては、呼出し元モジュールのハッシュ値を計算して想定するものと一致するかどうかを判定する方法や、モジュールの呼出しの流れ(呼出し元アドレス)を参照し、想定するものと一致するかどうかを判定する方法、呼出し元モジュールのファイル名と一致するかどうかを判定する方法などがある。
The
本実施形態では、呼出し側、すなわち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
図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
このように、第5の実施形態では、認証トークンを生成するアプリ認証処理部23を偽った不正な情報操作装置1を防止するために、アプリ認証処理部23がどこから呼び出されたかを検証するプラットホーム検証部82を設けている。これにより、Webアプリの中のどこからアプリ認証処理部23が呼び出されたかを特定でき、アプリ認証処理部23を偽るような不正を防止できる。
As described above, in the fifth embodiment, a platform for verifying where the application
(第6の実施形態)
第5の実施形態ではWebアプリ実行部21に秘密を持たせないことを前提としていたが、Webアプリ実行部21が秘密情報を持たせることができる場合には、認証によるアプリ認証処理部23の不正利用防止が実現できる。
(Sixth embodiment)
In the fifth embodiment, it is assumed that the web
図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 /
プラットホーム検証認証部57は鍵情報を有し、その鍵を用いてプラットホーム検証部82と認証を行う機能を有する。この認証方法としては例えばチャレンジ・アンド・レスポンスなど、一般によく知られた方法を使えばよい。認証に用いる鍵情報が盗み取られない限り、プラットホーム検証認証部57を模倣する操作機器を作ることは困難である。一般に第5の実施形態で述べた完全性検証よりも認証の方が実装コストが低いという特徴があり、Webアプリ実行部21に秘密を持たせることが出来る、すなわちWebアプリ実行部21に鍵情報を第三者から読み取り困難に格納できる場合には第6の実施形態を利用する利点がある。
The platform
図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
このように、第6の実施形態では、Webアプリ実行部21に秘密情報を持たせることができる場合には、Webアプリ実行部21内にプラットホーム検証認証部57を設けることで、認証要求を行ったWebアプリの中のどこからアプリ認証処理部23が呼び出されたかを特定でき、アプリ実行部21を偽るような不正を防止できる。
As described above, in the sixth embodiment, when the web
(第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
図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
本実施形態においては、鍵管理部63は図26に示すように複数の鍵を管理し、鍵番号で区別する。鍵データとして、例えば鍵番号、鍵有効性および鍵情報の情報を持つ。
In the present embodiment, the
リボーク検出部83は鍵の無効(リボーク)を検出する機能を有する。この方法として例えば、情報出力装置3と連携して認証要求時に情報出力装置3は第2コネクション部34を介してチャレンジとともに、認証に用いる鍵番号を送信し、リボーク検出部83が与えられた鍵番号未満の鍵を無効と判断する方法や、Webアプリ配布サーバ5に無効化された鍵の番号を問い合わせる機能を有する。
The
鍵無効化部84はリボーク検出部83からリボークされた鍵番号情報を受け取り、実際に鍵を無効にする機能を有する。例えば、図26は、鍵管理部63が管理する鍵番号、鍵有効性および鍵情報の対応関係を登録したテーブルを示している。図26の鍵情報では初期状態として鍵番号0が無効、1,2…Nが有効であるが、リボーク検出部83から3未満の鍵情報が無効という情報が与えられた場合には、鍵番号1、2の鍵有効性情報について無効という情報を書き込む。
The
鍵更新部85はIPコネクション管理部24とIPコネクション管理部24から呼び出される第1コネクション部33を介してWebアプリ配布サーバ5から最新の鍵情報をダウンロードして、署名検証を行い、改ざんが検出されなかった場合には、操作機器に保存される鍵情報を上書きする機能を有する。鍵更新部85は必須の構成ではない。
The
図27は第7の実施形態におけるWebアプリ配布サーバ5の内部構造を示すブロック図である。図27のWebアプリ配布サーバ5は、図5と比較して、鍵情報提供部47を追加した点で異なる。
FIG. 27 is a block diagram showing the internal structure of the Web
鍵情報提供部47は、情報操作装置1もしくは情報出力装置3からの鍵情報の取得要求に従って、最新の鍵情報を不図示のWebアプリ配布サーバ5が備えるストレージから取得し、HTTPサーバ処理部43を介して要求元に送信する機能を有する。
The key
図28は第7の実施形態における情報出力装置3の内部構造を示すブロック図である。図4の情報出力装置3に鍵更新部77を備える点が異なる。
FIG. 28 is a block diagram showing the internal structure of the
鍵更新部77はIPコネクション管理部70とIPコネクション管理部70から呼び出される第1コネクション部78を介してWebアプリ配布サーバ5に対して最新の鍵情報の取得要求を送信する機能を有する。鍵更新部77は鍵情報を受け取ると、情報出力装置3の不図示のストレージに格納される鍵情報を受け取った鍵情報で上書きする。鍵更新部77は情報出力装置3の起動時もしくは定期的に実行され、鍵情報を最新に保つことができる。
The
図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
図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
このように、第7の実施形態では、Webアプリ配布サーバ5から取得した鍵データを情報操作装置1が所持する署名検証用公開鍵を利用して検証し、検証に成功したら、認証トークン生成用の鍵を更新するようにしたため、安全に鍵の更新作業を行うことができる。
As described above, in the seventh embodiment, the key data acquired from the Web
ここで、上述した実施形態に係る発明の利用場面について、説明する。 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
また、情報操作装置1および情報出力装置3の少なくとも一部の機能を実現するプログラムを、インターネット等の通信回線(無線通信も含む)を介して頒布してもよい。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布してもよい。
Further, a program for realizing at least a part of the functions of the
本発明の態様は、上述した個々の実施形態に限定されるものではなく、当業者が想到しうる種々の変形も含むものであり、本発明の効果も上述した内容に限定されない。すなわち、特許請求の範囲に規定された内容およびその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲で種々の追加、変更および部分的削除が可能である。 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
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通信機器から送信された前記第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.
前記アプリ実行部は、前記アプリケーションが正規の取得先から送信されたものであることを証明する利用許可証を前記第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.
前記アプリ認証処理部は、前記プラットホーム検証部により一致すると検証された場合のみ、前記プラットホーム認証子を生成することを特徴とする請求項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通信機器から無効である旨の情報を受信した場合には、前記鍵の無効化処理を行う鍵無効化部と、を備えることを特徴とする請求項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.
前記情報操作装置からの機器操作命令およびプラットホーム認証子を受信するための接続確立処理を行う第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通信機器に、前記機器操作命令と前記出所情報が付与されたプラットホーム認証子を送信するステップと、をコンピュータに実行させるコンピュータ読み込み可能な情報操作プログラム。 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.
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)
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)
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 |
-
2014
- 2014-08-07 JP JP2014161626A patent/JP5834118B2/en not_active Expired - Fee Related
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 |