JP5988841B2 - 通信装置、通信システム、情報処理方法及びプログラム - Google Patents
通信装置、通信システム、情報処理方法及びプログラム Download PDFInfo
- Publication number
- JP5988841B2 JP5988841B2 JP2012252405A JP2012252405A JP5988841B2 JP 5988841 B2 JP5988841 B2 JP 5988841B2 JP 2012252405 A JP2012252405 A JP 2012252405A JP 2012252405 A JP2012252405 A JP 2012252405A JP 5988841 B2 JP5988841 B2 JP 5988841B2
- Authority
- JP
- Japan
- Prior art keywords
- token
- communication
- communication device
- acquisition
- access
- 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
Links
Images
Description
認可サービスにおいて、アクセス権限の管理を目的としたOAuthプロトコルの利用が増えてきている。OAuthにおいて、まず通信装置は、認可サービスから、所望するリソースに対するアクセス権限を示すアクセストークン、及びアクセストークンを更新するためのリフレッシュトークンを取得する。その後、通信装置は、外部サービスから所望するリソースの取得を要求する際、認可サービスから取得したアクセストークンを合せて提示する。外部サービスは、アクセストークンが有効な場合のみ、通信装置に要求されたリソースを送信する。もしアクセストークンの有効期限が切れた場合、通信装置は、認可サービスにリフレッシュトークンを提示することで、アクセストークンを更新することができる。
これらの方法を用いて、ユーザは、外部サービスのユーザのリソースに対するアクセス権限を、家族や友人に委譲することで、家族や友人とリソースを共有して楽しむことができる。
図1は、通信システムのシステム構成の一例を示す図である。
第1の通信装置10は、表示機能、操作機能、及びIEEE802.11に則った無線LAN(Local Area Network)通信機能を有する。第1の通信装置10のより具体的な例は、デジタルカメラ、デジタルビデオカメラ、携帯電話、スマートフォン、PC、ノートPC等である。なお、本実施形態では無線LAN通信機能を用いたが、これに限らず、Bluetooth(登録商標)、ZigBee(登録商標)、RFID等の他の無線通信規格を利用しても良い。
第2の通信装置20は、第1の通信装置10と同様である。
無線AP30は、第1の通信装置10、及び第2の通信装置20における無線LAN通信を中継する無線アクセスポイントである。
ネットワーク40は、無線AP30、認可サービス50、及び外部サービス60が接続されるネットワークである。ネットワーク40のより具体的な例は、有線LAN、無線LAN、WAN(Wide Area Network)、インターネット等である。
認可サービス50は、OAuth 2.0に則り、外部サービス60上の第1のリソースへのアクセス権限を管理する。なお、本実施形態ではOAuth 2.0を用いたが、これに限らず、OAuth 1.0、OpenID Connect等の認可規格や、独自の認可方式を利用しても良い。
外部サービス60は、第1の通信装置10を利用する第1のユーザが所有する第1のリソースを管理する。
図2は、第1の通信装置10のハードウェア構成の一例を示す図である。なお、第2の通信装置20も、第1の通信装置10と同じ構成であるため、以後は第1の通信装置10のみを説明する。
第1の通信装置10は、CPU(Central Processing Unit)201と、ROM(Read Only Memory)202と、RAM(Random Access Memory)203と、補助記憶装置204と、を備える。また、第1の通信装置10は、表示部205と、操作部206と、通信部207と、アンテナ208と、を備える。
CPU201は、第1の通信装置10全体を制御する。
ROM202は、変更を必要としないプログラムやパラメタを格納する。
RAM203は、補助記憶装置204等から供給されるプログラムやデータを一時記憶する。
表示部205は、第1のユーザが第1の通信装置10を操作するためのGUI(Graphical User Interface)を表示する。また、表示部205は、認可サービス50から取得した認可承認画面を表示する。
操作部206は、第1のユーザが第1の通信装置10を操作するための入力インタフェースである。
通信部207は、アンテナ208を制御し、無線AP30、又は第2の通信装置20と通信する。
CPU201が、ROM202又は補助記憶装置204に記憶されたプログラムに基づき処理を実行することによって、後述する機能モジュールの構成及びフローチャートやシーケンスに係る処理が実現される。
第1の通信装置10は、制御部301と、通信制御部302と、表示制御部303と、操作制御部304と、記憶制御部305と、無線パラメタ管理部306と、通信判断部307と、権限管理部308と、認可コード取得部309と、を備える。また、第1の通信装置10は、認可コード送信部310と、送信判断部311と、トークン取得部312と、トークン送信部313と、無効判断部314と、トークン無効部315と、トークン更新部316と、リソース取得部317と、を備える。
制御部301は、第1の通信装置10が備える個々の機能モジュール全体を制御する。
通信制御部302は、通信部207を制御し、無線AP30、又は第2の通信装置20との通信制御を行う。本実施形態において、通信制御部302は、第2の通信装置20との間で、Wi−Fi Directのプッシュボタン方式に従って通信制御を行う。
操作制御部304は、操作部206を制御し、第1の通信装置10における第1のユーザからの操作入力制御を行う。
記憶制御部305は、補助記憶装置204を制御し、画像コンテンツデータや動画コンテンツデータを記憶する。
無線パラメタ管理部306は、通信制御部302における無線通信に使用する無線パラメタ11を管理する。無線パラメタ管理部306は、Wi−Fi Directに必要な情報として、後述する図4に示すSSID401、暗号化方式402、暗号化鍵403、Wi−Fi Direct情報404、を無線パラメタとして管理する。無線パラメタ管理部306は、第2の通信装置20との無線通信の際、第2の通信装置20から取得した無線パラメタ11を、記憶制御部305を用いて記憶する。
また、通信判断部307は、Wi−Fi Direct情報404に記載されたグループ形態を参照し、グループ形態が一時的である場合に、第2の通信装置20との無線通信が一時的である、と判断する。一方、通信判断部307は、グループ形態が永続的である場合に、第2の通信装置20との無線通信が一時的でない、と判断する。
また、通信判断部307は、第2の通信装置20との無線通信が一時的でないと判断した後、第2の通信装置20との無線通信を継続するか否か、を更に判断する。本実施形態において、通信判断部307は、無線パラメタ管理部306によって、第2の通信装置20との無線通信に使用する無線パラメタ11が削除された場合、第2の通信装置20との無線通信を継続しない、と判断する。
認可コード取得部309は、認可サービス50に対して、第1のリソースに対するアクセス権限の認可を要求する。本実施形態において、認可コード取得部309は、認可サービス50に対して、OAuth 2.0に基づく認可リクエストを送信する。そして、認可コード取得部309は、認可サービス50から、前記認可リクエストに対する応答として、OAuth 2.0に基づく認可レスポンスを受信する。認可レスポンスには、アクセストークン、及びリフレッシュトークン、を取得するために必要な認可コード、が含まれる。認可コードは、トークン取得情報の一例である。
アクセストークンは、第1のリソースに対するアクセス権限を示す情報である。アクセストークンは、トークンの一例である。
リフレッシュトークンは、アクセストークンの有効期限が切れた際、アクセストークンを更新するために必要な情報である。リフレッシュトークンは、トークン取得情報の一例である。
また、認可サービス50に対する認可要求において、認可コード取得部309は、認可サービス50に登録された通信装置を示すクライアント識別子を、パラメタとして指定する。本実施形態において、認可コード取得部309が、第1の通信装置10を示す第1のクライアント識別子を指定して第1の認可を要求した場合、認可コード取得部309は、認可サービス50から、第1の認可コードを取得する。同様に、認可コード取得部309が、第2の通信装置20を示す第2のクライアント識別子を指定して第2の認可を要求した場合、認可コード取得部309は、認可サービス50から、第2の認可コードを取得する。
送信判断部311は、第2の通信装置20に、アクセストークン、リフレッシュトークン、又は認可コードを送信するか否かを判断する。本実施形態において、送信判断部311は、通信判断部307によって、第2の通信装置20との無線通信が一時的である、と判断した場合、第2の通信装置20に、第1のアクセストークンを送信する、と判断する。一方、送信判断部311は、通信判断部307によって、第2の通信装置20との無線通信が一時的でない、と判断した場合、第2の通信装置20に、第2の認可コードを送信する、と判断する。
なお、これに限らず、送信判断部311は、第2の通信装置20との無線通信が一時的でない場合、第2の通信装置20に、第2のアクセストークン、及び第2のリフレッシュトークンを送信する、と判断しても良い。
また、トークン取得部312は、前記アクセストークンリクエストを送信する際、認可コード取得部309において取得した認可コード、及び認可コードを取得する際に指定したクライアント識別子をパラメタとして指定する。アクセストークンリクエストにおいて、トークン取得部312が、第1の認可コードを指定した場合、トークン取得部312は、認可サービス50から、第1のアクセストークン、及び第1のリフレッシュトークンを取得する。同様に、トークン取得部312が、第2の認可コードを指定した場合、トークン取得部312は、認可サービス50から、第2のアクセストークン、及び第2のリフレッシュトークンを取得する。なお、本実施形態において、第1のアクセストークン、及び第2のアクセストークンの有効期限、及びアクセス権限の範囲は同じとする。
無効判断部314は、アクセストークン、又はリフレッシュトークン、又は認可コード、を無効化するか否か、を判断する。本実施形態において、通信判断部307によって、第2の通信装置20との無線通信を継続しない、と判断した場合、無効判断部314は、アクセストークン、又はリフレッシュトークン、又は認可コードを無効化する、と判断する。
トークン無効部315は、認可サービス50に対して、アクセストークン、又はリフレッシュトークンの無効化を要求する。本実施形態において、トークン無効部315は、認可サービス50に対して、OAuth 2.0に基づくアクセストークン無効リクエストを送信する。
また、トークン無効部315は、アクセストークン、又はリフレッシュトークンの無効化する際、認可コード取得部309、又はトークン取得部312において指定した同一のクライアント識別子を指定する。
なお、本実施形態において、トークン無効部315は、認可サービス50に対して、アクセストークン、又はリフレッシュトークンを無効化するとしたが、これに限らず、認可コードを無効化しても良い。
なお、トークン更新部316は、アクセストークンを更新する際、トークン取得部312においてアクセストークンを取得する際に指定した同一のクライアント識別子を指定する。
リソース取得部317は、外部サービス60から、第1のリソースを取得する。本実施形態において、リソース取得部317は、外部サービス60に対して、第1のリソースの取得要求を送信する際、第1のアクセストークン、又は第2のアクセストークンを指定する。
SSID401は、第1の通信装置10、又は第2の通信装置20、又は無線AP30を示す無線通信に関する識別子である。
暗号化方式402は、暗号化通信方式を示す情報である。
暗号化鍵403は、暗号化通信を実施する際の鍵情報である。
Wi−Fi Direct情報404は、Wi−Fi Directによる無線通信接続に必要な情報である。より具体的には、グループ形態種別(一時的、永続的)、P2PグループID等である。
M501において、第1の通信装置10は、操作制御部304によって、ユーザによるWi−Fi Directのプッシュボタン方式による無線接続開始指示を検知する。
M502において、第2の通信装置20は、操作制御部304によって、ユーザによるWi−Fi Directのプッシュボタン方式による無線接続開始指示を検知する。
M503において、第1の通信装置10は、通信制御部302によって、第2の通信装置20を発見する。
M504において、第1の通信装置10は、通信制御部302によって、第2の通信装置20との間で、Wi−Fi Directによる無線パラメタ11の交換を行う。
M505において、第1の通信装置10は、通信制御部302によって、第2の通信装置20から取得した無線パラメタ11を用いて、第2の通信装置20とWi−Fi Directによる無線通信接続を確立する。
M506において、第1の通信装置10は、無線パラメタ管理部306によって、第2の通信装置20から取得した無線パラメタ11を記憶する。
M601において、第2の通信装置20は、権限管理部308によって、第1の通信装置10に対して、外部サービス60上の第1のリソースに対するアクセス権限の権限委譲を要求する。
M602において、第1の通信装置10は、送信判断部311によって、第2の通信装置20に第1のアクセストークンを送信するか、又は第2の認可コードを送信するか、を判断する。本実施形態において、送信判断部311は、第2の通信装置20との無線通信が一時的でない、と判断し、第2の通信装置20に第2の認可コードを送信する、と判断する。
M603において、第1の通信装置10は、認可コード取得部309によって、認可サービス50に対して、第2のクライアント識別子を指定して、外部サービス60上の第1のリソースに対するアクセス権限の第2の認可を要求する。
M605において、第1の通信装置10は、認可サービス50に対して、第2の認可承認を許可する。
M606において、認可サービス50は、第1の通信装置10に対して、第2の認可コードを送信する。
M607において、第1の通信装置10は、認可コード送信部310によって、M606で、認可サービス50から取得した第2の認可コードを、第2の通信装置20に送信する。一方、第2の通信装置20は、認可コード取得部309によって、第1の通信装置10から、第2の認可コードを受信する。
M608において、第2の通信装置20は、トークン取得部312によって、認可サービス50に対して、第2の認可コード、及び第2のクライアント識別子を指定して、第2のアクセストークンを要求する。
M609において、認可サービス50は、第2の通信装置20に対して、第2の認可コードに基づく、第2のアクセストークン、及び第2のリフレッシュトークンを送信する。
M701において、第2の通信装置20は、権限管理部308によって、第1の通信装置10に対して、外部サービス60上の第1のリソースに対するアクセス権限の権限委譲を要求する。
M702において、第1の通信装置10は、送信判断部311によって、第2の通信装置20に第1のアクセストークンを送信するか、又は第2の認可コードを送信するか、を判断する。本実施形態において、送信判断部311は、第2の通信装置20との無線通信が一時的である、と判断し、第2の通信装置20に第1のアクセストークンを送信する、と判断する。
M703において、第1の通信装置10は、認可コード取得部309によって、認可サービス50に対して、第1のクライアント識別子を指定して、外部サービス60上の第1のリソースに対するアクセス権限の第1の認可を要求する。
M705において、第1の通信装置10は、認可サービス50に対して、第1の認可承認を許可する。
M706において、認可サービス50は、第1の通信装置10に対して、第1の認可コードを送信する。
M707において、第1の通信装置10は、トークン取得部312によって、認可サービス50に対して、第1の認可コード、及び第1のクライアント識別子を指定して、第1のアクセストークンを要求する。
M708において、認可サービス50は、第1の通信装置10に対して、第1の認可コードに基づく、第1のアクセストークン、及び第1のリフレッシュトークンを送信する。
M709において、第1の通信装置10は、トークン送信部313によって、M708で、認可サービス50から取得した第1のアクセストークンを、第2の通信装置20に送信する。一方、第2の通信装置20は、トークン取得部312によって、第1の通信装置10から、第1のアクセストークンを受信する。
M801において、第2の通信装置20は、リソース取得部317によって、外部サービス60に対して、第2のアクセストークンを指定して、第1のリソースの取得を要求する。
M802において、外部サービス60は、第2の通信装置20に対して、第2のアクセストークンの有効期限が切れた旨を通知する。
M804において、認可サービス50は、第2の通信装置20に対して、更新された第2のアクセストークン、及びリフレッシュトークンを送信する。
M805において、第2の通信装置20は、リソース取得部317によって、外部サービス60に対して、更新された第2のアクセストークンを指定して、第1のリソースの取得を要求する。
M806において、外部サービス60は、第2の通信装置20に対して、第1のリソースを送信する。
M901において、第1の通信装置10は、操作制御部304によって、ユーザによる第2の通信装置20から取得した無線パラメタ11の削除指示を検知する。
M902において、第1の通信装置10は、無線パラメタ管理部306によって、無線パラメタ11を削除する。
M903において、第1の通信装置10は、無効判断部314によって、第2の通信装置20に送信した第1のアクセストークン、又は第2の認可コードに基づく第2のアクセストークンを無効化するか否か、を判断する。本実施形態において、M902において、無線パラメタ11が削除されたため、通信判断部307は、第2の通信装置20との無線通信を継続しない、と判断する。したがって、無効判断部314は、第1のアクセストークン、又は第2のアクセストークンを無効化する、と判断する。
M905において、第1の通信装置10は、トークン無効部315によって、認可サービス50に対して、第1のクライアント識別子を指定して、第1のアクセストークンの無効化を要求する。
M906において、認可サービス50は、第1の通信装置10に対して、第1のアクセストークンの無効化要求の結果を送信する。
ステップS1101において、権限管理部308は、第2の通信装置20から、外部サービス60上の第1のリソースに対するアクセス権限の権限委譲の要求を受信したか否か、を判断する。権限委譲要求を受信した場合(S1101;YES)、権限管理部308は、ステップS1102に処理を進める。一方、権限委譲要求を受信していない場合(S1101;NO)、権限管理部308は、処理を終了する。
ステップS1202において、通信判断部307は、第2の通信装置20との無線通信が一時的か否か、を判断する。一時的であると判断した場合(S1102;YES)、送信判断部311は、第2の通信装置20に対して、第1のアクセストークンを送信すると判断し、ステップS1103に処理を進める。一方、一時的でないと判断した場合(S1102;NO)、送信判断部311は、第2の通信装置20に対して、第2の認可コードを送信すると判断し、ステップS1108に処理を進める。
ステップS1104において、認可コード取得部309は、認可サービス50からの第1の認可承認の要求に対して、第1の認可承認を許可する。
ステップS1105において、認可コード取得部309は、認可サービス50から第1の認可コードを取得する。
ステップS1106において、トークン取得部312は、認可サービス50に対して、第1の認可コード、及び第1のクライアント識別子を指定して、第1のアクセストークンを要求する。そして、トークン取得部312は、認可サービス50から、第1のアクセストークン、及び第1のリフレッシュトークンを取得する。
ステップS1107において、トークン送信部313は、第2の通信装置20に対して、第1のアクセストークンを送信し、処理を終了する。
ステップS1109において、認可コード取得部309は、認可サービス50からの第2の認可承認の要求に対して、第2の認可承認を許可する。
ステップS1110において、認可コード取得部309は、認可サービス50から第2の認可コードを取得する。
ステップS1111において、認可コード送信部310は、第2の通信装置20に対して、第2の認可コードを送信し、処理を終了する。
ステップS1201において、リソース取得部317は、外部サービス60に対して、所有するアクセストークンを指定して、第1のリソース取得を要求する。本実施形態において、第2の通信装置20が所有するアクセストークンは、第1のアクセストークンか、第2のアクセストークンの何れかである。
ステップS1202において、リソース取得部317は、外部サービス60から第1のリソースを取得できたか否か、を判断する。リソースを取得できた場合(S1202;YES)、リソース取得部317は、リソース取得に成功したとして、処理を終了する。一方、リソースを取得できなかった場合(S1202;NO)、リソース取得部317は、ステップS1203に処理を進める。
ステップS1203において、トークン更新部316は、所有するアクセストークンの有効期限が切れたか否か、を判断する。本実施形態において、トークン更新部316は、ステップS1201での第1のリソース取得において、外部サービス60からの応答に、アクセストークンの有効期限が切れた旨を示す情報が有るか否かで判断する。アクセストークンの有効期限が切れた場合(S1203;YES)、トークン更新部316は、ステップS1204に処理を進める。一方、アクセストークンの有効期限が切れていない場合(S1203;NO)、トークン更新部316(又はリソース取得部317)は、リソース取得に失敗したとして、処理を終了する。
ステップS1205において、トークン更新部316は、認可サービス50に対して、リフレッシュトークン、及びクライアント識別子を指定して、有効期限が切れたアクセストークンの更新を要求する。
ステップS1206において、トークン更新部316は、認可サービス50から、更新されたアクセストークンを取得できたか否か、を判断する。更新されたアクセストークンを取得できた場合(S1206;YES)、再度、外部サービス60から第1のリソースを取得するために、トークン更新部316は、ステップS1201処理を戻す。一方、更新されたアクセストークンを取得できなかった場合(S1206;NO)、トークン更新部316(又はリソース取得部317)は、リソース取得に失敗したとして、処理を終了する。
ステップS1301において、通信判断部307は、無線パラメタ管理部306によって、第2の通信装置20から取得した無線パラメタ11が削除されたか否か、を判断する。無線パラメタを削除された場合(S1301;YES)、通信判断部307は、第2の通信装置20との無線通信を継続しない、と判断し、ステップS1302に処理を進める。一方、無線パラメタを削除されていない場合(S1301;NO)、通信判断部307は、第2の通信装置20との無線通信を継続する、と判断し、処理を終了する。
ステップS1303において、トークン無効部315は、認可サービス50に対して、第1のクライアント識別子を指定して、第1のアクセストークンの無効化を要求し、処理を終了する。
ステップS1304において、トークン無効部315は、認可サービス50に対して、第2のクライアント識別子を指定して、第2のアクセストークン、及び第2のリフレッシュトークンの無効化を要求し、処理を終了する。
認可リクエスト1400は、OAuth 2.0に基づく認可リクエストを示すHTTPリクエストメッセージである。
認可リクエストヘッダ1401は、認可リクエスト1400中のHTTPリクエストヘッダである。パラメタresponse_typeは、認可リクエストに対応する認可レスポンスの種別を示し、パラメタ値codeは認可コードを示す。パラメタclient_idは、クライアント識別子を示す。
図13Bは、第1の通信装置10が、認可サービス50から受信する認可レスポンスの例を示す図である。
認可レスポンス1500は、OAuth 2.0に基づく認可レスポンスを示すHTTPレスポンスメッセージである。
認可レスポンスヘッダ1501は、認可レスポンス1500中のHTTPレスポンスヘッダである。パラメタcodeは、認可コードを示す。そして、そのパラメタ値は、実際の認可コードの値を示す。
アクセストークンリクエスト1600は、OAuth 2.0に基づくアクセストークンリクエストを示すHTTPリクエストメッセージである。
アクセストークンリクエストヘッダ1601は、アクセストークンリクエスト1600中のHTTPリクエストヘッダである。ヘッダAuthorization中のスキームBasicは、当該アクセストークンリクエストがHTTPベーシック認証であることを示す。本実施形態において、HTTPベーシック認証のユーザIDとして、当該アクセストークンリクエストにおいて指定すべきクライアント識別子が用いられる。
アクセストークンリクエストボディ1602は、アクセストークンリクエスト1600中のHTTPリクエストボディである。パラメタgrant_typeは、認可グラント種別を示し、パラメタ値authorization_codeは、認可コードに基づくアクセストークンリクエストであることを示す。パラメタcodeは、認可コードを示す。そして、そのパラメタ値は、実際の認可コードの値を示す。
アクセストークンレスポンス1700は、OAuth 2.0に基づくアクセストークンレスポンスを示すHTTPレスポンスメッセージである。
アクセストークンレスポンスヘッダ1701は、アクセストークンレスポンス1700中のHTTPレスポンスヘッダである。
アクセストークンレスポンスボディ1702は、アクセストークンレスポンス1700中のHTTPレスポンスボディである。パラメタaccess_tokenは、アクセストークンを示す。そして、そのパラメタ値は、実際のアクセストークンの値を示す。パラメタtoken_typeは、アクセストークンの種別を示す。パラメタexpires_inは、アクセストークンの有効期限を示す。そして、そのパラメタ値は、実際の有効期限の値を秒単位で示す。パラメタrefresh_tokenは、リフレッシュトークンを示す。そして、そのパラメタ値は、実際のリフレッシュトークンの値を示す。
アクセストークン更新リクエスト1800は、OAuth 2.0に基づくアクセストークン更新リクエストを示すHTTPリクエストメッセージである。
アクセストークン更新リクエストヘッダ1801は、アクセストークン更新リクエスト1800中のHTTPリクエストヘッダである。ヘッダAuthorization中のスキームBasicは、当該アクセストークンリクエストがHTTPベーシック認証であることを示す。本実施形態において、HTTPベーシック認証のユーザIDとして、当該アクセストークン更新リクエストにおいて指定すべきクライアント識別子が用いられる。
アクセストークン更新リクエストボディ1802は、アクセストークン更新リクエスト1800中のHTTPリクエストボディである。パラメタgrant_typeは、認可グラント種別を示す。パラメタ値refresh_tokenは、リフレッシュトークンに基づくアクセストークン更新リクエストであることを示す。パラメタrefresh_tokenは、リフレッシュトークンを示す。そして、そのパラメタ値は、更新対象となる実際のリフレッシュトークンの値を示す。
アクセストークン更新レスポンス1900は、OAuth 2.0に基づくアクセストークン更新レスポンスを示すHTTPレスポンスメッセージである。
アクセストークン更新レスポンスヘッダ1901は、アクセストークン更新レスポンス1900中のHTTPレスポンスヘッダである。
アクセストークン更新レスポンスボディ1902は、アクセストークン更新レスポンス1900中のHTTPレスポンスボディである。パラメタaccess_tokenは、アクセストークンを示す。そして、そのパラメタ値は、実際のアクセストークンの値を示す。パラメタtoken_typeは、アクセストークンの種別を示す。パラメタexpires_inは、アクセストークンの有効期限を示す。そして、そのパラメタ値は、実際の有効期限の値を秒単位で示す。パラメタrefresh_tokenは、リフレッシュトークンを示す。そして、そのパラメタ値は、実際のリフレッシュトークンの値を示す。
アクセストークン無効リクエスト2000は、OAuth 2.0に基づくアクセストークン無効リクエストを示すHTTPリクエストメッセージである。
アクセストークン無効リクエストヘッダ2001は、アクセストークン無効リクエスト2000中のHTTPリクエストヘッダである。ヘッダAuthorization中のスキームBasicは、当該アクセストークンリクエストがHTTPベーシック認証であることを示す。本実施形態において、HTTPベーシック認証のユーザIDとして、当該アクセストークン無効リクエストにおいて指定すべきクライアント識別子が用いられる。
アクセストークン無効リクエストボディ2002は、アクセストークン無効リクエスト2000中のHTTPリクエストボディである。パラメタtypeは、アクセストークンを示す。そして、そのパラメタ値は、無効化対象となる実際のアクセストークンの値を示す。
アクセストークン無効レスポンス2100は、OAuth 2.0に基づくアクセストークン無効レスポンスを示すHTTPレスポンスメッセージである。
アクセストークン無効レスポンスヘッダ2101は、アクセストークン無効レスポンス2100中のHTTPレスポンスヘッダである。
第2の通信装置20は、第2の認可コードがなければ、認可サービス50から、第2のリフレッシュトークンを取得することができない。第2の通信装置20は、第2のリフレッシュトークンがなければ、アクセストークンの有効期限が切れた場合に、アクセストークンを更新できない。もし、アクセストークンの有効期限が切れた場合、第2の通信装置20は、外部サービス60上の第1のリソースを取得できない。結果的に、第1の通信装置10は、第2の通信装置20に対して、一時的なアクセス権限の委譲が可能となる。
これによって、第1の通信装置10は、ユーザによる明示的な有効期限やアクセス権限の範囲の指定といったアクセス権限の委譲に伴う煩雑な操作を簡略化することができ、ユーザの利便性が向上する。更に、第1の通信装置10は、ユーザの操作ミスによって、一時的ではない永続的なアクセス権限の委譲が指定されてしまうことを防ぐことができ、セキュリティ上のリスクも軽減する。
これによって、第1の通信装置10は、ユーザによる明示的な有効期限や権限範囲の指定といったアクセス権限の委譲に伴う煩雑な操作を簡略化することができ、ユーザの利便性が向上する。
更に、本実施形態において、第1のアクセストークンと第2のアクセストークンの有効期限、及びアクセス権限の範囲は同じとしたが、これに限らず、有効期限を別にしても良い。例えば、第1のアクセストークンの有効期限を、第2のアクセストークンより短くしても良い。また、第1のアクセストークンのアクセス権限の範囲を、第2のアクセストークンより狭くしても良い。これによって、第1の通信装置10は、第2の通信装置20に対して、更に限定的なアクセス権限の委譲が可能となり、ユーザの利便性が更に向上し、セキュリティ上のリスクが更に軽減する。
それに対して、本実施形態では、ステップS1102において、第2の通信装置20との無線通信が一時的である場合、送信判断部311は、第2の通信装置20に対して、第1のアクセストークンを送信すると判断する。そして、ステップS1103において、認可コード取得部309は、認可サービス50に対して、第1のクライアント識別子を指定して、外部サービス60上の第1のリソースに対するアクセス権限の第1の認可を要求する。つまり、第1の認可要求の内容は、第1の通信装置10が決定するため、必要十分な最小限の範囲のアクセス権限を指定することができ、ユーザの利便性が更に向上し、セキュリティ上のリスクが更に軽減する。
1つ目は、認可サービス50に対する認可要求、アクセストークン取得、及びアクセストークン更新において、指定するクライアント識別子は、すべて同一である必要がある。例えば、認可サービス50に対して、第2のクライアント識別子を指定して、第2の認可要求を行った場合、第2のアクセストークン取得、及び第2のアクセストークン更新でも、第2のクライアント識別子を指定する必要がある。
2つ目は、認可サービス50に対するアクセストークン取得、及びアクセストークン更新において、指定したクライアント識別子に関するクライアント認証が必要となる。そのため、第1の通信装置10は、認可サービス50に対して、第2のクライアント識別子を指定して、第2のアクセストークン取得を要求しても、クライアント認証に失敗し、第2のアクセストークンを取得することができない。逆に、第2の通信装置20は、たとえ第1の通信装置10から第1の認可コードを取得しても、認可サービス50から、第1のアクセストークンを取得することができない。
これに対して、第1の通信装置10は、第2の通信装置20との無線通信が一時的な場合、ステップS1106〜ステップS1107において、自身で第1のアクセストークンを取得して送信する。一方、無線通信が一時的でない場合、第2の通信装置20に第2のアクセストークンを更新させるため、第1の通信装置10は、第2の認可コードをそのまま送信する。これによって、第1の通信装置10は、認可サービス50との相互接続性を向上することができる。
更に、例えば、ステップS1102において、第2の通信装置20との無線通信が一時的でない場合、送信判断部311は、第2の通信装置20に対して、第2の認可コードを送信した場合を想定する。このとき、第2の通信装置20は、第2の認可コードに基づき、認可サービス50から、第2のリフレッシュトークンを取得することができるため、第1のリソースに対する永続的なアクセス権限を持つことになる。その後、第1の通信装置10のユーザが、第2の通信装置20との無線通信を今後行わないと考え、第2の通信装置20との無線通信で使用していた無線パラメタ11を削除したとする。
このとき、本実施形態において、通信判断部307は、無線パラメタ管理部306によって、第2の通信装置20から取得した無線パラメタ11が削除された場合、第2の通信装置20との無線通信を継続しない、と判断する。そして、無効判断部314は、第2の通信装置20に対して委譲していたアクセストークンを無効化する、と判断し、認可サービス50に対して、アクセストークン無効化を要求する。
これによって、第1の通信装置10は、ユーザによるアクセス権限の無効化に伴う煩雑な操作を簡略化することができ、ユーザの利便性が向上する。更に、第1の通信装置10は、ユーザの操作忘れによって、いつまでもアクセス権限が委譲したままにすることを防ぐことができ、セキュリティ上のリスクも軽減する。
同様に、通信判断部307は、第2の通信装置20から取得した無線パラメタ11が削除された場合、第2の通信装置20との無線通信を継続しない、と判断したが、これに限らない。例えば、通信パラメタ、通信情報等、第2の通信装置20との通信接続に用いる情報等でも良い。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
これによって、アクセス権限の委譲に伴う煩雑なユーザ操作を簡単化する事ができ、ユーザの利便性が向上する。更に、ユーザの操作ミスに伴うセキュリティ上のリスクも軽減する。
Claims (13)
- 通信装置であって、
ネットワーク上に存在する認可サービスから、前記認可サービスによってアクセス権限を管理されたリソースに対して有効期限内のアクセス権限を示すトークンを取得する際に用いられるトークン取得情報を取得し、取得した前記トークン取得情報を用いて前記トークンを取得する取得手段と、
前記通信装置と他の装置との通信が一時的か否かを判断する判断手段と、
前記判断手段により前記他の装置との通信が一時的であると判断された場合、前記取得手段により取得された前記トークンを前記他の装置に送信し、前記判断手段により前記他の装置との通信が一時的でないと判断された場合、前記取得手段により取得された前記トークン取得情報を前記他の装置に送信する送信手段と、
を有し、
前記送信手段は、前記判断手段により前記他の装置との通信が一時的であると判断された場合、前記取得手段により取得された前記トークン取得情報は前記他の装置に送信しない通信装置。 - 通信装置であって、
ネットワーク上に存在する認可サービスから、前記認可サービスによってアクセス権限を管理されたリソースに対して有効期限内のアクセス権限を示すアクセストークンを取得する際に用いられるトークン取得情報を取得し、取得した前記トークン取得情報を用いて前記アクセストークン、及び、前記アクセストークンを更新するためのリフレッシュトークンを取得する取得手段と、
前記通信装置と他の装置との通信が一時的か否かを判断する判断手段と、
前記判断手段により前記他の装置との通信が一時的であると判断された場合、前記取得手段により取得された前記アクセストークンを前記他の装置に送信し、前記判断手段により前記他の装置との通信が一時的でないと判断された場合、前記取得手段により取得された前記アクセストークンに加え、更に前記リフレッシュトークンを前記他の装置に送信する送信手段と、
を有し、
前記送信手段は、前記判断手段により前記他の装置との通信が一時的であると判断された場合、前記他の装置が前記リソースに対するアクセストークンを前記認可サービスから取得することができないように、前記取得手段により取得された前記トークン取得情報は前記他の装置に送信しない通信装置。 - 通信装置であって、
ネットワーク上に存在する認可サービスから、前記認可サービスによってアクセス権限を管理されたリソースに対して有効期限内のアクセス権限を示すトークンを取得する際に用いられるトークン取得情報を取得し、取得した前記トークン取得情報を用いて前記トークンを取得する取得手段と、
前記通信装置と他の装置を接続するためのパラメタを記憶する記憶手段と、
前記記憶手段に記憶された前記通信装置と前記他の装置を接続するためのパラメタが一時的なグループであることを示す場合、前記取得手段により取得された前記トークンを前記他の装置に送信し、前記記憶手段に記憶された前記通信装置と前記他の装置を接続するためのパラメタが永続的なグループであることを示す場合、前記取得手段により取得された前記トークン取得情報を前記他の装置に送信する送信手段と、
を有し、
前記送信手段は、前記記憶手段に記憶された前記通信装置と前記他の装置を接続するためのパラメタが一時的なグループであることを示す場合、前記取得手段により取得された前記トークン取得情報は前記他の装置に送信しない通信装置。 - 通信装置であって、
ネットワーク上に存在する認可サービスから、前記認可サービスによってアクセス権限を管理されたリソースに対して有効期限内のアクセス権限を示すアクセストークンを取得する際に用いられるトークン取得情報を取得し、取得した前記トークン取得情報を用いて前記アクセストークン、及び、前記アクセストークンを更新するためのリフレッシュトークンを取得する取得手段と、
前記通信装置と他の装置を接続するためのパラメタを記憶する記憶手段と、
前記記憶手段に記憶された前記通信装置と前記他の装置を接続するためのパラメタが一時的なグループであることを示す場合、前記取得手段により取得された前記アクセストークンを前記他の装置に送信し、前記記憶手段に記憶された前記通信装置と前記他の装置を接続するためのパラメタが永続的なグループであることを示す場合、前記取得手段により取得された前記アクセストークンに加え、更に前記リフレッシュトークンを前記他の装置に送信する送信手段と、
を有し、
前記送信手段は、前記記憶手段に記憶された前記通信装置と前記他の装置を接続するためのパラメタが一時的なグループであることを示す場合、前記他の装置が前記リソースに対するアクセストークンを前記認可サービスから取得することができないように、前記取得手段により取得された前記トークン取得情報は前記他の装置に送信しない通信装置。 - 前記他の装置との通信を継続しない場合、前記認可サービスに対して、前記トークン、又は前記トークン取得情報の無効化を要求する要求手段を更に有する請求項1又は3記載の通信装置。
- 前記他の装置との通信を継続しない場合、前記認可サービスに対して、前記アクセストークン、又は前記トークン取得情報の無効化を要求する要求手段を更に有する請求項2又は4記載の通信装置。
- 前記他の装置との無線通信接続に関する無線パラメタが削除される場合、前記認可サービスに対して、前記トークン、又は前記トークン取得情報の無効化を要求する要求手段を更に有する請求項1又は3記載の通信装置。
- 前記他の装置との無線通信接続に関する無線パラメタが削除される場合、前記認可サービスに対して、前記アクセストークン、又は前記トークン取得情報の無効化を要求する要求手段を更に有する請求項2又は4記載の通信装置。
- 第1の通信装置と、第2の通信装置と、を含む通信システムであって、
前記第1の通信装置は、
ネットワーク上に存在する認可サービスから、前記認可サービスによってアクセス権限を管理されたリソースに対して有効期限内のアクセス権限を示すトークンを取得する際に用いられるトークン取得情報を取得し、取得した前記トークン取得情報を用いて前記トークンを取得する取得手段と、
前記第1の通信装置と前記第2の通信装置との通信が一時的か否かを判断する判断手段と、
前記判断手段により前記第2の装置との通信が一時的であると判断された場合、前記取得手段により取得された前記トークンを前記第2の装置に送信し、前記判断手段により前記第2の通信装置との通信が一時的でないと判断された場合、前記取得手段により取得された前記トークン取得情報を前記第2の通信装置に送信する送信手段と、
を有し、
前記送信手段は、前記判断手段により前記第2の装置との通信が一時的であると判断された場合、前記取得手段により取得された前記トークン取得情報は前記第2の装置に送信せず、
前記第2の通信装置は、
前記トークン取得情報を前記第1の通信装置より受信すると、前記トークン取得情報を用いて前記認可サービスより前記トークンを取得するトークン取得手段と、
前記トークン取得手段により取得された前記トークンを用いて前記リソースに対してアクセスを行うアクセス手段と、
を有する通信システム。 - 通信装置が実行する情報処理方法であって、
ネットワーク上に存在する認可サービスから、前記認可サービスによってアクセス権限を管理されたリソースに対して有効期限内のアクセス権限を示すトークンを取得する際に用いられるトークン取得情報を取得し、取得した前記トークン取得情報を用いて前記トークンを取得する取得ステップと、
前記通信装置と他の装置との通信が一時的か否かを判断する判断ステップと、
前記判断ステップにより前記他の装置との通信が一時的であると判断された場合、前記取得ステップにより取得された前記トークンを前記他の装置に送信し、前記判断ステップにより前記他の装置との通信が一時的でないと判断された場合、前記取得ステップにより取得された前記トークン取得情報を前記他の装置に送信する送信ステップと、
を含み、
前記送信ステップでは、前記判断ステップにより前記他の装置との通信が一時的であると判断された場合、前記取得ステップにより取得された前記トークン取得情報は前記他の装置に送信しない情報処理方法。 - 通信装置が実行する情報処理方法であって、
ネットワーク上に存在する認可サービスから、前記認可サービスによってアクセス権限を管理されたリソースに対して有効期限内のアクセス権限を示すアクセストークンを取得する際に用いられるトークン取得情報を取得し、取得した前記トークン取得情報を用いて前記アクセストークン、及び、前記アクセストークンを更新するためのリフレッシュトークンを取得する取得ステップと、
前記通信装置と他の通信装置との通信が一時的か否かを判断する判断ステップと、
前記判断ステップにより前記他の通信装置との通信が一時的でないと判断された場合、前記取得ステップにより取得された前記トークン取得情報を前記他の通信装置に送信し、前記判断ステップにより前記他の装置との通信が一時的でないと判断された場合、前記取得ステップにより取得された前記アクセストークンに加え、更に前記リフレッシュトークンを前記他の装置に送信する送信ステップと、
を含み、
前記送信ステップでは、前記判断ステップにより前記他の装置との通信が一時的であると判断された場合、前記他の装置が前記リソースに対するアクセストークンを前記認可サービスから取得することができないように、前記取得ステップにより取得された前記トークン取得情報は前記他の装置に送信しない情報処理方法。 - コンピュータに、
ネットワーク上に存在する認可サービスから、前記認可サービスによってアクセス権限を管理されたリソースに対して有効期限内のアクセス権限を示すトークンを取得する際に用いられるトークン取得情報を取得し、取得した前記トークン取得情報を用いて前記トークンを取得する取得手順と、
前記コンピュータと他の装置との通信が一時的か否かを判断する判断手順と、
前記判断手順により前記他の装置との通信が一時的であると判断された場合、前記取得手順により取得された前記トークンを前記他の装置に送信し、前記判断手順により前記他の装置との通信が一時的でないと判断された場合、前記取得手順により取得された前記トークン取得情報を前記他の装置に送信する送信手順と、
を実行させ、
前記送信手順では、前記判断手順により前記他の装置との通信が一時的であると判断された場合、前記取得手順により取得された前記トークン取得情報は前記他の装置に送信しないプログラム。 - コンピュータに、
ネットワーク上に存在する認可サービスから、前記認可サービスによってアクセス権限を管理されたリソースに対して有効期限内のアクセス権限を示すアクセストークンを取得する際に用いられるトークン取得情報を取得し、取得した前記トークン取得情報を用いて前記アクセストークン、及び、前記アクセストークンを更新するためのリフレッシュトークンを取得する取得手順と、
前記コンピュータと他の装置との通信が一時的か否かを判断する判断手順と、
前記判断手順により前記他の装置との通信が一時的であると判断された場合、前記取得手順により取得された前記アクセストークンを前記他の装置に送信し、前記判断手順により前記他の装置との通信が一時的でないと判断された場合、前記取得手順により取得された前記アクセストークンに加え、更に前記リフレッシュトークンを前記他の装置に送信する送信手順と、
を実行させ、
前記送信手順では、前記判断手順により前記他の装置との通信が一時的であると判断された場合、前記他の装置が前記リソースに対するアクセストークンを前記認可サービスから取得することができないように、前記取得手順により取得された前記トークン取得情報は前記他の装置に送信しないプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012252405A JP5988841B2 (ja) | 2012-11-16 | 2012-11-16 | 通信装置、通信システム、情報処理方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012252405A JP5988841B2 (ja) | 2012-11-16 | 2012-11-16 | 通信装置、通信システム、情報処理方法及びプログラム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2014102561A JP2014102561A (ja) | 2014-06-05 |
JP2014102561A5 JP2014102561A5 (ja) | 2015-09-17 |
JP5988841B2 true JP5988841B2 (ja) | 2016-09-07 |
Family
ID=51025051
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012252405A Active JP5988841B2 (ja) | 2012-11-16 | 2012-11-16 | 通信装置、通信システム、情報処理方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5988841B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6303979B2 (ja) * | 2014-10-29 | 2018-04-04 | 株式会社リコー | 情報処理システム、情報処理装置、情報処理方法およびプログラム |
JP6675163B2 (ja) * | 2015-07-24 | 2020-04-01 | キヤノン株式会社 | 権限委譲システム、認可サーバの制御方法、認可サーバおよびプログラム |
JP6682254B2 (ja) * | 2015-12-08 | 2020-04-15 | キヤノン株式会社 | 認証連携システム及び認証連携方法、認可サーバー及びプログラム |
JP6825459B2 (ja) * | 2017-03-31 | 2021-02-03 | ブラザー工業株式会社 | 通信装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4766249B2 (ja) * | 2006-03-01 | 2011-09-07 | 日本電気株式会社 | トークン譲渡方法、トークン譲渡システム及び権限認証許可サーバ |
JP2009087044A (ja) * | 2007-09-28 | 2009-04-23 | Ntt Docomo Inc | 通信端末装置、コミュニティ管理装置 |
JP5084468B2 (ja) * | 2007-11-26 | 2012-11-28 | 日本電信電話株式会社 | 権限委譲システム、権限委譲方法および権限委譲プログラム |
US8776204B2 (en) * | 2010-03-12 | 2014-07-08 | Alcatel Lucent | Secure dynamic authority delegation |
-
2012
- 2012-11-16 JP JP2012252405A patent/JP5988841B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2014102561A (ja) | 2014-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230154262A1 (en) | Decentralized virtual trustless database for access control | |
US11387978B2 (en) | Systems and methods for securing access rights to resources using cryptography and the blockchain | |
US20200342364A1 (en) | Short-range device communications for secured resource access | |
US11516200B2 (en) | Controlled token distribution to protect against malicious data and resource access | |
US9898881B2 (en) | Short-range device communications for secured resource access | |
US9319412B2 (en) | Method for establishing resource access authorization in M2M communication | |
US10735192B2 (en) | Method of managing token and server for performing the same | |
US9390247B2 (en) | Information processing system, information processing apparatus and information processing method | |
US10841304B2 (en) | Device-to-device communication method including device-to-device authentication using hash chain | |
EP3050280B1 (en) | Network access | |
EP2285049B1 (en) | Communication system having management apparatus and user apparatus, management apparatus, user apparatus, and method of controlling the same | |
KR20170060598A (ko) | 스마트 홈 서비스 서버 및 그 제어방법 | |
EP3380975B1 (en) | Short-range device communications for secured resource access | |
CN116074792A (zh) | 机器对机器通信网络中的自动服务注册 | |
US20190319932A1 (en) | Secure and anonymous data sharing | |
JP7170550B2 (ja) | 管理装置およびその制御方法 | |
JP5988841B2 (ja) | 通信装置、通信システム、情報処理方法及びプログラム | |
JP6334940B2 (ja) | 通信装置、通信装置の制御方法およびプログラム | |
EP2741465B1 (en) | Method and device for managing secure communications in dynamic network environments | |
JP6385100B2 (ja) | 情報処理装置、情報処理システム、情報処理装置の制御方法およびコンピュータプログラム | |
US20090150979A1 (en) | Network system, network method, and terminal and program therefor | |
JP6346478B2 (ja) | 中継装置、中継方法、中継システム、及びプログラム | |
JP6037434B2 (ja) | 通信システム | |
WO2017210977A1 (zh) | 一种管理终端接入Wi-Fi的方法及装置 | |
US20210150837A1 (en) | Decentralized virtual trustless database for access control |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150804 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150804 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160615 |
|
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: 20160712 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160809 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5988841 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |