(57)【特許請求の範囲】
【請求項１】
コンピュータを、
端末装置の固有の固有ＩＤを生成する固有ＩＤ生成手段、
前記端末装置の固有の固有情報から固有鍵を生成する固有鍵生成手段、
前記固有鍵により、前記固有ＩＤを暗号化して、暗号化固有ＩＤを生成する固有ＩＤ暗号化手段、
サーバ装置から前記端末装置に割り当てられた第１端末ＩＤを取得する第１端末ＩＤ取得手段、
前記固有情報から生成された前記固有鍵により、前記暗号化固有ＩＤを復号する固有ＩＤ復号手段、
前記復号された固有ＩＤから前記端末装置の認証用の認証鍵を生成する認証鍵生成手段、
前記固有鍵を使用した後に、前記固有鍵を消去する固有鍵消去手段、
前記固有ＩＤを使用した後に、前記固有ＩＤを消去する固有ＩＤ消去手段、
前記認証鍵による暗号処理により、前記第１端末ＩＤから暗号化データを生成する暗号データ生成手段、
前記認証鍵を使用した後に、前記認証鍵を消去する認証鍵消去手段、
前記暗号化データに、前記第１端末ＩＤを含めた、第２端末ＩＤを生成する第２端末ＩＤ生成手段、
前記第２端末ＩＤを前記サーバ装置に送信する第２端末ＩＤ送信手段、
前記第２端末ＩＤを含んだ、前記端末装置を証明する端末証明書を、前記サーバ装置から受信して記憶する端末証明書記憶手段、および、
端末認証のため、前記認証鍵生成手段により生成された前記認証鍵および前記端末証明書を前記サーバ装置に送信する端末証明書送信手段として機能させることを特徴とする端末装置認証用のプログラム。
【請求項２】
請求項１に記載の端末装置認証用のプログラムにおいて、
前記第２端末ＩＤ生成手段が、前記暗号化データに、前記第１端末ＩＤを混ぜて、前記第２端末ＩＤを生成することを特徴とする端末装置認証用のプログラム。
【請求項３】
請求項１または請求項２に記載の端末装置認証用のプログラムにおいて、
前記サーバ装置が生成した通信用の通信鍵を、前記サーバ装置から受信する通信鍵受信手段として、更に機能させることを特徴とする端末装置認証用のプログラム。
【請求項４】
請求項３に記載の端末装置認証用のプログラムにおいて、
前記端末証明書記憶手段が、前記サーバ装置で生成された前記端末装置用の秘密鍵および公開鍵を含んだ前記端末証明書を受信し、
前記端末証明書送信手段が、前記端末装置用の秘密鍵を取り除いた前記端末証明書を前記サーバ装置に送信し、
前記通信鍵受信手段が、前記端末装置用の公開鍵により暗号化された前記通信鍵を受信することを特徴とする端末装置認証用のプログラム。
【請求項５】
請求項１から請求項３のいずれか１項に記載の端末装置認証用のプログラムにおいて、
前記第２端末ＩＤ送信手段および前記端末証明書送信手段が、前記端末装置で生成された前記端末装置用の秘密鍵により暗号化されたデータを前記サーバ装置に送信することを特徴とする端末装置認証用のプログラム。
【請求項６】
固有ＩＤ生成手段が、端末装置の固有の固有ＩＤを生成する固有ＩＤ生成ステップと、
固有鍵生成手段が、前記端末装置の固有の固有情報から固有鍵を生成する固有鍵生成ステップと、
固有ＩＤ暗号化手段が、前記固有鍵により、前記固有ＩＤを暗号化して、暗号化固有ＩＤを生成する固有ＩＤ暗号化ステップと、
第１端末ＩＤ取得手段が、サーバ装置から前記端末装置に割り当てられた第１端末ＩＤを取得する第１端末ＩＤ取得ステップと、
固有ＩＤ復号手段が、前記固有情報から生成された前記固有鍵により、前記暗号化固有ＩＤを復号する固有ＩＤ復号ステップと、
認証鍵生成手段が、前記復号された固有ＩＤから前記端末装置の認証用の認証鍵を生成する認証鍵生成ステップと、
固有鍵消去手段が、前記固有鍵を使用した後に、前記固有鍵を消去する固有鍵消去ステップと、
暗号データ生成手段が、前記固有ＩＤを使用した後に、前記固有ＩＤを消去する固有ＩＤ消去ステップと、
暗号データ生成手段が、前記認証鍵による暗号処理により、前記第１端末ＩＤから暗号化データを生成する暗号データ生成ステップと、
認証鍵消去手段が、前記認証鍵を使用した後に、前記認証鍵を消去する認証鍵消去ステップと、
第２端末ＩＤ生成手段が、前記暗号化データに、前記第１端末ＩＤを含めた、第２端末ＩＤを生成する第２端末ＩＤ生成ステップと、
第２端末ＩＤ送信手段が、前記第２端末ＩＤを前記サーバ装置に送信する第２端末ＩＤ送信ステップと、
端末証明書記憶手段が、前記第２端末ＩＤを含んだ、前記端末装置を証明する端末証明書を、前記サーバ装置から受信して記憶する端末証明書記憶ステップと、
端末証明書送信手段が、端末認証のため、前記認証鍵生成手段により生成された前記認証鍵および前記端末証明書を前記サーバ装置に送信する端末証明書送信ステップと、
を含むことを特徴とする端末装置認証方法。
【請求項７】
端末装置からの要求により、当該端末装置に割り当てる第１端末ＩＤを生成して、送信する第１端末ＩＤ送信手段と、
前記端末装置の固有の固有ＩＤから生成された前記端末装置の認証用の認証鍵による暗号処理により、前記第１端末ＩＤから生成された暗号化データに、前記第１端末ＩＤを含めた第２端末ＩＤを、前記端末装置から受信する第２端末ＩＤ受信手段と、
前記受信した第２端末ＩＤから前記第１端末ＩＤが抽出された場合に、前記第２端末ＩＤを含んだ、前記端末装置を証明する端末証明書を、前記端末装置に送信する端末証明書送信手段と、
端末認証のため、前記端末証明書および前記認証鍵を前記端末装置から受信する端末証明書受信手段と、
前記端末証明書に含まれる第２端末ＩＤから前記暗号化データを抽出する暗号化データ抽出手段と、
前記受信した前記認証鍵による復号処理により、前記暗号化データから第１端末ＩＤを抽出する第１端末ＩＤ抽出手段と、
前記抽出した第１端末ＩＤが、前記第１端末ＩＤを予め記憶した端末情報記憶手段を参照して、前記端末情報記憶手段に記憶された第１端末ＩＤであるか否かを判定する判定手段と、
を備えたことを特徴とするサーバ装置。
【請求項８】
サーバ装置が端末装置を認証する認証システムにおいて、
前記端末装置が、
前記端末装置の固有の固有ＩＤを生成する固有ＩＤ生成手段と、
前記端末装置の固有の固有情報から固有鍵を生成する固有鍵生成手段と、
前記固有鍵により、前記固有ＩＤを暗号化して、暗号化固有ＩＤを生成する固有ＩＤ暗号化手段と、
前記サーバ装置から前記端末装置に割り当てられた第１端末ＩＤを取得する第１端末ＩＤ取得手段と、
前記固有情報から生成された前記固有鍵により、前記暗号化固有ＩＤを復号する固有ＩＤ復号手段と、
前記復号された固有ＩＤから前記端末装置の認証用の認証鍵を生成する認証鍵生成手段と、
前記固有鍵を使用した後に、前記固有鍵を消去する固有鍵消去手段と、
前記固有ＩＤを使用した後に、前記固有ＩＤを消去する固有ＩＤ消去手段と、
前記認証鍵による暗号処理により、前記第１端末ＩＤから暗号化データを生成する暗号データ生成手段と、
前記認証鍵を使用した後に、前記認証鍵を消去する認証鍵消去手段と、
前記暗号化データに、前記第１端末ＩＤを含めた、第２端末ＩＤを生成する第２端末ＩＤ生成手段と、
前記第２端末ＩＤを前記サーバ装置に送信する第２端末ＩＤ送信手段と、
前記第２端末ＩＤを含んだ、前記端末装置を証明する端末証明書を、前記サーバ装置から受信して記憶する端末証明書記憶手段と、
端末認証のため、前記認証鍵生成手段により生成された前記認証鍵および前記端末証明書を前記サーバ装置に送信する端末証明書送信手段と、を有し、
前記サーバ装置が、
前記端末装置からの要求により、当該端末装置に割り当てる第１端末ＩＤを生成して、
送信する第１端末ＩＤ送信手段と、
前記端末装置の固有の固有ＩＤから生成された前記端末装置の認証用の認証鍵による暗号処理により、前記第１端末ＩＤから生成された暗号化データに、前記第１端末ＩＤを含めた第２端末ＩＤを、前記端末装置から受信する第２端末ＩＤ受信手段と、
前記受信した第２端末ＩＤから前記第１端末ＩＤが抽出された場合に、前記第２端末ＩＤを含んだ、前記端末装置を証明する端末証明書を、前記端末装置に送信する端末証明書送信手段と、
端末認証のため、前記端末証明書および前記認証鍵を前記端末装置から受信する端末証明書受信手段と、
前記端末証明書に含まれる第２端末ＩＤから前記暗号化データを抽出する暗号化データ抽出手段と、
前記受信した前記認証鍵による復号処理により、前記暗号化データから第１端末ＩＤを抽出する第１端末ＩＤ抽出手段と、
前記抽出した第１端末ＩＤが、前記第１端末ＩＤを予め記憶した端末情報記憶手段を参照して、前記端末情報記憶手段に記憶された第１端末ＩＤであるか否かを判定する判定手段と、
を有することを特徴とする認証システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバが端末を認証するための端末装置認証用のプログラム、端末装置認証方法、サーバ装置、および、認証システムに関する。
【背景技術】
【０００２】
クライアント・サーバシステムにおけるクライアントの端末装置の認証を安全に行うために、公開鍵方式による認証等の方法が用いられている。例えば、特許文献１には、認証要求に対し所定のコードを決定し、ユーザ名に対応する公開鍵を用いて決定したコードを暗号化し、クライアントに暗号化コードを送信し、クライアントにおいて秘密鍵を用いて復号化した暗号化コードの復号結果と決定されたコードとの比較結果より、ユーザの認証を行う認証システムが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−２３６３２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術では、端末装置におけるクライアントアプリ自体は難読化等の手法により安全を保たれていても、クライアントアプリが保存するデータが盗まれた場合、端末装置の成りすましを防止することが難しかった。
【０００５】
そこで、本発明は上記の問題点等に鑑みて為されたもので、その課題の一例は、クライアントの端末装置の成りすましがされにくい端末装置認証用のプログラム等を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記の課題を解決するために、請求項１に記載の発明は、コンピュータを、端末装置の固有の固有ＩＤを生成する固有ＩＤ生成手段、前記端末装置の固有の固有情報から固有鍵を生成する固有鍵生成手段、前記固有鍵により、前記固有ＩＤを暗号化して、暗号化固有ＩＤを生成する固有ＩＤ暗号化手段、サーバ装置から前記端末装置に割り当てられた第１端末ＩＤを取得する第１端末ＩＤ取得手段、前記固有情報から生成された前記固有鍵により、前記暗号化固有ＩＤを復号する固有ＩＤ復号手段、前記復号された固有ＩＤから前記端末装置の認証用の認証鍵を生成する認証鍵生成手段、前記固有鍵を使用した後に、前記固有鍵を消去する固有鍵消去手段、前記固有ＩＤを使用した後に、前記固有ＩＤを消去する固有ＩＤ消去手段、前記認証鍵による暗号処理により、前記第１端末ＩＤから暗号化データを生成する暗号データ生成手段、前記認証鍵を使用した後に、前記認証鍵を消去する認証鍵消去手段、前記暗号化データに、前記第１端末ＩＤを含めた、第２端末ＩＤを生成する第２端末ＩＤ生成手段、  前記第２端末ＩＤを前記サーバ装置に送信する第２端末ＩＤ送信手段、前記第２端末ＩＤを含んだ、前記端末装置を証明する端末証明書を、前記サーバ装置から受信して記憶する端末証明書記憶手段、および、端末認証のため、前記認証鍵生成手段により生成された前記認証鍵および前記端末証明書を前記サーバ装置に送信する端末証明書送信手段として機能させることを特徴とする。
【０００７】
また、請求項２に記載の発明は、請求項１に記載の端末装置認証用のプログラムにおいて、前記第２端末ＩＤ生成手段が、前記暗号化データに、前記第１端末ＩＤを混ぜて、前記第２端末ＩＤを生成することを特徴とする。
【０００８】
また、請求項３に記載の発明は、請求項１または請求項２に記載の端末装置認証用のプログラムにおいて、前記サーバ装置が生成した通信用の通信鍵を、前記サーバ装置から受信する通信鍵受信手段として、更に機能させることを特徴とする。
【０００９】
また、請求項４に記載の発明は、請求項３に記載の端末装置認証用のプログラムにおいて、前記端末証明書記憶手段が、前記サーバ装置で生成された前記端末装置用の秘密鍵および公開鍵を含んだ前記端末証明書を受信し、前記端末証明書送信手段が、前記端末装置用の秘密鍵を取り除いた前記端末証明書を前記サーバ装置に送信し、前記通信鍵受信手段が、前記端末装置用の公開鍵により暗号化された前記通信鍵を受信することを特徴とする。
【００１０】
また、請求項５に記載の発明は、請求項１から請求項３のいずれか１項に記載の端末装置認証用のプログラムにおいて、前記第２端末ＩＤ送信手段および前記端末証明書送信手段が、前記端末装置で生成された前記端末装置用の秘密鍵により暗号化されたデータを前記サーバ装置に送信することを特徴とする。
【００１１】
また、請求項６に記載の発明は、固有ＩＤ生成手段が、端末装置の固有の固有ＩＤを生成する固有ＩＤ生成ステップと、固有鍵生成手段が、前記端末装置の固有の固有情報から固有鍵を生成する固有鍵生成ステップと、固有ＩＤ暗号化手段が、前記固有鍵により、前記固有ＩＤを暗号化して、暗号化固有ＩＤを生成する固有ＩＤ暗号化ステップと、第１端末ＩＤ取得手段が、サーバ装置から前記端末装置に割り当てられた第１端末ＩＤを取得する第１端末ＩＤ取得ステップと、固有ＩＤ復号手段が、前記固有情報から生成された前記固有鍵により、前記暗号化固有ＩＤを復号する固有ＩＤ復号ステップと、認証鍵生成手段が、前記復号された固有ＩＤから前記端末装置の認証用の認証鍵を生成する認証鍵生成ステップと、固有鍵消去手段が、前記固有鍵を使用した後に、前記固有鍵を消去する固有鍵消去ステップと、暗号データ生成手段が、前記固有ＩＤを使用した後に、前記固有ＩＤを消去する固有ＩＤ消去ステップと、暗号データ生成手段が、前記認証鍵による暗号処理により、前記第１端末ＩＤから暗号化データを生成する暗号データ生成ステップと、認証鍵消去手段が、前記認証鍵を使用した後に、前記認証鍵を消去する認証鍵消去ステップと、第２端末ＩＤ生成手段が、前記暗号化データに、前記第１端末ＩＤを含めた、第２端末ＩＤを生成する第２端末ＩＤ生成ステップと、第２端末ＩＤ送信手段が、前記第２端末ＩＤを前記サーバ装置に送信する第２端末ＩＤ送信ステップと、端末証明書記憶手段が、前記第２端末ＩＤを含んだ、前記端末装置を証明する端末証明書を、前記サーバ装置から受信して記憶する端末証明書記憶ステップと、端末証明書送信手段が、端末認証のため、前記認証鍵生成手段により生成された前記認証鍵および前記端末証明書を前記サーバ装置に送信する端末証明書送信ステップと、を含むことを特徴とする。
【００１２】
また、請求項７に記載の発明は、端末装置からの要求により、当該端末装置に割り当てる第１端末ＩＤを生成して、送信する第１端末ＩＤ送信手段と、前記端末装置の固有の固有ＩＤから生成された前記端末装置の認証用の認証鍵による暗号処理により、前記第１端末ＩＤから生成された暗号化データに、前記第１端末ＩＤを含めた第２端末ＩＤを、前記端末装置から受信する第２端末ＩＤ受信手段と、前記受信した第２端末ＩＤから前記第１端末ＩＤが抽出された場合に、前記第２端末ＩＤを含んだ、前記端末装置を証明する端末証明書を、前記端末装置に送信する端末証明書送信手段と、端末認証のため、前記端末証明書および前記認証鍵を前記端末装置から受信する端末証明書受信手段と、前記端末証明書に含まれる第２端末ＩＤから前記暗号化データを抽出する暗号化データ抽出手段と、前記受信した前記認証鍵による復号処理により、前記暗号化データから第１端末ＩＤを抽出する第１端末ＩＤ抽出手段と、前記抽出した第１端末ＩＤが、前記第１端末ＩＤを予め記憶した端末情報記憶手段を参照して、前記端末情報記憶手段に記憶された第１端末ＩＤであるか否かを判定する判定手段と、を備えたことを特徴とする。
【００１３】
また、請求項８に記載の発明は、サーバ装置が端末装置を認証する認証システムにおいて、前記端末装置が、前記端末装置の固有の固有ＩＤを生成する固有ＩＤ生成手段と、前記端末装置の固有の固有情報から固有鍵を生成する固有鍵生成手段と、前記固有鍵により、前記固有ＩＤを暗号化して、暗号化固有ＩＤを生成する固有ＩＤ暗号化手段と、前記サーバ装置から前記端末装置に割り当てられた第１端末ＩＤを取得する第１端末ＩＤ取得手段と、前記固有情報から生成された前記固有鍵により、前記暗号化固有ＩＤを復号する固有ＩＤ復号手段と、前記復号された固有ＩＤから前記端末装置の認証用の認証鍵を生成する認証鍵生成手段と、前記固有鍵を使用した後に、前記固有鍵を消去する固有鍵消去手段と、前記固有ＩＤを使用した後に、前記固有ＩＤを消去する固有ＩＤ消去手段と、前記認証鍵による暗号処理により、前記第１端末ＩＤから暗号化データを生成する暗号データ生成手段と、前記認証鍵を使用した後に、前記認証鍵を消去する認証鍵消去手段と、前記暗号化データに、前記第１端末ＩＤを含めた、第２端末ＩＤを生成する第２端末ＩＤ生成手段と、前記第２端末ＩＤを前記サーバ装置に送信する第２端末ＩＤ送信手段と、前記第２端末ＩＤを含んだ、前記端末装置を証明する端末証明書を、前記サーバ装置から受信して記憶する端末証明書記憶手段と、端末認証のため、前記認証鍵生成手段により生成された前記認証鍵および前記端末証明書を前記サーバ装置に送信する端末証明書送信手段と、を有し、前記サーバ装置が、前記端末装置からの要求により、当該端末装置に割り当てる第１端末ＩＤを生成して、送信する第１端末ＩＤ送信手段と、前記端末装置の固有の固有ＩＤから生成された前記端末装置の認証用の認証鍵による暗号処理により、前記第１端末ＩＤから生成された暗号化データに、前記第１端末ＩＤを含めた第２端末ＩＤを、前記端末装置から受信する第２端末ＩＤ受信手段と、前記受信した第２端末ＩＤから前記第１端末ＩＤが抽出された場合に、前記第２端末ＩＤを含んだ、前記端末装置を証明する端末証明書を、前記端末装置に送信する端末証明書送信手段と、端末認証のため、前記端末証明書および前記認証鍵を前記端末装置から受信する端末証明書受信手段と、前記端末証明書に含まれる第２端末ＩＤから前記暗号化データを抽出する暗号化データ抽出手段と、前記受信した前記認証鍵による復号処理により、前記暗号化データから第１端末ＩＤを抽出する第１端末ＩＤ抽出手段と、前記抽出した第１端末ＩＤが、前記第１端末ＩＤを予め記憶した端末情報記憶手段を参照して、前記端末情報記憶手段に記憶された第１端末ＩＤであるか否かを判定する判定手段と、を有することを特徴とする。
【発明の効果】
【００１４】
本発明によれば、端末装置の固有情報から生成された固有鍵により端末装置の固有ＩＤを暗号化した暗号化固有ＩＤを生成し、サーバ装置から端末装置の第１端末ＩＤを取得し、固有鍵により暗号化固有ＩＤを復号し、復号された固有ＩＤから端末装置の認証用の認証鍵を生成し、認証鍵による暗号処理により第１端末ＩＤから生成された暗号化データに第１端末ＩＤを含めた第２端末ＩＤを生成してサーバ装置に送信し、認証鍵は使用後に消去され、サーバ装置において第２端末ＩＤから第１端末ＩＤが抽出された場合に、サーバ装置から、第２端末ＩＤを含んだ、端末装置を証明する端末証明書を受信して記憶し、使用後に固有鍵および固有ＩＤを消去し、端末認証のため、認証鍵および端末証明書をサーバ装置に送信することにより、端末装置のアプリが保存するデータが盗まれたとしても、固有鍵および固有ＩＤが復元できず、認証時に認証鍵が生成できないので、端末装置の成りすましがされにくくなる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態に係る認証システムの概要構成例を示す模式図である。
【図２】図１のサーバ装置の概要構成の一例を示すブロック図である。
【図３】図１の端末装置の概要構成の一例を示すブロック図である。
【図４】端末装置の登録の動作例を示すシーケンス図である。
【図５】デバイス識別値の一例を示す模式図である。
【図６】暗号化固有ＩＤの生成のサブルーチンを示すフローチャートである。
【図７】認証鍵の生成のサブルーチンを示すフローチャートである。
【図８】デバイス検証値の生成のサブルーチンを示すフローチャートである。
【図９】暗号化データの生成の一例を示す模式図である。
【図１０】デバイス検証値の構成例を示す模式図である。
【図１１】端末装置の認証の動作例を示すシーケンス図である。
【図１２】デバイス識別値の復号のサブルーチンを示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、図面を参照して本発明の実施形態について説明する。なお、以下に説明する実施の形態は、認証システムに対して本発明を適用した場合の実施形態である。
【００１７】
［１．認証システムの構成および機能概要］
（１．１  認証システムの構成および機能）
まず、本発明の一実施形態に係る認証システムの構成および概要機能について、図１を用いて説明する。
【００１８】
図１は、本実施形態に係る認証システム１の概要構成例を示す模式図である。
【００１９】
図１に示すように、認証システム１は、
クライアント・サーバシステムにおいて、端末の認証を行うサーバ装置１０と、クライアントの端末である複数の端末装置２０と、を備えている。
【００２０】
サーバ装置１０と、端末装置２０とは、ネットワーク３により接続され、通信プロトコル（例えば、ＴＣＰ／ＩＰ）により、データの送受信が可能になっている。なお、ネットワーク３は、例えば、インターネット、専用通信回線（例えば、ＣＡＴＶ（Community Antenna Television）回線）、移動体通信網、および、ゲートウェイ等により構築されている。
【００２１】
サーバ装置１０は、端末装置２０を登録し、端末装置２０から要求に応じて認証を行い、端末装置２０との安全な通信路を確立する。端末装置２０は、安全な通信路を確立するための専用のアプリ（端末装置認証用のプログラムの一例）を取得して、このアプリにより安全な通信路を確立して、サーバ装置１０との通信を行う。
【００２２】
（１．２  サーバ装置１０の構成および機能）
次に、サーバ装置１０の構成および機能について、図２を用いて説明する。
図２は、サーバ装置１０の概要構成の一例を示すブロック図である。
【００２３】
図２に示すように、コンピュータとして機能するサーバ装置１０は、通信部１１と、記憶部１２と、入出力インターフェース部１３と、システム制御部１４と、を備えている。そして、システム制御部１４と入出力インターフェース部１３とは、システムバス１５を介して接続されている。
【００２４】
通信部１１は、ネットワーク３に接続して、端末装置２０との通信を制御するようになっている。
【００２５】
記憶部１２は、例えば、ハードディスクドライブやシリコンディスクドライブ等により構成されており、オペレーティングシステム、サーバプログラム、および、端末装置２０に提供するアプリ等の各種プログラム等を記憶する。
【００２６】
なお、各種プログラムは、例えば、他のサーバ装置等からネットワーク３を介して取得されるようにしてもよいし、記録媒体に記録されてドライブ装置（図示せず）を介して読み込まれるようにしてもよい。また、アプリ等は、プログラム製品であってもよい。
【００２７】
また、記憶部１２には、端末装置２０を登録する端末情報データベース１２ａ（以下「端末情報ＤＢ１２ａ」とする。）と、サーバ装置１０を利用するビジネスオーナのテナント名等の情報を記憶するテナント情報データベース１２ｂ（以下「テナント情報ＤＢ１２ｂ」とする。）等が構築されている。
【００２８】
なお、これらのデータベースは、同一のデバイスで構成されてもよいし、互いに異なるデバイスで構成されてもよい。また、これらのデータベースは、サーバ装置１０と別なサーバに構築されていてもよい。
【００２９】
端末情報ＤＢ１２ａには、サーバ装置１０が発行する、端末装置２０を識別するためのデバイス識別値が、ユーザ番号等に関連付けられて記憶されている。
【００３０】
テナント情報ＤＢ１２ｂには、ビジネスオーナのテナント名、テナントＩＤ、ビジネスオーナのドメイン名等が関連付けられて記憶されている。
【００３１】
入出力インターフェース部１３は、通信部１１および記憶部１２とシステム制御部１４との間のインターフェース処理を行う。
【００３２】
システム制御部１４は、ＣＰＵ（Central Processing Unit）１４ａ、ＲＯＭ（Read Only Memory）１４ｂ、ＲＡＭ（Random Access Memory）１４ｃ等により構成されている。システム制御部１４は、ＣＰＵ１４ａがＲＯＭ１４ｂや記憶部１２に記憶された各種プログラムを読み出し実行することにより、端末装置を登録および認証する処理等を行う。
【００３３】
（２．２  端末装置２０の構成および機能）
次に、端末装置２０の構成および機能について、図３を用いて説明する。
【００３４】
図３は、端末装置２０の概要構成の一例を示すブロック図である。
【００３５】
図３に示すように、コンピュータとして機能する端末装置２０は、例えば、パーソナルコンピュータである。端末装置２０は、通信部２１と、記憶部２２と、表示部２３と、操作部２４と、入出力インターフェース部２５と、システム制御部２６とを備えている。そして、システム制御部２６と入出力インターフェース部２５とは、システムバス２７を介して接続されている。なお、端末装置２０は、スマートフォンおよびタブレット等のコンピュータでもよい。
【００３６】
通信部２１は、ネットワーク３を通して、サーバ装置１０等と通信を制御する。
【００３７】
記憶部２２は、例えば、ハードディスクドライブ等からなり、オペレーティングシステム、アプリ等のプログラム等を記憶する。
【００３８】
表示部２３は、例えば、液晶表示素子またはＥＬ（Electro Luminescence）素子等によって構成されている。
【００３９】
操作部２４は、例えば、キーボードおよびマウス等によって構成されている。
【００４０】
入出力インターフェース部２５は、通信部２１および記憶部２２とシステム制御部２６とのインターフェースである。
【００４１】
システム制御部２６は、例えば、ＣＰＵ２６ａと、ＲＯＭ２６ｂと、ＲＡＭ２６ｃとを有する。システム制御部２６は、ＣＰＵ２６ａが、ＲＯＭ２６ｂや、ＲＡＭ２６ｃや、記憶部２２に記憶されたアプリ等の各種プログラムを読み出して実行する。
【００４２】
なお、端末装置２０は、いわゆる、モノのインターネットの端末でもよく、例えば、ＲＦＩＤ（radio frequency identifier）、センサでもよい。この場合、表示部２３および操作部２４は無くてもよく、記憶部２２は、不揮発性のＲＡＭ２６ｃでもよい。
【００４３】
［２．認証システムの動作］
次に、本発明の１実施形態に係る認証システム１の動作について図４から図１０を用いて説明する。
【００４４】
（２．１  端末装置の登録の動作例）
まず、認証システム１における端末装置２０の登録の動作例について、図４および図５を用いて説明する。
【００４５】
図４は、認証システム１における端末装置２０の登録の動作例を示すシーケンス図である。図５は、デバイス識別値の一例を示す模式図である。
【００４６】
図４に示すように、端末装置２０が、専用のアプリをダウンロードする（ステップＳ１）。具体的には、端末装置２０のシステム制御部２６が、サーバ装置１０との通信を確立するための専用のアプリを、サーバ装置１０等が運営するウェブサイト等から予めダウンロードする。なお、端末装置２０用の専用アプリは、プレインストールされたり、組み込む形で、予め端末装置２０に含まれていてもよい。
【００４７】
次に、端末装置２０が、暗号化固有ＩＤを生成する（ステップＳ２）。具体的には、システム制御部２６が、専用のアプリの初期設定のために、このアプリを起動させて、暗号化固有ＩＤを生成し、記憶部２２に記憶する。更に具体的には、システム制御部２６が、暗号化固有ＩＤ生成の処理のサブルーチンにおいて、アプリのプログラムにより、端末装置２０用の固有ＩＤを生成し、端末装置２０の固有の固有情報（デバイス固有情報）から、端末装置２０固有の固有鍵を生成し、この固有鍵により固有ＩＤを暗号化して、暗号化固有ＩＤを生成する。なお、生成された固有ＩＤおよび固有鍵は、使用後に廃棄される。また、暗号化固有ＩＤ生成の処理のサブルーチンについては、後述する。また、記憶部２２の代わりに、不揮発性のＲＡＭ２６ｃに、暗号化固有ＩＤが保存されてもよい。
【００４８】
次に、端末を登録するためにユーザが専用のアプリを選択し、システム制御部２６が、専用のアプリを起動させ、端末装置２０側の以下の処理を行う。
【００４９】
次に、端末装置２０が、ユーザからの新規ログインを受け付ける（ステップＳ３）。具体的には、システム制御部２６が、端末装置２０をサーバ装置１０に登録するための新規ログイン画面を、表示部２３に表示させる。ユーザが、新規ログイン画面に、テナント名、ユーザ名、パスワード等を入力する。システム制御部２６が、入力されたテナント名、ユーザ名、パスワード等のログイン情報を、端末装置２０を新規に登録するための登録要求として、通信部２１を介してサーバ装置１０に送信する。なお、サーバ装置１０と端末装置２０との通信は、https（Hypertext Transfer Protocol Secure）等を利用して、暗号化して行われる。
【００５０】
次に、サーバ装置１０が、ログイン情報を受信する（ステップＳ４）。具体的には、サーバ装置１０のシステム制御部１４が、通信部１１を介して、端末装置２０から、端末の登録要求として、ログイン情報を受信する。
【００５１】
次に、サーバ装置１０が、端末装置２０を識別するためのデバイス識別値を生成する（ステップＳ５）。例えば、システム制御部１４が、登録要求があった端末装置２０用の数値を乱数等により生成し、テナント情報ＤＢ１２ｂを参照して、図５に示すように、生成した数値にテナント名に対応した値（例えば、テナントＩＤやビジネスオーナのドメイン名等）を付け加えて、デバイス識別値（端末装置に割り当てられた第１端末ＩＤの一例）を生成する。なお、デバイス識別値は、端末装置２０に一意に割り当てればよいので、テナント名に対応した値を付け加えなくてもよい。
【００５２】
そして、システム制御部１４が、デバイス識別値を発行するため、通信部１１を介して、デバイス識別値を端末装置２０に送信する。
【００５３】
このように、サーバ装置１０が、端末装置からの要求により、当該端末装置に割り当てる第１端末ＩＤを生成して、送信する第１端末ＩＤ送信手段の一例として機能する。
【００５４】
次に、端末装置２０が、デバイス識別値を受信する（ステップＳ６）。具体的には、システム制御部２６が、通信部２１を介して、発行されたデバイス識別値を、サーバ装置１０から受信する。
【００５５】
次に、端末装置２０が、通信確立時の端末を認証するために使用される認証鍵を生成する（ステップＳ７）。具体的には、システム制御部２６が、認証鍵生成の処理のサブルーチンにおいて、記憶部２２から、暗号化固有ＩＤを読み出し、再度、デバイス固有情報から固有鍵を生成し、固有鍵により暗号化固有ＩＤから固有ＩＤを復号し、復号された固有ＩＤから認証鍵を生成する。
【００５６】
このように、端末装置２０のアプリが、前記復号された固有ＩＤから前記端末装置の認証用の認証鍵を生成する認証鍵生成手段の一例として機能する。
【００５７】
ここで、この認証鍵は、例えば、暗号鍵と復号鍵とが同じ共通鍵である。暗号方式は、ブロック暗号やストリーム暗号等の共通鍵暗号である。認証鍵の暗号方式と、固有鍵の暗号方式とは、同じでも異なってもよい。なお、復号された固有ＩＤおよび生成された固有鍵は、使用後に廃棄される。また、認証鍵生成の処理のサブルーチンについては、後述する。
【００５８】
次に、端末装置２０が、通信確立時の検証のために使用されるデバイス検証値を生成する（ステップＳ８）。具体的には、システム制御部２６が、デバイス検証値生成の処理のサブルーチンにおいて、認証鍵による暗号処理により、デバイス識別値から暗号化データを生成し、認証鍵を廃棄し、暗号化データにデバイス識別値を含めて、デバイス検証値（第２端末ＩＤの一例）を生成する。システム制御部２６が、通信部２１を介して、生成したデバイス検証値を、サーバ装置１０に送信する。なお、デバイス検証値生成の処理のサブルーチンについては、後述する。
【００５９】
このように、端末装置２０のアプリが、前記暗号化データに、前記第１端末ＩＤを含めた、第２端末ＩＤを生成する第２端末ＩＤ生成手段の一例として機能する。端末装置２０のアプリが、前記第２端末ＩＤを前記サーバ装置に送信する第２端末ＩＤ送信手段の一例として機能する。
【００６０】
次に、サーバ装置１０が、デバイス検証値を受信する（ステップＳ９）。具体的には、システム制御部１４が、通信部１１を介して、デバイス検証値を端末装置２０から受信する。
【００６１】
このように、サーバ装置１０が、前記端末装置の固有の固有ＩＤから生成された前記端末装置の認証用の認証鍵による暗号処理により、前記第１端末ＩＤから生成された暗号化データに、前記第１端末ＩＤを含めた第２端末ＩＤを、前記端末装置から受信する第２端末ＩＤ受信手段の一例として機能する。
【００６２】
次に、サーバ装置１０が、デバイス識別値を含むか否かを判定する（ステップＳ１０）。具体的には、システム制御部１４が、受信したデバイス検証値に中に、デバイス識別値が含まれるか否かを判定する。例えば、システム制御部１４が、デバイス検証値の中に含まれたデバイス識別値を抽出し、抽出したデバイス識別値が、記憶部１２の端末情報ＤＢ１２ａを参照して、正しいか否かを判定する。
【００６３】
デバイス識別値を含む場合（ステップＳ１０；ＹＥＳ）、サーバ装置１０が、証明書を発行する（ステップＳ１１）。具体的には、システム制御部１４が、公開鍵暗号標準（例えば、ＰＫＣＳ(Public-Key Cryptography Standards)＃１２等）に従った証明書（端末証明書の一例）を生成して、端末装置２０に送信する。この証明書は、デバイス検証値、端末装置２０用の公開鍵および秘密鍵、サーバ装置１０が発行したことを示す情報を含むクライアント証明書である。端末装置２０用の公開鍵および秘密鍵は、サーバ装置１０等のサーバ側で生成される。
【００６４】
このように、サーバ装置１０が、前記受信した第２端末ＩＤから前記第１端末ＩＤが抽出された場合に、前記第２端末ＩＤを含んだ、前記端末装置を証明する端末証明書を、前記端末装置に送信する端末証明書送信手段の一例として機能する。
【００６５】
正式のデバイス識別値を含まない場合（ステップＳ１０；ＮＯ）、登録は失敗し、サーバ装置１０は処理を終了する。
【００６６】
次に、端末装置２０が、証明書を受信する（ステップＳ１２）。具体的には、システム制御部２６が、通信部２１を介して、証明書を受信する。システム制御部２６が、受信した証明書を記憶部２２に記憶する。通信を確立するための専用のアプリにより、受信した証明書が記憶部２２に記憶される。なお、不揮発性のＲＡＭ２６ｃに、証明書が保存されてもよい。また、システム制御部２６が、受信した証明書から、端末装置２０用の秘密鍵を取り除き、秘密鍵を取り除いた証明書と、秘密鍵とを、記憶部２２に記憶してもよい。
【００６７】
このように、端末装置２０のアプリが、前記サーバ装置において前記第２端末ＩＤから前記第１端末ＩＤが抽出された場合に、前記サーバ装置から、前記第２端末ＩＤを含んだ、前記端末装置を証明する端末証明書を受信して記憶する端末証明書記憶手段の一例として機能する。端末装置２０のアプリが、前記サーバ装置で生成された前記端末装置用の秘密鍵および公開鍵を含んだ前記端末証明書を受信する端末証明書記憶手段の一例として機能する。
【００６８】
次に、サーバ装置１０が、証明書を破棄する（ステップＳ１３）。具体的には、証明書を端末装置２０に送信した後、システム制御部１４が、サーバ装置１０から証明書のデータを消去する。すなわち、クライアントの端末装置２０が、証明書をダウンロードしたら、サーバ装置１０が、サーバ装置１０から証明書を破棄する。
【００６９】
（２．２  暗号化固有ＩＤの生成のサブルーチン）
次に、暗号化固有ＩＤの生成のサブルーチンについて図６を用いて説明する。
【００７０】
図６は、暗号化固有ＩＤの生成のサブルーチンを示すフローチャートである。
【００７１】
図６に示すように、端末装置２０が、デバイスの固有ＩＤを生成する（ステップＳ１５）。具体的には、システム制御部２６が、乱数を発生して、デバイスの固有ＩＤを生成する。例えば、起動された端末登録のアプリが乱数を発生する。
【００７２】
このように、端末装置２０のアプリが、端末装置の固有の固有ＩＤを生成する固有ＩＤ生成手段の一例として機能する。
【００７３】
次に、端末装置２０が、デバイス固有情報を取得する（ステップＳ１６）。具体的には、システム制御部２６が、ＭＡＣアドレス（Media Access Control address）、携帯電話番号等の各端末装置２０に固有に割り当てているデバイス固有情報を、端末装置２０の不揮発メモリ等から取得する。
【００７４】
次に、端末装置２０が、デバイス固有情報から固有鍵を生成する（ステップＳ１７）。具体的には、システム制御部２６が、デバイス固有情報をハッシュ関数に入力して、ハッシュ値を算出し、このハッシュ値を固有鍵とする。
【００７５】
このように、端末装置２０のアプリが、前記端末装置の固有の固有情報から固有鍵を生成する固有鍵生成手段の一例として機能する。
【００７６】
次に、端末装置２０が、固有鍵により固有ＩＤを暗号化する（ステップＳ１８）。具体的には、システム制御部２６が、デバイス固有情報のハッシュ値である固有鍵により、生成された固有ＩＤを暗号化する。システム制御部２６が、暗号化された固有ＩＤ（暗号化固有ＩＤ）を記憶部２２に記憶する。ここで、この固有鍵は、例えば、暗号鍵と復号鍵とが同じ共通鍵である。暗号方式は、ブロック暗号やストリーム暗号等の共通鍵暗号である。
【００７７】
このように、端末装置２０のアプリが、前記固有鍵により、前記固有ＩＤを暗号化して、暗号化固有ＩＤを生成する固有ＩＤ暗号化手段の一例として機能する。
【００７８】
次に、端末装置２０が、固有ＩＤおよび固有鍵を廃棄する（ステップＳ１９）。具体的には、システム制御部２６が、固有ＩＤおよび固有鍵を端末装置２０から消去する。固有鍵により固有ＩＤを暗号化することにより、固有ＩＤおよび固有鍵が使用されて、不要になり、固有ＩＤおよび固有鍵が消去される。
【００７９】
このように、端末装置２０のアプリが、前記固有鍵を使用した後に、前記固有鍵を消去する固有鍵消去手段の一例として機能する。端末装置２０のアプリが、前記固有ＩＤを使用した後に、前記固有ＩＤを消去する固有ＩＤ消去手段の一例として機能する。
【００８０】
（２．３  認証鍵の生成のサブルーチン）
次に、暗号化固有ＩＤの生成のサブルーチンについて図７を用いて説明する。
【００８１】
図７は、認証鍵の生成のサブルーチンを示すフローチャートである。
【００８２】
図７に示すように、端末装置２０が、暗号化固有ＩＤを取得する（ステップＳ２０）。具体的には、端末装置２０のシステム制御部２６が、記憶部２２等から、暗号化固有ＩＤを読み出す。
【００８３】
次に、端末装置２０が、ステップＳ１６のように、デバイス固有情報を取得する（ステップＳ２１）。
【００８４】
次に、端末装置２０が、ステップＳ１７のように、デバイス固有情報から固有鍵を生成する（ステップＳ２２）。
【００８５】
このように、端末装置２０のアプリが、前記端末装置の固有の固有情報から固有鍵を生成する固有鍵生成手段の一例として機能する。
【００８６】
次に、端末装置２０が、固有鍵により固有ＩＤを復号する（ステップＳ２３）。具体的には、システム制御部２６が、読み出した暗号化固有ＩＤを、共通鍵である固有鍵により復号して、固有ＩＤを生成する。
【００８７】
このように、端末装置２０のアプリが、前記固有情報から生成された前記固有鍵により、前記暗号化固有ＩＤを復号する固有ＩＤ復号手段の一例として機能する。
【００８８】
次に、端末装置２０が、固有鍵を廃棄する（ステップＳ２４）。具体的には、システム制御部２６が、固有ＩＤを復号するために使用した固有鍵を、端末装置２０から消去する。
【００８９】
このように、端末装置２０のアプリが、前記固有鍵を使用した後に、前記固有鍵を消去する固有鍵消去手段の一例として機能する。
【００９０】
次に、端末装置２０が、固有ＩＤから認証鍵を生成する（ステップＳ２５）。具体的には、システム制御部２６が、復号した固有ＩＤをハッシュ関数に入力して、ハッシュ値を算出し、このハッシュ値を認証鍵とする。そして、システム制御部２６が、生成した認証鍵を記憶部２２に記憶する。
【００９１】
このように、端末装置２０のアプリが、前記復号された固有ＩＤから前記端末装置の認証用の認証鍵を生成する認証鍵生成手段の一例として機能する。
【００９２】
次に、端末装置２０が、固有ＩＤを廃棄する（ステップＳ２６）。具体的には、システム制御部２６が、認証鍵を生成するために使用した固有ＩＤを、端末装置２０から消去する。
【００９３】
このように、端末装置２０のアプリが、前記固有ＩＤを使用した後に、前記固有ＩＤを消去する固有ＩＤ消去手段の一例として機能する。
【００９４】
（２．４  デバイス検証値の生成のサブルーチン）
次に、デバイス検証値の生成のサブルーチンについて図８から図１０を用いて説明する。
【００９５】
図８は、デバイス検証値の生成のサブルーチンを示すフローチャートである。図９は、暗号化データの生成の一例を示す模式図である。図１０は、デバイス検証値の構成例を示す模式図である。
【００９６】
図８に示すように、端末装置２０が、認証鍵による暗号処理により、デバイス識別値から暗号化データを生成する（ステップＳ２７）。具体的には、端末装置２０のシステム制御部２６が、図９に示すように、デバイス識別値（第１端末ＩＤ）を認証鍵により暗号化して、暗号化データを生成する。そして、暗号化データを生成において認証鍵を使用した後、システム制御部２６が、端末装置２０から認証鍵を消去する。
【００９７】
このように、端末装置２０のアプリが、前記認証鍵による暗号処理により、前記第１端末ＩＤから暗号化データを生成する暗号データ生成手段の一例として機能する。
【００９８】
なお、デバイス識別値を所定の規則により変形して、認証鍵により暗号化処理を行ってもよい。例えば、デバイス識別値の変形の仕方として、図９に示すように、デバイス識別値における値の順序を逆順にした値を、認証鍵により暗号化してもよいし、デバイス識別値を区切って入れ替えてもよい。
【００９９】
次に、端末装置２０が、認証鍵を廃棄する（ステップＳ２８）。具体的には、システム制御部２６が、端末装置２０から認証鍵を消去する。
【０１００】
このように、端末装置２０のアプリが、前記認証鍵を使用した後に、前記認証鍵を消去する認証鍵消去手段の一例として機能する。
【０１０１】
次に、端末装置２０が、暗号化データにデバイス識別値を含ませる（ステップＳ２９）。具体的には、システム制御部２６が、図１０（Ａ）に示すように、デバイス識別値を暗号化データの末尾に連結させて、デバイス検証値を生成する。ステップＳ１０において、システム制御部２６が、デバイス検証値の末尾から所定のビット数を切り出し、デバイス識別値を抽出する。デバイス検証値にデバイス識別値を含ませることにより、サーバ装置１０がデバイス検証値に含まれたデバイス識別値を取り出して検証することで、端末装置２０からのデータと確認できる。
【０１０２】
なお、システム制御部２６が、図１０（Ｂ）に示すように、暗号化データの先頭にデバイス識別値を連結してもよい。この場合、ステップＳ１０において、システム制御部２６が、デバイス検証値の先頭から所定のビット数を切り出し、デバイス識別値を抽出する。
【０１０３】
また、システム制御部２６が、暗号化データにデバイス識別値を混ぜてもよい。例えば、システム制御部２６が、図１０（Ｃ）に示すように、デバイス識別値を２つに分解して、暗号化データの先頭および末尾に連結する。この場合、ステップＳ１０において、システム制御部２６が、デバイス検証値の先頭および末尾から所定のビット数を取り出し、連結されてデバイス識別値を抽出する。また、図１０（Ｄ）に示すように、システム制御部２６が、デバイス識別値を３つに分解して、暗号化データの所定の位置に、分解されたデバイス識別値をそれぞれ入れ込む。この場合、ステップＳ１０において、システム制御部２６が、デバイス検証値の所定の位置から、分解されたデバイス識別値を取り出し、連結されてデバイス識別値を抽出する。
【０１０４】
このように、端末装置２０のアプリが、前記暗号化データに、前記第１端末ＩＤを含めた、第２端末ＩＤを生成する第２端末ＩＤ生成手段の一例として機能する。端末装置２０のアプリが、前記暗号化データに、前記第１端末ＩＤを混ぜて、前記第２端末ＩＤを生成する第２端末ＩＤ生成手段の一例として機能する。
【０１０５】
（２．５  端末装置の認証の動作例）
次に、認証システム１における端末装置の認証の動作例について、図１１を用いて説明する。
【０１０６】
図１１は、認証システム１における端末装置２０の認証の動作例を示すシーケンス図である。
【０１０７】
まず、端末装置２０のシステム制御部２６が、サーバ装置１０との通信を確立するための専用のアプリを起動させ、端末装置２０側の以下の処理を行う。
【０１０８】
図１１に示すように、端末装置２０が、通信路の確立を要求する（ステップＳ３０）。具体的には、システム制御部２６が、通信部２１を介して、サーバ装置１０に通信路の確立の要求を送信する。
【０１０９】
次に、サーバ装置１０が、要求を受信する（ステップＳ３１）。具体的には、サーバ装置１０のシステム制御部１４が、通信部１１を介して、端末装置２０から、通信路の確立の要求を受信する。
【０１１０】
次に、サーバ装置１０が、端末認証情報を要求する（ステップＳ３２）。具体的には、システム制御部１４が、通信部１１を介して、端末装置２０に対して発行していた証明書および認証鍵を送付するように要求を、端末装置２０に送信する。
【０１１１】
次に、端末装置２０が、認証鍵を生成する（ステップＳ３３）。具体的には、システム制御部２６が、ステップＳ７のように、認証鍵を生成のサブルーチンにより認証鍵を生成する。
【０１１２】
このように、端末装置２０のアプリが、前記復号された固有ＩＤから前記端末装置の認証用の認証鍵を生成する認証鍵生成手段の一例として機能する。
【０１１３】
次に、端末装置２０が、証明書および認証鍵を送付し、送信後に、認証鍵を廃棄する（ステップＳ３４）。具体的には、システム制御部２６が、記憶部２２から読み出した証明書および生成した認証鍵を、通信部２１を介して、サーバ装置１０に送信する。そして、認証鍵を送付した後、システム制御部２６が、端末装置２０から認証鍵を消去する。
【０１１４】
なお、サーバ装置１０に送信する証明書には、端末装置２０用の秘密鍵が含まれない。証明書に端末装置２０用の秘密鍵が含まれる場合は、システム制御部２６が、証明書から秘密鍵を取り除き、単なる公開鍵証明書にした後に、この証明書を、サーバ装置１０に送信する。
【０１１５】
このように、端末装置２０のアプリが、端末認証のため、前記認証鍵生成手段により生成された前記認証鍵および前記端末証明書を前記サーバ装置に送信する端末証明書送信手段の一例として機能する。端末装置２０のアプリが、前記認証鍵を使用した後に、前記認証鍵を消去する認証鍵消去手段の一例として機能する。端末装置２０のアプリが、前記端末装置用の秘密鍵を取り除いた前記端末証明書を前記サーバ装置に送信する端末証明書送信手段の一例として機能する。
【０１１６】
次に、サーバ装置１０が、証明書が正しいか否かを判定する（ステップＳ３５）。具体的には、システム制御部１４が、端末装置２０から、証明書および認証鍵を受信する。システム制御部１４が、受信した証明書から、発行したことを示す情報を抽出し、情報が、サーバ装置１０が発行したものか否かを判定する。
【０１１７】
このように、サーバ装置１０が、端末認証のため、前記端末証明書および前記認証鍵を前記端末装置から受信する端末証明書受信手段の一例として機能する。
【０１１８】
証明書が正しい場合（ステップＳ３５；ＹＥＳ）、サーバ装置１０が、デバイス検証値を抽出する（ステップＳ３６）。具体的には、システム制御部１４が、証明書内のデバイス検証値を抽出する。
【０１１９】
証明書が正しくない場合（ステップＳ３５；ＮＯ）、サーバ装置１０が、通信の確立が失敗したとする。
【０１２０】
次に、サーバ装置１０が、デバイス識別値を復号する（ステップＳ３７）。具体的には、システム制御部１４が、デバイス識別値の復号のサブルーチンにおいて、受信した認証鍵により、デバイス検証値からデバイス識別値を復号する。なお、デバイス識別値の復号のサブルーチンについては、後述する。
【０１２１】
次に、サーバ装置１０が、デバイス識別値か否かを判定する（ステップＳ３８）。具体的には、システム制御部１４が、認証鍵により復号したデバイス識別値が、記憶部１２の端末情報ＤＢ１２ａを参照して、正しいか否かを判定する。
【０１２２】
このように、サーバ装置１０が、前記抽出した第１端末ＩＤが正しいか否かを判定する判定手段の一例として機能する。
【０１２３】
デバイス識別値が正しい場合（ステップＳ３８；ＹＥＳ）、サーバ装置１０が、通信用の暗号鍵を生成する（ステップＳ３９）。具体的には、システム制御部１４が、乱数等から、端末装置２０用の通信用の暗号鍵を生成する。
【０１２４】
次に、サーバ装置１０が、通信用の暗号鍵を暗号化する（ステップＳ４０）。具体的には、システム制御部１４が、証明書に含まれる端末装置２０用の公開鍵で通信用の暗号鍵を暗号化する。システム制御部１４が、通信部１１を介して、端末装置２０に、端末認証が完了した旨の通知情報および暗号化された通信用の暗号鍵を送信する。
【０１２５】
次に、端末装置２０が、通信用の暗号鍵を復号する（ステップＳ４１）。具体的には、システム制御部２６が、通信部２１を介して、端末認証が完了した旨の通知情報および暗号化された通信用の暗号鍵を受信する。システム制御部２６が、証明書に含まれる端末装置２０用の秘密鍵で通信用の暗号鍵を復号する。
【０１２６】
このように、端末装置２０のアプリが、前記サーバ装置において、前記端末証明書に含まれる第２端末ＩＤから前記暗号化データが抽出され、当該暗号化データから、前記サーバ装置が受信した前記認証鍵による復号処理により抽出された第１端末ＩＤが正しいと判定された場合に、前記サーバ装置から通信用の通信鍵を受信する通信鍵受信手段の一例として機能する。端末装置２０のアプリが、前記端末装置用の公開鍵により暗号化された前記通信鍵を受信する通信鍵受信手段の一例として機能する。
【０１２７】
次に、端末装置２０とサーバ装置１０とが、確立した通信路において、安全な通信を行う。データを送信する場合は、通信用の暗号鍵を用いて、データを暗号化して通信を行う。
【０１２８】
セキュリティを高めるため、一定のセッションが終了したり、所定の時間が経過したり場合、確立した通信路を終了して、通信用の暗号鍵を、端末装置２０およびサーバ装置１０から消去する。
【０１２９】
新たに通信路を確立する場合、認証システム１は、新たにステップＳ３０からステップＳ４１の処理を行い、新たな通信路を確立し、新たな通信用の暗号鍵により通信を行う。
【０１３０】
（２．６  デバイス識別値の復号のサブルーチン）
次に、デバイス識別値の復号のサブルーチンについて、図１２を用いて説明する。
【０１３１】
図１２は、デバイス識別値の復号のサブルーチンを示すフローチャートである。
【０１３２】
図１２に示すように、サーバ装置１０が、デバイス検証値から暗号化データを抽出する（ステップＳ４５）。具体的には、サーバ装置１０のシステム制御部１４が、デバイス検証値の構成に基づき、デバイス検証値から暗号化データを抽出する。
【０１３３】
例えば、図１０（Ａ）に示すように、デバイス検証値の先頭に暗号化データが連結されている場合、システム制御部１４が、デバイス検証値の先頭から暗号化データを抽出する。
【０１３４】
図１０（Ｂ）に示すように、デバイス検証値の末尾に暗号化データが連結されている場合、システム制御部１４が、デバイス検証値におけるデバイス識別値以降のデータから、暗号化データを抽出する。
【０１３５】
図１０（Ｃ）に示すように、デバイス検証値の途中に暗号化データが含まれる場合、システム制御部１４が、デバイス検証値における暗号化データが含まれる部分から、暗号化データを抽出する。
【０１３６】
図１０（Ｄ）に示すように、デバイス検証値の中に、分散して含まれる場合、システム制御部１４が、デバイス検証値における暗号化データの部分を各々取り出し、つなぎ合わせて暗号化データを抽出する。
【０１３７】
なお、デバイス検証値における暗号化データの位置（例えば、先頭からｘｘビット目、ｙｙビット目からｚｚビット目）の情報は、サーバ装置１０側と、端末装置２０側（例えば、端末装置２０用の専用アプリ）とで、予め共有しておく。
【０１３８】
これらのように、サーバ装置１０が、前記端末証明書に含まれる第２端末ＩＤから前記暗号化データを抽出する暗号化データ抽出手段の一例として機能する。
【０１３９】
次に、サーバ装置１０が、認証鍵による復号処理により、暗号化データからデバイス識別値を復号する（ステップＳ４６）。具体的には、システム制御部１４が、暗号化データを認証鍵により復号する。そして、認証鍵を使用した後、システム制御部１４が、サーバ装置１０から認証鍵を消去する。
【０１４０】
これらのように、サーバ装置１０が、前記受信した前記認証鍵による復号処理により、前記暗号化データから第１端末ＩＤを抽出する第１端末ＩＤ抽出手段の一例として機能する。サーバ装置１０が、前記認証鍵を使用した後に、前記認証鍵を消去する認証鍵消去手段の一例として機能する。
【０１４１】
図９に示すように、デバイス識別値から、直接、暗号化データが生成されている場合、暗号化データが認証鍵により復号されて、デバイス識別が得られる。
【０１４２】
図９に示すように、デバイス識別値を所定の規則により変形している場合、システム制御部１４が、復号された暗号化データを、変形規則とは逆の変形をして、復号された暗号化データからデバイス識別値を得る。
【０１４３】
これらのように、サーバ装置１０が、前記受信した前記認証鍵による復号処理により、前記暗号化データから第１端末ＩＤを抽出する第１端末ＩＤ抽出手段の一例として機能する。
【０１４４】
以上、本実施形態によれば、端末装置２０の固有情報（例えば、ＭＡＣアドレス）から生成された固有鍵により端末装置２０の固有ＩＤを暗号化した暗号化固有ＩＤを生成し、サーバ装置１０から端末装置２０のデバイス識別値（第１端末ＩＤの一例）を取得し、固有鍵により暗号化固有ＩＤを復号し、復号された固有ＩＤから端末装置２０の認証用の認証鍵を生成し、認証鍵による暗号処理によりデバイス識別値から生成された暗号化データに、デバイス識別値を含めたデバイス検証値（第２端末ＩＤの一例）を生成してサーバ装置１０に送信し、認証鍵は使用後に消去され、サーバ装置１０においてデバイス検証値からデバイス識別値が抽出された場合に、サーバ装置１０から、デバイス検証値を含んだ、端末装置２０を証明する端末証明書を受信して記憶し、使用後に固有鍵および固有ＩＤを消去し、端末認証のため、認証鍵および端末証明書をサーバ装置１０に送信することにより、端末装置２０のアプリが保存するデータが盗まれたとしても、固有鍵および固有ＩＤが復元できず、認証時に認証鍵が生成できないので、端末装置２０の成りすましを防止できる。すなわち、別端末装置に同じアプリがインストールされ、盗まれた情報がセットされたとしても認証が通らない。
【０１４５】
暗号化データに、第１端末ＩＤの一例のデバイス識別値を混ぜて、第２端末ＩＤの一例のデバイス検証値を生成する場合、第２端末ＩＤから、第１端末ＩＤを抽出されにくくなり、より成りすましされにくくなり、認証や通信の安全性がより向上する。
【０１４６】
サーバ装置１０において、端末証明書に含まれるデバイス検証値（第２端末ＩＤの一例）から暗号化データが抽出され、当該暗号化データから、サーバ装置１０が受信した認証鍵による復号処理により抽出されたデバイス識別値（第１端末ＩＤの一例）が正しいと判定された場合に、サーバ装置１０から通信用の通信鍵を受信する場合、端末装置２０の成りすましがされにくくなり、安全性が高い通信路を確立できる。
【０１４７】
サーバ装置１０で生成された端末装置２０用の秘密鍵および公開鍵を含んだ端末証明書を受信し、端末装置用の秘密鍵を取り除いた端末証明書をサーバ装置１０に送信し、端末装置２０用の公開鍵により暗号化された通信鍵を受信する場合、端末装置２０の処理負担が軽減し、安全性が高い通信路を確立できる。特に、端末装置２０が、モノのインターネットの端末の場合、処理負荷を軽減でき、端末装置２０を省電力、小型化にできる。
【０１４８】
なお、端末装置２０が、端末装置２０用の公開鍵および秘密鍵を生成してもよい。端末装置２０がデータを送信する場合は、端末装置２０用の秘密鍵により暗号化する。サーバ装置１０がデータを送信する場合、サーバ装置１０が生成したサーバ装置用の秘密鍵により暗号化する。端末装置２０で生成された端末装置用の秘密鍵により暗号化されたデータを前記サーバ装置に送信する場合、通信上で秘密鍵のやりとりがないので、通信の安全性が更に向上する。
【０１４９】
なお、固有鍵、固有ＩＤ、および、認証鍵を消去するタイミングは、使用した直後でもよいし、一連の処理が終わった後、端末装置の登録や端末装置の認証が終了した時点でもよいし、生成後の所定時間内でもよい。固有鍵、固有ＩＤ、および、認証鍵を消去するタイミングは、成りすまし防止のためには、使用後できるだけ早いタイミングが好ましい。
【０１５０】
さらに、本発明は、上記各実施形態に限定されるものではない。上記各実施形態は、例示であり、本発明の特許請求の範囲に記載された技術的思想と実質的に同一な構成を有し、同様な作用効果を奏するものは、いかなるものであっても本発明の技術的範囲に包含される。
【符号の説明】
【０１５１】
１：認証システム
１０：サーバ装置
２０：端末装置
【図１】
0006631210.tif 000002
【図２】
0006631210.tif 000003
【図３】
0006631210.tif 000004
【図４】
0006631210.tif 000005
【図５】
0006631210.tif 000006
【図６】
0006631210.tif 000007
【図７】
0006631210.tif 000008
【図８】
0006631210.tif 000009
【図９】
0006631210.tif 000010
【図１０】
0006631210.tif 000011
【図１１】
0006631210.tif 000012
【図１２】
0006631210.tif 000013