JP6100795B2 - 機器を遠隔操作するシステムにおいて用いられる方法 - Google Patents

機器を遠隔操作するシステムにおいて用いられる方法 Download PDF

Info

Publication number
JP6100795B2
JP6100795B2 JP2014546864A JP2014546864A JP6100795B2 JP 6100795 B2 JP6100795 B2 JP 6100795B2 JP 2014546864 A JP2014546864 A JP 2014546864A JP 2014546864 A JP2014546864 A JP 2014546864A JP 6100795 B2 JP6100795 B2 JP 6100795B2
Authority
JP
Japan
Prior art keywords
identifier
unit
control program
operation terminal
remote operation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014546864A
Other languages
English (en)
Other versions
JPWO2014076927A1 (ja
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.)
Panasonic Intellectual Property Corp of America
Original Assignee
Panasonic Intellectual Property Corp of America
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 Panasonic Intellectual Property Corp of America filed Critical Panasonic Intellectual Property Corp of America
Publication of JPWO2014076927A1 publication Critical patent/JPWO2014076927A1/ja
Application granted granted Critical
Publication of JP6100795B2 publication Critical patent/JP6100795B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C17/00Arrangements for transmitting signals characterised by the use of a wireless electrical link
    • G08C17/02Arrangements for transmitting signals characterised by the use of a wireless electrical link using a radio link
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/109Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by using specially-adapted hardware at the client
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • H04L12/2818Controlling appliance services of a home automation network by calling their functionalities from a device located outside both the home and the home network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C2201/00Transmission systems of control signals via wireless link
    • G08C2201/60Security, fault tolerance
    • G08C2201/61Password, biometric
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C2201/00Transmission systems of control signals via wireless link
    • G08C2201/90Additional features
    • G08C2201/93Remote control using other portable devices, e.g. mobile phone, PDA, laptop

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Power Engineering (AREA)
  • Computing Systems (AREA)
  • Telephonic Communication Services (AREA)

Description

