説明

アクセス認可装置

【課題】第三者がリソースの管理実体と直接信頼関係を構築できないケースにおいても、第三者に対してリソースへのアクセス権限を委譲可能とし、かつ第三者による不正なリソースへのアクセスを防ぐことを可能とする。
【解決手段】アクセス認可装置101は、受信部と、第1送受信部301と、トークン発行部304とを備える。受信部は、機器におけるリソースへのアクセスをアクセス承認から承認されたことを示す第1承認情報を、第1アプリケーションからネットワークを介して受信する。第1送受信部301は、第1承認情報を含むアクセス承認要求をアクセス承認装置102に送信し、第1アプリケーションによるリソースへのアクセス可否情報を受信する。トークン発行部304は、アクセス可否情報がリソースへのアクセス許可を示すとき、リソースへのアクセス権限を第1アプリケーションに与えるトークン情報を発行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、アクセス認可装置に関する。
【背景技術】
【0002】
あるインターネット上のサービスが、そのサービスの利用者の個人情報を含む、様々なサービスに係る情報や機能(以下、リソースと呼ぶ)を、当該サービスとユーザ以外の第三者(サードパーティ製のアプリケーション等)に利用させる際に、リソースにアクセスするための認証用情報(ユーザID(承認者ID)、パスワード等)を、サービスに公開せずに、アクセス権限のみを移譲する技術として非特許文献1がある。
【0003】
非特許文献1は、リソースに対するアクセス権限移譲に際し、認証用情報をサービスに公開しないで済む、というメリットの他に、ユーザだけでなく、サービスの管理者が、第三者による不正なリソースへのアクセスを防ぐことができるというメリットがある。
【0004】
非特許文献1は、主としてリソースの管理実体(上述のインターネット上のサービス)と第三者との間に、事前に直接信頼関係(契約関係)が構築できていることを前提としている。このため、リソースの管理実体の数が膨大かつ遍在しているなど、サービスが直接関係を構築できない場合(例えば、リソースの管理実体として家電機器を想定する場合など)には、非特許文献1は利用できない。したがって、ユーザ以外の、リソース管理実体の管理者が、第三者による不正なリソースへアクセスを防ぐことができない。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】E.Hammer-Lahav,Ed., D.Recordon, D.Hardt “The OAuth 2.0 Protocol”, Network Working Group, IETF, June 15, 2010
【発明の概要】
【発明が解決しようとする課題】
【0006】
上述したように、従来技術は、リソースの管理実体の数が膨大かつ遍在しているなど、第三者がリソースの管理実体と直接信頼関係を構築できないケースにおいて、第三者に対してリソースへのアクセス権限を移譲できないという問題があった。さらに、ユーザ以外のリソース管理実体の管理者が、第三者による不正なリソースへのアクセスを防ぐことが出来ないという問題があった。
【0007】
本発明は、上記従来技術の問題点を解決するためになされたものであって、第三者がリソースの管理実体と直接信頼関係を構築できないケースにおいても、第三者に対してリソースへのアクセス権限を委譲でき、かつ、ユーザ以外のリソース管理実体の管理者が、第三者による不正なリソースへのアクセスを防ぐことが可能なアクセス認可装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の実施形態としてのアクセス認可装置は、第1アプリケーションによって利用されるリソースを有する機器、およびアクセス承認装置とそれぞれネットワークを介して接続される。前記アクセス認可装置は、受信部と、第1送受信部と、トークン発行部と、送信部とを備える。
【0009】
前記受信部は、前記機器における前記リソースへのアクセスをアクセス承認者から承認されたことを示す第1承認情報を、前記第1アプリケーションから前記ネットワークを介して受信する。
【0010】
前記第1送受信部は、前記第1承認情報を含むアクセス承認要求を前記アクセス承認装置に送信し、前記第1アプリケーションによる前記リソースへのアクセスを許可するかを示すアクセス可否情報を前記アクセス承認装置から受信する。
【0011】
前記トークン発行部は、前記アクセス可否情報が前記リソースへのアクセス許可を示すとき、前記リソースへのアクセス権限を前記第1アプリケーションに与えるトークン情報を発行する。
【0012】
前記送信部は、前記トークン発行部により発行された前記トークン情報を前記第1アプリケーションに送信する。
【図面の簡単な説明】
【0013】
【図1】本発明の第1の実施形態に係わるシステムの構成を示すブロック図。
【図2】本発明の第2の実施形態に係わるシステムの構成を示すブロック図。
【図3】承認情報のデータ構造の一例を示す図。
【図4】トークン情報のデータ構造の一例を示す図。
【図5】本発明の第1の実施形態に係わるシステムのネットワーク構成のバリエーションを示す図(1)。
【図6】本発明の第1の実施形態に係わるシステムのネットワーク構成のバリエーションを示す図(2)。
【図7】本発明の第1の実施形態におけるトークン発行処理に係わる通信シーケンス図(1)。
【図8】本発明の第1の実施形態におけるアクセス制御に係わる通信シーケンス図。
【図9】本発明の第1の実施形態におけるトークン無効化に係わる通信シーケンス図。
【図10】本発明の第1の実施形態におけるトークン発行処理の動作を示すフローチャート。
【図11】本発明の第2の実施形態における開発者・利用者登録に係わる通信シーケンス図。
【図12】本発明の第2の実施形態における承認者・機器登録に係わる通信シーケンス図。
【図13】本発明の第2の実施形態におけるトークン発行に係わる通信シーケンス図。
【図14】本発明の第2の実施形態における利用者情報無効化に係わる通信シーケンス図。
【図15】本発明の第1の実施形態におけるトークン発行処理に係わる通信シーケンス図(2)。
【発明を実施するための形態】
【0014】
(第1の実施形態)
図1は、本発明の第1の実施形態に係わるアクセス認可装置の機能ブロックを示すシステム構成図である。第1の実施形態に係るシステムは、アクセス認可装置101と、アクセス承認装置102と、利用者認証装置103と、機器104と、アプリケーション(第1アプリケーション)110とで構成される。アクセス認可装置101、利用者承認装置102、利用者認証装置103、機器104は、ネットワーク201を介して接続されている。
【0015】
次に、本実施の形態に係るアクセス認可装置101のハードウェア構成について説明する。本実施の形態のアクセス認可装置101は、装置全体を制御するCPU(Central Processing Unit)等の制御部と、各種データや各種プログラムを記憶するROM(Read Only Memory)やRAM(Random Access Memory)等の主記憶部と、GUI情報等の各種データや各種プログラムを記憶するHDD(Hard Disk Drive)等の補助記憶部と、これらを接続するバスとを備えており、通常のコンピュータを利用したハードウェア構成となっている。また、アクセス認可装置101には、外部装置(102〜104)との通信を制御する無線または有線の通信I/F(interface)が設けられている。各外部装置との通信は、ネットワーク201を介して行う。少なくとも、アクセス認可装置101は、ネットワーク201を介して、アクセス承認装置102、利用者認証装置103、機器104、機器104に搭載のアプリケーション(利用者)との間で情報を送受信する手段を有する。アクセス認可装置101は、例えば、インターネット上に存在するサーバ装置として実現される。本実施形態において、アクセス認可装置101は、インターネット上のサーバ装置であるとする。
【0016】
なお、アクセス承認装置102と利用者認証装置103のハードウェア構成は、アクセス認可装置101と同様である。本実施形態においては、アクセス認可装置101と同じく、インターネット上に存在するサーバ装置であるとする。
【0017】
次に、機器104のハードウェア構成について説明する。本実施の形態の機器104は、アクセス認可装置101と同様、通常のコンピュータを利用したハードウェア構成となっている。アクセス認可装置101との差分は、ユーザが、アプリケーション110による機器の内部リソースへのアクセスを承認するため、液晶ディスプレイ等のGUI表示部と、ユーザの指示入力を受け付けるキーボードやマウスやリモートコントローラ(リモコン)等の操作入力部を備えている点にある。アクセス認可装置101と同様、通信I/Fを備え、ネットワーク201を介して、アクセス認可装置101との間で情報を送受信する手段を有する。機器104は、例えば、パーソナルコンピュータ、デジタルテレビ、ハードディスクレコーダ、あるいは、スレートPC やスマートフォン等のモバイルデバイスとして実現される。本実施形態において、機器104は、デジタルテレビであるとする。さらに、この機器104がアプリケーション110に対して提供するリソースは、テレビに内蔵されたハードディスクに蓄積されたデジタル地上波放送の録画番組リストであるとする。
【0018】
ネットワーク201は、例えば、インターネット、または、品質保証された閉域網であるNGN(Next Generation Network)などである。本実施形態において、ネットワーク201は、インターネットであるとする。
【0019】
アプリケーション110は、図示しないサーバまたはCD-ROM等の記録媒体から機器104上にダウンロードされるソフトウェアである。これは、機器104のハードウェア(プロセッサ)がそのまま実行可能なバイナリ形式で配布されインストールされるネイティブアプリケーションであってもよく、Java(登録商標)のように、VM(Virtual Machine)上で実行されるプログラム言語で記述され、VM経由で機器104上のプロセッサから実行される非ネイティブなアプリケーションであってもよい。後者において、さらに、HTML(HyperText Markup Launguage)、CSS(Cascading Style Sheet)、JavaScriptで記述された、いわゆるWebページと同等のWebアプリケーションであってもよい。Webアプリケーションの場合、機器104内部のローカルHTTP(HyperText Transfer Protocol)サーバ上に配置されていてもよく、宅内ネットワークに配置されたプライベートサーバとして宅内のLAN上に設置されていてもよく、インターネット上のサービスを実現する外部サーバ上に配置されていてもよい。本実施形態では、ローカルHTTPサーバ上に配置されたWebアプリケーションであるとする。すなわち、アプリケーション110は、機器104(デジタルテレビ)上に搭載されたWebブラウザ上(あるいは、Webkit等のWebブラウザを実現するミドルウェア上)で動作するWebコンテンツであるとする。
【0020】
次に、上述したハードウェア構成において、アクセス認可装置101のCPUが主記憶部や補助記憶部に記憶された各種プログラムを実行することにより実現される各種機能について図1に則して説明する。アクセス認可装置101は、第1送受信部301と、第2送受信部302と、トークン発行判定部303と、トークン発行部304と、トークン情報記憶部305と、トークン情報提供部306と、トークン無効化部307と、承認要求許可情報発行部351と、承認要求許可情報記憶部352と、承認要求許可情報認証部353とを有する。
【0021】
このうち、第1送受信部301、第2送受信部302、トークン発行判定部303、トークン発行部304、トークン情報提供部306、トークン無効化部307、承認要求許可情報発行部351及び承認許可情報認証部353は、CPUのプログラム実行時にRAMなどの主記憶部上に展開されるコードの実行により実現されるものである。
【0022】
また、トークン情報記憶部305と承認許可情報記憶部352は、例えば、主記憶もしくは補助記憶部に構築されるデータベース管理システムである。これは、リレーショナルデータベースであってもよいし、XML(eXtensible Markup Language)データベースであってもよい。また、これは単一のデータベース管理システムで構築されている必要はなく、複数のデータベース管理システム、例えば、SQLite3、Oracle、MySQLなどを併用しても良い。また、1つの物理的な記憶部上に構築されるようにしてもよいし、NAS(Network Attached Storage)や、SAN(Storage Area Network)といった複数の物理的な補助記憶部で構成されるデータベース管理システムとしてもよい。また、データの格納領域が不揮発であっても揮発であってもよい。あるいは、各記憶部に各々記憶されるデータの単位情報(エントリ)を取得できる手段を備えていれば、CPUのプログラム実行時に主記憶上に生成されるリスト構造ベースの簡易なデータ管理モジュールであってもよいし、CSV形式ファイルの管理モジュールであってもよいし、Key/Valueストアで構成されていてもよい。
【0023】
続いて、以下に本実施形態を構成する各部の詳細について説明する。
【0024】
第1送受信部301はアクセス承認装置102とデータ通信を行う。第1送受信部301はアクセス承認装置102に対して、アプリケーション110を識別する利用者識別情報と、機器104を識別する機器識別情報と、アプリケーション110が、機器104のリソースへのアクセスに対して該当するアクセス承認者から承認を得たことを示す承認情報(第1承認情報)と、を送信し、機器104のリソースに対するアプリケーション110によるアクセスの可否を表したアクセス可否情報を受信する。この送受信処理は、ネットワーク201上で行われ、例えば、HTTP(Hypertext Transfer Protocol)通信で実現される。このとき、一般的には、第1送受信部301が、HTTPクライアントとなり、アクセス承認装置102がHTTPサーバとなる。但し、実現形態としては、この限りではなく、アクセス承認装置102から第1送受信部301に対して通信コネクションを確立する構成も考えられる。この場合、逆に第1送受信部301が、HTTPサーバとしてふるまうことになる。このネットワーク201を介した通信は、HTTPに限定されるものではなく、上述のデータが送受信しできる限りに置いては、既存の他の通信プロトコルを用いてもよいし、独自の通信プロトコルを設計して用いてもよい。この前提は、本発明に係るネットワーク201を介した通信全てに当てはまる。以下、第1送受信部301が、送受する各情報について解説する。
【0025】
まず、利用者識別情報は、利用者認証装置103が、アプリケーション(利用者)110に対して発行する情報である。利用者識別情報は、アプリケーション110を一意に識別する。アプリケーション110の開発者は、アプリケーション110の公開・配布前に、利用者認証装置103から利用者識別情報の発行を受け、アプリケーション110の内部に設定しておく。これは、例えば、利用者認証装置103が、アプリケーション登録用のWebページを用意しておき、前記開発者が、このWebページの登録フォーマットに必要事項を入力、申請することで発行されるようにしてもよい。あるいは、利用者識別情報の発行を電子メールベースで要求してもよい。アプリケーション110が公開・配布される前に、アプリケーションの内部に設定される限りに置いては、どのような発行形態を採っても構わない。利用者識別情報は、利用者認証装置103内で、利用者を一意に識別可能な利用者IDを含み、さらに利用者IDの正当性を認証するための秘密情報を含み得る。
【0026】
機器識別情報は、機器104を一意に識別できる情報である。具体的には、MAC(Media Access Control)アドレス、UUID(Universal Unique Identifier)、製品型名と製造番号との組み合わせ等が考えられる。機器識別情報の形式は、アクセス認可装置101や、アクセス承認装置102において、機器が一意に識別可能であれば、どのような形式であっても構わない。
【0027】
承認情報(第1承認情報)は、アクセス承認装置102が、アプリケーション110に対して発行する情報であり、アプリケーション110が、機器104のリソースに対するアクセスを、アクセス承認者(例えば、機器104の所有者、機器104を開発した機器メーカなど)から承認されていることを示す情報である。承認情報は、少なくとも承認が得られたことを示すアクセス可否検証コードを含み、さらに、このアクセス可否検証コードの正当性を証明するための秘密情報、承認された機器104のリソースの種別情報、属性情報、あるいは、範囲情報を含み得るものである。承認情報の具体的な構成例を、図3に示す。
【0028】
アクセス承認装置102から返されるアクセス可否情報は、前記承認情報が正しいか否か、すなわち、アクセスが承認されているか否かを表す論理値である。
【0029】
第2送受信部302は、利用者認証装置103とデータ通信を行う。第2送受信部302は利用者識別情報を、利用者認証装置103に対して送信し、利用者認証結果情報を受信する。この利用者認証結果情報は、少なくとも、利用者認証装置103内で実行される利用者認証(すなわち利用者識別情報に係るアプリケーションが正当なものである(事前に登録されている)かの認証)が成功したか否かを表す論理値を含む。第2送受信部302は、利用者認証装置103と、ネットワーク201を介して通信する。この通信は、一般的には、HTTP通信によって実現されることが想定されるが、第1送受信部301の説明で述べたとおり、これに限られない。
【0030】
トークン発行判定部303は、第1送受信部301がアクセス承認装置102から受信したアクセス可否情報と、第2送受信部301が利用者認証装置103から受信した利用者認証結果情報とに基づき、トークンの発行可否を判定する。アクセス可否情報が「可」で、利用者認証結果情報が「成功」を示すものであれば、トークンの発行を許可し、これ以外の場合は、トークンの発行を許可しない。
【0031】
トークン発行部304は、アプリケーション110から、利用者識別情報と、機器識別情報と、承認情報を取得する。トークン発行部304は受信部(図示しない)によりこれらの情報をアプリケーションから受信する。トークン発行部304は、取得したこれらの情報を、前記トークン発行判定部303に渡し、トークンの発行可否の判定を要求する。トークン発行部304は、トークン発行判定部303から、発行「可」の判定結果を取得すると、トークンを含むトークン情報を生成し、アプリケーション110に送信部(図示しない)からトークン情報を送信する。逆に、発行「否」の判定結果を取得すると、トークン発行エラーメッセージを生成し、アプリケーション110に送信部(図示しない)からトークン発行エラーメッセージ送信する。生成したトークン情報は、後述するトークン情報記憶部305に登録する。このトークン発行に係る、アプリケーション110(が動作する機器104)とトークン発行部304との間の通信も、ネットワーク201を介して行われる。一般的には、HTTP通信によって実現されることが想定されるが、第1送受信部301の説明で述べたとおり、この限りではない。上記受信部、送信部(図示しない)はトークン発行部等と同様にCPUのプログラム実行時にRAMなどの主記憶部上に展開されるコードの実行により実現されてもよい。
【0032】
ここでトークンは、トークン情報の識別子であり、たとえば固定長のビット列として実現されることができる。トークンは、アクセス認可装置101内で、「特定のアプリケーションからの、特定リソースへのアクセス」を特定できる限りは、どのようなフォーマットであってもよい。
【0033】
トークン情報は、少なくともトークンを含み、さらに、利用者識別情報、機器識別情報、承認情報、アプリケーション110に関する情報である利用者情報、機器104に関する情報である機器情報、トークンの有効期限情報、および、トークンが有効か否かを示す論理値情報を含み得る。ここで、利用者情報は、前述した利用者識別情報の発行時に、アプリケーション110の開発者が利用者認証装置103に登録するアプリケーションの諸情報(アプリケーション名、アプリケーションの概要情報、開発日時、バージョン、開発者情報へのポインタなど)や、開発者情報(開発者名、開発会社名、連絡先など)を含む。また、機器情報は、機器の製品名、型番、製造番号、公開するリソース情報などを含み得るものである。トークン情報の具体的な構成例を、図4に示す。
【0034】
トークン情報記憶部305は、トークン発行部304が生成したトークン情報を記憶する。
【0035】
トークン情報提供部306は、機器104からトークン取得要求を取得し、該当するトークン情報を、トークン情報記憶部305から機器104に提供する。トークン取得要求は、特定のトークンに対するトークン情報を要求するものであってもよく、特定の機器に対する全てのトークン情報を要求するものであってもよく、特定のアプリケーションに対する全てのトークン情報を要求するものであってもよい。あるいは、トークン情報記憶部305に蓄積された、全ての有効なトークン情報を要求するものであってもよく、逆に、全ての無効なトークン情報を要求するものであってもよい。なお、トークン取得要求に係る通信も、ネットワーク201を介して行われる。一般的には、HTTP通信によって実現されることが想定される。この場合、トークン情報提供部306は、HTTPサーバとして機能する。使用される通信プロトコルは、HTTPに限定されるものではない。第1送受信部301の説明で述べたとおり、この限りではない。さらに、トークン情報提供部306は、トークンが無効化されたり、内容が更新されたりした場合に、この変更を、該当する機器に対して通知してもよい。この場合、トークン情報提供部306は、機器との間に、予め通信チャネルを確立・維持しておき、この通信チャネルを使って、変更が発生すると同時に、その内容を通知するようにしてもよい。これは、Comet等のHTTPロングポーリングを用いることで実現してもよく、あるいは、HTTP通信を用いて、双方向通信用のTCP(Transmission Control Protocol)セッションを構築するWebSocketを用いて実現してもよい。その他、サーバ側からPush型の非同期通知を実現する枠組みであれば、どのような技術を用いても構わない。
【0036】
トークン無効化部307は、発行済のトークンに対する無効化要求を取得し、当該トークンの無効化として、トークン情報記憶部305の該当トークンを含むトークン情報を削除するか、あるいは、前述したトークン情報に含まれる有効・無効を表す論理値情報を無効に設定する。さらに、トークンの無効化を、発生と同時に、該当機器に対して通知するために、トークン情報提供部306に対して、トークン情報を渡し、無効化の通知を依頼する。なお、無効化要求は、ネットワーク201を介した通信で実現されてもよく、あるいは、オフラインで実現されてもよい。例えば、機器のユーザが、コールセンターに電話をかけ、不正なアプリケーションを報告することをもって、無効化要求とみなすことも出来る。あるいは、メールベースでの報告でもよい。アクセス認可装置101のオペレータが、こうした無効化要求を受けて、トークン情報記憶部305の実体であるデータベースシステムを操作することで、トークンの無効化が実現されてもよい。
【0037】
承認要求許可情報発行部351は、利用者認証結果情報に基づき、承認情報を取得するために必要となる承認要求許可情報を発行する。この承認要求許可情報は、以下に説明する承認要求許可情報記憶部352にて一意に識別可能な承認要求許可IDを含み、さらに、このIDの正当性を認証するための秘密情報を含み得る。
【0038】
承認要求許可情報記憶部352は、承認要求許可情報発行部351が発行した承認要求許可情報を記憶する。この認証要求許可情報記憶部352は、実現形態としては、トークン情報記憶部305と統合された形で実現されてもよい。
【0039】
承認要求許可情報認証部353は、アクセス承認装置102からの承認要求許可情報の認証要求を受け、承認要求許可情報記憶部352に記憶された情報に基づいて認証し、認証情報を返す。例えば、承認要求許可情報認証部353は、アクセス承認装置102から、承認要求許可IDと、秘密情報のハッシュ値、及び、利用したハッシュ関数の情報を渡され、承認要求許可情報記憶部352に蓄積された秘密情報のハッシュ値を、渡されたハッシュ関数の情報に基づいて求め、一致するか否かを判定する。あるいは、ハッシュ値ではなく、メッセージと、この秘密情報を用いて付与した署名を用いて、認証を行ってもよい。
【0040】
次に、図3、図4、図7、図8、図9、図10を用いて、本実施形態に係るアクセス認可装置3301の動作について説明する。図3は、本実施形態におけるアクセス承認装置102が発行する承認情報を示すものである。図4は、トークン情報記憶部305が、本実施形態において記憶する、アプリケーション110が機器104のリソースにアクセスするために取得したトークン情報を示すものである。
【0041】
図7は、本実施形態に係るトークン発行処理の基本シーケンスを示したものである。また、図8は、本実施形態に係るアクセス制御処理の基本シーケンスを示したものである。図9は、本実施形態に係るトークン無効化処理の基本シーケンスを示したものである。図10は、アクセス認可装置101の、トークン発行処理を示すフローチャートである。
【0042】
なお、本実施形態では、機器104はデジタルテレビであり、アクセス対象のリソースは、テレビ内に蓄積された録画番組情報である。また、アプリケーション110は、この録画番組情報を利用した、録画リストの閲覧・操作を行う、録画ナビゲーションアプリである。
【0043】
以下、まず図7のシーケンス図に基づいて、利用者識別情報の発行、トークンの発行から、発行されたトークンに基づくリソースアクセスに至る処理手順を説明する。
【0044】
まず、前提として、ユーザが、アクセス承認装置102に対して、自身が機器104(デジタルテレビ)のアクセス承認者であることを登録する(ステップS101)。このステップは、アクセス承認者としてのユーザ登録を行ない(この際ユーザID、パスワード等の登録も行う)、その後、所有する機器情報の登録を適宜行うなどの段階的な実施が考えられる。具体的には、アクセス承認装置102が、アクセス承認者の登録、および、アクセス承認者が所有する機器の登録を行うためのWebページを用意することで実現してもよい。あるいは、機器104に、アクセス承認装置102のURI(Uniform Resource Identifier)をプリセットしておき、機器104をネットワーク201に接続すると、この機器情報が自動登録され、かつ、PINコードや二次元バーコード等を用いて、機器とユーザ(アクセス承認者)が紐付けられるようにすることで、それぞれの登録を実現してもよい。いずれにしても、本実施形態においては、アクセス承認装置102は外部装置であるため、この実施形態は問わない。
【0045】
次に、利用者認証装置102が、利用者識別情報をアプリケーション110(録画ナビゲーションアプリ)に対して発行する(ステップS102)。このステップは、前述したように、アプリケーション110の開発者が、録画アプリの公開・配布前に、アプリケーションの内部にプリセットしておく実現形態が考えられる。しかし、このステップも、利用者認証装置103が外部装置であるため、実施形態は問わない。この後、アプリケーション110が公開・配布され、機器104上にダウンロードされる(ステップS103)。
【0046】
ここで、ユーザがリソースアクセスを伴うアプリケーション操作を行う(ステップS104)。本実施形態では、アプリケーション110は、録画ナビゲーションアプリなので、起動段階で、リソース(録画番組リスト)へのアクセスが発生し得る。アプリケーション110は、リソースアクセスが発生すると(具体的には、機器104がアプリケーションに対して公開している録画番組リスト取得API(Application Programming Interface)が呼び出されると)、アクセス認可装置101に対して、アクセス承認要求を送信する(ステップS105)。このとき、後段のステップS108からS109まで、アクセス承認装置102にリダイレクトされるため、再びアプリケーション110の画面を表示するため、このアクセス承認要求に対して、コールバックURIを指定する。さらに、アクセス承認に必要な情報として、利用者識別情報と、機器識別情報とをパラメータとして含める。なお、本実施形態において、このステップは、HTTP GETリクエストで実現される。
【0047】
続いて、アクセス認可装置101は、アクセス承認要求を受信して、アクセス承認装置102へ、リクエストをリダイレクトする(ステップS106、S107)。本実施形態では、HTTP GETレスポンスに、アクセス承認装置102の承認画面のURIを、Referヘッダに指定することで実現する。このとき、リダイレクト先のURLに、ステップS105で指定した利用者識別情報と、機器識別情報と、コールバックURIをクエリパラメータとして含める。
【0048】
ここで、リダイレクトによって、ユーザの操作対象が、機器104上のアプリケーション110から、同じく機器104上のWebブラウザによるWebページアクセスに切り替わる。Webブラウザは、Referヘッダに従って、利用者識別情報と、機器識別情報と、コールバックURIを伴って、アクセス承認画面を要求する(ステップS108)。当該要求にユーザIDおよびパスワード等を含めてもよい。
【0049】
アクセス承認装置102は、応答としてアクセス承認画面を返す(ステップS109)。このとき、利用者識別情報と、機器識別情報とを、承認画面に組み込み、ユーザが「何というアプリが、どのリソースにアクセスしようとしているか」を認識出来るようにする。本実施形態においては、「録画ナビゲーションアプリが、デジタルテレビ内に蓄積された録画番組リストへのアクセスを求めている」ことを表示する。
【0050】
続いて、ユーザが、アプリケーション110から機器104へのアクセスを許可するか否かを、アクセス承認装置102対し、表示されたWebページのインタフェースを介して応答する(ステップS110)。アクセス承認装置102は、応答が許諾を示すものであった場合には、その許可内容を含む承認情報(図3参照)を発行し、レスポンスに含める(ステップS111)。このとき、アクセス承認画面からアプリケーション110の画面に再遷移するために、ステップS108で渡されたコールバックURIをリダイレクト先として、Referヘッダに指定する。前記の承認情報は、このコールバックURIのクエリパラメータとして設定されてもよい。アクセス承認装置102は、発行した承認情報を、利用者識別情報および機器識別情報の組に関連づけ記憶する。
【0051】
Webブラウザは、アクセス承認の応答に含まれる、このReferヘッダに従って、アプリケーション110の画面へリダイレクトする(ステップS112)。
【0052】
アプリケーション110は、アクセスされたURI(コールバックURI)のクエリとして設定された、承認情報に加え、利用者識別情報と、機器識別情報とを、トークン発行要求に含めて、アクセス認可装置101に送信する(ステップS113)。
【0053】
アクセス認可装置101がトークン発行要求を受信すると、トークン発行部304は、受信した承認情報、利用者識別情報、機器識別情報を、トークン発行判定部303に渡す。トークン発行判定部303は、第2送受信部302を介して、利用者認証装置103に利用者識別情報を送信し(ステップS114)、利用者認証結果情報を受信する(ステップS115)。利用者認証装置103は、受信した利用者識別情報が内部に登録済みであるときは、認証成功を返し、それ以外の場合は認証失敗を返す。またトークン発行判定部303は、第1送受信部301を介して、アクセス承認装置102に承認情報、利用者識別情報、機器識別情報を送信し(ステップS116)、アクセス可否情報を受信する(ステップS117)。アクセス承認装置102では、利用者識別情報および機器識別情報の組に関連づけて記憶されている承認情報が存在し、かつそのアクセス可否検証コードが、受信した承認情報に含まれるものと同一であればアクセス可と判定する。それ以外の場合は不可と判定する。トークン発行判定部303は、得られたアクセス可否情報と利用者承認結果情報から、トークン発行可否を判定する。それぞれ「可」および「成功」のときはトークン発行「可」と判定し、それ以外の場合は「不可」と判定する。トークン発行判定部303は、判定結果をトークン発行部304に渡す。トークン発行部304は、この判定結果に基づき、トークン発行「可」の場合には、トークンを含むトークン情報を生成し(ステップS118)、生成したトークン情報をトークン情報記憶部305に記憶する(ステップS119)。トークン発行部304は、発行したトークンまたはトークン情報をアプリケーション110に応答する(ステップS120)。
【0054】
以上のアクセス認可装置101(トークン発行判定部303及びトークン発行部304)におけるトークン発行処理のフローチャートを図10に示す。
【0055】
最後にアプリケーション110はリソースへのアクセスを行い(ステップS121)、リソースアクセス結果をユーザに表示する(ステップS122)。ここでは、アプリケーションS121は、デジタルテレビ内に蓄積された録画番組のリストを取得し、取得した結果をユーザに提示する。
【0056】
ここで、ステップS121におけるリソースアクセスの処理手順の詳細を、図8のシーケンス図をベースに説明する。
【0057】
まず、アプリケーション110は、録画番組リスト取得APIを呼び出す(ステップS1210)。本実施形態においては、アプリケーション110は、機器104内のローカルHTTPサーバ上に配置されたWebアプリケーションであるから、このAPIは、Webページから呼び出し可能なJavaScriptにバインディングされたプラグインとして実現されていてもよいし、同じローカルHTTPサーバ上に配置されたWeb APIとして実現されていてもよい。これは、アプリケーションの形態によっては、バイナリ形式のネイティブライブラリのAPIであってもよく、APIの形式は問わない。このとき、アプリケーションは、APIの引数としてトークン(および、トークンと共に発行された秘密情報)を渡す。
【0058】
機器104は、API呼び出しを受けて、引数として渡されるトークンに対応するトークン情報の取得要求を、アクセス認可装置101上のトークン情報提供部306に対して送信する(ステップS1211)。このとき、トークンと共に、トークンと共に発行された秘密情報、機器識別情報、および、機器の機種情報などをあわせて送信してもよい。なお、機器104とトークン情報提供部306間の通信は、暗号化されることが望ましい。例えば、SSL(Secure Socket Layer)や、TLS(Transport Layer Security)プロトコルを用いたHTTPS通信を用いてもよく、IPSecを用いてもよく、送受されるデータ(トークンまたはトークン情報)がネットワーク201上にそのまま流れない限りにおいては、独自の暗号通信を用いてもよい。
【0059】
トークン情報提供部306は、トークンを受信すると、機器104の認証を行う(ステップS1212)。これは、当該機器へのアクセスに対してトークンが発行されたか否かをトークン情報記憶部305に記憶された情報を用いて検証することで行ってもよく、あるいは、当該機器の機種が、トークンの発行対象たるリソースを公開しているものか否かを検証することをもって行ってもよい。あるいは、アクセス承認装置102に対して、アクセス承認対象機器として登録されているか否かを問い合わせることで行ってもよい。機器認証は、トークン情報に含まれる他の情報を用いて実施してもよく、以上に挙げた具体的方法の組み合わせで実施してもよい。
【0060】
次に、トークン情報提供部306は、渡されたトークンの認証を行う(ステップS1213)。これは、トークンと共に発行された秘密情報の照合をもって実施してもよく、単にトークン情報記憶部305から、対応するトークン情報を取得する際に、該当する有効なトークン情報があるか否かをもって実施してもよい。このトークン検証は、トークン情報に含まれる他の情報を用いて実施してもよく、以上に挙げた具体的方法の組み合わせで実施してもよい。トークン情報提供部306は、トークン情報記憶部305から、対応するトークン情報を取得し(ステップS1214、S1215)、これを機器104に対して提供する(ステップS1216)。もし、該当するトークンが存在しない場合、あるいは、機器認証(ステップS1212)とトークン認証(ステップS1213)が失敗した場合は、機器104に対して、エラー応答を行うか、空のトークン情報を返す。
【0061】
機器104は、トークン情報を受信すると、アプリケーション104から渡されたトークンと、トークン情報提供部306から取得したトークン情報とを用いて、アクセス可否判定を行う(ステップS1217)。前述したステップS1213におけるトークン認証は、ここで(すなわち機器側で)行われてもよい。トークン情報要求に対してエラー応答を受信した場合や、空のトークン情報を受信した場合には、アクセス「否」の判定を行う。一方、応答にトークン情報が含まれていた場合には、トークン情報に含まれるアクセス可能なリソースの範囲に、ステップS1210で呼び出されたAPI(録画番組リスト取得API)が含まれているかどうかを判定する。含まれていれば、アクセス可否判定を「可」とし、機器内のリソースを取得し(ステップS1218)、アプリケーション側に提供する(ステップS1219)。トークン情報に有効フラグまたは有効期限が含まれている場合は、有効フラグが「有効」であり、有効期限が徒過していないことを、アクセス可否判定の「可」の条件として、加える。より簡単な判定として、有効なトークン情報の受信をもってアクセス可と判定してもよい。
【0062】
ここで、図9を用いて、トークンを無効化する処理手順について説明する。
【0063】

