(57)【要約】【課題】  本発明は、機器同士が近くに存在しているか否かに基づく証明書で、機器を適切に制御することを目的とする。【解決手段】  本発明は、証明書を生成するための情報処理装置であって、前記情報処理装置の位置から所定の範囲に、前記情報処理装置とは異なる第二の情報処理装置が存在するか否かを判定する判定手段と、前記第二の情報処理装置が近くに存在していることを示す識別子を、前記証明書を生成するサーバに送信する送信手段と、前記サーバが生成した証明書を受信する受信手段と、を有することを特徴とする。【選択図】  図２
2019047429.tif 000002
【特許請求の範囲】
【請求項１】
証明書を生成するための情報処理装置であって、
前記情報処理装置の位置から所定の範囲に、前記情報処理装置とは異なる第二の情報処理装置が存在するか否かを判定する判定手段と、
前記第二の情報処理装置が近くに存在していることを示す識別子を、前記証明書を生成するサーバに送信する送信手段と、
前記サーバが生成した証明書を受信する受信手段と、を有することを特徴とする情報処理装置。
【請求項２】
前記情報処理装置の位置情報を取得するセンサを更に有し、
前記判定手段は、前記取得された位置情報に基づき、前記情報処理装置の位置から所定の範囲に、前記情報処理装置とは異なる第二の情報処理装置が存在するか否かを判定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記判定手段により、前記情報処理装置の位置から所定の範囲に、前記情報処理装置とは異なる第二の情報処理装置が存在しないと判定された場合、前記情報処理装置と前記第二の情報処理装置とを近づけることを促す表示をする表示手段を更に有することを特徴とする請求項１もしくは請求項２のいずれか１項に記載の情報処理装置。
【請求項４】
前記送信手段は、前記第二の情報処理装置が近くに存在していることを示す識別子とともに、前記証明書の生成を要求する情報を前記サーバに送信することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記送信手段は、前記サーバからの要求に基づき、前記第二の情報処理装置が近くに存在していることを示す識別子を、前記サーバに送信することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項６】
前記判定手段は、近距離通信によって前記情報処理装置と前記第二の情報処理装置とが通信することが出来るか否かに基づき、前記情報処理装置の位置から所定の範囲に、前記第二の情報処理装置が存在するか否かを判定することを特徴とする請求項１に記載の情報処理装置。
【請求項７】
証明書を生成するための情報処理方法であって、
判定手段が、当該情報処理方法を行う情報処理装置の位置から所定の範囲に、前記情報処理装置とは異なる第二の情報処理装置が存在するか否かを判定する判定工程と、
送信手段が、前記第二の情報処理装置が近くに存在していることを示す識別子を、前記証明書を生成するサーバに送信する送信工程と、
受信手段が、前記サーバが生成した証明書を受信する受信工程と、を有することを特徴とする情報処理装置。
【請求項８】
コンピュータを、
証明書を生成するための情報処理装置であって、
前記情報処理装置の位置から所定の範囲に、前記情報処理装置とは異なる第二の情報処理装置が存在するか否かを判定する判定手段と、
前記第二の情報処理装置が近くに存在していることを示す識別子を、前記証明書を生成するサーバに送信する送信手段と、
前記サーバが生成した証明書を受信する受信手段と、を有することを特徴とする情報処理装置として機能させるためのコンピュータプログラム。
【請求項９】
証明書を生成するためのサーバであって、
情報処理装置の近くに、前記情報処理装置とは異なる第二の情報処理装置が存在していることを示す識別子を、情報処理装置から受信する受信手段と、
前記識別子を用いて生成した前記情報処理装置の証明書を、前記情報処理装置に送信する送信手段と、を有することを特徴とするサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、証明書を生成するための情報処理装置、情報処理方法、サーバ、およびコンピュータプログラムに関する。
【背景技術】
【０００２】
インターネットを介して接続する通信相手の認証において、認証局という信頼できる第３者機関が発行した電子証明書（以下、証明書と記す）を使用することで、通信相手の身元証明やなりすましの防止ができる。証明書は、所有者の身元を示す情報及び所有者の公開鍵と認証局の署名から構成される。公開鍵とは、公開鍵暗号方式と呼ばれる、秘密にする鍵（秘密鍵）と、それに対応する公開する鍵（公開鍵）を用いる方式で定義される鍵である。署名とは、データ全体あるいは一部に対して秘密鍵を用いた公開鍵暗号方式を適用した結果データである。署名の検証は、秘密鍵の対となる公開鍵によって行われる。
【０００３】
認証局が証明書を発行する手順は次の通りである。まず、証明書の所有者が公開鍵・秘密鍵を生成する。次に、生成した公開鍵を含む証明書要求を認証局に送る。証明書要求は、所有者の身元を示す情報及び所有者の公開鍵と所有者の署名から構成される。認証局は、受け取った証明書要求を審査する。問題がなければ、証明書を生成し所有者に送る。前記証明書により機器を制御する方法が特許文献１に開示されている。特許文献１では、第１の機器に第２の認証機器が近接している時に、第１の機器の証明書を有効にする。第２の認証機器が近接していない時は、第１の機器の証明書を無効にする。これにより、第２の認証機器が近接しているか否かで第１の機器の操作可否を制御することが可能となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−８８８０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術は、第２の認証機器が近接しているか否かで第１の機器の操作可否を証明書により制御する方法である。つまり、第１の機器に第２の認証機器が近接している時に、第１の機器に近接していない第３の機器からも第１の機器の操作が可能となる。すなわち、機器同士が近接しているか否かで機器の操作可否を証明書により制御する方法は開示されていない。
【０００６】
本発明は上記課題を鑑みてなされたものであり、機器同士が近くに存在しているか否かに基づく証明書で、機器を適切に制御することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本発明は、証明書を生成するための情報処理装置であって、
前記情報処理装置の位置から所定の範囲に、前記情報処理装置とは異なる第二の情報処理装置が存在するか否かを判定する判定手段と、前記第二の情報処理装置が近くに存在していることを示す識別子を、前記証明書を生成するサーバに送信する送信手段と、
前記サーバが生成した証明書を受信する受信手段と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、機器同士が近くに存在しているか否かに基づく証明書で、機器を適切に制御することが出来る。
【図面の簡単な説明】
【０００９】
【図１】クライアント及びサーバのシステム構成を説明する図である。
【図２】クライアントのハードウェア構成を説明する図である。
【図３】サーバのハードウェア構成を説明する図である。
【図４】クライアントの構成を説明する図である。
【図５】実施形態１のサーバの構成を説明する図である。
【図６】実施形態１の近接確認及び証明書設定処理を説明する図である。
【図７】実施形態１の認証処理を説明する図である。
【図８】実施形態１の近接確認及び証明書設定処理を説明する図である。
【図９】実施形態２のサーバの構成を説明する図である。
【図１０】実施形態２の近接確認及び証明書設定処理を説明する図である。
【発明を実施するための形態】
【００１０】
（実施形態１）
＜クライアント及びサーバのシステム構成＞
はじめに、図１を用いて、本実施形態に適応可能なクライアント及びサーバのシステム構成について説明する。
【００１１】
図１は本実施形態に係るクライアント、サーバとして機能する情報処理システムの基本構成を示す図である。同図において、クライアント１１とサーバ１２は、例えば一般に普及しているパーソナルコンピュータである。しかし、これに限定するものではなく、ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ）やネットワークカメラであってもよい。図１に示すように、クライアント１１とサーバ１２は、ネットワーク１３を介して接続されている。また、クライアント１１が別のクライアント１１に処理を要求する場合は、サーバ１２を介して行われる。
【００１２】
＜クライアントのハードウェア構成＞
次に、図２を用いて、本実施形態に適応可能なクライアント１１のハードウェア構成について説明する。
【００１３】
図２に示すように、本実施形態におけるクライアント１１は、ＣＰＵ１１１、メモリ１１２、センサ１１３、ＮＩＣ１１４、Ｉ／Ｆ１１５から構成される。また、夫々はバス１１６で接続されている。
【００１４】
１１１は、クライアント１１内の各部の動作を制御、或いはメモリ１１２にロードされたプログラムを実行することのできるＣＰＵである。
【００１５】
１１２は、ＢＩＯＳやブートプログラム、及びＣＰＵ１１１にて処理を行うために一時的にプログラム、処理対象のデータ、或いはキャッシュを格納する。ここにＣＰＵ１１１が後述の各種処理を行うためのコンピュータプログラムがロードされることになる。
【００１６】
１１３は、例えばクライアント１１の位置情報を得るためにＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）衛星からの測位データを受信するＧＰＳ受信機である。また、加速度センサ、距離センサ、温度センサ、照度センサのような、クライアント１１の周囲の物理量を取得し、Ａ／Ｄ変換によりデジタルデータへ変換する電子回路である。
【００１７】
１１４は、クライアント１１をインターネットなどのネットワークに接続するためのネットワークインターフェイスカード（ＮＩＣ）である。クライアント１１はＮＩＣ１１４を介してネットワークへ各種データを送信したり、ネットワークから各種データを受信したりする。ＮＩＣ１１４には、例えば有線通信の１００ＢＡＳＥ−ＴＸや無線通信のＩＥＥＥ  ８０２．１１ｂ、８０２．１１ｇ、８０２．１１ｎ、８０２．１１ａｃを用いる。或いは、Ｂｌｕｅｔｏｏｔｈ（登録商標）やＮＦＣといった近距離でのデータ送受信を目的とした通信装置を具備してもよい。なお、ＮＩＣ１１４が無線通信を具備する場合、接続しているアクセスポイントの位置情報と電波強度を元に、クライアント１１の位置情報を得ることができる。
【００１８】
１１５は、クライアント１１に別の機器を接続するためのＩ／Ｆで、Ｉ／Ｆ１１５を介してキーボードのような入力機器から入力された各種の指示がＣＰＵ１１１に入力される。或いは、Ｉ／Ｆ１１５を介してモニタのような出力機器にＣＰＵ１１１による処理結果を表示する。
【００１９】
図２には示していないが、クライアント１１には、ＨＤＤ等の不揮発性ストレージ、キーボード・マウス・テンキー・タッチパネル・ディスプレイ等のユーザインターフェイスを含んでいてもよい。
【００２０】
以上、本実施形態に適応可能なクライアント１１のハードウェア構成について説明した。
【００２１】
＜サーバのハードウェア構成＞
次に、図３を用いて、本実施形態に適応可能なサーバ１２のハードウェア構成について説明する。
【００２２】
図３に示すように、本実施形態におけるサーバ１２は、ＣＰＵ１１１、メモリ１１２、ＮＩＣ１１４、Ｉ／Ｆ１１５、モニタ１２１、ＨＤ１２２、ＣＤ１２３、ＤＶＤ１２４、外部メモリ１２５、マウス１２６、キーボード１２７から構成される。また、夫々はバス１１６で接続されている。なお、ＣＰＵ１１１、メモリ１１２、ＮＩＣ１１４、Ｉ／Ｆ１１５、バス１１６の構成はクライアント１１と同一であるため、説明を割愛する。
【００２３】
１２１は、サーバ１２からの種々の情報を表示することの出来るモニタである。
【００２４】
１２２は、メモリ１１２等に転送されるＯＳ、プログラム、キャッシュ、データを格納したり、装置が動作中にデータを格納したり、読出すために使用されるハードディスク（ＨＤ）である。
【００２５】
１２３は、外部記憶媒体の一つであるＣＤ−ＲＯＭ（ＣＤ−Ｒ）に記憶されたデータ・プログラムを読み込み或いは書き出すことのできるＣＤ−ＲＯＭドライブである。
【００２６】
１２４は、ＣＤ−ＲＯＭドライブと同様にＤＶＤ−ＲＯＭからの読み込み、ＤＶＤ−ＲＡＭへの書き出しができるＤＶＤ−ＲＯＭ（ＤＶＤ−ＲＡＭ）ドライブである。１２５も、ＣＤ−ＲＯＭドライブと同様に外部メモリからの読み込み、及び書き出しができる外部メモリスロットである。
【００２７】
尚、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、外部メモリ等に証明書設定処理用のプログラムが記憶されている場合には、これらプログラムをＨＤ１２２にインストールし、必要に応じてメモリ１１２に転送されるようになっている。
【００２８】
以上、本実施形態に適応可能なサーバ１２のハードウェア構成について説明した。
【００２９】
＜クライアント１１の構成＞
次に、図４を用いて、本実施形態に適応可能なクライアント１１の構成について説明する。
【００３０】
図４は本実施形態に係るクライアント１１の構成を示すと共に、その周辺機器との関係を示す図である。
【００３１】
取得部４１は、センサ１１３、或いはＮＩＣ１１４を用いてクライアントＡの位置情報を取得する。或いは、加速度、距離、温度、照度のような、周囲の物理量を取得し、Ａ／Ｄ変換によりデジタルデータを取得する。
【００３２】
送信部４２は、サーバ１２を介してクライアントＢに処理要求を送信する。或いは、前記センサ情報をサーバ１２に送信する。送信タイミングは、定期的に送信する。或いは、センサ情報の変化量に応じて逐次送信する等、任意の方法でよい。
【００３３】
受信部４３は、サーバ１２からの応答を受信する。前記送信部４２の処理要求に応じた処理結果を受信する。或いは、クライアントＢのセンサ情報をサーバ１２より受信する。
【００３４】
判定部４４は、クライアントＡの位置から所定の範囲にクライアントＢが存在するか否か（近接であるか）を判定する。判定部４４の処理内容は後述する近接確認及び証明書設定処理で説明する。
【００３５】
証明書識別子生成部４５は、前記判定部４４の処理結果に応じて証明書識別子を生成する。証明書識別子とは証明書の標準形式であるＸ．５０９で規定されているＣｏｍｍｏｎ  Ｎａｍｅ（ＣＮ）、及びＳｕｂｊｅｃｔＡｌｔＮａｍｅ（ＳＡＮ）、である。ＣＮ、及びＳＡＮにより、証明書の所有者を一意に識別することができる。証明書識別子生成部４５では、クライアントＡとクライアントＢが近接であることを示す情報を含む証明書識別子を生成する。証明書識別子生成部４５の処理内容は後述する近接確認及び証明書設定処理で説明する。
【００３６】
証明書要求生成部４６は、クライアントＡの証明書をサーバ１２に要求するための証明書要求を生成する。証明書要求はＰＫＣＳ＃１０標準で規定されている形式を用いる。証明書要求には、前記証明書識別子を含むクライアントＡの所有者情報、及びクライアントＡの公開鍵が含まれる。更に、クライアントＡの秘密鍵を用いて証明書要求全体に署名した電子署名が含まれる。サーバ１２は、証明書要求に含まれる前記クライアントＡの公開鍵を用いて前記電子署名を検証することで、証明書要求がクライアントＡからの要求であることを確認する。
【００３７】
証明書取得部４７は、サーバ１２からクライアントＡの証明書を取得する。取得した証明書は、記憶部４１１に保管される。
【００３８】
表示部４８は、判定部４４の判定結果や証明書取得部４７によりクライアントＡに証明書設定が行われた旨をＩ／Ｆ１１５を介して接続したモニタを通じて表示する。或いは、クライアント１１がモニタを具備する構成をとってもよい。
【００３９】
処理部４９は、サーバ１２から受信した処理要求に従って処理を実行する。
【００４０】
通信部４１０は、ＮＩＣ１１４によりサーバ１２と通信する。或いは近接するクライアントＢと通信する。
【００４１】
記憶部４１１は、前記秘密鍵、公開鍵、証明書をメモリ１１２に記憶する。秘密鍵、公開鍵は予めクライアント１１のメモリ１１２に書き込まれたものを用いてもよい。或いは、後述する近接確認及び証明書設定処理の前にＣＰＵ１１１を用いてクライアント１１内で動的に生成してもよい。
【００４２】
以上、本実施形態に適応可能なクライアント１１の構成について説明した。
【００４３】
＜サーバ１２の構成＞
次に、図５を用いて、本実施形態に適応可能なサーバ１２の構成について説明する。なお、送信部４２、判定部４４、通信部４１０、記憶部４１１の構成はクライアント１１と同一であるため、説明を割愛する。
【００４４】
図５は本実施形態に係るサーバ１２の構成を示すと共に、その周辺機器との関係を示す図である。
【００４５】
証明書要求部５１は、クライアント１１に証明書を要求する。例えば暗号通信プロトコルの標準であるＳＳＬ／ＴＬＳを用いて、クライアント１１とサーバ１２が接続する。証明書要求部５１は、ＳＳＬ／ＴＬＳのクライアント認証により、クライアント１１に証明書を要求する。
【００４６】
検証部５２は、証明書要求部５１で取得したクライアント１１の証明書を検証する。記憶部４１１から、サーバ１２が信頼する認証局のルート証明書を取り出す。前記ルート証明書に含まれる認証局の公開鍵を用いて、クライアント１１の証明書に含まれる署名を検証する。なお、認証局はサーバ１２であってもよい。
【００４７】
証明書識別子取得部５３は、クライアント１１の証明書に含まれる証明書識別子を取得する。
【００４８】
通知部５４は、検証部５２の検証結果や判定部４４の判定結果をクライアント１１に通知する。例えば暗号通信プロトコルの標準であるＳＳＬ／ＴＬＳを用いて、ＳＳＬ／ＴＬＳのエラーとしてクライアント１１に判定結果を通知する。或いは、送信部４２を用いてクライアント１１に判定結果を通知する。
【００４９】
以上、本実施形態に適応可能なサーバ１２の構成について説明した。
【００５０】
＜近接確認及び証明書設定処理＞
次に、本実施形態に適応可能な近接確認及び証明書設定処理について、図６を用いて説明する。
【００５１】
図６は、本実施形態における近接確認及び証明書設定処理のフローを説明する図である。以下のフローは、前述したクライアント１１及びサーバ１２内で実行され、各ステップは該当するプログラム及びそれを実行するＣＰＵ１１１によって実現する。
【００５２】
ステップ６１は、クライアントＡが取得部４１を用いてクライアントＡの位置情報を取得する。
【００５３】
ステップ６２は、クライアントＡが送信部４２を用いてクライアントＢに位置情報を要求する。処理要求はサーバ１２に送られる。
【００５４】
ステップ６３は、サーバ１２がステップ６２の処理要求をクライアントＢに送る。
【００５５】
ステップ６４は、クライアントＢが送信部４２を用いてクライアントＡに位置情報を送信する。位置情報はサーバ１２に送られる。
【００５６】
ステップ６５は、サーバ１２がステップ６４の位置情報をクライアントＡに送る。
【００５７】
ステップ６６は、クライアントＡが受信部４３にクライアントＢの位置情報を受信する。
【００５８】
ステップ６７は、クライアントＡが判定部４４を用いてクライアントＡとクライアントＢが近接であるかを判定する。例えば、位置情報が緯度・経度で構成される場合、２地点の緯度・経度からヒュベニの公式を用いて２地点の距離を算出する。その距離がクライアントＡで予め定めた距離に収まる場合、クライアントＡとクライアントＢが近接していると判定する。近接していると判定した場合はステップ６９へ、近接していないと判定した場合はステップ６１５へ進む。
【００５９】
ステップ６８は、クライアントＡが証明書識別子生成部４５を用いて証明書識別子を生成する。例えば、ＣＮ＝「クライアントＡとクライアントＢが近接している」とする。この場合、クライアントＡの証明書は、「クライアントＡとクライアントＢが近接している」ことを示す近接証明書としての役割を果たす。ＣＮ＝「クライアントＡ」、ＳＡＮ＝「クライアントＡとクライアントＢが近接している」としてもよい。この場合、クライアントＡの証明書は、前記近接証明書であることに加え、証明書の所有者が「クライアントＡ」であることを示す。また、ＣＮ、或いはＳＡＮにクライアントＡ及びクライアントＢの位置情報の値を含めてもよい。これにより、サーバ１２が証明書識別子から取得した位置情報を用いて、クライアントＡとクライアントＢが近接しているか判定することも可能となる。ＳＡＮに複数の情報を含める場合は、Ｘ．５０９で規定されているコンマ区切りを用いて設定する。
【００６０】
ステップ６９は、クライアントＡが証明書要求生成部４６を用いて証明書要求を生成する。前記ステップ６８で生成した証明書識別子を証明書要求に含む。
【００６１】
ステップ６１０は、クライアントＡがステップ６９の証明書要求をサーバ１２に送信する。
【００６２】
ステップ６１１は、サーバ１２がステップ６１０の証明書要求に対応したクライアントＡの証明書を生成する。
【００６３】
ステップ６１２は、サーバ１２がステップ６１１で生成した証明書をクライアントＡに送信する。
【００６４】
ステップ６１３は、クライアントＡが証明書取得部４７を用いてクライアントＡの証明書を受信する。
【００６５】
ステップ６１４は、クライアントＡが記憶部４１１に証明書を設定する。
【００６６】
ステップ６１５は、クライアントＡが表示部４８を用いてエラーを表示する。例えば、「クライアントＡとクライアントＢを近づけてください」と表示して、近づけるように促す。或いは前記クライアントＡが近接と判定する距離の値を表示してもよい。
【００６７】
ステップ６１６は、クライアントＡが近接確認処理をやり直すかどうかを判定する。近接確認処理をやり直す場合は、ステップ６１に戻る。さもなければ処理を終了する。判定方法として、予め決められた回数処理を繰り返す、或いは一定時間処理を繰り返す等任意の判定方法を用いてよい。
【００６８】
以上、本実施形態における近接確認及び証明書設定処理のフローを説明した。
【００６９】
本実施形態によれば、クライアントＡがクライアントＢと近接していることを確認し、その結果を証明書識別子に含めた証明書を要求することで、クライアントＡとクライアントＢが近接していることを示す証明書をクライアントＡに設定することが可能となる。
【００７０】
＜認証処理＞
次に、本実施形態に適応可能な認証処理について、図７を用いて説明する。
【００７１】
図７は、本実施形態における認証処理のフローを説明する図である。以下のフローは、前述したクライアント１１及びサーバ１２内で実行され、各ステップは該当するプログラム及びそれを実行するＣＰＵ１１１によって実現する。
【００７２】
ステップ７１は、クライアントＡが処理部４９を用いてクライアントＢに処理を要求する。
ステップ７２は、サーバ１２が証明書要求部５１を用いてクライアントＡに証明書を要求する。
ステップ７３は、クライアントＡが送信部４２を用いてサーバ１２に証明書を送信する。
ステップ７４は、サーバ１２が検証部５２を用いてクライアントＡの証明書を検証する。証明書の検証が成功した場合ステップ７５へ進む。さもなくば、ステップ７８へ進む。
ステップ７５は、サーバ１２が証明書識別子取得部５３を用いてクライアントＡの証明書に含まれる証明書識別子を取得する。同様にステップ７２からステップ７５までの処理をクライアントＢに対しても行う。
【００７３】
ステップ７６は、サーバ１２が判定部４４を用いてクライアントＡとクライアントＢの証明書識別子に含まれるＣＮ、及びＳＡＮからクライアントＡとクライアントＢが近接しているかどうかを判定する。例えば、クライアントＡの証明書識別子が「クライアントＡとクライアントＢが近接している」であった場合、クライアントＢの証明書識別子が「クライアントＢ」であれば、近接していると判定する。或いは、証明書識別子に位置情報が含まれている場合、前記ステップ６７と同様の方法でサーバ１２がクライアントＡとクライアントＢが近接しているかどうかを判定してもよい。接していると判定した場合はステップ７７へ、近接していないと判定した場合はステップ７９へ進む。
【００７４】
ステップ７７は、サーバ１２が送信部４２を用いてクライアントＡの処理要求をクライアントＢに通知する。
ステップ７８は、クライアントＢが処理部４９を用いてサーバ１２からの処理要求に応じた処理を実行する。
ステップ７９は、サーバ１２が通知部５４を用いてクライアントＡとクライアントＢに認証エラーを通知する。或いは、前記ステップ６１５と同様、クライアントＡとクライアントＢが近接していないことを通知してもよい。
【００７５】
以上、本実施形態における認証処理のフローを説明した。
【００７６】
本実施形態によれば、クライアントＡとクライアントＢが近接しているか否かでクライアントＢの操作可否を証明書により制御することが可能となる。
【００７７】
以上説明した実施形態によれば、クライアントＡがクライアントＢの位置情報をサーバ１２に問い合わせ、取得した位置情報とクライアントＡの位置情報が近接しているか否かを判定する例について説明した。しかしながら、本発明はこれに限定されることなく、サーバ１２を介して、クライアントＡがペアリング情報をクライアントＢに送ってもよい。そして、クライアントＢが受信したペアリング情報を用いてクライアントＡと接続できるかどうかをクライアントＡが確認することで近接確認を行う。
【００７８】
図８は、近接確認及び証明書設定処理を説明する図である。以下のフローは、前述したクライアント１１及びサーバ１２内で実行され、各ステップは該当するプログラム及びそれを実行するＣＰＵ１１１によって実現する。ステップ６８からステップ６１６に至る処理は前述の図６と同様であるため説明を割愛する。
【００７９】
ステップ８１は、クライアントＡが取得部４１を用いてクライアントＡのペアリング情報を取得する。ペアリング情報とは例えば、Ｂｌｕｅｔｏｏｔｈにおける接続名とＰＩＮコードである。或いは、無線ＬＡＮにおけるＥＳＳＩＤ（Ｅｘｔｅｎｄｅｄ  Ｓｅｒｖｉｃｅ  Ｓｅｔ  Ｉｄｅｎｔｉｆｉｅｒ）と認証パスワードである。
【００８０】
ステップ８２は、クライアントＡが送信部４２を用いてクライアントＢにペアリング情報を送信する。ペアリング情報はサーバ１２に送られる。
【００８１】
ステップ８３は、サーバ１２がステップ８２のペアリング情報をクライアントＢに送る。
【００８２】
ステップ８４は、クライアントＢが送信部４２を用いてクライアントＡに接続要求を送信する。この際、クライアントＡとの接続のためステップ８３で受信したペアリング情報を用いる。
【００８３】
ステップ８５は、クライアントＡが判定部４４を用いてクライアントＢからの接続要求を受信したかを判定する。接続が確立できた場合は近接していると判定しステップ６９へ、さもなければ、ステップ６１５へ進む。
【００８４】
以上説明した例によれば、近距離通信を用いてクライアントＡがクライアントＢと近接していることを確認し、その結果を証明書識別子に含めた証明書を要求する。これにより、クライアントＡとクライアントＢが近接していることを示す証明書をクライアントＡに設定することが可能となる。
【００８５】
以上説明した実施形態によれば、クライアントＡとクライアントＢの近接確認において、位置情報、及びペアリングによる接続確認をもって近接かどうかを判定する例について説明した。しかしながら、本発明はこれに限定されることなく、センサ１１３が取得した物理量の変位により、クライアントＡがクライアントＢと近接していることを確認してもよい。つまり、前記ステップ６２の処理要求をクライアントＢが実行した結果、クライアントＡのセンサ１１３で物理量の変化を測定できれば近接していると判定してもよい。例えば、クライアントＡを動かす処理をクライアントＢに実行させ、加速度の変化により判定する。或いは、室内の照明を暗くする処理をクライアントＢに実行させ、照度の変化により判定する。これにより、センサ１１３が取得した物理量の変位により、クライアントＡがクライアントＢと近接していることを確認することが可能となる。
【００８６】
（実施形態２）
以上説明した実施形態によれば、クライアントＡがクライアントＢと近接していることを確認し、その結果を証明書識別子に含めた証明書を要求することで、近接していることを示す証明書をクライアントＡに設定する例について説明した。しかしながら、本発明はこれに限定されることなく、サーバ１２がクライアントＡとＢが近接していることを確認し、その結果を証明書識別子に含めた証明書を生成する構成をとってもよい。
【００８７】
＜サーバ１２の構成＞
次に、図９を用いて、本実施形態に適応可能なサーバ１２の構成について説明する。なお、送信部４２、受信部４３、判定部４４、証明書識別子生成部４５、通信部４１０、記憶部４１１、証明書要求部５１、検証部５２、証明書識別子取得部５３、通知部５４の構成はサーバ１２と同一であるため、説明を割愛する。
【００８８】
図９は本実施形態に係るサーバ１２の構成を示すと共に、その周辺機器との関係を示す図である。
【００８９】
証明書生成部９１は、クライアント１１の証明書を生成する。前記証明書には証明書識別子生成部４５が生成したクライアント１１の証明書識別子、及びクライアント１１の公開鍵が含まれる。更に、サーバ１２の秘密鍵を用いて証明書全体に署名した電子署名が含まれる。
【００９０】
以上、本実施形態に適応可能なサーバ１２の構成について説明した。
【００９１】
＜近接確認及び証明書設定処理＞
次に、本実施形態に適応可能な近接確認及び証明書設定処理について、図１０を用いて説明する。
【００９２】
図１０は、本実施形態における近接確認及び証明書設定処理のフローを説明する図である。以下のフローは、前述したクライアント１１及びサーバ１２内で実行され、各ステップは該当するプログラム及びそれを実行するＣＰＵ１１１によって実現する。
ステップ６９、６１０、及びステップ６１３、６１４は前述の図６と同様であるため説明を割愛する。
【００９３】
ステップ１０１は、サーバ１２が送信部４２を用いてクライアントＡ、及びクライアントＢに位置情報を要求する。処理要求はクライアントＡ、及びクライアントＢに送られる。
【００９４】
ステップ１０２は、クライアントＡ、及びクライアントＢが送信部４２を用いてサーバ１２に位置情報を送信する。
【００９５】
ステップ１０３は、サーバ１２が受信部４３にクライアントＡ、及びクライアントＢの位置情報を受信する。
【００９６】
ステップ１０４は、サーバ１２が判定部４４を用いてクライアントＡとクライアントＢが近接であるかを判定する。判定方法は例えば、前記ステップ６７と同じ方法である。近接していると判定した場合はステップ１０５へ、近接していないと判定した場合はステップ１０８へ進む。
【００９７】
ステップ１０５は、サーバ１２が証明書識別子生成部４５を用いて証明書識別子を生成する。生成する証明書識別子は例えば、前記ステップ６８と同じである。
【００９８】
ステップ１０６は、サーバ１２が証明書生成部９１を用いてステップ６９の証明書要求に対応したクライアントＡの証明書を生成する。前記証明書に含む証明書識別子は、証明書要求の証明書識別子とステップ１０５で生成した証明書識別子を足したものである。例えばステップ６８と同じ方法で、ＣＮ、及びＳＡＮに証明書識別子を設定する。
【００９９】
ステップ１０７は、サーバ１２がステップ１０６で生成した証明書をクライアントＡに送信する。
【０１００】
ステップ１０８は、サーバ１２が通知部５４を用いてクライアントＡにエラーを通知する。エラーの内容は前記ステップ６１５と同様である。
【０１０１】
以上説明した実施形態によれば、機器同士が近接していることをサーバ１２が確認し、その結果を証明書識別子に含めた証明書を生成することが可能となる。
【０１０２】
以上説明した実施形態によれば、サーバ１２がクライアントＡとクライアントＢが近接していることを位置情報により判定する例について説明した。しかしながら、本発明はこれに限定されることなく、サーバ１２がクライアントＡとクライアントＢにペアリング情報を送ってもよい。そして、クライアントＡ、及びクライアントＢが受信したペアリング情報を用いて接続できるかどうかを確認し、確認結果をサーバ１２に通知することでサーバ１２が近接確認を行う。例として、前記ステップ１０１で前記ステップ８２と同様のペアリング情報をクライアントＡ、及びクライアントＢに送信する。そして前記ステップ１０２でクライアントＡ、及びクライアントＢが受信したペアリング情報を用いて接続できるかどうかを確認し、確認結果をサーバ１２に通知する。前記ステップ１０４で、ステップ１０２の確認結果がペアリング成功であれば、クライアントＡとクライアントＢが近接していると判定する。これにより、サーバ１２がクライアントＡとクライアントＢが近接していることをペアリング結果により判定することが可能となる。
【０１０３】
以上説明した実施形態によれば、クライアント１１、及びサーバ１２が近接確認を行うか否かについては判断していなかった。しかしながら、本発明はこれに限定されることなく、クライアント１１、或いはサーバ１２が近接確認を行うか否かについて判断してもよい。例えば、前記ステップ７１で送られる処理要求の内容に応じて、クライアント１１、或いはサーバ１２が近接確認を行うか否かを判断する。例えば、処理要求毎に近接確認を行うか否かを予め決定しておき、前記判断において用いてもよい。判断の結果、近接確認が必要にも関わらず該当する証明書がない場合、それをきっかけに前記近接確認及び証明書設定処理を実行してもよい。
【０１０４】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
2019047429.tif 000003
【図２】
2019047429.tif 000004
【図３】
2019047429.tif 000005
【図４】
2019047429.tif 000006
【図５】
2019047429.tif 000007
【図６】
2019047429.tif 000008
【図７】
2019047429.tif 000009
【図８】
2019047429.tif 000010
【図９】
2019047429.tif 000011
【図１０】
2019047429.tif 000012