本発明は、機器を遠隔操作するシステムにおいて用いられる技術に関する。
近年、スマートフォンやタブレットなどのモバイル端末に対して、ネットワークなどを介して、様々なコンピュータプログラムが提供されている。これらのコンピュータプログラムを実行することにより、モバイル端末は、利用者に対して様々な機能やサービスを提供することができる。
特許文献1には、ディスプレィ装置を遠隔操作するモバイル端末が開示されている。モバイル端末は、ディスプレィ装置に対する制御を受け付けるための制御画面を表示する。利用者は、モバイル端末に表示される制御画面を用いて、命令を入力する。入力された命令は、ディスプレィ装置に伝送され、ディスプレィ装置は、命令に従って、動作する。
宅外からモバイル端末等を用いて、宅内に設置された機器を遠隔制御する場合、モバイル端末等は、例えば、利用者の本人確認のため、利用者の識別子やパスワードの入力を要求する。
特開2013−45467号公報
しかし、例えば、利用者の識別子やパスワードが第三者に知られた場合には、第三者が利用者本人に成りすまして、利用者の宅内に設置された機器を遠隔制御することが可能となるという問題がある。
このような問題を解決するため、本発明は、不正な第三者により利用者の機器が遠隔操作されることを防ぐことができる方法、サーバ装置及びシステムを提供することを目的とする。
上記目的を達成するため、本発明の一態様は、操作端末に記憶されている制御プログラム内の遠隔操作命令の実行により、機器を遠隔操作する遠隔操作システムにおいて用いられる方法であって、第1時点において、前記機器に対する遠隔操作元の操作端末に近接する可搬媒体に固有の第1識別子を取得する第1取得ステップと、取得した前記第1識別子を前記操作端末に記憶されている前記制御プログラムに埋め込む埋込ステップと、前記第1時点の後の第2時点において、前記機器に対する遠隔操作元の操作端末に近接する可搬媒体に固有の第2識別子を取得する第2取得ステップと、前記制御プログラムに埋め込まれた前記第1識別子と、前記第2取得ステップにより取得された前記第2識別子とが一致するか否かを判断する判断ステップと、前記第1識別子と前記第2識別子とが一致しない場合、前記機器に対する遠隔操作を禁止する禁止ステップとを含むことを特徴とする。
この態様によると、不正な第三者により利用者の機器が遠隔操作されることを防ぐことができる。
本発明の実施の形態2としての遠隔操作システム10のシステム構成図である。 配信サーバ装置100の構成を示すブロック図である。 確認サーバ装置200の構成を示すブロック図である。 制御プログラム231のデータ構造の一例を示す。 付随データ251のデータ構造の一例を示す。 アカウント管理テーブル261のデータ構造の一例を示す。 条件テーブル271のデータ構造の一例を示す。 制御ルール管理テーブル281のデータ構造の一例を示す。 端末装置300の構成を示すブロック図である。 インストールされた制御プログラム331のデータ構造の一例を示す。 端末装置300において動作する制御プログラム331の機能構成図を示す。 端末装置300において表示される機器操作画面351を示す。 端末装置300において表示される制御ルール変更画面361を示す。 メモリカード400の構成を示すブロック図である。 確認サーバ装置200の相互認証部203及びメモリカード400の相互認証部403の構成を示すブロック図である。 機器500の構成を示すブロック図である。 遠隔操作システム10における制御プログラムの制作及び配信処理の手順を示すシーケンス図である。 遠隔操作システム10における制御プログラムの起動の手順を示すシーケンス図(その1)である。図19へ続く。 遠隔操作システム10における制御プログラムの起動の手順を示すシーケンス図(その2)である。図20へ続く。 遠隔操作システム10における制御プログラムの起動の手順を示すシーケンス図(その3)である。 遠隔操作システム10における各機器に対する遠隔処理及び関連する処理の手順を示すフローチャートである。 遠隔操作システム10における機器情報取得処理の手順を示すシーケンス図である。 遠隔操作システム10における遠隔操作関連処理の手順を示すシーケンス図である。 遠隔操作システム10における機器制御ルール修正処理の手順を示すシーケンス図である。 遠隔操作システム10の確認サーバ装置200とメモリカード400との間における相互認証及び鍵共有の手順を示すシーケンス図(その1)である。図26へ続く。 遠隔操作システム10の確認サーバ装置200とメモリカード400との間における相互認証及び鍵共有の手順を示すシーケンス図(その2)である。 本発明の一態様である遠隔操作システム10aのシステム構成を示す。 本発明の一態様である遠隔操作システム10bにおける動作手順を示すシーケンス図である。 遠隔操作システム10bにおいて、制御プログラム605に対する複数の識別子片の埋め込み及び複数の識別子片の結合を示す図である。この図においては、複数の識別子片が、制御プログラム605の全体に分散して埋め込まれる。 遠隔操作システム10bにおいて、制御プログラム605に対する複数の識別子片の埋め込み及び複数の識別子片の結合を示す図である。この図においては、複数の識別子片が、制御プログラム605の一部分に分散して埋め込まれる。 遠隔操作システム10bにおいて、制御プログラム651内のダミー命令654に第1識別子の埋め込みを示す図である。 遠隔操作システム10bにおいて、埋込プログラム666の実行により、制御プログラム662に対する第1識別子の埋め込みを示す図である。 本発明の一態様である遠隔操作システム10cにおける動作手順を示すシーケンス図である。 本発明の一態様である遠隔操作システム10dにおける動作手順を示すシーケンス図である。 本発明の実施の形態1としての遠隔操作システム10eにおける動作手順を示すフローチャートである。
本発明の一態様は、操作端末に記憶されている制御プログラム内の遠隔操作命令の実行により、機器を遠隔操作する遠隔操作システムにおいて用いられる方法であって、第1時点において、前記機器に対する遠隔操作元の操作端末に近接する可搬媒体に固有の第1識別子を取得する第1取得ステップと、取得した前記第1識別子を前記操作端末に記憶されている前記制御プログラムに埋め込む埋込ステップと、前記第1時点の後の第2時点において、前記機器に対する遠隔操作元の操作端末に近接する可搬媒体に固有の第2識別子を取得する第2取得ステップと、前記制御プログラムに埋め込まれた前記第1識別子と、前記第2取得ステップにより取得された前記第2識別子とが一致するか否かを判断する判断ステップと、前記第1識別子と前記第2識別子とが一致しない場合、前記機器に対する遠隔操作を禁止する禁止ステップとを含むことを特徴とする。
この態様によると、不正な第三者により利用者の機器が遠隔操作されることを防ぐことができる。
ここで、前記操作端末は、サーバ装置を介して、前記機器を遠隔操作してもよい。前記サーバ装置は、前記第1識別子が埋め込まれる前の前記制御プログラムを記憶している。前記判断ステップは、前記操作端末において、前記第1識別子が埋め込まれた前記制御プログラムに一方向性演算を施して、第1演算値を生成し、生成した前記第1演算値と取得した前記第2識別子とに、演算を施して第2演算値を生成する第1ステップと、前記サーバ装置において、記憶している前記制御プログラムに第1識別子を埋め込み、第1識別子が埋め込まれた前記制御プログラムに前記一方向性演算と同一の一方向性演算を施して、第3演算値を生成し、生成した前記第3演算値と取得した前記第1識別子とに、前記演算と同一の演算を施して第4演算値を生成する第2ステップと、前記サーバ装置において、前記第2演算値と前記第4演算値とが一致するか否かを判断することにより、前記第1識別子と前記第2識別子とが一致するか否かを判断する第3ステップとを含むとしてもよい。
この構成によると、第1識別子と第2識別子とを直接比較することなく、一致の判断をすることができる。
ここで、前記方法において、さらに、前記第1取得ステップ、前記埋込ステップ、前記第2取得ステップ、前記判断ステップ及び前記禁止ステップによる前記第1識別子の取得、前記制御プログラムの埋込み、前記第2識別子の取得、前記判断及び前記禁止を繰り返し、前記埋込ステップにおいて、前記第1取得ステップにより前記第1識別子が取得される都度、当該第1識別子を埋め込むとしてもよい。
この構成によると、第1識別子の埋め込みを繰り返すので、不正な遠隔操作に対する防御性を高めることができる。
ここで、前記第1時点は、前記操作端末において、前記機器に対する遠隔操作を受け付けた時であり、前記第1取得ステップにおいて、前記遠隔操作を受け付ける都度、前記第1識別子を取得してもよい。
ここで、前記埋込ステップにおいて、乱数を生成し、生成した乱数と取得した第1識別子とに可逆の変換を施し、得られた変換値を前記制御プログラムに埋め込み、前記判断ステップにおいて、前記乱数と前記制御プログラムに埋め込まれた変換値とに、前記変換の逆変換を施して、前記第1識別子を復元してもよい。
この構成によると、乱数と第1識別子から生成された変換値を埋め込むので、不正な遠隔操作に対する防御性を高めることができる。
ここで、前記方法において、さらに、前記第1取得ステップ、前記埋込ステップ、前記第2取得ステップ、前記判断ステップ及び前記禁止ステップによる前記第1識別子の取得、前記制御プログラムの埋込み、前記第2識別子の取得、前記判断及び前記禁止を繰り返し、前記埋込ステップにおいて、前記第1取得ステップにより前記第1識別子が取得される都度、異なる乱数を生成し、生成した乱数と取得した前記第1識別子とに前記変換を施し、得られた前記変換値を前記制御プログラムに埋め込むとしてもよい。
ここで、前記判断ステップにおいて、前記第1識別子が埋め込まれた前記制御プログラムを取得し、取得した前記制御プログラムから前記第1識別子を抽出してもよい。
この構成によると、前記制御プログラムが別の制御プログラムに改ざんされた場合に、第1識別子を抽出できる可能性が低くなり、不正な遠隔操作に対する防御性を高めることができる。
ここで、前記埋込ステップにおいて、前記第1識別子を分割して複数の識別子片を生成し、生成した複数の識別子片を、前記制御プログラムの全体又はその一部に分散して埋め込み、前記判断ステップにおいて、前記制御プログラムの全体又はその一部から、前記複数の識別子片を抽出し、抽出して得られた前記複数の識別子片を結合して前記第1識別子を復元してもよい。
この構成によると、前記制御プログラムが別の制御プログラムに改ざんされた場合に、第1識別子を抽出できる可能性が低くなり、制御プログラムの不正な改ざんに対する防御性を高めることができる。
ここで、前記制御プログラムは、命令が記録されている命令領域と、データが記録されているデータ領域を含み、前記埋込ステップにおいて、前記第1識別子を、前記制御プログラム中の前記データ領域に埋め込むとしてもよい。
この構成によると、第1識別子をデータ領域に埋め込むので、制御プログラム中の命令に影響を与えない。
ここで、前記制御プログラムは、命令が記録されている命令領域と、データが記録されているデータ領域を含み、前記命令領域は、実行されないダミー命令を含み、前記埋込ステップにおいて、前記第1識別子を、前記制御プログラム中の前記ダミー命令に埋め込むとしてもよい。
この構成によると、第1識別子をダミー命令に埋め込むので、制御プログラム中の命令に影響を与えない。
ここで、前記埋込ステップにおいて、前記制御プログラムに対する前記第1識別子の埋込みを制御する埋込プログラムを取得し、前記操作端末において取得した前記埋込プログラムが実行されることにより、前記第1識別子が前記制御プログラムに埋め込まれるとしてもよい。
この構成によると、埋込プログラムにより、第1識別子の埋込みを制御することができる。
ここで、前記埋込プログラムは、前記制御プログラムにおける前記第1識別子の埋込み位置を記憶しており、前記埋込ステップにおいて、前記操作端末において前記埋込プログラムが実行されることにより、前記第1識別子が前記制御プログラム内の前記埋込み位置に埋め込まれるとしてもよい。
この構成によると、埋込プログラムにより、第1識別子を埋め込む位置を制御することができる。
ここで、前記第1時点は、前記制御プログラムが前記操作端末にインストールされる時、前記操作端末における前記制御プログラムの最初の起動時、又は、前記操作端末における前記制御プログラムの起動時であり、前記第2時点は、前記操作端末において、前記機器に対する遠隔操作を受け付けた時であるとしてもよい。
ここで、前記第1時点は、前記操作端末において、前記機器に対する第1遠隔操作を受け付けた時であり、前記第2時点は、前記操作端末において、前記機器に対する第2遠隔操作を受け付けた時であるとしてもよい。
ここで、前記操作端末は、サーバ装置を介して、前記機器を遠隔操作してもよい。前記方法は、さらに、前記操作端末において、前記機器に対する複数の遠隔操作のうち、利用者により選択可能な遠隔操作を表示する表示ステップと、前記操作端末において、利用者から、表示された遠隔操作のうち一の遠隔操作を受け付ける受付ステップと、前記操作端末において、受け付けた遠隔操作を、前記サーバ装置を介して、前記機器に対して送信する送信ステップとを含むとしてもよい。
ここで、前記操作端末は、サーバ装置を介して、前記機器を遠隔操作してもよい。前記方法は、さらに、前記操作端末において、前記機器に対する遠隔操作に対応付けて、前記遠隔操作を受け付けるための第1条件と、前記第1条件に代えて前記遠隔操作を受け付けるための変更候補としての第2条件とを表示する表示ステップと、前記操作端末において、利用者から、前記第2条件の指定を受け付ける受付ステップと、指定を受け付けた前記第2条件を、前記操作端末から前記サーバ装置に対して送信する送信ステップと、前記サーバ装置において、前記機器に対する前記遠隔操作に対応付けて、前記第1条件に代えて、前記第2条件を記憶する記憶ステップとを含むとしてもよい。
本発明の別の一態様は、記憶されている制御プログラム内の遠隔操作命令の実行により機器を遠隔操作する操作端末と、前記機器との間において、遠隔操作を中継するサーバ装置であって、第1時点において、前記機器に対する遠隔操作元の操作端末に近接する可搬媒体に固有の第1識別子を取得する第1取得手段と、取得した前記第1識別子を前記操作端末に記憶されている前記制御プログラムに埋め込ませるために、前記第1識別子を前記操作端末に送信する送信手段と、前記第1時点の後の第2時点において、前記機器に対する遠隔操作元の操作端末に近接する可搬媒体に固有の第2識別子を取得する第2取得手段と、前記制御プログラムに埋め込まれた前記第1識別子と、前記第2取得手段により取得された前記第2識別子とが一致するか否かを判断する判断手段と、前記第1識別子と前記第2識別子とが一致しない場合、前記機器に対する遠隔操作を禁止する禁止手段とを備えることを特徴とする。
この態様によると、不正な第三者により利用者の機器が遠隔操作されることを防ぐことができる。
本発明の別の一態様は、記憶されている制御プログラム内の遠隔操作命令の実行により機器を遠隔操作する操作端末と、前記機器との間において、遠隔操作を中継するサーバ装置において用いられるコンピュータプログラムを記録しているコンピュータ読取可能な記録媒体であって、第1時点において、前記機器に対する遠隔操作元の操作端末に近接する可搬媒体に固有の第1識別子を取得する第1取得ステップと、取得した前記第1識別子を前記操作端末に記憶されている前記制御プログラムに埋め込ませるために、前記第1識別子を前記操作端末に送信する送信ステップと、前記第1時点の後の第2時点において、前記機器に対する遠隔操作元の操作端末に近接する可搬媒体に固有の第2識別子を取得する第2取得ステップと、前記制御プログラムに埋め込まれた前記第1識別子と、前記第2取得ステップにより取得された前記第2識別子とが一致するか否かを判断する判断ステップと、前記第1識別子と前記第2識別子とが一致しない場合、前記機器に対する遠隔操作を禁止する禁止ステップとを実行するためのコンピュータプログラムを記録していることを特徴とする。
この態様によると、不正な第三者により利用者の機器が遠隔操作されることを防ぐことができる。
本発明の別の一態様は、記憶されている制御プログラム内の遠隔操作命令の実行により機器を遠隔操作する操作端末と、前記機器との間において、遠隔操作を中継するサーバ装置において用いられる方法であって、第1時点において、前記機器に対する遠隔操作元の操作端末に近接する可搬媒体に固有の第1識別子を取得する第1取得ステップと、取得した前記第1識別子を前記操作端末に記憶されている前記制御プログラムに埋め込ませるために、前記第1識別子を前記操作端末に送信する送信ステップと、前記第1時点の後の第2時点において、前記機器に対する遠隔操作元の操作端末に近接する可搬媒体に固有の第2識別子を取得する第2取得ステップと、前記制御プログラムに埋め込まれた前記第1識別子と、前記第2取得ステップにより取得された前記第2識別子とが一致するか否かを判断する判断ステップと、前記第1識別子と前記第2識別子とが一致しない場合、前記機器に対する遠隔操作を禁止する禁止ステップとを含むことを特徴とする。
この態様によると、不正な第三者により利用者の機器が遠隔操作されることを防ぐことができる。
本発明の別の一態様は、記憶されている制御プログラム内の遠隔操作命令の実行により機器を遠隔操作する操作端末と、前記機器との間において、遠隔操作を中継するサーバ装置を構成する集積回路であって、第1時点において、前記機器に対する遠隔操作元の操作端末に近接する可搬媒体に固有の第1識別子を取得する第1取得手段と、取得した前記第1識別子を前記操作端末に記憶されている前記制御プログラムに埋め込ませるために、前記第1識別子を前記操作端末に送信する送信手段と、前記第1時点の後の第2時点において、前記機器に対する遠隔操作元の操作端末に近接する可搬媒体に固有の第2識別子を取得する第2取得手段と、前記制御プログラムに埋め込まれた前記第1識別子と、前記第2取得手段により取得された前記第2識別子とが一致するか否かを判断する判断手段と、前記第1識別子と前記第2識別子とが一致しない場合、前記機器に対する遠隔操作を禁止する禁止手段とを備えることを特徴とする。
この態様によると、不正な第三者により利用者の機器が遠隔操作されることを防ぐことができる。
本発明の別の一態様は、記憶されている制御プログラム内の遠隔操作命令の実行により機器を遠隔操作する操作端末と、前記機器と、前記操作端末と前記機器との間において、遠隔操作を中継するサーバ装置とから構成されるシステムであって、前記サーバ装置は、第1時点において、前記機器に対する遠隔操作元の操作端末に近接する可搬媒体に固有の第1識別子を取得する第1取得手段と、取得した前記第1識別子を前記操作端末に記憶されている前記制御プログラムに埋め込ませるために、前記第1識別子を前記操作端末に送信する送信手段と、前記第1時点の後の第2時点において、前記機器に対する遠隔操作元の操作端末に近接する可搬媒体に固有の第2識別子を取得する第2取得手段と、前記制御プログラムに埋め込まれた前記第1識別子と、前記第2取得手段により取得された前記第2識別子とが一致するか否かを判断する判断手段と、前記第1識別子と前記第2識別子とが一致しない場合、前記機器に対する遠隔操作を禁止する禁止手段とを備え、前記操作端末は、当該操作端末に近接する可搬媒体から、当該可搬媒体に固有の識別子を取得する取得手段と、取得した前記識別子を前記サーバ装置に対して送信する送信手段と、前記サーバ装置から、前記第1識別子を受信し、受信した第1識別子を前記制御プログラムに埋め込む埋込手段とを備えることを特徴とする。
この態様によると、不正な第三者により利用者の機器が遠隔操作されることを防ぐことができる。
1.実施の形態1
本発明に係る実施の形態1としての遠隔操作システム10eについて説明する。
(1)操作端末に記憶されている制御プログラム内の遠隔操作命令の実行により、機器を遠隔操作する遠隔操作システム10eにおいて用いられる方法について、図35に示すフローチャートを用いて説明する。
遠隔操作システム10eにおいて用いられる方法は、第1時点において、前記機器に対する遠隔操作元の操作端末に近接する可搬媒体に固有の第1識別子を取得する第1取得ステップ(ステップS801)と、取得した前記第1識別子を前記操作端末に記憶されている前記制御プログラムに埋め込む埋込ステップ(ステップS802)と、前記第1時点の後の第2時点において、前記機器に対する遠隔操作元の操作端末に近接する可搬媒体に固有の第2識別子を取得する第2取得ステップ(ステップS803)と、前記制御プログラムに埋め込まれた前記第1識別子と、第2取得ステップにより取得された前記第2識別子とが一致するか否かを判断する判断ステップ(ステップS804)と、前記第1識別子と前記第2識別子とが一致しない場合、前記機器に対する遠隔操作を禁止する禁止ステップ(ステップS805)とを含む。
(2)前記操作端末は、サーバ装置を介して、前記機器を遠隔操作してもよい。前記サーバ装置は、前記第1識別子が埋め込まれる前の前記制御プログラムを記憶している。
前記判断ステップは、前記操作端末において、前記第1識別子が埋め込まれた前記制御プログラムに一方向性演算を施して、第1演算値を生成し、生成した前記第1演算値と取得した前記第2識別子とに、演算を施して第2演算値を生成する第1ステップと、前記サーバ装置において、記憶している前記制御プログラムに第1識別子を埋め込み、第1識別子が埋め込まれた前記制御プログラムに前記一方向性演算と同一の一方向性演算を施して、第3演算値を生成し、生成した前記第3演算値と取得した前記第1識別子とに、前記演算と同一の演算を施して第4演算値を生成する第2ステップと、前記サーバ装置において、前記第2演算値と前記第4演算値とが一致するか否かを判断することにより、前記第1識別子と前記第2識別子とが一致するか否かを判断する第3ステップとを含むとしてもよい。
(3)前記方法において、さらに、前記第1取得ステップ、前記埋込ステップ、前記第2取得ステップ、前記判断ステップ及び前記禁止ステップによる前記第1識別子の取得、前記制御プログラムの埋込み、前記第2識別子の取得、前記判断及び前記禁止を繰り返す。前記埋込ステップにおいて、前記第1取得ステップにより前記第1識別子が取得される都度、当該第1識別子を埋め込むとしてもよい。
(4)前記第1時点は、前記操作端末において、前記機器に対する遠隔操作を受け付けた時であるとしてもよい。
ここで、前記第1取得ステップにおいて、前記遠隔操作を受け付ける都度、前記第1識別子を取得する。
(5)前記埋込ステップにおいて、乱数を生成し、生成した乱数と取得した第1識別子とに可逆の変換を施し、得られた変換値を前記制御プログラムに埋め込み、前記判断ステップにおいて、前記乱数と前記制御プログラムに埋め込まれた変換値とに、前記変換の逆変換を施して、前記第1識別子を復元してもよい。
(6)前記方法において、さらに、前記第1取得ステップ、前記埋込ステップ、前記第2取得ステップ、前記判断ステップ及び前記禁止ステップによる前記第1識別子の取得、前記制御プログラムの埋込み、前記第2識別子の取得、前記判断及び前記禁止を繰り返してもよい。
前記埋込ステップにおいて、前記第1取得ステップにより前記第1識別子が取得される都度、異なる乱数を生成し、生成した乱数と取得した前記第1識別子とに前記変換を施し、得られた前記変換値を前記制御プログラムに埋め込む。
(7)前記判断ステップにおいて、前記第1識別子が埋め込まれた前記制御プログラムを取得し、取得した前記制御プログラムから前記第1識別子を抽出してもよい。
(8)前記埋込ステップにおいて、前記第1識別子を分割して複数の識別子片を生成し、生成した複数の識別子片を、前記制御プログラムの全体又はその一部に分散して埋め込むとしてもよい。
前記判断ステップにおいて、前記制御プログラムの全体又はその一部から、前記複数の識別子片を抽出し、抽出して得られた前記複数の識別子片を結合して前記第1識別子を復元する。
(9)前記制御プログラムは、命令が記録されている命令領域と、データが記録されているデータ領域を含むとしてもよい。
前記埋込ステップにおいて、前記第1識別子を、前記制御プログラム中の前記データ領域に埋め込む。
(10)前記制御プログラムは、命令が記録されている命令領域と、データが記録されているデータ領域を含み、前記命令領域は、実行されないダミー命令を含むとしてもよい。前記埋込ステップにおいて、前記第1識別子を、前記制御プログラム中の前記ダミー命令に埋め込む。
(11)前記埋込ステップにおいて、前記制御プログラムに対する前記第1識別子の埋込みを制御する埋込プログラムを取得し、前記操作端末において取得した前記埋込プログラムが実行されることにより、前記第1識別子が前記制御プログラムに埋め込まれるとしてもよい。
(12)前記埋込プログラムは、前記制御プログラムにおける前記第1識別子の埋込み位置を記憶しているとしてもよい。前記埋込ステップにおいて、前記操作端末において前記埋込プログラムが実行されることにより、前記第1識別子が前記制御プログラム内の前記埋込み位置に埋め込まれる。
(13)前記第1時点は、前記制御プログラムが前記操作端末にインストールされる時、前記操作端末における前記制御プログラムの最初の起動時、又は、前記操作端末における前記制御プログラムの起動時であるとしてもよい。
前記第2時点は、前記操作端末において、前記機器に対する遠隔操作を受け付けた時である。
(14)前記第1時点は、前記操作端末において、前記機器に対する第1遠隔操作を受け付けた時であるとしてもよい。
前記第2時点は、前記操作端末において、前記機器に対する第2遠隔操作を受け付けた時である。
(15)前記操作端末は、サーバ装置を介して、前記機器を遠隔操作してもよい。
前記方法は、さらに、前記操作端末において、前記機器に対する複数の遠隔操作のうち、利用者により選択可能な遠隔操作を表示する表示ステップと、前記操作端末において、利用者から、表示された遠隔操作のうち一の遠隔操作を受け付ける受付ステップと、前記操作端末において、受け付けた遠隔操作を、前記サーバ装置を介して、前記機器に対して送信する送信ステップとを含むとしてもよい。
(16)前記操作端末は、サーバ装置を介して、前記機器を遠隔操作してもよい。
前記方法は、さらに、前記操作端末において、前記機器に対する遠隔操作に対応付けて、前記遠隔操作を受け付けるための第1条件と、前記第1条件に代えて前記遠隔操作を受け付けるための変更候補としての第2条件とを表示する表示ステップと、前記操作端末において、利用者から、前記第2条件の指定を受け付ける受付ステップと、指定を受け付けた前記第2条件を、前記操作端末から前記サーバ装置に対して送信する送信ステップと、前記サーバ装置において、前記機器に対する前記遠隔操作に対応付けて、前記第1条件に代えて、前記第2条件を記憶する記憶ステップとを含むとしてもよい。
2.実施の形態2
本発明に係る実施の形態2としての遠隔操作システム10について説明する。
2.1 遠隔操作システム10
遠隔操作システム10は、図1に示すように、配信サーバ装置100、確認サーバ装置200、端末装置300、メモリカード400、機器500a、500b、500c、500d及び500eから構成されている。
配信サーバ装置100、確認サーバ装置200及び端末装置300は、ネットワーク20を介して、接続されている。また、機器500a、500b、500c、500d及び500eは、利用者の家屋40に設置されている。機器500a、500b、500c、500d及び500eは、ルータ30を介して、ネットワーク20に接続されている。
機器500a、500b、500c、500d及び500eは、それぞれ、一例として、テレビ受像機、エアコン、照明器具、ドアの施錠機構及び監視カメラである。
端末装置300には、可搬型のメモリカード400が装着される。
なお、以下において、機器500a、500b、500c、500d及び500eを代表して、機器500として言及する場合がある。
端末装置300は、確認サーバ装置200を介して、機器500に対して、例えば、次のような遠隔操作命令を送信する。
テレビ受像機である機器500aに対して、電源のON、OFF、チャネルの選択、録画の予約、予約の解除、受信再生中のチャネル情報の取得、受信再生中の番組情報の取得。エアコンである機器500bに対して、電源のON、OFF、設定温度の変更、現在の温度の取得、現在の湿度の取得、冷房、暖房、送風の切換え。照明器具である機器500cに対して、電源のON、OFF、明るさの切換え。ドアの施錠機構である機器500dに対して、施錠、開錠、施錠されているか、開錠されているかを示す施錠状況の取得。監視カメラである機器500eに対して、録画の開始、録画の停止、録画された映像のテレビ受像機への転送、録画された映像の削除。
確認サーバ装置200は、機器を遠隔操作するための制御プログラムを配信サーバ装置100に対して送信する。端末装置300は、配信サーバ装置100から制御プログラムを受信し、受信した制御プログラムをインストールする。
端末装置300は、利用者の指示により、制御プログラムを起動する。次に、端末装置300は、端末装置300に装着されたメモリカード400から固有識別子を取得し、取得した固有識別子を確認サーバ装置200に対して送信する。端末装置300は、付随データを記憶していれば、制御プログラムに付随データを埋め込む。
確認サーバ装置200は、端末装置300から固有識別子を取得する。端末装置300の利用者からのログインが正常になされれば、確認サーバ装置200は、取得した固有識別子を含む付随データを生成し、生成した付随データを端末装置300に対して送信する。端末装置300は、付随データを受信し、受信した付随データを記憶する。
確認サーバ装置200は、付随データを制御プログラムに埋め込み、制御プログラムからハッシュ値を算出し、乱数、ハッシュ値及び固有識別子を用いて、評価値Sを算出する。
端末装置300は、メモリカード400から固有識別子を取得し、制御プログラムからハッシュ値を算出し、乱数、ハッシュ値及び固有識別子を用いて、評価値S’を算出する。
確認サーバ装置200は、端末装置300から評価値S’を受信し、評価値Sと評価値S’とを比較する。評価値Sと評価値S’とが一致すれば、機器に対する遠隔操作を許可する。評価値Sと評価値S’とが一致しなければ、機器に対する遠隔操作を禁止する。
2.2 配信サーバ装置100
配信サーバ装置100は、図2に示すように、制御部101、通信部102、相互認証部103、鍵格納部104、記憶部105、アカウント格納部106及びアカウント確認部107から構成されている。
配信サーバ装置100は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクデバイスなどから構成されるコンピュータシステムである。前記RAM又は前記ハードディスクデバイスには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、配信サーバ装置100は、その機能を達成する。
(1)鍵格納部104及び記憶部105
鍵格納部104は、一例として、ハードディスクデバイスから構成されている。鍵格納部104は、配信サーバ装置100に割り当てられた私有鍵を記憶している。また、予め、システム鍵Kscを記憶している。システム鍵Kscは、遠隔操作システムに共通の鍵である。なお、確認サーバ装置200、端末装置300及びメモリカード400が有するどの鍵格納部も、鍵格納部104が有するシステム鍵Kscと同一のシステム鍵Kscを予め記憶している。
記憶部105は、一例として、ハードディスクデバイスから構成されている。記憶部105は、制御プログラムを記憶するための領域を備えている。
(2)通信部102
通信部102は、ネットワーク20を介して、確認サーバ装置200及び端末装置300との間で、情報の送受信を行う。
具体的には、通信部102は、確認サーバ装置200から、ネットワーク20を介して、安全な手段により、制御プログラムを受信する。制御プログラムを受信すると、通信部102は、受信した制御プログラムを記憶部105に書き込む。また、通信部102は、端末装置300から、ネットワーク20を介して、制御プログラムの要求を受信する。制御プログラムの要求を受信すると、通信部102は、受信した要求を制御部101に対して出力する。また、通信部102は、端末装置300から、ネットワーク20を介して、安全な手段により、利用者識別子及びパスワードを受信する。利用者識別子及びパスワードを受信すると、通信部102は、受信した利用者識別子及びパスワードをアカウント確認部107に対して出力する。
また、通信部102は、制御部101の制御により、利用者識別子及びパスワードの要求を、端末装置300に対して送信する。また、通信部102は、制御部101の制御により、記憶部105に記憶されている制御プログラムを読み出す。次に、通信部102は、読み出した制御プログラムを、安全な手段により、端末装置300に対して送信する。また、通信部102は、制御部101の制御により、メッセージを端末装置300に対して送信する。なお、安全な手段については、後述する。
(3)アカウント格納部106及びアカウント確認部107
アカウント格納部106は、利用者に割り当てられた利用者識別子及び利用者のパスワードを対応付けて記憶している。利用者識別子及びパスワードは、配信サーバ装置100の操作者により、入力されたものである。
アカウント確認部107は、端末装置300から、ネットワーク20及び通信部102を介して、安全な手段により、端末装置300の利用者の利用者識別子及びパスワードを受信する。利用者識別子及びパスワードを受信すると、次に、アカウント確認部107は、受信した利用者識別子及びパスワードが、アカウント格納部106において、記憶されているか否かを確認する。
受信した利用者識別子及びパスワードが、アカウント格納部106に記憶されていない場合、アカウント確認部107は、ログインに失敗した(ログイン異常)とみなす。受信した利用者識別子及びパスワードが、アカウント格納部106に記憶されている場合、アカウント確認部107は、ログインに成功した(ログイン正常)とみなす。
受信した利用者識別子及びパスワードが、アカウント格納部106において、記憶されていない場合、つまり、ログイン異常の場合、アカウント確認部107は、ログイン異常を示すメッセージを生成する。次に、アカウント確認部107は、生成したメッセージを、通信部102及びネットワーク20を介して、端末装置300に対して送信する。次に、アカウント確認部107は、受信した利用者識別子及びパスワードによるログインを禁止する。
受信した利用者識別子及びパスワードが、アカウント格納部106において、記憶されている場合、アカウント確認部107は、受信した利用者識別子及びパスワードによるログインを許可する。
アカウント確認部107は、ログインの許可又は禁止を示す許否情報を制御部101に対して出力する。
(4)制御部101
制御部101は、通信部102、相互認証部103、鍵格納部104、記憶部105、アカウント格納部106及びアカウント確認部107を制御する。
制御部101は、端末装置300から、ネットワーク20及び通信部102を介して、制御プログラムの要求を受信する。制御プログラムの要求を受信すると、制御部101は、通信部102及びネットワーク20を介して、端末装置300に対して、利用者識別子及びパスワードの要求を送信する。
制御部101は、アカウント確認部107から、ログインの許可又は禁止を示す許否情報を受け取る。
制御プログラムの要求を受信し、許否情報がログインの許可を示す場合、制御部101は、通信部102に対して、記憶部105から制御プログラムを読み出すように制御する。次に、通信部102に対して、読み出した制御プログラムを、安全な手段により、通信部102及びネットワーク20を介して、端末装置300に対して送信するように、制御する。
(5)相互認証部103
相互認証部103は、確認サーバ装置200の相互認証部203と、同様の構成を有している。
相互認証部103は、制御プログラムを受信する場合に、確認サーバ装置200の相互認証部203との間で、相互認証及び鍵共有を行う。また、相互認証部103は、制御プログラムを送信する場合に、端末装置300の相互認証部303との間で、相互認証及び鍵共有を行う。なお、相互認証及び鍵共有については、後述する。
また、相互認証部103は、確認サーバ装置200又は端末装置300との間の安全な手段による通信を支援する。なお、安全な手段による通信については、後述する。
2.3 確認サーバ装置200
確認サーバ装置200は、図3に示すように、制御部201、通信部202、相互認証部203、鍵格納部204、プログラム制作部206、プログラム格納部207、付随データ生成部208、アカウント格納部209、信頼性評価部210、機器情報格納部212、機器制御部213、署名生成部214、アカウント確認部215及び固有識別子取得部216から構成されている。
確認サーバ装置200は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクデバイス、ディスプレィデバイス、キーボードなどから構成されるコンピュータシステムである。前記RAM又は前記ハードディスクデバイスには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、確認サーバ装置200は、その機能を達成する。
(1)プログラム格納部207、鍵格納部204及び機器情報格納部212
(プログラム格納部207)
プログラム格納部207は、一例として、ハードディスクデバイスから構成されている。プログラム格納部207は、制御プログラム231及び制御プログラム331を格納するための領域を備えている。
制御プログラム231は、配信サーバ装置100を介して、端末装置300に対して配信すべきコンピュータプログラムである。一方、制御プログラム331は、端末装置300においてインストールされたコンピュータプログラムと同一のコンピュータプログラムである。確認サーバ装置200が端末装置300においてインストールされた制御プログラムの状態を再現するために、プログラム格納部207は、制御プログラム331を記憶するための領域を備えている。
(a)図4に制御プログラム231のデータ構造を示す。この図に示すように、制御プログラム231は、実行部領域232、第1データ領域233及び署名領域234から構成されている。
実行部領域232には、複数の命令群232a、232b、・・・が記録されている。各命令群は、端末装置300において実行されるオペレーションコマンドを含む。第1データ領域233は、複数の命令群232a、232b、・・・が実行される際に、参照のみされるデータ233a、233b、・・・を含む。署名領域234は、署名データ234aを含む。
署名データ234aは、署名生成部214により生成される。署名データ234aは、確認サーバ装置200に割り当てられた私有鍵241を用いて、制御プログラム231の実行部領域232及び第1データ領域233に、デジタル署名Signを施して得られた署名データである。
署名データ234a=Sign(私有鍵241、(実行部領域232及び第1データ領域233))
ここで、Sign(A、B)は、私有鍵Aを用いて、データBに対して、デジタル署名Signを施すことにより、生成された署名データを示す。ここで、デジタル署名Signは、一例として、ECDSA(Elliptic Curve Digital Signature Standard)によるデジタル署名アルゴリズムである。
署名データ234aを用いて、デジタル署名Signに対応するデジタル署名検証Vrfyを行うことにより、実行部領域232及び第1データ領域233が改ざんされていないことを確認することができる。ここで、デジタル署名検証Vrfyは、一例として、ECDSA(Elliptic Curve Digital Signature Standard)によるデジタル署名検証アルゴリズムである。
(b)図10に制御プログラム331のデータ構造を示す。この図に示すように、制御プログラム331は、実行部領域332、第1データ領域333、署名領域334、第2データ領域335及び第3データ領域336から構成されている。
実行部領域332には、複数の命令群332a、332b、・・・が記録されている。各命令群は、端末装置300において実行されるオペレーションコマンドを含む。第1データ領域333は、複数の命令群332a、332b、・・・が実行される際に、参照のみされるデータ333a、333b、・・・を含む。署名領域334は、署名データ334aを含む。
実行部領域332、第1データ領域333及び署名領域334は、それぞれ、図4に示す実行部領域232、第1データ領域233及び署名領域234と同一である。実行部領域332に含まれている複数の命令群332a、332b、・・・は、図4に示す複数の命令群232a、232b、・・・と同一である。第1データ領域333に含まれているデータ333a、333b、・・・は、図4に示すデータ233a、233b、・・・と同一である。また、署名領域334に含まれている署名データ334aは、図4に示す署名データ234aと同一である。
第2データ領域335には、付随データ335aが含まれる。付随データ335aについては、後述する。
第3データ領域336には、データ336aが含まれる。データ336aは、命令群332a、332b、・・・により、追加の書き込み、更新、上書き、参照がされるデータである。
(鍵格納部204)
鍵格納部204は、一例として、ハードディスクデバイスから構成されている。鍵格納部204は、確認サーバ装置200に割り当てられた私有鍵241を記憶している。また、予め、システム鍵Kscを記憶している。
(機器情報格納部212)
機器情報格納部212は、予め、条件テーブル271及び制御ルール管理テーブル281を保持している。
条件テーブル271は、図7に一例として示すように、複数の条件情報を記憶するための領域を備えている。
各条件情報は、機器情報及び条件を対応付けて含む。機器情報は、機器に関する情報の種類を示す。条件は、機器情報により示される機器状態情報を取得するための条件を示す。機器状態情報は、機器情報によりその種類が示され、機器における現実の状態を示す情報である。
ここで、機器がエアコンである場合、機器情報の一例は、「エアコンの室内温度、湿度」である。また、機器情報により示される機器状態情報の一例は、当該エアコンにより現実に測定された室内温度「25度」及び湿度「50パーセント」である。
また、機器がテレビ受像機である場合、機器情報の一例は、「再生中のチャネル」である。また、機器情報により示される機器状態情報の一例は、当該テレビ受像機により現実に再生されているチャネル「16」である。
また、機器がDVD再生装置である場合、機器情報の一例は、「再生中のDVDのタイトル」である。また、機器情報により示される機器状態情報の一例は、当該DVD再生装置により現実に再生されているDVDのタイトル「銀河戦争」である。
条件の具体例は、端末装置300から、確認サーバ装置200に対して、ログインしている必要があるか否か、及び、端末装置300に装着されたメモリカード400の固有識別子が必要であるか否かである。
条件テーブル271は、一例として、条件情報272を含んでいる。条件情報272は、機器情報273「エアコンの室内温度、湿度」及び条件274「ログイン不要、固有識別子要」を対応付けて含む。この条件情報272は、機器であるエアコンにより測定された室内温度及び湿度を、ネットワーク20を介して、端末装置300が取得するためには、端末装置300から、確認サーバ装置200に対して、ログインは不要であるが、固有識別子が必要であることを示している。
制御ルール管理テーブル281は、図8に示すように、利用者識別子と、複数の制御ルール情報とを対応付けて記憶するための領域を備えている。
利用者識別子は、遠隔操作システム10の利用者を識別するための識別情報である。
各制御ルール情報は、操作内容、条件及び項目を含む。操作内容は、利用者に許可することができる操作の内容を示す。条件は、当該操作内容を利用者に許可する場合の条件を示す。項目は、操作内容により操作の対象となる項目を示す。
制御ルール管理テーブル281は、図8に示すように、一例として、制御ルール情報283を含む。制御ルール情報283は、操作内容284「ドア開閉」、条件285「固有識別子要」及び項目286「施錠」を含む。
このように、制御ルール情報283は、ドアを開閉するという操作内容に対し、固有識別子が必要であり、この操作内容においては、施錠が操作の対象となる、ことを示している。
(2)プログラム制作部206
プログラム制作部206は、確認サーバ装置200の利用者の操作により、制御プログラムを制作する。プログラム制作部206は、制作された制御プログラムをプログラム格納部207に書き込む。
制御プログラムは、遠隔操作の対象である機器500に関する情報の取得、機器500の遠隔操作に関連する操作、機器制御ルールの修正及びその他の指示をするためのコンピュータプログラムを含んでいる。
ここで、制作される制御プログラムは、一例として、図4に示す制御プログラム231のうち、実行部領域232及び第1データ領域233からなる。
また、プログラム制作部206は、確認サーバ装置200の利用者の操作により、プログラム格納部207から、図4に示す制御プログラム231を読み出す。次に、読み出した制御プログラム231を、プログラム格納部207にインストールする。この結果、図10に示す制御プログラム331がプログラム格納部207に格納される。制御プログラム331においては、上述したように、制御プログラム231に対して、第2データ領域335及び第3データ領域336が付加されている。この時点において、第2データ領域335及び第3データ領域336は、何も記録されていない初期状態である。
(3)アカウント格納部209及びアカウント確認部215
(アカウント格納部209)
アカウント格納部209は、アカウント管理テーブル261を保持している。
アカウント管理テーブル261は、図6に一例として示すように、複数のアカウント情報を記憶するための領域を備えている。各アカウント情報は、利用者に対応している。各アカウント情報は、利用者識別子、パスワード、時変パラメータ及び固有識別子を含む。利用者識別子は、当該利用者を一意に識別するための識別情報である。パスワードは、当該利用者であることを認証するための認証情報である。時変パラメータは、その都度生成される乱数である。固有識別子は、当該利用者が有するメモリカードに固有の識別情報である。
アカウント管理テーブル261は、図6に一例として示すように、アカウント情報262を含んでいる。アカウント情報262は、利用者識別子263「SATO」、パスワード264「1234」、時変パラメータ265「AD7C」及び固有識別子266「8DA4」を含む。
(アカウント確認部215)
アカウント確認部215は、端末装置300から、ネットワーク20及び通信部202を介して、ログインの要否を受信する。次に、アカウント確認部215は、受信したログインの要否が、ログインを要求することを示すか、要求しないことを示すかを判断する。
受信したログインの要否が、ログインを要求しないことを示す場合、アカウント確認部215は、ログインの処理を行わない。
受信したログインの要否が、ログインを要求することを示す場合、アカウント確認部215は、端末装置300から、ネットワーク20及び通信部202を介して、安全な手段により、利用者の利用者識別子及びパスワードを受信する。安全な手段については、後述する。次に、アカウント確認部215は、受信した利用者識別子及びパスワードの組が、アカウント格納部209のアカウント管理テーブル261に記憶されているか否かを確認する。
アカウント確認部215は、端末装置300からログインの要否を受信した後、一例として、5分以上、経過しても、端末装置300から利用者識別子及びパスワードを受信しない場合には、ログインに失敗した(ログイン異常)とみなす。また、受信した利用者識別子及びパスワードが、アカウント管理テーブル261に記憶されていない場合、アカウント確認部215は、ログインに失敗した(ログイン異常)とみなす。
受信した利用者識別子及びパスワードが、アカウント管理テーブル261に記憶されている場合、アカウント確認部215は、ログインに成功した(ログイン正常)とみなす。
アカウント確認部215は、ログイン正常か又はログイン異常かを示すログイン結果を制御部201に通知する。
ログイン異常の場合、アカウント確認部215は、ログイン異常を示すメッセージを生成する。次に、アカウント確認部215は、当該メッセージを、通信部202及びネットワーク20を介して、端末装置300に対して送信する。
(4)固有識別子取得部216
固有識別子取得部216は、制御部201から、接続要求を受け取る。接続要求を受け取ると、相互認証及び鍵共有がなされた後、固有識別子取得部216は、通信部202、ネットワーク20及び端末装置300を介して、メモリカード400に対して、固有識別子の要求を送信する。
次に、固有識別子取得部216は、メモリカード400から、端末装置300、ネットワーク20及び通信部202を介して、安全な手段により、固有識別子Y又はメモリカード400に固有識別子が記録されていないことを示すメッセージ「固有識別子無し」を受信する。安全な手段については、後述する。また、固有識別子取得部216は、メモリカード400に対して、固有識別子の要求を送信した後、所定時間を経過しても、固有識別子Y又は固有識別子が記録されていないことを示すメッセージを受信しないときは、メッセージ「固有識別子無し」を生成する。ここで、所定時間は、一例として、200m秒である。
次に、固有識別子取得部216は、取得した固有識別子Y又はメッセージ「固有識別子無し」を付随データ生成部208及び信頼性評価部210に対して出力する。
(5)制御部201
制御部201は、通信部202、相互認証部203、鍵格納部204、プログラム制作部206、プログラム格納部207、付随データ生成部208、アカウント格納部209、信頼性評価部210、機器情報格納部212、機器制御部213、署名生成部214、アカウント確認部215及び固有識別子取得部216を制御する。
また、制御部201は、端末装置300から、ネットワーク20及び通信部202を介して、機器操作のための接続要求を受け取る。接続要求を受け取ると、制御部201は、相互認証部203及び固有識別子取得部216に対して、機器操作のための接続要求を出力する。
制御部201は、アカウント確認部215から、ログイン正常か又はログイン異常かを示すログイン結果を受け取る。ログイン正常を示すログイン結果を受け取った場合、制御部101は、受信した利用者識別子及びパスワードを記憶する。
(6)通信部202
通信部202は、制御部201の制御により、ネットワーク20を介して、配信サーバ装置100、端末装置300、メモリカード400、機器500a、500b、500c、500d及び500eとの間で、情報の送受信を行う。
具体的には、通信部202は、制御部201の制御により、ネットワーク20を介して、制御プログラムを配信サーバ装置100に対して送信する。
また、通信部202は、制御部201の制御により、ネットワーク20及び端末装置300を介して、固有識別子の要求をメモリカード400に対して送信する。また、通信部202は、ネットワーク20を介して、メッセージ、付随データ、乱数Rを端末装置300に対して送信する。
また、通信部202は、端末装置300から、ネットワーク20を介して、機器操作のための接続要求、ログインの要否、利用者識別子及びパスワード、機器に対する操作指示並びに評価値S’を受信する。通信部202は、メモリカード400から、端末装置300及びネットワーク20を介して、固有識別子Y又はメッセージ「固有識別子無し」を受信する。
(7)相互認証部203
相互認証部203は、制御部201から、制御プログラムの送信のための接続要求及び機器操作のための接続要求を受け取る。
制御プログラムの送信のための接続要求を受け取ると、相互認証部203は、配信サーバ装置100の相互認証部103との間で、相互認証を行い、配信サーバ装置100と同一の共有鍵を共有する。
また、機器操作のための接続要求を受け取ると、相互認証部203は、端末装置300の相互認証部303との間で、相互認証を行い、端末装置300と同一の共有鍵を共有する。また、相互認証部203は、メモリカード400の相互認証部403との間で、相互認証を行い、メモリカード400と同一の共有鍵を共有する。
相互認証部203は、図15に示すように、乱数生成部A11、乱数比較部A12、復号部A13、暗号化部A14、鍵共有部A15及び暗復号化部A16から構成されている。
乱数生成部A10は、ランダムに乱数R1を生成する。次に、生成した乱数R1を乱数比較部A12に出力する。また、生成した乱数R1を相互認証の相手の装置の相互認証部に送信する。
復号部A13は、相互認証の相手の装置の相互認証部から、暗号化乱数E3(Ksc、R1)を受け取る。次に、復号アルゴリズムD3により、システム鍵Kscを用いて、受け取った暗号化乱数E3(Ksc、R1)を復号して復号文R1’=D3(Ksc、E3(Ksc、R1))を生成する。次に、生成した復号文R1’を乱数比較部A12へ出力する。
ここで、復号アルゴリズムD3は、秘密鍵暗号方式による復号アルゴリズムである。復号アルゴリズムD3は、一例として、AES(Advanced Encryption Standard)によるものである。E3(K、A)は、鍵Kを用いて、平文Aに対して暗号化アルゴリズムE3を施して生成した暗号文を示す。また、D3(K、B)は、鍵Kを用いて、暗号文Bに対して復号アルゴリズムD3を施して生成した復号文を示す。
乱数比較部A12は、乱数生成部A11から乱数R1を受け取り、復号部A13から復号文R1’を受け取る。次に、乱数R1と復号文R1’とを比較する。乱数R1と復号文R1’とが一致する場合に、相互認証部203は、相手の装置が正当であると判断する。乱数R1と復号文R1’とが一致しない場合に、相互認証部203は、相手の装置が不正であると判断する。
暗号化部A14は、相手の装置の相互認証部から乱数R2を受け取る。乱数R2を受け取ると、システム鍵Kscを用いて、暗号化アルゴリズムE4により、乱数R2を暗号化して、暗号化乱数E4(Ksc、R2)を生成し、生成した暗号化乱数E4(Ksc、R2)を相手の装置へ送信する。
ここで、暗号化アルゴリズムE4は、秘密鍵暗号方式による暗号化アルゴリズムである。暗号化アルゴリズムE4は、一例として、AESによるものである。また、E4(K、A)は、鍵Kを用いて、平文Aに対して暗号化アルゴリズムE4を施して生成した暗号文を示す。
相互の認証に成功すると、鍵共有部A15は、鍵共有の処理を実行して、共有鍵kを算出する。相互の認証に失敗すると、共有鍵kの算出は、行われない。
相互の認証に成功すると、暗復号化部A16は、算出された共有鍵kを用いて、データを暗号化して、暗号化データを生成する。暗号化データは、相手の装置に送信される。また、暗復号化部A16は、相手の装置から暗号化データを受信する。次に、算出された共有鍵kを用いて、暗号化データを復号して、元のデータを生成する。この動作手順により、上述した安全な手段が実現される。
(8)付随データ生成部208
付随データ生成部208は、固有識別子取得部216から、取得した固有識別子Y又はメッセージ「固有識別子無し」を受信する。
次に、付随データ生成部208は、固有識別子Yを受信しているか否かを確認する。固有識別子Yを受信している場合、付随データ生成部208は、ランダムに乱数Rを生成する。付随データ生成部208は、受信した利用者識別子及びパスワードに対応付けて、生成した乱数Rと受信した固有識別子Yとを、時変パラメータ及び固有識別子として、アカウント管理テーブル261に書き込む。
次に、付随データ生成部208は、次の式により、固有識別子Y及び乱数Rを用いて、変数Kを算出する。
変数K=固有識別子Y XOR 乱数R
ここで、XORは、排他的論理和を示す演算子である。
次に、付随データ生成部208は、図5に示すように、変数領域252及び署名領域253からなる付随データ251を生成する。この時点において、変数領域252及び署名領域253は、何も記録されていない初期状態である。
次に、付随データ生成部208は、算出して得られた変数K(254)を変数領域252に書き込む。
次に、付随データ生成部208は、署名生成部214に対して、変数K(254)を出力し、変数K(254)の署名データを生成するよう指示する。次に、付随データ生成部208は、署名生成部214から、変数K(254)の署名データ255を受け取る。ここで、署名データ255は、確認サーバ装置200に割り当てられた私有鍵241を用いて、変数K(254)に対して、デジタル署名Signを施して得られたデータである。署名生成部214から、署名データ255を受け取ると、付随データ生成部208は、付随データ251の署名領域253に署名データ255を書き込む。
図5に示すように、付随データ251は、変数領域252及び署名領域253から構成されている。変数領域252は、変数K(254)を含み、署名領域253は、署名データ255を含む。
次に、付随データ生成部208は、付随データ251及び乱数Rを、通信部202及びネットワーク20を介して、端末装置300に対して、安全な手段により、送信する。
固有識別子Yを受信していない場合、付随データ生成部208は、乱数Rの生成、変数Kの算出、付随データの生成、署名データの生成指示及び付随データ及び乱数Rの送信を行わない。
固有識別子Yを受信しており、機器に対する操作指示を受け取っている場合、付随データ生成部208は、プログラム格納部207に記憶され、インストールされている状態の制御プログラム331の第2データ領域335に、変数K(254)と署名データ255を含む付随データ251を上書きする。
付随データ251の上書きが完了すると、付随データ生成部208は、付随データ251の上書きが完了したことを示す完了通知を、信頼性評価部210に対して出力する。
固有識別子を受信していない場合、付随データ生成部208は、制御プログラム331の第2データ領域335に対する付随データの上書きを行わない。
(9)署名生成部214
署名生成部214は、プログラム制作部206及び付随データ生成部208から、署名データの生成の指示を受け取る。
プログラム制作部206から署名データの生成の指示を受け取ると、署名生成部214は、鍵格納部204から、確認サーバ装置200に割り当てられた私有鍵241を読み出す。次に、プログラム格納部207から制御プログラムを読み出す。ここで、読み出した制御プログラムは、図4に示すように、実行部領域232と第1データ領域233とを含む。しかし、読み出した制御プログラムは、この段階では、図4に示す署名領域234を含まない。
署名生成部214は、次に、読み出した私有鍵241を用いて、読み出した制御プログラムにデジタル署名Signを施して、署名データ234aを生成する。
署名データ234a=Sign(私有鍵241、制御プログラム)
次に、署名生成部214は、生成した署名データ234aを制御プログラムに付加し、署名データが付加された制御プログラム231を、プログラム格納部207に記憶されている制御プログラムに上書きする。
また、付随データ生成部208から署名データの生成の指示を受け取ると、署名生成部214は、さらに、付随データ生成部208から変数K(254)を受け取る。次に、署名生成部214は、鍵格納部204から確認サーバ装置200に割り当てられた私有鍵241を読み出す。次に、署名生成部214は、私有鍵241を用いて、変数K(254)に対してデジタル署名Signを施して、署名データ255を生成する。
署名データ255=Sign(私有鍵241、変数K(254))
次に、署名生成部214は、署名データ255を付随データ生成部208に対して出力する。
(10)信頼性評価部210
信頼性評価部210は、固有識別子取得部216から、取得した固有識別子Y又はメッセージ「固有識別子無し」を受け取る。また、信頼性評価部210は、付随データ生成部208から乱数Rを受け取る。また、信頼性評価部210は、付随データ生成部208から、制御プログラムに対する付随データ251の上書きが完了したことを示す完了通知を受け取る。
完了通知を受け取り、固有識別子Yを受け取ると、信頼性評価部210は、プログラム格納部207から、付随データが上書きされた制御プログラム331を読み出す。次に、読み出した制御プログラム331のうち、実行部領域332、第1データ領域333、署名領域334及び第2データ領域335に含まれる命令及びデータにハッシュ演算Hashを施して、ハッシュ値Hを算出する。
ハッシュ値H=Hash(制御プログラム331のうち、実行部領域332、第1データ領域333、署名領域334及び第2データ領域335に含まれる命令及びデータ)
ここで、第3データ領域336をハッシュ演算Hashの対象から除外しているのは、第3データ領域336は、制御プログラム331の実行状態により変化するデータを含んでいるからである。
また、ハッシュ演算Hashは、一例として、SHA−1(Secure Hash Algorithm 1 )である。また、ハッシュ演算Hashは、SHA−2(Secure Hash Algorithm 2)、SHA−256(Secure Hash Algorithm 256-bit)等であるとしてもよい。
なお、ここで用いられるハッシュ演算Hashと、固有識別子取得処理部902において用いられるハッシュ演算Hashとは、同一の演算でなければならない。
次に、信頼性評価部210は、固有識別子Y、ハッシュ値H及び乱数Rを用いて、評価値Sを算出する。
評価値S=固有識別子Y XOR Oneway(ハッシュ値H、乱数R)
ここで、一方向性演算Oneway(A、B)は、データAとデータBに対して、一方向性演算を施して得られた値を示す。例えば、一方向性演算Oneway(A、B)は、データBを鍵として用いて、データAに鍵付きハッシュ演算を施して得られたハッシュ値である。また、一方向性演算Oneway(A、B)は、データAとデータBをこの順序で結合して結合体を得、得られた結合体に対して、ハッシュ演算を施して得られたハッシュ値であるとしてもよい。また、一方向性演算Oneway(A、B)は、データBを鍵として用いて、秘密鍵暗号方式としてのAESによる暗号化アルゴリズムを施して、暗号文を生成し、生成した暗号文にハッシュ演算SHA−1を施して得られたハッシュ値であるとしてもよい。
なお、ここで用いられる一方向性演算Onewayと、固有識別子取得処理部902において用いられる一方向性演算Onewayとは、同一の演算でなければならない。
また、信頼性評価部210は、端末装置300から、ネットワーク20及び通信部202を介して、評価値S’を受信する。
次に、信頼性評価部210は、算出された評価値Sと受信された評価値S’とが一致するか否かを判断する。評価値Sと評価値S’とが一致する場合、機器に対する遠隔操作及び関連操作が許可される。評価値Sと評価値S’とが一致しない場合、機器に対する遠隔操作及び関連操作が禁止される。
評価値Sと評価値S’とが一致しない場合、信頼性評価部210は、機器に対する遠隔操作及び関連操作が禁止される旨を示すメッセージを生成する。次に、生成したメッセージを、通信部202及びネットワーク20を介して、端末装置300に対して送信する。
評価値Sと評価値S’とが一致する場合、機器制御部213に対して、機器に対する遠隔操作及び関連操作を許可する許可情報を出力する。この場合に限り、機器の遠隔処理及び関連操作が行われる。評価値Sと評価値S’とが一致しない場合、機器制御部213に対して、機器に対する遠隔操作及び関連操作を禁止する禁止情報を出力する。この場合に、機器の遠隔処理及び関連操作は、行われない。
固有識別子Yを受け取っていない場合、信頼性評価部210は、ハッシュ値Hの算出、評価値Sの算出及び評価値Sと評価値S’の比較を行わない。
(11)機器情報管理部217
機器情報管理部217は、端末装置300から、ネットワーク20及び通信部202を介して、制御ルールの変更操作を受信する。次に、機器情報管理部217は、受信した変更操作を用いて、機器情報格納部212に保持されている制御ルール管理テーブル281を変更する。
(12)機器制御部213
機器制御部213は、端末装置300から、ネットワーク20及び通信部202を介して、操作指示を受信する。操作指示には、機器500に関する情報の取得の要求、機器500の遠隔操作に関連する指示、機器制御ルールの修正の指示及びその他の指示が含まれる。
機器制御部213は、受信した操作指示が、機器500に関する情報の取得の要求、機器500の遠隔操作に関連する指示、機器制御ルールの修正の指示及びその他の指示のいずれであるかを判断する。
操作指示が、機器500に関する情報の取得の要求である場合、機器制御部213は、機器500に関する情報の取得の処理を行う。操作指示が、機器500の遠隔操作に関連する指示である場合、機器制御部213は、機器500の遠隔操作に関連する処理を行う。操作指示が、機器制御ルールの修正の指示である場合、機器制御部213は、機器制御ルールの修正の処理を行う。操作指示が、その他の指示である場合、機器制御部213は、その他の処理を行う。
(機器500に関する情報の取得)
機器制御部213は、端末装置300から受け取った機器500に関する情報の取得の要求から、機器情報を抽出する。次に、抽出した機器情報に対応する条件を、条件テーブル271から読み出す。
次に、機器制御部213は、確認サーバ装置200の現在の状態が、条件テーブル271から読み出された条件を満たすか否かを判断する。
ここで、確認サーバ装置200の現在の状態とは、具体的には、端末装置300の利用者によるログイン状態にあるか否か、及び、端末装置300に装着されたメモリカード400から固有識別子を取得しているか否かである。
例えば、確認サーバ装置200が利用者によるログイン状態になく、固有識別子を取得していない場合、読み出した条件が「ログイン不要、固有識別子要」又は「ログイン要、固有識別子要」であれば、確認サーバ装置200の現在の状態は、読み出した条件を満たしていない。
また、例えば、確認サーバ装置200が利用者によるログイン状態にあり、固有識別子を取得していない場合、読み出した条件が「ログイン要、固有識別子要」であれば、確認サーバ装置200の現在の状態は、読み出した条件を満たしていない。読み出した条件が「ログイン要、固有識別子不要」であれば、確認サーバ装置200の現在の状態は、読み出した条件を満たしている。
また、例えば、確認サーバ装置200が利用者によるログイン状態にあり、固有識別子を取得している場合、読み出した条件が「ログイン不要、固有識別子要」又は「ログイン要、固有識別子要」であれば、確認サーバ装置200の現在の状態は、読み出した条件を満たしている。
確認サーバ装置200の現在の状態が、読み出した条件を満たしていない場合、機器制御部213は、機器状態情報の取得ができない旨を示すメッセージを生成する。次に、生成したメッセージを、通信部202及びネットワーク20を介して、端末装置300に対して送信する。
確認サーバ装置200の現在の状態が、読み出した条件を満たしている場合、機器制御部213は、機器状態情報の取得の要求を、通信部202及びネットワーク20を介して、機器500に対して出力する。
確認サーバ装置200の機器制御部213は、機器500から、ネットワーク20及び通信部202を介して、機器状態情報を受信する。次に、受信した機器状態情報を含むメッセージを生成する。次に、機器制御部213は、生成したメッセージを、通信部202及びネットワーク20を介して、端末装置300に対して送信する。
(機器500に対する遠隔操作に関連する処理)
機器制御部213は、制御ルール管理テーブル281に含まれている全ての制御ルール情報について、次の手順(a)〜(d)を繰り返す。
(a)機器制御部213は、制御ルール管理テーブル281から一つの制御ルール情報を読み出す。
(b)次に、機器制御部213は、確認サーバ装置200の現在の状態が、読み出した制御ルール情報に含まれる条件を満たすか否かを判断する。
ここで、上記の機器500に関する情報の取得の説明において述べたように、確認サーバ装置200の現在の状態とは、具体的には、端末装置300の利用者によるログイン状態にあるか否か、及び、端末装置300に装着されたメモリカード400から固有識別子を取得しているか否かである。
また、判断方法についても、上述した通りである。
例えば、確認サーバ装置200が利用者によるログイン状態になく、固有識別子を取得していない場合、読み出した条件が「ログイン不要、固有識別子要」又は「ログイン要、固有識別子要」であれば、確認サーバ装置200の現在の状態は、読み出した条件を満たしていない。
また、例えば、確認サーバ装置200が利用者によるログイン状態にあり、固有識別子を取得している場合、読み出した条件が「ログイン要、固有識別子要」であれば、確認サーバ装置200の現在の状態は、読み出した条件を満たしている。
(c)確認サーバ装置200の現在の状態が、読み出した条件を満たしていない場合、機器制御部213は、読み出した制御ルール情報から、操作内容を抽出する。次に、抽出した操作内容の取得ができない旨を示すメッセージを生成する。次に、生成したメッセージを、通信部202及びネットワーク20を介して、端末装置300に対して送信する。
(d)確認サーバ装置200の現在の状態が、読み出した条件を満たしている場合、機器制御部213は、読み出した制御ルール情報から、操作内容及び項目を抽出する。次に、抽出した操作内容及び項目を含む示すメッセージを生成する。次に、生成したメッセージを、通信部202及びネットワーク20を介して、機器500に対して出力する。
機器制御部213は、端末装置300から受信した操作指示を、通信部202、ネットワーク20を介して、機器500に対して送信する。
(機器制御ルールの修正処理)
機器制御部213は、端末装置300の利用者により、ログインが正常にされているか否かを判断する。また、機器制御部213は、固有識別子が取得されているか否かを判断する。
ログインが正常にされていない場合、機器制御部213は、ログインが正常にされていないことを示すメッセージを生成する。次に、生成したメッセージを、通信部202及びネットワーク20を介して、端末装置300に対して送信する。
固有識別子が取得されていない場合、機器制御部213は、固有識別子が取得されていないことを示すメッセージを生成する。次に、生成したメッセージを、通信部202及びネットワーク20を介して、端末装置300に対して送信する。
ログインが正常にされ、固有識別子が取得されている場合、機器制御部213は、機器情報格納部212から、制御ルール管理テーブル281を読み出す。次に、読み出した制御ルール管理テーブル281を、通信部202、ネットワーク20を介して、端末装置300に対して送信する。
2.4 端末装置300
端末装置300は、図9に示すように、制御部301、通信部302、相互認証部303、鍵格納部304、プログラム格納部305、プログラム実行部306、付随データ格納部307、入出力部308、表示部309、入力部310及び検証部311から構成されている。
端末装置300は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクデバイス、ディスプレィデバイス、入力デバイスなどから構成されるコンピュータシステムである。前記RAM又は前記ハードディスクデバイスには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、端末装置300は、その機能を達成する。
(1)鍵格納部304、プログラム格納部305及び付随データ格納部307
(鍵格納部304)
鍵格納部304は、一例として、ハードディスクデバイスから構成されている。鍵格納部304は、一例として、確認サーバ装置200の公開鍵を記憶している。また、予め、システム鍵Kscを記憶している。
(プログラム格納部305)
プログラム格納部305は、一例として、ハードディスクデバイスから構成されている。プログラム格納部305は、配信サーバ装置100から送信された制御プログラム231及び当該端末装置300にインストールされた制御プログラム331を記憶するための領域を備えている。
制御プログラム231は、図4に示すデータ構造を有している。また、制御プログラム331は、図10に示すデータ構造を有している。
(付随データ格納部307)
付随データ格納部307は、一例として、ハードディスクデバイスから構成されている。付随データ格納部307は、図5に示す付随データ251及び乱数Rを記憶するための領域を備えている。
(2)通信部302
通信部302は、ネットワーク20を介して、配信サーバ装置100及び確認サーバ装置200との間で、情報の送受信を行う。
通信部302は、具体的には、制御部301の制御により、制御プログラムの要求、機器操作のための接続要求、ログイン要否、操作指示及び評価値S’を、ネットワーク20を介して、配信サーバ装置100に対して送信する
また、通信部302は、制御部301の制御により、利用者識別子及びパスワードを、安全な手段により、ネットワーク20を介して、配信サーバ装置100に対して送信する。
また、通信部302は、確認サーバ装置200から、ネットワーク20を介して、様々なメッセージを受信する。次に、受信したメッセージを表示部309に対して出力する。
また、通信部302は、配信サーバ装置100から、安全な手段により、ネットワーク20を介して、制御プログラム、付随データ及び乱数Rを受信する。次に、通信部302は、受信した制御プログラムをプログラム格納部305に書き込む。また、通信部302は、受信した付随データ及び乱数Rを付随データ格納部307に書き込む。
また、通信部302は、確認サーバ装置200から、ネットワーク20を介して、情報を受信し、受信した情報を入出力部308を介して、メモリカード400に対して出力する。また、通信部302は、メモリカード400から、入出力部308を介して、情報を受信し、受信した情報をネットワーク20を介して、確認サーバ装置200に対して送信する。
(3)相互認証部303
相互認証部303は、確認サーバ装置200の相互認証部203と、同様の構成を有している。
制御プログラムの取得指示を受け付けた場合に、相互認証部303は、配信サーバ装置100の相互認証部103との間で、相互認証及び鍵共有を行う。
また、機器操作のための接続要求を送信する場合に、相互認証部303は、確認サーバ装置200の相互認証部203との間で、相互認証及び鍵共有を行う。
さらに、固有識別子を取得する場合に、相互認証部303は、メモリカード400の相互認証部403との間で、相互認証及び鍵共有を行う。
(4)検証部311
検証部311は、制御プログラム331の起動を受け付けた場合に、鍵格納部304から、確認サーバ装置200に割り当てられた公開鍵を読み出す。次に、検証部311は、読み出した公開鍵を用いて、プログラム格納部305にインストールされた制御プログラム331の署名領域334に記憶されている署名データ334a、実行部領域332及び第1データ領域333に対して、デジタル署名検証Vrfyを施す。
デジタル署名検証Vrfyによる検証結果が失敗である場合、検証部311は、検証に失敗した旨を示すメッセージを生成し、生成したメッセージを表示部309に対して出力する。これにより、端末装置300は、処理を終了する。
デジタル署名検証Vrfyによる検証結果が成功である場合、端末装置300の処理は、継続される。
検証部311は、検証の成功又は失敗を示す検証結果をプログラム実行部306に対して出力する。
(5)プログラム実行部306
プログラム実行部306は、制御プログラム231をプログラム格納部305にインストールする。これにより、プログラム格納部305に、図10に示すように、制御プログラム331が格納される。なお、この時点において、第2データ領域335及び第3データ領域336には、それぞれ付随データ及びデータは、格納されていない。
プログラム実行部306は、検証部311から、検証の成功又は失敗を示す検証結果を受け取る。受け取った検証結果が検証の失敗を示す場合には、以降の端末装置300の処理を中止する。
受け取った検証結果が検証の成功を示す場合には、プログラム実行部306は、制御プログラム331を実行状態にする。
プログラム実行部306が制御プログラム331を実行することにより、図11に示すように、付随データ処理部901、固有識別子取得処理部902、アカウント提示部905、機器制御ルール提示部906、機器操作提示部907、アカウント取得部908、機器制御ルール取得部909及び操作指示取得部910が実現される。
(付随データ処理部901)
付随データ処理部901は、付随データ格納部307に付随データが格納されているか否かを判断する。付随データ格納部307に付随データが格納されている場合、付随データ処理部901は、付随データ格納部307に格納されている付随データを制御プログラム331の第2データ領域335に上書きする。付随データ格納部307に付随データが格納されていない場合、付随データ処理部901は、付随データの上書きを行わない。
付随データ処理部901は、確認サーバ装置200から、ネットワーク20及び通信部302を介して、付随データ及び乱数Rを、安全な手段により、受信する。
次に、付随データ処理部901は、付随データ及び乱数Rを受信したか否かを確認する。
付随データ及び乱数Rを受信した場合、付随データ処理部901は、受信した付随データを、付随データ格納部307に書き込む。次に、付随データ処理部901は、受信した乱数Rを、付随データ格納部307に書き込む。
付随データ及び乱数Rを受信しなかった場合、付随データ処理部901は、付随データ及び乱数Rの書き込みを行わない。
(固有識別子取得処理部902)
固有識別子取得処理部902は、利用者から操作指示を受け取った場合、固有識別子の要求を、入出力部308を介して、メモリカード400に対して出力する。固有識別子取得処理部902は、固有識別子の要求を出力した直後において、変数としての固有識別子Y’を仮に「0」に設定する。
固有識別子取得処理部902は、メモリカード400から固有識別子を受け取ったか否かを判断する。ここで、受け取るべき固有識別子を固有識別子Y’と表現する。固有識別子Y’を受け取った場合、固有識別子取得処理部902は、プログラム格納部305に格納されている制御プログラム331のうち、実行部領域332、第1データ領域333、署名領域334及び第2データ領域335に格納されているメモリ及びデータに対して、ハッシュ演算Hashを施すことにより、ハッシュ値H’を算出する。
ハッシュ値H’=Hash(プログラム格納部305に格納されている制御プログラム331のうちの実行部領域332、第1データ領域333、署名領域334及び第2データ領域335に格納されているメモリ及びデータ)
ここで、第3データ領域336をハッシュ演算Hashの対象から除外しているのは、第3データ領域336は、制御プログラム331の実行状態により変化するデータを含んでいるからである。
ここで、ハッシュ演算Hashは、一例として、SHA−1である。また、ハッシュ演算Hashは、SHA−2、SHA−256等であるとしてもよい。
なお、ここで用いられるハッシュ演算Hashと、信頼性評価部210において用いられるハッシュ演算Hashとは、同一の演算でなければならない。
次に、固有識別子取得処理部902は、固有識別子Y’、ハッシュ値H’及び乱数Rを用いて、評価値S’を算出する。
評価値S’=固有識別子Y’ XOR Oneway(ハッシュ値H’、乱数R)
ここで、一方向性演算Oneway(A、B)は、データAとデータBに対して、一方向性演算を施して得られた値を示す。例えば、一方向性演算Oneway(A、B)は、データBを鍵として用いて、データAに鍵付きハッシュ演算を施して得られたハッシュ値である。また、一方向性演算Oneway(A、B)は、データAとデータBをこの順序で結合して結合体を得、得られた結合体に対して、ハッシュ演算を施して得られたハッシュ値であるとしてもよい。また、一方向性演算Oneway(A、B)は、データBを鍵として用いて、秘密鍵暗号方式としてのAESによる暗号化アルゴリズムを施して、暗号文を生成し、生成した暗号文にハッシュ演算SHA−1を施して得られたハッシュ値であるとしてもよい。
なお、ここで用いられる一方向性演算Onewayと、信頼性評価部210において用いられる一方向性演算Onewayとは、同一の演算でなければならない。
次に、固有識別子取得処理部902は、評価値S’を、通信部302及びネットワーク20を介して、確認サーバ装置200に対して送信する。
(アカウント提示部905)
アカウント提示部905は、利用者から入力された利用者識別子及びパスワードを表示部309に出力して、表示させる。
(機器制御ルール提示部906)
<機器制御ルールの修正>
機器制御ルール提示部906は、確認サーバ装置200から、ネットワーク20及び通信部302を介して、制御ルール管理テーブルを受信する。次に、機器制御ルール提示部906は、受信した制御ルール管理テーブルを用いて、制御ルール変更画面361を生成する。
制御ルール変更画面361の一例を図13に示す。制御ルール変更画面361は、この図に示すように、複数のフィールドを含む。各フィールドは、制御ルール管理テーブルの制御ルール情報に対応する。各フィールドは、表示フィールドとボタンフィールドとの組を含む。表示フィールドは、操作内容及び条件を表示する。ボタンフィールドは、条件の変更の内容を表示する。
機器制御ルール提示部906は、制御ルール管理テーブルの制御ルール情報毎に、制御ルール変更画面361のフィールドを生成する。具体的には、機器制御ルール提示部906は、制御ルール情報に含まれる操作内容及び条件から表示フィールドを生成する。つまり、操作内容及び条件を、表示フィールドの表示内容とする。また、機器制御ルール提示部906は、制御ルール情報に含まれる条件からボタンフィールドを生成する。つまり、制御ルール情報に含まれる条件に含まれていない変更候補の条件を生成し、生成した変更候補の条件を、ボタンフィールドの表示内容とする。
制御ルール変更画面361は、一例として、フィールド371及び372を含む。
フィールド371に含まれる表示フィールドは、操作内容362「ルール変更」及び条件363「固有識別子要」を表示し、フィールド371に含まれるボタンフィールドは、条件の変更の内容364「固有識別子不要に変更」を表示する。
フィールド372に含まれる表示フィールドは、操作内容365「エアコン電源制御」及び条件366「固有識別子要」を表示し、フィールド372に含まれるボタンフィールドは、条件の変更の内容367「固有識別子不要に変更」を表示する。
このように、各フィールドは、項目ごとに制限を表示している。制限とは、ログインが必要であるか否か、及び、固有識別子が必要であるか否かである。ボタンフィールドには、現在の制限を変更できる候補を表示している。利用者がボタンフィールドを押すことにより、現在の制限を変更することができる。
(機器操作提示部907)
<機器情報取得の処理>
機器操作提示部907は、確認サーバ装置200から、ネットワーク20及び通信部302を介して、機器の状態を示す機器状態情報の取得ができない旨を示すメッセージを受信する。次に、機器操作提示部907は、受信したメッセージを表示部309に対して出力する。
機器操作提示部907は、確認サーバ装置200から、ネットワーク20及び通信部302を介して、機器状態情報を含むメッセージを受信する。次に、機器操作提示部907は、受信したメッセージを表示部309に対して出力する。
<機器500に対する遠隔操作に関連する処理>
機器操作提示部907は、確認サーバ装置200から、ネットワーク20及び通信部302を介して、操作内容の取得ができない旨を示すメッセージ及び取得した操作内容及び項目を含むメッセージを受信する。次に、機器操作提示部907は、受信したメッセージのうち、操作内容及び項目を含むメッセージを用いて、機器操作メニューを生成する。
生成した機器操作メニューの一例として、図12に機器操作画面351を示す。
機器操作画面351は、複数のフィールドを含む。各フィールドは、各機器に対する操作に対応し、また一つのメッセージに対応している。各フィールドは、操作内容及び操作ボタンを含む。
機器操作提示部907は、受信した一つのメッセージに対応して、一つのフィールドを生成する。メッセージに含まれる操作内容を、フィールドの操作内容とし、メッセージに含まれる項目を操作ボタンとする。
図12に示す機器操作画面351では、各機器に対応する操作に応じて、操作内容及び操作ボタンを表示している。また、各操作ボタンは、現在の制限を変更できる候補を表示している。操作ボタンを押すことにより、現在の制限を変更できる。
機器操作画面351は、一例として、フィールド358及び359を含む。フィールド358は、操作内容352「ドア開閉」と、これに対応して、操作ボタン353「開錠」及び操作ボタン354「施錠」を含む。操作ボタン353の色をグレー(中間階調)にして表示することにより、操作ボタン353が不活性化されている状態を示している。操作ボタン353に対しては、利用者は、操作ができない。操作ボタン354「施錠」については、現在操作できる操作ボタンであることを表現するため、操作ボタンの表示のコントラストを上げて、活性化されている状態を示している。利用者は、操作ボタン354に対する操作が可能である。なお、操作ボタンの色だけでなく、サイズや形などのデザインにより、活性化又は不活性化されていることを表現してもよい。
フィールド359は、操作内容355「リビングライト操作」と、これに対応して、操作ボタン356「ON」及び操作ボタン357「OFF」を含む。ここで、操作ボタン356及び操作ボタン357に対して、利用者は、操作が可能である。
図12に示す機器操作画面351では、各機器に対応する操作に応じて、操作内容及び操作ボタンを表示しているが、各機器の機能毎の操作に応じて、操作内容及び操作ボタンを表示してもよい。例えば、テレビ受像機である機器について、チャネルの切替え、番組の予約などの機能毎に、操作内容及び操作ボタンを表示してもよい。
ここでは、端末装置300において、機器操作画面351を生成している。しかし、これには、限定されない。確認サーバ装置200が機器操作画面351を生成し、生成した機器操作画面351を端末装置300に対して送信してもよい。端末装置300は、機器操作画面351を受信し、受信した機器操作画面351を表示する。
(アカウント取得部908)
アカウント取得部908は、配信サーバ装置100から、ネットワーク20及び通信部302を介して、利用者識別子及びパスワードの要求を受信する。利用者識別子及びパスワードの要求を受信すると、アカウント取得部908は、入力部310に対して、利用者識別子及びパスワードの入力を受け付けるように制御する。
制御プログラムの起動が受け付けられ、確認サーバ装置200に対する接続要求が送信される場合に、アカウント取得部908は、入力部310に対して、ログインの要否の入力を受け付けるように制御する。次に、アカウント取得部908は、入力部310からログインの要否を受け取る。次に、アカウント取得部908は、通信部302及びネットワーク20を介して、ログインの要否を確認サーバ装置200に対して送信する。
また、アカウント取得部908は、受け取ったログインの要否が、ログインを要求することを示すか要求しないことを示すかを判断する。受け取ったログインの要否が、ログインを要求することを示す場合、アカウント取得部908は、入力部310に対して、利用者識別子及びパスワードの入力を受け付けるように制御する。受け取ったログインの要否が、ログインを要求しないことを示す場合、アカウント取得部908は、入力部310に対して、利用者識別子及びパスワードの入力を受け付けるように要求しない。
アカウント取得部908は、入力部310から、利用者識別子及びパスワードを受け取る。次に、アカウント取得部908は、入力を受け付けた利用者識別子及びパスワードを、安全な手段により、通信部302及びネットワーク20を介して、配信サーバ装置100に対して送信する。
(機器制御ルール取得部909)
機器制御ルール取得部909は、入力部310から、制御ルールの変更操作を受け取る。次に、機器制御ルール取得部909は、制御ルールの変更操作を、通信部302及びネットワーク20を介して、確認サーバ装置200に対して送信する。
(操作指示取得部910)
受け付けた操作指示が処理の終了ではない場合、操作指示取得部910は、受け取った操作指示を、通信部302及びネットワーク20を介して、確認サーバ装置200に対して送信する。
入力部310から操作の終了を示す操作指示を受け取った場合、操作指示取得部910は、端末装置300の処理を終了するように制御する。
(6)制御部301
制御部301は、通信部302、相互認証部303、鍵格納部304、プログラム格納部305、プログラム実行部306、付随データ格納部307、入出力部308、表示部309、入力部310及び検証部311を制御する。
制御部301は、配信サーバ装置100から、ネットワーク20及び通信部302を介して、様々なメッセージを受信する。次に、受信したメッセージを表示部309に対して出力する。
制御部301は、ログインが正常にされていないことを示すメッセージを表示部309に対して出力する。また、制御部301は、固有識別子が取得されていないことを示すメッセージを表示部309に対して出力する。
(7)入力部310、表示部309及び入出力部308
入力部310は、端末装置300の利用者から、操作指示及びデータを受け付ける。
具体的には、入力部310は、制御プログラムを取得する指示、利用者識別子及びパスワード、ログインの要否、制御プログラムの起動の操作、機器情報の取得の要求、機器に対する遠隔操作に関連する指示、制御ルールの変更操作を受け付ける。次に、入力部310は、受け付けた操作指示及びデータを制御部301に対して、出力する。機器に対する遠隔操作に関連する指示には、機器に対する遠隔操作命令が含まれる。遠隔操作命令は、具体的には、テレビ受像機である機器500aに対する電源ONの指示、電源OFFの指示、エアコンである機器500bに対する電源ONの指示、電源OFFの指示、リビングライトである機器500cに対する電源ONの指示、電源OFFの指示等を含む。
表示部309は、制御部301又は通信部302から様々なメッセージを受け取る。次に、受け取ったメッセージを表示する。前記メッセージには、ログインが正常にされていないことを示すメッセージ、固有識別子が取得されていないことを示すメッセージ等が含まれる。
表示部309は、機器操作メニューとして、図12に示す機器操作画面351を表示する。また、表示部309は、制御ルールの変更にために用いられ、図13に示す制御ルール変更画面361を表示する。
入出力部308は、メモリカード400とプログラム実行部306との間で、メモリカード400と通信部302との間で、又は、メモリカード400と制御部301との間で、情報の送受信を中継する。
2.5 メモリカード400
メモリカード400は、図14に示すように、制御部401、相互認証部403、鍵格納部404、固有識別子格納部407及び入出力部408から構成される。
メモリカード400は、具体的には、マイクロプロセッサ、ROM、RAM、入出力デバイスなどから構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、メモリカード400は、その機能を達成する。
(1)固有識別子格納部407及び鍵格納部404
固有識別子格納部407は、不揮発性の半導体メモリから構成されている。固有識別子格納部407は、メモリカード400に固有の固有識別子を記憶している。固有識別子は、一例として、32ビット長である。
鍵格納部404は、予め、システム鍵Kscを記憶している。
(2)制御部401
制御部401は、相互認証部403、鍵格納部404、固有識別子格納部407及び入出力部408を制御する。
また、制御部401は、確認サーバ装置200から、ネットワーク20、端末装置300及び入出力部408を介して、固有識別子の要求を受信する。固有識別子の要求を受信すると、制御部401は、固有識別子格納部407から固有識別子の読み出しを試みる。固有識別子の読み出しに成功した場合、制御部401は、読み出した固有識別子を、安全な手段により、入出力部408、端末装置300及びネットワーク20を介して、確認サーバ装置200に対して、送信する。また、固有識別子の読み出しに失敗したときは、制御部401は、固有識別子が無いことを示すメッセージを、安全な手段により、入出力部408、端末装置300及びネットワーク20を介して、確認サーバ装置200に対して送信する。
また、制御部401は、端末装置300から、入出力部408を介して、固有識別子の要求を受け取る。固有識別子の要求を受け取ると、制御部401は、固有識別子格納部407から固有識別子の読み出しを試みる。固有識別子の読み出しに成功した場合、制御部401は、読み出した固有識別子を、安全な手段により、端末装置300に対して出力する。固有識別子の読み出しに失敗した場合、制御部401は、固有識別子が無いことを示すメッセージを、安全な手段により、端末装置300に対して出力する。
(3)相互認証部403
端末装置300から確認サーバ装置200に対して、接続要求が送信されたとき、確認サーバ装置200からの要求により、相互認証部403は、確認サーバ装置200の相互認証部203との間で、相互認証を行い、確認サーバ装置200と共有鍵を共有する。
また、端末装置300から確認サーバ装置200に対して、機器500に対する操作指示が送信されたとき、端末装置300からの要求により、相互認証部403は、端末装置300の相互認証部303との間で、相互認証を行い、端末装置300と共有鍵を共有する。
相互認証部403は、図15に示すように、暗号化部B11、乱数生成部B12、復号部B13、乱数比較部B14、鍵共有部B15及び暗復号化部B16から構成されている。
暗号化部B11は、相互認証の相手の装置から乱数R1を受け取る。乱数R1を受け取ると、システム鍵Kscを用いて、暗号化アルゴリズムE3により、乱数R1を暗号化して、暗号化乱数E3(Ksc、R1)を生成し、生成した暗号化乱数E3(Ksc、R1)を相手の装置へ送信する。
ここで、暗号化アルゴリズムE3は、秘密鍵暗号方式による暗号化アルゴリズムである。暗号化アルゴリズムE3は、一例として、AESによるものである。E3(K、A)は、鍵Kを用いて、平文Aに対して暗号化アルゴリズムE3を施して生成した暗号文を示す。
乱数生成部B12は、乱数R2を生成する。次に、生成した乱数R2を乱数比較部B14に出力する。また、生成した乱数R2を相互認証の相手の装置に送信する。
復号部B13は、相互認証の相手の装置から、暗号化乱数E4(Ksc、R2)を受け取る。次に、システム鍵Kscを用いて、復号アルゴリズムD4により、受け取った暗号化乱数E4(Ksc、R2)を復号して復号文R2’=D4(Ksc、E4(Ksc、R2))を生成する。次に、生成した復号文R2’を乱数比較部B14へ出力する。
ここで、復号アルゴリズムD4は、秘密鍵暗号方式による暗号化アルゴリズムである。復号アルゴリズムD4は、一例として、AESによるものである。E4(K、A)は、鍵Kを用いて、平文Aに対して暗号化アルゴリズムE4を施して生成した暗号文を示す。また、D4(K、B)は、鍵Kを用いて、暗号文Bに対して復号アルゴリズムD4を施して生成した復号文を示す。
乱数比較部B14は、乱数R2を受け取り、復号文R2’を受け取る。次に、乱数R2と復号文R2’とを比較する。乱数R2と復号文R2’とが一致する場合に、相互認証部403は、相手の装置が正当であると判断する。乱数R2と復号文R2’とが一致しない場合に、相互認証部403は、相手の装置が不正であると判断する。
相互の認証に成功すると、鍵共有部B15は、鍵共有の処理を実行して、共有鍵k’を算出する。相互の認証に失敗すると、共有鍵k’の算出は、行われない。
相互の認証に成功すると、暗復号化部B16は、算出された共有鍵k’を用いて、データを暗号化して、暗号化データを生成する。暗号化データは、相手の装置に送信される。また、暗復号化部B16は、相手の装置から暗号化データを受信する。次に、算出された共有鍵k’を用いて、暗号化データを復号して、元のデータを生成する。
(4)入出力部408
入出力部408は、端末装置300から情報を受け取り、受け取った情報を制御部401又は相互認証部403に対して出力する。
また、入出力部408は、制御部401又は相互認証部403から情報を受け取り、受け取った情報を端末装置300に対して出力する。
2.6 機器500
ここでは、機器500a、500b、500c、500d及び500eを代表して、機器500として説明する。
機器500は、図16に示すように、機構制御部501、通信部502、命令受信部506、情報通知部507及び機構508から構成されている。
機構508は、機器500の機能を達成するための主たる機構である。機器500が照明器具である場合、機構508は、照明機構である。機器500がテレビ受像機である場合、機構508は、放送波を受信し、受信した放送波から利用者の所望のチャネルの番組を抽出し、抽出した番組を再生して表示する。機器500が扉である場合、機構508は、扉の施錠及び開錠を制御するロック機構である。
機構508は、機構制御部501から、遠隔操作命令を含む操作指示を受け取り、受け取った操作指示に含まれる遠隔操作命令に従って、動作する。
通信部510は、ネットワーク20を介して、確認サーバ装置200との間で情報の送受信を行う。
情報通知部507は、機構制御部501から、機器が有する機構508の状態を示す機器状態情報を受け取り、受け取った機器状態情報を、通信部502及びネットワーク20を介して、確認サーバ装置200に対して送信する。
命令受信部506は、確認サーバ装置200から、ネットワーク20及び通信部502を介して、機器500の機構508を制御する遠隔操作命令を受信し、受信した遠隔操作命令を機構制御部501に対して出力する。
機構制御部501は、命令受信部506から、遠隔操作命令を受け取り、受け取った遠隔操作命令により、機構508を制御する。また、機構508から、機構508の状態を示す機器状態情報を取得し、取得した機器状態情報を情報通知部507に対して出力する。
機構制御部501は、確認サーバ装置200から、ネットワーク20、通信部502及び命令受信部506を介して、機器状態情報の取得の要求を受信する。次に、機構制御部501は、機器状態情報の取得の要求から、取得の対象である機器に関する機器情報を抽出し、抽出した機器情報に対応する機器状態情報を機構508から取得する。次に、機構制御部501は、取得した機器状態情報を、情報通知部507、通信部502及びネットワーク20を介して、確認サーバ装置200に対して送信する。
2.7 遠隔操作システム10における動作
(1)制御プログラムの制作及び制御プログラムの配信の手順
制御プログラムの制作及び制御プログラムの配信の手順について、図17に示すシーケンス図を用いて説明する。
確認サーバ装置200のプログラム制作部206は、確認サーバ装置200の利用者の操作により、制御プログラムを制作する。次に、プログラム制作部206は、制作された制御プログラムをプログラム格納部207に書き込む(ステップS101)。
署名生成部214は、鍵格納部204から、確認サーバ装置200に割り当てられた私有鍵を読み出し、プログラム格納部207から制御プログラムを読み出す。次に、読み出した私有鍵を用いて、読み出した制御プログラムにデジタル署名Signを施して、署名データを生成する。次に、署名生成部214は、生成した署名データを制御プログラムに付加し、署名データが付加された制御プログラムを、プログラム格納部207に記憶されている制御プログラムに上書きする(ステップS102)。
次に、確認サーバ装置200の相互認証部203と配信サーバ装置100の相互認証部103とは、相互認証及び鍵共有を行う(ステップS103)。なお、相互認証及び鍵共有の詳細手順については、後述する。
次に、通信部202は、プログラム格納部207から制御プログラムを読み出す(ステップS104)。
次に、確認サーバ装置200の通信部202は、読み出した制御プログラムを、安全な手段により、ネットワーク20を介して、配信サーバ装置100に送信する(ステップS105)。次に、配信サーバ装置100の通信部102は、確認サーバ装置200から、ネットワーク20を介して、安全な手段により、前記制御プログラムを受信する(ステップS105)。
ここで、安全な手段による通信は、次の方法により実現される。
相互認証部203は、ステップS103に示す相互認証及び鍵共有の手順において、生成された共有鍵を用い、制御プログラムを暗号化して暗号化制御プログラムを生成する。ステップS105において、通信部202は、暗号化制御プログラムを、ネットワーク20を介して、配信サーバ装置100に送信する。次に、通信部102は、確認サーバ装置200から、ネットワーク20を介して、暗号化制御プログラムを受信する。相互認証部103は、ステップS103に示す相互認証及び鍵共有の手順において、生成された共有鍵を用い、暗号化制御プログラムを復号して、制御プログラムを生成する。
次に、通信部102は、受信した制御プログラムを記憶部105に書き込む(ステップS106)。
以上の手順により、制御プログラムが確認サーバ装置200から配信サーバ装置100に送信される。
次に、端末装置300の入力部310は、端末装置300の利用者から、制御プログラムを取得する指示を受け付ける(ステップS111)。
次に、配信サーバ装置100の相互認証部103と端末装置300の相互認証部303とは、相互認証及び鍵共有を行う(ステップS112)。
次に、通信部302は、制御部301の制御により、制御プログラムの要求を、ネットワーク20を介して、配信サーバ装置100に対して送信する(ステップS113)。配信サーバ装置100の制御部101は、端末装置300から、ネットワーク20及び通信部102を介して、制御プログラムの要求を受信する(ステップS113)。
次に、制御部101は、通信部102及びネットワーク20を介して、端末装置300に対して、利用者識別子及びパスワードの要求を送信する(ステップS114)。アカウント取得部908は、配信サーバ装置100から、ネットワーク20及び通信部302を介して、利用者識別子及びパスワードの要求を受信する(ステップS114)。
次に、入力部310は、端末装置300の利用者から、利用者識別子及びパスワードの入力を受け付ける(ステップS115)。アカウント取得部908は、入力を受け付けた利用者識別子及びパスワードを、安全な手段により、通信部302及びネットワーク20を介して、配信サーバ装置100に対して送信する(ステップS116)。アカウント確認部107は、端末装置300から、ネットワーク20及び通信部102を介して、安全な手段により、利用者識別子及びパスワードを受信する(ステップS116)。ここで、安全な手段とは、上述した暗号化及び復号の方法によるものである。
次に、アカウント確認部107は、受信した利用者識別子及びパスワードが、アカウント格納部106に記憶されているか否かを確認する(ステップS117)。受信した利用者識別子及びパスワードが、アカウント格納部106に記憶されていない場合、ログインに失敗した(ログイン異常)とみなす。受信した利用者識別子及びパスワードが、アカウント格納部106に記憶されている場合、ログインに成功した(ログイン正常)とみなす。
ログイン異常の場合(ステップS118で「異常」)、アカウント確認部107は、ログイン異常を示すメッセージを生成する(ステップS119)。次に、当該メッセージを、通信部102及びネットワーク20を介して、端末装置300に対して送信する(ステップS120)。これにより、配信サーバ装置100における処理は、終了する。
端末装置300の制御部301は、配信サーバ装置100から、ネットワーク20及び通信部302を介して、前記メッセージを受信する(ステップS120)。次に、表示部309は、受信した前記メッセージを表示する(ステップS121)。これにより、端末装置300の処理は、終了する。
ログイン正常の場合(ステップS118で「正常」)、制御部101は、記憶部105から制御プログラムを読み出す(ステップS122)。次に、制御部101は、読み出した制御プログラムを、安全な手段により、通信部102及びネットワーク20を介して、端末装置300に対して送信する(ステップS123)。通信部302は、配信サーバ装置100から、ネットワーク20を介して、安全な手段により、制御プログラムを受信する(ステップS123)。ここで、安全な手段については、上述した通りである。次に、通信部302は、受信した制御プログラムをプログラム格納部305に書き込む(ステップS124)。次に、プログラム実行部306は、制御プログラムをプログラム格納部305にインストールする(ステップS125)。
以上の手順により、制御プログラムが配信サーバ装置100から端末装置300に送信される。
(2)制御プログラムの起動の手順
制御プログラムの起動の手順について、図18〜図20に示すシーケンス図を用いて説明する。
端末装置300の入力部310は、端末装置300の利用者から、制御プログラムの起動の操作を受け付ける(ステップS130)。この時点を第1時点と呼ぶ。
検証部311は、鍵格納部304から、確認サーバ装置200に割り当てられた公開鍵を読み出す。次に、検証部311は、読み出した公開鍵を用いて、プログラム格納部305にインストールされた制御プログラム331の署名領域334に記憶されている署名データ334a、実行部領域332及び第1データ領域333に対して、デジタル署名検証Vrfyを施す(ステップS131)。デジタル署名検証Vrfyによる検証結果が失敗である場合(ステップS132で「失敗」)、検証部311は、デジタル署名検証Vrfyに失敗した旨を示すメッセージを生成し、表示部309は、当該メッセージを表示する(ステップS133)。これにより、端末装置300は、処理を終了する。
デジタル署名検証Vrfyによる検証結果が成功である場合(ステップS132で「成功」)、プログラム実行部306は、制御プログラムを実行状態にする(ステップS134)。付随データ処理部901は、付随データ格納部307に付随データが格納されているか否かを判断する(ステップS135)。
付随データ格納部307に付随データが格納されている場合(ステップS135で「有り」)、検証部311は、鍵格納部304から、確認サーバ装置200に割り当てられた公開鍵を読み出す。次に、検証部311は、読み出した公開鍵を用いて、付随データ格納部307に記録されている付随データの署名領域に記憶されている署名データ、変数領域に記録されている変数Kに対して、デジタル署名検証Vrfyを施す(ステップS136)。デジタル署名検証Vrfyによる検証結果が失敗である場合(ステップS137で「失敗」)、検証部311は、デジタル署名検証Vrfyに失敗した旨を示すメッセージを生成し、表示部309は、当該メッセージを表示する(ステップS138)。これにより、端末装置300は、処理を終了する。
デジタル署名検証Vrfyによる検証結果が成功である場合(ステップS137で「成功」)、付随データ処理部901は、付随データ格納部307に格納されている付随データを制御プログラム331の第2データ領域335に上書きする(ステップS139)。
付随データ格納部307に付随データが格納されていない場合(ステップS135で「無し」)、検証部311による検証及び付随データ処理部901による付随データの上書きを行わない。
制御部301は、機器500に対する遠隔操作のための接続要求を、通信部302及びネットワーク20を介して、確認サーバ装置200に対して送信する(ステップS140)。制御部201は、端末装置300から、ネットワーク20及び通信部202を介して、接続要求を受信する(ステップS140)。
次に、確認サーバ装置200の相互認証部203と端末装置300の相互認証部303とは、相互認証及び鍵共有を行う(ステップS141)。
次に、確認サーバ装置200の相互認証部203とメモリカード400の相互認証部403とは、相互認証及び鍵共有を行う(ステップS142)。
確認サーバ装置200の制御部201は、通信部202、ネットワーク20及び端末装置300を介して、メモリカード400に対して、固有識別子の要求を送信する(ステップS143)。メモリカード400の制御部401は、確認サーバ装置200から、ネットワーク20、端末装置300及び入出力部408を介して、固有識別子の要求を受信する(ステップS143)。次に、制御部401は、固有識別子格納部407から固有識別子Yの読み出しを試みる(ステップS144)。制御部401は、読み出した固有識別子Yを、安全な手段により、入出力部408、端末装置300及びネットワーク20を介して、確認サーバ装置200に対して、送信する(ステップS145)。また、制御部401は、固有識別子Yの読み出しに失敗したときは、固有識別子が無いことを示すメッセージを、安全な手段により、入出力部408、端末装置300及びネットワーク20を介して、確認サーバ装置200に対して送信する(ステップS145)。
制御部201は、メモリカード400から、端末装置300、ネットワーク20及び通信部202を介して、安全な手段により、固有識別子Y又は固有識別子が無いことを示すメッセージを受信する。また、制御部201は、メモリカード400に対して、固有識別子の要求を送信した後、所定時間を経過しても、固有識別子Y又は固有識別子が無いことを示すメッセージを受信しないときは、固有識別子が無いことを示すメッセージを生成する(ステップS145)。
次に、端末装置300の入力部310は、端末装置300の利用者からログインの要否を受け付ける(ステップS146)。次に、アカウント取得部908は、通信部302及びネットワーク20を介して、ログインの要否を確認サーバ装置200に対して送信する(ステップS147)。
次に、アカウント取得部908は、受け付けたログインの要否が、ログインを要求することを示すか要求しないことを示すかを判断する(ステップS148)。
ログインを要求することを示す場合(ステップS148で「要」)、入力部310は、端末装置300の利用者から、利用者識別子及びパスワードの入力を受け付ける(ステップS149)。次に、アカウント取得部908は、受け付けた利用者識別子及びパスワードを、通信部302及びネットワーク20を介して、確認サーバ装置200に対して、安全な手段により、送信する(ステップS150)。
アカウント確認部215は、端末装置300から、ネットワーク20及び通信部202を介して、ログインの要否を受け取る(ステップS150)。
アカウント確認部215は、受け取ったログインの要否が、ログインを要求することを示すか要求しないことを示すかを判断する(ステップS156)。
ログインの要否が、ログインを要求しないことを示す場合(ステップS156で「否」)、制御をステップS162へ移す。
ログインの要否が、ログインを要求することを示す場合(ステップS156で「要」)、アカウント確認部215は、端末装置300から、ネットワーク20及び通信部202を介して、安全な手段により、利用者識別子及びパスワードを受信する(ステップS150)。次に、アカウント確認部215は、受信した利用者識別子及びパスワードの組が、アカウント管理テーブル261に記憶されているか否かを確認する(ステップS151)。アカウント確認部215は、受信した利用者識別子及びパスワードが、アカウント管理テーブル261に記憶されていない場合、ログインに失敗した(ログイン異常)とみなす。アカウント確認部215は、受信した利用者識別子及びパスワードが、アカウント管理テーブル261に記憶されている場合、ログインに成功した(ログイン正常)とみなす。
ログイン異常の場合(ステップS152で「異常」)、アカウント確認部215は、ログイン異常を示すメッセージを生成する(ステップS153)。次に、当該メッセージを、通信部202及びネットワーク20を介して、端末装置300に対して送信する(ステップS154)。これにより、確認サーバ装置200における処理は、終了する。
端末装置300の通信部302は、確認サーバ装置200から、ネットワーク20を介して、前記メッセージを受信する(ステップS154)。次に、表示部309は、前記メッセージを表示する(ステップS155)。これにより、端末装置300の処理は、終了する。
ログイン正常の場合(ステップS152で「正常」)、制御部101は、利用者識別子及びパスワードを記憶する(ステップS161)。
次に、付随データ生成部208は、メモリカード400から固有識別子を受信しているか否かを確認する(ステップS162)。固有識別子を受信している場合(ステップS162で「有り」)、付随データ生成部208は、乱数Rを生成し(ステップS163)、変数K=固有識別子Y XOR 乱数Rを算出する(ステップS164)。次に、付随データ生成部208は、算出して得られた変数Kを含む付随データを生成する(ステップS165)。次に、署名生成部214は、付随データに対してデジタル署名Signを施して、署名データを生成し、生成した署名データを付随データに付加する(ステップS166)。次に、付随データ生成部208は、付随データ及び乱数Rを、通信部202及びネットワーク20を介して、端末装置300に対して、安全な手段により、送信する(ステップS167)。
固有識別子を受信していない場合(ステップS162で「無し」)、乱数Rの生成、変数Kの算出、付随データの生成、署名データの生成及び付随データ及び乱数Rの送信は、行われない。
付随データ処理部901は、確認サーバ装置200から、ネットワーク20及び通信部302を介して、付随データ及び乱数Rを、安全な手段により、受信する場合がある(ステップS167)。
次に、付随データ処理部901は、付随データ及び乱数Rを受信したか否かを確認する(ステップS168)。
付随データ及び乱数Rを受信した場合(ステップS168で「YES」)、付随データ処理部901は、受信した付随データを、付随データ格納部307に書き込む(ステップS169)。次に、付随データ処理部901は、受信した乱数Rを、付随データ格納部307に書き込む(ステップS170)
付随データ及び乱数Rを受信しなかった場合(ステップS168で「NO」)、付随データ及び乱数Rの書き込みは、行われない。
端末装置300の入力部310は、端末装置300の利用者から、操作指示を受け付ける(ステップS181)。この時点を第2時点と呼ぶ。受け付けた操作指示が処理の終了を示す場合(ステップS182で「YES」)、端末装置300は、処理を終了する。
受け付けた操作指示が処理の終了ではない場合(ステップS182で「NO」)、操作指示取得部910は、受け取った操作指示を、通信部302及びネットワーク20を介して、確認サーバ装置200に対して送信する(ステップS183)。
確認サーバ装置200の機器制御部213は、端末装置300から、ネットワーク20及び通信部202を介して、操作指示を受け取る(ステップS183)。次に、信頼性評価部210は、固有識別子を受け取ったか否かを判断する(ステップS200)。
固有識別子を受け取った場合(ステップS200で「有り」)、付随データ生成部208は、付随データをプログラム格納部207に記憶されている制御プログラムに上書きする(ステップS201)。次に、信頼性評価部210は、制御プログラムにハッシュ演算Hashを施して、ハッシュ値Hを算出する(ステップS202)。次に、信頼性評価部210は、評価値S=固有識別子Y XOR Oneway(ハッシュ値H、乱数R)を算出する(ステップS203)。
ステップS183で操作指示を送信した後、端末装置300の相互認証部303と、メモリカード400の相互認証部403とは、相互認証及び鍵共有を行う(ステップS184)。
次に、端末装置300の固有識別子取得処理部902は、固有識別子の要求を、入出力部308を介して、メモリカード400に対して出力する(ステップS185)。次に、メモリカード400の制御部401は、端末装置300から、入出力部408を介して、固有識別子の要求を受け取る(ステップS185)。
固有識別子取得処理部902は、ステップS185において、固有識別子の要求を出力した後で、固有識別子Y’を「0」に設定する(ステップS186)。
メモリカード400の制御部401は、固有識別子格納部407から固有識別子の読み出しを試みる。ここでは、固有識別子Y’が読み出されるとする。読み出した固有識別子Y’を、安全な手段により、端末装置300に対して出力する。固有識別子の読み出しができない場合、制御部401は、固有識別子が無いことを示すメッセージを、安全な手段により、端末装置300に対して出力する(ステップS188)。
次に、固有識別子取得処理部902は、メモリカード400から固有識別子Y’を受け取ったか否かを判断する(ステップS189)。固有識別子Y’を受け取った場合(ステップS189で「有り」)、固有識別子取得処理部902は、ハッシュ値H’=Hash(プログラム格納部305に格納されている制御プログラム)を算出する(ステップS190)。次に、固有識別子取得処理部902は、評価値S’=固有識別子Y’ XOR Oneway(ハッシュ値H’、乱数R)を算出する(ステップS191)。次に、固有識別子取得処理部902は、評価値S’を、通信部302及びネットワーク20を介して、確認サーバ装置200に対して送信する(ステップS192)。
信頼性評価部210は、端末装置300から、ネットワーク20及び通信部202を介して、評価値S’を受信する(ステップS192)。
次に、信頼性評価部210は、算出された評価値Sと受信された評価値S’とが一致するか否かを判断する(ステップS204)。評価値Sと評価値S’とが一致しない場合(ステップS204で「不一致」)、信頼性評価部210は、機器制御部213に対して、機器に対する操作を禁止する禁止情報を出力し、評価値Sと評価値S’とが一致しない旨を示すメッセージを生成する(ステップS205)。次に、生成したメッセージを、通信部202及びネットワーク20を介して、端末装置300に対して送信する(ステップS206)。
端末装置300の制御部301は、確認サーバ装置200から、ネットワーク20及び通信部302を介して、評価値Sと評価値S’とが一致しない旨を示す前記メッセージを受け取る(ステップS206)。次に、表示部309は、受け取ったメッセージを表示する(ステップS207)。これにより、端末装置300による処理を終了する。
評価値Sと評価値S’とが一致する場合(ステップS204で「一致」)、機器制御部213に対して、機器に対する操作を許可する許可情報を出力し、機器に対する遠隔処理等が行われる(ステップS208)。これにより、処理が終了する。
固有識別子を受け取っていない場合(ステップS200で「無し」)、付随データの上書き、ハッシュ値Hの算出、評価値Sの算出及び評価値Sと評価値S’の比較は、行われない。
なお、ステップS208において、機器に対する遠隔処理等が終了した後で、利用者は、制御プログラムを終了させるとしてもよい。又は、ステップS208において、機器に対する遠隔処理等が終了した後で、ステップS130に戻って、処理を繰り返すとしてもよい。
また、ステップS208において、機器に対する遠隔処理等が終了した後で、ステップS181に戻って、処理を繰り返すとしてもよい。
(3)機器の遠隔処理及び関連する処理の手順
機器の遠隔処理及び関連する処理の手順について、図21に示すフローチャートを用いて説明する。なお、ここで説明する機器の遠隔処理及び関連する処理は、図20のステップS208の詳細である。
機器制御部213は、端末装置300から、ネットワーク20及び通信部202を介して受信した操作指示が、機器500に関する情報の取得の要求、機器500の遠隔操作に関連する指示、機器制御ルールの修正の指示及びその他の指示のいずれであるかを判断する(ステップS251)。
操作指示が、機器500に関する情報の取得の要求である場合(ステップS251で「機器情報取得要求」)、機器制御部213は、機器500に関する情報の取得の処理を行う(ステップS252)。
操作指示が、機器500の遠隔操作に関連する指示である場合(ステップS251で「遠隔操作関連指示」)、機器制御部213は、機器500の遠隔操作に関連する処理を行う(ステップS253)。
操作指示が、機器制御ルールの修正の指示である場合(ステップS251で「機器制御ルール修正指示」)、機器制御部213は、機器制御ルールの修正の処理を行う(ステップS254)。
操作指示が、その他の指示である場合(ステップS251で「他の指示」)、機器制御部213は、その他の処理を行う(ステップS255)。
これにより、機器の遠隔処理及び関連する処理を終了する。
(4)機器500に関する情報の取得の手順
機器500に関する情報の取得の手順について、図22に示すフローチャートを用いて説明する。なお、ここで説明する機器500に関する情報の取得の手順は、図21のステップS252の詳細である。
機器制御部213は、機器500に関する情報の取得の要求から、機器情報を抽出し、抽出した機器情報に対応する条件を、条件テーブル271から読み出す(ステップS301)。
次に、確認サーバ装置200の現在の状態が、条件テーブル271から読み出された条件を満たすか否かを判断する(ステップS302)。
確認サーバ装置200の現在の状態が、読み出した条件を満たしていない場合(ステップS302で「満たさない」)、機器制御部213は、機器の状態を示す機器状態情報の取得ができない旨を示すメッセージを生成する(ステップS303)。次に、生成したメッセージを、通信部202及びネットワーク20を介して、端末装置300に対して送信する(ステップS304)。
端末装置300の機器操作提示部907は、確認サーバ装置200から、ネットワーク20及び通信部302を介して、機器状態情報の取得ができない旨を示すメッセージを受信する(ステップS304)。次に、機器操作提示部907は、受信したメッセージを表示部309に対して出力する。表示部309は、メッセージを受け取り、受け取ったメッセージを表示する(ステップS310)。これにより、機器状態情報の取得の処理を終了する。
確認サーバ装置200の現在の状態が、読み出した条件を満たしている場合(ステップS302で「満たす」)、機器制御部213は、機器状態情報の取得の要求を、通信部202及びネットワーク20を介して、機器500に対して出力する(ステップS305)。
機器500の機構制御部501は、確認サーバ装置200から、ネットワーク20、通信部502及び命令受信部506を介して、機器状態情報の取得の要求を受信する(ステップS305)。次に、機構制御部501は、機器状態情報の取得の要求から、取得の対象である機器に関する機器情報を抽出し、抽出した機器情報に対応する機器状態情報を機構508から取得する(ステップS306)。次に、機構制御部501は、取得した機器状態情報を、情報通知部507、通信部502及びネットワーク20を介して、確認サーバ装置200に対して送信する(ステップS307)。
確認サーバ装置200の機器制御部213は、機器500から、ネットワーク20及び通信部202を介して、機器状態情報を受信する(ステップS307)。次に、受信した機器状態情報を含むメッセージを生成する(ステップS308)。次に、機器制御部213は、生成したメッセージを、通信部202及びネットワーク20を介して、端末装置300に対して送信する(ステップS309)。
端末装置300の機器操作提示部907は、確認サーバ装置200から、ネットワーク20及び通信部302を介して、機器状態情報を含むメッセージを受信する(ステップS309)。次に、機器操作提示部907は、受信したメッセージを表示部309に対して出力する。表示部309は、メッセージを受け取り、受け取ったメッセージを表示する(ステップS310)。これにより、機器状態情報の取得の処理を終了する。
(5)機器500に対する遠隔操作に関連する処理の手順
機器500に対する遠隔操作に関連する処理の手順について、図23に示すフローチャートを用いて説明する。なお、ここで説明する機器500に対する遠隔操作に関連する処理の手順は、図21のステップS253の詳細である。
機器制御部213は、制御ルール管理テーブル281に含まれている全ての制御ルール情報について、ステップS332〜S338を繰り返す(ステップS331〜S339)。
機器制御部213は、制御ルール管理テーブル281から一つの制御ルール情報を読み出す(ステップS332)。
次に、機器制御部213は、確認サーバ装置200の現在の状態が、読み出した制御ルール情報に含まれる条件を満たすか否かを判断する(ステップS333)。
確認サーバ装置200の現在の状態が、読み出した条件を満たしていない場合(ステップS333で「満たさない」)、機器制御部213は、読み出した制御ルール情報から、操作内容を抽出し、抽出した操作内容の取得ができない旨を示すメッセージを生成する(ステップS334)。次に、生成したメッセージを、通信部202及びネットワーク20を介して、端末装置300に対して送信する(ステップS335)。
確認サーバ装置200の現在の状態が、読み出した条件を満たしている場合(ステップS333で「満たす」)、機器制御部213は、読み出した制御ルール情報から、操作内容及び項目を抽出し(ステップS336)、抽出した操作内容及び項目を含むメッセージを生成する(ステップS337)。次に、生成したメッセージを、通信部202及びネットワーク20を介して、機器500に対して出力する(ステップS338)。
端末装置300の機器操作提示部907は、確認サーバ装置200から、ネットワーク20及び通信部302を介して、前記メッセージを受信する(ステップS335、S338)。
次に、機器操作提示部907は、受信したメッセージを用いて、機器操作メニューを生成し、表示部309は、機器操作メニューを表示する(ステップS340)。
入力部310は、端末装置300の利用者から、機器500に対する操作指示を受け付ける(ステップS341)。制御部301は、操作指示を、通信部302及びネットワーク20を介して、確認サーバ装置200に対して送信する。確認サーバ装置200の機器制御部213は、操作指示を、通信部202及びネットワーク20を介して、機器500に対して送信する(ステップS342)。
機器500の機構制御部501は、確認サーバ装置200から、ネットワーク20、通信部502及び命令受信部506を介して、操作指示に含まれる遠隔操作命令を受け取る(ステップS342)。次に、機構制御部501は、受け取った操作指示に含まれる遠隔操作命令に従って、機構508を制御する。機構508は、操作指示に含まれる遠隔操作命令に従って動作する(ステップS343)。
以上により、機器500に対する遠隔操作に関連する動作を終了する。
(6)機器制御ルールの修正処理の手順
機器制御ルールの修正処理の手順について、図24に示すフローチャートを用いて説明する。なお、ここで説明する機器制御ルールの修正処理の手順は、図21のステップS254の詳細である。
機器制御部213は、端末装置300の利用者により、ログインが正常にされているか否かを判断する(ステップS361)。
ログインが正常にされていない場合(ステップS361で「異常」)、機器制御部213は、ログインが正常にされていないことを示すメッセージを生成する(ステップS363)。次に、生成したメッセージを、通信部202及びネットワーク20を介して、端末装置300に対して送信する(ステップS364)。制御部301は、ログインが正常にされていないことを示すメッセージを表示部309に対して出力する。表示部309は、当該メッセージを表示する(ステップS365)。これにより、機器制御ルールの修正処理を終了する。
ログインが正常にされている場合(ステップS361で「正常」)、機器制御部213は、機器制御部213は、固有識別子が取得されているか否かを判断する(ステップS362)。固有識別子が取得されていない場合(ステップS362で「無し」)、機器制御部213は、固有識別子が取得されていないことを示すメッセージを生成する(ステップS363)。次に、生成したメッセージを、通信部202及びネットワーク20を介して、端末装置300に対して送信する(ステップS364)。制御部301は、固有識別子が取得されていないことを示すメッセージを表示部309に対して出力する。表示部309は、当該メッセージを表示する(ステップS365)。これにより、機器制御ルールの修正処理を終了する。
固有識別子が取得されている場合(ステップS362で「有り」)、機器制御部213は、機器情報格納部212から、制御ルール管理テーブル281を読み出す(ステップS371)。次に、読み出した制御ルール管理テーブルを、通信部202、ネットワーク20を介して、端末装置300に対して送信する(ステップS372)。
端末装置300の機器制御ルール提示部906は、確認サーバ装置200から、ネットワーク20及び通信部302を介して、制御ルール管理テーブルを受信する(ステップS372)。
次に、機器制御ルール提示部906は、受信した制御ルール管理テーブルを用いて、制御ルール変更画面361を生成する(ステップS373)。表示部309は、制御ルール変更画面361を表示する(ステップS374)。
次に、入力部310は、制御ルールの変更操作を受け付ける。機器制御ルール取得部909は、制御ルールの変更操作を受け取る(ステップS375)。次に、機器制御ルール取得部909は、制御ルールの変更操作を、通信部302及びネットワーク20を介して、確認サーバ装置200に対して送信する(ステップS376)。
機器情報管理部217は、端末装置300から、ネットワーク20及び通信部202を介して、制御ルールの変更操作を受信する(ステップS376)。次に、機器情報管理部217は、受信した変更操作を用いて、機器情報格納部212に保持されている制御ルール管理テーブル281を変更する(ステップS377)。
以上により、機器制御ルールの修正処理を終了する。
(7)相互認証及び鍵共有の手順
確認サーバ装置200とメモリカード400との間の相互認証及び鍵共有の手順について、図25〜図26に示すシーケンス図を用いて説明する。
乱数生成部A10は、乱数R1を生成する(ステップS401)。次に、生成した乱数R1を、ネットワーク20及び端末装置300を介して、メモリカード400に送信する(ステップS402)。
暗号化部B11は、確認サーバ装置200から乱数R1を受信する(ステップS402)。次に、システム鍵Kscを用いて、暗号化アルゴリズムE3により、乱数R1を暗号化して、暗号化乱数E3(Ksc、R1)を生成する(ステップS403)。次に、生成した暗号化乱数E3(Ksc、R1)を、端末装置300及びネットワーク20を介して、確認サーバ装置200に対して送信する(ステップS404)。
復号部A13は、メモリカード400から、暗号化乱数E3(Ksc、R1)を受け取る(ステップS404)。次に、システム鍵Kscを用いて、復号アルゴリズムD3により、受け取った暗号化乱数E3(Ksc、R1)を復号して復号文R1’=D3(Ksc、E3(Ksc、R1))を生成する(ステップS405)。
乱数比較部A12は、乱数R1と復号文R1’とを比較する(ステップS406)。乱数R1と復号文R1’とが一致しない場合に(ステップS406で「不一致」)、相互認証部203は、メモリカード400が不正であると判断する。相互認証部203は、その旨を示すメッセージを生成し(ステップS407)、生成したメッセージを端末装置300に対して送信する(ステップS408)。端末装置300は、メッセージを受信し(ステップS408)、表示部309は、メッセージを表示する(ステップS409)。これにより、相互認証の処理を終了する。
次に、乱数生成部B10は、乱数R2を生成する(ステップS410)。次に、生成した乱数R2を確認サーバ装置200に送信する(ステップS411)。
一方、乱数R1と復号文R1’とが一致する場合に(ステップS406で「一致」)、相互認証部203は、相手の装置が正当であると判断する。暗号化部A14は、相手の装置から乱数R2を受け取る(ステップS411)。システム鍵Kscを用いて、暗号化アルゴリズムE4により、乱数R2を暗号化して、暗号化乱数E4(Ksc、R2)を生成し(ステップS412)、生成した暗号化乱数E4(Ksc、R2)をメモリカード400へ送信する(ステップS413)。
復号部B13は、確認サーバ装置200から、暗号化乱数E4(Ksc、R2)を受け取る(ステップS413)。次に、システム鍵Kscを用いて、復号アルゴリズムD4により、受け取った暗号化乱数E4(Ksc、R2)を復号して復号文R2’=D4(Ksc、E4(Ksc、R2))を生成する(ステップS414)。
乱数比較部B14は、乱数R2と復号文R2’とを比較する(ステップS415)。乱数R2と復号文R2’とが一致しない場合に(ステップS415で「不一致」)、相互認証部403は、その旨を示すメッセージを生成する(ステップS416)。次に、生成したメッセージを端末装置300に対して送信する(ステップS417)。端末装置300は、メッセージを受信し(ステップS417)、表示部309は、メッセージを表示する(ステップS418)。これにより、相互認証の処理を終了する。
一方、乱数R2と復号文R2’とが一致する場合に(ステップS415で「一致」)、相互認証部403は、相手の装置が正当であると判断する。
認証に成功した場合に(ステップS406で、「一致」)、鍵共有部A15は、スカラー値であるxAを設定する(ステップS431)。次に、楕円曲線上の点YA=xA*Gを算出する(ステップS432)。ここで、Gは、楕円曲線上の点である。また、a*Bは、楕円曲線上の乗算を示す。次に、鍵共有部A15は、楕円曲線上の点YAをメモリカード400に対して送信する(ステップS433)。
認証に成功した場合には(ステップS415で、「一致」)、鍵共有部B15は、スカラー値であるxBを設定する(ステップS434)。次に、楕円曲線上の点YB=xB*Gを算出する(ステップS435)。次に、鍵共有部B15は、楕円曲線上の点YBを確認サーバ装置200に対して送信する(ステップS436)。
鍵共有部A15は、スカラー値である共有鍵k=xA*YBを算出する(ステップS437)。
また、鍵共有部B15は、スカラー値である共有鍵k’=xB*YAを算出する(ステップS438)。 これにより、相互認証及び鍵共有の処理を終了する。
ここで、共有鍵k=xA*YB
=xA×(xB*G)
=xB×(xA*G)
=xB*YA
=共有鍵k’である。
なお、確認サーバ装置200と配信サーバ装置100との間の相互認証及び鍵共有、確認サーバ装置200と端末装置300との間の相互認証及び鍵共有、並びに、配信サーバ装置100と端末装置300との間の相互認証及び鍵共有についても、上記と同様であるので、説明を省略する。
3.その他の変形例
なお、本発明を上記の実施の形態に基づいて説明しているが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
(1)本発明の別の一態様は、遠隔操作システム10aであるとしてもよい。
遠隔操作システム10aは、図27に示すように、操作端末300a、可搬媒体400a、サーバ装置100a及び機器500fから構成されている。
操作端末300aは、記憶されている制御プログラム内の遠隔操作命令の実行により機器を遠隔操作する。サーバ装置100aは、操作端末300aと機器500fとの間において、遠隔操作を中継する。
サーバ装置100aは、図27に示すように、第1取得部101a、送信部102a、第2取得部103a、判断部104a及び禁止部105aから構成されている。
第1取得部101aは、第1時点において、機器500fに対する遠隔操作元の操作端末に近接する可搬媒体に固有の第1識別子を取得する。
送信部102aは、取得した前記第1識別子を前記操作端末に記憶されている前記制御プログラムに埋め込ませるために、前記第1識別子を前記操作端末に送信する。
第2取得部103aは、前記第1時点の後の第2時点において、機器500fに対する遠隔操作元の操作端末に近接する可搬媒体に固有の第2識別子を取得する。
判断部104aは、前記制御プログラムに埋め込まれた前記第1識別子と、第2取得部103aにより取得された前記第2識別子とが一致するか否かを判断する。
禁止部105aは、前記第1識別子と前記第2識別子とが一致しない場合、機器500fに対する遠隔操作を禁止する。
操作端末300aは、取得部301a、送信部302a及び埋込部303aから構成されている。
取得部301aは、操作端末300aは近接する可搬媒体400aから、可搬媒体400aに固有の識別子を取得する。
送信部302aは、取得した前記識別子をサーバ装置100aに対して送信する。
埋込部303aは、サーバ装置100aから、前記第1識別子を受信し、受信した第1識別子を前記制御プログラムに埋め込む。
ここで、サーバ装置100aは、第2取得部103aを有しないとしてもよい。この場合、第1取得部101aは、さらに、前記第1時点の後の第2時点において、機器500fに対する遠隔操作元の操作端末に近接する可搬媒体に固有の第2識別子を取得する。
(2)本発明の別の一態様は、遠隔操作システム10bであるとしてもよい。遠隔操作システム10bは、サーバ装置と操作端末と機器とから構成される。操作端末は、記憶されている制御プログラム内の遠隔操作命令の実行により機器を遠隔操作する。サーバ装置は、操作端末と機器との間において、遠隔操作を中継する。操作端末には、可搬媒体が装着される。可搬媒体は、当該可搬媒体に固有の識別子を保持している。図28に示すシーケンス図を用いて、遠隔操作システム10bについて説明する。
操作端末の取得部は、可搬媒体から、固有の第1識別子を取得する(ステップS501)。
操作端末の埋込部は、操作端末が記憶している制御プログラムに、取得した第1識別子を埋め込む(ステップS502)。
操作端末の送信部は、第1識別子が埋め込まれた制御プログラムをサーバ装置に対して送信する(ステップS503)。
サーバ装置の抽出部は、制御プログラムから第1識別子を抽出する(ステップS504)。
操作端末の取得部は、さらに、可搬媒体から、固有の第2識別子を取得する(ステップS505)。
操作端末の送信部は、さらに、取得した第2識別子をサーバ装置に対して送信する(ステップS506)。
サーバ装置の判断部は、抽出された第1識別子と、送信された第2識別子とを比較する(ステップS507)。第1識別子と第2識別子とが一致しない場合(ステップS507で「不一致」)、サーバ装置の制御部は、機器に対する遠隔操作を禁止する(ステップS508)。
第1識別子と第2識別子とが一致する場合(ステップS507で「一致」)、サーバ装置の制御部は、機器に対して、操作端末から受け取った操作指示を送信する(ステップS509)。
機器は、サーバ装置から操作指示を受信し(ステップS509)、受信した操作指示に従って動作する(ステップS510)。
(3)遠隔操作システム10bにおいて、次に示すようにしてもよい。
図28に示すステップS502において、端末装置の埋込部は、図29に示すように、一例として64ビット長の第1識別子を分割して、8個の第1識別子片602、第2識別子片603、・・・、第8識別子片604を生成する(ステップS601)。第1識別子片602、第2識別子片603、・・・、第8識別子片604は、一例として、それぞれ、8ビット長である。
制御プログラム605は、8個の第1領域610、第2領域611、・・・、第8領域612に分割されている。埋込部は、第1識別子片602を第1領域610の領域607に埋め込む。また、埋込部は、第2識別子片603を第2領域611の領域608に埋め込む。同様に、埋込部は、第8識別子片604を第8領域612の領域609に埋め込む。このように、埋込部は、各識別子片を、制御プログラム605の各領域に分散して埋め込む(ステップS602)。
図28に示すステップS504において、図29に示すように、サーバ装置の抽出部は、制御プログラム605の第1領域610の領域607から第1識別子片613を抽出する。また、制御プログラム605の第2領域611の領域608から第2識別子片614を抽出する。同様に、制御プログラム605の第8領域612の領域609から第8識別子片615を抽出する。このように、サーバ装置の抽出部は、制御プログラム605の各領域から各識別子片を抽出する。各識別子片は、8ビット長である。次に、抽出した8個の第1識別子片613、第2識別子片614、・・・、第8識別子片615をこの順序で結合して第1識別子616を生成する(ステップS603)。第1識別子616は、64ビット長である。
上記の埋込方法を、上記の実施の形態1及び2において、適用してもよい。
(4)遠隔操作システム10bにおいて、次に示すようにしてもよい。
図28に示すステップS502において、端末装置の埋込部は、図30に示すように、一例として64ビット長の第1識別子を分割して、8個の第1識別子片602、第2識別子片603、・・・、第8識別子片604を生成する(ステップS601)。第1識別子片602、第2識別子片603、・・・、第8識別子片604は、一例として、それぞれ、8ビット長である。
制御プログラム605は、8個の第1領域610、第2領域611、・・・、第8領域612に分割されている。埋込部は、第1識別子片602を第2領域611の領域607aに埋め込む。また、埋込部は、第2識別子片603を第2領域611の領域608aに埋め込む。同様に、埋込部は、第8識別子片604を第2領域611の領域609aに埋め込む。このように、埋込部は、各識別子片を、制御プログラム605の第2領域に埋め込む(ステップS602a)。
図28に示すステップS504において、図30に示すように、サーバ装置の抽出部は、制御プログラム605の第2領域611の領域607aから第1識別子片613aを抽出する。また、制御プログラム605の第2領域611の領域608aから第2識別子片614aを抽出する。同様に、制御プログラム605の第2領域611の領域609aから第8識別子片615aを抽出する。このように、サーバ装置の抽出部は、制御プログラム605の第2領域611から各識別子片を抽出する。各識別子片は、8ビット長である。次に、抽出した8個の第1識別子片613a、第2識別子片614a、・・・、第8識別子片615aをこの順序で結合して第1識別子616aを生成する(ステップS603a)。第1識別子616は、64ビット長である。
上記の埋込方法を、上記の実施の形態1及び2において、適用してもよい。
(5)遠隔操作システム10bにおいて、次に示すようにしてもよい。
図31に示すように、操作端末が記憶している制御プログラム651は、命令領域652とデータ領域653とから構成されている。命令領域652には、複数の命令が含まれる。複数の命令の一部は、ダミー命令654である。ダミー命令654は、実行されないように配置されている。データ領域653は、データを含む。
図28に示すステップS502において、端末装置の埋込部は、図31に示すように、第1識別子を、命令領域652内のダミー命令654に埋め込む(ステップS611)。
上記の埋込方法を、上記の実施の形態1及び2において、適用してもよい。
図28に示すステップS504において、サーバ装置の抽出部は、制御プログラム651の命令領域652のダミー命令654に埋め込まれた第1識別子を抽出してもよい。
(6)遠隔操作システム10bにおいて、次に示すようにしてもよい。
図32に示すように、サーバ装置の送信部は、操作端末に対して、埋込プログラム666を送信する(ステップS631)。
埋込プログラム666は、図32に示すように、埋込命令667、対象データアドレス668及び埋込先アドレス669からなる命令を含む。埋込命令667は、対象データアドレス668により示される位置に格納されているデータを、埋込先アドレス669により示される位置に、埋め込むことを指示する。
操作端末の受信部は、サーバ装置から、埋込プログラム666を受信する(ステップS631)。
端末装置は、制御プログラム662を記憶している。制御プログラム662は、命令領域663及びデータ領域664から構成されている。
端末装置のプログラム実行部は、受信した埋込プログラム666を実行する(ステップS632)。これにより、対象データアドレス668により示される位置に格納されているデータ、言い換えると、第1識別子661が、制御プログラム662のデータ領域664において、埋込先アドレス669により示される位置にある領域665に、埋め込まれる。
上記の埋込方法を、上記の実施の形態1及び2において、適用してもよい。
(7)本発明の別の一態様は、遠隔操作システム10cであるとしてもよい。遠隔操作システム10cは、サーバ装置と操作端末と機器とから構成される。操作端末は、記憶されている制御プログラム内の遠隔操作命令の実行により機器を遠隔操作する。サーバ装置は、操作端末と機器との間において、遠隔操作を中継する。操作端末には、可搬媒体が装着される。可搬媒体は、当該可搬媒体に固有の識別子を保持している。図33に示すシーケンス図を用いて、遠隔操作システム10cについて説明する。
操作端末の取得部は、可搬媒体から、固有の第1識別子を取得する(ステップS531)。
操作端末の送信部は、第1識別子をサーバ装置に対して送信する(ステップS532)。
操作端末の埋込部は、操作端末が記憶している制御プログラムに、取得した第1識別子を埋め込む(ステップS533)。
操作端末の取得部は、さらに、可搬媒体から、固有の第2識別子を取得する(ステップS534)。
サーバ装置の埋込部は、受信した第1識別子を、サーバ装置が記憶している制御プログラムに埋め込む(ステップS535)。
サーバ装置の第3演算部は、サーバ装置が記憶し、第1識別子が埋め込まれた制御プログラムに対して、ハッシュ演算Hashを施して、第3演算値を算出する(ステップS536)。
サーバ装置の第4演算部は、第3演算値と、受信した第1識別子とに、排他的論理和XORを施して、第4演算値を算出する(ステップS537)。
端末装置の第1演算部は、端末装置が記憶し、第1識別子が埋め込まれた制御プログラムに対して、ハッシュ演算Hashを施して、第1演算値を算出する(ステップS538)。
端末装置の第2演算部は、第1演算値と、取得した第2識別子とに、排他的論理和XORを施して、第2演算値を算出する(ステップS539)。
端末装置の送信部は、第2演算値をサーバ装置に対して送信する(ステップS540)。
サーバ装置の判断部は、算出された第4演算値と、送信された第2演算値とを比較する(ステップS541)。第4演算値と第2演算値とが一致しない場合(ステップS541で「不一致」)、サーバ装置の制御部は、機器に対する遠隔操作を禁止する(ステップS542)。
第4演算値と第2演算値とが一致する場合(ステップS541で「一致」)、サーバ装置の制御部は、機器に対して、操作端末から受け取った操作指示を送信する(ステップS543)。
機器は、サーバ装置から操作指示を受信し(ステップS543)、受信した操作指示に従って動作する(ステップS544)。
(8)本発明の別の一態様は、遠隔操作システム10dであるとしてもよい。遠隔操作システム10dは、サーバ装置と操作端末と機器とから構成される。操作端末は、記憶されている制御プログラム内の遠隔操作命令の実行により機器を遠隔操作する。サーバ装置は、操作端末と機器との間において、遠隔操作を中継する。操作端末には、可搬媒体が装着される。可搬媒体は、当該可搬媒体に固有の識別子を保持している。図34に示すシーケンス図を用いて、遠隔操作システム10dについて説明する。
操作端末の取得部は、可搬媒体から、固有の第1識別子を取得する(ステップS561)。
操作端末の送信部は、第1識別子をサーバ装置に対して送信する(ステップS562)。
サーバ装置の乱数生成部は、ランダムに乱数を生成する(ステップS563)。
サーバ装置の変換値生成部は、生成された乱数と、受信した第1識別子とに、排他的論理和XORを施して、変換値を生成する(ステップS564)。
サーバ装置の送信部は、生成された変換値を操作端末に対して送信する(ステップS565)。
操作端末の埋込部は、操作端末が記憶している制御プログラムに、受信した変換値を埋め込む(ステップS566)。
端末装置の送信部は、変換値が埋め込まれた制御プログラムをサーバ装置に対して送信する(ステップS567)。
サーバ装置の演算部は、受信した制御プログラムから、変換値を抽出し、前記乱数と、抽出した変換値とに、排他的論理和XORを施して、第1識別子を復元する(ステップS568)。
操作端末の取得部は、可搬媒体から、固有の第2識別子を取得する(ステップS569)。
操作端末の送信部は、第2識別子をサーバ装置に対して送信する(ステップS570)。
サーバ装置の判断部は、復元された第1識別子と、送信された第2識別子とを比較する(ステップS571)。第1識別子と第2識別子とが一致しない場合(ステップS571で「不一致」)、サーバ装置の制御部は、機器に対する遠隔操作を禁止する(ステップS572)。
第1識別子と第2識別子とが一致する場合(ステップS571で「一致」)、サーバ装置の制御部は、機器に対して、操作端末から受け取った操作指示を送信する(ステップS573)。
機器は、サーバ装置から操作指示を受信し(ステップS573)、受信した操作指示に従って動作する(ステップS574)。
(9)上記の各実施の形態、各変形例、各態様において、メモリカード及び可搬媒体は、一例として、SDカードである。しかし、SDカードには、限定されない。固有識別子を記憶することができれば、ハードディスクデバイス、内蔵メモリデバイスなどあるとしてもよい。
また、メモリカード及び可搬媒体は、端末装置との間で、短距離無線通信などの非接触型の通信を行うとしてもよい。
また、メモリカード及び可搬媒体に代えて、固有識別子を記憶している携帯端末装置であるとしてもよい。
(10)上記の実施の形態2において、次のようにしてもよい。
信頼性評価部210は、固有識別子取得部216により受信した固有識別子と、アカウント確認部215により取得した利用者識別子及びパスワードを用いて、端末装置300にインストールされた制御プログラムの信頼性を評価してもよい。具体的には、以下の確認及びこれらの組合せにより評価を行う。
(a)取得した固有識別子とアカウント管理テーブル261に記録されている固有識別子の一致を確認する。
(b)取得した利用者識別子及びパスワードと、アカウント管理テーブル261に記載されている利用者識別子及びパスワードの一致を確認する。
(c)確認サーバ装置200において生成された生成された付随データと、端末装置300において、制御プログラムに埋め込まれた付随データとが一致するか否か確認する。
機器制御部213は、これらの確認による確認結果の組合せに応じて、機器500に対する遠隔操作を許可し又は禁止する。例えば、(a)〜(c)のうち、いずれか一つでも確認できない場合、機器制御部213は、機器500に対する遠隔操作を禁止する。(a)〜(c)のうち、全てにおいて確認できる場合、機器制御部213は、機器500に対する遠隔操作を許可する。
(11)上記の実施の形態2において、次のようにしてもよい。
信頼性評価部210は、次の評価を行う。
(a)取得した固有識別子とアカウント管理テーブル261に記録されている固有識別子の一致を確認する。
(b)生成された付随データと、制御プログラムに埋め込まれた付随データとが一致するか否か確認する。
(a)において固有識別子の一致が確認できない場合、又は(b)において付随データの一致が確認できない場合、信頼性評価部210は、端末装置300に対して、利用者による利用者識別子とパスワードの入力を要求する。
端末装置300のアカウント取得部908は、利用者に対して、利用者識別子とパスワードの入力を求め、利用者から利用者識別子とパスワードの入力を受け付ける。次に、アカウント取得部908は、利用者識別子とパスワードを確認サーバ装置200に対して送信する。
確認サーバ装置200のアカウント確認部215は、利用者識別子とパスワードを受信し、受信した利用者識別子及びパスワードが、アカウント管理テーブル261に記憶されているか否かを確認する。
利用者識別子及びパスワードがアカウント管理テーブル261に記憶されている場合、機器制御部213は、機器500に対する遠隔操作を許可する。利用者識別子及びパスワードがアカウント管理テーブル261に記憶されていない場合、機器制御部213は、機器500に対する遠隔操作を禁止する。
(12)上記の実施の形態2では、制御プログラムの起動を受け付ける時点を第1時点と呼び、第1時点において、固有識別子Yを取得している。また、操作指示を受け付ける時点を第2時点と呼び、第2時点において、固有識別子Y’を取得している。
しかし、これには限定されない。第1時点は、制御プログラムを最初に起動する時であるとしてもよいし、制御プログラムを起動する時であるとしてもよい。
また、図17のステップS125において、制御プログラムがインストールされた時点を第1時点としてもよい。また、この第1時点において、固有識別子Yを取得してもよい。
また、図20のステップS181において、操作指示を受け付ける時点を第1時点としてもよい。この第1時点において、固有識別子Yを取得するとしてもよい。利用者から、再度、操作指示を受け付け、この時点を第2時点としてもよい。この第2時点において、固有識別子Y’を取得してもよい。
(13)上記の各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクデバイスなどから構成されるコンピュータシステムであるとしてもよい。前記RAM又はハードディスクデバイスには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
(14)上記の各装置を構成する構成要素の一部又は全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIである。システムLSIは、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、システムLSIは、その機能を達成する。
また、上記の各装置を構成する構成要素の各部は、個別に1チップ化されていてもよいし、一部又は全てを含むように1チップ化されてもよい。
また、上記の各装置を構成する構成要素の一部又は全部は、システムLSIであるとしているが、システムLSIとは集積度の異なるIC、LSI、スーパーLSI、ウルトラLSI等により実現されるとしてもよい。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサにより実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。
(15)上記の各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なICカード又は単体のモジュールから構成されているとしてもよい。前記ICカード又は前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカード又は前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、前記ICカード又は前記モジュールは、その機能を達成する。前記ICカード又は前記モジュールは、耐タンパ性を有するとしてもよい。
(16)また、前記コンピュータプログラムは、コンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc(登録商標))、半導体メモリなどに記録されているとしてもよい。
また、前記コンピュータプログラムは、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送されるとしてもよい。
また、前記コンピュータプログラムを前記記録媒体に記録して移送することにより、又は、前記コンピュータプログラムを前記ネットワーク等を経由して移送することにより、前記コンピュータプログラムを独立した他のコンピュータシステムにより実行するとしてもよい。
(17)以下に示すようにしてもよい。
本発明の一態様は、ユーザ所有機器の情報提供、もしくは、ユーザ所有機器の遠隔操作を実現するための、信頼性確認サーバ、プログラムを実行するモバイル機器から構成される信頼性確認システムであって、前記プログラムは、前記信頼性確認サーバから前記プログラムの一部を受け取り、前記プログラムの一部を実行し、実行結果を前記信頼性確認サーバに通知し、前記信頼性確認サーバは、前記プログラムから受け取る前記実行結果から前記プログラムの信頼性を確認し、信頼性が低い場合、前記プログラムからの情報提示要求、ないし、機器操作要求の実行を制限することを特徴とする。
ここで、前記信頼性確認サーバは、前記プログラムが起動されると、新たな前記プログラムの一部を前記プログラムに送信し、前記プログラムの一部は、前記信頼性確認サーバが管理する秘密番号に紐づいていて、前記プログラムの一部を実行した結果を確認することで、前記プログラムの信頼性を評価してもよい。
ここで、前記信頼性確認システムは、さらに、固有IDを格納する固有ID格納機器から構成され、前記固有ID格納機器は、前記モバイル機器に接続され、前記固有ID格納機器は、格納している前記固有IDを、前記プログラム経由で、前記信頼性確認サーバに通知し、前記信頼性確認サーバは、受け取った前記固有IDを確認することで、前記固有IDの受取り時に経由した前記プログラムの信頼性を評価してもよい。
ここで、本発明の別の一態様は、ユーザ所有機器の情報提供、もしくは、ユーザ所有機器の遠隔操作を実現するための、信頼性確認サーバ、プログラムを実行するモバイル機器から構成される信頼性確認システムの前記信頼性確認サーバであって、前記プログラムは、前記信頼性確認サーバから前記プログラムの一部を受け取り、前記プログラムの一部を実行し、実行結果を前記信頼性確認サーバに通知し、前記信頼性確認サーバは、前記プログラムから受け取る前記実行結果から前記プログラムの信頼性を評価し、信頼性が低い場合、前記プログラムからの情報提示要求、ないし、機器操作要求の実行を制限することを特徴とする。
ここで、前記信頼性確認サーバは、前記プログラムが起動されると、新たな前記プログラムの一部を送信し、前記プログラムの一部は、前記信頼性確認サーバが管理する秘密番号に紐づいていて、前記プログラムの一部を実行した結果を確認することで、前記プログラムの信頼性を評価してもよい。
ここで、前記信頼性確認システムは、さらに、固有IDを格納する固有ID格納機器から構成され、前記固有ID格納機器は、前記モバイル機器に接続され、前記固有ID格納機器は、格納している前記固有IDを、前記プログラム経由で、前記信頼性確認サーバに通知し、前記信頼性確認サーバは、受け取った前記固有IDを確認することで、前記固有IDの受取り時に経由した前記プログラムの信頼性を評価してもよい。
本発明の別の一態様は、ユーザ所有機器の遠隔操作を実現するための、信頼性確認サーバ、プログラムを実行するモバイル機器、固有IDを格納する固有ID格納装置から構成される信頼性確認システムの前記プログラムであって、前記プログラムは、前記信頼性確認サーバから前記プログラムの一部を受け取り、前記プログラムの一部を実行し、実行結果を前記信頼性確認サーバに通知し、前記固有ID格納機器は、前記モバイル機器に接続され、前記固有ID格納機器は、格納している前記固有IDを、前記プログラム経由で、前記信頼性確認サーバに通知し、前記信頼性確認サーバは、前記プログラムから受け取る前記実行結果、ないし、受け取った前記固有ID、ないし、その両方を確認することで、前記固有IDの受取り時に経由した前記プログラムの信頼性を評価し、前記プログラムの信頼性が低い場合、前記信頼性確認サーバは、前記プログラムからの情報提示要求、ないし、機器操作要求の実行を制限し、前記プログラムは、前記信頼性確認サーバから受け取った機器、ないし、機能、ないし、機能グループごとの操作可否情報を元に、機器の操作可否を表現するユーザ提示用画面を生成することを特徴とする。
本発明の別の一態様は、ユーザ所有機器の遠隔操作を実現するための、前記信頼性確認サーバ、プログラムを実行する前記モバイル機器から構成される前記信頼性確認システムにおけるプログラムのユーザーインターフェースであって、前記プログラムは、前記信頼性確認サーバから受け取る操作可能機器情報に従って、操作可能機器を提示するUIを生成し、操作できない前記ユーザ所有機器の描写が、操作可能な前記ユーザ所有機器の描写に比べて、不活性化されていることを特徴とする。
本発明の別の一態様は、ユーザ所有機器の遠隔操作を実現する前記信頼性確認サーバ、前記プログラムを実行する前記モバイル機器から構成される前記信頼性確認システムにおけるプログラムのユーザーインターフェースであって、前記プログラムは、前記信頼性確認サーバから受け取る操作可能機能情報に従って、操作可能機能を提示するUIを生成し、操作できない前記機能の描写が、操作可能な前記機能の描写に比べて、不活性化されていることを特徴とする。
ここで、前記信頼性確認システムは、さらに前記固有ID格納装置を備え、前記プログラムは、前記固有ID格納装置の固有IDを通知するメッセージを受け取り、前記信頼性確認サーバに通知してもよい。
(18)本発明の一態様によると、モバイル機器におけるアプリケーションプログラムやOS(オペレーティングシステム)の不正な改ざんの有無を確認し、モバイル機器において不正な実行環境となっているか否かを確認する。これにより、成りすましのリスクが高い場合、個人情報の出力を止めたり、宅内機器の操作を抑制したりする。こうして、成りすましによるリスクを低減し、安全性を高める。
プログラム実行環境と独立して、グローバルユニークに定義された固有識別子を安全に管理する仕組みがある。信頼性を確認するサーバが、評価対象のプログラムを経由して、固有識別子を取得できれば、固有識別子を持つ装置とプログラムを実行しているモバイル機器が、高い確率で物理的に近傍にいて、その結果、ユーザ本人がプログラムを実行し操作している可能性が高いと言える。固有識別子を持つ装置は、一例として、SDカード、内蔵HDDや内蔵フラッシュメモリを有するデバイス、USBメモリなどである。
さらに、信頼性を確認するサーバがプログラムの一部を作り直して、モバイル機器に格納されているプログラムの一部を更新させ、次回起動時に新たなプログラムの一部を用いて初期化、及び、プログラムの改ざん検出を行う。つまり、時変要素を織り交ぜたデータを、起動の都度チェックすることで、プログラム改ざんを高い確率で検出し、不正を防止することができる。
(19)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
本発明の機器を遠隔操作するシステムにおいて用いられる方法は、不正な第三者により利用者の機器が遠隔操作されることを防ぐことができ、機器を遠隔操作する技術として有用である。
10、10a、10b、10c、10d、10e 遠隔操作システム
20 ネットワーク
100 配信サーバ装置
101 制御部
102 通信部
103 相互認証部
104 鍵格納部
105 記憶部
106 アカウント格納部
107 アカウント確認部
200 確認サーバ装置
201 制御部
202 通信部
203 相互認証部
204 鍵格納部
206 プログラム制作部
207 プログラム格納部
208 付随データ生成部
209 アカウント格納部
210 信頼性評価部
212 機器情報格納部
213 機器制御部
214 署名生成部
215 アカウント確認部
216 固有識別子取得部
217 機器情報管理部
300 端末装置
301 制御部
302 通信部
303 相互認証部
304 鍵格納部
305 プログラム格納部
306 プログラム実行部
307 付随データ格納部
308 入出力部
309 表示部
310 入力部
311 検証部
400 メモリカード
401 制御部
403 相互認証部
404 鍵格納部
407 固有識別子格納部
408 入出力部
500 機器
501 機構制御部
502 通信部
506 命令受信部
507 情報通知部
508 機構
510 通信部