まず、トークンの無効化権限保持者が、トークン無効化要求をトークン無効化部307に対して行う(ステップS123)。この無効化権限保持者は、例えば、アプリケーション110を開発した開発者、機器104の機器メーカ、アプリケーション110及び機器104のユーザ、あるいは利用者認証装置103等が想定される。この無効化要求の発生は、アプリケーション開発者が、アプリケーションの不具合によるコンピュータウイルス感染や、機器のリソース破壊などを防止するために行ったり、不正なアプリケーションが発覚した場合に、機器メーカや一般ユーザが当該アプリケーションの排除を行う目的で行ったり、利用者認証装置103が、アプリケーションに発行された利用者識別情報が失効したことを、アクセス認可装置101に自動通知することによって行われたりすることが考えられる。また、前述の図7のステップS114における利用者認証要求に対する応答(ステップS115)が認証失敗を示すものであった場合に、当該利用者識別情報を、トークン情報に含むトークンを失効するように、トークン発行判定部303が、トークン無効化部307に要求することで行われてもよい。
【0064】
トークン無効化部306は、無効化要求を受信すると、該当トークン情報の無効化をトークン情報記憶部305に対して要求する(ステップS124)。
【0065】
トークン情報記憶部305は、要求に基づいて該当トークンを無効化し、処理結果を応答する(ステップS125)。無効化は、たとえば当該トークンを含むトークン情報の削除、または当該トークン情報に含まれ有効フラグを「無効」にすることで行う。このとき、続くステップS127以降に示す、該当トークンの無効化通知を実行する場合には、無効化したトークン情報を応答に含める。
【0066】
このように、トークン無効化部306は、トークン情報記憶部305に無効化要求を送り、応答を受けることで、トークンの無効化を実現する(S126)。トークン無効化部306は、トークンを無効化すると、トークン情報提供部306に対して、該当トークンの対象機器104へのトークンの無効化通知を要求する(ステップS127)。このとき、該当トークンの対象機器の情報は、ステップS125における応答に含まれるトークン情報から得られる。
【0067】
トークン情報提供部306は、無効化通知要求を受けて、該当トークンが無効化された旨を通知する(ステップS128)。このとき、前述したように、機器104とトークン情報提供部306の間には既に通信チャネルが確立されていて、この無効化通知は、CometやWebSocketといった非同期通信技術を用いて実現される。
【0068】
一方、機器104は、トークン情報提供部306から無効化通知を受信すると、以前にトークン情報提供部306から受信し、キャッシュしていた該当トークン情報を無効化する(ステップS129)。機器104は、機器側で、該当トークンを無効化したことをアクセス認可装置側(トークン情報提供部306)に応答する(ステップS130、S131)。
【0069】
以上のように、本実施形態によれば、アクセス認可装置によって、第三者(アプリケーション110、あるいは、その開発者)がリソースの管理実体(機器104、すなわち、デジタルテレビ、および、その所有者であるユーザ)と直接信頼関係を構築できないケースにおいても、第三者に対してリソースへのアクセス権限を委譲可能とし、かつ、ユーザ以外のリソース管理実体の管理者(例えば、機器メーカ)が、第三者による不正なリソースへのアクセスを防ぐことが可能となっている。
【0070】
具体的には、リソースの管理実体としてのデジタルテレビは膨大な数存在し、かつ、アプリケーションが販売・配布された後にも、製造、販売され得るため、特定のデジタルテレビに対するアクセス認可を、アプリケーション110に対して、事前に発行することができない。こうしたケースであっても、第1に、図7のステップS108からステップS111において、アプリケーション110を介さずに、ユーザが承認処理を行うことで、アクセス承認装置102において、ユーザのIDやパスワードが必要な場合であっても、これをアプリケーションに漏らさずに、承認処理を行うことができる。つまり、ユーザからアプリケーションに対して、権限を移譲することが出来ている。第2に、発行したトークンを、ユーザのみならず、機器メーカをはじめとする権限保持者が無効化し、さらに無効化情報を機器側に伝える(図9のステップS127からステップS131)、もしくは、機器側が取得することで(図8のステップS1211からステップS1216)、アプリケーションによるリソースの不正利用を防ぐことが可能となっている。
【0071】
<利用者認証のバリエーション>
本実施形態のトークン発行処理シーケンスは、図7に限定されるものではない。特に利用者認証を、ユーザ(アクセス承認者)から承認を得る前に行ってもよい。
【0072】
図15は、トークン発行処理シーケンスのバリエーションを示したものである。このバリエーションのシーケンスでは、承認要求許可情報発行部351、承認要求許可情報記憶部352、承認要求許可情報認証部353を用いる。
【0073】
本バリエーションのシーケンスでは、利用者認証を経て、初めてアクセス承認者からの承認が得られる。具体的に、図7におけるアクセス承認要求(ステップS105、S106)時に、利用者認証を行う(図15のステップS156、S157)。ここで、利用者認証が成功した場合に、承認要求許可情報発行部351が、承認要求許可情報を、アプリケーション(利用者)に対して発行し、これを承認要求許可情報記憶部352に記憶する。ここで、承認要求許可情報は、承認要求許可情報記憶部352内で一意に識別可能な承認要求許可IDを含み、さらにこのIDの正当性を証明するための秘密情報を含み得る。承認要求許可情報はアプリケーションおよびユーザへの応答に含められる(ステップS158,S159)
ユーザは、アクセス承認装置102に、認証画面を要求する際に(ステップS160)、この承認要求許可情報を渡す。アクセス承認装置102は、渡された承認要求許可情報を、アクセス認可装置101上の承認要求許可情報認証部353に送信する(ステップS161)。承認要求許可情報認証部353は、承認要求許可情報認証部353に記憶された該当承認要求許可情報と、受信した前記情報を照合して認証し(ステップS162)、認証結果を返す(ステップS163)。たとえば受信した情報に含まれるIDと同一IDを含む承認要求許可情報が、承認要求許可情報記憶部352に記憶されていれば認証成功とし、それ以外の場合は認証失敗とする。認証が成功すれば、アクセス承認装置102は、承認画面をユーザ返す(ステップS164)。ここで、図7におけるトークン発行要求を受けての利用者認証(ステップS114、S115)は、図15のシーケンスにおいては必要ない。
【0074】
<トークン発行処理のバリエーション>
また、本実施形態で述べたトークン発行処理シーケンスは、図7に限定されるものではない。例えば、トークン発行時に、利用者(アプリケーション)の認証を行う必要がなければ、利用者認証処理(ステップS114、ステップS115)を省略してもよい。また、アクセス承認装置102上のアクセス承認要求先を、予めアプリケーション110内にプリセットしておくことで、ステップS105、ステップS106を省略することができる。また、アプリケーション110が、信頼できるアプリケーションである場合には、アクセス承認装置102の承認ページにリダイレクトせずに、直接アプリケーションを介して、ユーザのIDやパスワードをアクセス承認装置102に送信するようにしてもよい。この場合、ステップS107及びステップS112を省略し、ステップS108からステップS111までの処理を、直接アプリケーション110から行うように構成してもよい。
【0075】
<リソースアクセス制御のバリエーション>
また、本実施形態で述べたリソースアクセス処理シーケンスは、図8に限定されるものではない。図8では、アプリケーションからのリソースアクセスが発生する都度、トークン情報提供部306から必要なトークン情報を取得するように構成しているが、リソースアクセスのシーケンスとは別に、定期的にトークン情報提供部306にアクセスし、特定の機器(機器104)に対する全てのトークン情報を取得したり、特定のアプリケーション(アプリケーション110)に対する全てのトークン情報を取得したり、あるいは、トークン情報記憶部305に蓄積された、全ての有効なトークン情報、あるいは、無効なトークン情報を取得したりし、取得したトークンを機器内部に蓄積し、これをアクセス判定に利用するように構成してもよい。この場合、ステップS1211からステップS1216までの処理は省略できる。また、無効化処理で説明したように、アクセス認可装置101(トークン情報提供部306)から機器104に対して通知する手段が採れる場合には、生成されたトークン情報を端末側にタイムリーに通知することで、同様に、ステップS1211からステップS1216までの処理を省略することができる。図7のステップS104でリソースアクセス要求を受けた際、該当する有効なトークン情報が存在するか判断し、存在するときは、ステップS105〜S120を実施せずに、ステップS121を実施してもよい。
【0076】
<ネットワーク構成のバリエーション>
なお、図5および図6は、本実施形態で述べたアクセス認可装置を含むシステムにおけるネットワーク構成のバリエーションを示すものである。ただし、ここでは、図15のシーケンスを行わない場合を想定し、承認要求許可情報発行部351、承認要求許可情報記憶部352、承認要求許可情報認証部353を図1のアクセス認可装置を省いている。図15のシーケンスを行う場合は、これらの要素351〜353を、図5または図6のアクセス認可装置に設ければよい。
【0077】
これまで述べてきた実施形態においては、簡単のために、ネットワーク201(インターネット)に全てのシステム構成要素が接続されていることを想定していたが、図5および図6の構成では、機器104がネットワーク202に接続されている。ネットワーク202は、例えば、有線又は無線LAN(LocalArea Network)で構成されるホームネットワークである。ネットワーク201とネットワーク202は、ブロードバンドルータ等のWAN(Wide Area Network)の終端装置で接続されており、機器104とアクセス認可装置101の間の通信は、この終端装置を経由して実現される。
【0078】
また、図6では、アプリケーションが機器104ではなく、ネットワーク202上の別の機器(操作機器105)にダウンロードされている。すなわち図1または図5の構成ではアプリケーションが動作する機器は機器104であったが、図6の構成では、アプリケーションが動作する機器は機器105である。アプリケーション110が、アクセス対象機器104を発見し、その機器識別情報(および機器情報)を知る何らかの手段があれば、アプリケーション110と機器104が、ネットワーク上の別のエンティティに存在してもよい。上述の手段には、例えば、宅内機器の発見を含むプラグアンドプレイを実現する、UPnP(Universal Plug And Play)、DLNA(Digital Living Network Alliance)が利用できる。周辺機器を発見し、そのリソースを認識出来る手段を備えていれば、これらの既存プロトコルに限らず、独自プロトコルを含む別の手段を用いてもよい。
【0079】
(第2の実施形態)
次に、アクセス認可装置の第2の実施の形態について説明する。なお、第1の実施形態と多くの部分で共通するため、同一の符号を使用して説明したり、説明を省略したりする。
【0080】
図2は、本発明の第2の実施形態に係わるアクセス認可装置101の機能ブロックを含むシステム構成図である。図2のアクセス認可装置101における、システムを構成する303から307までの機能ブロックの各内部処理も、ブロック間のインタラクションも、第1の実施形態と同一である。
【0081】
差分は、第1の実施形態においてアクセス承認装置102、利用者認証装置103が担っていた機能が、全てアクセス認可装置101内に組み込まれている点にある。すなわち、機能ブロック308から321が新規に追加されている。また、アクセス承認装置102、利用者認証装置103と通信するための第1送受信部301、第2送受信部302は含まれていない。
【0082】
本実施形態に係るアクセス認可装置101が前提とするハードウェア構成は、第1の実施形態におけるアクセス認可装置101、アクセス承認装置102、利用者承認装置103を合わせたものとなる。
【0083】
次に、アクセス認可装置101のCPUが主記憶部や補助記憶部に記憶された各種プログラムを実行することにより実現される各種機能について図2に則して説明する。アクセス認可装置101は、トークン発行判定部303と、トークン発行部304と、トークン情報記憶部305と、トークン情報提供部306と、トークン無効化部307と、利用者識別情報発行部308と、利用者情報記憶部309と、利用者認証部310と、利用者情報提供部311と、利用者情報無効化部312と、開発者情報登録部313と、開発者情報記憶部314と、承認者情報登録部315と、機器情報登録部316と、承認者情報記憶部317と、利用情報提供部318と、承認情報発行部319と、承認情報記憶部320と、承認判定部321と、承認要求許可情報発行部351と、承認要求許可情報記憶部352と、承認要求許可情報認証部353、を有する。
【0084】
続いて、第1の実施形態との差分である、本発明を構成する各部の詳細について以下に、説明する。
【0085】
利用者識別情報発行部308は、利用者識別情報をアプリケーション(利用者)に対して発行する。具体的には、HTTPサーバ上の機能として提供されるものであり、アプリケーションの開発者が(例えば、登録用Webページを介して)利用者情報を登録すると、利用者識別情報を生成し、これを発行する。同時に、生成した利用者識別情報を、利用者情報と共に、利用者情報記憶部309に記憶する。利用者識別情報は、アプリケーションの公開・配布前に発行され、開発者がアプリケーションの内部に設定しておくものである。利用者識別情報発行部308は、発行に必要な情報として、利用者情報だけでなく、開発者情報を要求してもよい。なお、利用者識別情報は、利用者を一意に識別可能な利用者IDを含み、さらに利用者IDの正当性を認証するための秘密情報を含み得る。
【0086】
利用者情報記憶部309は、前記利用者識別情報、および、利用者識別情報に付随する利用者情報(すなわち、アプリケーション情報)を記憶する。利用者情報は、アクセスするリソースの識別情報、範囲情報、種別・属性情報等も含む。
【0087】
利用者認証部310は、入力される利用者識別情報を、利用者識別情報記憶部312に記憶された情報に基づいて認証し、利用者承認結果情報を返す。例えば、利用者認証部310は、利用者IDと、秘密情報のハッシュ値、及び、利用したハッシュ関数の情報を渡されると、利用者識別情報記憶部309に蓄積された秘密情報のハッシュ値を、渡されたハッシュ関数の情報に基づいて求め、一致するか否かを判定する。あるいは、ハッシュ値ではなく、メッセージと、この秘密情報を用いて付与した署名を用いて、認証を行ってもよい。さらに、利用者情報に含まれる、アクセスするリソースの識別情報、範囲情報、種別・属性情報などに基づき、入力されるリソースの諸情報が一致するか否かを、認証に用いてもよい。
【0088】
利用者情報提供部311は、入力される利用者識別情報に対応する、利用者情報を返す。このとき、アクセス認可装置101の外部からの要求に対しては、利用者認証を伴うことを望まれるが、装置内部からの要求に対しては、利用者認証を行わずに、利用者情報を返すようにしてもよい。
【0089】
利用者情報無効化部312は、発行済の利用者識別情報に対する無効化要求を取得し、利用者情報記憶部309内の該当利用者識別情報を削除するか、あるいは、前述した利用者情報に含まれる有効・無効を表す論理値情報を無効に設定する。なお、利用者情報の無効化要求は、トークン無効化部307と同様に、ネットワーク201を介した通信で実現されてもよく、あるいは、オフラインで実現されてもよい。例えば、機器のユーザが、コールセンターに電話をかけ、不正なアプリケーションを報告することをもって、無効化要求とみなすことも出来る。あるいは、メールベースでの報告でもよい。アクセス認可装置101のオペレータが、こうした無効化要求を受けて、利用者情報記憶部309の実体であるデータベースシステムを操作することで、利用者情報の無効化が実現されてもよい。さらに、利用者情報の無効化を、発生と同時に、該当機器に対して通知するために、トークン無効化部307に対して、通知するようにしてもよい。この場合、トークン無効化部307は、利用者情報無効化部312からの通知をトークンの無効化要求とみなして、トークン情報提供部306を介した機器への通知を行う。
【0090】
開発者情報登録部313は、アプリケーションの開発者の情報を開発者情報として登録する。具体的には、HTTPサーバ上の機能として提供されるものであり、アプリケーションの開発者が(例えば、登録用Webページを介して)自身の情報を登録すると、開発者IDを生成し、これを発行する。同時に、生成した開発者IDを、登録された開発者情報と共に、開発者情報記憶部314に記憶する。開発者情報は、利用者情報と共に、利用者情報提供部311から提供され得るものである。
【0091】
開発者情報記憶部314は、開発者情報登録部309を介して登録された開発者情報を、生成された開発者IDと共に記憶する。利用者情報提供部311からの要求に応じて、開発者情報を出力する。
【0092】
承認者情報登録部315は、アクセス承認者からの要求に基づいて、機器のリソースへのアクセスを承認するアクセス承認者の情報を、アクセス認可装置101上に登録する。具体的には、前述した利用者識別情報発行部308や開発者情報登録部313と同様、HTTPサーバ上の機能として提供されるものであり、機器の所有者が(例えば、登録用Webページを介して)承認者情報を登録すると、承認者識別情報を生成し、これを発行する。このとき、生成した承認者識別情報を、登録された承認者情報と共に、承認者情報記憶部317に記憶する。この承認者識別情報は、アクセス承認者を一意に識別可能な承認者IDを含み、さらに承認者IDの正当性を認証するための秘密情報(パスワード等)を含み得る。承認者識別情報は、機器の所有者が、上述した登録用Webページを介して入力した承認者IDとパスワードを、承認者情報記憶部317内に既存のIDが存在しないことを確認した上で、承認する形式で発行してもよい。
【0093】
機器情報登録部316は、アクセス承認者からの要求に基づいて、所有する機器情報を、アクセス認可装置101上に登録する。承認者情報登録部315と同様、HTTPサーバ上の機能として提供されるものであり、アクセス承認者が(例えば、登録用Webページを介して)機器情報を登録し、同時に、承認者情報記憶部317に、承認者の所有機器情報として記憶する。このとき、アクセス承認者が、当該機器を所有しているか否かを確認する処理を行ってもよい。例えば、機器の画面にワンタイムパスワードや二次元バーコード等を表示し、これを、上述の登録用Webページから入力することで行ってもよい。あるいは、機器の出荷時に、秘密情報を機器の内部に埋め込むか、あるいは、別途保証書等と同じく書類として発行しておき、この秘密情報を登録ページから入力することで行ってもよい。
【0094】
承認者情報記憶部317は、上記の承認者情報や、承認者が所有する機器の機器情報を記憶する。
【0095】
利用情報提供部318は、アクセス承認者から、利用者識別情報と、機器識別情報とを取得し、アクセス承認者から承認を得る際に提示する利用情報を提供する。利用情報は、利用者情報、開発者情報、機器情報、および、アプリケーションがアクセスを求めているリソース情報を含み得る。利用情報提供部318は、提示する利用情報の構成に応じて、承認者情報記憶部317や利用者情報記憶部309から必要な情報を取得し、アクセス承認者に提供する。
【0096】
承認情報発行部319は、利用情報提供部318が提供した利用情報に基づく、アクセス承認者の承認結果を取得し、承認情報を発行する。承認情報は、少なくとも承認が得られたことを示すアクセス可否検証コードを含み、さらに、承認されたリソースの種別情報、属性情報、あるいは、範囲情報を含み得るものである。これは、利用情報に含まれるリソースに関する情報とは異なるものである。例えば、利用情報には、アクセス可能なリソースとして、(A)(B)(C)の3種類のAPIが含まれているが、この承認情報には、実際にアクセスが発生したAPI(B)のみが含まれている。すなわち、利用情報に含まれるリソースに関する情報のサブセットになっている。承認情報発行部319は、この承認情報を承認情報記憶部320に記憶する。
【0097】
承認情報記憶部320は、承認情報発行部319が発行した承認情報を記憶する。承認情報は、利用者識別情報および機器識別情報と関連づけられて記憶される。
【0098】
承認判定部321は、入力される、利用者識別情報、機器識別情報、承認情報と、承認情報記憶部320の内容とに基づき、リソースへのアクセスに対するアクセス承認者からの承認の有無を判定する。
【0099】
承認要求許可情報認証部353は、利用情報提供部318からの承認要求許可情報の認証要求を受け、承認要求許可情報記憶部352に記憶された情報に基づいて認証し、認証情報を返す。例えば、承認要求許可情報認証部353は、利用情報提供部318から、承認要求許可IDと、秘密情報のハッシュ値、及び、利用したハッシュ関数の情報を渡され、承認要求許可情報記憶部352に蓄積された秘密情報のハッシュ値を、渡されたハッシュ関数の情報に基づいて求め、一致するか否かを判定する。一致するときは、認証は成功、一致しないときは、認証は失敗とする。なお、ハッシュ値ではなく、メッセージと、この秘密情報を用いて付与した署名を用いて、認証を行ってもよい。
【0100】
次に、図3、図4、図11、図12、図13、図14を用いて、本実施形態に係るアクセス認可装置101の動作について説明する。図3は、本実施形態における承認情報を示すものである。図4は、トークン情報記憶部305が、本実施形態において記憶する、アプリケーション110が機器104のリソースにアクセスするために取得したトークン情報を示すものである。
【0101】
図11は、本実施形態に係る利用者情報の登録処理シーケンスを示したものである。また、図12は、本実施形態に係る承認者情報及び機器情報の登録処理シーケンスを示したものである。図13は、本実施形態に係るトークン発行処理シーケンスを示したものである。図14は、本実施形態に係るライセンス(トークン)の無効化処理の基本シーケンスを示したものである。
【0102】
なお、本実施形態も第1の実施形態と同様、機器104はデジタルテレビであり、アクセス対象のリソースは、テレビ内に蓄積された録画番組情報である。また、アプリケーション110は、この録画番組情報を利用した、録画リストの閲覧・操作を行う、録画ナビゲーション用のWebアプリケーションである。
【0103】
以下、まず、図11のシーケンス図に則って、利用者識別情報発行の処理手順を説明する。
【0104】
まず、アプリケーション110の開発者が、開発者情報登録部313に対して、開発者情報の登録を要求する(ステップS201)。開発者情報登録部313は、例えば、Webページを介して登録情報を受け付けるWebサーバ上に配置された機能である。開発者は、このWebページを介して、開発者IDや、パスワード、開発者名や連絡先等の諸情報を登録する。開発者情報登録部313は、登録された開発者IDが、開発者情報記憶部314上に未登録であれば、開発者IDとして承認し(ステップS202)、これに登録された開発者情報と合わせて、開発者情報記憶部314に記憶する(ステップS203、ステップS204)。登録後、開発者情報登録部313は、登録された開発者IDと共に、登録が完了した旨を開発者に応答する(ステップS205)。ここで、登録申請された開発者IDが、既に登録されたものであれば、再入力を促し、未登録の開発者IDが入力されるまで繰り返す。この開発者IDの登録処理(ステップS202)は、上述のような、開発者に一意になるIDの入力を求める方法以外にも、開発者情報登録部313が、自動で一意のIDを生成し、これを開発者側に通知するように構成してもよい。なお、開発者登録が必要なければ、以上の一連の処理(ステップS201からステップS205)は省略してもよい。
【0105】
次に、開発者は、アプリケーション110の開発時に、利用者識別情報発行部308に対して、トークンの発行に必要な利用者識別情報の発行を要求する(ステップS206)。利用者識別情報発行部308は、Webページを介して登録情報を受け付けるWebサーバ上に配置された機能であり、開発者は、このWebページを介して、利用者情報として、アプリケーション名、バージョン等のアプリケーション情報、アクセスしたいリソース情報(リソースの識別情報、種別・属性情報、範囲情報など)を登録する。利用者識別情報発行部308は、必要な利用者情報が全て登録されていることを確認すると、利用者識別情報を生成し(ステップS207)、生成した利用者識別情報と共に、利用者情報を、利用者情報記憶部309に登録する(ステップS208、ステップS209)。登録後、生成した利用者識別情報を開発者に応答する(ステップS210)。
【0106】
以上のシーケンスにより、アプリケーションに対して、アクセス認可装置101が一意にアプリケーションを識別、特定するための利用者識別情報が発行される。
【0107】
続いて、図12のシーケンス図に則って、アクセス承認者、および、承認者の所有するアクセス対象となる機器情報の登録処理手順を説明する。
【0108】
まず、機器104の所有者(ユーザ)が、承認者情報登録部315に対して、承認者情報の登録を要求する(ステップS211)。承認者情報登録部315は、例えば、Webページを介して登録情報を受け付けるWebサーバ上に配置された機能である。承認者は、このWebページを介して、承認者IDや、パスワード、承認者名や連絡先等の諸情報を登録する。承認者情報登録部315は、登録された承認者IDが、承認者情報記憶部314上に未登録であれば、承認者IDとして承認し(ステップS212)、これに登録された承認者情報と合わせて、承認者情報記憶部317に記憶する(ステップS213、ステップS214)。登録後、承認者情報登録部313は、登録された承認者IDと共に、登録が完了した旨を承認者に応答する(ステップS215)。この承認者IDの登録処理は、前述した開発者IDの登録処理と同様、承認者自身にID入力を促すのではなく、自動で一意のIDを生成し、これを承認者側に通知するように構成してもよい。
【0109】
次に、承認者は、機器104の購入後、機器情報登録部316に対して、機器の登録を要求する(ステップS216)。機器情報登録部316は、Webページを介して登録情報を受け付けるWebサーバ上に配置された機能であり、承認者は、このWebページを介して、機器情報として、機器の製品名や型番、製品番号等を登録する。登録にあたり、機器情報登録部316は承認者に承認者ID、パスワード等の入力を要求する。ここで、機器情報登録部316は、承認者が機器を所有していることを確認する何らかの処理を行ってもよい(ステップS217)。たとえば、機器104に、アクセス認可装置101のURIをプリセットしておき、機器104をネットワーク201に接続すると、この機器情報が自動登録され、かつ、PINコードや二次元バーコード等を用いて、機器とユーザ(アクセス承認者)が紐付けられるようにすることで、承認者と機器の紐付けを実現しても良い。具体的には、機器104が、機器内にプリセットされた(あるいはユーザによって手動入力された)アクセス認可装置101上の機器情報登録部316を指すURIに対して通信コネクションを確立する。このとき、クライアント(機器)の正当性を証明するための証明書が機器にインストールされていて、この情報を用いて、通信を暗号化するように構成してもよい。コネクションの確立を行うトリガは、ネットワーク201に接続されたことをもって行ってもよいし、機器104が、ユーザが登録処理を行うためのインタフェースを備え、このインタフェースを操作することによって行ってもよい。ここで、ユーザが機器情報登録画面にアクセスすると、機器情報登録部316は、例えば数桁の数字で構成されるPINコードを生成し、確立された通信コネクションを使って機器104に送信する。機器104は、このPINコードを画面上に表示する。ユーザは、表示されたPINコードを、機器情報登録画面の所定の(PINコードを入力する)フォームに入力する。機器情報登録部316は、発行したPINコードと、ユーザに入力されたPINコードとの一致をもって、ユーザ(すなわちアクセス承認者)が、機器104を所有していることを認証する。このPINコードが、二次元バーコードであってもよく、機器側に送信されるPINコードが、文字列の画像データであってもよい。また、上述の例とは逆に、機器登録画面上に表示したPINコードを、機器104に入力して、上記保護された通信コネクションを介して、入力されたPINコードを送信するように構成してもよい。以上のように、機器とユーザの紐付け方法には、様々な実現方法が考えられ、機器情報登録部316は、これらの様々な既知の実現手段を用いて実現されてよい。
【0110】
以上のようにして承認者が機器を所有していることを確認できると、登録された機器情報を、承認者IDに関連付けて、承認者情報記憶部317に記憶する(ステップS218、ステップS219)。最後に、登録完了を承認者に応答する(ステップS220)。
【0111】
以上のシーケンスにより、機器104とアクセス承認者とが結びつけられて、アクセス認可装置101(承認者情報記憶部317)に登録される。
【0112】
続いて、図13のシーケンス図に則って、トークン発行処理手順を説明する。
【0113】
まず、アプリケーション110が公開・配布され、機器104上にダウンロードされる(ステップS221)。ここで、ユーザがリソースアクセスを伴うアプリケーション操作を行う(ステップS222)。本実施形態では、アプリケーション110は、録画ナビゲーション・アプリケーションであり、起動段階でリソース(録画番組リスト)へのアクセスが発生し得る。アプリケーション110は、リソースアクセスが発生すると(録画番組リスト取得APIが呼び出されると)、利用情報提供部318に対応するWebページにリダイレクトされる(ステップS223、ステップS224)。これは、アプリケーション110に予めリダイレクトURIを設定しておくことで実現されてもよいし、第1の実施形態で述べたように、一旦、トークン発行部304にアクセスした後に、リダイレクトされるように構成してもよい。このときリダイレクトは、HTTP GETレスポンスに、利用情報提供部318の承認画面のURIを、Referヘッダに指定することで実現する。特に、ここでは、リダイレクト先のURIに、利用者識別情報と、機器識別情報と、コールバックURIをクエリパラメータとして含める。コールバックURIを含めるのは、再びアプリケーション110の画面を表示するためである。承認者IDとパスワードとを用いて利用者情報提供部318との間で事前にユーザ認証を行ってもよい。
【0114】
続いて、利用情報提供部318は、リクエストを受信して、引数として渡される利用者識別情報や機器識別情報を用いて、利用情報を取得する(ステップS225)。これは、図13から割愛しているが、前述したように、承認者情報記憶部317や利用者情報記憶部309から必要な情報を取得し、アクセス承認画面として構成したうえで応答する(ステップS226)。このとき、利用者識別情報と、機器識別情報とを、アクセス承認画面に組み込み、第1の実施形態と同様、「録画ナビゲーションアプリが、デジタルテレビ内に蓄積された録画番組リストへのアクセスを求めている」ことを表示する。
【0115】
続いて、ユーザが、アプリケーション110から機器104へのアクセスを許可するか否かを、承認情報発行部319に対し、表示されたWebページのインタフェースを介して応答する(ステップS227)。承認情報発行部319は、応答が許諾を示すものであった場合には、その許可内容を含む承認情報を、承認情報記憶部320に記憶し(ステップS228、ステップS229)、レスポンスに含める(ステップS230)。このとき、アクセス承認画面からアプリケーション110の画面に再遷移するために、ステップS223で渡されたコールバックURIをリダイレクト先として、Referヘッダに指定する。前記の承認情報は、このコールバックURIのクエリパラメータとして設定されてもよい。
【0116】
機器104上のWebブラウザは、アクセス承認の応答に含まれる、このReferヘッダに従って、アプリケーション110の画面へリダイレクトする(ステップS231)。続いて、アプリケーション110は、アクセスされたURI(コールバックURI)のクエリとして設定された、承認情報に加え、利用者識別情報と、機器識別情報とを、トークン発行要求に含めて、アクセス認可装置101に送信し、トークン発行部304が取得する(ステップS232)。
【0117】
トークン発行要求を取得した、トークン発行部304は、機器104から受信した承認情報、利用者識別情報、機器識別情報を、トークン発行判定部303に渡す。トークン発行判定部303は、利用者認証部310に利用者識別情報を渡し(ステップS233)、利用者認証結果情報を取得する(ステップS234)。さらに、トークン発行判定部303は、承認情報記憶部320から、利用者識別情報および機器識別情報に関連づけられた承認情報を取得し、引数として渡された承認情報と照合しアクセス可否を判定する。(ステップS235、ステップS236)。トークン発行判定部303は、得られた利用者承認結果情報とアクセス可否の判定結果から、トークン発行可否を判定し、判定結果をトークン発行部304に渡す。トークン発行部304は、この判定結果に基づき、トークン発行「可」の場合には、トークンを含むトークン情報(図3参照)を生成し(ステップS237)、トークン情報記憶部305に記憶し(ステップS238)、トークン情報をアプリケーション110に応答する(ステップS239)。
【0118】
最後にアプリケーション110はリソースへのアクセスを行い(ステップS240)、リソースアクセス結果をユーザに表示する(ステップS241)。ここでは、アプリケーション110は、デジタルテレビ内に蓄積された録画番組のリストを取得し、取得した結果をユーザに提示する。なお、ステップS240におけるリソースアクセスの処理手順は、第1の実施形態と同様であり、図8に従う。
【0119】
最後に、図14を用いて、トークンを無効化する処理手順について説明する。
【0120】
まず、利用者情報の無効化権限保持者が、利用者情報無効化要求を利用者情報無効化部312に対して行う(ステップS242)。この無効化権限保持者は、トークンの無効化権限保持者と同様であり、例えば、アプリケーション110の開発者、機器104の機器メーカ、あるいはアプリケーション110及び機器104のユーザ等が想定される。この無効化要求の発生についても、第1の実施形態で述べたトークンの無効化要求と発生と同様であり、不正なアプリケーションが発覚した場合に、機器メーカや一般ユーザが当該アプリケーションの排除を行う目的で行うことが代表的なユースケースとして挙げられる。
【0121】
利用者情報無効化部312は、無効化要求を受信すると、該当利用者情報の無効化を利用者情報記憶部317に対して要求する(ステップS243)。
【0122】
利用者情報記憶部317は、要求に基づいて該当利用者情報の無効化(削除もしくは有効フラグの更新等)を実行し(ステップS244)、処理結果を応答する(ステップS245)。このとき、続くステップS246以降に示す、発行済トークンの無効化を実行する場合には、無効化した利用者識別情報を応答に含める。
【0123】
続いて、利用者情報無効化部312は、利用者情報が無効化されたことを受けて、該当利用者に対して発行されたトークンの無効化を、トークン無効化部307に対して要求する(ステップS246)。以降の処理は、第1の実施形態のトークン無効化シーケンスと同様であり(ステップS247、ステップS248)、機器104に対して無効化通知を行ってもよい。
【0124】
以上のように、本実施形態によれば、第1の実施形態のようにアクセス承認装置、利用者認証装置などのインターネット上の外部装置を利用せずに、アクセス認可装置単体で、第三者(アプリケーション110、あるいは、その開発者)がリソースの管理実体(機器104、すなわちデジタルテレビ、および、その所有者であるユーザ)と直接信頼関係を構築できないケースにおいても、第三者に対してリソースへのアクセス権限を委譲可能とし、かつ、ユーザ以外のリソース管理実体の管理者(例えば、機器メーカ)が、第三者による不正なリソースへのアクセスを防ぐことが可能となっている」。
【0125】
また、第1の実施形態との差分として、ユーザや機器メーカなどの権限保持者が、利用者識別情報を無効化することによって、当該利用者(アプリケーション)に係るトークンを一括で無効化し、リソースの不正利用を効率的に防ぐことが可能となっている。
【0126】
<利用者認証のバリエーション>
最後に、第1の実施形態と同様、利用者認証を、ユーザ(アクセス承認者)から承認を得る前に行ってもよい。この場合、図13のトークン発行処理シーケンスのステップS225の時点で、ステップS233、S234の利用者認証を行う。このためには、第1の実施形態と同様、承認要求許可情報発行部351、記憶部352、認証部353が必要になる。利用者認証が既に済んでいることを証明するための承認要求許可情報が、利用情報提供部318へ渡され、アクセス承認前にチェックされる。
【符号の説明】
【0127】
101 アクセス認可装置
102 アクセス承認装置
103 利用者認証装置
104 機器
105 操作機器
110 アプリケーション
201 ネットワーク(インターネット、NGN)
202 ネットワーク(ホームネットワーク)
301 第1送受信部
302 第2送受信部
303 トークン発行判定部
304 トークン発行部
305 トークン情報記憶部
306 トークン情報提供部
307 トークン無効化部
308 利用者識別情報発行部
309 利用者情報記憶部
310 利用者認証部
311 利用者情報提供部
312 利用者情報無効化部
313 開発者情報登録部
314 開発者情報記憶部
315 承認者情報登録部
316 機器情報登録部
317 承認者情報記憶部
318 利用情報提供部
319 承認情報発行部
320 承認情報記憶部
321 承認判定部
351 承認要求許可情報発行部
352 承認要求許可情報記憶部
353 承認要求許可情報認証部

