(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-06
(45)【発行日】2023-11-14
(54)【発明の名称】情報処理システム、サーバ装置、情報処理方法及びプログラム
(51)【国際特許分類】
G06F 21/44 20130101AFI20231107BHJP
G06F 21/64 20130101ALI20231107BHJP
H04L 9/32 20060101ALI20231107BHJP
【FI】
G06F21/44
G06F21/64
H04L9/32 200B
(21)【出願番号】P 2021028901
(22)【出願日】2021-02-25
【審査請求日】2023-02-02
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】伊藤 俊夫
【審査官】宮司 卓佳
(56)【参考文献】
【文献】特開2019-061383(JP,A)
【文献】特開2016-181145(JP,A)
【文献】特開2004-030326(JP,A)
【文献】特開2009-301535(JP,A)
【文献】米国特許出願公開第2010/0325735(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/44
G06F 21/64
H04L 9/32
(57)【特許請求の範囲】
【請求項1】
サーバ装置と、デバイスとを備え、
前記サーバ装置は、
前記サーバ装置のサービスを前記デバイスが受けるときに使用されるデバイス鍵を有効にするアクティベーション鍵と、前記アクティベーション鍵を識別するアクティベーション鍵識別子と、前記アクティベーション鍵で有効にできる前記デバイス鍵の数を示す最大アクティベーション数と、前記アクティベーション鍵で有効にされた現在のアクティベーション鍵の数を示す現在アクティベーション数と、を記憶する第1のアクティベーション鍵記憶部と、
前記デバイスから、第1のデバイス鍵と、第1のアクティベーション鍵識別子とを含むアクティベーションリクエストを受信すると、前記第1のアクティベーション鍵識別子により識別される第1のアクティベーション鍵の第1の現在アクティベーション数が、第1の最大アクティベーション数未満である場合、前記第1のデバイス鍵を第1のデバイス鍵記憶部に記憶する処理部と、を備え、
前記デバイスは、
前記第1のデバイス鍵を記憶する第2のデバイス鍵記憶部と、
前記第1のアクティベーション鍵と、前記第1のアクティベーション鍵識別子とを記憶する第2のアクティベーション鍵記憶部と、
前記アクティベーションリクエストを前記サーバ装置に送信するアクティベーション要求部と、
を備える情報処理システム。
【請求項2】
前記アクティベーション要求部は、前記第1のアクティベーション鍵による認証コードを更に含む前記アクティベーションリクエストを前記サーバ装置に送信し、
前記サーバ装置は、
前記第1のアクティベーション鍵識別子により識別される第1のアクティベーション鍵により前記認証コードを検証し、前記認証コードが不正な場合、前記アクティベーションリクエストを破棄する認証部を更に備える、
請求項1に記載の情報処理システム。
【請求項3】
前記デバイス鍵は、デバイス公開鍵及びデバイス秘密鍵のペアであり、
前記アクティベーション要求部は、前記第1のデバイス鍵のデバイス秘密鍵によるデバイス電子署名を更に含む前記アクティベーションリクエストを前記サーバ装置に送信し、
前記処理部は、前記アクティベーションリクエストに含まれるデバイス公開鍵により前記デバイス電子署名を検証し、検証に合格しない場合、前記アクティベーションリクエストを破棄する、
請求項1又は2に記載の情報処理システム。
【請求項4】
前記サーバ装置は、
サーバ鍵を記憶するサーバ鍵記憶部を更に備え、
前記処理部は、前記第1の現在アクティベーション数が、前記第1の最大アクティベーション数未満でない場合、前記サーバ鍵による認証コードと、前記第1のアクティベーション鍵識別子とを含むアクティベーション数エラーレスポンスを、前記デバイスに返信する、
請求項2に記載の情報処理システム。
【請求項5】
前記情報処理システムは、
設定ツールを更に備え、
前記アクティベーション要求部は、前記サーバ装置から前記アクティベーション数エラーレスポンスを受信すると、前記アクティベーション数エラーレスポンスを前記設定ツールに転送し、
前記設定ツールは、前記デバイスから前記アクティベーション数エラーレスポンスを受信すると、前記アクティベーション数エラーレスポンスを含むリボケーションリクエストを前記サーバ装置に送信し、
前記処理部は、前記設定ツールから前記リボケーションリクエストを受信すると、前記アクティベーション数エラーレスポンスに含まれる前記認証コードを、前記サーバ鍵で検証し、検証に合格した場合、前記アクティベーション数エラーレスポンスに含まれる前記第1のアクティベーション鍵識別子で識別される第1のアクティベーション鍵と、前記第1のアクティベーション鍵によって有効にされたデバイス鍵とを無効にする、
請求項4に記載の情報処理システム。
【請求項6】
前記サーバ装置は、
前記デバイスの設置者の認証情報を記憶するユーザアカウント記憶部を更に備え、
前記設定ツールは、前記認証情報を更に含むリボケーションリクエストを前記サーバ装置に送信し、
前記認証部は、前記設定ツールから前記リボケーションリクエストを受信すると、前記リボケーションリクエストに含まれる前記認証情報を、前記ユーザアカウント記憶部を参照して検証し、検証に合格しない場合、前記リボケーションリクエストを破棄する、
請求項5に記載の情報処理システム。
【請求項7】
前記サーバ装置は、
前記デバイスの設置者の認証情報を記憶するユーザアカウント記憶部と、
アクティベーショントークンを発行する発行部と、を更に備え、
前記設定ツールは、前記認証情報と、前記第1のアクティベーション鍵識別子と、を含むアクティベーショントークン発行リクエストを前記サーバ装置に送信し、前記サーバ装置から、前記第1のアクティベーション鍵識別子に対応する第1のアクティベーショントークンを受信すると、前記第1のアクティベーショントークンを前記デバイスに送信し、
前記処理部は、前記設定ツールから前記アクティベーショントークン発行リクエストを受信すると、前記アクティベーショントークン発行リクエストに含まれる前記認証情報を、前記ユーザアカウント記憶部を参照して検証し、検証に合格した場合、前記第1のアクティベーション鍵識別子により識別される前記第1のアクティベーション鍵の前記第1の最大アクティベーション数を増やし、
前記発行部は、前記第1のアクティベーション鍵識別子に対応する第1のアクティベーショントークンを前記設定ツールに返信し、
前記アクティベーション要求部は、前記第1のアクティベーショントークンを更に含むアクティベーションリクエストを前記サーバ装置に送信し、
前記処理部は、前記第1のアクティベーショントークンが有効でない場合、前記アクティベーションリクエストを破棄する、
請求項5に記載の情報処理システム。
【請求項8】
前記デバイスは、
前記第1のアクティベーション鍵識別子を含む認可リクエストを前記サーバ装置へ送信した後、前記アクティベーショントークン発行リクエストを前記サーバ装置に送信するアクティベーショントークン要求部を更に備え、
前記処理部は、前記デバイスから前記認可リクエストを受信すると、前記第1のアクティベーション鍵識別子により識別される前記第1のアクティベーション鍵に対応するデバイスコードとユーザコードとを認可コード記憶部に記憶し、前記デバイスコードと前記ユーザコードとを前記デバイスに返信し、
前記設定ツールは、前記デバイスから前記ユーザコードを取得し、前記ユーザコードを前記サーバ装置に送信し、
前記処理部は、前記設定ツールから前記ユーザコードを受信すると、前記ユーザコードに対応する前記第1のアクティベーション鍵の前記第1の最大アクティベーション数を増やし、
前記アクティベーショントークン要求部は、前記デバイスコードを更に含む前記アクティベーショントークン発行リクエストを前記サーバ装置に送信し、
前記発行部は、前記デバイスから前記アクティベーショントークン発行リクエストを受信すると、前記アクティベーショントークン発行リクエストに含まれる前記デバイスコードに対応する前記ユーザコードを前記設定ツールから受信済みであることを確認した場合、前記アクティベーショントークンを前記デバイスに返信する、
請求項7に記載の情報処理システム。
【請求項9】
前記デバイスは、
前記ユーザコードを表示するディスプレイを更に備え、
前記設定ツールは、
前記ディスプレイに表示されたユーザコードを撮像するカメラを備える、
請求項8に記載の情報処理システム。
【請求項10】
サーバ装置のサービスをデバイスが受けるときに使用されるデバイス鍵を有効にするアクティベーション鍵と、前記アクティベーション鍵を識別するアクティベーション鍵識別子と、前記アクティベーション鍵で有効にできる前記デバイス鍵の数を示す最大アクティベーション数と、前記アクティベーション鍵で有効にされた現在のアクティベーション鍵の数を示す現在アクティベーション数と、を記憶するアクティベーション鍵記憶部と、
前記デバイスから、第1のデバイス鍵と、第1のアクティベーション鍵識別子とを含むアクティベーションリクエストを受信すると、前記第1のアクティベーション鍵識別子により識別される第1のアクティベーション鍵の第1の現在アクティベーション数が、第1の最大アクティベーション数未満である場合、前記第1のデバイス鍵をデバイス鍵記憶部に記憶する処理部と、
を備えるサーバ装置。
【請求項11】
サーバ装置が、前記サーバ装置のサービスをデバイスが受けるときに使用されるデバイス鍵を有効にするアクティベーション鍵と、前記アクティベーション鍵を識別するアクティベーション鍵識別子と、前記アクティベーション鍵で有効にできる前記デバイス鍵の数を示す最大アクティベーション数と、前記アクティベーション鍵で有効にされた現在のアクティベーション鍵の数を示す現在アクティベーション数と、を記憶するステップと、
前記サーバ装置が、前記デバイスから、第1のデバイス鍵と、第1のアクティベーション鍵識別子とを含むアクティベーションリクエストを受信すると、前記第1のアクティベーション鍵識別子により識別される第1のアクティベーション鍵の第1の現在アクティベーション数が、第1の最大アクティベーション数未満である場合、前記第1のデバイス鍵をデバイス鍵記憶部に記憶するステップと、
を含む情報処理方法。
【請求項12】
サーバ装置のサービスをデバイスが受けるときに使用されるデバイス鍵を有効にするアクティベーション鍵と、前記アクティベーション鍵を識別するアクティベーション鍵識別子と、前記アクティベーション鍵で有効にできる前記デバイス鍵の数を示す最大アクティベーション数と、前記アクティベーション鍵で有効にされた現在のアクティベーション鍵の数を示す現在アクティベーション数と、を記憶するアクティベーション鍵記憶部を備えるサーバ装置を、
前記デバイスから、第1のデバイス鍵と、第1のアクティベーション鍵識別子とを含むアクティベーションリクエストを受信すると、前記第1のアクティベーション鍵識別子により識別される第1のアクティベーション鍵の第1の現在アクティベーション数が、第1の最大アクティベーション数未満である場合、前記第1のデバイス鍵をデバイス鍵記憶部に記憶する処理部、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は情報処理システム、サーバ装置、情報処理方法及びプログラムに関する。
【背景技術】
【0002】
一般にサイバーフィジカルシステム(CPS)では現場に置かれたデバイスとクラウド上のサーバとが通信・連携することでシステムとしての機能を果たす。その際、サーバは通信相手となるデバイスを認証し、信頼できるデバイスとのみ通信するよう設定されなければならない。そのため、新しいデバイスをCPSに組み入れる際には、サーバが新しいデバイスを信頼できるものとして認証できるように、初期登録作業が行われる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明が解決しようとする課題は、アクティベーション鍵が万が一漏洩した場合でも、漏洩したアクティベーション鍵を攻撃者が不正に用いることを困難にすることである。
【課題を解決するための手段】
【0005】
実施形態の情報処理システムは、サーバ装置と、デバイスとを備える。前記サーバ装置は、第1のアクティベーション鍵記憶部と処理部とを備える。第1のアクティベーション鍵記憶部は、前記サーバ装置のサービスを前記デバイスが受けるときに使用されるデバイス鍵を有効にするアクティベーション鍵と、前記アクティベーション鍵を識別するアクティベーション鍵識別子と、前記アクティベーション鍵で有効にできる前記デバイス鍵の数を示す最大アクティベーション数と、前記アクティベーション鍵で有効にされた現在のアクティベーション鍵の数を示す現在アクティベーション数と、を記憶する。処理部は、前記デバイスから、第1のデバイス鍵と、第1のアクティベーション鍵識別子とを含むアクティベーションリクエストを受信すると、前記第1のアクティベーション鍵識別子により識別される第1のアクティベーション鍵の第1の現在アクティベーション数が、第1の最大アクティベーション数未満である場合、前記第1のデバイス鍵を第1のデバイス鍵記憶部に記憶する。前記デバイスは、第2のデバイス鍵記憶部と、第2のアクティベーション鍵記憶部と、アクティベーション要求部と、を備える。第2のデバイス鍵記憶部は、前記第1のデバイス鍵を記憶する。第2のアクティベーション鍵記憶部は、前記第1のアクティベーション鍵と、前記第1のアクティベーション鍵識別子とを記憶する。アクティベーション要求部は、前記アクティベーションリクエストを前記サーバ装置に送信する。
【図面の簡単な説明】
【0006】
【
図1】第1実施形態の情報処理システムの装置構成の例を示す図。
【
図2】第1実施形態のサーバ装置の機能構成の例を示す図。
【
図3】第1実施形態のデバイスの機能構成の例を示す図。
【
図4】第1実施形態の設定ツールの機能構成の例を示す図。
【
図5】第1実施形態の初期登録作業の処理シーケンスの例を示す図。
【
図6】第1実施形態の設定作業の処理シーケンスの例を示す図。
【
図7】第1実施形態のサービス提供の処理シーケンスの例を示す図。
【
図8】第1実施形態の不正検出の処理シーケンスの例を示す図。
【
図9】第2実施形態のサーバ装置の機能構成の例を示す図。
【
図10】第2実施形態のデバイスの機能構成の例を示す図。
【
図11】第2実施形態の設定ツールの機能構成の例を示す図。
【
図12】第2実施形態の設定作業の処理シーケンスの例を示す図。
【
図13】第1及び第2実施形態のサーバ装置のハードウェア構成の例を示す図。
【発明を実施するための形態】
【0007】
以下に添付図面を参照して、情報処理システム、サーバ装置、情報処理方法及びプログラムの実施形態を詳細に説明する。
【0008】
新しいデバイスをCPSに組み入れる際の初期登録作業では、デバイスの識別情報などをサーバに登録する作業が行われる。この登録作業において、デバイスの認証に用いる暗号鍵が不正に漏洩してしまうと、不正なデバイスが正規のデバイスになり替わってサーバに接続できることになる。そのため、初期登録作業においては鍵の漏洩リスクを最小化し、万が一漏洩した場合でもサーバへの不正接続をなるべく早く遮断するための仕組みが重要となる。
【0009】
以下、アクティベーション鍵が万が一漏洩した場合でも、それを検出し、漏洩した鍵を速やかに無効化するとともに、漏洩した鍵を攻撃者が不正に用いることを困難にする実施形態について説明する。
【0010】
(第1実施形態)
はじめに、第1実施形態の情報処理システムの装置構成の例について説明する。
【0011】
[装置構成の例]
図1は第1実施形態の情報処理システム100の装置構成の例を示す図である。第1実施形態の情報処理システム100は、サーバ装置1、デバイス2a~2c、通信ネットワーク3a及び3b、登録ツール4及び設定ツール5を備える。
【0012】
以下、デバイス2a~2cを区別しない場合には、単にデバイス2という。同様に、通信ネットワーク3a及び3bを区別しない場合には、単に通信ネットワーク3という。
【0013】
サーバ装置1は、デバイス2、登録ツール4及び設定ツール5と通信して様々なサービスを提供する。サーバ装置1は、例えばクラウドサービス上に構築され、インターネットなどの通信ネットワークを介してデバイス2などと通信する。サーバ装置1及びデバイス2などの間の通信はTLS(Transport Layer Security)などの技術で保護される。デバイス2などはサーバ装置1と通信する際、サーバ装置1の電子証明書を検証することでサーバ装置1を認証する。
【0014】
デバイス2は、例えばセンサー及びアクチュエータなどの物理世界の状態を計測したり制御したりする機能を備える機器である。また、デバイス2は、通信ネットワーク3を介してサーバ装置1と通信する機能を持つ。デバイス2は、まず、初期登録場所101にて登録者102によって初期登録作業が施される(
図1の例では、デバイス2a)。その後、デバイス2は、設置者104によって設置場所103に設置され(
図1の例では、デバイス2b及び2c)、サーバ装置1と連携してその機能を果たす。
【0015】
通信ネットワーク3aは、サーバ装置1と、登録ツール4及びデバイス2aと、が通信するためのネットワークである。通信ネットワーク3aは、例えばインターネット、初期登録場所101のLAN(ローカルエリアネットワーク)、及び、それらをつなぐアクセスネットワークなどを含む。
【0016】
また、通信ネットワーク3bは、サーバ装置1と、設定ツール5並びにデバイス2b及び2cと、が通信するためのネットワークである。同様に、通信ネットワーク3bは、例えばインターネット、設置場所103のLAN、及び、それらをつなぐアクセスネットワークなどを含む。
【0017】
初期登録場所101は、登録者102がデバイス2aの初期登録作業を行う場所である。例えば、初期登録場所101は、デバイス2aを製造する工場である。登録者102は、デバイス2aの初期登録作業を行う作業者である。登録者102はサーバ装置1にユーザアカウントを持ち、アクティベーション鍵ペアの発行及び閲覧の権限を持つ。初期登録作業では、登録ツール4が、登録者102の操作に基づいて、デバイス2aにアクティベーション鍵(後述)をインストールする。
【0018】
登録ツール4は、例えば登録者102が初期登録作業で使うツール(例えばノートPCなど)である。
図1の例では、登録ツール4は、サーバ装置1及びデバイス2aと通信し、登録者102の操作に従って初期登録作業を実施する。
【0019】
設置場所103は、デバイス2が最終的に設置される場所である。設置場所103は、例えば、登録者102の顧客が所有する家屋及び施設等である。
図1の例では、デバイス2b及び2cが、サーバ装置1と連携して、設置場所103(物理世界)の状態の計測及び制御をする。
【0020】
設置者104は、デバイス2を設置場所103に設置する作業者である。設置者104は、例えば登録者102から委託を受けた者である。設置者104はサーバ装置1にユーザアカウントを持ち、後述するアクティベーショントークンの発行、及び、不正検出時のリボケーション(漏洩した鍵の無効化)等の権限を持つ。
図1の例では、設置者104は、登録者102及び当該登録者102の顧客等によって指定された場所にデバイス2b及び2cを置き、設定ツール5を用いてデバイス2b及び2cに設定作業を施す。設定作業が完了すると、デバイス2b及び2cはサーバ装置1からサービスを受けられるようになる。
【0021】
設定ツール5は、例えば設置者104が設定作業で用いるツール(例えばノートPCなど)である。設定ツール5はサーバ装置1及びデバイス2b及び2cと通信し、設置者104の操作に従って設定作業を実施する。
【0022】
[サーバ装置の機能構成の例]
図2は第1実施形態のサーバ装置1の機能構成の例を示す図である。第1実施形態のサーバ装置1は、通信部11、認証部12、ユーザアカウント記憶部13、アクティベーション鍵記憶部14、デバイス鍵記憶部15、発行部16、アクティベーショントークン記憶部17、サーバ鍵記憶部18及び処理部19を備える。
【0023】
通信部11は、通信先とメッセージの送受信をする。例えば、通信部11は、通信ネットワーク3を通じてデバイス2、登録ツール4及び設定ツール5へメッセージを送信する。また例えば、通信部11は、通信ネットワーク3を通じてデバイス2、登録ツール4及び設定ツール5からメッセージを受信する。
【0024】
認証部12は、通信部11で受信されたメッセージを認証する。つまり、認証部12は、そのメッセージを送信した主体を識別し、その結果に応じてメッセージの処理の方法、及び、処理の可否等を決定する。認証部12は、ユーザアカウント記憶部13、アクティベーション鍵記憶部14及びデバイス鍵記憶部15に記録された情報に基づいて受信メッセージを認証する。
【0025】
ユーザアカウント記憶部13は、サーバ装置1の提供する機能を使うことのできるユーザの情報を記憶する。ユーザアカウント記憶部13には、ユーザアカウントごとに、例えば以下のような情報が記録される。
・ユーザ識別子
・ユーザの電子メールアドレス
・ユーザのパスワード(暗号化又はハッシュ関数を施したパスワードデータ)
・ユーザ種別(登録者又は設置者)
【0026】
ユーザアカウント記憶部13にアカウント情報を持つユーザは、ユーザ識別子、電子メールアドレス及びパスワード等の情報を用いてサーバ装置1にログインし、ユーザ種別に応じた権限の範囲内でサーバ装置1の機能を使うことができる。
【0027】
アクティベーション鍵記憶部14は、アクティベーション鍵を記憶する。アクティベーション鍵は、デバイス2の設定作業において、当該デバイス2のデバイス鍵をサーバ装置1上で有効化(アクティベート)するために用いられる暗号鍵である。アクティベーション鍵(秘密鍵及び公開鍵のペア)は、初期登録作業において登録ツール4によってデバイス2にインストールされる。
【0028】
アクティベーション鍵記憶部14には、アクティベーション鍵ごとに、例えば以下のような情報が記録される。
・アクティベーション鍵識別子
・アクティベーション鍵の秘密鍵データ
・アクティベーション鍵の公開鍵データ
・最大アクティベーション数:このアクティベーション鍵で有効化できるデバイス鍵の最大数
・現在アクティベーション数:このアクティベーション鍵で現在までに有効化させたデバイス鍵の数
・(このアクティベーション鍵によって有効化された)デバイス鍵の識別子リスト
【0029】
デバイス鍵記憶部15は、デバイス鍵を記憶する。デバイス鍵はデバイス2ごとに異なる暗号鍵であり、設定作業の完了後、デバイス2がサーバ装置1のサービスを受ける際に使用される。デバイス鍵(公開鍵)は設定作業によってデバイス2からサーバ装置1に送られ、有効化される。デバイス鍵記憶部15には、例えば以下のような情報が記録される。
・デバイス鍵識別子
・デバイス鍵の公開鍵データ
・デバイス鍵の有効期限
・このデバイス鍵を有効化する際に用いられたアクティベーション鍵の識別子
【0030】
発行部16は、設定作業においてアクティベーショントークンを新規発行する。アクティベーショントークンは、設置者104が、あるデバイス鍵のアクティベーションを認可したことの証である。
【0031】
アクティベーショントークン記憶部17は、発行されたアクティベーショントークンを記憶する。アクティベーショントークン記憶部17は、アクティベーショントークンごとに、例えば以下のような情報を記録する。
・アクティベーショントークン文字列
・対応するアクティベーション鍵識別子
・アクティベーショントークンの有効期限
【0032】
サーバ鍵記憶部18は、サーバ装置1が発行するメッセージに認証コードを付与するために使われるサーバ鍵を記憶する。例えば認証コードが電子署名である場合、サーバ鍵は、公開鍵及び秘密鍵のペアである。
【0033】
処理部19は、認証部12によって認証を受けたメッセージを送信元から受信し、その受信メッセージで示されるリクエストを処理する。処理部19は、必要に応じて、受信メッセージに対する返信メッセージを作成し、メッセージの送信元に返信する。
【0034】
[デバイスの機能構成の例]
図3は第1実施形態のデバイス2の機能構成の例を示す図である。第1実施形態のデバイス2は、通信部31、アクティベーション鍵記憶部32、アクティベーショントークン記憶部33、登録ツール受付部34、設定ツール受付部35、デバイス鍵記憶部36、無線LAN認証情報記憶部37、アクティベーション要求部38、サービス要求部39及びデバイス識別タグ40を備える。
【0035】
通信部31は、通信ネットワーク3を介して、サーバ装置1とメッセージの送受信を行う。
【0036】
アクティベーション鍵記憶部32は、デバイス2のデバイス鍵を有効化するために使われるアクティベーション鍵ペア(公開鍵及び秘密鍵)と、アクティベーション鍵を識別するアクティベーション鍵識別子と、を記憶する。
【0037】
アクティベーショントークン記憶部33は、デバイス2のデバイス鍵を有効化するために使われるアクティベーショントークンを記憶する。
【0038】
登録ツール受付部34は、初期登録作業において登録ツール4からアクティベーション鍵ペアを受け取り、当該アクティベーション鍵ペアをアクティベーション鍵記憶部32に記憶する。
【0039】
設定ツール受付部35は、設定作業において設定ツール5からアクティベーショントークンを受け取り、当該アクティベーショントークンをアクティベーショントークン記憶部33に記憶する。
【0040】
デバイス鍵記憶部36は、デバイス2のデバイス鍵ペア(公開鍵及び秘密鍵)を記憶する。
【0041】
無線LAN認証情報記憶部37は、設置場所103に展開される無線LANのアクセス認証情報(例えば、SSID(Service Set Identifier)及びパスワード)を記憶する。
【0042】
アクティベーション要求部38は、設定作業時にサーバ装置1にアクティベーションリクエストを送り、デバイス2のデバイス鍵を有効化する。アクティベーションリクエストには、アクティベーション鍵による認証コードが付与される。認証コードは、例えばアクティベーション鍵(秘密鍵)による電子署名である。なお、アクティベーション鍵が共通鍵である場合は、認証コードは、例えば当該共有鍵によるメッセージ認証コード(MAC:Message Authentication Code)である。
【0043】
また、アクティベーションリクエストには、デバイス鍵(秘密鍵)による電子署名が付与される。アクティベーション要求部38は、アクティベーションリクエストに当該電子署名を含めることで、デバイス2がデバイス鍵(秘密鍵)を所有していることを証明する。
【0044】
サービス要求部39は、設定作業が行われた後、サーバ装置1にサービスリクエストを送る。サービスリクエストにはデバイス鍵による署名が付与される。
【0045】
デバイス識別タグは、デバイス固有識別子を示すタグである。デバイス識別タグは、例えば、識別子情報を印字したラベル、識別子情報をQRコード(登録商標)に印刷したラベル、及び、識別子情報を記録したRFIDタグ等である。
【0046】
[設定ツールの機能構成]
図4は第1実施形態の設定ツール5の機能構成の例を示す図である。第1実施形態の設定ツール5は、サーバ通信部51、デバイス通信部52、記憶部53、読取部54及び処理部55を備える。
【0047】
サーバ通信部51は、通信ネットワーク3を介してサーバ装置1と通信する。サーバ通信部51により送信されるメッセージには、設定ツールのユーザ(例えば設置者104)の認証情報(例えばユーザ識別子及びパスワード)が含まれていてもよい。
【0048】
デバイス通信部52は、設定作業が行われるときに、デバイス2と通信する。
【0049】
記憶部53は、設置対象のデバイス2に関する情報を記録する。記憶部53は、設置デバイスリストを記憶する。設置デバイスリストは、設置対象のデバイス2ごとに、例えば以下の情報を含む。
【0050】
・設置対象のデバイス2のデバイス固有識別子
・設置対象のデバイス2にインストールされているアクティベーション鍵の識別子
【0051】
読取部54は、設置対象のデバイス2の持つデバイス識別タグを読み取る。読取部54は、例えばQRコードを読み取るカメラ及びRFID(radio frequency identifier)リーダ等である。
【0052】
処理部55は、デバイス識別タグと、設置デバイスリストとを照合する。
【0053】
第1実施形態の情報処理システム100に新たなデバイス2を追加する場合、まず登録ツール4が、登録者102の操作に基づく初期登録作業を実施する。初期登録作業の実施前の時点において、デバイス2はアクティベーション鍵を持たず、サーバ装置1はそのデバイス2のデバイス鍵を持たない。なお、デバイス2は初期登録作業の実施前の時点で自身のデバイス鍵を持っていてもよいし、後述する設定作業時に初めてデバイス鍵を生成してもよい。
【0054】
[初期登録作業の処理例]
図5は第1実施形態の初期登録作業の処理シーケンスの例を示す図である。
図5の処理シーケンスではサーバ装置1が新たなアクティベーション鍵を発行し、登録ツール4が、登録者102の操作に基づいて、当該アクティベーション鍵をデバイス2にインストールする。
【0055】
はじめに、登録ツール4が、登録者102の操作に応じて、サーバ装置1にアクティベーション鍵作成リクエストを送る(ステップS1)。なお、登録ツール4及びサーバ装置1は通信ネットワーク3aを介して通信する。
【0056】
次に、サーバ装置1の通信部11が、アクティベーション鍵作成リクエストを受信すると、認証部12が、当該アクティベーション鍵作成リクエストが登録者102によるものであるかを認証する(ステップS2)。この認証には、例えばユーザアカウント記憶部13に記憶されたユーザ識別子及びパスワードを用いたパスワード認証を用いてもよい。また例えば、この認証には、OAuth2.0 Authorization Code Flow (RFC 6749)で予め取得したトークンによる認証を用いてもよい。
【0057】
次に、認証部12によってリクエストの正当性が確認されると、処理部19は新しいアクティベーション鍵(秘密鍵及び公開鍵のペア)をランダムに生成し、アクティベーション鍵記憶部14に記憶する(ステップS3)。その際、処理部19は、最大アクティベーション数、現在アクティベーション数はともに0にセットし、デバイス鍵の識別子リストは空のリストとして初期化する。
【0058】
次に、通信部11は、ステップS3の処理によって生成されたアクティベーション鍵を登録ツール4に返信する(ステップS4)。
【0059】
次に、登録ツール4は、サーバ装置1から受信したアクティベーション鍵をデバイス2に転送することにより、当該アクティベーション鍵をデバイス2にインストールする(ステップS5)。なお、登録ツール4及びデバイス2は、初期登録作業中に有効な通信方法を介して通信する。初期登録作業中に有効な通信方法は、例えば初期登録場所101に存在するLAN、Bluetoothによる無線通信、RS232及びJTAG等による通信、赤外線通信、並びに、超音波通信等である。これらの通信方法は、初期登録作業中のみ有効になるようにしてもよい。
【0060】
次に、デバイス2のアクティベーション鍵記憶部32は、登録ツール4から受信されたアクティベーション鍵を記憶する(ステップS6)。
【0061】
なお、上記処理シーケンスでは、サーバ装置1が新たなアクティベーション鍵を作成したが、登録ツール4が、既存のアクティベーション鍵をサーバ装置1からダウンロードしてデバイス2にインストールしてもよい。その場合、登録ツール4は、例えば登録者102の操作に応じて、アクティベーション鍵取得リクエストをサーバ装置1に送信する。サーバ装置1は、アクティベーション鍵取得リクエストを認証した後、当該アクティベーション鍵取得リクエストで指定されたアクティベーション鍵を、アクティベーション鍵記憶部14から読み出し、登録ツール4に返信する。
【0062】
また、上記処理シーケンスでは新しいアクティベーション鍵を生成する際、最大アクティベーション数を0に初期化したが、0よりも大きな数として初期化してもよい。初期登録作業によってアクティベーション鍵をインストールされたデバイス2は設置場所103に輸送され、設置者104によって所定の位置に設置された後、設定作業が施される。その際、設置者104の使う設定ツール5の記憶部53には、あらかじめ設置対象とするデバイス2のデバイス固有識別子とそのデバイス2の持つアクティベーション鍵識別子のリストとが記憶される。記憶部53にこれらの情報を格納する作業は、設置者104自身か、設置者104に設置作業を依頼する者(例えば登録者102)が行う。
【0063】
[設定作業の処理例]
図6は第1実施形態の設定作業の処理シーケンスの例を示す図である。はじめに、設定ツール5の読取部54が、設置者104の操作に応じて、設置対象のデバイス2のデバイス識別タグを読み取る(ステップS11)。
【0064】
次に、処理部55が、ステップS11の処理により読み取られたデバイス識別タグから特定されるデバイス2が、設置対象であることを確認する(ステップS12)。具体的には、処理部55は、デバイス識別タグから読み取ったデバイス固有識別子と、記憶部53の設置デバイスリストに含まれるデバイス固有識別子とを照合する。設置デバイスリストに対応するエントリが存在しない場合、その旨を設置者104に通知し、設置者104は、設置作業を中止する。処理部55は、対応するエントリが存在する場合、設置対象のデバイス2のアクティベーション鍵識別子を記憶部53から読み出す。
【0065】
次に、サーバ通信部51は、サーバ装置1にアクティベーショントークン発行リクエストを送信する(ステップS13)。アクティベーショントークン発行リクエストには設置対象のデバイス2のアクティベーション鍵識別子、及び、設置者104の認証情報が含まれる。
【0066】
次に、サーバ装置1の通信部11は、アクティベーショントークン発行リクエストを設定ツール5から受信すると、それが設置者104によるものであるかを認証する(ステップS14)。この認証には、アクティベーショントークン発行リクエストに含まれる認証情報(例えばユーザ識別子及びパスワード)と、ユーザアカウント記憶部13に記録された認証情報(例えばユーザ識別子及びパスワード)とを用いたパスワード認証を用いてもよいし、OAuth2.0 Authorization Code Flowで予め取得したトークンによる認証を用いてもよい。認証部12は、認証が不合格となった場合、アクティベーショントークン発行リクエストを破棄し、通信部11が、設定ツール5にエラーを返信する。
【0067】
次に、処理部19が、認証部12によってアクティベーショントークン発行リクエストの正当性が確認されると、当該アクティベーショントークン発行リクエストに含まれるアクティベーション鍵識別子に該当するアクティベーション鍵記憶部14のエントリの最大アクティベーション数に1を加算する(ステップS15)。本実施形態では、この時点で当該エントリの最大アクティベーション数は1、現在アクティベーション数は0となる。
【0068】
次に、発行部16は、アクティベーショントークンを作成し、当該アクティベーショントークンを設定ツール5へ返信する(ステップS16)。具体的には、処理部19はアクティベーショントークン記憶部17に新しいエントリを作成し、アクティベーショントークン文字列フィールドにランダム生成した文字列をセットする。処理部19は、当該エントリの「対応するアクティベーション鍵識別子」フィールドには、設定ツール5から受信したアクティベーショントークン発行リクエストに含まれるアクティベーション鍵識別子をセットする。処理部19は、有効期限フィールドには現在時刻から適切な時間(例えば、10分)だけ未来の時刻をセットする。処理部19は、エントリの作成が完了したら、アクティベーショントークン(アクティベーショントークン文字列フィールドにランダム生成した文字列)を設定ツール5に返信する。
【0069】
次に、設定ツール5のサーバ通信部51が、サーバ装置1からアクティベーショントークンを受信すると、デバイス通信部52が、当該アクティベーショントークンをデバイス2に入力する(ステップS17)。ここでは、設定ツール5及びデバイス2は、初期登録作業のときと同様の方法で通信を行う。デバイス2はアクティベーショントークンを自身のアクティベーショントークン記憶部17に記憶する。
【0070】
次に、デバイス通信部52は、設置場所103に展開されている無線LANアクセス認証情報(例えば、SSID及びパスワード)をデバイス2に入力する(ステップS18)。無線LANアクセス認証情報は、設定ツール5にあらかじめ記憶されていてもよいし、設置者104が設定ツール5に無線LANアクセス認証情報を入力してもよい。デバイス2は、設定ツール5から受信した無線LANアクセス認証情報を無線LAN認証情報記憶部37に記憶する。これにより、デバイス2は設置場所103の無線LANを介してサーバ装置1と通信できるようになる。
【0071】
次に、デバイス2の通信部31は、アクティベーションリクエストをサーバ装置1に送り、デバイス2のデバイス鍵の有効化を要求する(ステップS19)。デバイス2はアクティベーションリクエストに以下の情報を含める。
・デバイス鍵(公開鍵)
・アクティベーション鍵識別子
・アクティベーショントークン文字列
・このアクティベーションリクエストを作成した時刻
・ランダムに生成したリクエスト識別文字列
・以上の全ての情報についてデバイス鍵(秘密鍵)で作成した電子署名
・以上の全ての情報についてアクティベーション鍵(秘密鍵)で作成した電子署名
【0072】
次に、サーバ装置1の通信部11は、デバイス2からアクティベーションリクエストを受信すると、当該アクティベーションリクエストの正当性を認証する(ステップS20)。具体的には、認証部12は、まず、アクティベーションリクエストに記載されたアクティベーション鍵識別子に該当するアクティベーション鍵(公開鍵)をアクティベーション鍵記憶部14から読み出し、その公開鍵でアクティベーションリクエストに付与された認証コード(第1実施形態では、電子署名)を検証する。認証部12は、検証の結果、アクティベーションリクエストが不正なものだと判定された場合、アクティベーションリクエストを破棄し、処理を中止する。
【0073】
次に、処理部19が、デバイス2から受信されたアクティベーションリクエストに含まれるアクティベーショントークンの有効性を検証する(ステップS21)。具体的には、処理部19は、アクティベーションリクエストに含まれるアクティベーショントークンを用いて、アクティベーショントークン記憶部17を照合し、該当するエントリを取り出す。処理部19は、該当エントリに記載された有効期限が現在時刻よりも後の時刻であることを検証する。更に、処理部19は、該当エントリに記載されたアクティベーション鍵識別子と受信リクエストに記載されたアクティベーション鍵識別子とが同一であることを検証する。
【0074】
なお、処理部19は、更に他の検証処理を行ってもよい。処理部19は、例えば、アクティベーションリクエストに記載される作成時刻が現在時刻に十分に近い過去の時刻であることを更に検証してもよい。また例えば、処理部19は、アクティベーションリクエストのリクエスト識別文字列が一定期間内に初めて受信されるものであることを更に検証してもよい。また例えば、処理部19は、アクティベーションリクエストに含まれるデバイス鍵(公開鍵)がデバイス鍵記憶部15に未登録であることを更に検証してもよい。また例えば、処理部19は、アクティベーションリクエストに含まれる電子署名を、アクティベーションリクエストに含まれるデバイス鍵(公開鍵)で検証できることを、更に検証してもよい。
【0075】
処理部19は、処理部19で行われる検証処理のうち、いずれか一つでも不合格となった場合、アクティベーションリクエストを破棄し、処理を中止する。
【0076】
次に、処理部19は、上記の検証によってアクティベーションリクエストの正当性を確認すると、当該アクティベーションリクエストに記載されたアクティベーション鍵識別子に該当するエントリをアクティベーション鍵記憶部14から読み出し、その現在アクティベーション数が最大アクティベーション数未満であることを検証する(ステップS22)。現在アクティベーション数が最大アクティベーション数未満でない場合、処理部19は、アクティベーション数エラーレスポンスを作成し、通信部11が、当該アクティベーション数エラーレスポンスをデバイス2に返信する(詳細は後述)。
【0077】
次に、現在アクティベーション数が最大アクティベーション数未満の場合、サーバは現在アクティベーション数に1を加算し、アクティベーション鍵記憶部14を更新する(ステップS23)。本実施形態では、この時点で最大アクティベーション数は1、現在アクティベーション数は1となる。
【0078】
次に、処理部19は、アクティベーションリクエストに含まれるデバイス鍵(公開鍵)のエントリをデバイス鍵記憶部15に新規登録する(ステップS24)。その際、処理部19は、新規登録エントリのデバイス鍵識別子を新たに発行し、有効期限は現在時刻から適切な時間だけ先の日時(例えば、1週間後)にセットし、「デバイス鍵を有効化する際に用いられたアクティベーション鍵の識別子」フィールドには、アクティベーションリクエストに含まれるアクティベーション鍵識別子をセットする。
【0079】
次に、通信部11が、新規登録したデバイス鍵の登録情報(デバイス鍵識別子及び有効期限)をデバイス2に返信する(ステップS25)。
【0080】
上記処理シーケンスでは、設定ツール5はアクティベーショントークンと、設置場所103の無線LANアクセス認証情報をデバイス2に入力する際に、登録ツール4と同様の方法でデバイス2と通信した。別の方法としては、設置者104が、デバイス2の備える入出力装置を直接操作してこれらの情報を伝えてもよい。例えば、デバイス2がキーボードとディスプレイとを備えている場合、設置者104がアクティベーショントークンを示す文字列を、そのキーボードで直接、デバイス2に入力してもよい。その場合、設定ツール5は、入力されたアクティベーショントークンを示す文字列をディスプレイなどに表示して設置者104に提示する。同様に、設置場所103の無線LANアクセス認証情報も、設置者104がデバイス2のキーボードで直接入力してもよい。
【0081】
また、上記処理シーケンスでは、処理部19は、設定ツール5から送信されたアクティベーショントークン発行リクエストに応答して、アクティベーショントークン記憶部17に新規エントリを作成し、その新規エントリに対応するアクティベーショントークンを設定ツール5に返信していた。別の方法としては、アクティベーショントークンを示す文字列自体に、設定ツール5で必要な情報を埋め込んでもよい。例えば、処理部19は、アクティベーショントークン発行リクエストに含まれるアクティベーション鍵識別子、及び、アクティベーショントークンの有効期限に対し、サーバ鍵記憶部18に記憶されたサーバ鍵(秘密鍵)で電子署名を付与したデータを生成してもよい。そして、通信部11が、処理部19により生成されたデータを、文字列にエンコードし、当該文字列をアクティベーショントークンとして設定ツール5に送ってもよい。その際のエンコードにはJSON Web Token (RFC 7519)などの方式を使ってもよい。その後、サーバ装置1が、デバイス2からアクティベーションリクエストを受信した際には、当該アクティベーションリクエストに含まれるアクティベーショントークンの電子署名を、サーバ鍵(公開鍵)で検証し、トークン内部に含まれるアクティベーション鍵識別子及び有効期限を用いて上記の処理シーケンスを実施すればよい。
【0082】
上記
図6の設定作業が完了すると、デバイス2はサーバ装置1からサービスの提供を受けられるようになる。
【0083】
[サービス提供の処理例]
図7は第1実施形態のサービス提供の処理シーケンスの例を示す図である。はじめに、デバイス2のサービス要求部39は、サービスリクエストを作成し、サーバ装置1に送る(ステップS31)。サービスリクエストは以下の情報を含む。
・要求するサービス固有の情報
・デバイス鍵識別子
・サービスリクエストを作成した時刻
・ランダムに生成したリクエスト識別文字列
・以上の全ての情報についてデバイス鍵(秘密鍵)で作成した電子署名
【0084】
次に、サーバ装置1の認証部12は、デバイス2からサービスリクエストを受信すると、当該サービスリクエストに含まれるデバイス鍵識別子を取得し、当該デバイス鍵識別子によりデバイス鍵記憶部15を照合し、対応するエントリを読み出す(ステップS32)。
【0085】
次に、認証部12は、ステップS32の処理により読み出されたエントリに含まれる有効期限が現在時刻よりも後の時刻であることを検証する(ステップS33)。有効期限が現在時刻よりも後の時刻でない場合、サーバ装置1は処理を中止し、通信部11が、デバイス2にエラーメッセージを返信する。
【0086】
次に、有効期限が現在時刻よりも後の時刻である場合、認証部12は、当該エントリから取得したデバイス鍵(公開鍵)を用いて、ステップS31で送信されたサービスリクエストの電子署名を検証する(ステップS34)。なお、認証部12は、さらに他の検証を行ってもよい。例えば、認証部12は、サービスリクエストに含まれる作成時刻が、現在時刻に十分に近い過去の時刻であることを更に検証してもよい。また例えば、認証部12は、サービスリクエストに含まれるリクエスト識別文字列が、一定期間内に初めて受信されるリクエスト識別文字列であることを更に検証してもよい。いずれか一つの検証が不合格となった場合、サーバ装置1は処理を中止し、通信部11が、デバイス2にエラーメッセージを返信する。
【0087】
次に、処理部19が、ステップS31で送信されたサービスリクエストに含まれるサービス固有情報を読み取り、要求されたサービスを実施する(ステップS35)。
【0088】
次に、通信部11は、ステップS35で実施しれたサービスの結果をサービスレスポンスとしてデバイス2に返信する(ステップS36)。
【0089】
上記のように、サービスリクエストは有効期限内のデバイス鍵による電子署名を用いて認証される。
【0090】
サーバ装置1はデバイス2に提供するサービスの一つとして、デバイス鍵の更新サービスを持つ。デバイス鍵を更新する際、デバイス2はまず新しいデバイス鍵ペアを生成し、新しいデバイス鍵(公開鍵)と新しいデバイス鍵(秘密鍵)による電子署名とを含む更新リクエストを作り、さらに古いデバイス鍵による電子署名を付与してサーバ装置1に送る。サーバ装置1は上記シーケンスに従い、古いデバイス鍵を用いて更新リクエストを認証する。また、サーバ装置1は新しいデバイス鍵(秘密鍵)による電子署名を、受信した新しいデバイス鍵(公開鍵)で検証する。これらの検証に合格した場合、サーバ装置1は新しいデバイス鍵(公開鍵)で古いデバイス鍵を差し替えるようにデバイス鍵記憶部15を更新する。
【0091】
本実施形態の初期登録作業、設定作業及びサービス提供の処理シーケンスは以下の特徴によりセキュリティを高めている。
・サービス提供の認証に用いるデバイス鍵はデバイス2ごとに異なる。これにより、デバイス鍵が漏洩した際の影響を抑えられる。
・デバイス鍵(秘密鍵)は常にデバイス内部にあり、外部とやり取りされない。これにより、デバイス鍵の漏洩の可能性が抑えられる。
・デバイス2がデバイス鍵を有効化するためにはアクティベーショントークンが必要であり、アクティベーショントークンはサーバ装置1にユーザアカウントを持つ設置者104が発行する必要がある。これにより、サーバ装置1にアカウントを持たない攻撃者がアクティベーション鍵を盗み出した場合でも、不正なデバイス鍵の有効化を防ぐことができる。
・アクティベーション鍵ごとに、有効化できるデバイス鍵(アクティベーション数)の上限が管理されており、上限を超える有効化はできない。これにより、攻撃者がアクティベーション鍵及びアクティベーショントークンを盗み出した場合でも、不正なデバイス鍵の有効化を防ぐことができる。
・アクティベーション鍵の最大アクティベーション数は、アクティベーショントークン発行時になって初めて加算される。これにより、新規デバイス鍵の有効化を実施可能な時間を短くする。これは攻撃者が不正なデバイス鍵を有効化できる時間を短くすることにつながる。
【0092】
上記のように、本実施形態を実施した情報処理システム100では、攻撃者が不正なデバイス鍵を有効化するのは極めて困難であるが、依然として理論的には可能である。しかしながら、本実施形態では、そのような場合でもデバイス鍵の不正な有効化を検出し、速やかに対応できる。
【0093】
[不正検出の処理の例]
図8は第1実施形態の不正検出の処理シーケンスの例を示す図である。
図8の例は、攻撃者105が不正デバイス2eを有効化させたことを検出する処理シーケンスを示す。
【0094】
前提として、攻撃者は何らかの方法で正規デバイス2dにインストールされたアクティベーション鍵ペアを盗み出しており、自身の持つ不正デバイス2eにインストール済みであるとする。その状態で、正規デバイス2dの設定作業が開始され、設定ツール5がアクティベーショントークン発行リクエストを送信したとする。
【0095】
はじめに、サーバ装置1の通信部11が、
図6に記載の手続きでアクティベーショントークン発行リクエストを検証、処理し、アクティベーショントークンを返信する(ステップS41)。ここで、攻撃者105は何らかの方法で設定ツール5がサーバ装置1から受信したアクティベーショントークンを盗み出す(ステップS42)。これは例えば、設定ツール5にあらかじめスパイウェアをインストールしておくことで実現される。攻撃者105は、ステップS42で盗んだアクティベーショントークンを不正デバイス2eにインストールする。
【0096】
次に、不正デバイス2eは、攻撃者105が盗み出したアクティベーション鍵及びアクティベーショントークンと、不正デバイス2eのデバイス鍵を用いてアクティベーションリクエストを作成し、当該アクティベーションリクエストをサーバ装置1に送る(ステップS43)。
【0097】
次に、サーバ装置1は、
図6に記載の手続きでアクティベーションリクエストを認証及び検証する(ステップS44)。ここで、不正デバイス2eは正規デバイス2dに対して発行されたアクティベーション鍵及びアクティベーショントークンを盗み出しているため、サーバ装置1はこの時点で不正を検出できない。
【0098】
次に、サーバ装置1の処理部19が、当該アクティベーション鍵の現在アクティベーション数に1を加算する(ステップS45)。本実施形態では、この時点で当該アクティベーション鍵の最大アクティベーション数は1、現在アクティベーション数は1となる。
【0099】
次に、処理部19は、ステップS43で、不正デバイス2eから送信されたアクティベーションリクエストに含まれるデバイス鍵(公開鍵)のエントリをデバイス鍵記憶部15に登録し、当該エントリの登録時に発行したデバイス鍵識別子などの情報を不正デバイス2eに返信する(ステップS46)。
【0100】
その後、設定ツール5が、
図6に記載の手続きでアクティベーショントークン及び設置場所103の無線LAN認証情報などを正規デバイス2dに入力する(ステップS47)。
【0101】
正規デバイス2dは、
図6に記載の手続きでアクティベーションリクエストをサーバ装置1に送信する(ステップS48)。
【0102】
次に、サーバ装置1の認証部12及び処理部19は、ステップS48で送信されたアクティベーションリクエストを認証及び検証する(ステップS49)。検証は合格となり、サーバ装置1は処理を継続する。
【0103】
次に、サーバ装置1は、
図6に記載の手続きに従い、現在アクティベーション数が最大アクティベーション数未満であることを検証する(ステップS50)。
図8の例の場合、不正デバイス2eが既に自身のデバイス鍵を有効化しているため、現在アクティベーション数は最大アクティベーション数と同じ値になっている。そのため、この検証は不合格となる。
【0104】
次に、処理部19が、アクティベーション数エラーレスポンスを作成し、正規デバイス2dに返信する(ステップS51)。アクティベーション数エラーレスポンスは以下の情報を含む。
・エラーが発生したアクティベーション鍵識別子
・エラーが発生したアクティベーショントークン文字列
・本レスポンスの有効期限(例えば、現在時刻より30分先の時刻)
・以上の全ての情報についてサーバ鍵(秘密鍵)で作成した電子署名
【0105】
次に、正規デバイス2dが、サーバ装置1から受信したアクティベーション数エラーレスポンスを設定ツール5に転送する(ステップS52)。転送方法は、例えば設定ツール5がアクティベーショントークンなどを正規デバイス2dに入力する際に用いられた通信方法と同じでもよい。また例えば、転送方法は、正規デバイス2dの備えるディスプレイにQRコードとしてアクティベーション数エラーレスポンスを表示し、設定ツール5のカメラでそれを読み取るなどの方法でもよい。また、その際に正規デバイス2dは、設置者104の注意を喚起し、アクティベーション数エラーレスポンスの読み取りを促してもよい。具体的には、正規デバイス2dは、スピーカーから音を鳴らしたり、LEDを点滅させたりするなどして設置者104の注意を喚起してもよい。
【0106】
次に、設定ツール5のサーバ通信部51が、サーバ装置1にリボケーションリクエストを送る(ステップS53)。リボケーションリクエストは、正規デバイス2dの持つアクティベーション鍵が攻撃者105によって盗まれたとして、そのアクティベーション鍵及びそれによって有効化された全てのデバイス鍵を無効化することをサーバ装置1に要求するリクエストである。リボケーションリクエストは正規デバイス2dから転送されたアクティベーション数エラーレスポンス、及び、設置者104の認証情報を含む。
【0107】
次に、サーバ装置1の通信部11は、設定ツール5からリボケーションリクエストを受信すると、認証部12が、それが設置者104によるものであることを認証する(ステップS54)。この認証には、リボケーションリクエストに含まれる認証情報(例えばユーザ識別子及びパスワード)と、ユーザアカウント記憶部13に記録された認証情報(例えばユーザ識別子及びパスワード)とを用いたパスワード認証を用いてもよいし、OAuth2.0 Authorization Code Flowで予め取得したトークンによる認証を用いてもよい。認証部12は、認証が不合格となった場合、リボケーションリクエストを破棄し、通信部11が、設定ツール5にエラーを返信する。
【0108】
次に、サーバ装置1の処理部19が、リボケーションリクエストに含まれるアクティベーション数エラーレスポンスの正当性を検証する(ステップS55)。具体的には、処理部19は、まず、アクティベーション数エラーレスポンスに付与された電子署名が、サーバ装置1のサーバ鍵によるものであることを検証する。次に、処理部19は、アクティベーション数エラーレスポンスの有効期限が現在時刻よりも後の時刻であることを検証する。これらのいずれかの検証が不合格となった場合、サーバ装置1はリボケーションリクエストを破棄し、通信部11が、設定ツール5にエラーを返信する。
【0109】
次に、処理部19は、ステップS55の検証が合格の場合、漏洩したアクティベーション鍵を無効化する(ステップS56)。具体的には、処理部19は、アクティベーション数エラーレスポンスに含まれるアクティベーション鍵識別子を持つエントリを、アクティベーション鍵記憶部14から削除する。また、処理部19は、当該アクティベーション鍵識別子を持つデバイス鍵のエントリをデバイス鍵記憶部15から削除する。
【0110】
上記の処理シーケンスによって、サーバ装置1は攻撃者105によって盗み出されたアクティベーション鍵及びそれによって有効化された不正デバイス2eのデバイス鍵を無効化できるので、不正デバイス2eがサーバ装置1のサービス提供を受けることを防ぐことができる。また、サーバ装置1はリボケーションリクエストを認証するにあたり、設置者104のユーザアカウント認証、及び、サーバ自身の署名を含むアクティベーション数エラーレスポンスの存在を要求する。これにより、アクティベーション鍵の無効化機能自体が攻撃者に悪用されることを防ぐことができる。
【0111】
なお、第1実施形態ではサーバ鍵、アクティベーション鍵及びデバイス鍵はいずれも非対称鍵(秘密鍵及び公開鍵のペア)を想定したが、これらはいずれも対称鍵(共有鍵)でもよい。ただし、デバイス鍵を対称鍵とする場合、アクティベーションリクエストで鍵自体をデバイス2からサーバ装置1に送ることになり、デバイス鍵の漏洩リスクが高まる。これを防ぐために、
図6でデバイス鍵自体をアクティベーションリクエストとして送る代わりに、デバイス2とサーバ装置1との間でDiffie-Hellman鍵交換アルゴリズムを実施し、デバイス2及びサーバ装置1のそれぞれが共通のデバイス鍵を生成・記録してもよい。
【0112】
以上説明したように、第1実施形態の情報処理システム100は、サーバ装置1と、デバイス2とを備える。サーバ装置1では、アクティベーション鍵記憶部14(第1のアクティベーション鍵記憶部)が、サーバ装置1のサービスをデバイス2が受けるときに使用されるデバイス鍵を有効にするアクティベーション鍵と、アクティベーション鍵を識別するアクティベーション鍵識別子と、アクティベーション鍵で有効にできるデバイス鍵の数を示す最大アクティベーション数と、アクティベーション鍵で有効にされた現在のアクティベーション鍵の数を示す現在アクティベーション数と、を記憶する。処理部19が、デバイス2から、第1のデバイス鍵と、第1のアクティベーション鍵識別子とを含むアクティベーションリクエストを受信すると、第1のアクティベーション鍵識別子により識別される第1のアクティベーション鍵の第1の現在アクティベーション数が、第1の最大アクティベーション数未満である場合、第1のデバイス鍵をデバイス鍵記憶部15(第1のデバイス鍵記憶部)に記憶する。デバイス2では、デバイス鍵記憶部36(第2のデバイス鍵記憶部)は、デバイス2のデバイス鍵(第1のデバイス鍵)を記憶する。アクティベーション鍵記憶部32(第2のアクティベーション鍵記憶部)は、第1のアクティベーション鍵と、第1のアクティベーション鍵識別子とを記憶する。アクティベーション要求部38は、アクティベーションリクエストをサーバ装置1に送信する。
【0113】
これにより第1実施形態の情報処理システムによれば、アクティベーション鍵が万が一漏洩した場合でも、漏洩したアクティベーション鍵を攻撃者が不正に用いることを困難にすることができる(例えば
図8参照)。
【0114】
(第2実施形態)
次に第2実施形態について説明する。第2実施形態の説明では、第1実施形態と同様の説明については省略し、第1実施形態と異なる箇所について説明する。第1の実施形態では、設定作業においてデバイス2は設定ツール5と双方向に通信し、アクティベーショントークン及びアクティベーション数エラーレスポンスなどの情報をやり取りしていた。しかし、例えば、デバイス2のコストを下げるため、デバイス2のサイズを小さくするため、または設定作業の簡略化のため等の理由で、デバイス2が双方向通信機能を持てないことがある。第2実施形態では、デバイス2が双方向通信機能の持たない場合の実施形態について説明する。
【0115】
[サーバ装置の機能構成]
図9は第2実施形態のサーバ装置1-2の機能構成の例を示す図である。第2実施形態のサーバ装置1-2は、通信部11、認証部12、ユーザアカウント記憶部13、アクティベーション鍵記憶部14、デバイス鍵記憶部15、発行部16、アクティベーショントークン記憶部17、サーバ鍵記憶部18、処理部19及び認可コード記憶部20を備える。第1実施形態のサーバ装置1の構成との違いは、本実施形態では、さらに認可コード記憶部20を備える点である。
【0116】
認可コード記憶部20は、OAuth2.0 Device Authorization Grant(RFC 8628)に従ってサーバ装置1が発行する認可コードを記憶する。認可コード記憶部20のエントリには、以下の情報が記録される。
・デバイスコード
・ユーザコード
・有効期限
・認可リクエストに使われたアクティベーション鍵識別子
・検証完了フラグ
【0117】
[デバイスの機能構成]
図10は第2実施形態のデバイス2-2の機能構成の例を示す図である。第2実施形態のデバイス2―2は、通信部31、アクティベーション鍵記憶部32、アクティベーショントークン記憶部33、登録ツール受付部34、設定ツール受付部35、デバイス鍵記憶部36、無線LAN認証情報記憶部37、アクティベーション要求部38、サービス要求部39、デバイス識別タグ40、ディスプレイ41、無線LAN設定ボタン42及びアクティベーショントークン要求部43を備える。第1実施形態のデバイス2の構成との違いは、本実施形態では、設定ツール受付部35の代わりに、ディスプレイ41、無線LAN設定ボタン42及びアクティベーショントークン要求部43を更に備える点である。
【0118】
ディスプレイ41は、設定作業において、ユーザコード及びアクティベーション数エラーレスポンス等を表示することにより、設定ツール5に伝達する。
【0119】
無線LAN設定ボタン42は、設定作業において、設置場所103の無線LAN認証情報を取得するために用いられる。
【0120】
アクティベーショントークン要求部43は、アクティベーショントークンをサーバ装置1から取得するためのリクエスト処理を行う。
【0121】
[設定ツールの機能構成]
図11は第2実施形態の設定ツール5の機能構成の例を示す図である。第1実施形態の設定ツールは、サーバ通信部51、記憶部53、読取部54、処理部55及びカメラ56を備える。本実施形態では、デバイス通信部52の代わりに、カメラ56を更に備える点である。
【0122】
カメラ56は、設定作業において、デバイス2のディスプレイ41に表示される情報を読み取る。なお、カメラ56は、読取部54と同一でもよい。
【0123】
第2実施形態の初期登録作業の処理シーケンス、及び、サービス提供の処理シーケンスは、第1実施形態と同じである。設定作業の処理シーケンスでは、本実施形態のデバイス2-2は、第1実施形態のデバイス2よりも情報の入力機能が制限されるため、異なる処理シーケンスを採用する。具体的には、デバイス2-2はOAuth2.0 Device Authorization Grant(RFC 8628)に従ってアクティベーショントークンをサーバ装置1から取得する。
【0124】
[設定作業の処理例]
図12は第2実施形態の設定作業の処理シーケンスの例を示す図である。ステップS61及びS62の説明は、第1実施形態のステップS11及びS12(
図6参照)と同じなので省略する。
【0125】
次に、デバイス2―2は、設置者104の操作に応じて、WiFi Protected Setup(WPS)を用いてデバイス2-2に無線LAN認証情報を設定する(ステップS63)。具体的には、例えばデバイス2-2は、設置者104から無線LAN設定ボタン42の押下を受け付ける。また、設置場所103の無線LANアクセスポイントは、デバイス2-2の無線LAN設定ボタン42が押下された後、設置者104からWPSボタンの押下を受け付ける。WPSの自動設定機能により、デバイス2-2は設置場所103の無線LAN認証情報を取得し、設置場所103の無線LANを介して通信ネットワーク3bに接続できるようになる。
【0126】
次に、デバイス2-2の通信部31は、サーバ装置1-2に認可リクエストを送信する(ステップS64)。認可リクエストは、設置者104に対するデバイス鍵の有効化の許可を、デバイス2-2が間接的に求めるリクエストである。認可リクエストには、以下の情報が含まれる。
・デバイス2-2の持つアクティベーション鍵識別子
・認可リクエストの作成時刻
・デバイス2-2でランダムに生成されたリクエスト識別文字列
・以上の全ての情報についてアクティベーション鍵(秘密鍵)で作成された電子署名
【0127】
次に、サーバ装置1-2の通信部11は、デバイス2-2から認可リクエストを受信すると、認証部12が、当該認可リクエストの正当性を認証する(ステップS65)。具体的には、認証部12は、認可リクエストに含まれるアクティベーション鍵識別子で識別されるアクティベーション鍵(公開鍵)で認可リクエストに付与された電子署名を検証する。なお、認証部12はさらに他の検証を行ってもよい。認証部12は、例えば、認可リクエストに含まれる作成時刻が、現在時刻に十分に近い過去の時刻であることを更に検証してもよい。また例えば、認証部12は、認可リクエストに含まれるリクエスト識別文字列が一定期間内に初めて受信されるものであることを更に検証してもよい。認証部12は、検証の結果、認可リクエストが不正なものだと判定された場合、認可リクエストの処理を中止し、デバイス2-2にエラーメッセージを返信する。
【0128】
次に、処理部19は、認可コード記憶部20に新しいエントリを作成し、認可コードを発行する(ステップS66)。その際、処理部19は、デバイスコードフィールド及びユーザコードフィールドにはそれぞれ異なるランダムな文字列を生成してセットする。処理部19は、有効期限フィールドには、現在時刻より適切な時間だけ先の値(例えば、10分後)をセットする。処理部19は、「認可リクエストに使われたアクティベーション鍵識別子」フィールドには、認可リクエストに含まれるアクティベーション鍵識別子をセットする。そして、処理部19は、検証完了フラグフィールドには「未完了」をセットする。
【0129】
次に、処理部19は、認可レスポンスを作成し、通信部11が、当該認可レスポンスをデバイス2-2に返す。認可レスポンスには以下の情報が含まれる。
・ステップS66で生成されたデバイスコード
・ステップS66で生成されたユーザコード
・ステップS66でセットされた有効期限
・検証URI(Uniform Resource Indicator)。
なお、検証URIはサーバ装置1-2があらかじめ用意しているURIである。後のステップで設定ツール5-2が、設置者104の操作入力に応じて、このURIにアクセスし、サーバ装置1-2が当該アクセスに応答する。
【0130】
次に、デバイス2-2が、サーバ装置1-2から受信された認可レスポンスを一時的に記録し、検証URIとユーザコードとをディスプレイ41に表示する(ステップS68)。ディスプレイ41は、例えば、検証URIをQRコードで表示し、ユーザコードを文字列で表示する。また例えば、ディスプレイ41は、サーバ装置1-2が認可レスポンスにユーザコードを内蔵した検証URIを含めていた場合、当該検証URIをQRコードとして表示するだけでもよい。また例えば、デバイス2-2は、ディスプレイ41に、これらの情報を表示する際、設置者104の注意を引くために音を鳴らしたり、LEDを点滅させたりする等してもよい。
【0131】
次に、設定ツール5-2のカメラ56が、設置者104の操作に応じて、デバイス2-2のディスプレイ41に表示された検証URI及びユーザコードを読み取る(ステップS69)。
【0132】
次に、サーバ通信部51が、ステップS69で読み取られた検証URIにアクセスする(ステップS70)。サーバ装置1-2は、設定ツール5-2から検証URI宛てに送られたリクエストに応答し、デバイス鍵の有効化に対する許可を設置者104に求める検証Webページを設定ツール5-2に返信する。
【0133】
次に、サーバ装置1-2の認証部12は、検証Webページにアクセスしている者が設置者104であることを認証する(ステップS71)。ステップS71の認証は、例えば、ユーザアカウント記憶部13に記憶された設置者104のユーザ識別子及びパスワードによる認証でもよいし、OAuth2.0 Authorization Code Flowで予め取得されたトークンによる認証でもよい。
【0134】
次に、設定ツール5-2のサーバ通信部51は、検証Webページを介してユーザコードをサーバ装置1に送信すると、サーバ装置1の処理部19が当該ユーザコードを検証する(ステップS72)。具体的には、例えば、設置者104が、デバイス2-2のディスプレイ41からユーザコードを読み取り、検証Webページのフォームが、設置者104から当該ユーザコードの入力を受け付けてもよい。また例えば、設定ツール5が、デバイス2-2のディスプレイ41から直接、ユーザコードを読み取ってサーバ装置1-2に送信してもよい。処理部19は、設定ツール5-2からユーザコードを受信すると、認可コード記憶部20から当該ユーザコードを含むエントリを読み出す。処理部19は、当該エントリの有効期限フィールドが現在時刻よりも後の時刻であること、及び、検証完了フラグが「未完了」であることを検証する。いずれかの検証が不合格だった場合、処理部19は処理を中止し、検証Webページにエラーメッセージを表示する。
【0135】
次に、ステップS72の検証に合格した場合、処理部19は当該エントリを更新し、検証完了フラグフィールドに「完了」をセットする(ステップS73)。
【0136】
次に、処理部19は、ステップS73で更新されたエントリの「認可リクエストに使われたアクティベーション鍵識別子」フィールドを読み出し、このアクティベーション鍵識別子を含むエントリをアクティベーション鍵記憶部14から読み出す。処理部19は、そのエントリの最大アクティベーション数に1を加算する(ステップS74)。
【0137】
次に、デバイス2-2のアクティベーショントークン要求部43は、通信部31を介して、アクティベーショントークン発行リクエストをサーバ装置1-2に送る(ステップS75)。なお、このアクティベーショントークン発行リクエストの送信は、デバイス2-2がユーザコードと検証URIをディスプレイ41に表示した後、設置者104の行為とは非同期に実施される。アクティベーショントークン発行リクエストには以下の情報が含まれる。
・認可レスポンスでサーバ装置1-2から受信したデバイスコード
・デバイス2-2の持つアクティベーション鍵識別子
・アクティベーショントークン発行リクエストを作成した時刻
・ランダムに生成されたアクティベーショントークン発行リクエスト識別文字列
・以上の全ての情報についてアクティベーション鍵(秘密鍵)で作成された電子署名
【0138】
次に、サーバ装置1-2の通信部11は、デバイス2-2からアクティベーショントークン発行リクエストを受信すると、処理部19が、そのアクティベーショントークン発行リクエストの正当性を認証する(ステップS76)。具体的には、処理部19は、認可リクエストの認証の時と同様に、アクティベーション鍵(公開鍵)による電子署名検証などを行う。
【0139】
次に、ステップS76の検証に合格した場合、発行部16が、アクティベーショントークン発行リクエストに含まれるデバイスコードの検証を行う(ステップS77)。具体的には、発行部16は、アクティベーショントークン発行リクエストに含まれるデバイスコードに対応するユーザコードを設定ツール5-2から受信済みであることを確認する。また、発行部16は、受信されたデバイスコードを含むエントリを認可コード記憶部20から読み出す。発行部16は、当該エントリの有効期限が現在時刻よりも後の時刻であること、当該エントリのアクティベーション鍵識別子がリクエストに含まれるアクティベーション鍵識別子と同一であること、及び、当該エントリの検証完了フラグが「完了」であることを検証する。いずれか一つの検証に不合格だった場合、発行部16は処理を中止し、通信部11がデバイス2-2にエラーメッセージを返信する。
【0140】
なお、デバイス2-2によるアクティベーショントークン発行リクエストの送信が設置者104の作業よりも早すぎた場合、リクエスト送信時点で検証完了フラグが「未完了」であることは十分あり得る。デバイス2-2は、その旨を示すエラーメッセージをサーバ装置1-2から受け取った場合、適切な時間だけ待機してから再度、アクティベーショントークン発行リクエストをサーバ装置1-2に送信する。
【0141】
次に、ステップS77の検証に合格した場合、発行部16はアクティベーショントークンを発行し、デバイス2-2に返信する(ステップS78)。この際の手続きは第1実施形態と同様である。
【0142】
以上の処理シーケンスにより、デバイス2-2は設定ツール5-2を介することなく、サーバ装置1-2から直接アクティベーショントークンを取得できる。その後、デバイス2-2は第1実施形態と同様の手続きに従い、アクティベーショントークンを用いてデバイス2-2のデバイス鍵を有効化する。本実施形態で発行されるアクティベーショントークンも、第1実施形態と同様、サーバ装置1-2から認証を受けた設置者104が検証Webページにて明確に認可を与えなければ発行できないものとなっている。これにより、攻撃者105による不正なアクティベーショントークン発行を防ぐことができる。
【0143】
なお、上記の例ではデバイス2-2はディスプレイ41を使用し、設定ツール5-2がカメラ56を使用することで、ユーザコード及び検証URIを伝達していたが、ユーザコード及び検証URIを他の方法で伝達してもよい。例えば、ユーザコード及び検証URIを赤外線通信、可視光通信、音声通信、及び超音波通信などの方法で伝達してもよい。
【0144】
また、上記処理シーケンスはOAuth2.0 Device Authorization Grant規格に則ったものだが、本規格に厳密に従わなくても本実施形態を実施できる。例えば上記処理シーケンスでは、デバイス2-2はアクティベーショントークンをサーバ装置1-2から取得してからアクティベーションリクエストを送信しているが、両者を一つにまとめることも可能である。この場合、デバイス2-2は、
図12のアクティベーショントークン発行リクエストにデバイス鍵(公開鍵)も含め、サーバ装置1-2はアクティベーション鍵によるリクエスト認証及びデバイスコードの検証をもってリクエストの正当性を検証する。これらの検証に合格した場合、サーバ装置1-2はアクティベーション数の検証と加算とを行い、デバイス鍵を登録する。
【0145】
攻撃者105が不正デバイス2eを有効化させたことを検出する処理シーケンスについては、本実施形態においても第1実施形態の処理シーケンス(
図8参照)と同様である。ただし、正規デバイス2dがアクティベーション数エラーレスポンスを設定ツール5-2に転送する際には、
図12においてユーザコード及び検証URIを設定ツール5-2に表示する際と同様の通信方法を用いる。
【0146】
最後に、第1及び第2実施形態のサーバ装置1~1-2のハードウェア構成の例について説明する。
【0147】
[ハードウェア構成の例]
図13は第1及び第2実施形態のサーバ装置1~1-2のハードウェア構成の例を示す図である。
【0148】
サーバ装置1~1-2は、制御装置301、主記憶装置302、補助記憶装置303、表示装置304、入力装置305及び通信IF306を備える。制御装置301、主記憶装置302、補助記憶装置303、表示装置304、入力装置305及び通信IF306は、バス310を介して接続されている。
【0149】
制御装置301は、補助記憶装置303から主記憶装置302に読み出されたプログラムを実行する。主記憶装置302は、ROM(Read Only Memory)、及び、RAM(Random Access Memory)等のメモリである。補助記憶装置303は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、及び、メモリカード等である。
【0150】
表示装置304は表示情報を表示する。表示装置304は、例えば液晶ディスプレイ等である。入力装置305は、サーバ装置1~1-2して動作させるコンピュータを操作するためのインタフェースである。入力装置305は、例えばキーボードやマウス等である。なお、表示装置304及び入力装置305は、サーバ装置1~1-2と接続可能な外部の管理端末等の表示機能及び入力機能を利用してもよい。
【0151】
通信IF306は、他の装置と通信するためのインタフェースである。
【0152】
コンピュータで実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、メモリカード、CD-R及びDVD(Digital Versatile Disc)等のコンピュータで読み取り可能な記憶媒体に記録されてコンピュータ・プログラム・プロダクトとして提供される。
【0153】
またコンピュータで実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。またコンピュータで実行されるプログラムをダウンロードさせずにインターネット等のネットワーク経由で提供するように構成してもよい。
【0154】
またコンピュータで実行されるプログラムを、ROM等に予め組み込んで提供するように構成してもよい。
【0155】
コンピュータで実行されるプログラムは、上述のサーバ装置1~1-2の機能構成(機能ブロック)のうち、プログラムによっても実現可能な機能ブロックを含むモジュール構成となっている。当該各機能ブロックは、実際のハードウェアとしては、制御装置301が記憶媒体からプログラムを読み出して実行することにより、上記各機能ブロックが主記憶装置302上にロードされる。すなわち上記各機能ブロックは主記憶装置302上に生成される。
【0156】
なお上述した各機能ブロックの一部又は全部をソフトウェアにより実現せずに、IC(Integrated Circuit)等のハードウェアにより実現してもよい。
【0157】
また複数のプロセッサを用いて各機能を実現する場合、各プロセッサは、各機能のうち1つを実現してもよいし、各機能のうち2つ以上を実現してもよい。
【0158】
また第1及び第2実施形態のサーバ装置1~1-2の動作形態は任意でよい。第1及び第2実施形態のサーバ装置1~1-2を、例えばネットワーク上のクラウドシステムを構成する装置として動作させてもよい。
【0159】
また第1及び第2実施形態のデバイス2、登録ツール4及び設定ツール5~5-2の主要部のハードウェア構成も、サーバ装置1~1-2のハードウェア構成と同様である。なお、デバイス2ついては、ハードウェア構成の一部(例えば表示装置304及び入力装置305等)の削除、またはハードウェア構成の一部(例えば各種センサ、及び、撮像装置等)の追加をしてもよい。
【0160】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0161】
1 サーバ装置
2 デバイス
3 通信ネットワーク
4 登録ツール
5 設定ツール
11 通信部
12 認証部
13 ユーザアカウント記憶部
14 アクティベーション鍵記憶部
15 デバイス鍵記憶部
16 発行部
17 アクティベーショントークン記憶部
18 サーバ鍵記憶部
19 処理部
20 認可コード記憶部
31 通信部
32 アクティベーション鍵記憶部
33 アクティベーショントークン記憶部
34 登録ツール受付部
35 設定ツール受付部
36 デバイス鍵記憶部
37 無線LAN認証情報記憶部
38 アクティベーション要求部
39 サービス要求部
40 デバイス識別タグ
51 サーバ通信部
52 デバイス通信部
53 記憶部
54 読取部
55 処理部
56 カメラ
301 制御装置
302 主記憶装置
303 補助記憶装置
304 表示装置
305 入力装置
306 通信IF