Claims (21)

  1. 操作端末に記憶されている制御プログラム内の遠隔操作命令の実行により、機器を遠隔操作する遠隔操作システムにおいて用いられる方法であって、
    第1時点において、前記機器に対する遠隔操作元の操作端末に近接する可搬媒体に固有の第1識別子を取得する第1取得ステップと、
    取得した前記第1識別子を前記操作端末に記憶されている前記制御プログラムに埋め込む埋込ステップと、
    前記第1時点の後の第2時点において、前記機器に対する遠隔操作元の操作端末に近接する可搬媒体に固有の第2識別子を取得する第2取得ステップと、
    前記制御プログラムに埋め込まれた前記第1識別子と、前記第2取得ステップにより取得された前記第2識別子とが一致するか否かを判断する判断ステップと、
    前記第1識別子と前記第2識別子とが一致しない場合、前記機器に対する遠隔操作を禁止する禁止ステップと
    を含むことを特徴とする方法。
  2. 前記操作端末は、サーバ装置を介して、前記機器を遠隔操作し、
    前記サーバ装置は、前記第1識別子が埋め込まれる前の前記制御プログラムを記憶しており、
    前記判断ステップは、
    前記操作端末において、前記第1識別子が埋め込まれた前記制御プログラムに一方向性演算を施して、第1演算値を生成し、生成した前記第1演算値と取得した前記第2識別子とに、演算を施して第2演算値を生成する第1ステップと、
    前記サーバ装置において、記憶している前記制御プログラムに第1識別子を埋め込み、第1識別子が埋め込まれた前記制御プログラムに前記一方向性演算と同一の一方向性演算を施して、第3演算値を生成し、生成した前記第3演算値と取得した前記第1識別子とに、前記演算と同一の演算を施して第4演算値を生成する第2ステップと、
    前記サーバ装置において、前記第2演算値と前記第4演算値とが一致するか否かを判断することにより、前記第1識別子と前記第2識別子とが一致するか否かを判断する第3ステップと
    を含むことを特徴とする請求項1に記載の方法。
  3. 前記方法において、さらに、前記第1取得ステップ、前記埋込ステップ、前記第2取得ステップ、前記判断ステップ及び前記禁止ステップによる前記第1識別子の取得、前記制御プログラムの埋込み、前記第2識別子の取得、前記判断及び前記禁止を繰り返し、
    前記埋込ステップにおいて、前記第1取得ステップにより前記第1識別子が取得される都度、当該第1識別子を埋め込む
    ことを特徴とする請求項1に記載の方法。
  4. 前記第1時点は、前記操作端末において、前記機器に対する遠隔操作を受け付けた時であり、
    前記第1取得ステップにおいて、前記遠隔操作を受け付ける都度、前記第1識別子を取得する
    ことを特徴とする請求項3に記載の方法。
  5. 前記埋込ステップにおいて、乱数を生成し、生成した乱数と取得した第1識別子とに可逆の変換を施し、得られた変換値を前記制御プログラムに埋め込み、
    前記判断ステップにおいて、前記乱数と前記制御プログラムに埋め込まれた変換値とに、前記変換の逆変換を施して、前記第1識別子を復元する
    ことを特徴とする請求項1に記載の方法。
  6. 前記方法において、さらに、前記第1取得ステップ、前記埋込ステップ、前記第2取得ステップ、前記判断ステップ及び前記禁止ステップによる前記第1識別子の取得、前記制御プログラムの埋込み、前記第2識別子の取得、前記判断及び前記禁止を繰り返し、
    前記埋込ステップにおいて、前記第1取得ステップにより前記第1識別子が取得される都度、異なる乱数を生成し、生成した乱数と取得した前記第1識別子とに前記変換を施し、得られた前記変換値を前記制御プログラムに埋め込む
    ことを特徴とする請求項5に記載の方法。
  7. 前記判断ステップにおいて、前記第1識別子が埋め込まれた前記制御プログラムを取得し、取得した前記制御プログラムから前記第1識別子を抽出する
    ことを特徴とする請求項1に記載の方法。
  8. 前記埋込ステップにおいて、前記第1識別子を分割して複数の識別子片を生成し、生成した複数の識別子片を、前記制御プログラムの全体又はその一部に分散して埋め込み、
    前記判断ステップにおいて、前記制御プログラムの全体又はその一部から、前記複数の識別子片を抽出し、抽出して得られた前記複数の識別子片を結合して前記第1識別子を復元する
    ことを特徴とする請求項1に記載の方法。
  9. 前記制御プログラムは、命令が記録されている命令領域と、データが記録されているデータ領域を含み、
    前記埋込ステップにおいて、前記第1識別子を、前記制御プログラム中の前記データ領域に埋め込む
    ことを特徴とする請求項1に記載の方法。
  10. 前記制御プログラムは、命令が記録されている命令領域と、データが記録されているデータ領域を含み、前記命令領域は、実行されないダミー命令を含み、
    前記埋込ステップにおいて、前記第1識別子を、前記制御プログラム中の前記ダミー命令に埋め込む
    ことを特徴とする請求項1に記載の方法。
  11. 前記埋込ステップにおいて、前記制御プログラムに対する前記第1識別子の埋込みを制御する埋込プログラムを取得し、前記操作端末において取得した前記埋込プログラムが実行されることにより、前記第1識別子が前記制御プログラムに埋め込まれる
    ことを特徴とする請求項1に記載の方法。
  12. 前記埋込プログラムは、前記制御プログラムにおける前記第1識別子の埋込み位置を記憶しており、
    前記埋込ステップにおいて、前記操作端末において前記埋込プログラムが実行されることにより、前記第1識別子が前記制御プログラム内の前記埋込み位置に埋め込まれる
    ことを特徴とする請求項11に記載の方法。
  13. 前記第1時点は、前記制御プログラムが前記操作端末にインストールされる時、前記操作端末における前記制御プログラムの最初の起動時、又は、前記操作端末における前記制御プログラムの起動時であり、
    前記第2時点は、前記操作端末において、前記機器に対する遠隔操作を受け付けた時である
    ことを特徴とする請求項1に記載の方法。
  14. 前記第1時点は、前記操作端末において、前記機器に対する第1遠隔操作を受け付けた時であり、
    前記第2時点は、前記操作端末において、前記機器に対する第2遠隔操作を受け付けた時である
    ことを特徴とする請求項1に記載の方法。
  15. 前記操作端末は、サーバ装置を介して、前記機器を遠隔操作し、
    前記方法は、さらに、
    前記操作端末において、前記機器に対する複数の遠隔操作のうち、利用者により選択可能な遠隔操作を表示する表示ステップと、
    前記操作端末において、利用者から、表示された遠隔操作のうち一の遠隔操作を受け付ける受付ステップと、
    前記操作端末において、受け付けた遠隔操作を、前記サーバ装置を介して、前記機器に対して送信する送信ステップと
    を含むことを特徴とする請求項1に記載の方法。
  16. 前記操作端末は、サーバ装置を介して、前記機器を遠隔操作し、
    前記方法は、さらに、
    前記操作端末において、前記機器に対する遠隔操作に対応付けて、前記遠隔操作を受け付けるための第1条件と、前記第1条件に代えて前記遠隔操作を受け付けるための変更候補としての第2条件とを表示する表示ステップと、
    前記操作端末において、利用者から、前記第2条件の指定を受け付ける受付ステップと、
    指定を受け付けた前記第2条件を、前記操作端末から前記サーバ装置に対して送信する送信ステップと、
    前記サーバ装置において、前記機器に対する前記遠隔操作に対応付けて、前記第1条件に代えて、前記第2条件を記憶する記憶ステップと
    を含むことを特徴とする請求項1に記載の方法。
  17. 記憶されている制御プログラム内の遠隔操作命令の実行により機器を遠隔操作する操作端末と、前記機器との間において、遠隔操作を中継するサーバ装置であって、
    第1時点において、前記機器に対する遠隔操作元の操作端末に近接する可搬媒体に固有の第1識別子を取得する第1取得手段と、
    取得した前記第1識別子を前記操作端末に記憶されている前記制御プログラムに埋め込ませるために、前記第1識別子を前記操作端末に送信する送信手段と、
    前記第1時点の後の第2時点において、前記機器に対する遠隔操作元の操作端末に近接する可搬媒体に固有の第2識別子を取得する第2取得手段と、
    前記制御プログラムに埋め込まれた前記第1識別子と、前記第2取得手段により取得された前記第2識別子とが一致するか否かを判断する判断手段と、
    前記第1識別子と前記第2識別子とが一致しない場合、前記機器に対する遠隔操作を禁止する禁止手段と
    を備えることを特徴とするサーバ装置。
  18. 記憶されている制御プログラム内の遠隔操作命令の実行により機器を遠隔操作する操作端末と、前記機器との間において、遠隔操作を中継するサーバ装置において用いられるコンピュータプログラムを記録しているコンピュータ読取可能な記録媒体であって、
    第1時点において、前記機器に対する遠隔操作元の操作端末に近接する可搬媒体に固有の第1識別子を取得する第1取得ステップと、
    取得した前記第1識別子を前記操作端末に記憶されている前記制御プログラムに埋め込ませるために、前記第1識別子を前記操作端末に送信する送信ステップと、
    前記第1時点の後の第2時点において、前記機器に対する遠隔操作元の操作端末に近接する可搬媒体に固有の第2識別子を取得する第2取得ステップと、
    前記制御プログラムに埋め込まれた前記第1識別子と、前記第2取得ステップにより取得された前記第2識別子とが一致するか否かを判断する判断ステップと、
    前記第1識別子と前記第2識別子とが一致しない場合、前記機器に対する遠隔操作を禁止する禁止ステップと
    を実行するためのコンピュータプログラムを記録している記録媒体。
  19. 記憶されている制御プログラム内の遠隔操作命令の実行により機器を遠隔操作する操作端末と、前記機器との間において、遠隔操作を中継するサーバ装置において用いられる方法であって、
    第1時点において、前記機器に対する遠隔操作元の操作端末に近接する可搬媒体に固有の第1識別子を取得する第1取得ステップと、
    取得した前記第1識別子を前記操作端末に記憶されている前記制御プログラムに埋め込ませるために、前記第1識別子を前記操作端末に送信する送信ステップと、
    前記第1時点の後の第2時点において、前記機器に対する遠隔操作元の操作端末に近接する可搬媒体に固有の第2識別子を取得する第2取得ステップと、
    前記制御プログラムに埋め込まれた前記第1識別子と、前記第2取得ステップにより取得された前記第2識別子とが一致するか否かを判断する判断ステップと、
    前記第1識別子と前記第2識別子とが一致しない場合、前記機器に対する遠隔操作を禁止する禁止ステップと
    を含むことを特徴とする方法。
  20. 記憶されている制御プログラム内の遠隔操作命令の実行により機器を遠隔操作する操作端末と、前記機器との間において、遠隔操作を中継するサーバ装置を構成する集積回路であって、
    第1時点において、前記機器に対する遠隔操作元の操作端末に近接する可搬媒体に固有の第1識別子を取得する第1取得手段と、
    取得した前記第1識別子を前記操作端末に記憶されている前記制御プログラムに埋め込ませるために、前記第1識別子を前記操作端末に送信する送信手段と、
    前記第1時点の後の第2時点において、前記機器に対する遠隔操作元の操作端末に近接する可搬媒体に固有の第2識別子を取得する第2取得手段と、
    前記制御プログラムに埋め込まれた前記第1識別子と、前記第2取得手段により取得された前記第2識別子とが一致するか否かを判断する判断手段と、
    前記第1識別子と前記第2識別子とが一致しない場合、前記機器に対する遠隔操作を禁止する禁止手段と
    を備えることを特徴とする集積回路。
  21. 記憶されている制御プログラム内の遠隔操作命令の実行により機器を遠隔操作する操作端末と、前記機器と、前記操作端末と前記機器との間において、遠隔操作を中継するサーバ装置とから構成されるシステムであって、
    前記サーバ装置は、
    第1時点において、前記機器に対する遠隔操作元の操作端末に近接する可搬媒体に固有の第1識別子を取得する第1取得手段と、
    取得した前記第1識別子を前記操作端末に記憶されている前記制御プログラムに埋め込ませるために、前記第1識別子を前記操作端末に送信する送信手段と、
    前記第1時点の後の第2時点において、前記機器に対する遠隔操作元の操作端末に近接する可搬媒体に固有の第2識別子を取得する第2取得手段と、
    前記制御プログラムに埋め込まれた前記第1識別子と、前記第2取得手段により取得された前記第2識別子とが一致するか否かを判断する判断手段と、
    前記第1識別子と前記第2識別子とが一致しない場合、前記機器に対する遠隔操作を禁止する禁止手段とを備え、
    前記操作端末は、
    当該操作端末に近接する可搬媒体から、当該可搬媒体に固有の識別子を取得する取得手段と、
    取得した前記識別子を前記サーバ装置に対して送信する送信手段と、
    前記サーバ装置から、前記第1識別子を受信し、受信した第1識別子を前記制御プログラムに埋め込む埋込手段とを備える
    ことを特徴とするシステム。