【特許請求の範囲】
【請求項1】
第1アプリケーションによって利用されるリソースを有する機器、およびアクセス承認装置とそれぞれネットワークを介して接続される、アクセス認可装置であって、
前記機器における前記リソースへのアクセスをアクセス承認者から承認されたことを示す第1承認情報を、前記第1アプリケーションから前記ネットワークを介して受信する受信部と、
前記第1承認情報を含むアクセス承認要求を前記アクセス承認装置に送信し、前記第1アプリケーションによる前記リソースへのアクセスを許可するかを示すアクセス可否情報を前記アクセス承認装置から受信する第1送受信部と、
前記アクセス可否情報が前記リソースへのアクセス許可を示すとき、前記リソースへのアクセス権限を前記第1アプリケーションに与えるトークン情報を発行するトークン発行部と、
前記トークン発行部により発行された前記トークン情報を前記第1アプリケーションに送信する送信部と、
を備えたアクセス認可装置。
【請求項2】
前記トークン発行部により発行されたトークン情報を記憶するトークン情報記憶部
をさらに備えたことを特徴とする請求項1に記載のアクセス認可装置。
【請求項3】
前記トークン発行部により発行された前記トークン情報または前記トークン情報記憶部内のトークン情報を前記機器に提供するトークン情報提供部
をさらに備えたことを特徴とする請求項2に記載のアクセス認可装置。
【請求項4】
前記ネットワーク上の外部装置、またはアクセス認可装置のオペレータから前記トークン情報の無効化要求を受けて、前記トークン情報記憶部内の前記トークン情報を無効化するトークン無効化部
をさらに備えたことを特徴とする請求項3に記載のアクセス認可装置。
【請求項5】
トークン無効化部をさらに備え、
前記トークン発行部は、発行するトークン情報に有効期限を設定し、
前記トークン無効化部は、前記トークン情報記憶部における前記有効期限が切れたトークン情報を無効化する
ことを特徴とする請求項3に記載のアクセス認可装置。
【請求項6】
前記トークン情報提供部は、前記トークン無効化部により前記トークン情報が無効化されたとき、前記トークン情報が無効化されたことを前記機器に通知する
ことを特徴とする請求項4または5に記載のアクセス認可装置。
【請求項7】
前記トークン情報は、前記トークン情報の識別子を表すトークンを含む
ことを特徴とする請求項1ないし6のいずれか一項に記載のアクセス認可装置。
【請求項8】
前記トークン情報は、前記機器を識別する機器識別情報、前記第1アプリケーションを識別する利用者識別情報、前記第1承認情報、前記第1アプリケーションの詳細情報である利用者情報、前記機器の詳細情報である機器情報、前記トークン情報の有効期限情報、および前記トークン情報が有効か否かを表す論理値情報のうち少なくとも1つをさらに含む
ことを特徴とする請求項7に記載のアクセス認可装置。
【請求項9】
前記第1アプリケーションを識別する利用者識別情報を含む利用者認証要求を、前記ネットワークを介して利用者認証装置に送信し、前記利用者認証装置から前記第1アプリケーションの認証が成功したか否かを示す利用者認証結果情報を受信する第2送受信部をさらに備え、
前記トークン発行部は、前記第2送受信部で前記第1アプリケーションの認証成功を示す利用者認証結果情報が受信されたとき、前記トークン情報を発行する
ことを特徴とする請求項1ないし8のいずれか一項に記載のアクセス認可装置。
【請求項10】
前記第1アプリケーションを識別する利用者識別情報を含む利用者認証要求を、前記ネットワークを介して利用者認証装置に送信し、前記利用者認証装置から前記第1アプリケーションの認証が成功したか否かを示す利用者認証結果情報を受信する第2送受信部と、
前記利用者認証結果情報が認証の成功を示すとき、前記第1アプリケーションに対し承認要求許可情報を発行する承認要求許可情報発行部と、
前記第1アプリケーションに対して発行された前記承認要求許可情報を記憶する承認要求許可情報記憶部と、
前記アクセス承認装置から前記利用者識別情報および承認要求許可情報を含む認証要求を受信し、前記認証要求に含まれる前記利用者識別情報のアプリケーションに対する承認要求許可情報が前記承認要求許可情報記憶部に登録されているとき、前記アプリケーションの認証の成功を示す応答を前記アクセス承認装置に返す承認要求許可情報認証部と、
を備えたことを特徴とする請求項1ないし8のいずれか一項に記載のアクセス認可装置。
【請求項11】
前記第1承認情報は、前記アクセス承認者による承認を識別するアクセス可否検証コードを含む
ことを特徴とする請求項1ないし10のいずれか一項に記載のアクセス認可装置。
【請求項12】
前記第1承認情報は、アクセスを承認されたリソースの、種別情報、属性情報、範囲情報のうちの少なくとも1つをさらに含む
ことを特徴とする請求項11に記載のアクセス認可装置。
【請求項13】
前記利用者識別情報は、前記利用者識別情報の正当性を証明するための秘密情報と、秘密情報のハッシュ値と、秘密情報を用いた署名情報とのうち少なくとも1つを含む
ことを特徴とする請求項8ないし10のいずれか一項に記載のアクセス認可装置。
【請求項14】
第1アプリケーションによって利用されるリソースを含む機器とネットワークを介して接続された、アクセス認可装置であって、
アクセス承認者により前記機器における前記リソースへアクセスすることを承認されたアプリケーションに対し承認情報を記憶する承認情報記憶部と、
前記第1アプリケーションから第1承認情報を、前記ネットワークを介して受信する受信部と、
前記第1承認情報と前記承認情報記憶部の内容に基づき、前記第1アプリケーションが前記機器の前記リソースへアクセスするのを許可するかを判定する承認判定部と、
前記承認判定部により前記リソースへのアクセスが許可されたとき、前記リソースへのアクセス権限を前記第1アプリケーションに与えるトークン情報を発行するトークン発行部と、
前記トークン情報を前記ネットワークを介して前記第1アプリケーションに送信する送信部と、
を備えたアクセス認可装置。
【請求項15】
前記トークン発行部により発行されたトークン情報を記憶するトークン情報記憶部
をさらに備えたことを特徴とする請求項14に記載のアクセス認可装置。
【請求項16】
前記第1アプリケーションに対して発行された前記トークン情報または前記トークン情報記憶部内のトークン情報、を前記機器に提供するトークン情報提供部
をさらに備えたことを特徴とする請求項15に記載のアクセス認可装置。
【請求項17】
前記ネットワーク上の外部装置、またはアクセス認可装置のオペレータから前記トークン情報の無効化要求を受けて、前記トークン情報記憶部内の前記トークン情報を無効化するトークン無効化部
をさらに備えたことを特徴とする請求項16に記載のアクセス認可装置。
【請求項18】
トークン無効化部をさらに備え、
前記トークン発行部は、発行するトークン情報に有効期限を設定し、
前記トークン無効化部は、前記トークン情報記憶部における前記有効期限が切れたトークン情報を無効化する
ことを特徴とする請求項16に記載のアクセス認可装置。
【請求項19】
前記トークン情報提供部は、前記トークン無効化部により前記トークン情報が無効化されたとき、前記トークン情報が無効化されたことを前記機器に通知する
ことを特徴とする請求項17または18に記載のアクセス認可装置。
【請求項20】
前記トークン情報は、前記トークン情報の識別子を表すトークンを含むことを特徴とする請求項14ないし19のいずれか一項に記載のアクセス認可装置。
【請求項21】
前記トークン情報は、前記機器を識別する機器識別情報、前記第1アプリケーションを識別する利用者識別情報、前記第1承認情報、前記第1アプリケーションの詳細情報である利用者情報、前記機器の詳細情報である機器情報、前記トークン情報の有効期限情報、および前記トークン情報が有効か否かを表す論理値情報のうち少なくとも1つをさらに含む
ことを特徴とする請求項20に記載のアクセス認可装置。
【請求項22】
前記機器のリソースへ前記第1アプリケーションがアクセスすることを許可するアクセス承認者による承認を前記機器から受信し、前記承認に基づき前記第1承認情報を発行し、発行した第1承認情報を前記機器に送信する前記承認情報発行部をさらに備え、
前記承認情報記憶部は、前記承認情報発行部により発行された第1承認情報を記憶する
ことを特徴とする請求項14ないし21のいずれか一項に記載のアクセス認可装置。
【請求項23】
前記機器のリソースへ第1アプリケーションがアクセスすることを許可するか否かを前記アクセス承認者へ問い合わせるための利用情報を前記機器へ送信する利用情報提供部
をさらに備えたことを特徴とする請求項22に記載のアクセス認可装置。
【請求項24】
前記利用情報は、前記第1アプリケーションの詳細情報である利用者情報、前記第1アプリケーションの開発者情報、前記機器の詳細情報である機器情報、および、前記第1アプリケーションがアクセスを求めているリソースの情報を含むこと
を特徴とする請求項23に記載のアクセス認可装置。
【請求項25】
前記第1アプリケーションを識別する利用者識別情報を前記第1アプリケーションから受信する受信部と、
前記第1アプリケーションの利用者識別情報に基づき認証を行う利用者認証部と、
前記利用者認証部の認証が成功したとき、前記第1アプリケーションに対し承認要求許可情報を発行し、発行した承認要求許可情報を前記機器に送信する承認要求許可情報発行部と、
前記第1アプリケーションに対して発行された前記承認要求許可情報を記憶する承認要求許可情報記憶部と、
前記機器から前記利用者識別情報および承認要求許可情報を受信し、前記利用者識別情報のアプリケーションに対する承認要求許可情報が前記承認要求許可情報記憶部に登録されているとき、前記利用情報提供部による前記利用情報の提供を許可し、登録されていないとき許可しない承認判定部と、
を備えたことを特徴とする請求項22ないし24のいずれか一項に記載のアクセス認可装置。
【請求項26】
前記第1アプリケーションを識別する利用者識別情報に基づき認証を行う利用者認証部をさらに備え、
前記受信部は、前記第1アプリケーションから前記利用者識別情報を受信し、
前記トークン発行部は、前記利用者認証部による前記第1アプリケーションの認証が成功したとき前記トークン情報を発行する
ことを特徴とする請求項14ないし24のいずれか一項に記載のアクセス認可装置。
【請求項27】
前記第1承認情報は、前記アクセス承認者による承認を識別するアクセス可否検証コードを含む
ことを特徴とする請求項14ないし26のいずれか一項に記載のアクセス認可装置。
【請求項28】
前記第1承認情報は、アクセスを承認されたリソースの、種別情報、属性情報、範囲情報のうちの少なくとも1つをさらに含む
ことを特徴とする請求項27に記載のアクセス認可装置。
【請求項29】
前記利用者識別情報は、前記利用者識別情報の正当性を証明するための秘密情報と、秘密情報のハッシュ値と、秘密情報を用いた署名情報とのうち少なくとも1つを含む
ことを特徴とする請求項21、25、26のいずれか一項に記載のアクセス認可装置。
【請求項30】
前記承認要求許可情報は、少なくとも、前記第1アプリケーションに対する承認を識別する承認要求許可識別子を含む
ことを特徴とする請求項25に記載のアクセス認可装置。
【請求項31】
前記ネットワーク上の外部装置から、前記第1アプリケーションの詳細情報である利用者情報を受信し、前記第1アプリケーションの前記利用者識別情報を発行する利用者識別情報発行部
を備えたことを特徴とする請求項21、25、26、29に記載のアクセス認可装置。
【請求項32】
前記利用者識別情報と、前記利用者情報とを関連づけて記憶する利用者情報記憶部
を備えたことを特徴とする請求項31に記載のアクセス認可装置。
【請求項33】
前記利用者情報の提供要求を受けて、前記利用者情報を前記利用者情報記憶部から取り出して提供する利用者情報提供部
をさらに備えたことを特徴とする請求項32に記載のアクセス認可装置。
【請求項34】
前記ネットワーク上の外部装置、またはアクセス認可装置のオペレータから前記利用者識別情報の無効化要求を受けて、前記利用情報記憶部における前記利用者識別情報を無効化する利用者情報無効化部
を備えたことを特徴とする請求項31ないし33のいずれか一項に記載のアクセス認可装置。
【請求項35】
アプリケーションの開発者に関する開発者情報を記憶する開発者情報記憶部と、
前記ネットワーク上の外部装置から前記第1アプリケーションの開発者情報を受信し、前記第1アプリケーションの前記開発者情報を前記開発者情報記憶部に登録する開発者情報登録部と
をさらに備えたことを特徴とする請求項14ないし34のいずれか一項に記載のアクセス認可装置。
【請求項36】
前記アクセス承認者の承認者情報を記憶する承認者情報記憶部と、
前記ネットワーク上の外部装置から前記アクセス承認者の承認者情報を受信して、前記承認者情報記憶部に登録する承認者情報登録部と
をさらに備えたことを特徴とする請求項14ないし35のいずれか一項に記載のアクセス認可装置。
【請求項37】
前記ネットワーク上の外部装置から、前記アクセス承認者がアクセス承認の権限を持つ機器の機器情報を受信し、前記機器情報を前記承認者情報記憶部に登録する機器情報登録部
をさらに備えたことを特徴とする請求項36に記載のアクセス認可装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2012−98839(P2012−98839A)
【公開日】平成24年5月24日(2012.5.24)
【国際特許分類】
【出願番号】特願2010−244678(P2010−244678)
【出願日】平成22年10月29日(2010.10.29)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】