JP2014546864A 2012-11-13 2013-11-11 機器を遠隔操作するシステムにおいて用いられる方法 Active JP6100795B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261725782P 2012-11-13 2012-11-13
US61/725,782 2012-11-13
PCT/JP2013/006620 WO2014076927A1 (ja) 2012-11-13 2013-11-11 機器を遠隔操作するシステムにおいて用いられる方法

Publications (2)

Publication Number Publication Date
JPWO2014076927A1 JPWO2014076927A1 (ja) 2017-01-05
JP6100795B2 true JP6100795B2 (ja) 2017-03-22

Family

ID=50730861

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014546864A Active JP6100795B2 (ja) 2012-11-13 2013-11-11 機器を遠隔操作するシステムにおいて用いられる方法

Country Status (3)

Country Link
US (1) US9443421B2 (ja)
JP (1) JP6100795B2 (ja)
WO (1) WO2014076927A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9741244B2 (en) * 2014-05-30 2017-08-22 Qualcomm Incorporated Methods, smart objects, and systems for naming and interacting with smart objects
WO2016046446A1 (en) * 2014-09-24 2016-03-31 Nokia Technologies Oy Controlling a device
KR101566143B1 (ko) * 2014-10-21 2015-11-06 숭실대학교산학협력단 사용자 단말기 및 상기 사용자 단말기의 주변기기를 이용한 핵심코드 보호 방법
US10622810B2 (en) * 2014-11-07 2020-04-14 Venstar, Inc. Systems, devices and methods of controlling lighting and appliances on a customer premises based on configuration rules
CN106467069A (zh) * 2015-08-14 2017-03-01 辽宁中软信息技术有限公司 运输车辆监管服务系统
US20170064073A1 (en) * 2015-09-01 2017-03-02 Qualcomm Incorporated Controlling one or more proximate devices via a mobile device based on one or more detected user actions while the mobile device operates in a low power mode
KR102173839B1 (ko) * 2016-07-15 2020-11-04 후아웨이 테크놀러지 컴퍼니 리미티드 미디어 전송 권한을 신청하는 방법, 및 미디어 전송 권한을 취소하는 방법 및 장치
JP6878068B2 (ja) * 2017-03-21 2021-05-26 株式会社エヌ・ティ・ティ・データ 識別情報付与システム及び識別情報付与方法
FR3067895A1 (fr) * 2017-06-14 2018-12-21 Overkiz Procede de configuration d’une unite centrale de commande appartenant a une installation domotique
CN109617669B (zh) * 2018-11-30 2022-02-22 广州高清视信数码科技股份有限公司 基于hash算法的机顶盒遥控器的认证方法及终端设备
TW202027462A (zh) * 2019-01-11 2020-07-16 普易科技股份有限公司 居家設備控制系統及其方法
JP7127585B2 (ja) * 2019-03-12 2022-08-30 オムロン株式会社 セーフティシステムおよびメンテナンス方法
KR102030785B1 (ko) * 2019-04-26 2019-10-10 주식회사그린존시큐리티 의사난수를 이용한 IoT 디바이스의 데이터 난독화를 위한 장치 및 이를 위한 방법
JP7291919B1 (ja) 2021-12-28 2023-06-16 株式会社Ffriセキュリティ コンピュータプログラム信頼性判定システム、コンピュータプログラム信頼性判定方法およびコンピュータプログラム信頼性判定プログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6198408B1 (en) * 1994-11-29 2001-03-06 Elihay Cohen Method and apparatus for controlling electrical appliances by remote control transmitters
US6647494B1 (en) 1999-06-14 2003-11-11 Intel Corporation System and method for checking authorization of remote configuration operations
DE10025626A1 (de) 2000-05-24 2001-11-29 Deutsche Telekom Ag Verschlüsseln von abzuspeichernden Daten in einem IV-System
WO2002093502A1 (en) * 2001-05-17 2002-11-21 Nokia Corporation Remotely granting access to a smart environment
JP4720047B2 (ja) * 2001-09-03 2011-07-13 株式会社日立製作所 操作ソフト配信サービスシステム
KR100484804B1 (ko) * 2002-07-11 2005-04-22 엘지전자 주식회사 가전기기 원격제어시스템 및 그 동작방법
JP2006129184A (ja) * 2004-10-29 2006-05-18 Toshiba Corp ネットワーク家電制御システム
TW200618644A (en) * 2004-11-18 2006-06-01 Benq Corp Remote controller capable of controlling a plurality of electric appliances selectively
JP5200006B2 (ja) 2007-03-30 2013-05-15 株式会社Access 携帯通信端末、携帯通信端末で実行されるプログラム
US8321933B2 (en) 2007-11-14 2012-11-27 Caterpillar Inc. Securing electronic control unit code
WO2009104260A1 (ja) 2008-02-20 2009-08-27 三菱電機株式会社 検証装置
US20120105217A1 (en) * 2010-03-12 2012-05-03 Pixart Imaging Inc. Remote device and remote control system
US8918544B2 (en) * 2011-03-31 2014-12-23 Logitech Europe S.A. Apparatus and method for configuration and operation of a remote-control system
US8943318B2 (en) 2012-05-11 2015-01-27 Verizon Patent And Licensing Inc. Secure messaging by key generation information transfer
KR20130022608A (ko) 2011-08-25 2013-03-07 삼성전자주식회사 디스플레이 장치 및 이의 애플리케이션 실행 방법, 그리고 디스플레이 장치를 원격으로 제어하는 외부기기 및 이의 애플리케이션 조작 화면 제공 방법

Also Published As

Publication number Publication date
US9443421B2 (en) 2016-09-13
US20140347173A1 (en) 2014-11-27
WO2014076927A1 (ja) 2014-05-22
JPWO2014076927A1 (ja) 2017-01-05

Similar Documents

Publication Publication Date Title
JP6100795B2 (ja) 機器を遠隔操作するシステムにおいて用いられる方法
JP6317099B2 (ja) プログラムの正当性を確認するための確認方法及び、確認システム
JP4801055B2 (ja) 情報セキュリティ装置
JP4828517B2 (ja) プログラム変換装置及びプログラム実行装置
CN103440436B (zh) 访问来自智能存储器的内容的数字版权管理系统和方法
TWI491236B (zh) Information processing device, controller, key issuer, invalidation list validity determination method and key issue method
US20230229747A1 (en) Systems and methods for securing operation of an ultrasound scanner
CN108604983A (zh) 通过域名服务对私钥的安全的委托分发
JP5952266B2 (ja) 無効化リスト生成装置、無効化リスト生成方法及びコンテンツ管理システム
JP6010023B2 (ja) 記録媒体装置及びコントローラ
JPWO2005121980A1 (ja) 情報取得装置、情報取得方法、情報取得プログラム
US20200305716A1 (en) Secure wireless communication between implants and apparatus
JP6888122B2 (ja) 半導体装置、更新データ提供方法、更新データ受取方法およびプログラム
EP3471334B1 (en) Method for configuring a transponder, transponder and base station
JP6501701B2 (ja) システム、端末装置、制御方法、およびプログラム
JP3724071B2 (ja) 電子署名方法
US20180331834A1 (en) Semiconductor device, boot method, and boot program
JP6792191B2 (ja) 情報送信方法、情報処理方法、プログラム、復号方法、プログラム
JP2005303370A (ja) 半導体チップ、起動プログラム、半導体チッププログラム、記憶媒体、端末装置、及び情報処理方法
TW201941072A (zh) 資料轉發系統
KR101834522B1 (ko) 데이터 확인 장치 및 이를 이용하여 데이터를 확인하는 방법
TWI575925B (zh) 資料加解密的方法及系統
JP6014214B2 (ja) 暗号通信システムおよび暗号通信方法
JP2018182398A (ja) 情報処理装置、機器、機器管理システム及び情報処理方法
KR101834515B1 (ko) 입력부를 포함하는 암복호화 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161006

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170223

R150 Certificate of patent or registration of utility model

Ref document number: 6100795

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150